blog

Angular Multiple Inheritance (How to Destroy a Codebase)

This is not a tutorial; please don’t do this.

A Brief Primer on Inheritance

A common school of thought among programmers is to reduce repetition wherever possible. Usually, this is a good idea, as if I need to change something, I only need to change it in one place. We usually accomplish this using inheritance

Read More >
blog

The Terrible, Horrible, No Good, Very Bad PHP Stock Functions

A lot of defenders of PHP will say that the language has improved immensely in later versions with better support for OOP, which it has! However, PHP is fundamentally broken in its implementations of its stock functions, even compared to other dynamically-typed languages such as JavaScript. Let’s look at some examples:

Read More >
blog

Implementing WebP Conditionally

What is WebP?

We use a lot of images when we build websites nowadays, and while some might disagree with this, I doubt it’s going anywhere. As a result, we have to invest a lot of work into optimizing those images as much as possible, often resorting to ugly and dated compression techniques. WebP is a new image format designed by Google for the modern web.

Read More >
blog

DOOM and Weapon Balance

I’m now on my fourth playthrough of 2016’s DOOM, the reboot and successor to the ’90s title that helped kickstart the FPS genre. It’s a daunting task to make a worthy followup to such a seminal classic, but Bethesda and iD managed to pull it off. Not only does it sport great gameplay mechanics and enemy designs that feel like they came straight out of the 1993 iD Software, it runs fantastically on a great engine.
Read More >
blog

Minecraft and the Automation Fantasy

One of the greatest things about Minecraft is the variety it presents to the player. Its multifaceted nature allows almost anyone to find something to do, even if they aren’t interested in the rest of the game’s offerings. What interests me the most and what brought me back to the game recently is automation. Specifically, the possibility of complete and total factorization brought about by mods like ComputerCraft and Mekanism. While vanilla Minecraft has a good deal of automation now with Hoppers and other Redstone devices, crafting still has to be done manually, sorting items automatically into chests is a slow and error-prone process, and there’s no other way to gather those precious minerals than to venture out with your pickaxe and do some mining.
Read More >