Technical

Australia should not adopt electronic voting 11 July 2016 in technical
There's been some talk recently about electronic voting in Australia. Here are my thoughts on why we shouldn't move away from the paper voting system.

Django's QuerySet union isn't quite what it seems 27 June 2016 in technical
Django claims that QuerySets support a union operator. It turns out that doesn't actually give you a union of two query sets, and it can silently munge your query.

Your RDBMS has cool features 26 June 2016 in technical
There are plenty of cool features in relational database management systems (e.g. PostgreSQL, MariaDB). It turns out it actually makes sense to use them when building applications.

Nonproofs 19 April 2016 in technical
I've enjoyed reading a few spurious proofs today

An idea for trusted bruteforceresistant twofactorauthenticated full disk encryption 15 April 2016 in technical
Combining a trusted platform module with a smart card (e.g. YubiKey) enables trusted booting with full disk encryption and without the ability to brute force passwords.

My Haskell was slow 12 April 2016 in technical
This is how I fixed it, blogged live.

Finding subsets with particular sums 11 April 2016 in technical
Given a list L and a sum S, what's the best way to find x, y in L such that x + y = S? What about a set of n integers with that sum, instead of a pair? I don't have a good answer for the second question; suggestions welcome!

Fibonacci numbers and the golden ratio 7 April 2016 in technical
In which I solve exercise 1.13 of Structure and Interpretation of Computer Programs

Learning Haskell 30 March 2016 in technical
I have started to learn Haskell. It's amazing.