New Course Format

Summary: LispCast video courses have a new, interactive format. It's easier for me to make courses (read: more, faster) and it's a better experience for learners.

I've released 3 Clojure LispCast video courses. They've been selling okay (many thanks to my beautiful buyers and other supporters!), but I need more videos to bring it to a full time wage. After it took 9 months to do the core.async videos^1, I decided to take a step back and optimize my process.

The first thing I wanted to do was to be able to generate the videos programmatically. Editing video takes a long time, and I knew that most of what I did during editing was automatable. That would eliminate hours of work per hour of video.

I began coding up some routines to compose videos functionally (inspired by the functional animation work by Conal Elliott). It worked really well. I could code up simple animations, concatenate videos, and rerender a preview very quickly. This combined with the Emacs Lisp scripts I have for automatically recording the "typing" portions of the videos, I was ready to code up the video.

But I eventually scrapped the idea. Nothing wrong with the idea, but I found something better. Nola Stowe suggested I make the video course viewable in a browser. That means I have HTML and Javascript. Not only does it let me have a bit of interactivity (such as pausing at the right place automatically), it also enhances the experience a lot. Table of contents, links, smaller download, etc. So I got to work on an in-browser course.

I'm working on the next LispCast course, in the new format. It's already way faster to make, and the viewer experience is amazing. It combines video, interactive exercises, animations, and more into one package. I can't wait to show the world. I've got a lot of great things to announce soon, so sign up below to get updates as they come out.


It took 9 months calendar time. It's a part time endeavor to begin
with, and I had a few false starts and a few breaks. But mostly
it's just a labor-intensive process.