Full Text Search Shenanigans
Sep 15, 2025A great blog post from 2013 describes using bloom filters to build a space-efficient full text search index for small numbers of documents. The algorithm is simple: Per document, create a bloom filter of all its words. To query, simply check each document's bloom filter for the query terms.
With a query time complexity of O(number-of-documents), we can forget about using this on big corpuses, right? In this blog post I propose a way of scaling the technique to large document corpuses (e.g. the web) and discuss why that is a bad idea.
Spex: Swedish Student Theatre
Apr 1, 2024Oh hey, what is this?! A post about theatre? Why yes it is!
On April fools, but totally serious.
The World's best Snake AI
Jan 4, 2024Battlesnake is a competitive AI programming platform for a multiplayer variant of the classic game snake. It looks like this.

Sweden's most realtime public transit map
Dec 23, 2023Experience it yourself at transitmap.io (now defunct).
Transitmap lets you watch thousands of buses, metros, commuter trains, and even ferries move across a map in real time. Try it on your phone next time you are waiting for a bus in Sweden. In most cases, the vehicle on transitmap will move only a few seconds behind the real one.