- July 2019, Racket
Con, Salt Lake City, Utah —
In Production: Creating Physical
Objects with Racket
(starts at 1:35:00)]
- A talk about using Racket to produce physical objects
including circuit boards, laser-cut enclosures, and
- June 2019, BuzzConf Buenos
Aires, Argentina —
Lisp on a Microcontroller
- A talk about using Fennel on the ESP32 device to avoid common
pitfalls of "smart" devices and empower end users.
- March 2019, Fennel Conf
Portland, OR —
Interactive Development in 80kb of RAM
- A talk covering the use of Fennel on cheap nodemcu ESP8266 microcontrollers.
- June 2018, South Sound Developer Group,
Olympia, WA —
from a Game Jam
- A review of the creation
667 and competing in the the Lisp Game Jam with Fennel.
- November 2012, Clojure Conj
Raleigh, NC —
The Continuing Adventures of Leiningen
- A presentation given at Clojure Conj 2012 under the influence
of a severe flu about the development and features of Leiningen 2.
- March 2012, Clojure/West
San Jose, CA —
Swarm Coding [video]
- A presentation given on running group-coding
user group sessions geared towards exploration and learning.
- September 2011, Strange Loop,
St. Louis, MO —
Cozy with Emacs
- A workshop on getting the most out of your Emacs customizations.
- November 2010, Clojure Conj,
Raleigh, NC —
Making Leiningen work for You
- A presentation at the first Clojure Conj on Leiningen, the
project automation tool.
- April 2009 —
Functional Programming with Clojure
- A screencast teaching functional programming with the Clojure
programming language. The first published commercial
documentation released for the language. I wrote the script, but
Geoffrey Grosenbach did the visuals and narration. Watched by
thousands of developers.
- December 2008 —
PeepCode: Meet Emacs
- An hour-long screencast tutorial introducing the GNU Emacs
editor. Again, I wrote the script. Watched by thousands of
developers. Now distributed by PluralSight.
- November 2007, RubyConf,
Charlotte, NC —
Tightening the Feedback Loop [video]
- A presentation given on measuring and improving programming habits.