« Back

Week 1: Comparisons

Week 1 of Hacker School has come and gone. My commute to the space in SoHo is nearly identical to my commute to Scholastic, my first job.

Now it is DeKalb L > Union Square > Canal St.; then it was Bedford L > Union Square > Prince. Something about going over the same grounds again makes me extra nostalgic, tallying up what has changed and what hasn’t in the last 15 (!) years.

Then I was going to be a writer; now I am into programming languages and making code. Very different and yet not so: both are all internal logic, structure, elegance, and fundamentally about making a thing that wasn’t there before.

Externally Soho has changed very little; a few shops have closed but my favorite udon place is still there. Internally I have changed very much: the last few years have done a lot to help me feel capable of making all the things I want, particularly after SFPC.

And of course, comparisons to SFPC can only be natural. The most obvious difference is of course size: unlike the 17-person group at SFPC, there are somewhere between 40 and 60 people at Hacker School, comprising the Winter ’15 batch, who started in January, and my batch, Spring 1. This means things are way more crowded and, since it’s all pretty self-directed, I actually talk to people much less.

This is compounded by my headphone dependency: when there are a lot of people around I need to make my own little headphone world to get things done, but at the same time I am not totally averse to being interrupted and chatting all the time, just … sometimes. Mostly, I wish I had a good, solid version of Spiny up and working: that way I could have headpone world and still let people know when to come talk. Especially since the few folks who have been brave enough to interrupt me have been awesome to talk to. So I think I will still need to experiment with balancing focus and fun.

More practically, what did I get done last week?

  • Read the first half of Joy of Clojure.
    Learning Clojure(script) is one of my three primary goals for the next three months. I love the way writing it forces me to think differently than writing Javascript does: it expands my capabilities on a superficial level, of course, and it also makes possible a deeper understanding of Javascript by opening up a new aspect. At the same time, though, I still have dynamic typing and the freedom to sketch that entails.
  • Rewrote Trees Please to allow nested scoping.
    I wasn’t going to do anything else on Trees Please, the first little half-assed LISP interpreter I finished over the holidays, but facilitator Mary Rose Cook, when I came to ask about how to make things more functional, pushed me to fix scoping first. And I’m glad she did: making nested scoping possible was difficult and involved rewrites all the way down to the grammar, but now I have a much better idea of the kind of structure I will need for Data Monster (more on this when it is time!).
  • Got my Clojurescript dev environment set up with Figwheel.
    Friday I headed over to Kitchen Table Coders, where Ramsey and David Nolen were on hand to make suggestions about the environment and show me cool new shit. I chose Figwheel since the REPL runs in the browser and it has great documentation and templates to make getting started pretty simple. Only warning: Apple has made updating Java terribly hard and it is necessary to Leiningen and Figwheel going. But that was the only snag. And then we all got to sit around and talk about how we love the sketchy feeling of dynamic languages and I was reminded why art-tech people are my people.
  • Read Out of the Tarpit for the Future of Programming research group / seminar.
    Overall this paper is interesting, though I do always find myself asking the meta-questions. The paper solves a narrowly constrained problem that centers around the notion that software is for making large projects and the people who will continue to make them in the future are the same who make them now. I admire the solution they propose in a narrow way, but socially am not sure this is where the “future” should be coming from. Or at least I am interested in finding out who everyone else in the Future of Programming is futuring for.

This coming week I am excited to:

  • do more Clojurescript, perhaps the Clojure for the Brave and True tutorial and then rewriting my little color matching game,
  • work on making the AST code more functional so I can start designing Data Monster, the main project I came to pursue,
  • continue with the Future of Programming, where we will be discussing out of the Tarpit and doing our own blue-sky theorizing on new approaches.

I told myself I would start Data Monster itself the third week of school, and I’m gonna stick to it.

Famous last words.