diff options
Diffstat (limited to '')
-rw-r--r-- | 2020/info/07.md | 2 | ||||
-rw-r--r-- | 2020/submissions.org | 71 | ||||
-rw-r--r-- | 2020/subtitles/emacsconf-2020-06--trivial-emacs-kits--corwin-brust.vtt | 1003 |
3 files changed, 1069 insertions, 7 deletions
diff --git a/2020/info/07.md b/2020/info/07.md index c4c59cfa..46d46063 100644 --- a/2020/info/07.md +++ b/2020/info/07.md @@ -50,7 +50,7 @@ matter of minutes, and you'd already know how to use it. ## Can minor-modes in Emacs be integrated via chimera as a "mode"? Good question. If it is already a "modal"-like minor mode, then we -could potentially do it this way. But in general, it could make sense +ocould potentially do it this way. But in general, it could make sense to couple minor modes to rigpa "modes", towers (sets of modes), or complexes (sets of towers), so that entering those modes/towers would enable those minor modes, and likewise disable the minor modes upon diff --git a/2020/submissions.org b/2020/submissions.org index ded7ba2a..e6a41970 100644 --- a/2020/submissions.org +++ b/2020/submissions.org @@ -179,6 +179,7 @@ SCHEDULED: <2020-11-28 Sat 09:00-09:30> :CUSTOM_ID: talk00 :TALK_ID: 00 :ROOM: A +:DURATION: 7:04 :END: *** 9:30 - 12:00 User talks :morning: @@ -220,6 +221,7 @@ SCHEDULED: <2020-11-28 Sat 09:33-09:37> :PREREC: ready :CUSTOM_ID: talk01 :TALK_ID: 01 +:DURATION: 3:58 :END: Name: Sacha Chua @@ -289,6 +291,7 @@ SCHEDULED: <2020-11-28 Sat 09:40-10:00> :NAME: Leo Vivier :CUSTOM_ID: talk02 :TALK_ID: 02 +:DURATION: 24:15 :END: Name: Leo Vivier @@ -362,6 +365,7 @@ SCHEDULED: <2020-11-28 Sat 10:03-10:13> :CUSTOM_ID: talk03 :TALK_ID: 03 :PREREC: done, live Q&A +:DURATION: 14:50 :END: Name: Bala Ramadurai @@ -451,6 +455,7 @@ SCHEDULED: <2020-11-28 Sat 10:16-10:26> :PREREC: planned :CUSTOM_ID: talk04 :TALK_ID: 04 +:DURATION: 8:26 :END: Name: Jonathan Gregory @@ -512,6 +517,7 @@ SCHEDULED: <2020-11-28 Sat 10:29-10:45> :NAME: Grant Shangreaux :CUSTOM_ID: talk05 :TALK_ID: 05 +:DURATION: 29:50 :END: Name: Grant Shangreaux @@ -580,6 +586,7 @@ SCHEDULED: <2020-11-28 Sat 10:48-10:58> :NAME: Corwin Brust (mplsCorwin) :CUSTOM_ID: talk06 :TALK_ID: 06 +:DURATION: 13:41 :END: Name: Corwin Brust @@ -632,6 +639,7 @@ SCHEDULED: <2020-11-28 Sat 11:01-11:21> :NAME: Sid Kasivajhula (countvajhula) :CUSTOM_ID: talk07 :TALK_ID: 07 +:DURATION: 22:05 :END: Name: Sid Kasivajhula @@ -725,6 +733,7 @@ SCHEDULED: <2020-11-28 Sat 11:24-11:44> :NAME: Andrew Tropin (abcdw) :CUSTOM_ID: talk08 :TALK_ID: 08 +:DURATION: 17:19 :END: Name: Andrew Tropin @@ -796,6 +805,7 @@ fair use. :NAME: Eduardo Ochs (edrx) :CUSTOM_ID: talk21 :TALK_ID: 21 + :DURATION: 47:08 :END: Name: Eduardo Ochs @@ -937,6 +947,7 @@ SCHEDULED: <2020-11-28 Sat 12:00-13:00> :NAME: Rainer König :CUSTOM_ID: talk09 :TALK_ID: 09 + :DURATION: 14:09 :END: Name: Rainer König @@ -1021,6 +1032,7 @@ fair use. :NAME: Andrea :CUSTOM_ID: talk10 :TALK_ID: 10 + :DURATION: 8:18 :END: Name: Andrea @@ -1085,6 +1097,7 @@ fair use. :NAME: Aldric :CUSTOM_ID: talk11 :TALK_ID: 11 + :DURATION: 15:18 :END: Name: Aldric @@ -1140,6 +1153,7 @@ fair use. :NAME: Leo Vivier :CUSTOM_ID: talk12 :TALK_ID: 12 + :DURATION: 16:38 :END: Name: Leo Vivier @@ -1214,6 +1228,7 @@ SCHEDULED: <2020-11-28 Sat 14:05-14:15> :NAME: Joseph Corneli, Raymond Puzio, and Cameron Ray Smith :CUSTOM_ID: talk13 :TALK_ID: 13 +:DURATION: 12:05 :END: Name: Joseph Corneli, Raymond Puzio, and Cameron Ray Smith @@ -1291,6 +1306,7 @@ SCHEDULED: <2020-11-28 Sat 14:18-14:38> :CUSTOM_ID: talk14 :TALK_ID: 14 :PREREC: done +:DURATION: 19:41 :END: Name: Adam Ard @@ -1351,6 +1367,7 @@ SCHEDULED: <2020-11-28 Sat 14:41-14:51> :NAME: Adolfo Villafiorita :CUSTOM_ID: talk15 :TALK_ID: 15 +:DURATION: 25:00 :END: Name: Adolfo Villafiorita @@ -1413,6 +1430,7 @@ SCHEDULED: <2020-11-28 Sat 14:54-15:14> :NAME: Leo Vivier :CUSTOM_ID: talk16 :TALK_ID: 16 +:DURATION: 21:56 :END: Name: Leo Vivier @@ -1492,6 +1510,7 @@ SCHEDULED: <2020-11-28 Sat 15:17-15:37> :NAME: Noorah Alhasan :CUSTOM_ID: talk17 :TALK_ID: 17 +:DURATION: 21:15 :END: Name: Noorah Alhasan @@ -1573,6 +1592,7 @@ SCHEDULED: <2020-11-28 Sat 15:40-16:00> :NAME: Leo Vivier :CUSTOM_ID: talk18 :TALK_ID: 18 +:DURATION: 21:26 :END: Name: Leo Vivier @@ -1657,6 +1677,7 @@ SCHEDULED: <2020-11-28 Sat 16:03-16:13> :NAME: Brett Gilio :CUSTOM_ID: talk19 :TALK_ID: 19 +:DURATION: 8:13 :END: Name: Brett Gilio @@ -1720,6 +1741,7 @@ SCHEDULED: <2020-11-28 Sat 16:16-16:36> :NAME: Corwin Brust (mplsCorwin) :CUSTOM_ID: talk20 :TALK_ID: 20 +:DURATION: 22:50 :END: Name: Corwin Brust @@ -1782,6 +1804,7 @@ SCHEDULED: <2020-11-28 Sat 16:30-17:00> :NAME: Amin Bandali, Sacha Chua, Leo Vivier, Corwin Brust :TALK_ID: 40 :CUSTOM_ID: talk40 +:DURATION: 15:47 :END: ** NOVEMBER 29 (Sunday) :sun: @@ -1794,6 +1817,7 @@ SCHEDULED: <2020-11-29 Sun 09:00-09:10> :NAME: Amin Bandali, Sacha Chua, Leo Vivier :TALK_ID: 41 :CUSTOM_ID: talk41 +:DURATION: 11:47 :END: *** 9:10 - 12:00 Morning talks :morning: @@ -1830,6 +1854,7 @@ SCHEDULED: <2020-11-29 Sun 09:00-09:10> :TALK_ID: 38 :CUSTOM_ID: talk38 :PREREC: done + :DURATION: 5:07 :END: ***** Talk information @@ -1845,6 +1870,7 @@ SCHEDULED: <2020-11-29 Sun 09:33-09:53> :NAME: Musa Al-hassy :CUSTOM_ID: talk22 :TALK_ID: 22 +:DURATION: 29:06 :END: Name: Musa Al-hassy @@ -1964,6 +1990,7 @@ SCHEDULED: <2020-11-29 Sun 09:56-10:46> :PREREC: 24min :CUSTOM_ID: talk23 :TALK_ID: 23 +:DURATION: 43:54 :END: Name: Tuấn-Anh Nguyễn @@ -2030,6 +2057,7 @@ SCHEDULED: <2020-11-29 Sun 10:49-11:09> :QUESTIONS: pad and IRC, not BBB :TALK_ID: 24 :PREREC: done +:DURATION: 20:46 :END: Name: Andrea @@ -2104,6 +2132,7 @@ SCHEDULED: <2020-11-29 Sun 11:12-11:22> :QA: pad/IRC :TALK_ID: 25 :PREREC: done +:DURATION: 9:52 :END: Name: Zen Monk Alain M. Lafon @@ -2176,6 +2205,7 @@ fair use. :MIN_TIME: 20 :AVAILABILITY: tbd :NAME: Richard Stallman + :DURATION: 53:38 :END: **** Talk information @@ -2228,6 +2258,7 @@ SCHEDULED: <2020-11-29 Sun 13:03-13:13> :CUSTOM_ID: talk26 :TALK_ID: 26 :PREREC: done +:DURATION: 14:57 :END: Name: Pierce Wang @@ -2304,6 +2335,7 @@ SCHEDULED: <2020-11-29 Sun 13:16-13:26> :CUSTOM_ID: talk27 :PREREC: done :TALK_ID: 27 +:DURATION: 21:26 :END: Hello, @@ -2374,6 +2406,7 @@ SCHEDULED: <2020-11-29 Sun 13:29-14:19> :CUSTOM_ID: talk28 :QA: rtmp :TALK_ID: 28 +:DURATION: 9:00 :END: Name: Erik Elmshauser and Corwin Brust @@ -2563,6 +2596,7 @@ SCHEDULED: <2020-11-29 Sun 14:45-14:55> :CUSTOM_ID: talk30 :TALK_ID: 30 :PREREC: done +:DURATION: 11:30 :END: Name: Gabriele Bozzola (@sbozzolo) @@ -2622,6 +2656,7 @@ SCHEDULED: <2020-11-29 Sun 14:58-15:14> :CUSTOM_ID: talk31 :TALK_ID: 31 :PREREC: done +:DURATION: 16:50 :END: Name: Grant Shangreaux @@ -2698,6 +2733,7 @@ SCHEDULED: <2020-11-29 Sun 15:17-15:41> :CUSTOM_ID: talk32 :TALK_ID: 32 :PREREC: planned +:DURATION: 23:57 :END: Name: Eric Abrahamsen @@ -2764,6 +2800,7 @@ SCHEDULED: <2020-11-29 Sun 15:44-16:04> :NAME: Fermin MF :CUSTOM_ID: talk33 :TALK_ID: 33 +:DURATION: 39:16 :END: Name: Fermin MF @@ -2828,6 +2865,7 @@ SCHEDULED: <2020-11-29 Sun 16:07-16:30> :CUSTOM_ID: talk34 :TALK_ID: 34 :QA: irc +:DURATION: 22:22 :END: Name: Matthew Zeng @@ -2885,6 +2923,7 @@ SCHEDULED: <2020-11-29 Sun 16:33-16:43> :TALK_ID: 35 :PREREC: done :QA: live +:DURATION: 16:02 :END: Name: Zachary Kanfer @@ -2946,6 +2985,7 @@ SCHEDULED: <2020-11-29 Sun 16:30-17:00> :NAME: Amin Bandali, Sacha Chua, Leo Vivier, Corwin Brust :TALK_ID: 42 :CUSTOM_ID: talk42 +:DURATION: 36:29 :END: * Withdrawn @@ -3033,6 +3073,21 @@ the target time. Some conference-related functions #+begin_src emacs-lisp :exports code :results none :tangle "conf.el" + (defun conf/find-talk (filter &optional info) + (setq info (or info (conf/filter-talks conf/info))) + (when (stringp filter) (setq filter (list filter))) + (or (seq-find (lambda (o) (string= (plist-get o :talk-id) (car filter))) info) + (seq-find (lambda (o) + (let ((case-fold-search t) + (all (mapconcat (lambda (f) (plist-get o f)) '(:title :speakers :talk-id) " "))) + (null (seq-contains-p + (mapcar (lambda (condition) (string-match condition all)) filter) + nil)))) + info))) + +(defun conf/goto-talk-id (id) + (goto-char (org-find-property "TALK_ID" id))) + (defun conf/assign-ids () "Assign numeric talk IDs." (interactive) @@ -3140,6 +3195,7 @@ The total is written to the MIN_TIME_SUM property of this heading" :status (elt heading 2) :level (car heading) :scheduled (org-entry-get (point) "SCHEDULED") + :duration (org-entry-get (point) "DURATION") :time (org-entry-get (point) "MIN_TIME") :speakers (org-entry-get (point) "NAME")))) ((string-match "^ *Talk information *$" (elt heading 4)) @@ -3153,6 +3209,7 @@ The total is written to the MIN_TIME_SUM property of this heading" (list :type 'headline :level (car heading) :speakers (org-entry-get (point) "NAME") + :duration (org-entry-get (point) "DURATION") :talk-id (org-entry-get (point) "TALK_ID") :title (elt heading 4) :scheduled (org-entry-get (point) "SCHEDULED")) @@ -3303,20 +3360,22 @@ Talk page: <https://emacsconf.org/2020/schedule/%s> (save-buffer)))) (defun conf/generate-talks-page () - (let ((info (conf/filter-talks conf/info))) + (let ((info conf/info)) (with-temp-buffer (find-file "talk-details.md") (erase-buffer) - (insert (format "<table><thead><th>Title</th><th>Speakers</th></thead><tbody>%s</tbody></table>" + (insert (format "<table><thead><th>Duration</th><th>Title</th><th>Speakers</th></thead><tbody>%s</tbody></table>" (mapconcat (lambda (o) (let* ((title (plist-get o :title)) (speakers (plist-get o :speakers))) (if (null (plist-get o :talk-id)) - (format "<tr><td colspan=\"2\"%s</td></tr>" (plist-get o :title)) - (format "<tr><td>%s</td><td>%s</td><tr>" (conf/format-talk-link o) - (plist-get o :speakers))))) - info "\n"))) + (format "<tr><td colspan=\"3\">%s</td></tr>" (conf/format-talk-link o)) + (format "<tr><td>%s</td><td>%s</td><td>%s</td><tr>" + (plist-get o :duration) + (conf/format-talk-link o) + (plist-get o :speakers))))) + info "\n"))) (save-buffer)))) (defun conf/generate-schedule-files (&optional filename) diff --git a/2020/subtitles/emacsconf-2020-06--trivial-emacs-kits--corwin-brust.vtt b/2020/subtitles/emacsconf-2020-06--trivial-emacs-kits--corwin-brust.vtt new file mode 100644 index 00000000..3f07ed5e --- /dev/null +++ b/2020/subtitles/emacsconf-2020-06--trivial-emacs-kits--corwin-brust.vtt @@ -0,0 +1,1003 @@ +WEBVTT + +00:00:00.399 --> 00:00:06.240 +My name is Corwin Brust and I + +00:00:03.280 --> 00:00:08.960 +will be talking about getting started + +00:00:06.240 --> 00:00:11.200 +with Emacs today. + +00:00:08.960 --> 00:00:13.040 +I have been an Emacs user for a long + +00:00:11.200 --> 00:00:15.360 +time. First of all, thanks and a huge + +00:00:13.040 --> 00:00:18.400 +welcome to the conference + +00:00:15.360 --> 00:00:22.400 +from me and + +00:00:18.400 --> 00:00:24.720 +and on behalf + +00:00:22.400 --> 00:00:26.080 +and back to the other people that + +00:00:24.720 --> 00:00:29.920 +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:35.120 +with that and just, kind of, see + +00:00:32.480 --> 00:00:35.120 +backstage. + +00:00:36.399 --> 00:00:42.960 +So I've used a lot of different editors + +00:00:39.680 --> 00:00:45.440 +in my time. That's + +00:00:42.960 --> 00:00:48.399 +about 25 years as a professional + +00:00:45.440 --> 00:00:48.399 +software engineer. + +00:00:52.399 --> 00:00:56.160 +And most of that time I've been using + +00:00:53.920 --> 00:01:00.960 +Emacs. I'll talk a little bit in a minute + +00:00:56.160 --> 00:01:04.479 +(if I can ever find my slides) + +00:01:00.960 --> 00:01:07.200 +about how I got into Emacs + +00:01:04.479 --> 00:01:10.240 +but I think if you've used Emacs and a + +00:01:07.200 --> 00:01:12.640 +lot of other editors for a long time, + +00:01:10.240 --> 00:01:14.960 +something that you notice right away is that + +00:01:15.200 --> 00:01:18.560 +you get good with it in a way that stays + +00:01:17.520 --> 00:01:20.799 +meaningful. + +00:01:18.560 --> 00:01:24.840 +You learn new things. Those things + +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:36.799 +keep doing those tricks. + +00:01:33.759 --> 00:01:39.439 +I want to mention that this + +00:01:36.799 --> 00:01:41.439 +conference--oops, + +00:01:39.439 --> 00:01:45.600 +this talk isn't about + +00:01:41.439 --> 00:01:47.520 +how to adjust your + +00:01:45.600 --> 00:01:50.000 +configuration specifically. I don't have + +00:01:47.520 --> 00:01:51.520 +a bunch of good code samples in here. + +00:01:50.000 --> 00:01:54.399 +There are other great talks at the + +00:01:51.520 --> 00:01:57.600 +conference, particularly Andrew's, + +00:01:54.399 --> 00:01:59.920 +that I looked at, that looked + +00:01:57.600 --> 00:02:01.600 +like they might be more aimed at that + +00:01:59.920 --> 00:02:02.240 +"hey, I'm just getting started with Emacs, + +00:02:02.240 --> 00:02:07.200 +what are some things to try to make + +00:02:05.280 --> 00:02:08.879 +it more comfortable for me starting?" This + +00:02:07.200 --> 00:02:09.759 +is about how to think about the problem + +00:02:08.879 --> 00:02:12.959 +space. + +00:02:09.759 --> 00:02:14.080 +Hopefully, a good warm up as we + +00:02:12.959 --> 00:02:17.200 +start thinking about some of the + +00:02:14.080 --> 00:02:20.000 +lightning talks a little later on. + +00:02:17.200 --> 00:02:22.400 +I'm just gonna quickly make sure I + +00:02:20.000 --> 00:02:24.080 +can see my IRC buffer in case I run into + +00:02:22.400 --> 00:02:25.680 +time. I didn't get my stopwatch started + +00:02:24.080 --> 00:02:29.680 +for this one. + +00:02:25.680 --> 00:02:32.879 +So all right, let's dive in. + +00:02:29.680 --> 00:02:33.840 +We assume that we want to install + +00:02:32.879 --> 00:02:36.560 +packages + +00:02:33.840 --> 00:02:38.319 +and maybe configure some features. This + +00:02:36.560 --> 00:02:39.120 +is particularly from the perspective of + +00:02:38.319 --> 00:02:40.800 +where we're working + +00:02:39.120 --> 00:02:42.160 +with a bunch of people on a team and we + +00:02:40.800 --> 00:02:44.800 +want to get something done. + +00:02:42.160 --> 00:02:46.560 +Some of us probably already have mature + +00:02:44.800 --> 00:02:49.280 +Emacs workflows. + +00:02:46.560 --> 00:02:50.319 +Others are installing it for the first + +00:02:49.280 --> 00:02:53.519 +time. + +00:02:53.519 --> 00:02:59.280 +So the first question is, you know, + +00:02:56.879 --> 00:03:00.879 +in that context: what's the value + +00:02:59.280 --> 00:03:02.840 +proposition? Why should I mess with my + +00:03:00.879 --> 00:03:05.599 +machine, my mature Emacs + +00:03:02.840 --> 00:03:07.440 +configuration, and impose my + +00:03:05.599 --> 00:03:10.239 +ideas over the way somebody else is + +00:03:07.440 --> 00:03:12.800 +learning Emacs? Well, + +00:03:10.239 --> 00:03:13.840 +it can be.. I'm off my slides here a + +00:03:12.800 --> 00:03:16.400 +little bit. + +00:03:13.840 --> 00:03:16.959 +It can be a little bit + +00:03:16.400 --> 00:03:20.400 +tricky + +00:03:16.959 --> 00:03:21.440 +to learn Emacs. One thing that + +00:03:20.400 --> 00:03:24.720 +helps us a lot + +00:03:21.440 --> 00:03:26.239 +is if people that we're working with + +00:03:24.720 --> 00:03:28.080 +can tell us, kinda, keystroke for + +00:03:26.239 --> 00:03:30.480 +keystroke at times, what to do and + +00:03:28.080 --> 00:03:32.400 +explain what everything is doing. + +00:03:30.480 --> 00:03:35.840 +Using the same packages can really + +00:03:32.400 --> 00:03:39.840 +help us working together on a project. + +00:03:35.840 --> 00:03:40.720 +Speaking from my personal + +00:03:39.840 --> 00:03:42.959 +experience, + +00:03:40.720 --> 00:03:45.040 +it took me decades to get to the point + +00:03:42.959 --> 00:03:46.720 +where I was excited to program in Emacs + +00:03:45.040 --> 00:03:47.840 +Lisp. I've programmed in a lot of programming + +00:03:46.720 --> 00:03:51.200 +languages, + +00:03:47.840 --> 00:03:53.680 +but Lisp wasn't on my list. I looked at + +00:03:51.200 --> 00:03:56.319 +my config that I was copy-pasting around + +00:03:53.680 --> 00:03:57.519 +from generation after generation of + +00:03:56.319 --> 00:03:59.519 +.emacs file or + +00:03:57.519 --> 00:04:00.799 +recrafting it from hand and from Internet + +00:03:59.519 --> 00:04:03.519 +searches, + +00:04:00.799 --> 00:04:05.680 +to get the things that I needed when + +00:04:03.519 --> 00:04:07.680 +I would quickly go install Emacs at some + +00:04:05.680 --> 00:04:10.959 +new job or contract, + +00:04:07.680 --> 00:04:13.680 +and + +00:04:10.959 --> 00:04:15.280 +be able to to quickly get through that + +00:04:13.680 --> 00:04:17.440 +workflow that caused me to install the + +00:04:15.280 --> 00:04:20.560 +program. + +00:04:17.440 --> 00:04:23.440 +You know, just + +00:04:20.560 --> 00:04:25.199 +little simple one-liners that that + +00:04:23.440 --> 00:04:27.120 +got committed to memory over decades + +00:04:25.199 --> 00:04:28.880 +eventually just led me to a sort of "hey what's going on + +00:04:27.120 --> 00:04:31.680 +here." And I credit + +00:04:28.880 --> 00:04:33.520 +Jeff Goff, my good friend who died + +00:04:31.680 --> 00:04:37.759 +earlier in 2020, + +00:04:33.520 --> 00:04:39.280 +for my lifelong love of Emacs. + +00:04:37.759 --> 00:04:40.800 +Perhaps EriK and I will talk about that + +00:04:39.280 --> 00:04:41.360 +a little bit more in another talk we + +00:04:40.800 --> 00:04:43.280 +have + +00:04:41.360 --> 00:04:44.400 +scheduled, but Jeff was a huge + +00:04:43.280 --> 00:04:47.280 +influenceo on us + +00:04:44.400 --> 00:04:48.720 +in a number of ways and a huge + +00:04:47.280 --> 00:04:50.720 +contributor to the Raku programming + +00:04:48.720 --> 00:04:54.000 +language + +00:04:50.720 --> 00:04:54.000 +which is very cool. + +00:04:54.840 --> 00:05:01.039 +So, understanding how + +00:04:58.880 --> 00:05:03.120 +to make a good decision about splitting + +00:05:01.039 --> 00:05:03.680 +up configuration in a way to share it + +00:05:03.120 --> 00:05:05.600 +across + +00:05:03.680 --> 00:05:07.600 +people with really different uses of + +00:05:05.600 --> 00:05:09.360 +Emacs... That's actually a + +00:05:07.600 --> 00:05:11.039 +complicated topic and I want to + +00:05:09.360 --> 00:05:12.639 +sort of back off and stare at it for a + +00:05:11.039 --> 00:05:15.840 +second. + +00:05:12.639 --> 00:05:18.720 +I think Emacs is about people, so that + +00:05:15.840 --> 00:05:22.000 +means it's about community. + +00:05:18.720 --> 00:05:24.960 +And community means we're going to + +00:05:22.000 --> 00:05:29.120 +invite disagreement. + +00:05:24.960 --> 00:05:32.160 +In fact, that disagreement + +00:05:29.120 --> 00:05:33.280 +isn't necessarily a road-block to our + +00:05:32.160 --> 00:05:35.680 +project. In fact, + +00:05:33.280 --> 00:05:37.759 +some of the work that a community + +00:05:35.680 --> 00:05:39.680 +project can invite us to do + +00:05:37.759 --> 00:05:40.960 +is to get closer to each other by + +00:05:39.680 --> 00:05:42.080 +inviting those disagreements, by + +00:05:40.960 --> 00:05:43.280 +learning from them--learning from + +00:05:42.080 --> 00:05:46.880 +different people's + +00:05:43.280 --> 00:05:49.120 +styles and from how they argue, + +00:05:46.880 --> 00:05:50.400 +and thinking about why they have that + +00:05:49.120 --> 00:05:53.680 +perspective and + +00:05:50.400 --> 00:05:55.360 +what technical benefits that + +00:05:53.680 --> 00:05:56.720 +perhaps radical point of view might + +00:05:55.360 --> 00:05:59.039 +carry away. Some people are really + +00:05:56.720 --> 00:06:01.919 +aggressive arguers, and others + +00:05:59.039 --> 00:06:03.120 +are very passive and really + +00:06:01.919 --> 00:06:06.240 +couch their ideas + +00:06:03.120 --> 00:06:08.080 +in distancing terms, to say, "well + +00:06:06.240 --> 00:06:12.479 +probably, this is a good idea" or + +00:06:08.080 --> 00:06:15.520 +"please double check me." + +00:06:12.479 --> 00:06:17.120 +Those don't always necessarily indicate + +00:06:15.520 --> 00:06:18.479 +how certain a person is, because we're + +00:06:17.120 --> 00:06:19.520 +different. We have different ways of + +00:06:18.479 --> 00:06:23.380 +communicating + +00:06:19.520 --> 00:06:24.560 +ideas like certainty or excitement. + +00:06:23.380 --> 00:06:26.560 +[Music] + +00:06:24.560 --> 00:06:30.000 +When we think about a bunch of really + +00:06:26.560 --> 00:06:33.280 +diverse programmers approaching Emacs, + +00:06:30.000 --> 00:06:36.479 +probably one of our our first really big + +00:06:33.280 --> 00:06:39.759 +challenges is just + +00:06:36.479 --> 00:06:41.120 +to pick what we're going to go + +00:06:39.759 --> 00:06:44.000 +after. There are a lot of + +00:06:41.120 --> 00:06:45.759 +existing kit + +00:06:44.000 --> 00:06:49.599 +installs and things like this. + +00:06:49.599 --> 00:06:54.400 +My argument is that you could actually + +00:06:52.880 --> 00:06:56.560 +get pretty far + +00:06:54.400 --> 00:06:58.319 +just trading files around. Maybe the + +00:06:56.560 --> 00:07:02.240 +more valuable + +00:07:02.240 --> 00:07:06.080 +conversation to have is making the + +00:07:04.720 --> 00:07:08.000 +hard decisions about, well, + +00:07:06.080 --> 00:07:10.080 +"should we have vertical completion," + +00:07:08.000 --> 00:07:11.759 +should that be the out of the box, + +00:07:10.080 --> 00:07:15.680 +and the people that want + +00:07:11.759 --> 00:07:17.440 +the traditional splayed out over a + +00:07:15.680 --> 00:07:19.840 +single line completion + +00:07:17.440 --> 00:07:20.800 +for example in the mode line, those + +00:07:19.840 --> 00:07:22.800 +people are going to + +00:07:20.800 --> 00:07:24.160 +add a line of config + +00:07:24.160 --> 00:07:27.199 +to their own setup? + +00:07:29.039 --> 00:07:34.080 +The way to get there? I mean, how do we + +00:07:32.479 --> 00:07:35.520 +find out what works? We don't want to + +00:07:34.080 --> 00:07:38.800 +slow down the people that + +00:07:35.520 --> 00:07:40.479 +are super productive with Emacs by + +00:07:38.800 --> 00:07:42.080 +asking them to completely break their + +00:07:40.479 --> 00:07:42.560 +workflows and make it easier for new + +00:07:42.080 --> 00:07:46.240 +folks. + +00:07:42.560 --> 00:07:48.960 +At the same time, we do + +00:07:46.240 --> 00:07:51.280 +want to make sure those new people are + +00:07:48.960 --> 00:07:52.720 +excited by Emacs and not turned off by + +00:07:51.280 --> 00:07:56.319 +having to learn + +00:07:52.720 --> 00:07:59.840 +the entire jungle of Emacs + +00:07:56.319 --> 00:08:03.120 +history in the form of its + +00:07:59.840 --> 00:08:06.160 +unique technical stylings for + +00:08:03.120 --> 00:08:09.840 +things like frames, + +00:08:06.160 --> 00:08:12.960 +buffers, and other unique + +00:08:09.840 --> 00:08:16.240 +Emacs viewpoints on important + +00:08:12.960 --> 00:08:18.720 +interface concepts, especially. + +00:08:16.240 --> 00:08:19.520 +The encouragement here is to keep + +00:08:19.520 --> 00:08:23.280 +the initialization for a project team + +00:08:21.680 --> 00:08:25.280 +together as a crucible. + +00:08:23.280 --> 00:08:27.680 +Rather than necessarily following our + +00:08:25.280 --> 00:08:31.440 +defaults of + +00:08:31.440 --> 00:08:35.120 +finding the simplest configuration + +00:08:33.279 --> 00:08:37.440 +that generally work and letting people + +00:08:35.120 --> 00:08:40.479 +customize it, + +00:08:37.440 --> 00:08:42.560 +what if we tried to look + +00:08:40.479 --> 00:08:44.159 +for fairly specific configurations that + +00:08:42.560 --> 00:08:46.320 +we'll expect essentially all of our + +00:08:44.159 --> 00:08:50.320 +developers to be using, + +00:08:46.320 --> 00:08:50.320 +at least when they submit bug reports. + +00:08:52.839 --> 00:08:58.800 +In particular, with this, + +00:08:55.920 --> 00:08:59.839 +I think that degree of + +00:08:58.800 --> 00:09:01.680 +experimentation + +00:08:59.839 --> 00:09:03.360 +can drive back into the Emacs + +00:09:01.680 --> 00:09:04.800 +development process. In the development + +00:09:03.360 --> 00:09:07.760 +mailing list... + +00:09:04.800 --> 00:09:09.680 +I'm hoping I'll get a timing cue + +00:09:07.760 --> 00:09:14.000 +here. + +00:09:15.120 --> 00:09:18.320 +In the context of Emacs development as a + +00:09:17.760 --> 00:09:20.959 +greater + +00:09:18.320 --> 00:09:22.399 +entity, we see some of these struggles. + +00:09:20.959 --> 00:09:24.000 +Should we change this default? + +00:09:22.399 --> 00:09:26.720 +Sometimes we can have the + +00:09:24.000 --> 00:09:29.279 +sense that defaults in Emacs will never + +00:09:26.720 --> 00:09:30.959 +change. The conversation is too difficult. + +00:09:29.279 --> 00:09:32.560 +I think one thing that can help us get + +00:09:30.959 --> 00:09:36.160 +there is evidence + +00:09:32.560 --> 00:09:38.880 +that says, "hey my 30- to 40-person project + +00:09:36.160 --> 00:09:40.399 +is using this set of bindings and + +00:09:38.880 --> 00:09:42.240 +here's what we learned about + +00:09:40.399 --> 00:09:43.519 +brand new Emacs users trying to come in + +00:09:42.240 --> 00:09:46.800 +and get work done with that." + +00:09:46.800 --> 00:09:50.720 +(Amin: Yeah you still have + +00:09:49.360 --> 00:09:52.640 +a couple more minutes) + +00:09:50.720 --> 00:09:54.160 +Oh, beautiful. Okay, great. I will try to + +00:09:52.640 --> 00:09:54.720 +get through my last few slides that i + +00:09:54.160 --> 00:09:56.320 +cut + +00:09:54.720 --> 00:09:58.320 +in my last walkthrough, but I think i'm + +00:09:56.320 --> 00:10:00.640 +going quicker today thank you. + +00:09:58.320 --> 00:10:00.640 +Thank you. + +00:10:02.000 --> 00:10:06.800 +So let's just recap real quick: + +00:10:05.120 --> 00:10:10.399 +in theory, Emacs works + +00:10:06.800 --> 00:10:10.720 +out of the box. That means we're + +00:10:10.720 --> 00:10:17.120 +free to experiment. We can + +00:10:14.079 --> 00:10:20.399 +throw it all away and start over. + +00:10:17.120 --> 00:10:23.760 +As an organizational principle... + +00:10:26.000 --> 00:10:30.079 +I don't know what I was thinking on that + +00:10:27.360 --> 00:10:32.240 +slide, excuse me. + +00:10:30.079 --> 00:10:33.440 +Bringing it back around + +00:10:32.240 --> 00:10:35.680 +to the free + +00:10:33.440 --> 00:10:36.480 +and open source software community, + +00:10:35.680 --> 00:10:39.519 +our goal + +00:10:36.480 --> 00:10:41.440 +is to enable users + +00:10:39.519 --> 00:10:43.040 +to unlock their computers, to do as much + +00:10:41.440 --> 00:10:45.600 +with them as possible. + +00:10:43.040 --> 00:10:47.680 +That's the context to take with project + +00:10:45.600 --> 00:10:49.560 +initialization, but sometimes + +00:10:47.680 --> 00:10:50.800 +it could make sense to put... + +00:10:49.560 --> 00:10:53.040 +[Music] + +00:10:50.800 --> 00:10:54.880 +to put some gloves on. I've thrown up on + +00:10:53.040 --> 00:10:57.279 +the screen here just a couple of other + +00:10:54.880 --> 00:10:57.920 +ideas, ways to maybe think outside of the + +00:10:57.279 --> 00:11:00.399 +box. + +00:10:57.920 --> 00:11:01.440 +As you're putting together project + +00:11:00.399 --> 00:11:04.959 +nets, + +00:11:01.440 --> 00:11:05.519 +my words of encouragement are to experiment + +00:11:04.959 --> 00:11:09.200 +with it, + +00:11:05.519 --> 00:11:10.560 +try different things, and think really + +00:11:09.200 --> 00:11:14.320 +specifically about how + +00:11:10.560 --> 00:11:17.760 +different the development users + +00:11:14.320 --> 00:11:21.680 +might be from each other as you + +00:11:17.760 --> 00:11:23.519 +define standards for configuring + +00:11:21.680 --> 00:11:25.360 +the user environment of Emacs + +00:11:23.519 --> 00:11:29.120 +specifically for developing + +00:11:25.360 --> 00:11:30.480 +on a project. That's pretty much my talk. + +00:11:29.120 --> 00:11:32.959 +If there's any time, I would take a + +00:11:30.480 --> 00:11:35.040 +couple questions. + +00:11:32.959 --> 00:11:36.480 +Thank you for your awesome talk, + +00:11:35.040 --> 00:11:38.160 +Corwin. + +00:11:36.480 --> 00:11:43.839 +I think we have one or two + +00:11:38.160 --> 00:11:43.839 +minutes for a few questions. + +00:11:49.519 --> 00:11:53.839 +Do you have the pad open or would you + +00:11:52.000 --> 00:11:56.959 +like me to read the questions for you? + +00:11:53.839 --> 00:11:58.000 +Oh, I managed to close the + +00:11:56.959 --> 00:12:00.560 +pad + +00:11:58.000 --> 00:12:03.440 +and I am trying to open it again. All + +00:12:00.560 --> 00:12:03.440 +right, there it opened. + +00:12:03.519 --> 00:12:06.880 +Bringing it onto a screen where I can + +00:12:05.040 --> 00:12:08.399 +see it. Will you read me the + +00:12:06.880 --> 00:12:09.360 +first question while I drag windows + +00:12:08.399 --> 00:12:12.720 +around, please? + +00:12:09.360 --> 00:12:15.600 +(Amin: Sure. It says, "do you use Emacs as a + +00:12:12.720 --> 00:12:17.680 +community building tool?") + +00:12:15.600 --> 00:12:19.760 +Do I use Emacs as a community building + +00:12:17.680 --> 00:12:23.519 +tool, or how do I? + +00:12:19.760 --> 00:12:26.720 +(Amin: It just says do you.) Yes, absolutely. + +00:12:23.519 --> 00:12:29.920 +I think Emacs is an ambassador to + +00:12:26.720 --> 00:12:33.279 +the GNU tool chain. + +00:12:29.920 --> 00:12:34.560 +I think that in the fullness of time, we + +00:12:33.279 --> 00:12:38.240 +will see an Emacs + +00:12:34.560 --> 00:12:42.000 +that makes + +00:12:38.240 --> 00:12:42.800 +and that makes iOS and Android and other + +00:12:42.000 --> 00:12:45.680 +closed-source + +00:12:42.800 --> 00:12:46.320 +tools dream. That's why they mock us + +00:12:45.680 --> 00:12:49.200 +and call + +00:12:46.320 --> 00:12:51.440 +Emacs an operating system. It's because + +00:12:49.200 --> 00:12:53.920 +it could be, if we cared for it to be. + +00:12:51.440 --> 00:12:55.680 +It's quite a threatening product + +00:12:55.680 --> 00:12:59.440 +from the perspective of how many problem + +00:12:57.440 --> 00:13:01.519 +spaces it can address, how many types of + +00:12:59.440 --> 00:13:04.399 +users it can satisfy, + +00:13:01.519 --> 00:13:05.600 +the things that we can do to make + +00:13:04.399 --> 00:13:07.839 +it robust in those + +00:13:05.600 --> 00:13:09.760 +environments. I mean, we're always + +00:13:07.839 --> 00:13:11.839 +thinking about the weak points, but + +00:13:09.760 --> 00:13:14.079 +is Emacs a community building tool? Heck + +00:13:11.839 --> 00:13:14.079 +yeah. + +00:13:14.639 --> 00:13:18.480 +(Amin: There's like one or two more + +00:13:17.920 --> 00:13:21.519 +questions. + +00:13:18.480 --> 00:13:22.480 +I think they're more long-form so it + +00:13:21.519 --> 00:13:24.000 +might be better + +00:13:22.480 --> 00:13:26.880 +if you took them off stream so you + +00:13:24.000 --> 00:13:28.959 +could keep the schedule on time.) + +00:13:26.880 --> 00:13:31.040 +i would love to take those questions + +00:13:28.959 --> 00:13:32.399 +offline. I will respond to you in + +00:13:31.040 --> 00:13:33.360 +writing if we don't get to it in a + +00:13:32.399 --> 00:13:35.519 +breakout room. + +00:13:33.360 --> 00:13:36.639 +Thanks so much for joining us. I + +00:13:35.519 --> 00:13:38.000 +can't wait to see the rest of the + +00:13:36.639 --> 00:13:42.800 +conference. See you there! + +00:13:38.000 --> 00:13:42.800 +(Amin: Awesome. Thank you again so much, Corwin.) |