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.

Electron, Redux and Persistence

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

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

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.

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.