Back to the schedule
Previous: NonGNU ELPA
Next: State of Retro Gaming in Emacs

Emacs as a Highschooler: How It Changed My Life

Pierce Wang

Download compressed .webm video (9.3M)
View transcript

Download compressed Q&A .webm video (7.5M)

Could Emacs be humanity's solution to the turbulent years of adolescence? So much more than a text editor, Emacs changed the way I approach everything at the age of 15. In the two years since discovering Emacs in my sophomore year of high school, I have been constantly amazed at what Emacs is capable of. In this talk, I would like to share this journey of discovery and what I've learned along the way, beginning with what led me to Emacs. I will reflect on my experience of the Emacs learning curve and then also talk about the many ways that Emacs has shaped my life as a student, programmer, violinist, and a productive and happy adolescent. In each case, I have thoroughly enjoyed figuring out the best way to make Emacs work for me. Finally, I will reflect on my journey thus far and briefly talk about my plans for the future.

  • Actual start and end time (EST): Start: 2020-11-29T13.06.20; Q&A: 2020-11-29T13.16.52; End: 2020-11-29T13.21.51

Questions

Q6: How would you introduce other classmates to Emacs? Meaning what's the "gateway" drug to Emacs?

Would probably start with doom or Spacemacs.

Try to find their reason for using Emacs.

Q5: What made you use Vim in the first place? Were you looking for a note-taking system in plain text (such as Markdown), or were you using it for programming?

Used vim first time mainly for programming not for Markdown.

Q4: I tend to think that life in school-age is somehow simple to organize since categories are easy to distinguish (years/classes, hobbies, …) in contrast to business life (many projects in parallel with many touch-points in-between them). From your point of view: do I have wrong memories on my time in school or did school change that much?

School makes it easier to have a structured system.

Q3: Assuming you keep real time notes during your lessons how do you manage to keep up with the lecturer's speed. I can write LaTeX fragments pretty fast but I am not yet at the point that I can keep up with them. What are the tricks/snippets you use? Oh and do you have a git repo with your Emacs dots that we can see?

Types pretty fast (~110 wpm); for math/science uses CDLaTeX, YASnippet expansion, and LaTeX fragments.

Emacs config! https://piercegwang.github.io/emacsd/init

Q2: What do your friends think :) ? (Do you collaborate with your friends?)

Overwhelmed them by the positive experience at first :). Now that the configuration is somewhat stable Emacs doesn't come up as often in discussions, though. [someone can probably come up with a better summary of this answer]

The general concensus is that it's an amazing piece of software, but they think it's too complicated for them to use. I think they also still have PTSD from the initial days when I was talking about Emacs all the time (whooops).

Q1: Do you use Emacs for school assignments?

Answered in talk: yes, Org mode, export to LaTeX -> PDF.

One Org mode template file with latex-fragments that is used for exporting.

Notes

Transcript

[00:00:01.360] Hello and welcome to my EmacsConf lightning talk. Today I'll be talking about my journey into Emacs as a high schooler and how it has changed my life. Right. So who am I? I am a senior at Stanford Online High School, and I am also a violinist. I started violin when I was two and a half, and I have been keeping it up ever since. Violin is a huge part of my life, and I am very much a musician at heart. I am also a somewhat capable programmer. I've done a lot of informal programming in the past, and this year I'm taking my first AP Comp. Sci. course in my high school. And so I've done a lot of side projects, mainly in Python, and some very short scripts in Elisp. And last but not least, I am a tinker. I love to play around with things and see what I can do better, and just have as much fun as possible.

[00:01:10.880] So how did I find Emacs? I discovered it actually through a talk, funnily enough, at a Vim conference given by Aaron Bieber, titled: "Evil Mode or How I Learned to Stop Worrying and Love Emacs." I watched that talk a couple times over, just marveling at all the wonderful things that he could do in Emacs. And being a previous Vim user myself, I found it very enticing to be able to have the evil-mode package and very quickly switch to Emacs.

[00:01:47.040] At the time, I was also in my sophomore year, and so I had had a sort of a note-taking system in the past. But it was not good, and I needed a more organized note-taking system. My parents had suggested paper for a while, and there was the whole organization part of that, but that did not really work out for me. And so I was trying to find this better note-taking system, and it was very hard.

[00:02:19.440] I had two main criteria which I did not define at the time, but I realized was really what I was looking for. First of all, it had to be flexible enough, and second of all, I had to have control over the data. And so through this process, I actually went through a bunch of note-taking softwares rather systematically. I went through Google Docs, which very much did not work out. I also went through Evernote which also was not great for me, and OneNote, which I settled on for a little while, but it did not meet these criteria, particularly the second one. I had taken some notes and I wanted to export it, and OneNote did not let me do that. It was PDF. Horribly-organized PDF. And that's when I knew I needed some change.

[00:03:17.440] So I discovered Emacs through this talk, and through the wonderful features of Org Mode. This is my first journal entry in Emacs. I had been playing with it for one day, and I was on the Org Agenda, and I happened to press I, which for the Emacs keybinding is the default for diary entry. I was very excited. I shouldn't stay on the slide too long lest you read it. So let's move on to the next one.

[00:03:53.760] So the learning curve for me, I think, particularly being an ex-Vim user, evil-mode made it very easy to switch. Thankfully, there was the Emacs reference sheet, and having evil-mode to switch between texts... Whether it be editing a text file, or going to other parts of just Emacs in general, I think Vim really helped with making me feel comfortable within this new environment. So, having that experience, I also wasn't new to the keybind-based world. I have been very comfortable with the computer and the keyboard for most of my life, and so it was not a totally new environment for me.

[00:04:45.520] I also spent a lot of time looking at the Emacs reference sheet, Just thinking about trying to find all of the different functions. If I didn't know what something was, then I queried it in Emacs, and then I figured out what it was. And that was one of the best ways for me to discover all of the capabilities of Emacs.

[00:05:09.360] Thirdly, of course, the self-documenting feature or nature of Emacs and narrowing frameworks such as helm really helped find things, especially for M-x. For a while, I was just... I would go about my day, and if I pressed a keybind that I didn't know what it did, I would do the lossage and see the list of keybinds that I had pressed and tried to find that one, and query the function and what not.

[00:05:43.039] So yeah. And now we jump to now. So there is at least one moment in each day when I think how would I live without Emacs, particularly now during my senior year in high school. Things are very busy with school, violin, and other side projects. It's pretty crazy, and so Emacs and Org Mode has really helped me stay on track with everything. And the flexibility of these software is being able to have things in different files, notes within the tasks, all of that stuff has been truly a lifesaver.

[00:06:25.840] And so I think I can confidently say that I have found Emacs to be the perfect software for me over the past two years of using Emacs. Now it is about two years and two months. I have built a fairly well organized 2000+ line Org literate config. I actually started with an Elisp config, just the vanilla Emacs with evil-mode, and I built it up from there. Eventually I switched to Org literate configs, and used that to organize the snippets that I was putting in there. So yeah, this is really my workflow now.

[00:07:14.000] Currently about 90% of everything I do on my computer is in Emacs. The most notable things, of course-- the list is far too long to put on one slide-- but I do a lot of my programming in Emacs, mainly Python and Elisp. Because of my AP Comp. Sci. class, I have to do Java as well, and thank goodness Emacs has wonderful support for that as well. Also, I do all of my school assignments, more or less, in Emacs. Essay writing I do in Org Mode, and I have some template files, template Org files which I just include at the top, and then I can export easily to LaTeX and a beautiful PDF. Math, physics, same thing. LaTeX fragments are a lifesaver, and also really pretty. I take notes on basically everything. At first, I had things separate, and then I started sort of putting it all into one notes.org file, or most of it into one file, and that has actually worked out surprisingly well, especially with all the searching features of agenda and what not. And I also use mail. I recently made the switch, probably about one or two months ago, and it has been one of the best switches I've ever had, especially given connecting to tasks all of this wonderful stuff. Just putting even more in Emacs is always a good thing, I found.

[00:08:54.160] So reflecting back on my journey, I think one of the most important things was just having a reason to use it. When I came to Emacs I had something that I was looking for, and as soon as I found it, I delved right in, and I started using it for that thing. So I was sort of forced to take the time to read the docs and figure out what functions I needed to function and how I was going to put my workflow, and also, of course, the desire to tinker. So, really, what's next for me is just wanting to become a more active member of the Emacs community. I want to give back, and I think this talk is sort of the first step to that being a more active part of this community that has, indirectly, perhaps, but just really helped me become a better and more organized human being. I have some package ideas that I'm slowly working on, and yeah, I just hope to spread the word.

[00:10:05.920] So thank you very much for listening to my lightning talk. If you'd like to contact me here are three modes of or two modes of communication. I will be on IRC more soon, and you can always email me if you have any questions. You can also search me on Youtube: Pierce Wang violin. Thank you very much and I hope you enjoy the rest of the conference.

Sunday, Nov 29 2020, ~ 1:03 PM - 1:13 PM EST
Sunday, Nov 29 2020, ~10:03 AM - 10:13 AM PST
Sunday, Nov 29 2020, ~ 6:03 PM - 6:13 PM UTC
Sunday, Nov 29 2020, ~ 7:03 PM - 7:13 PM CET
Monday, Nov 30 2020, ~ 2:03 AM - 2:13 AM +08

Back to the schedule
Previous: NonGNU ELPA
Next: State of Retro Gaming in Emacs