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