Inklings: a tumblelog

Google Translator: The Universal Language

Interesting this. I’d a discussion with my mother around Christmas time on the topic of machine translation (how it came up, I don’t know, except that we’d all been down in the pub earlier). I didn’t think it was really feasable, given that it would require too much context to work out exactly how to do the translation. Her idea (I’d better point out that she’s knows next to nothing about computing) was that all you needed was some big corpus that the machine could analyse to get the necessary patterns, and that it’d be trivial after that. And what do you know but that’s exactly what Google went and did.

How The Kernel Development Process Works

Mercurial Distributed SCM

Must figure how how I found out about this.

Shoot Crazy Frog

A varient on the Yeti game. Now, if only it was possible to shoot all those idiots using it as a ring tone…

15 Answers to Creationist Nonsense


A rather neat Forth-inspired alternative to XML.


The parser generator used for SQLite. I’ve heard it’s good.


A lexer. Not as complete as flex, but much faster.

strlcpy and strlcat - consistent, safe, string copy and concatenation.

Drip: IE Leak Detector


Clean Folder Tree Lists

Just like in Windows Explorer. If this doesn’t show up properly for you, get yourself a real browser.

10 Bad Project Warning Signs

Many of these signs are just as pertainent to small software companies as design consultancies.

Google Sitemap Protocol


Command Prompt Shortcut

Basically what the “Open Command Window Here” Power Toy does with just a bit of registry fiddling.

Why smart people defend bad ideas

Why 'Enterprise' Development is Hard


Allows you to remove DRM from music bought on iTunes.

Attracting Developers to Your Platform


An implementation of Wolf 3D on the Doom engine.

Lexical Analysis, Python-style

Edit in Place with JavaScript and CSS

Transparent PNG Generator

Implementing REST Web Services: Best Practices and Guidelines

Resource-oriented vs. activity-oriented Web services: A quick look at the relationship of REST-style and SOAP-style Web services

Continuation Implementation

From footnotes to sidenotes

Wizball shrine

One of the best games ever.

XML Pull Parsing

Internet Explorer To Mozilla Migration Guide


Bram Cohen’s SCM tool.


Rails for PHP, more or less.

Let a Thousand Reactors Bloom

Explosive growth has made the People’s Republic of China the most power-hungry nation on earth. Get ready for the mass-produced, meltdown-proof future of nuclear energy.

Pebble bed reactors are, to put it mildly, interesting.


Ogre 3D

An Open Source 3D graphics engine.

Notemaking Methods

The Wintermute Engine

An engine for creating point-and-click games. Free, but commercial development with it requires a commmercial licence.

Bidirectional fold and scan


A web-based CLI! How cool!

STunnel: A Universal SSL Wrapper

Cross platform, but requires OpenSSL or SLLeay.

Flow, Stuckness, and Interruptions

The Free Software Litmus Test

OOP without inheritance

Interfaces and Inner Classes

It seems it’s legal to embed an inner class within an interface in Java. How odd. Is this at all useful?

Explore Here

Ever been doing something on the command line in Windows and wanted to open an explorer window of the directory you’re in? Try typing ‘start .’. Yup, that’s start-dot. So obvious, and yet so well hidden!


A Windows calendaring/todo list app. I’m told it’s quite nice.

Live Backups of MySQL Using Replication

Pintsize in Speedos!

It’s teh rawk! :-)

Backtracking, Interleaving, and Terminating Monad Transformers

My brain, he is melting!

Getting started with ColdFusion and Firebird

I want to get our products at DC working with Firebird as currently those that depend on a DBMS only support MySQL and MSSQL. Currently we can only sell them if the end user has a copy of the DBMS, or if we purchase a commercial license (in the case of MySQL). If we used Firebird, we wouldn’t have this problem. Has good information on hooking up any JDBC drivers up so CF can use them.


A database admin tool for Firebird.

Starbucks Does Not Use Two-Phase Commit

Patent absurdity

Excellent screed against the forthcoming EU patents directive by RMS for the layperson. For those who don’t know, when it went to committee level, any protections against software patenting were castrated.

A Proposal for Secure Storage of Credit Card Data

Strong Language

Engineers, scientists, and military officers often turn out good prose. Their sentences may not always be limpid, lyrical or arresting, but as writers they are capable of a clarity and precision that academics and marketers often can’t or won’t match. Their work demands it. When a software engineer writes vague instructions, her program breaks. When a scientist notes observations imprecisely, her experiment suffers. When a Green Beret commander gives a rambling order, his guys are put at risk.

Janino - an embedded Java compiler



And this article.

Video for the Interpol song "Evil".

This rocks. I like Charlie White’s photographic work anyway, so it’s kind of inevitable that I’m going to like a video he did for a band I like too.

The Firebird Book: A Reference for Database Developers (Amazon)


Yet another Firebird console.


And yet another Firebird console.

Links to essays in Best Software Writing I

Why I Am Not A Christian

by Bertrand Russell

Behaviour is the missing link for your ajax apps.

Some rather nifty code that allows you to specify behaviours on elements using CSS selectors.

Online English-Irish Dictionary

Model-Glue FAQ

Tiered Events with Model-Glue

Javascript Diff Algorithm

An implementation of the algorithm described in this paper.

Rich Text Spell Checker

Dan sent this to me. Most cool.

Python Paste

A webapp framework.