Rails, what were you thinking? You went and wrote your own ridiculous JSON serializer in pure Ruby, when a perfectly good C-extension gem already does the job 20 times faster. What’s worse, you gave your to_json method (which clobbers every innocent object it can get its grubby little hands on) a completely incompatible method signature from the standard gem version. You just can’t mix the two, which is ALL KINDS OF FUN for those of us who need to push more than 10 reqs/sec.

Then there’s awesome behavior like this:

<cr:code lang=“ruby”> puts {:rails => /fail/x}.to_json #=> {“rails” => /fail/x} </cr:code>

Continue reading (146 words)

Moon

I love hard science fiction. Actually all science fiction–Grace and I bonded over our love of the ridiculously cheesy Sarah Connor Chronicles this past year–but I remain fascinated by the darkened, measured futurism of Clarke and Asimov. I remember spending hours pouring over my dad’s copies of 2001, Rendezvous with Rama, The Caves of Steel and Ringworld. Phrases from these books formed the literary substructure for my whole life–and there’s something about the phrasing of those books, and the science fiction movies from the late seventies to early eighties, which remains poignant. The last survivor of a far-orbit spacecraft punctured by micrometeoroids, in the long months until rescue, turning as all listeners do, to Bach.

That’s why I enjoyed Moon so much. One man, serving out a three-year contract on a lunar mining facility, alone. No one to talk with save recorded messages from his wife and newly born daughter, and the company of a vapid, invariably rational finite-state automaton. If you haven’t seen the film, I strongly recommend it. It is best, however, to go in as blind as possible.

The film is visually astounding, reveling in the early-80s glory of space engineering. Hard bulkheads, rounded-corner insignia for which the interpretation must be immediately obvious to trained astronauts. There’s the slow drama of the moon itself, with massive harvesters stripping the surface and casting the tailings slowly behind. The modelwork is exquisite, enhanced by careful VFX, and retains the feeling of 2001’s massive spaceborne constructions. Even the Eurostile typography dates the film in a strange way–simultaneously classic and contemporary.

Continue reading (1119 words)

My life recently has been an object lesson in extreme deviations from the norm. I got my teeth knocked out in broomball, but also landed an outstanding job in an arguably abominable economy where most of my peers have been struggling to find work and make ends meet. I’m now a software engineer at Vodpod, a web site oriented towards video aggregation and publishing. I love what I do, but how I got the job in the first place is also an interesting story.

Carleton College just started this new program called Engagement Wanted. As a graduating senior, you write a short “elevator speech” and post it on their web site. Here’s mine, in its entirety:

Looking for a year-long job while I apply to physics grad school. Physics research would be great, but I also have six years experience in IT, ops, and web development. Photographer, graphic designer, *nix admin, network guy, and open source software developer. If you know anyone who's hiring (especially using Ruby), I'd love to hear from you!

Continue reading (387 words)

I recently got a MacBook for work, and thought, “Hey, here’s a chance to finally stop mucking about with all the inconvenient things about Linux! Flash won’t be broken half the time, I can use things like VMWare Fusion and Adobe Lightroom… it’ll be great!” So I installed 10.4, and started trying to get some work done. Here’s my thoughts for that day.

Bad stuff

Spaces is a total joke. Every time you open an application it switches workspaces to wherever the application was last. You can enter spaces to drag apps around, but that means that if you want, say, a new firefox window on the current workspace, you need to switch to another workspace, fire up a new window, enter spaces, drag the new window back to the space you want, and exit spaces to the new workspace. It’s completely broken.

Continue reading (644 words)

Graduation

I just finished my last undergrad assignment—Hector’s E&M test. Got an A in the course, actually, which really surprised me. I’m now done with Carleton, and graduate in a week. I’ll be living in Madison for a few weeks, and then moving out to San Francisco for my new job. Should be exciting!

Also, I ported Cortex Reaver to Innate and Sequel 3.0.0. It works, but things are a bit shaky still.

Continue reading (72 words)