Wordle GS
A version of Wordle for the Apple IIGS, written in C and built using a modern development environment. I used the project as a way of exploring if I could bring contemporary practices along with me, including automated builds and unit tests that run on a normal Linux CI runner while the application itself runs on an Apple IIGS.
Links: GitHub Release Page
On the Blog: Running lcov on a GitHub Linux Runner
Elsewhere: Wordle GS was played on Ron’s Computer Videos, mentioned in Call-A.P.P.L.E., mentioned in Juiced.GS, covered by SUPERJUMP, and is supported by Jeremy Rand’s Apple IIGS Wordle Solver desk accessory.
Wumpus for PicoSystem
A PicoSystem take on the classic Hunt the Wumpus, visually inspired by the TI-99/4A version that first introduced me to the game. I built it while exploring Pimoroni’s RP2040-based handheld and its C++ SDK. It has custom sprites and animations for movement, arrows, bats, pits, and, of course, the Wumpus.
Links: GitHub Release Page
On the Blog: Compiling for the PicoSystem • Wumpus for PicoSystem v0.0.1 Released • Wumpus for PicoSystem v0.0.2 Released
Pen Plotter / Generative Art
I’ve spent time experimenting with using code to make physical artwork using an AxiDraw pen plotter. The results have ranged from Logo turtle graphics to triangular meshes and patterns distorted with Perlin noise, usually plotted with pen on paper though also sometimes with a stylus drawing directly in sand.



On the Blog: Generating Plotter Art From Berkeley Logo
Elsewhere: From Pixels to Ink featured my algorithmic postcards in the Plot Party postcard roundup and a sine-wave-based sand plot in its collection of plotter art made with unconventional media.
UCBLogo / Berkeley Logo
I’ve contributed to UCBLogo (Berkeley Logo) on and off for a number of years, with work spanning build and portability fixes, user-interface behavior, release automation, and support for modern platforms. Part of what keeps drawing me back is the challenge of helping a classic educational language remain usable on contemporary systems without losing the qualities that made Logo interesting in the first place.
Links: UCBLogo on GitHub
On the Blog: Building ucblogo (Berkeley Logo) on the Raspberry Pi 400 • Generating Plotter Art From Berkeley Logo
3D-Printed Modules for fischertechnik
I revisited fischertechnik as an adult and designed 3D printed parts to make new modules which fit into the existing construction system without modifying the original parts. What began as a simple press-fit lid for the standard cassette bottom turned into modules for things like a panel-mount voltmeter and speaker. It also became a starting point for other people to design compatible modules of their own.



Links: Lid for Use with fischertechnik’s Cassette Bottom • Voltmeter Holder for fischertechnik Cassette Bottom
On the Blog: Designing a Lid for the fischertechnik Cassette Bottom • Integrating a Voltmeter with fischertechnik
Elsewhere: The designs are catalogued in the ftCommunity’s collection of 3D-printable parts, and Jeroen Regtien remixed the cassette-lid design into some very cool additional electronics modules.
3D-Printed Slot Plates for the Apple IIGS
I designed a set of 3D-printable rear slot plates for the Apple IIGS to simplify mounting modern cable connectors without permanently modifying the case. My original goal was just to have a clean disconnect point for moving my IIGS around, but I found I enjoyed the challenge of seeing how cleanly I could make the plates blend into the computer.



Links: Slot Plates for the Apple IIGS on Thingiverse
Elsewhere: A version of the audio connector plate is included with the LiteSound stereo audio interface, and Xanxi used the plates as inspiration for a 3D printable RCA backplate.
Generated Towns in Townscaper
While playing Oskar Stålberg’s Townscaper, I became curious about how garden paths are calculated. I found Chris Love’s article on the Townscaper file format. Using that as a starting point, I built town maps in Processing using Perlin noise to determine height, color, and distance above the waterline.



On the Blog: Generating Towns for Townscaper in Processing
Elsewhere: The project was later linked by kottke.org alongside Clive Thompson’s experiments using Townscaper as a data-visualization tool.
Cistercian Logo
After stumbling across Cistercian numerals, I thought their geometric structure looked like well suited to Logo turtle graphics. I used them as the basis for a short series exploring how complicated numerals could be built up from simpler drawing procedures, gradually refactoring the Logo code as the patterns and relationships between the shapes became clearer.



On the Blog: Exploring Cistercian Numerals with Logo • Exploring Cistercian Numbers with Logo – Part 2 • Exploring Cistercian Numbers with Logo – Part 3
Elsewhere: The series was later referenced in a 2024 Habr article surveying the history of Cistercian numerals and modern experiments with them.
Caves Under Thornhill
lorem ipsum
OctoGlow Progress Display
lorem ipsum
SocialChatter for Emic2
lorem ipsum
Train-Station Display for LEGO
lorem ipsum
Parts List Hack for LEGO Digital Designer
lorem ipsum