Skip to content

Commit 1853da4

Browse files
author
Steve Krouse
committed
added reflection 13, podcasts 28 and 29
1 parent 198556a commit 1853da4

File tree

8 files changed

+487
-8
lines changed

8 files changed

+487
-8
lines changed

episodes/28.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
---
2+
title: 28 - Exploring Dynamicland - Omar Rizwan
3+
---
4+
5+
# 28 - Exploring Dynamicland: Omar Rizwan
6+
7+
_08/27/18_
8+
9+
Many of you have heard about Dynamicland, Bret Victor's new project. Omar Rizwan comes on the podcast this week to tell us all about it. He recently wrote an amazing write up about it, [Notes from Dynamicland: Geokit](https://rsnous.com/posts/notes-from-dynamicland-geokit/), that I'd highly reccomend to everyone interested in the future of computing.
10+
11+
<iframe src="https://omny.fm/shows/future-of-coding/28-exploring-dynamicland-omar-rizwan/embed?style=artwork" width="100%" height="180" frameborder="0"></iframe>
12+
13+
## Links
14+
15+
* [Omar's website](https://rsnous.com/)
16+
* [Omar's twitter](https://twitter.com/rsnous) (very funny!)
17+
* Omar's email: [email protected]
18+
* [Notes from Dynamicland: Geokit](https://rsnous.com/posts/notes-from-dynamicland-geokit/)
19+
* [Learnable Programming](http://worrydream.com/LearnableProgramming/)
20+
* [Inventing on Principle](https://vimeo.com/36579366)
21+
* [Thiel Fellowship](https://thielfellowship.org/)
22+
* [Nicky Case](https://ncase.me/)
23+
* [Explorable Explainations](https://explorabl.es/)
24+
* [Michael Nelson](http://michaelnielsen.org/)
25+
* [Amit Patel](https://twitter.com/redblobgames) of [Red Blob Games](https://www.redblobgames.com/)
26+
* [Alan Kay STEPS](http://www.vpri.org/pdf/tr2012001_steps.pdf)
27+
* [Lua](https://www.lua.org/)
28+
* [Xerox PARC](https://en.wikipedia.org/wiki/PARC_(company))
29+
* [Essay Omar mentions on Interpreted vs Compiled langauges](http://fexpr.blogspot.com/2016/08/interpreted-programming-languages.html)
30+
* [Poker chip numbers at Dynamicland](http://futureofcoding.org/notes/bret-victor/dynamicland#videos)
31+
* [Scott](https://en.wikipedia.org/wiki/Dana_Scott) and [Strachey](https://en.wikipedia.org/wiki/Christopher_Strachey)
32+
* [Jonathan Edwards](http://alarmingdevelopment.org)
33+
34+
35+
36+
<script repoPath="stevekrouse/futureofcoding.org" type="text/javascript" src="/unbreakable-links/index.js"></script>
37+
<script>
38+
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
39+
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
40+
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
41+
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
42+
ga('create', 'UA-103157758-1', 'auto');
43+
ga('send', 'pageview');
44+
</script>

episodes/29.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
---
2+
title: 29 - Reflection Thirteen - Independent Mentorship
3+
---
4+
5+
# 29 - Reflection Thirteen: Independent Mentorship
6+
7+
_08/27/18_
8+
9+
My research recap episodes are back! This is the first I've recorded since the end of 2017. I discuss my new mentor-mentee relationship with Jonathan Edwards, my upcoming new paper on functional reactive programming, my move to London, my goals, and other various musings.
10+
11+
<iframe src="https://omny.fm/shows/future-of-coding/29-reflection-thirteen-independent-mentorship/embed?style=artwork" width="100%" height="180" frameborder="0"></iframe>
12+
13+
Very thorough [notes for this episode can be found here](../reflections/13).
14+
15+
<script repoPath="stevekrouse/futureofcoding.org" type="text/javascript" src="/unbreakable-links/index.js"></script>
16+
<script>
17+
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
18+
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
19+
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
20+
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
21+
ga('create', 'UA-103157758-1', 'auto');
22+
ga('send', 'pageview');
23+
</script>

index.html

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,8 @@ <h4>Papers</h4>
127127
<div id="episodes">
128128
<h4>Episodes</h4>
129129
<ul class="list-unstyled">
130+
<li><span class="date">2018 Aug 27 - </span><a href="./episodes/29">#29 - Reflection 13: Independent Mentorship</a></li>
131+
<li><span class="date">2018 Aug 27 - </span><a href="./episodes/28">#28 - Exploring Dynamicland: Omar Rizwan</a></li>
130132
<li><span class="date">2018 Jul 17 - </span><a href="./episodes/27">#27 - Bringing Explicit Modeling To The Web: David K Piano</a></li>
131133
<li><span class="date">2018 Jul 03 - </span><a href="./episodes/26">#26 - Compassion & Programming: Glen Chiacchieri</a></li>
132134
<li><span class="date">2018 Jun 12 - </span><a href="./episodes/25">#25 - You Should Think About Some States: Kevin Lynagh</a></li>

notes/aaron-kent-call-9-15-17.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
---
2+
title: Aaron Kent Call 9/15/17
3+
---
4+
15
# Aaron Kent Call 9/15/17
26

37
* Scala people

notes/jonathan-edwards/06-14-18.md

Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,118 @@
1+
---
2+
title: Jonathan Edwards 6/14/18 11am ET
3+
---
4+
5+
# Jonathan Edwards 6/14/18 11am ET
6+
7+
- Never heard of PPIG. What conferences do you go to?
8+
- &lt;programming&gt;
9+
- Strangeloop
10+
- Splash LIVE
11+
- Talk vs attending
12+
- What value do you get?
13+
- Do you schedule meetings?
14+
15+
- Methodology problem (or is it a collaboration problem?)
16+
- Coolness isn’t right criteria
17+
- What about success of a project or methodology?
18+
- Is the goal “getting ideas out there” (BV or Alan Kay) or transferring these ideas into a project (Haskell or Google)?
19+
20+
- My current research direction
21+
- Ultimate goal: truly open source software, where people can fork/customize their applications in real time. A world where 10% (instead of 0.01%) of users can edit their tools, would be a world with lots of amazing, free tools.
22+
- Sub-goal: people be able to navigate and understand the relevant section of the project they are trying to modify, and make the modification
23+
- Any 10x or 100x programmer has trouble with this.
24+
- Files and folders. Ugh. What runs when?
25+
- Imperative programming: need to read every line
26+
27+
- Solution:
28+
- Remove all mutation from afar (explicit dependencies)
29+
- Remove control flow
30+
- Either FRP or synchronous languages
31+
- Then we’ll have a declarative specification that we can build visual metaphor abstractions on top of
32+
33+
- Other things we’ll need that I’m not thinking about
34+
- A version control system that could handle many, many divergent forks
35+
- A way to share data between applications - a more semantic format, maybe
36+
- The visual metaphor layer
37+
- The “editing” layer that lives in each application
38+
- The hosting and permissioning, and accounts for each application
39+
40+
- Current challenges
41+
- Explaining to my friends and family what I do - which isn’t hard when things are going well
42+
- Making enough money, so I can live, but also have enough time for this
43+
- Picking which problems to work on, and how they fit into a larger solution/vision
44+
- Collaboration with others
45+
- You’ve worked at MIT and YC research
46+
- Haskell is such an interesting success story of collaboration around laziness
47+
48+
- Reading papers vs coming up with my own ideas
49+
- Presenting work vs working on new ideas
50+
- Conferences?
51+
52+
- Notes
53+
- Don’t read wadler
54+
- [https://arxiv.org/abs/1803.10195](https://arxiv.org/abs/1803.10195)
55+
- Notes on my direction
56+
- Who hits wants
57+
- It would be nice to point to a piece of code:
58+
- what parts of the state does it depend on and what does it modify
59+
60+
- Subsetting the project enough so I can make some progress on it
61+
- Pick a language to work within
62+
63+
- A issue we’re torn on:
64+
- Nulls are formally messy but informally flexible and natural in some sense
65+
- Andrew Myers from CMU HCI thinks nulls are natural
66+
67+
- Generally strategy:
68+
- Yes tree-structured state
69+
- We structure our UIs and code as trees already
70+
- It’s easy to map dbs as trees (and no sql already is)
71+
- We can unify all our data into one structure
72+
- Tree data model programming language [https://en.wikipedia.org/wiki/ParaSail_(programming_language)](https://en.wikipedia.org/wiki/ParaSail_(programming_language))
73+
74+
- No arbitrary graphs which can go any which way are too complicated: problems of pointers and heaps
75+
76+
77+
## Direct programming Notes
78+
79+
- Presentational
80+
- I wouldn’t start by opening the base field. A better time may be when you should how you can drill down to any definition.
81+
- Don’t need to explain the cursor location, action and optionally an argument
82+
- The guiding principle: start with that, before explaining how the document works?
83+
- Start with the goal of minimizing learning curve of beginner, then talk about how indirection is hard for them
84+
85+
- Sorry for getting the event invite in your video!
86+
- How to evaluate the work
87+
- See if it solves the indirection problem by teaching it to some students...?
88+
89+
- Meat
90+
- I wouldn’t call it “Past State: date”. Maybe just the date. I prefer the word “version” to “state” for end user programmers.
91+
- I’d highlight the history and state with different colors. One should be a “selection color” and the other should be a “change was made here color”
92+
- I think the no-op default is exactly what you don’t want. You want it to change anything, so I’d default them all to 2.
93+
- I don’t like the right-click multiply. I think I’d much, much prefer having to type 3 * 5 in the a-number field, and then on enter or leaving the field, having it evaluate and then add the multiplication to the history.
94+
- Why don’t you have to select both the x and + to get both lines to be a formula? Does it automatically do everything after this line?
95+
- Why doesn’t it create a formula that takes an argument, and then supplies the argument?
96+
- I don’t normally think of math as a set of steps...
97+
- If you set a state to itself, maybe that should be recorded in the history?
98+
- The semantics of if’s are weird
99+
- The template element in lists is a bit strange
100+
101+
- Compliments
102+
- Being able to abstract over history to make a procedure is clever
103+
- I really love how you can see every operation in a list loop, and how you can edit any iteration and it edits them all
104+
- Very, very cool how you turned bug into code and also unit test
105+
- The history is a script - I like this wordplay a lot
106+
107+
<script>
108+
109+
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
110+
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
111+
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
112+
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
113+
114+
ga('create', 'UA-103157758-1', 'auto');
115+
ga('send', 'pageview');
116+
117+
</script>
118+
<script repoPath="stevekrouse/futureofcoding.org" type="text/javascript" src="/unbreakable-links/index.js"></script>

notes/jonathan-edwards/07-10-18.md

Lines changed: 140 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,140 @@
1+
---
2+
title: Jonathan Edwards 07/10/18
3+
---
4+
5+
# Jonathan Edwards 07/10/18
6+
7+
- I was able to “solve” the problem in Reflex.
8+
- [http://futureofcoding.org/log#dom-recursion-problem-solved-by-reflex](http://futureofcoding.org/log#dom-recursion-problem-solved-by-reflex)
9+
- Hard, types and shit, emacs... worked on emacs setup stuff today
10+
11+
- They also have ToDoMVC
12+
- I mostly understand it
13+
- And the code looks like what I was looking for
14+
15+
- I’m going towards a language (elm) or framework (cycle) or devtool (rxfiddle)
16+
- My vague sense is that I need to understand Reflex and then build something with its abstractions
17+
18+
- I also have this sense that stream combinator visuatializations, like rxfiddle, are key to making FRP understandable
19+
- One way to say this: declarative language + GUI on top (HTML, SQL)
20+
- Note: PX (shawn mcdirmid), model and UI
21+
22+
- Map is straight forward arrows -&gt;
23+
- Should I go down the list and try to do this for them all?
24+
25+
- Don’t want to fight a battle on two fronts, though
26+
- Also want to think about presenting something at SPLASH
27+
28+
29+
30+
- [https://vlhcc18.github.io/](https://vlhcc18.github.io/)
31+
- User studies, very academic
32+
33+
- Go to SPLASH, LIVE (pre) and ONWARD (during)
34+
- Less and less practitioners, more researchers
35+
36+
- Strangeloop is more industry. Cool, neat ideas. More industry. Less research
37+
- ICFP is co-located there.
38+
- Racket people
39+
40+
- Stopped going
41+
42+
- One way to get oriented is to write up a survey with all the different FRP implementations
43+
- Reflex
44+
- Elm
45+
- Maybe show another one if it’s helpful
46+
- Even just one example is enough: just show a problem
47+
- Motivating Example
48+
49+
- Maybe ToDoMVC
50+
51+
- Essay
52+
- Elm
53+
- Motivating example
54+
55+
- Reflex
56+
- Solved
57+
58+
- Hard to use
59+
- How to improve with viz?
60+
61+
- Link on social media, put on website
62+
63+
- After
64+
- For specific example
65+
- What would it look like - mock it up
66+
- Storyboard
67+
- Don’t worry about general case
68+
69+
- Publish this
70+
- Bret Victor demo is just build UI for that one example and make video
71+
- But what you really want is why it’s hard to generalize
72+
73+
- And then
74+
- Generalize it...
75+
- Build a thing...
76+
77+
- Apply to REBLs
78+
- Aug 17 to apply
79+
- Concatenate Essay and After
80+
- Progression:
81+
- Problem
82+
- Good semantics
83+
- Difficult to edit
84+
- How to fix UI?
85+
- Here are the technical challenges to building this for real
86+
87+
- If I don’t make it
88+
- PX workshop at &lt;Programming&gt;
89+
- [https://2018.programming-conference.org/](https://2018.programming-conference.org/)
90+
91+
- Co-design - two fronts
92+
- So hard to go down a bad path
93+
- But if you get far enough to show results, you get a seat at the table, people know your name
94+
95+
96+
97+
LIVE and text is hard because sometime the text doesn’t make sense
98+
99+
That’s why structure editing is great for LIVE
100+
101+
102+
103+
His work
104+
105+
- Great quote from urbit
106+
- “Current systems are built on principle on half of your brain can be erased.” - at any point you can start from database state and reload into memory.
107+
108+
- Only really structured editor is Scratch
109+
- Simple and laborious
110+
- Doesn’t do any refactoring
111+
112+
- Tried a bunch of approaches
113+
- Photoshop one of windows - control panel approach
114+
- Meta model approach in Chorus
115+
116+
- Greenfoot also seems to work, they teach people with it
117+
- Blockly from EToys and Blockly
118+
- I want to do things that aren’t just changing the AST
119+
- Such as change the type of something
120+
121+
- I need a fancier data model than an AST
122+
- I have a data model
123+
- I have actual data
124+
125+
126+
127+
Hard to do more than 4-5 hours per day of peak creative work and fill in with other things
128+
129+
<script>
130+
131+
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
132+
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
133+
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
134+
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
135+
136+
ga('create', 'UA-103157758-1', 'auto');
137+
ga('send', 'pageview');
138+
139+
</script>
140+
<script repoPath="stevekrouse/futureofcoding.org" type="text/javascript" src="/unbreakable-links/index.js"></script>

0 commit comments

Comments
 (0)