The essays I did and didn’t write

impeder insists

I’m not sure I’d sit in front of a computer all day if it weren’t for Paul Graham’s essays. I’ve tried my hand at writing prose several times, but find that I channel his style too strongly. Everything comes out stiff. And I’m not sure I have the zest for prose that I used to have for prosetry. I say things out loud before I write them.

Here’s a list of things I’ve tried to write about in the past or at least have daydreamed of writing about:

  • The Next OS I did write a rough draft of this essay. I also sent it out to people, mostly Brown CS grads and smart-sounding people from news.yc. The premise: the next major OS should be nothing but a browser with local storage capabilities. Javascript interpreters have to beef up their security. We have to close the distance between the interpreter and the metal. After much criticism, I think I overplayed my hand. The next major browser should perform orders of magnitude better than current browsers. Watching Firefox freeze up when my wife clicks a link convinces me that we may have to tweak the OS to get the responsiveness I envision. Local storage and computation permits hybrid online/offline applications. I want it.
  • Software Inspectability When you build software, you want to tweak it while it’s running. At least, some people do. Hence the power of Lisp, Smalltalk, and any other language with a REPL that lets you change things on the fly. If you haven’t programmed in a language implementation that has a REPL, you don’t know what you’re missing. Every project I’ve been on reaches a point where you need to examine and change running processes, and the lack of an ability to do so leads to all sorts of pathologies: verbose log files, meetings about what to change, getters and setters for statistics, Spring, etc. If you change running code all the time, you lose the institutionalized fear of the unknown. If your language doesn’t have a REPL, you end up building piecemeal parts of one. The more malleable software is, the happier you’ll be — you can see your changes right away. The more static the process is, or the greater the distance between changing something and seeing the result, the more timid you become.
  • Pragmatism I used to hate discussions in high school English. I’d sit in the corner and not say a word. It wasn’t until I aged a bit that I realized why: the arguments that English classes teach you to make don’t hold water. You present an array of evidence, a list of quotes that support your thesis, and hope that pile convinces the reader. You spend a lot of time assigning meaning to sentences that you didn’t write. This approach doesn’t work in the real world. It doesn’t admit tradeoffs, incomplete information, or nuance. It assigns purpose where they might not be any. The world we live in appears to be more mundane and complex than we like to think. We’re surrounded by emergent behavior and evolution, not neat narrative arcs.