diff options
Diffstat (limited to '2020/subtitles/emacsconf-2020--02-an-emacs-developer-story-from-user-to-package-maintainer--leo-vivier.sbv')
-rw-r--r-- | 2020/subtitles/emacsconf-2020--02-an-emacs-developer-story-from-user-to-package-maintainer--leo-vivier.sbv | 1968 |
1 files changed, 1968 insertions, 0 deletions
diff --git a/2020/subtitles/emacsconf-2020--02-an-emacs-developer-story-from-user-to-package-maintainer--leo-vivier.sbv b/2020/subtitles/emacsconf-2020--02-an-emacs-developer-story-from-user-to-package-maintainer--leo-vivier.sbv new file mode 100644 index 00000000..2971cc83 --- /dev/null +++ b/2020/subtitles/emacsconf-2020--02-an-emacs-developer-story-from-user-to-package-maintainer--leo-vivier.sbv @@ -0,0 +1,1968 @@ +0:00:00.000,0:00:05.839 +(Amin: Alrighty, Leo Vivier, take it away.) + +0:00:03.760,0:00:06.879 +Okay, well, thank you. I'm in. So you've + +0:00:05.839,0:00:08.880 +just had a + +0:00:06.879,0:00:10.320 +little roundup of the news, and we're + +0:00:08.880,0:00:11.120 +going to get started now with some + +0:00:10.320,0:00:13.840 +presentations. + +0:00:11.120,0:00:15.920 +We're starting with user + +0:00:13.840,0:00:18.000 +developer stories. + +0:00:15.920,0:00:19.199 +I was extremely interested in this + +0:00:18.000,0:00:21.600 +section because I + +0:00:19.199,0:00:24.160 +wanted to get a chance, basically, to tell + +0:00:21.600,0:00:27.039 +you a little more about who I am and + +0:00:24.160,0:00:28.160 +how I got from basically being a user of + +0:00:27.039,0:00:30.640 +Emacs + +0:00:28.160,0:00:31.279 +to being nowadays a package + +0:00:30.640,0:00:33.280 +maintainer, + +0:00:31.279,0:00:34.559 +and maybe more in the future. I don't + +0:00:33.280,0:00:36.160 +know. So, + +0:00:34.559,0:00:37.760 +just for the organizers, I'm planning to + +0:00:36.160,0:00:39.680 +speak for 15 minutes, and I'll have five + +0:00:37.760,0:00:41.360 +more minutes of questions at the end. + +0:00:39.680,0:00:43.440 +As I told you before, if you want to have + +0:00:41.360,0:00:44.879 +questions, you know you can use the pad, + +0:00:43.440,0:00:47.360 +and I'll be reading the questions from + +0:00:44.879,0:00:49.600 +there. Okay. So + +0:00:47.360,0:00:51.280 +hi there, as Amin introduced me before, + +0:00:49.600,0:00:53.280 +my name is Leo Vivier. + +0:00:51.280,0:00:54.800 +I'm a freelance software engineer + +0:00:54.800,0:00:59.359 +in France, and I have been using Emacs + +0:00:58.079,0:01:01.280 +now for + +0:00:59.359,0:01:03.039 +i believe close to eight years. I can't + +0:01:01.280,0:01:07.680 +believe it's been so long. + +0:01:03.039,0:01:12.000 +But yes, it's been a journey because, + +0:01:07.680,0:01:14.560 +in a way, nothing + +0:01:12.000,0:01:15.119 +made me go for Emacs. You know I'm an-- + +0:01:15.119,0:01:19.200 +sorry, I was about to say Emacs major, but + +0:01:17.280,0:01:21.280 +no, I'm an English major. I went to + +0:01:19.200,0:01:24.320 +university to study English literature + +0:01:21.280,0:01:26.159 +and linguistics, and + +0:01:24.320,0:01:28.240 +I just got started in emacs + +0:01:26.159,0:01:31.340 +because I was looking for ways to take + +0:01:28.240,0:01:32.640 +better notes. I was looking for ways to + +0:01:31.340,0:01:34.640 +[Applause] + +0:01:32.640,0:01:36.720 +structure the way I was learning, + +0:01:34.640,0:01:40.079 +structure the way I was + +0:01:36.720,0:01:42.320 +taking notes. I stumbled one day + +0:01:40.079,0:01:43.759 +upon this weird piece of software which + +0:01:42.320,0:01:46.479 +was called Emacs, + +0:01:43.759,0:01:47.920 +and I've been trapped forever since, + +0:01:46.479,0:01:49.280 +basically, because + +0:01:47.920,0:01:51.119 +eight years ago, when I discovered + +0:01:49.280,0:01:52.720 +Emacs I just couldn't let go. There was + +0:01:51.119,0:01:55.439 +just something very + +0:01:52.720,0:01:56.320 +interesting about the way you configured + +0:01:55.439,0:01:58.799 +your setup, + +0:01:56.320,0:01:59.759 +and I just wanted to dive deeper and + +0:01:58.799,0:02:04.320 +deeper. + +0:01:59.759,0:02:06.640 +So the title is of this talk exactly is + +0:02:04.320,0:02:08.000 +how I went from user to package + +0:02:06.640,0:02:09.840 +maintainer, and + +0:02:08.000,0:02:11.599 +the package now that I'm maintaining is + +0:02:09.840,0:02:12.080 +called org-roam. I'm not the only one + +0:02:11.599,0:02:14.879 +doing this. + +0:02:12.080,0:02:15.440 +I'm helped with many lovely people + +0:02:15.440,0:02:21.360 +working on org-roam. + +0:02:18.720,0:02:23.360 +I got started as a maintainer + +0:02:21.360,0:02:24.720 +only this year, so that means that for + +0:02:23.360,0:02:27.360 +the eight years I've been + +0:02:24.720,0:02:29.200 +an Emacs user, seven of those years were + +0:02:27.360,0:02:31.040 +spent merely being a user + +0:02:29.200,0:02:33.920 +trying to be a sponge for knowledge, + +0:02:31.040,0:02:36.800 +trying to learn as much as I could. + +0:02:33.920,0:02:39.040 +I believe it would be + +0:02:36.800,0:02:40.959 +interesting for me to share my story + +0:02:39.040,0:02:42.160 +because I believe that I'm far from + +0:02:40.959,0:02:43.599 +being the only user + +0:02:42.160,0:02:45.519 +who can make the jump to being a + +0:02:43.599,0:02:46.879 +maintainer. A lot of you have + +0:02:45.519,0:02:48.959 +a lot of knowledge when it comes to + +0:02:46.879,0:02:51.040 +Emacs. Some of you + +0:02:48.959,0:02:52.720 +are at different steps in your journey. + +0:02:51.040,0:02:55.680 +Some of you, for instance, are just + +0:02:52.720,0:02:57.040 +starting to copy stuff out of + +0:02:55.680,0:02:59.519 +StackExchange + +0:02:57.040,0:03:00.720 +into your Emacs configuration. let's + +0:02:59.519,0:03:01.599 +say you want to do something very + +0:03:00.720,0:03:04.480 +particular + +0:03:01.599,0:03:05.920 +and you haven't found a way to do so. + +0:03:04.480,0:03:06.640 +You go on StackExchange. You find + +0:03:05.920,0:03:09.040 +something + +0:03:06.640,0:03:10.239 +that's interesting. You add it to your + +0:03:09.040,0:03:11.680 +Emacs configuration. You + +0:03:10.239,0:03:13.519 +barely understand anything that's going + +0:03:11.680,0:03:14.800 +on. You know that it's supposed to be + +0:03:13.519,0:03:17.200 +Emacs Lisp. + +0:03:14.800,0:03:19.440 +"I hardly know Emacs and I + +0:03:17.200,0:03:21.440 +know even less what is Lisp supposed to be." + +0:03:19.440,0:03:22.800 +But you paste it in and it does what you + +0:03:21.440,0:03:26.959 +want it to do, and you say + +0:03:22.800,0:03:29.280 +"Great, I'll move on to my work now." So + +0:03:26.959,0:03:30.879 +that's how I got started. I had + +0:03:29.280,0:03:33.440 +a very spartan + +0:03:30.879,0:03:35.200 +setup for Emacs, which a lot of you must + +0:03:33.440,0:03:36.000 +know... The first time you launch Emacs, + +0:03:36.000,0:03:39.599 +you have this feeling that you're jumping 20 + +0:03:37.840,0:03:43.680 +years back in time, as far as the + +0:03:39.599,0:03:45.920 +user interface is concerned. But + +0:03:43.680,0:03:46.959 +as you get to spend more time with Emacs... + +0:03:46.959,0:03:50.959 +Some would call it Stockholm syndrome + +0:03:49.120,0:03:53.360 +insofar as you can't see + +0:03:50.959,0:03:54.640 +how spartan the entire thing is, but it + +0:03:53.360,0:03:58.400 +actually is + +0:03:54.640,0:04:00.400 +a lovely prison so to speak. + +0:03:58.400,0:04:01.680 +That's how I got started eight years + +0:04:00.400,0:04:04.319 +ago. I just wanted + +0:04:01.680,0:04:05.519 +to find a way to do my research properly. + +0:04:04.319,0:04:07.280 +I wanted to have a + +0:04:05.519,0:04:08.959 +tool that I could use to write my notes + +0:04:07.280,0:04:11.680 +in plain text, because I was already + +0:04:08.959,0:04:14.560 +fairly averse to + +0:04:11.680,0:04:16.320 +Microsoft solutions when it + +0:04:14.560,0:04:19.359 +came to taking notes. + +0:04:16.320,0:04:20.880 +So yeah, I got started in emacs. I + +0:04:19.359,0:04:23.040 +read a little bit about what plain text + +0:04:20.880,0:04:26.000 +was about. Just to be clear, + +0:04:23.040,0:04:27.120 +at the time, yes, I was very good with + +0:04:26.000,0:04:30.160 +computers, + +0:04:27.120,0:04:32.479 +but I was not a computer science student. + +0:04:30.160,0:04:33.520 +I had barely any experience with + +0:04:32.479,0:04:36.080 +programming + +0:04:33.520,0:04:36.800 +and coding, and I was even less of a + +0:04:36.080,0:04:39.919 +hacker + +0:04:36.800,0:04:42.560 +back then. + +0:04:39.919,0:04:44.479 +It just goes to show you that at the + +0:04:42.560,0:04:45.840 +beginning, I had close to no knowledge, + +0:04:44.479,0:04:47.840 +whether it be about + +0:04:45.840,0:04:48.880 +the free software world, whether it be + +0:04:47.840,0:04:50.800 +about... + +0:04:48.880,0:04:52.479 +Sacha, do you want to say something? (Sacha: just + +0:04:50.800,0:04:54.080 +confirming, you're not sharing anything + +0:04:52.479,0:04:55.360 +on the screen at the moment, right?) + +0:04:54.080,0:04:55.759 +No, I'm not sharing anything, I'm + +0:04:55.360,0:04:59.040 +just + +0:04:55.759,0:05:02.240 +presenting. + +0:04:59.040,0:05:03.680 +So when I started, I had no + +0:05:02.240,0:05:07.199 +experience whatsoever. + +0:05:03.680,0:05:10.080 +I was just a literature major + +0:05:07.199,0:05:11.039 +trying to get better at taking notes. + +0:05:11.039,0:05:15.280 +I stumbled upon LaTeX. As many people + +0:05:13.440,0:05:17.039 +who stumble upon LaTeX know, + +0:05:15.280,0:05:19.759 +you don't just stumble upon + +0:05:17.039,0:05:21.199 +LaTeX, you embroil yourself in the + +0:05:19.759,0:05:24.560 +turmoil of + +0:05:21.199,0:05:27.440 +suffering, of late nights tweaking, + +0:05:24.560,0:05:30.000 +so that your document is exactly in the + +0:05:27.440,0:05:33.440 +perfect shape you want it to be. + +0:05:33.440,0:05:36.639 +Soon after, when I got started with Emacs + +0:05:35.520,0:05:38.400 +and LaTeX, + +0:05:36.639,0:05:40.560 +I discovered something that truly + +0:05:38.400,0:05:44.479 +changed my life, and it was Org Mode. + +0:05:40.560,0:05:46.960 +As you'll get a lot of presentations + +0:05:44.479,0:05:49.360 +this afternoon about Org Mode, + +0:05:46.960,0:05:50.479 +I won't be spending too much time on it. + +0:05:49.360,0:05:53.680 +But Org Mode, + +0:05:50.479,0:05:56.880 +for me, was a revelation. It's... + +0:05:53.680,0:05:59.039 +There was something that, upon reading + +0:05:56.880,0:06:02.080 +articles on how to use Org Mode, + +0:05:59.039,0:06:04.160 +especially one of the key + +0:06:02.080,0:06:06.000 +article that I'd read which really made + +0:06:04.160,0:06:09.199 +a huge impact on me + +0:06:06.000,0:06:10.720 +was the "Organize Your Life in Plain Text" one + +0:06:09.199,0:06:12.240 +which i'm sure many of you must have + +0:06:10.720,0:06:15.919 +stumbled upon + +0:06:12.240,0:06:18.720 +in your Emacs journey... + +0:06:15.919,0:06:19.680 +For me, when I stumbled upon + +0:06:18.720,0:06:21.840 +this + +0:06:19.680,0:06:23.440 +document, I was starting to get + +0:06:21.840,0:06:24.240 +interested in Getting Things + +0:06:23.440,0:06:26.560 +Done and + +0:06:24.240,0:06:29.199 +all the nitty-gritty stuff about + +0:06:26.560,0:06:31.919 +organization and self-organization. + +0:06:29.199,0:06:32.960 +It just felt like everything was under + +0:06:31.919,0:06:36.960 +my fingertips + +0:06:32.960,0:06:40.880 +to make the perfect workflow. + +0:06:36.960,0:06:44.080 +There was something incredibly + +0:06:40.880,0:06:46.319 +satisfying about + +0:06:44.080,0:06:48.319 +having a system that gave you so many + +0:06:46.319,0:06:50.160 +options to configure your experience + +0:06:48.319,0:06:54.479 +exactly how you wanted. + +0:06:50.160,0:06:57.199 +You had this feeling that + +0:06:54.479,0:06:57.599 +the people behind Org Mode had thought + +0:06:57.199,0:07:00.479 +of everything, + +0:06:57.599,0:07:02.000 +whichever small adjustment + +0:07:00.479,0:07:04.800 +that you needed in workflow + +0:07:02.000,0:07:05.440 +whether it be more states for your + +0:07:04.800,0:07:07.520 +TODOs, + +0:07:05.440,0:07:09.360 +whether it be, oh, I want my weeks to + +0:07:07.520,0:07:13.039 +start on Monday and not on Saturday, + +0:07:09.360,0:07:13.520 +oh, it's half past one and I need + +0:07:13.039,0:07:15.280 +to... + +0:07:13.520,0:07:17.039 +in the morning, I mean, and I need to make + +0:07:15.280,0:07:17.680 +sure that the item that i'm marking as done + +0:07:17.680,0:07:21.199 +is done for the day before and not for + +0:07:19.199,0:07:21.919 +the current day. You see what I'm talking about. + +0:07:21.919,0:07:28.800 +So many details that were already + +0:07:25.280,0:07:31.039 +present in Org Mode. At first you're + +0:07:28.800,0:07:34.080 +really impressed, because you think, + +0:07:31.039,0:07:35.599 +wow, they thought of everything, but then + +0:07:34.080,0:07:38.080 +you realize that it's just a matter of + +0:07:35.599,0:07:40.800 +experience, just a matter of people + +0:07:38.080,0:07:42.400 +contributing code, because the + +0:07:40.800,0:07:43.520 +development of Org Mode, Emacs, and + +0:07:42.400,0:07:45.440 +everything is just + +0:07:43.520,0:07:46.879 +open to the public. You know, it's like + +0:07:45.440,0:07:48.560 +everything is being done with the garage + +0:07:46.879,0:07:50.960 +door opened. You can just + +0:07:48.560,0:07:51.680 +go on Org Mode on Savannah and see + +0:07:50.960,0:07:54.800 +everything that is being developed. + +0:07:54.800,0:08:02.639 +For me, the shift that occurred + +0:07:58.639,0:08:04.240 +in my mind was when + +0:08:02.639,0:08:06.240 +I was reading all the options, I + +0:08:04.240,0:08:08.160 +was looking at all the variables that i + +0:08:06.240,0:08:11.440 +could modify for Org Mode, + +0:08:08.160,0:08:12.560 +and there came a time, maybe two to three + +0:08:11.440,0:08:15.599 +years ago, + +0:08:12.560,0:08:17.759 +where I thought, oh wow, + +0:08:15.599,0:08:19.599 +maybe for the first time in a while, + +0:08:17.759,0:08:21.440 +there is no option for me to do what I + +0:08:19.599,0:08:24.479 +want to be doing with Org Mode. + +0:08:21.440,0:08:26.400 +I believe at the time the the key + +0:08:24.479,0:08:29.199 +issue that triggered this reflex for me was + +0:08:29.199,0:08:33.599 +I wanted to do something with the agenda. + +0:08:31.039,0:08:34.159 +I wanted to have a super category so, you + +0:08:33.599,0:08:36.320 +know, in the... + +0:08:34.159,0:08:38.000 +for those of you who know, in your + +0:08:36.320,0:08:39.440 +agenda, you have the ability to have many + +0:08:38.000,0:08:41.200 +files, and you have the ability to have + +0:08:39.440,0:08:44.560 +categories. + +0:08:41.200,0:08:47.920 +I wanted somehow to group my + +0:08:47.920,0:08:52.560 +TODOs in smaller groups, or bigger + +0:08:51.680,0:08:53.920 +groups, I should say, + +0:08:52.560,0:08:55.440 +so that, for instance, I could have one + +0:08:53.920,0:08:56.000 +group for my professional life, I could + +0:08:55.440,0:08:59.120 +have a group + +0:08:56.000,0:08:59.600 +for one work, the second + +0:08:59.120,0:09:00.800 +work... + +0:08:59.600,0:09:02.800 +I could have something for + +0:09:00.800,0:09:06.000 +university and all this. + +0:09:02.800,0:09:08.240 +I thought, yeah, + +0:09:06.000,0:09:09.600 +I think I'd like this. + +0:09:09.600,0:09:15.519 +After having spent so long working + +0:09:12.959,0:09:17.200 +with Emacs and working with Org Mode, + +0:09:15.519,0:09:18.800 +I had some ideas about what was + +0:09:17.200,0:09:21.120 +within the realm of possibility and what + +0:09:18.800,0:09:23.040 +wasn't. Here I thought to myself, + +0:09:21.120,0:09:24.320 +this is definitely something that I can do. + +0:09:24.320,0:09:31.360 +And so thus started my journey + +0:09:27.839,0:09:33.040 +into the Org Mode libraries. + +0:09:31.360,0:09:34.959 +I won't go too much into details right + +0:09:33.040,0:09:37.040 +now, because right now, the main objective + +0:09:34.959,0:09:40.240 +that I have is just to show you + +0:09:37.040,0:09:41.600 +how simple it is to become a maintainer, + +0:09:40.240,0:09:42.800 +how to become more involved with the + +0:09:41.600,0:09:46.320 +development. + +0:09:42.800,0:09:48.839 +The libraries in Org Mode, + +0:09:46.320,0:09:50.320 +they're written in Elisp, which is a very... + +0:09:50.320,0:09:54.080 +It might seem like an obscure language, + +0:09:52.080,0:09:56.399 +and it certainly is, + +0:09:54.080,0:09:57.279 +but as soon as you get the logic of the + +0:09:56.399,0:09:59.360 +language--and + +0:09:57.279,0:10:00.560 +what i'm telling you + +0:09:59.360,0:10:01.760 +is coming from someone who's never + +0:10:00.560,0:10:04.399 +studied programming-- + +0:10:01.760,0:10:06.079 +it made sense. + +0:10:04.399,0:10:07.279 +Everything is so verbose when you get + +0:10:06.079,0:10:10.399 +into the code. + +0:10:07.279,0:10:13.360 +When you learn the rudiments + +0:10:10.399,0:10:14.079 +of Elisp, you start getting to the code, + +0:10:13.360,0:10:17.120 +and you start + +0:10:14.079,0:10:19.519 +thinking, wow, okay that makes sense, + +0:10:17.120,0:10:21.360 +and you start developing a logic + +0:10:19.519,0:10:24.720 +for all this. + +0:10:21.360,0:10:26.959 +So, equipped as I was with this + +0:10:24.720,0:10:27.760 +new knowledge, I went on my project, + +0:10:27.760,0:10:30.880 +i went into the Org agenda code, + +0:10:30.000,0:10:33.440 +and I thought, okay, + +0:10:30.880,0:10:34.640 +is there anything that I can use to do + +0:10:33.440,0:10:37.760 +my bidding? + +0:10:34.640,0:10:38.560 +Fast forward maybe two to three weeks of + +0:10:38.560,0:10:42.720 +intense turmoil and many nights which + +0:10:41.600,0:10:45.279 +were spent + +0:10:42.720,0:10:46.079 +single-mindedly working on this project, + +0:10:46.079,0:10:51.680 +two weeks after, I had something that was + +0:10:48.079,0:10:54.640 +working, and I was pretty happy about it. + +0:10:51.680,0:10:56.800 +That was a key landmark for + +0:10:54.640,0:11:00.320 +me, because when that happened, + +0:10:56.800,0:11:02.160 +it just felt like, okay, I can contribute + +0:11:00.320,0:11:03.120 +something to Org Mode, and I can do + +0:11:02.160,0:11:06.000 +something that would benefit as many people + +0:11:06.000,0:11:09.519 +as possible. + +0:11:07.600,0:11:11.440 +And to me, that was the click. That's when + +0:11:09.519,0:11:13.680 +it occurred. That's when I + +0:11:11.440,0:11:14.640 +went on my first project and I did something + +0:11:14.640,0:11:18.079 +that felt useful to the community. + +0:11:18.079,0:11:21.760 +And nowadays, as I told you, I + +0:11:20.079,0:11:22.640 +maintain packages, but really, nothing + +0:11:21.760,0:11:24.399 +has changed. + +0:11:22.640,0:11:26.880 +The only thing, maybe, that has changed + +0:11:24.399,0:11:28.320 +that I've turned my mind onto other problems. + +0:11:28.320,0:11:35.279 +Maybe I've got three more minutes + +0:11:32.000,0:11:38.399 +and I'd like to finish by + +0:11:35.279,0:11:39.600 +maybe something a little different. + +0:11:38.399,0:11:42.079 +I've told you my Emacs story and + +0:11:39.600,0:11:43.600 +I hope I've stressed how little effort + +0:11:42.079,0:11:46.560 +it took me to + +0:11:43.600,0:11:48.399 +move from steps to steps on the ladder. + +0:11:46.560,0:11:48.959 +The ladder implies a sense of hierarchy, + +0:11:48.399,0:11:52.240 +but it really isn't. + +0:11:48.959,0:11:53.920 +Whatever your step on the + +0:11:52.240,0:11:55.600 +journey of Emacs is... + +0:11:53.920,0:11:57.440 +Some of you might be at the + +0:11:55.600,0:11:59.360 +step where you're really worried + +0:11:57.440,0:12:01.440 +about learning Elisp because it feels + +0:11:59.360,0:12:02.399 +like such a monumental task to be + +0:12:01.440,0:12:04.720 +undertaking + +0:12:02.399,0:12:06.079 +and you have no experience whatsoever, + +0:12:04.720,0:12:07.839 +but the thing is, + +0:12:06.079,0:12:09.600 +maybe you could try climbing this first + +0:12:07.839,0:12:11.200 +step on the ladder. Maybe you could try, + +0:12:09.600,0:12:13.120 +if you have any project, + +0:12:11.200,0:12:14.880 +if you've been using Org Mode, + +0:12:13.120,0:12:15.600 +maybe one day you thought, "oh, yes, + +0:12:15.600,0:12:19.920 +I wish I could do this but I can't," + +0:12:18.160,0:12:21.680 +or maybe do try to do this, + +0:12:19.920,0:12:23.279 +maybe do try to change something in a + +0:12:21.680,0:12:26.560 +major mode that you're using + +0:12:23.279,0:12:29.760 +and which you feel might be better. + +0:12:26.560,0:12:31.040 +I think Emacs, Org Mode, and all free + +0:12:29.760,0:12:34.240 +software in general + +0:12:31.040,0:12:34.720 +has this tendency to give you this idea + +0:12:34.720,0:12:41.360 +that I can be a hacker + +0:12:38.720,0:12:43.200 +in the sense of the term + +0:12:41.360,0:12:46.320 +that you're modifying things + +0:12:43.200,0:12:48.399 +to do your bidding. + +0:12:46.320,0:12:50.320 +For me, I believe this to be a very + +0:12:48.399,0:12:52.959 +healthy attitude towards software. + +0:12:50.320,0:12:54.079 +As Amin said in the very beginning, + +0:12:54.079,0:12:59.360 +we are doing this entire presentation-- + +0:12:57.279,0:13:00.800 +sorry, this entire conference with free software. + +0:13:00.800,0:13:03.920 +Just see all the things we've been able + +0:13:02.240,0:13:07.360 +to do in free software. + +0:13:03.920,0:13:10.399 +For me, Emacs + +0:13:07.360,0:13:14.399 +was my gateway, so to speak, + +0:13:10.399,0:13:17.200 +into how to contribute to free software, + +0:13:14.399,0:13:18.639 +about the philosophy that surrounds it. + +0:13:18.639,0:13:22.000 +What I would like to do... I'll finish + +0:13:20.560,0:13:23.360 +on this note and then I'll be taking + +0:13:22.000,0:13:26.480 +your questions. + +0:13:23.360,0:13:29.360 +Just try. + +0:13:26.480,0:13:31.279 +You've read on Reddit that you + +0:13:29.360,0:13:33.040 +need to go through the Elisp manual + +0:13:31.279,0:13:35.920 +in Emacs. You might be scared, + +0:13:33.040,0:13:38.560 +but just do it. Just give it a shot. + +0:13:35.920,0:13:39.199 +Just give it maybe one afternoon. + +0:13:38.560,0:13:42.160 +Try to read it. + +0:13:39.199,0:13:43.120 +Try to see if this appeals to your mind. + +0:13:43.120,0:13:45.680 +If you've been interested enough in my + +0:13:44.399,0:13:47.199 +presentation right now, and if you're + +0:13:45.680,0:13:48.560 +interested enough in any of the talks + +0:13:47.199,0:13:49.519 +you're going to have during the entire + +0:13:48.560,0:13:51.839 +conference, + +0:13:49.519,0:13:52.959 +do give it a shot. I'm pretty sure + +0:13:51.839,0:13:55.760 +you will like the journey + +0:13:52.959,0:13:57.120 +on which you will be embarking upon. So i + +0:13:55.760,0:13:57.680 +believe i'm finishing one minute early + +0:13:57.120,0:14:00.000 +but I see quite a bit of questions already. + +0:14:01.040,0:14:06.000 +I'm not sure. Sacha, should I + +0:14:04.320,0:14:07.120 +just be reading the questions, or + +0:14:06.000,0:14:08.639 +do you want to be feeding me the + +0:14:07.120,0:14:11.120 +questions? + +0:14:08.639,0:14:12.320 +(Amin: It's really up to you. it's + +0:14:11.120,0:14:13.600 +completely up to you. + +0:14:12.320,0:14:15.839 +If you've got the questions + +0:14:13.600,0:14:18.320 +open and can take them or read them, + +0:14:15.839,0:14:19.680 +by all means please.) + +0:14:18.320,0:14:20.880 +Okay, well, I'm going to read them because + +0:14:19.680,0:14:22.800 +I've got them on the side. I'm going + +0:14:20.880,0:14:24.959 +to start with the one at the bottom. + +0:14:22.800,0:14:26.959 +"Do you feel that being a white male + +0:14:24.959,0:14:29.680 +contributed to your experience?" + +0:14:26.959,0:14:31.360 +Yeah. I mean, I do believe... There's + +0:14:29.680,0:14:34.639 +an idea of privilege. I mean, I'm + +0:14:31.360,0:14:35.279 +french. I live in... I'm lucky enough to + +0:14:34.639,0:14:38.560 +be here + +0:14:35.279,0:14:39.120 +at university, okay, and I'm fairly aware + +0:14:38.560,0:14:41.600 +of the + +0:14:39.120,0:14:42.880 +discrepancies that happen, even in France, + +0:14:41.600,0:14:46.320 +according to this... + +0:14:42.880,0:14:51.040 +So, yes, I believe my journey + +0:14:46.320,0:14:51.040 +was heavily influenced by this. + +0:14:51.199,0:14:54.320 +If you would like to specify the + +0:14:52.639,0:14:56.560 +question, please do, but I don't have + +0:14:54.320,0:14:59.199 +really all that much to ask on this. + +0:14:56.560,0:14:59.839 +"What is your advice to start learning + +0:14:59.839,0:15:04.160 +Elisp language? Any particularly good + +0:15:01.279,0:15:06.880 +resource or any other tips?" I finished + +0:15:04.160,0:15:07.760 +um my presentation by telling you about + +0:15:07.760,0:15:11.519 +the Elisp introduction which is built into + +0:15:10.560,0:15:13.519 +Emacs. What I might do... I'm going to share my + +0:15:13.519,0:15:19.519 +screen just to show you + +0:15:15.120,0:15:22.880 +how this works. I will be sharing + +0:15:19.519,0:15:24.399 +this window. + +0:15:22.880,0:15:27.199 +I believe it's frozen on my end, so I + +0:15:24.399,0:15:28.959 +can't see anything. + +0:15:27.199,0:15:31.680 +i'm not sure if you can see me or if my + +0:15:28.959,0:15:31.680 +camera is moving. + +0:15:32.560,0:15:36.000 +Okay, so my Firefox is frozen. So i'll + +0:15:34.800,0:15:36.800 +answer the question, but I won't be able + +0:15:36.000,0:15:40.000 +to show you + +0:15:36.800,0:15:42.639 +what I wanted to show you. + +0:15:40.000,0:15:44.320 +There's a built-in guide inside Emacs to + +0:15:42.639,0:15:46.880 +learn Elisp. + +0:15:44.320,0:15:49.040 +Maybe the best chance that you have + +0:15:46.880,0:15:50.959 +is just to go open these info pages. + +0:15:49.040,0:15:53.839 +I'm sure someone will be kind enough to + +0:15:50.959,0:15:54.880 +mention this to you in the #emacsconf channel + +0:15:53.839,0:15:56.880 +on IRC + +0:15:54.880,0:15:59.040 +but it's probably the best way + +0:15:56.880,0:16:01.279 +to get started with Elisp. + +0:15:59.040,0:16:03.360 +You know, we tend to get obsessed, with + +0:16:01.279,0:16:04.880 +software and with programming, about + +0:16:03.360,0:16:06.959 +what's the best way to get started. + +0:16:04.880,0:16:08.399 +You see so many people who are + +0:16:06.959,0:16:10.639 +heavily interested + +0:16:08.399,0:16:12.320 +in getting started with programming but + +0:16:10.639,0:16:14.320 +they never managed to get started + +0:16:12.320,0:16:16.320 +because there's so much choice. + +0:16:14.320,0:16:17.920 +My advice would be to just get started. + +0:16:16.320,0:16:18.800 +Don't get so worried about the first step. + +0:16:18.800,0:16:23.920 +Well, if I may still recommend the + +0:16:21.839,0:16:26.480 +first step, even after saying this, + +0:16:23.920,0:16:28.000 +do try to start with the + +0:16:26.480,0:16:29.600 +built-in guides. I believe they're pretty + +0:16:28.000,0:16:32.079 +pretty good. + +0:16:29.600,0:16:33.199 +There was another question. It's + +0:16:32.079,0:16:34.800 +the last question that I can read and + +0:16:33.199,0:16:36.000 +after that, you will have to read + +0:16:34.800,0:16:37.920 +the questions for me because everything + +0:16:36.000,0:16:41.600 +is frozen on my end. + +0:16:37.920,0:16:44.240 +I hope I'm not frozen + +0:16:41.600,0:16:45.680 +in a very bad position so + +0:16:44.240,0:16:48.240 +please excuse me if + +0:16:45.680,0:16:49.759 +my mouth is open or anything. (Amin: no, we + +0:16:48.240,0:16:51.120 +just completely lost the video feed, so + +0:16:49.759,0:16:52.720 +no worries.) + +0:16:51.120,0:16:54.800 +Oh, splendid, so I won't have to make a + +0:16:52.720,0:16:56.800 +fool out of myself. + +0:16:54.800,0:16:58.320 +So the last question I wanted to answer was + +0:16:56.800,0:16:59.199 +"Have you read Dirk Gently's Holistic + +0:16:58.320,0:17:02.079 +Detective Agency?" + +0:16:59.199,0:17:03.519 +No, I haven't. I hope it's not + +0:17:03.519,0:17:06.559 +a jab at the way i'm dressing for the + +0:17:05.199,0:17:08.559 +conference, but yeah, + +0:17:06.559,0:17:10.559 +I haven't read it. Was there any + +0:17:08.559,0:17:13.919 +other question? + +0:17:10.559,0:17:15.919 +(Amin: I see one other question. + +0:17:15.919,0:17:19.679 +"Any recommendation for good packaging + +0:17:17.919,0:17:23.199 +guides or places to start? + +0:17:19.679,0:17:24.959 +i get a bit overwhelmed by some things. + +0:17:23.199,0:17:26.799 +For example, the choice of different test + +0:17:24.959,0:17:28.240 +frameworks.") + +0:17:26.799,0:17:30.400 +Right. Okay. So that's a very good + +0:17:28.240,0:17:33.840 +question. I believe + +0:17:30.400,0:17:35.840 +alphapapa is in the chat right now. + +0:17:33.840,0:17:37.760 +As myself a new lisp developer for + +0:17:35.840,0:17:38.320 +org-roam, i'd really recommend you to look into + +0:17:38.320,0:17:42.799 +his package developers' guide because you + +0:17:40.640,0:17:44.559 +have a list of all the softwares that + +0:17:42.799,0:17:45.760 +are extremely useful to be using when + +0:17:44.559,0:17:48.000 +you're getting started. + +0:17:45.760,0:17:50.000 +If you're looking into a first + +0:17:48.000,0:17:52.640 +step for how to develop + +0:17:50.000,0:17:53.520 +elast package, i'd really advise you to + +0:17:52.640,0:17:56.559 +look into edebug. + +0:17:53.520,0:17:58.000 +It's one word, edebug, + +0:17:56.559,0:17:58.400 +and you have a section in the manual for this, + +0:17:58.400,0:18:01.919 +because for me, it was the key step to + +0:18:00.799,0:18:04.320 +getting to + +0:18:01.919,0:18:05.679 +develop good packages. It was + +0:18:04.320,0:18:06.160 +understanding basically what the code did + +0:18:06.160,0:18:09.919 +and having us something like a + +0:18:08.960,0:18:11.760 +REPL (read-evaluate-print-loop) + +0:18:09.919,0:18:13.360 +that allows you to step through the code + +0:18:11.760,0:18:13.919 +and see exactly which states the + +0:18:13.360,0:18:16.000 +variables are at which at this point in the + +0:18:16.000,0:18:20.080 +program. That's really my biggest advice + +0:18:18.400,0:18:21.200 +to you + +0:18:20.080,0:18:24.400 +[Music] + +0:18:21.200,0:18:26.160 +Any other question? Thanks. Yeah, I see one + +0:18:24.400,0:18:28.240 +or two more. + +0:18:26.160,0:18:30.080 +So there's one. They ask, "How did the + +0:18:28.240,0:18:33.120 +freedom of Emacs help you on + +0:18:30.080,0:18:36.480 +your way?" + +0:18:33.120,0:18:38.080 +So the freedom of Emacs... I mentioned + +0:18:36.480,0:18:40.320 +that Emacs, for me, was my gateway + +0:18:38.080,0:18:41.360 +into free software and the freedom of + +0:18:40.320,0:18:43.840 +Emacs was that + +0:18:41.360,0:18:44.960 +you could maybe... First and foremost, + +0:18:43.840,0:18:47.840 +compared to + +0:18:44.960,0:18:48.400 +other software, was that you had + +0:18:47.840,0:18:51.039 +behind Emacs, + +0:18:48.400,0:18:52.400 +Elisp, which allows you to read the code, + +0:18:51.039,0:18:53.039 +read whatever is going on in the + +0:18:52.400,0:18:54.640 +background. + +0:18:53.039,0:18:56.160 +Surely, if you go deep enough, you'll + +0:18:54.640,0:18:58.000 +end up on + +0:18:56.160,0:18:59.679 +C functions that you might not be able to + +0:18:58.000,0:19:02.000 +read if you do not have the experience. + +0:18:59.679,0:19:03.520 +But for Org Mode, which was my gateway + +0:19:02.000,0:19:06.400 +into Emacs, + +0:19:03.520,0:19:08.240 +most of it is written in Elisp, and all + +0:19:06.400,0:19:10.080 +the commands have a very verbose + +0:19:08.240,0:19:13.440 +name, like something simple as + +0:19:10.080,0:19:15.840 +org go to next subtree or + +0:19:13.440,0:19:16.880 +org go to a parent subtree. You know, things + +0:19:15.840,0:19:20.240 +like this. + +0:19:16.880,0:19:22.799 +It's so elegant. It's verbose. + +0:19:20.240,0:19:24.320 +That's a sense of freedom + +0:19:22.799,0:19:26.160 +insofar as you can go into the code and + +0:19:24.320,0:19:28.640 +see, oh, okay, that's how it's implemented. + +0:19:26.160,0:19:30.400 +I believe in a way that's the freedom + +0:19:28.640,0:19:31.600 +and the liberty that is given to you to + +0:19:30.400,0:19:33.039 +look into the code + +0:19:31.600,0:19:34.640 +is something that invites you to do the + +0:19:33.039,0:19:35.200 +same with your life. As + +0:19:34.640,0:19:36.559 +someone who + +0:19:35.200,0:19:38.080 +does a little bit of philosophy on the + +0:19:36.559,0:19:38.799 +side, I believe it's a very healthy + +0:19:38.080,0:19:42.320 +message + +0:19:38.799,0:19:45.440 +to be gathering from a piece of software. + +0:19:42.320,0:19:50.720 +(Amin: Awesome, thank you. + +0:19:45.440,0:19:50.720 +Let's see... So we have... + +0:19:50.960,0:19:55.200 +I think I saw another question pop up.) + +0:19:57.200,0:19:59.760 +I'm not sure how we're doing as far + +0:19:58.559,0:20:02.080 +as time is concerned... I believe we + +0:19:59.760,0:20:04.240 +have like one or two minutes more. + +0:20:02.080,0:20:05.679 +(Amin: Yeah, actually, we're quite a bit + +0:20:04.240,0:20:07.840 +ahead of the schedule, so if we take a + +0:20:05.679,0:20:09.440 +little bit longer, we're fine. + +0:20:07.840,0:20:11.280 +If you do have more + +0:20:09.440,0:20:12.880 +questions, please do.) I'm just sorry that + +0:20:11.280,0:20:16.000 +my video is not working anymore. + +0:20:12.880,0:20:17.120 +(Amin: No problem. Someone was + +0:20:16.000,0:20:21.120 +actually saying... + +0:20:17.120,0:20:24.159 +What's the most recent... + +0:20:21.120,0:20:25.919 +Actually, yeah well before that. + +0:20:24.159,0:20:27.440 +"Please show off your three-piece suit + +0:20:25.919,0:20:30.080 +before you end your talk, + +0:20:27.440,0:20:31.919 +which requires fixing your frozen camera. + +0:20:30.080,0:20:34.000 +if this is not possible, please post + +0:20:31.919,0:20:36.240 +suit selfies in an easily accessible + +0:20:34.000,0:20:38.720 +location." + +0:20:36.240,0:20:40.559 +Okay, I'll make sure to do this. But yes, I + +0:20:38.720,0:20:41.200 +wanted to hype things up for the + +0:20:40.559,0:20:43.039 +conference, + +0:20:41.200,0:20:44.400 +so yes I did get the three-piece suit out. + +0:20:43.039,0:20:45.919 +I'm very glad + +0:20:44.400,0:20:47.760 +you like it. By the way when you get + +0:20:45.919,0:20:50.080 +a chance to see me live again, + +0:20:47.760,0:20:51.280 +do appreciate that my tie has both the + +0:20:50.080,0:20:53.679 +colors of Emacs purple + +0:20:51.280,0:20:54.960 +and also Org Mode green. + +0:20:53.679,0:20:55.760 +It took me a while to find this one, so I + +0:20:55.760,0:20:58.880 +hope you will appreciate this. + +0:21:00.840,0:21:06.880 +(Amin: Awesome. Let's see. We have + +0:21:03.679,0:21:08.960 +one other question. "What's the + +0:21:06.880,0:21:10.159 +most recent Emacs package or tool that + +0:21:08.960,0:21:14.480 +you've discovered + +0:21:10.159,0:21:17.600 +that you've added to your repertoire?") + +0:21:14.480,0:21:20.320 +Very interesting question. + +0:21:17.600,0:21:20.799 +The thing is, + +0:21:20.799,0:21:23.919 +when you've spent as long as I have on + +0:21:22.320,0:21:25.120 +Emacs--and I know that I've only spent + +0:21:23.919,0:21:28.799 +eight years and some of you + +0:21:25.120,0:21:30.000 +might have spent maybe 10, 20, maybe even + +0:21:28.799,0:21:32.799 +more years on Emacs-- + +0:21:30.000,0:21:35.120 +but for me, I believe the the coolest + +0:21:32.799,0:21:38.200 +neat trick that I found in Emacs was + +0:21:35.120,0:21:40.080 +a mode which is called beacon-mode. + +0:21:40.080,0:21:43.679 +It's something that allows + +0:21:42.559,0:21:45.120 +you to show + +0:21:43.679,0:21:46.960 +when you're jumping between buffers or + +0:21:45.120,0:21:49.760 +when you're dropping between windows, + +0:21:46.960,0:21:51.520 +it shows exactly where your point is in + +0:21:49.760,0:21:53.840 +that buffer by making + +0:21:51.520,0:21:55.440 +a slight ray of light which looks like a + +0:21:53.840,0:21:57.760 +beacon, hence the name. + +0:21:55.440,0:21:59.520 +It really helps you navigate buffers + +0:21:57.760,0:22:01.760 +because it always shows in a very + +0:21:59.520,0:22:03.520 +visual way where your point is. + +0:22:01.760,0:22:04.640 +I'll get a chance to show this to + +0:22:03.520,0:22:08.720 +you later today + +0:22:04.640,0:22:08.720 +when i'll be presenting my other talks. + +0:22:10.159,0:22:16.880 +(Amin: AWesome. + +0:22:13.840,0:22:20.159 +We have one question + +0:22:16.880,0:22:20.880 +from Jonas, the maintainer + +0:22:20.159,0:22:24.720 +from Magit. + +0:22:20.880,0:22:26.880 +He asks, "When you touched your + +0:22:24.720,0:22:29.600 +webcam, that blew a fuse at my place. + +0:22:26.880,0:22:29.600 +How did you do that?") + +0:22:29.760,0:22:32.960 +Well, I'm very sorry, Jonas, that it + +0:22:31.600,0:22:36.000 +happened to you, but i'll make sure not + +0:22:32.960,0:22:36.000 +to touch my webcam again. + +0:22:36.960,0:22:43.919 +(Amin: Do we have any other questions?) + +0:22:41.600,0:22:45.840 +I have to trust you on this one. + +0:22:43.919,0:22:46.960 +I'm really sorry. Everything is frozen + +0:22:45.840,0:22:48.720 +on my end. + +0:22:46.960,0:22:49.940 +(Amin: No problem. Yeah i'm more talking to the + +0:22:48.720,0:22:51.520 +audience, I guess.) + +0:22:49.940,0:22:55.120 +[Music] + +0:22:51.520,0:22:56.960 +I hope my lack of + +0:22:55.120,0:22:58.159 +slides didn't bother you. I really + +0:22:56.960,0:23:01.039 +wanted to have this + +0:22:58.159,0:23:01.600 +verbose time with people, to be + +0:23:01.039,0:23:04.880 +able to... + +0:23:01.600,0:23:05.280 +it's a message that i've been trying + +0:23:04.880,0:23:06.960 +to share with as many people as possible. + +0:23:08.640,0:23:14.159 +In france we do have an Emacs workshop + +0:23:11.760,0:23:16.000 +that we have on a monthly basis. + +0:23:14.159,0:23:18.960 +I've been learning a lot + +0:23:16.000,0:23:20.400 +with those people and I felt like + +0:23:18.960,0:23:22.480 +doing the same with Emacs conference + +0:23:20.400,0:23:24.000 +would be good. That's why i'm really + +0:23:22.480,0:23:25.120 +happy, and I'm really lucky to have had + +0:23:24.000,0:23:27.919 +the chance to + +0:23:25.120,0:23:29.200 +do this today. I hope some of you + +0:23:27.919,0:23:31.679 +I've convinced you + +0:23:29.200,0:23:34.480 +of climbing up a step on a ladder or + +0:23:31.679,0:23:37.280 +making a step in a journey. + +0:23:34.480,0:23:38.080 +(Amin: Absolutely. Thank you so much, Leo. + +0:23:38.080,0:23:41.279 +I happen to completely agree + +0:23:41.279,0:23:45.600 +with your not necessarily using a slide + +0:23:43.600,0:23:48.480 +when it's not really needed + +0:23:45.600,0:23:49.200 +and to help give some face-to-face time + +0:23:49.200,0:23:53.520 +with the audience. Unfortunately + +0:23:51.840,0:23:55.200 +your webcam cut out, but I mean + +0:23:53.520,0:23:57.279 +before that.) + +0:23:55.200,0:23:59.679 +Yes, I'll make sure to fix the problems + +0:23:57.279,0:24:02.240 +later on, so don't worry about it. + +0:23:59.679,0:24:03.200 +(Amin: Awesome. Alrighty. I guess we're + +0:24:02.240,0:24:06.400 +wrapping up + +0:24:03.200,0:24:08.000 +for your talk and getting ready for the + +0:24:06.400,0:24:10.000 +next talk.) + +0:24:08.000,0:24:11.760 +Sure. Well, thank you so much. I'll see + +0:24:10.000,0:24:16.799 +you all later, I suppose! + +0:24:11.760,0:24:16.799 +(Amin: Sounds good. Thank you again, Leo. Bye-bye) + |