summaryrefslogtreecommitdiffstats
path: root/2020/info
diff options
context:
space:
mode:
Diffstat (limited to '2020/info')
-rw-r--r--2020/info/02.md341
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 -->