I was in rehearsal today, doodling away second oboe for Saint Saens' Organ Symphony for the nth time, and it occurred to me: I've listened to and played this piece of music enough times to know the full overall flow as well as a good chunk of the orchestral parts, not just mine. So when […]
Last time I did an Inessential guide to data-accessor and everyone told me, "You should use fclabels instead!" So here's the partner guide, the inessential guide to fclabels. Like data-accessor the goal is to make record access and editing not suck. However, it gives you some more useful abstractions. It uses Template Haskell on top […]
Tagline: Assertions considered not ideal. I think automated tests are great. I used two particular flavors of test, the unit test and the integration test, extensively in HTML Purifier and they're the only reason why I feel comfortable making changes to code that I first wrote in High School. The automated tests let me hack […]
The bag of programming tricks that has served us so well for the last 50 years is the wrong way to think going forward and must be thrown out. Last week, Guy Steele came in and did a guest lecture "The Future is Parallel: What's a Programmer to Do?" for my advanced symbolic class (6.945). […]
I recently some did some benchmarking of persistent data structures in mit-scheme for my UROP. There were a few questions we were interested in: For what association sizes does a fancier data structure beat out your plain old association list? What is the price of persistence? That is, how many times slower are persistent data […]
In today's world of social news aggregation websites, ala Reddit, Digg, Slashdot, it is rare for the sole dialog between an author and a reader to take place on a private channel or on one's website. I discovered this rather bluntly when I found that a document I had written had amassed a number of […]
Conductor and violinist Gustavo Dudamel will be visiting MIT today to accept the Eugene McDermott Award in the Arts. Part of the awards ceremony will include a session with Dudamel conducting the MIT Symphony Orchestra; I'll be on stage playing Oboe and English Horn on Rimsky Korsakov and Mozart. Our regular conductor (Adam Boyles) has […]
data-accessor is a package that makes records not suck. Instead of this code: newRecord = record {field = newVal} You can write this: newRecord = field ^= newVal $ record In particular, (field ^= newVal) is now a value, not a bit of extra syntax, that you can treat as a first-class citizen. I came […]
Earlier in January, I blogged some first impressions about the VX-8R. It's now three months later, and I've used my radio on some more extensive field tests. I'm considering selling my VX-8R for a 7R, for the following reasons: I generally need five hours of receive with medium transmission. I only get about 3.5 hours […]
Two people have asked me how drew the diagrams for my previous post You Could Have Invented Zippers, and I figured I'd share it with a little more elaboration to the world, since it's certainly been a bit of experimentation before I found a way that worked for me. Diagramming software for Linux sucks. Those […]