Slideshow
If C is good enough for your program, it's good enough for your presentation.

Slideshow provides a framework for slide presentations on Plan 9 using the native draw(2) functions. You define a function per slide, with optional transitions between them, and an array of the steps of the presentation. The accompanying main.c and mkfile will build a program for your presentation which will allow you to step forward and backward through slides. The functions for your slides can use whatever draw functions you like: basic strings (or my wordwrap function), arbitrary drawing with draw(), line(), and friends, import arbitrary graphics with loadimage(), whatever. A few helper functions are provided to simplify common tasks.

Two presentations are included in the distribution: demo, providing no content but showing the structure, and nile, a presentation on Nile which, while a work in progress, demonstrates many of the ways to build slides and transition between them. To make your own, you must create a new .c file for it, create one function for a slide, and define steptab[] containing at least that one function; you could copy demo.c and start adding to that. A proper man page is pending.

Slideshow runs on both Plan 9 and Plan 9 from User Space; for the later, 'cp mkfile.p9p mkfile'. Like most of my programs which run on both, checks for $service being either blank, unset, or set to unix to detect Plan 9 from User Space, in which case it will use different fonts.

Slideshow was largely inspired by Robin Sloan's "tap essay" Fish, which I highly recommend.