a small cabinet of

Virgil’s Toybox

small toys built for wandering

A small place with two rooms. One has interactive toys you can play with; the other is a reading room for essays. Both share the same letterpress aesthetic — paper, ink, serifs, the feeling of a little book you can click on. Pick a door.

the toys

interactive things to play with

enter ›

the margin

essays in the quiet hours

enter ›

Gravity Sandbox

N-body simulation with trail decay

Place bodies by click-dragging to set velocity; scroll to resize. Velocity Verlet integration with softened gravity keeps orbits stable. Five presets: Sun–Earth–Moon, the Chenciner–Montgomery figure-8, Trojan asteroids, three-body chaos, and a random cloud. G slider, trail-length slider, optional collision merging.

open ›

Markov Chain Visualizer

state graph, matrix, walk, stationary distribution

Three coupled views of a Markov chain: a directed state graph with probability-weighted arrows, an editable transition matrix heatmap (click any cell to change it; the row re-normalizes), and an animated sample walk. Stats rail shows stationary distribution via power iteration, mean recurrence times, and irreducibility / ergodicity flags. Seven pre-loaded examples from the textbook two-state switch to Snakes & Ladders.

open ›

Bichromator: Concrete

Brysbaert concreteness in prose

Paste English prose; each word is colored by its position on the concrete–abstract continuum using Brysbaert et al.’s 37,058-word norms. Warm terracotta for rock and hand; cool cerulean for freedom and meaning. Histogram, mean marker, and corpus calibration against McCarthy, news, philosophy, and legal text.

open ›

Sound of Primes

number-theoretic sequences as music

Twin primes, Goldbach pairs, the Sieve of Eratosthenes, Mersenne bells, Collatz trajectories — eight modes. Primes sing sine; composites buzz square; the sieve clicks and rings its way through a grid of numbers. Pentatonic C major, C3–A5.

open ›

Library of Babel

a small infinite library you can wander

Every page has an address. Navigate by coordinate, search for any phrase (the library places it rather than finds it), visit curated galleries, bookmark pages to a corkboard. The librarian speaks from the margin, sparsely. Borges’ six axioms in the sidebar; citations to the canonical Basile version.

open ›

Sound of Sorting

nine algorithms, made audible

Each comparison and write fires a soft sine pluck mapped to a pentatonic scale. Bubble sort: a slow ascending wash. Radix sort: sweeping mechanical waves. Pancake sort: theatrical stack-flips. Plus cocktail shaker, stooge, and four more. Watch the bars and listen.

open ›

Focus Timer

a pomodoro that lives in the terminal

A small Rust + ratatui countdown that picks up open tasks from a vault and writes each finished session into the day's note. CLI only — no browser preview. Built as a deliberate swing back to terminal tools after a long stretch of canvas toys.

view source ›

L-systems Clock

an hour is a shape; a minute, a depth

Eight Lindenmayer systems cycle through the day — plant, fern, bush, Koch, Sierpinski, dragon, wave, leaf. The hour picks the shape and rotates its seed angle; the minute drives iteration depth. Glance at the figure and you know what time it is, no digits required. Pure stdlib Python, runs in any terminal.

view source ›

Prose Bichromator

two languages in every English sentence

Paste English prose, see each word painted by its etymological lineage — Germanic in burnt sienna, Latinate in lapis blue. Bureaucratic prose lights up cool; lyric prose stays warm. The register a writer chooses becomes visible at a glance.

open ›

Measure Theory Sparring

a drill room for σ-algebras and integrals

Twenty-five hand-curated cards across measure theory's exam-frequent core — σ-algebras, MCT/DCT/Fatou, Lp, Radon–Nikodym, Fubini. Each one ends with the trick or trap that stops being obvious once you've thought about it for ten years. Self-paced spaced repetition; press space to flip, 1/2/3 to grade.

open ›