Terrible Terrible C

Today I want to talk about a couple of the terrible things that C (or a compiler extension) allows you to do. First up: labels as values gcc has an extension that allows you to treat a label as a value. Why it has such a feature is something of an enigma to me, but… Continue reading Terrible Terrible C

Apple and the Platonic Calendar

Many words have been written recently about the realism in the design of Apple’s interfaces, and the benefit (or lack thereof) of skeuomorphisms. I would like to attempt a slightly different argument, and examine the philosophical ramifications of Apple’s design decisions. A word of caution though, I am neither an interface designer nor a philosopher,… Continue reading Apple and the Platonic Calendar

Biofuel Fermentation Controller

As a final project for our Microprocessors course, my friend Ben Havey and I built a fermentation controller out of an old fridge and an MSP430. You can find all the details over at his site.

Disabling CPU Frequency Scaling in Ubuntu

Recently I had to compile atlas in Ubuntu. Atlas does not like it when CPU frequency scaling is running because it screws up its timings. Ordinarily a simple change of the frequency governor (i.e. ‘cpufreq-set -g performance’) takes care of this and makes the processor run full-steam-ahead no matter what it’s doing, but Ubuntu seems to… Continue reading Disabling CPU Frequency Scaling in Ubuntu