All of the things labelled as Posts, so that crawlers have a place to find them.

Why UI layout calculations are slow
A look at why seemingly simple UIs take a long time to update.

My disappointment with Unity’s UI Toolkit
This newest UI offering from Unity is fraught with problems, resulting only in frustration rather than good interfaces.

Finding neighbours in a hex map
How I address and index the cells in the hex-grid of my game.

A mini-redux in React
How I created a redux-like store in React to improve my rendering efficiency and connect to a websocket multiplayer game state.

Keeping my monitor brightness after power save and switch
I wrote a script restoring my monitor’s brightness and gamma, after power savings and dynamic switches, in Ubuntu 22.04 with udev and xrandr.

Building a Halloween riddle game
A look at my personal weekend game jam project, including the new animations and challenges I faced.

System Architecture for Edaqa’s Room
An overview of all the deployed components in my multiplayer game

Highly inefficient invisible animations (CSS/Firefox/Chrome/React)
Reducing the CPU load of Firefox and Chrome due to invisible CSS animations

High-Throughput Game Message Server with Python websockets
Tracking an error in my game, stressing over a fix, and the code to replace it all


How to write a custom selector in React
Recreating useSelector for an app that doesn’t use Redux.

I Wrote an Online Escape Game
I’m an escape room enthusiast, some may say addict, and for the past few months I’ve been missing it. A friend of mine, a true

Your 30th Year in Code
Becoming a programmer can be a daunting task. After reading Your First Year in Code, you might wonder what awaits you long term. My book,

Why switch is better than if-else
In Ben’s post, he questions whether switch statements are cleaner than if-else chains. I contend they are, because they better express the semantics of the

Fluid layout animation: Invalidation and caching
Dynamic changes in layout properties, either because of user actions, or animations, requires a recalculation of the layout. Maintaining a stable frame rate during recalculation

Creating a custom author box on WordPress
How to use custom short-codes to create an author-box in a template.

A Failed Experiment with Python Type Annotations
I like Python, but wish it had static typing. The added safety would go a long way to improving quality and reducing development time. So

A Parade of Web Tech
Perhaps I wrote that I don’t know how to create a website, but glancing back, I certainlyhave built a lot. And oh boy, there’s quite

Terrible interview question: Swap variables without a temporary
“Clever programming tricks have no place in programming interviews. They usually involve a small amount of code and solve an innocent-sounding question like “find the

A programmer’s introduction to user portraits
As programmers, it’s vitally important for us to understand what our code should be doing. This knowledge starts with knowing the people using our

The amortized cost of vector insert is 3
The amortized cost of vector insert is 3 C++ requires many algorithms to be implemented in amortized constant time. I was curious about what this

Lessons learned from recording my first class
I published my first video class, How to Write a Great User Story, something all programmers should know how to do. Even though the class