
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

What I look for while play-testing
Tracking and evaluating individuals playing my game.

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