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.
Retro computing, low-level programming, and making old machines do new things.
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.
This video explains the Von Neumann architecture and demonstrates, with real BBC BASIC and C code, how computers fundamentally cannot tell the difference between data and executable instructions.
I picked up a Cheap Yellow Display (CYD) — an ESP32 with a built-in LCD —
Summer Living Starts with FlexiSpot – [https://go.flexispot.co.uk/ncot_tech-deals] Get £170 off the E7 Pro Standing Desk Now – [https://go.flexispot.co.uk/ncot_tech-e7pro]
Why does Python tell you that 0.1 + 0.2 = 0.30000000000000004? The answer is IEEE 754 - the floating-point standard baked into every CPU on the planet.
How does a computer add two numbers — not with code, but with actual electronics? In this video we build the circuits that make addition happen at the hardware level, starting from the simplest possible adding circuit and working up to something that can add multi-bit binary numbers.
What happens when a computer encounters -1? The answer is weirder - and more elegant - than you’d expect.
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.
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…
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.
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.
While shopping I find a self service checkout that’s having a bad day.
This video is my journey through learning how early games drew 3D graphics before 3D APIs and modern GPUs existed. In fact, before old 3D APIs like OpenGL and old GPUs existed, too.
Welcome to the next edition of Gamedev The Hard Way, my attempt at writing a game from scratch for the Agon Light, using nothing but C. This time I create a tilemap system.
Welcome to the next edition of Gamedev The Hard Way, my attempt at writing a game from scratch for the Agon Light, using nothing but C. This time I actually make a game! For once I actually finish something.
Welcome to the next edition of Gamedev The Hard Way, my attempt at writing a game from scratch for the Agon Light, using nothing but C. This time I make a joystick work by building a joystick interface for the Agon Light. Then I program it to add it to my game.
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.
I’ve built a joystick interface for my Agon Light, using a PCB I found online. This is an improvement on the last time I did this and just stuck wires in the GPIO ports.
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.
Welcome to the next edition of Gamedev The Hard Way, my attempt at writing a game from scratch for the Agon Light, using nothing but C. This time I get thoroughly distracted and accidentally make a Pong style game idea while figuring out how to add collision detection to my game engine. I implement the AABB Axis Aligned Bounding Box algorithm.