Inklings: a tumblelog

Weblocks - A Common Lisp web framework

Mocks and Stubs aren't Spies

The World's Most Toxic Value System

Discusses aspects of the world’s more despicable ‘honour’-based value systems.

The C2I2 (Customers, Collaborators; Implementations, Inventions) Hypothesis

Heuristic Weight Loss

UI Breakthrough: Command Line Interfaces

Don Norman thinks the likes of Launchy and Quicksilver demonstrate that CLIs are breathing back life into GUIs.

ZSFA: Rails is a Ghetto


DNA seen through the eyes of a coder

Best Freeware Games of 2007

Erlang-style concurrency with JavaScript 1.7

Undo commit in subversion

Haven’t used svn merge before, so I didn’t realise you could use it to do something like an uncommit. Mind, this isn’t and uncommit because the changes are still left in the repository.

Handbook of Applied Cryptography


A port of Lua to the Nintendo DS as a platform for writing games.

RPM commands, full list of rpms installed

I hate RPMs.

VideoTrace: Rapid interactive scene modelling from video

VideoTrace is a system for interactively generating realistic 3D models of objects from video–models that might be inserted into a video game, a simulation environment, or another video sequence. The user interacts with VideoTrace by tracing the shape of the object to be modelled over one or more frames of the video. By interpreting the sketch drawn by the user in light of 3D information obtained from computer vision techniques, a small number of simple 2D interactions can be used to generate a realistic 3D model. Each of the sketching operations in VideoTrace provides an intuitive and powerful means of modelling shape from video, and executes quickly enough to be used interactively. Immediate feedback allows the user to model rapidly those parts of the scene which are of interest and to the level of detail required. The combination of automated and manual reconstruction allows VideoTrace to model parts of the scene not visible, and to succeed in cases where purely automated approaches would fail.

The tech demo’s pretty cool.

Information on various prescription and non-prescription drugs available in Ireland. I was looking for Exputex (not feeling great today).

Never. Ever. Cargo-cult.

Yahoo!, Flickr, OpenID and Identity Projection

The Sorry State of Sound in Linux

Can ALSA please just die for all our sakes?

Praise the Lord and Pass the Dictionary!

A rather odd linguistic map of Europe made during the 18th century.

Infinite Certainty

A Python module for process daemonisation.

The Simple Truth

A parable concerning why simple conceptions of truth are usually just fine.

An Intuitive Explanation of Bayesian Reasoning

Good if you’re not alreay familiar with it, but I got somewhat impatient for the meat of the article.

Billy Martin's Technique for Managing his Manager

In a nutshell: do your best, but assume your disfunctional management will shaft you. tutorial and AFK seem to have a fair few similarities, which is a pleasant surprise.

eunuchs -- Missing manly parts of UNIX API for Python

If I recall, this is mainly for pre-2.5 versions of Python.

Varnish: Notes from the Architect

I have spent many years working on the FreeBSD kernel, and only rarely did I venture into userland programming, but when I had occasion to do so, I invariably found that people programmed like it was still 1975. […] Take Squid for instance, a 1975 program if I ever saw one: You tell it how much RAM it can use and how much disk it can use. It will then spend inordinate amounts of time keeping track of what HTTP objects are in RAM and which are on disk and it will move them forth and back depending on traffic patterns.

Why Crunch Mode Doesn't Work

101 Great Computer Programming Quotes

Some of these are definitely going into my quotes file.

Speaking of, "lying through their teeth..."

All that REST promises is that it’s simple. But remember, simple implies neither simplistic nor easy; it implies things like concise and parsimony of understanding.

Creating RPMs



Because I’m too lazy to write something to do this for me…

google-code-prettify: Full support for PHP 5

My patch to give it decent support for PHP.

GuruLabs RPM Guide (PDF)

Looks to be a nice wee reference.

AtomPubBase, An AtomPub client library for Python

Cystic Fibrosis

Apparrently it’s the most common hereditory disease in Ireland. I don’t know an awful lot about it mind, and after reading a short article in the newspaper concerning it, I though I should read up about it.

Parley - Python Actor Runtime Library

Python Versus Erlang for an MMOG

Candygram - An implementation of the Erlang concurrency primitives in Python

A simple message queue written in Python

Bayesian Rating - how to implement a weighted rating system

The 3 Levels of Programmers: The Good, The Bad, and the Lazy

Psychopaths in the software industry

Well Begun Is Half Done

On the value of making setting up development environments easy.

Documents vs. Objects

Whatever happened to code reviews?

Did I mention that I settled on Review Board to be our in-house code review system?

Twelve Virtues of Rationality

Comments on psychopaths in the software industry

Libtool Versioning

OpenSearch 1.1 Specification (Draft 3)

Why reinvent the wheel, after all.

RFC3284: The VCDIFF Generic Differencing and Compression Data Format

TED Talks: David Gallo: Underwater astonishments

This is just amazing. I never knew cuttlefish, squid, and other cephalopods were such great chameleons. You must watch this.

Nominet Domain Availability Checker: Instructions for Use


I spent a few minutes agog after seeing the demo movies for this. Think of a cross between Klax, Wipeout, and possibly Guitar Hero, and you’re still not even close. Take a look at Space Oddity and Mr. Blue Sky.

PHP Bug #42445 : fopen url wrapper doesn't handle chunked encoding

Not one of mine, but proof that the PHP devs are ‘tards.

C++ scoped static initialization is not thread-safe, on purpose!

20 issues of porting C++ code on the 64-bit platform

28 Practical Uses for Vinegar, Nature's Magic Cleanser

Libtask: a Coroutine Library for C and Unix

Bell Labs and CSP Threads

Five Whys

The five whys is a question asking method used to explore the cause/effect relationships underlying a particular problem. Ultimately, the goal of applying the 5 Whys method is to determine a root cause of a defect or problem. […] The technique was originally developed by Sakichi Toyoda and was later used within Toyota Motor Corporation during the evolution of their manufacturing methodologies. It is a critical component of problem solving training delivered as part of the induction into the Toyota Production System.


TRE is a lightweight, robust, and efficient POSIX compliant regexp matching library with some exciting features such as approximate (fuzzy) matching.

Look ma, no backtracking!

TRE for Erlang

About time Erlang had a decent regex engine!

The Five Essential Phone-Screen Questions

7 Powerful Steps to Overcoming Resistance and Actually Getting Stuff Done

Professional Engineers Ontario Code of Ethics

FreeBSD 6.3-RELEASE Announcement

Nice to see it’s out! There’s a few small things that make it worthwhile for me to upgrade, such as that the snd_hda driver is now part of the kernel, and ncurses has now been upgraded to 5.6, which supports wide characters (meaning I can uninstall the one in the ports and can now build finch).

The Free-Market Fairy

A good summary of why the free market doesn’t magically solve everything, and why that’s not necessarily a bad thing.