Hello everyone. I'm James Howell.
I teach biochemistry and
molecular biology at Penn State University.
I'm going to talk today
about using Emacs to make all of
the materials for presenting
course meetings in my courses.
Everything that you're going to see today is
what I've made using
the methods that I'm going to describe.
The main point is that you can take
an Org document and
with a single Emacs document,
make both a pretty text document
that a student can have
on the desk and take notes on.
And also, I hope,
fairly useful and attractive slides
like the ones that I'm presenting right now.
Both of these
from a single source document.
Okay. If you'd like
to see the handout that goes along with this,
you can download it
at the [Sourcehut] repository where
I've put— everything's here.
So if you'd like to go look at it,
you can follow with the handout.
So I promised to talk about
both authoring and presenting.
And first I'm going to talk about presenting.
I'm not the only one who does this.
You might have seen System Crafters [David Wilson]
or Prot's [Protesilaos Stavrou's] channel or
Mike Zemansky's channel on Youtube.
(Prot actually is going to be presenting tomorrow.)
Maybe you've seen this
chemical engineer at Carnegie Mellon,
John Kitchin or Eric Fraga
or Olivier Berger all have made
blog posts about using Org mode
to produce course materials.
This pair Ro and Namkoon
actually published a peer reviewed paper.
There's prior art here
that I'd like to acknowledge.
Let me talk about my practices:
First, the hardware.
This is the hardware that I'm using to
record this recording at the very moment,
but also I carry these
into every course meeting.
I've done this for quite a while,
this entire semester,
and a few previous semesters
where everything fits in a backpack.
I do every meeting with this tablet—
it's a Microsoft Surface that I put
a Linux distribution on—and this laptop.
I've got a bag full of
dongles and connectors and so forth.
It all fits in a backpack.
This is very mobile.
I can set it up and tear it down
before and after every class
with just a couple minutes.
There's the laptop and the
tablet with a stylus.
Where's my stylus?
So that I can draw...
... which is very useful.
Obviously, I need a camera.
Today, I'm using a desk mic,
but when I'm remote,
I use a lapel mic.
and a video converter,
and I'll show you why that's important.
And then all of the ancillary equipment.
One thing that's nice about using
a completely free software stack is
that it tends to run
on underpowered hardware,
and none of the software cost anything.
I could have spent much less than this
on a used computer and
a used tablet. And everything else,
these are high estimates.
I spent way less than
$1,000 for all of this equipment.
And it's my equipment,
so I have hardware
and software control over it,
Which is nice.
If you have an attitude of upcycling and building,
and [if] this is a hobby anyway,
this is an easy way—
what I'm saying is—
the entry into using these things,
there's certainly a very low cost barrier.
Because the hardware is so weak,
I have the tablet for doing tablet stuff,
and then I use the laptop to
do all of the streaming and recording.
I take the video output
of the tablet and convert it to
USB input into the laptop.
Just to give you a diagram here,
there's a laptop and there's a tablet.
The tablet has a stylus.
They both run GNU/Linux distributions.
You've got a webcam that
goes into the laptop.
You've got video output
from the tablet that goes into the laptop.
There's a microphone that
goes into the laptop,
and then audio and video come out of
the laptop and go into
some AV system or another.
Okay. This was Wednesday,
teaching microbiology.
There's the tablet, there's the laptop.
There's the external screen
in the podium here you can
plug into the AV system.
There it is. From where I stand,
this is what the screen looks like.
This is what students are seeing,
on the live stream
and later on the recording.
And students in the room
can see this as well.
So you notice this is kind of meta,
but the camera and
the contents of the screen are
there when I wander around,
and when I stand in front of the screen,
the students who aren't in the room can
still see what I'm pointing to on the screen.
Nobody gets left out.
Let's talk about
the software that I use.
There's a lot of different things that
I want to be able to show.
And so I need a few different
software packages— besides Emacs.
For drawing on the tablet, I use
(I don't know quite how this is pronounced:
I think it's) Xournal++
I use the web quite a bit,
especially if I want to just
spontaneously look something up.
Often I use video,
especially molecular animations.
And that's incredibly powerful.
And then now and again, I want to look at text.
Especially in
the English course that I teach,
there's quite a bit of text.
I'll use Emacs for that.
The video compositor, the thing that
puts this video and me in the green screen.
and all of this stuff together, is called
OBS Studio—and that also does recording.
It's ALMOST a completely free software stack.
I use Zoom to do
the streaming and video
conferencing because all of
the students are forced to use it for
their other classes and
I've gone along with it.
But a good alternative is
Jitsi Meet. There are others.
Okay. Again, here's
the hardware setup. On the tablet,
I'm running Xournal++. On the laptop,
I've got Firefox and VLC, and Emacs.
OBS is compositing that together.
And I use Zoom, but you could use Jitsi.
All right, let's
demonstrate this live. Here we go.
Here goes, nothing. The drawing program
is really good because I can draw
with the stylus on a tablet.
It's a remarkable thing—
I teach in these big lecture halls,
and I guess they want them to be fancy?
And so they don't have blackboards and
whiteboards! If I want to be able to draw,
if I want to do anything approaching analog,
it has to be with this software!
In this presentation, I
don't have very many diagrams,
but in my courses, most of
the slides are complicated diagrams.
Being able to annotate them
is really important.
This is why I don't use Emacs for
presenting these kinds of documents,
because I want to be able
to mark them up visually.
I can show you what that looks like.
By the way, here's how OBS works:
I can go from different "scenes"
So I can just do just me,
or I can show you the slides,
or I can show you what I see on the tablet.
On the tablet, I can go
through all of the— notice here,
I'm scrolling through all
of the different slides.
I've got all kinds of different markup tools,
and tools for controlling
zoom and what page I'm on,
but you don't have to see that.
Okay. Firefox, boy, I do a lot of this.
All of the quizzes,
quizzes and exams in my courses
are online on this
web platform called Canvas,
which is good enough.
It's based on a GPL3 package,
but this one is proprietary for Penn State.
Notice that there's a quiz
every day, and this quiz,
every quiz has a recording from
that day and you notice
there's a picture of me teaching,
pointing to the slides.
There's the slides themselves.
I use OBS to composite in
the Zoom chat because I teach this hybrid.
There's people in the room
and there's people at
other campuses who are in this course.
Having the Zoom chat in
the live feed is very useful.
Then the quiz—
at the next class meeting,
we'll go through this quiz.
Here's some experimental data
and here's a question where they're
supposed to interpret these data.
We can in class together,
we can review those.
That's why Firefox is useful.
Being able to inhabit,
being able to inhabit
figures like this is incredibly powerful.
This is the silver lining of being
forced to teach online during the pandemic,
because I couldn't do
this before I had a green screen.
But even more powerful than this—
For years, I showed students
this figure by standing in front
of it or by having a
projector screen above me.
And I said, "This is the B form of DNA."
"This is the most common form of DNA."
"You see here that there's this minor groove."
"And then this feature
is called the major groove."
And students couldn't see it.
But if you animate it—
if you just have it
move, the apparent movement,
It's not really movement,
it's apparent movement.
And it tricks your visual cortex into
adding three dimensional structure to this.
You can see this feature is
the major groove and that feature
is the minor groove. And a static
image just can't provide
that understanding, while moving image can.
I use Emacs to look at text.
Where's Emacs? Here's Emacs! We read
Vonnegut in this English class that I
teach and I'm going to tab over to Emacs.
It's nice to be able
to have text jump
around and be dynamic, right?
If you, if you want to look
at this passage and I'll
have somebody read it aloud.
And then we talk about why he chose
this word and why he chose that word,
and the cadence, and the alliteration.
Then we can go to another particular excerpt
and pick that apart on the screen together.
That would be difficult to do with
other software that would be very tedious
to do on the chalkboard.
So Emacs is really good for that sort of thing.
Mostly what I use Emacs for is not to
present but to make slides and handouts.
Okay. Again, the thing that I want to
stress is that the slides
and the handouts can be produced from
a single Org mode document.
This entire presentation
was assembled in Emacs.
I'll show you how I did that.
I think everybody
probably knows what Org mode is.
But for our purposes, it's a way
to write documents in plain text.
That's very important because one of
the biggest advantages of this is
being able to do version control.
I don't have Powerpoint decks
everywhere with slides that
there's no way to keep track of them.
Having these be plain text
means that I can just put them in
a git repository.
Very clean and human readable markup
including handling tables
which is just incredibly powerful.
You can manage projects and tasks.
But the fact that it's an outline
that you can produce a document that's
hierarchical and fold and
reveal different parts of it.
But to produce a book length lectures for
an entire semester and use
those to produce both slides and handouts,
that's very powerful,
at least for my brain. To be able to
put it all together and have it be
discursive rather
than having to be graphical.
You can export to
a million different formats including
PDF documents like the handouts as
LaTeX, and slides like these through Beamer export.
The approach is to think
about pedagogy rather than thinking
about software or thinking
about graphic design.
To think about how can
I make the best argument?
How can I make the best,
the most effective sequence of ideas?
All I've done is make a few tweaks to
the export backends for LaTeX and
Beamer to customize them
for my particular needs.
And I'll show you what I've done.
You've seen this already. I'll put
one idea in big text on the screen.
I find it to be effective to
make a single idea explicit at one time.
Now, some concepts can
be explained with words or text,
but many ideas are best just illustrated.
In contrast, we've
all used Powerpoint, right?
And Edward Tufte has taught us
about how Powerpoint is so
terrible from a cognitive point of
view and from a communications point of view.
So using Org mode is much better.
How is it better?
Well, Tufte also tells us that
any oral presentation that is substantive at all
has to have some physical handout
that the audience can use to take notes on.
Slides are terrible handouts.
And notes are usually terrible slides.
Having one document where you
can produce both and have them be,
have the same organization,
but different structures and
different visual organization is
something that I wanted
for a long time and I can only do it
with Emacs.
Being able
also for my brain to
separate the work of writing and developing
ideas and developing explanations
and developing arguments
and scaffolding them.
That's jargon in pedagogy
for bringing the student along.
Separate that work from wrangling slides.
That's super helpful for me.
Again, you have
an Org document that makes
both the handouts and the slides.
What's beautiful about it is
that everything is an outline.
And again, it's very discursive.
Here's Tufte's famous poster where he's making
fun of the psychology of Powerpoint.
I don't know about you, but I have the kind of brain
and I'm in the kind of job
and I'm at the age where I don't have extra
cognitive function! You know?
So streamlining this workflow
has been really helpful.
All right, so let me show
you what I've developed.
Let's look at the Org doc.
Okay. So what you see is you have
a typical Org mode buffer.
There's two headings here.
One of them is stuff that I've deleted and
the other is the talk.
And so all of these subheadings have
various things underneath including
these macros that I wrote like `include-slide`,
`impact-slide`, `subsection-slide`,
et cetera, and then a bunch of stuff.
Then I've got this include
file that just has
the macros that I've written.
You can look at this on the repo.
I'm not going to take
the time to walk through it and
explain what all the LaTeX means.
But the upshot is
that by including that file
that has all the macro definitions,
you get things like this macro pause
or newline or whitespace-break,
which just allow—
pause splits a slide into two frames,
so you can get these overlays,
so you can go through paragraphs one by one.
These just put
white space in.
Text-slides: This thing here, this title
is level three heading.
Figure-slides:
the same thing are level three headings.
One of the most powerful things
is that I can take other files,
I can take other Org files that have level
three headings that are slides and those can
be in some other repository.
I only need to have one version of
that slide that I
can use in multiple courses.
Just that functionality is
incredibly helpful for keeping
track of work from a few years ago.
All of these I'm going to
explain in the next few slides.
The section slides
correspond to course modules.
Each of these is going to
be a few weeks of a course.
This is a major division of a course.
I have some macros so that I can decorate
this with relevant information.
Then for every subsection,
level two headline, that
corresponds to a major
course topic in the module.
Then text slides, again,
level three headlines become
titles for the slide,
and level four headlines become text elements.
Most of my slides look like this.
They're figures.
Here's the glycolytic pathway.
Level three gives you the title.
It's missing here actually,
but there's a way you can put in captions.
This line here just tells
the LaTeX export backend
how big you want it and stuff like that.
Impact slides, they have to go under H1 or H2.
And they just give you one of these text slides.
For an entire slide being an image,
you can use this image-slide macro.
I often put in blank slides to
remind myself that this is a time to stop.
Often there's something for me to
draw here with the stylus.
I often use— it used to be Powerpoint,
now I use LibreOffice Impress—to make
multi slide animations like
the sphere and the donut and the GI tract.
And this hardware thing
that I did for you today,
I export those animations as PDFs.
Then I can just slurp them up into the slides.
Just into the slides, not into
the handouts with this macro.
I hope that you find this useful.
I hope you share it with
other educators that you know.
Here is the sourcehut repo,
here's how to get in touch with me.
I look forward to addressing your questions.
I want to say thank you
to Sacha [Chua] and the organizers,
and to everyone who made this possible and
to all of you in the community.
Because as we all know,
that that's what makes Emacs such a strong
and powerful package is
all of the people behind it.
Thanks everybody.