Author Archives: Evan


un·be·known·sties | un·be·known·sti·er | un·be·known·stie·st noun A lack of aware­ness of cur­rent events, com­mon­ly used with “a case of”. “I had a real­ly bad case of the unbe­know­sties the oth­er day when I left my cell phone at home and could­n’t read the news.” “She must be the unbe­known­sti­est girl I know — she was­n’t even aware […]

Building School Seating Charts in Clojure and ClojureScript: Part 1

I recent­ly launched a lit­tle side-project web app, School Seating Charts, which makes it eas­i­er (and faster!) for teach­ers to build seat­ing charts for their class­rooms. The site is built entire­ly in Clojure and ClojureScript, which have been a plea­sure to work with. While writ­ing this post, I real­ized that, for bet­ter or worse, I have […]

Introducing Digbuild

I’d like to intro­duce Digbuild, an open-source game engine inspired by the excel­lent game Minecraft (and Infiniminer before it — that’s right, Minecraft is itself a clone). I’ve been work­ing on it on and off in my spare time for a few months now, and today I decid­ed that it’s ready to show to the […]

Boot a Kernel over Serial with U‑Boot and Kermit

I’m doing a lit­tle bit of work that involves fre­quent­ly rebuild­ing the Linux ker­nel and installing it on a head­less ARM board. The par­tic­u­lar ARM board I’m work­ing with has some ven­dor sup­port for flash­ing ker­nels, but it’s slow and clunky, and I have to run it inside a Windows XP VM. The ARM board […]

Telecommuting Has Benefits, Too

Recently I’ve run across a few arti­cles (on Hacker News and else­where) about the draw­backs of telecom­mut­ing. I agree that there are draw­backs, but I believe that they can be coun­ter­bal­anced by the ben­e­fits under the right cir­cum­stances. The Right Circumstances Not every per­son is cut out to telecom­mute, and not every job is suitable […]


hide-first-let­ter slop·ti·mize | slop·ti·mized | slop·ti·miz·ing verb To make a pro­gram run faster by decreas­ing the accu­ra­cy of its out­put. Examples of slop­ti­mize We slop­ti­mized the cal­cu­la­tions to use 32-bit floats instead of 64-bit dou­bles, and got a 20% speedup.

Please Don’t Request User Input in the Middle of a Lengthy Task

It’s hap­pened to every­one. You kick off a soft­ware installer, answer a few ques­tions about how you’d like things set up, click next and you’re pre­sent­ed with a long progress bar. “No prob­lem,” you think to your­self, “this is a good excuse to grab a cup­pa joe.” You leave the com­put­er to its busi­ness and […]

Introducing cppsh: A bash-Like Shell with C++ Syntax

It’s been a long time in the mak­ing, but I am proud to announce the first beta release of cppsh, the bash-like shell specif­i­cal­ly designed for those engi­neers who find them­selves most com­fort­able at the reins of a C++ com­pil­er. The best fea­tures from both bash and the C++ lan­guage come togeth­er in cppsh to […]

New Song — Codename Mystic

Here’s anoth­er song. I haven’t both­ered nam­ing it yet, so I’ll just release it under the code­name I’ve been using. The song again fea­tures Ableton’s Collision instru­ment for the bells in the begin­ning. It was part­ly inspired by the upbeat and airy sound of Aphex Twin’s Flim, which is one of my favorite tracks of […]

The BigBoxoCo Disco Party: Why Segmentation is Good

As the fresh­ly brewed cof­fee enters my mouth, I expe­ri­ence my first glimpse of con­scious­ness for the day. “Where am I?” I mut­ter, in bro­ken English. The gray walls around me slow­ly come into focus, lit by the flick­er­ing of a long-in-the-tooth flu­o­res­cent bulb. The top half of a man’s face appears over the top […]