Digital Life

I’m fermenting two digital-camera inspired programming ideas at the moment. I saw a commercial program for digitizing whiteboards by photographing them and post-processing. The company charges something like $250, which is pretty steep for a 2d warp, some filtering and a bit of color quantization. So I’ve been working on my own version, written in ocaml.

The second idea is to do OCR using a digital camera instead of a scanner. Clearly, if it works then it’ll be cool because cameras are much faster than scanners. Normally, OCR programs only need to correct for rotation (if you scanned the page squint) before splitting the page up into characters and matching them. If you’re working from a photograph, you might have to correct for perspective and non-flat pages too. There’s very few open-source OCR packages out there, so that’ll be an impedement to getting started on this project.

Gee, just think of the digital shoplifting implications!

Better Future With Better Tools

When you realise that the contents of your ASCII text file is just one particular representation of the “Platonic Ideal” version of your code, you start wonder if it’s a good representation, or if it’s a load of rubbish.

I was lying on the grass in Holyrood Park this evening, having returned to my hobby of finding new ways to fall off mountain bikes (by cycling backwards, or doing no-handed trackstands). The first thing I noticed was that I usually think of the sky as “that thing above the horizon”. That’s very two dimensional of me. When you’re lying on your back, the sky becomes this big circle all around you. I then spent a while trying to change my point of view from “I’m lying on the ground and the sky is above me” to something more like “I’m stuck to the earth by gravity and ‘up’ and ‘down’ are just convenient notation rather than being the whole truth”. And then I got onto software engineering ..
Continue reading “Better Future With Better Tools”