Inklings: a tumblelog

OAuth Core 1.0

The final spec. To read.

Men's Scarf Tying Guide

Men's Scarves

Embed charts in webpages with one of our simplest APIs yet (Google Code Blog)

Nice! Isn’t REST great?

Google Chart API: Developer's Guide

Online version of the book "GNU Autoconf, Automake and Libtool"

Help Vampires

It's not subprime, it's negative amortization and ARMs

And the very same thing is about to happen in our little corner of the world. BTW, I believe an Adjustable Rate Mortgage in the US is equivalent to a Variable Rate Mortgage over here.


An image editor that appears well-suited to pixel art.


A bit like mutt recast in the image of GMail. Must take a look some time.

Write Your Tests First... Because Adding Them Later Sucks

Command Line Transformation Utility (msxsl.exe)

The msxsl.exe command line utility enables you to perform command line Extensible Stylesheet Language (XSL) transformations using the Microsoft XSL processor.

As Jeremy says, why isn’t this already bundled with the browser?

Django snippets: Authenticate against Active Directory

Useful reference even if you’re not using using Django or Python.

InfoQ: A Brief Introduction to REST

A nice clear introduction by Stefan Tilkov

Five point-plan to lose 30 lbs

Hmmm… considering I’m two stone overweight…


A fast, general-purpose, distributed, in-memory workqueue service.

Essentially a way to dole out work for other processes to asynchronously process on one or many machines.

Two HTTP Caching Extensions

Interesting. I can especially see ‘stale-if-error’ being useful in helping make sites much more resilient.

Amazon SimpleDB and CouchDB compared

It boils down to this: Given SimpleDB’s crappy RESTless interface, if you want to pay Amazon for grid computing, you might be better off running CouchDB on Amazon EC2.

Interview pet peeves for today

Been there alright!

The Maximum Subsequence Problem

I love wee analyses like this because, aside from the matter being written about, they teach an awful lot about problem solving. This is a good one.

Addressing the ORM problem [with] typed relational algebra

The waterfall trap for "agile" projects

Summary: Once iterations become increments, you’re screwed, and it’s a good idea to have actual deliverables at the end of each iteration.

Review Board

Review Board is a web-based tool designed to help projects and companies keep track of pending code changes and make code reviews much less painful and time-consuming. It is being developed for use in VMware, but is designed to be generic enough to use in any project. It currently has support to SVN, CVS, Perforce, and Mercurial repositories.

…which sound just about right for me. I’m looking for something to help us do code reviews in work, mainly because they’re good for learning and they’ll help improve code quality because there’s nothing better for having you do your best than having somebody else look at your work. Oh, and I don’t want to write my own code review app unless I really, really have to. That, after all, was the only reason I wrote GrassSnake: everything else sucked.


Another code review app. Sure, it’s not quite as pretty as Review Board, but it might be quite good. Worth a look.

Frameworks Exist for Conceptual Integrity

On the fundamentals of programming

Speeding up dateutil: Python's heapq module turns minutes into seconds

Eventually Consistent

Werner Vogels explains the logic between eventual consistency in SimpleDB.

Pouring water back into the flask

Against the misapplication and mistaken application of patterns, and in favour of the discovery of true fundamentals to act as the basis for proper abstraction.


A lightweight message queue written in Ruby.

Christina Ricci wallpapers


No monadic headaches: multi-core concurrency is easy in Haskell

This riffs a bit harsh on Erlang, but it’s a great read.

Erlang (a journey of discovery)

Catamorphisms in Haskell

Why Linguistic Abstraction is a Winning Strategy

Remember the interpreter pattern from GoF? You know, the one you could never wrap your head around so you promptly made the singleton pattern your favourite pattern evar? Well, it’s about the only truly useful one in there and here’s why. Keep that in mind when you read Stevey’s latest rant: Code’s Worst Enemy.

Using Unipath to Keep Things Portable

Now there’s a Python module I wish I knew about before now!

Macros: why they're evil

I disagree, at least in the case of Scheme-style hygienic macros, but this is a good read nontheless.


Wizball (Retrospec remake for Windows and MacOS)

I really wish I the source for this was available to I could compile it on FreeBSD…

Coding Horror: Size Is The Enemy

It’s always worth remembering that human beings have tinier brains than we think, and in spite (or because) we developers need to have superior short-term memories to do our job, we need to remember that we can only remember and understand so much at once.


Mancala is a family of board games played around the world, sometimes called sowing games or count and capture games, which comes from the general gameplay.


I use this as my OpenID provider.

Writing Testable Code Is About Managing Complexity

The one thing to look for in an interview

The Eames Philosophy

‘Design depends largely on constraints’: read.

peeve no. 252 is artless programming

How to build a chat application using Django and the Orbited comet server.

Interesting. Must read.

Hypermedia and REST

‘Hypermedia as the engine of application state’ is the most important REST constraint, and can’t really be ignored. Shame, seeing as the concept’s quite simple: use good contextual links between resources in your representations.

Bhutto assassinated at election rally

Oh, fuck! So, who thinks Pakistan’s going to get really ugly in the next six months?

Facebook Thrift - less horrific than SOAP

Sure, Thrift sucks less than other RPC mechanisms, but it’s still RPC, and therein lies the potential for difficulty.

If Damien says they’re good, they just might be. I’ll check them out when I need to get insurance or if I know somebody who’s looking for it.

SCons: A software construction tool.

Like the Autotools, but without their extreme suckiness.

Remember The Milk for Gmail

Remember The Milk for Gmail is a Firefox extension that allows you to manage your tasks in Gmail (complete, postpone, and edit tasks), add new tasks (and connect them with your emails, contacts, and Google Calendar events), automatically add tasks for starred messages or specific labels, and much more!

Hmmm… Worth a look maybe…

Using clones in Inkscape

A Coding War Story: What's Your Point?

Piston: Easy Vendor Branch Management

Piston is a utility that eases vendor branch management. This is similar to svn:externals, except you have a local copy of the files, which you can modify at will. As long as the changes are mergeable, you should have no problems.

Hacking on an open source project using bzr

An intelligent method of working with projects that use a VCS other than Bazaar-NG without the need for something like bzr-svn.