Tutorial screencasts for Emacs

Welcome to emacsmovies.org

| Comments

Welcome to Emacs Movies.

This is a blog where I plan to post screencasts to teach people how to use the programmers editor Gnu Emacs.

Production workflow

The videos are recorded by me and then encoded and uploaded. I’m not doing any editing and so small mistakes will be left in there. I do plan to make a script and do a trial run before recording the final version so there’s some “pre editing”.

I use this makefile to automate the entire process

I use something like make number=01 name=introduction to create 01-episode-introduction.mkv and 01-episode-introduction.webm. The former is for ios devices and the latter for streaming. Make is surprisingly efficient for this since it can resume if things are interrupted and can automatically do things in parallel if a -j is passed. For example, it will transcode the webm and mkv files as two processes if I ask it to. Once that’s done and I’m happy, I do a make number=01 name=introduction upload and the generated files are uploaded to the archives web servers using its implementation of the Amazon S3 API. This allows the whole flow to be non-interactive and smooth. I’m not much of a GUI man and prefer to have things run in a console.

These files are uploaded to the internet archive in the EmacsMovies collection. I prefer using the archive to other video hosting websites because they allow you to download the original files directly. Also, their mission to preserve data for ever rather than to make money off user generated content appeals to me.

Software used

I’ve already mentioned ffmpeg in the workflow.

During the recording, I use my showkeys application to display keystrokes on the side. I didn’t use this instead of more mature programs like key-mon for a number of reasons.

The blog is generated using Octopress which is a set of plugins and spiffy templates for the jekyll static blog generator. I use my own emacs mode hyde.el to maintain the blog. It is maintained on github at https://github.com/nibrahim/emacsmovies.org. The emacsmovies.org website is hosted currently on the Internet hosting cooperative.

I’m mentioning all this so that people can offer suggestions on how to improve the workflow.

On a side note, I’m a Python developer in my day job and I wanted to do this entire project without using Python at all and I was able to.

Long term plans

Emacs is like a brain, at maximum you can only utilize about 10% of its real power :)

delYsid on #emacs

It is definitely not possible to cover all of Emacs. My plan as of now is to start off with a few screencasts on basic editing and navigation. After this, a few on basic customisation. Then I plan to do emacs “applications” (e.g. dired, Gnus, org-mode) etc. I’ll probably loosely structure it around the emacs manual.

I had a conversation with Zed Shaw about his learn code the hard way series of books and video tutorials. He suggested that I supplement the screencasts with a book and I’ve started work on that too. Right now, my feeling is that each screencast will be the contents of one chapter condensed. I hope to keep all the screencasts under 15 minutes long each.

I hope to do at least one a month. If you have any comments or suggestions, please email me - noufal at emacsmovies.org.

Support and feedback

For any fixes in the software mentioned above or corrections on the website, please use the github issue tracker. If you’re interested in doing a screencast for the website, please email me at noufal at emacsmovies.org and we can work something out.


All the software which I’ve written to make this possible are released under the GNU GPL version 3.

The actual videos are licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.

I will occasionally link to videos created by other people. These are owned by the people who made them and are might have different licensing terms.

Following emacsmovies.org

I have a twitter account setup for this website. You can follow @emacsmovies on twitter to stay up to date or subscribe to the atom feed.


comments powered by Disqus