Back to the talks Previous by track: Saturday opening remarks Next by track: Back to school with Emacs Track: General

Emacs journalism (or everything's a nail if you hit it with Emacs)

Alfred Zanini (he/they)

The following image shows where the talk is in the schedule for Sat 2022-12-03. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.

Format: 17-min talk followed by live Q&A (done)
Discuss on IRC: #emacsconf-gen

Times in different timezones:
Saturday, Dec 3 2022, ~9:05 AM - 9:25 AM EST (US/Eastern)
which is the same as:
Saturday, Dec 3 2022, ~8:05 AM - 8:25 AM CST (US/Central)
Saturday, Dec 3 2022, ~7:05 AM - 7:25 AM MST (US/Mountain)
Saturday, Dec 3 2022, ~6:05 AM - 6:25 AM PST (US/Pacific)
Saturday, Dec 3 2022, ~2:05 PM - 2:25 PM UTC
Saturday, Dec 3 2022, ~3:05 PM - 3:25 PM CET (Europe/Paris)
Saturday, Dec 3 2022, ~4:05 PM - 4:25 PM EET (Europe/Athens)
Saturday, Dec 3 2022, ~7:35 PM - 7:55 PM IST (Asia/Kolkata)
Saturday, Dec 3 2022, ~10:05 PM - 10:25 PM +08 (Asia/Singapore)
Saturday, Dec 3 2022, ~11:05 PM - 11:25 PM JST (Asia/Tokyo)
Find out how to watch and participate


00:00.000 Introduction 00:36.120 Why this talk 01:52.160 Thinking about workflows 02:39.120 My old workflow 04:05.280 Finding my workflow 06:56.800 Literate configuration 09:37.640 Org Mode 11:52.960 Collaborating with Pandoc 14:26.960 You don't have to get lost in the weeds


00:58.920 Why was WeChat a necessity for you? 02:33.520 Have you looked at crdt.el for collaborative real-time editing? 05:11.520 Sharing Org Mode files is trickier than we expect. Do you do this? 07:15.520 Do you use pandoc for incoming and outgoing docs? Do you find that repeated conversions lose document quality? 10:16.520 What was your moment when you started to work in Emacs instead of config editing? 12:53.520 Why is Emacs recommended for journalism? 19:17.520 Do you use any fancy solutions for annotating text onto particular video timestamps? 24:08.520 When you get stuck with an Emacs problem, is there somewhere you go to get help (nice place for non-tech people)?

Listen to just the audio:


PART I - Where I started

Figuring out what you want out of your workflow

For me, that is:

  • note-taking and todos for admin and work tasks
  • project management - setting up deadlines for each task and reminders to check in with people
  • a writing environment when I need to focus on script work
  • a way to experiment with coding and integrating that into my work
  • storyboarding different scenes
  • scheduling interviews and reachouts for interviews

Presentation of my previous workflow

Using google drive, word, storyboarder, wechat, notion

Part II - Where I ended up

Why Emacs ?


Setting up Org-Contacts to track documentary leads and keep up with them - also in use for personal contacts

ORG Roam

Using Org-Roam to link project ideas and leads, and add summaries of interviews / transcripts to contact files. Org-Mode and Org-Contacts to schedule interviews, reaching out, check-ins. All the while writing the script for the project on the Org-Roam page, with global project questions and specific interview questions for each scheduled shoot.

PANDOC and working with colleagues

Once my first draft of the script is ready, I need to be able to share it for review. This is where the "Everything's a nail when you hit it with emacs" part comes in. Using Org-Mode for comments and for coloring with HTML tags and source blocks Not the easiest nor the most fun way to collaborate, but it is where I have ended up on.

Other packages I use regularly for a documentary workflow

Mu4e Fountain.el hledger-mode bibtex for research papers present


Forever Work In Progress

A lot of features to be added and kinks to be worked out but getting to a state where you can use software that you love every day is the most important point to me

So let's keep modding our configs!



  • WRT Literate programming, if you've never read Knuth's Tangle/Web/Weave stuff, it's worth knowing about
  • Using the Calendar in conjunction with task managment and email show off the power off the holistic workflow of Emacs
  • CRDT-- an easy way to work with other people in emacs --
  • Yes, liberal arts types.
  • I relate with so much of this talk so far :-P
  • I didn't know about :ignore: for org-mode headings. Is that set up by default?
  • I also use COMMENT as a todo and it is ignored too.
  • Ahhhhh. Good call. I use TODO in headings when I'm writing to remind me to finish sections later.
  • Yeah, I use :noexport: in pretty much every doc for all of my notes and throwaway scratch writing and stuff.
  • Huh, CRDT sounds interesting.
  • I export docs to Markdown, but I also use pandoc to generate DOCX files from org. Because most writers aren't using Emacs.
  • Thanks, I'll check that out. The writers and editors that I'm working with are frequestly looking for ways to handle change tracking and version tracking for docs. I recommend stuff like git but they need something that's easier for non-techie folks to use.
  • Feedback
    • Great talk!
    • Well done!
    • flipping great stuff. Thanks!!!!!!

Questions and answers

  • Q: It'd be interesting if you explained why WeChat is a necessity for you; outside China, most people have no reason to use it at all.  Thanks.
    • A: I think he meant Weechat (the IRC client) not WeChat -- Chinese exigency 
    • The captioning did mention WeChat.  If he lives in Hong Kong, then I totally understand, so consider this question answered.
    • Oh nvm then
    • Yeah, you've (Alfred) gotten WeChat spot on.  Most people here don't care much, but I'm probably one of the only people in this country not using WeChat, and it's a major PITA to live without.
  • Q:Have you looked at CRDT.el for collaborative realtime editing?
  • Q:Sharing orgmode files is trickier than we expect. Do you do this? If yes, how do you do it?
  • Q:Do you use pandoc for incoming and outgoing docs? Do you find that repeated conversions lose document quality?
    • A: Layouts are kind of wonky, but that's possible to work through if you go into the settings and adjust basically to how you want it to look like.
    • And for incoming docs, so that's a bit more of a hassle. My plan for this talk was to have it a bit more ready, but I've got this integration for org-ic, org-apple-pages documents, that kind of thing. So that's often the documents that I get from my colleagues, and I found a way to transfer them into org documents. I did that kind of quickly, so I don't think I'm quite ready to share exactly how it went, but I'm planning on doing some documentation around that. But yeah, basically the gist of it is, I don't find it a huge issue.
  • Q: I am beginning on emacs (again) after falling off every time because of the "working in config-files" whole day. What was your moment when you really started to work in emacs instead of config-editing?
  • Q: Why is emacs recommended for journalism? -vidianos asks
    • A: I wouldn't say it's recommended-- a personal choice-- valuable as a tool-- can be tailored so that it's easy to transfer skills from other disciplines-- more scientific ones to journalism. Org-Roam is a game changer because it allows me to set thoughts aside and know that I can get back to it. Helps with self-control.
  • Q: Do you use any fancy solutions for annotation text onto particular video timestamps?
    • Clarification: Yes, asking about making notes on a video, when something happens 
    • Side Note: subd.el could be useful
    • A: Taking notes with org-roam and linking them to BiBTeX etc
  • Q: When you get stuck with an emacs problem-- is there somewhere you go to get help (nice place for non-tech people?)
  • Q: is it possible to use emacs bookmarks capability to literally bookmark a specific timestamp in a video clip (and by that the note taking could be done in that bookmark instance)… ?
  • Q: is Alfred australian?
    • I suspect he's Swiss
  • Thanks, I'll check that out. The writers and editors that I'm working with are frequestly looking for ways to handle change tracking and version tracking for docs. I recommend stuff like git but they need something that's easier for non-techie folks to use.
  • I did not know about org-mpv
  • There isn't a proper org-mpv, but there are a few functions to combine mpv.el with org-mode here:
  • Alfred is a very quick learner


[00:00:00.000] All right. Hello, everyone. Welcome to my talk. We'll be talking today about Emacs journalism and what that means. First of all, I'd like to thank the EmacsConf organizers. Thank you very much, Sacha, for being very patient with me. Let's get right into it. So who's this talk for? First of all, it's for anyone who wants to learn about workflows and how you can work with Emacs to basically do anything you want. And it's for all levels of Emacs lovers. So I'll keep it accessible.

[00:00:36.120] Why this talk? So first of all, I want to share a lot of Emacs. I also wanted to learn about workflows myself. So what better way than to talk about them to be able to learn? And we could maybe learn a thing or two about collaboration and using Emacs to that motive. I think it's useful to try and figure out who am I? Why am I having this talk? I'm a journalist based in Hong Kong and a documentary filmmaker. So that means that I have interviews quite often. I'm dealing with texts and subtitles, which I have to transcribe. And I'm also dealing with a lot of research. So that means going through a lot of documents and a lot of, well, skimming through documents to be able to have something to write. And I also use Emacs since basically one year ago, I started using it full time to have a great detriment of my productivity. So we'll be talking about, we'll be talking about, well, basically, my workflow for Emacs and how I went about having an Emacs workflow.

[00:01:52.160] So what is best when you're thinking about your own workflow and some things to think about journalism and about using these kinds of tools in combination for this? So where do we all start? Let's start with a simple-ish definition of what is a workflow. A workflow is any sequence of actions or tools you use to accomplish that. So it doesn't have to be through text processing, though obviously being a text-oriented community, it will most likely be partially text. But it's just about how we accomplish a task and which tools and mindsets we go into it with.

[00:02:39.120] For example, let's talk about my old workflow. That workflow was basically just Google Drive using proprietary tools like Notion, Google Drive, Office, Storyboarder, and for communication, WeChat. If I could forgive all the privacy concerns of WeChat, I wouldn't, but I still wouldn't forgive the terribly buggy interface, and I hate it. So there are certain tools that you have to use and you have to modify your workflow or just adapt your workflow to the tools that you have to use. So for me, unfortunately, that means having to use WeChat. You compartmentalize it and set it aside, try not to think about it too hard. And this is the part that hurts the most, right? You're thinking about your workflow, you're thinking about, all right, I have this thing that works, I don't think about it. And all of a sudden, oh, I'm not happy with what I have right now. So let's get into, let's get into how, oops. So let's get into how and why we're not happy with our workflows. Because obviously, it's quite nice to not have to think about things. But once you've thought about it, and once you're not happy with how it works, I think it's quite useful to think about why we're not happy about it.

[00:04:05.280] A huge part of what Emacs is being conscious of, well, how do we find our workflows? How do we find what we want to do? And for me, obviously, the best way to find that is to write it down and to try and tailor my tools to it. This is what I came up with. I want to be able to manage my accounting, to manage collaboration. So: working on files alongside my colleagues, communication, so that's planning out and managing meetings, managing teammates, managing tasks, information gathering. So that's what I was saying, going through documents, going through all these lists of tasks and all of these, not lists of tasks, all of these, well, basically, scientific papers, notes, references and wikis, media. So I want to be able to have a music player, a podcast player, a movie player. That's outside of work, but it's still one of the tasks that I do. Media processing, so this is where my job kind of gets into it a bit more. So I want to be able to take notes on the media that I watch, to transcribe the interviews and even the conversations that I have, to be able to later on have an easier time. Photo editing, video editing, so unfortunately, Emacs isn't quite quite oriented to that. Graphic design, color grading, storyboarding. And so obviously, you go into it a bit more. So managing to do scheduling tasks, interviews, preparing shot lists, tracking time, setting daily work goals, setting priorities, independent tasks, publishing, so publishing stuff for my work on my work CMS, publishing stuff on my personal CMS, although that's not happened yet. I've been kind of busy. Security and privacy, so making sure that everything that I use respects my data and respects me. Unfortunately, not the case, but you take what you can. Text processing. So that's journaling, writing down articles, my personal wiki, my work wiki, which I use to document, well, for example, several projects that I have currently. So I basically have my work wiki that I'm trying to fill out where I'll be able to basically go into it later on and have my thoughts written down. And programming, which I'm not very good at.

[00:06:56.800] Some people might have noticed that this looks a lot like [literate] programming. If you go into my config file, I have something kind of similar. I was planning on having a bit more time for this presentation and making it stick to that. But you'll see basically the mess that is my Emacs config. But it kind of sticks to the same thoughts, right? Text processing, web browsing, finances, that's my accounting, media and research. So my BibTeX... Here be dragons. Terrible, terrible config that I've stolen from plenty of people. So basically, that's how Emacs fits into this. So this is where I talk about literate configs and how that's helped me. Obviously, I've extolled the virtue of literate configs to quite an extent right here. It's basically... The concept is to have documents, living documents and documentation as code. So basically, let's go back into my config. I talk about what the config file does, have code blocks. So this is something that Emacs does. I'm pretty sure that there are some resources about that accessible online, which are even accessible in the Emacs Gulf. And so, yeah, basically just having everything accessible in one single source, one single file, which allows you to basically put everything down and integrate things from your config much much more easily. That's something that I found very useful in Emacs and which I think everyone can benefit from or the idea of it, like having everything stored centrally. It doesn't have to be used just for Emacs. It can be used also, it can be used also for, for example, a Qt browser or for other window manager configs. That kind of thing. And it's not been very easy to set a place. So I haven't done that just yet, but that's the plan.

[00:09:37.640] Basically, this is all thanks to Org mode. So, small presentation of what Org mode is. Org mode is basically a project / task management, past management and task management, and writing mode for Emacs. So I can just put in a heading to do Hello World, send a message to Rosie tomorrow about the shoot space MDS-- that's thanks to wonderful Doom Emacs--and schedule it. I don't know. It's tomorrow. Let's go and set it to 9am. And say, maybe it's it's tomorrow already. I've done it. I've sent a message. Perfect. It's done. And it also allows you to have an agenda view. So I hope there's nothing too compromising right here. Whatever. It's fine. So it allows you to basically manage your agenda from there. And you might have seen me doing my little space nrf and wonderful key binding by Org Roam. So this is also another thing which is quite quite nice with Emacs is that you can you can have Org Roam, which is basically a database management program. So I can have documentary ideas and have basically my ideas which link up to another file. So for example, this one, which I have nothing for, but you get the idea. So it allows you to apps to link up with different files and to manage your thoughts. And this gets back into the workflow part of my talk, which is, well, this, this is a way to control what your workflow is control what the tools you're using are and to control, basically the way in which you interact with your technology.

[00:11:52.960] So I am getting back into the way that I collaborate. Because obviously it's no good having just one Emacs user who's trying to share to share things with his editor. So I use pandoc. For example, let's go back into my file right here. Obviously, I don't spend much time inside of tables. But if I select this one, that's "SPC m e". Thank you, Doom Emacs for the for the keybindings. And I can just export it via pandoc right here, So "p". And I can just export it to doc, docx, or export it to ODT. So as an ODT file, which is typically what I do. And then I just send it through WeChat, which is not optimal, but I'm not allowed to do anything else. So it is what it is. Basically, this is how I export my files. And I re-import, I re-import them with pandoc as well. So I convert my Pages files, which I receive through an ICS plugin. It's not quite finalized, so I'm not ready to show it, but there's a link that I'll be putting in the description which talks about this. So this is my sharing part. It's nothing very special, honestly. It's just making sure that your documents are able to be shared. I have certain things. So for example, if I go into retro gaming in Hong Kong, if I go into my scripts, there are certain headings which I have. So for example, they ignore... My editor doesn't like to have some headings. But when I have a video script that I'm preparing, I like to have them for my own organization and for my thinking. So I keep them in right there and put in ignore. This is the advantage of the Emacs because you can just SPC m e o o, and this is ready to send, basically. There are ways to have export presets, but I'm not quite there yet. It's a lot of work.

[00:14:26.960] So, getting back to my presentation. This all goes into basically other packages, which I want to implement, but I haven't been able to. My main conclusion: you don't have to get lost in the weeds. I kind of did that while preparing this talk. So basically, you don't have to do it all at once. Don't let it consume your life. I probably should have done this earlier. But Emacs configs are forever work in progress. So there are lots of features which you can add, a lot of things which you can implement if you only had, I don't know, five weeks to be able to implement them. But you're working right now. And this is a message to me five months ago. Don't do it. Just keep working and don't get lost in configuration all day. So yeah, basically the aim is to use software that you love, but not die in the process. And yeah, basically just using it as much as you can using fast software as much as you can. I'm doing that as well for... I have certain software such as storyboarder or bit tags, that kind of thing, which I try to use as much as possible, even outside of Emacs. And the aim is to get the work done in the end. I'm not an absolutist on this. So yeah, basically, let's keep modding our configs and having fun. If you've got any questions about the talk, I'm happy to answer. I am a novice at this, both presenting in front of camera and at talking about Emacs. I'm sure I've gotten a few things wrong, and it's not been the smoothest talk, but it's 10pm, almost. I need to get back home. Yeah, take care, everyone. Thanks again to the organizers. Here's my contact info. And I'll be in touch with the questions. I don't think I'll be able to do the live answers, but that's more or less it. Thanks so much for listening, if you've been listening, and take care.

Questions or comments? Please e-mail

Back to the talks Previous by track: Saturday opening remarks Next by track: Back to school with Emacs Track: General

CategoryOrgMode CategoryOrgRoam