Songwriting and computer programming

Writing a song is a lot like writing a computer program. They both require clever management of loops and control flow. The simplest sheet music reads as a straightforward top-to-bottom list of instructions. You start on measure one and read through to the end sequentially. That’s fine unless the music is very repetitive, which most …

The desktop metaphor is, like, so five minutes ago

Update: this was written before I ever touched an iPhone or iPad. These devices are major improvements over the desktop metaphor GUIs I complain about below. When you grow up playing video games, like I did, the primitiveness of office software user interface design comes as a shock. The desktop metaphor was a brilliant stroke …

Be brave, go ahead and divide by zero

When you learned division in school, the teacher probably brushed off the issue of dividing by zero in one sentence: you can’t do it, moving on. You might feel like you got shortchanged by that explanation. Why not? What happens when you divide by zero?

The Minus World and the Blue Screen Of Death

When the computer crashes, it seems like it’s frozen. Actually, it’s still working as fast as usual. It only appears to be stuck because it isn’t responding to you. The computer is too busy to take input because it’s in a loop, executing the same short list of instructions over and over. Computers have become …

Brain vs computer: which is better?

Do computers think? Is the brain a computer? We use computers as metaphors for the brain and vice versa. Is the comparison apt? Brains and computers can imitate each other in limited ways. Deep down, how much similarity is there?

Inside the black box

Engineers describe a system whose input and output behavior are known and whose inner workings are otherwise mysterious as a black box. Bruno Latour describes the black box as: the way scientific and technical work is made invisible by its own success. When a machine runs efficiently, when a matter of fact is settled, one …

How transistors think

The parts of the computer that do the “thinking” are mostly made of little electronic switches called transistors. If you connect two wires to a transistor, you can use the voltage on one wire to control the voltage on the other. What’s especially handy for engineering purposes is that the presence or absence of a …