I work across software, electronics, and data, with a focus on systems programming, game development, automation, and infrastructure-oriented tooling. My projects often combine implementation with measurement, using benchmarks, visualizations, and prototypes to make trade-offs explicit.
I approach projects iteratively: build, measure, refine, and document. Some repositories are production-ready tools, while others are focused experiments used to validate a design or architectural approach.
I value efficiency and leverage through automation, clear interfaces, and practical tooling that reduces friction between an idea and a working system.
In practice, that means building systems, observing how they behave, and refining them until they are reliable, understandable, and useful.
My Factorio community and server-operations work lives under the M45-Science GitHub organization. That org collects the public M45 Science Factorio tooling around Discord integration, moderation, server orchestration, community lists, download/proxy support, and related infrastructure.
Small thumbnails from projects where visuals help show the work at a glance.
|
GD-DOOM |
GD-WOLF |
M45-goPool |
M45-Core-Firmware |
goThoom |
|
ChatWire |
ONI-SeedView |
EUI |
PixelPirates |
FactMapGen |
|
Encore-4A |
Project-Retrace |
VectorFPGA |
M45-Gamma-Firmware |
A short public shortlist for the work I would point people to first. Private and smaller projects are represented in the project map below.
| Project | Focus | Why it is featured |
|---|---|---|
| GD-DOOM | Go game engine / WebAssembly | A full Doom engine with faithful and enhanced render modes, WAD loading, saves, demos, MIDI backends, native builds, and browser play. Play |
| TangMiner | FPGA Bitcoin hardware | Tang Nano FPGA hash engine in SpinalHDL/Scala, paired with a host Stratum client and strict real-hardware nonce validation. |
| M45-goPool | Bitcoin infrastructure | Standalone Go mining pool with Bitcoin Core RPC/ZMQ integration, Stratum serving, TLS, status UI/API, and operational hardening. Pool |
| M45-Gamma-Firmware | Embedded miner firmware | Fast-booting, intentionally simple Bitaxe Gamma 602 firmware with overclocking tools and percentage-weighted multi-pool share splitting, plus Web Serial flashing, web-based updating, safety limits, and hardware diagnostics. Flasher |
| GD-WOLF | Go game engine / WebAssembly | Wolfenstein 3D-style engine with software raycasting, save previews, browser persistence, spatial audio, and selectable render modes. Play |
| goThoom | Desktop game client | Modern cross-platform client for Clan Lord, a Macintosh-first game launched by Delta Tao in 1997 as one of the earliest graphical MMOs. Built with Ebiten, plugins, text-to-speech, asset fetching, and legacy graphics cleanup. |
| ChatWire | Game server operations | Long-running Discord-to-Factorio bridge providing moderation, orchestration, HTTP APIs, WebSockets, and diagnostics for M45-Science. The wider M45-Science community has about 750 Discord members, 18 hosted map/server instances, a database tracking about 10,000 Factorio player names, and a 50 GB map archive. M45-Science M45-Science GitHub |
| FactMapGen | Factorio map tooling | Private Go web app for editing map-generation settings, managing authenticated and audited presets, and previewing Nauvis and Space Age planets with a native renderer or exact headless Factorio. Editor |
| EUI | UI toolkit | Retained-mode Ebiten UI library with windows, widgets, themes, scaling, debug overlays, touch support, and a browser demo. Demo |
Repository metadata was checked with GitHub CLI on July 26, 2026 across Distortions81 and the M45-Science GitHub organization. Public repositories are linked. Private repositories are intentionally named without links.
The ranked list favors visible engineering depth, hardware validation, operational use, and cross-domain integration over recency alone. Smaller utilities, mirrors, and lightly modified forks are grouped lower or omitted from the main ranking.
| Rank | Project | Visibility | Area | Why it stands out |
|---|---|---|---|---|
| 1 | GD-DOOM | Public | Game engine / WebAssembly | Full Doom engine work in Go with faithful and enhanced presentation modes, WAD loading, save/load, demo support, native builds, and browser play. Play |
| 2 | Encore-4A | Private | FPGA / retrocomputing | Passive TI-99/4A side-port snooper for Tang Nano 20K that reconstructs VDP/PSG state, outputs HDMI video and audio, and supports emulator-fed replay. |
| 3 | FocusTerm | Private | FPGA / embedded terminal | Tang Nano 20K hardware terminal with a shared 80x24 display pipeline, multi-video FPGA target, and optional ESP32 SSH/SPI companion firmware. |
| 4 | Project-Retrace | Private | FPGA / retrocomputing platform | A modern retro system designed to remain simple and understandable while adding modern conveniences—similar in spirit to the Commander X16, but targeting a more cost-effective and capable FPGA platform. Built around the Tang Console 138K with 720p HDMI text and packed framebuffers, an in-tree MC68000-compatible soft CPU, flash-loaded apps, and BL616 USB input. |
| 5 | TangMiner | Public | FPGA / Bitcoin hardware | Tang Nano FPGA hash engine for Sipeed Tang Nano boards, paired with a host Stratum client and strict hardware nonce validation. |
| 6 | VectorFPGA | Private | FPGA / vector graphics | FPGA renderer for a 3D vector interpretation of Doom, outputting either 720p HDMI or analog X/Y signals for an oscilloscope. Its framebufferless Tang Mega 138K engine drives both displays from one atomic UART-fed vector list. |
| 7 | M45-goPool | Public | Bitcoin infrastructure | Standalone mining pool with Bitcoin Core RPC/ZMQ integration, Stratum serving, TLS, status UI/API, rate limiting, bans, and operations docs. Pool |
| 8 | M45-Gamma-Firmware | Public | Embedded firmware | Fast-booting, intentionally simple Bitaxe Gamma 602 firmware with overclocking tools and percentage-weighted multi-pool share splitting, plus Web Serial flashing, web-based updating, a live dashboard, PMBus/fan/OLED integration, and safety controls. Flasher |
| 9 | M45-Core-Firmware | Public | Embedded firmware | Classic ESP32 mining firmware achieving about 620 kH/s on ESP32-WROOM-32 hardware, with Stratum, hardware SHA candidate loops, display UI, local setup, stats, and settings pages. Flasher |
| 10 | TMX9999-FPGA | Private | FPGA / CPU design | TMS9900-compatible soft CPU and SoC work with HDMI text/graphics output, UART monitor, flash-loaded firmware, and compiled BASIC bring-up. |
| 11 | LM32-FPGA | Private | FPGA / CPU design | Performance-focused attempt to build a fast, binary-compatible implementation of the LatticeMico32 instruction set as an FPGA soft CPU, wrapped in a small SoC with RAM, UART, LED I/O, HDMI output, flash storage, and benchmark tooling. |
| 12 | FactMapGen | Private | Factorio tooling | Go browser editor for Factorio map-generation settings with guest workspaces, authenticated and audited presets, a native fast preview renderer for Nauvis and Space Age planets, and queued exact Factorio renders. Editor M45-Science GitHub |
| 13 | GD-WOLF | Public | Game engine / WebAssembly | Wolfenstein 3D-style engine in Go with software raycasting, save previews, browser persistence, native builds, and selectable render modes. Play |
| 14 | goThoom | Public | Desktop client | Modern cross-platform client for Clan Lord, a Macintosh-first 1997 title from Delta Tao and one of the earliest graphical MMOs, with Ebiten render backends, runtime plugins, asset handling, text-to-speech, and legacy-graphics cleanup. |
| 15 | ChatWire | Public | Game server operations | In production since 2017 as part of the M45-Science operations stack, providing Discord-to-Factorio moderation, orchestration, HTTP APIs, WebSockets, and live logging. M45-Science itself spans about 750 Discord members and 18 hosted map/server instances, with roughly 10,000 Factorio player names and a 50 GB map archive in its database. M45-Science M45-Science GitHub |
| 16 | Facility38 | Private | Factory game / simulation | Factory-building game and massively parallel simulation proof-of-concept focused on large-scale production, logistics, resource flows, and interacting systems. |
| 17 | BatteryMesh | Private | Embedded telemetry | ESP32/ESP-NOW store-and-forward battery telemetry with sensor, relay, gateway, and bridge roles, plus BLE and self-hosted web dashboards, current measurement, and capacity tracking. |
| 18 | ONI-SeedView | Public | Visualization / WebAssembly | Interactive Oxygen Not Included seed viewer using Go/Ebiten, map overlays, export support, and mobile-friendly controls. View |
| 19 | EUI | Public | UI toolkit | Retained-mode Ebiten UI library with windows, flows, widgets, themes, scaling, debug overlays, and touch support. Demo |
| 20 | GoMUD2 | Public | Server runtime | Go MUD server with telnet, optional TLS, ANSI rendering, in-game OLC editing, and structured player/builder/admin roles. |
| 21 | ProtonSync | Private | Linux automation | Upload-first Proton Drive sync helper with inotify watching, stability checks, hashed state, terminal UI, and explicit safety modes. |
| Area | Repositories |
|---|---|
| Hardware, firmware, and infrastructure | TangMiner, M45-goPool (Pool), M45-Gamma-Firmware (Flasher), M45-Core-Firmware (Flasher), DaVinci-Resolve-Container, Canon-Webcam-Linux, PCB-Frame, IrPowerOn |
| Engines, clients, and interactive tools | GD-DOOM (Play), GD-WOLF (Play), goThoom, ONI-SeedView (View), PixelPirates, GoMUD2, goMMO / goMMOServ, goMarketMadness / Market-Madness-TI99 |
| Libraries, audio, and data experiments | EUI (Demo), ImpSynth, GoBeep86, go-g726, numfmt, goXA, Acoustic-Space-Rendering, OpenCLFrac / golang-frac, GoRecoverBlurText |
| M45-Science Factorio operations | ChatWire, SoftMod, FactorioServerBrowser, DownloadProxy, FactBanSync, FactorioCommunityList, RelayClient / RelayUpdater, RoleBot / HelpBot |
| Smaller utilities and preservation | SolarLightCalc, goClanLordImgExport / goClanLordSndExport, goPixelChat, goRaycast2, Collatz, SeqPrimeGo, InterferencePattern, goWordSearch, goCardinal, goKillComments |
| Area | Repositories | Why they matter |
|---|---|---|
| FPGA and retro hardware | Encore-4A, FocusTerm, Project-Retrace, VectorFPGA, TMX9999-FPGA, LM32-FPGA | The strongest private cluster: FPGA video/audio, terminal and vector-display hardware, soft CPUs, and retro system work. |
| Infrastructure, embedded, and Bitcoin tooling | BatteryMesh, ProtonSync, PoolCensus, goBitaxeRemote, ScriptSigSearch, stratum-binary-batch, bitgraph | Telemetry, automation, mining, data inspection, and operational tooling that complements the public Bitcoin and firmware projects. |
| Factorio operations | FactMapGen, FactModDatDecode, relayServer | Internal tooling around map generation, mod data decoding, and server infrastructure. |
| Games and simulations | Facility38, LumenClay, Void-Colony, Shellworld, Network-Sim, TestGame06022026, GamePrototype18 | Larger private experiments in simulation, MUDs, terminal games, and prototype gameplay systems. |
| Data, media, and encoding experiments | QR-Img, GFEC, chatCompress, dm_bias_fit, ottoWave, ottoWave2 | Focused experiments in image/QR handling, forward error correction, compression, audio, and modeling. |
| Local setup and personal tooling | linux-mac-win-setup, Project-List, M45-Swag | Useful supporting repos, but less central to the public portfolio. |
Thank you for visiting.