Bucky Roberts from thenewboston taught me to program. As a kid I would watch Bucky's Java tutorials, make command-line programs, and use them to show-off to or prank my brother. I remember one particularly great program I made. It asked my brother a series of questions, including asking for his name. Then, it would print "Liam is a fart". A work of art.
I have made Java calculators, Scratch games, Minecraft mods, my own RuneScape botting client, JSON parsers, and a misinformation research tool. Now I'm working on the Royal Game of Ur. I have started hundreds of projects, and RoyalUr.net is my latest one. It's going pretty well!
What am I doing now?
I recently moved out of London, and into the small town of Canberra, Australia, where I can fulfil my dreams of a hermit existence. I spend half my time working for DUG, and half my time following my interests and working on projects like solving the Royal Game of Ur.
(Last updated on 8th May 2025)
Articles
-
May 2025: How we solved the Royal Game of Ur
If you've ever wondered how someone might solve an ancient board game, this article runs through the entire process of solving the Royal Game of Ur.
Projects
-
I created RoyalUr.net, a website where you can play one of the oldest board games in the world, the Royal Game of Ur. I also wrote a paper on the game, and have recently managed to solve the game. The Royal Game of Ur is an ancient Mesopotamian racing board game that dates back to 2500BC. It is considered to be a predecessor to Backgammon.
-
I was a part of creating, and I continue to maintain, The Misinformation Game, a social media simulator built to study people's behaviour when they interact with social media. A paper about this tool has been published in the Behavior Research Methods journal. This project is also open-source.
-
I built Tyche, a Python library for building belief models and reasoning logically about them. Belief models are represented as knowledge bases of entities, with probabilistic beliefs about the entities, and probabilistic relationships between them. The probability of beliefs holding can then be queried using aleatoric description logic. The library also contains a novel approach to learning the probabilities within belief models based upon observations, which has showed promise. It's a bit technical, but I really like it.
-
I have made hundreds of Minecraft server plugins and mods. Some of them are even still used. I made everything from flying carpets to minigames for big servers to npc plugins and hack clients. One plugin I am particularly proud of was for a hundred lines of code or less challenge. It allowed you to ride any mob in the game by modifying the bytecode of the server during runtime - and it only needed 85 lines of code!