Printing Nintendo E-Reader Cards

How I printed Nintendo E-Reader cards so they work

Balatro Planet Growth

How do planet cards grow in Balatro?

Balatro Score Growth

How do decks increase their scoring in Balatro?

CPU Driving Part 3: Multiple Cars

One is the loneliest number

CPU Driving Part 2: Drifting

Can we make the CPU drift?

CPU Driving Part 1: Waypoints

How can you make a CPU car drive around a track in a video game?

Neo Geo Dev: Fixed Point Numbers

Let's take a look at how to work with decimal numbers on an ancient cpu.

ROM Hacking Learnings

Now that I have a finished a big ROM hack, some random thoughts on the process.

Neo Geo ROM Hacking: Digging Into MAME Traces

How I used MAME's tracing to figure out a how a Neo Geo game works

MAME Lua for Better Retro Dev

How I used MAME's Lua integration to greatly improve my retro development experience

Neo Geo ROM Hacking Guide Part 3: Changing Logic

Let's see how we can alter a game's logic in part 3 of my Neo Geo ROM hacking guide.

Neo Geo ROM Hacking Guide Part 2: Changing Graphics

Let's see how we can alter a game's graphics in part 2 of my Neo Geo ROM hacking guide.

Neo Geo ROM Hacking Guide Part 1: Intro and Background

Let's get started learning how to make Neo geo ROM hacks.

MAME Debugging

Here are some tips and a small guide on how to use MAME for debugging more effectively

Discerning the Super Metroid Map with BizHawk and Lua

How I reverse engineered the Super Metroid map with brute force.

Why I always use setTimeout, and never setInterval

When doing something repeatedly in JavaScript, I always use setTimout and never setInterval, here is why

Tracking down a strange React warning

Why is React giving me this strange warning? Ohhhhh...

Using Google Drive for form submissions

Need to collect form data? Don't want to stand up a server? You can use Google Drive.

How I built this static site with Next.JS

A quick look at how I made a site that has almost no JavaScript, using a JavaScript framework.

Extracting Neo Geo Emulator Graphics Data to Create Animated gifs

Web Assembly lets us bring native applications right into the browser.

By porting a game emulator to Web Assembly, I was able to reach into its memory to build animated gifs.

Squeezing the Arduboy For Every Byte

The Arduboy is an Arduino based game console with very limited storage space.

This article shows some techniques I used to use the space efficiently.

MATE and i3

How to use i3 with MATE to get an excellent tiling desktop experience in Linux.

React Internals Part Five: Transactions

In this final installment, we take a quick look at transactions and how they help React do its job.

React Internals Part Four: setState

Part four implements setState, an important function that drives much of what React does.

React Internals Part Three: Basic Updating

This part explores how React updates the DOM after props change.

React Internals Part Two: component­Will­Mount and component­Did­Mount

Today we are looking at how lifecycle methods in React work.

React Internals Part One: Basic Rendering

This article series creates a small clone of React to learn how it works. We kick things off with the most basic of rendering.

Electron, Redux and Persistence

A strategy for persisting state in a Redux based Electron app.

The Sega Saturn and Transparency

The Saturn's complex hardware architecture meant implementing semi-transparent entities in a game was challenging.

This interactive article explains the conundrum, and shows why game developers often settled for inferior alternatives.

Impromptu Web Scraping

The browser's dev console can be a nice tool to extract data from a webpage.

JavaScript is a pass by value language

JavaScript always passes parameters by value. This post explores what that means.

Embedding SVG Into a Reagent Component

Using Clojure macros to embed an SVG into a Reagent component.

A Game Made With Reagent

For the heck of it, I made a simple breakout game with Reagent

ClojureScript Internals: Vectors

A detailed dive into how vectors in ClojureScript work.

Reagent Rocks!

Reagent is a ClojureScript interface to React, and it is incredible.

Pair Programming Is Not a Panacea

Pair programming can be great, but it can also be terrible.

This article explores when to pair, when not to, and why some of us don't like it.

JavaScript Promises ... in Wicked Detail

A detailed article that implements a simple Promise type from scratch.

By building the Promise implementation gradually, it shows the why and how of Promises.

Dynamic Lighting and Shadows In My 2D Game

How I used shaders in WebGL to accomplish lighting and shadows in a 2D game.

Waking Up At 5am To Code

For a while I woke up early to work on projects before going to work. Here's a quick summary of how it went.