diff options
author | Sacha Chua <sacha@sachachua.com> | 2020-12-20 00:03:01 -0500 |
---|---|---|
committer | Sacha Chua <sacha@sachachua.com> | 2020-12-20 00:03:01 -0500 |
commit | b287660968279dfcebbcfedfbc29f842742c93bf (patch) | |
tree | 9de6ff7824e4014444cbf7b82b6d844b7a9f1444 /2020/info | |
parent | 6f32c7e53dac3cba917d8f896c102dd0ff475aac (diff) | |
download | emacsconf-wiki-b287660968279dfcebbcfedfbc29f842742c93bf.tar.xz emacsconf-wiki-b287660968279dfcebbcfedfbc29f842742c93bf.zip |
Try adding the transcript
Diffstat (limited to '')
-rw-r--r-- | 2020/info/02.md | 341 |
1 files changed, 341 insertions, 0 deletions
diff --git a/2020/info/02.md b/2020/info/02.md index 95026385..c6cac107 100644 --- a/2020/info/02.md +++ b/2020/info/02.md @@ -80,3 +80,344 @@ development via emacs - To newcomers: in my case emacs-devel and emacs-sources were amazing resources for learning; the people were SO generous with their time, to share comments and ideas to improve code. + +<!-- transcript: 2020/subtitles/emacsconf-2020--02-an-emacs-developer-story-from-user-to-package-maintainer--leo-vivier.vtt --> +# Transcript + +(Amin: Alrighty, Leo Vivier, take it away.) Leo Vivier: Okay, well, thank you. I'm +in. So you've just had a little roundup of the news, and we're going +to get started now with some presentations. We're starting with user +developer stories. I was extremely interested in this section because +I wanted to get a chance, basically, to tell you a little more about +who I am and how I got from basically being a user of Emacs to being +nowadays a package maintainer, and maybe more in the future. I don't +know. + +So, just for the organizers, I'm planning to speak for 15 minutes, and +I'll have five more minutes of questions at the end. As I told you +before, if you want to have questions, you know you can use the pad, +and I'll be reading the questions from there. Okay. + +So hi there, as Amin introduced me before, my name is Leo Vivier. I'm +a freelance software engineer in France, and I have been using Emacs +now for i believe close to eight years. I can't believe it's been so +long. But yes, it's been a journey because, in a way, nothing made me +go for Emacs. You know I'm an-- sorry, I was about to say Emacs major, +but no, I'm an English major. I went to university to study English +literature and linguistics, and I just got started in Emacs because I +was looking for ways to take better notes. I was looking for ways to +[Applause] structure the way I was learning, structure the way I was +taking notes. I stumbled one day upon this weird piece of software +which was called Emacs, and I've been trapped forever since, +basically, because eight years ago, when I discovered Emacs I just +couldn't let go. There was just something very interesting about the +way you configured your setup, and I just wanted to dive deeper and +deeper. + +So the title is of this talk exactly is how I went from user to +package maintainer, and the package now that I'm maintaining is called +org-roam. I'm not the only one doing this. I'm helped with many lovely +people working on org-roam. I got started as a maintainer only this +year, so that means that for the eight years I've been an Emacs user, +seven of those years were spent merely being a user trying to be a +sponge for knowledge, trying to learn as much as I could. I believe it +would be interesting for me to share my story because I believe that +I'm far from being the only user who can make the jump to being a +maintainer. + +A lot of you have a lot of knowledge when it comes to Emacs. Some of +you are at different steps in your journey. Some of you, for instance, +are just starting to copy stuff out of StackExchange into your Emacs +configuration. let's say you want to do something very particular and +you haven't found a way to do so. You go on StackExchange. You find +something that's interesting. You add it to your Emacs configuration. +You barely understand anything that's going on. You know that it's +supposed to be Emacs Lisp. "I hardly know Emacs and I know even less +what is Lisp supposed to be." But you paste it in and it does what you +want it to do, and you say "Great, I'll move on to my work now." So +that's how I got started. I had a very spartan setup for Emacs, which +a lot of you must know... The first time you launch Emacs, you have +this feeling that you're jumping 20 years back in time, as far as the +user interface is concerned. But as you get to spend more time with +Emacs... Some would call it Stockholm syndrome insofar as you can't +see how spartan the entire thing is, but it actually is a lovely +prison so to speak. + +That's how I got started eight years ago. I just wanted to find a way +to do my research properly. I wanted to have a tool that I could use +to write my notes in plain text, because I was already fairly averse +to Microsoft solutions when it came to taking notes. So yeah, I got +started in Emacs. I read a little bit about what plain text was about. +Just to be clear, at the time, yes, I was very good with computers, +but I was not a computer science student. I had barely any experience +with programming and coding, and I was even less of a hacker back +then. It just goes to show you that at the beginning, I had close to +no knowledge, whether it be about the free software world, whether it +be about... + +Sacha, do you want to say something? (Sacha: just confirming, you're +not sharing anything on the screen at the moment, right?) No, I'm not +sharing anything, I'm just presenting. + +So when I started, I had no experience whatsoever. I was just a +literature major trying to get better at taking notes. I stumbled upon +LaTeX. As many people who stumble upon LaTeX know, you don't just +stumble upon LaTeX, you embroil yourself in the turmoil of suffering, +of late nights tweaking, so that your document is exactly in the +perfect shape you want it to be. + +Soon after, when I got started with Emacs and LaTeX, I discovered +something that truly changed my life, and it was Org Mode. As you'll +get a lot of presentations this afternoon about Org Mode, I won't be +spending too much time on it. But Org Mode, for me, was a revelation. +It's... There was something that, upon reading articles on how to use +Org Mode, especially one of the key article that I'd read which really +made a huge impact on me was the "Organize Your Life in Plain Text" +one which i'm sure many of you must have stumbled upon in your Emacs +journey... For me, when I stumbled upon this document, I was starting +to get interested in Getting Things Done and all the nitty-gritty +stuff about organization and self-organization. It just felt like +everything was under my fingertips to make the perfect workflow. There +was something incredibly satisfying about having a system that gave +you so many options to configure your experience exactly how you +wanted. You had this feeling that the people behind Org Mode had +thought of everything, whichever small adjustment that you needed in +workflow whether it be more states for your TODOs, whether it be, oh, +I want my weeks to start on Monday and not on Saturday, oh, it's half +past one and I need to... in the morning, I mean, and I need to make +sure that the item that i'm marking as done is done for the day before +and not for the current day. You see what I'm talking about. So many +details that were already present in Org Mode. At first you're really +impressed, because you think, wow, they thought of everything, but +then you realize that it's just a matter of experience, just a matter +of people contributing code, because the development of Org Mode, +Emacs, and everything is just open to the public. + +You know, it's like everything is being done with the garage +door opened. You can just go on Org Mode on Savannah and see +everything that is being developed. For me, the shift that occurred in +my mind was when I was reading all the options, I was looking at all +the variables that i could modify for Org Mode, and there came a time, +maybe two to three years ago, where I thought, oh wow, maybe for the +first time in a while, there is no option for me to do what I want to +be doing with Org Mode. I believe at the time the the key issue that +triggered this reflex for me was I wanted to do something with the +agenda. I wanted to have a super category so, you know, in the... for +those of you who know, in your agenda, you have the ability to have +many files, and you have the ability to have categories. I wanted +somehow to group my TODOs in smaller groups, or bigger groups, I +should say, so that, for instance, I could have one group for my +professional life, I could have a group for one work, the second +work... I could have something for university and all this. I thought, +yeah, I think I'd like this. After having spent so long working with +Emacs and working with Org Mode, I had some ideas about what was +within the realm of possibility and what wasn't. Here I thought to +myself, this is definitely something that I can do. And so thus +started my journey into the Org Mode libraries. + +I won't go too much into details right now, because right now, the +main objective that I have is just to show you how simple it is to +become a maintainer, how to become more involved with the development. +The libraries in Org Mode, they're written in Elisp, which is a +very... It might seem like an obscure language, and it certainly is, +but as soon as you get the logic of the language--and what i'm telling +you is coming from someone who's never studied programming-- it made +sense. Everything is so verbose when you get into the code. When you +learn the rudiments of Elisp, you start getting to the code, and you +start thinking, wow, okay that makes sense, and you start developing a +logic for all this. So, equipped as I was with this new knowledge, I +went on my project, i went into the Org agenda code, and I thought, +okay, is there anything that I can use to do my bidding? Fast forward +maybe two to three weeks of intense turmoil and many nights which were +spent single-mindedly working on this project, two weeks after, I had +something that was working, and I was pretty happy about it. That was +a key landmark for me, because when that happened, it just felt like, +okay, I can contribute something to Org Mode, and I can do something +that would benefit as many people as possible. And to me, that was the +click. That's when it occurred. That's when I went on my first project +and I did something that felt useful to the community. + +And nowadays, as I told you, I maintain packages, but really, nothing +has changed. The only thing, maybe, that has changed that I've turned +my mind onto other problems. Maybe I've got three more minutes and I'd +like to finish by maybe something a little different. + +I've told you my Emacs story and I hope I've stressed how little +effort it took me to move from steps to steps on the ladder. The +ladder implies a sense of hierarchy, but it really isn't. Whatever +your step on the journey of Emacs is... Some of you might be at the +step where you're really worried about learning Elisp because it feels +like such a monumental task to be undertaking and you have no +experience whatsoever, but the thing is, maybe you could try climbing +this first step on the ladder. Maybe you could try, if you have any +project, if you've been using Org Mode, maybe one day you thought, +"oh, yes, I wish I could do this but I can't," or maybe do try to do +this, maybe do try to change something in a major mode that you're +using and which you feel might be better. I think Emacs, Org Mode, and +all free software in general has this tendency to give you this idea +that I can be a hacker in the sense of the term that you're modifying +things to do your bidding. For me, I believe this to be a very healthy +attitude towards software. As Amin said in the very beginning, we are +doing this entire presentation-- sorry, this entire conference with +free software. Just see all the things we've been able to do in free +software. For me, Emacs was my gateway, so to speak, into how to +contribute to free software, about the philosophy that surrounds it. + +What I would like to do... I'll finish on this note and then I'll be +taking your questions. Just try. You've read on Reddit that you need +to go through the Elisp manual in Emacs. You might be scared, but just +do it. Just give it a shot. Just give it maybe one afternoon. Try to +read it. Try to see if this appeals to your mind. If you've been +interested enough in my presentation right now, and if you're +interested enough in any of the talks you're going to have during the +entire conference, do give it a shot. I'm pretty sure you will like +the journey on which you will be embarking upon. So + +I believe I'm finishing one minute early, but I see quite a bit of +questions already. I'm not sure. Sacha, should I just be reading the +questions, or do you want to be feeding me the questions? (Amin: It's +really up to you. it's completely up to you. If you've got the +questions open and can take them or read them, by all means please.) +Okay, well, I'm going to read them because I've got them on the side. +I'm going to start with the one at the bottom. + +"Do you feel that being a white male contributed to your experience?" +Yeah. I mean, I do believe... There's an idea of privilege. I mean, +I'm French. I live in... I'm lucky enough to be here at university, +okay, and I'm fairly aware of the discrepancies that happen, even in +France, according to this... So, yes, I believe my journey was heavily +influenced by this. If you would like to specify the question, please +do, but I don't have really all that much to ask on this. + +"What is your advice to start learning Elisp language? Any +particularly good resource or any other tips?" I finished um my +presentation by telling you about the Elisp introduction which is +built into Emacs. What I might do... I'm going to share my screen just +to show you how this works. I will be sharing this window. I believe +it's frozen on my end, so I can't see anything. i'm not sure if you +can see me or if my camera is moving. Okay, so my Firefox is frozen. +So i'll answer the question, but I won't be able to show you what I +wanted to show you. There's a built-in guide inside Emacs to learn +Elisp. Maybe the best chance that you have is just to go open these +info pages. I'm sure someone will be kind enough to mention this to +you in the #emacsconf channel on IRC but it's probably the best way to +get started with Elisp. You know, we tend to get obsessed, with +software and with programming, about what's the best way to get +started. You see so many people who are heavily interested in getting +started with programming but they never managed to get started because +there's so much choice. My advice would be to just get started. Don't +get so worried about the first step. Well, if I may still recommend +the first step, even after saying this, do try to start with the +built-in guides. I believe they're pretty pretty good. + +There was another question. It's the last question that I can read and +after that, you will have to read the questions for me because +everything is frozen on my end. I hope I'm not frozen in a very bad +position so please excuse me if my mouth is open or anything. (Amin: +no, we just completely lost the video feed, so no worries.) Oh, +splendid, so I won't have to make a fool out of myself. + +So the last question I wanted to answer was "Have you read Dirk +Gently's Holistic Detective Agency?" No, I haven't. I hope it's not a +jab at the way i'm dressing for the conference, but yeah, I haven't +read it. Was there any other question? + +(Amin: I see one other question. "Any recommendation for good +packaging guides or places to start? i get a bit overwhelmed by some +things. For example, the choice of different test frameworks.") Right. +Okay. So that's a very good question. I believe alphapapa is in the +chat right now. As myself a new lisp developer for org-roam, i'd +really recommend you to look into his package developers' guide +because you have a list of all the softwares that are extremely useful +to be using when you're getting started. If you're looking into a +first step for how to develop elast package, i'd really advise you to +look into edebug. It's one word, edebug, and you have a section in the +manual for this, because for me, it was the key step to getting to +develop good packages. It was understanding basically what the code +did and having us something like a REPL (read-evaluate-print-loop) +that allows you to step through the code and see exactly which states +the variables are at which at this point in the program. That's really +my biggest advice to you. Any other question? Thanks. Yeah, I +see one or two more. So there's one. + +They ask, "How did the freedom of Emacs help you on your way?" So the +freedom of Emacs... I mentioned that Emacs, for me, was my gateway +into free software and the freedom of Emacs was that you could +maybe... First and foremost, compared to other software, was that you +had behind Emacs, Elisp, which allows you to read the code, read +whatever is going on in the background. Surely, if you go deep enough, +you'll end up on C functions that you might not be able to read if you +do not have the experience. But for Org Mode, which was my gateway +into Emacs, most of it is written in Elisp, and all the commands have +a very verbose name, like something simple as org go to next subtree +or org go to a parent subtree. You know, things like this. It's so +elegant. It's verbose. That's a sense of freedom insofar as you can go +into the code and see, oh, okay, that's how it's implemented. I +believe in a way that's the freedom and the liberty that is given to +you to look into the code is something that invites you to do the same +with your life. As someone who does a little bit of philosophy on the +side, I believe it's a very healthy message to be gathering from a +piece of software. + +(Amin: Awesome, thank you. Let's see... So we have... I think I saw +another question pop up.) I'm not sure how we're doing as far as time +is concerned... I believe we have like one or two minutes more. (Amin: +Yeah, actually, we're quite a bit ahead of the schedule, so if we take +a little bit longer, we're fine. If you do have more questions, please +do.) I'm just sorry that my video is not working anymore. (Amin: No +problem. Someone was actually saying... What's the most recent... +Actually, yeah well before that. + +"Please show off your three-piece suit before you end your talk, which +requires fixing your frozen camera. if this is not possible, please +post suit selfies in an easily accessible location." Okay, I'll make +sure to do this. But yes, I wanted to hype things up for the +conference, so yes, I did get the three-piece suit out. I'm very glad +you like it. By the way when you get a chance to see me live again, do +appreciate that my tie has both the colors of Emacs purple and also +Org Mode green. It took me a while to find this one, so I hope you +will appreciate this. + +(Amin: Awesome. Let's see. We have one other question. "What's the +most recent Emacs package or tool that you've discovered that you've +added to your repertoire?") Very interesting question. The thing is, +when you've spent as long as I have on Emacs--and I know that I've +only spent eight years and some of you might have spent maybe 10, 20, +maybe even more years on Emacs-- but for me, I believe the the coolest +neat trick that I found in Emacs was a mode which is called +beacon-mode. It's something that allows you to show when you're +jumping between buffers or when you're dropping between windows, it +shows exactly where your point is in that buffer by making a slight +ray of light which looks like a beacon, hence the name. It really +helps you navigate buffers because it always shows in a very visual +way where your point is. I'll get a chance to show this to you later +today when i'll be presenting my other talks. + +(Amin: AWesome. We have one question from Jonas, the maintainer from +Magit. He asks, "When you touched your webcam, that blew a fuse at my +place. How did you do that?") Well, I'm very sorry, Jonas, that it +happened to you, but i'll make sure not to touch my webcam again. +(Amin: Do we have any other questions?) I have to trust you on this +one. I'm really sorry. Everything is frozen on my end. (Amin: No +problem.) + +Yeah I'm more talking to the audience, I guess. I hope my lack of +slides didn't bother you. I really wanted to have this verbose time +with people, to be able to... it's a message that i've been trying to +share with as many people as possible. In france we do have an Emacs +workshop that we have on a monthly basis. I've been learning a lot +with those people and I felt like doing the same with Emacs conference +would be good. That's why i'm really happy, and I'm really lucky to +have had the chance to do this today. I hope some of you I've +convinced you of climbing up a step on a ladder or making a step in a +journey. (Amin: Absolutely. Thank you so much, Leo. I happen to +completely agree with your not necessarily using a slide when it's not +really needed and to help give some face-to-face time with the +audience. Unfortunately your webcam cut out, but I mean before that.) +Yes, I'll make sure to fix the problems later on, so don't worry about +it. (Amin: Awesome. Alrighty. I guess we're wrapping up for your talk +and getting ready for the next talk.) Sure. Well, thank you so much. +I'll see you all later, I suppose! (Amin: Sounds good. Thank you +again, Leo. Bye-bye) + +<!-- /transcript --> |