summaryrefslogtreecommitdiffstats
path: root/2024/captions/emacsconf-2024-students--an-example-of-a-cohesive-student-workflow-in-emacs--daniel-pinkston--main.vtt
blob: 9990c2e7038332f00396de80ee7fc92db696c07c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
WEBVTT captioned by sachac

00:00:00.000 --> 00:00:04.639
Hello, my name is Daniel Pinkston. I'm in my last year of high

00:00:04.640 --> 00:00:07.519
school, about to go to university. About two and a half years

00:00:07.520 --> 00:00:10.759
ago, I discovered Emacs. My life has now been separated into

00:00:10.760 --> 00:00:14.199
two chapters: before and after Emacs. How could this tool be

00:00:14.200 --> 00:00:18.399
so impactful? Well, you'll just have to see. I made this talk

00:00:18.400 --> 00:00:20.679
for people who ask questions like this, but don't know where

00:00:20.680 --> 00:00:24.559
to start. When I started using Emacs for school, it took me a

00:00:24.560 --> 00:00:27.959
long time to find what I liked. There wasn't many examples of

00:00:27.960 --> 00:00:31.119
a full process for an organization. This talk was made to

00:00:31.120 --> 00:00:34.359
guide students like me, those who wanted more from their

00:00:34.360 --> 00:00:37.599
software workflow that they can learn and adapt from. My

00:00:37.600 --> 00:00:39.959
main idea was essentially explained by Zaiste in his

00:00:39.960 --> 00:00:43.679
EmacsConf presentation in 2019. He said something to the

00:00:43.680 --> 00:00:46.399
effect of, one of the great parts about Doom Emacs as a

00:00:46.400 --> 00:00:48.599
starting point is that it shows beginners how different

00:00:48.600 --> 00:00:51.399
packages mesh with each other. He says that people often

00:00:51.400 --> 00:00:53.639
have trouble seeing how to develop workflows using the

00:00:53.640 --> 00:00:57.159
thousands of packages Emacs has. In this talk, I introduce

00:00:57.160 --> 00:00:59.519
some Emacs tools and how they work together to improve a

00:00:59.520 --> 00:01:04.159
student's academic workflow. Let us commence. If you are

00:01:04.160 --> 00:01:07.199
watching this talk and have never heard of Emacs, it's a

00:01:07.200 --> 00:01:10.479
customizable text editor. When you become more

00:01:10.480 --> 00:01:13.559
experienced, it becomes your entire operating system. You

00:01:13.560 --> 00:01:17.119
just live inside of Emacs. It's also free as in free pencils

00:01:17.120 --> 00:01:19.919
and open source, which means that you don't have to pay to

00:01:19.920 --> 00:01:23.599
download Emacs and its source code. Emacs doesn't charge

00:01:23.600 --> 00:01:25.879
you a monthly subscription, nor does it steal all of your

00:01:25.880 --> 00:01:31.119
information. Yeah, I know, it's pretty crazy. In this talk,

00:01:31.120 --> 00:01:33.559
I introduce some Emacs tools and how they work together to

00:01:33.560 --> 00:01:36.879
improve a student's academic workflow. Earlier I read this

00:01:36.880 --> 00:01:40.879
post on this website that said, I can only imagine the great

00:01:40.880 --> 00:01:43.719
things you'd be able to learn and retain in your brain thanks

00:01:43.720 --> 00:01:47.759
to the great Emacs ecosystem. You've made the best choice,

00:01:47.760 --> 00:01:51.439
with far-going implications. I promise you not once, not

00:01:51.440 --> 00:01:54.039
even subtly, have I ever regretted having invested in

00:01:54.040 --> 00:01:57.399
learning Emacs. It's the best gift anyone can present to

00:01:57.400 --> 00:02:00.399
themself. You will forever feel indebted to your younger

00:02:00.400 --> 00:02:03.839
self for this gift. I guarantee that. I think that this is a

00:02:03.840 --> 00:02:07.199
real testament to the true power of Emacs. There's simply no

00:02:07.200 --> 00:02:09.839
other software like it. It's a complete and fitting

00:02:09.840 --> 00:02:12.759
solution for those who are willing to master it. Hopefully

00:02:12.760 --> 00:02:16.199
by now you're invested in learning Emacs. But before we jump

00:02:16.200 --> 00:02:18.919
into the technicalities of everything, we should outline

00:02:18.920 --> 00:02:22.039
the main things that you need it to do as a student. The best

00:02:22.040 --> 00:02:24.279
students have their system figured out so that it can do

00:02:24.280 --> 00:02:27.239
these things quickly and efficiently. They should have no

00:02:27.240 --> 00:02:29.839
problem quickly organizing what they need to do along with

00:02:29.840 --> 00:02:32.999
capturing information from their classes. But you may be

00:02:33.000 --> 00:02:36.959
wondering, how does Emacs do all that? Well, it does it with

00:02:36.960 --> 00:02:41.679
Org Mode. It was built to be an outliner for note-taking and

00:02:41.680 --> 00:02:45.239
list management, exactly what a student needs. One of the

00:02:45.240 --> 00:02:47.959
key features is that it's plain text, which means that you

00:02:47.960 --> 00:02:50.079
can migrate it between computers, and it's not a

00:02:50.080 --> 00:02:52.919
proprietary format. For those of you who have heard of

00:02:52.920 --> 00:02:55.799
Markdown, Org is similar in that it's a markup language.

00:02:55.800 --> 00:02:59.079
However, it's a bit older, and it goes way beyond Markdown's

00:02:59.080 --> 00:03:01.479
simple text formatting, with its scheduling, task

00:03:01.480 --> 00:03:04.159
management, and organization features, all captured

00:03:04.160 --> 00:03:07.159
within plain text simplicity. This slide shows off one of my

00:03:07.160 --> 00:03:10.159
notes from a heavily customized Emacs window. Yours

00:03:10.160 --> 00:03:12.439
probably won't look like this from the start, but you can

00:03:12.440 --> 00:03:17.199
personalize its appearance with custom themes.

00:03:17.200 --> 00:03:19.999
It's finally time to get into the technicalities. What you

00:03:20.000 --> 00:03:22.639
need to do with your notes in Org Mode is create, search, and

00:03:22.640 --> 00:03:25.559
possibly publish them. I prefer Denote for creating my

00:03:25.560 --> 00:03:29.319
notes, but there are many Emacs packages for that. Denote is

00:03:29.320 --> 00:03:32.279
just lightweight and gets the job done. I used to use Org

00:03:32.280 --> 00:03:35.799
Roam, but I didn't need or use all of its features. I also use

00:03:35.800 --> 00:03:38.359
Anki, a free and open source flashcard program, but of

00:03:38.360 --> 00:03:41.319
course, I make all my flashcards in Org Mode. For searching,

00:03:41.320 --> 00:03:43.559
I often use find and grep, which are both standard

00:03:43.560 --> 00:03:46.799
utilities on Linux. Other operating systems probably have

00:03:46.800 --> 00:03:50.519
a tool to replicate this functionality. The final item is

00:03:50.520 --> 00:03:52.959
exporting. There are many scenarios in which I want to

00:03:52.960 --> 00:03:56.239
publish my notes to share them with teachers or peers. One of

00:03:56.240 --> 00:03:58.479
my favorite features of Org Mode is the exportability of the

00:03:58.480 --> 00:04:01.719
notes you make. This presentation was actually made in Org

00:04:01.720 --> 00:04:04.559
Mode, and so are all of my lab reports and essays for school. I

00:04:04.560 --> 00:04:10.039
also write my webpage articles in Org Mode, which a program

00:04:10.040 --> 00:04:15.359
called Hugo converts into static HTML. So far, you haven't

00:04:15.360 --> 00:04:18.039
actually seen what it's like to use these tools. Here's a

00:04:18.040 --> 00:04:21.279
quick demo of how I track what I need to do. First, I always

00:04:21.280 --> 00:04:24.799
open up my todo.org file in my denote directory. For school

00:04:24.800 --> 00:04:26.839
assignments, I have a heading under Inbox where I have

00:04:26.840 --> 00:04:29.919
entries for each class I'm enrolled in. Each class's

00:04:29.920 --> 00:04:32.839
heading has a tag on it, which the assignment inherits as a

00:04:32.840 --> 00:04:36.999
subheading. Here's an example assignment. I have a test in

00:04:37.000 --> 00:04:39.599
physics next next Wednesday and the deadline to finish

00:04:39.600 --> 00:04:42.359
studying for it is the day that I'm taking it. When I plan my

00:04:42.360 --> 00:04:45.399
studying, I run the keybind for org-schedule to schedule the

00:04:45.400 --> 00:04:48.839
day on which I will study it. I can also mark it as the highest

00:04:48.840 --> 00:04:52.399
priority, making it the most important thing to do. I can

00:04:52.400 --> 00:04:56.439
also open up my agenda to see my tasks. I've cleaned it up as to

00:04:56.440 --> 00:04:59.679
not reveal any of my nefarious plans. This agenda is

00:04:59.680 --> 00:05:03.239
customized, but there are many tutorials on how to do this.

00:05:03.240 --> 00:05:05.599
My agenda has been the most transforming part of my student

00:05:05.600 --> 00:05:08.239
experience, and I've gotten a lot better at managing what I

00:05:08.240 --> 00:05:13.119
need to do. Next, I'll show you what I like to do to take notes.

00:05:13.120 --> 00:05:15.999
The main entry point for a new note is always starting with

00:05:16.000 --> 00:05:19.679
M-x denote. You fill out a couple of customizable prompts

00:05:19.680 --> 00:05:23.119
that will ask for values of the note. I'll start by making a

00:05:23.120 --> 00:05:26.359
new note, which we'll call test note. Then we'll give it a key

00:05:26.360 --> 00:05:29.359
for what category it's under. For this, I usually put the

00:05:29.360 --> 00:05:32.319
subject of the class that I'm doing this note for, be it

00:05:32.320 --> 00:05:35.559
programming, English, history, or science. Try to keep

00:05:35.560 --> 00:05:39.159
them short. And then Shazam, we have ourselves a brand new

00:05:39.160 --> 00:05:42.399
note which we can start typing away in. The cool thing about

00:05:42.400 --> 00:05:45.199
the note is you don't have to manually name your note files.

00:05:45.200 --> 00:05:49.479
It uses a standard convention using the time, the title, and

00:05:49.480 --> 00:05:53.199
the keywords of the note to make it unique. You can even make a

00:05:53.200 --> 00:05:56.599
meta note, a note about notes, to show a list of notes under a

00:05:56.600 --> 00:06:01.319
certain keyword. The final step in creation is flashcards.

00:06:01.320 --> 00:06:04.639
There is a great package called Anki Editor that makes Emacs

00:06:04.640 --> 00:06:08.159
able to push cards into Anki. There isn't much to

00:06:08.160 --> 00:06:11.159
overcomplicate here, it's just content on front and back,

00:06:11.160 --> 00:06:14.599
sometimes with images and complete the phrase. You can also

00:06:14.600 --> 00:06:17.319
set up LaTeX math formatting, but I don't really use it that

00:06:17.320 --> 00:06:20.599
much. If you're living in Emacs all the time, you may want

00:06:20.600 --> 00:06:24.559
some creature comforts. These are some of my favorite. Org

00:06:24.560 --> 00:06:26.959
Download is a package that allows you to paste images from

00:06:26.960 --> 00:06:28.239
your clipboard into an org file.

00:06:28.240 --> 00:06:37.319
Logos is a text narrowing tool that helps you restrict what

00:06:37.320 --> 00:06:40.479
text you can see and focus on what you're writing. It extends

00:06:40.480 --> 00:06:43.159
Emacs default narrowing, also adding functionality for

00:06:43.160 --> 00:06:45.399
quickly switching to headings for a presentation look. It

00:06:45.400 --> 00:06:48.239
can remove your mode line and center your text for better

00:06:48.240 --> 00:06:53.239
focus. org-fragtog allows you to move between previews of

00:06:53.240 --> 00:06:55.639
your LaTeX formulas and the unrendered syntax.

00:06:55.640 --> 00:07:00.679
pdf-view-mode is a fully fledged PDF reader, complete with

00:07:00.680 --> 00:07:03.439
annotations and org syntax, highlighting, and clickable

00:07:03.440 --> 00:07:03.919
links.

00:07:03.920 --> 00:07:09.719
Something you may want to consider is digital versus

00:07:09.720 --> 00:07:12.199
handwritten notes. There have been several talks in the

00:07:12.200 --> 00:07:14.799
past about how to integrate handwritten notes into Emacs,

00:07:14.800 --> 00:07:20.239
such as retyping them or scanning them in with an OCR tool. I

00:07:20.240 --> 00:07:21.959
don't think that type notes are the only way that you should

00:07:21.960 --> 00:07:25.159
take notes, but if you do try writing, at least get some nice

00:07:25.160 --> 00:07:29.079
stationery. I've seen people ask online to YouTubers and

00:07:29.080 --> 00:07:32.479
Twitch streamers asking, what is your keyboard? What is

00:07:32.480 --> 00:07:35.519
your window manager? I understand that they're curious,

00:07:35.520 --> 00:07:37.919
but cosplaying as a productive person by using the same

00:07:37.920 --> 00:07:41.159
tools won't accomplish anything. Emacs will not make you a

00:07:41.160 --> 00:07:44.439
productive person. It can be a significant time investment

00:07:44.440 --> 00:07:47.879
because of how customizable it is. However, I believe it

00:07:47.880 --> 00:07:50.399
will make it easier for you to be productive, as it certainly

00:07:50.400 --> 00:07:53.519
has for me. This was just an example workflow to show

00:07:53.520 --> 00:07:56.119
prospective students how they can use Emacs for their

00:07:56.120 --> 00:07:56.559
needs.

00:07:56.560 --> 00:08:01.999
Even if you don't end up using Emacs in the end, you can still

00:08:02.000 --> 00:08:04.719
apply most of its ideas to other software. It just won't be as

00:08:04.720 --> 00:08:10.199
customizable and extensible as Emacs is. Thank you for

00:08:10.200 --> 00:08:12.519
listening to my talk. It's been a great pleasure to finally

00:08:12.520 --> 00:08:15.359
take part in this conference in some capacity, and I'm glad I

00:08:15.360 --> 00:08:18.399
was given a chance. To all the students who may try Emacs in

00:08:18.400 --> 00:08:21.199
the future, good luck because there might not be any going

00:08:21.200 --> 00:08:24.239
back. If you have any questions, feel free to shoot me an

00:08:24.240 --> 00:08:26.800
email. Thank you for your time.