Projects

154 projects, 2011-2026.

    2026 (5)

  • daedalusOpinionated lightweight local-only kanban board
  • doppelgangerTTS voice cloning Discord bot
  • stix-ragAgentic RAG chatbot for STIX/ATT&CK data
  • stix-visualizerA Qt app to visualize STIX 2.1 data
  • furnaceHeat up room using CPU/GPU and displays DOOM fire
  • 2025 (9)

  • discord-rpc-bridgeA bridge to update Discord status when using Flatpak Steam and Discord
  • coulombMy Fedora Kinoite config and dotfiles
  • cyber-ragRAG chat API using open source cybersecurity data
  • fishtank-userscriptUserScript to tweak/add features to fishtank.live
  • morse-decodeDecode morse code signals from WAV files
  • questlinesA prototype app to build questlines for long-term goals
  • c64-teaTiny Encryption Algorithm (TEA) for Commodore 64 using BASIC and 6502 ASM
  • agartha-16Assembler for AGARTHA-16 assembly. (part of monorepo)
  • agartha-16Verilog implementation of AGARTHA-16 CPU core. (part of monorepo)
  • 2024 (11)

  • not-a-ratA joke “virus” using OpenGL and a little MASM
  • thoth-rv32Single cycle RISC-V core supporting most of RV32I
  • fpga-morse-uartReceives ASCII over UART, echos it back, and outputs morse code signal on LED
  • tetris-wasmTetris clone in C and compiled to WASM
  • vga-squareBounce a square around a VGA display using FPGA
  • fpga-dev-vscodeSimple FPGA development workflow with VS Code
  • query-sandboxA sandbox for messing around with various queries
  • nand-pcb-testHomemade PCB test using a CNC router
  • barrel-shifter-1616-bit barrel shifter
  • pi-learn-osA toy Raspberry Pi 3B kernel for learning (unfinished)
  • screensaver-asmA bouncing square screensaver-like thing in x86 real mode
  • 2023 (14)

  • fishtank-s02-qolAdds some quality of life features for Fishtank season 2 that I wanted
  • coulombMy development environment (2023)
  • wimshurst-machineA Wimshurst machine made to learn about electrostatic generators
  • enigma-scalaSimple enigma machine encrypt in scala
  • what-the-ohmA deep learning model to identify resistor bands
  • faraday-diskA Faraday disk built to learn about electromagnetism and early generators
  • deep-fryerAn image “deep fryer” to learn a little CUDA
  • anki-arrlConvert ARRL amateur radio exam question pools to Anki decks
  • smarter-ac-unitMaking my AC unit a little smarter with MQTT and Home Assistant
  • agarthaMy homelab
  • ir-snifferQuick and dirty 38KHz infrared sniffer
  • asteroid-nifiAn Apache NiFi flow to ingest fake asteroid data
  • cat-feederA cat feeder with a web interface
  • memento-moriA reminder to stop wasting time
  • 2022 (18)

  • screentimeA MacOS status bar item to show today’s screen time for roughly tracking work hours
  • wyvernAn untyped lambda calculus interpreter
  • cricketTemperature/Humidity sensor metrics in Prometheus with Discord alerting and Grafana
  • elastic-markovLearning Elastic stack by ingesting sentences generated by a Markov chain
  • anilist-mlTraining a binary classifier to predict if I would recommend an anime
  • pico-signalsMy PICO-1K Jam 2022 entry
  • perceptron-asmSingle-layer perceptron in x86 assembly
  • strong-zero-cssA subpar CSS art of a Strong Zero can
  • pascal-md5MD5 hash function in Pascal for no good reason
  • vacuum-tube-toolboxToolbox for tinkering with vacuum tubes
  • barrettotte.github.ioPersonal site with Hugo
  • dumb-gcoderDumb GCODE generator
  • mech-mouse-jigglerMechanical mouse jiggler
  • enki-osBasic x86 kernel
  • spotify-code-3d3D-printed keychain for Spotify codes
  • thule-jsonMinimal and unsafe json parser
  • rusty-lc3-vmLC3 VM in rust
  • candlestick-micOld candlestick phone as a headset
  • 2021 (13)

  • bootjackBootable Blackjack in 508 bytes
  • angstrom-cpu4-bit accumulator-based CPU
  • eriduCHIP-8 emulator
  • stencil-anlistWeb component to display Anilist user
  • qr-asmQR code generated with ARM assembly
  • wc-resistor-calcResistor calculator web component
  • github-fop-sbGenerate PDF of GitHub user’s repos
  • cat-doorbellSensor to detect my cat outside my door
  • forth-httpA small web server in Forth
  • going-forthA toy Forth interpreter
  • goto-bedVibrate a melatonin bottle so I go to bed
  • Genshi-BASICBASIC interpreter
  • md-graphGenerate network graphs from markdown links
  • 2020 (24)

  • punchitIBM 5081 punch card generator
  • KanpachiA small CLI for interacting with IBM i
  • PRDCSTNDA small COBOL program with basic data reports
  • Pogo2TsGenerate TypeScript models from Groovy objects using Antlr
  • DinoRunner-ASSmall endless runner in ActionScript
  • Pokemon-TeamsVue app to track my Pokemon teams
  • RPGLE-BFA BF interpreter in RPGLE
  • Subarashii-CPUA simple 16-bit RISC CPU
  • IBMi-BookMy eBook for learning IBM i, RPGLE, and more
  • Qsharp-2020Microsoft Q# Summer 2020 Coding Contest
  • DSL-5250DSL for headless interaction with a 5250 emulator
  • Plex-Discord-RPCUse Discord RPC to display local Plex session data
  • IBMi-JupyterJupyter notebook for IBM i
  • TRS80-TwilioTwilio Hackathon 2020 entry
  • Anilist-ESP8266Display Anilist user data on an OLED with ESP8266
  • RPGLE-TwilioRPGLE service program for sending text messages with Twilio
  • vscode-ibmi-languagesSyntax highlighting for IBM i languages
  • CPP-LispLisp interpeter in C++ (unfinished)
  • Drools-SpringBootSimple API to experiment with Drools
  • Ranger-LangCompiled programming language to learn compiler design
  • Simple-LangProgramming language made with Yacc and Lex (unfinished)
  • Scuffed-6502kt6502 CPU emulator to learn Kotlin
  • Issue-UtilsUtilities for moving from GitLab to Trello
  • Game-2600Small project in 6502 assembly for Atari 2600
  • 2019 (19)

  • MTM-2019IBM Master the Mainframe 2019 entry
  • Sock-serverA multithreaded server in C
  • Anilist-IBMiIBM i program to display Anilist user stats
  • CF-SQL-ClientAn unfinished SQL client written in ColdFusion
  • Groovy-BFYet another BF interpreter in Groovy
  • Anilist-RandExtA Chrome extension for selecting random Anilist entries
  • SQL-Game-of-LifeConway’s Game of Life in TSQL and animated in Python
  • Model-GeneratorGenerate Java and TypeScript models from JSON schema
  • BTC-HashLearning about bitcoin hashing and SHA-256 algorithms
  • XSLT-Perlin2D2D perlin noise SVG generator with XSLT 2.0
  • Linear-Algebra-CLinear algebra library for matrix operations
  • IBMi-Lib-RepoIBM i source export tool
  • vscode-cryptosbVS Code extension for showing cryptocurrency prices
  • IBMi-SpringBoot-APIAPI for exposing IBM i information
  • PowerShell-CRUDCRUD API written in only PowerShell
  • LoL-R-Data-VisualTwo basic League of Legends data visualizations
  • Anilist-RubyAPI wrapper gem for Anilist’s GraphQL API
  • SQL-UNIT-POCPOC MSSQL unit testing framework
  • TRS-80Exploration of TRS-80 with BASIC and Z80 assembly
  • 2018 (12)

  • resumeMy resume generated in LaTeX
  • TempleOS-and-HolyCAn adventure in TempleOS and HolyC
  • ProcJam-2018Procedural Generation Jam 2018 entry
  • Population-Genetics-SimSimulate basic population genetics
  • HTTP-ASM64The most basic HTTP server written in x86 assembly
  • Fortran77-EnigmaEnigma machine emulator in Fortran77 fixed format
  • HTML-JSON-ParserParse HTML to JSON AST
  • Codebase-ScannerA dumb ColdFusion code scanner
  • MEAN-ToDoListFullstack to do list app
  • Manga-DownloaderManga downloader using web scraping
  • Algorithm BenchmarkerFinal project of algorithm design and analysis college course
  • NodeJS_CRUD_AppFullstack movie watch list app for college course
  • 2017 (7)

  • Seaport-ProjectConcurrent programming project for college course
  • Assembly_XOR_EncryptText file XOR encrypt/decrypt in x86
  • SAP-1-CPUSAP-1 breadboard CPU
  • ZX-DungeonZX Spectrum Game Jam entry
  • Recursive-Descent-GUI-ParserGUI generator for college course
  • Medieval Shopkeep Game3D Medieval Shopkeep Game in Unity (abandoned)
  • AssemblySnakeVery basic snake game in x86 assembly
  • 2016 (5)

  • Terrain-Generation-StudyTerrain generation using perlin noise
  • Gainz-GoblinDiscord bot in Node.js to play YouTube audio clips
  • Space Survival Game3D Space survival game in Unity (abandoned)
  • Master-Telegrapher-DemoOne Button Game Jam Entry Summer 2016
  • three.js SceneFinal project of computer graphics college course
  • 2015 (5)

  • Survival Game3D Survival game in Unity (abandoned)
  • Tetris UnityTetris clone in Unity Engine
  • Portfolio v2Portfolio site with PHP and JS this time
  • BattleshipBattleship in C for college course
  • Asm Grade CalculatorCalculate student grades from text file with x86 assembly
  • 2014 (3)

  • VB Text EditorA text editor in Visual Basic for college course
  • Portfolio v1Portfolio site in static HTML and CSS
  • BattleshipBattleship in C++ for high school course
  • 2013 (5)

  • One Rep Max CalcJava GUI to calculate one rep max for lifting
  • TicTacToeTicTacToe in C++ for high school course
  • Atomic Minecraft ModBuild molecules using subatomic particles
  • Unnamed Minecraft ModAdds custom tree generation, recipes, etc.
  • Chase GameBasic chase game in GameMaker Studio
  • 2012 (3)

  • Sloth GameA bad clone of Frogger in Java for high school course
  • Pokemon BattleAn attempt at recreating the classic Pokemon battle UI/logic with Allegro
  • BlackjackBlackjack in C++ for high school course
  • 2011 (1)

  • Hello WorldMy first program (C++)