dogeystamp

Personal projects

This is an assorted list of projects and experiments I’ve done, along with links to either relevant blog posts or Git repositories where you can find more information. If there are any broken links here, please inform me. These are ordered roughly by recency and how proud I am of each project.


Chess-inator

A chess-playing engine that can beat most chess players I know in person. It uses a neural network, mostly trained using self-play games between different versions of this engine. The engine portion is written in Rust with zero dependencies (except std), while the machine learning parts are primarily written in Python.

Geode-Piano

Electronics project to revive a broken digital piano. I designed and built a new circuit from scratch to replace the original board. geode-piano is based on the Raspberry Pi Pico, using firmware made with the embassy-rs framework in Rust. It runs on MIDI over USB, and also includes note velocity detection.

Homeserver automation

Ansible playbook that automates configuration and deployment of my Raspberry Pi server network. Starting from entirely blank machines, it automatically sets up all the software and configurations, including a music server, Matrix chat server, and git hosting service.

MinRSS

A minimal RSS/Atom feed reader I wrote in C, inspired by suckless programs. The main feature is that it represents feeds as folders, with articles as files within them:

rss
|--news
|  |--article1
|  `--article2
`--blog
  |--post
  `--other_post

As such, minrss has very good compatibility with shell scripting. You could even use basic shell commands to read your RSS feeds.

LC-3 virtual machine

Rust implementation of the Little Computer-3 educational architecture as a virtual machine. LC-3 is a simplified 16-bit computer that can run programs and games like 2048. Concepts found in LC-3, like the fetch-execute loop, and assembly, are foundations of modern computing.

Dotfiles

Collection of configurations for my Linux desktop. I sink too much time into this, but customizing things feels great (as many other *nix users can probably confirm).

Miscellaneous things

This repo contains a bunch of weird experiments and scripts. For example: