Projects

I have worked on a number of projects over the years. Here's a cherry-picked selection.

Pythinux

Pythinux was my attempt at creating an operating system in Python. At first, it was terrible.Everything was hard-coded into the OS, and the code was barely functional.

By version 1.0, which took over a year to make, mostly due to lack of interest, the project had huge amounts of technical debt, with the entire OS locking up after a few commands. After a few weeks of work, I managed to re-write everything from scratch, with every single program running in its own file.The improvement was night and day. Suddenly, programs had a proper API, everything was much stabler, and the code was better.

Pythinux has a package manager, program API, user system, and GUI programs for editing settings, visiting web pages, and so on.

OpenLife

I tried to recreate BitLife. To be fair, it isn't terrible. It also isn't getting finished any time soon. It has a lot of complex mechanics, but it's boring because of a lack of random events. Check it out if you want, it's quite cool.

(By the way, I made a blog post about why the project died so suddenly.)

reHack

You are invited into reHack, a secretive organisation who promised lucrative work in the form of penetration testing for clients. You quickly realise that they're not offering penetration testing, and that they're really an underground hacking ring.You are tasked with completing contracts for clients and soon get tied up in more than you bargained for. Before you know it, your life is on the line and you have to take down the very same organisation that brought you into this whole mess. However, this will prove more difficult than you assumed it to be, because reHack is extremely secretive and you have no idea where to start. You wish you could just leave, but several other reHack agents are actively searching for you, hoping to make you disappear without a trace.

Also it runs entirely in the terminal, with no graphics. And it's written in Python. Who would have guessed.

JAJL

JAJL ([J]ust [A] [J]anky Programming [L]anguage) is an esoteric programming language, or esolang. It doesn't have variables, instead using memory addresses for everything. The only data type is an integer, which can be signed or unsigned, although there is no way of swapping between the two, so you need to work out how to convert between the two if needed. The only thing it does is print data. More information is available on its dedicated webpage.