Tooling & Libraries Retro: Rolling my Own GUI Library Recently, I wrote a single-header library called GGUI to create debug and prototype Graphical User Interfaces (GUIs) for applications on Windows & Mac. It was designed to be an immediate-mode, software-rasterized engine that can seamlessly process input, either via buttons or sliders. The platform layer passes in a pixel buffer
Life Better Software Conference 2025 - Retrospective Better Software Conference 2025. Where do I begin? The Talks The focal point of the conference – the talks. Each and every talk was a well-delivered package of information that would serve any programmer in any field well. That said, I did have some favourites. Casey Muratori – kicking off the conference
Programming Philosophy The Copilot Delusion Disclaimer: This post was written May 2025, and the arguments apply to AI code capabilities at this time. The arguments around lack of competence are certainly likely to become less prevalent-while the parts about the desecration of the joys of programming, and fundamental human understanding of programming-are likely to become
Programming Languages Zig: First Impressions For about a year now, I've been using Zig. My primary background is in C/C++, so it wasn't incredibly difficult to adapt to the way Zig does things. Additionally, there are some excellent resources for Zig online - from the source code, to the Zig
Performant Programming Modelling Problems in Code: Objects & Data One of the very first steps in solving a problem with code is to build a mental representation of the problem space. An engineer will ask themselves, "how do we take this real world problem, and model it to be solved in code?". Different programming paradigms can shape
Programming Languages Exploring Functional Programming with Scheme/Lisp My first programming language was Java, and like a lot of young programmers, I was introduced to the world of programming through the lens of Object-Oriented Programming (OOP). Moving to C broke this mold a lot, and opened my mind to the idea that the current programming paradigm I use
Tooling & Libraries FedExing messages across a game engine What is an event system? Think of an event system as a messenger. The basic idea is that an event (say, a key press) is attached to a callback function. This event is attached at some initialization stage, then that callback function gets invoked when the event is "dispatched&