Skip to content

Commit 7ac210c

Browse files
author
Steve Krouse
committed
## Added Reflection 12
It's been a while since I reflected on my work here. Part of me things that reflection text should really show up in my log... Maybe I'll add that feature one day, but until then, you have to click on the link above. Also, maybe I'll turn this reflection into a short podcast update episode. I could tack it onto the beginning of a podcast interview, like Sam Harris does, but I feel like that's a bit disrespectful to my guest, who doesn't really want that nonesense before their interview, especially if they're going to share it with their audiences.
1 parent 7bef626 commit 7ac210c

File tree

1 file changed

+86
-0
lines changed

1 file changed

+86
-0
lines changed

reflections/12.md

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
---
2+
title: Reflection 12
3+
---
4+
5+
# Reflection 12
6+
7+
_Jan 16 - July 09 2018_
8+
9+
* TOC
10+
{: toc }
11+
12+
13+
## It's been a while
14+
15+
_Jan 16 - June 04_
16+
17+
I went from one extreme to the other. I used to do a reflection every two weeks (which was too much), but now I haven't done one in 6 months! Maybe every month or two is a good ideal target, but we'll see.
18+
19+
Let's quickly summarize the past half-year:
20+
21+
* Even before Dynamicland, I was feeling a bit lost in my research. Looking back, I can see that I was being a bit too abstract, master-plan-y. It's easier to start smaller, more concrete, and bulid towards ambitious-ness later.
22+
* But I didn't realize that then. After Dynamicland I looked around to get a software engineering job, which I almost accepted at Calm.
23+
* I began doing paid part-time research for Dark, founded by Paul Biggar of CircleCi and Ellen Chisa, which was a really gentle, wonderful re-introduction to my research.
24+
* On [March 21](http://futureofcoding.org/log#newfound-excitement), I was in the basement of a coffeeshop in London, scribling down ideas about my research. That's the first time I was re-excited about this work in a while, and believed I could continue.
25+
* Then in Paris, I became [obsesed with Facebook's Origami](http://futureofcoding.org/log#origami-inspired-prototyping), which inspired me in terms of live programing and dataflow programming.
26+
* I worked for Repl.it for one week part-time, which got me thinking about how much I dislike the Redux or Elm architecture, which has been very influential in my recent work.
27+
* I was a little scatter-brained for a bit, doing research on various topics, without much direction, such as [this day in late April](http://futureofcoding.org/log#morning-frp-readings-and-next-steps).
28+
* I also had a period of a few months where I was [obsessed with various fantasy novel audiobooks](http://futureofcoding.org/log#less-passion), and worked less. I came out of this binge naturally when I finished the books and became more excited about work.
29+
* Things started heating up a bit when I decided to [model a bouncing ball in code with physics equations](http://futureofcoding.org/log#math-and-physics-as-code), which I eventually completed in [Wolfram](http://futureofcoding.org/log#a-bouncing-ball-graph) (which I only knew about because I did research for Dark on Worlfram).
30+
* I read the [Mythical Man Month](http://futureofcoding.org/log#the-mythical-man-month) and a few other key papers, such as [GoTo Considered Harful](http://futureofcoding.org/log#goto-considered-harfmul). Such as great use of time, particularly when I don't want to do my main work.
31+
* I've started making lots of friends on Twitter in this space! This is really fun. For example [here](http://futureofcoding.org/log#artist-centric-programming-tools) and [here](http://futureofcoding.org/log#tweets-with-tools_for_thought).
32+
* It wasn't until [early last month](http://futureofcoding.org/log#mon-6-4-18-fri-6-15-18) that I really started getting my shit together, printing out and reading FRP papers (after a heartening [conversation with Brent Yorgey on the podcast](http://futureofcoding.org/episodes/23)).
33+
34+
## A Productive FRP Month
35+
36+
_June 04 - July 09_
37+
38+
After completing my bouncing ball in Wolfram, I [read Conal's orignal FRP paper](http://futureofcoding.org/log#functional-reactive-animation) and saw that he solved the exact same problem, almost the exact same way! Finally I was convinced to buckle down, print out papers, and read them seriously. Since then I've read ~25 papers, which is a lot for one month! I've learned a ton about different FRP paradigms, arrowized vs non-arrowized, the difficulties in implementation, spacetime leaks, etc.
39+
40+
I spend a lot of time last month working on [various essays and blogs](http://futureofcoding.org/log#casual-comprehensible-visual-essay) - it was fun and useful and I wrote a lot and got a lot of internal clarity about why I'm working on what I'm working on - but it also feels a bit indulgent. I'd like to do a bit less of this next month.
41+
42+
Once I got clarity on the problem I was solving (DOM recursion without hacks), it only took me a little while to find the Reflex FRP library, and then another few days to get it working and [solve the "motivating problem"](http://futureofcoding.org/log#dom-recursion-problem-solved-by-reflex) I had set up for myself. I had a very slow feedback cycle programming in Reflex - it wasn't very fun, which is partly why I've been avoiding doing more of it. However, I've since learned that it might get easier with ghci integration, which I have get to try. I'd like to spend more time with Reflex in the coming month. In particular, I'm curious to learn about how it works internally (can it be replicated in JS?), and more about the "dynamic" abstraction.
43+
44+
Last week, besides writing essays, I spent [two](http://futureofcoding.org/log#a-human-readable-interactive-representation-of-a-code-library) [days](http://futureofcoding.org/log#yesterday%E2%80%99s-slice-and-dice-data-ninja-playground) responding to Glen's Fuzzyset Explorable. This also felt a bit indulgent, because I was following a thread that isn't directly related to what I'm working on, but it also felt like time well spent. I got more clarity on my vision for visualizing programming - in other words, I realized how un-clear the vision is, and how I'll need to put pen to paper and get more concrete to actually realize it. I'm excited to hear Glen's response to this work. It's exciting that we're so aligned in terms of working towards making programming more comprehensible! Maybe we could collaborate somehow.
45+
46+
## I've come so far, and am where I started
47+
48+
One thing to note is that I was working on very similar problems [almost a year ago on Sept 21, 2017](http://futureofcoding.org/log#update-journal-md-4), but I didn't know nearly enough about FRP then to put my intuition into words, nor prevent myself from foregoing my approach for the "more traditional state singleton stream model."
49+
50+
I still want to [visualize all the FP list operations](http://futureofcoding.org/log#lets-visualize-all-the-fp-list-operators), just like I did [last September](http://futureofcoding.org/log#update-journal-md-8).
51+
52+
There's something pulling me towards this line of inquiry. I can only hope it's not confirmation bias or some such.
53+
54+
## Where am I going?
55+
56+
Ultimately, I'm trying to create a programming environment. Maybe it'll be:
57+
58+
* a compile-to-JS language like Elm
59+
* a JS framework like React, or CycleJS,
60+
* a devtool, like the CycleJS devtool but that's not read-only
61+
62+
(What will help me pick between these three options is answering the question: can I build this in JS or do I need a runtime, like ghcijs? As well as: do I need to create my own FRP library from scratch or can I use an existing one such as Reflex?)
63+
64+
Additionally, I'd like to write an essay about comprehensible programming, but that's much less the focus than I made it last month.
65+
66+
## Hopes for next month
67+
68+
As I said above, I'd like to spend more time with Reflex building things and Figma drawing out pictures of stream/list combinators. Let's be concrete!
69+
70+
(And let's spend less time writing essays and blogs, and getting distracted, if I can help it.)
71+
72+
I'd also like to do a bit more freelance work if I can find it. I have two promising leads, so we'll see where those go. If nowhere, I'll brainstorm a bit for this.
73+
74+
75+
<script>
76+
77+
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
78+
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
79+
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
80+
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
81+
82+
ga('create', 'UA-103157758-1', 'auto');
83+
ga('send', 'pageview');
84+
85+
</script>
86+
<script repoPath="stevekrouse/futureofcoding.org" type="text/javascript" src="/unbreakable-links/index.js"></script>

0 commit comments

Comments
 (0)