Inklings: a tumblelog

YouTube - Trusted Computing

Yup, some people definitely have an odd definition of what `trust’ is.

Native delimited continuations in (byte-code) OCaml

The Ahem font

The Ahem font was developed by Todd Fahrner to help test writers develop predictable tests.

Code Elegance, Code Balance

Flickr API Services New rings found around Uranus

Fossil Called Missing Link From Sea to Land Animals

Open-Closed Principle: IFormattable, IFormatProvider, ICustomFormatter

"Reinventing the intranet" by Jon Udell

What is Jon Udell smoking? I know there’s some good stuff in this article, but its so weighed down with barely intelligible crap such as “as we roll out SOAs that route well-formed messages through a fabric of intermediaries, it’ll get even easier” it’s rendered nigh unreadable. WTF?! Why is it that in his blog he writes clearly, but when it comes to his articles, his writing becomes laden in managerese?

Pretty-print .NET objects

Good man, Keith.


Quality With a Name

Awesome Rube Goldberg Machines

Ignore the first 1:30, which is just the end sequence of some anime show and the odd song-and-dance bit in the middle. The rest is pure goodness!

The Delphi Technique

Putfile - Christopher Walken Cowbell Soundboard Introducing mod_python

Mod_python - Apache/Python Integration

WindowsInstall - Mercurial

No Best Practices

Sometimes you come across an article that you wish you’d written yourself. This is one of those times. In it, James Bach tears to shreds one of the most singlularly irritating and untruthful notions bandied about in software development today: the concept of “best practices”. Read it.

"Padre Pio" by Warlords of Pez

1:30 of pantometal genius!

One Hundred Rules for NASA Project Managers

Authoritative Metadata

Stevey's Blog Rants: Software Needs Philosophers

Zend Developer Zone: Trick-Out Your Session Handler

Clearer than the PHP documentation on the subject, that’s for sure.

How to Squash Negative Thought Patterns

NASA: New and Improved Antimatter Spaceship for Mars Missions

Sam Ruby: Character Encoding and HTML Forms

Joel on Software - The Development Abstraction Layer

The dream.

A View from Elsewhere : The "Doh!" Moment

Another World: Remixed and updated for 2006

Hurray! And yes, I bought a copy!

Fitnesse and .NET - a basic tutorial

Toasty The Hedgehog

Aw! So cute!

YouTube - Aine Chambers - Podge & Rodge (18th April 2006)

I… don’t… know… what… to. say… :-)

freeSSHd - free SSH server

Subversion, WebDAV, and Apache HTTP Server 2.0 (PDF)

A clear guide to setting it all up, I currently use ra_svn on my own machine, but if it ever becomes necessary to use ra_dav, this’ll be useful.

Rolling Stone : The Worst President in History?

Write Yourself a Scheme (in Haskell) in 48 hours

Dance, Monkeys, Dance

A funny and truthful examination of the human condition.

Ham Sandwich - St Christopher Promo Video

Not a bad wee song at all.


An alternative to iTunes for Windows that isn’t a piece of crap.

One-Line JavaScript Memoization

Oliver Steel (the guy behind Laszlo) talks about memoisation, and links to my post on the subject. Hurray!


This is the home page of TagSoup, a SAX-compliant parser written in Java that, instead of parsing well-formed or valid XML, parses HTML as it is found in the wild: nasty and brutish, though quite often far from short. TagSoup is designed for people who have to process this stuff using some semblance of a rational application design. By providing a SAX interface, it allows standard XML tools to be applied to even the worst HTML.

Meh, I’d might as well give up on my own parser then. ;-)

Mario - Live - Google Video

So cool! This is a live-action version of the first level of Super Mario Brothers. Europe : Liberal Hell

I’m pretty sure this site’s a piss-take. If it’s not, we should all be very, very worried!

Bad Behaviour

Bad Behavior is a set of PHP scripts which prevents spambots from accessing your site by analyzing their actual HTTP requests and comparing them to profiles from known spambots. It goes far beyond User-Agent and Referer, however. Bad Behavior is available for several PHP-based software packages, and also can be integrated in seconds into any PHP script.

SIL Papua New Guinea Language Resource Site

EclipseFP - Functional programming support for Eclipse

Sleepy head Cat - Google Video

A little kitten, no more than a fortnight old, trying to stay awake. This is just too cute!

Sweetie: Free icon set

Free! Icons for your website or application at MaxPower

What Gives Gold that Mellow Glow?

Using relativity to explain why gold is the colour it is, and why it doesn’t tarnish.

squidfingers / patterns

CsLex: A lexical analyzer generator for C#

C# Lexer/Parsers links

MinosseCC: a lexer/parser generator for C#

PEP 333 -- Python Web Server Gateway Interface v1.0

Benefits of FIT tests for systems without a UI

Design (Domain-, Test-, and Client-Driven)

Creating Passionate Users: How to be an expert

Most of us want to practice the things we’re already good at, and avoid the things we suck at. We stay average or intermediate amateurs forever. Yet the research says that if we were willing to put in more hours, and to use those hours to practice the things that aren’t so fun, we could become good. Great. Potentially brilliant.

The Satir Change Model

An element of the Satir System is a five-stage change model that describes the effects each stage has on feelings, thinking, performance, and physiology. Using the principles embodied in this model, you can improve how you process change and how you help others process change.


JDepend traverses Java class file directories and generates design quality metrics for each Java package. JDepend allows you to automatically measure the quality of a design in terms of its extensibility, reusability, and maintainability to manage package dependencies effectively.

Byecycle - The Requisite Dependency Viewer for Eclipse

How can people still build software without seeing its real structure? After a compiler and a text editor, a dependency viewer is the first thing you want. Byecycle is the requisite dependency viewer for Eclipse.

BitTorrent Protocol Specification

FLV Player: Flash video online.

Towards Applicative Relational Programming

On combining functional and relational programming. From LtU:

This is fairly well-trodden ground now, with approaches such as Miller’s lambda-Prolog and Saraswat’s constraint-lambda calculus being well established, but this paper offers a rather different approach, based on the Henkin-Monk-Tarski approach of cylindric algebras, which were devised as a means of formalising predicate logic in equational logic–I’m familiar with them in the context of modal logic, since they offer a means for handling quantifiers by means of modalities, where [] is used to express forall and <> is used to express exists.