WEBVTT 00:00:01.360 --> 00:00:03.040 hello and welcome to my 00:00:03.040 --> 00:00:05.520 Emacs conference lightning talk today 00:00:05.520 --> 00:00:07.120 I'll be talking about 00:00:07.120 --> 00:00:09.840 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:17.359 right so who am I I am a senior at 00:00:17.359 --> 00:00:19.520 stanford online high school 00:00:19.520 --> 00:00:22.800 and I am also a violinist 00:00:22.800 --> 00:00:24.320 I started violin when I was two and a 00:00:24.320 --> 00:00:26.960 half and I have been 00:00:26.960 --> 00:00:29.119 keeping it up ever since violin is a 00:00:29.119 --> 00:00:30.240 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:37.840 I've done a lot of informal programming 00:00:37.840 --> 00:00:39.280 in the past 00:00:39.280 --> 00:00:42.559 and this year I'm taking my first ap 00:00:42.559 --> 00:00:44.079 compsci course 00:00:44.079 --> 00:00:47.440 in my high school and so 00:00:47.440 --> 00:00:51.039 I've done a lot of side projects 00:00:51.039 --> 00:00:54.239 mainly in python and some very short 00:00:54.239 --> 00:00:56.800 scripts in e-lisp 00:00:56.800 --> 00:00:59.840 and last but not least I am a tinker 00:00:59.840 --> 00:01:02.879 I love to play around with things and 00:01:02.879 --> 00:01:06.720 see what I can do better and just 00:01:06.720 --> 00:01:10.880 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:17.600 I discovered it actually through a talk 00:01:17.600 --> 00:01:18.880 funnily enough 00:01:18.880 --> 00:01:21.360 at a vim conference given by aaron 00:01:21.360 --> 00:01:23.520 bieber 00:01:23.520 --> 00:01:25.840 titled evil mode or how I learned to 00:01:25.840 --> 00:01:28.320 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:33.360 just marveling at all the wonderful 00:01:33.360 --> 00:01:35.759 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:41.680 I found it very enticing to be able to 00:01:41.680 --> 00:01:42.399 have 00:01:42.399 --> 00:01:44.960 the evil mode package and very quickly 00:01:44.960 --> 00:01:47.040 switch to Emacs 00:01:47.040 --> 00:01:48.799 at the time I was also in my sophomore 00:01:48.799 --> 00:01:51.040 year and so 00:01:51.040 --> 00:01:54.640 I had had sort of a note-taking system 00:01:54.640 --> 00:01:56.320 in the past 00:01:56.320 --> 00:01:59.360 but it was not good um and I needed a 00:01:59.360 --> 00:02:01.680 more organized note-taking system 00:02:01.680 --> 00:02:03.759 my parents had suggested paper for a 00:02:03.759 --> 00:02:04.960 while and 00:02:04.960 --> 00:02:08.160 there was the whole organization 00:02:08.160 --> 00:02:10.959 part of that but that did not really 00:02:10.959 --> 00:02:12.080 work out for me 00:02:12.080 --> 00:02:14.000 and so I was trying to find this better 00:02:14.000 --> 00:02:16.239 note-taking system 00:02:16.239 --> 00:02:19.440 and it was very hard 00:02:19.440 --> 00:02:22.239 I had two main criteria which I did not 00:02:22.239 --> 00:02:23.520 define at the time 00:02:23.520 --> 00:02:25.360 but I realized was really what I was 00:02:25.360 --> 00:02:26.640 looking for 00:02:26.640 --> 00:02:28.720 first of all it had to be flexible 00:02:28.720 --> 00:02:30.959 enough and second of all it had 00:02:30.959 --> 00:02:33.920 I had to have control over the data and 00:02:33.920 --> 00:02:34.959 so 00:02:34.959 --> 00:02:37.519 through this process I actually went 00:02:37.519 --> 00:02:39.680 through a bunch of note-taking softwares 00:02:39.680 --> 00:02:42.640 rather systematically I went through 00:02:42.640 --> 00:02:44.080 google docs 00:02:44.080 --> 00:02:47.519 which very much did not work out 00:02:47.519 --> 00:02:49.840 I also went through evernote which also 00:02:49.840 --> 00:02:50.640 was not 00:02:50.640 --> 00:02:53.200 great for me and one note which I 00:02:53.200 --> 00:02:55.200 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:01.519 particularly the second one I had taken 00:03:01.519 --> 00:03:02.159 some notes 00:03:02.159 --> 00:03:05.280 and I wanted to export it and onenote 00:03:05.280 --> 00:03:07.519 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:14.879 and that's when I knew I needed some 00:03:14.879 --> 00:03:17.440 change 00:03:17.440 --> 00:03:21.519 so I discovered Emacs through this talk 00:03:21.519 --> 00:03:24.080 and through the wonderful features of 00:03:24.080 --> 00:03:27.040 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:36.159 and I was on the org agenda and I 00:03:36.159 --> 00:03:38.159 happened to press I 00:03:38.159 --> 00:03:40.720 which for the Emacs combined is the 00:03:40.720 --> 00:03:41.599 default for 00:03:41.599 --> 00:03:45.440 diary entry and so I was very excited 00:03:45.440 --> 00:03:48.720 um and I shouldn't stay on the slide too 00:03:48.720 --> 00:03:50.239 long unless you read it 00:03:50.239 --> 00:03:53.760 um so let's move on to the next one 00:03:53.760 --> 00:03:57.200 um so the learning curve for me I think 00:03:57.200 --> 00:04:00.480 particularly being an xbm user 00:04:00.480 --> 00:04:03.760 evil mode made it very easy to switch 00:04:03.760 --> 00:04:06.080 thankfully I there was the emax 00:04:06.080 --> 00:04:07.439 reference sheet 00:04:07.439 --> 00:04:10.799 and having evil mode to 00:04:10.799 --> 00:04:14.080 switch between um 00:04:14.080 --> 00:04:17.440 texts and whether it be editing a text 00:04:17.440 --> 00:04:17.919 file 00:04:17.919 --> 00:04:20.560 or going to other parts of just Emacs in 00:04:20.560 --> 00:04:21.600 general 00:04:21.600 --> 00:04:24.800 I think vim really helped with making me 00:04:24.800 --> 00:04:26.840 feel comfortable within this new 00:04:26.840 --> 00:04:28.000 environment 00:04:28.000 --> 00:04:31.440 and so having that experience I also 00:04:31.440 --> 00:04:31.919 wasn't 00:04:31.919 --> 00:04:34.240 new to the keybind-based world I have 00:04:34.240 --> 00:04:36.320 been very comfortable with computer 00:04:36.320 --> 00:04:40.160 and the keyboard for most of my life 00:04:40.160 --> 00:04:43.520 and so it was not a totally new 00:04:43.520 --> 00:04:45.520 environment for me 00:04:45.520 --> 00:04:47.440 I also spent a lot of time looking at 00:04:47.440 --> 00:04:49.360 the Emacs reference sheet 00:04:49.360 --> 00:04:53.040 just thinking about trying to find 00:04:53.040 --> 00:04:55.040 all of the different functions if I 00:04:55.040 --> 00:04:56.639 didn't know what something was 00:04:56.639 --> 00:04:59.680 then I queried it in Emacs and then I 00:04:59.680 --> 00:05:01.199 figured out what it was 00:05:01.199 --> 00:05:03.759 and that was one of the best ways for me 00:05:03.759 --> 00:05:05.600 to discover 00:05:05.600 --> 00:05:09.360 all of the capabilities of Emacs 00:05:09.360 --> 00:05:11.440 thirdly of course the self-documenting 00:05:11.440 --> 00:05:12.800 feature 00:05:12.800 --> 00:05:15.199 or nature of Emacs and narrowing 00:05:15.199 --> 00:05:17.120 frameworks such as helm 00:05:17.120 --> 00:05:20.479 really helped find things especially for 00:05:20.479 --> 00:05:21.360 mx 00:05:21.360 --> 00:05:25.919 for a while I was just 00:05:25.919 --> 00:05:28.160 I would go about my day and if I pressed 00:05:28.160 --> 00:05:29.520 to keep mine that I didn't know what it 00:05:29.520 --> 00:05:30.720 did 00:05:30.720 --> 00:05:34.560 I would do the losses and 00:05:34.560 --> 00:05:36.240 see the list of key binds that I had 00:05:36.240 --> 00:05:37.600 pressed and 00:05:37.600 --> 00:05:40.400 tried to find that one and query the 00:05:40.400 --> 00:05:41.280 function 00:05:41.280 --> 00:05:45.280 and what not so 00:05:45.280 --> 00:05:49.120 yeah and now we jump to now so 00:05:49.120 --> 00:05:51.759 there there is at least one moment in 00:05:51.759 --> 00:05:53.280 each day when I think 00:05:53.280 --> 00:05:55.600 how would I live without umax 00:05:55.600 --> 00:05:57.680 particularly now during my senior year 00:05:57.680 --> 00:05:59.120 in high school 00:05:59.120 --> 00:06:02.720 things are very busy with school violin 00:06:02.720 --> 00:06:05.520 and other side projects it's pretty 00:06:05.520 --> 00:06:06.400 crazy 00:06:06.400 --> 00:06:09.680 and so Emacs 00:06:09.680 --> 00:06:12.720 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.960 and the flexibility of these software is 00:06:16.960 --> 00:06:18.840 being able to have things in different 00:06:18.840 --> 00:06:21.600 files notes within the tasks 00:06:21.600 --> 00:06:24.639 all of that stuff has been truly a 00:06:24.639 --> 00:06:25.840 lifesaver 00:06:25.840 --> 00:06:28.400 and so I think I can confidently say 00:06:28.400 --> 00:06:31.199 that I have found Emacs to be 00:06:31.199 --> 00:06:35.280 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:46.160 2000 00:06:46.160 --> 00:06:49.520 plus line org literate config 00:06:49.520 --> 00:06:52.160 and so I actually I started with an 00:06:52.160 --> 00:06:53.840 e-lisp config 00:06:53.840 --> 00:06:56.800 just the vanilla e-max with evil mode 00:06:56.800 --> 00:06:57.919 and I built it up 00:06:57.919 --> 00:07:00.319 from there eventually I switched to org 00:07:00.319 --> 00:07:02.400 literate configs 00:07:02.400 --> 00:07:05.840 and used that to organize the snippets 00:07:05.840 --> 00:07:10.080 that I was putting in there and so 00:07:10.080 --> 00:07:14.000 yeah this is really my workflow now 00:07:14.000 --> 00:07:16.639 currently about 90 of everything I do on 00:07:16.639 --> 00:07:18.960 my computer is in Emacs 00:07:18.960 --> 00:07:21.520 the most notable things of course the 00:07:21.520 --> 00:07:22.319 list is far 00:07:22.319 --> 00:07:26.000 too long to put on one slide but I do a 00:07:26.000 --> 00:07:28.160 lot of my programming in Emacs 00:07:28.160 --> 00:07:31.280 mainly python and e-lisp 00:07:31.280 --> 00:07:33.759 because of my ap comp sci class I have 00:07:33.759 --> 00:07:35.199 to do java as well 00:07:35.199 --> 00:07:38.720 and thank goodness Emacs has wonderful 00:07:38.720 --> 00:07:41.840 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:48.800 more or less in Emacs essay writing I do 00:07:48.800 --> 00:07:50.400 an org mode and I have some template 00:07:50.400 --> 00:07:51.919 files 00:07:51.919 --> 00:07:53.919 template org files which I just include 00:07:53.919 --> 00:07:55.039 at the top 00:07:55.039 --> 00:07:58.160 and then I can export easily to latex 00:07:58.160 --> 00:08:01.440 and a beautiful pdf 00:08:01.440 --> 00:08:04.400 math physics same thing latex fragments 00:08:04.400 --> 00:08:05.840 are a lifesaver 00:08:05.840 --> 00:08:09.599 and also really pretty 00:08:09.599 --> 00:08:13.199 and I take notes on basically everything 00:08:13.199 --> 00:08:15.520 at first I had things separate and then 00:08:15.520 --> 00:08:16.319 I started 00:08:16.319 --> 00:08:19.360 sort of putting it all into onenotes.org 00:08:19.360 --> 00:08:21.360 file or most of it into one 00:08:21.360 --> 00:08:24.000 file and that has actually worked out 00:08:24.000 --> 00:08:24.960 surprisingly well 00:08:24.960 --> 00:08:26.479 especially with all the searching 00:08:26.479 --> 00:08:28.879 features of agenda 00:08:28.879 --> 00:08:33.440 and whatnot um and I also use mail 00:08:33.440 --> 00:08:35.680 I recently made the switch probably 00:08:35.680 --> 00:08:37.680 about one or two months ago 00:08:37.680 --> 00:08:40.479 and it has been one of the best switches 00:08:40.479 --> 00:08:40.959 I've 00:08:40.959 --> 00:08:44.480 I've ever had especially given 00:08:44.480 --> 00:08:46.320 connecting to tasks all of this 00:08:46.320 --> 00:08:47.839 wonderful stuff 00:08:47.839 --> 00:08:50.640 just putting even more in Emacs is 00:08:50.640 --> 00:08:54.160 always a good thing I found 00:08:54.160 --> 00:08:57.680 so reflecting back on my journey I think 00:08:57.680 --> 00:08:59.760 one of the most important things was 00:08:59.760 --> 00:09:01.440 just having a reason to use it 00:09:01.440 --> 00:09:04.480 when I came to Emacs I had something 00:09:04.480 --> 00:09:06.080 that I was looking for 00:09:06.080 --> 00:09:09.600 and as soon as I found it I delved right 00:09:09.600 --> 00:09:09.839 in 00:09:09.839 --> 00:09:12.720 and I I started using it for that thing 00:09:12.720 --> 00:09:14.480 and so I was sort of forced to 00:09:14.480 --> 00:09:16.959 take the time to read the docs and 00:09:16.959 --> 00:09:19.279 figure out what functions I needed 00:09:19.279 --> 00:09:22.399 to function and how 00:09:22.399 --> 00:09:25.839 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:33.519 and yeah so really what's next for me 00:09:33.519 --> 00:09:36.800 is just wanting to become a more active 00:09:36.800 --> 00:09:38.640 member of the Emacs community 00:09:38.640 --> 00:09:40.640 I want to give back and I think this 00:09:40.640 --> 00:09:43.760 talk is sort of the first step to that 00:09:43.760 --> 00:09:45.920 being a more active part of this 00:09:45.920 --> 00:09:48.000 community that has 00:09:48.000 --> 00:09:51.040 indirectly perhaps um but just like 00:09:51.040 --> 00:09:54.000 really helped me become a better and 00:09:54.000 --> 00:09:55.839 more organized human being 00:09:55.839 --> 00:09:58.880 um I have some package ideas that I'm 00:09:58.880 --> 00:10:01.920 slowly working on and yeah I just hope 00:10:01.920 --> 00:10:05.920 to spread the word 00:10:05.920 --> 00:10:08.000 so thank you very much for listening to 00:10:08.000 --> 00:10:09.360 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:12.480 three modes of 00:10:12.480 --> 00:10:15.279 or two modes of communication I will be 00:10:15.279 --> 00:10:17.120 on irc more 00:10:17.120 --> 00:10:20.079 soon and you can always email me if you 00:10:20.079 --> 00:10:20.560 have 00:10:20.560 --> 00:10:23.200 any questions you can also search me on 00:10:23.200 --> 00:10:23.680 youtube 00:10:23.680 --> 00:10:26.399 pierce wong violin thank you very much 00:10:26.399 --> 00:10:26.800 and 00:10:26.800 --> 00:10:30.040 I hope you enjoy the rest of the 00:10:30.040 --> 00:10:33.040 conference