Weather Dashboard displayed on M5Paper

Weather Dashboard

Weather dashboard on a battery-powered e-ink screen.

Laconic watch face for Bangle.js 2


My JavaScript code runs on my wrist.

The Stomachion, rendered using NanoVG-REPL


It's easy to do standard 2D graphics from Scheme, even without a foreign function interface.

ICFP 2022 logo

Scheme Workshop 2022

I had the honor to be co-chair, with Andy Keep, of this year's Scheme Workshop, held as part of ICFP 2022 in Ljubljana, Slovenia.

The talks are now on YouTube.

Vertical Monitor

Vertical monitors are great for coding.

Window Chord

No mouse. No workspaces. Just the window you want, where you want it, instantly.

REPL as a Service

Tips for running a Read-Eval-Print Loop as a service on Linux.

ICFP 2019 logo, based on the Ampelmännchen

Scheme Workshop 2019

I had a great time in Berlin at this year'sScheme Workshop, part of ICFP 2019.

The talks are now on YouTube.

Monet's garden at Giverny

RnRS Gardening

Programming language communities are like gardens. Often, we get to grow something new and beautiful. But sometimes, we have to collect our tools and do grunt work just to keep things alive.

Lisp in Person

The Bay Area Lisp and Scheme Users Group meets a few times every year to discuss many topics from a Lisp and Scheme point of view.

To date, we have thirty-two talks on our YouTube playlist.

Growing Schemes

I gave a talk on SRFI, the Scheme Requests for Implementation, at the Scheme Workshop 2018.