Categories
Blogging

Paris

In lieu of anything constructive about programming,I’d like to say that Paris is great and France has the nicest food in the world. I’m just back in Edinburgh after two weeks there, and tomorrow I fly down to start at Ergnosis.

Categories
Programming

A Brief Rhapsody on Art and Engineering

From microship.com: “It is essential, when designing a complex system, to spend some relaxed time fantasizing about what it will be like when it’s finished. After all, this is what drives the process of engineering: at some level between rigorous and fanciful, an image of the finished product must be held in the mind, savored, and examined from all sides. Only after this playful interlude (which, to a manager, may be disturbingly indistinguishable from unproductive wall-staring) can decomposition of the design into subsystems, tasks, and packaging make any sense.”

Categories
Programming

Powerswitching with IP

Power supplies which can be controlled via IP seem like a pretty sound idea for sysadmins who don’t want to get called out at 2am to reboot a server.

They’re pretty expensive though, which made me realise that they’re an ideal application for the uCsimm “linux on a tiny low power board”. The boards come pre-installed with Linux, and has builtin ethernet and 18 i/o lines. Add a few relays, install a secure webserver and, hey-presto, homebrew remote power control.

Categories
Programming

Harmonia

The Harmonia Project releases some code and the world blinks a bit.

I also stumbled over videos from the 2001 Dynamic Languages Wizards Series, including a panel on language design with Guy Steele and Paul Graham.

Categories
Blogging

Degree Confluence

The Degree Confluence Project collects photos and stories from each longitude/latitude intersection in the world. It is pointless but beautiful, like many of the best things in the world. This is the closest confluence to me. It’s in the middle of the water!

Edinburgh is warm and sunny. Fortunately, there are lots of parks nearby to laze around in. If the weather was like this all year round, I don’t think I’d do anything else. I was talking recently to a group of children who asked what I did for a job. I didn’t think they’d be interested in my usual “3d graphics for brain scanners” spiel, so I went for “I work in an office”. That was enough information to keep them happy, but I later realised how crushingly accurate it is. Why such madness! I remember, when I was young, wondering exactly what people did in offices all day. I think I decided it involved moving lots of bits of paper around. I could never figure out what “commuting” was either, except that it took a long time.

I have been learning the dvorak keyboard layout. I’m learning it for ergonomic reasons rather than speed. Several people I know have suffered from RSI and I don’t want to join them. I’m now trundling along at 15wpm, which is humbling compared to the 80wpm I can manage with qwerty. I can practically feel my synapses rewiring themselves. It’s every bit as painful as when I switched from “inverted mouse” to “normal” in Quake3.

A paper on High Dynamic Range images and other cool stuff got me interested in optics again. I must’ve slept through optics courses at Uni, because I never really got a handle on it at the time. I should’ve heeded my optician’s warning from years before – “don’t do optics!”. Anyhow, now that I have a digital camera I was sufficiently motivated to draw lots of diagrams and figure out stuff like “why does the apeture affect depth of field”. I feel enlightened now. Optics became easy once I started anthropomorphising photons. And, for some presumably unconnected reasons, the bees in my garden are acting very stoned and are staying still long enough for me to take decent photos of them.

I’ve also been flirting with designing a simple CPU. I understand low-level stuff like gates, flip-flops and timing diagrams. I also understand high-level stuff like ALUs, pipelining and machine code. I was curious to see if I could join those two worlds together to design my own simple CPU. I’m happy just to simulate it (this is what happens when I actually try to build stuff) and TkGate is the most useful tool which I’ve came across for that. Soon, I will have my own 4-bit CPU doing pointless arithmetic operations. Ahh, maybe I should just build a time machine and go back to 1980 again.