Make Your Live Demo Flawless!

In the last few years I've given several presentations on Pinto. I usually start with a deck of slides and then finish with a live demonstration.

We all know the hazards of doing a live demonstration. And with command-line tools, there is the added risk of annoying the audience while you stumble around the keyboard.

I wanted to make all that go away. So I created App::Cleo. It includes the cleo utility which runs pre-recorded commands interactively. You can step through each command simply by pressing the space bar. So no more typos!

Sometimes, you want to stop and explain something in the middle of the command. For that, you can put breakpoints inside your commands. And when things go wrong, you can redo the current or previous command by pressing r or p respectively.

You can see cleo in action in this video (the live demonstration starts around 10:47).

PS: It wouldn't surprise me if there is already some kind of tool for this. If you know what it is, please enlighten me.


I recently wrote a script to simulate two users committing to a git repository - we wanted to test different strategies using "git rebase".

Looks pretty similar!

Just wanted to note there's a unix utility called "script" and "scriptreplay".
It records the terminal session. You can play the recorded session in normal speed, but also faster.

Comes in handy when you cannot really execute commands during presentation because of missing network for example.

Damian Conway demo'd IO::Prompter with this functionality at OSCON a few years ago:

Leave a comment

About Jeffrey Ryan Thalhammer

user-pic Hacker, speaker, author, dad.