Inklings: a tumblelog


Inevitable, really.

An Unorthodox Approach to Database Design : The Coming of the Shard

I’ve heard of this technique being used, but repartitioning the shards and dealing with the nasty cases like joining across shards seems prohibitively difficult unless you get some real gains from it. Interesting nontheless.

Signing, encrypting, and decrypting Atom

There’s a project I’m working on which may or may not need to have the XML messages signed. This might turn out to be useful.

Scale rails from one box to three, four and five

Good ideas for scaling any webapp, really.

Thread Synchronization Mechanisms in Python

Topological sorting

The canonical application of topological sorting is in scheduling a sequence of jobs.

Weighted Graphs and the Minimum Spanning Tree

Simile Exhibit

Exhibit is a lightweight structured data publishing framework that lets you create web pages with support for sorting, filtering, and rich visualizations by writing only HTML and optionally some CSS and Javascript code.

Very nifty.

Which Way Is Up

A traditional and challenging 2D platformer game with a slight rotational twist. Help a mysterious big-eared salaryman named Guy find his keys in a labyrinth of dangers and bad dialogue.

Compiling (Lisp) queries without EVAL or COMPILE

URI Template

AFK’s URI routing code already uses a scheme almost identical to this (has done almost since the routing code was written). I’ll be augmenting it soon so that it can do templating as well as parsing.

How Ads Really Work: Superfans and Noobs

In summa, be very careful about where and when you add advertising to parts of your site.

26 Reasons What You Think is Right is Wrong

On cognitive bias.

Why IS NULL doesn?t always work in MySQL

Some Notes on Moving the Zone to Django (Work In Progress)

One important bit:

Inline images are stored as data URIs in the intermediate format (and usually also in the source documents), but since not all browsers support this format, the renderer replaces the data URIs with HTTP pointers to an image cache directory. To distinguish between images, their MD5 hash is used.

Noted for use later.

Steve Dekorte on Hierarchical Databases

Simpsonise Me

Undelete in Django

Nifty idea. I was considering something similar for an in-house project.

Code Like a Pythonista: Idiomatic Python

A Recipe for OpenID-Enabling Your Site

Useful VIM settings for working with Python

Irish Green Gathering

Heading to this next week.


Thinking of moving from svk over to this. Maybe.

Jesus and Mo: Sense


Validate Zip Code to (US) State

Now all I have to do is find a rough correspondence between the IEDR odd conception of UK counties and what the actual UK postcodes might be and I’m sorted!

List of ZIP Codes in the United States

Possibly a more reliable source.

Shortest Paths and Greedy Relaxation

It’s nice to brush up on my graph theory.

Test Automation Week: Fail Fast or Just Plain Fail

Great post.


Interesting project to resurrect Indoeuropean as an auxlang. Sure, it’s never going to work, but at least the idea’s nifty.

VIM for (PHP) Programmers

I’ve had this sitting on my work and home boxes for ages now, and I’m surprised I didn’t log it. Oh well, fixed!

Too Many Ninjas!

From tab clearage. It’s a flash game, and I haven’t got a chance to try it yet. Sounds like some old-school fun though.

jQuery for JavaScript programmers

Coding Horror: Discipline Makes Strong Developers

I think some people subordinate to me think that I can be a bit of a hardass about some things at times; this explains why.

Adventure: Crowther's original source code found; photos from inside the real Colossal Cave

Angkor was a city ahead of its time

A reminder that all civilisations, no matter how advanced, are doomed to failure without long-term thinking.

Kitten Surprise!! (how to break up a cat fight)

Too cute, I tells ya!

Lazy Function Definition Pattern

This could prove very useful to me in cleaning up some JS code of mine.

Mercurial on Sourceforge

Haven’t used it yet for my own project, but I’m really getting annoyed with how slow SVK is, so I really think I’m going moving over, so this might be useful.

Great Steve Yegge talk on marketing (and how Open Source is an awful brand)

Dan Deacon: Gig of the Year

Now, there’s a gig I’d love to have gone to. :-(

Designing Interfaces: Patterns for Effective Interaction Design

RELAX NG by Eric van der Vlist

Might be worth picking up a copy.

Holding a Program in One's Head

Your code is your understanding of the problem you’re exploring. So it’s only when you have your code in your head that you really understand the problem.

Great essay; read it if you’re a developer or manage developers.

IPC with Erlang

Parsing Atom with Erlang