Can we please fix twitter?

I love Twitter. At first I thought it was a fad. Fluff. Then I realized it puts you in a virtual room with a lot of people you respect and lets you follow their thought processes in real time. And as you try hard to tweet something worthwhile, every now and then you might actually […]

Linked list recursion: A smidge of functional programming in Ruby

Nathan Sanders’ recent post about functional programming in Ruby includes some advice about not trying to force too much mapping and folding into Ruby. Here’s how he expresses it: “Ruby! OOP! Remember?” But I couldn’t help myself. I spend a good deal of time these days in student mode, programming in scheme, and I really […]

Return from Hoseage

After being alerted to a lot of spam links hidden in my posts, I took action, including upgrading my Word Press software to version 2.5. Unfortunately, it turned out the spam hackers, using SQL injection to gain access to my blog’s database, had left it utterly, in the words of the Dreamhost support team, “hosed.” […]

Fragmentation of Ruby?

Peter Cooper at Ruby Inside posted recently on two developments in the Ruby world: a new iteration of an old Ruby interpreter and a new, Ruby-like language. He then muses on the possibility of fragmentation in the Ruby community: multiple interpreters, multiple implementations — will we all disperse into specializations out of preference or necessity? […]

A brief word on behalf of the humble ‘is’

I’ve been hesitant to write about this, because it’s a bit pedantic and has little to do with the avowed subjects of my weblog. But it’s an irritating itch I have to scratch. Please please, kind reader, do one thing for me. When you write a title, whether for your own blog or in an […]

Listening to Fear, or When to Build a More Abstract Mousetrap

For a few weeks now I’ve been meaning to write something in response to Lispy’s excellent post Meet the New Problem… Same as the old Problem, which took up the question of whether it’s worth it for a programmer to invest time in writing up a problem-specific language or other domain-specific construct. From my own […]

SICP: Up the abstraction ladder

I meant to post this a while back, but you know how it is… work, family, oral surgery, and where does the time go? Anyway, here are some notes I took from week 4 of our SICP adventure about higher-order procedures, Abelson’s dismissal of the “mythology” of software engineering, and the pleasures of building up […]

SICP: The Closure in the Grass

I was working my way through SICP last night when I came across a passage that at first struck me as curious, then interesting, then deeply interesting, and finally a little mind-blowing. Out of this little passage I got a little slice of enlightenment about first-order data, how Lisp can be rewritten in Lisp, domain-specific […]

Hating on One Laptop per Child

Thanks to raganwald and his syndicated deliciousness, I found Sunday’s Fake Steve Jobs post about the problems at One Laptop per Child. I’m a big fan of satire, and especially web-delivered timely articulate satire. But I was a bit confused by this one, and quite dismayed by the vitriol of the comments. Why are y’all […]

SICP Week Two: The Technical Details

As I wrote just the other day, our study group has encountered the first really meaty part of SICP. Thanks to the combination of lecture notes, the books, and the 20-year-old videos of G. J. Sussman counting his parentheses, I have come to a few interesting conclusions about writing algorithmic programs.