Projects
Projects I've worked on 2011-2024.
-
agartha-16
: My homebrew 16-bit CPU
-
from-stones-to-qubits
: A book on the history of computing and technology
-
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
-
barrel-shifter-16
: 16-bit barrel shifter
-
screensaver-asm
: A bouncing square screensaver-like thing in x86 real mode
-
pi-learn-os
: A toy Raspberry Pi 3B kernel for learning (unfinished)
-
enigma-scala
: Simple enigma machine encrypt in scala
-
fishtank-s02-qol
: Adds some quality of life features for Fishtank season 2 that I wanted
-
coulomb
: My development environment
-
wimshurst-machine
: A Wimshurst machine made to learn about electrostatic generators
-
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
-
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
-
pascal-md5
: MD5 hash function in Pascal for no good reason
-
strong-zero-css
: A subpar CSS art of a Strong Zero can
-
perceptron-asm
: Single-layer perceptron in x86 assembly
-
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
-
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
-
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
-
IBMi-Jupyter
: Jupyter notebook for IBM i
-
Plex-Discord-RPC
: Use Discord RPC to display local Plex session data
-
DSL-5250
: DSL for headless interaction with a 5250 emulator
-
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
-
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
-
IBMi-Lib-Repo
: IBM i source export tool
-
Linear-Algebra-C
: Linear algebra library for matrix operations
-
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
-
TRS-80
: Exploration of TRS-80 with BASIC and Z80 assembly
-
resume
: My resume generated in LaTeX
-
ProcJam-2018
: Procedural Generation Jam 2018 entry
-
TempleOS-and-HolyC
: An adventure in TempleOS and HolyC
-
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
-
NodeJS_CRUD_App
: Fullstack movie watch list app for college course
-
Manga-Downloader
: Manga downloader using web scraping
-
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
-
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
-
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
-
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
-
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
-
Sloth Game
: A bad clone of Frogger in Java for high school course
-
Blackjack
: Blackjack in C++ for high school course
-
Hello World
: My first program (C++)