diff options
Diffstat (limited to '')
-rw-r--r-- | 2020/info/01.md | 2 | ||||
-rw-r--r-- | 2020/info/06.md | 2 | ||||
-rw-r--r-- | 2020/subtitles/emacsconf-2020--01-emacs-news-highlights--sacha-chua.vtt (renamed from 2020/subtitles/emacsconf-2020-01--emacs-news-highlights--sacha-chua.vtt) | 0 | ||||
-rw-r--r-- | 2020/subtitles/emacsconf-2020--02-an-emacs-developer-story-from-user-to-package-maintainer--leo-vivier.vtt (renamed from 2020/subtitles/emacsconf-2020-02--an-emacs-developer-story-from-user-to-package-maintainer--leo-vivier.vtt) | 0 | ||||
-rw-r--r-- | 2020/subtitles/emacsconf-2020--05-bard-bivoumacs-building-a-bandcamp-like-page-for-an-album-of-music--grant-shangreaux.sbv | 1251 | ||||
-rw-r--r-- | 2020/subtitles/emacsconf-2020--06-trivial-emacs-kits--corwin-brust.vtt (renamed from 2020/subtitles/emacsconf-2020-06--trivial-emacs-kits--corwin-brust.vtt) | 0 | ||||
-rw-r--r-- | 2020/subtitles/emacsconf-2020-01--emacs-news-highlights--sacha-chua.srt | 503 | ||||
-rw-r--r-- | 2020/subtitles/emacsconf-2020-06--trivial-emacs-kits--corwin-brust.sbv | 1002 |
8 files changed, 1253 insertions, 1507 deletions
diff --git a/2020/info/01.md b/2020/info/01.md index 10efddeb..abec5ce9 100644 --- a/2020/info/01.md +++ b/2020/info/01.md @@ -1,7 +1,7 @@ # Emacs News Highlights Sacha Chua -[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--01-emacs-news-highlights--sacha-chua.webm" subtitles="/2020/subtitles/emacsconf-2020-01--emacs-news-highlights--sacha-chua.vtt" duration="3:58" download="Download with subtitles" size="11MB"]] +[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--01-emacs-news-highlights--sacha-chua.webm" subtitles="/2020/subtitles/emacsconf-2020--01-emacs-news-highlights--sacha-chua.vtt" duration="3:58" download="Download with subtitles" size="11MB"]] Quick highlights from Emacs News since the last EmacsConf diff --git a/2020/info/06.md b/2020/info/06.md index 065e3a23..15da335f 100644 --- a/2020/info/06.md +++ b/2020/info/06.md @@ -1,7 +1,7 @@ # 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"]] +[[!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"]] Techniques to help new users bootstrap a more gentle introduction to Emacs, one (short) init.el file at a time. diff --git a/2020/subtitles/emacsconf-2020-01--emacs-news-highlights--sacha-chua.vtt b/2020/subtitles/emacsconf-2020--01-emacs-news-highlights--sacha-chua.vtt index 99ebf96c..99ebf96c 100644 --- a/2020/subtitles/emacsconf-2020-01--emacs-news-highlights--sacha-chua.vtt +++ b/2020/subtitles/emacsconf-2020--01-emacs-news-highlights--sacha-chua.vtt diff --git a/2020/subtitles/emacsconf-2020-02--an-emacs-developer-story-from-user-to-package-maintainer--leo-vivier.vtt b/2020/subtitles/emacsconf-2020--02-an-emacs-developer-story-from-user-to-package-maintainer--leo-vivier.vtt index a591af7d..a591af7d 100644 --- a/2020/subtitles/emacsconf-2020-02--an-emacs-developer-story-from-user-to-package-maintainer--leo-vivier.vtt +++ b/2020/subtitles/emacsconf-2020--02-an-emacs-developer-story-from-user-to-package-maintainer--leo-vivier.vtt diff --git a/2020/subtitles/emacsconf-2020--05-bard-bivoumacs-building-a-bandcamp-like-page-for-an-album-of-music--grant-shangreaux.sbv b/2020/subtitles/emacsconf-2020--05-bard-bivoumacs-building-a-bandcamp-like-page-for-an-album-of-music--grant-shangreaux.sbv new file mode 100644 index 00000000..db5fd2e7 --- /dev/null +++ b/2020/subtitles/emacsconf-2020--05-bard-bivoumacs-building-a-bandcamp-like-page-for-an-album-of-music--grant-shangreaux.sbv @@ -0,0 +1,1251 @@ +0:00:01.360,0:00:07.279 +hello my name is grant shangri + +0:00:04.480,0:00:07.919 +this is my talk titled bard beavermax + +0:00:07.279,0:00:10.719 +publishing + +0:00:07.919,0:00:12.799 +music with emacs i'm a software + +0:00:10.719,0:00:14.400 +developer with unabridged software in + +0:00:12.799,0:00:16.800 +lincoln nebraska + +0:00:14.400,0:00:18.720 +long time emacs user relatively new + +0:00:16.800,0:00:20.480 +emacs hacker + +0:00:18.720,0:00:22.960 +and uh hopefully i'll be able to show + +0:00:20.480,0:00:30.480 +you my workflow with + +0:00:22.960,0:00:33.440 +how i publish music with emacs + +0:00:30.480,0:00:35.520 +all right so as a musician i would like + +0:00:33.440,0:00:37.200 +to publish my music online + +0:00:35.520,0:00:39.040 +you know i could publish with popular + +0:00:37.200,0:00:42.000 +online music services + +0:00:39.040,0:00:44.719 +but i'm more of a diy type so i chose to + +0:00:42.000,0:00:48.160 +go ahead and publish with emacs + +0:00:44.719,0:00:49.760 +so what's the motivation behind this + +0:00:48.160,0:00:51.600 +a lot of it comes down to some + +0:00:49.760,0:00:54.960 +fundamental freedoms + +0:00:51.600,0:00:57.920 +that you know emacs gnu software + +0:00:54.960,0:00:59.120 +kind of represent to me as well as kind + +0:00:57.920,0:01:01.840 +of my + +0:00:59.120,0:01:03.680 +ideas on culture and my background i + +0:01:01.840,0:01:04.080 +don't believe that music is a consumer + +0:01:03.680,0:01:06.080 +good + +0:01:04.080,0:01:08.320 +um it's a form of knowledge like an + +0:01:06.080,0:01:10.479 +algorithm + +0:01:08.320,0:01:13.119 +and it's just like such a part of + +0:01:10.479,0:01:16.640 +culture like in tribal cultures music + +0:01:13.119,0:01:18.000 +was seen as a gift from the cosmos or + +0:01:16.640,0:01:19.920 +the gods and it was + +0:01:18.000,0:01:21.920 +a gift maybe through an individual + +0:01:19.920,0:01:23.520 +vessel but was shared with the people + +0:01:21.920,0:01:26.799 +and shared with everyone + +0:01:23.520,0:01:29.840 +kept alive by the culture itself + +0:01:26.799,0:01:31.520 +and so to me music is something that + +0:01:29.840,0:01:34.640 +should be shared and should be + +0:01:31.520,0:01:36.560 +freely enjoyed by everyone of course + +0:01:34.640,0:01:39.040 +artists should be compensated as well + +0:01:36.560,0:01:41.040 +but that's a whole different topic + +0:01:39.040,0:01:42.720 +and so when i want to share my music i + +0:01:41.040,0:01:43.520 +want to do it without impacting anyone's + +0:01:42.720,0:01:45.680 +freedom + +0:01:43.520,0:01:48.960 +using gnu software like emacs is a good + +0:01:45.680,0:01:48.960 +way that i can ensure that + +0:01:49.200,0:01:55.840 +i won't be requiring people to + +0:01:52.840,0:01:57.119 +uh sign away their freedoms for anything + +0:01:55.840,0:01:58.799 +there's a lot more i could say about + +0:01:57.119,0:02:00.960 +this but i don't have time + +0:01:58.799,0:02:03.439 +feel free to reach out to me by email or + +0:02:00.960,0:02:06.479 +irc + +0:02:03.439,0:02:08.239 +um and part of the motivation for me + +0:02:06.479,0:02:10.720 +personally is that emacs is super + +0:02:08.239,0:02:12.720 +magical it's an all-in-one solution + +0:02:10.720,0:02:14.480 +like i said the gnu software aligns with + +0:02:12.720,0:02:16.800 +creative commons ideas + +0:02:14.480,0:02:18.879 +i can do file management i can author + +0:02:16.800,0:02:20.239 +html all the web stuff i need even + +0:02:18.879,0:02:22.640 +illiterate style + +0:02:20.239,0:02:24.640 +i can handle media and metadata i've got + +0:02:22.640,0:02:26.800 +version control remote server access + +0:02:24.640,0:02:28.080 +all the tools i need are right under my + +0:02:26.800,0:02:30.000 +fingertips with this + +0:02:28.080,0:02:31.440 +tool that i use every day for a long + +0:02:30.000,0:02:34.319 +time i don't need to look + +0:02:31.440,0:02:36.319 +elsewhere and it was a challenge i + +0:02:34.319,0:02:39.440 +wanted to see if i could do this + +0:02:36.319,0:02:41.680 +all within emacs itself so + +0:02:39.440,0:02:43.440 +how do you use emacs to publish music + +0:02:41.680,0:02:45.120 +well for me i needed + +0:02:43.440,0:02:46.480 +a couple of things i needed to be able + +0:02:45.120,0:02:48.319 +to audition unlabel + +0:02:46.480,0:02:50.000 +unlabeled audio tracks i have a lot of + +0:02:48.319,0:02:51.280 +files that i don't know where they + +0:02:50.000,0:02:53.840 +came from i don't know what they are i + +0:02:51.280,0:02:56.800 +need to be able to listen to them + +0:02:53.840,0:02:58.480 +and i need to be able to add metadata to + +0:02:56.800,0:03:00.800 +whatever audio format it is + +0:02:58.480,0:03:03.200 +and rename the files based on that + +0:03:00.800,0:03:05.120 +metadata potentially + +0:03:03.200,0:03:07.040 +and in the end i wanted to take those + +0:03:05.120,0:03:08.319 +files and programmatically produce a web + +0:03:07.040,0:03:11.920 +page + +0:03:08.319,0:03:14.159 +for people to consume i found out that + +0:03:11.920,0:03:14.879 +emacs scores a hundred percent on all of + +0:03:14.159,0:03:18.000 +these + +0:03:14.879,0:03:20.720 +requirements that i had for this and + +0:03:18.000,0:03:22.640 +a lot of that came from emms the emacs + +0:03:20.720,0:03:26.080 +multimedia system + +0:03:22.640,0:03:27.760 +um emms is is great um + +0:03:26.080,0:03:30.000 +if you haven't checked it out please do + +0:03:27.760,0:03:32.959 +it's a little bit unintuitive but + +0:03:30.000,0:03:34.000 +once you get into it you know it works + +0:03:32.959,0:03:36.640 +um + +0:03:34.000,0:03:38.720 +and basically what emms gave me was the + +0:03:36.640,0:03:39.680 +ability to listen to the tracks organize + +0:03:38.720,0:03:41.280 +playlists + +0:03:39.680,0:03:42.959 +and on top of that it gave me super + +0:03:41.280,0:03:45.040 +powered metadata authoring + +0:03:42.959,0:03:47.200 +and i'm going to demonstrate that to you + +0:03:45.040,0:03:50.879 +so in order to do this + +0:03:47.200,0:03:54.879 +you have to require markable playlists + +0:03:50.879,0:03:58.720 +so require ems mark and so i'm going to + +0:03:54.879,0:03:58.720 +go through and i'm going to open the red + +0:03:59.680,0:04:04.480 +i've got this this these files here so + +0:04:02.319,0:04:06.080 +you can see these files are mp3s + +0:04:04.480,0:04:07.599 +um they're recorded on a digital + +0:04:06.080,0:04:09.920 +recorder + +0:04:07.599,0:04:11.760 +um if i had the choice i would have a + +0:04:09.920,0:04:12.319 +recorder that used a different format + +0:04:11.760,0:04:14.640 +but + +0:04:12.319,0:04:16.160 +so be it so i can mark all these files + +0:04:14.640,0:04:20.000 +and i can do ems + +0:04:16.160,0:04:22.880 +add to red and now they've been loaded + +0:04:20.000,0:04:22.880 +into a playlist + +0:04:27.040,0:04:30.400 +so you can see the playlist here there's + +0:04:29.040,0:04:32.000 +some leftover files + +0:04:30.400,0:04:33.759 +so i've got these three files in my + +0:04:32.000,0:04:34.639 +playlist and as you can see it's just + +0:04:33.759,0:04:36.800 +the file name + +0:04:34.639,0:04:38.560 +the path i don't have any metadata + +0:04:36.800,0:04:41.360 +associated with them + +0:04:38.560,0:04:43.440 +in this playlist i can hit e capital e + +0:04:41.360,0:04:47.360 +and it'll bring up a buffer showing + +0:04:43.440,0:04:49.840 +um the tag information that i have + +0:04:47.360,0:04:51.520 +and so i could edit these here and i + +0:04:49.840,0:04:53.919 +could edit them one at a time but that's + +0:04:51.520,0:04:57.440 +not really great i want superpower + +0:04:53.919,0:05:00.320 +metadata authoring so + +0:04:57.440,0:05:00.320 +by marking them + +0:05:04.479,0:05:08.479 +by marking them i can then hit e and i + +0:05:07.680,0:05:10.479 +have + +0:05:08.479,0:05:12.639 +all three of the tracks loaded up in + +0:05:10.479,0:05:15.759 +this tags buffer + +0:05:12.639,0:05:18.800 +on top of that i can do emms + +0:05:15.759,0:05:22.840 +tag editor set all ctrl c control + +0:05:18.800,0:05:25.680 +r and i want to set the artist + +0:05:22.840,0:05:26.320 +so these are some recordings of my + +0:05:25.680,0:05:31.039 +family + +0:05:26.320,0:05:35.600 +so shangri-lux set all three of them + +0:05:31.039,0:05:40.160 +i want to set the album um + +0:05:35.600,0:05:43.600 +spring walk with lap harp + +0:05:40.160,0:05:43.600 +and i want to set the year + +0:05:45.520,0:05:50.840 +and then i'm going to go ahead and put + +0:05:48.960,0:05:53.759 +these in + +0:05:50.840,0:05:55.840 +manually + +0:05:53.759,0:05:57.039 +but with the power of emacs keyboard + +0:05:55.840,0:05:59.600 +macros and + +0:05:57.039,0:06:02.319 +registers and so on i could do this + +0:05:59.600,0:06:04.000 +programmatically as well + +0:06:02.319,0:06:06.000 +which would make it a lot easier if i + +0:06:04.000,0:06:07.440 +hadn't met much more than three files to + +0:06:06.000,0:06:09.919 +do this with + +0:06:07.440,0:06:11.520 +submit the changes with ctrl c ctrl c + +0:06:09.919,0:06:13.120 +and now we've got the playlist you can + +0:06:11.520,0:06:15.039 +see the artist and track number have + +0:06:13.120,0:06:17.360 +been updated here + +0:06:15.039,0:06:19.039 +and then the final piece of this is that + +0:06:17.360,0:06:20.479 +if you look at this you can see that the + +0:06:19.039,0:06:22.639 +file name is still the same + +0:06:20.479,0:06:24.560 +so if i were looking to the directory i + +0:06:22.639,0:06:26.479 +would still have this file name + +0:06:24.560,0:06:28.000 +when packaging these up for a release + +0:06:26.479,0:06:30.319 +for people to download + +0:06:28.000,0:06:32.400 +it's nice to be able to have that file + +0:06:30.319,0:06:34.800 +name reflect the track number and the + +0:06:32.400,0:06:35.680 +artist and so on so there's another + +0:06:34.800,0:06:38.240 +command + +0:06:35.680,0:06:38.240 +mms + +0:06:41.199,0:06:45.120 +rename tag editor rename so it could be + +0:06:44.160,0:06:47.199 +just capital r + +0:06:45.120,0:06:48.880 +i think i need to mark all of these hit + +0:06:47.199,0:06:50.000 +capital r and then it's going to ask me + +0:06:48.880,0:06:53.599 +to confirm + +0:06:50.000,0:06:53.599 +and say yes to all of them + +0:06:54.400,0:07:04.319 +and now if you look in the dread + +0:07:02.720,0:07:06.319 +whoops i have to update it you'll see + +0:07:04.319,0:07:09.840 +it's been updated with the artist + +0:07:06.319,0:07:11.120 +the name track and track number and + +0:07:09.840,0:07:14.639 +track name + +0:07:11.120,0:07:17.360 +um so this format is a format string so + +0:07:14.639,0:07:20.479 +it's customizable of course + +0:07:17.360,0:07:21.039 +i just decided to go with the default so + +0:07:20.479,0:07:24.160 +that's + +0:07:21.039,0:07:26.000 +pretty great this workflow + +0:07:24.160,0:07:28.080 +just with emms i didn't have to do + +0:07:26.000,0:07:30.960 +anything this is all there it's all + +0:07:28.080,0:07:32.639 +all built in um it gave me exactly what + +0:07:30.960,0:07:35.599 +i was looking for in terms of being able + +0:07:32.639,0:07:37.599 +to process a lot of raw audio files + +0:07:35.599,0:07:39.280 +add metadata to them and get them ready + +0:07:37.599,0:07:41.599 +for publishing + +0:07:39.280,0:07:43.520 +and this is for publishing for playback + +0:07:41.599,0:07:44.879 +in any media player it'll it'll be + +0:07:43.520,0:07:46.560 +useful + +0:07:44.879,0:07:48.479 +not just for the web page that i'm + +0:07:46.560,0:07:50.560 +building so the + +0:07:48.479,0:07:53.440 +final part of course is um to build the + +0:07:50.560,0:07:54.960 +web page and emacs makes authoring html + +0:07:53.440,0:07:57.440 +trivial + +0:07:54.960,0:07:59.039 +like as i was going through this i + +0:07:57.440,0:08:00.400 +wanted to challenge myself and just be + +0:07:59.039,0:08:03.120 +like can i do this with all + +0:08:00.400,0:08:03.520 +just all with emacs like can i just make + +0:08:03.120,0:08:05.440 +this + +0:08:03.520,0:08:07.039 +i don't need a i don't need ruby i don't + +0:08:05.440,0:08:08.960 +need rails i don't need node i don't + +0:08:07.039,0:08:10.560 +need any of this other stuff i have my + +0:08:08.960,0:08:12.560 +tool right here it's a fully + +0:08:10.560,0:08:15.039 +it's a whole operating system basically + +0:08:12.560,0:08:17.360 +plus programming languages + +0:08:15.039,0:08:19.919 +so the first thing i started with was + +0:08:17.360,0:08:22.560 +buffer scripting for manipulating text + +0:08:19.919,0:08:24.319 +that's kind of the easiest way to do it + +0:08:22.560,0:08:25.280 +and basically anything you can do in a + +0:08:24.319,0:08:28.479 +buffer you can do + +0:08:25.280,0:08:30.319 +programmatically with e-lisp so this + +0:08:28.479,0:08:33.919 +might be a good example for beginners if + +0:08:30.319,0:08:36.000 +you haven't done any e-lisp yet + +0:08:33.919,0:08:36.959 +like a simple example is to create this + +0:08:36.000,0:08:40.000 +this div + +0:08:36.959,0:08:41.760 +output here i can you + +0:08:40.000,0:08:44.240 +can use this with temp buffer so + +0:08:41.760,0:08:46.640 +basically creating an imaginary buffer + +0:08:44.240,0:08:48.800 +insert is just like typing so you put + +0:08:46.640,0:08:50.959 +strings in you put new lines in + +0:08:48.800,0:08:52.080 +can cap build some strings together and + +0:08:50.959,0:08:54.000 +here you can see i'm + +0:08:52.080,0:08:55.360 +i'm doing a random number so every time + +0:08:54.000,0:08:57.920 +i execute this + +0:08:55.360,0:09:01.040 +my content changes so i can generate + +0:08:57.920,0:09:04.399 +dynamic content in html blocks + +0:09:01.040,0:09:05.920 +with e-lisp for my + +0:09:04.399,0:09:08.000 +web page builder it's a little more + +0:09:05.920,0:09:12.080 +complex i'm pulling data out + +0:09:08.000,0:09:15.440 +using emms data structures + +0:09:12.080,0:09:16.080 +so it's pulling that out from the track + +0:09:15.440,0:09:18.720 +data + +0:09:16.080,0:09:19.440 +and then i'm i'm using some program + +0:09:18.720,0:09:21.440 +program to + +0:09:19.440,0:09:23.200 +generate list elements so each track is + +0:09:21.440,0:09:25.120 +going to have the title + +0:09:23.200,0:09:26.959 +and track number and then a button for + +0:09:25.120,0:09:29.519 +playing it plus the source + +0:09:26.959,0:09:30.480 +of the audio file which will get added + +0:09:29.519,0:09:32.640 +here + +0:09:30.480,0:09:34.839 +right now this is hard coded for opus so + +0:09:32.640,0:09:37.200 +it won't work for my + +0:09:34.839,0:09:39.120 +mp3s um + +0:09:37.200,0:09:41.200 +i'm going to skip over snippets turns + +0:09:39.120,0:09:45.519 +out format strings were good enough + +0:09:41.200,0:09:48.160 +for me um snippets could be useful but + +0:09:45.519,0:09:49.839 +format is super powerful and i didn't + +0:09:48.160,0:09:51.279 +really even need all that much power + +0:09:49.839,0:09:53.519 +basically just doing string + +0:09:51.279,0:09:54.560 +interpolation so if you haven't seen + +0:09:53.519,0:09:56.720 +format before + +0:09:54.560,0:09:59.120 +you basically put these control strings + +0:09:56.720,0:10:03.120 +or control characters inside of a string + +0:09:59.120,0:10:05.040 +and you can generate you can generate an + +0:10:03.120,0:10:07.600 +output string that you want + +0:10:05.040,0:10:08.720 +so in my generator code basically it's + +0:10:07.600,0:10:10.959 +down here + +0:10:08.720,0:10:12.800 +um i'm calling format with this sparred + +0:10:10.959,0:10:15.920 +vivomax template + +0:10:12.800,0:10:18.240 +and that's basically a big + +0:10:15.920,0:10:20.399 +a big string of html it's just each you + +0:10:18.240,0:10:21.200 +know my whole page of html with a couple + +0:10:20.399,0:10:22.959 +places + +0:10:21.200,0:10:24.399 +with those control characters in just + +0:10:22.959,0:10:26.399 +four places + +0:10:24.399,0:10:29.760 +and one of them populates the track list + +0:10:26.399,0:10:32.079 +that's really the meat of the program + +0:10:29.760,0:10:33.440 +and again this is a combination of using + +0:10:32.079,0:10:36.640 +buffer scripting + +0:10:33.440,0:10:37.279 +using html mode inserting text format + +0:10:36.640,0:10:40.000 +strings + +0:10:37.279,0:10:41.920 +and then i can indent region so the html + +0:10:40.000,0:10:45.200 +actually looks pretty + +0:10:41.920,0:10:50.160 +when it comes out of it as well + +0:10:45.200,0:10:52.560 +um i will show that just really quick + +0:10:50.160,0:10:52.560 +actually + +0:10:54.000,0:10:58.800 +so you can see this is the html that got + +0:10:56.880,0:11:02.560 +generated i've got my template + +0:10:58.800,0:11:05.760 +i inserted the title here the style the + +0:11:02.560,0:11:07.920 +font was all inserted + +0:11:05.760,0:11:11.200 +and then this whole list of of tracks + +0:11:07.920,0:11:14.399 +here it's kind of messy to look at + +0:11:11.200,0:11:15.920 +but this track list this whole div here + +0:11:14.399,0:11:18.560 +is all generated by + +0:11:15.920,0:11:20.800 +my generator code and it works it's + +0:11:18.560,0:11:20.800 +great + +0:11:22.480,0:11:26.160 +okay moving on + +0:11:27.120,0:11:32.079 +um so the other thing was that as i was + +0:11:30.240,0:11:33.200 +developing this i decided to use ort + +0:11:32.079,0:11:35.360 +babel and some of his + +0:11:33.200,0:11:36.880 +its features um for multi-language + +0:11:35.360,0:11:37.839 +things because i needed to style it with + +0:11:36.880,0:11:40.480 +css and + +0:11:37.839,0:11:42.480 +and put actions in javascript and also i + +0:11:40.480,0:11:45.519 +used svg for authoring stuff + +0:11:42.480,0:11:46.079 +um and it was a little bit complicated i + +0:11:45.519,0:11:47.680 +probably + +0:11:46.079,0:11:49.600 +probably would have been simpler had i + +0:11:47.680,0:11:51.440 +not used org babble but it's also really + +0:11:49.600,0:11:53.839 +fun and it's i think it's a cool + +0:11:51.440,0:11:55.839 +cool idea to use literate programming my + +0:11:53.839,0:11:57.600 +idea was to create kind of like html + +0:11:55.839,0:11:59.519 +components like i could name it like + +0:11:57.600,0:12:01.440 +this + +0:11:59.519,0:12:02.800 +put a format string inside it and build + +0:12:01.440,0:12:05.519 +a function + +0:12:02.800,0:12:07.120 +in e-lisp to format it and spit out the + +0:12:05.519,0:12:10.320 +html that i want + +0:12:07.120,0:12:12.880 +and by doing this then i can like uh + +0:12:10.320,0:12:14.320 +just change things in my org file which + +0:12:12.880,0:12:16.959 +not getting a whole lot of time to work + +0:12:14.320,0:12:19.839 +on it i can come back to it and + +0:12:16.959,0:12:21.920 +i have a lot of notes and i can i can + +0:12:19.839,0:12:24.399 +kind of generate things as i'm going and + +0:12:21.920,0:12:25.600 +keep notes for myself and keep the + +0:12:24.399,0:12:27.519 +i don't know it's cool literate + +0:12:25.600,0:12:29.279 +programming is fun um so i don't need to + +0:12:27.519,0:12:31.040 +go into that too much but you can see if + +0:12:29.279,0:12:33.360 +i execute this here + +0:12:31.040,0:12:34.880 +i get the the div that i want um it's a + +0:12:33.360,0:12:36.480 +little bit funny you'll see i have the + +0:12:34.880,0:12:39.200 +string like this the way that + +0:12:36.480,0:12:40.000 +no web expands i can't do this on a + +0:12:39.200,0:12:43.839 +single line + +0:12:40.000,0:12:45.440 +it it it looks funny when you do that + +0:12:43.839,0:12:48.560 +so that might be something to work out + +0:12:45.440,0:12:48.959 +later css blocks can either be tangled + +0:12:48.560,0:12:51.680 +out + +0:12:48.959,0:12:52.639 +and referenced in the html source or + +0:12:51.680,0:12:54.639 +inlined + +0:12:52.639,0:12:56.959 +here's an example i have of inlining it + +0:12:54.639,0:13:00.320 +so i've got my little css block name + +0:12:56.959,0:13:03.040 +style javascript name script + +0:13:00.320,0:13:04.839 +and then i've got this html source block + +0:13:03.040,0:13:07.519 +with no web + +0:13:04.839,0:13:07.920 +expansion um these double angle brackets + +0:13:07.519,0:13:09.839 +here + +0:13:07.920,0:13:11.680 +are where i'm going to expand the block + +0:13:09.839,0:13:12.639 +name style i'm actually calling a + +0:13:11.680,0:13:14.399 +function + +0:13:12.639,0:13:17.040 +so i want the result of the function + +0:13:14.399,0:13:20.560 +here and then the script will just get + +0:13:17.040,0:13:22.959 +expanded here so or babel expand source + +0:13:20.560,0:13:25.360 +block + +0:13:22.959,0:13:28.160 +you can see what it looks like you know + +0:13:25.360,0:13:29.920 +i've got my style here i've got my title + +0:13:28.160,0:13:31.279 +i've got that main content class i + +0:13:29.920,0:13:33.040 +showed before + +0:13:31.279,0:13:34.480 +and the script as well so that's kind of + +0:13:33.040,0:13:36.320 +cool like + +0:13:34.480,0:13:38.160 +i could just run org babel tangle and + +0:13:36.320,0:13:40.480 +get my thing out and just + +0:13:38.160,0:13:41.600 +edit one file instead of multiple files + +0:13:40.480,0:13:45.120 +not for everyone + +0:13:41.600,0:13:45.120 +but i i thought it was kind of fun + +0:13:45.839,0:13:49.199 +all right oh and the final thing is that + +0:13:47.760,0:13:52.880 +in emacs you can + +0:13:49.199,0:13:57.199 +author and view svg so this is just an + +0:13:52.880,0:13:59.519 +org um this svg i used to make the play + +0:13:57.199,0:14:02.800 +and pause buttons but i didn't know this + +0:13:59.519,0:14:04.959 +but if you edit an svg file you can + +0:14:02.800,0:14:07.360 +toggle back and forth + +0:14:04.959,0:14:07.360 +between + +0:14:08.800,0:14:13.120 +between the code and the and the image + +0:14:13.199,0:14:17.360 +it's pretty sweet so i can kind of + +0:14:16.160,0:14:19.680 +iteratively work + +0:14:17.360,0:14:20.560 +work through this because of of how + +0:14:19.680,0:14:24.480 +emacs is + +0:14:20.560,0:14:24.959 +like that so um final considerations + +0:14:24.480,0:14:27.360 +here + +0:14:24.959,0:14:29.279 +like when doing this i want it to be all + +0:14:27.360,0:14:30.079 +free so i want to use fonts that use a + +0:14:29.279,0:14:32.800 +free license + +0:14:30.079,0:14:34.800 +i found gnu unifont it's kind of cool + +0:14:32.800,0:14:37.600 +the content license i chose + +0:14:34.800,0:14:39.920 +creative commons attribution share like + +0:14:37.600,0:14:42.880 +which is kind of like the gpl + +0:14:39.920,0:14:44.800 +ideally i could serve it with emacs i'd + +0:14:42.880,0:14:46.320 +like to remove idiosyncrasy so other + +0:14:44.800,0:14:48.720 +people can use it + +0:14:46.320,0:14:51.040 +it's pretty much just my tool right now + +0:14:48.720,0:14:51.440 +um not requiring the web browser i can + +0:14:51.040,0:14:54.079 +ship + +0:14:51.440,0:14:54.480 +playlists so that you can just you know + +0:14:54.079,0:14:58.000 +click + +0:14:54.480,0:15:00.639 +or link to a playlist on your favorite + +0:14:58.000,0:15:02.639 +player even emms if you want and then + +0:15:00.639,0:15:04.320 +packing up those albums in like a zip or + +0:15:02.639,0:15:08.639 +tar file + +0:15:04.320,0:15:10.880 +so um you can go to churls.world + +0:15:08.639,0:15:14.000 +it just has a link to this album i'll + +0:15:10.880,0:15:17.519 +display it here in just a second + +0:15:14.000,0:15:21.040 +you can contact me i'm shosheen on emacs + +0:15:17.519,0:15:23.680 +in irc and on sourcehut you can email me + +0:15:21.040,0:15:26.800 +grant at charles world personal or grant + +0:15:23.680,0:15:28.320 +on a bridge software all right now let's + +0:15:26.800,0:15:32.000 +see + +0:15:28.320,0:15:32.000 +about this + +0:15:32.079,0:15:35.120 +this is up online so if you want to + +0:15:33.680,0:15:39.199 +listen to my + +0:15:35.120,0:15:43.040 +college band's album from 20 years ago + +0:15:39.199,0:15:47.680 +here it is cassiopeia basement days + +0:15:43.040,0:15:48.000 +whoops i made this art in krita you can + +0:15:47.680,0:15:51.199 +press + +0:15:48.000,0:15:55.040 +play you can skip around + +0:15:51.199,0:15:58.560 +i did i do have the playlist up here too + +0:15:55.040,0:16:00.880 +so yeah thanks for listening + +0:15:58.560,0:16:04.000 +i hope you enjoyed it and enjoy the rest + +0:16:00.880,0:16:04.000 +of emacs conf + +0:16:04.360,0:16:07.360 +goodbye + 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..b1659d7e 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 diff --git a/2020/subtitles/emacsconf-2020-01--emacs-news-highlights--sacha-chua.srt b/2020/subtitles/emacsconf-2020-01--emacs-news-highlights--sacha-chua.srt deleted file mode 100644 index 9dd804ea..00000000 --- a/2020/subtitles/emacsconf-2020-01--emacs-news-highlights--sacha-chua.srt +++ /dev/null @@ -1,503 +0,0 @@ -1 -0:00:00,000 --> 0:00:04,000 -I'm Sacha Chua, and welcome to EmacsConf 2020. - - -2 -0:00:04,000 --> 0:00:07,000 -To kick things off, here are ten cool things - - -3 -0:00:07,000 --> 0:00:08,000 -that people have been working on - - -4 -0:00:08,000 --> 0:00:10,000 -since the conference last year. - - -5 -0:00:10,000 --> 0:00:11,000 -If you want to follow the links - - -6 -0:00:11,000 --> 0:00:14,000 -or if you'd like to add something I've missed, - - -7 -0:00:14,000 --> 0:00:16,000 -add them to the collaborative pad - - -8 -0:00:16,000 --> 0:00:17,000 -if you're watching this live - - -9 -0:00:17,000 --> 0:00:20,000 -or check out the EmacsConf wiki page for this talk. - - -10 -0:00:20,000 --> 0:00:24,000 -The big news this year was the release of Emacs 27.1, - - -11 -0:00:24,000 --> 0:00:27,000 -a little over two years after Emacs 26. - - -12 -0:00:27,000 --> 0:00:31,000 -Mickey Petersen's notes on the release are a great way - - -13 -0:00:31,000 --> 0:00:32,000 -to find out what's new, - - -14 -0:00:32,000 --> 0:00:34,000 -and John Wiegley's development update tomorrow - - -15 -0:00:34,000 --> 0:00:36,000 -will probably give more details. - - -16 -0:00:36,000 --> 0:00:39,000 -What's coming up for Emacs 28 and beyond? - - -17 -0:00:39,000 --> 0:00:40,000 -One of the branches that people are - - -18 -0:00:40,000 --> 0:00:44,000 -excited about is gccemacs, which compiles - - -19 -0:00:44,000 --> 0:00:48,000 -Emacs Lisp to native code so that it runs faster. - - -20 -0:00:48,000 --> 0:00:50,000 -To learn more, check out the Bringing GNU Emacs to Native Code - - -21 -0:00:50,000 --> 0:00:55,000 -presentation from the European Lisp Symposium. - - -22 -0:00:55,000 --> 0:00:56,000 -There was a huge conversation about - - -23 -0:00:56,000 --> 0:00:59,000 -modernizing Emacs on emacs-devel and other places. - - -24 -0:00:59,000 --> 0:01:02,000 -Linux Weekly News has a good summary. - - -25 -0:01:02,000 --> 0:01:04,000 -One of the interesting sub-threads on emacs-devel - - -26 -0:01:04,000 --> 0:01:06,000 -was about using more variable-width fonts, - - -27 -0:01:06,000 --> 0:01:08,000 -which would probably go a long way to - - -28 -0:01:08,000 --> 0:01:11,000 -making Emacs look pretty fancy once people - - -29 -0:01:11,000 --> 0:01:13,000 -sort out the alignment issues. - - -30 -0:01:13,000 --> 0:01:15,000 -It looks like core Emacs will probably - - -31 -0:01:15,000 --> 0:01:18,000 -change slowly in terms of functionality and documentation, - - -32 -0:01:18,000 --> 0:01:21,000 -but starter kits and configuration give people - - -33 -0:01:21,000 --> 0:01:22,000 -a great way to experiment. - - -34 -0:01:22,000 --> 0:01:24,000 -Speaking of starter kits, - - -35 -0:01:24,000 --> 0:01:27,000 -Doom Emacs seems to be growing in popularity. - - -36 -0:01:27,000 --> 0:01:28,000 -It got a big boost thanks to DoomCasts and - - -37 -0:01:28,000 --> 0:01:32,000 -DistroTube videos. So if you're curious, - - -38 -0:01:32,000 --> 0:01:35,000 -go ahead and check those out. - - -39 -0:01:35,000 --> 0:01:37,000 -And for general Emacs topics, - - -40 -0:01:37,000 --> 0:01:38,000 -there have been a ton of other great videos - - -41 -0:01:38,000 --> 0:01:42,000 -from Protesilaos Stavrou, Mike Zamansky, System Crafters, - - -42 -0:01:42,000 --> 0:01:45,000 -and other folks. Good stuff. - - -43 -0:01:45,000 --> 0:01:46,000 -Org continues to be a big reason - - -44 -0:01:46,000 --> 0:01:48,000 -for people to get into Emacs. - - -45 -0:01:48,000 --> 0:01:50,000 -This year, Zettelkasten-based workflows - - -46 -0:01:50,000 --> 0:01:52,000 -became popular as people played around - - -47 -0:01:52,000 --> 0:01:55,000 -with organizing ideas into small chunks - - -48 -0:01:55,000 --> 0:01:57,000 -that are linked to each other. - - -49 -0:01:57,000 --> 0:01:59,000 -org-roam is one of the packages for doing that - - -50 -0:01:59,000 --> 0:02:02,000 -and there are three presentations about it this year. - - -51 -0:02:02,000 --> 0:02:04,000 -There are also non-Org ways to do it, - - -52 -0:02:04,000 --> 0:02:07,000 -such as zetteldeft, neuron-mode, and more. - - -53 -0:02:07,000 --> 0:02:08,000 -People have been experimenting - - -54 -0:02:08,000 --> 0:02:09,000 -with Org's appearance. - - -55 -0:02:09,000 --> 0:02:12,000 -Check these screenshots out for some ideas. - - -56 -0:02:12,000 --> 0:02:14,000 -Coding: Faster JSON processing - - -57 -0:02:14,000 --> 0:02:15,000 -is going to make working with - - -58 -0:02:15,000 --> 0:02:17,000 -code analysis tools better. - - -59 -0:02:17,000 --> 0:02:21,000 -LSP-mode released version 7 and gained more contributors, too, - - -60 -0:02:21,000 --> 0:02:23,000 -so there are probably exciting times ahead - - -61 -0:02:23,000 --> 0:02:24,000 -for making Emacs even more of an - - -62 -0:02:24,000 --> 0:02:26,000 -integrated development environment. - - -63 -0:02:26,000 --> 0:02:30,000 -EAF: The Emacs Application Framework - - -64 -0:02:30,000 --> 0:02:32,000 -has some pretty interesting demos of - - -65 -0:02:32,000 --> 0:02:34,000 -embedded Qt programs in Emacs on Linux. - - -66 -0:02:34,000 --> 0:02:37,000 -Matthew Zeng will give a presentation - - -67 -0:02:37,000 --> 0:02:39,000 -on its architecture and walk through some demos, - - -68 -0:02:39,000 --> 0:02:41,000 -so check that one out too if you want. - - -69 -0:02:41,000 --> 0:02:43,000 -The big real-world change this year - - -70 -0:02:43,000 --> 0:02:47,000 -was COVID-19, of course. It sucks. A lot. - - -71 -0:02:47,000 --> 0:02:49,000 -One good thing that's come out of it - - -72 -0:02:49,000 --> 0:02:52,000 -is that many Emacs meetups have moved online, - - -73 -0:02:52,000 --> 0:02:54,000 -so it's easier to connect with people - - -74 -0:02:54,000 --> 0:02:56,000 -no matter where you are in the world. - - -75 -0:02:56,000 --> 0:03:01,000 -There's one hosted by EmacsATX on December 2 - - -76 -0:03:01,000 --> 0:03:03,000 -and it's about re-builder, leaf, and feather. - - -77 -0:03:03,000 --> 0:03:06,000 -EmacsNYC's next meetup is on December 7 - - -78 -0:03:06,000 --> 0:03:08,000 -and it's about literate programming with Org Mode. - - -79 -0:03:08,000 --> 0:03:10,000 -The Berlin remote meetup was - - -80 -0:03:10,000 --> 0:03:12,000 -just a few days ago on November 25, - - -81 -0:03:12,000 --> 0:03:15,000 -and EmacsSF and Asia-Pacific - - -82 -0:03:15,000 --> 0:03:17,000 -probably have some coming up, too. - - -83 -0:03:17,000 --> 0:03:18,000 -People generally announce the meetups - - -84 -0:03:18,000 --> 0:03:21,000 -on reddit.com/r/emacs, so you can - - -85 -0:03:21,000 --> 0:03:23,000 -look there for updates. - - -86 -0:03:23,000 --> 0:03:24,000 -If you organize one of these, - - -87 -0:03:24,000 --> 0:03:25,000 -please let me know so that - - -88 -0:03:25,000 --> 0:03:28,000 -I can include it in Emacs News. - - -89 -0:03:28,000 --> 0:03:31,000 -Lastly, there's an unofficial survey of the Emacs community. - - -90 -0:03:31,000 --> 0:03:33,000 -It closes on November 30, - - -91 -0:03:33,000 --> 0:03:34,000 -so if you'd like to participate, - - -92 -0:03:34,000 --> 0:03:37,000 -you can fill out the form at emacssurvey.org - - -93 -0:03:37,000 --> 0:03:39,000 -or send it in via e-mail. - - -94 -0:03:39,000 --> 0:03:42,000 -So those were 10 quick highlights from this year. - - -95 -0:03:42,000 --> 0:03:46,000 -If you're curious, check out the EmacsConf 2020 wiki page - - -96 -0:03:46,000 --> 0:03:47,000 -for this talk so that you can follow the links. - - -97 -0:03:47,000 --> 0:03:49,000 -If you'd like to get updates every week, - - -98 -0:03:49,000 --> 0:03:52,000 -you can check out the Emacs News I put together. - - -99 -0:03:52,000 --> 0:03:55,000 -Feel free to send me cool stuff to include. - - -100 -0:03:55,000 --> 0:03:57,000 -Now on to the rest of EmacsConf! - -101 -0:03:57,000 --> 0:03:58,000 -Have fun, and thanks for joining us! - diff --git a/2020/subtitles/emacsconf-2020-06--trivial-emacs-kits--corwin-brust.sbv b/2020/subtitles/emacsconf-2020-06--trivial-emacs-kits--corwin-brust.sbv deleted file mode 100644 index b264fca6..00000000 --- a/2020/subtitles/emacsconf-2020-06--trivial-emacs-kits--corwin-brust.sbv +++ /dev/null @@ -1,1002 +0,0 @@ -0:00:00.399,0:00:03.280 -My name is Corwin Brust and I - -0:00:03.280,0:00:06.240 -will be talking about getting started - -0:00:06.240,0:00:11.200 -with Emacs today. - -0:00:08.960,0:00:13.040 -I have been an Emacs user for a long - -0:00:11.200,0:00:15.360 -time. First of all, thanks and a huge - -0:00:13.040,0:00:18.400 -welcome to the conference - -0:00:15.360,0:00:22.400 -from me and - -0:00:18.400,0:00:24.720 -and on behalf - -0:00:22.400,0:00:26.080 -and back to the other people that - -0:00:24.720,0:00:29.920 -have been helping to organize. - -0:00:26.080,0:00:30.480 -It's been amazing just to be involved - -0:00:30.480,0:00:35.120 -with that and just, kind of, see - -0:00:32.480,0:00:35.120 -backstage. - -0:00:36.399,0:00:42.960 -So I've used a lot of different editors - -0:00:39.680,0:00:45.440 -in my time. That's - -0:00:42.960,0:00:48.399 -about 25 years as a professional - -0:00:45.440,0:00:48.399 -software engineer. - -0:00:52.399,0:00:56.160 -And most of that time I've been using - -0:00:53.920,0:01:00.960 -Emacs. I'll talk a little bit in a minute - -0:00:56.160,0:01:04.479 -(if I can ever find my slides) - -0:01:00.960,0:01:07.200 -about how I got into Emacs - -0:01:04.479,0:01:10.240 -but I think if you've used Emacs and a - -0:01:07.200,0:01:12.640 -lot of other editors for a long time, - -0:01:10.240,0:01:14.960 -something that you notice right away is that - -0:01:15.200,0:01:18.560 -you get good with it in a way that stays - -0:01:17.520,0:01:20.799 -meaningful. - -0:01:18.560,0:01:24.840 -You learn new things. Those things - -0:01:20.799,0:01:27.600 -stick with you. You learn how to - -0:01:27.600,0:01:30.720 -make it do new tricks and then - -0:01:30.720,0:01:36.799 -keep doing those tricks. - -0:01:33.759,0:01:39.439 -I want to mention that this - -0:01:36.799,0:01:41.439 -conference--oops, - -0:01:39.439,0:01:45.600 -this talk isn't about - -0:01:41.439,0:01:47.520 -how to adjust your - -0:01:45.600,0:01:50.000 -configuration specifically. I don't have - -0:01:47.520,0:01:51.520 -a bunch of good code samples in here. - -0:01:50.000,0:01:54.399 -There are other great talks at the - -0:01:51.520,0:01:57.600 -conference, particularly Andrew's, - -0:01:54.399,0:01:59.920 -that I looked at, that looked - -0:01:57.600,0:02:01.600 -like they might be more aimed at that - -0:01:59.920,0:02:02.240 -"hey, I'm just getting started with Emacs, - -0:02:02.240,0:02:07.200 -what are some things to try to make - -0:02:05.280,0:02:08.879 -it more comfortable for me starting?" This - -0:02:07.200,0:02:09.759 -is about how to think about the problem - -0:02:08.879,0:02:12.959 -space. - -0:02:09.759,0:02:14.080 -Hopefully, a good warm up as we - -0:02:12.959,0:02:17.200 -start thinking about some of the - -0:02:14.080,0:02:20.000 -lightning talks a little later on. - -0:02:17.200,0:02:22.400 -I'm just gonna quickly make sure I - -0:02:20.000,0:02:24.080 -can see my IRC buffer in case I run into - -0:02:22.400,0:02:25.680 -time. I didn't get my stopwatch started - -0:02:24.080,0:02:29.680 -for this one. - -0:02:25.680,0:02:32.879 -So all right, let's dive in. - -0:02:29.680,0:02:33.840 -We assume that we want to install - -0:02:32.879,0:02:36.560 -packages - -0:02:33.840,0:02:38.319 -and maybe configure some features. This - -0:02:36.560,0:02:39.120 -is particularly from the perspective of - -0:02:38.319,0:02:40.800 -where we're working - -0:02:39.120,0:02:42.160 -with a bunch of people on a team and we - -0:02:40.800,0:02:44.800 -want to get something done. - -0:02:42.160,0:02:46.560 -Some of us probably already have mature - -0:02:44.800,0:02:49.280 -Emacs workflows. - -0:02:46.560,0:02:50.319 -Others are installing it for the first - -0:02:49.280,0:02:53.519 -time. - -0:02:53.519,0:02:59.280 -So the first question is, you know, - -0:02:56.879,0:03:00.879 -in that context: what's the value - -0:02:59.280,0:03:02.840 -proposition? Why should I mess with my - -0:03:00.879,0:03:05.599 -machine, my mature Emacs - -0:03:02.840,0:03:07.440 -configuration, and impose my - -0:03:05.599,0:03:10.239 -ideas over the way somebody else is - -0:03:07.440,0:03:12.800 -learning Emacs? Well, - -0:03:10.239,0:03:13.840 -it can be.. I'm off my slides here a - -0:03:12.800,0:03:16.400 -little bit. - -0:03:13.840,0:03:16.959 -It can be a little bit - -0:03:16.400,0:03:20.400 -tricky - -0:03:16.959,0:03:21.440 -to learn Emacs. One thing that - -0:03:20.400,0:03:24.720 -helps us a lot - -0:03:21.440,0:03:26.239 -is if people that we're working with - -0:03:24.720,0:03:28.080 -can tell us, kinda, keystroke for - -0:03:26.239,0:03:30.480 -keystroke at times, what to do and - -0:03:28.080,0:03:32.400 -explain what everything is doing. - -0:03:30.480,0:03:35.840 -Using the same packages can really - -0:03:32.400,0:03:39.840 -help us working together on a project. - -0:03:35.840,0:03:40.720 -Speaking from my personal - -0:03:39.840,0:03:42.959 -experience, - -0:03:40.720,0:03:45.040 -it took me decades to get to the point - -0:03:42.959,0:03:46.720 -where I was excited to program in Emacs - -0:03:45.040,0:03:47.840 -Lisp. I've programmed in a lot of programming - -0:03:46.720,0:03:51.200 -languages, - -0:03:47.840,0:03:53.680 -but Lisp wasn't on my list. I looked at - -0:03:51.200,0:03:56.319 -my config that I was copy-pasting around - -0:03:53.680,0:03:57.519 -from generation after generation of - -0:03:56.319,0:03:59.519 -.emacs file or - -0:03:57.519,0:04:00.799 -recrafting it from hand and from Internet - -0:03:59.519,0:04:03.519 -searches, - -0:04:00.799,0:04:05.680 -to get the things that I needed when - -0:04:03.519,0:04:07.680 -I would quickly go install Emacs at some - -0:04:05.680,0:04:10.959 -new job or contract, - -0:04:07.680,0:04:13.680 -and - -0:04:10.959,0:04:15.280 -be able to to quickly get through that - -0:04:13.680,0:04:17.440 -workflow that caused me to install the - -0:04:15.280,0:04:20.560 -program. - -0:04:17.440,0:04:23.440 -You know, just - -0:04:20.560,0:04:25.199 -little simple one-liners that that - -0:04:23.440,0:04:27.120 -got committed to memory over decades - -0:04:25.199,0:04:28.880 -eventually just led me to a sort of "hey what's going on - -0:04:27.120,0:04:31.680 -here." And I credit - -0:04:28.880,0:04:33.520 -Jeff Goff, my good friend who died - -0:04:31.680,0:04:37.759 -earlier in 2020, - -0:04:33.520,0:04:39.280 -for my lifelong love of Emacs. - -0:04:37.759,0:04:40.800 -Perhaps EriK and I will talk about that - -0:04:39.280,0:04:41.360 -a little bit more in another talk we - -0:04:40.800,0:04:43.280 -have - -0:04:41.360,0:04:44.400 -scheduled, but Jeff was a huge - -0:04:43.280,0:04:47.280 -influenceo on us - -0:04:44.400,0:04:48.720 -in a number of ways and a huge - -0:04:47.280,0:04:50.720 -contributor to the Raku programming - -0:04:48.720,0:04:54.000 -language - -0:04:50.720,0:04:54.000 -which is very cool. - -0:04:54.840,0:05:01.039 -So, understanding how - -0:04:58.880,0:05:03.120 -to make a good decision about splitting - -0:05:01.039,0:05:03.680 -up configuration in a way to share it - -0:05:03.120,0:05:05.600 -across - -0:05:03.680,0:05:07.600 -people with really different uses of - -0:05:05.600,0:05:09.360 -Emacs... That's actually a - -0:05:07.600,0:05:11.039 -complicated topic and I want to - -0:05:09.360,0:05:12.639 -sort of back off and stare at it for a - -0:05:11.039,0:05:15.840 -second. - -0:05:12.639,0:05:18.720 -I think Emacs is about people, so that - -0:05:15.840,0:05:22.000 -means it's about community. - -0:05:18.720,0:05:24.960 -And community means we're going to - -0:05:22.000,0:05:29.120 -invite disagreement. - -0:05:24.960,0:05:32.160 -In fact, that disagreement - -0:05:29.120,0:05:33.280 -isn't necessarily a road-block to our - -0:05:32.160,0:05:35.680 -project. In fact, - -0:05:33.280,0:05:37.759 -some of the work that a community - -0:05:35.680,0:05:39.680 -project can invite us to do - -0:05:37.759,0:05:40.960 -is to get closer to each other by - -0:05:39.680,0:05:42.080 -inviting those disagreements, by - -0:05:40.960,0:05:43.280 -learning from them--learning from - -0:05:42.080,0:05:46.880 -different people's - -0:05:43.280,0:05:49.120 -styles and from how they argue, - -0:05:46.880,0:05:50.400 -and thinking about why they have that - -0:05:49.120,0:05:53.680 -perspective and - -0:05:50.400,0:05:55.360 -what technical benefits that - -0:05:53.680,0:05:56.720 -perhaps radical point of view might - -0:05:55.360,0:05:59.039 -carry away. Some people are really - -0:05:56.720,0:06:01.919 -aggressive arguers, and others - -0:05:59.039,0:06:03.120 -are very passive and really - -0:06:01.919,0:06:06.240 -couch their ideas - -0:06:03.120,0:06:08.080 -in distancing terms, to say, "well - -0:06:06.240,0:06:12.479 -probably, this is a good idea" or - -0:06:08.080,0:06:15.520 -"please double check me." - -0:06:12.479,0:06:17.120 -Those don't always necessarily indicate - -0:06:15.520,0:06:18.479 -how certain a person is, because we're - -0:06:17.120,0:06:19.520 -different. We have different ways of - -0:06:18.479,0:06:23.380 -communicating - -0:06:19.520,0:06:24.560 -ideas like certainty or excitement. - -0:06:23.380,0:06:26.560 -[Music] - -0:06:24.560,0:06:30.000 -When we think about a bunch of really - -0:06:26.560,0:06:33.280 -diverse programmers approaching Emacs, - -0:06:30.000,0:06:36.479 -probably one of our our first really big - -0:06:33.280,0:06:39.759 -challenges is just - -0:06:36.479,0:06:41.120 -to pick what we're going to go - -0:06:39.759,0:06:44.000 -after. There are a lot of - -0:06:41.120,0:06:45.759 -existing kit - -0:06:44.000,0:06:49.599 -installs and things like this. - -0:06:49.599,0:06:54.400 -My argument is that you could actually - -0:06:52.880,0:06:56.560 -get pretty far - -0:06:54.400,0:06:58.319 -just trading files around. Maybe the - -0:06:56.560,0:07:02.240 -more valuable - -0:07:02.240,0:07:06.080 -conversation to have is making the - -0:07:04.720,0:07:08.000 -hard decisions about, well, - -0:07:06.080,0:07:10.080 -"should we have vertical completion," - -0:07:08.000,0:07:11.759 -should that be the out of the box, - -0:07:10.080,0:07:15.680 -and the people that want - -0:07:11.759,0:07:17.440 -the traditional splayed out over a - -0:07:15.680,0:07:19.840 -single line completion - -0:07:17.440,0:07:20.800 -for example in the mode line, those - -0:07:19.840,0:07:22.800 -people are going to - -0:07:20.800,0:07:24.160 -add a line of config - -0:07:24.160,0:07:27.199 -to their own setup? - -0:07:29.039,0:07:34.080 -The way to get there? I mean, how do we - -0:07:32.479,0:07:35.520 -find out what works? We don't want to - -0:07:34.080,0:07:38.800 -slow down the people that - -0:07:35.520,0:07:40.479 -are super productive with Emacs by - -0:07:38.800,0:07:42.080 -asking them to completely break their - -0:07:40.479,0:07:42.560 -workflows and make it easier for new - -0:07:42.080,0:07:46.240 -folks. - -0:07:42.560,0:07:48.960 -At the same time, we do - -0:07:46.240,0:07:51.280 -want to make sure those new people are - -0:07:48.960,0:07:52.720 -excited by Emacs and not turned off by - -0:07:51.280,0:07:56.319 -having to learn - -0:07:52.720,0:07:59.840 -the entire jungle of Emacs - -0:07:56.319,0:08:03.120 -history in the form of its - -0:07:59.840,0:08:06.160 -unique technical stylings for - -0:08:03.120,0:08:09.840 -things like frames, - -0:08:06.160,0:08:12.960 -buffers, and other unique - -0:08:09.840,0:08:16.240 -Emacs viewpoints on important - -0:08:12.960,0:08:18.720 -interface concepts, especially. - -0:08:16.240,0:08:19.520 -The encouragement here is to keep - -0:08:19.520,0:08:23.280 -the initialization for a project team - -0:08:21.680,0:08:25.280 -together as a crucible. - -0:08:23.280,0:08:27.680 -Rather than necessarily following our - -0:08:25.280,0:08:31.440 -defaults of - -0:08:31.440,0:08:35.120 -finding the simplest configuration - -0:08:33.279,0:08:37.440 -that generally work and letting people - -0:08:35.120,0:08:40.479 -customize it, - -0:08:37.440,0:08:42.560 -what if we tried to look - -0:08:40.479,0:08:44.159 -for fairly specific configurations that - -0:08:42.560,0:08:46.320 -we'll expect essentially all of our - -0:08:44.159,0:08:50.320 -developers to be using, - -0:08:46.320,0:08:50.320 -at least when they submit bug reports. - -0:08:52.839,0:08:58.800 -In particular, with this, - -0:08:55.920,0:08:59.839 -I think that degree of - -0:08:58.800,0:09:01.680 -experimentation - -0:08:59.839,0:09:03.360 -can drive back into the Emacs - -0:09:01.680,0:09:04.800 -development process. In the development - -0:09:03.360,0:09:07.760 -mailing list... - -0:09:04.800,0:09:09.680 -I'm hoping I'll get a timing cue - -0:09:07.760,0:09:14.000 -here. - -0:09:15.120,0:09:18.320 -In the context of Emacs development as a - -0:09:17.760,0:09:20.959 -greater - -0:09:18.320,0:09:22.399 -entity, we see some of these struggles. - -0:09:20.959,0:09:24.000 -Should we change this default? - -0:09:22.399,0:09:26.720 -Sometimes we can have the - -0:09:24.000,0:09:29.279 -sense that defaults in Emacs will never - -0:09:26.720,0:09:30.959 -change. The conversation is too difficult. - -0:09:29.279,0:09:32.560 -I think one thing that can help us get - -0:09:30.959,0:09:36.160 -there is evidence - -0:09:32.560,0:09:38.880 -that says, "hey my 30- to 40-person project - -0:09:36.160,0:09:40.399 -is using this set of bindings and - -0:09:38.880,0:09:42.240 -here's what we learned about - -0:09:40.399,0:09:43.519 -brand new Emacs users trying to come in - -0:09:42.240,0:09:46.800 -and get work done with that." - -0:09:46.800,0:09:50.720 -(Amin: Yeah you still have - -0:09:49.360,0:09:52.640 -a couple more minutes) - -0:09:50.720,0:09:54.160 -Oh, beautiful. Okay, great. I will try to - -0:09:52.640,0:09:54.720 -get through my last few slides that i - -0:09:54.160,0:09:56.320 -cut - -0:09:54.720,0:09:58.320 -in my last walkthrough, but I think i'm - -0:09:56.320,0:10:00.640 -going quicker today thank you. - -0:09:58.320,0:10:00.640 -Thank you. - -0:10:02.000,0:10:06.800 -So let's just recap real quick: - -0:10:05.120,0:10:10.399 -in theory, Emacs works - -0:10:06.800,0:10:10.720 -out of the box. That means we're - -0:10:10.720,0:10:17.120 -free to experiment. We can - -0:10:14.079,0:10:20.399 -throw it all away and start over. - -0:10:17.120,0:10:23.760 -As an organizational principle... - -0:10:26.000,0:10:30.079 -I don't know what I was thinking on that - -0:10:27.360,0:10:32.240 -slide, excuse me. - -0:10:30.079,0:10:33.440 -Bringing it back around - -0:10:32.240,0:10:35.680 -to the free - -0:10:33.440,0:10:36.480 -and open source software community, - -0:10:35.680,0:10:39.519 -our goal - -0:10:36.480,0:10:41.440 -is to enable users - -0:10:39.519,0:10:43.040 -to unlock their computers, to do as much - -0:10:41.440,0:10:45.600 -with them as possible. - -0:10:43.040,0:10:47.680 -That's the context to take with project - -0:10:45.600,0:10:49.560 -initialization, but sometimes - -0:10:47.680,0:10:50.800 -it could make sense to put... - -0:10:49.560,0:10:53.040 -[Music] - -0:10:50.800,0:10:54.880 -to put some gloves on. I've thrown up on - -0:10:53.040,0:10:57.279 -the screen here just a couple of other - -0:10:54.880,0:10:57.920 -ideas, ways to maybe think outside of the - -0:10:57.279,0:11:00.399 -box. - -0:10:57.920,0:11:01.440 -As you're putting together project - -0:11:00.399,0:11:04.959 -nets, - -0:11:01.440,0:11:05.519 -my words of encouragement are to experiment - -0:11:04.959,0:11:09.200 -with it, - -0:11:05.519,0:11:10.560 -try different things, and think really - -0:11:09.200,0:11:14.320 -specifically about how - -0:11:10.560,0:11:17.760 -different the development users - -0:11:14.320,0:11:21.680 -might be from each other as you - -0:11:17.760,0:11:23.519 -define standards for configuring - -0:11:21.680,0:11:25.360 -the user environment of Emacs - -0:11:23.519,0:11:29.120 -specifically for developing - -0:11:25.360,0:11:30.480 -on a project. That's pretty much my talk. - -0:11:29.120,0:11:32.959 -If there's any time, I would take a - -0:11:30.480,0:11:35.040 -couple questions. - -0:11:32.959,0:11:36.480 -Thank you for your awesome talk, - -0:11:35.040,0:11:38.160 -Corwin. - -0:11:36.480,0:11:43.839 -I think we have one or two - -0:11:38.160,0:11:43.839 -minutes for a few questions. - -0:11:49.519,0:11:53.839 -Do you have the pad open or would you - -0:11:52.000,0:11:56.959 -like me to read the questions for you? - -0:11:53.839,0:11:58.000 -Oh, I managed to close the - -0:11:56.959,0:12:00.560 -pad - -0:11:58.000,0:12:03.440 -and I am trying to open it again. All - -0:12:00.560,0:12:03.440 -right, there it opened. - -0:12:03.519,0:12:06.880 -Bringing it onto a screen where I can - -0:12:05.040,0:12:08.399 -see it. Will you read me the - -0:12:06.880,0:12:09.360 -first question while I drag windows - -0:12:08.399,0:12:12.720 -around, please? - -0:12:09.360,0:12:15.600 -(Amin: Sure. It says, "do you use Emacs as a - -0:12:12.720,0:12:17.680 -community building tool?") - -0:12:15.600,0:12:19.760 -Do I use Emacs as a community building - -0:12:17.680,0:12:23.519 -tool, or how do I? - -0:12:19.760,0:12:26.720 -(Amin: It just says do you.) Yes, absolutely. - -0:12:23.519,0:12:29.920 -I think Emacs is an ambassador to - -0:12:26.720,0:12:33.279 -the GNU tool chain. - -0:12:29.920,0:12:34.560 -I think that in the fullness of time, we - -0:12:33.279,0:12:38.240 -will see an Emacs - -0:12:34.560,0:12:42.000 -that makes - -0:12:38.240,0:12:42.800 -and that makes iOS and Android and other - -0:12:42.000,0:12:45.680 -closed-source - -0:12:42.800,0:12:46.320 -tools dream. That's why they mock us - -0:12:45.680,0:12:49.200 -and call - -0:12:46.320,0:12:51.440 -Emacs an operating system. It's because - -0:12:49.200,0:12:53.920 -it could be, if we cared for it to be. - -0:12:51.440,0:12:55.680 -It's quite a threatening product - -0:12:55.680,0:12:59.440 -from the perspective of how many problem - -0:12:57.440,0:13:01.519 -spaces it can address, how many types of - -0:12:59.440,0:13:04.399 -users it can satisfy, - -0:13:01.519,0:13:05.600 -the things that we can do to make - -0:13:04.399,0:13:07.839 -it robust in those - -0:13:05.600,0:13:09.760 -environments. I mean, we're always - -0:13:07.839,0:13:11.839 -thinking about the weak points, but - -0:13:09.760,0:13:14.079 -is Emacs a community building tool? Heck - -0:13:11.839,0:13:14.079 -yeah. - -0:13:14.639,0:13:18.480 -(Amin: There's like one or two more - -0:13:17.920,0:13:21.519 -questions. - -0:13:18.480,0:13:22.480 -I think they're more long-form so it - -0:13:21.519,0:13:24.000 -might be better - -0:13:22.480,0:13:26.880 -if you took them off stream so you - -0:13:24.000,0:13:28.959 -could keep the schedule on time.) - -0:13:26.880,0:13:31.040 -i would love to take those questions - -0:13:28.959,0:13:32.399 -offline. I will respond to you in - -0:13:31.040,0:13:33.360 -writing if we don't get to it in a - -0:13:32.399,0:13:35.519 -breakout room. - -0:13:33.360,0:13:36.639 -Thanks so much for joining us. I - -0:13:35.519,0:13:38.000 -can't wait to see the rest of the - -0:13:36.639,0:13:42.800 -conference. See you there! - -0:13:38.000,0:13:42.800 -(Amin: Awesome. Thank you again so much, Corwin.) - |