2 Hitlers

For the second time in a month, a British politician is in hot water over a ham-fisted comparison to Adolf Hitler. Yesterday in London, ex-mayor and ‘Leave’ campaigner Boris Johnson likened the aims of the ‘Remain’ campaign, which says that Britain enjoys a net benefit from EU membership and should keep its membership, to the efforts … Continue reading 2 Hitlers

Scalia 1.0

Associate Justice Antonin Scalia died a few short weeks ago. I know we’ve all been pecking around for a way to immortalise the man, so I’d like to humbly suggest a change to the name of a popular programming language. I hereby present Scalia 1.0. The Scalia language is defined by the principles of immutability and … Continue reading Scalia 1.0


Name Otterate – bring OtterLike semantics to Scala strings. Synopsis Description The otterator brings the curiosity and playful antics of nature’s water dogs to Scala strings. Otters are hard-working, carefree and occasionally obfuscated. The otterator is left-binding and intensely communicative. An otter is for life, therefore premature GC is discouraged. See also The lesser spotted right binding … Continue reading Otterator

It’s not fair.

Write an opinion article (i.e. an analysis suitable for readers of a serious newspaper) of no more than 500 words on one of the following subjects: How best to judge whether government policies are helping or harming the economy. or Whether free markets have come to play too big a role in the organisation of society, … Continue reading It’s not fair.

Howto: construct a monad

A monad is a special prayer used by software developers. In this simple guide, I’ll teach you how to build (we developers say “reify”!) a monad of your very own. Start with the combinator function. A combinator is like a regular function except that the domain is partial and the range is delicate. Turn it clockwise … Continue reading Howto: construct a monad

G.K. Zombie

“One-one-thousand, two-one-thousand, three-one-thousand, four-one-thousand” We watched as the figure ran down the street towards the wicker basket. A dog, its hind legs covered in fresh blood, sat trembling inside. “five-one-thousand, six-one-thousand, seven-one-thousand” Stephen was perched behind the wheels of a car, down in the street. I was high up on a rooftop, watching. “eight-one-thousand, nine-one-thousand, … Continue reading G.K. Zombie

High-res 2d barcodes for transmission over an air gap: part 1

I’ve got a theory that an animated high-resolution barcode is a a workable mode of communication for sending data across an air gap. The host machine displays barcodes, say once a second, and client software on a phone or laptop off the air-gap reads and decodes the barcodes. In this manner, a large amount of compressed … Continue reading High-res 2d barcodes for transmission over an air gap: part 1