Manimations: Animated Math with Manim
A collection of mathematical animations built with Manim. Each one visualizes a concept from fractal geometry or dynamical systems. Box-Counting Dimension Estimates the fractal dimension of a binary image by overlaying grids at progressively finer scales and counting how many cells contain structure. The box-counting dimension is the slope of the log-log regression: $$d = \lim_{r \to 0} \frac{\log N(r)}{\log(1/r)}$$where $N(r)$ is the number of boxes of size $r$ that intersect the fractal. The animation sweeps through grid sizes from 4 to 128, plotting each $(log(1/r),\ \log N(r))$ point in real time and fitting the line at the end. ...
grimoire: TUI Reference Manager
A fast TUI reference manager for academic papers built with Rust. The filesystem is the source of truth — each reference is a directory with a PDF and an info.toml metadata file. SQLite with FTS5 provides full-text search, but it’s disposable: grimoire reindex rebuilds it from scratch. Running grimoire opens an interactive browser. Type to fuzzy-search across titles, authors, and abstracts. Press Enter to open the PDF, e to edit metadata, y to copy BibTeX. ...
rif: Terminal Session Daemon
A terminal session daemon that keeps your shell alive when you disconnect. Like tmux or screen, but without the built-in window manager — panes and tabs are left to your terminal emulator. Run rif dev to create a session named “dev”. Detach with Ctrl+\. Reattach later with rif dev — terminal state is restored exactly where you left off. ...
rview: Terminal Image & Video Viewer
A fast terminal image and video viewer built with Rust and the Kitty graphics protocol. Browse thousands of images in a thumbnail gallery, search by filename, and view fullscreen — all without leaving the terminal. Works great over SSH. ...
ampart: Apple Music Playlist Artwork Generator
Apple Music playlists default to an auto-generated mosaic of album covers that you can’t customize programmatically. Spotify does this better — each playlist gets a clean 2x2 grid of the first four album covers. I wanted the same thing for Apple Music. ...
ghx: GitHub TUI
A terminal interface for browsing GitHub — repos, issues, pull requests, and notifications — built with Rust, Ratatui, and the gh CLI. Run ghx to browse your repositories. Run it inside a git repo to jump straight to that repo’s issues. ...
mdr: Terminal Markdown Reader
A terminal markdown reader and task manager built with Rust, ratatui, and crossterm. Renders markdown with syntax highlighting, word wrapping, and live file watching — all without leaving the terminal. Run mdr <file.md> to open a file in reader mode. Press f to open the file picker overlay — type to filter, enter to select. ...
Anki Decks for Amateur Radio Exams
An automated pipeline that turns the official FCC amateur radio exam question pools into Anki flashcard decks. It scrapes the latest question pools from NCVEC, parses the .docx files, and generates .apkg decks directly using genanki — no running Anki instance needed. Covers all three license classes: Technician, General, and Extra — about 1,300 questions total, with all pool diagrams (circuit schematics, Smith charts, antenna patterns) embedded directly in the cards. ...
nudge: Apple Reminders from the Terminal
A terminal tool for Apple Reminders. Add, complete, search, and organize reminders without leaving the shell. Built with Rust for the CLI and TUI, with a Swift bridge binary that talks to EventKit natively. Running nudge with no arguments opens an interactive TUI. Reminders are listed with their priority and list name. Press a to add one inline, Enter to mark it done, / to search. CLI subcommands cover the same operations for scripting and shell aliases. ...
tome: Apple Notes from the Terminal
A terminal tool for Apple Notes. Quick capture, full-text search, and editing in your $EDITOR — without leaving the shell. Built with Rust, talking to Notes.app through AppleScript. Running tome with no arguments launches an interactive TUI. Notes are listed with their folder, navigable with vim keys or arrows. Press / to search, Enter to edit in your editor, d to delete. A set of CLI subcommands covers the same operations for scripting. ...