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.

SICP Week Two: The Experience

As week 2 comes to a close, I feel compelled to write something about the difference between orthodox computer science pedagogy, as embodied by SICP, and the approaches taken by books of the variety of “Teach Yourself X in Ten Minutes.” I’m writing about technical topics in another post. This post is devoted mostly to […]

SICP: Week One

We’re just getting started on the MIT OpenCourseWare course Structure and Interpretation of Computer Programs. I got a lot of responses from interested people, which is exciting. So far we haven’t encountered much worth chatting about, but I’m thinking the material’s difficulty is going to increase quickly. In the meantime, I’ve jotted down a few […]

unittest.js: Writing unit tests for Javascript

A while back I posted a long investigation of Scriptaculous’s unit testing framework, which is in the unittest.js file distributed with Scriptaculous. I’ve gotten around to writing some actual tests, so if you’d like to read about how it works, check out my little article about implementing unittest.