Oraide is a Python library to help presenters with live coding, demonstrations, and recording screencasts. Oraide uses tmux to create the illusion that someone is manually typing in a terminal session. I wrote Oraide because I was asked to give a presentation at June’s DC Python Meetup.
I gave an introduction to the Sphinx documentation tool. The middle half of the presentation was a live demonstration of the software, including running several terminal commands, responding to a dozen or so prompts, and writing a sample document in vim. Of course, I didn’t have to do a live demonstration; I could have used screenshots or video to show the audience what working with Sphinx looks like. But I prefer the realism of a live demo. What I don’t prefer is the prospect of typing and attempting to narrate at the same time, or the long, awkward silences of doing one and then the other, in sequence.
Instead, I wrote Oraide to bring the best of both worlds: an actual live demo, but with pre-planned keystrokes run on-demand. So I was able to do my live demonstration largely hands-free, only touching the keyboard as frequently as I would have advancing some slides, and giving me a +10 bonus to my speech skill.
Since giving my presentation, I’ve been busy moving from Bethesda, Maryland to Newark, Delaware, but in the past few weeks I’ve found some time to clean up my code, do some packaging work, and, most importantly, write some documentation for my tool. Since the tool was a rewrite of an idea I had a few years ago to control GNU Screen, I reused the name Oraide, a portmanteau of orate and aide.
The next time you need to show off something in a terminal session, give Oraide a try. The tool is open source, simple, documented, and completing the tutorial should only take a few minutes.