exerro.me

Here's a page for past personal projects.
Check out my current projects!

github icon Repositories

simpleUI

Aug 2021 - Jan 2022

simpleUI screenshot

A barebones UI library to help with prototyping Kotlin graphical applications. Has evolved into something rather enormous and is now being spliced into isca.

QuackerBot

May 2021 - Feb 2022

quacker-bot screenshot

A Discord bot written in TypeScript which handles quotes and helped me learn the language. Note: it's been renamed to Parrot.

CCGL

Mar 2020 - Feb 2021

ccgl screenshot

Decided to work on something inside ComputerCraft that let you do (relatively) ridiculously performant graphics operations. Saw a lot of success but put the project on hold because I wanted fancy shader compilation and that's complicated.

sudoku-solver

Jul 2019 - Aug 2020

sudoku-solver screenshot

After getting stupendously addicted to Cracking the Cryptic sudoku videos, I had a shot at building a sudoku solver. It supported a bunch of fancy non-standard rules.

sketch-up

Oct 2020

sketch-up screenshot

Started working on a drawing program to go along with a graphics tablet I'd bought. Turns out GLFW doesn't support graphics tablets. RIP project.

observables-kt

Sep 2019 - Feb 2022

observables-kt screenshot

During work experience, I used Qt signals, and thought they were kinda cool. Wrote a Signal implementation for Kotlin, and added Observables after reading a bit about reactive streams.
I've since updated this to match my current workflow with observable streams and also got it hosted on JitPack: jitpack badge

raymarching

May 2019 - Jun 2020

raymarching screenshot

A sphere tracing demo/playground with dynamic objects, time control, and reflections! I was inspired by a Sebastian Lague video and decided to give it a go myself, implementing reflection, shadows, camera movement, and dynamic SDF rendering.

kotlin-parser-combinator

May 2019 - Jun 2019

kotlin-parser-combinator screenshot

Learnt about parser combinators in my 2nd year of uni and wrote my own library in Kotlin to explore the details and learn a bit more.

LMC-Simulator

Dec 2015

LMC-Simulator screenshot

LMC-Simulator is a "tool" I made during A-level compsci to simulate Little Man Computer code execution. We were having to do that manually as part of the class, so I made this partly to get out of work (:3) but also to validate everybody's attempts.

Boxes

Dec 2015 - Jul 2016

Boxes screenshot

Boxes is a computer version of a game I enjoyed playing on paper. Drawing the lines was a pain, so I figured I could write some code to do it for me!

LWAF

Jan 2019 - Jun 2019

LWAF screenshot

A library I made when starting out with OpenGL code on the JVM - this helped with the low level stuff, allowing a bunch of programs (including the demo shown here) to do OpenGL more easily.

Nightfall

Jan 2015

Sheets screenshot

A Tower defence game I made to demo Sheets (see below). Gameplay was lacking but those animations...

Sheets

Jan 2017 - Feb 2017

Sheets screenshot

The single most awesome all-in-one UI framework for ComputerCraft. Had awesome native animation support, epic styling, dependent properties which could dynamically update, and a bunch of built in element types.

Flux

Oct 2016 - Oct 2017

Flux screenshot

I've had a long lasting goal of creating an epic programming language. Flux was an early attempt at that, where I learned about parsing and compilation.

Workspace

Jul 2017 - Aug 2017

Workspace screenshot

With a bunch of projects going on inside ComputerCraft, I was frustrated at the lack of boundaries between them. I made this to isolate workspaces and be able to test other people's potentially dodgy programs in a sandbox.

markup-parser

Jan 2019 - Feb 2019

markup-parser screenshot

Had to make a website with blog-ish posts. Wrote a markup parser. Was pretty cool.

ASTify

Jun 2018 - Jun 2020

astify screenshot

After attempting to write a language, I got frustrated at how awkward parsing was, and how tools like ANTLR work. ASTify was going to use a custom language to define syntax trees and build parsers from those. It never really took off and the repo's now been cannibalised for another project.

amend

Sep 2017

amend screenshot

Lua sucks at packaging. ComputerCraft made it even harder. Amend was a pretty decent build system that let you compile a bunch of files seamlessly into a single executable, even allowing some preprocessing such as minification and macros.

Circle Game

Dec 2015 - Jul 2016

Circle-Game screenshot

Tiny game with circles. agar.io but worse because why not.

Sutron

Dec 2013 - Oct 2017

Sutron screenshot

One of the earlier games I've made. Pretty much a 2D minecraft, but really really bad, glitchy, and incomplete! I was learning about architecting projects like games that could be fairly extensible, and managed to get quite a nice system where everything in the game was added by extensions. It was also my first time using noise for terrain generation.

json-kt

Nov 2019 - Jun 2020

json-kt screenshot

Was tired of awkward config parsing and wanted to test the parser combinators (see below). This was before kotlinx-serialization was a thing.

tcputil

Nov 2019 - Jun 2020

tcputil screenshot

Handled comms between kotlin and python over TCP, I think for some robotics projects?

Congrats on making it this far!