EmacsConf 2019 will be on November 2, 2019 from 9am to 5pm Toronto/EDT time; equivalently, 1pm-9pm UTC; equivalently, 2pm-10pm Zurich/CET. Instructions on how to watch/participate will be posted at https://emacsconf.org/2019 closer to the day of the virtual conference. Satellite events: Zurich, Boston.

Please note that the times on this schedule are a rough approximation, and that the talks might be rearranged or dropped depending on speaker availability. We are aiming for having most talks presented live, but some may be presented prerecorded to reduce technical risks. Further, the speakers will try to be available on the IRC backchannel, #emacsconf on irc.freenode.net, to answer questions. If there’s not enough time in the day for all the lightning talks that are available, we will play any remaining prerecorded lightning talks after the conference ends as time permits, and they will made available with the rest of the talks in the following days/weeks after the event.

Without further ado, our exciting lineup of talks for EmacsConf 2019:

Opening remarks

9am EDT / 1pm UTC / 2pm CET

  • Welcome to the conference - Amin Bandali
  • Emacs community update - Sacha Chua
  • Emacs development update - John Wiegley


9:30am EDT / 1:30pm UTC / 2:30pm CET

GNU Emacs for All

9:30-10:15am EDT / 1:30-2:15pm UTC / 2:30-3:15pm CET

Sachin Patil

Having used GNU Emacs for more that 6 years now and doing Python development for equal amount of time I'd like to share my experience with this great GNU software which has been around for 30 years. I'd like to go through how I use Emacs for almost all my tasks like note taking, agenda, LaTeX, reveal.js presentations, IDE, and IRC. In this talk I'll demonstrate how Emacs can be configured to do all sort of things without having a dedicated application for every specific task. I'll also talk about how to maintain Emacs configurations using org-mode and literate programming.

How a Completely Blind Manager/Dev Uses Emacs Every Day

10:15-10:45am EDT / 2:15-2:45pm UTC / 3:15-3:45pm CET

Parham Doustdar

I use Emacs every day and I believe it has a massive boost in my productivity, and I'd like to talk about why, and how. I'm hoping to cover Emacspeak, using elisp to make packages accessible, and writing accessible interfaces to things that are not accessible.

Managing your life with org-mode and other tools

10:45-11:15am EDT / 2:45-3:15pm UTC / 3:45-4:15pm CET

Marcin Swieczkowski

If you've tried various systems for managing your time you may have found them to be too complicated, too inflexible, or just too much work. org-mode and org-agenda in particular have a lot of features and can be overwhelming to get started with. However, using only a subset of their features they can still be flexible, simple, and powerful. This talk will provide you with some tools and ideas for creating a simple system catered to your needs, with a full demonstration of how I use these tools myself. We'll be going over org-mode and org-agenda as well as some configuration which makes them easier to use, after which we'll cover third-party packages and tools such as org-recur (written by the author), org-super-agenda, git, and more.

Lightning talks

11:15-12pm EDT / 3:15-4pm UTC / 4:15-5pm CET

  • Use Org mode when away from the desktop - Zen Monk Alain M. Lafon
  • Org-mode and FoilTeX - an unlikely (but useful) combination for teaching - Tom Faulkenberry
  • How to record executable notes with eev - and how to play them back - Eduardo Ochs
  • A.I. that Helps Play the Game of Your Life - Andrew J. Dougherty
  • notmuch new(s) - David Bremner
  • Browsing Twitch.tv from Emacs - Aaron Jacobs
  • Ledger-mode - Miguel Suárez and Quiliro Ordóñez
  • State of Retro Gaming in Emacs - Vasilij "wasamasa" Schneidermann (pointer to another presentation)
  • Playing Emacs like an instrument - Zen Monk Alain M. Lafon (pointer to another presentation)
  • Play and control your music with Emacs - Damien Cassou


12pm EDT / 4pm UTC / 5pm CET

Magit deep dive

12-12:45pm EDT / 4-4:45pm UTC / 5-5:45pm CET

Jonathan Chu

The abstract of the talk would be focusing on some of Magit's more useful and lesser-known features, as well as dig into the internals of Magit to gain a better understanding and insight of git ultimately. More concretely, I would start with some helpful configuration options such as formatting the "magit-status-margin" and then go into some Magit commands such as "magit-branch-spinoff" and "magit-cherry-harvest" - talking about how to use them, how they work, and what's going on under-the-hood. There is a long list of excellent Magit porcelain commands to choose from while still being accommodating of all experience levels with Emacs and Magit.

Emacs as my Go To Script Language

12:45-1:30pm EDT / 4:45-5:30pm UTC / 5:45-6:30pm CET

Howard Abrams

Recently, a reddit poster asked others their default scripting language. While Perl and Ruby have often sparred for that position, for me, the Shell has always been that comfortable old shoe to get things done. At least, until a few years ago when I realize that since I'm always in Emacs, why shouldn't I just write my transient helper scripts in Lisp?

Didn't take long to realize why I didn't jump on that idea earlier. It isn't very scripty. However, Lisp is moldable, and it doesn't take much to become the scripting language of your dreams.

But I'm not talking about some fancy new functions, I also have to talk about the required paradigm shift: From invisibly piping text from executable to executable, to visibly transforming a buffer with calls to multiple functions. So let's change our workflow from script arguments with completion to function calls with completing read from Helm/Ivy. I daresay, this workflow can be much better.

Continuously checking for quality of your packages

1:30-2:15pm EDT / 5:30-6:15pm UTC / 6:30-7:15pm CET

Damien Cassou

You are an Emacs Lisp developer and you own a few Emacs packages. This talk will guide you through configuring flycheck, package-lint, checkdoc, ERT, and others so you can be confident your package is of top quality. To make it stay that way, the talk will also show you how to setup github and gitlab so each commit is checked before getting merged.

Lightning talks

2:15-3:15pm EDT / 6:15-7:15pm UTC / 7:15-8pm CET

  • Automate your workflow as a game developer - Jānis Mancēvičs
  • Restclient and org-mode for Api Documentation and Testing - Mackenzie Bligh
  • How Emacs became my awesome Java editing environment - Torstein Krause Johansen
  • Don't wait! Write your own (yas)snippet - Tony Aldon
  • VSCode is Better than Emacs - Zaiste
  • Porting org-shiftup/down as a separate module - MetroWind
  • Packaging emacs packages for Debian - David Bremner
  • Equake mode - Ben Slade
  • Object oriented spreadsheets with example applications - David O'Toole
  • Navigel to facilitate the creation of tabulated-list based UIs - Damien Cassou

Interactive Remote Debugging and Development with TRAMP Mode

3:15-4pm EDT / 7:15-8pm UTC / 8:15-9pm CET

Matt Ray

Emacs' TRAMP Mode allows for remotely editing files and using Emacs Shell Mode with remote systems. This session will walk through the basics of using TRAMP Mode with the Free Software tools Vagrant, Chef, InSpec, and the interactive Ruby debugging shell Pry. We'll discuss different Emacs techniques for accessing remote systems, editing code, and debugging systems as we securely configure them. This will be a live demonstration, highlighting the various Emacs modes and techniques used.


4pm EDT / 8pm UTC / 9pm CET

GNU Emacs as software freedom in practice

4-4:30pm EDT / 8-8:30pm UTC / 9-9:30pm CET

Greg Farough

Newcomers to our favorite editor are often amazed by the ease with which they can customize the environment to suit their needs. Whether they consider themselves to be a "programmer" or not, it isn't long before this amazement gives way to strong feelings of empowerment upon realizing that it only takes a few keystrokes to begin studying and improving any part of the Emacs source code. But rather than being something unique to Emacs or just a part of working in a Lisp-based editor, GNU Emacs' ability to empower its users has as much to do with GNU as it has to do with Emacs.

Emacs is a flagship program of the GNU Project in more ways than one: for not only is it a successful and communally developed free software project, it's also perhaps the one closest to the original vision of the GNU system -- a full computing environment centered around user freedom and empowerment. Emacs did not get to where it is today because of its technical excellence alone. Rather, the success of Emacs is inseparable from its being free software. The great proliferation of communally shared packages, modes, and extensions is not a quirk of Emacs, but instead a vision of what the average computing experience could be in a world that had as its chief focus a respect for its users' freedom. As lovers of Emacs, what can we do to work towards this future, and bring the joy of computing back to all? With this talk I hope to explore the ethical values that led Emacs to its current position, and point to ways that we can help further its wild and messy, but enduring and egalitarian spirit.

Emacs: The Editor for the Next Forty Years

4:45-5:45pm EDT / 8:45-9:55pm UTC / 9:45-10:45pm CET

Perry E. Metzger

Emacs has now survived almost 45 years. In another 40 years or so (2059), will people still be using it?

I will argue that this is a realistic possibility, but that to ensure that people still find it a productive and fun tool into the 2050s, Emacs will require some modernization.

In this talk, I will briefly discuss why Emacs has survived so long when many other editors have vanished into history, and how we might deliberately seek to extend and expand Emacs' productivity advantages.

I'll then spend the bulk of the talk discussing some improvements which I think will assure Emacs' extraordinary utility into the future. These include both important user-visible improvements (for example, high quality HTML rendering) and necessary infrastructure changes (for example, an incremental transition both to a better implementation language and a better extension language).

I'll also discuss some strategies to makes sure that work towards such improvements is feasible, incremental, and doesn't burn out the developer community.

Closing remarks

4:30-4:45pm EDT / 8:30-8:45pm UTC / 9:30-9:45pm CET