Skip to content
View RadMageIRL's full-sized avatar

Block or report RadMageIRL

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
RadMageIRL/README.md

RadMageIRL

I have been programming since 1993. I only started publishing publicly in 2026.

That gap is not modesty. Code was something I wrote to solve the problem in front of me, and once the problem was solved there was no particular reason to show anyone. Thirty-three years of that adds up to a lot of tools nobody ever saw. I am fixing that now.

Where this started

x86 assembly, then C, then C++, on hardware that punished you for guessing. About twenty-five years professionally since then, in systems, networking and infrastructure: Windows and Linux, enterprise environments, virtualization, and the parts of a network that only ever get looked at once they have broken.

One thing, ten thousand times

I have never been especially interested in collecting technologies. I am interested in systems, and the useful property of systems is that the reasoning transfers.

Networking taught me to think in protocols: state, negotiation, and what happens when a message simply does not arrive. Programming taught me abstraction, and how to build one that holds under weight. Systems administration taught me failure modes, which is a polite way of saying it taught me what actually breaks rather than what the documentation predicts will break. Reverse engineering taught me not to trust the abstraction, because underneath every clean interface is something that does not behave the way the interface claims.

Those four models travel. A hostile file format and a misbehaving switch are the same problem wearing different clothes.

What is here

Everything in this account exists because I wanted it to exist. None of it was built to be a portfolio piece, which is why some of it is a polished cross-platform application and some of it is a 512-byte offset fix for a SNES fan translation.

re-moct - I missed MOC. So I rebuilt the idea for Linux and Windows, and then kept going. C++20 on PDCursesMod/ncurses, with CD ripping, AccurateRip verification and internet radio.

LinuxUtils - I had accumulated enough admin tools that they needed somewhere to live. Standard library only, read-only by default, and each one says plainly when it cannot determine something rather than guessing.

DQVSNES4PARTYPATCH - The existing patch was broken. It turned out to be a 512-byte alignment issue. I fixed it.

DQVI_NOPRGRESS_MENU_FIX - Two hard hangs in a different SNES fan translation. One was three deleted bytes. The other was a text buffer parked in memory the original game wipes, which took gigabytes of instruction traces to find and is fixed by moving it.

renorm - I needed a filename renamer I could trust across thousands of files at once. Plan first, execute second, undo if it was wrong.

Codex-Notes-HTML - Every note app annoyed me in a slightly different way. This one is a single HTML file.

SecurePasswordGenerator - Every password generator on the web asks you to trust a stranger's server with the output. This one never leaves your browser. AWESOME MODE is just for fun.

Now

Publishing the backlog, and building the next thing. If any of it turns out to be useful to you, that is a pleasant side effect rather than the plan.

Red Mage, FFXI, since launch

Pinned Loading

  1. re-moct re-moct Public

    A homage to MOC. RE-MOCT is a Cross-platform terminal music player, CD ripper, recorder, converter, and internet-radio client for Windows and Linux, written in C++20 on ncurses, miniaudio, TagLib, …

    C++ 1

  2. DQVSNES4PARTYPATCH DQVSNES4PARTYPATCH Public

    Corrected 4-party-members patch for Dragon Quest V (SNES) on the DeJap v2.01 English translation. Fixes the 512-byte misalignment in the existing release.

    Python

  3. LinuxUtils LinuxUtils Public

    Dependency-free Linux administration tools. Stdlib only, read-only by default.

    Python

  4. renorm renorm Public

    Filename convention enforcer. Applies a naming standard to a directory, idempotently and safely: plan-then-execute, journalled, undoable.

    Python

  5. SecurePasswordGenerator SecurePasswordGenerator Public

    A single-file, client-side password and passphrase generator. With a bit of whimsy in AWESOME MODE.

    HTML

  6. Codex-Notes-HTML Codex-Notes-HTML Public

    A lightweight, single-file, local-first note-taking application designed for speed, privacy, and simplicity. Codex runs entirely in your browser without requiring a backend, server, or cloud account.

    HTML