From 326c4504d14a2c9e9f47cab5e04e966f84d210ea Mon Sep 17 00:00:00 2001 From: Sacha Chua Date: Thu, 28 Jan 2021 00:06:31 -0500 Subject: Tweak 06 --- 2020/info/06.md | 413 ++++---- ...f-2020--06-trivial-emacs-kits--corwin-brust.vtt | 1033 ++++++++------------ 2 files changed, 645 insertions(+), 801 deletions(-) (limited to '2020') diff --git a/2020/info/06.md b/2020/info/06.md index b9cc0a27..98be1573 100644 --- a/2020/info/06.md +++ b/2020/info/06.md @@ -1,16 +1,15 @@ # Trivial Emacs Kits Corwin Brust -[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--06-trivial-emacs-kits--corwin-brust.webm" size="114M" duration="13:41" subtitles="/2020/subtitles/emacsconf-2020--06-trivial-emacs-kits--corwin-brust.vtt"]] -[Download compressed .webm video (12M)](https://mirror.csclub.uwaterloo.ca/emacsconf/2020/smaller/emacsconf-2020--06-trivial-emacs-kits--corwin-brust--vp9-q56-video-original-audio.webm) +[[!template id=vid vidid="mainVideo" src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--06-trivial-emacs-kits--corwin-brust.webm" size="114M" duration="13:41" subtitles="/2020/subtitles/emacsconf-2020--06-trivial-emacs-kits--corwin-brust.vtt"]] +[Download compressed .webm video (12M)](https://mirror.csclub.uwaterloo.ca/emacsconf/2020/smaller/emacsconf-2020--06-trivial-emacs-kits--corwin-brust--vp9-q56-video-original-audio.webm) +[View transcript](#transcript) Techniques to help new users bootstrap a more gentle introduction to Emacs, one (short) init.el file at a time. [[!inline pages="internal(2020/info/dm-notes)" raw="yes"]] -[[!inline pages="internal(2020/info/06-transcription)" raw="yes"]] - - Actual start and end time (EST): Start: 2020-11-28T10.45.48; Q&A @@ -56,184 +55,240 @@ important problem space in free software, FWIW. # Transcript -Following is a somewhat hasty self-transcription of my talk. Please -don't hesitate to [mailto:corwin@bru.st](ask for clarification) or to -add any clarifications you feel helpful back into the EmacsConf wiki. - There is a visual gimmick underlaying the initial remarks. We are looking at the first (first-slide ("Welcome") showing how the org markdown looks on other editors, including cygwin emacs, Notepad++, Sublime, VS Code, and cygwin vim. As each is closed we see the next, until we reveal GUI Emacs running org-mode in a full-both frame. -My name is Corwin Brust and I will be talking about getting started -with Emacs Today. I have been an Emacs user for a long time- - -First of all thanks and a huge welcome to the conference..(_15s_) - -On behalf of and back to the other organizers. It has been cool to -have a peek backstage. - -So. I've used a lot of different editors in my time. That's about 25 -years as a professional software engineer. And most of that -time I've been using Emacs. (~54s_) - -I'll talk a little bit in a minute (if I can ever find my slides) -about how I got into Emacs, but if you've used Emacs and a lot of -other editors for a long time, something that you notice right away is -that you get good with it in a way that stays meaningful. You learn -new things, those things stick with you. You learn how to- how to -make it do new tricks and then keep doing those tricks. (~1m26s_) - -I want to mention this conference isn't about (whoops: "this talk") -how to adjust your configuration specifically. I don't have a bunch -of good code samples in here. There are a bunch of other great talks, -especially Andrew's that I think may be aimed more at that "hey, I'm -just getting started with Emacs what are some things to try to make it -more comfortable for me starting?" [subject/audience? cezb]. (~2m07s_) - -This is about how to think about the problem space more. (_2m10s_) - -Hopefully a good way to warm up as we start thinking about some of the -lightning talks later on. (I'm going to bring up my IRC buffer -[offscreen] in case I run into time- I didn't get my stopwatch started -for this one.) (_2m25s_) - -So, alright: let's dive in. (_2m30s_) - -We assume that we want to install packages, and maybe configure some -features. This is particularly from the perspective of where we're -working with a bunch of others on a team and we want to get something -done. (_2m42s_) - -Some of us probably have mature Emacs workflows, others may be -installing it for the first time. (_2m50s_) - -So the first questions is, you know- in that context: what's the value -proposition? Why should I mess with my machine, my mature Emacs -configuration, impose my way of thinking and ideas over the way -somebody else is learning Emacs? (_3m09m_) - -It can be [laugh] I'm off my slides here a little bit.. (_3m13s_) - -It can be a little tricky to learn Emacs. One thing that helps us a -lot is if people that we are working with can tell us, kinda, -keystroke-for-keystroke at times what to do and explain what -everything is doing. (_3m30s_) - -And using the same packages as others can really help us working -together on a project. (_3m36s_) - -Speaking from my personal experience, it took me decades to get to the -point where I was excited to program in Emacs Lisp. (_3m26s_) - -I've programed in a lot of programming languages, but Lisp wasn't on -my list. I looked at my config, that I was copy-pasting around from -generation after generation of .emacs file or re-crafting it by hand -and from Internet searches, to get things that I needed when I would -quickly go install Emacs to start some new job or contract, and -quickly get though that work-flow that caused me to go install the -program. (_4m15s_) - -You know, just simple little one-liners that got committed to memory -over decades eventually just lead [me] to a sort of "hey, what's going -on here". (_4m27s_) - -And I credit my good friend Jeff Goff who died earlier in 2020 for my -lifelong love of Emacs. Perhaps Erik and I will talk a little more -about that at another talk we have scheduled but Jeff was a huge -influence on us in a number of ways and a huge contributer to the Raku -programming language which is very cool. (_4m52s_) - -So, understanding how to make a good decision about splitting up -configuration in a way to share it with people with really different -uses of Emacs. That's actually a complicated topic, and I want to off -and stare at it for a second: (_5m11s_) - -I think Emacs is about people, so that means it is about community. -And community means we're going to invite disagreement. In fact that -disagreement isn't necessarily a road-block to our project, in fact -that some of the work our project can invite us to do is to get closer -to each other by inviting those disagreements, by learning from people -of different styles, and from how they argue, and thinking about why -they have that perspective and what technical benefits that perhaps -radical point of view might carry away. Some people are really -aggressive arguers others are very passive and really couch their -ideas in distancing terms, "well probably this is a good idea" or -"please double check me". Those don't always indicate how certain a -person is. Because we're different. We have different ways of -communicating ideas such as certainty or excitement. (_6m23s_) - -When we thinking about a bunch of really diverse programmers -approaching Emacs probably one of our first really big challenges is -just to pick what we're going to go after. There are a number of -existing kit installs and things like this. My argument is that you -can get pretty far just trading files around. And maybe the more -value conversation to have is making the hard decisions, e.g. "should -we have vertical completion", should that be out of the box and those -that want the traditional splayed-out over a sing line such as the -mode line will have to add a line to their configuration. (_7m26s) - -The way to get there? - -How do we find out what works? - -We don't want to slow down the people who are super productive with -Emacs, and ask them to completely break their workflows to make it -easier for new folks, at the same time we do want to make sure those -new people. (_7m42s_) - -At the same time, we do want to make sure those new people arre -excited by Emacs and not turned off by having to learn the entire -jungle of Emacs history in the form of it's unique technical stylings -in terms of frames, buffers, and other unique Emacs viewpoints on -interface concepts, especially. (_8m15s_) - -The encouragement here is to keep using the project team as a -crucible. Rather than following the defaults of, um, finding the -simplest customizations that generally work, what if we tried to look -for fairly specific configuration that we'll expect basically all of -our developers to be using, at least when the submit bug -reports. (_8m48s_) - -In particular with this, I think that degree of experimentation can -drive back into the Emacs development process. In the development -mailing list.. [] In the context of Emacs development as a greater -entity, we see this struggle. We have the sense that some things can -"never" be change. I think one thing that can help us get there is -evidence that says "hey, my 30-40 person team is using this set of -bindings and here is what we learned about new Emacs users coming in -and trying that". (10m) - -So let's just recap real quick: in theory Emacs works out of the -box. That means we are free to throw it all away and start over. -[trouble with slides, again] - -Our goal is to enable users- to unlock our computers, to do as much -with them as possible. My work of encouragement is experiment with it. -And think really specifically about how the development users may be -different from each other, as you are configuring the development -environment of emacs for developing on a project. - -That's my talk, etc, answer any questions.(_12m09s_) - -Do you use Emacs as a Community Building Tool? (_13m15s_) - -Do /i/ use Emacs a community building tool? Or *how* do I use Emacs as a -community building tool. [amin: "it doesn't say"] - -Yes, absolutely. I think Emacs is an ambassador to the gnu -tool-chain. in the fullness of time we will see an Emacs that will -make others, Android and iOS, dream. That's why that mock us and say -that Emacs is an operating system. It's because it could be, if cared -for it to be. It's quite a threatening product in terms of the number -of problem spaces it can address, how many types of users it can -satisfy. (_13m01s_) - -And the things that we can do to make it robust in those environments. -We're always thinking about the weak points but is Emacs a community -building tool? Heck yeah. (_13m13s_) - -[we agree that I'll write my answers to the remaining questions, I say -thanks more, and we're done. ps, I'll get to your question or -comments I can find a response to within the next week, I expect] +[[!template new="1" text="My name is Corwin Brust" start="00:00:00.399" video="mainVideo" id=subtitle]] +[[!template text="and I will be talking about getting started with Emacs today." start="00:00:02.683" video="mainVideo" id=subtitle]] +[[!template text="I have been an Emacs user for a long time." start="00:00:08.960" video="mainVideo" id=subtitle]] +[[!template new="1" text="First of all, thanks and a huge welcome to the conference" start="00:00:11.448" video="mainVideo" id=subtitle]] +[[!template text="from me and and on behalf" start="00:00:15.360" video="mainVideo" id=subtitle]] +[[!template text="and back to the other people" start="00:00:22.400" video="mainVideo" id=subtitle]] +[[!template text="that have been helping to organize." start="00:00:24.368" video="mainVideo" id=subtitle]] +[[!template text="It's been amazing just to be involved" start="00:00:26.080" video="mainVideo" id=subtitle]] +[[!template text="with that and just, kind of, see backstage." start="00:00:30.480" video="mainVideo" id=subtitle]] +[[!template new="1" text="I've used a lot of different editors in my time." start="00:00:36.399" video="mainVideo" id=subtitle]] +[[!template text="That's about 25 years as a professional software engineer." start="00:00:42.281" video="mainVideo" id=subtitle]] +[[!template text="And most of that time I've been using Emacs." start="00:00:52.399" video="mainVideo" id=subtitle]] +[[!template new="1" text="I'll talk a little bit in a minute" start="00:00:54.247" video="mainVideo" id=subtitle]] +[[!template text="(if I can ever find my slides)" start="00:00:56.160" video="mainVideo" id=subtitle]] +[[!template text="about how I got into Emacs," start="00:01:00.960" video="mainVideo" id=subtitle]] +[[!template text="but I think if you've used Emacs and a" start="00:01:04.479" video="mainVideo" id=subtitle]] +[[!template text="lot of other editors for a long time," start="00:01:07.200" video="mainVideo" id=subtitle]] +[[!template text="something that you notice right away" start="00:01:10.240" video="mainVideo" id=subtitle]] +[[!template text="is that you get good with it in a way that stays meaningful." start="00:01:14.410" video="mainVideo" id=subtitle]] +[[!template text="You learn new things. Those things stick with you." start="00:01:18.560" video="mainVideo" id=subtitle]] +[[!template text="You learn how to make it do new tricks and then keep doing those tricks." start="00:01:24.199" video="mainVideo" id=subtitle]] +[[!template new="1" text="I want to mention that this conference--oops," start="00:01:33.759" video="mainVideo" id=subtitle]] +[[!template text="this talk isn't about how to adjust" start="00:01:39.439" video="mainVideo" id=subtitle]] +[[!template text="your configuration specifically." start="00:01:44.829" video="mainVideo" id=subtitle]] +[[!template text="I don't have a bunch of good code samples in here." start="00:01:46.802" video="mainVideo" id=subtitle]] +[[!template text="There are other great talks at the conference," start="00:01:50.000" video="mainVideo" id=subtitle]] +[[!template text="particularly Andrew's, that I looked at," start="00:01:52.451" video="mainVideo" id=subtitle]] +[[!template text="that looked like they might be more aimed at that" start="00:01:56.411" video="mainVideo" id=subtitle]] +[[!template text=""hey, I'm just getting started with Emacs," start="00:01:59.920" video="mainVideo" id=subtitle]] +[[!template text="what are some things to try to make" start="00:02:02.240" video="mainVideo" id=subtitle]] +[[!template text="it more comfortable for me starting?"" start="00:02:05.280" video="mainVideo" id=subtitle]] +[[!template new="1" text="This is about how to think about the problem space." start="00:02:07.017" video="mainVideo" id=subtitle]] +[[!template new="1" text="Hopefully, a good warm up as we start thinking about" start="00:02:09.759" video="mainVideo" id=subtitle]] +[[!template text="some of the lightning talks a little later on." start="00:02:13.337" video="mainVideo" id=subtitle]] +[[!template text="I'm just gonna quickly make sure" start="00:02:17.200" video="mainVideo" id=subtitle]] +[[!template text="I can see my IRC buffer in case" start="00:02:19.835" video="mainVideo" id=subtitle]] +[[!template text="I run into time. I didn't get my stopwatch started for this one." start="00:02:21.789" video="mainVideo" id=subtitle]] +[[!template new="1" text="So all right, let's dive in." start="00:02:25.680" video="mainVideo" id=subtitle]] +[[!template new="1" text="We assume that we want to install packages" start="00:02:29.680" video="mainVideo" id=subtitle]] +[[!template text="and maybe configure some features." start="00:02:33.840" video="mainVideo" id=subtitle]] +[[!template text="This is particularly from the perspective of" start="00:02:36.281" video="mainVideo" id=subtitle]] +[[!template text="where we're working" start="00:02:38.319" video="mainVideo" id=subtitle]] +[[!template text="with a bunch of people on a team" start="00:02:39.120" video="mainVideo" id=subtitle]] +[[!template text="and we want to get something done." start="00:02:40.541" video="mainVideo" id=subtitle]] +[[!template new="1" text="Some of us probably already have mature" start="00:02:42.160" video="mainVideo" id=subtitle]] +[[!template text="Emacs workflows." start="00:02:44.800" video="mainVideo" id=subtitle]] +[[!template text="Others are installing it for the first time." start="00:02:46.560" video="mainVideo" id=subtitle]] +[[!template new="1" text="So the first question is, you know, in that context:" start="00:02:53.519" video="mainVideo" id=subtitle]] +[[!template text="what's the value proposition?" start="00:02:57.889" video="mainVideo" id=subtitle]] +[[!template text="Why should I mess with my machine," start="00:02:59.784" video="mainVideo" id=subtitle]] +[[!template text="my mature Emacs configuration," start="00:03:01.532" video="mainVideo" id=subtitle]] +[[!template text="and impose my ideas over the way somebody else is learning Emacs?" start="00:03:04.219" video="mainVideo" id=subtitle]] +[[!template new="1" text="Well, it can be.. I'm off my slides here a little bit." start="00:03:09.815" video="mainVideo" id=subtitle]] +[[!template new="1" text="It can be a little bit tricky" start="00:03:13.840" video="mainVideo" id=subtitle]] +[[!template text="to learn Emacs. One thing that helps us a lot" start="00:03:16.959" video="mainVideo" id=subtitle]] +[[!template text="is if people that we're working with" start="00:03:21.440" video="mainVideo" id=subtitle]] +[[!template text="can tell us, kinda, keystroke for keystroke at times," start="00:03:24.720" video="mainVideo" id=subtitle]] +[[!template text="what to do and explain what everything is doing." start="00:03:27.301" video="mainVideo" id=subtitle]] +[[!template new="1" text="Using the same packages can really help us working together on a project." start="00:03:30.480" video="mainVideo" id=subtitle]] +[[!template new="1" text="Speaking from my personal experience," start="00:03:35.840" video="mainVideo" id=subtitle]] +[[!template text="it took me decades to get to the point" start="00:03:40.720" video="mainVideo" id=subtitle]] +[[!template text="where I was excited to program in Emacs Lisp." start="00:03:42.959" video="mainVideo" id=subtitle]] +[[!template new="1" text="I've programmed in a lot of programming languages," start="00:03:45.226" video="mainVideo" id=subtitle]] +[[!template text="but Lisp wasn't on my list." start="00:03:47.840" video="mainVideo" id=subtitle]] +[[!template text="I looked at my config that I was copy-pasting around" start="00:03:50.252" video="mainVideo" id=subtitle]] +[[!template text="from generation after generation of .emacs file," start="00:03:53.680" video="mainVideo" id=subtitle]] +[[!template text="or recrafting it from hand and from Internet searches," start="00:03:57.279" video="mainVideo" id=subtitle]] +[[!template text="to get the things that I needed when" start="00:04:00.799" video="mainVideo" id=subtitle]] +[[!template text="I would quickly go install Emacs at some" start="00:04:03.519" video="mainVideo" id=subtitle]] +[[!template text="new job or contract," start="00:04:05.680" video="mainVideo" id=subtitle]] +[[!template text="and be able to to quickly get through that workflow" start="00:04:07.680" video="mainVideo" id=subtitle]] +[[!template text="that caused me to install the program." start="00:04:14.016" video="mainVideo" id=subtitle]] +[[!template new="1" text="You know, just little simple one-liners that got committed to memory" start="00:04:17.440" video="mainVideo" id=subtitle]] +[[!template text="over decades eventually just led me to a sort of "hey what's going on here."" start="00:04:24.049" video="mainVideo" id=subtitle]] +[[!template new="1" text="And I credit Jeff Goff, my good friend who died earlier in 2020," start="00:04:27.675" video="mainVideo" id=subtitle]] +[[!template text="for my lifelong love of Emacs." start="00:04:33.520" video="mainVideo" id=subtitle]] +[[!template text="Perhaps Erik and I will talk about that" start="00:04:37.759" video="mainVideo" id=subtitle]] +[[!template text="a little bit more in another talk we have scheduled," start="00:04:39.280" video="mainVideo" id=subtitle]] +[[!template text="but Jeff was a huge influence on us" start="00:04:42.000" video="mainVideo" id=subtitle]] +[[!template text="in a number of ways," start="00:04:44.400" video="mainVideo" id=subtitle]] +[[!template text="and a huge contributor" start="00:04:46.027" video="mainVideo" id=subtitle]] +[[!template text="to the Raku programming language, which is very cool." start="00:04:47.732" video="mainVideo" id=subtitle]] +[[!template new="1" text="So, understanding how to make a good decision" start="00:04:54.840" video="mainVideo" id=subtitle]] +[[!template text="about splitting up configuration in a way to share it across" start="00:05:00.153" video="mainVideo" id=subtitle]] +[[!template text="people with really different uses of Emacs..." start="00:05:03.680" video="mainVideo" id=subtitle]] +[[!template text="That's actually a complicated topic" start="00:05:06.292" video="mainVideo" id=subtitle]] +[[!template text="and I want to sort of back off and stare at it for a second." start="00:05:08.546" video="mainVideo" id=subtitle]] +[[!template new="1" text="I think Emacs is about people, so that means it's about community." start="00:05:12.639" video="mainVideo" id=subtitle]] +[[!template text="And community means we're going to invite disagreement." start="00:05:18.720" video="mainVideo" id=subtitle]] +[[!template text="In fact, that disagreement isn't necessarily a road-block to our project." start="00:05:24.960" video="mainVideo" id=subtitle]] +[[!template text="In fact, some of the work that a community project can invite us to do" start="00:05:32.687" video="mainVideo" id=subtitle]] +[[!template text="is to get closer to each other" start="00:05:37.759" video="mainVideo" id=subtitle]] +[[!template text="by inviting those disagreements," start="00:05:39.505" video="mainVideo" id=subtitle]] +[[!template text="by learning from them--learning from" start="00:05:40.840" video="mainVideo" id=subtitle]] +[[!template text="different people's styles and from how they argue," start="00:05:42.080" video="mainVideo" id=subtitle]] +[[!template text="and thinking about why they have that perspective" start="00:05:46.880" video="mainVideo" id=subtitle]] +[[!template text="and what technical benefits" start="00:05:50.058" video="mainVideo" id=subtitle]] +[[!template text="that perhaps radical point of view might carry away." start="00:05:53.227" video="mainVideo" id=subtitle]] +[[!template text="Some people are really aggressive arguers," start="00:05:55.800" video="mainVideo" id=subtitle]] +[[!template text="and others are very passive and really" start="00:05:58.266" video="mainVideo" id=subtitle]] +[[!template text="couch their ideas in distancing terms, to say," start="00:06:01.919" video="mainVideo" id=subtitle]] +[[!template text=""well probably, this is a good idea"" start="00:06:05.824" video="mainVideo" id=subtitle]] +[[!template text="or "please double check me."" start="00:06:07.906" video="mainVideo" id=subtitle]] +[[!template text="Those don't always necessarily indicate" start="00:06:12.479" video="mainVideo" id=subtitle]] +[[!template text="how certain a person is, because we're different." start="00:06:15.520" video="mainVideo" id=subtitle]] +[[!template text="We have different ways of communicating" start="00:06:17.497" video="mainVideo" id=subtitle]] +[[!template text="ideas like certainty or excitement." start="00:06:19.520" video="mainVideo" id=subtitle]] +[[!template new="1" text="When we think about a bunch of" start="00:06:24.560" video="mainVideo" id=subtitle]] +[[!template text="really diverse programmers approaching Emacs," start="00:06:26.235" video="mainVideo" id=subtitle]] +[[!template text="probably one of our first really big challenges is just" start="00:06:30.000" video="mainVideo" id=subtitle]] +[[!template text="to pick what we're going to go after." start="00:06:36.479" video="mainVideo" id=subtitle]] +[[!template text="There are a lot of existing kit installs and things like this." start="00:06:40.085" video="mainVideo" id=subtitle]] +[[!template text="My argument is that you could actually get pretty far" start="00:06:49.599" video="mainVideo" id=subtitle]] +[[!template text="just trading files around." start="00:06:54.400" video="mainVideo" id=subtitle]] +[[!template text="Maybe the more valuable conversation to have" start="00:06:56.020" video="mainVideo" id=subtitle]] +[[!template text="is making the hard decisions about, well," start="00:07:03.698" video="mainVideo" id=subtitle]] +[[!template text=""should we have vertical completion,"" start="00:07:06.080" video="mainVideo" id=subtitle]] +[[!template text="should that be the out of the box," start="00:07:08.000" video="mainVideo" id=subtitle]] +[[!template text="and the people that want" start="00:07:10.080" video="mainVideo" id=subtitle]] +[[!template text="the traditional splayed out over a single line completion," start="00:07:11.759" video="mainVideo" id=subtitle]] +[[!template text="for example in the mode line," start="00:07:17.440" video="mainVideo" id=subtitle]] +[[!template text="those people are going to add a line of config to their own setup?" start="00:07:19.428" video="mainVideo" id=subtitle]] +[[!template new="1" text="The way to get there?" start="00:07:29.039" video="mainVideo" id=subtitle]] +[[!template text="I mean, how do we find out what works?" start="00:07:30.979" video="mainVideo" id=subtitle]] +[[!template new="1" text="We don't want to slow down the people that are super productive with Emacs" start="00:07:33.344" video="mainVideo" id=subtitle]] +[[!template text="by asking them to completely break their workflows" start="00:07:38.587" video="mainVideo" id=subtitle]] +[[!template text="and make it easier for new folks." start="00:07:40.879" video="mainVideo" id=subtitle]] +[[!template new="1" text="At the same time, we do want to make sure those new people" start="00:07:42.560" video="mainVideo" id=subtitle]] +[[!template text="are excited by Emacs and not turned off by having to learn" start="00:07:48.673" video="mainVideo" id=subtitle]] +[[!template text="the entire jungle of Emacs history in the form of its unique" start="00:07:52.720" video="mainVideo" id=subtitle]] +[[!template text="technical stylings for things like frames, buffers," start="00:08:00.363" video="mainVideo" id=subtitle]] +[[!template text="and other unique Emacs viewpoints" start="00:08:07.610" video="mainVideo" id=subtitle]] +[[!template text="on important interface concepts, especially." start="00:08:11.668" video="mainVideo" id=subtitle]] +[[!template new="1" text="The encouragement here is to keep" start="00:08:16.240" video="mainVideo" id=subtitle]] +[[!template text="the initialization for a project team" start="00:08:19.520" video="mainVideo" id=subtitle]] +[[!template text="together as a crucible." start="00:08:21.680" video="mainVideo" id=subtitle]] +[[!template text="Rather than necessarily following" start="00:08:23.280" video="mainVideo" id=subtitle]] +[[!template text="our defaults of finding the simplest configurations" start="00:08:25.117" video="mainVideo" id=subtitle]] +[[!template text="that generally work and letting people customize it," start="00:08:33.279" video="mainVideo" id=subtitle]] +[[!template text="what if we tried to look" start="00:08:37.440" video="mainVideo" id=subtitle]] +[[!template text="for fairly specific configurations" start="00:08:40.479" video="mainVideo" id=subtitle]] +[[!template text="that we'll expect essentially all of our" start="00:08:42.346" video="mainVideo" id=subtitle]] +[[!template text="developers to be using," start="00:08:44.159" video="mainVideo" id=subtitle]] +[[!template text="at least when they submit bug reports." start="00:08:46.320" video="mainVideo" id=subtitle]] +[[!template new="1" text="In particular, with this," start="00:08:52.839" video="mainVideo" id=subtitle]] +[[!template text="I think that degree of experimentation" start="00:08:55.920" video="mainVideo" id=subtitle]] +[[!template text="can drive back into the Emacs development process." start="00:08:59.839" video="mainVideo" id=subtitle]] +[[!template text="In the development mailing list..." start="00:09:02.584" video="mainVideo" id=subtitle]] +[[!template text="I'm hoping I'll get a timing cue here." start="00:09:04.800" video="mainVideo" id=subtitle]] +[[!template text="In the context of Emacs development as a greater entity," start="00:09:15.120" video="mainVideo" id=subtitle]] +[[!template text="we see some of these struggles." start="00:09:18.835" video="mainVideo" id=subtitle]] +[[!template text="Should we change this default?" start="00:09:20.959" video="mainVideo" id=subtitle]] +[[!template text="Sometimes we can have the sense that defaults in Emacs will never change." start="00:09:22.399" video="mainVideo" id=subtitle]] +[[!template text="The conversation is too difficult." start="00:09:27.146" video="mainVideo" id=subtitle]] +[[!template text="I think one thing that can help us get there is evidence" start="00:09:29.279" video="mainVideo" id=subtitle]] +[[!template text="that says, "hey my 30- to 40-person project" start="00:09:32.560" video="mainVideo" id=subtitle]] +[[!template text="is using this set of bindings," start="00:09:36.160" video="mainVideo" id=subtitle]] +[[!template text="and here's what we learned" start="00:09:38.560" video="mainVideo" id=subtitle]] +[[!template text="about brand new Emacs users trying to come in" start="00:09:40.111" video="mainVideo" id=subtitle]] +[[!template text="and get work done with that."" start="00:09:42.240" video="mainVideo" id=subtitle]] +[[!template text="(Amin: Yeah you still have" start="00:09:46.800" video="mainVideo" id=subtitle]] +[[!template text="a couple more minutes.)" start="00:09:49.360" video="mainVideo" id=subtitle]] +[[!template text="Oh, beautiful. Okay, great." start="00:09:50.720" video="mainVideo" id=subtitle]] +[[!template text="I will try to get through my last few slides that I cut" start="00:09:51.984" video="mainVideo" id=subtitle]] +[[!template text="in my last walkthrough, but I think I'm" start="00:09:54.720" video="mainVideo" id=subtitle]] +[[!template text="going quicker today, thank you." start="00:09:56.320" video="mainVideo" id=subtitle]] +[[!template text="Thank you." start="00:09:58.320" video="mainVideo" id=subtitle]] +[[!template new="1" text="So let's just recap real quick:" start="00:10:02.000" video="mainVideo" id=subtitle]] +[[!template text="in theory, Emacs works out of the box." start="00:10:05.120" video="mainVideo" id=subtitle]] +[[!template text="That means we're free to experiment." start="00:10:08.760" video="mainVideo" id=subtitle]] +[[!template text="We can throw it all away and start over." start="00:10:12.853" video="mainVideo" id=subtitle]] +[[!template text="As an organizational principle..." start="00:10:17.120" video="mainVideo" id=subtitle]] +[[!template text="I don't know what I was thinking on that slide, excuse me." start="00:10:26.000" video="mainVideo" id=subtitle]] +[[!template new="1" text="Bringing it back around to the free" start="00:10:30.079" video="mainVideo" id=subtitle]] +[[!template text="and open source software community," start="00:10:33.440" video="mainVideo" id=subtitle]] +[[!template text="our goal is to enable users" start="00:10:35.680" video="mainVideo" id=subtitle]] +[[!template text="to unlock their computers, to do as much" start="00:10:39.519" video="mainVideo" id=subtitle]] +[[!template text="with them as possible." start="00:10:41.440" video="mainVideo" id=subtitle]] +[[!template text="That's the context to take with project initialization, but sometimes" start="00:10:43.040" video="mainVideo" id=subtitle]] +[[!template text="it could make sense" start="00:10:47.680" video="mainVideo" id=subtitle]] +[[!template text="to put some gloves on." start="00:10:50.800" video="mainVideo" id=subtitle]] +[[!template text="I've thrown up on the screen here" start="00:10:52.032" video="mainVideo" id=subtitle]] +[[!template text="just a couple of other ideas," start="00:10:53.766" video="mainVideo" id=subtitle]] +[[!template text="ways to maybe think outside of the box." start="00:10:55.276" video="mainVideo" id=subtitle]] +[[!template text="As you're putting together project nets," start="00:10:57.920" video="mainVideo" id=subtitle]] +[[!template text="my words of encouragement are to experiment with it," start="00:11:01.440" video="mainVideo" id=subtitle]] +[[!template text="try different things, and think really specifically" start="00:11:05.519" video="mainVideo" id=subtitle]] +[[!template text="about how different the development users might be from each other" start="00:11:09.941" video="mainVideo" id=subtitle]] +[[!template text="as you define standards for configuring" start="00:11:17.010" video="mainVideo" id=subtitle]] +[[!template text="the user environment of Emacs" start="00:11:21.680" video="mainVideo" id=subtitle]] +[[!template text="specifically for developing on a project." start="00:11:23.519" video="mainVideo" id=subtitle]] +[[!template new="1" text="That's pretty much my talk." start="00:11:26.552" video="mainVideo" id=subtitle]] +[[!template text="If there's any time, I would take a couple questions." start="00:11:29.120" video="mainVideo" id=subtitle]] +[[!template text="(Amin: Thank you for your awesome talk, Corwin." start="00:11:32.959" video="mainVideo" id=subtitle]] +[[!template text="I think we have one or two minutes for a few questions." start="00:11:36.480" video="mainVideo" id=subtitle]] +[[!template text="Do you have the pad open or would you" start="00:11:49.519" video="mainVideo" id=subtitle]] +[[!template text="like me to read the questions for you?)" start="00:11:52.000" video="mainVideo" id=subtitle]] +[[!template text="Corwin: Oh, I managed to close the pad" start="00:11:53.839" video="mainVideo" id=subtitle]] +[[!template text="and I am trying to open it again." start="00:11:58.000" video="mainVideo" id=subtitle]] +[[!template text="All right, there it opened." start="00:12:00.352" video="mainVideo" id=subtitle]] +[[!template text="Bringing it onto a screen where I can see it." start="00:12:03.519" video="mainVideo" id=subtitle]] +[[!template text="Will you read me the first question while I drag windows around, please?" start="00:12:05.500" video="mainVideo" id=subtitle]] +[[!template new="1" text="(Amin: Sure. It says, "do you use Emacs as a community building tool?")" start="00:12:09.360" video="mainVideo" id=subtitle]] +[[!template text="Do I use Emacs as a community building tool, or how do I?" start="00:12:15.600" video="mainVideo" id=subtitle]] +[[!template text="(Amin: It just says do you.) Yes, absolutely." start="00:12:19.760" video="mainVideo" id=subtitle]] +[[!template text="I think Emacs is an ambassador to the GNU tool chain." start="00:12:23.519" video="mainVideo" id=subtitle]] +[[!template text="I think that in the fullness of time," start="00:12:29.920" video="mainVideo" id=subtitle]] +[[!template text="we will see an Emacs" start="00:12:33.027" video="mainVideo" id=subtitle]] +[[!template text="that makes iOS and Android and other closed-source tools dream." start="00:12:36.558" video="mainVideo" id=subtitle]] +[[!template text="That's why they mock us and call Emacs" start="00:12:43.760" video="mainVideo" id=subtitle]] +[[!template text="an operating system. It's because" start="00:12:46.689" video="mainVideo" id=subtitle]] +[[!template text="it could be, if we cared for it to be." start="00:12:49.200" video="mainVideo" id=subtitle]] +[[!template text="It's quite a threatening product" start="00:12:51.440" video="mainVideo" id=subtitle]] +[[!template text="from the perspective of how many problem" start="00:12:55.680" video="mainVideo" id=subtitle]] +[[!template text="spaces it can address," start="00:12:57.440" video="mainVideo" id=subtitle]] +[[!template text="how many types of users it can satisfy," start="00:12:58.540" video="mainVideo" id=subtitle]] +[[!template text="the things that we can do to make" start="00:13:01.519" video="mainVideo" id=subtitle]] +[[!template text="it robust in those environments." start="00:13:04.399" video="mainVideo" id=subtitle]] +[[!template text="I mean, we're always thinking about the weak points," start="00:13:06.456" video="mainVideo" id=subtitle]] +[[!template text="but is Emacs a community building tool? Heck yeah." start="00:13:09.524" video="mainVideo" id=subtitle]] +[[!template new="1" text="(Amin: There's like one or two more questions." start="00:13:14.639" video="mainVideo" id=subtitle]] +[[!template text="I think they're more long-form so it might be better" start="00:13:18.480" video="mainVideo" id=subtitle]] +[[!template text="if you took them off stream so you could keep the schedule on time.)" start="00:13:22.480" video="mainVideo" id=subtitle]] +[[!template text="I would love to take those questions offline." start="00:13:26.880" video="mainVideo" id=subtitle]] +[[!template text="I will respond to you" start="00:13:29.463" video="mainVideo" id=subtitle]] +[[!template text="in writing if we don't get to it" start="00:13:30.908" video="mainVideo" id=subtitle]] +[[!template text="in a breakout room." start="00:13:32.237" video="mainVideo" id=subtitle]] +[[!template text="Thanks so much for joining us." start="00:13:33.360" video="mainVideo" id=subtitle]] +[[!template text="I can't wait to see the rest of the" start="00:13:35.451" video="mainVideo" id=subtitle]] +[[!template text="conference. See you there!" start="00:13:36.639" video="mainVideo" id=subtitle]] +[[!template text="(Amin: Awesome. Thank you again so much, Corwin.)" start="00:13:38.000" video="mainVideo" id=subtitle]] 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 index b1659d7e..588cf43a 100644 --- a/2020/subtitles/emacsconf-2020--06-trivial-emacs-kits--corwin-brust.vtt +++ b/2020/subtitles/emacsconf-2020--06-trivial-emacs-kits--corwin-brust.vtt @@ -1,67 +1,56 @@ WEBVTT -00:00:00.399 --> 00:00:03.280 -My name is Corwin Brust and I +00:00:00.399 --> 00:00:02.683 +My name is Corwin Brust -00:00:03.280 --> 00:00:06.240 -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. -00:00:06.240 --> 00:00:08.960 -with Emacs today. - -00:00:08.960 --> 00:00:11.200 +00:00:08.960 --> 00:00:11.448 I have been an Emacs user for a long +time. -00:00:11.200 --> 00:00:13.040 -time. First of all, thanks and a huge - -00:00:13.040 --> 00:00:15.360 -welcome to the conference - -00:00:15.360 --> 00:00:18.400 -from me and +00:00:11.448 --> 00:00:15.360 +First of all, thanks and a huge welcome +to the conference -00:00:18.400 --> 00:00:22.400 -and on behalf +00:00:15.360 --> 00:00:22.400 +from me and and on behalf -00:00:22.400 --> 00:00:24.720 -and back to the other people that +00:00:22.400 --> 00:00:24.368 +and back to the other people -00:00:24.720 --> 00:00:26.080 -have been helping to organize. +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:32.480 +00:00:30.480 --> 00:00:36.399 with that and just, kind of, see - -00:00:32.480 --> 00:00:36.399 backstage. -00:00:36.399 --> 00:00:39.680 +00:00:36.399 --> 00:00:42.281 So I've used a lot of different editors +in my time. -00:00:39.680 --> 00:00:42.960 -in my time. That's - -00:00:42.960 --> 00:00:45.440 -about 25 years as a professional - -00:00:45.440 --> 00:00:52.399 +00:00:42.281 --> 00:00:52.399 +That's about 25 years as a professional software engineer. -00:00:52.399 --> 00:00:53.920 +00:00:52.399 --> 00:00:54.247 And most of that time I've been using +Emacs. -00:00:53.920 --> 00:00:56.160 -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 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 +about how I got into Emacs, 00:01:04.479 --> 00:01:07.200 but I think if you've used Emacs and a @@ -69,56 +58,45 @@ 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:15.200 -something that you notice right away is that +00:01:10.240 --> 00:01:14.410 +something that you notice right away -00:01:15.200 --> 00:01:17.520 -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. -00:01:17.520 --> 00:01:18.560 -meaningful. - -00:01:18.560 --> 00:01:20.799 +00:01:18.560 --> 00:01:24.199 You learn new things. Those things +stick with you. -00:01:20.799 --> 00:01:27.600 -stick with you. You learn how to - -00:01:27.600 --> 00:01:30.720 -make it do new tricks and then - -00:01:30.720 --> 00:01:33.759 -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:36.799 +00:01:33.759 --> 00:01:39.439 I want to mention that this - -00:01:36.799 --> 00:01:39.439 conference--oops, -00:01:39.439 --> 00:01:41.439 -this talk isn't about - -00:01:41.439 --> 00:01:45.600 -how to adjust your +00:01:39.439 --> 00:01:44.829 +this talk isn't about how to adjust -00:01:45.600 --> 00:01:47.520 -configuration specifically. I don't have +00:01:44.829 --> 00:01:46.802 +your configuration specifically. -00:01:47.520 --> 00:01:50.000 -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:51.520 +00:01:50.000 --> 00:01:52.451 There are other great talks at the +conference, -00:01:51.520 --> 00:01:54.399 -conference, particularly Andrew's, - -00:01:54.399 --> 00:01:57.600 -that I looked at, that looked +00:01:52.451 --> 00:01:56.411 +particularly Andrew's, that I looked at, -00:01:57.600 --> 00:01:59.920 -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 00:01:59.920 --> 00:02:02.240 "hey, I'm just getting started with Emacs, @@ -126,59 +104,53 @@ like they might be more aimed at that 00:02:02.240 --> 00:02:05.280 what are some things to try to make -00:02:05.280 --> 00:02:07.200 -it more comfortable for me starting?" This +00:02:05.280 --> 00:02:07.017 +it more comfortable for me starting?" -00:02:07.200 --> 00:02:08.879 -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. -00:02:08.879 --> 00:02:09.759 -space. +00:02:09.759 --> 00:02:13.337 +Hopefully, a good warm up as we start +thinking about -00:02:09.759 --> 00:02:12.959 -Hopefully, a good warm up as we +00:02:13.337 --> 00:02:17.200 +some of the lightning talks a little +later on. -00:02:12.959 --> 00:02:14.080 -start thinking about some of the +00:02:17.200 --> 00:02:19.835 +I'm just gonna quickly make sure -00:02:14.080 --> 00:02:17.200 -lightning talks a little later on. +00:02:19.835 --> 00:02:21.789 +I can see my IRC buffer in case -00:02:17.200 --> 00:02:20.000 -I'm just gonna quickly make sure I - -00:02:20.000 --> 00:02:22.400 -can see my IRC buffer in case I run into - -00:02:22.400 --> 00:02:24.080 -time. I didn't get my stopwatch started - -00:02:24.080 --> 00:02:25.680 -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. 00:02:25.680 --> 00:02:29.680 So all right, let's dive in. -00:02:29.680 --> 00:02:32.879 -We assume that we want to install - -00:02:32.879 --> 00:02:33.840 -packages +00:02:29.680 --> 00:02:33.840 +We assume that we want to +install packages -00:02:33.840 --> 00:02:36.560 -and maybe configure some features. This +00:02:33.840 --> 00:02:36.281 +and maybe configure some features. -00:02:36.560 --> 00:02:38.319 -is particularly from the perspective of +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.800 -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 -00:02:40.800 --> 00:02:42.160 -want to get something done. +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 @@ -186,104 +158,81 @@ Some of us probably already have mature 00:02:44.800 --> 00:02:46.560 Emacs workflows. -00:02:46.560 --> 00:02:49.280 +00:02:46.560 --> 00:02:53.519 Others are installing it for the first - -00:02:49.280 --> 00:02:53.519 time. -00:02:53.519 --> 00:02:56.879 -So the first question is, you know, - -00:02:56.879 --> 00:02:59.280 -in that context: what's the value - -00:02:59.280 --> 00:03:00.879 -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: -00:03:00.879 --> 00:03:02.840 -machine, my mature Emacs +00:02:57.889 --> 00:02:59.784 +what's the value proposition? -00:03:02.840 --> 00:03:05.599 -configuration, and impose my +00:02:59.784 --> 00:03:01.532 +Why should I mess with my machine, -00:03:05.599 --> 00:03:07.440 -ideas over the way somebody else is +00:03:01.532 --> 00:03:04.219 +my mature Emacs configuration, -00:03:07.440 --> 00:03:10.239 -learning Emacs? Well, +00:03:04.219 --> 00:03:09.815 +and impose my ideas over the way +somebody else is learning Emacs? -00:03:10.239 --> 00:03:12.800 -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. -00:03:12.800 --> 00:03:13.840 -little bit. +00:03:13.840 --> 00:03:16.959 +It can be a little bit tricky -00:03:13.840 --> 00:03:16.400 -It can be a little bit - -00:03:16.400 --> 00:03:16.959 -tricky - -00:03:16.959 --> 00:03:20.400 +00:03:16.959 --> 00:03:21.440 to learn Emacs. One thing that - -00:03:20.400 --> 00:03:21.440 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:26.239 +00:03:24.720 --> 00:03:27.301 can tell us, kinda, keystroke for +keystroke at times, -00:03:26.239 --> 00:03:28.080 -keystroke at times, what to do and - -00:03:28.080 --> 00:03:30.480 -explain what everything is doing. - -00:03:30.480 --> 00:03:32.400 -Using the same packages can really - -00:03:32.400 --> 00:03:35.840 -help us working together on a project. +00:03:27.301 --> 00:03:30.480 +what to do and explain what everything +is doing. -00:03:35.840 --> 00:03:39.840 -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. -00:03:39.840 --> 00:03:40.720 -experience, +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.040 -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. -00:03:45.040 --> 00:03:46.720 -Lisp. I've programmed in a lot of programming - -00:03:46.720 --> 00:03:47.840 +00:03:45.226 --> 00:03:47.840 +I've programmed in a lot of programming languages, -00:03:47.840 --> 00:03:51.200 -but Lisp wasn't on my list. I looked at - -00:03:51.200 --> 00:03:53.680 -my config that I was copy-pasting around +00:03:47.840 --> 00:03:50.252 +but Lisp wasn't on my list. -00:03:53.680 --> 00:03:56.319 -from generation after generation of +00:03:50.252 --> 00:03:53.680 +I looked at my config that I was +copy-pasting around -00:03:56.319 --> 00:03:57.519 -.emacs file or +00:03:53.680 --> 00:03:57.279 +from generation after generation of +.emacs file, -00:03:57.519 --> 00:03:59.519 -recrafting it from hand and from Internet - -00:03:59.519 --> 00:04:00.799 -searches, +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 @@ -294,230 +243,170 @@ 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:10.959 -and - -00:04:10.959 --> 00:04:13.680 -be able to to quickly get through that - -00:04:13.680 --> 00:04:15.280 -workflow that caused me to install the - -00:04:15.280 --> 00:04:17.440 -program. - -00:04:17.440 --> 00:04:20.560 -You know, just +00:04:07.680 --> 00:04:14.016 +and be able to to quickly get through +that workflow -00:04:20.560 --> 00:04:23.440 -little simple one-liners that that +00:04:14.016 --> 00:04:17.440 +that caused me to install the program. -00:04:23.440 --> 00:04:25.199 -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 -00:04:25.199 --> 00:04:27.120 -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." -00:04:27.120 --> 00:04:28.880 -here." And I credit - -00:04:28.880 --> 00:04:31.680 -Jeff Goff, my good friend who died - -00:04:31.680 --> 00:04:33.520 -earlier in 2020, +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 +Perhaps Erik and I will talk about that -00:04:39.280 --> 00:04:40.800 +00:04:39.280 --> 00:04:42.000 a little bit more in another talk we +have scheduled, -00:04:40.800 --> 00:04:41.360 -have - -00:04:41.360 --> 00:04:43.280 -scheduled, but Jeff was a huge +00:04:42.000 --> 00:04:44.400 +but Jeff was a huge influence on us -00:04:43.280 --> 00:04:44.400 -influenceo on us +00:04:44.400 --> 00:04:46.027 +in a number of ways, -00:04:44.400 --> 00:04:47.280 -in a number of ways and a huge +00:04:46.027 --> 00:04:47.732 +and a huge contributor -00:04:47.280 --> 00:04:48.720 -contributor to the Raku programming - -00:04:48.720 --> 00:04:50.720 -language - -00:04:50.720 --> 00:04:54.840 +00:04:47.732 --> 00:04:54.840 +to the Raku programming language, which is very cool. -00:04:54.840 --> 00:04:58.880 -So, understanding how - -00:04:58.880 --> 00:05:01.039 -to make a good decision about splitting +00:04:54.840 --> 00:05:00.153 +So, understanding how to make +a good decision -00:05:01.039 --> 00:05:03.120 -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 -00:05:03.120 --> 00:05:03.680 -across - -00:05:03.680 --> 00:05:05.600 +00:05:03.680 --> 00:05:06.292 people with really different uses of +Emacs... -00:05:05.600 --> 00:05:07.600 -Emacs... That's actually a - -00:05:07.600 --> 00:05:09.360 -complicated topic and I want to +00:05:06.292 --> 00:05:08.546 +That's actually a complicated topic -00:05:09.360 --> 00:05:11.039 -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. -00:05:11.039 --> 00:05:12.639 -second. - -00:05:12.639 --> 00:05:15.840 +00:05:12.639 --> 00:05:18.720 I think Emacs is about people, so that - -00:05:15.840 --> 00:05:18.720 means it's about community. -00:05:18.720 --> 00:05:22.000 +00:05:18.720 --> 00:05:24.960 And community means we're going to - -00:05:22.000 --> 00:05:24.960 invite disagreement. -00:05:24.960 --> 00:05:29.120 -In fact, that disagreement - -00:05:29.120 --> 00:05:32.160 -isn't necessarily a road-block to our - -00:05:32.160 --> 00:05:33.280 -project. In fact, +00:05:24.960 --> 00:05:32.687 +In fact, that disagreement isn't +necessarily a road-block to our project. -00:05:33.280 --> 00:05:35.680 -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 -00:05:35.680 --> 00:05:37.759 -project can invite us to do +00:05:37.759 --> 00:05:39.505 +is to get closer to each other -00:05:37.759 --> 00:05:39.680 -is to get closer to each other by +00:05:39.505 --> 00:05:40.840 +by inviting those disagreements, -00:05:39.680 --> 00:05:40.960 -inviting those disagreements, by +00:05:40.840 --> 00:05:42.080 +by learning from them--learning from -00:05:40.960 --> 00:05:42.080 -learning from them--learning from +00:05:42.080 --> 00:05:46.880 +different people's styles and from how +they argue, -00:05:42.080 --> 00:05:43.280 -different people's - -00:05:43.280 --> 00:05:46.880 -styles and from how they argue, - -00:05:46.880 --> 00:05:49.120 +00:05:46.880 --> 00:05:50.058 and thinking about why they have that +perspective -00:05:49.120 --> 00:05:50.400 -perspective and - -00:05:50.400 --> 00:05:53.680 -what technical benefits that +00:05:50.058 --> 00:05:53.227 +and what technical benefits -00:05:53.680 --> 00:05:55.360 -perhaps radical point of view might +00:05:53.227 --> 00:05:55.800 +that perhaps radical point of view might +carry away. -00:05:55.360 --> 00:05:56.720 -carry away. Some people are really +00:05:55.800 --> 00:05:58.266 +Some people are really aggressive +arguers, -00:05:56.720 --> 00:05:59.039 -aggressive arguers, and others +00:05:58.266 --> 00:06:01.919 +and others are very passive and really -00:05:59.039 --> 00:06:01.919 -are very passive and really +00:06:01.919 --> 00:06:05.824 +couch their ideas in distancing terms, +to say, -00:06:01.919 --> 00:06:03.120 -couch their ideas +00:06:05.824 --> 00:06:07.906 +"well probably, this is a good idea" -00:06:03.120 --> 00:06:06.240 -in distancing terms, to say, "well - -00:06:06.240 --> 00:06:08.080 -probably, this is a good idea" or - -00:06:08.080 --> 00:06:12.479 -"please double check me." +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.120 -how certain a person is, because we're - -00:06:17.120 --> 00:06:18.479 -different. We have different ways of +00:06:15.520 --> 00:06:17.497 +how certain a person is, +because we're different. -00:06:18.479 --> 00:06:19.520 -communicating +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:23.380 --> 00:06:24.560 -[Music] +00:06:24.560 --> 00:06:26.235 +When we think about a bunch of -00:06:24.560 --> 00:06:26.560 -When we think about a bunch of really +00:06:26.235 --> 00:06:30.000 +really diverse programmers +approaching Emacs, -00:06:26.560 --> 00:06:30.000 -diverse programmers approaching Emacs, - -00:06:30.000 --> 00:06:33.280 -probably one of our our first really big - -00:06:33.280 --> 00:06:36.479 +00:06:30.000 --> 00:06:36.479 +probably one of our first really big challenges is just -00:06:36.479 --> 00:06:39.759 -to pick what we're going to go - -00:06:39.759 --> 00:06:41.120 -after. There are a lot of - -00:06:41.120 --> 00:06:44.000 -existing kit +00:06:36.479 --> 00:06:40.085 +to pick what we're going +to go after. -00:06:44.000 --> 00:06:49.599 -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:52.880 +00:06:49.599 --> 00:06:54.400 My argument is that you could actually - -00:06:52.880 --> 00:06:54.400 get pretty far -00:06:54.400 --> 00:06:56.560 -just trading files around. Maybe the - -00:06:56.560 --> 00:07:02.240 -more valuable +00:06:54.400 --> 00:06:56.020 +just trading files around. -00:07:02.240 --> 00:07:04.720 -conversation to have is making the +00:06:56.020 --> 00:07:03.698 +Maybe the more valuable conversation +to have -00:07:04.720 --> 00:07:06.080 -hard decisions about, well, +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," @@ -528,77 +417,56 @@ 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:15.680 +00:07:11.759 --> 00:07:17.440 the traditional splayed out over a +single line completion, -00:07:15.680 --> 00:07:17.440 -single line completion - -00:07:17.440 --> 00:07:19.840 -for example in the mode line, those - -00:07:19.840 --> 00:07:20.800 -people are going to - -00:07:20.800 --> 00:07:24.160 -add a line of config - -00:07:24.160 --> 00:07:29.039 -to their own setup? - -00:07:29.039 --> 00:07:32.479 -The way to get there? I mean, how do we - -00:07:32.479 --> 00:07:34.080 -find out what works? We don't want to - -00:07:34.080 --> 00:07:35.520 -slow down the people that +00:07:17.440 --> 00:07:19.428 +for example in the mode line, -00:07:35.520 --> 00:07:38.800 -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? -00:07:38.800 --> 00:07:40.479 -asking them to completely break their +00:07:29.039 --> 00:07:30.979 +The way to get there? -00:07:40.479 --> 00:07:42.080 -workflows and make it easier for new +00:07:30.979 --> 00:07:33.344 +I mean, how do we find out what works? -00:07:42.080 --> 00:07:42.560 -folks. +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:42.560 --> 00:07:46.240 -At the same time, we do +00:07:38.587 --> 00:07:40.879 +by asking them to completely +break their workflows -00:07:46.240 --> 00:07:48.960 -want to make sure those new people are +00:07:40.879 --> 00:07:42.560 +and make it easier for new folks. -00:07:48.960 --> 00:07:51.280 -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 -00:07:51.280 --> 00:07:52.720 -having to learn +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:07:56.319 -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 -00:07:56.319 --> 00:07:59.840 -history in the form of its +00:08:00.363 --> 00:08:07.610 +technical stylings for things like +frames, buffers, -00:07:59.840 --> 00:08:03.120 -unique technical stylings for +00:08:07.610 --> 00:08:11.668 +and other unique Emacs viewpoints -00:08:03.120 --> 00:08:06.160 -things like frames, - -00:08:06.160 --> 00:08:09.840 -buffers, and other unique - -00:08:09.840 --> 00:08:12.960 -Emacs viewpoints on important - -00:08:12.960 --> 00:08:16.240 -interface concepts, especially. +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 @@ -609,29 +477,25 @@ 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.280 -Rather than necessarily following our - -00:08:25.280 --> 00:08:31.440 -defaults of +00:08:23.280 --> 00:08:25.117 +Rather than necessarily following -00:08:31.440 --> 00:08:33.279 -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:35.120 +00:08:33.279 --> 00:08:37.440 that generally work and letting people - -00:08:35.120 --> 00:08:37.440 customize it, 00:08:37.440 --> 00:08:40.479 what if we tried to look -00:08:40.479 --> 00:08:42.560 -for fairly specific configurations that +00:08:40.479 --> 00:08:42.346 +for fairly specific configurations -00:08:42.560 --> 00:08:44.159 -we'll expect essentially all of our +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, @@ -642,65 +506,52 @@ 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:58.800 -I think that degree of - -00:08:58.800 --> 00:08:59.839 -experimentation +00:08:55.920 --> 00:08:59.839 +I think that degree of experimentation -00:08:59.839 --> 00:09:01.680 +00:08:59.839 --> 00:09:02.584 can drive back into the Emacs +development process. -00:09:01.680 --> 00:09:03.360 -development process. In the development - -00:09:03.360 --> 00:09:04.800 -mailing list... +00:09:02.584 --> 00:09:04.800 +In the development mailing list... -00:09:04.800 --> 00:09:07.760 -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. -00:09:07.760 --> 00:09:15.120 -here. - -00:09:15.120 --> 00:09:17.760 +00:09:15.120 --> 00:09:18.835 In the context of Emacs development as a +greater entity, -00:09:17.760 --> 00:09:18.320 -greater - -00:09:18.320 --> 00:09:20.959 -entity, we see some of these struggles. +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:24.000 -Sometimes we can have the - -00:09:24.000 --> 00:09:26.720 -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. -00:09:26.720 --> 00:09:29.279 -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:30.959 +00:09:29.279 --> 00:09:32.560 I think one thing that can help us get - -00:09:30.959 --> 00:09:32.560 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.880 -is using this set of bindings and +00:09:36.160 --> 00:09:38.560 +is using this set of bindings, -00:09:38.880 --> 00:09:40.399 -here's what we learned about +00:09:38.560 --> 00:09:40.111 +and here's what we learned -00:09:40.399 --> 00:09:42.240 -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 00:09:42.240 --> 00:09:46.800 and get work done with that." @@ -709,22 +560,20 @@ and get work done with that." (Amin: Yeah you still have 00:09:49.360 --> 00:09:50.720 -a couple more minutes) - -00:09:50.720 --> 00:09:52.640 -Oh, beautiful. Okay, great. I will try to +a couple more minutes.) -00:09:52.640 --> 00:09:54.160 -get through my last few slides that i +00:09:50.720 --> 00:09:51.984 +Oh, beautiful. Okay, great. -00:09:54.160 --> 00:09:54.720 -cut +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 +in my last walkthrough, but I think I'm 00:09:56.320 --> 00:09:58.320 -going quicker today thank you. +going quicker today, thank you. 00:09:58.320 --> 00:10:02.000 Thank you. @@ -732,41 +581,30 @@ Thank you. 00:10:02.000 --> 00:10:05.120 So let's just recap real quick: -00:10:05.120 --> 00:10:06.800 -in theory, Emacs works - -00:10:06.800 --> 00:10:10.720 -out of the box. That means we're +00:10:05.120 --> 00:10:08.760 +in theory, Emacs works out of the box. -00:10:10.720 --> 00:10:14.079 -free to experiment. We can +00:10:08.760 --> 00:10:12.853 +That means we're free to experiment. -00:10:14.079 --> 00:10:17.120 -throw it all away and start over. +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:27.360 +00:10:26.000 --> 00:10:30.079 I don't know what I was thinking on that - -00:10:27.360 --> 00:10:30.079 slide, excuse me. -00:10:30.079 --> 00:10:32.240 -Bringing it back around - -00:10:32.240 --> 00:10:33.440 -to the free +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:36.480 -our goal - -00:10:36.480 --> 00:10:39.519 -is to enable users +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 @@ -774,158 +612,118 @@ 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:45.600 +00:10:43.040 --> 00:10:47.680 That's the context to take with project - -00:10:45.600 --> 00:10:47.680 initialization, but sometimes 00:10:47.680 --> 00:10:49.560 -it could make sense to put... - -00:10:49.560 --> 00:10:50.800 -[Music] - -00:10:50.800 --> 00:10:53.040 -to put some gloves on. I've thrown up on - -00:10:53.040 --> 00:10:54.880 -the screen here just a couple of other +it could make sense -00:10:54.880 --> 00:10:57.279 -ideas, ways to maybe think outside of the +00:10:50.800 --> 00:10:52.032 +to put some gloves on. -00:10:57.279 --> 00:10:57.920 -box. +00:10:52.032 --> 00:10:53.766 +I've thrown up on the screen here -00:10:57.920 --> 00:11:00.399 -As you're putting together project +00:10:53.766 --> 00:10:55.276 +just a couple of other ideas, -00:11:00.399 --> 00:11:01.440 -nets, +00:10:55.276 --> 00:10:57.920 +ways to maybe think outside of the box. -00:11:01.440 --> 00:11:04.959 -my words of encouragement are to experiment +00:10:57.920 --> 00:11:01.440 +As you're putting together project nets, -00:11:04.959 --> 00:11:05.519 -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.200 +00:11:05.519 --> 00:11:09.941 try different things, and think really +specifically -00:11:09.200 --> 00:11:10.560 -specifically about how +00:11:09.941 --> 00:11:17.010 +about how different the development +users might be from each other -00:11:10.560 --> 00:11:14.320 -different the development users - -00:11:14.320 --> 00:11:17.760 -might be from each other as you - -00:11:17.760 --> 00:11:21.680 -define standards for configuring +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:25.360 -specifically for developing +00:11:23.519 --> 00:11:26.552 +specifically for developing on a +project. -00:11:25.360 --> 00:11:29.120 -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:30.480 +00:11:29.120 --> 00:11:32.959 If there's any time, I would take a - -00:11:30.480 --> 00:11:32.959 couple questions. -00:11:32.959 --> 00:11:35.040 -Thank you for your awesome talk, +00:11:32.959 --> 00:11:36.480 +(Amin: Thank you for your +awesome talk, Corwin. -00:11:35.040 --> 00:11:36.480 -Corwin. - -00:11:36.480 --> 00:11:38.160 -I think we have one or two - -00:11:38.160 --> 00:11:49.519 -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. 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:56.959 -Oh, I managed to close the +like me to read the questions for you?) -00:11:56.959 --> 00:11:58.000 -pad +00:11:53.839 --> 00:11:58.000 +Corwin: Oh, I managed to close the pad -00:11:58.000 --> 00:12:00.560 -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. -00:12:00.560 --> 00:12:03.519 -right, there it opened. +00:12:00.352 --> 00:12:03.519 +All right, there it opened. -00:12:03.519 --> 00:12:05.040 +00:12:03.519 --> 00:12:05.500 Bringing it onto a screen where I can +see it. -00:12:05.040 --> 00:12:06.880 -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? -00:12:06.880 --> 00:12:08.399 -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?") -00:12:08.399 --> 00:12:09.360 -around, please? - -00:12:09.360 --> 00:12:12.720 -(Amin: Sure. It says, "do you use Emacs as a - -00:12:12.720 --> 00:12:15.600 -community building tool?") - -00:12:15.600 --> 00:12:17.680 +00:12:15.600 --> 00:12:19.760 Do I use Emacs as a community building - -00:12:17.680 --> 00:12:19.760 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:26.720 -I think Emacs is an ambassador to - -00:12:26.720 --> 00:12:29.920 -the GNU tool chain. - -00:12:29.920 --> 00:12:33.279 -I think that in the fullness of time, we - -00:12:33.279 --> 00:12:34.560 -will see an Emacs +00:12:23.519 --> 00:12:29.920 +I think Emacs is an ambassador to the +GNU tool chain. -00:12:34.560 --> 00:12:38.240 -that makes +00:12:29.920 --> 00:12:33.027 +I think that in the fullness of time, -00:12:38.240 --> 00:12:42.000 -and that makes iOS and Android and other +00:12:33.027 --> 00:12:36.558 +we will see an Emacs -00:12:42.000 --> 00:12:42.800 -closed-source +00:12:36.558 --> 00:12:43.760 +that makes iOS and Android and other +closed-source tools dream. -00:12:42.800 --> 00:12:45.680 -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 -00:12:45.680 --> 00:12:46.320 -and call - -00:12:46.320 --> 00:12:49.200 -Emacs an operating system. It's because +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. @@ -936,65 +734,56 @@ 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:59.440 -spaces it can address, how many types of +00:12:57.440 --> 00:12:58.540 +spaces it can address, -00:12:59.440 --> 00:13:01.519 -users it can satisfy, +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:05.600 -it robust in those - -00:13:05.600 --> 00:13:07.839 -environments. I mean, we're always - -00:13:07.839 --> 00:13:09.760 -thinking about the weak points, but +00:13:04.399 --> 00:13:06.456 +it robust in those environments. -00:13:09.760 --> 00:13:11.839 -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, -00:13:11.839 --> 00:13:14.639 -yeah. +00:13:09.524 --> 00:13:14.639 +but is Emacs a community building tool? +Heck yeah. -00:13:14.639 --> 00:13:17.920 +00:13:14.639 --> 00:13:18.480 (Amin: There's like one or two more - -00:13:17.920 --> 00:13:18.480 questions. -00:13:18.480 --> 00:13:21.519 +00:13:18.480 --> 00:13:22.480 I think they're more long-form so it - -00:13:21.519 --> 00:13:22.480 might be better -00:13:22.480 --> 00:13:24.000 -if you took them off stream so you - -00:13:24.000 --> 00:13:26.880 -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.) -00:13:26.880 --> 00:13:28.959 -i would love to take those questions +00:13:26.880 --> 00:13:29.463 +I would love to take those questions +offline. -00:13:28.959 --> 00:13:31.040 -offline. I will respond to you in +00:13:29.463 --> 00:13:30.908 +I will respond to you -00:13:31.040 --> 00:13:32.399 -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 -00:13:32.399 --> 00:13:33.360 -breakout room. +00:13:32.237 --> 00:13:33.360 +in a breakout room. -00:13:33.360 --> 00:13:35.519 -Thanks so much for joining us. I +00:13:33.360 --> 00:13:35.451 +Thanks so much for joining us. -00:13:35.519 --> 00:13:36.639 -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 00:13:36.639 --> 00:13:38.000 conference. See you there! -- cgit v1.2.3