Inklings in June 2008

Whatever Happened to UI Consistency?

Yes, I think it’s worth sweating the details. I’d go so far as to say I’m against the very idea of applications. Applications should stand out from their peers because they’re better, not from everything else because they look and act differently.

Python + Hadoop = Flying Circus Elephant

Dumbo is a nifty Python module from that allows Hadoop jobs to be written as generators, which is pretty awesome.

Efficient Global Counters on Google App Engine

Haven’t tried out GAE yet, but this is worth keeping.

Parsing expression grammar

A parsing expression grammar, or PEG, is a type of analytic formal grammar that describes a formal language in terms of a set of rules for recognizing strings in the language. A parsing expression grammar essentially represents a recursive descent parser in a pure schematic form that only expresses syntax and is independent of the way an actual parser might be implemented or what it might be used for. Parsing expression grammars look similar to regular expressions or context-free grammars (CFG) in Backus-Naur form (BNF) notation, but have a different interpretation. Unlike CFGs, PEGs are not ambiguous; if a string parses, it has exactly one valid parse tree. This suits PEGs well to parsing computer languages, but not natural languages.

What is defunctionalization?

Must read this because I’ve no idea why you’d want to do this outside of a compiler in a language that supports higher-order functions. It seems, however, there are good reasons.

I've (probably) been using Google App Engine for a week longer than you have

Linear Bloom Filters

Bloom Filters are ridiculously useful, so I’ll definitely be taking a poke through this.

Language Snobs: Don't Pinch Pennies

Quoting the quote:

The key point that the penny pinchers miss is that while using inferior tools has a cost associated with it, so does not using those tools. The important thing is to Always Be Shipping.

The Treaty of Lisbon: A spoofer's guide to how not vote 'no'

Whether you’re voting yes or no, you owe it to yourself to take a sconse at this: it’s very, very funny.

Running Qemu on FreeBSD, as host

ES Operating System

ES is an ECMAScript friendly, pure component operating system. Additional components include an ECMAScript interpreter and an IDL compiler.

Odd idea, but looks fun. It was originally developed by Nintendo, apparently.

The Flawed Theory Behind Unit Testing

Quoting the final paragraph:

My point is that we can’t look at testing mechanistically. Unit testing does not improve quality just by catching errors at the unit level. And, integration testing does not improve quality just by catching errors at the integration level. The truth is more subtle than that. Quality is a function of thought and reflection—precise thought and reflection. That’s the magic. Techniques which reinforce that discipline invariably increase quality.

Ten Commandments of Egoless Programming

Stomp Protocol Specification, Version 1.0

mod_wsgi: Debugging Techniques

International Address Fields in Web Forms

The Elements of Typographic Style (Applied to the Web)


Surgeon's Shoelace Knot

Does My Bus Look Big in This?

Great talk on SOA/ESB bull.

Email checklist

SaaS Application Packaging Standard

Block cipher modes of operation

What is it like to write a technical book?

World. Of. Pain.

How to write a lazy UNION in MySQL

Scaling your website with the Perlbal web server (PDF)

twill: a simple scripting language for Web browsing

twill is a simple language that allows users to browse the Web from a command-line interface. With twill, you can navigate through Web sites that use forms, cookies, and most standard Web features.

This would be great for testing.

Obvious Choices

One downside of working with experienced people is that, some experienced people tend to be opinionated, and the trouble with opinions is that opinions are, well, instantaneous reactions based on things they learned in the past. You can wake up an opinionated person and ask a question that you know this person has an opinion on, and that person (self included, on occasion) will most likely blurt out that opinion without even understanding the context. Unless careful, it is easy to get trapped into that mindset, and start enjoy being opinionated, and consequently, making or advocating “obvious” choices.


A web cache system base on [the] Nginx web server, faster and more efficient than Squid.

Linear Algebra (free textbook)

Coding Horror: The Ultimate Code Kata

Damien Mulley: Cowen's Downfall


Writing a kernel module for FreeBSD


Holy crap, that looks awesome! It appears to be something like a hand-held music tracker. Pity it’s so expensive, because I’m sorely tempted by it. Check out the via link too.


Awesome looking Worms-style game. Haven’t tried it yet (need to update my ports), but from the movies it looks pretty good.

ThinkGeek :: Sonic Bomb Alarm Clock with Bed Shaker

Carla thinks I should get this.

Physics, Topology, Logic and Computation: A Rosetta Stone (pdf; long!)

Reservoir Sampling

What to do if you are organized and your partner isn't

Not currently directly or indirectly for me, but…

Nifty idea!

Building a Software Company: How to sell your software for $20,000

To read.

Thrill Pier: M83 back in the autumn.

Must! Go! See!