Back to the talks Previous by time: Saturday opening remarks Next by time: 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.

Schedule for Saturday Saturday 9:00- 9:05 Saturday opening remarks sat-open 9:05- 9:25 Emacs journalism (or everything's a nail if you hit it with Emacs) journalism 9:45- 9:55 Back to school with Emacs school 10:05-10:15 How to incorporate handwritten notes into Emacs Orgmode handwritten 10:45-11:05 Writing and organizing literature notes for scientific writing science 11:25-11:35 The Emacs Buddy initiative buddy 1:00- 1:20 Attending and organizing Emacs meetups meetups 1:40- 1:55 Linking personal info with Hyperbole implicit buttons buttons 2:15- 2:40 Real estate and Org table formulas realestate 3:00- 3:25 Health data journaling and visualization with Org Mode and gnuplot health 3:45- 4:05 Edit live Jupyter notebook cells with Emacs jupyter 4:50- 4:55 Saturday closing remarks sat-close 10:00-10:15 Tree-sitter beyond syntax highlighting treesitter 10:25-10:45 lsp-bridge: a smooth-as-butter asynchronous LSP client lspbridge 10:55-11:15 asm-blox: a game based on WebAssembly that no one asked for asmblox 11:25-11:35 Emacs should become a Wayland compositor wayland 1:00- 1:25 Using SQLite as a data source: a framework and an example sqlite 1:50- 2:30 Revisiting the anatomy of Emacs mail user agents mail 2:50- 3:10 Maintaining the Maintainers: Attribution as an Economic Model for Open Source maint 3:35- 3:40 Bidirectional links with eev eev 3:50- 3:55 Short hyperlinks to Python docs python 4:05- 4:35 Haskell code exploration with Emacs haskell 9 AM 10 AM 11 AM 12 PM 1 PM 2 PM 3 PM 4 PM 5 PM

Format: 17-min talk followed by live Q&A (https://emacsconf.org/current/journalism/room)
Etherpad: https://pad.emacsconf.org/2022-journalism
Discuss on IRC: #emacsconf-gen
Status: Q&A open for participation

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: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

Description

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 ?

Org-Contacts

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

Conclusions

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!

Transcript

[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 emacsconf-org-private@gnu.org

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

CategoryOrgMode CategoryOrgRoam