WEBVTT captioned by alfred
NOTE Introduction
00:00:00.000 --> 00:00:06.959
All right. Hello, everyone. Welcome to my talk.
00:00:06.960 --> 00:00:10.119
We'll be talking today about Emacs journalism
00:00:10.120 --> 00:00:12.279
and what that means.
00:00:12.280 --> 00:00:14.999
First of all, I'd like to thank the EmacsConf organizers.
00:00:15.000 --> 00:00:20.039
Thank you very much, Sacha, for being very patient with me.
00:00:20.040 --> 00:00:22.679
Let's get right into it. So who's this talk for?
00:00:22.680 --> 00:00:24.799
First of all, it's for anyone
00:00:24.800 --> 00:00:26.359
who wants to learn about workflows
00:00:26.360 --> 00:00:28.519
and how you can work with Emacs
00:00:28.520 --> 00:00:31.279
to basically do anything you want.
00:00:31.280 --> 00:00:33.679
And it's for all levels of Emacs lovers.
00:00:33.680 --> 00:00:36.119
So I'll keep it accessible.
NOTE Why this talk
00:00:36.120 --> 00:00:37.479
Why this talk? So first of all,
00:00:37.480 --> 00:00:40.519
I want to share a lot of Emacs.
00:00:40.520 --> 00:00:42.519
I also wanted to learn about workflows myself.
00:00:42.520 --> 00:00:46.319
So what better way than to talk about them
00:00:46.320 --> 00:00:49.519
to be able to learn? And we could maybe learn a thing
00:00:49.520 --> 00:00:56.799
or two about collaboration and using Emacs to that motive.
00:00:56.800 --> 00:01:00.479
I think it's useful to try and figure out who am I?
00:01:00.480 --> 00:01:03.159
Why am I having this talk? I'm a journalist based
00:01:03.160 --> 00:01:06.799
in Hong Kong and a documentary filmmaker. So that means
00:01:06.800 --> 00:01:08.959
that I have interviews quite often.
00:01:08.960 --> 00:01:11.519
I'm dealing with texts and subtitles,
00:01:11.520 --> 00:01:14.039
which I have to transcribe.
00:01:14.040 --> 00:01:16.879
And I'm also dealing with a lot of research.
00:01:16.880 --> 00:01:22.159
So that means going through a lot of documents and a lot of,
00:01:22.160 --> 00:01:26.759
well, skimming through documents
00:01:26.760 --> 00:01:30.279
to be able to have something to write.
00:01:30.280 --> 00:01:34.119
And I also use Emacs since basically one year ago,
00:01:34.120 --> 00:01:35.399
I started using it full time
00:01:35.400 --> 00:01:39.639
to have a great detriment of my productivity.
00:01:39.640 --> 00:01:45.599
So we'll be talking about, we'll be talking about, well,
00:01:45.600 --> 00:01:48.439
basically, my workflow for Emacs
00:01:48.440 --> 00:01:52.159
and how I went about having an Emacs workflow.
NOTE Thinking about workflows
00:01:52.160 --> 00:01:56.799
So what is best when you're thinking about your own workflow
00:01:56.800 --> 00:01:59.199
and some things to think about journalism
00:01:59.200 --> 00:02:03.199
and about using these kinds of tools
00:02:03.200 --> 00:02:09.479
in combination for this? So where do we all start?
00:02:09.480 --> 00:02:11.559
Let's start with a simple-ish definition
00:02:11.560 --> 00:02:14.959
of what is a workflow. A workflow is
00:02:14.960 --> 00:02:18.359
any sequence of actions or tools you use to accomplish that.
00:02:18.360 --> 00:02:23.199
So it doesn't have to be through text processing,
00:02:23.200 --> 00:02:27.759
though obviously being a text-oriented community,
00:02:27.760 --> 00:02:31.439
it will most likely be partially text.
00:02:31.440 --> 00:02:34.999
But it's just about how we accomplish a task
00:02:35.000 --> 00:02:39.119
and which tools and mindsets we go into it with.
NOTE My old workflow
00:02:39.120 --> 00:02:42.759
For example, let's talk about my old workflow.
00:02:42.760 --> 00:02:46.879
That workflow was basically just Google Drive
00:02:46.880 --> 00:02:50.759
using proprietary tools like Notion, Google Drive, Office,
00:02:50.760 --> 00:02:55.839
Storyboarder, and for communication, WeChat.
00:02:55.840 --> 00:02:59.559
If I could forgive all the privacy concerns of WeChat,
00:02:59.560 --> 00:03:03.279
I wouldn't, but I still wouldn't forgive
00:03:03.280 --> 00:03:06.759
the terribly buggy interface, and I hate it.
00:03:06.760 --> 00:03:09.119
So there are certain tools that you have to use
00:03:09.120 --> 00:03:11.359
and you have to modify your workflow
00:03:11.360 --> 00:03:13.839
or just adapt your workflow to the tools
00:03:13.840 --> 00:03:17.119
that you have to use. So for me, unfortunately,
00:03:17.120 --> 00:03:23.399
that means having to use WeChat. You compartmentalize it
00:03:23.400 --> 00:03:27.479
and set it aside, try not to think about it too hard.
00:03:27.480 --> 00:03:29.319
And this is the part that hurts the most, right?
00:03:29.320 --> 00:03:31.039
You're thinking about your workflow,
00:03:31.040 --> 00:03:32.239
you're thinking about, all right,
00:03:32.240 --> 00:03:37.199
I have this thing that works, I don't think about it.
00:03:37.200 --> 00:03:40.039
And all of a sudden, oh, I'm not happy
00:03:40.040 --> 00:03:44.239
with what I have right now. So let's get into,
00:03:44.240 --> 00:03:50.079
let's get into how, oops. So let's get into how and why
00:03:50.080 --> 00:03:51.479
we're not happy with our workflows.
00:03:51.480 --> 00:03:55.679
Because obviously, it's quite nice
00:03:55.680 --> 00:03:57.159
to not have to think about things.
00:03:57.160 --> 00:03:58.719
But once you've thought about it,
00:03:58.720 --> 00:04:01.399
and once you're not happy with how it works,
00:04:01.400 --> 00:04:03.559
I think it's quite useful to think about
00:04:03.560 --> 00:04:05.279
why we're not happy about it.
NOTE Finding my workflow
00:04:05.280 --> 00:04:10.199
A huge part of what Emacs is being conscious of, well,
00:04:10.200 --> 00:04:11.679
how do we find our workflows?
00:04:11.680 --> 00:04:17.839
How do we find what we want to do? And for me, obviously,
00:04:17.840 --> 00:04:19.839
the best way to find that is to write it down
00:04:19.840 --> 00:04:24.239
and to try and tailor my tools to it.
00:04:24.240 --> 00:04:26.239
This is what I came up with.
00:04:26.240 --> 00:04:28.039
I want to be able to manage my accounting,
00:04:28.040 --> 00:04:30.719
to manage collaboration. So: working on files
00:04:30.720 --> 00:04:33.439
alongside my colleagues, communication,
00:04:33.440 --> 00:04:38.839
so that's planning out and managing meetings,
00:04:38.840 --> 00:04:43.999
managing teammates, managing tasks, information gathering.
00:04:44.000 --> 00:04:45.959
So that's what I was saying, going through documents,
00:04:45.960 --> 00:04:49.999
going through all these lists of tasks and all of these,
00:04:50.000 --> 00:04:54.079
not lists of tasks, all of these, well, basically,
00:04:54.080 --> 00:04:59.799
scientific papers, notes, references and wikis, media.
00:04:59.800 --> 00:05:02.319
So I want to be able to have a music player,
00:05:02.320 --> 00:05:06.159
a podcast player, a movie player. That's outside of work,
00:05:06.160 --> 00:05:09.999
but it's still one of the tasks that I do. Media processing,
00:05:10.000 --> 00:05:13.559
so this is where my job kind of gets into it a bit more.
00:05:13.560 --> 00:05:15.159
So I want to be able to take notes
00:05:15.160 --> 00:05:16.479
on the media that I watch,
00:05:16.480 --> 00:05:19.559
to transcribe the interviews
00:05:19.560 --> 00:05:21.559
and even the conversations that I have,
00:05:21.560 --> 00:05:26.439
to be able to later on have an easier time.
00:05:26.440 --> 00:05:32.119
Photo editing, video editing, so unfortunately,
00:05:32.120 --> 00:05:35.959
Emacs isn't quite quite oriented to that.
00:05:35.960 --> 00:05:40.519
Graphic design, color grading, storyboarding.
00:05:40.520 --> 00:05:43.479
And so obviously, you go into it a bit more.
00:05:43.480 --> 00:05:46.519
So managing to do scheduling tasks, interviews,
00:05:46.520 --> 00:05:49.159
preparing shot lists, tracking time,
00:05:49.160 --> 00:05:53.319
setting daily work goals, setting priorities,
00:05:53.320 --> 00:05:55.479
independent tasks, publishing,
00:05:55.480 --> 00:05:59.079
so publishing stuff for my work on my work CMS,
00:05:59.080 --> 00:06:01.519
publishing stuff on my personal CMS,
00:06:01.520 --> 00:06:06.079
although that's not happened yet. I've been kind of busy.
00:06:06.080 --> 00:06:08.639
Security and privacy, so making sure
00:06:08.640 --> 00:06:13.279
that everything that I use respects my data and respects me.
00:06:13.280 --> 00:06:18.399
Unfortunately, not the case, but you take what you can.
00:06:18.400 --> 00:06:20.599
Text processing. So that's journaling,
00:06:20.600 --> 00:06:26.039
writing down articles, my personal wiki, my work wiki,
00:06:26.040 --> 00:06:34.679
which I use to document, well, for example,
00:06:34.680 --> 00:06:37.159
several projects that I have currently.
00:06:37.160 --> 00:06:43.319
So I basically have my work wiki that I'm trying
00:06:43.320 --> 00:06:45.159
to fill out where I'll be able
00:06:45.160 --> 00:06:47.199
to basically go into it later on
00:06:47.200 --> 00:06:50.399
and have my thoughts written down.
00:06:50.400 --> 00:06:56.799
And programming, which I'm not very good at.
NOTE Literate configuration
00:06:56.800 --> 00:06:59.399
Some people might have noticed
00:06:59.400 --> 00:07:17.159
that this looks a lot like [literate] programming.
00:07:17.160 --> 00:07:18.639
If you go into my config file,
00:07:18.640 --> 00:07:20.159
I have something kind of similar.
00:07:20.160 --> 00:07:22.439
I was planning on having a bit more time
00:07:22.440 --> 00:07:26.359
for this presentation and making it stick to that.
00:07:26.360 --> 00:07:30.999
But you'll see basically the mess that is my Emacs config.
00:07:31.000 --> 00:07:33.319
But it kind of sticks to the same thoughts, right?
00:07:33.320 --> 00:07:37.399
Text processing, web browsing, finances,
00:07:37.400 --> 00:07:39.879
that's my accounting, media and research.
00:07:39.880 --> 00:07:43.879
So my BibTeX... Here be dragons.
00:07:43.880 --> 00:07:45.119
Terrible, terrible config
00:07:45.120 --> 00:07:47.719
that I've stolen from plenty of people.
00:07:47.720 --> 00:07:52.479
So basically, that's how Emacs fits into this.
00:07:52.480 --> 00:07:57.399
So this is where I talk about literate configs
00:07:57.400 --> 00:08:01.919
and how that's helped me. Obviously, I've extolled
00:08:01.920 --> 00:08:04.199
the virtue of literate configs
00:08:04.200 --> 00:08:09.359
to quite an extent right here. It's basically...
00:08:09.360 --> 00:08:15.239
The concept is to have documents, living documents
00:08:15.240 --> 00:08:18.239
and documentation as code.
00:08:18.240 --> 00:08:22.239
So basically, let's go back into my config.
00:08:22.240 --> 00:08:31.279
I talk about what the config file does, have code blocks.
00:08:31.280 --> 00:08:33.599
So this is something that Emacs does. I'm pretty sure
00:08:33.600 --> 00:08:36.639
that there are some resources about that accessible online,
00:08:36.640 --> 00:08:46.439
which are even accessible in the Emacs Gulf. And so, yeah,
00:08:46.440 --> 00:08:50.199
basically just having everything accessible
00:08:50.200 --> 00:08:52.479
in one single source, one single file,
00:08:52.480 --> 00:08:54.879
which allows you to basically put everything down
00:08:54.880 --> 00:09:00.639
and integrate things from your config much much more easily.
00:09:00.640 --> 00:09:05.239
That's something that I found very useful in Emacs
00:09:05.240 --> 00:09:07.599
and which I think everyone can benefit from
00:09:07.600 --> 00:09:11.279
or the idea of it, like having everything stored centrally.
00:09:11.280 --> 00:09:14.999
It doesn't have to be used just for Emacs.
00:09:15.000 --> 00:09:21.999
It can be used also, it can be used also for, for example,
00:09:22.000 --> 00:09:26.679
a Qt browser or for other window manager configs.
00:09:26.680 --> 00:09:28.239
That kind of thing.
00:09:28.240 --> 00:09:32.919
And it's not been very easy to set a place.
00:09:32.920 --> 00:09:37.639
So I haven't done that just yet, but that's the plan.
NOTE Org Mode
00:09:37.640 --> 00:09:41.479
Basically, this is all thanks to Org mode.
00:09:41.480 --> 00:09:45.639
So, small presentation of what Org mode is. Org mode
00:09:45.640 --> 00:09:49.599
is basically a project / task management,
00:09:49.600 --> 00:09:52.479
past management and task management,
00:09:52.480 --> 00:09:54.319
and writing mode for Emacs.
00:09:54.320 --> 00:10:00.039
So I can just put in a heading to do Hello World,
00:10:00.040 --> 00:10:10.319
send a message to Rosie tomorrow about the shoot space MDS--
00:10:10.320 --> 00:10:15.399
that's thanks to wonderful Doom Emacs--and schedule it.
00:10:15.400 --> 00:10:21.799
I don't know. It's tomorrow. Let's go and set it to 9am.
00:10:21.800 --> 00:10:28.759
And say, maybe it's it's tomorrow already. I've done it.
00:10:28.760 --> 00:10:31.439
I've sent a message. Perfect. It's done.
00:10:31.440 --> 00:10:33.679
And it also allows you to have an agenda view.
00:10:33.680 --> 00:10:37.719
So I hope there's nothing too compromising right here.
00:10:37.720 --> 00:10:41.879
Whatever. It's fine. So it allows you
00:10:41.880 --> 00:10:45.199
to basically manage your agenda from there.
00:10:45.200 --> 00:10:54.439
And you might have seen me doing my little space nrf
00:10:54.440 --> 00:10:58.359
and wonderful key binding by Org Roam. So this
00:10:58.360 --> 00:11:01.039
is also another thing which is quite quite nice
00:11:01.040 --> 00:11:06.079
with Emacs is that you can you can have Org Roam, which
00:11:06.080 --> 00:11:09.079
is basically a database management program.
00:11:09.080 --> 00:11:12.959
So I can have documentary ideas
00:11:12.960 --> 00:11:21.799
and have basically my ideas which link up to another file.
00:11:21.800 --> 00:11:25.839
So for example, this one, which I have nothing for,
00:11:25.840 --> 00:11:29.239
but you get the idea. So it allows you to apps
00:11:29.240 --> 00:11:33.719
to link up with different files and to manage your thoughts.
00:11:33.720 --> 00:11:37.959
And this gets back into the workflow part of my talk,
00:11:37.960 --> 00:11:41.879
which is, well, this, this is a way
00:11:41.880 --> 00:11:44.319
to control what your workflow
00:11:44.320 --> 00:11:49.759
is control what the tools you're using are and to control,
00:11:49.760 --> 00:11:52.079
basically the way in which you interact
00:11:52.080 --> 00:11:52.959
with your technology.
NOTE Collaborating with Pandoc
00:11:52.960 --> 00:11:59.799
So I am getting back into the way that I collaborate.
00:11:59.800 --> 00:12:02.799
Because obviously it's no good having just
00:12:02.800 --> 00:12:07.919
one Emacs user who's trying to share to share things
00:12:07.920 --> 00:12:11.159
with his editor. So I use pandoc.
00:12:11.160 --> 00:12:17.479
For example, let's go back into my file right here.
00:12:17.480 --> 00:12:24.359
Obviously, I don't spend much time inside of tables.
00:12:24.360 --> 00:12:29.199
But if I select this one, that's "SPC m e".
00:12:29.200 --> 00:12:32.079
Thank you, Doom Emacs for the for the keybindings.
00:12:32.080 --> 00:12:38.239
And I can just export it via pandoc right here, So "p".
00:12:38.240 --> 00:12:50.719
And I can just export it to doc, docx, or export it to ODT.
00:12:50.720 --> 00:12:55.119
So as an ODT file, which is typically what I do.
00:12:55.120 --> 00:12:57.119
And then I just send it through WeChat,
00:12:57.120 --> 00:13:00.359
which is not optimal, but I'm not allowed
00:13:00.360 --> 00:13:04.079
to do anything else. So it is what it is.
00:13:04.080 --> 00:13:12.759
Basically, this is how I export my files. And I re-import,
00:13:12.760 --> 00:13:15.519
I re-import them with pandoc as well.
00:13:15.520 --> 00:13:19.799
So I convert my Pages files, which I receive
00:13:19.800 --> 00:13:22.879
through an ICS plugin. It's not quite finalized,
00:13:22.880 --> 00:13:24.119
so I'm not ready to show it,
00:13:24.120 --> 00:13:26.359
but there's a link that I'll be putting
00:13:26.360 --> 00:13:29.479
in the description which talks about this.
00:13:29.480 --> 00:13:32.959
So this is my sharing part.
00:13:32.960 --> 00:13:35.439
It's nothing very special, honestly.
00:13:35.440 --> 00:13:38.319
It's just making sure that your documents
00:13:38.320 --> 00:13:41.479
are able to be shared.
NOTE My own
00:13:41.480 --> 00:13:44.079
I have certain things. So for example,
00:13:44.080 --> 00:13:47.839
if I go into retro gaming in Hong Kong,
00:13:47.840 --> 00:13:53.919
if I go into my scripts, there are certain headings
00:13:53.920 --> 00:13:55.519
which I have. So for example, they ignore...
00:13:55.520 --> 00:13:58.759
My editor doesn't like to have some headings.
00:13:58.760 --> 00:14:02.599
But when I have a video script that I'm preparing,
00:14:02.600 --> 00:14:05.519
I like to have them for my own organization
00:14:05.520 --> 00:14:09.399
and for my thinking. So I keep them in right there
00:14:09.400 --> 00:14:11.760
and put in ignore. This is the advantage
00:14:11.761 --> 00:14:17.280
of the Emacs because you can just SPC m e o o,
00:14:17.281 --> 00:14:20.479
and this is ready to send, basically.
00:14:20.480 --> 00:14:24.039
There are ways to have export presets,
00:14:24.040 --> 00:14:26.959
but I'm not quite there yet. It's a lot of work.
NOTE You don't have to get lost in the weeds
00:14:26.960 --> 00:14:30.119
So, getting back to my presentation.
00:14:30.120 --> 00:14:36.719
This all goes into basically other packages,
00:14:36.720 --> 00:14:39.319
which I want to implement, but I haven't been able to.
00:14:39.320 --> 00:14:43.839
My main conclusion: you don't have to get lost in the weeds.
00:14:43.840 --> 00:14:48.279
I kind of did that while preparing this talk.
00:14:48.280 --> 00:14:51.719
So basically, you don't have to do it all at once.
00:14:51.720 --> 00:14:55.639
Don't let it consume your life.
00:14:55.640 --> 00:14:57.319
I probably should have done this earlier.
00:14:57.320 --> 00:15:02.119
But Emacs configs are forever work in progress.
00:15:02.120 --> 00:15:04.919
So there are lots of features which you can add,
00:15:04.920 --> 00:15:08.119
a lot of things which you can implement if you only had,
00:15:08.120 --> 00:15:11.639
I don't know, five weeks to be able to implement them.
00:15:11.640 --> 00:15:12.959
But you're working right now.
00:15:12.960 --> 00:15:16.319
And this is a message to me five months ago.
00:15:16.320 --> 00:15:19.639
Don't do it. Just keep working
00:15:19.640 --> 00:15:23.639
and don't get lost in configuration all day.
00:15:23.640 --> 00:15:27.559
So yeah, basically the aim is to use software that you love,
00:15:27.560 --> 00:15:29.439
but not die in the process.
00:15:29.440 --> 00:15:34.719
And yeah, basically just using it as much as you can
00:15:34.720 --> 00:15:36.519
using fast software as much as you can.
00:15:36.520 --> 00:15:39.839
I'm doing that as well for...
00:15:39.840 --> 00:15:46.679
I have certain software such as storyboarder or bit tags,
00:15:46.680 --> 00:15:50.159
that kind of thing, which I try to use as much as possible,
00:15:50.160 --> 00:15:51.839
even outside of Emacs.
00:15:51.840 --> 00:15:56.279
And the aim is to get the work done in the end.
00:15:56.280 --> 00:16:00.679
I'm not an absolutist on this. So yeah, basically,
00:16:00.680 --> 00:16:03.919
let's keep modding our configs and having fun.
00:16:03.920 --> 00:16:06.479
If you've got any questions about the talk,
00:16:06.480 --> 00:16:10.439
I'm happy to answer. I am a novice at this,
00:16:10.440 --> 00:16:12.959
both presenting in front of camera
00:16:12.960 --> 00:16:15.719
and at talking about Emacs.
00:16:15.720 --> 00:16:18.679
I'm sure I've gotten a few things wrong,
00:16:18.680 --> 00:16:23.719
and it's not been the smoothest talk, but it's 10pm, almost.
00:16:23.720 --> 00:16:28.759
I need to get back home. Yeah, take care, everyone.
00:16:28.760 --> 00:16:32.719
Thanks again to the organizers. Here's my contact info.
00:16:32.720 --> 00:16:36.199
And I'll be in touch with the questions.
00:16:36.200 --> 00:16:38.319
I don't think I'll be able to do the live answers,
00:16:38.320 --> 00:16:41.879
but that's more or less it. Thanks so much for listening,
00:16:41.880 --> 00:16:44.400
if you've been listening, and take care.