Retro computing, low-level programming, and making old machines do new things.

Latest

Everything, newest first

Tpl Log

A sentence or two of summary. Goes to Mastodon with the hashtags appended.

Copilot is shit

No, really it is. But not for reasons you might think. This isn’t some tedious anti-AI rant. It’s a disgruntled moan at Microsoft being Microsoft and half-arsing something just to keep up.

From Triangles to Pixels the Magic Behind 3D Graphics

Every frame of a 3D game you’ve ever seen ultimately reduces to pixels written into memory. No matter how fast the GPU or how impressive the graphics, it all comes down to plotting pixels on the screen. Today we’re taking a short look at how triangles get turned into pixels. It seems easy enough, but this is something early software 3D had to do by hand, and something modern GPUs are doing all the time.

Exploring Terrain Generation Algorithms

I’m exploring a bunch of terrain generation algorithms, to see how they work and which ones look nice. So far I’ve tried out the Midpoint Displacement and Diamond Square algorithms…

Triangle Rasterisation

These are some notes on how to manually draw triangles in code. Possibly useful if you’re trying to write your own software renderer, or are just curious how it works.

Obsidian file sync for free

I use Obsidian as my central note storing system. Here’s how I sync all my files between my phone, laptop and desktop machines. For free.

Linux in the wild

While shopping I find a self service checkout that’s having a bad day.

ECS Archetypes System

I’m creating a game engine from scratch. Last time I wrote about the entity component system and how that works. This time I want to explain how the entities get created.

Trying to Be More Organised

There’s loads of blog posts and YouTube videos explaining how to be more organised, how to stop procrastinating, and how to generally be more productive. None of them seem to be written for people who are busy, rather than trying to avoid work.