diff options
author | Sacha Chua <sacha@sachachua.com> | 2021-01-02 11:57:07 -0500 |
---|---|---|
committer | Sacha Chua <sacha@sachachua.com> | 2021-01-02 11:57:07 -0500 |
commit | ce2822d04469448a5a558c7a5bf92f4ade7e1311 (patch) | |
tree | 2deb07a7099eea6ef4baf4b04a573f7790b6cace | |
parent | 1f7054f17502682dbc081b17dfd30b4c23bca06c (diff) | |
parent | 32784042c421652386b185bac5d5f4eef0143fb9 (diff) | |
download | emacsconf-wiki-ce2822d04469448a5a558c7a5bf92f4ade7e1311.tar.xz emacsconf-wiki-ce2822d04469448a5a558c7a5bf92f4ade7e1311.zip |
Merge branch 'master' of git.emacsconf.org:emacsconf-wiki
Diffstat (limited to '')
-rw-r--r-- | 2020/info/05.md | 81 | ||||
-rw-r--r-- | 2020/info/12.md | 8 | ||||
-rw-r--r-- | 2020/info/39.md | 2 | ||||
-rw-r--r-- | 2020/organizers-notebook.md | 75 | ||||
-rw-r--r-- | 2020/organizers-notebook.org | 5 | ||||
-rw-r--r-- | 2020/subtitles/emacsconf-2020--19-sharing-blogs-and-more-with-org-webring--brett-gilio-autogen.vtt | 709 | ||||
-rw-r--r-- | 2020/subtitles/emacsconf-2020--39-nongnu-elpa--questions--richard-stallman.vtt (renamed from 2020/subtitles/emacsconf-2020--39-nongnu-elpa--questions--richard-stallman-autogen.vtt) | 1610 | ||||
-rw-r--r-- | templates/page.tmpl | 58 | ||||
-rw-r--r-- | templates/vid.md | 2 |
9 files changed, 926 insertions, 1624 deletions
diff --git a/2020/info/05.md b/2020/info/05.md index 69af293e..852caff3 100644 --- a/2020/info/05.md +++ b/2020/info/05.md @@ -1,11 +1,11 @@ # Bard Bivou(m)acs - Building a bandcamp-like page for an album of music Grant Shangreaux -[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--05-bard-bivoumacs-building-a-bandcamp-like-page-for-an-album-of-music--grant-shangreaux.webm" subtitles="/2020/subtitles/emacsconf-2020--05-bard-bivoumacs-building-a-bandcamp-like-page-for-an-album-of-music--grant-shangreaux.vtt"]] +[[!template id=vid vidid="mainVideo" src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--05-bard-bivoumacs-building-a-bandcamp-like-page-for-an-album-of-music--grant-shangreaux.webm" subtitles="/2020/subtitles/emacsconf-2020--05-bard-bivoumacs-building-a-bandcamp-like-page-for-an-album-of-music--grant-shangreaux.vtt"]] [Download compressed .webm video (20.3M)](https://mirror.csclub.uwaterloo.ca/emacsconf/2020/smaller/emacsconf-2020--05-bard-bivoumacs-building-a-bandcamp-like-page-for-an-album-of-music--grant-shangreaux--vp9-q56-video-original-audio.webm) [View transcript](#transcript) -[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--05-bard-bivoumacs-building-a-bandcamp-like-page-for-an-album-of-music--questions--grant-shangreaux.webm" download="Download Q&A video, 720p" subtitles="/2020/subtitles/emacsconf-2020--05-bard-bivoumacs-building-a-bandcamp-like-page-for-an-album-of-music--questions--grant-shangreaux.vtt"]] +[[!template id=vid vidid="qnaVideo" src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--05-bard-bivoumacs-building-a-bandcamp-like-page-for-an-album-of-music--questions--grant-shangreaux.webm" download="Download Q&A video, 720p" subtitles="/2020/subtitles/emacsconf-2020--05-bard-bivoumacs-building-a-bandcamp-like-page-for-an-album-of-music--questions--grant-shangreaux.vtt"]] [Download compressed Q&A .webm video (15.7M)](https://mirror.csclub.uwaterloo.ca/emacsconf/2020/smaller/emacsconf-2020--05-bard-bivoumacs-building-a-bandcamp-like-page-for-an-album-of-music--questions--grant-shangreaux--vp9-q56-video-original-audio.webm) [View transcript for Q&A](#transcript-questions) @@ -118,7 +118,8 @@ with Unabridged Software in Lincoln, Nebraska. Long time Emacs user, relatively new Emacs hacker. Hopefully, I'll be able to show you my workflow, with how I publish music with Emacs. All right. -(00:30) So as a musician, I would like to publish my music online. I could +(<a href="#mainVideo" class="time-link">00:30</a>) +So as a musician, I would like to publish my music online. I could publish with popular online music services, but I'm more of a DIY-type, so I chose to go ahead and publish with Emacs. What's the motivation behind this? A lot of it comes down to some fundamental @@ -133,7 +134,8 @@ something that should be shared and should be freely enjoyed by everyone. Of course, artists should be compensated as well, but that's a whole different topic. -(01:39) So when I want to share my music, I want to do it without +(<a href="#mainVideo" class="time-link" data-timestamp="99">01:39</a>) +So when I want to share my music, I want to do it without impacting anyone's freedom. Using GNU software like Emacs is a good way that I can ensure that I won't be requiring people to sign away their freedoms for anything. There's a lot more I could say about this @@ -147,7 +149,8 @@ access... All the tools I need are right under my fingertips with this tool that I use every day for a long time. I don't need to look elsewhere. -(02:31) It was a challenge. I wanted to see if I could do this all +(<a href="#mainVideo" class="time-link">02:31</a>) +It was a challenge. I wanted to see if I could do this all within Emacs itself. So, how do you use Emacs to publish music? Well, for me, I needed a couple of things. I needed to be able to audition and label unlabeled audio tracks. I have a lot of files that I don't @@ -157,7 +160,8 @@ whatever audio format it is and rename the files based on that metadata, potentially. And in the end, I wanted to take those files and programmatically produce a web page for people to consume. -(03:08) I found out that Emacs scores a hundred percent on all of +(<a href="#mainVideo" class="time-link">03:08</a>) +I found out that Emacs scores a hundred percent on all of these requirements that I had for this, and a lot of that came from EMMS, the Emacs multimedia system. EMMS is great. If you haven't checked it out, please do. It's a little bit unintuitive, but once you @@ -165,7 +169,8 @@ get into it, you know it works. Basically, what EMMS gave me was the ability to listen to the tracks, organize playlists. On top of that, it gave me super-powered metadata authoring. -(03:42) I'm going to demonstrate that to you. So in order to do this, +(<a href="#mainVideo" class="time-link">03:42</a>) +I'm going to demonstrate that to you. So in order to do this, you have to require markable playlists, so (require 'emms-mark). I'm going to go through, and I'm going to open the red... I've got this. These files here. So you can see these files are mp3s. They're @@ -175,7 +180,8 @@ these files and I can do EMMS add to .., and now they've been loaded into a playlist. So you can see the playlist here. There's some leftover files. -(04:30) So I've got these three files in my playlist, and as +(<a href="#mainVideo" class="time-link">04:30</a>) +So I've got these three files in my playlist, and as you can see, it's just the file name, the path. I don't have any metadata associated with them. In this playlist, I can hit E, and it'll bring up a buffer showing the tag information that I have. I @@ -193,7 +199,8 @@ had much more than three files to do this with. Submit the changes with C-c C-c, and now we've got the playlist. You can see the artist and track number have been updated here. -(6:15) And then the final piece of this is that if you look at this, +(<a href="#mainVideo" class="time-link">6:15</a>) +And then the final piece of this is that if you look at this, you can see that the file name is still the same. So if I were looking at the directory, I would still have this file name. When packaging these up for a release, for people to download, it's nice to be able @@ -206,14 +213,16 @@ it--you'll see it's been updated with the artist, track number and track name. This format is a format string, so it's customizable of course. I just decided to go with the default. -(7:21) So that's pretty great, this workflow just with EMMS. I didn't +(<a href="#mainVideo" class="time-link">7:21</a>) +So that's pretty great, this workflow just with EMMS. I didn't have to do anything. This is all there. It's all built in. It gave me exactly what I was looking for in terms of being able to process a lot of raw audio files add metadata to them and get them ready for publishing. And this is for publishing for playback in any media player. It'll be useful. Not just for the web page that I'm building. -(7:48) So the final part, of course, is to build the web page. Emacs +(<a href="#mainVideo" class="time-link">7:48</a>) +So the final part, of course, is to build the web page. Emacs makes authoring HTML trivial. As I was going through this, I wanted to challenge myself and just be, like, can I do this just all with Emacs? Can I just make this? I don't need a... I don't need Ruby. I don't @@ -231,7 +240,8 @@ in, you can build some strings together. Here you can see I'm doing a random number, so every time I execute this, my content change. I can generate dynamic content in HTML blocks with Elisp. -(9:04) For my web page builder, It's a little more complex. I'm +(<a href="#mainVideo" class="time-link">9:04</a>) +For my web page builder, It's a little more complex. I'm pulling data out using EMMS data structures, so it's pulling that out from the track data. And then I'm using some program to generate list elements, so each track is going to have the title and track number, @@ -258,7 +268,8 @@ of of tracks here. It's kind of messy to look at, but this track list, this whole div here, is all generated by my generator code, and it works. It's great. Okay, moving on. -(11:27) So the other thing was that as I was developing this, I +(<a href="#mainVideo" class="time-link">11:27</a>) +So the other thing was that as I was developing this, I decided to use Org Babel and some of his its features for multi-language things because I needed to style it with CSS and and put actions in Javascript, and also I used SVG for authoring stuff. It @@ -290,14 +301,16 @@ just run org-babel-tangle and get my thing out and just edit one file instead of multiple files. Not for everyone, but I thought it was kind of fun. All right. -(13:45) Oh, and the final thing is that in Emacs, you can author and +(<a href="#mainVideo" class="time-link">13:45</a>) +Oh, and the final thing is that in Emacs, you can author and view SVG. So this is just an Org. This SVG, I used to make the play and pause buttons. I didn't know this, but if you edit an SVG file, you can toggle back and forth between the code and the image. It's pretty sweet. So I can iteratively work through this because of how Emacs is. -(14:20) Final considerations here, like when doing this, I want it to +(<a href="#mainVideo" class="time-link">14:20</a>) +Final considerations here, like when doing this, I want it to be all free, so I want to use fonts that use a free license. I found GNU Unifont. It's kind of cool. The content license... I chose Creative Commons Attribution ShareAlike, which is kind of like the @@ -308,13 +321,14 @@ that you can just click or link to a playlist on your favorite player, even EMMS if you want, and then packing up those albums in like a ZIP or .tar file. -(15:04) So you can go to churls.world . It just has a link to this +(<a href="#mainVideo" class="time-link">15:04</a>) +So you can go to churls.world . It just has a link to this album. I'll display it here in just a second. You can contact me. I'm shoshin on #emacs in IRC and on sourcehut. You can email me grant@churls.world, personal, or grant@unabridgedsoftware.com. All right, now. Let's see about this... This is up online, so if you want to listen to my college band's album from 20 years ago, here it is: -Cassiopeia Basement Days. Whoops. I made this art in Krita. You can +Casiopeia Basement Days. Whoops. I made this art in Krita. You can press play. You can skip around. I do have the playlist up here too. So yeah, thanks for listening. I hope you enjoyed it, and enjoy the rest of EmacsConf. Goodbye! @@ -344,7 +358,8 @@ the webcam.) Yeah, okay. (Amin: I'll maximize your webcam.) Okay, thanks. I'll get to the answer for my color theme here in a bit in IRC. -(1:31) Next question on the Etherpad, does this metadata workflow also +(<a href="#qnaVideo" class="time-link">1:31</a>) +Next question on the Etherpad, does this metadata workflow also support unsynchronized lyrics within ID3 tags, multi-line metadata? I don't know, actually. It's funny because I was trying out different things with metadata, and really the biggest thing was to figure out @@ -358,7 +373,8 @@ if you can't do it out of the box, I think you could script EMMS to do that. I'd like to know more, and I'm certainly going to be investigating it. I will try and post my findings somewhere online. -(2:39) Is it possible to import batch metadata? I'm not sure. I would +(<a href="#qnaVideo" class="time-link">2:39</a>) +Is it possible to import batch metadata? I'm not sure. I would guess yes is the answer. EMMS can connect to metadata services. I haven't done that because I was just using audio files that I created myself. I know that on the back end, it calls out to shell programs @@ -368,7 +384,8 @@ I was working with. You can also use tiny tag, and there's some other... That might be the python library. I can't remember. There's two other libraries that I can shell out to for doing metadata. -(3:24) My current workflow for tagging music is to first apply replay +(<a href="#qnaVideo" class="time-link">3:24</a>) +My current workflow for tagging music is to first apply replay gain in fubar 2000, fix egregious mistakes, use beats to apply metadata from music brains, or discogs, go over remaining albums with fubar 2000 again. Is there a chance textual tagging could allow doing @@ -381,7 +398,8 @@ work with text, and being able to use Emacs as a front end for those updates would be really fantastic. So really, it's just a matter of writing the interface to the external tool. -(4:22) Is there a link to some info expanding philosophy of how to +(<a href="#qnaVideo" class="time-link">4:22</a>) +Is there a link to some info expanding philosophy of how to compensate musicians? No, I don't really have a lot of philosophy around that. I guess the first thing I could say would be something like a universal income. I feel like that would solve a lot of @@ -390,12 +408,14 @@ about their pay. I will think about it more. This is one of my first forays into getting public with some of these ideas, so I will try to do more and let the community know. -(4:54) What Emacs theme am I using? Can't remember. It's one of the +(<a href="#qnaVideo" class="time-link">4:54</a>) +What Emacs theme am I using? Can't remember. It's one of the Kaolin themes. I think it was Aurora or or Bubble Gum, maybe, but the Kaolin themes are nice. I recommend them. Not using Doom Emacs, Doom mode line though. It's very pretty. -(5:17) SVG support built into Emacs? I'm using Emacs 27.1, and yes, +(<a href="#qnaVideo" class="time-link">5:17</a>) +SVG support built into Emacs? I'm using Emacs 27.1, and yes, SVG support is built in. I may have had to compile it with some Cairo support. I don't remember for sure. But yes, you can even take screenshots of your Emacs from within Emacs in SVG. It's pretty great. @@ -409,17 +429,20 @@ it's been fun so far. How did I manage? I can post a snippet of that, or actually I can share my screen, can't I... Okay. I actually have it up right here. -(6:49) So I think I got this from alphapapa, to be honest. I define +(<a href="#qnaVideo" class="time-link">6:49</a>) +So I think I got this from alphapapa, to be honest. I define screenshot-svg. It's an interactive command. Oh yeah, there's alphae.papa Okay, there we go. I would like to change this so that I can get it into the copy-paste buffer so I don't have to copy the file in, but I haven't really hacked on it yet. -(7:20) Okay, org heading colors. That might be a good question. I know, the +(<a href="#qnaVideo" class="time-link">7:20</a>) +Okay, org heading colors. That might be a good question. I know, the presentation... Sorry, it's hard to think and type at the same time. Think and talk and type. -(7:41) So the presentation is just a normal org file, right, so I have my +(<a href="#qnaVideo" class="time-link">7:41</a>) +So the presentation is just a normal org file, right, so I have my headers, and the author--you can even stick your email and other headers in there. But there's a package called org-tree-slide. Whoops, why is it not... I must have not required it. Good question. (Amin: @@ -442,7 +465,8 @@ as well, because it's still just an Org document using narrowing, you know. It doesn't actually change anything. Definitely recommend org-tree-slide mode. Okay, let's see, what else... -(10:29) Share my screen to demo. Oh, that's the SVG. Let's see. Okay, so I +(<a href="#qnaVideo" class="time-link">10:29</a>) +Share my screen to demo. Oh, that's the SVG. Let's see. Okay, so I don't know if you can see this now, but I'm actually viewing the SVG screenshot that I took with Emacs. See here's the source of it. So Emacs made that. And here's the image. It's cool because you can even @@ -458,7 +482,8 @@ remembering correctly. I got Emacs 27. I'm not on a Mac. I saw alphapapa's comment on reddit, and then I recompiled it with Cairo support. Yes. -(12:18) Okay, lots of good conversation on here. Yep, I have like one or two +(<a href="#qnaVideo" class="time-link">12:18</a>) +Okay, lots of good conversation on here. Yep, I have like one or two more minutes. Okay I guess while I'm here, I might as well say thank you to the organizers. I really appreciate everybody's work on this. It's fun to be a part of this community. I'm enjoying the other talks diff --git a/2020/info/12.md b/2020/info/12.md index b56abe97..d8d077c4 100644 --- a/2020/info/12.md +++ b/2020/info/12.md @@ -44,11 +44,9 @@ etc…) in one single place. ## Do you switch between British and French accents? -## What's the Emacs icon -Browser extension for org-protocol (anyone got the link / name?) is -this <https://addons.mozilla.org/en-US/firefox/addon/org-capture/> or -this -<https://addons.mozilla.org/en-US/firefox/addon/edit-with-emacs1/> +## What's the Emacs icon in the firefox address bar? +Browser extension for org-protocol made by vifon: <https://github.com/vifon/org-protocol-for-firefox> + ## How do you feel about archive files in org mode, how can that work in? diff --git a/2020/info/39.md b/2020/info/39.md index 459d478d..60d9cbf4 100644 --- a/2020/info/39.md +++ b/2020/info/39.md @@ -4,7 +4,7 @@ Richard Stallman [[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--39-nongnu-elpa--richard-stallman.webm" size="282M" subtitles="/2020/subtitles/emacsconf-2020--39-nongnu-elpa--richard-stallman.vtt" duration="6:56"]] [Download compressed .webm video (20.8M)](https://mirror.csclub.uwaterloo.ca/emacsconf/2020/smaller/emacsconf-2020--39-nongnu-elpa--richard-stallman--vp9-q56-video-original-audio.webm) -[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--39-nongnu-elpa--questions--richard-stallman.webm" download="Download Q&A video"]] +[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--39-nongnu-elpa--questions--richard-stallman.webm" size="470M" subtitles="/2020/subtitles/emacsconf-2020--39-nongnu-elpa--questions--richard-stallman.vtt" duration="46:42" download="Download Q&A video"]] [Download compressed Q&A .webm video (44M)](https://mirror.csclub.uwaterloo.ca/emacsconf/2020/smaller/emacsconf-2020--39-nongnu-elpa--questions--richard-stallman--vp9-q56-video-original-audio.webm) <!-- from the pad ---> diff --git a/2020/organizers-notebook.md b/2020/organizers-notebook.md index 107214e8..caffeb40 100644 --- a/2020/organizers-notebook.md +++ b/2020/organizers-notebook.md @@ -1,7 +1,8 @@ <!-- automatically generated from organizers-notebook.org. Please edit that file instead. --> [[!toc levels=4]] -[Export and tangle]((progn (org-md-export-to-markdown) (org-babel-tangle))) +- [Export and tangle]((progn (org-md-export-to-markdown) (org-babel-tangle))) +- [Execute buffer]((org-babel-execute-buffer)) # Tasks @@ -42,9 +43,9 @@ I modified the `subed` package to work with VTT files. The modified version is a - [X] sachac <./subtitles/emacsconf-2020--13-experience-report-steps-to-emacs-hyper-notebooks--joseph-corneli-raymond-puzio-cameron-ray-smith-autogen.vtt> - [X] sachac <./subtitles/emacsconf-2020--14-readme-driven-design--adam-ard-autogen.vtt> - [X] sachac <./subtitles/emacsconf-2020--15-moving-from-jekyll-to-orgmode-an-experience-report--adolfo-villafiorita-autogen.vtt> -- [ ] <./subtitles/emacsconf-2020--16-org-roam-presentation-demonstration-and-whats-on-the-horizon--leo-vivier-autogen.vtt> -- [ ] <./subtitles/emacsconf-2020--17-org-mode-and-org-roam-for-scholars-and-researchers--noorah-alhasan-autogen.vtt> -- [ ] <./subtitles/emacsconf-2020--18-org-roam-technical-presentation--leo-vivier-autogen.vtt> +- [X] sachac <./info/16.md> <./subtitles/emacsconf-2020--16-org-roam-presentation-demonstration-and-whats-on-the-horizon--leo-vivier.vtt> +- [X] sachac <./info/17.md> <./subtitles/emacsconf-2020--17-org-mode-and-org-roam-for-scholars-and-researchers--noorah-alhasan.vtt> +- [ ] sachac <./info/18.md> <./subtitles/emacsconf-2020--18-org-roam-technical-presentation--leo-vivier.vtt> - [ ] <./subtitles/emacsconf-2020--19-sharing-blogs-and-more-with-org-webring--brett-gilio-autogen.vtt> - [ ] <./subtitles/emacsconf-2020--20-omg-macros--corwin-brust-autogen.vtt> - [ ] <./subtitles/emacsconf-2020--21-on-why-most-of-the-best-features-in-eev-look-like-5-minute-hacks--eduardo-ochs-autogen.vtt> @@ -64,9 +65,9 @@ I modified the `subed` package to work with VTT files. The modified version is a - [ ] <./subtitles/emacsconf-2020--33-maxima-a-computer-algebra-system-in-emacs--fermin.vtt> - [ ] <./subtitles/emacsconf-2020--34-extend-emacs-to-modern-gui-applications-with-eaf--matthew-zeng-autogen.vtt> - [ ] <./subtitles/emacsconf-2020--35-waveing-at-repetitive-repetitive-repetitive-music-zmusic--questions--zachary-kanfer-autogen.vtt> -- [ ] <./subtitles/emacsconf-2020--38-emacs-development-update--john-wiegley-autogen.vtt> -- [ ] bhavin192 <./subtitles/emacsconf-2020--39-nongnu-elpa--questions--richard-stallman-autogen.vtt> -- [X] bhavin192 <./subtitles/emacsconf-2020--39-nongnu-elpa--richard-stallman-autogen.vtt> +- [ ] bhavin192 <./subtitles/emacsconf-2020--38-emacs-development-update--john-wiegley-autogen.vtt> +- [X] bhavin192 <./subtitles/emacsconf-2020--39-nongnu-elpa--questions--richard-stallman.vtt> +- [X] bhavin192 <./subtitles/emacsconf-2020--39-nongnu-elpa--richard-stallman.vtt> - [ ] <./subtitles/emacsconf-2020--40-closing-remarks-part-1-autogen.vtt> - [ ] <./subtitles/emacsconf-2020--40-closing-remarks-part-2-autogen.vtt> - [ ] <./subtitles/emacsconf-2020--41-opening-remarks-autogen.vtt> @@ -765,7 +766,8 @@ Here's the original version which compresses audio too. Usage: compress-video-co ### Upload to alternative video hosting platforms once main announcement has been out for a few days -Create playlist, too +- Create playlist, too +- Try to do Peertube via Toobnix first (bandali's in charge) ### Add subtitles @@ -804,6 +806,63 @@ and run <subtitles/fix.py> like this: `fix.py emacsconf-2020--04-music-in-plain-text--jonathan-gregory.sbv`. +### Add transcript sections + + (defvar conf/wiki-directory "~/vendor/emacsconf-wiki" "Directory that has the public conference wiki.") + + (defmacro conf/with-talk-info-file (talk &rest body) + "Evaluate BODY in the info file for TALK. + If TALK is not specified, do it in the current buffer." + (declare (indent 1)) + `(if ,talk + (with-current-buffer + (find-file-noselect + (expand-file-name (format "%d/info/%s.md" conf/year + (plist-get talk :talk-id)) + conf/wiki-directory)) + ,@body) + ,@body)) + + (defun conf/add-transcript (&optional talk) + "Try to add transcript for the current talk." + (interactive) + (conf/with-talk-info-file talk + (goto-char (point-min)) + (let (subtitles subed-auto-find-video all) + (while (re-search-forward "subtitles=\"/\\(.+?\\)\"" nil t) + (setq subtitles (cons (match-string 1) subtitles)) + (when (re-search-forward "^$\\|\\[View transcript" nil t) + (unless (string= (match-string 0) "[View transcript") + (insert + (if (string-match "questions" (car subtitles)) + "[View transcript for Q&A](#transcript-questions)\n" + "[View transcript](#transcript)\n"))))) + (when subtitles + (mapc + (lambda (subtitle-file) + (with-current-buffer (find-file-noselect (expand-file-name subtitle-file conf/wiki-directory)) + (goto-char (point-min)) + (subed-mode) + (let (text) + (while (subed-forward-subtitle-text) + (setq text (cons (subed-subtitle-text) text))) + (setq all (mapconcat 'identity (reverse text) "\n")))) + (if (re-search-forward (format "<!-- transcript: %s -->[ \t]*\n\\([.\r\n]*?\\)<!-- /transcript -->" (regexp-quote subtitle-file)) nil t) + (progn + (goto-char (match-beginning 1)) + (delete-region (match-beginning 1) (match-end 1))) + (goto-char (point-max)) + (insert (format "\n\n<!-- transcript: %s -->\n\n" subtitle-file)) + (insert (if (string-match "questions" subtitle-file) + "<a name=\"transcript-questions\"></a>\n# Transcript: Q&A\n\n" + "<a name=\"transcript\"></a>\n# Transcript\n\n")) + (save-excursion (insert "\n\n<!-- /transcript -->\n"))) + (save-excursion (insert all))) + (reverse subtitles)))))) + + ;; (conf/add-transcript (conf/find-talk "03")), or call from a talk info page + + # Other useful tidbits diff --git a/2020/organizers-notebook.org b/2020/organizers-notebook.org index f4f4b2f3..cf390b1d 100644 --- a/2020/organizers-notebook.org +++ b/2020/organizers-notebook.org @@ -65,8 +65,8 @@ I modified the =subed= package to work with VTT files. The modified version is a - [ ] [[./subtitles/emacsconf-2020--33-maxima-a-computer-algebra-system-in-emacs--fermin.vtt]] - [ ] [[./subtitles/emacsconf-2020--34-extend-emacs-to-modern-gui-applications-with-eaf--matthew-zeng-autogen.vtt]] - [ ] [[./subtitles/emacsconf-2020--35-waveing-at-repetitive-repetitive-repetitive-music-zmusic--questions--zachary-kanfer-autogen.vtt]] -- [ ] [[./subtitles/emacsconf-2020--38-emacs-development-update--john-wiegley-autogen.vtt]] -- [ ] bhavin192 [[./subtitles/emacsconf-2020--39-nongnu-elpa--questions--richard-stallman-autogen.vtt]] +- [ ] bhavin192 [[./subtitles/emacsconf-2020--38-emacs-development-update--john-wiegley-autogen.vtt]] +- [X] bhavin192 [[./subtitles/emacsconf-2020--39-nongnu-elpa--questions--richard-stallman.vtt]] - [X] bhavin192 [[./subtitles/emacsconf-2020--39-nongnu-elpa--richard-stallman.vtt]] - [ ] [[./subtitles/emacsconf-2020--40-closing-remarks-part-1-autogen.vtt]] - [ ] [[./subtitles/emacsconf-2020--40-closing-remarks-part-2-autogen.vtt]] @@ -893,4 +893,5 @@ If TALK is not specified, do it in the current buffer." # org-indent-indentation-per-level: 2 # org-pretty-entities: nil # org-edit-src-content-indentation: 0 +# org-src-preserve-indentation: t # End: diff --git a/2020/subtitles/emacsconf-2020--19-sharing-blogs-and-more-with-org-webring--brett-gilio-autogen.vtt b/2020/subtitles/emacsconf-2020--19-sharing-blogs-and-more-with-org-webring--brett-gilio-autogen.vtt deleted file mode 100644 index 672f36de..00000000 --- a/2020/subtitles/emacsconf-2020--19-sharing-blogs-and-more-with-org-webring--brett-gilio-autogen.vtt +++ /dev/null @@ -1,709 +0,0 @@ -WEBVTT - -00:00:01.120 --> 00:00:03.120 -hi my name is brett gillio - -00:00:03.120 --> 00:00:04.560 -and today I'll be sharing a project that - -00:00:04.560 --> 00:00:05.920 -several people and I've been working on - -00:00:05.920 --> 00:00:07.520 -for the past few months called org - -00:00:07.520 --> 00:00:08.480 -webbery - -00:00:08.480 --> 00:00:10.559 -the essential idea behind org webbering - -00:00:10.559 --> 00:00:12.240 -is to take the power of creating a - -00:00:12.240 --> 00:00:13.679 -website with org mode - -00:00:13.679 --> 00:00:15.360 -and its built-in features to control - -00:00:15.360 --> 00:00:17.520 -html and xml output - -00:00:17.520 --> 00:00:19.119 -and utilize it to share blogs git - -00:00:19.119 --> 00:00:22.080 -commits or other rss or atom static feed - -00:00:22.080 --> 00:00:22.640 -content - -00:00:22.640 --> 00:00:25.920 -to share directly with your audiences - -00:00:25.920 --> 00:00:28.560 -my website is created entirely using org - -00:00:28.560 --> 00:00:30.000 -mode and I love the amount of - -00:00:30.000 --> 00:00:31.679 -flexibility it offers me while keeping - -00:00:31.679 --> 00:00:34.079 -everything quite simple - -00:00:34.079 --> 00:00:35.920 -I am able to put information about - -00:00:35.920 --> 00:00:37.600 -myself a blog - -00:00:37.600 --> 00:00:40.079 -and my org web ring tool directly on on - -00:00:40.079 --> 00:00:42.879 -the home page using symbol org syntax - -00:00:42.879 --> 00:00:44.640 -as you can see I am currently displaying - -00:00:44.640 --> 00:00:46.239 -three posts on my website - -00:00:46.239 --> 00:00:48.239 -the first is the geeksday announcement - -00:00:48.239 --> 00:00:49.840 -the second is a quarterly financial - -00:00:49.840 --> 00:00:51.039 -update from sourcehut - -00:00:51.039 --> 00:00:52.320 -and the third is a post from - -00:00:52.320 --> 00:00:54.480 -drewdevault's blog drew devault by the - -00:00:54.480 --> 00:00:55.120 -way - -00:00:55.120 --> 00:00:57.680 -his open ring is what helped inspire - -00:00:57.680 --> 00:00:59.039 -what is today or - -00:00:59.039 --> 00:01:01.359 -web ring all this information is - -00:01:01.359 --> 00:01:03.440 -gathered using a sort of manifest file - -00:01:03.440 --> 00:01:05.360 -that org web ring will use to acquire - -00:01:05.360 --> 00:01:07.040 -and place the information in the correct - -00:01:07.040 --> 00:01:07.760 -format - -00:01:07.760 --> 00:01:10.000 -according to your specification - -00:01:10.000 --> 00:01:10.799 -additionally - -00:01:10.799 --> 00:01:11.840 -you can see that the geeksday - -00:01:11.840 --> 00:01:14.159 -announcement is post is pinned - -00:01:14.159 --> 00:01:16.000 -stylization is likewise controlled by - -00:01:16.000 --> 00:01:17.200 -using css - -00:01:17.200 --> 00:01:18.960 -you can add nice subtle color changes on - -00:01:18.960 --> 00:01:20.720 -mouse hover or control the size of the - -00:01:20.720 --> 00:01:23.759 -flexboxes all using standard css - -00:01:23.759 --> 00:01:26.080 -let's examine a simple scenario of using - -00:01:26.080 --> 00:01:28.320 -org webroom - -00:01:28.320 --> 00:01:30.400 -after you have org webbing installed - -00:01:30.400 --> 00:01:32.000 -you'll be able to create a manifest file - -00:01:32.000 --> 00:01:33.759 -that looks something like this - -00:01:33.759 --> 00:01:35.680 -this particular manifest file is an - -00:01:35.680 --> 00:01:37.840 -example offered in the repository under - -00:01:37.840 --> 00:01:39.520 -the assets directory - -00:01:39.520 --> 00:01:41.200 -please feel free to utilize them as a - -00:01:41.200 --> 00:01:42.640 -starting point if you are interested in - -00:01:42.640 --> 00:01:44.399 -using org web ring - -00:01:44.399 --> 00:01:46.320 -as you can see here we are able to place - -00:01:46.320 --> 00:01:48.640 -an rss or atom feed in this file and - -00:01:48.640 --> 00:01:50.479 -specify information about the feed we - -00:01:50.479 --> 00:01:51.920 -wish to produce - -00:01:51.920 --> 00:01:54.640 -for example the total number of items - -00:01:54.640 --> 00:01:56.159 -and the total number of entries per - -00:01:56.159 --> 00:01:57.439 -source item - -00:01:57.439 --> 00:01:59.439 -additionally you're able to filter posts - -00:01:59.439 --> 00:02:00.960 -you feel would not be relevant to your - -00:02:00.960 --> 00:02:02.079 -web ring - -00:02:02.079 --> 00:02:04.079 -we can take this example file and run - -00:02:04.079 --> 00:02:13.120 -the dispatch and see the result - -00:02:13.120 --> 00:02:15.280 -the web ring displays a proper summary - -00:02:15.280 --> 00:02:17.760 -set to a character limit you can specify - -00:02:17.760 --> 00:02:19.599 -additionally all the links in the web - -00:02:19.599 --> 00:02:21.520 -ring are navigable and will open in a - -00:02:21.520 --> 00:02:22.560 -new tab - -00:02:22.560 --> 00:02:24.239 -that way if someone wishes to view the - -00:02:24.239 --> 00:02:25.920 -content they simply need to - -00:02:25.920 --> 00:02:30.319 -click on the title or their source name - -00:02:30.319 --> 00:02:32.879 -now this particular example is not - -00:02:32.879 --> 00:02:34.800 -stylized because we have not given the - -00:02:34.800 --> 00:02:37.120 -website a css file to reference - -00:02:37.120 --> 00:02:38.720 -let's examine what is happening from - -00:02:38.720 --> 00:02:40.319 -behind the scenes a little bit - -00:02:40.319 --> 00:02:43.040 -from inside of the org mode file let's - -00:02:43.040 --> 00:02:43.360 -run - -00:02:43.360 --> 00:02:48.800 -the org web ring function - -00:02:48.800 --> 00:02:51.280 -as you can see it takes that xml file - -00:02:51.280 --> 00:02:54.239 -and processes it into the correct html - -00:02:54.239 --> 00:02:56.080 -you will then be able to embed this org - -00:02:56.080 --> 00:02:58.080 -function into another org file to be - -00:02:58.080 --> 00:03:00.080 -able to display it on your website - -00:03:00.080 --> 00:03:02.840 -pretty neat let's look at an at another - -00:03:02.840 --> 00:03:05.440 -example - -00:03:05.440 --> 00:03:07.360 -on my website we have an example of - -00:03:07.360 --> 00:03:09.519 -using org webbring to reply to another - -00:03:09.519 --> 00:03:10.800 -blog post - -00:03:10.800 --> 00:03:12.480 -what I have here is a post from drew to - -00:03:12.480 --> 00:03:14.640 -vault's blog it is showcased clearly at - -00:03:14.640 --> 00:03:16.239 -the top as a single entry - -00:03:16.239 --> 00:03:19.040 -and you can see it is pinned the pinning - -00:03:19.040 --> 00:03:20.800 -functionality ensures that this post is - -00:03:20.800 --> 00:03:22.400 -moved to the front of the hypothetical - -00:03:22.400 --> 00:03:23.120 -web ring - -00:03:23.120 --> 00:03:25.760 -and guaranteeing its visibility this is - -00:03:25.760 --> 00:03:27.599 -then coupled with a few changes such as - -00:03:27.599 --> 00:03:29.840 -disabling the generation time - -00:03:29.840 --> 00:03:31.120 -which would not be relevant to the - -00:03:31.120 --> 00:03:33.280 -readers and a change of the text in the - -00:03:33.280 --> 00:03:34.000 -header - -00:03:34.000 --> 00:03:37.040 -to demonstrate is indeed used as a reply - -00:03:37.040 --> 00:03:39.599 -an example of this is also provided in - -00:03:39.599 --> 00:03:42.319 -the assets directory - -00:03:42.319 --> 00:03:44.799 -last we can use org webbring as a blog - -00:03:44.799 --> 00:03:45.519 -planet - -00:03:45.519 --> 00:03:47.599 -which is one of my favorites this takes - -00:03:47.599 --> 00:03:49.360 -after the emax life planet which I - -00:03:49.360 --> 00:03:51.120 -believe is moderated by sasha - -00:03:51.120 --> 00:03:53.200 -and others as well as the haskell and - -00:03:53.200 --> 00:03:54.720 -ocamoplanets - -00:03:54.720 --> 00:03:56.959 -a planet for the uninitiated is a - -00:03:56.959 --> 00:03:58.879 -curated form of content sharing about a - -00:03:58.879 --> 00:04:00.159 -set of topics - -00:04:00.159 --> 00:04:02.400 -the max life haskell and ocampo planets - -00:04:02.400 --> 00:04:03.439 -as their names imply - -00:04:03.439 --> 00:04:05.920 -cover Emacs haskell and ocampo blogs - -00:04:05.920 --> 00:04:07.200 -respectively - -00:04:07.200 --> 00:04:09.680 -likewise my planet covers programming - -00:04:09.680 --> 00:04:11.360 -language theory and category theory - -00:04:11.360 --> 00:04:12.239 -primarily - -00:04:12.239 --> 00:04:13.920 -it works in essentially the same way as - -00:04:13.920 --> 00:04:15.840 -the org web ring you provide it with a - -00:04:15.840 --> 00:04:17.519 -list of feeds that get parsed - -00:04:17.519 --> 00:04:20.000 -however unlike the web ring the planet - -00:04:20.000 --> 00:04:21.919 -function has no limits on the number of - -00:04:21.919 --> 00:04:23.040 -entries per source - -00:04:23.040 --> 00:04:24.639 -and the display number of posts is - -00:04:24.639 --> 00:04:27.600 -increased significantly - -00:04:27.600 --> 00:04:29.759 -the syndicates or sources have their - -00:04:29.759 --> 00:04:30.720 -feeds shown - -00:04:30.720 --> 00:04:32.639 -visibly to users who may wish to fetch - -00:04:32.639 --> 00:04:33.759 -them - -00:04:33.759 --> 00:04:35.440 -a planet is typically meant to be a - -00:04:35.440 --> 00:04:37.040 -standalone page and not something you - -00:04:37.040 --> 00:04:38.639 -would embed in another page like a web - -00:04:38.639 --> 00:04:39.440 -ring - -00:04:39.440 --> 00:04:41.680 -all this is provided under a single file - -00:04:41.680 --> 00:04:43.600 -in the org web ring package as the code - -00:04:43.600 --> 00:04:45.280 -reuse is quite high - -00:04:45.280 --> 00:04:48.240 -aside from my own website we can view - -00:04:48.240 --> 00:04:49.840 -the org web ring being used in neat - -00:04:49.840 --> 00:04:52.400 -context with varying stylizations - -00:04:52.400 --> 00:04:54.320 -here's a nice example from mikhail - -00:04:54.320 --> 00:04:57.680 -kirilov at w96k.ru - -00:04:57.680 --> 00:05:00.000 -featuring a four symmetrical flexbox - -00:05:00.000 --> 00:05:00.960 -layout - -00:05:00.960 --> 00:05:02.720 -an appropriate russian language timing - -00:05:02.720 --> 00:05:04.720 -coding which can be also set in the org - -00:05:04.720 --> 00:05:07.360 -web ring manifest - -00:05:07.360 --> 00:05:09.600 -another is an example from camilo mesa - -00:05:09.600 --> 00:05:10.400 -gayete - -00:05:10.400 --> 00:05:13.280 -using ox hugo with org webring and - -00:05:13.280 --> 00:05:14.320 -likewise correct - -00:05:14.320 --> 00:05:15.840 -features the correct spanish time - -00:05:15.840 --> 00:05:17.680 -encoding - -00:05:17.680 --> 00:05:22.240 -last my other website workircd.org - -00:05:22.240 --> 00:05:24.400 -shows the web ring being used in - -00:05:24.400 --> 00:05:26.560 -combination with ocamo's tool link - -00:05:26.560 --> 00:05:27.440 -supalt - -00:05:27.440 --> 00:05:32.800 -to fetch git logs for that project - -00:05:32.800 --> 00:05:34.639 -you may obtain org web ring directly - -00:05:34.639 --> 00:05:36.320 -from source hut and add it to your load - -00:05:36.320 --> 00:05:37.039 -path - -00:05:37.039 --> 00:05:39.639 -additionally you will need to obtain - -00:05:39.639 --> 00:05:40.800 -xmlgen.el - -00:05:40.800 --> 00:05:43.280 -which is unfortunately not yet on alpha - -00:05:43.280 --> 00:05:44.960 -although I have been trying to get this - -00:05:44.960 --> 00:05:46.800 -rectified so I do not have to rewrite - -00:05:46.800 --> 00:05:49.840 -org web brings xml to html parser - -00:05:49.840 --> 00:05:51.759 -or if you're one of the cool kids using - -00:05:51.759 --> 00:05:54.000 -my favorite package manager gnu geeks - -00:05:54.000 --> 00:06:06.319 -you can obtain it like so - -00:06:06.319 --> 00:06:08.800 -all of the documentation for org web - -00:06:08.800 --> 00:06:09.840 -ring is available - -00:06:09.840 --> 00:06:12.000 -on the sourceup website or in the readme - -00:06:12.000 --> 00:06:13.840 -file after you check it out from the get - -00:06:13.840 --> 00:06:15.039 -tree - -00:06:15.039 --> 00:06:17.360 -there are so many ways to customize org - -00:06:17.360 --> 00:06:18.240 -web ring - -00:06:18.240 --> 00:06:20.880 -as there are just as many variables as - -00:06:20.880 --> 00:06:21.520 -there are - -00:06:21.520 --> 00:06:24.319 -parts and components to org web ring for - -00:06:24.319 --> 00:06:25.759 -you to change - -00:06:25.759 --> 00:06:27.759 -all of this is able to be done simply - -00:06:27.759 --> 00:06:31.600 -from that same manifest file - -00:06:31.600 --> 00:06:33.919 -now taking a moment to examine some of - -00:06:33.919 --> 00:06:35.759 -the org web ring code - -00:06:35.759 --> 00:06:37.840 -you can see it is all done in the same - -00:06:37.840 --> 00:06:40.160 -e-lisp that everybody else is used to - -00:06:40.160 --> 00:06:43.120 -now admittedly my e-lisp is not as - -00:06:43.120 --> 00:06:43.919 -strong as - -00:06:43.919 --> 00:06:47.120 -probably somebody else's so if you are - -00:06:47.120 --> 00:06:50.479 -an e-lisp ninja please feel free to - -00:06:50.479 --> 00:06:53.280 -send a contribution or a patch and tell - -00:06:53.280 --> 00:06:54.880 -me what I'm doing wrong - -00:06:54.880 --> 00:06:57.039 -it's I am not going to be offended by - -00:06:57.039 --> 00:06:58.639 -that at all I would love to see this - -00:06:58.639 --> 00:06:59.360 -code to - -00:06:59.360 --> 00:07:02.560 -improve otherwise I don't think it's - -00:07:02.560 --> 00:07:04.160 -half bad - -00:07:04.160 --> 00:07:06.800 -considering that my experience with - -00:07:06.800 --> 00:07:08.880 -lisps is usually in scheme - -00:07:08.880 --> 00:07:11.280 -me moving from scheme to e-lisp was not - -00:07:11.280 --> 00:07:13.680 -all that hard - -00:07:13.680 --> 00:07:17.120 -taking the syntax apart - -00:07:17.120 --> 00:07:20.880 -we're able to see that we can - -00:07:20.880 --> 00:07:24.240 -fetch urls which are then parsed and - -00:07:24.240 --> 00:07:27.680 -filtered sorted and then kind of reverse - -00:07:27.680 --> 00:07:28.479 -sorted - -00:07:28.479 --> 00:07:32.960 -rather to get you to the web ring result - -00:07:32.960 --> 00:07:34.639 -all of this is then passed through - -00:07:34.639 --> 00:07:37.840 -different parts of the xmlgen.el - -00:07:37.840 --> 00:07:40.639 -functions which gets you that html that - -00:07:40.639 --> 00:07:43.520 -you saw earlier - -00:07:43.520 --> 00:07:45.599 -org webbring is fully free software - -00:07:45.599 --> 00:07:47.440 -distributed under the gnu general public - -00:07:47.440 --> 00:07:49.280 -license versions three or later - -00:07:49.280 --> 00:07:52.000 -at your option I love accepting patches - -00:07:52.000 --> 00:07:53.120 -and collaborating - -00:07:53.120 --> 00:07:54.319 -I hope you will consider using - -00:07:54.319 --> 00:07:56.720 -orawebring you can contact me on - -00:07:56.720 --> 00:07:59.759 -freenode oftc or many other ioc irc - -00:07:59.759 --> 00:08:01.520 -networks at brettgillio - -00:08:01.520 --> 00:08:05.120 -or email me at brettgee gnu.org - -00:08:05.120 --> 00:08:07.759 -thanks so much to amin bendali and the - -00:08:07.759 --> 00:08:08.720 -Emacs cough - -00:08:08.720 --> 00:08:11.120 -organizers and to you the audience - -00:08:11.120 --> 00:08:13.840 -thanks diff --git a/2020/subtitles/emacsconf-2020--39-nongnu-elpa--questions--richard-stallman-autogen.vtt b/2020/subtitles/emacsconf-2020--39-nongnu-elpa--questions--richard-stallman.vtt index 82fc005a..41325095 100644 --- a/2020/subtitles/emacsconf-2020--39-nongnu-elpa--questions--richard-stallman-autogen.vtt +++ b/2020/subtitles/emacsconf-2020--39-nongnu-elpa--questions--richard-stallman.vtt @@ -1,22 +1,19 @@ WEBVTT 00:00:00.640 --> 00:00:04.160 -okay so the first question is what is an +Okay. So, the first question is, "What is an -00:00:04.160 --> 00:00:05.680 -example of a car - -00:00:05.680 --> 00:00:08.800 -a package currently in +00:00:04.160 --> 00:00:08.800 +example of a package currently in 00:00:08.800 --> 00:00:12.160 -a non-elpa repo that does not work well +a non-ELPA repo that does not work well 00:00:12.160 --> 00:00:13.759 -with Emacs +with Emacs?" 00:00:13.759 --> 00:00:18.000 -well one of them is s dot el +Well, one of them is s.el, 00:00:18.000 --> 00:00:19.760 and this is what made me aware that @@ -25,7 +22,7 @@ and this is what made me aware that there was an issue here that caused 00:00:21.920 --> 00:00:25.760 -problems well s.e.l +problems. Well, s.el 00:00:25.760 --> 00:00:29.439 is a beautifully written package @@ -34,67 +31,67 @@ is a beautifully written package that appears to be very useful for 00:00:31.279 --> 00:00:32.800 -people +people. 00:00:32.800 --> 00:00:36.320 -and there's just one thing wrong with it +And there's just one thing wrong with it. 00:00:36.320 --> 00:00:39.520 -it gobbled up the name space +It gobbled up the name space 00:00:39.520 --> 00:00:43.680 -of symbols starting with s dash +of symbols starting with s dash. 00:00:43.680 --> 00:00:47.039 -and I was shocked to discover that +And I was shocked to discover that 00:00:47.039 --> 00:00:49.440 somebody who had not coordinated with 00:00:49.440 --> 00:00:51.760 -the Emacs developers at all +the Emacs developers at all, 00:00:51.760 --> 00:00:55.360 had implemented a package using such a 00:00:55.360 --> 00:00:56.800 -short prefix which +short prefix, which -00:00:56.800 --> 00:00:59.760 -isn't the right way to do things oh by +00:00:56.800 --> 00:00:58.723 +isn't the right way to do things. -00:00:59.760 --> 00:01:01.520 -the way the questions have moved off the +00:00:58.723 --> 00:01:01.520 +Oh, by the way, the questions have moved off the 00:01:01.520 --> 00:01:04.000 -screen this is no good I can continue +screen, this is no good. I can continue 00:01:04.000 --> 00:01:05.360 -answering this one +answering this one, 00:01:05.360 --> 00:01:08.880 -but I'll be stuck when this one is over +but I'll be stuck when this one is over. 00:01:08.880 --> 00:01:12.159 -anyway so uh +Anyway, so… 00:01:12.159 --> 00:01:15.040 -and I was told that there was nothing I +I was told that there was nothing I 00:01:15.040 --> 00:01:16.560 -could do about it +could do about it, 00:01:16.560 --> 00:01:19.920 -that so many users packages were using +that so many users, packages were using 00:01:19.920 --> 00:01:22.960 -swl and thus essentially using that +s.el and thus essentially using that 00:01:22.960 --> 00:01:24.240 definition 00:01:24.240 --> 00:01:28.080 -of the s dash star symbols +of the s-* symbols, 00:01:28.080 --> 00:01:31.360 that any attempt to use them @@ -103,64 +100,61 @@ that any attempt to use them publicly or privately for anything else 00:01:34.720 --> 00:01:38.079 -would lead to horrible problems +would lead to horrible problems. 00:01:38.079 --> 00:01:41.680 -and I don't like that +And I don't like that. 00:01:41.680 --> 00:01:45.520 -I decided I wanted to do something +I decided, I wanted to do something 00:01:45.520 --> 00:01:49.040 -a so that that wouldn't happen again +a) so that wouldn't happen again 00:01:49.040 --> 00:01:52.320 -and b to make it unhappen +and b) to make it unhappen 00:01:52.320 --> 00:01:55.119 -in that case well the way to make it +in that case. Well, the way to make it 00:01:55.119 --> 00:01:57.840 unhappen in that case is with a new 00:01:57.840 --> 00:02:02.240 -symbol renaming feature the idea is +symbol renaming feature. The idea is, 00:02:02.240 --> 00:02:05.360 -you rename that file to something else +you rename that file to something else, 00:02:05.360 --> 00:02:09.119 -and then you define an s.e.l that +and then you define an s.el that 00:02:09.119 --> 00:02:11.520 sets up symbol renaming and then loads 00:02:11.520 --> 00:02:13.040 -the something else +the something else. -00:02:13.040 --> 00:02:16.080 -so it actually runs the same code it +00:02:13.040 --> 00:02:15.590 +So, it actually runs the same code, -00:02:16.080 --> 00:02:16.400 -just +00:02:15.590 --> 00:02:16.400 +it just 00:02:16.400 --> 00:02:20.879 doesn't globally define the symbols 00:02:20.879 --> 00:02:23.920 -s dash whatever but they +s dash whatever, but they 00:02:23.920 --> 00:02:26.160 appear to work for the programs that -00:02:26.160 --> 00:02:28.319 -explicitly - -00:02:28.319 --> 00:02:32.640 -require that require sdl +00:02:26.160 --> 00:02:32.640 +explicitly require s.el 00:02:32.640 --> 00:02:36.000 -or the s package so this gets the same +or the s package. So, this gets the same 00:02:36.000 --> 00:02:38.080 behavior for all the programs that are @@ -169,94 +163,85 @@ behavior for all the programs that are using that library 00:02:40.239 --> 00:02:43.360 -and uh doesn't interfere +and doesn't interfere 00:02:43.360 --> 00:02:47.840 -with the global name space at all +with the global name space at all. 00:02:47.840 --> 00:02:50.319 -however to do that we need to have a +However, to do that we need to have a 00:02:50.319 --> 00:02:52.080 package 00:02:52.080 --> 00:02:55.360 -s.e.l that isn't the same +s.el, that isn't the same 00:02:55.360 --> 00:02:57.760 -totally a short file that's totally +totally. A short one file that's totally 00:02:57.760 --> 00:02:58.640 -different +different. 00:02:58.640 --> 00:03:01.440 -plus we've got to have the file that +Plus, we've got to have the file that 00:03:01.440 --> 00:03:02.840 normally is called 00:03:02.840 --> 00:03:06.239 -s.e.l available but +s.el available, but 00:03:06.239 --> 00:03:10.319 -uh under another name well +under another name. Well, 00:03:10.319 --> 00:03:13.040 -how are we going to do that we can't put - -00:03:13.040 --> 00:03:14.800 -this into +how are we going to do that? We can't put -00:03:14.800 --> 00:03:18.879 -into Emacs in a nice way that +00:03:13.040 --> 00:03:18.879 +this into Emacs in a nice way that -00:03:18.879 --> 00:03:21.920 -won't make the uh won't make the +00:03:18.879 --> 00:03:24.560 +won't make the maintainer angry. -00:03:21.920 --> 00:03:24.560 -maintainer angry - -00:03:24.560 --> 00:03:26.480 -of the mate to the developer of that - -00:03:26.480 --> 00:03:28.159 -package +00:03:24.560 --> 00:03:28.159 +(or the developer of that package.) 00:03:28.159 --> 00:03:32.080 -but we can do it with non-gnu +But we can do it with NonGNU 00:03:32.080 --> 00:03:34.640 -elpa we can put those two things into +ELPA. We can put those two things into 00:03:34.640 --> 00:03:36.239 -non-gnu elpa +NonGNU ELPA 00:03:36.239 --> 00:03:38.720 -without any difficulty and this shows +without any difficulty. And this shows 00:03:38.720 --> 00:03:40.720 -one of the advantages +one of the advantages. 00:03:40.720 --> 00:03:43.280 -we can put files we can put packages +We can put files, we can put packages 00:03:43.280 --> 00:03:45.440 -into non-gdu elpa +into NonGNU ELPA 00:03:45.440 --> 00:03:48.400 -and make changes in them now in general +and make changes in them. Now, in general 00:03:48.400 --> 00:03:49.599 we wouldn't 00:03:49.599 --> 00:03:51.760 -go to the effort of making big changes +go to the effort of making big changes. 00:03:51.760 --> 00:03:54.319 -that's just too much to do +That's just too much to do 00:03:54.319 --> 00:03:56.400 -unless something's really important but +unless something's really important. But 00:03:56.400 --> 00:03:58.000 small changes @@ -265,49 +250,49 @@ small changes that help things fit in are 00:04:01.120 --> 00:04:04.319 -easy to do and +easy to do. 00:04:04.319 --> 00:04:07.120 -uh okay oh so basically the recording +Okay, oh, so basically the recording 00:04:07.120 --> 00:04:10.319 -didn't get anything until now I just saw +didn't get anything until now. I just saw 00:04:10.319 --> 00:04:13.439 -a note pop up this session is now being +a note pop up, "this session is now being 00:04:13.439 --> 00:04:14.319 -recorded +recorded". 00:04:14.319 --> 00:04:16.320 -I hope it's been recorded all along it +I hope it's been recorded all along. It 00:04:16.320 --> 00:04:18.160 would be a shame to 00:04:18.160 --> 00:04:21.280 -spoil oh good okay +spoil… Oh, good okay. 00:04:21.280 --> 00:04:27.120 -okay good so uh that's one of the issues +So, that's one of the issues. 00:04:27.120 --> 00:04:30.479 -uh does non-gnu eopa already exist +"Does NonGNU ELPA already exist 00:04:30.479 --> 00:04:33.840 -or is this a sort of quote plan I don't +or is this a sort of "plan"?" I don't 00:04:33.840 --> 00:04:35.360 know why you have to 00:04:35.360 --> 00:04:37.919 -put scare quotes around the word plan +put scare quotes around the word plan. 00:04:37.919 --> 00:04:40.400 -it's sort of in between +It's sort of in between. 00:04:40.400 --> 00:04:44.160 -it's the creation of it is started you +The creation of it is started. You 00:04:44.160 --> 00:04:45.440 will find @@ -316,52 +301,52 @@ will find that there is an archive that it's 00:04:48.160 --> 00:04:51.520 -possible to download packages from +possible to download packages from, 00:04:51.520 --> 00:04:54.880 -and there is a repository to put them in +and there is a repository to put them in, 00:04:54.880 --> 00:04:57.120 but that's not the way it's really 00:04:57.120 --> 00:04:58.560 -supposed to work +supposed to work. 00:04:58.560 --> 00:05:02.800 -uh this is not supposed to be like the +This is not supposed to be like the 00:05:02.800 --> 00:05:04.320 -new elpa where there's +GNU ELPA, where there's 00:05:04.320 --> 00:05:07.280 one repo for all the packages and thus 00:05:07.280 --> 00:05:09.039 -anyone who wants to edit any of them +anyone who wants to edit any of them, 00:05:09.039 --> 00:05:11.199 anyone that we want to have edit any of 00:05:11.199 --> 00:05:11.680 -them +them, 00:05:11.680 --> 00:05:13.280 has got to have access to the whole 00:05:13.280 --> 00:05:15.440 -thing for one thing +thing for one thing. 00:05:15.440 --> 00:05:18.560 -some packages will make +Some packages will make 00:05:18.560 --> 00:05:21.840 -an arrangement with the developers +an arrangement with the developers, 00:05:21.840 --> 00:05:25.120 and they'll assure us that they will 00:05:25.120 --> 00:05:27.039 -do things as things should be done and +do things as things should be done, and 00:05:27.039 --> 00:05:28.400 then we'll @@ -370,115 +355,109 @@ then we'll have their repo copied automatically 00:05:32.080 --> 00:05:35.919 -or in other cases say +or in other cases, say, 00:05:35.919 --> 00:05:38.160 copied manually with a little checking 00:05:38.160 --> 00:05:40.160 -every so often - -00:05:40.160 --> 00:05:43.199 -uh and then uh in +every so often. -00:05:43.199 --> 00:05:46.400 -other cases we'll need to have our own +00:05:40.160 --> 00:05:46.400 +In other cases we'll need to have our own 00:05:46.400 --> 00:05:49.440 -repo for a particular package +repo for a particular package. 00:05:49.440 --> 00:05:52.479 -but we shouldn't have a single repo for +But we shouldn't have a single repo for 00:05:52.479 --> 00:05:54.400 -all the packages we should have a repo +all the packages. We should have a repo 00:05:54.400 --> 00:05:55.919 -for each package +for each package, 00:05:55.919 --> 00:05:57.840 so that the people working on that can 00:05:57.840 --> 00:06:01.120 -get access to modify it +get access to modify it. 00:06:01.120 --> 00:06:04.319 -this has to be finished setting up +This has to be finished setting up, 00:06:04.319 --> 00:06:06.080 and we're still working out the 00:06:06.080 --> 00:06:07.680 -procedures +procedures. 00:06:07.680 --> 00:06:11.039 -for instance for making the arrangements +For instance, for making the arrangements 00:06:11.039 --> 00:06:14.400 with the developers of a package so that 00:06:14.400 --> 00:06:15.440 -we can +we can, 00:06:15.440 --> 00:06:18.840 -we hope uh entrust its development to - -00:06:18.840 --> 00:06:20.400 -them and +we hope, entrust its development to -00:06:20.400 --> 00:06:24.800 -rely on them directly +00:06:18.840 --> 00:06:24.800 +them and rely on them directly. 00:06:24.800 --> 00:06:26.560 -and there may be more that needs to be +And there may be more that needs to be 00:06:26.560 --> 00:06:29.840 -worked on +worked on. 00:06:29.840 --> 00:06:36.639 -oh there's so many questions +Oh! There's so many questions. 00:06:36.639 --> 00:06:39.280 -well I hope you the third question is +Well, I hope you… The third question is, 00:06:39.280 --> 00:06:40.880 -what are the benefits +what are the benefits? 00:06:40.880 --> 00:06:43.680 -I hope that people now see the benefits +I hope that people now see the benefits. 00:06:43.680 --> 00:06:46.240 -I've described them +I've described them. 00:06:46.240 --> 00:06:49.599 -uh next question is it possible to work +Next question, "Is it possible to work 00:06:49.599 --> 00:06:51.440 -with the melba team +with the MELPA team 00:06:51.440 --> 00:06:54.720 -to integrate that into Emacs +to integrate that into Emacs?" 00:06:54.720 --> 00:06:59.440 -no because the goal doesn't make sense +No, because the goal doesn't make sense. 00:06:59.440 --> 00:07:03.759 -melba the way it's done does not belong +MELPA the way it's done, does not belong 00:07:03.759 --> 00:07:07.199 -inside Emacs in any sense well first of +inside Emacs in any sense. Well, first of 00:07:07.199 --> 00:07:08.560 -all it can't literally be +all, it can't literally be 00:07:08.560 --> 00:07:11.280 -inside Emacs we don't have copyright +inside Emacs. We don't have copyright 00:07:11.280 --> 00:07:13.280 assignments for that code 00:07:13.280 --> 00:07:18.160 -and to get it would be unfeasible +and to get it would be unfeasible, 00:07:18.160 --> 00:07:20.560 but we're not asking for copyright @@ -487,112 +466,103 @@ but we're not asking for copyright assignments for 00:07:21.520 --> 00:07:25.280 -non-gnu elpa so that's +NonGNU ELPA so that's 00:07:25.280 --> 00:07:27.599 -you might wonder could melpa be merged +you might wonder could MELPA be merged 00:07:27.599 --> 00:07:31.440 -with non-venue elpa the problem is +with NonGNU ELPA? The problem is, 00:07:31.440 --> 00:07:35.039 -melpa doesn't modify the packages +MELPA doesn't modify the packages. 00:07:35.039 --> 00:07:38.240 -it's just a place to find releases of +It's just a place to find releases of 00:07:38.240 --> 00:07:41.360 -packages wherever they happen to be +packages wherever they happen to be, 00:07:41.360 --> 00:07:44.800 and they put packages in with 00:07:44.800 --> 00:07:48.319 -only a little bit of checking +only a little bit of checking. 00:07:48.319 --> 00:07:51.520 -so no we there are a lot of packages +So, no. There are a lot of packages 00:07:51.520 --> 00:07:51.919 that are 00:07:51.919 --> 00:07:55.280 -in melpa that we'd like to get into +in MELPA that we'd like to get into 00:07:55.280 --> 00:07:58.479 -non-canoe elpa I don't know the names of +NonGNU ELPA. I don't know the names of 00:07:58.479 --> 00:08:00.800 -most of them but I expect most of them +most of them, but I expect most of them 00:08:00.800 --> 00:08:04.160 -would be fine to have but they've got to +would be fine to have. But they've got to 00:08:04.160 --> 00:08:08.560 -be looked at one by one +be looked at one by one. 00:08:08.560 --> 00:08:12.000 -there are some rules for non-glpa +There are some rules for NonGNU ELPA, 00:08:12.000 --> 00:08:14.479 and the only way to check them is to 00:08:14.479 --> 00:08:18.000 -check them on one package at a time +check them on one package at a time, 00:08:18.000 --> 00:08:22.160 -and that's going to take effort +and that's going to take effort. 00:08:22.160 --> 00:08:25.039 -now with the people who work on melba +Now, with the people who work on MELPA 00:08:25.039 --> 00:08:26.080 want to get involved 00:08:26.080 --> 00:08:29.440 -of this that would be great +of this, that would be great. 00:08:29.440 --> 00:08:32.800 -I haven't tried asking them first we've +I haven't tried asking them. First we've 00:08:32.800 --> 00:08:33.919 got to get this thing 00:08:33.919 --> 00:08:37.599 -set up I doubt they would want to +set up. I doubt they would want to, 00:08:37.599 --> 00:08:40.479 -but if they said yes that would be +but if they said yes, that would be 00:08:40.479 --> 00:08:44.159 -wonderful +wonderful. 00:08:44.159 --> 00:08:48.399 -uh any thoughts of packages being +"Any thoughts of packages being 00:08:48.399 --> 00:09:00.959 -added I'm afraid +added…" I'm afraid. -00:09:00.959 --> 00:09:05.440 -um - -00:09:05.440 --> 00:09:07.200 -I'm afraid any thoughts of packages - -00:09:07.200 --> 00:09:08.959 -being added as +00:09:05.440 --> 00:09:08.959 +Any thoughts of packages being added as 00:09:08.959 --> 00:09:11.040 -some url I don't know anything about but +some URL I don't know anything about, but 00:09:11.040 --> 00:09:13.120 -it talks about open source - -00:09:13.120 --> 00:09:16.800 -which means I'm very unlikely to have +it talks about open source, -00:09:16.800 --> 00:09:17.680 -much +00:09:13.120 --> 00:09:17.680 +which means I'm very unlikely to have much 00:09:17.680 --> 00:09:20.959 in common with whatever they say about @@ -601,58 +571,49 @@ in common with whatever they say about either licensing or 00:09:24.080 --> 00:09:27.760 -what's right and wrong uh +what's right and wrong. 00:09:27.760 --> 00:09:29.959 -but this seems to be something about +But this seems to be something about -00:09:29.959 --> 00:09:31.920 -disregarding licenses +00:09:29.959 --> 00:09:33.523 +disregarding licenses altogether. -00:09:31.920 --> 00:09:35.680 -altogether well that is basically +00:09:33.523 --> 00:09:35.680 +Well, that is basically 00:09:35.680 --> 00:09:39.360 -asking to lose there are reasons +asking to lose. There are reasons 00:09:39.360 --> 00:09:43.360 -why we developed gnu licenses to release +why we developed GNU licenses to release -00:09:43.360 --> 00:09:45.600 -software why we have criteria +00:09:43.360 --> 00:09:46.490 +software, why we have criteria for which -00:09:45.600 --> 00:09:48.320 -for which licenses make a program free - -00:09:48.320 --> 00:09:49.519 -software +00:09:46.490 --> 00:09:49.519 +licenses make a program free software. 00:09:49.519 --> 00:09:52.640 -if the program doesn't carry a license - -00:09:52.640 --> 00:09:55.519 -or if it carries a non-free license that - -00:09:55.519 --> 00:09:56.080 -program +If the program doesn't carry a license -00:09:56.080 --> 00:09:59.760 -is not free software now you can +00:09:52.640 --> 00:09:55.057 +or if it carries a non-free license, -00:09:59.760 --> 00:10:02.839 -maybe get away with disregarding that +00:09:55.057 --> 00:09:58.323 +that program is not free software. -00:10:02.839 --> 00:10:04.800 -fact uh unless +00:09:58.323 --> 00:10:01.857 +Now, you can maybe get away with -00:10:04.800 --> 00:10:07.600 -somebody an author or publisher stops +00:10:01.857 --> 00:10:04.800 +disregarding that fact unless -00:10:07.600 --> 00:10:08.959 -you +00:10:04.800 --> 00:10:08.959 +somebody, an author or publisher stops you. 00:10:08.959 --> 00:10:11.360 -but we're not going to take we're not +But we're not going to take… we're not 00:10:11.360 --> 00:10:12.399 basically going to @@ -664,13 +625,13 @@ disregard the question of whether the software we 00:10:16.399 --> 00:10:19.040 -recommend to people really is free +recommend to people, really is free 00:10:19.040 --> 00:10:21.360 -software or not +software or not. 00:10:21.360 --> 00:10:24.560 -that's basically uh +That's basically 00:10:24.560 --> 00:10:27.519 blindfolding yourself to the legal @@ -678,20 +639,17 @@ blindfolding yourself to the legal 00:10:27.519 --> 00:10:29.120 situation of the software you're -00:10:29.120 --> 00:10:30.480 -distributing - -00:10:30.480 --> 00:10:33.519 -it's a terrible idea uh if they +00:10:29.120 --> 00:10:33.519 +distributing, it's a terrible idea. If they 00:10:33.519 --> 00:10:35.920 disregard our licenses they will hear 00:10:35.920 --> 00:10:38.640 -from us about it +from us about it. 00:10:38.640 --> 00:10:40.959 -and if you want to contribute to the +And if you want to contribute to the 00:10:40.959 --> 00:10:42.720 free world @@ -699,26 +657,20 @@ free world 00:10:42.720 --> 00:10:46.320 put free licenses on your code -00:10:46.320 --> 00:10:48.640 -and choose good ones to get this - -00:10:48.640 --> 00:10:50.000 -information +00:10:46.320 --> 00:10:47.823 +and choose good ones. -00:10:50.000 --> 00:10:53.440 -look at gnu.org slash licensing +00:10:47.823 --> 00:10:50.000 +To get this information, -00:10:53.440 --> 00:10:57.120 -in particular slash licenses +00:10:50.000 --> 00:10:57.120 +look at gnu.org/licenses, 00:10:57.120 --> 00:10:59.839 -and one page that input that's important - -00:10:59.839 --> 00:11:01.120 -is license +and one page that's important -00:11:01.120 --> 00:11:05.040 -dash recommendations.html +00:10:59.839 --> 00:11:05.040 +is license-recommendations.html, 00:11:05.040 --> 00:11:07.360 that's where we advise you on what @@ -727,25 +679,25 @@ that's where we advise you on what license we would recommend you use 00:11:09.279 --> 00:11:11.360 -depending on the circumstances +depending on the circumstances. 00:11:11.360 --> 00:11:15.600 -there's also license dash list dot html +There's also license-list.html 00:11:15.600 --> 00:11:20.160 which describes a lot of licenses and 00:11:20.160 --> 00:11:22.160 -says which ones are free +says which ones are free, -00:11:22.160 --> 00:11:25.040 -which ones are compatible with the new +00:11:22.160 --> 00:11:23.957 +which ones are compatible -00:11:25.040 --> 00:11:26.160 -gpl +00:11:23.957 --> 00:11:26.160 +with the GNU GPL. 00:11:26.160 --> 00:11:28.640 -it's really important to use only gpl +It's really important to use only GPL 00:11:28.640 --> 00:11:31.519 compatible licenses @@ -753,59 +705,53 @@ compatible licenses 00:11:31.519 --> 00:11:34.320 so that the various programs can be -00:11:34.320 --> 00:11:35.519 -combined together - -00:11:35.519 --> 00:11:40.720 -or linked and +00:11:34.320 --> 00:11:40.720 +combined together or linked. 00:11:40.720 --> 00:11:43.120 -you can also get other information about +You can also get other information about 00:11:43.120 --> 00:11:44.240 -gnu licenses +GNU licenses 00:11:44.240 --> 00:11:47.040 and the reasons why they are written the 00:11:47.040 --> 00:11:55.279 -way they are +way they are. 00:11:55.279 --> 00:12:03.200 -oh sorry I don't see the next question - -00:12:03.200 --> 00:12:05.600 -oh why do I insist on using per and +Oh sorry, I don't see the next question. -00:12:05.600 --> 00:12:07.519 -purrs +00:12:03.200 --> 00:12:07.519 +"Why do I insist on using per and pers?" 00:12:07.519 --> 00:12:11.680 -uh I'm not happy with using +I'm not happy with using 00:12:11.680 --> 00:12:14.959 -they which is a plural pronoun with a +they, which is a plural pronoun with a 00:12:14.959 --> 00:12:17.440 -singular antecedent +singular antecedent. 00:12:17.440 --> 00:12:20.480 -it's bad because it causes +It's bad because it causes 00:12:20.480 --> 00:12:24.800 -confusion that is completely gratuitous +confusion that is completely gratuitous. 00:12:24.800 --> 00:12:28.639 -many sentences become a lot of work +Many sentences become a lot of work 00:12:28.639 --> 00:12:33.200 to parse and understand if you 00:12:33.200 --> 00:12:36.480 -add that ambiguity that source of him of +add that ambiguity, that source of 00:12:36.480 --> 00:12:39.839 -regular ambiguity now +regular ambiguity. Now, 00:12:39.839 --> 00:12:42.720 I do not accept the demands of other @@ -814,10 +760,10 @@ I do not accept the demands of other people 00:12:43.680 --> 00:12:47.519 -in regard to changing my grammar +in regard to changing my grammar. 00:12:47.519 --> 00:12:50.800 -you can try to convince me but +You can try to convince me, but 00:12:50.800 --> 00:12:54.240 no one is entitled to give me orders @@ -829,58 +775,58 @@ about that or state their desires and expect 00:12:58.880 --> 00:13:03.200 -obedience not for me and not from you +obedience, not for me and not from you 00:13:03.200 --> 00:13:06.560 -or anyone we are all +or anyone. We are all 00:13:06.560 --> 00:13:09.839 equally entitled to decide 00:13:09.839 --> 00:13:13.200 -how we will speak and how we won't speak +how we will speak and how we won't speak. 00:13:13.200 --> 00:13:18.000 -now I've spelled out all of these points +I've spelled out all of these points -00:13:18.000 --> 00:13:22.880 -in a file called stolman.org +00:13:18.000 --> 00:13:19.857 +in a file called -00:13:22.880 --> 00:13:30.120 -articles slash +00:13:19.857 --> 00:13:29.423 +stallman.org/articles/genderless-pronouns.html -00:13:30.120 --> 00:13:31.600 -genderneutrality.html +00:13:29.423 --> 00:13:31.600 +(corrected), 00:13:31.600 --> 00:13:33.760 -of course this is not a gnu project +of course, this is not a GNU project 00:13:33.760 --> 00:13:36.000 -policy +policy, 00:13:36.000 --> 00:13:46.839 it's my own personal ideas on the 00:13:46.839 --> 00:13:53.920 -subject +subject. 00:13:53.920 --> 00:13:57.120 -if any of you feels offended +If any of you feels offended 00:13:57.120 --> 00:14:01.040 by my referring to you with a singular 00:14:01.040 --> 00:14:04.320 -gender neutral pronoun feel free +gender-neutral pronoun, feel free 00:14:04.320 --> 00:14:07.680 -to ex contact me privately +to contact me privately 00:14:07.680 --> 00:14:10.720 -and explain to me your reasons +and explain to me your reasons. 00:14:10.720 --> 00:14:14.000 -I will pay attention to them I'll +I will pay attention to them, I'll 00:14:14.000 --> 00:14:16.639 think about them assuming that they're @@ -889,43 +835,43 @@ think about them assuming that they're not something I've already 00:14:18.399 --> 00:14:24.079 -considered and decided to dismiss before +considered and decided to dismiss before. 00:14:24.079 --> 00:14:27.760 -but you must not speak to me as if I had +But you must not speak to me as if I had 00:14:27.760 --> 00:14:30.240 no business not obeying you because -00:14:30.240 --> 00:14:30.800 -that's +00:14:30.240 --> 00:14:31.690 +that's rude, -00:14:30.800 --> 00:14:34.320 -rude and it is not likely to convince me +00:14:31.690 --> 00:14:34.320 +and it is not likely to convince me 00:14:34.320 --> 00:14:40.720 -to change my mind +to change my mind. 00:14:40.720 --> 00:14:44.240 I believe it is not actually 00:14:44.240 --> 00:14:48.320 -of stating offense to anyone +of stating offense to anyone, 00:14:48.320 --> 00:14:50.560 and the fact that somebody disagrees 00:14:50.560 --> 00:14:52.880 -with me does not mean I'm wrong +with me does not mean I'm wrong, 00:14:52.880 --> 00:15:00.720 -but I always can be wrong +but I always can be wrong. 00:15:00.720 --> 00:15:02.560 -when you wrote that you could add a +"When you wrote that you could add a 00:15:02.560 --> 00:15:05.680 -package to non your new elpa +package to NonGNU ELPA, 00:15:05.680 --> 00:15:07.120 are you implying that you would add @@ -934,22 +880,19 @@ are you implying that you would add packages with or without package 00:15:09.199 --> 00:15:11.120 -maintainers knowledge +maintainer's knowledge?" 00:15:11.120 --> 00:15:15.279 -of course the packages we would +Of course, the packages we would 00:15:15.279 --> 00:15:18.000 -we would distribute in this way are free +distribute in this way are free 00:15:18.000 --> 00:15:19.519 -software +software. -00:15:19.519 --> 00:15:21.920 -everyone is entitled to redistribute - -00:15:21.920 --> 00:15:22.720 -them +00:15:19.519 --> 00:15:22.720 +Everyone is entitled to redistribute them 00:15:22.720 --> 00:15:26.560 and everyone is also entitled to modify @@ -958,10 +901,10 @@ and everyone is also entitled to modify them 00:15:26.959 --> 00:15:29.199 -and redistribute them that's part of the +and redistribute them, that's part of the 00:15:29.199 --> 00:15:31.680 -meaning of free software +meaning of free software. 00:15:31.680 --> 00:15:35.040 I have been unable to understand @@ -972,86 +915,77 @@ how there came to be an idea 00:15:38.320 --> 00:15:42.560 that those who redistribute packages -00:15:42.560 --> 00:15:45.600 -have some idea to be mere - -00:15:45.600 --> 00:15:49.360 -some obligation to be near mirrors +00:15:42.560 --> 00:15:49.360 +have some obligation to be mere mirrors 00:15:49.360 --> 00:15:54.480 -and not modify things themselves +and not modify things themselves. 00:15:54.480 --> 00:15:58.560 -well if a package is +Well, if a package is 00:15:58.560 --> 00:16:01.440 being maintained by developers who are 00:16:01.440 --> 00:16:03.440 -cooperating with us +cooperating with us, 00:16:03.440 --> 00:16:06.240 -we'll normally just leave it to them +we'll normally just leave it to them. 00:16:06.240 --> 00:16:07.360 -after all +After all, -00:16:07.360 --> 00:16:10.079 -we have lots of other work to do they +00:16:07.360 --> 00:16:09.590 +we have lots of other work to do. -00:16:10.079 --> 00:16:10.399 -are +00:16:09.590 --> 00:16:12.390 +They are clearly experts on -00:16:10.399 --> 00:16:14.000 -clearly experts on the packages they've - -00:16:14.000 --> 00:16:15.600 -developed +00:16:12.390 --> 00:16:15.600 +the packages they've developed, 00:16:15.600 --> 00:16:18.399 let's leave it to them if they make that 00:16:18.399 --> 00:16:22.800 -sort of arrangement with us but +sort of arrangement with us. But 00:16:22.800 --> 00:16:26.480 -that's up to them we can't insist that +that's up to them, we can't insist that 00:16:26.480 --> 00:16:29.120 -anyone make an arrangement with us +anyone make an arrangement with us, 00:16:29.120 --> 00:16:30.720 but since those programs are free -00:16:30.720 --> 00:16:33.279 -software anyone c is - -00:16:33.279 --> 00:16:36.639 -free to redistribute them and we will do +00:16:30.720 --> 00:16:35.723 +software, anyone is free to redistribute them, -00:16:36.639 --> 00:16:41.839 -that +00:16:35.723 --> 00:16:41.839 +and we will do that. 00:16:41.839 --> 00:16:45.519 -have you ever used vi or vim or +"Have you ever used vi or vim or 00:16:45.519 --> 00:16:52.079 -evil mode no +evil mode?" No. 00:16:52.079 --> 00:16:53.920 -are there any plans to implement +"Are there any plans to implement 00:16:53.920 --> 00:16:56.800 -security considerations in non-gnu +security considerations in NonGNU -00:16:56.800 --> 00:17:00.720 -elpa uh we probably +00:16:56.800 --> 00:16:58.657 +ELPA?" -00:17:00.720 --> 00:17:02.959 -should and this will have to be +00:16:58.657 --> 00:17:01.890 +We probably should, -00:17:02.959 --> 00:17:04.959 -implemented +00:17:01.890 --> 00:17:04.959 +and this will have to be implemented, 00:17:04.959 --> 00:17:08.559 but at the moment @@ -1063,7 +997,7 @@ developer Emacs maintainers will copy packages 00:17:13.280 --> 00:17:18.160 -into it and so as long as they are +into it, and so as long as they are 00:17:18.160 --> 00:17:20.160 verifying the packages and getting the @@ -1071,14 +1005,14 @@ verifying the packages and getting the 00:17:20.160 --> 00:17:22.480 packages from the right place -00:17:22.480 --> 00:17:25.199 -that will take care of the security once +00:17:22.480 --> 00:17:24.690 +that will take care of the security. -00:17:25.199 --> 00:17:25.919 -there is +00:17:24.690 --> 00:17:25.919 +Once there is… 00:17:25.919 --> 00:17:30.160 -when with automatic copying in +When with automatic copying in, 00:17:30.160 --> 00:17:33.200 will have to do something to @@ -1087,40 +1021,37 @@ will have to do something to make sure that we're fetching the 00:17:35.200 --> 00:17:40.320 -packages securely +packages securely. -00:17:40.320 --> 00:17:43.360 -and uh some of you might be interested - -00:17:43.360 --> 00:17:44.000 -in +00:17:40.320 --> 00:17:44.000 +Some of you might be interested in 00:17:44.000 --> 00:17:46.080 helping to design and implement this 00:17:46.080 --> 00:17:48.000 -system +system. 00:17:48.000 --> 00:17:52.559 -uh what distro do I use +"What distro do I use?" 00:17:52.559 --> 00:17:56.720 -uh well which distro of gnu slash linux +Well, which distro of GNU/Linux 00:17:56.720 --> 00:17:58.000 -do I use +do I use? 00:17:58.000 --> 00:18:03.520 -I use tree scale +I use Trisquel, 00:18:03.520 --> 00:18:07.200 I haven't tried most of the free distros 00:18:07.200 --> 00:18:10.080 -and the reason is it's not crucial that +and the reason is, it's not crucial that 00:18:10.080 --> 00:18:11.120 -I do so +I do so, 00:18:11.120 --> 00:18:13.520 we don't need me to rate the various @@ -1132,13 +1063,13 @@ free distros on practical questions because anyone can 00:18:17.520 --> 00:18:20.000 -do that as well as I can +do that as well as I can. 00:18:20.000 --> 00:18:24.400 -and so you can tell people what +And so you can tell people what 00:18:24.400 --> 00:18:27.760 -you think of using them for me what's +you think of using them. For me, what's 00:18:27.760 --> 00:18:29.360 important to me @@ -1150,16 +1081,16 @@ is to inform people of the difference between the free distros 00:18:34.160 --> 00:18:36.799 -and the non-free distros making sure +and the non-free distros, making sure 00:18:36.799 --> 00:18:38.799 people are aware that if you 00:18:38.799 --> 00:18:42.000 -install a non-free gnu slash linux +install a non-free GNU/Linux 00:18:42.000 --> 00:18:45.600 -distro you'll get a free operating +distro, you'll get a free operating 00:18:45.600 --> 00:18:46.720 system with @@ -1168,28 +1099,25 @@ system with non-free stuff in various quantities 00:18:49.919 --> 00:18:54.160 -added thus you will not reach freedom +added, thus you will not reach freedom, 00:18:54.160 --> 00:18:56.240 -although you you'll make a lot of +although you'll make a lot of 00:18:56.240 --> 00:18:57.520 progress compared 00:18:57.520 --> 00:19:01.039 -with using for instance windows or +with using for instance, Windows or 00:19:01.039 --> 00:19:03.919 -mac os or whatever vicious thing it +macOS or whatever vicious thing it 00:19:03.919 --> 00:19:06.160 -might be - -00:19:06.160 --> 00:19:08.559 -I'd like to I'd like to people to be +might be. -00:19:08.559 --> 00:19:09.760 -aware +00:19:06.160 --> 00:19:09.760 +I'd like people to be aware 00:19:09.760 --> 00:19:12.799 of this next step towards @@ -1198,31 +1126,25 @@ of this next step towards getting freedom for yourself and your 00:19:14.720 --> 00:19:16.160 -own computing +own computing, 00:19:16.160 --> 00:19:24.480 -so that you can do that if you want to - -00:19:24.480 --> 00:19:29.039 -uh +so that you can do that if you want to. 00:19:29.039 --> 00:19:31.360 -so who gets to make the final decision - -00:19:31.360 --> 00:19:32.799 -regarding +"Who gets to make the final decision -00:19:32.799 --> 00:19:36.640 -non-gnu elpa the +00:19:31.360 --> 00:19:35.157 +regarding NonGNU ELPA?" -00:19:36.640 --> 00:19:39.200 -emax maintainers are going to be in +00:19:35.157 --> 00:19:38.690 +The Emacs maintainers are -00:19:39.200 --> 00:19:40.960 -charge of this +00:19:38.690 --> 00:19:40.960 +going to be in charge of this, 00:19:40.960 --> 00:19:44.480 -but because it's not +because it's not 00:19:44.480 --> 00:19:47.760 just a technical decision it has with @@ -1237,55 +1159,52 @@ but in general unless there's some severe problem with the package we will 00:19:57.760 --> 00:20:03.600 -want to put it in +want to put it in, -00:20:03.600 --> 00:20:06.400 -and I expect most packages won't have a +00:20:03.600 --> 00:20:05.757 +and I expect most packages -00:20:06.400 --> 00:20:07.440 -problem +00:20:05.757 --> 00:20:07.440 +won't have a problem, -00:20:07.440 --> 00:20:09.919 -and we can just put them in when we get +00:20:07.440 --> 00:20:09.357 +and we can just put them in -00:20:09.919 --> 00:20:11.679 -to them +00:20:09.357 --> 00:20:11.679 +when we get to them. 00:20:11.679 --> 00:20:15.919 -won't the elpa link to non-free sites +"Won't the ELPA link to non-free sites 00:20:15.919 --> 00:20:17.600 -like github +like GitHub?" 00:20:17.600 --> 00:20:20.799 -uh it's a mistake to talk about a +It's a mistake to talk about a 00:20:20.799 --> 00:20:25.760 -non-free site +non-free site, 00:20:25.760 --> 00:20:29.120 -because a site is not a program +because a site is not a program. -00:20:29.120 --> 00:20:32.159 -a program is either free or non-free and +00:20:29.120 --> 00:20:32.123 +A program is either free or non-free, -00:20:32.159 --> 00:20:32.960 -we have +00:20:32.123 --> 00:20:32.960 +and we have 00:20:32.960 --> 00:20:36.480 clearly stated criteria for that in -00:20:36.480 --> 00:20:39.679 -gnu.org philosophy slash - -00:20:39.679 --> 00:20:43.039 -free dash sw.html we have the free +00:20:36.480 --> 00:20:42.457 +gnu.org/philosophy/free-sw.html -00:20:43.039 --> 00:20:45.360 -software definition +00:20:42.457 --> 00:20:45.360 +we have the free software definition, 00:20:45.360 --> 00:20:51.919 -but a site well their programs on it +but a site, well, there're programs on it, 00:20:51.919 --> 00:20:54.000 but it doesn't make sense to ask whether @@ -1294,52 +1213,52 @@ but it doesn't make sense to ask whether the site is 00:20:55.120 --> 00:20:58.000 -free or not it's too simplistic a +free or not, it's too simplistic a 00:20:58.000 --> 00:20:58.880 question 00:20:58.880 --> 00:21:02.000 -to have a meaningful answer now one +to have a meaningful answer. Now, one 00:21:02.000 --> 00:21:05.679 -thing you can ask about is does the site +thing you can ask about is, does the site 00:21:05.679 --> 00:21:08.799 -send javascript to the user's machine +send JavaScript to the user's machine, 00:21:08.799 --> 00:21:11.760 -to the user's browser and if so is that +to the user's browser and if so, is that 00:21:11.760 --> 00:21:12.960 -javascript +JavaScript 00:21:12.960 --> 00:21:17.120 -non-free well github +non-free. Well, GitHub 00:21:17.120 --> 00:21:19.919 -does send non-free javascript for some +does send non-free JavaScript for some 00:21:19.919 --> 00:21:21.200 -operations +operations, 00:21:21.200 --> 00:21:24.240 so we consider it unsatisfactory as a 00:21:24.240 --> 00:21:26.159 -repository +repository, 00:21:26.159 --> 00:21:29.600 -but uh that doesn't mean linking to it +but that doesn't mean linking to it 00:21:29.600 --> 00:21:33.360 -for is a bad thing to do regardless of +is a bad thing to do regardless of 00:21:33.360 --> 00:21:34.720 -what the purpose is +what the purpose is. 00:21:34.720 --> 00:21:36.640 -for instance if the purpose is to refer +For instance, if the purpose is to refer 00:21:36.640 --> 00:21:38.240 to some things @@ -1348,34 +1267,31 @@ to some things that you can access without running the 00:21:40.799 --> 00:21:42.880 -non-free javascript +non-free JavaScript, 00:21:42.880 --> 00:21:47.200 -then it's okay for that purpose +then it's okay for that purpose. 00:21:47.200 --> 00:21:50.480 -so if now that you understand the +So, if now that you understand the 00:21:50.480 --> 00:21:52.559 -details of this issue +details of this issue, 00:21:52.559 --> 00:21:54.880 you think that there is a problem with -00:21:54.880 --> 00:21:55.919 -the - -00:21:55.919 --> 00:22:00.080 -link to camel there's +00:21:54.880 --> 00:22:00.080 +the link to caml…, there's, 00:22:00.080 --> 00:22:03.679 -sorry a link in camel dot html +sorry, a link in caml.html, -00:22:03.679 --> 00:22:06.799 -well report it to +00:22:03.679 --> 00:22:08.823 +well, report it to bug-gnu-emacs, -00:22:06.799 --> 00:22:10.880 -uh bug gnu emax reported as an Emacs bug +00:22:08.823 --> 00:22:10.880 +report it as an Emacs bug, 00:22:10.880 --> 00:22:14.159 but do think about the criteria I've @@ -1384,49 +1300,49 @@ but do think about the criteria I've just said because maybe it's not a 00:22:15.840 --> 00:22:18.000 -problem +problem. 00:22:18.000 --> 00:22:21.840 -is it okay to use the gnu of pharaoh gpl +"Is it okay to use the GNU Affero GPL 00:22:21.840 --> 00:22:24.559 -for emax packages +for Emacs packages?" 00:22:24.559 --> 00:22:28.880 -yes it is +Yes it is. 00:22:28.880 --> 00:22:31.120 -uh which is your favorite programming +"Which is your favorite programming 00:22:31.120 --> 00:22:32.080 -language +language? 00:22:32.080 --> 00:22:35.200 -if lisp which variant +If Lisp, which variant?" 00:22:35.200 --> 00:22:38.400 -well I don't exactly have a +Well, I don't exactly have a 00:22:38.400 --> 00:22:41.760 -favorite variant but +favorite variant, but 00:22:41.760 --> 00:22:45.120 -when I designed Emacs lisp I +when I designed Emacs Lisp, I 00:22:45.120 --> 00:22:47.520 did the best thing I could think of at 00:22:47.520 --> 00:22:48.799 -the time +the time, 00:22:48.799 --> 00:22:52.559 -subject to the need to keep it small +subject to the need to keep it small. 00:22:52.559 --> 00:22:55.520 -for the first few years it was important +For the first few years it was important 00:22:55.520 --> 00:22:56.960 -for gdu Emacs +for GNU Emacs 00:22:56.960 --> 00:22:59.840 to run in a machine which could only @@ -1435,10 +1351,10 @@ to run in a machine which could only give it half 00:23:00.799 --> 00:23:04.480 -a meg of user space +a meg of user space. 00:23:04.480 --> 00:23:06.559 -so there are a lot of constructs that +So, there are a lot of constructs that 00:23:06.559 --> 00:23:09.200 clearly were desirable to include @@ -1459,16 +1375,16 @@ since because it's been a long time since we needed to 00:23:23.200 --> 00:23:40.960 -keep Emacs so rigorously small +keep Emacs so rigorously small. 00:23:40.960 --> 00:23:44.240 -um someone is +Someone is 00:23:44.240 --> 00:23:47.679 asking about the 00:23:47.679 --> 00:23:51.360 -fsf's repository project well +FSF's repository project. Well, 00:23:51.360 --> 00:23:54.400 we agreed that there would be another @@ -1477,31 +1393,28 @@ we agreed that there would be another virtual machine 00:23:55.440 --> 00:23:59.919 -running one of those for the gnu project +running one of those for the GNU project, 00:23:59.919 --> 00:24:15.840 -but that's as far as the discussion went +but that's as far as the discussion went. 00:24:15.840 --> 00:24:20.480 -question 17 is extremely insulting +Question 17 is extremely insulting! 00:24:20.480 --> 00:24:25.600 -I have not engaged in sexual harassment +I have not engaged in sexual harassment, 00:24:25.600 --> 00:24:28.720 don't expect me to plead guilty to such -00:24:28.720 --> 00:24:28.960 -a - -00:24:28.960 --> 00:24:32.640 -nasty claim +00:24:28.720 --> 00:24:32.640 +a nasty claim. 00:24:32.640 --> 00:24:35.600 -people have been accusing me of many +People have been accusing me of many 00:24:35.600 --> 00:24:36.799 -things +things, 00:24:36.799 --> 00:24:39.919 some of which are @@ -1509,32 +1422,29 @@ some of which are 00:24:39.919 --> 00:24:43.120 basically mole hills and some of which -00:24:43.120 --> 00:24:46.559 -are false so +00:24:43.120 --> 00:24:44.423 +are false. -00:24:46.559 --> 00:24:50.640 -uh I'm not going to give them +00:24:44.423 --> 00:24:50.640 +So, I'm not going to give them 00:24:50.640 --> 00:24:53.840 -anything I have been bullied in a - -00:24:53.840 --> 00:24:56.400 -horrible way +anything, I have been bullied in a -00:24:56.400 --> 00:24:59.679 -that was wrong +00:24:53.840 --> 00:24:59.679 +horrible way, that was wrong. 00:24:59.679 --> 00:25:02.720 I would like the bullies to apologize to 00:25:02.720 --> 00:25:03.520 -me +me, 00:25:03.520 --> 00:25:06.320 -and when I see that they're not bullying +and when I see that they're not bullying, 00:25:06.320 --> 00:25:08.960 -I will forgive them +I will forgive them. 00:25:08.960 --> 00:25:11.279 I would like to have conversations with @@ -1543,94 +1453,88 @@ I would like to have conversations with them if any of the mole hills 00:25:14.799 --> 00:25:17.840 -annoyed someone I'm happy to talk +annoyed someone, I'm happy to talk 00:25:17.840 --> 00:25:20.880 -with her and thus +with per and thus 00:25:20.880 --> 00:25:31.120 -uh help help resolve things with peace +help resolve things with peace. -00:25:31.120 --> 00:25:35.120 -and my opinion on - -00:25:35.120 --> 00:25:39.200 -quote diversity within +00:25:31.120 --> 00:25:39.200 +And my opinion on "diversity" within 00:25:39.200 --> 00:25:42.720 -Emacs well Emacs is +Emacs. Well, Emacs is 00:25:42.720 --> 00:25:45.679 -never going to be diverse it is extended - -00:25:45.679 --> 00:25:46.480 -in +never going to be diverse, it is extended -00:25:46.480 --> 00:25:49.760 -one language Emacs lisp +00:25:45.679 --> 00:25:49.760 +in one language, Emacs Lisp. 00:25:49.760 --> 00:25:53.279 -well I don't know uh we did have an idea +Well, I don't know, we did have an idea 00:25:53.279 --> 00:25:55.840 of implementing extensibility using 00:25:55.840 --> 00:25:58.400 -scheme and the hope was that guile +Scheme and the hope was that Guile 00:25:58.400 --> 00:26:01.120 -could be integrated with Emacs that +could be integrated with Emacs, that 00:26:01.120 --> 00:26:02.960 -turned out to be difficult it may be +turned out to be difficult, it may be 00:26:02.960 --> 00:26:05.279 impossible but in principle 00:26:05.279 --> 00:26:07.520 -it might be a good thing that would be a +it might be a good thing, that would be a 00:26:07.520 --> 00:26:11.039 -small amount of diversity +small amount of diversity, 00:26:11.039 --> 00:26:14.960 -but it's not that important +but it's not that important. 00:26:14.960 --> 00:26:16.960 -what I think is really important for +What I think is really important for 00:26:16.960 --> 00:26:18.880 developing Emacs 00:26:18.880 --> 00:26:22.799 -is to make it do word processing +is to make it do word processing. 00:26:22.799 --> 00:26:27.039 -I sometimes use libra office +I sometimes use LibreOffice, 00:26:27.039 --> 00:26:30.080 -and yeah I can make it do things +and yeah I can make it do things. 00:26:30.080 --> 00:26:32.799 -it has features for wysiwyg which are +It has features for WYSIWYG which are 00:26:32.799 --> 00:26:34.880 -very nice +very nice, 00:26:34.880 --> 00:26:38.000 -but it's in other regards +but it's in other regards, 00:26:38.000 --> 00:26:40.400 -it's not Emacs and it doesn't have the +it's not Emacs, and it doesn't have the 00:26:40.400 --> 00:26:42.400 -abilities of Emacs +abilities of Emacs, 00:26:42.400 --> 00:26:45.600 -and it should +and it should. 00:26:45.600 --> 00:26:48.400 -so I urge people to work on extending +So, I urge people to work on extending 00:26:48.400 --> 00:26:49.039 Emacs @@ -1639,73 +1543,70 @@ Emacs in that direction adding the features 00:26:51.600 --> 00:27:13.600 -that a word processor has to have +that a word processor has to have. -00:27:13.600 --> 00:27:16.640 -the last question I can answer is +00:27:13.600 --> 00:27:17.957 +The last question I can answer is 18. -00:27:16.640 --> 00:27:21.679 -18 but yes it's a very sad thing +00:27:17.957 --> 00:27:21.679 +Yes, it's a very sad thing 00:27:21.679 --> 00:27:24.960 how many companies 00:27:24.960 --> 00:27:28.399 -insist on using non-free software +insist on using non-free software. 00:27:28.399 --> 00:27:33.200 -well I would get a different kind of job +Well, I would get a different kind of job, 00:27:33.200 --> 00:27:36.799 that's a decision I made many years ago 00:27:36.799 --> 00:27:40.320 -early in the gnu project +early in the GNU project, 00:27:40.320 --> 00:27:42.799 -I decided I would not first I would not +I decided, I would not… first I would not 00:27:42.799 --> 00:27:47.679 -get a job developing non-free software +get a job developing non-free software. 00:27:47.679 --> 00:27:50.960 -and later on I decided +And later on I decided, 00:27:50.960 --> 00:27:54.880 once I could stop using non-free 00:27:54.880 --> 00:27:57.120 -software that is once we had +software, that is once we had 00:27:57.120 --> 00:28:00.799 -a gnu slash linux system that we could +a GNU/Linux system that we could 00:28:00.799 --> 00:28:08.320 -switch over to and uh +switch over to and… 00:28:08.320 --> 00:28:11.679 -oh wait I thought I thought magic wand +Oh, wait. I thought magic wand 00:28:11.679 --> 00:28:16.240 -time meant it was time to stop +time meant it was time to stop, 00:28:16.240 --> 00:28:21.039 -but now I rather ask the question - -00:28:21.039 --> 00:28:27.760 -uh +but now I rather ask the question. 00:28:27.760 --> 00:28:32.480 -so what do you do well if I were you +So, what do you do, well, if I were you, 00:28:32.480 --> 00:28:35.679 I'd probably not work for any of those 00:28:35.679 --> 00:28:37.440 -companies +companies. 00:28:37.440 --> 00:28:39.679 -if I needed to make money I'd get a job +If I needed to make money, I'd get a job, 00:28:39.679 --> 00:28:40.799 but I get some @@ -1717,16 +1618,16 @@ other kind of job that didn't involve using software 00:28:48.080 --> 00:28:51.039 -I would or that let me choose the +or that let me choose the 00:28:51.039 --> 00:28:53.600 -software I would use +software I would use. 00:28:53.600 --> 00:28:56.880 -but I would live cheaply you know the +But I would live cheaply, you know, the 00:28:56.880 --> 00:28:58.000 -less you spend +less you spend, 00:28:58.000 --> 00:29:00.640 the less you need to make and the more @@ -1744,7 +1645,7 @@ and the more flexibility you have in which paid work 00:29:08.640 --> 00:29:13.039 -you can do being in a position +you can do. Being in a position 00:29:13.039 --> 00:29:16.399 to say no to avoid being @@ -1753,22 +1654,22 @@ to say no to avoid being desperate to say yes 00:29:23.679 --> 00:29:27.440 -uh strengthens your position +strengthens your position, 00:29:27.440 --> 00:29:31.200 -and you need that one way you can help +and you need that. One way you can help 00:29:31.200 --> 00:29:33.279 do that is by 00:29:33.279 --> 00:29:36.559 -not having children now that is a +not having children. Now, that is a 00:29:36.559 --> 00:29:38.960 -tangent but it can't be denied that +tangent, but it can't be denied that 00:29:38.960 --> 00:29:41.760 -raising children is very expensive I +raising children is very expensive, I 00:29:41.760 --> 00:29:42.399 have heard @@ -1777,7 +1678,7 @@ have heard many people say that they are 00:29:45.559 --> 00:29:48.080 -uncomfortable with their jobs +uncomfortable with their jobs, 00:29:48.080 --> 00:29:50.880 but they have to do those jobs to make @@ -1786,28 +1687,25 @@ but they have to do those jobs to make enough money 00:29:52.240 --> 00:29:55.440 -to support their children +to support their children. 00:29:55.440 --> 00:29:59.120 -well think about that be aware +Well, think about that, be aware 00:29:59.120 --> 00:30:01.520 -that's likely to happen to you before +that's likely to happen to you, before 00:30:01.520 --> 00:30:06.159 -you make that decision +you make that decision. -00:30:06.159 --> 00:30:10.000 -what would I - -00:30:10.000 --> 00:30:13.279 -what would I change about free software +00:30:06.159 --> 00:30:13.279 +"What would I change about free software?" 00:30:13.279 --> 00:30:16.960 -well since this is +Well, since this is 00:30:16.960 --> 00:30:20.880 -magic I would magically find +magic, I would magically find 00:30:20.880 --> 00:30:25.600 a way of showing everyone why @@ -1816,7 +1714,7 @@ a way of showing everyone why most free software needs to be copy 00:30:28.000 --> 00:30:29.679 -lifted +lefted, 00:30:29.679 --> 00:30:32.480 so that our community would not @@ -1828,10 +1726,10 @@ basically submit to abuse by proprietary software 00:30:38.640 --> 00:30:45.919 -developers +developers. 00:30:45.919 --> 00:30:49.760 -of course I could go further if I could +Of course, I could go further if I could 00:30:49.760 --> 00:30:53.279 magically recruit a hundred thousand @@ -1840,16 +1738,16 @@ magically recruit a hundred thousand good programmers to do lots of work 00:30:55.760 --> 00:30:57.919 -improving free software +improving free software. 00:30:57.919 --> 00:31:01.039 -we might well if we could do this 20 +We might… Well, if we could do this 20 00:31:01.039 --> 00:31:03.279 -years ago we might have wiped out +years ago, we might have wiped out 00:31:03.279 --> 00:31:06.559 -non-free systems and then we wouldn't +non-free systems, and then we wouldn't 00:31:06.559 --> 00:31:07.200 have had @@ -1858,7 +1756,7 @@ have had horrible things like 00:31:10.320 --> 00:31:14.480 -world wide web drm that +World Wide Web DRM, that 00:31:14.480 --> 00:31:18.000 no one has the courage to resist @@ -1867,100 +1765,94 @@ no one has the courage to resist if they're desperately trying to get 00:31:20.480 --> 00:31:22.640 -money for anything +money for anything, 00:31:22.640 --> 00:31:26.240 -and if they need approval of companies +and if they need approval of companies, 00:31:26.240 --> 00:31:29.519 -of the big companies that push for drm +of the big companies that push for DRM, 00:31:29.519 --> 00:31:32.960 -uh then they don't dare even resist as +then they don't dare even resist as 00:31:32.960 --> 00:31:38.240 -much as they can resist +much as they can resist. 00:31:38.240 --> 00:31:40.880 -and look what happened to the world wide +And look what happened to the World Wide 00:31:40.880 --> 00:31:43.200 -web consortium +Web consortium, 00:31:43.200 --> 00:31:47.279 -uh they surrendered blatantly +they surrendered blatantly 00:31:47.279 --> 00:31:50.399 and ignominiously by 00:31:50.399 --> 00:31:55.760 -endorsing the drm system +endorsing the DRM system. 00:31:55.760 --> 00:31:59.600 -so what can you do I don't have a magic +So what can you do? I don't have a magic 00:31:59.600 --> 00:32:00.880 -wand +wand, 00:32:00.880 --> 00:32:04.720 I'm a human being with the capabilities -00:32:04.720 --> 00:32:06.559 -I have - -00:32:06.559 --> 00:32:09.919 -but the advantage of +00:32:04.720 --> 00:32:09.919 +I have, but the advantage of 00:32:09.919 --> 00:32:12.840 great firmness in campaigning for free 00:32:12.840 --> 00:32:14.000 -software +software, 00:32:14.000 --> 00:32:18.240 and this enables me to do things 00:32:18.240 --> 00:32:27.679 -that no one else will do +that no one else will do. 00:32:27.679 --> 00:32:30.480 -what tools from pre unix days do you +"What tools from pre-UNIX days do you 00:32:30.480 --> 00:32:31.519 -miss +miss?" 00:32:31.519 --> 00:32:34.240 -well I don't I don't think about them - -00:32:34.240 --> 00:32:34.880 -with +Well, I don't. I don't think about them -00:32:34.880 --> 00:32:38.640 -missing them actually but +00:32:34.240 --> 00:32:38.640 +with missing them actually. 00:32:38.640 --> 00:32:42.080 -it was sort of nice to have +It was sort of nice to have 00:32:42.080 --> 00:32:46.240 -ddt as your login shell +ddt as your login shell. 00:32:46.240 --> 00:32:49.600 -so in using modern terminology +So, in using modern terminology, 00:32:49.600 --> 00:32:52.640 because that meant at any time you could 00:32:52.640 --> 00:32:55.519 -stop a program lotus debugging symbols +stop a program, load its debugging symbols, 00:32:55.519 --> 00:32:57.519 and start examining the data in the 00:32:57.519 --> 00:32:58.799 -instructions +instructions. 00:32:58.799 --> 00:33:01.519 -you could debug it that way and then you +You could debug it that way, and then you 00:33:01.519 --> 00:33:03.039 could even @@ -1969,28 +1861,28 @@ could even patch in instructions to continue 00:33:06.720 --> 00:33:09.760 -running that job with the bug fixed +running that job with the bug fixed, 00:33:09.760 --> 00:33:11.600 -in fact you could even do this with the +in fact, you could even do this with the 00:33:11.600 --> 00:33:13.919 -system kernel +system kernel, -00:33:13.919 --> 00:33:16.640 -so that your jobs wouldn't get lost I +00:33:13.919 --> 00:33:16.423 +so that your jobs wouldn't get lost. -00:33:16.640 --> 00:33:17.840 -did that +00:33:16.423 --> 00:33:17.840 +I did that 00:33:17.840 --> 00:33:20.559 -quite a few times of course sometimes I +quite a few times, of course, sometimes I 00:33:20.559 --> 00:33:22.720 -saw what was wrong and I just had to +saw what was wrong, and I just had to 00:33:22.720 --> 00:33:25.919 -fix a piece of data but sometimes +fix a piece of data, but sometimes 00:33:25.919 --> 00:33:28.240 it took me a long time to figure out how @@ -1999,67 +1891,67 @@ it took me a long time to figure out how to get the system to 00:33:29.679 --> 00:33:32.480 -keep on going but with the work I had +keep on going. But with the work I had 00:33:32.480 --> 00:33:34.240 -done +done, 00:33:34.240 --> 00:33:39.279 -I didn't want to lose that work +I didn't want to lose that work, 00:33:39.279 --> 00:33:41.600 -and so one of the first features I put +and, so one of the first features I put 00:33:41.600 --> 00:33:43.039 -into gdu Emacs was +into GNU Emacs was 00:33:43.039 --> 00:33:47.760 -auto save +auto save. 00:33:47.760 --> 00:33:50.640 -uh I'm not going to try to figure out +I'm not going to try to figure out 00:33:50.640 --> 00:33:54.320 -which packages I re I actually used +which packages I actually used. 00:33:54.320 --> 00:33:56.480 -uh if I knew I would get hit by a bus +"If I knew, I would get hit by a bus 00:33:56.480 --> 00:33:59.039 -tomorrow +tomorrow, 00:33:59.039 --> 00:34:02.320 -uh say because of a fortune teller +say because of a fortune-teller." 00:34:02.320 --> 00:34:05.039 -no a fortune teller doesn't give you any +No, a fortune-teller doesn't give you any 00:34:05.039 --> 00:34:06.240 -knowledge it's just +knowledge, it's just 00:34:06.240 --> 00:34:10.159 -superstitious uh hand waving +superstitious hand waving. 00:34:10.159 --> 00:34:13.760 -so assuming that I +So, assuming that I 00:34:13.760 --> 00:34:16.480 -talked that I got a reading from a +talked… that I got a reading from a 00:34:16.480 --> 00:34:18.879 -fortune teller which is +fortune-teller, which is 00:34:18.879 --> 00:34:23.119 -implausible enough to begin with uh +implausible enough to begin with, 00:34:23.119 --> 00:34:25.040 that wouldn't give me any knowledge 00:34:25.040 --> 00:34:28.320 -about what was going to happen to me +about what was going to happen to me. 00:34:28.320 --> 00:34:32.879 -oh by the way fortune tellers generally +Oh, by the way fortune-tellers generally 00:34:32.879 --> 00:34:34.960 play back to you facts that they've @@ -2068,7 +1960,7 @@ play back to you facts that they've discovered about you 00:34:36.879 --> 00:34:40.480 -together with cold reading which means +together with cold reading, which means, 00:34:40.480 --> 00:34:43.440 they say things calculated to make it @@ -2077,40 +1969,34 @@ they say things calculated to make it appear that they know 00:34:44.639 --> 00:34:49.119 -more than they do or things that are +more than they do or things that 00:34:49.119 --> 00:34:52.399 -uh that sound wise to anyone +sound wise to anyone, 00:34:52.399 --> 00:34:55.679 -so you can say the same thing to +so you can say the same thing to, 00:34:55.679 --> 00:34:58.800 -uh say 100 people +say, 100 people 00:34:58.800 --> 00:35:02.000 -and 80 or 90 of them will say boy that +and 80 or 90 of them will say, "boy that 00:35:02.000 --> 00:35:06.480 -was really accurate +was really accurate". -00:35:06.480 --> 00:35:10.400 -but what if for some reason - -00:35:10.400 --> 00:35:15.119 -uh about +00:35:06.480 --> 00:35:15.119 +But what if for some reason… 00:35:15.119 --> 00:35:17.440 -what what advice would I give for +"What advice would I give for 00:35:17.440 --> 00:35:18.560 stewardship of -00:35:18.560 --> 00:35:22.079 -Emacs well basically - -00:35:22.079 --> 00:35:25.359 -focus on +00:35:18.560 --> 00:35:25.359 +Emacs?" Well, basically focus on 00:35:25.359 --> 00:35:28.480 keeping the community strong in @@ -2119,7 +2005,7 @@ keeping the community strong in defending 00:35:29.280 --> 00:35:32.640 -freedom if you have a choice between +freedom, if you have a choice between 00:35:32.640 --> 00:35:34.400 keeping the community strong in @@ -2131,52 +2017,52 @@ defending freedom and getting more people to participate 00:35:38.800 --> 00:35:40.720 -in the development +in the development, -00:35:40.720 --> 00:35:43.839 -you've got to choose the freedom it is +00:35:40.720 --> 00:35:42.890 +you've got to choose the freedom. -00:35:43.839 --> 00:35:44.400 -very +00:35:42.890 --> 00:35:44.400 +It is very 00:35:44.400 --> 00:35:48.400 easy for free software projects to 00:35:48.400 --> 00:35:52.320 -subordinate freedom to other criteria +subordinate freedom to other criteria, 00:35:52.320 --> 00:35:55.359 -and once that happens it's +and once that happens, it's 00:35:55.359 --> 00:35:58.079 easy for those who don't care much about 00:35:58.079 --> 00:35:58.720 -freedom +freedom, 00:35:58.720 --> 00:36:00.800 -such as sometimes companies that might +such as, sometimes companies that might 00:36:00.800 --> 00:36:02.640 offer you some money 00:36:02.640 --> 00:36:08.160 -to purchase your soul +to purchase your soul, 00:36:08.160 --> 00:36:10.560 not that there are really things that 00:36:10.560 --> 00:36:14.240 -exist called souls it's a metaphor but +exist called souls, it's a metaphor, but 00:36:14.240 --> 00:36:16.560 it's an important metaphor for something 00:36:16.560 --> 00:36:18.800 -important +important. 00:36:18.800 --> 00:36:20.880 -people in the community have to be +People in the community have to be 00:36:20.880 --> 00:36:24.320 thinking about freedom @@ -2185,37 +2071,37 @@ thinking about freedom when they make decisions about what is 00:36:27.280 --> 00:36:31.839 -wise to do +wise to do. 00:36:31.839 --> 00:36:36.480 -the decision to devel to set up non-glpa +The decision to set up NonGNU ELPA -00:36:36.480 --> 00:36:39.839 -has a drawback it was a compromise now a +00:36:36.480 --> 00:36:39.357 +has a drawback, it was a compromise. -00:36:39.839 --> 00:36:41.520 -lot of people will +00:36:39.357 --> 00:36:41.520 +Now, a lot of people will 00:36:41.520 --> 00:36:44.560 tell you that I am uncompromising and 00:36:44.560 --> 00:36:46.240 -say that that's a flaw +say that, that's a flaw. 00:36:46.240 --> 00:36:48.720 -well they're wrong I make little +Well, they're wrong. I make little 00:36:48.720 --> 00:36:50.320 compromises 00:36:50.320 --> 00:36:53.040 -very often and occasionally I make a +very often, and occasionally I make a 00:36:53.040 --> 00:36:55.359 -medium-sized compromise +medium-sized compromise. 00:36:55.359 --> 00:36:58.880 -the compromise is in the past we wanted +The compromise is, in the past we wanted 00:36:58.880 --> 00:36:59.359 to get @@ -2223,80 +2109,80 @@ to get 00:36:59.359 --> 00:37:01.599 copyright assignments for the packages -00:37:01.599 --> 00:37:02.400 -in gnu +00:37:01.599 --> 00:37:03.823 +in GNU ELPA, -00:37:02.400 --> 00:37:06.240 -elpa so that we could move them into +00:37:03.823 --> 00:37:06.240 +so that we could move them into 00:37:06.240 --> 00:37:09.119 -core Emacs and of course sometimes we +core Emacs, and of course, sometimes we 00:37:09.119 --> 00:37:11.200 -move packages in the other direction +move packages in the other direction, 00:37:11.200 --> 00:37:14.480 -that way we are where we distribute a +that way where we distribute a 00:37:14.480 --> 00:37:16.160 -given package +given package, 00:37:16.160 --> 00:37:18.160 is something we can decide purely 00:37:18.160 --> 00:37:20.880 -technically +technically. 00:37:20.880 --> 00:37:25.200 -and however make insisting on getting +And however make insisting on getting 00:37:25.200 --> 00:37:26.800 copyright assignments for all the 00:37:26.800 --> 00:37:28.640 -packages in gnu elpa +packages in GNU ELPA 00:37:28.640 --> 00:37:32.079 -meant that we had to say sorry no +meant that we had to say "sorry, no, 00:37:32.079 --> 00:37:35.119 -we will not install that packages in +we will not install that 00:37:35.119 --> 00:37:38.560 -packaging dewey lpa unless the +package in GNU ELPA, unless the -00:37:38.560 --> 00:37:41.520 -authors sign copyright assignments and +00:37:38.560 --> 00:37:40.957 +authors sign copyright assignments". -00:37:41.520 --> 00:37:44.079 -sometimes that's a lot of trouble +00:37:40.957 --> 00:37:44.079 +And sometimes that's a lot of trouble. 00:37:44.079 --> 00:37:47.520 -well non-glpa +Well, NonGNU ELPA -00:37:47.520 --> 00:37:50.160 -won't require copyright assignments if +00:37:47.520 --> 00:37:50.123 +won't require copyright assignments. -00:37:50.160 --> 00:37:51.520 -there's a free package +00:37:50.123 --> 00:37:51.520 +If there's a free package, 00:37:51.520 --> 00:37:54.560 -we can make whatever changes presumably +we can make whatever changes, presumably 00:37:54.560 --> 00:37:57.200 -small otherwise we would probably say +small, otherwise, we would probably say 00:37:57.200 --> 00:38:00.560 -we don't have time but and then +we don't have time, and then 00:38:00.560 --> 00:38:04.560 -put it in but it does have the drawback +put it in. But it does have the drawback 00:38:04.560 --> 00:38:05.599 -that +that, 00:38:05.599 --> 00:38:07.680 -we in general we won't be able to move +in general we won't be able to move 00:38:07.680 --> 00:38:09.119 those packages @@ -2308,49 +2194,49 @@ into core Emacs without getting the legal papers then that we 00:38:14.960 --> 00:38:20.160 -didn't get before +didn't get before. 00:38:20.160 --> 00:38:24.320 -how do you see the future of gdu Emacs +"How do you see the future of GNU Emacs?" 00:38:24.320 --> 00:38:27.599 -uh I don't see the future +I don't see the future. 00:38:27.599 --> 00:38:29.839 I used to say that my crystal ball is 00:38:29.839 --> 00:38:31.680 -cloudy today +cloudy today, 00:38:31.680 --> 00:38:35.680 -unfortunately that has another +unfortunately, that has another -00:38:35.680 --> 00:38:39.040 -meaning which is quite ironic uh we +00:38:35.680 --> 00:38:38.423 +meaning which is quite ironic. -00:38:39.040 --> 00:38:41.200 -certainly don't want +00:38:38.423 --> 00:38:41.200 +We certainly don't want 00:38:41.200 --> 00:38:44.800 our lives to be 00:38:44.800 --> 00:38:48.480 -somewhere in a cloud because +somewhere in a cloud, because 00:38:48.480 --> 00:38:51.119 -that clouds your mind and then people +that clouds remind, and then people 00:38:51.119 --> 00:38:51.599 start 00:38:51.599 --> 00:38:54.240 -cheating you and taking advantage of you +cheating you and taking advantage of you, 00:38:54.240 --> 00:38:56.880 -and it's horrible +and it's horrible. 00:38:56.880 --> 00:39:00.160 -but uh I don't see the future I just +But I don't see the future, I just 00:39:00.160 --> 00:39:02.720 can be sure from the past that there @@ -2365,28 +2251,28 @@ challenges where some of the people involved want to make a big compromise 00:39:10.720 --> 00:39:12.960 -that isn't worth it +that isn't worth it, 00:39:12.960 --> 00:39:16.880 -and they some they may even get the +and they may even get the 00:39:16.880 --> 00:39:18.079 impression that it's 00:39:18.079 --> 00:39:21.200 -up to them well actually +up to them. Well, actually 00:39:21.200 --> 00:39:24.480 Emacs has appointed maintainers just as 00:39:24.480 --> 00:39:27.440 -every gdu package does and they are the +every GNU package does, and they are the 00:39:27.440 --> 00:39:29.280 ones in charge of developing that 00:39:29.280 --> 00:39:30.480 -package +package, 00:39:30.480 --> 00:39:34.400 and this is for a good reason @@ -2398,7 +2284,7 @@ because the appointed maintainers take responsibility 00:39:39.760 --> 00:39:42.240 -to carry out the gnu project policies +to carry out the GNU project policies, 00:39:42.240 --> 00:39:44.079 and most important of all @@ -2407,124 +2293,124 @@ and most important of all are the ones that make the whole system 00:39:46.160 --> 00:39:47.520 -work together +work together, 00:39:47.520 --> 00:39:52.640 and the ethical standards 00:39:52.640 --> 00:39:59.920 -to respect freedom and defend freedom +to respect freedom and defend freedom. 00:39:59.920 --> 00:40:02.240 -is there any plan to move more packages +"Is there any plan to move more packages 00:40:02.240 --> 00:40:04.960 -from core Emacs into elpa +from core Emacs into ELPA?" 00:40:04.960 --> 00:40:08.480 -uh I don't know uh +I don't know 00:40:08.480 --> 00:40:11.440 -whether there is a plan I suppose if +whether there is a plan, I suppose if 00:40:11.440 --> 00:40:12.720 -there's a plan +there's a plan, 00:40:12.720 --> 00:40:15.680 -we probably would have done it if there +we probably would have done it. If there 00:40:15.680 --> 00:40:16.960 -had been a plan +had been a plan, -00:40:16.960 --> 00:40:19.839 -some have been moved I don't see this as +00:40:16.960 --> 00:40:18.657 +some have been moved. -00:40:19.839 --> 00:40:20.319 -a +00:40:18.657 --> 00:40:20.319 +I don't see this as a 00:40:20.319 --> 00:40:22.400 -fundamentally important issue it's a +fundamentally important issue, it's a 00:40:22.400 --> 00:40:24.160 matter of what's convenient for 00:40:24.160 --> 00:40:26.640 -the users and their advantages and +the users, and their advantages and 00:40:26.640 --> 00:40:29.599 -disadvantages to each choice +disadvantages to each choice. 00:40:29.599 --> 00:40:32.800 -what is your opinion on higher education +"What is your opinion on higher education 00:40:32.800 --> 00:40:35.760 -uh requiring non-free software for +requiring non-free software, for 00:40:35.760 --> 00:40:36.720 -instance +instance…" 00:40:36.720 --> 00:40:40.400 -well I wouldn't I wouldn't +Well, I wouldn't 00:40:40.400 --> 00:40:43.440 -matriculate in a school which did that +matriculate in a school which did that, 00:40:43.440 --> 00:40:50.960 -unless I saw a way I could refuse +unless I saw a way I could refuse. 00:40:50.960 --> 00:40:54.960 -now of course I do this +Now, of course, I do this 00:40:54.960 --> 00:40:57.760 -because I can get away with it and +because I can get away with it, and 00:40:57.760 --> 00:41:00.240 therefore my doing it is extremely 00:41:00.240 --> 00:41:04.960 -important to show somebody does resist +important to show somebody does resist. 00:41:04.960 --> 00:41:08.400 I don't expect most people who support 00:41:08.400 --> 00:41:09.359 -free school +free school, 00:41:09.359 --> 00:41:12.319 who advocate free software to go that 00:41:12.319 --> 00:41:13.599 -far +far. 00:41:13.599 --> 00:41:17.760 -uh I published an article in the spring +I published an article in the spring 00:41:17.760 --> 00:41:21.040 entitled saying no even once 00:41:21.040 --> 00:41:24.640 -is helping saying no to non-free +is helping, saying no to non-free 00:41:24.640 --> 00:41:25.359 software 00:41:25.359 --> 00:41:29.040 -even once because +even once, because 00:41:29.040 --> 00:41:32.240 -the more you do it the more you help but +the more you do it, the more you help, but 00:41:32.240 --> 00:41:34.640 even doing it a little in a way that 00:41:34.640 --> 00:41:36.640 -other people notice +other people notice, 00:41:36.640 --> 00:41:39.920 -is starting to help so +is starting to help. So, 00:41:39.920 --> 00:41:43.440 -uh please don't think that your choices +please don't think that your choices 00:41:43.440 --> 00:41:45.119 are either @@ -2536,13 +2422,13 @@ be as firm and stubborn as I am or just give up and let yourself drift 00:41:52.240 --> 00:41:56.240 -helplessly as if you had no volition +helplessly as if you had no volition. 00:41:56.240 --> 00:41:58.079 -there are a lot of points in between +There are a lot of points in between 00:41:58.079 --> 00:42:00.720 -there and you can surely +there, and you can surely 00:42:00.720 --> 00:42:04.079 manage to say no some of the time @@ -2551,109 +2437,109 @@ manage to say no some of the time and show people an example of saying no 00:42:07.839 --> 00:42:11.040 -some of the time for instance you could +some of the time, for instance, you could 00:42:11.040 --> 00:42:12.720 -say to people +say to people, 00:42:12.720 --> 00:42:15.520 -you know I hate the fact that my school +"You know I hate the fact that my school 00:42:15.520 --> 00:42:16.000 makes me 00:42:16.000 --> 00:42:20.400 -use zoom uh so whenever +use Zoom, so whenever 00:42:20.400 --> 00:42:22.240 -I'm not being forced I'm not going to +I'm not being forced, I'm not going to 00:42:22.240 --> 00:42:25.760 -use it +use it". 00:42:25.760 --> 00:42:29.200 -or I hate the fact that the only way I +Or "I hate the fact that the only way I 00:42:29.200 --> 00:42:31.200 can talk to that group of people 00:42:31.200 --> 00:42:35.200 -is resume but when +is with Zoom, 00:42:35.200 --> 00:42:38.400 but for anything else I will feel better 00:42:38.400 --> 00:42:40.079 -about myself if I don't +about myself if I don't". 00:42:40.079 --> 00:42:42.880 -see lots of ways to say no some of the +See, lots of ways to say no some of the 00:42:42.880 --> 00:42:44.000 -time +time, 00:42:44.000 --> 00:42:47.040 -and yield some of the time +and yield some of the time, 00:42:47.040 --> 00:42:50.960 -and when you try saying no occasionally +and when you try saying no occasionally, 00:42:50.960 --> 00:42:53.920 you may just develop the ability to say 00:42:53.920 --> 00:42:56.400 -no more often +no more often. 00:42:56.400 --> 00:42:58.800 -now whether you would ever get to be as +Now, whether you would ever get to be as 00:42:58.800 --> 00:43:00.640 -stubborn as I am +stubborn as I am? 00:43:00.640 --> 00:43:04.480 -I don't know but what I find is that +I don't know, but what I find is that 00:43:04.480 --> 00:43:08.480 I like the fact that I've never made 00:43:08.480 --> 00:43:12.480 -this kind of compromise +this kind of compromise. 00:43:12.480 --> 00:43:15.839 -I feel I have a reputation to maintain +I feel I have a reputation to maintain, 00:43:15.839 --> 00:43:19.319 -nobody's forcing me but I get +nobody's forcing me, but I get 00:43:19.319 --> 00:43:21.119 satisfaction 00:43:21.119 --> 00:43:24.319 -out of maintaining out of being able to +out of maintaining…, out of being able to 00:43:24.319 --> 00:43:26.400 continue to say 00:43:26.400 --> 00:43:30.880 -I will not +I will not. 00:43:30.880 --> 00:43:34.480 -you are now unmuted and that also +And that also 00:43:34.480 --> 00:43:40.480 -can happen at various different levels +can happen at various different levels, 00:43:40.480 --> 00:43:43.520 -so you can get that satisfaction +so, you can get that satisfaction 00:43:43.520 --> 00:43:46.640 of fully maintaining a refusal 00:43:46.640 --> 00:43:54.400 -that applies only to certain areas +that applies only to certain areas. 00:43:54.400 --> 00:43:57.040 -citizens uh noon already let's maybe +(Amin: since it's noon already, let's maybe 00:43:57.040 --> 00:43:58.880 take one or two more questions and then @@ -2662,124 +2548,115 @@ take one or two more questions and then break for 00:43:59.599 --> 00:44:03.200 -the lunch break okay thank you - -00:44:03.200 --> 00:44:06.000 -how often do you personally use Emacs as +the lunch break) Okay. (Amin: Thank you). -00:44:06.000 --> 00:44:07.440 -the +00:44:03.200 --> 00:44:05.757 +"How often do you personally use Emacs?" -00:44:07.440 --> 00:44:10.640 -lowest question now uh +00:44:05.757 --> 00:44:10.640 +is the lowest question now. 00:44:10.640 --> 00:44:16.640 -well I use it most of the day +Well, I use it most of the day. 00:44:16.640 --> 00:44:18.880 -I occasionally do use other things in +I occasionally do use other things, in 00:44:18.880 --> 00:44:20.160 -fact I occasionally edit with +fact, I occasionally edit with 00:44:20.160 --> 00:44:21.599 -libreoffice +LibreOffice, 00:44:21.599 --> 00:44:24.240 -I occasionally use media players I - -00:44:24.240 --> 00:44:25.280 -occasionally +I occasionally use media players, -00:44:25.280 --> 00:44:29.040 -uh - -00:44:29.040 --> 00:44:32.480 +00:44:24.240 --> 00:44:32.480 I occasionally ssh to a machine and type 00:44:32.480 --> 00:44:34.000 -some commands on it +some commands on it, 00:44:34.000 --> 00:44:35.440 which occasionally includes running 00:44:35.440 --> 00:44:42.319 -Emacs on it +Emacs on it. 00:44:42.319 --> 00:44:45.760 -I read pdf files a lot +I read PDF files a lot, 00:44:45.760 --> 00:44:47.520 would be nice if you could get those 00:44:47.520 --> 00:44:49.599 -into Emacs so that I could read them +into Emacs, so that I could read them 00:44:49.599 --> 00:44:52.240 -with Emacs commands +with Emacs commands, 00:44:52.240 --> 00:44:55.040 -and I maybe even edit them with the max +and I maybe even edit them with the Emacs 00:44:55.040 --> 00:44:56.160 commands 00:44:56.160 --> 00:44:59.440 -when they can be edited I use +when they can be edited. I use 00:44:59.440 --> 00:45:02.960 -uh journal sometimes +Xournal sometimes 00:45:02.960 --> 00:45:10.079 -to write on a pdf file +to write on a PDF file. 00:45:10.079 --> 00:45:12.160 -are there any more interesting projects +"Are there any more interesting projects 00:45:12.160 --> 00:45:13.760 you have in mind over and above 00:45:13.760 --> 00:45:18.400 -non-gnu elpa uh +NonGNU ELPA?" 00:45:18.400 --> 00:45:22.079 -I can't think of one right now well +I can't think of one right now, well, 00:45:22.079 --> 00:45:25.520 -there are things there are things that +there are things that 00:45:25.520 --> 00:45:27.119 -the gnu project needs +the GNU project needs 00:45:27.119 --> 00:45:30.560 -doing there are packages that don't have +doing, there are packages that don't have 00:45:30.560 --> 00:45:32.319 maintainers or could use 00:45:32.319 --> 00:45:35.839 -more maintainers uh +more maintainers. 00:45:35.839 --> 00:45:38.880 -talk with maintainers at canoe.org +Talk with maintainers@gnu.org, 00:45:38.880 --> 00:45:42.000 -and the assistant candusences will +and the assistant GNUisances will 00:45:42.000 --> 00:45:44.960 help you find a package where you can do 00:45:44.960 --> 00:45:48.400 -good +good. 00:45:48.400 --> 00:45:50.560 -not for beginners though you got to get +Not for beginners though, 00:45:50.560 --> 00:45:52.079 you got to learn 00:45:52.079 --> 00:45:55.599 -uh a substantive substantial level of +a substantive substantial level of 00:45:55.599 --> 00:45:58.160 capacity to develop and debug programs @@ -2787,14 +2664,14 @@ capacity to develop and debug programs 00:45:58.160 --> 00:45:59.440 before you can -00:45:59.440 --> 00:46:02.800 -be a maintainer uh have I ever looked at +00:45:59.440 --> 00:46:00.823 +be a maintainer. -00:46:02.800 --> 00:46:04.480 -maggot +00:46:00.823 --> 00:46:04.480 +"Have I ever looked at Magit?" 00:46:04.480 --> 00:46:08.400 -uh no I haven't +No, I haven't, 00:46:08.400 --> 00:46:11.920 but I believe @@ -2803,31 +2680,28 @@ but I believe work is being done to get it put into 00:46:14.880 --> 00:46:16.560 -Emacs +Emacs, 00:46:16.560 --> 00:46:22.240 -and at that point I'll give it a try +and at that point I'll give it a try. 00:46:22.240 --> 00:46:25.200 I do not want to share my configuration -00:46:25.200 --> 00:46:25.760 -files - -00:46:25.760 --> 00:46:29.520 -they're personal but +00:46:25.200 --> 00:46:29.520 +files they're personal. 00:46:29.520 --> 00:46:33.599 -how about if we end this now +How about if we end this now? 00:46:33.599 --> 00:46:36.880 -you are now unmuted sounds good to me +(Amin: sounds good to me, 00:46:36.880 --> 00:46:38.880 -thank you very much richard for joining +thank you very much Richard for joining 00:46:38.880 --> 00:46:41.520 -in for live questions +in for live questions.) 00:46:41.520 --> 00:46:43.839 -okay +Okay. diff --git a/templates/page.tmpl b/templates/page.tmpl index 28d650ad..576f3d66 100644 --- a/templates/page.tmpl +++ b/templates/page.tmpl @@ -37,6 +37,61 @@ </TMPL_LOOP> </TMPL_UNLESS> +<script> + // @license magnet:?xt=urn:btih:0b31508aeb0634b347b8270c7bee4d411b5d4109&dn=agpl-3.0.txt AGPL-3.0-or-later + /* + + SeekToTime - simple script to add video time jump functionality to timestamp links + Copyright (C) 2020 Grant Shangreaux + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. + + This script enables wiki editors to create anchor tags with the class "time-link" + that will be parsed for seeking to specific time stamps in the main video on a page. + The tag should look like this: + + <a href="#mainVideo" class="time-link">mm:ss</a> + + This could be extended to accept hours in the time stamp as well, but currently does not. + */ + let mainVideo; + let qnaVideo; // some pages have a questions and answers video + let timestamps; + + // expects a string like "mm:ss" + function parseSeconds(timeString) { + const times = timeString.split(":"); + const minutes = parseFloat(times[0]); + const seconds = parseFloat(times[1]); + return (minutes * 60) + seconds; + } + + window.onload = function initScript() { + mainVideo = document.getElementById("mainVideo"); + qnaVideo = document.getElementById("qnaVideo"); + timestamps = document.getElementsByClassName("time-link"); + let len = timestamps.length; + for (let i = 0; i < len; i++) { + timestamps[i].onclick = function () { + const videoType = this.href.split("/").pop(); + const video = (videoType == "#mainVideo") ? mainVideo : qnaVideo; + video.currentTime = parseSeconds(this.innerText) + }; + } + } + // @license-end +</script> </head> <body> @@ -48,7 +103,7 @@ <span> <span class="parentlinks"> <TMPL_LOOP PARENTLINKS> -<a href="<TMPL_VAR URL>"><TMPL_VAR PAGE></a>/ +<a href="<TMPL_VAR URL>"><TMPL_VAR PAGE></a>/ </TMPL_LOOP> </span> <span class="title"> @@ -221,6 +276,5 @@ Last edited <TMPL_VAR MTIME> <TMPL_IF HTML5></footer><TMPL_ELSE></div></TMPL_IF> <TMPL_IF HTML5></article><TMPL_ELSE></div></TMPL_IF> - </body> </html> diff --git a/templates/vid.md b/templates/vid.md index 803e0fb6..3d48a0bb 100644 --- a/templates/vid.md +++ b/templates/vid.md @@ -1,5 +1,5 @@ <div class="vid"> -<video controls preload="metadata"> +<video controls preload="metadata" id="<TMPL_VAR vidid>"> <source src="<TMPL_VAR src>" type="<TMPL_VAR type>" /> <TMPL_IF subtitles> <track label="English" kind="subtitles" srclang="en" src="<TMPL_VAR subtitles>" default /> |