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.