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
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
|
WEBVTT
00:00:01.360 --> 00:00:05.200
Hello and welcome to my EmacsConf lightning talk.
00:00:05.200 --> 00:00:09.840
Today I'll be talking about my journey into Emacs as a high schooler
00:00:09.840 --> 00:00:14.400
and how it has changed my life.
00:00:14.400 --> 00:00:19.520
Right. So who am I? I am a senior at
Stanford Online High School,
00:00:19.520 --> 00:00:22.800
and I am also a violinist.
00:00:22.800 --> 00:00:25.199
I started violin when I was two and a half,
00:00:25.199 --> 00:00:28.560
and I have been keeping it up ever since.
00:00:28.560 --> 00:00:30.240
Violin is a huge part of my life,
00:00:30.240 --> 00:00:33.360
and I am very much a musician at heart.
00:00:33.360 --> 00:00:36.239
I am also a somewhat capable programmer.
00:00:36.239 --> 00:00:39.280
I've done a lot of informal programming in the past,
00:00:39.280 --> 00:00:45.840
and this year I'm taking my first AP Comp. Sci. course in my high school.
00:00:45.840 --> 00:00:51.039
And so I've done a lot of side projects,
00:00:51.039 --> 00:00:56.800
mainly in Python, and some very short scripts in Elisp.
00:00:56.800 --> 00:00:59.840
And last but not least, I am a tinker.
00:00:59.840 --> 00:01:05.280
I love to play around with things and see what I can do better,
00:01:05.280 --> 00:01:10.880
and just have as much fun as possible.
00:01:10.880 --> 00:01:15.040
So how did I find Emacs?
00:01:15.040 --> 00:01:18.880
I discovered it actually through a talk, funnily enough,
00:01:18.880 --> 00:01:23.947
at a Vim conference given by Aaron Bieber, titled:
00:01:23.947 --> 00:01:28.320
"Evil Mode or How I Learned to Stop Worrying and Love Emacs."
00:01:28.320 --> 00:01:31.439
I watched that talk a couple times over,
00:01:31.439 --> 00:01:35.759
just marveling at all the wonderful things that he could do in Emacs.
00:01:35.759 --> 00:01:38.799
And being a previous Vim user myself,
00:01:38.799 --> 00:01:42.399
I found it very enticing to be able to have
00:01:42.399 --> 00:01:47.040
the evil-mode package and very quickly switch to Emacs.
00:01:47.040 --> 00:01:49.680
At the time, I was also in my sophomore year,
00:01:49.680 --> 00:01:56.320
and so I had had a sort of a note-taking system
in the past.
00:01:56.320 --> 00:02:01.680
But it was not good, and I needed a more organized note-taking system.
00:02:01.680 --> 00:02:04.240
My parents had suggested paper for a while,
00:02:04.240 --> 00:02:09.759
and there was the whole organization part of that,
00:02:09.759 --> 00:02:12.080
but that did not really work out for me.
00:02:12.080 --> 00:02:16.239
And so I was trying to find this better note-taking system,
00:02:16.239 --> 00:02:19.440
and it was very hard.
00:02:19.440 --> 00:02:23.520
I had two main criteria which I did not define at the time,
00:02:23.520 --> 00:02:26.640
but I realized was really what I was looking for.
00:02:26.640 --> 00:02:29.599
First of all, it had to be flexible enough,
00:02:29.599 --> 00:02:33.680
and second of all, I had to have control over the data.
00:02:33.680 --> 00:02:36.239
And so through this process,
00:02:36.239 --> 00:02:41.920
I actually went through a bunch of note-taking softwares rather systematically.
00:02:41.920 --> 00:02:47.519
I went through Google Docs, which very much did not work out.
00:02:47.519 --> 00:02:52.080
I also went through Evernote which also was not great for me,
00:02:52.080 --> 00:02:55.200
and OneNote, which I settled on for a little while,
00:02:55.200 --> 00:02:58.800
but it did not meet these criteria,
00:02:58.800 --> 00:03:00.879
particularly the second one.
00:03:00.879 --> 00:03:03.840
I had taken some notes and I wanted to export it,
00:03:03.840 --> 00:03:07.519
and OneNote did not let me do that.
00:03:07.519 --> 00:03:12.000
It was PDF. Horribly-organized PDF.
00:03:12.000 --> 00:03:17.440
And that's when I knew I needed some change.
00:03:17.440 --> 00:03:21.519
So I discovered Emacs through this talk,
00:03:21.519 --> 00:03:27.040
and through the wonderful features of Org Mode.
00:03:27.040 --> 00:03:30.080
This is my first journal entry in Emacs.
00:03:30.080 --> 00:03:34.000
I had been playing with it for one day,
00:03:34.000 --> 00:03:35.760
and I was on the Org Agenda,
00:03:35.760 --> 00:03:38.159
and I happened to press I,
00:03:38.159 --> 00:03:43.040
which for the Emacs keybinding is the default for diary entry.
00:03:43.040 --> 00:03:45.440
I was very excited.
00:03:45.440 --> 00:03:50.239
I shouldn't stay on the slide too long lest you read it.
00:03:50.239 --> 00:03:53.760
So let's move on to the next one.
00:03:53.760 --> 00:03:57.200
So the learning curve for me, I think,
00:03:57.200 --> 00:04:00.480
particularly being an ex-Vim user,
00:04:00.480 --> 00:04:03.760
evil-mode made it very easy to switch.
00:04:03.760 --> 00:04:07.439
Thankfully, there was the Emacs reference sheet,
00:04:07.439 --> 00:04:16.160
and having evil-mode to switch between texts...
00:04:16.160 --> 00:04:17.919
Whether it be editing a text file,
00:04:17.919 --> 00:04:21.600
or going to other parts of just Emacs in general,
00:04:21.600 --> 00:04:25.520
I think Vim really helped with making me feel comfortable
00:04:25.520 --> 00:04:28.000
within this new environment.
00:04:28.000 --> 00:04:32.160
So, having that experience, I also wasn't new
00:04:32.160 --> 00:04:33.759
to the keybind-based world.
00:04:33.759 --> 00:04:36.320
I have been very comfortable with the computer
00:04:36.320 --> 00:04:40.160
and the keyboard for most of my life,
00:04:40.160 --> 00:04:45.520
and so it was not a totally new environment for me.
00:04:45.520 --> 00:04:49.360
I also spent a lot of time looking at the Emacs reference sheet,
00:04:49.360 --> 00:04:54.720
Just thinking about trying to find all of the different functions.
00:04:54.720 --> 00:04:58.720
If I didn't know what something was, then I queried it in Emacs,
00:04:58.720 --> 00:05:01.199
and then I figured out what it was.
00:05:01.199 --> 00:05:05.600
And that was one of the best ways for me to discover
00:05:05.600 --> 00:05:09.360
all of the capabilities of Emacs.
00:05:09.360 --> 00:05:12.800
Thirdly, of course, the self-documenting feature
00:05:12.800 --> 00:05:17.120
or nature of Emacs and narrowing frameworks such as helm
00:05:17.120 --> 00:05:21.360
really helped find things, especially for M-x.
00:05:21.360 --> 00:05:25.919
For a while, I was just...
00:05:25.919 --> 00:05:30.720
I would go about my day, and if I pressed a keybind that I didn't know what it did,
00:05:30.720 --> 00:05:37.039
I would do the lossage and see the list of keybinds that I had pressed
00:05:37.039 --> 00:05:43.039
and tried to find that one, and query the function and what not.
00:05:43.039 --> 00:05:48.160
So yeah. And now we jump to now.
00:05:48.160 --> 00:05:53.280
So there is at least one moment in each day when I think
00:05:53.280 --> 00:05:55.600
how would I live without Emacs,
00:05:55.600 --> 00:05:59.120
particularly now during my senior year in high school.
00:05:59.120 --> 00:06:04.880
Things are very busy with school, violin, and other side projects.
00:06:04.880 --> 00:06:12.720
It's pretty crazy, and so Emacs and Org Mode has really helped me stay
00:06:12.720 --> 00:06:14.479
on track with everything.
00:06:14.479 --> 00:06:16.319
And the flexibility of these software
00:06:16.319 --> 00:06:19.919
is being able to have things in different files,
00:06:19.919 --> 00:06:21.600
notes within the tasks,
00:06:21.600 --> 00:06:25.840
all of that stuff has been truly a lifesaver.
00:06:25.840 --> 00:06:28.400
And so I think I can confidently say
00:06:28.400 --> 00:06:35.280
that I have found Emacs to be the perfect software for me
00:06:35.280 --> 00:06:38.639
over the past two years of using Emacs.
00:06:38.639 --> 00:06:42.240
Now it is about two years and two months.
00:06:42.240 --> 00:06:45.039
I have built a fairly well organized
00:06:45.039 --> 00:06:49.520
2000+ line Org literate config.
00:06:49.520 --> 00:06:53.840
I actually started with an Elisp config,
00:06:53.840 --> 00:06:56.800
just the vanilla Emacs with evil-mode,
00:06:56.800 --> 00:06:59.039
and I built it up from there.
00:06:59.039 --> 00:07:02.400
Eventually I switched to Org literate configs,
00:07:02.400 --> 00:07:05.840
and used that to organize the snippets
00:07:05.840 --> 00:07:08.639
that I was putting in there.
00:07:08.639 --> 00:07:14.000
So yeah, this is really my workflow now.
00:07:14.000 --> 00:07:18.960
Currently about 90% of everything I do on my computer is in Emacs.
00:07:18.960 --> 00:07:21.360
The most notable things, of course--
00:07:21.360 --> 00:07:25.280
the list is far too long to put on one slide--
00:07:25.280 --> 00:07:28.160
but I do a lot of my programming in Emacs,
00:07:28.160 --> 00:07:31.280
mainly Python and Elisp.
00:07:31.280 --> 00:07:33.199
Because of my AP Comp. Sci. class,
00:07:33.199 --> 00:07:35.199
I have to do Java as well,
00:07:35.199 --> 00:07:41.840
and thank goodness Emacs has wonderful support for that as well.
00:07:41.840 --> 00:07:45.840
Also, I do all of my school assignments,
00:07:45.840 --> 00:07:47.840
more or less, in Emacs.
00:07:47.840 --> 00:07:51.919
Essay writing I do in Org Mode, and I have some template files,
00:07:51.919 --> 00:07:55.039
template Org files which I just include at the top,
00:07:55.039 --> 00:08:01.440
and then I can export easily to LaTeX and a beautiful PDF.
00:08:01.440 --> 00:08:03.440
Math, physics, same thing.
00:08:03.440 --> 00:08:09.599
LaTeX fragments are a lifesaver, and also really pretty.
00:08:09.599 --> 00:08:13.199
I take notes on basically everything.
00:08:13.199 --> 00:08:15.120
At first, I had things separate,
00:08:15.120 --> 00:08:19.680
and then I started sort of putting it all into one notes.org file,
00:08:19.680 --> 00:08:22.479
or most of it into one file,
00:08:22.479 --> 00:08:24.960
and that has actually worked out surprisingly well,
00:08:24.960 --> 00:08:30.442
especially with all the searching
features of agenda and what not.
00:08:30.442 --> 00:08:33.440
And I also use mail.
00:08:33.440 --> 00:08:37.680
I recently made the switch, probably about one or two months ago,
00:08:37.680 --> 00:08:42.399
and it has been one of the best switches I've ever had,
00:08:42.399 --> 00:08:47.839
especially given connecting to tasks all of this wonderful stuff.
00:08:47.839 --> 00:08:54.160
Just putting even more in Emacs is always a good thing, I found.
00:08:54.160 --> 00:08:56.959
So reflecting back on my journey,
00:08:56.959 --> 00:08:59.600
I think one of the most important things
00:08:59.600 --> 00:09:01.440
was just having a reason to use it.
00:09:01.440 --> 00:09:06.080
When I came to Emacs I had something that I was looking for,
00:09:06.080 --> 00:09:09.839
and as soon as I found it, I delved right in,
00:09:09.839 --> 00:09:12.720
and I started using it for that thing.
00:09:12.720 --> 00:09:16.240
So I was sort of forced to take the time to read the docs
00:09:16.240 --> 00:09:20.880
and figure out what functions I needed to function
00:09:20.880 --> 00:09:25.839
and how I was going to put my workflow,
00:09:25.839 --> 00:09:30.399
and also, of course, the desire to tinker.
00:09:30.399 --> 00:09:35.839
So, really, what's next for me is just wanting to become
00:09:35.839 --> 00:09:38.640
a more active member of the Emacs community.
00:09:38.640 --> 00:09:40.959
I want to give back, and I think this talk
00:09:40.959 --> 00:09:43.760
is sort of the first step to that
00:09:43.760 --> 00:09:46.399
being a more active part of this community
00:09:46.399 --> 00:09:52.720
that has, indirectly, perhaps, but just really helped me
00:09:52.720 --> 00:09:55.839
become a better and more organized human being.
00:09:55.839 --> 00:10:00.240
I have some package ideas that I'm slowly working on,
00:10:00.240 --> 00:10:05.920
and yeah, I just hope to spread the word.
00:10:05.920 --> 00:10:09.360
So thank you very much for listening to my lightning talk.
00:10:09.360 --> 00:10:11.360
If you'd like to contact me here are
00:10:11.360 --> 00:10:14.800
three modes of or two modes of communication.
00:10:14.800 --> 00:10:17.600
I will be on IRC more soon,
00:10:17.600 --> 00:10:22.079
and you can always email me if you have any questions.
00:10:22.079 --> 00:10:25.519
You can also search me on Youtube: Pierce Wang violin.
00:10:25.519 --> 00:10:33.040
Thank you very much and I hope you enjoy the rest of the conference.
|