futureofcoding.org

Log

Welcome to my development journal. This is an experiment in radical transparency. You can read my unfiltered daily thoughts below. Pardon my typo-laden stream-of-consciousness.

The data for this page is pulled from the commit message history for this repository. It’s similar to what you’d see if you did git log.

Journal break

01/22/18 Mon 5:54 PM

Given how Bret Victor is the main inspiration for this project, it was really really fascinating to spend so much time around him last week. One of the biggest things I took away was that “improving programming” is a difficult goal to shoot for directly. The biggest improvements to programming happened when someone from a different field were shooting towards a bigger, more abstract goal. They also never came from young people. I’m going to have to think through how these new ideas influence this project. Potentially I will put it on pause for a while.

Interviews tomorrow

I haven’t done any interviews this year, but I hope to rectify this with two interviews tomorrow. I’ll release one either late this week or early next week, and the other either late next week or early the following week.

reflection 11

01/16/18 Tue 3:23 PM

Boom - started and finished in an hour. If I reflect often enough, and don’t try to be comprehensive about it, I think I can put up with this.

Rushed BV deep dive

01/12/18 Fri 6:55 PM

Quick progress

Quick & dirty progress with little to no note taking was made today on a number of BV things:

  • Media for Thinking the Unthinkable
  • The Future of Programming
  • Seeing Spaces
  • RESEARCH AGENDA AND FORMER FLOOR PLAN
  • The Humane Representation of Thought

As well as a few selected references that he linked to from those (or the notes for those), but you’ll have to see my notes in this commit for all that jazz.

Remaining things

Thought I didn’t get to them today, I think it would be useful to me to read both Bret’s 2013 links and What a technologist can do about climate change before I show up at Dynamicland. I have plenty of time for both of these things before Monday at 1pm PST, but it’s also not a tragedy if I don’t get to them.

As far as my BV deep dive goes, I’d say that it’s as done, if not more done, than the deep dive I did into Alan Kay. There’s more to be looked at for both men, for Alan there are many videos, and for Bret, there are past websites, projects, and journal entries. But I suspect that after next week, I will feel content in my knowledge of Bret Victor for now, and would be more happy spending time with his sources, than with him directly. And of course, re-reading and re-watching is always useful so I can always comes back to this if I need to.

Self-directed masters program

On a trip to the bathroom, I picked up Richard Rorty’s Philosophy and Social Hope and was blown away by the first few pages. He alluded to being able to dissolve my current paradoxical thoughts on the distinction between inventtion vs discovery. It feels like Rorty might do for Dewey what Deutch does for Popper.

Anyways, I have a stack of books in front of me ranging from Piaget to McLuhan to Raskin to Vygotsky to Brooks to Rheingold to Minsky to Hofstader. And I have at least another dozen such books elsewhere that feel like essential reading for me to live a fufilled life. Thus had the thought to structure all of this reading and reflecting into an organized structure of some sort, which I am currently referring to as a “self-directed masters program.” Here are some of the tasks (unordered) that represent my current thinking of the next steps here if I choose to continue planning in this direction…

  • look into how other masters’ programs, PhD programs, or other programs of study are organized, such as Open Masters and Steph Jang’s post

  • think about the topics / questions / goals (in other words, why do this over getting a job or starting a company, or any other possible thing?)

  • will there be a thesis or end product, one or many?

  • mentorship?

  • physical location?

  • time

  • budgeting

Plan for 01/12/18

01/12/18 Fri 12:52 PM

Media for Thinking the Unthinkable

I spent the morning watching Media for Thinking the Unthinkable, again without taking notes, but still making an effort to read sources, which in this case included The Unreasonable Effectiveness of Mathematics and An Ill-Advised Personal Note about “Media for Thinking the Unthinkable”, the ladder of which had a few wonderful gems, including:

Any concept, technique, or tool that is specific to software engineering is guaranteed to have a short shelf life, at least on any time scale that I personally care about. (Which is totally fine if you’re into that, but this is my ill-advised personal note, not yours, and I personally care about mattering 100 years from now.)

Wow, that’s fascinating. Makes me wonder about where this desire to attain a lasting legacy comes from.

Rest of today

I’m going to take an the next hour for lunch and mayge get a haircut, so that puts me at 2pm, and then I have to leave for dinner at 7pm, so I have 5 hours for work. Given that this is my last real work day before visitng Dynamicland, I’d like to get through the following things:

  • finish the last ten pages of Visual Display
  • finish reading No Silver Bullet
  • finish my BV deep dive, which includes:
    • The Future of Programming
    • RESEARCH AGENDA AND FORMER FLOOR PLAN
    • Humane Representation of Thought
    • What a technologist can do about climate change

Will probably have to go much faster than usual to make it through. No problem.

Reading Tufte

01/11/18 Thu 4:47 PM

The Visual Display of Quantitative Information

Today I read 178 out of the 190 pages of Tufte’s Visual Display. It was While I have recently been writing copious notes while I read, today I simply read without taking any notes, despite of course, this adorable note:

It was interesting reading. When I turned the page and found the beginning of the next chapter, I would intend to take a break, but figured I might as well read first read the first few lines of the next chapter just out of curiosity. But then my curiosity would be so piqued that I’d find myself going chapters at a time without breaks. It was a good 4 hours of Tufte today.

Given that I don’t have any immediate concrete, practical use for these skills, I’m not sure how useful it felt. As a study in where ideas come from, it was interesting to see many Bret Victor ideas I’m familiar with in their original context. For example, I recognized sparklines, a Tufte invention, from BV’s work (although in a quick web search, I am unable to find an example of this…) This speaks to the question of pre-loading vs just-in-time learning. I feel like most of the value in my reading today will be in knowing where the answers to questions about data visualization will likely be found – and that there are answers here at all – rather than the actual rules or techniques that I read given that I am likely soon to forget them in the absence of applying them anytime soon.

Steve’s Search for Meaning

Recently I’ve been talking a lot about meaning, asking questions about the value of earning money, status anxiety, and company mission statements. Given that this is not the first time my brain has wadded its way into this territory, I am suspect that these concerns are “real” concerns, in that I don’t actually care about the answers to these questions. I feel that it’s much more likely that I am feeling unsettled for some external reasons (such as having less contact with people given all the reading I’m doing, or having less structure in my life), and am then looking for logical questions to focus my and others’ attention on to explain away my unsettled internal state.

When I shift my attention away from these questions, and back to my current plan of pickling myself in ideas, I feel much less anxiety: as long as I read a lot, and reflect on my reading, I’m following the plan. Another thing that abates my worries: the books and essays on my to-do list are first-class. In fact, it’s difficult to find any to remove, and sometimes feels impossible to prioritize. My disquiet disappers entirely if I simply focus on enjoying the pinacle of pleasure that I have the luxury to enjoy by simply being allotted the time to dive into books that are interesting and potentially useful to me. That is, if I stop justifying, and simply enjoy.

Good meetings and reading

01/10/18 Wed 6:35 PM

Questioning the idea of crusade

I’ve been doing a lot of questioning these days. Today I did my questioning with Omar Rizwan and my cofounder Eli. Maybe Bret’s importing of the idea of “cause” from social activism into engineering isn’t such a great idea? Maybe it’s more fun and useful to solve problems for real people on their own terms - without having a bait-and-switch reason why.

Finishing Learnable Programming

Technically not 100% finished, given that I need to read all references, and I’m not entirely done with No Silver Bullet.

Big long day of BV deep dive

01/09/18 Tue 5:26 PM

Still making my way through Learnable Programming, making sure to read all of the footnotes and refernces, as well as fully articulate all of the relevant other thoughts I have while I read. This is probably too much writing, I’m beginning to realizing, but I am indeed almost done! With this one essay. Then there is much to do read and re-watch before heading out to Dynamicland.

I also got my first Tufte book, the Visual Display, and would love to get partway into that at least as well.

Shortcut to github issues

01/05/18 Fri 4:55 PM

Now futureofcoding.org/issues will link to https://github.com/stevekrouse/futureofcoding.org/issues

And futureofcoding.org/issues/3 will link to https://github.com/stevekrouse/futureofcoding.org/issues/3

This works for arbitrary issues because I wrote the code in the 404 page for this repo, which here acts as a router.

Update for this week

01/05/18 Fri 4:09 PM

Plans to visit Dynamicland!!

I’m very excited to be visiting Dynamicland in two weeks! I’ll be there Jan 15-19 2018. I’ve heard, read, and seen so many amazing things from there, and I’m pumped to see it all firsthand and play with it all. Hopefully I’ll have some fun videos, writings, and/or podcasts for y’all from there soon!

Where have I been this week?

I have not committed to this project/log/journal at all this week, which is directly contradicting my policy of contributing every day, except when otherwise specified. Part of the problem may be that it’s unclear where I specify which days I have on vs off. Food for thought.

Anyways, I’ve really taken this past week for vacation. I took my girlfriend to waterski on Monday, spent the day with my grandparents on Tuesday (six hours of grandparent technology help was fun!), and spend what was supposed to be my last day in FL with my mom and brother on Wednesday.

We were supposed to leave Thursday morning, but our flight was cancelled because of the snow. I spent the day packing and then unpacking my things and on the computer and then phone with Spirit airlines. Very fustrating.

However today I have been working! I spent the morning on email, then had a fun chat with Paul Chiusano about education, and now am here. I plan to spend the next 90ish min here, then workout, then have dinner.

Given how unproductive we’ve been this past week, my girlfriend and I are considering spending this weekend (tomorrow and the next day) working too, so stay tuned on that front. No promies.

Reflecting on reflection 10

I am overwhelmed by the size and scope of reflection 10. It’s both too much to think about and also not fun to think about.

And it’s just plain embaressing, really indefensible to not get any work done because you’re blocked on a reflection time. Apparently there was wisdom in the setup that I had before: Monday’s are reflection days. You can only spend as much time as you have on a Monday. This is good because it forces me to not include all sorts of tangents.

So my current idea is to spend the next 90 minutes finishing reflection 10, of which the goal is to come up with a plan for the next two weeks before leaving to visit Dynamicland.

Cleaning up reflection 10

Make the BV deep dive section short. No re-reading of notes.

Remove the Alan Kay / possiblitiy and income sections.

Keep misc updates.

Think about priorities.

Let’s do it!

Started Reflection 10 yesterday

12/22/17 Fri 11:03 AM

At first I tried to write the reflection entirely in a commit message. There were a few problems with that:

1) I was scared of losing the data because it’s not really saved or commited anywhere.

2) I wasn’t able to commit my work halfway done. Or if I did then I’d have to copy-and-paste it again into the next commit which would be annoying for readers.

Thus I came up with the brilliant idea of creating a file in a new folder for it: /reflections/10.md

Even though I finished my 10-day course of 3x antibiotics every day, I am still not feeling 100% better. I’ve been very tired, so I’ve been sleeping a lot, which makes me feel better, but also doesn’t leave much time for work, particularly because I’m with family and want to spend time with them as well. Hopefully I feel better soon so I can finish this reflection, finish my Work Plan (if the time is right, which it feels like), and finish my BV deep dive before visiting Dynamicland sometime in Janurary (still don’t have dates yet).

Reflection on reflections

12/17/17 Sun 9:27 PM

Running out of space

I just spent almost an hour freeing up space on my Cloud9 instance. I had over 20GB on this machine - and the max size is 10BG! First I deleted all the large directories that I no longer use. Then I tried to figure out how to shrink this directory down.

First I installed Git-LFS and tested it out on a single file. However, that file wasn’t easily reachable in github pages, so that solution was out. And besides I think that was solving a different problem than the one I have.

Then this article helped me delete unneccesary files with git sparse-checkout. I still have a 350MB .git directory because they are probably storing those large files.

However now I have 7GB of space on this machine and that should last a while if I just add text here from now on. Potentially I’m going to want to git clone --shallow this repo from scratch. The problem there is that I have to remember to bring over my config files in the .git directory. (It is a bummer that those files aren’t more portable!)

Brief rant on “overthinking”

One of my least favorite words is “overthinking.” I firmly believe that whatever someone’s problem is, thinking too much can never be the problem.

We all know people, maybe even ourselves, who have thought themselves into circles about relatively simple decisions. Clearly this person has a thinking problem, but the problem isn’t that they are thinking too much: it’s that they aren’t thinking well.

Let me prove it to you by contradiction. Say you are worried that you are overthinking an issue in your life. How in the world are you supposed to be able to evaluate this claim? The only way is meta-cognition: thinking about your thinking process. Through meta-cognition you may come to the conclusion that you have been doing too much unproductive thinking. But it would be impossible to say that you were doing too much thinking because the only way you were able to determine that you were thinking too much was more thinking!

This word “overthinking” feels appropriate when someone is doing too much of unhelpful kinds of thinking. Thus I propose we replace it with a new word. Let’s say, you’re “thinking poorly.” Ok, that’s a bit harsh. Maybe “thinking in circles” is a better metaphor.

Cons and pros of my current schedule

Now that I’ve gotten that off my chest, let’s do some reflections on my process of reflecting.

I set up this research schedule for myself 4ish months ago. I’ve learned a lot about how I work in that time. For the most part, I’ve liked this schedule. Let’s reflect on what I don’t like:

  • non-informative logistics around post production and publication for podcast episodes
  • feeling pressured to reflect, record, edit and publish reflections all in the morning on mondays

The pros of my current process:

  • re-reading my last reflection and journal entries from then until now is really useful

One question

What value does recording, editing, and publishing my research recap podcasts provide for me? (Not counting the reflecting I do to prepare to record.)

None, save when others listen to it and then contact me to be friends.

In other words, I gain all of the value from simply doing the reflection in text, minus the people that listen to the podcast that wouldn’t read my bi-weekly textual updates. Recording it on audio is simply for audio-only people.

I wonder how many of those there are. I get about 100 downloads on most episodes. I’m not sure how many people actually listen to them after downloading. I used to have listeners contact me, but that has stopped. And I suspsect that many would’ve contacted me from the conversation episodes alone.

Here’s where podcasts shine: two-person conversations. A two person conversation requires little prep time and I usually learn a lot from the conversation. And the person I interview has an audience to spread me around to. (Although that hasn’t really ever lead to much yet.)

I’m thinking it makes sense to go to a 1 episode every other week as an interview plus Sam-Harris-style “housekeeping” section in the beginning if I have other things to say. For example, I can start my interview with Jason next week with housekeeping notes that I won’t be doing research recaps any longer.

What about people who want to read my bi-weekly reflections / status update?

A few options.

A) They can read them in the reflections/ or updates/ folder. B) I can create a TinyLetter bi-weekly newletter like Glen Chiacchieri.

Let’s start with (A) for now and see if anyone asks for a newsletter.

One final question: what’s the plan for tomorrow’s reflection?

First of all, I won’t be starting tomorrow’s reflection until I finish my personal life reflection (which is private). I estimate that taking 1-4 hours tomorrow so I may not have time to do a reflection here until Tues or Weds.

I definitely want to re-read the last two weeks of journal updates.

I also want to read the prior reflection.

I also want to re-read my plan.

I feel finally ready to finish my work plan. It’s basically what it is now plus this section of my journal.

Let’s try and finish my reflection first and publish it. Then I can decide what to do next: continue to BV deep dive, do “deep thinking”, other “FoC research”, or write the plan.

Learnable Programming & video games

12/14/17 Thu 12:54 PM

Productive morning

Really excited to be back in the swing of things! Woke up at 7am, snoozed the alarm for 20 mintes, then set up my workspace for 20 minutes (adjusting the chair and computer heights), and got into it!

This morning I reviewed Evan Miller’s Don’t Kill Math which was fun.

Shower outline of “climate change for conservatives”

This outline shows how much I’ve internanlized both Nicky Case’s know your audience and Scott Adam’s persuation techniques. In short, as someone who’s been skeptical of the left’s portrayal of climate science, I communicated to people like me about ways to assimilate climate science into their existing mental models.

Learnable programming

After the shower, I pushed myself to re-read Learable Programming. I was at first resistant because I’ve read it 2 or 3 times now, and the last time was only a few months ago. Almost immediately I realized that I definitely need to read this article again!

The things about it that surprised me this read:

  1. Video games as a vector for powerful mental models. Aligns incentives well in for-profit: people pay for games. Will Wright is a boss. Need to research Minecraft. Maybe go work for Will Wright or some amazing game maker. Or team up with Nicky on a game.
  2. I want to re-write Learnable Programming. I’ve already put down some thoughts about the re-write. It’s mostly a more coherent and justifying able framing, as opposed to explaining the importance of a seemingly random assortment of virtues Bret specifies at the top of the article.

Reading vs writing polished work

Given that I’m producing outlines for two pieces this morning, in addition to all of the other content that I’ve been meaning to produce in a polished way, not to mention the backlog of blog ideas I have stuck in a Trello, I am beginning to wonder how I will balance my time as a reader and writer. Right now I’m in reading mode. I think the balance of writing as a form of note-taking is great during this mode. It will help in writing mode for sure. I wonder when I will feel the impetus to switch to writing mode. At the current moment it feels like there’s so much for me to get into my head, including:

  • Alan Kays videos
  • re-reading Seymour Papert
  • Mountessouri
  • Marshall McLuhan
  • Piaget
  • Chris Granger
  • Nicky Case (again and more thoroughly)
  • John Dewey (I’m becomming obsessed with this guy)
  • F.M. Alexander (feels relevant to this project too)

And then I have a dozen books in my apartment that are begging to be read, such as:

  • The Mythical Man Month
  • Two culture of the scientific revolution
  • Show your work
  • Society of Mind (minsky)
  • Theory of Fun for video game design

Given my current pace (assuming I’m not sick and continue to mostly read and not protoype), I feel like this reading will take more than a month but less than a year, which is very reasonable. The only worry is that the more I read, the more I will want to read because I’ll want to continue walking the tree up to influence of influences of influences, eventually getting up to Plato or even the Torah.

Pickling my brain is a lot of work!

As Feynman says, there are no miracle people If you want to be smart you merely have to do what smart people did to become smart. It seems like smart people do a lot of reading. What they’re actually doing is assimilating models into their heads. Then when they’re not reading they are playing with those models.

It’s a blessing and a curse that there are so many amazing models out there today. It’s a blessing because we can be so much smarter than any person in history. It’s a curse because if we want to be one of the smartest people of today, there’s a lot of pickling to be done!

The next time someone implies that I was born this smart, I will need to give them a piece of my mind: “Do you know how much work it takes to be this smart?! Day in and day out I read and write and read and write. Just like an athlete trains the body, I train my mind every day, all day.”

Joesph Campbell:

I would get in nine hours of sheet reading done a day. And this went on for five years straight… Reading what you want, and having one book lead to the next, is the way I found my discipline. I’ve suggested this to many of my students: When you find a writer who really is saying something to you, read everything that writer has written and you will get more education and depth of understanding out of that than reading a scrap here and a scrap there and elsewhere. Then go to people who influenced that writer, or those who were related to him, and your world builds in an organic way that is really marvelous.

(Wow, reading more of this snipet is amazing stuff! Now I’m excited to read this whole book where I found this quote!)

It’s interesting to note here I was already following this strategy before knowing about his advice. It’s quite vindicating to know that this strategy worked for someone else. And if it takes me 5 years, that’s ok too. I’ll just have to find some way to make it financially sustainable…

Back (again)

12/13/17 Wed 1:29 PM

^ I wonder if the above generates a table of contents in the markdown.

Sick (again)

It’s deja-vu all over again. I fell back off the horse again for the same reason. It looks like I’ve had strep throat, on an off for the past 2 months. We’re not 100% sure but our prevailing theory is that my girlfriend and I keep passing it back and forth to each other, which is how I still have it even after taking 10 days of antibotics. Now we’re both on antibiotics so I feel confident that we’re kicking this sickness for good this time.

Getting back into things (again)

It’s definitely tricky going from sick-mode (which is similar to relax-mode) to work mode, or vice-versa. Once in a mode, it’s easy to maintain it, but the transitions are tricky, particularly when they are un-expected. Usually the transition goes smoother when you admit that you’re transitioning.

For example, last night I stayed up to midnight, watched too much TV, had too much to eat for dinner, and had too much snack food after dinner. I woke up this morning feeling almost hung over. I was tired and everything hurt. Contrast this with how I go to bed when I’m in work mode: asleep before 11pm, eat a reasonable meal, none or a small dessert, 1 or 2 episodes of TV, maybe reading, definitely not a movie.

Scattered thoughts

As happened last time I got sick, my thoughts seem to have scattered and I feel quite directionless. I feel like I’ve forgotten why I’m doing a Bret Victor deep dive, as compared with all of the other branches of the tree I could go down.

Chat with Stefan

It was really helpful to chat with Stefan Lesser this morning for a few reasons:

  1. He was very bright and optimistic, almost cheery. I got a very warm feeling from him. I wonder if it’s related to him listening to my podcast because I get a similar feeling from Aidan.

  2. We think in very similar ways. Talking to my girlfriend about these ideas is like pulling teeth because we don’t speak the same languages. She speaks the artist langauge and I speak the programmer langauge. But Stefan and I can communicate very fluidly. More than that we agree on so many points. It’s very validating. I imagine that’s part of why working in a research lab, like PARC or Dyanmicland, is so inspiring. Shared vision. Fast communication.

Shower Note Session

I was overflowing with thoughts to such a degree, and I was cold to such a degree, that I decided to do one of my famous shower brainstorm sessions. This was definitely one of my more scattered ones:

There’s almost too many thoughts and directions in all of those notes. While it was fun and energizing to write them, I am now intimidated by their quantity and scope and don’t feel like engaging or proccessing them now. Content overflow is definitley one of my main themes of this project.

Looking ahead

Things on the horizon:

  • I have ~3 hours today, ~8 hours tomorrow, and ~3 hours Friday
  • On Friday I go home to Florida for 3 weeks
  • Jan 8 - 12 I will hopefully (just applied) be at the 1-week Recurse Center program
  • Jan 19 - 26 I plan to visit Dynamicland in Oakland
  • I have 2 years of runway before I need to get a job (living in NYC)

Thoughts on /plan v5

I felt much more centered after re-reading my most recent plan this morning. My thoughts are:

1. Justify cause/crusade framing

The cause/crusade framing feels so obvious to me, but definitely not to many others. I want to dig into these feelings a bit more. Think about why prinicpled, conscious, purposeful creation is “better” than simply doing stuff for money or more whimsical reasons.

2. Still blocked on philosophy

How do I know that I’m still blocked here? Because I can’t make decisions. I had a great call with Jaime Brandon yesterday. It was very easy for him to diagnose this problem in me because he’s faced it himself, as well as seeing it at Eve. When you’re too broad, when you don’t have good priorities or boundaries, you agonize over each decision, and constantly want to walk up and down the tree. A good project can easily see what it is and what it is not, and doesn’t spend much time thinking about paths it didn’t take in the tree because that is not what it is. A thing in the world defines itself by the path it takes. What it is and what it is not. Staying up in prototype/research land is refusing to do that. Even within prototype/research land, I feel constant agony about what is the priority to research or prototype or communicate or build.

I feel my brain wanting to escape this proccess. I feel it looking for the easy out. Looking for a quick answer it can sub in here so we can get back to more structure, a more easily optimizable game. On the one hand, I applaud my brain for this strategy, because the less unknowns you’re working with at one time, the better. Yet on the other hand, I feel like if I took an easy route such as getting a job at a company, I would immediately wish I was back here, working on my own philosophy, as opposed to actualizing someone else’s, which I would constanatly be picking apart.

Thus, the appeal of the ultimate escape hatch on this procecss: go work for someone who’s vision is so clearly better than anything I could come up with at the moment. The candidates for this position are few and far between: Alan Kay, Bret Victor, maybe someone at Bret’s lab, maybe Paul Chiusano. We shall see what happens here when I visit Dnyamicland soon.

Constructing Meaning

I went deep into this rabbit hole in my shower brainstorm. I have defined a crusade as the most meaningful thing I can do. This is explicitly not the most good I can do from the Juan Benet / Elon Musk / Peter Singer perspective. Yet if this is the case, and it’s truly subjective. Then I better be damn sure I know what is meaningful to me. That’s why I started making a list of all of my positive memories that held meaning in my life. (It reminded me that my fustration with Looker was that I can’t remember a single decision any one made because of a Looker report. In my experience, the tool was analytics for analytis sake.)

Then I got into a hole where I realized that the difficult thing with children as customer is that their incentives are so perverse given the structure we place them in. For example part of why I hate tutoring is that either students are un-motivated or motivated for the wrong reasons (grades), or motivated to just get the end product to show off and thus just want me to program it. It’s rare (but happens sometimes) to find a student in the right context: working because they enjoy making something and getting better at making things.

I’m also thinking about the condescending nature of this whole project, particularly the bait-and-switch part, where you sell a product that does X, but only because you have an ulterior motive Y. Sell electric sports cars to accelerate the transition to sustainable energy. Part of me wants to just give it up and go wherever there’s the most money. Stop trying to be so normative. Just let people tell you what it is they want and then deliver it. That’s not to say that you should blindly listen to customers. It’s that you should iterate with customers towards something they will pay a lot for because it solves a big problem for them. Put another way, Looker clearly is solving a massive problem for tens of thousands of people at thousands of companeis. It’s truly software through empathy, as Lloyd talks about. Who am I to tell the world what’s best for it? In other words, I better have a strong and well-thought-out philosophy for how to make thw world better if I am going to try my hand at shaping it through technology. Otherwise, I might as well just go where the market is because that’s garunteed to make people better off (if you assume markets do that).

Priorities for Dec and Jan

1) Life priorities

My main focus for my own health is the Alexander Technique.

For my family, particularly in the context of the 3-weeks in Florida, the focus is making the most of the time, in the context of others. This means that I want to * strategize ahead of time* to set myself up for success, but be content in the moment, even if it feels like a waste of time. In other words, 1) don’t see people just because they asked to see you, 2) go to bed early and wake up early, 3) phsyically seperate from others when trying to focus, 4) calendar sculpt. The main priority here is “peace in the home”, which is a Jewish saying. This is not the time for arguments and figuring things out. It’s a powder keg. This is the time for making nice. Reflect later. Figure things out later.

2) Work priorities (12/13/17 - 1/8/18)

Calm, coherent, patient, doing less. The opposite of frenetic. That’s my goal. Re-reading my /plan embued me with calm and happiness. Meditating, coming back to my journal to reflect. These are the things that add the structure I need in this purposefully unstructured time.

I can’t see any reason to stop my Bret Victor deep dive given that I still have at least half a dozen links to go. I feel like I’ve lost steam on it, but that might just be a momentum thing. Could return when I get back into it.

I don’t want to start doing priority-calculus, seeing if there are other things to read that are slightly more efficient uses of my time.

However, I wonder if I should budget more time in my calendar for “deep thinking.” I set aside a place in my Inbox (Google Inbox) for notes that I should proccess later. It’s the “deep thinking” label. I feel like my time for thinking those thoughts has been crowded out by an urgency to finish the Bret deep dive.

Now that I mention it… while this next thought does go against my intention not to play priority-calculus… I have a lot of links in various places that could use some attention, including /links as well as the “foc research” label in my Inbox. At the very least I could clean this up a bit and figure out a home for them.

Finally, there clearly are top-of-mind topics that I could keep in a prioritized list somewhere. Basically, the next version of /ideas. These are Blockly++, FRP Scratch/WoofJS, StreamSheets, CycleJS devtools, FRP research incl Reflex & Conol Elliot, essay about essays, better wiki tool, etc.

Ok, I need to go eat lunch now. With the remaining 2 hours in the day (given that I spent an hour on this journal entry), I will:

  1. Get to inbox zero
  2. Publish Joe Cohen interview

The plan for tomorrow is:

  1. Deep thinking notes procecssing
  2. Calendar sculpting for vacation time
  3. Bret Victor deep dive (unless I come up with anything better)
  4. Plan friday

prep for call w stefan

12/13/17 Wed 8:30 AM

Thinking about ways to collaborate on this project…

Chat with Samuel Loncar

12/13/17 Wed 8:22 AM

Why am I talking to a religion scholar? Good question! Sam is a brilliant scholar,. Every time we talk it feels like there’s so much to learn from him. In particular, I love his focus on deeply understanding historical context – he reminds me of Alan and Bret in that way. He was excited to meet me and learn about those guys, because he’s interested in the history of technology, particularly the religiousity of Silicon Valley, epitomized by the Singularity and anti-deathers.

In the course of preparing for this chat, I made the following outline, which I didn’t actually reference in the chat, but looking at it now, I see that it’s a good model for where my head is currently at.

  • my career plan
  • crusade / cause
  • inventing on principle
  • We are our tools
  • including ideas, patterns of thought, notation
  • augmenting human intellect
  • copy and paste
  • Dynamicland - ergonomics
  • democratizing tool generation
  • paths
  • build
  • profit
  • Looker, Bubble, Excel
  • non profit
  • Scratch, Wikipedia
  • research
  • Victor, Kay, Papert, Engelbart
  • Patreon?
  • constructing cause
  • now: read Bret, and influences
  • Jan: visit dynamicland

  • areas of interest
  • comprehensible programming model
  • CycleJS devtool write
  • FRP Scratch/WoofJS
  • workflow and version control
  • underlying interface library
  • LogicHub
  • Ten Brighter Ideas?
  • All assumptions, including reasoning principles, visible and tweakable, all the way down to “primary sources”
  • wiki-like (massively collaborative, structured, inter-connected) platform for science
  • A tool for surfacing and ameliorating inconsistencies
  • Allows for multiple contrasting axiomatic views (but possible not any mutually inconsistent ones concurrently)
  • Popper vs Kuhn

  • presenting old vs researching new?
  • work at TCS
  • work on Woof (and off-boarding)
  • work on old programming languages

  • Doing a podcast?

Writing about, more than reading, Kill Math

12/06/17 Wed 5:20 PM

Today I wrote ~3000 words about the ~1500 words I read of Bret Victor’s Kill Math essay. Clearly it was thought-provoking. This is slightly misleading because I also re-read Chris Granger’s Coding is Not the New Literacy as well as an article about Kill Math. Yet, the fact remains that I had a lot to say about these thoughts!

Given that I was still feeling under the weather today, I didn’t workout which gave me lots more time today to do things like make a doctor appointments, as well as do a few clearerthinking.org quizes, and a few emails. I’m in a positive, we-can-solve-it-with-science mood now, which is definitely responsible for, or was caused by, all my discursive writing this morning.

I got in about 4 hours of reading/writing here and 4 hours of miscellaneous tasks, which was less reading/writing than I planned for today but the other tasks were useful so I am happy with it. Tomorrow I only have 3 hours for reading/writing here, and also the aforementioned dentist, as well as a podcast interview, and two meetings.

Bret Victor Deep Dive!

12/05/17 Tue 5:25 PM

Bret Victor Folder

I created an entire folder inside my notes directory. I took so many notes on just Magic Ink](/notes/magic-ink) that it seemed like a good idea to have a seperate file for each piece of his work.

Tired, and maybe sick

This was a long day! I worked for most of the last 10 hours, and most, at least 7 hours, was reading and writing about Bret’s projects. I am exhausted, partially because my throat is hurting :( I’ve really been sick with this thing for a while now! Let me schedule a doctor’s appointment now for tomorrow… Ok, I got an appointment for 4pm tomorrow.

Trust & doctors

I wish I had a doctor that I trusted, from a philosophical perspective, as much as I trust my Alexander Technique teacher Rebecca. I have trouble understanding the way doctors think, diagnose and cure things – partially because they go through so much formal training that I didn’t have, whereas Alexander Technique was something that a non-medical person created simply from personal analysis.

So many of my ideas

In particular I was shocked by how many of my favorite ideas Bret also wrote about, including a better medium for mathmatics, including for school children, LogicHub, a wiki-like platform for understanding and argumentation with nested sources.

Custom Log

I’m really really excited about the work I did on my custom log file yesterday. That was pure fun. Later in the night, I opened it up just to admire it. Hope to work on that again soon!

Tomorrow (12/6/17)

Should have 5 hours to continue here with the deep dive as long as I am not feeling too sick.

removed _site from repo

12/05/17 Tue 5:13 PM

jekll serve; log.html -> log.md

12/04/17 Mon 5:07 PM

Almost finished with future authoring

12/02/17 Sat 6:29 PM

Useful and somewhat fun but also basic stuff for me given how much reflection I already do. I really think this course would be great for those who aren’t crazy journal people like me. All the same, I’m glad I did it for the structure and clarity. Still have 30ish minutes to go so will do that Monday morning :)

Plan v5 is off to a great start

12/01/17 Fri 5:54 PM

I’m pumped that the table of contents Jekyll thing worked. That’s really beautiful and super elegant.

I think my changes in the diff for this commit speak for themselves. Really excited to come back to this next week.

Plan for next week

Monday is full with the bi-weekly research summary, working out and two meeings. Calendar sculpting is included in the bi-weekly research summary time.

Tuesday and Weds are total open and will remain so, and until 2pm on Thursday and Friday are open as well.

I guess it’s mostly Bret Victor deep dive. Fun!

My first step will probably creating a list of all of his content that I want to get to and then prioritizing it. I don’t want to make the mistake of starting from the first post he ever made in his oldest blog. While good for empathy, I want more of the fully-baked stuff.

Fith version of plan

12/01/17 Fri 5:34 PM

Very rambly so far. Had to even siphon of a thousand words into its own essay. I found myself unable to figure out where my next header should go or be so I googled around for how to auto-generate a table of contents. The downside to this method I am trying now is that it only works after committing and pushing to Github pages, which I why I am committing this plan in mid-working session. Let’s see what happens!

Future Authoring, part 1

12/01/17 Fri 10:41 AM

I recently have fallen into a Jordan Peterson love affair, and stumbled upon this course he created, which seems quite relevant to me articulating my goals for this project. I found a free version and have answered the first part of it in not-bold here and am taking his advice to wait until a night or two of sleep before doing the second part. Let me put time on my calendar tomorrow afternoon to tackle it.

It went really well! A lot of it was personal stuff about my life, but readers of my stream-of-consciousness style in this journal are not strangers to that. It feels relevant at times to talk about my life in this journal and this is one of those times. I am a bit worried it may bite me in the butt at some point down the line but that’s just fear talking. I don’t have any concrete worries here.

Crusade Discovery

Well and thoroughly pickled

In particular I think I made a shockingly large amount of progress on articulating my crusade this morning. And the way I came to it is really a function of a week well sculpted. (I love this phrase, by the way, calendar sculpting. A quick google search makes it seem like I have indeed inventing this phrase. I wonder if it’ll catch on.)

For example, starting my week of thinking about how communication works for my “essay about essays” with Nicky Case lead me to Douglas Hofstader’s “Analogy as the Core of Cognition” which was exactly what I needed to read right now, as well as re-reading Seymour Papert’s “Gears of my Childhood”, also exactly what I need to read right now. (Watching Bret Victor’s Inventing on Principle last week also played a big part on my thinking this week.)

Then Wednesday diving even deeper into how the brain works, how people learn, why they’d want to learn to code, etc with my coggle brain mapping was amazing. Really helped me spread out my thoughts in space and get clearer about them and how they relate and build upon each other.

Thursday my brain was on fire reading through the Dynamicland zine the first way through. I’ve only made it 4 pages in the second way through and have written ~3.5k words already. I was able yesterday to really live in the future and imagine what it would be like, without hating or “making wrong” the present. I was able to bask in the possibility while also being grateful for reality. The thing about truly living in the future, while accepting the present, is that you can do it all the time, and it’s only when you live with things as core components of your life that you are able to imagine the next step, how to build on top of them, how they interact together, the 3rd, 4th, and 5th level causes. I was even ambitious enough to explain to both my grandma and then my mom about my vision for the future and how it relates to tools and humans and augmentation, etc. They both got it to some degree and were excited that I was excited and I learned more for explaining these thoughts to lay people.

I also had a great conversation with my buddy Jonathan Leung yesterday where he was excited for me for “not making the present wrong” because he noticed it was something for me to work on when we did our podcast many months ago. We thought about Elon as a crusader and what his crusade is (averting existential threats) and how that compares with Juan Benets crusade (decentralization).

Additionally, yesterday was largely inspired by How to Measure Anything, my new favorite book which is really going to make a scientist out of me and helped me understand the distinction of mesaurement and how it is truly what science is: reduction in uncertainty.

As the zine says (quoting someone), the idea is to immerse myself if brilliant thoughts get pickled by all these ideas, which will in turn lead me to having my own ideas.

Ariculating Crusade

I think here’s what’s profound about the ideas I had yesterday and today:

0) Tools, or technology, includes ideas, ananlogies, physical machines, virtual software. Anything that allows someone to do or think things, either at all or easier, than without the tool.

1) Humans subsume our tools into ourselves, becoming what we were before plus our new tool. The result is a cohesive whole. Removing the tool reduces the human to what they were before the tool, akin to removing a person’s arms.

2) We know a great deal about how the mind works, how our bodies work, how emotions and happiness works, as well as what doesn’t work. We can take all of this knowledge and bring it to bear on the problem of desigining proper tools for humans.

Pause! How does this relate to programming language tools? Well programming langauges are tools for designing tools. Wow. Has there ever been such a tool? Ok, well writing is a tool for desigining tools. The notion of tool is a tool. Ok, so there are plenty. Programming is a tool for desigining tools that can also desigin itself. That’s pretty neat: you can’t make a pencil with a pencil. You can’t make a typewritter with a typewritter. But you can make software tools with software tools.

However it doesn’t feel like the bootstrapibility of programming languages is why I’m so passionate about improving programming tools. Let’s flip the question on its head: am I more passionate about building better tools for programming than, say, science? Or better dinner table conversations? Or more logical thinking? Nope. I’m really excited about each of those problems. Maybe the dinner table one a bit less emotionally but not that much less. The only reason I was so excited about programming tools was that 1) they were problems I had, 2) they were problems my students had, 3) I knew how to code and would have fun solving them. I’m really excited about all tools for thought and how to really embed them inside of people so that people can be augmented, not just be augmented.

Wait is that my crusade? Be augmented. The metaphor is that we are already the bionic man. We already have technology in our brains. We might as well optimize this software as best we can. And make the technology outside our brains optimal as well because that technology exists inside our brains too, just not phsyically. The metaphor for that is 1) my arm isn’t “inside my body”, but it’s clearly me and 2) same goes for my clothes.

Rest of today

I’m going to go workout with Sarah at a barre class now and then grab lunch. The idea this afternoon is to try my hand at another draft of my plan. I think I’ve got a good head on my shoulders about it this time.

However, I think I’ll probably want to come back to it after I finish the future authoring and get through my Bret Victor deep dive. Really, my plan seems like it might be done in time for the new year.

Read Dynamicland Zine (& merge commit)

11/30/17 Thu 3:49 PM

As you can tell by reading my notes, I was blown away by the Dynamicland zine.

Things on my mind

Markdown headers in commit messages

This is important so that I can link to content via its anchor tag. (Yes this currently doesn’t work because this content is currently not rendered as in the github commits page for this repo. I will need to do that at some point soon-ish.)

This was bothering me so much that I solved it right now. It’s as simple as git commit --cleanup=verbatim and then just deleting everything but the message. Closing https://github.com/stevekrouse/futureofcoding.org/issues/62.

Next steps

It’s becomming clearer that my next steps revolve around Bret Victor and Dynamicland. At the very least I need to spend a few hours there, but I could see it being weeks, months or even a year or two.

This week I worked on:

1) brainstorm “essay about essays” 2) brainstorm “learn to code” essay 3) read and reflect on zine 4) reflect on goals and work on long-term plan (tomorrow)

This was a really great week. However, I’m now seeing my work on the “learn to code” essay as potentially premature. Or not premature, but not quite as urgent as I thought. It’s not like I’m going to forget my hardwon insights from The Coding Space. While I could write something now, I am only going to learn more about these topics as time goes on. And I can always come back to teaching if I need to remember things for the essay.

The “essay about essays” project is also a bit random. However, if Nicky Case would collaborate with me on it, I would drop all my other projects and jump at that chance.

However, if left to my own devices, it feels like its time for a Bret Victor deep dive, much like the Alan Kay deep dive that I did a few months back. (You can read about it in my old journal.) Like my Alan Kay deep dive, this one will likely also take approximately two weeks (12/04/17-12/15/17). Then I go home for three weeks (12/18/17-1/4/18) for the holidays. I might do some (no more than 20 hours) work the week of 12/18/17.

Then it’s time for a visit to Dynamicland! https://twitter.com/mandy3284/status/936284579333156864

I’ll probably go in early Jan, but it depends on when they want me I guess. I’d love to stay for a week or two and work out of the space every day, but I’d be happy to go for even a single afternoon.

All this said, while I have set aside all day tomorrow to work on my goals and my plan, I may cut that short if it doesn’t feel productive to get a head start on my new priority: the Bret Victor deep dive!

Back from sickness and vacation

11/28/17 Tue 10:59 AM

The past two weeks didn’t go as planned. If you’re following this journal, you’ll notice that I haven’t made any entires or commits for two weeks. This was mostly because I was still(!) feeling sick. Finally I was diagnosed with strep throat, and am feeling a lot better today. Tomorrow is my last dose of antibiotics so hopefully I’ll get back to running tomorrow or the day after.

Note: the entry prior to this one is fairly defeated in tone. This is because (1) I was unexpectedly starting to feel sick (again) and didn’t want to believe it, and (2) I was trying to get too much done in the time allotted. A recipe for defeatedness. I’m feeling much better about things now. Plenty of things to do but one step at a time. Plenty of time to address them all. Most important ones first.

Despite what it says in my plan at the moment, my next step will not be creating a Patreon. This is because (1) the value accrued from having a Patreon up before creating my content probably isn’t that high (look at how Vi Hart raised $6k in just a few days on her reputation), (2) it takes a while to get a strong following on a Patreon so the money wouldn’t mean much, (3) it’s a distraction from focusing on the work the will actually help move me forward at this juncture (planning, reading, writing).

I’m very excited about a potential upcomming collaboration with Nicky Case. On our phone call a few weeks back, I asked him for advice on writing essays and he outline his thoughts in what will hopefully be an essay he and I collab on. That sounds like a lot of fun! It would be great to have a small win under my belt. Despite it likely not being the absolute highest priority right now, it’s in the right direction. In other words, even though my Work Plan isn’t quite done, I still have a pretty strong feeling that this small detour would move me closer to accomplishing it. As I told Nicky, I have ~20 hours this week to work on the essay. But really there’s no rush. I can work on other things this week and come back to that next week.

Another thing on my mind is the unbreakable-links project. This project has taken much longer than expected. Just another opportunity for me to improve my currently highly inaccurate planning skills. The short-term solution is quite reasonable: whenever I want to move or delete a file in this directory, I simply have to think through what will happen to all prior links to that page. I do this well with the now deprecated /journal page.

Ok, so now let me think about my priorities:

  • Write 3 different outlines for the “essay about essays” to send to Nicky Case
  • Publish the now-very-late podcast with Emmanuel from bubble
  • Spend time writing about my goals for this project
  • Deep dive on Bret, read the Zine, send him an email
  • Write 3 outlines about learning/teaching to code (and learning in general)
  • Continue writing FoC plan
  • Schedule meetings with key people (Aidan, Stefan, Samuel)
  • Migrate other blogs from Trello (including AT essay outline)
  • Reach out to guest or two for next week on the podcast

Ok, these are all top priorities that need to happen in the next week or so. The order I do them in doesn’t matter much. Let’s go ahead and put them on my calendar in blocks, so I can visualize what I can get done and move them around as needed.

This is what it looks like now:

screenshot 2017-11-28 at 10 52 36 am

I’m feeling happy and aligned with this. I am now noticing that this would be in contradiction with what I told Casey, that I have ~20 hours for this project. Depending on how our conversation goes, I can always bump one of these blocks to next week no problem and manufacture 20 hours here. However this is the plan if he doesn’t want to work on this this week.

You may have noticed that I’m more structured today than usual. This is (1) because I have not been regular about my entries the past few weeks and am feeling a bit adrift, and (2) I fell into a Jordan Peterson YouTube hole last night and he says some pretty straightforward things about happiness, including that you need structure. The first question he asks someone who’s depressed is, “do you have a job?” If the answer is no, then his answer is get one, even if it’s not perfect. It will set you up for success. So while I don’t want to follow the letter of his advice, I do want to add a little more structure to my life to stave off any kind of emotional turmoil from working alone and jobless.

Why is my plan so ugly?

11/13/17 Mon 6:08 PM

I was hoping to publish my work plan by the end of day today but I don’t like it. My thoughts are all over the place. I don’t like the summary of steps at the end. It needs more work than I can do right now. Let’s not rush.

As crazy as it sounds, I think I want to create a new work plan from scratch yet again. Hopefully it will be the last time. In particular I want to think through the steps of the plan and the timeline.

I’ll also be working on the content for my Patreon in the next few days. I expect that to launch in the next few weeks.

Finally, I am starting to rethink the homepage design. Maybe I’ll add some photos. Maybe I’ll feature certain content. I could think about the “user flow” as opposed to simply listing all content by date.

Done (for now) with plan (I think)

11/10/17 Fri 4:40 PM

I know the title of this commit doesn’t inspire confidence but I think this plan is in a good place. Good enough for me to move on to step 1 of it at least. I’m sure I’ll be back here, rethinking things soon enough.

  • It feels like every time I come back to working on this plan, I delete everything and start over again. That’s not neccesarily a bad thing.

  • It’s such a bummer to me that I have to write these journal thoughts somewhere random and then copy and paste them into the commit message at the end of my work even though I’m now writing them before I get started. Why can’t the commit have a home before you finish the commit?! (Brainflash! I should’ve just commited the above thoughts to the repo without any changes this morning!)

  • Version control is definitely a topic I want to think about more. Really “version control” isn’t the write word for it. It’s more “iterating on software” or “the software workflow”. Managing versions of software is a different problem. The elements of change guy is really the only one I know who’s really thinking about this in a thoughtful way.

  • I’m not sure where my fustration with this plan is coming from: 1) my lack of progress on it the last few weeks because of my sickness and taking too many meetings, or 2) not having enough data to make a good decision here.

added unbreakable-links repo inside futureofcoding.org

11/08/17 Wed 8:45 PM

update unbreakable-links

11/08/17 Wed 8:40 PM

added unbreakable-links, simply ?version=

11/08/17 Wed 8:30 PM

Created new outline for Future of Coding Plan

11/03/17 Fri 7:20 PM

Don’t have time now to explain. It’s a mess in there. It begins with the things I need to do next on this project. Then it’s an outline. Hope to clean it up soon!

recovering from a sore throat

10/24/17 Tue 12:44 PM

I came down with a sore throat this weekend, which was pretty bad yesterday and mostly better today. Yesterday I was planning to do my research recap, meet with Yair from Lamdu and record an episode with him, and go to the Future of Programming meeting. Unfortunately, I was able to do none of that, but I did find the energy to work on https://github.com/stevekrouse/unbreakable-links which is both important to work on and a very fun project for me.

Today I’m feeling a lot better, but I still don’t want to push myself, especially because I want to conserve my energy for the MoMath fundraiser that I was invited to by Pete Muller when I bumped into him at Springsteen on Broadway and he heard that I’m a Mitch Resnick fan, and that he’ll be there tonight! I’ll have to make sure to finish his book in the next few hours…

As far as my main focus, my #1 priority these days is my Planning Series, which starts with “Life Plan”, then “World Plan”, and finally “Future of Coding Plan”. The first two will live on stevekrouse.com and the third will live here, probably on futureofocoding.org/about or futureofcoding.org/plan.

Just Plans

As you may notice, I have decided to stop referring to these plans as “master plans” for a few reasons: 1) “master” is a word with strange slavery connotations (it also makes me uncomfortable to have “master” branches in git but one problem at a time), and 2) it makes me feel less egotistical to have “plans” as opposed to “master plans.”

where I've been

10/19/17 Thu 11:01 AM

Over the last few days, I haven’t been pushing nearly as much to this as I used to for two reasons:

  1. I am working on unbreakable-links which will allow me to more freely edit the structure of the site, which is key because I need to change it.

  2. I am master planning. You can read my life master plan here https://docs.google.com/document/d/1tycCeK3FbOVqiz6xcePqr1iE0QTfsqpEgn4XUsXfuRM/edit

Working on my life master plan...

10/17/17 Tue 10:50 AM

I feel bad for neglecting this site for the past few days. I’ve been working hard on my master plan for my life and I’ll be back here shortly to continue working on my master plan for this project!

Continued developing master plan

10/06/17 Fri 12:24 PM

I’ve been making a lot of progress in the past few days, thinking about this project at a high level. I made a lot of progress in the shower this morning:

image

There are a few next steps:

  1. Articulate my prototype ideas for StreamSheets, Scratch or WoofJS FRP (and come up with a name for this), generic GUI for langauges, and more if I have them.

https://github.com/stevekrouse/futureofcoding.org/issues/54 https://github.com/stevekrouse/futureofcoding.org/issues/55

  1. Spell out my design principles.

https://github.com/stevekrouse/futureofcoding.org/issues/9

  1. Send my master plan around to friends.

  2. Consider the future organization of the website and if now’s a good time to go for it. https://github.com/stevekrouse/futureofcoding.org/issues/53

testing to see what long commit messages look like

10/06/17 Fri 8:20 AM

Can you see this message?

How about this link?

How about this header?

Merge pull request 48 from stevekrouse/episode-13

10/03/17 Tue 9:38 AM

added episode 13, waiting for lauch date