Projects

Truly demonstrating my lack of a social life

CLImage

A fast way to convert images to beautiful ANSI escape codes for display in command line interfaces. Supports 8/16/256 and Truecolor outputs, as well an optional unicode mode for increased detail. Available on PyPI, install with pip3 install climage.

View on Github »
CLImage-image

js-console

You may have seen this in action already (and potentially tricked by it too!) on the front page of this website. A rewrite of chrisdone's jquery-console, refactoring the hell out of it (I don't like jQuery).

View on Github »
js-console-image

Commandline Captcha

A small socket-based server enabling CLI applications to filter out bots via image recognition on ANSI encoded images. Built using CLImage.

View on Github »
Commandline Captcha-image

Yet Another Blog Generator

Why not use Jekyll (or literally any other static blog generator)? Good question! I wanted to write one from scratch to learn more web-ey stuff. Supports custom templates, commenting, rudimentary RSS, and more(?). A work in progress & how blog.pat.sh runs.

View on Github »
Yet Another Blog Generator-image

SubprocessCPP

The result of being frustrated with having to write C code in C++. Designed as idiomatic modern C++11 to provide simple spawning of subprocesses - an API built for idiots. Currently undergoing an extension to support directed multigraph process networks via asynchronous pipes.

View on Github »
SubprocessCPP-image

Honours Year 2017-2018

Does university count as a project? With the amount of hours put into it, I'd like to think so. Focused on high-performance concurrent data-structures as part of a Datalog compiler for implicit data representation. A near-quadratic time and space speedup.

Honours Year 2017-2018-image

tilde.town

A proud member of the ~town shared UNIX community. A really lovely place, home to many friendly people, and some nice custom made games/tools just made for it. Click the demo link to see my home page over there (lil ugly, but has a couple web projects).

Demo »
tilde.town-image

Doodles

I absentmindly doodle, and make them into shirts sometimes. Check out the designs in that demo link riiight there (when I make it).

Learn more »
Doodles-image

Lightly Armed

A small, HTML5 canvas game set in a top down 2d-environment - all code written from scratch. Includes a JSON defined custom renderer! Did I mention it has lasers? A continuous work in progress.

View on Github »Demo »
Lightly Armed-image

PiggyList

A fast, concurrent random-access list. GPL/BSD licensed. Supports several levels of thread-safety, including wait-free, and lock-free versions.

This Site

Made with [UNICODE CODEPOINT 2764]. There's a lot of things hosted on here, even Fermat couldn't fit it on a large page with `margin: 0 auto;`. No theme - this website was written from scratch! Fully automated build process too, with optimisations and error checking ahoy.

C Neural Net

A simple neural network written in C. Supports back-propagation and multiple activation functions.

Molemio

A word-game I came up with while bored working at a cash register. Wrote a whole swathe of tools, including a Datalog path evaluation program. I am currently planning to generate a fair few levels with these tools, and write a quick-and-dirty web client to play it.

View on Github »
Molemio-image

C++ Bellman-Ford

A fast Bellman-Ford implementation, originally designed to find solutions for Molemio games. Uses human-readable labels for ease-of-use.

View on Github »

EOSPets

The result of a 24 hour hackathon. A Neopets styled game written via EOSIO smart contracts designed to encourage people to financially adopt endangered species and continually support them via gamification.

tilde.wang

A very-much-in-progress project. Yet another Tilde, but this time designed for tiny things - packed full of emulators, and assembly tools. Severe file restrictions to encourage micro-tooling.

Demo »