diff options
Diffstat (limited to '2020/subtitles/emacsconf-2020--06-trivial-emacs-kits--corwin-brust.vtt')
-rw-r--r-- | 2020/subtitles/emacsconf-2020--06-trivial-emacs-kits--corwin-brust.vtt | 792 |
1 files changed, 792 insertions, 0 deletions
diff --git a/2020/subtitles/emacsconf-2020--06-trivial-emacs-kits--corwin-brust.vtt b/2020/subtitles/emacsconf-2020--06-trivial-emacs-kits--corwin-brust.vtt new file mode 100644 index 00000000..588cf43a --- /dev/null +++ b/2020/subtitles/emacsconf-2020--06-trivial-emacs-kits--corwin-brust.vtt @@ -0,0 +1,792 @@ +WEBVTT + +00:00:00.399 --> 00:00:02.683 +My name is Corwin Brust + +00:00:02.683 --> 00:00:08.960 +and I will be talking about getting +started with Emacs today. + +00:00:08.960 --> 00:00:11.448 +I have been an Emacs user for a long +time. + +00:00:11.448 --> 00:00:15.360 +First of all, thanks and a huge welcome +to the conference + +00:00:15.360 --> 00:00:22.400 +from me and and on behalf + +00:00:22.400 --> 00:00:24.368 +and back to the other people + +00:00:24.368 --> 00:00:26.080 +that have been helping to organize. + +00:00:26.080 --> 00:00:30.480 +It's been amazing just to be involved + +00:00:30.480 --> 00:00:36.399 +with that and just, kind of, see +backstage. + +00:00:36.399 --> 00:00:42.281 +So I've used a lot of different editors +in my time. + +00:00:42.281 --> 00:00:52.399 +That's about 25 years as a professional +software engineer. + +00:00:52.399 --> 00:00:54.247 +And most of that time I've been using +Emacs. + +00:00:54.247 --> 00:00:56.160 +I'll talk a little bit in a minute + +00:00:56.160 --> 00:01:00.960 +(if I can ever find my slides) + +00:01:00.960 --> 00:01:04.479 +about how I got into Emacs, + +00:01:04.479 --> 00:01:07.200 +but I think if you've used Emacs and a + +00:01:07.200 --> 00:01:10.240 +lot of other editors for a long time, + +00:01:10.240 --> 00:01:14.410 +something that you notice right away + +00:01:14.410 --> 00:01:18.560 +is that you get good with it in a way +that stays meaningful. + +00:01:18.560 --> 00:01:24.199 +You learn new things. Those things +stick with you. + +00:01:24.199 --> 00:01:33.759 +You learn how to make it do new tricks +and then keep doing those tricks. + +00:01:33.759 --> 00:01:39.439 +I want to mention that this +conference--oops, + +00:01:39.439 --> 00:01:44.829 +this talk isn't about how to adjust + +00:01:44.829 --> 00:01:46.802 +your configuration specifically. + +00:01:46.802 --> 00:01:50.000 +I don't have a bunch of good code +samples in here. + +00:01:50.000 --> 00:01:52.451 +There are other great talks at the +conference, + +00:01:52.451 --> 00:01:56.411 +particularly Andrew's, that I looked at, + +00:01:56.411 --> 00:01:59.920 +that looked like they might be more +aimed at that + +00:01:59.920 --> 00:02:02.240 +"hey, I'm just getting started with Emacs, + +00:02:02.240 --> 00:02:05.280 +what are some things to try to make + +00:02:05.280 --> 00:02:07.017 +it more comfortable for me starting?" + +00:02:07.017 --> 00:02:09.759 +This is about how to think about the +problem space. + +00:02:09.759 --> 00:02:13.337 +Hopefully, a good warm up as we start +thinking about + +00:02:13.337 --> 00:02:17.200 +some of the lightning talks a little +later on. + +00:02:17.200 --> 00:02:19.835 +I'm just gonna quickly make sure + +00:02:19.835 --> 00:02:21.789 +I can see my IRC buffer in case + +00:02:21.789 --> 00:02:25.680 +I run into time. I didn't get my +stopwatch started for this one. + +00:02:25.680 --> 00:02:29.680 +So all right, let's dive in. + +00:02:29.680 --> 00:02:33.840 +We assume that we want to +install packages + +00:02:33.840 --> 00:02:36.281 +and maybe configure some features. + +00:02:36.281 --> 00:02:38.319 +This is particularly from the +perspective of + +00:02:38.319 --> 00:02:39.120 +where we're working + +00:02:39.120 --> 00:02:40.541 +with a bunch of people on a team + +00:02:40.541 --> 00:02:42.160 +and we want to get something done. + +00:02:42.160 --> 00:02:44.800 +Some of us probably already have mature + +00:02:44.800 --> 00:02:46.560 +Emacs workflows. + +00:02:46.560 --> 00:02:53.519 +Others are installing it for the first +time. + +00:02:53.519 --> 00:02:57.889 +So the first question is, you know, in +that context: + +00:02:57.889 --> 00:02:59.784 +what's the value proposition? + +00:02:59.784 --> 00:03:01.532 +Why should I mess with my machine, + +00:03:01.532 --> 00:03:04.219 +my mature Emacs configuration, + +00:03:04.219 --> 00:03:09.815 +and impose my ideas over the way +somebody else is learning Emacs? + +00:03:09.815 --> 00:03:13.840 +Well, it can be.. I'm off my slides here +a little bit. + +00:03:13.840 --> 00:03:16.959 +It can be a little bit tricky + +00:03:16.959 --> 00:03:21.440 +to learn Emacs. One thing that +helps us a lot + +00:03:21.440 --> 00:03:24.720 +is if people that we're working with + +00:03:24.720 --> 00:03:27.301 +can tell us, kinda, keystroke for +keystroke at times, + +00:03:27.301 --> 00:03:30.480 +what to do and explain what everything +is doing. + +00:03:30.480 --> 00:03:35.840 +Using the same packages can really help +us working together on a project. + +00:03:35.840 --> 00:03:40.720 +Speaking from my personal experience, + +00:03:40.720 --> 00:03:42.959 +it took me decades to get to the point + +00:03:42.959 --> 00:03:45.226 +where I was excited to program +in Emacs Lisp. + +00:03:45.226 --> 00:03:47.840 +I've programmed in a lot of programming +languages, + +00:03:47.840 --> 00:03:50.252 +but Lisp wasn't on my list. + +00:03:50.252 --> 00:03:53.680 +I looked at my config that I was +copy-pasting around + +00:03:53.680 --> 00:03:57.279 +from generation after generation of +.emacs file, + +00:03:57.279 --> 00:04:00.799 +or recrafting it from hand and from +Internet searches, + +00:04:00.799 --> 00:04:03.519 +to get the things that I needed when + +00:04:03.519 --> 00:04:05.680 +I would quickly go install Emacs at some + +00:04:05.680 --> 00:04:07.680 +new job or contract, + +00:04:07.680 --> 00:04:14.016 +and be able to to quickly get through +that workflow + +00:04:14.016 --> 00:04:17.440 +that caused me to install the program. + +00:04:17.440 --> 00:04:24.049 +You know, just little simple one-liners +that got committed to memory + +00:04:24.049 --> 00:04:27.675 +over decades eventually just led me to a +sort of "hey what's going on here." + +00:04:27.675 --> 00:04:33.520 +And I credit Jeff Goff, my good friend +who died earlier in 2020, + +00:04:33.520 --> 00:04:37.759 +for my lifelong love of Emacs. + +00:04:37.759 --> 00:04:39.280 +Perhaps Erik and I will talk about that + +00:04:39.280 --> 00:04:42.000 +a little bit more in another talk we +have scheduled, + +00:04:42.000 --> 00:04:44.400 +but Jeff was a huge influence on us + +00:04:44.400 --> 00:04:46.027 +in a number of ways, + +00:04:46.027 --> 00:04:47.732 +and a huge contributor + +00:04:47.732 --> 00:04:54.840 +to the Raku programming language, +which is very cool. + +00:04:54.840 --> 00:05:00.153 +So, understanding how to make +a good decision + +00:05:00.153 --> 00:05:03.680 +about splitting up configuration in a +way to share it across + +00:05:03.680 --> 00:05:06.292 +people with really different uses of +Emacs... + +00:05:06.292 --> 00:05:08.546 +That's actually a complicated topic + +00:05:08.546 --> 00:05:12.639 +and I want to sort of back off and stare +at it for a second. + +00:05:12.639 --> 00:05:18.720 +I think Emacs is about people, so that +means it's about community. + +00:05:18.720 --> 00:05:24.960 +And community means we're going to +invite disagreement. + +00:05:24.960 --> 00:05:32.687 +In fact, that disagreement isn't +necessarily a road-block to our project. + +00:05:32.687 --> 00:05:37.759 +In fact, some of the work that a +community project can invite us to do + +00:05:37.759 --> 00:05:39.505 +is to get closer to each other + +00:05:39.505 --> 00:05:40.840 +by inviting those disagreements, + +00:05:40.840 --> 00:05:42.080 +by learning from them--learning from + +00:05:42.080 --> 00:05:46.880 +different people's styles and from how +they argue, + +00:05:46.880 --> 00:05:50.058 +and thinking about why they have that +perspective + +00:05:50.058 --> 00:05:53.227 +and what technical benefits + +00:05:53.227 --> 00:05:55.800 +that perhaps radical point of view might +carry away. + +00:05:55.800 --> 00:05:58.266 +Some people are really aggressive +arguers, + +00:05:58.266 --> 00:06:01.919 +and others are very passive and really + +00:06:01.919 --> 00:06:05.824 +couch their ideas in distancing terms, +to say, + +00:06:05.824 --> 00:06:07.906 +"well probably, this is a good idea" + +00:06:07.906 --> 00:06:12.479 +or "please double check me." + +00:06:12.479 --> 00:06:15.520 +Those don't always necessarily indicate + +00:06:15.520 --> 00:06:17.497 +how certain a person is, +because we're different. + +00:06:17.497 --> 00:06:19.520 +We have different ways of communicating + +00:06:19.520 --> 00:06:23.380 +ideas like certainty or excitement. + +00:06:24.560 --> 00:06:26.235 +When we think about a bunch of + +00:06:26.235 --> 00:06:30.000 +really diverse programmers +approaching Emacs, + +00:06:30.000 --> 00:06:36.479 +probably one of our first really big +challenges is just + +00:06:36.479 --> 00:06:40.085 +to pick what we're going +to go after. + +00:06:40.085 --> 00:06:49.599 +There are a lot of existing kit installs +and things like this. + +00:06:49.599 --> 00:06:54.400 +My argument is that you could actually +get pretty far + +00:06:54.400 --> 00:06:56.020 +just trading files around. + +00:06:56.020 --> 00:07:03.698 +Maybe the more valuable conversation +to have + +00:07:03.698 --> 00:07:06.080 +is making the hard decisions +about, well, + +00:07:06.080 --> 00:07:08.000 +"should we have vertical completion," + +00:07:08.000 --> 00:07:10.080 +should that be the out of the box, + +00:07:10.080 --> 00:07:11.759 +and the people that want + +00:07:11.759 --> 00:07:17.440 +the traditional splayed out over a +single line completion, + +00:07:17.440 --> 00:07:19.428 +for example in the mode line, + +00:07:19.428 --> 00:07:29.039 +those people are going to add a line of +config to their own setup? + +00:07:29.039 --> 00:07:30.979 +The way to get there? + +00:07:30.979 --> 00:07:33.344 +I mean, how do we find out what works? + +00:07:33.344 --> 00:07:38.587 +We don't want to slow down the people +that are super productive with Emacs + +00:07:38.587 --> 00:07:40.879 +by asking them to completely +break their workflows + +00:07:40.879 --> 00:07:42.560 +and make it easier for new folks. + +00:07:42.560 --> 00:07:48.673 +At the same time, we do want to make +sure those new people + +00:07:48.673 --> 00:07:52.720 +are excited by Emacs and not turned off +by having to learn + +00:07:52.720 --> 00:08:00.363 +the entire jungle of Emacs history in +the form of its unique + +00:08:00.363 --> 00:08:07.610 +technical stylings for things like +frames, buffers, + +00:08:07.610 --> 00:08:11.668 +and other unique Emacs viewpoints + +00:08:11.668 --> 00:08:16.240 +on important interface concepts, +especially. + +00:08:16.240 --> 00:08:19.520 +The encouragement here is to keep + +00:08:19.520 --> 00:08:21.680 +the initialization for a project team + +00:08:21.680 --> 00:08:23.280 +together as a crucible. + +00:08:23.280 --> 00:08:25.117 +Rather than necessarily following + +00:08:25.117 --> 00:08:33.279 +our defaults of finding the simplest +configurations + +00:08:33.279 --> 00:08:37.440 +that generally work and letting people +customize it, + +00:08:37.440 --> 00:08:40.479 +what if we tried to look + +00:08:40.479 --> 00:08:42.346 +for fairly specific configurations + +00:08:42.346 --> 00:08:44.159 +that we'll expect essentially all of our + +00:08:44.159 --> 00:08:46.320 +developers to be using, + +00:08:46.320 --> 00:08:52.839 +at least when they submit bug reports. + +00:08:52.839 --> 00:08:55.920 +In particular, with this, + +00:08:55.920 --> 00:08:59.839 +I think that degree of experimentation + +00:08:59.839 --> 00:09:02.584 +can drive back into the Emacs +development process. + +00:09:02.584 --> 00:09:04.800 +In the development mailing list... + +00:09:04.800 --> 00:09:15.120 +I'm hoping I'll get a timing cue here. + +00:09:15.120 --> 00:09:18.835 +In the context of Emacs development as a +greater entity, + +00:09:18.835 --> 00:09:20.959 +we see some of these struggles. + +00:09:20.959 --> 00:09:22.399 +Should we change this default? + +00:09:22.399 --> 00:09:27.146 +Sometimes we can have the sense that +defaults in Emacs will never change. + +00:09:27.146 --> 00:09:29.279 +The conversation is too difficult. + +00:09:29.279 --> 00:09:32.560 +I think one thing that can help us get +there is evidence + +00:09:32.560 --> 00:09:36.160 +that says, "hey my 30- to 40-person project + +00:09:36.160 --> 00:09:38.560 +is using this set of bindings, + +00:09:38.560 --> 00:09:40.111 +and here's what we learned + +00:09:40.111 --> 00:09:42.240 +about brand new Emacs users +trying to come in + +00:09:42.240 --> 00:09:46.800 +and get work done with that." + +00:09:46.800 --> 00:09:49.360 +(Amin: Yeah you still have + +00:09:49.360 --> 00:09:50.720 +a couple more minutes.) + +00:09:50.720 --> 00:09:51.984 +Oh, beautiful. Okay, great. + +00:09:51.984 --> 00:09:54.720 +I will try to get through my last few +slides that I cut + +00:09:54.720 --> 00:09:56.320 +in my last walkthrough, but I think I'm + +00:09:56.320 --> 00:09:58.320 +going quicker today, thank you. + +00:09:58.320 --> 00:10:02.000 +Thank you. + +00:10:02.000 --> 00:10:05.120 +So let's just recap real quick: + +00:10:05.120 --> 00:10:08.760 +in theory, Emacs works out of the box. + +00:10:08.760 --> 00:10:12.853 +That means we're free to experiment. + +00:10:12.853 --> 00:10:17.120 +We can throw it all away and start over. + +00:10:17.120 --> 00:10:26.000 +As an organizational principle... + +00:10:26.000 --> 00:10:30.079 +I don't know what I was thinking on that +slide, excuse me. + +00:10:30.079 --> 00:10:33.440 +Bringing it back around to the free + +00:10:33.440 --> 00:10:35.680 +and open source software community, + +00:10:35.680 --> 00:10:39.519 +our goal is to enable users + +00:10:39.519 --> 00:10:41.440 +to unlock their computers, to do as much + +00:10:41.440 --> 00:10:43.040 +with them as possible. + +00:10:43.040 --> 00:10:47.680 +That's the context to take with project +initialization, but sometimes + +00:10:47.680 --> 00:10:49.560 +it could make sense + +00:10:50.800 --> 00:10:52.032 +to put some gloves on. + +00:10:52.032 --> 00:10:53.766 +I've thrown up on the screen here + +00:10:53.766 --> 00:10:55.276 +just a couple of other ideas, + +00:10:55.276 --> 00:10:57.920 +ways to maybe think outside of the box. + +00:10:57.920 --> 00:11:01.440 +As you're putting together project nets, + +00:11:01.440 --> 00:11:05.519 +my words of encouragement are to +experiment with it, + +00:11:05.519 --> 00:11:09.941 +try different things, and think really +specifically + +00:11:09.941 --> 00:11:17.010 +about how different the development +users might be from each other + +00:11:17.010 --> 00:11:21.680 +as you define standards for configuring + +00:11:21.680 --> 00:11:23.519 +the user environment of Emacs + +00:11:23.519 --> 00:11:26.552 +specifically for developing on a +project. + +00:11:26.552 --> 00:11:29.120 +That's pretty much my talk. + +00:11:29.120 --> 00:11:32.959 +If there's any time, I would take a +couple questions. + +00:11:32.959 --> 00:11:36.480 +(Amin: Thank you for your +awesome talk, Corwin. + +00:11:36.480 --> 00:11:49.519 +I think we have one or two minutes for a +few questions. + +00:11:49.519 --> 00:11:52.000 +Do you have the pad open or would you + +00:11:52.000 --> 00:11:53.839 +like me to read the questions for you?) + +00:11:53.839 --> 00:11:58.000 +Corwin: Oh, I managed to close the pad + +00:11:58.000 --> 00:12:00.352 +and I am trying to open it again. + +00:12:00.352 --> 00:12:03.519 +All right, there it opened. + +00:12:03.519 --> 00:12:05.500 +Bringing it onto a screen where I can +see it. + +00:12:05.500 --> 00:12:09.360 +Will you read me the first question +while I drag windows around, please? + +00:12:09.360 --> 00:12:15.600 +(Amin: Sure. It says, "do you use Emacs +as a community building tool?") + +00:12:15.600 --> 00:12:19.760 +Do I use Emacs as a community building +tool, or how do I? + +00:12:19.760 --> 00:12:23.519 +(Amin: It just says do you.) Yes, absolutely. + +00:12:23.519 --> 00:12:29.920 +I think Emacs is an ambassador to the +GNU tool chain. + +00:12:29.920 --> 00:12:33.027 +I think that in the fullness of time, + +00:12:33.027 --> 00:12:36.558 +we will see an Emacs + +00:12:36.558 --> 00:12:43.760 +that makes iOS and Android and other +closed-source tools dream. + +00:12:43.760 --> 00:12:46.689 +That's why they mock us and call Emacs + +00:12:46.689 --> 00:12:49.200 +an operating system. It's because + +00:12:49.200 --> 00:12:51.440 +it could be, if we cared for it to be. + +00:12:51.440 --> 00:12:55.680 +It's quite a threatening product + +00:12:55.680 --> 00:12:57.440 +from the perspective of how many problem + +00:12:57.440 --> 00:12:58.540 +spaces it can address, + +00:12:58.540 --> 00:13:01.519 +how many types of users it can satisfy, + +00:13:01.519 --> 00:13:04.399 +the things that we can do to make + +00:13:04.399 --> 00:13:06.456 +it robust in those environments. + +00:13:06.456 --> 00:13:09.524 +I mean, we're always thinking about the +weak points, + +00:13:09.524 --> 00:13:14.639 +but is Emacs a community building tool? +Heck yeah. + +00:13:14.639 --> 00:13:18.480 +(Amin: There's like one or two more +questions. + +00:13:18.480 --> 00:13:22.480 +I think they're more long-form so it +might be better + +00:13:22.480 --> 00:13:26.880 +if you took them off stream so you could +keep the schedule on time.) + +00:13:26.880 --> 00:13:29.463 +I would love to take those questions +offline. + +00:13:29.463 --> 00:13:30.908 +I will respond to you + +00:13:30.908 --> 00:13:32.237 +in writing if we don't get to it + +00:13:32.237 --> 00:13:33.360 +in a breakout room. + +00:13:33.360 --> 00:13:35.451 +Thanks so much for joining us. + +00:13:35.451 --> 00:13:36.639 +I can't wait to see the rest of the + +00:13:36.639 --> 00:13:38.000 +conference. See you there! + +00:13:38.000 --> 00:13:42.800 +(Amin: Awesome. Thank you again so much, Corwin.) |