Projects
161 projects I've built or experimented with, 2011-2026.
2026 (11)
- treesitter-ibmi Tree-sitter grammars for IBM i languages: RPGLE, RPG/400, CL, DDS, and more
- fusion-box Experimental: patched wine 11.10 (winewayland.drv) + DXVK in a distrobox container to run Autodesk Fusion natively on Wayland
- temple-os-mcp An experimental MCP server for TempleOS
- fishtank-android-tv A basic app for watching Fishtank.live on Android TV (unofficial)
- fishtank-roku-app A basic app for watching Fishtank.live on Roku (unofficial)
- fishtank-userscript UserScript to tweak/add features to fishtank.live (Season 5 update)
- daedalus A lightweight, offline-first kanban board desktop app
- doppelganger TTS voice cloning Discord bot
- stix-rag Agentic RAG chatbot for STIX/ATT&CK data
- stix-visualizer A Qt app to visualize STIX 2.1 data
- furnace Heat up room using CPU/GPU and displays DOOM fire
2025 (9)
- discord-rpc-bridge A bridge to update Discord status when using Flatpak Steam and Discord
- coulomb My system config and dotfiles (Fedora Kinoite)
- cyber-rag RAG chat API using open source cybersecurity data
- fishtank-userscript UserScript to tweak/add features to fishtank.live
- morse-decode Decode morse code signals from WAV files
- questlines A prototype app to build questlines for long-term goals
- c64-tea Tiny Encryption Algorithm (TEA) for Commodore 64 using BASIC and 6502 ASM
- agartha-16 Assembler for AGARTHA-16 assembly. (part of monorepo)
- agartha-16 Verilog implementation of AGARTHA-16 CPU core. (part of monorepo)
2024 (11)
- not-a-rat A joke “virus” using OpenGL and a little MASM
- thoth-rv32 Single cycle RISC-V core supporting most of RV32I
- fpga-morse-uart Receives ASCII over UART, echos it back, and outputs morse code signal on LED
- tetris-wasm Tetris clone in C and compiled to WASM
- vga-square Bounce a square around a VGA display using FPGA
- fpga-dev-vscode Simple FPGA development workflow with VS Code
- query-sandbox A sandbox for messing around with various queries
- nand-pcb-test Homemade PCB test using a CNC router
- barrel-shifter-16 16-bit barrel shifter
- pi-learn-os A toy Raspberry Pi 3B kernel for learning (unfinished)
- screensaver-asm A bouncing square screensaver-like thing in x86 real mode
2023 (14)
- fishtank-s02-qol Adds some quality of life features for Fishtank season 2 that I wanted
- coulomb My development environment (2023)
- wimshurst-machine A Wimshurst machine made to learn about electrostatic generators
- enigma-scala Simple enigma machine encrypt in scala
- what-the-ohm A deep learning model to identify resistor bands
- faraday-disk A Faraday disk built to learn about electromagnetism and early generators
- deep-fryer An image “deep fryer” to learn a little CUDA
- anki-arrl Convert ARRL amateur radio exam question pools to Anki decks
- smarter-ac-unit Making my AC unit a little smarter with MQTT and Home Assistant
- agartha My homelab
- ir-sniffer Quick and dirty 38KHz infrared sniffer
- asteroid-nifi An Apache NiFi flow to ingest fake asteroid data
- cat-feeder A cat feeder with a web interface
- memento-mori A reminder to stop wasting time
2022 (18)
- screentime A MacOS status bar item to show today’s screen time for roughly tracking work hours
- wyvern An untyped lambda calculus interpreter
- cricket Temperature/Humidity sensor metrics in Prometheus with Discord alerting and Grafana
- elastic-markov Learning Elastic stack by ingesting sentences generated by a Markov chain
- anilist-ml Training a binary classifier to predict if I would recommend an anime
- pico-signals My PICO-1K Jam 2022 entry
- perceptron-asm Single-layer perceptron in x86 assembly
- strong-zero-css A subpar CSS art of a Strong Zero can
- pascal-md5 MD5 hash function in Pascal for no good reason
- vacuum-tube-toolbox Toolbox for tinkering with vacuum tubes
- barrettotte.github.io Personal site with Hugo
- dumb-gcoder Dumb GCODE generator
- mech-mouse-jiggler Mechanical mouse jiggler
- enki-os Basic x86 kernel
- spotify-code-3d 3D-printed keychain for Spotify codes
- thule-json Minimal and unsafe json parser
- rusty-lc3-vm LC3 VM in rust
- candlestick-mic Old candlestick phone as a headset
2021 (13)
- bootjack Bootable Blackjack in 508 bytes
- angstrom-cpu 4-bit accumulator-based CPU
- eridu CHIP-8 emulator
- stencil-anlist Web component to display Anilist user
- qr-asm QR code generated with ARM assembly
- wc-resistor-calc Resistor calculator web component
- github-fop-sb Generate PDF of GitHub user’s repos
- cat-doorbell Sensor to detect my cat outside my door
- forth-http A small web server in Forth
- going-forth A toy Forth interpreter
- goto-bed Vibrate a melatonin bottle so I go to bed
- Genshi-BASIC BASIC interpreter
- md-graph Generate network graphs from markdown links
2020 (24)
- punchit IBM 5081 punch card generator
- Kanpachi A small CLI for interacting with IBM i
- PRDCSTND A small COBOL program with basic data reports
- Pogo2Ts Generate TypeScript models from Groovy objects using Antlr
- DinoRunner-AS Small endless runner in ActionScript
- Pokemon-Teams Vue app to track my Pokemon teams
- RPGLE-BF A BF interpreter in RPGLE
- Subarashii-CPU A simple 16-bit RISC CPU
- IBMi-Book My eBook for learning IBM i, RPGLE, and more
- Qsharp-2020 Microsoft Q# Summer 2020 Coding Contest
- DSL-5250 DSL for headless interaction with a 5250 emulator
- Plex-Discord-RPC Use Discord RPC to display local Plex session data
- IBMi-Jupyter Jupyter notebook for IBM i
- TRS80-Twilio Twilio Hackathon 2020 entry
- Anilist-ESP8266 Display Anilist user data on an OLED with ESP8266
- RPGLE-Twilio RPGLE service program for sending text messages with Twilio
- vscode-ibmi-languages Syntax highlighting for IBM i languages
- CPP-Lisp Lisp interpeter in C++ (unfinished)
- Drools-SpringBoot Simple API to experiment with Drools
- Ranger-Lang Compiled programming language to learn compiler design
- Simple-Lang Programming language made with Yacc and Lex (unfinished)
- Scuffed-6502kt 6502 CPU emulator to learn Kotlin
- Issue-Utils Utilities for moving from GitLab to Trello
- Game-2600 Small project in 6502 assembly for Atari 2600
2019 (20)
- MTM-2019 IBM Master the Mainframe 2019 entry
- Sock-server A multithreaded server in C
- Anilist-IBMi IBM i program to display Anilist user stats
- CF-SQL-Client An unfinished SQL client written in ColdFusion
- Groovy-BF Yet another BF interpreter in Groovy
- Anilist-RandExt A Chrome extension for selecting random Anilist entries
- SQL-Game-of-Life Conway’s Game of Life in TSQL and animated in Python
- Model-Generator Generate Java and TypeScript models from JSON schema
- BTC-Hash Learning about bitcoin hashing and SHA-256 algorithms
- XSLT-Perlin2D 2D perlin noise SVG generator with XSLT 2.0
- Linear-Algebra-C Linear algebra library for matrix operations
- IBMi-Lib-Repo IBM i source export tool
- vscode-cryptosb VS Code extension for showing cryptocurrency prices
- IBMi-SpringBoot-API API for exposing IBM i information
- PowerShell-CRUD CRUD API written in only PowerShell
- LoL-R-Data-Visual Two basic League of Legends data visualizations
- Anilist-Ruby API wrapper gem for Anilist’s GraphQL API
- SQL-UNIT-POC POC MSSQL unit testing framework
- crypto-esp8266-disp Display ticker of BTC and ETH prices with ESP8266
- TRS-80 Exploration of TRS-80 with BASIC and Z80 assembly
2018 (12)
- resume My resume generated in LaTeX
- TempleOS-and-HolyC An adventure in TempleOS and HolyC
- ProcJam-2018 Procedural Generation Jam 2018 entry
- Population-Genetics-Sim Simulate basic population genetics
- HTTP-ASM64 The most basic HTTP server written in x86 assembly
- Fortran77-Enigma Enigma machine emulator in Fortran77 fixed format
- HTML-JSON-Parser Parse HTML to JSON AST
- Codebase-Scanner A dumb ColdFusion code scanner
- MEAN-ToDoList Fullstack to do list app
- Manga-Downloader Manga downloader using web scraping
- Algorithm Benchmarker Final project of algorithm design and analysis college course
- NodeJS_CRUD_App Fullstack movie watch list app for college course
2017 (7)
- Seaport-Project Concurrent programming project for college course
- Assembly_XOR_Encrypt Text file XOR encrypt/decrypt in x86
- SAP-1-CPU SAP-1 breadboard CPU
- ZX-Dungeon ZX Spectrum Game Jam entry
- Recursive-Descent-GUI-Parser GUI generator for college course
- Medieval Shopkeep Game 3D Medieval Shopkeep Game in Unity (abandoned)
- AssemblySnake Very basic snake game in x86 assembly
2016 (5)
- Terrain-Generation-Study Terrain generation using perlin noise
- Gainz-Goblin Discord bot in Node.js to play YouTube audio clips
- Space Survival Game 3D Space survival game in Unity (abandoned)
- Master-Telegrapher-Demo One Button Game Jam Entry Summer 2016
- three.js Scene Final project of computer graphics college course
2015 (5)
- Survival Game 3D Survival game in Unity (abandoned)
- Tetris Unity Tetris clone in Unity Engine
- Portfolio v2 Portfolio site with PHP and JS this time
- Battleship Battleship in C for college course
- Asm Grade Calculator Calculate student grades from text file with x86 assembly
2014 (3)
- VB Text Editor A text editor in Visual Basic for college course
- Portfolio v1 Portfolio site in static HTML and CSS
- Battleship Battleship in C++ for high school course
2013 (5)
- One Rep Max Calc Java GUI to calculate one rep max for lifting
- TicTacToe TicTacToe in C++ for high school course
- Atomic Minecraft Mod Build molecules using subatomic particles
- Unnamed Minecraft Mod Adds custom tree generation, recipes, etc.
- Chase Game Basic chase game in GameMaker Studio
2012 (3)
- Sloth Game A bad clone of Frogger in Java for high school course
- Pokemon Battle An attempt at recreating the classic Pokemon battle UI/logic with Allegro
- Blackjack Blackjack in C++ for high school course
2011 (1)
- Hello World My first program (C++)