Table of Contents

Thanks to alphapapa for helping archive this pad!

License and contribution agreement

Except where otherwise noted, the material on the EmacsConf pad are dual-licensed under the terms of the Creative Commons Attribution-ShareAlike 4.0 International Public License; and the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) an later version.

Copies of these two licenses are included in the EmacsConf wiki repository, in the COPYING.GPL and COPYING.CC-BY-SA files:

By contributing to this pad, you agree to make your contributions available under the above licenses. You are also promising that you are the author of your changes, or that you copied them from a work in the public domain or a work released under a free license that is compatible with the above two licenses. DO NOT SUBMIT COPYRIGHTED WORK WITHOUT PERMISSION.

Contribution guidelines

This pad is here to be curated by everybody and its rough structure is like that:

  1. General info and license
  2. A section for each talk -> please do add questions and notes
  3. A general feedback section

01: Sacha Chua (sachac): Emacs News Highlights


  • Any news about guile-on-emacs? Is it a dead project?

    • Haven't been linking to things about it lately. Last major news was (May), I think

    • The only contributor to it occasionally shows up on #emacs, they revealed they've been busy programming for a living to improve browser JS engines and would need funding to do further Guile Emacs work (like, 10$ monthly from a few dozen people on Patreon or so)

  • Is there some kind of online summary page of Emacs community meetups and events?


02: Leo Vivier (zaeph): An Emacs Developer Story: From User to Maintainer


  • how did the freedom of Emacs help you on your way?

    • (was missed and unanswered) no, he said he got into free software development via emacs
  • What's the most recent Emacs package or tool you've discovered that you've added to your repertoire?

  • Please show off your three-piece suit before you end your talk. (Requires fixing your frozen camera. If this is not possible, please post suit selfies at an easily accessible location.)

  • Have you read "Dirk Gently's Holistic Detective Agency"? (Recommended!)

  • What is your advice to start learning elisp language ? Any particular good ressource or any other tip ?

    • (info "An Introduction to Programming in Emacs Lisp") correction: (info "(eintr)")

    • Read code, write code, read documentation, repeat. Eventually you'll go from customizing Emacs to writing your own packages. Emacs makes it easy to learn about the bits you're interested in, you can get far with taking small steps.

    • mastering emacs

  • Any recommendation for good packaging guides or places to start? I get a bit overwhelmed by some things e.g. the choice of different test frameworks


03: Bala Ramadurai: Idea to Novel Superstructure: Emacs for Writing

  • Actual start and end time (EST): 9:40-9:58


  • Do you have occasions to use Emacs for multilingual text composition? How do you deal with spell-checking etc?

    • Wrote in English with spell-check but wasn't able to find anything for the local script

    • ^ thank you. I find using multiple languages in one document is a hard problem, not made easier in Emacs

  • Is it possible to align the columns in headings and subheading?

    • Thanks for the beautiful demo.
  • Maybe there should be an emacs-for-writing mailing list and online Writers Workshop (?)

    • This is a good idea, perhaps an online Writers Workshop indeed makes a lot of sense.

    • Has conducted online WW in India, used Notion (Emacs Org Mode was scary for other attendees)

  • How do you share drafts of your novel? If you use pandoc to export to word (etc), how do you incorporate feedback on the document back into org? (Thank you for the talk)

  • Can you show exported pdf of any of your novel?

  • How do you collaborate with others while writing your Novel ? Like sharing your file and getting feedbacks.

    • working on ebook sustainability, long org mode file, pasted into google docs so collaborator and editor can see it

    • like to see python

    • paste to google docs

  • Can you text-wrap in the columns?

    • Community: possibly ftable.el

    • you specify column mode in org mode in prsentation

      • THANKS

      • How to enable column mode in org mode

        • M-x org-colums (C-c C-x C-c)

        • Or use speed selection in Org-mode.

          • Thanks


04: Jonathan Gregory: Music in Plain Text


  • Do you have any thoughts on generating scores in chant notation (neumes)?

    • I'm not familiar with chant notation, but I know there's information on the manual.
  • Do you use this to compose or to write up compositions…?

    • No and yes. I use pencil and paper to compose the first draft. Then I move to Emacs to input the notes. Either way it's certainly possible to compose from Emacs directly, especially if you're doing this programatically, so I guess it depends on what you're trying to do.
  • Can one use MIDI/USB instruments (like keyboards) to input Lilypond? For example for note heighs?

    • [Don't know about emacs, but Frescobaldi supports MIDI input.]

    • There is a package called midi-kbd which creates keyboard events from MIDI input, so I believe the answer is yes, but I don't own a MIDI controller, so I haven't tried it.

  • Did you ever write hughe scores (BigBand/Orchestra) in Emacs?

    • Never, but that's certainly possible.
  • Is there decent OCR for handwritten music→Lilypond?

    • I'm not sure, but if the OCR works with MusicXML, then you can use the musicxml2ly command to convert the xml file to a LilyPond file.
  • What shell are you using with the fancy autocomplete?

    • Zsh with fzf.
  • Do you use any kind of Emacs to MIDI interface besides exporting MIDI from lilypond?

    • No.


05: Grant Shangreaux (shoshin): Bard Bivou(m)acs - Building a bandcamp-like page for an album of music

Actual start and end time (EST): Start of Q&A: 2020-11-28T10.28.47 EST; End 2020-11-28T10.43.49


  • What does "Bard Bivoumacs" mean?

    • Bad pun on "Bandcamp" — a bivouac is an improvised campsite and bard = band
  • Does this meta-data workflow also support unsynchronized lyrics within ID3-tags (multi-line meta-data)?

    • The UI for EMMS is complex, a gazillion of functions in that namespace
    • check EMMS info manual (require 'emms-lyrics) this uses lyrics files outside of ID3-tags
    • multi-line metadata may depend on the audio format?
  • Is is possible to import batch meta-data?

    • Not sure, guesses yes. It can connect to metadata services. Backend calls to shell programs for various purposes.
  • My current workflow for tagging music is to first apply ReplayGain in foobar2000, fix egregious mistakes there (like funny directory structure, lack of album artist, …), then use beets to apply metadata from Musicbrainz/Discogs and go over the remaining albums with foobar2000 again. I wondered whether there's a chance textual tagging could allow doing it all in one program, have you experimented with mass tag updates/queries?

    • No experience with that, but it could be possible if someone™ made the right textual interface and would be very powerful (for example wdired could be an interesting inspiration).
  • Is there a link to some info expanding your philosophy of how to compensate musicians, I was interested to learn more about that.

    • No; universal (basic?) income would solve a lot of problems.
  • What Emacs theme are you using?

    • kaolin theme, maybe aurora or bubblegum
  • Are you using Doom Emacs, per chance?

    • Answered in chat, vanilla Emacs with doom-modeline
    • OK, thanks.
  • Is SVG support built in to Emacs?


  • Musician
  • Org document presented with org-tree-slide:
  • EMMS ( for metadata authoring and organising playlists
    • Creates HTML from EMMS metadata
  • Publish music by Emacs.
  • I liked the example for beginners!
  • Uses literate programming style to be able to resume work w/o much time available for programming
  • SVG support used for buttons
  • °°°
  • Meta: "You can even take screenshots from within Emacs as SVG" — would it be possible to set up an SVG livestream…?
    • I doubt it would be practical to do it at a high framerate, but it's worth trying out. The other disadvantage of the approach is that there's few vector animation formats (Flash, HTML5), so saving it losslessly to disk will be tricky.

06: Corwin Brust (mplscorwin): Trivial Emacs Kits

  • Actual start and end time (EST): Start: 2020-11-28T10.45.48; Q&A 2020-11-28T10.57.38; End 2020-11-28T10.59.48


  • What makes the Emacs community unique (special/different?) from other communities (if anything)? And/or, are there other communities that are similar in your view?

  • Do you use Emacs as a community building tool?

    • Yes, Corwin uses Emacs as a community building tool.
    • Corwin: "Heck yeah, Emacs is a community building tool"
  • Are you suggesting there is value in "Emacs for scientists", "Emacs for programmers", "Emacs for writers" etc. – i.e. different defaults for different groups?

    • [Corwin] Implicitly, yes. My argument is that we should rethink the problem of building and maintaining Emacs confirguration sets each time we assemble a team to work on something. That gives us a new chance, each time, to maybe produce new data that helps us make more informed decisions about how to make our own personall approaches more robust (and easier to read), but also to help "chip away" at the huge work of making Emacs more easily configurable for new users.
  • What is the background you are using? What is the tool you are using to present?

    • [Corwin] Wallpaper Engine on Steam is probably the think that's grabbing attention. I haven't tried it under GNU/Linux. My familyare (mostly) Windows users right now heavy sigh I don't want to get into my tool chain a huge amount, but I will talk about it some as/durning the Welcome to the Dungeon talk tomorrow. For now I will say I'm using a mix of free (free and not-free but too easy to avoid tools on my one pretty good computer). I would love to have the time to invest to use more (only) free stuff but sometimes we we can't afford the freedom, in terms of the learning cure. I think this is the most important problem space in freesoftware, FWIW.


  • co-founder
  • Initial "trolling" by showing presentation notes in different editors: vim, Notepad++, VSCode, sublime
  • LISP wasn't on the list.
  • Disagreement is not the barrier.
  • Emacs is threatening as something that addresses many different needs/use-cases.

07: Sid Kasivajhula: Beyond Vim and Emacs: A Scalable UI Paradigm

Actual start and end time (EST): Start: 2020-11-28T11.00.47; Q&A 2020-11-28T11.18.12; End: 2020-11-28T11.24.51


  • Can minor-modes in Emacs be integrated via chimera as a "mode"?

    • Good question. More likely, minor modes could be coupled to rigpa "modes", towers (sets of modes), or complexes (sets of towers), so that entering those modes/towers would enable those minor modes, and likewise disable the minor modes upon exiting. E.g. for Lisp editing, we might want to enable the symex / paredit minor mode in Lisp tower, and disable it upon swapping to Vim/Emacs tower.
  • Do you think it would be hard for people to remember all the modes and bindings?

    • Bindings, no - it would be easier than currently because the bindings generally stay the same across modes (e.g. hjkl always means left down up right, and there are other conventions)

    • Modes, if the tower is 2-3 tall, then it's not a problem at all. Totally intuitive. For > 3 it might be hard, so I think in practice you would alternate across more small towers rather than have fewer big towers

    • Also, most modes are always available via "direct access" keybinding (eg. s-w = window mode), so you can jump to one at any time, and it'll return you to your original position in the tower when you exit. Modes don't need to be in the current tower in order for you to use them. But if you're using them frequently you might want to add them or temporarily switch to a tower that has them – whatever feels the most natural for the specific case.

  • Are you familiar with ?

    • And other earlier implementations.

    • A short comparison would be nice.

    • Not familiar with this, but it looks very interesting

  • What package is used?

  • Why is the package called rigpa?

  • How to deal with Dvorak (et al.) layouts? This has always bugged me. Is there a "XModmap Mode"…?

    • Vim users don't remap their keys. The homerow is not a big deal, actually.

      • Hm… I've always found it a bit of an obstacle but haven't tried hard! hjkl → jk makes sense but hl, not so much.

        • The day you want to do this, you'll absolutely be able to do it and have it become natural. Just gotta want it :)
  • I mostly use default model provided by vanilla emacs and work in org-mode for text editing. Can you give some examples, e.g. how can the user can use the concept of "mode of mode" to do some interesting editing?

    • The more modes you have, the shorter the individual keystrokes become.

      • ^ Not to be a pain but my comment about Dvorak is related :-)
    • There are many bindings in Org mode (e.g. agenda manipulation, manipulating headings and subheadings, promoting/demoting) that would be a natural fit for a dedicated modal interface. At the moment you probably use only a subset of all of the available options because of the constraints of conveniently (1) knowing about, (2) remembering and (3) using the bindings. With a dedicated mode, you could edit Org buffers using a Vim-like modal interface where all of the options are easy to remember and use

    • Mode mode / tower mode could be useful if you are doing literate programming or "multi-modal" org buffers where you have many different languages embedded within the Org file. In this case, you could modify your tower using mode mode, or swap between different towers, to quickly have the right modes for different parts of the file

  • How do new modes come into existence?

    • Modes from any modal interace provider are supported via a modal interface abstraction layer ("chimera")

    • You can define new modes as a hydra or as an evil state, and then they just need to be "registered" with the framework via a function call for them to be incorporated

  • Is this built on top of Hydra?

    • Any modal interface provider is in principle supported. There is an abstraction layer called "chimera" that allows any provider to be used as long as it implements an interface (e.g. including indicating entry and exit hooks for each mode)

    • Some of the modes are evil modes (e.g. normal, insert)

    • While others are hydras (window, buffer, etc) (including Symex? yes, Symex too)

  • Which retro theme are you using?

    • green phosphor
  • Will this involve defining more epistemic-modes for non-editable buffers like Dired? How do you deal with the explosion of the number of modes?

    • This is a great question, so here is a long answer:

      • I am keen to keep this extension lightweight so that it plays well with existing Emacs tools without needing a custom ecosystem. The modal interface abstraction layer "chimera" would be a big part of this, enabling existing modal-like interfaces to be recognized in the framework out of the box, meaning that they would be automatically "wired into" the broader framework via the standard exits (e.g. Escape and Enter)

      • I'm not sure what the best way to handle dired would be, but if it could be handled in this way, then that would be the way to do it.

      • The "complex" of towers initially available is tied to major mode, that takes away some of the complexity right off the bat. E.g. when you open a Lisp file it gives you a Lisp-related + general-purpose complex of towers

      • The idea is to support the "explosion" of modes, but make it scale well by (1) having them be structured, and (2) the structure being the same at every level

  • How do you deal with the mental overhead of keeping a stack of modes and your position in it? While this simplifies the actual editing process by defining them as a single set of keybindings, the complexity is transferred to navigating modes.

    • While the complexity is transferred, the nature of that complexity is different. In the case of keybindings, the complexity is unstructured and ad hoc, whereas in the case of mode navigation, it's a matter of "going to the right place" for your keys to have the right meaning

    • In practice you would only have towers of size 2-3 I would guess, with every other mode jump always being available via an ad hoc jump (e.g. even in Vim tower, you can always jump to Window mode and it would return you to the original mode you were in upon exit)

    • And the main paradigm would be swapping between small towers


  • Indra's Net:
  • "we are at a higher level looking down at the text, we can describe this text…"
  • "there is a way to go down to ground level, and a way to escape from that to the referential level"
  • "all of the nouns of the world of text are available"
  • …. Or you could have a dedicated mode for every noun — Nouns as modes
  • Character, Word, Line mode; Window mode! All with the same basic keystrokes.
  • "Rumpelstiltskin Principle" from CS — if you can name something you have power over it
  • modes of modes → "Mode mode" (the modes that are present in the buffer)
    • Such a refreshing point of view.
  • Tower mode → ?? "There are many towers available for use in different buffers"
  • Demos "Strange Loop".
  • Two directions: sideways changes perspective (normal, word, line) all different perspectives; up or down (takes you through meta levels)
  • Unknown meta level → same basic interactions
  • formerly called epistemic-mode, now called rigpa (concept in Tibetan Buddhism, in Dzogchen teaching, or the great completion)
  • Similar idea from

08: Andrew Tropin: Building reproducible Emacs

  • Actual start and end time (EST): Start: 2020-11-28T11.26.34; Q&A: 2020-11-28T11.40.48; End 2020-11-28T11.43.33


  • do you deal with config files such as emacs-custom.el, some which have sensitive data?

    • Sensitive data is in other directories that aren't shared, and emacs-custom.el is completely avoided, as it prevents reproducible/system independent behaviour
  • how did you learn nix language basics? Just from the the manual?

    • He referred to the nix IRC channel
  • What are the main advantages besides switching computers (which most people rarely do)?

    • Make parts of config available for projects - sharing with other people
  • Have you tried Guix in place of Nix? (more parens! :) :)

    • Currently trying it, and also in-process of switching from Nix to Guix.


  • Emacs configuration is entangled with the system configuration (dired uses ls, grep.el uses grep)

    • Reproducible behaviour is therefore not only dependent of Emacs compilation/configuration, but also system configuration.

    • "config.el" files configure emacs, and accompanying "default.nix" files make sure that the correct packages/fonts/libraries/etc are installed

  • reproducible development environment:

  • using Org-roam to demo how to config a Nix layer(?)

    • custom.el conflicts with Nix(?)

21: Eduardo Ochs: On why most of the best features in eev look like 5-minute hacks

  • Actual start and end time (EST): Start 2020-11-28T11.45.20 (~45min talk); End: 2020-11-28T12.26.00


  • Is eev like GNU hyperbole? (from karthink in #emacsconf)

    • rswgnu: I know Eduardo is exploring using Hyperbole with eev and we will work with him to help him integrate its features.
  • "Are there variants of pos-spec-list that aren't search based? E.g., find buffer + run some other command + copy results?"

  • I didn't quite follow the find-here-links demo, can you describe that once more slowly?

  • what are the books/readings that inspired you about usability again?

    • Here are some: "Software Tools" by Kernighan and Plauger, the article about "Little Languages" in Jon Bentley's "More Programming Pearls", a commercial Forth called HS-Forth, and "Exploring Expect" by Don Libes.


09: Rainer König: Orgmode - your life in plain text

  • (End 2020-11-28T13.16.44)

Questions: - Put your questions below, most recent on top:

  • What's the advantage of copying tasks from the agenda to a separate daily plan, rather than just managing them directly within the agenda?

    • Karl Voit here: I asked Rainer the very same question and his answer was that his agenda is full with tasks. Copying them (via keyboard shortcuts) to a manually curated daily list provides a condensed daily agenda showing only the tasks he is going to do (when the day goes as planned).

    • I feel it can reduce some mental stress

    • Yes, this is it, I want to decide in the morning (I can never do all what is in the agenda) and then I'm no longer overwhelmed by that long agenda.

    • OK thanks - but then why not just create custom agenda views for a) building the daily list and then b) just viewing the daily list without distractions? e.g. via org-super-agenda or org-ql?

      • sometimes I also want to review my previous tasks I've done

        • There is build-in org-agenda-log-mode (v l) to do this. One just need to make sure that the task state changes are actually logged (see `(apropos "org-log-*)`).

        • I suspect that could also be achieved via org-ql or similar but admit it's probably a more complex solution. Just naturally averse to anything which duplicates data and could lead to inconsistencies :)

          • Exactly. It is just very easy to do it in such a format, but it can definitely be achieved by super-agenda/org-ql
  • How long does it usually take you to manage/maintain your agenda on a daily basis?+2

    • Five minutes a day.

    • Extensively uses org-capture to get thoughts down and schedule things for later — gets things out of head and saves the task for later

    • Weekly review to go through checklists — usually takes about half an hour

  • What version of Emacs and of Org do you currently use?

    • Emacs: 25.3.1

    • Orgmode version: 9.1.5

  • Do you keep Emacs open with you all day, or just when you need to add tasks or reference todos?

    • It's open all the day. Two monitor setup, Emacs is always opened on one (usually the non-main one, apparently, but moved back to the main one if necessary).
  • Where do your notes/tasks end up after you complete them (lurst asked that first on IRC)?

    • In Archives (missed some details here, sorry)
  • Do you use orgmode on a mobile device as well? If so how do you do it?

    • On the road I have a real old fashioned paper notebook with a ballpoint pen ;-)
  • How did you add the super fast typing?

    • A) I learned touch typing at school around 45 years ago,

    • B) kdenlive can accelerate video material. You need to mark it (cut it left and right) and then press SHIFT-CTRL and the Mouse to drag it, that adds the time lapse effect.

  • Do you export your Org files or Agenda files for others?

    • I once tried it at work, but it didn't work out. For me Org is a personal prodcutivity system and not a sort of groupware. Nevertheless, I have a ToDo keyword "DELEGATED" to monitor e.g. errands that I give to my kids.
  • Do you use emacs for everything or just a few things like time management, programming, etc.?

    • Emacs is my primary editor for shell scripts, LaTeX files, even Lilypond (remember that talk in the morning). I wrote all the LaTeX files for the book I prepared for my course in Emacs.
  • Do you keep your project notes and backup information with the To Do items in your agenda or in separate files?

    • The notes are all in the :LOGBOOK: drawer of each task. So I have a sort of "micro blog" there that clearly shows what happened with that task so far. I even see all the "RESCHEDULED on…" timestamps which helps me to identify the tasks I procrastinate. ;-)

    • Not a question but thank you so much for your videos Rainer +1+1+1

      • You're welcome. What started as a "I need to show Org to a few people" turned out helpful to a lot more than I ever expected. ;-)

        • These videos helped me so much! Thank you!


10: Andrea: Lead your future with Org

  • Actual start and end time (EST): Start 2020-11-28T13.17.07; End: 2020-11-28T13.25.25


  • For how many years have you used Org?

    • 7ish. I started during my PhD because it was the easiest to fit in. And programming in OCaml was so nice in there :)


11: the org-gtd package: opinions about Getting Things Done -Speaker(s): Aldric

  • Actual start and end time (EST): Start 2020-11-28T13.26.16; End: 2020-11-28T13.41.53


  • For how many years have you used Org?

    • At least five years, I don't know exactly how long
  • What about delegated actions of a project? Do they get moved to the delegated heading and moved back to the project when finished?

    • They stay where they are, because they belong to the project. Org-edna will automatically mark it as NEXT when its time comes. The user can mark it as WAIT easily through the agenda. I would like an org-gtd command to queue up "mark as WAIT", "add the DELEGATED_TO property", and "schedule a check-in time", but I haven't yet done the research to figure out a clean integration of such a custom action with the agenda view.
  • Are you only using linear next-task-method or do you use org-edna to mark tasks even in other projects as NEXT?

    • Currently I only use linear next-task-method, for two reasons. One is a technical reason, another one is part of my current approach to GTD:

      • I haven't yet had a reason to consider that, say, a project might block another project, or that an action might block a project - possibly I haven't tried to do complex enough things in my life yet, and so I've always been able to simplify what I had to do into linear projects, even if it was a simple linear project with a last task of "create a new project based on what I've learned"

      • I have zero idea of how I would intelligently display this, yet, so I've stayed away from this. Contrary to most personal projects I've worked on, this one has "ease of use" front and center, so before implementing something like this, I'd need to know how to properly represent this: if possible, in the agenda view, and if not, I guess it would be in a HUD I would create for the package.

  • How do you make use of incubated items? Do they show up in the agenda for the whole day? That would be distracting, I guess.

    • I have a block of time, every morning, dedicated to processing the inbox and seeing what's on my plate for the day. I would use this time to decide what to do with the incubated item: incubate it again, make it into a project, discard it, etc. My "incubate" file has a bunch of top-level headlines like "To Read", "To Watch", "To Eat", "To Visit", etc.

      • That sounds similar to SOMEDAY-list, but processed on per-item basis. If you decide to re-incubate an item, how to you chose the new time?


12: Leo Vivier: One Big-ass Org File or multiple tiny ones? Finally, the End of the debate!

  • Actual start and end time (EST): Start 2020-11-28T13.43.24; Q&A 2020-11-28T13.51; End: 2020-11-28T14.00.07


  • What's better: one big file or many small ones? :>

    • For knowledge management: many files (see also org-roam)

    • Otherwise: one big file to have everything (todos, projects, notes, etc…) in one single place.

      • possible walk around by some hacks?
  • Do you switch between British and French accents?

  • What's the Emacs icon

  • How do you feel about archive files in org mode, how can that work in?

  • Could you post links?

  • How big are your org files?

    • main file: 38000 lines for all GTD-tasks and he does archive

    • Karl does use archiving although Karl does use Org tasks even in knowledge management and those don't get archived most of the time.

  • Does it not consume more resources and time to load multiple files than a large file of the same contents?

    • Dealing with hiding contents is computationally expensive.

      • I doubt it is correct. Emacs display engine is quite effective dealing with invisible text. Moving cursor around is affected, but I never heard (and never experienced) issues with scrolling on large (2Mb) org files.

        • Actually, Org currently uses overlays to hide text, and the overhead of the overlays does eventually add up. There's a working branch that uses text-properties instead, and it may be merged to Org someday.

          • It is on the way ;) I need more feedback (see help request in

            • If I ever have time to even get my Org upgraded to the latest version, maybe I can think about trying to test that ;)

              • Would it help to share the branch on github?

                • It would probably make it easier to use and more visible, so…maybe? :)

                  • Noted (or rather captured) (using org-mode right? :) Indeed
        • Karl: whenever I had severe performance issues and somebody was nice and helped to analyze the issue, "overlays" were the root cause in probably 90% of the cases. However, an average user (including me) does not know if a specific feature is implemented using overlays or not. My Org life is basically try and error ;-)

          • FYI, if you use org-indent-mode (or whatever the name is of the mode that uses overlays to indent contents), you could disable that to reduce the number of overlays in a buffer. –alphapapa

            • Karl: thanks a bunch. However, some features are delivering important features to me so that I do have to accept the performance overhead to a certain level. That's a difficult trade-off I do have to make from time to time ;-)
  • Doesn't using many small org file clutter up your buffer list when generating agenda etc?

    • Personally, I limit org agend to just a few files while keeping notes in many more.


13: Joseph Corneli, Raymond Stanley Puzio, and Cameron Ray Smith: Experience Report: Steps to "Emacs Hyper Notebooks"

  • Actual start and end time (EST): Start 2020-11-28T14.01.42; Q&A 2020-11-28T14.11.44; End 2020-11-28T14.13.50


  • Have you looked into trying SageMath? I've long wanted to use SageMath in Org files.

    • If you can use it from the command line, you could use it in org mode using what we are working on. -RSP
  • I can use SageMath from the command line, but not using one of the Emacs shells.

    • As Joe is now explaining, our ob-servant code should then make it accessible from within org mode.
  • Let's not forget about Embedded Calc in Emacs!

  • Could you post some links?+1

    • see Notes below
  • Which package have you used to prepare the slides which are visually appealing?

    • I think he used org-tree-slides, like some earlier presentations.


14: Adam Ard: README-Driven Design

  • Actual start and end time (EST): Start 2020-11-28T14.15.00; End: 2020-11-28T14.34.46


  • If you put all your code in an org file (in addition to prose), doesn't that make the file very large for medium/large projects? (Since all the code across all files is tangled from a single

    • You are right it would get pretty large. I haven't hit that point yet, but plan to experiment with separate org files that are imported into a master file.
  • If a collaborator edits the tangled file(s), is reverse-tangling in org reliable? How do you integrate the reverse in a safe way?

    • So, I actually think this is the big unsolved problem right now. How to do reverse tangling. As far as I know, emacs doesn't do that. But it would really cool. I think it is probably a hard problem.

      • actually it does! you have to enable comments that mark the boundaries of the code blocks. (org-babel-detangle) -> org-babel-detangle is pretty fragile right now.

      • Oh wonderful! I will have to check that out. There is always more to discover in emacs. Thanks!

  • Would this approach make it harder to collaborate with contributors who don't use org?/How to rectify these difficulties? (Thank you!)

    • I have had some sucess at work by managing an org file myself, then I commit the tangled code and a I have to manually update my org file though when someone makes a change to the raw source files. That process can be a pain. It would be awesome to find a way to make this easier. So that non-emacs users can collaborate and be unaware of the source org file. To have an annotation free reverse tangling process would be the holy grail of literate programming. Would be a great thesis project for someone.
  • Interesting. Did you ever use this approach on a large project? Could one incorporate also TDD into this workflow?

    • I have only really hit the medium size. But would love to try a larger one. I have seen people write whole books in literate progamming though. (Not sure if they were using emacs) (one example: ). Here is a pretty large one I found on github:

    • TDD is an interesting idea. I haven't tried doing that, but org seems flexible enough to build a workflow around that.

  • Could you share the snippet for adding these source code blocks, it seems much better than the one I am using currently. Thanks!

  • In Python, indentation is part of the syntax. How is this handled when -syntax is used for functions or even a few lines of codes that are get re-used in multiple functions? Does the user have to define different snippets for different indentations but otherwise identical code?

  • Could this structure be used with a SQL query with the output being an Org table?

    • Yep, I have done that before too. Org will send the query to a database and insert the results. It is super nice. You can add block properties to set the hostname of the database too, so it isn't limited to just databases running on your local machine.
  • Why do you export to Markdown when GitHub and others are supporting rendering Org directly?

    • Good question. I do this because I usually work with people that don't use emacs :( so I usually take the source files and the markdown and commit them to git. I keep the org file to myself. If everyone used emacs, I wouldn't bother with that step.
  • This file would be very useful to have for us for reference, could you also share it please?


15: Adolfo Villafiorita: Moving from Jekyll to OrgMode, an experience report

  • Actual start and end time (EST): Start 2020-11-28T14.36.18; Q&A: 2020-11-28T14.51.48; End 2020-11-28T14.53.03



16: Leo Vivier: Org-roam: Presentation, Demonstration, and What's on the Horizon

  • Actual start and end time (EST): Start 2020-11-28T14.54.36; Q&A: 2020-11-28T15.12.44; End 2020-11-28T15.15.51


  • What is the functionality of org-roam-unlinked-references?

    • Let's say we have Emacs in another note… for every mention of Emacs that is not linked, it prints all the results in the buffer.
  • How would org-roam files which would be very numerous integrate with todo's and org-agenda

  • Is it possible to use the backlinks feature in regular org buffers?

    • We have a very controlled environment and this is where we keep all the notes
  • Do you make your org-roam database accessible accross computers? Via putting the SQLite file in Dropbox or serving the DB in the cloud or something.

    • Answer: no. Only on one computer personally.

    • But plenty of people have done so. Section in the manual dedicated to this.

    • pretty sure best results occur when the DB is generated seperately for each machine.

  • How do you discover tags/links to add to a new org-roam note?

    • … go to, on Github we show everything
  • Do you share your org-roam knowledgebase in a public location?

  • Is it possible/easy to have a knowledgebase which is a mix of public/private data?

  • Is it possible to seamlessly link to other notes with syntax instead of a keybinding? How do you avoid ending up with duplicate links like tag1, tag_1 and tag-1? Since notes are created at different times it's difficult to be consistent.

  • What is the best way to keep a separate org-roam (dir) for work and home/personal?

  • Are the timestamp prefixes in the filenames optional?

    • yes, you can modify the prefixe
  • Just want to say good on you Leo! Perserverence!

  • Is there an easy way to export several selected notes, to say, a LaTeX file?

  • How do tags fit into org-roam workflow?

  • You mentioned you have a youtube channel. Could you give us the link to it. I would definitely be interested in watching your videos. Yeah, I didnt see it. Thanks :D (Check the notes below).


17: Noorah Alhasan: Org-mode and Org-Roam for Scholars and Researchers


  • I use org-roam-bibtex to take notes on particular academic papers in conjuction with org-noter. This means all notes for a given paper are in one org file. However while it is possible to link to headings within a file, there is no functionality to easily search through and link to these subheadings. What do you do to overcome this? I've only superficially looked at org-rifle as a possible method.

  • Whats this presentation software? Looks really cool.

  • How does the view for time blocking works?

  • have you seen the project papis ? I think the author is working on an emacs package, what would be your thoughts? (it's a zotero alternative)

    • "Powerful and highly extensible command-line based document and bibliography manager."
  • Did you try using ebib instead of zotero? if so, is zotero better in some way?

    • Zotero has a lot of plugins you can play with and so far it's been great

    • Some people have been using a connector between Emacs & Zotero…

    • You can create groups for collaborative projects in Zotero and this is a plus. (thanks for the answers! I'll give it a try!)

      undefined.1. maybe useful ^^

  • Do you have any suggestions on what subjects/things should be tags/separate org-roam files for cross-linking? I've been struggling with whether making almost every term be a link or only using links for broader subjects.

    • "Should I be combining ideas together into one…?" So far I've been using the Org Roam default way.
  • Meta question: is there a place where people are collaborating on research "about" Emacs?

    • Definitely interested, but there is no place (yet!)


18: Leo Vivier (zaeph): Org-roam: Technical Presentation

  • Actual start and end time (EST): Start 2020-11-28T15.39.41; Q&A 2020-11-28T15.56.29; End 2020-11-28T16.01.03


  • Why not to run a background Emacs for parsing instead of implement a new parser?

    • Running a background Emacs progress sounds great, but is still limited. Forwarding all queries to a background Emacs (like org-mode's exporter does) is only feasible with a (??? zaeph can probably fix the answer)
  • How often does the DB index get updated in order to contain changes within Org files?

    • Either on save, or on idle-timer.
  • Did you ever think of opening up (or designing) the SQL DB as a general Org speedup-tool outside of org-roam so that other libraries that do execute complex queries are able to re-use the summarized data?

  • Obviously with the 'global backlinks' agenda, it would be interesting to combine with the eev stuff from before :-) ( )

  • about the external program, you could just talk to the PANDOC guys (or Firn [Parses org-files into data structures with Orgize ], Logseq [OCaml & Angstrom, for the document parser ]), they're very helpful and have already a good org-mode parser

  • Is it feasible to have this process of parsing org-roam following the LSP protocol? that would allow to be editor agnostic, and it would save the work to define the communication protocol and any other technical details.


  • "org-roam just wants to create backlinks"

  • org-mode has many many files (377 lines in dired… including .elc files)

  • If you want to create an index of all the org files using the native format, it would be very slow. So org-roam uses a sqlite database

  • ripgrep (written in Rust) is more capable than grep; used by some Zettelkasten

  • "Is there something we could do to import backlinks into org mode?"

  • "We've always tried to have an experimental ground where we can track backlinks"

19: Brett Gilio: Sharing blogs (and more) with org-webring


  • How do you keep doc/ in-sync with org-webring.el?

    • I use an exporter in the .org file that outputs the MD file on save automatically. The relevant parts are at the bottom of the .org file.

      • I saw that :). I was wondering about the synchronisation between the .org file and the .el file

        • – that is done manually Currently. I wish there was an Easier way. There should be a way to export public definition DocStrings.


  • Any More questions on org-webring, email

20: Corwin Brust (mplsCorwin): OMG Macros

  • Actual start and end time (EST): Start 2020-11-28T16.17.32; Q&A 2020-11-28T16.34; End: 2020-11-28T16.38.32


  • How is your background work?

    • See 06: Trivial Emacs Kits's Q&A: Corwin uses Wallpaper Engine.

      • [Corwin] Wallpaper Engine on Steam is probably the think that's grabbing attention. I haven't tried it under GNU/Linux. My familyare (mostly) Windows users right now heavy sigh I don't want to get into my tool chain a huge amount, but I will talk about it some as/durning the Welcome to the Dungeon talk tomorrow. For now I will say I'm using a mix of free (free and not-free but too easy to avoid tools on my one pretty good computer). I would love to have the time to invest to use more (only) free stuff but sometimes we we can't afford the freedom, in terms of the learning cure. I think this is the most important problem space in freesoftware, FWIW.
  • What was the key message you wanted to share with your talk?

    • Macros are powerful and necessary. Consider how you use them?
  • Do you mind if I use your macro code as inspiration for an elisp uglifier?

    • Have At! It's GPLv3 and you are welcome; lmk if you have any trouble finding fruit to throw


Day 1 Closing remarks by Sacha

  • (2020-11-28T16.14.07-2020-11-28T16.16.06 + 2020-11-28T16.40.39-2020-11-28T16.52.55)


  • 21 talks today, 16 tomorrow (30 last year)

  • Peak of 391 viewers of /main.webm and 26 viewers of /main-480p.webm (last year: ~270, so 50% more!)

  • Etherpad Peak ~130 (110 at 2020-11-28T16.42.14)

Videos and other resources will be posted some time over the next few weeks. Mailing list:

Thanks again

  • the Free Software Foundation, especially the tech team, for support and sharing their BigBlueButton host

  • Volunteers: bandali, bhavin192, bremner, dto, jcorneli, mplsCorwin, publicvoit, sachac, seabass, zaeph

  • Speakers and participants

See you tomorrow!

Day 2: Opening remarks

  • 2020-11-29T09.00.35-2020-11-29T09.12.05


  • "We recommend using Jitsi Meet for those 'unconference' talks: ". (E.g. if you want to talk to the speaker after their talk).

38: John Wiegley: Emacs development update

  • Actual start and end time (EST): Start 2020-11-29T09.12.40; End: 2020-11-29T09.17.51


  • There is xwidget webkit based browser built in Emacs but this is not trivial to install it, it is slow and many pages do not work at all. On the other hand, there are standalone Emacs like browsers e.g. "Nyxt" and "Qutebrowser" (This one I use and love, in theory this is VIM like browser but can be configured to be Emacs like). Having built in high performance browser (not dependent on EXWM) would be game changing feature for Emacs. Are there any plans to make such browser within the roadmap of Emacs development or maybe that would make sense to work together with either Nyxt or Qutebrowser communities to integrate their browsers natively in Emacs?

  • (karthink on IRC): Can't native compilation happen asynchronously after installing Emacs? (Including for files in site-lisp)


  • Cairo enabled by default in Emacs 28.

  • Native compilation will land soon (currently in another branch, needs libgccjit). About 2.5 times faster(?)

    • Downtime of native compilation: long time to compile Emacs.

    • Native compilation products specific to the machines

  • Emacs 27.2 will be released soon

  • Emacs 28 will have better emoji support 🎉 (within C code). No timeline for 28 currently.

22: Musa Al-hassy: Powering-up Special Blocks

  • Actual start and end time (EST): Start 2020-11-29T09.19.39; Q&A: 2020-11-29T09.36.14; End: 2020-11-29T09.48.34


  • Should packages implement the interface to one specific format, or attempt to be conclusive to all the potential output targets?

  • How to share "recipes"? Will this become a "large" project, or minimal that requires you to write most customizations yourself?

  • Could you make slides that show the source form on the left and the output on the right? That would make understanding each capability much simpler.

  • Does typing in a block mess up the syntax highlighting? Usually themes use a single color inside an example block, for example.

    • "You found my crutch!". Colors in source code blocks within blocks are hard. Didn't have time yet to implement it. Any help is appreciated! :)

      • That's where you can get help from org-mode core developers ;)
  • +++if you export to latex->pdf does that work well with beamer as well? To create slides with columns for example?

    • You have to format the LaTeX appropriately for the backend "beamer".
  • How does this relate to pandoc, which is used for converting between markup formats?

  • Side question about org-reveal: How do you get bespoke/multiple-column layouts without using #+HTML (and

    ) everywhere in the org file?

  • What is used to produce colorful boxes around the cursor in your browser?

    • Commercial software called ScreenBrush
  • Why did you put optional arguments in a separate list rather than using cl-style argument lists? e.g. (defblock feedback (who &optional (color "red")) …) +1

    • The first argument may take some meta-information when you define it, which is easier to handle with two arguments.
  • Do you intend to try to upstream this amazing work into Org? :)+1

    • no prior experience on how to upstream; suggestions and help appreciated


      • Yes, I would suggest simply posting a short proposal for an org-defblock macro on the orgmode mailing list, and hopefully Bastien and other maintainers like Nicolas will discuss it with you. I think they would be excited to have this feature standardized in Org. +1+1+1+1 I am excited+1+1

    • add a little beginner-focused documentation and this becomes another great reason to use org over markdown, I imagine the maintainers would love to have it


23: Tuấn-Anh Nguyễn: Incremental Parsing with emacs-tree-sitter

  • Actual start and end time (EST): Start: 2020-11-29T09.49.24; Q&A: 2020-11-29T10.13.56; End: 2020-11-29T10.31.44


  • Q20: can we integrate it with spacemacs python layer

  • Q19: The python mode example was pretty good. Is that something that one can use already?

    • Yes, already using it at work right now
  • Q18: Regarding Emacs integration, will it always need to be a foreign library or can it be included / linked directly in compilation?

  • Q17: Is there a link to the slides?

  • Q16: Are there any language major modes that have integrated already?

    • Not yet (answered during talk)

    • Typescript : discussing integration, not integrated yet

  • Q15: Is it possible to use tree-sitter for structural editing?

    • Covered by Q4 / Q8 / Q11.
  • Q14: Is there a folding mode for tree-sitter?

    • Not yet. There are multiple code folding frameworks inside Emacs, and it's better to integrate with these modes rather than writing something new entirely.

    • +1 Would be nice if it worked with outshine mode or similar

  • Q13: MaxCity on IRC asks: "That pop up M-x window. How do you get that?"

  • Q12: I'm new to the tree-sitter world. Is it easy to install/use it also on windows ? (I have to use winbloat at work)

    • The usual approach is hoping someone else made a precompiled version for you and download it. Otherwise you'll have to set up a development environment with mingw-msys or whatever.
  • Q11: Is it possible to use this for refactoring too?

    • For the kind of refactoring inside a buffer, it's very doable right now with some glue code. For more extensive refactoring where you want to touch all files in a project, there needs to be some kind of understanding of the language model system, how they are laid out in the filesystem… even files that are not yet loaded into Emacs. That sounds like something a lot more extensive. Sounds like an IDE in Emacs.
  • Q10: Can language major-mode authors start taking advantage of this now? Or is it intended to be used as a minor-mode? +1

    • Minor mode depended on by the major modes
  • Q9: I'm completely new to tree-sitter, how do I use it as an end user? Is there an easy example config out there by the organizer or otherwise that shows standard usage with whatever programming language? Or are we not there yet?

  • Q8: (Following on from Q4) Could there be a standardised approach to coding automatic refactorings in the future? e.g. so that whichever language mode you are using, you could see a menu of available refactoring operations?

    • Not sure about this. Most refactoring operations are highly specific to a class of languages. Not one single approach for all the languages, but maybe one for object-oriented languages, one for Lisp-type languages, one for Javascript and Typescript…

    • I meant the lisp and user interfaces being unified, not the implementations of the refactorings. But maybe it belongs in a separate mode on top. So you could have a defrefactor macro or similar.

  • Q7: How extensive will the compatibility be between highlighting grammars for Emacs and those for Vim/Neovim with Tree-sitter?

  • Q6: Will it ever be possible to write tree-sitter grammars in a Lisp, or will JS be required?

    • The grammar part is written in JSON, you don't need to actually understand JS to write it. Using Lisp would merely give you a s-expression version, that wouldn't buy you much.

      • Ah, so all that is needed is (json-encode '(grammar …))? Great!
  • Q5: Could you show the source that was matched by the parser in the debug view in addition to the grammar part matched?

  • Q4: Could this be used with packages like `smartparens` that aim to bring structrual editing to non-s-expression based languages? AST-based refactoring?

    • It is one of the goals, but not yet achieved.
  • Q3: Do you think tree-sitter would be useful for Org buffers? I can imagine it being used to keep a parsed AST of an Org buffer (e.g. like org-element's output) updated in real time.+1+1

  • Q2: Will elisp performance be more competitive with gccemacs enough to make tree-sitter in elisp more attractive? (+1)+1

    • The point of this project is to reuse other people's efforts, not rewriting them.

    • The garbage collection may still pose some problems and introduce GC latency.

  • Q1: Do you think that his package can be included into emacs/GNU ELPA?

    • Yes, it is just matter of paperwork.


24: Andrea: Analyze code quality through Emacs: a smart forensics approach and the story of a hack

  • Actual start and end time (EST): Start 2020-11-29T10.34.52; End: 2020-11-29T10.55.39


  • Q3: How large of a codebase could this be used to analyze? Are there known limits in size?

    • Nope, so far I could create a microservice picture at work that has a few million of lines. I did not do stress test, but I am confident that (at least the hotspots analysis) does not break.
  • Q2: Have you uploaded this file somewhere (or plan to do so)? This seems very useful so I would love to have these code snippets.

    • It's totally my plan to make this accessible to everyone: we need more code quality for our feature (software is everywhere)! The plan was a series of blog and learn how to publish in MELPA later.

    • That's great, make sure to announce it somewhere so we know when it comes out :D. Or maybe link the git repo that you are using for this.

  • Q1: What is used to measure the complexity of a LISP file, from your point of view? The nesting level per chance?

    • indentation is good enough to apply in general. Even lisp gets formatted in a standard way. Probably you can come up with a more specific and precise way, but indentation is a really rough metrics to give you a general idea. So take with a pinch of salt, but exploit to find weird things.

    • OK, thanks for the response.

  • Copied Q&A from IRC:

    • How did you summon, resize and dismiss that window so seamlessly?

      • org-roam and C-x0

        • How did you resize it from 2/3 to 1/3 of the frame?

          • golden-ratio-mode from golden-ratio
    • Have you considered doing this analysis by function instead than by file?

      • I did not have chance yet to integrate that, but the theory is described in Adam's 2nd book: Software Design -Rays


  • Book by Adam Tornhill "Your Code as a Crime Scene":


  • Beautiful circles diagram.

  • especially for big projects with many collaborators the codebase may become less transparent

  • hotspots: files that have had many changes based on git history; likely sources of bugs

  • Complexities of a file are measured in terms of the indentation, at least in the case of Java.

  • "If a lot of lines are deleted, that's usually a good sign. If a lot of lines are added, it's a sign of technological debt"

  • another beautiful diagram (big circle with files on periphery, linked together with curved lines) showing associations between changes in files: when this file gets changed, it usually means that this other file is also changed


25: Zen Monk Alain M. Lafon: Traverse complex JSON structures with live feedback

  • Actual start and end time (EST): Start: 2020-11-29T10.57.19; End: 2020-11-29T11.07.08


  • Q4: Any plans for counsel-yq and/or -xq? ;-)

    • counsel-jq currently just shells out to jq. Adding tools build on top of jq (at least yq is afaik) would be very easy. We could employ a strategy pattern to find the right tool based on the current major-mode with a configurable fallback. Here's the place where the shellout happens:

    • Would you be interested in making a PR for that?(;

  • Q3: Why repository_url did not autocomplete in addition to the result (I know that it is ivy thing but possible to configure?)

    • There's no autocompletion for the search query, but that would be a great addition. That would theoretically be possibe by employing jq to look ahead in the current tree and providing options for autocomplete. I'm not certain if Ivy does have autocomplete for search queries, though.

    • If somebody has more knowledge on that and would like to ping me up or provide a (draft) PR, I'd be happy to help out in that endeavour!

  • Q2: is it difficult to provide autocompletion for the json query in the minibuffer?+1

    • Good question. I'd be curious, too. It's the same question as Q2 where I went into a possibe scenario.
  • Q1: Is it possible to search in arbitrary deep objects? E.g., an AST represented in JSON.

    • counsel-jq uses jq under the hood, so all queries that are valid queries in jq should be valid in jq. Hence, I'm inclined to say 'yes'(;


39: Richard Stallman: NonGNU ELPA

  • Actual start and end time (EST): Start: 2020-11-29T11.09.04 ; Q&A: 2020-11-29T11.15.59; End: 2020-11-29T12.04.31

Questions (speaker can answer in any order or choose which ones to respond to)

  • Lunch break is coming up - it's okay to continue this conversation in the pad or IRC if you like (or continue, if you like)

    • Okay! Wrapping up, thank you so much for live questions and answers
  • Q30: Would you mind sharing your Emacs configuration files?

    • RMS: Configuration files are personal and will not be shared.
  • Q29: Have you ever looked into magit?

    • RMS: No, but I might when it gets merged into Emacs.

    • RMS mentioned he heard it's being worked on and it indeed is, tarsius wrote about the progress on that on emacs-devel some time ago.

  • Q28: Are there any more interesting projects you have in mind over and above NonGNU ELPA and look for people to contribute?

  • Q27: Is interfacing with non-free hardware enablement libraries like OpenGL or Vulkan with free code considered a "big compromise" ? (those libraries are for hardware accelerated graphics, if you aren't familiar)

  • Q26: How often do you personally use Emacs?

    • Most of the day. Occasionally uses libre office and media players. Occasionally even SSH into a machine that runs Emacs on it.

    • Read PDF files a lot. Would be nice to read and edit them in Emacs.

    • (ann: pdf-tools might help.)

    • Uses Xournal ( ) to annotate PDFs.

  • Q25: What is your opinion on higher education, especially given the current situation with COVID-19 where students are required to use non-free software to comply with their courses?

    • He'd resist. However, he admits that he is in a position where he can resist, especially as a Free Software advocator.


    • However, there are a lot of points in-between saying "no" all the time and never saying "no" at all. You can still advocate Free Software and state your reluctance.

    • exactly as a student that is tho only one in the department that uses GNU/Linux, if something doesn't work its my fault for using fedora (even when windows install doesnt work either) and i am on my own.

  • Q24: Is there any plan to moving more packages from core emacs into ELPA? Would you be opposed to it? For example: newsticker, libraries with niche appeal.

  • Q23: How do you see the future of GNU Emacs ? (btw, thank you !)

    • RMS: I don't see the future.

    • "From past experiences, there will be challenges."

  • Q22: If you knew that you would get hit by a bus tomorrow, say because of a fortune-teller, what would you leave behind in terms of advice for stewardship of Emacs and its future?

    • Focus on keeping the community strong in defending freedom.

    • If given the choice to have more people developing the software or defending the software, choose the latter.

    • Guard your soul carefully. :P

    • (The question could be rephrased with, say a brain tumor or something. Not to be morbid! just wondering if you had such thoughts. about guidance

    • Or even just "what do you want your legacy to be defined as?"

  • Q21: Which are your preferred packages that you usually use?

  • Q20: What tools from pre-UNIX days do you miss?

  • Q19: Magic wand time: what would you change about free-software? (aside "yay, we won") [ETA: magic wand="make a wish about what you want to see happen, have happended differently, etc."]

    • Don't give up! 20yrs is nothing! We'll get 'em yet.💪

    • What is Magic wand time? Nah, if you can use the magic to change anything

    • Show everyone why most software needs to be copylefted, so that our community does not need to use software produced by proprietary software developers.

  • Q18: What do you recommend to a recent graduate who wants to get his first job but can't find one that deals with free-software and every job or interview he gets it's non-free software related?

    • Very sad thing. I would get a different kind of job. I would live cheaply (more flexibility).
  • Q17: You've been a very important part of the Free Software movement, some argue the most important part. I very much appreciate that! Thank you. I think it's necessary to encourage more diversity within Emacs, however, that's difficult to do with the instances of sexual harassment that have come out. Are you or do you plan to work on addressing those situations and preventing further situations going forward?

    • Not going to be answered. (Everyone, please also remember CoC)

    • I will forgive them if they stop bullying.

    • Emacs is being extended in Emacs Lisp, and implementing something else will be hard to nearly impossible, though nice.

      • Note from RMS: "If someone who has condemned me unjustly takes it back, that will make it safe for me to empathize with any feelings of hurt that pers might have felt as a result of the misunderstanding and I will be very glad to show compassion."
  • Q16: How is the current state of the work in progress pagure git repository? Is it going to have the main Emacs repository on it?

    • That's more of an FSF project (the FSF forge project). There is ongoing work on it by the FSF tech team. Also agreement to possibly run another VM of the forge software for the GNU project.
  • Q14: Which is your favorite programming language ? if lisp, which variant?

    • Don't exactly have a favourite variant.

    • Emacs-Lisp was originally used in an environment with only a .5MB user memory environment. That also contributed to the design of elisp.

  • Q13: Is it ok to use the AGPL for Emacs packages?

    • Yes.
  • Q12: Won't the non-GNU ELPA link to non-free sites like GitHub? This does:

  • Q11: Who gets to make the final decision regarding NonGNU ELPA? Is this a community decision or something that you get the last word on?

    • The Emacs maintainers will be in charge of this.
  • Q10: Which distro of GNU/Linux do you use? guix? or something else?

  • Q9: Are there any plans to implement security considerations in NonGNU Elpa? Required code signing or other?

    • Probably should. Emacs maintainers verifying can take care of the security. With automatic copying, we'll need to make sure we're fetching the packages securely
  • Q8: Do you / have you used Vi(m) or evil mode?

    • No.
  • Q7: When you wrote that you could add a package to non-GNU ELPA, are you implying that you would add packages with or without package maintainers knowledge?

    • Yes. Of course! The packages are free software. Everyone is entitled to redistribute them. That's the idea behind free software.

    • The idea, that packages in a package archives must only be mirrors contradicts(?) the idea of free software.

    • If a package is being maintained by developers cooperating with NonGNU ELPA, then they're (the NonELPA maintainers) are fine with it, as there is enough to do.

  • Q6: Why do you insist on using 'per' and 'pers' when it's clear the LBGTQIA+ community is generally not happy with that language?

    • not happy with using "they" as singular, causes gratuitous confusion

    • do not accept the demands of other people re: changing my country grammar

    • - not a GNU Project policy, personal ideas on the subject

    • seems to be the correct link

    • If you feel offended: contact RMS privately and explain your reasons

  • Q5: Any thoughts of packages being added as (a school of thought discarding licenses altogether) into ELPA ?

  • Q4: Is it possible to work with the MELPA team to integrate that into Emacs in a better way?

    • No. The goal doesn't make sense. MELPA, the way it's done, doesn't belong within Emacs. (Copyright assignments unfeasible). Could MELPA be merged with non-GNU ELPA? MELPA doesn't modify packages, puts packages in with only a little bit of checking. There are a lot of packages in MELPA that we'd like to get into non-GNU ELPA. They've got to be looked at one by one. If MELPA contributors want to get involved, that would be great. Haven't tried asking them, still getting things set up.
  • Q3: I don't quite get the benefits of a non-GNU ELPA with respect to other archives such as MELPA. Can you please give use some more details on what you have in mind? Are you seeking for control?

    • I hope that people now see the benefits.
  • Q2: Does nonGNU ELPA already exist? Or is this a sort of "plan" for the future?

    • In between. The creation of it has started. There's an archive and you can download packages. There's a repository to put it in. It's not supposed to be like ELPA where there's one repo for everything. Some packages will make an arrangement with the developers who will do things as things should be done, and their code will be copied over automatically (or manually with verification). In other cases, we'll need to have our own repo for particular packages. Still working out the procedures, how to make the arrangements with developers, etc.
  • Q1: What is an example of a package currently in a non-ELPA repo that does not work well with Emacs? Since integration with Emacs is described as a problem.

    • s.el - that made me aware that there's an issue here. Beautifully written package, very useful for people. There's just one thing wrong with it - it gobbled up the namespace of symbols starting with s-. I was shocked to discover that someone had used such a short prefix without coordinating. Any attempt to use s- for anything else = problem. New symbol renaming feature - the idea is that you rename that file to something else, and then you define symbol renaming to run the same code without interfering with global namespace. … We can put packages in non-GNU ELPA and make changes to them to help them fit in.


  • ELPA was created to make it possible to release Emacs packages independently of Emacs releases.

  • Package archives in general lead to a boost of package development/generation. However, those packages were created without notifying the GNU Emacs team/GNU ELPA managers.

  • NonGNU ELPA will not require copyright assignments, but must be free (as in freedom) software.

  • GNU ELPA is one big git repository, and giving someone access grants them access to everything.

  • Note from RMS: "If someone who has condemned me unjustly takes it back, that will make it safe for me to empathize with any feelings of hurt that pers might have felt as a result of the misunderstanding and I will be very glad to show compassion."

Lunch break

  • 2020-11-29T12.06.04 2020-11-29T13.05.00

26: Pierce Wang: Emacs as a Highschooler: How It Changed My Life

  • Actual start and end time (EST): Start: 2020-11-29T13.06.20; Q&A: 2020-11-29T13.16.52; End: 2020-11-29T13.21.51


  • Q6: How would you introduce other classmates to emacs? Meaning what's the "gateway" drug to emacs?+1+1+1

    • Would probably start with doom or spacemacs

    • try to find their reason for using emacs

  • Q5: What made you use Vim in the first place? Were you looking for a note-taking system in plain text (such as Markdown), or were you using it for programming?+1+1

    • Used vim first time mainly for programming not for Markdown.
  • Q4: I tend to think that life in school-age is somehow simple to organize since categories are easy to distinguish (years/classes, hobbies, …) in contrast to business life (many projects in parallel with many touch-points in-between them). From your point of view: do I have wrong memories on my time in school or did school change that much?

    • School makes it easier to have a structured system.
  • Q3: Assuming you keep real time notes during your lessons how do you manage to keep up with the lecturer's speed. I can write latex fragments pretty fast but I am not yet at the point that I can keep up with them. What are the tricks/snippets you use? Oh and do you have a git repo with your Emacs dots that we can see?

  • Q2: What do your friends think :) ? (Do you collaborate with your friends?)

    • Overwhelmed them by the positive experience at first :). Now that the configuration is somewhat stable Emacs doesn't come up as often in discussions, though. [someone can probably come up with a better summary of this answer]

    • The general concensus is that it's an amazing piece of software, but they think it's too complicated for them to use. I think they also still have PTSD from the initial days when I was talking about Emacs all the time (whooops)

  • Q1: Do you use Emacs for school assignments?

    • answered in talk: yes, org-mode, export to latex -> PDF

    • one org-mode template file with latex-fragments that is used for exporting


27: Vasilij "wasamasa" Schneidermann: State of Retro Gaming in Emacs



28: Erik Elmshauser and Corwin Brust: Welcome To The Dungeon

  • Actual start and end time (EST): Start 2020-11-29T13.34.52


  • Q5: Which software did you use for your presentation

    • Corwin: Everything you saw was OBS, Emacs or the desktop wallpaper engine from steam
  • Q4: Have you played around with generating SVGs programatically in Elisp? Sorry if I missed that! missed the intro

  • Q3: could you talk about getting the project into savannah/gnu?

  • Q2: Could you explain more of what the game is. It would help us comprehend this better. +1 Could you link the handbook. Would be interested in giving a read, I love RPGs.

    • If you send me your thoughts on the most important bits to finish I will :)

    • like RPG's but without the role-playing. Always 8 characters that can be divided between the players

  • Q1: I'd like to see a demo as well! :) what does it look like, what can it do?

  • (please add your question on the top of the list)


29: Erik Elmshauser and Corwin Brust: Pathing of Least Resistance

This time slot was combined with the previous.

30: Gabriele Bozzola (@sbozzolo) : A tour of vterm



31: Grant Shangreaux: Lakota Language and Emacs


  • Q4: Did you write the company backend to complete on Lakota words?

    • With a Lakota dictionary file, one could probably leverage other company methods for completion.

    • seems to be company-dabbrev, it happens automatically when typing in org-mode at least. unfortunately the only digital Lakota dictionary I'm aware of is non-free, so I'm not sure what to do about that.

      • yeah, I'm not sure, but the dictionary files needed would really just be word-lists, so maybe there is a way to find or produce something of this sort.
  • Q3: Why did you decide on e.g. a' for á? In my country's input method (which is Dutch, and in french, german, etc.) the default is to put the accent first, so 'e -> é.

    • for me, this was my first experience with it and it made more sense in my head to have the modifier come after. its possible i read about postfix notation in a tutorial i found (and lost) that demonstrated Quail input modes. The X11 input has it as a prefix, so I may change it in the future. I'd like to consult with other Lakota speakers and tribal members, however, as it seems worthwhile trying to get consensus from native speakers on usage.
  • Q2:Can you give us a demo of you typing in either Lakota input method?+1+1

  • Q1: Advantages of using Emacs Input Methods over something like xcompose?

    • → Compose

    • ah yes, i found something about this when making the X layout, but it was not immediately apparent. Emacs was easier for me to inspect and learn about than X, easier to iterate on as i was learning how it all worked. Emacs can re-eval the layout definition and give live feedback, while X required a restart to try different things. Emacs is also cross platform, so anyone can easily install this. also, sharing an X config seemed more difficult to me, I don't know how to tell someone to install it properly :(


32: Eric Abrahamsen: Object Oriented Code in the Gnus Newsreader


  • Q3: Have you done any other projects using EIEIO and/or defstruct?

    • "Right, EBDB is super deep into EIEIO, and was kind of written as a project for learning it, and the new gnus-search library is a more restrained usage. The search engines are defclasses, and much of the code is shared, which works quite well."
  • Q2: Is there may activity on maintenance of gnus today? (and is Lars involved/aware of this work?)

    • "Yes, there's still development going on. I don't think Lars is very focused on Gnus right now, but I run all changes by him first. He fixes bugs, but as far as I know, I'm the only one adding features right now, which is a terrifying thought."
  • Q1: How much of this 90's funny code :) can be replaced and how much will have to stay forever?

    • Eventually I think we can get most of it out of there. I was

    • happy to be able to replace obarrays-as-hashtables with real

    • hashtables, though that was a very painful process


  • Famous last words: "Sometimes the only thing that's worse than not knowing why something doesn't work is not knowing why it does work."

33: Fermin MF: Maxima a computer algebra system in Emacs


  • Q9 Is it is possible to include maxima in org files similar to jupyter notebooks? (Does ob-maxima have support for the :results graphics header argument of org-src blocks?)

  • Q8 Are you planning to upstream your package into Maxima? (would be nice :)

  • Q7 In which University do you start to use Maxima?

  • Q6. Is there support for images in maxima-mode?

  • Q5: Is Maxima's syntax a strict infix lisp syntax or are there exceptions and special cases? Yes I mean Maxima itself.

  • Q4. Is maxima easy to get into in your opinion? (has its quirks though!, mailing list is usually helpful)

  • Q3: Do you plan to amend ob-maxima to support named session for maxima code blocks in org mode (e.g. begin_src maxima :session my-maxima)? (the current implementation supports exactly onesession named maxima)

  • Q2: how does maxima compare to sagemath in emacs? does maxima have more support because it is written in common lisp whereas sage math is written in python?

  • Q1: So I am an avid octave user right now (had a matlab lesson in uni and so I knew the basics and it was easy to get into), what would you say are the advantages of Maxima over Octave as from my understanding they are pretty similar. I would be interested in trying it out but I am not sure if its worth it compared to Octave. (Octave is a matlab "clone", not meant for analytic calculations, more matrix multiplications etc.)

34: Matthew Zeng: Extend Emacs to Modern GUI Applications with EAF

  • Actual start and end time (EST): Start 2020-11-29T16:05; Stop 2020-11-29T16:28


  • Q9: Do you think that this tecnology could to be on core of Emacs any time? or fork of Emacs?

    • Not yet and I don't know if it ever will, since EAF uses many other dependencies that one needs to install themselves (see README); and I don't think all of them is GPL (though using open source licenses)
  • Q8: I use pdf-tools currently for my pdfs inside Emacs, would you consider this a better alternative to that and if so why? Although I am definitely trying it because the browser looks incredible, possibly the best implementation of an Emacs browser I have seen, I would love to hear your opinion on the pdfs compared to something like pdf-tools.

    • PDF-tools is great, it would be an awesome option if you can't run EAF on your machine. However EAF PDF Viewer is just a lot faster and smoother as it uses PyMuPDF as its backend.

      • Oh, thats great actually, I have noticed it being a little choppy at times, I am excited to try EAF in general because it looks awesome and if its faster than pdf-tools I will probably also switch to it for my pdfs. Thanks a lot for the talk, one of my favourites in this EmacsConf, it gave me a lot of great tools to try inside Emacs!!

      • Thank you!!!

    • Also because pdf-tools is much older than EAF, it had more attention and more people working on it, so there are definitely more features than the current EAF

  • Q7: Can you use the PDF viewer as a viewer for LaTeX files, with reverse search support with e.g. AucTeX?

    • You could do that with some simple elisp functions, and EAF PDF Viewer now updates itself automatically whenever there is a change to the file

    • Reverse search is currently not available, we need more people to help us work on it! :-)

  • Q6: What javascript engine is the web browser in EAF using? Also, what web browser engine is it using?

    • QtWebEngine,. (from the Qt Wiki: )

      • Qt WebEngine uses code from the Chromium project. However, it is not containing all of Chrome/Chromium;

      • Auxiliary services that talk to Google platforms are stripped out (nice)

      • The codebase is modularized to allow use of system libraries like OpenSSL

      • Binary files are stripped out

  • Q5: Does the web rendering happen in a subprocess, or can loading a big page cause emacs to lag?

    • Not at all! And that's one of the biggest advantage of the EAF project, it utilizes all the powerful Python features, like multithreading.
  • Q4: Do you have control over the javascript that runs on these pages? Also is there a blocklist feature? (True ad blocking might be impossible, I understand)

    • As my talk just (or will be shortly) mentioned, you can disable javascript altogether. So far there isn't a blocklist implemented, but I don't see a reason not to be able to implement this feature in the near future. EAF itself uses Javascript (free code) to implement some browser features (like the Vimium binding), so turning off Javascript will make the feature stop working as well.
  • Q3: (Feel free to ignore this one if it is off-topic) How big is free software movement in China? Is there any organisation like FSF there?

    • Very recent years there are A LOT of open source movement in China, however not free software strictly speaking;

    • There are a lot of open source clubs in the chinese unversities now that people actually starting to get interested about open source in general, that's a huge improvement than decades ago i'd say. There are still many places to improve.

    • Although not Free Software Foundation, literally this year the first ever open source foundation is established in China, called OpenAtom Foundation: (in chinese)

  • Q2: Is there anyway to implement EAF without the reparenting behavior from X11?

    • That's one of the challenges right now to get EAF working on other platforms. We're always looking for people to help out.

      • Are there any ideas on this at all? I can try to help out but don't know what's even been tried (and perhaps has already been ruled out)

  • Q1: Have you experimented with using Hy (aka Hylang, a Lisp that compiles to/runs in Python) for EAF, to avoid having to write "real Python"?

    • Not yet! Will have a look into it later :-)


35: Zachary Kanfer: WAVEing at Repetitive Repetitive Repetitive Music

  • Actual start and end time (EST): Start 2020-11-29T16:29; Stop 2020-11-29T16:46

Questions (note that we don't have audio out from Zachary's computer in BigBlueButton, so any music demos will need to wait for a recorded video)

  • Q9 : Any MIDI mapping possibilities? (Sorry Q8)

  • Q8: What were some of the challenges with writing a special-mode for Emacs? I'm interested in getting into this in the future, but I'm not really sure where to start.

  • Q6: Do you think would be possible to add a set of recorded sounds in order to use those?

    • Yes! Part of zmusic is tooling to make wave files, so it should be possible to slice-and-dice input data, and output valid wave files.
  • Q7: have you written any actual songs (in RRRM/WAVEing)? Can you play one ?

  • Q5: Are there any open source musical instrument sample libraries that could be used? E.g. "play A 440 on Piano sample 1" to provide better quality notes than built-in tones

    • Experimentation would be fun. However, the nice part about Emacs is that it doesn't have any external dependencies, you only need a way to play WAVes.
  • Q4: What is your musical background? Do you play any instruments?

    • Random instruments, started with recorder, played cello for a long time, now playing guitar.
  • Q3: Any chance for an Emacs tracker/mod player? (plays several samples arranged in the same top-down fashion with effects applied to them for chiptune and keygen music)

  • Q2: Will you play us another song? (RIP ears — who needs 'em, this is awesome! it is!)

    • UPDATE: can confirm, it was easy to play a song myself :-) Very nice!

    • However git clone didn't work, I wonder if I'm doing it wrong

      • Had to browse to and copy/paste.

      • It's mercurial! (I have Opinions about version control systems). Try `hg clone` instead, or copy/paste from the link directly.

      • BAM! hg clone works fine

        • Hooray!
  • Q1: Why do you go top-to-bottom for time progression and left-to-right for low-to-high in stead of doing it pivoted? (e.g. higher is higher tone, left-to-right is time progression). This is awesome by the way!(+1)

    • The initial app (the inspiration) worked this way. It is definitely something worth looking into.


Closing remarks (Sunday)

  • Start: 2020-11-29T16:48; Q&A: ~2020-11-29T17:05; Stop: 2020-11-29T17:24.

Emacs is very, very complicated. And using computers is hard. With Emacs we have an ideal opportunity to learn from our errors. To take on hard work with diverse groups. And to effect lasting solutions. To make Emacs, and thereby any word-or-software-thing, in practically any human and spoken language, easier to learn and to use. Forever. Life doesn't come with warning labels or margin notes. We have a blank map and an uncertain number of batteries for the torch. But there's a light in the darkness. It's freedom. It's the idea of giving to people something that cannot be taken away.

–Corwin Brust, as read by Leo Vivier


  • 16 talks today, 37 total

  • Peak of 320 viewers of /main.webm and 15 viewers of /main-480p.webm (last year: ~270)

  • 126 people on the Etherpad

Next steps:

Thanks again

  • the Free Software Foundation, especially the tech team, for support and sharing their BigBlueButton host

  • Volunteers: bandali, bhavin192, bremner, dto, jcorneli, mplsCorwin, publicvoit, sachac, seabass, zaeph

    • emacsconf-accessible - thanks to jcorneli, seabass, dto

  • Thank you to everyone!

Oops! The stream will be quickly restored so that we can play wasamasa's demo


  • Q16: Will you publish the Etherpad as-is, or will you clean it up a little bit, e.g. fix spelling miztekes, grammar bad, identifiy answers to the questions and similar? (That might be time consuming)

  • Q15: Will the Etherpad be archived somewhere on

    • Yes, we'll link to it from like last year, and we can copy the sections to the individual talk pages as well
  • Q14: Also, it's bandali's birthday tomorrow! =) - sachac

    • Happy birthday bandali!! Its not early, for me its already after 12 :D

    • Happy birthday!!

  • Q13: wasamasa's demos will be played after the closing remarks

  • Q12: Congratulations on another emacsconf everybody! - <3 brett

  • Q11: Many people seem to be interested in the video's that will be available later. I've got recordings of the entire conference and the ability to share them now. Do I have permission to do so? Is this OK copyright wise?

    • The videos are CC By ShareAlike, although it might be nice to have people linking to the site and video archive so that they can discover the other talks from the previous years, so it might be nice to wait

    • So if I share a folder with the video's including a readme with the licence and a link to its ok?

      • let's check with bandali, it would be nice to have help getting stuff out =)

      • @OP: The team would welcome help very much. Feel free to contact Amin on

      • I'll do the upload and will post the link in #emacsconf-org so you can see if its to everyone's liking. Also i'm happy to help with the cutting process.

    • Most of last year's conference is also there

  • Q10: Favorite moments/talks from this the past two days?

    • Aside from all the awesomeness of the talks, I really appreciated how y'all kept things pretty friendly and respectful and kind. =) - sachac
  • Q9: It's not a question but Sacha Chua, I am one of the people that created Emacs Planet in Spanish. Could you visit it and include in your news? :-)

    • oh, is down right now, do I have the right URL? it's only temporally -

    • Sure, I can pull in the RSS . Thanks, the next week will works.

  • Q8: Thanks a lot for eveything these last two days!! This conference was so epic, I loved it. +

  • Q7: Sacha, have you thought of organizing the whole library of Emacs News, so people could find things by category/topic (other than searching across all the web pages)?

  • Q6: Great conference thank you very much. The schedule of the emacsconf this year is not so APAC-friendly. I wonder whether there is any plan to accommodate the APAC timezone in some way?

    • Sure, want to organize one? =) - sachac

      • I'll help (orgg) (thanks I'll get in touch - dragestil)
  • Q5: Why Corwin Brust use Windows?

    • It's currently a necessity.
  • Q4: Are there any tools that you wish existed in Emacs that would help with organizing these confs?

    • dungeon-mode as colaboration space? meet there and build groups? let emacs be THE GAME?+1 +1

    • answer from random user: etherpad org-mode! Live-editing an org-file together!+1 (please somebody work on this project so that we get a good solution here!)

      • Well, yeah, but that's pie-in-the-sky… Maybe next decade? haha :)

        • There's already a project that has started some work on etherpad+Emacs:, but it's currently on hiatus and doesn't support collaborative editing. Maybe a challenge for someone who wants to tinker with Emacs Lisp? :)

          • Wow, that's great!
      • Look at crdt.el — it is very close to ready. Ray (RSP) and I were using it for some of our work together on ob-servant. Qiantan is responsive to bug reports, and has support for Org mode as a priority

        • We weren't quite sure how it might deal with 100+ people, but maybe! (also, ob-servant is a great name =) )

          • Only 100 choose 100 ways to find out :-)…

          • But yeah to be clear it definitely wasn't ready for this year. Maybe next year!

            • On ob-servant, all credit to Ray for the clever name (and 99% of the programming as well!)

              • [Also looking forward to seeing crdt.el connect with emacs-tree-sitter — sync the tree!…]
  • Q3: Amin, are you wearing a suit too next year?

  • Q2: Where do y'all see Emacs going in the next year?

    • More awesomeness!
  • Q1: Why is Leo so sexy? Too Sexy even? I want a Leo Twitch Channel to can see he all days! Bandali isn't bad either!!!!

General Feedback: What went well?

Pre-recording the talks was a win … less chance of failure live.

I really liked how questions where approached with this Etherpad. I think it is a very smart idea and better than most things I have seen in other kind of conferences. This is very nice and organized. Really excited for tommorow, could only watch the second half of the stream today (looking forward to see the rest when uploaded) but the talks where awesome. Thanks for everything. +1

"here is a link for mpv" approach to livestreaming is much appreciated +1+1+1+1

bandali super helpful and responsive with AV issues +1

the timestamps on all talks in etherpad are very welcome!

  • Sorry, I missed the first few talks to time-stamp :-(

    • Ah, don't worry. How did you even do that? I saw some $… magic?

I love having the Etherpad available immediately during and after talks. I know recordings and more are coming out later, but having access to notes, questions, answers and links is amazing!

The streaming setup is probably the best result I've seen when doing it with free software. Is the source/config available somewhere? Particularly curious about usage of gstreamer/icecast. Would love to see an organizer post-mortem talk/post so others can reproduce and improve on.

  • (See colophon below)

Karl's Etherpad maintenance tasks during the event (for reference)

  • when a new talk starts:

    • clear authorship colors by clicking the "strikethrough-eye" in the icon bar

    • add current line number (approx) at the very top of the Pad to ease navigation

    • cut title of upcoming talk and paste it in order to colorize the heading to ease navigation

    • log starting time

      • Karl was using an adapted ISO format like "2020-11-29T20.06.49" and manually corrected it from CET to EST (EST = CET-6hrs)
  • log Q&A start time (if any Q&A)

  • log end time

We managed to get the alternate stream up and running! I just need to remember that my laptop has a mute microphone shortcut instead of fussing around with muting in both OBS and BigBlueButton… - sachac

Low-resolution stream was appreciated, and running it on live0 worked fine.

Super-nice to have so many people helping out. zaeph was monitoring audio, calling up speakers (yay emergency contact info), keeping track of the time, checking in people… jcorneli, dto, and seabass were describing things in #emacsconf-accessible. - sachac

HUGE improvements / gains since 2013 :-) Which was awesome too — the first Emacs Conf! — but WOW this is a truly international event w/ 100+ participants at any given time. Amazing work. -Jcorneli

General Feedback: What to improve?

A few speakers jumped right into their talks without providing enough context. +1+1+1Perhaps the organizers can introduce the topic with a summary?

  • +1: A short introduction on the topic might be helpful. "Hi, I'm and I'm going to talk about , a ".

    • Added to pre-talk tech check

why are talks starting ahead of the schedule? what if i want to skip some and come back later? can i count on the schedule being follwed?

  • From conference experience I recommend showing up a talk earlier than planned :>

  • Maybe add "roughly" infront of the very specific time-stamps of the schedule to emphasize its character of not being exactly planned?

    • Sure, I'll add bold to "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.", and move the disclaimer from the bottom of the individual talk pages further up.

      • Since we've had the disclaimer and from my personal experience I know that people likely miss such disclaimers, I do think that "2:18 PM" -> "~2:18 PM" would be more visible.

        • Added ~ =)

Maybe provide the talk list as an org-file with timestamps? That way we can add it to our agenda :)

  • Sure, you can look at 2020/ in the git repository you can check out via the instructions at

    • Oh, wow. Thansk! Completely missed . Now I only need to come up with some elisp to change all timestamps into my timezone. :)

      • See above discussion about the approximateness of the times. =) Just tune in when you want, and then check the schedule to see roughly where we are in terms of talk order, maybe? - SC

        • Good point, thanks :)


  • "Put your questions below, most recent on top" did not work as expected because when a user is pressing RET on the line before the first itemize item, you end up without an itemize line. Speakers were not picking the questions from the bottom.

    • Speakers probably don't have time to answer everything live, but they can review the pad for unanswered questions after the conference.

    • Example:

      • ** Questions

        • Q2: sample text <– people started the first question here despite of three indicators right below, above and in-line

        • Q1: sample text

        • (please add your question on the top of the list)

    • It turned out to work better with the following template - very nice!

      • ** Questions

        • Q4:

        • Q3:

        • Q2: sample text

        • Q1: sample text

        • (please add your question on the top of the list)

  • Some questions were missed as subquestions were added with the same format as answers. Maybe we should prefix questions with "Q: " for better identification of questions? +1+1

  • I guess that changes in Etherpad before the current viewport will shift the view slightly. E.g. add 10 lines at the top, and those who view lines ~100 will still look at line ~100, but at the contents of line 90. This probably confuses both moderators and speakers slightly and thus leads to a "small" re-synchronization issue for readers. If we reuse Etherpad next year, it would be great if a) there was an auto-scroll functionality (so that you always stay on the same content) and b) a way to create sections (and fold them in your personal view). It's also easier to jump to the current talk if the sections were indexed.

  • Maybe have an etherpad per talk. That way, colors don't need to get deleted inbetween talks. A "meta" etherpad could contain meta information (like this general feedback) and also a link to the current etherpad. That way, one doesn't need the sections I mentioned above.

  • Unmoderated etherpad worked great until bad faith questions started with RMS. This could have used a moderation process.

    • I think it generally went well, and I'm glad that speakers and participants were pretty good at being civil and respectful. I think it's okay that people ask off-topic questions, like the way sometimes people were curious about what people used to draw boxes or highlight things on their screen. Even the tougher questions for rms were phrased more politely than they could have otherwise been, so I appreciate the thoughtfulness people put in. We'll make it clear that speakers can answer questions in any order and focus on any questions they like. I'm glad so many people wanted to talk to the speakers, and that the speakers were able to answer so many questions. We can also respectfully ask speakers if they want to be open to all questions, or to focus on just a few. - sachac

It is a little difficult to keep up with the talks, IRC, and the Etherpad especially with just one monito. Love the Etherpad though.

  • Karl thinks that chatting needs to have a separate place from the Etherpad. So I'd pleadge to keep it that way.

  • Don't disagree, but too many questions were asked on IRC instead of the Etherpad.

    • IRC can be too hard for speakers to monitor, so maybe we can ask more volunteers to copy questions to the Etherpad. What's a good way to manage this?

      • Maybe use a template like "Q: (from IRC's ): ….."? That could prevent duplicate questions.

        • I'm convinced that this would help a lot but I don't think that we can "enforce" people to stick to that pattern. Too many people are joining throughout the day and therefore we'd have to remind people all the time (in case the other Q:-examples do not provide enough clues).
  • I gave up trying to monitor all three areas and decided to watch the chat as well as the presentations.


  • What does it mean to be an Emacs user? What do others think about Emacs users? Do they think we're all men and free software zealots? I think it's very important to figure out why more women are not wanting to present at this conference. What is it about our community that's blocking women from presenting at EmacsConf? Let's try to work on that over the year so we can be better prepared for next year's conference.

    • How many women submitted proposals that were turned down? — this would be an interesting question for a "community" discussion (as below…)

      • We managed to not turn down any proposals! We squeezed all of them in! Mwahahaha! - sachac
    • Also, the question above should probably be generalized to cover "who participates in discussions about Emacs… in any venue?"

    • The initial question was definitely incomplete as any numbers are by themselves useless. Absolute counts and relative percentages would be more educational.

    • Is something blocking women from presenting?

      • Well, there are probably all sorts of structural issues: disproprotionate effects of COVID-related changes (ex: I'm not going to get a babysitter so that I can work on Emacs things), general life/culture things (ex: I'm the primary caregiver of a young child), so even if the Emacs community is super nice (or at least the parts of it I focus on), it's just tough to make time! =) Anyway, if you know more women who might have something interesting to share, maybe you can keep an eye out for the next call for proposals, encourage them to submit something, and help figure out how to make time for them to be able to do so? - sachac
  • I was uncomfortable to see people hijacking RMS's talk to ask questions of a personal nature. This doesn't mean questions and concerns about diversity (or sexual harrassment allegations, etc.) shouldn't be addressed! However, a Paparazzi-style confrontation in a Q&A section isn't very professional (unless you're a professional Paparazzi) and I think "call out culture" doesn't actually match the ethos of Emacs. +1+1

    • The action item that I'd suggest would be to have a "community discussion" section that is done in the form of a round table (maybe before the main conference starts for next time — this time it could be an optional "announced" unconference/breakout session). It might be enough for the organizers to have a public Jitsi call advertised, and invite people to join a conversation they were going to have anyway. This way, anyone with an interest in "community stuff" will have a chance to make themselves heard (by someone): and the code of conduct could also be discussed or clarified at that time.

    • Disclosure: I am personally VERY interested in "community stuff", and would be happy to contribute to helping such an event! Or if someone wants to follow up with me about this 1-to-1, please feel free! — Joe / jcorneli /

      • Let's start a public video chat conversation around this! (How to have more on-going user engagement, keep it fun, diverse, etc.)[corwin]. +1
    • Sounds like fun. =) Feel free to put together something like this next time! - sachac

      • Will do! -J


Maybe auto gain and compressor can help with the different audio levels of speakers and pre-recorded videos

Maybe some question moderation since some did not seem to be related to the prior talk.

I would have liked some structured breaks. I wanted to see as many talks as possible, however I didn't have as much time between talks as I would have liked to take care of my body.

  • We actually had a lunch break this time, yay! =) And most of the talks were prerecorded (usually with a heads-up), so if there's a talk you're less interested in, that's a perfect time to step away. - sachac


BigBlueButton (thanks to Free Software Foundation)

gstreamer for streaming

Icecast for broadcast

Etherpad for collaborative pad from

Ikiwiki for wiki