Blog
2024
Entity Component System: The Perfect Solution to Reusable Code?
ECS presents a lot of advantages for all kinds of games. What makes it so special?
Self-Hosting Music Distribution
Considering alternatives to modern music distribution with small platforms and self-hosted sites!
2023
What have I been up to?
A summary of some of the various projects I've been working on this year.
2022
Minecraft Data Pack Programming: Scoreboard Usage
A beginner-friendly series for teaching programming concepts with Minecraft data packs.
Minecraft Data Pack Programming: Command Syntax
A beginner-friendly series for teaching programming concepts with Minecraft data packs.
Minecraft Data Pack Programming: Introduction
A beginner-friendly series for teaching programming concepts with Minecraft data packs.
Dynamic Backgrounds in Unicorn Utterances' Preview Images
An explanation of some CSS tricks and techniques I used to make a neat contribution to the Unicorn Utterances blog site.
2021
Declarativ: an experimental React-like HTML framework
A breakdown of the concepts used in Declarativ, a lightweight JavaScript HTML templating library.
Audio Automation: using Java's MIDI APIs with Kotlin Flow
An explanation of the development process behind a MIDI library using the Kotlin Flow API.
2020
Animating SVG Icons on the Web
A small breakdown of the process I used to create a couple interactive icons for a web project.
2019
JavaScript: Productivity over Proof
In the vast majority everyday software, nobody writes a mathematical proof of every piece of functionality. Dynamically typed languages exist for a reason, and this is not it.
Introduction to Android: Contexts, Intents, and the Activity lifecycle
A basic overview of the main components of an Android app and how they interact with each other and the Android system.
2018
Continuous Integration with Travis CI for Android
An in-depth tutorial explaining how to set up Travis CI to deploy signed builds to Google Play. Among other things.
Exceptional Traveler
I explain how and why (sort of) I wrote an implementation of the Traveling Salesperson Problem using Exceptional Programming standards.