Future of Coding

Reflection 13

July 09 - Aug 25 2018

Podcast & Reflections

I haven’t recorded my last three reflections (10, 11, 12), and I don’t think I will. They are there to be read if anyone wants. I will release this episode as Reflection 13 to hopefully not too much confusion.

Jonathan Edwards

Starting with our first meeting on June 6th, we’ve had two other meetings (between 1 and 2 hours in length) on July 10th and August 21st. The first two were on Google Hangouts and the last one was in person at a coffeeshop in Boston. In between July 10th and August 21st, Jonathan also gave me excellent feedback on drafts of my first academic paper here and here.

At our last meeting, Jonathan and I agreed to enter into a mentor-mentee relationship, similar to what one would find in an academic institution. We’d meet to talk every 2-4 works, depending on how much we have to say, and he’d help me with my research and papers, potentially meriting co-authorship on some of them. I’m very excited about this! Potentially it could be the start of an independent research group if we can slowly add others, but we don’t want to get carried away. We agreed that a great next step would be to get a paper published in a real venue, such as Onward! 2019, co-authored by the two of us, as a great next step. I think that’s a solid target for taking my current FRP Paper and building it out with a more running system, with interactive visualizations as explained in the “Future Work” section.

A few other interesting notes:

Explicitly Comprehensible FRP

I’m glad that I finally buckled down on one specific problem and fully tackled it. This definitely wouldn’t have happened if not for JE’s mentorship. This problem likely came from my work at Repl.it on their large Redux application. I knew it was a problem before, but I felt it more viscerally after that. It took me approximately 2 months to get this done, working part-time. I’m very proud of it. Almost everyone who I talk with about this (including JE), disagrees with me here. I find this exciting! I want to read (or at least summarize) the paper on the podcast (or maybe on a video), but will wait until after I hear back from REBLS and incorporate their feedback. The short of it is: this post argues against the Elm Architecture that’s used also by Redux, VueX, etc, etc.

Independent Research

Nadia’s article on independent research has had quite a large and positive impact on my work. It connected me to Philip Guo (again) which encouraged me to turn my essay into an academic paper. (Interview with him on his podcast should be coming out shortly.) It also is what encouraged JE to mentor me - because in order for independent research to succeed, we also need independent mentorship.

It’s also made it clear to me that there really is no free lunch. Professors have to teach in order to fund their research, let alone apply for grants and other bullshit. Yes, there are ways I could fund my research that’d be less work than freelance, but I like the flexibility I have now.

Freelance

The freelance life has been solid. I don’t always enjoying doing research for Dark in the moment, but I always learn a ton and am greatful in retrospect to have the knowledge. I am becomming a walking encyclopedia in this field!

I’m also really pumped to have my gig at First Round. It’s a great to work with people I get along with so well, and the setup is great. I work on a critical app by myself, squashing bugs and adding features whenever I have time.

Dynamicland JFI essay

I picked up a “third” part-time gig at the Jain Family Institute, writing essays for their blog. I’m currently working on one about Dynamicland that I’m pretty excited about! I wouldn’t have written this without their prompting, so I’m glad I took the job, despite being really too busy for it.

Moving to London

My girlfriend and I have decided to move to London for a year or two, in part to be closer to her family, and in part because her family has a house they have yet to sell that we are welcome to stay at. I’m excited about the move! There are a lot of interesting CS people in the UK and Europe, so I hope to meet more people, and go to a bit more conferences. If you have any friends in London that you think I’d get along with, please send them my way! I really only have one confirmed friend at this point.

Momentum on podcast / slack

The last month or two has been really solid on the podcast and on Slack. It stopped last week, but before that it seemed like new people were joining the Slack every day! And we also are having some good conversations going. Stefan Lesser does a great job instigating things.

“What’s your goal?”

This question was how JE started out last chat. It’s great to always have an eye on the horizon.

Short term: FRP Scratch

My short-term goal is to make a user interface for user interface construction that is drastically easier to use than any programming language and drastically more expressive than any current WYSIWYG. I think it could look a lot like Scratch, but with FRP principles. It could also look a lot like the CycleJS devtools, which they have plans to turn into a full IDE thing. In the even shorter-term, it may make sense to first build a framework or langauge, upon which I could later build a UI, but my gut now thinks that the Scratch approach of an intepreted runtime makes decent sense.

Long term: liberal software

My longer-term goal is liberal software, software that we can all modify in the course of using it. My work on the comprehensibility and construction of user interfaces is a piece of this.

Other Key problems

Eventually, however, I’ll have to deal with other key problems, such as collaboration (version control), authentication and permissioning (backend), etc, etc.

Anti IO-monad & Cannonical

I’ve had some strange thoughts here, mostly inspired by Conal Elliott. I don’t have much to say about them yet, but you can read here and here.

Data ninja playground

After playing around with Wolfram and ObservableHQ and seeing Glen’s Flowsheets, I am inspired to tackle this problem. It’s a meaty one! I have a few thoughts here.

Next few months

The “Future Work” section of my FRP Paper says it well. Much of my work will be coming up with visual metaphors and notations for complicated stream combinators. I imagine you’ll see a lot of drawings like this with my new Apple Pencil:

However, if truth be told, this is going to be very hard. I have to be as smart as Leibniz, so I’ll likely take breaks from this work to do stay sane and focus on other research topics or whatever.

But at the same time as I co-design from the UI towards the semantics, I can also design the other way. I imagine they may help each other out a bit. (Or the opposite.)