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)