Scribbling in the margins

Reference books, like “Java in a Nutshell” are so yesterday! We should be downloading secure digital content which augments our development environment. Most “nutshell”-like books are just annotated reference manuals some comments and examples in additional to the raw reference material. Well, I’d like to have my reference material hyperlinked and embedded in my development environment so it’s available in context, and therefore I’d also like the additional commentary to be embedded in my development environment too. Sun might supply the raw API documentation, and then third-parties like O’reilly could supply useful annotations. But let’s not have it on paper …

Now I want electronic margins to scribble in. Why is API documentation usually treated as read-only? I’m much more efficient when I’m using a highly personalized development environment. But most development environments won’t let me scribble on the API docs. It’s like the system assumes that the docs are the pinnacle of perfection and therefore don’t need to be altered. I can imagine that the margin notes from an experienced programmer would be worth their weight in gold.

Exploring the blogsphere

James Robertson blogs about the way which his RSS reader has changed the way he consumes information. I’ve found exactly the same thing over the past few months. I can’t remember who it was that described the blog world as “like usenet, without the boring people”.

I find that the best way to find new interesting blogs is to assume that “X thinks Y’s blog is good” is transitive. So, I end up collecting new RSS feeds because they’ve been linked from one of my current feeds, or because they’re on the blogroll of a feed. I don’t always stick with them in the long term though. So, it’d be nice if an RSS reader could package up this behaviour somehow. Maybe you’d have a “Suggest five new feeds for me” feature? But an automated system would require metadata on each blog page to direct you to the RSS feed for that blog. This would let a program chase links between blogs and get to the RSS easily. I don’t know if that meta-information exists today.

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!