diff options
author | EmacsConf Organizers <orga@front0.emacsconf.org> | 2021-01-30 17:00:44 +0000 |
---|---|---|
committer | EmacsConf Organizers <orga@front0.emacsconf.org> | 2021-01-30 17:00:44 +0000 |
commit | 0b487f878d36f62b7a29df13e4172cf04243e45f (patch) | |
tree | 5202f7dde992fa00dabd0ed90fb620231bc6e57a /2020/subtitles | |
parent | 677d96158e0eb1d975bb76c7a6e0c695b42aabd2 (diff) | |
parent | 42831835bf8daf375e9515f84f5f9ff2adac7f94 (diff) | |
download | emacsconf-wiki-0b487f878d36f62b7a29df13e4172cf04243e45f.tar.xz emacsconf-wiki-0b487f878d36f62b7a29df13e4172cf04243e45f.zip |
Merge branch 'master' of git://git.emacsconf.org/emacsconf-wiki
Diffstat (limited to '2020/subtitles')
11 files changed, 3820 insertions, 4241 deletions
diff --git a/2020/subtitles/emacsconf-2020--02-an-emacs-developer-story-from-user-to-package-maintainer--leo-vivier.vtt b/2020/subtitles/emacsconf-2020--02-an-emacs-developer-story-from-user-to-package-maintainer--leo-vivier.vtt index facb16b8..37114bf0 100644 --- a/2020/subtitles/emacsconf-2020--02-an-emacs-developer-story-from-user-to-package-maintainer--leo-vivier.vtt +++ b/2020/subtitles/emacsconf-2020--02-an-emacs-developer-story-from-user-to-package-maintainer--leo-vivier.vtt @@ -3,122 +3,103 @@ WEBVTT 00:00:00.000 --> 00:00:03.760 (Amin: Alrighty, Leo Vivier, take it away.) -00:00:03.760 --> 00:00:05.839 -Okay, well, thank you. I'm in. So you've +00:00:03.760 --> 00:00:05.319 +Okay, well, thank you. I'm in. -00:00:05.839 --> 00:00:06.879 -just had a +00:00:05.319 --> 00:00:08.393 +So you've just had a little roundup of +the news, -00:00:06.879 --> 00:00:08.880 -little roundup of the news, and we're +00:00:08.393 --> 00:00:11.120 +and we're going to get started now with +some presentations. -00:00:08.880 --> 00:00:10.320 -going to get started now with some - -00:00:10.320 --> 00:00:11.120 -presentations. - -00:00:11.120 --> 00:00:13.840 +00:00:11.120 --> 00:00:15.920 We're starting with user - -00:00:13.840 --> 00:00:15.920 developer stories. -00:00:15.920 --> 00:00:18.000 -I was extremely interested in this - -00:00:18.000 --> 00:00:19.199 -section because I +00:00:15.920 --> 00:00:18.568 +I was extremely interested in +this section -00:00:19.199 --> 00:00:21.600 -wanted to get a chance, basically, to tell +00:00:18.568 --> 00:00:21.133 +because I wanted to get +a chance, basically, -00:00:21.600 --> 00:00:24.160 -you a little more about who I am and +00:00:21.133 --> 00:00:24.160 +to tell you a little more about +who I am and -00:00:24.160 --> 00:00:27.039 -how I got from basically being a user of +00:00:24.160 --> 00:00:28.160 +how I got from basically being +a user of Emacs -00:00:27.039 --> 00:00:28.160 -Emacs - -00:00:28.160 --> 00:00:30.640 -to being nowadays a package - -00:00:30.640 --> 00:00:31.279 -maintainer, +00:00:28.160 --> 00:00:31.279 +to being nowadays a package maintainer, -00:00:31.279 --> 00:00:33.280 +00:00:31.279 --> 00:00:34.156 and maybe more in the future. I don't +know. -00:00:33.280 --> 00:00:34.559 -know. So, +00:00:34.156 --> 00:00:36.954 +So, just for the organizers, I'm +planning to speak for 15 minutes, -00:00:34.559 --> 00:00:36.160 -just for the organizers, I'm planning to +00:00:36.954 --> 00:00:39.680 +and I'll have five more minutes of +questions at the end. -00:00:36.160 --> 00:00:37.760 -speak for 15 minutes, and I'll have five - -00:00:37.760 --> 00:00:39.680 -more minutes of questions at the end. - -00:00:39.680 --> 00:00:41.360 +00:00:39.680 --> 00:00:41.880 As I told you before, if you want to have +questions, -00:00:41.360 --> 00:00:43.440 -questions, you know you can use the pad, +00:00:41.880 --> 00:00:43.440 +you know you can use the pad, -00:00:43.440 --> 00:00:44.879 +00:00:43.440 --> 00:00:45.871 and I'll be reading the questions from +there. -00:00:44.879 --> 00:00:47.360 -there. Okay. So - -00:00:47.360 --> 00:00:49.600 -hi there, as Amin introduced me before, +00:00:45.871 --> 00:00:49.600 +Okay. So hi there, as Amin introduced me +before, 00:00:49.600 --> 00:00:51.280 my name is Leo Vivier. -00:00:51.280 --> 00:00:54.800 +00:00:51.280 --> 00:00:55.662 I'm a freelance software engineer +in France, -00:00:54.800 --> 00:00:58.079 -in France, and I have been using Emacs - -00:00:58.079 --> 00:00:59.359 -now for +00:00:55.662 --> 00:00:59.359 +and I have been using Emacs now for -00:00:59.359 --> 00:01:01.280 -i believe close to eight years. I can't +00:00:59.359 --> 00:01:00.885 +I believe close to eight years. -00:01:01.280 --> 00:01:03.039 -believe it's been so long. +00:01:00.885 --> 00:01:03.039 +I can't believe it's been so long. -00:01:03.039 --> 00:01:07.680 +00:01:03.039 --> 00:01:09.967 But yes, it's been a journey because, +in a way, -00:01:07.680 --> 00:01:12.000 -in a way, nothing +00:01:09.967 --> 00:01:13.255 +nothing made me go for Emacs. -00:01:12.000 --> 00:01:15.119 -made me go for Emacs. You know I'm an-- +00:01:13.255 --> 00:01:17.011 +You know I'm an-- sorry, I was about to +say Emacs major, -00:01:15.119 --> 00:01:17.280 -sorry, I was about to say Emacs major, but +00:01:17.011 --> 00:01:18.638 +but no, I'm an English major. -00:01:17.280 --> 00:01:19.200 -no, I'm an English major. I went to +00:01:18.638 --> 00:01:23.990 +I went to university to study English +literature and linguistics, -00:01:19.200 --> 00:01:21.280 -university to study English literature - -00:01:21.280 --> 00:01:24.320 -and linguistics, and - -00:01:24.320 --> 00:01:26.159 -I just got started in Emacs +00:01:23.990 --> 00:01:26.159 +and I just got started in Emacs 00:01:26.159 --> 00:01:28.240 because I was looking for ways to take @@ -126,80 +107,70 @@ because I was looking for ways to take 00:01:28.240 --> 00:01:31.340 better notes. I was looking for ways to -00:01:31.340 --> 00:01:32.640 -[Applause] - 00:01:32.640 --> 00:01:34.640 structure the way I was learning, -00:01:34.640 --> 00:01:36.720 -structure the way I was +00:01:34.640 --> 00:01:38.084 +structure the way I was taking notes. -00:01:36.720 --> 00:01:40.079 -taking notes. I stumbled one day +00:01:38.084 --> 00:01:40.079 +I stumbled one day -00:01:40.079 --> 00:01:42.320 -upon this weird piece of software which +00:01:40.079 --> 00:01:42.032 +upon this weird piece of software -00:01:42.320 --> 00:01:43.759 -was called Emacs, +00:01:42.032 --> 00:01:43.759 +which was called Emacs, 00:01:43.759 --> 00:01:46.479 and I've been trapped forever since, -00:01:46.479 --> 00:01:47.920 -basically, because +00:01:46.479 --> 00:01:48.328 +basically, because eight years ago, -00:01:47.920 --> 00:01:49.280 -eight years ago, when I discovered +00:01:48.328 --> 00:01:49.515 +when I discovered Emacs, -00:01:49.280 --> 00:01:51.119 -Emacs I just couldn't let go. There was +00:01:49.515 --> 00:01:50.632 +I just couldn't let go. -00:01:51.119 --> 00:01:52.720 -just something very +00:01:50.632 --> 00:01:52.720 +There was just something very -00:01:52.720 --> 00:01:55.439 -interesting about the way you configured +00:01:52.720 --> 00:01:54.487 +interesting about the way -00:01:55.439 --> 00:01:56.320 -your setup, +00:01:54.487 --> 00:01:56.320 +you configured your setup, -00:01:56.320 --> 00:01:58.799 -and I just wanted to dive deeper and - -00:01:58.799 --> 00:01:59.759 -deeper. +00:01:56.320 --> 00:01:59.759 +and I just wanted to +dive deeper and deeper. 00:01:59.759 --> 00:02:04.320 So the title is of this talk exactly is -00:02:04.320 --> 00:02:06.640 +00:02:04.320 --> 00:02:07.637 how I went from user to package +maintainer, -00:02:06.640 --> 00:02:08.000 -maintainer, and - -00:02:08.000 --> 00:02:09.840 -the package now that I'm maintaining is - -00:02:09.840 --> 00:02:11.599 -called org-roam. I'm not the only one +00:02:07.637 --> 00:02:09.686 +and the package now that I'm maintaining -00:02:11.599 --> 00:02:12.080 +00:02:09.686 --> 00:02:12.080 +is called org-roam. I'm not the only one doing this. -00:02:12.080 --> 00:02:15.440 +00:02:12.080 --> 00:02:18.720 I'm helped with many lovely people - -00:02:15.440 --> 00:02:18.720 working on org-roam. -00:02:18.720 --> 00:02:21.360 +00:02:18.720 --> 00:02:22.149 I got started as a maintainer +only this year, -00:02:21.360 --> 00:02:23.360 -only this year, so that means that for +00:02:22.149 --> 00:02:23.360 +so that means that for 00:02:23.360 --> 00:02:24.720 the eight years I've been @@ -228,20 +199,17 @@ because I believe that I'm far from 00:02:40.959 --> 00:02:42.160 being the only user -00:02:42.160 --> 00:02:43.599 +00:02:42.160 --> 00:02:44.327 who can make the jump to being a +maintainer. -00:02:43.599 --> 00:02:45.519 -maintainer. A lot of you have - -00:02:45.519 --> 00:02:46.879 -a lot of knowledge when it comes to - -00:02:46.879 --> 00:02:48.959 -Emacs. Some of you +00:02:44.327 --> 00:02:47.572 +A lot of you have a lot of knowledge +when it comes to Emacs. -00:02:48.959 --> 00:02:51.040 -are at different steps in your journey. +00:02:47.572 --> 00:02:51.040 +Some of you are at different steps in +your journey. 00:02:51.040 --> 00:02:52.720 Some of you, for instance, are just @@ -249,78 +217,73 @@ Some of you, for instance, are just 00:02:52.720 --> 00:02:55.680 starting to copy stuff out of -00:02:55.680 --> 00:02:57.040 -StackExchange +00:02:55.680 --> 00:02:59.058 +StackExchange into your Emacs +configuration. -00:02:57.040 --> 00:02:59.519 -into your Emacs configuration. let's - -00:02:59.519 --> 00:03:00.720 -say you want to do something very - -00:03:00.720 --> 00:03:01.599 +00:02:59.058 --> 00:03:01.599 +Let's say you want to do something very particular 00:03:01.599 --> 00:03:04.480 and you haven't found a way to do so. -00:03:04.480 --> 00:03:05.920 -You go on StackExchange. You find - -00:03:05.920 --> 00:03:09.040 -something that's interesting. You add it -to your +00:03:04.480 --> 00:03:05.527 +You go on StackExchange. -00:03:09.040 --> 00:03:10.239 -Emacs configuration. You +00:03:05.527 --> 00:03:07.930 +You find something that's interesting. -00:03:10.239 --> 00:03:11.680 -barely understand anything that's going on. +00:03:07.930 --> 00:03:10.077 +You add it to your Emacs configuration. -00:03:11.680 --> 00:03:13.519 -You know that it's supposed to be +00:03:10.077 --> 00:03:11.680 +You barely understand anything that's +going on. -00:03:13.519 --> 00:03:14.800 -Emacs Lisp. +00:03:11.680 --> 00:03:14.800 +You know that it's supposed to be Emacs +Lisp. 00:03:14.800 --> 00:03:17.200 "I hardly know Emacs and 00:03:17.200 --> 00:03:19.440 -I know even less what is Lisp supposed to be." +I know even less what is Lisp supposed +to be." -00:03:19.440 --> 00:03:21.440 -But you paste it in and it does what you +00:03:19.440 --> 00:03:22.172 +But you paste it in, and it does what +you want it to do, -00:03:21.440 --> 00:03:22.800 -want it to do, and you say +00:03:22.172 --> 00:03:26.682 +and you say "Great, I'll move on to my +work now." -00:03:22.800 --> 00:03:26.959 -"Great, I'll move on to my work now." So +00:03:26.682 --> 00:03:28.821 +So that's how I got started. -00:03:26.959 --> 00:03:29.280 -that's how I got started. I had +00:03:28.821 --> 00:03:33.888 +I had a very spartan setup for Emacs, +which a lot of you must know... -00:03:29.280 --> 00:03:30.879 -a very spartan +00:03:33.888 --> 00:03:36.000 +The first time you launch Emacs, -00:03:30.879 --> 00:03:33.440 -setup for Emacs, which a lot of you must +00:03:36.000 --> 00:03:36.920 +you have this feeling -00:03:33.440 --> 00:03:36.000 -know... The first time you launch Emacs, +00:03:36.920 --> 00:03:38.852 +that you're jumping 20 years +back in time, -00:03:36.000 --> 00:03:37.840 -you have this feeling that you're jumping 20 +00:03:38.852 --> 00:03:43.260 +as far as the user interface is +concerned. -00:03:37.840 --> 00:03:39.599 -years back in time, as far as the - -00:03:39.599 --> 00:03:43.680 -user interface is concerned. But - -00:03:43.680 --> 00:03:46.959 -as you get to spend more time with Emacs... +00:03:43.260 --> 00:03:46.959 +But as you get to spend more time with +Emacs... 00:03:46.959 --> 00:03:49.120 Some would call it Stockholm syndrome @@ -328,104 +291,94 @@ Some would call it Stockholm syndrome 00:03:49.120 --> 00:03:50.959 insofar as you can't see -00:03:50.959 --> 00:03:53.360 -how spartan the entire thing is, but it - -00:03:53.360 --> 00:03:54.640 -actually is +00:03:50.959 --> 00:03:52.929 +how spartan the entire thing is, -00:03:54.640 --> 00:03:58.400 -a lovely prison, so to speak. +00:03:52.929 --> 00:03:58.400 +but it actually is a lovely prison, +so to speak. 00:03:58.400 --> 00:04:00.400 That's how I got started eight years ago. -00:04:00.400 --> 00:04:01.680 -I just wanted +00:04:00.400 --> 00:04:04.319 +I just wanted to find a way to do my +research properly. -00:04:01.680 --> 00:04:04.319 -to find a way to do my research properly. +00:04:04.319 --> 00:04:05.699 +I wanted to have a tool -00:04:04.319 --> 00:04:05.519 -I wanted to have a - -00:04:05.519 --> 00:04:07.280 -tool that I could use to write my notes +00:04:05.699 --> 00:04:07.280 +that I could use to write my notes 00:04:07.280 --> 00:04:08.959 in plain text, because I was already -00:04:08.959 --> 00:04:11.680 -fairly averse to - -00:04:11.680 --> 00:04:14.560 -Microsoft solutions when it - -00:04:14.560 --> 00:04:16.320 -came to taking notes. - -00:04:16.320 --> 00:04:19.359 -So yeah, I got started in Emacs. I +00:04:08.959 --> 00:04:16.320 +fairly averse to Microsoft solutions +when it came to taking notes. -00:04:19.359 --> 00:04:20.880 -read a little bit about what plain text +00:04:16.320 --> 00:04:19.180 +So yeah, I got started in Emacs. -00:04:20.880 --> 00:04:23.040 -was about. Just to be clear, +00:04:19.180 --> 00:04:21.651 +I read a little bit about what plain +text was about. -00:04:23.040 --> 00:04:26.000 -at the time, yes, I was very good with +00:04:21.651 --> 00:04:24.364 +Just to be clear, at the time, yes, -00:04:26.000 --> 00:04:27.120 -computers, +00:04:24.364 --> 00:04:27.120 +I was very good with computers, 00:04:27.120 --> 00:04:30.160 but I was not a computer science student. -00:04:30.160 --> 00:04:33.520 +00:04:30.160 --> 00:04:34.302 I had barely any experience with -programming +programming and coding, -00:04:33.520 --> 00:04:36.080 -and coding, and I was even less of a - -00:04:36.080 --> 00:04:39.919 -hacker +00:04:34.302 --> 00:04:39.919 +and I was even less of a hacker back then. -00:04:39.919 --> 00:04:42.560 -It just goes to show you that at the +00:04:39.919 --> 00:04:43.052 +It just goes to show you that +at the beginning, -00:04:42.560 --> 00:04:44.479 -beginning, I had close to no knowledge, +00:04:43.052 --> 00:04:44.479 +I had close to no knowledge, 00:04:44.479 --> 00:04:45.840 whether it be about -00:04:45.840 --> 00:04:48.880 -the free software world, whether it be -about... +00:04:45.840 --> 00:04:47.457 +the free software world, + +00:04:47.457 --> 00:04:48.880 +whether it be about... -00:04:48.880 --> 00:04:50.800 -Sacha, do you want to say something? (Sacha: just +00:04:48.880 --> 00:04:50.290 +Sacha, do you want to say something? -00:04:50.800 --> 00:04:52.479 -confirming, you're not sharing anything +00:04:50.290 --> 00:04:52.479 +(Sacha: just confirming, you're not +sharing anything 00:04:52.479 --> 00:04:54.080 on the screen at the moment, right?) -00:04:54.080 --> 00:04:55.360 -No, I'm not sharing anything, I'm +00:04:54.080 --> 00:04:55.204 +No, I'm not sharing anything, -00:04:55.360 --> 00:04:59.040 -just presenting. +00:04:55.204 --> 00:04:59.040 +I'm just presenting. -00:04:59.040 --> 00:05:02.240 -So when I started, I had no +00:04:59.040 --> 00:05:01.173 +So when I started, -00:05:02.240 --> 00:05:03.680 -experience whatsoever. +00:05:01.173 --> 00:05:03.680 +I had no experience whatsoever. 00:05:03.680 --> 00:05:07.199 I was just a literature major @@ -433,37 +386,39 @@ I was just a literature major 00:05:07.199 --> 00:05:11.039 trying to get better at taking notes. -00:05:11.039 --> 00:05:13.440 -I stumbled upon LaTeX. As many people +00:05:11.039 --> 00:05:12.466 +I stumbled upon LaTeX. -00:05:13.440 --> 00:05:15.280 -who stumble upon LaTeX know, +00:05:12.466 --> 00:05:15.280 +As many people who stumble upon +LaTeX know, -00:05:15.280 --> 00:05:17.039 -you don't just stumble upon +00:05:15.280 --> 00:05:17.519 +you don't just stumble upon LaTeX, -00:05:17.039 --> 00:05:19.759 -LaTeX, you embroil yourself in the +00:05:17.519 --> 00:05:21.950 +you embroil yourself in the turmoil of +suffering, -00:05:19.759 --> 00:05:24.560 -turmoil of suffering, of late -nights tweaking, +00:05:21.950 --> 00:05:24.560 +of late nights tweaking, -00:05:24.560 --> 00:05:27.440 -so that your document is exactly in the +00:05:24.560 --> 00:05:26.923 +so that your document is exactly -00:05:27.440 --> 00:05:33.440 -perfect shape you want it to be. +00:05:26.923 --> 00:05:33.440 +in the perfect shape you want it to be. 00:05:33.440 --> 00:05:36.639 Soon after, when I got started with Emacs and LaTeX, -00:05:36.639 --> 00:05:38.400 +00:05:36.639 --> 00:05:39.334 I discovered something that truly +changed my life, -00:05:38.400 --> 00:05:40.560 -changed my life, and it was Org Mode. +00:05:39.334 --> 00:05:40.560 +and it was Org Mode. 00:05:40.560 --> 00:05:44.479 As you'll get a lot of presentations @@ -478,41 +433,43 @@ I won't be spending too much time on it. But Org Mode, for me, was a revelation. It's... -00:05:53.680 --> 00:05:56.880 -There was something that, upon reading +00:05:53.680 --> 00:05:55.869 +There was something that, -00:05:56.880 --> 00:05:59.039 -articles on how to use Org Mode, +00:05:55.869 --> 00:05:59.039 +upon reading articles on +how to use Org Mode, -00:05:59.039 --> 00:06:02.080 +00:05:59.039 --> 00:06:02.453 especially one of the key +articles -00:06:02.080 --> 00:06:04.160 -article that I'd read which really made +00:06:02.453 --> 00:06:04.160 +that I'd read which really made 00:06:04.160 --> 00:06:06.000 a huge impact on me 00:06:06.000 --> 00:06:09.199 -was the "Organize Your Life in Plain Text" one - -00:06:09.199 --> 00:06:10.720 -which i'm sure many of you must have +was the "Organize Your Life in Plain +Text" one, -00:06:10.720 --> 00:06:12.240 +00:06:09.199 --> 00:06:12.240 +which I'm sure many of you must have stumbled upon 00:06:12.240 --> 00:06:15.919 in your Emacs journey... -00:06:15.919 --> 00:06:19.680 +00:06:15.919 --> 00:06:20.307 For me, when I stumbled upon this +document, -00:06:19.680 --> 00:06:21.840 -document, I was starting to get +00:06:20.307 --> 00:06:22.488 +I was starting to get interested -00:06:21.840 --> 00:06:24.240 -interested in Getting Things Done and +00:06:22.488 --> 00:06:24.240 +in Getting Things Done and 00:06:24.240 --> 00:06:26.560 all the nitty-gritty stuff about @@ -520,26 +477,23 @@ all the nitty-gritty stuff about 00:06:26.560 --> 00:06:29.199 organization and self-organization. -00:06:29.199 --> 00:06:31.919 +00:06:29.199 --> 00:06:32.960 It just felt like everything was under - -00:06:31.919 --> 00:06:32.960 my fingertips 00:06:32.960 --> 00:06:36.960 to make the perfect workflow. -00:06:36.960 --> 00:06:40.880 +00:06:36.960 --> 00:06:44.080 There was something incredibly - -00:06:40.880 --> 00:06:44.080 satisfying about -00:06:44.080 --> 00:06:46.319 -having a system that gave you so many +00:06:44.080 --> 00:06:45.834 +having a system that gave you -00:06:46.319 --> 00:06:48.319 -options to configure your experience +00:06:45.834 --> 00:06:48.319 +so many options to configure your +experience 00:06:48.319 --> 00:06:50.160 exactly how you wanted. @@ -547,10 +501,8 @@ exactly how you wanted. 00:06:50.160 --> 00:06:54.479 You had this feeling that -00:06:54.479 --> 00:06:57.199 +00:06:54.479 --> 00:06:57.599 the people behind Org Mode had thought - -00:06:57.199 --> 00:06:57.599 of everything, 00:06:57.599 --> 00:07:00.479 @@ -576,76 +528,76 @@ oh, it's half past one and I need to... in the morning, I mean, and I need to make 00:07:15.280 --> 00:07:17.680 -sure that the item that i'm marking as done +sure that the item that I'm marking as done -00:07:17.680 --> 00:07:19.199 -is done for the day before and not for +00:07:17.680 --> 00:07:18.759 +is done for the day before -00:07:19.199 --> 00:07:21.919 -the current day. You see what I'm talking about. +00:07:18.759 --> 00:07:20.233 +and not for the current day. + +00:07:20.233 --> 00:07:21.919 +You see what I'm talking about. 00:07:21.919 --> 00:07:25.280 So many details that were already -00:07:25.280 --> 00:07:28.800 -present in Org Mode. At first you're - -00:07:28.800 --> 00:07:31.039 -really impressed, because you think, - -00:07:31.039 --> 00:07:34.080 -wow, they thought of everything, but then +00:07:25.280 --> 00:07:27.235 +present in Org Mode. -00:07:34.080 --> 00:07:35.599 -you realize that it's just a matter of +00:07:27.235 --> 00:07:31.335 +At first you're really impressed, +because you think, wow, -00:07:35.599 --> 00:07:38.080 -experience, just a matter of people +00:07:31.335 --> 00:07:33.470 +they thought of everything, -00:07:38.080 --> 00:07:40.800 -contributing code, because the +00:07:33.470 --> 00:07:36.378 +but then you realize that it's just a +matter of experience, -00:07:40.800 --> 00:07:42.400 -development of Org Mode, Emacs, and +00:07:36.378 --> 00:07:39.712 +just a matter of people +contributing code, -00:07:42.400 --> 00:07:43.520 -everything is just +00:07:39.712 --> 00:07:42.171 +because the development of Org Mode, +Emacs, -00:07:43.520 --> 00:07:45.440 -open to the public. You know, it's like +00:07:42.171 --> 00:07:44.455 +and everything is just +open to the public. -00:07:45.440 --> 00:07:46.879 -everything is being done with the garage +00:07:44.455 --> 00:07:45.440 +You know, it's like -00:07:46.879 --> 00:07:48.560 -door opened. You can just +00:07:45.440 --> 00:07:47.685 +everything is being done +with the garage door opened. -00:07:48.560 --> 00:07:50.960 -go on Org Mode on Savannah and see +00:07:47.685 --> 00:07:50.402 +You can just go on Org Mode on Savannah -00:07:50.960 --> 00:07:54.800 -everything that is being developed. +00:07:50.402 --> 00:07:54.800 +and see everything that is being +developed. -00:07:54.800 --> 00:07:58.639 -For me, the shift that occurred +00:07:54.800 --> 00:08:01.586 +For me, the shift that occurred in my +mind was -00:07:58.639 --> 00:08:02.639 -in my mind was when +00:08:01.586 --> 00:08:04.139 +when I was reading all the options, -00:08:02.639 --> 00:08:04.240 -I was reading all the options, I +00:08:04.139 --> 00:08:05.881 +I was looking at all the variables -00:08:04.240 --> 00:08:06.240 -was looking at all the variables that i +00:08:05.881 --> 00:08:08.160 +that I could modify for Org Mode, -00:08:06.240 --> 00:08:08.160 -could modify for Org Mode, - -00:08:08.160 --> 00:08:11.440 -and there came a time, maybe two to three - -00:08:11.440 --> 00:08:12.560 -years ago, +00:08:08.160 --> 00:08:12.560 +and there came a time, maybe two to +three years ago, 00:08:12.560 --> 00:08:15.599 where I thought, oh wow, @@ -653,35 +605,36 @@ where I thought, oh wow, 00:08:15.599 --> 00:08:17.759 maybe for the first time in a while, -00:08:17.759 --> 00:08:19.599 -there is no option for me to do what I +00:08:17.759 --> 00:08:19.260 +there is no option for me to do -00:08:19.599 --> 00:08:21.440 -want to be doing with Org Mode. +00:08:19.260 --> 00:08:21.440 +what I want to be doing with Org Mode. -00:08:21.440 --> 00:08:24.479 -I believe at the time the the key +00:08:21.440 --> 00:08:23.668 +I believe at the time, -00:08:24.479 --> 00:08:29.199 -issue that triggered this reflex for me was +00:08:23.668 --> 00:08:29.199 +the key issue that triggered +this reflex for me was 00:08:29.199 --> 00:08:31.039 I wanted to do something with the agenda. -00:08:31.039 --> 00:08:33.599 -I wanted to have a super category so, you +00:08:31.039 --> 00:08:34.159 +I wanted to have a super category so, +you know, in the... -00:08:33.599 --> 00:08:34.159 -know, in the... +00:08:34.159 --> 00:08:36.606 +for those of you who know, +in your agenda, -00:08:34.159 --> 00:08:36.320 -for those of you who know, in your +00:08:36.606 --> 00:08:38.376 +you have the ability to +have many files, -00:08:36.320 --> 00:08:38.000 -agenda, you have the ability to have many - -00:08:38.000 --> 00:08:41.200 -files, and you have the ability to have +00:08:38.376 --> 00:08:41.200 +and you have the ability to have categories. 00:08:41.200 --> 00:08:47.920 @@ -693,30 +646,24 @@ TODOs in smaller groups, or bigger 00:08:51.680 --> 00:08:52.560 groups, I should say, -00:08:52.560 --> 00:08:53.920 -so that, for instance, I could have one - -00:08:53.920 --> 00:08:55.440 -group for my professional life, I could +00:08:52.560 --> 00:08:53.780 +so that, for instance, I could have -00:08:55.440 --> 00:08:56.000 -have a group +00:08:53.780 --> 00:08:55.131 +one group for my professional life, -00:08:56.000 --> 00:08:59.600 -for one work, the second -work... +00:08:55.131 --> 00:08:57.462 +I could have a group for one work, -00:08:59.600 --> 00:09:00.800 -I could have something for +00:08:57.462 --> 00:08:59.600 +the second work... -00:09:00.800 --> 00:09:02.800 -university and all this. +00:08:59.600 --> 00:09:02.800 +I could have something for university +and all this. -00:09:02.800 --> 00:09:06.000 -I thought, yeah, - -00:09:06.000 --> 00:09:09.600 -I think I'd like this. +00:09:02.800 --> 00:09:09.600 +I thought, yeah, I think I'd like this. 00:09:09.600 --> 00:09:12.959 After having spent so long working @@ -724,14 +671,15 @@ After having spent so long working 00:09:12.959 --> 00:09:15.519 with Emacs and working with Org Mode, -00:09:15.519 --> 00:09:17.200 -I had some ideas about what was +00:09:15.519 --> 00:09:16.766 +I had some ideas about -00:09:17.200 --> 00:09:18.800 -within the realm of possibility and what +00:09:16.766 --> 00:09:19.292 +what was within the realm of possibility +and what wasn't. -00:09:18.800 --> 00:09:21.120 -wasn't. Here I thought to myself, +00:09:19.292 --> 00:09:21.120 +Here I thought to myself, 00:09:21.120 --> 00:09:24.320 this is definitely something that I can do. @@ -742,11 +690,12 @@ And so thus started my journey 00:09:27.839 --> 00:09:31.360 into the Org Mode libraries. -00:09:31.360 --> 00:09:33.040 -I won't go too much into details right +00:09:31.360 --> 00:09:33.222 +I won't go too much into details +right now, -00:09:33.040 --> 00:09:34.959 -now, because right now, the main objective +00:09:33.222 --> 00:09:34.959 +because right now, the main objective 00:09:34.959 --> 00:09:37.040 that I have is just to show you @@ -770,46 +719,41 @@ It might seem like an obscure language, 00:09:52.080 --> 00:09:54.080 and it certainly is, -00:09:54.080 --> 00:09:56.399 +00:09:54.080 --> 00:09:57.279 but as soon as you get the logic of the - -00:09:56.399 --> 00:09:57.279 language--and -00:09:57.279 --> 00:09:59.360 -what i'm telling you - -00:09:59.360 --> 00:10:00.560 -is coming from someone who's never +00:09:57.279 --> 00:10:00.136 +what I'm telling you is coming from +someone -00:10:00.560 --> 00:10:01.760 -studied programming-- +00:10:00.136 --> 00:10:01.760 +who's never studied programming-- 00:10:01.760 --> 00:10:04.399 it made sense. -00:10:04.399 --> 00:10:06.079 -Everything is so verbose when you get +00:10:04.399 --> 00:10:05.534 +Everything is so verbose -00:10:06.079 --> 00:10:07.279 -into the code. +00:10:05.534 --> 00:10:07.279 +when you get into the code. -00:10:07.279 --> 00:10:10.399 +00:10:07.279 --> 00:10:11.065 When you learn the rudiments +of Elisp, -00:10:10.399 --> 00:10:13.360 -of Elisp, you start getting to the code, +00:10:11.065 --> 00:10:13.360 +you start getting to the code, -00:10:13.360 --> 00:10:14.079 -and you start +00:10:13.360 --> 00:10:15.229 +and you start thinking, wow, -00:10:14.079 --> 00:10:17.120 -thinking, wow, okay that makes sense, +00:10:15.229 --> 00:10:17.120 +okay that makes sense, -00:10:17.120 --> 00:10:19.519 +00:10:17.120 --> 00:10:21.360 and you start developing a logic - -00:10:19.519 --> 00:10:21.360 for all this. 00:10:21.360 --> 00:10:24.720 @@ -819,76 +763,75 @@ So, equipped as I was with this new knowledge, I went on my project, 00:10:27.760 --> 00:10:30.000 -i went into the Org agenda code, +I went into the Org agenda code, 00:10:30.000 --> 00:10:30.880 and I thought, okay, -00:10:30.880 --> 00:10:33.440 +00:10:30.880 --> 00:10:34.640 is there anything that I can use to do - -00:10:33.440 --> 00:10:34.640 my bidding? -00:10:34.640 --> 00:10:38.560 +00:10:34.640 --> 00:10:39.733 Fast forward maybe two to three weeks of +intense turmoil -00:10:38.560 --> 00:10:41.600 -intense turmoil and many nights which - -00:10:41.600 --> 00:10:46.079 -were spent single-mindedly working on -this project, +00:10:39.733 --> 00:10:46.079 +and many nights which were spent +single-mindedly working on this project, -00:10:46.079 --> 00:10:48.079 -two weeks after, I had something that was +00:10:46.079 --> 00:10:48.781 +two weeks after, I had something +that was working, -00:10:48.079 --> 00:10:51.680 -working, and I was pretty happy about it. +00:10:48.781 --> 00:10:51.680 +and I was pretty happy about it. -00:10:51.680 --> 00:10:54.640 -That was a key landmark for +00:10:51.680 --> 00:10:54.849 +That was a key landmark for me, -00:10:54.640 --> 00:10:56.800 -me, because when that happened, +00:10:54.849 --> 00:10:56.800 +because when that happened, -00:10:56.800 --> 00:11:00.320 -it just felt like, okay, I can contribute +00:10:56.800 --> 00:10:58.860 +it just felt like, okay, -00:11:00.320 --> 00:11:02.160 -something to Org Mode, and I can do +00:10:58.860 --> 00:11:01.335 +I can contribute something to Org Mode, -00:11:02.160 --> 00:11:07.600 -something that would benefit as many -people as possible. +00:11:01.335 --> 00:11:07.600 +and I can do something that would +benefit as many people as possible. -00:11:07.600 --> 00:11:09.519 -And to me, that was the click. That's when +00:11:07.600 --> 00:11:08.970 +And to me, that was the click. -00:11:09.519 --> 00:11:11.440 -it occurred. That's when I +00:11:08.970 --> 00:11:10.530 +That's when it occurred. -00:11:11.440 --> 00:11:14.640 -went on my first project and I did something +00:11:10.530 --> 00:11:14.640 +That's when I went on my first project +and I did something 00:11:14.640 --> 00:11:18.079 that felt useful to the community. -00:11:18.079 --> 00:11:20.079 -And nowadays, as I told you, I +00:11:18.079 --> 00:11:19.945 +And nowadays, as I told you, -00:11:20.079 --> 00:11:22.640 -maintain packages, but really, nothing +00:11:19.945 --> 00:11:22.640 +I maintain packages, but really, nothing has changed. 00:11:22.640 --> 00:11:24.399 The only thing, maybe, that has changed 00:11:24.399 --> 00:11:28.320 -that I've turned my mind onto other problems. +is that I've turned my mind onto other +problems. 00:11:28.320 --> 00:11:32.000 -Maybe I've got three more minutes +Maybe I've got three more minutes, 00:11:32.000 --> 00:11:35.279 and I'd like to finish by @@ -896,35 +839,30 @@ and I'd like to finish by 00:11:35.279 --> 00:11:38.399 maybe something a little different. -00:11:38.399 --> 00:11:39.600 -I've told you my Emacs story and +00:11:38.399 --> 00:11:39.449 +I've told you my Emacs story -00:11:39.600 --> 00:11:42.079 -I hope I've stressed how little effort +00:11:39.449 --> 00:11:42.924 +and I hope I've stressed how little +effort it took me -00:11:42.079 --> 00:11:43.600 -it took me to +00:11:42.924 --> 00:11:46.560 +to move from steps to steps on the +ladder. -00:11:43.600 --> 00:11:46.560 -move from steps to steps on the ladder. - -00:11:46.560 --> 00:11:48.399 +00:11:46.560 --> 00:11:48.959 The ladder implies a sense of hierarchy, - -00:11:48.399 --> 00:11:48.959 but it really isn't. -00:11:48.959 --> 00:11:52.240 -Whatever your step on the - -00:11:52.240 --> 00:11:53.920 -journey of Emacs is... +00:11:48.959 --> 00:11:53.920 +Whatever your step on the journey of +Emacs is... -00:11:53.920 --> 00:11:55.600 -Some of you might be at the +00:11:53.920 --> 00:11:55.830 +Some of you might be at the step -00:11:55.600 --> 00:11:57.440 -step where you're really worried +00:11:55.830 --> 00:11:57.440 +where you're really worried 00:11:57.440 --> 00:11:59.360 about learning Elisp because it feels @@ -960,20 +898,20 @@ I wish I could do this but I can't," 00:12:18.160 --> 00:12:19.920 or maybe do try to do this, -00:12:19.920 --> 00:12:21.680 -maybe do try to change something in a +00:12:19.920 --> 00:12:21.442 +maybe do try to change something -00:12:21.680 --> 00:12:23.279 -major mode that you're using +00:12:21.442 --> 00:12:23.279 +in a major mode that you're using 00:12:23.279 --> 00:12:26.560 and which you feel might be better. -00:12:26.560 --> 00:12:29.760 -I think Emacs, Org Mode, and all free +00:12:26.560 --> 00:12:28.722 +I think Emacs, Org Mode, -00:12:29.760 --> 00:12:31.040 -software in general +00:12:28.722 --> 00:12:31.040 +and all free software in general 00:12:31.040 --> 00:12:34.720 has this tendency to give you this idea @@ -990,11 +928,12 @@ that you're modifying things 00:12:43.200 --> 00:12:46.320 to do your bidding. -00:12:46.320 --> 00:12:48.399 -For me, I believe this to be a very +00:12:46.320 --> 00:12:48.042 +For me, I believe this to be -00:12:48.399 --> 00:12:50.320 -healthy attitude towards software. +00:12:48.042 --> 00:12:50.320 +a very healthy attitude towards +software. 00:12:50.320 --> 00:12:54.079 As Amin said in the very beginning, @@ -1003,19 +942,18 @@ As Amin said in the very beginning, we are doing this entire presentation-- 00:12:57.279 --> 00:13:00.800 -sorry, this entire conference with free software. +sorry, this entire conference with +free software. -00:13:00.800 --> 00:13:02.240 -Just see all the things we've been able +00:13:00.800 --> 00:13:01.686 +Just see all the things -00:13:02.240 --> 00:13:03.920 -to do in free software. +00:13:01.686 --> 00:13:03.920 +we've been able to do in free software. -00:13:03.920 --> 00:13:07.360 -For me, Emacs - -00:13:07.360 --> 00:13:10.399 -was my gateway, so to speak, +00:13:03.920 --> 00:13:10.399 +For me, Emacs was my gateway, +so to speak, 00:13:10.399 --> 00:13:14.399 into how to contribute to free software, @@ -1023,29 +961,28 @@ into how to contribute to free software, 00:13:14.399 --> 00:13:18.639 about the philosophy that surrounds it. -00:13:18.639 --> 00:13:20.560 -What I would like to do... I'll finish +00:13:18.639 --> 00:13:20.003 +What I would like to do... -00:13:20.560 --> 00:13:22.000 -on this note and then I'll be taking +00:13:20.003 --> 00:13:21.375 +I'll finish on this note and then -00:13:22.000 --> 00:13:23.360 -your questions. +00:13:21.375 --> 00:13:23.360 +I'll be taking your questions. 00:13:23.360 --> 00:13:26.480 Just try. -00:13:26.480 --> 00:13:29.360 -You've read on Reddit that you - -00:13:29.360 --> 00:13:31.279 -need to go through the Elisp manual +00:13:26.480 --> 00:13:28.592 +You've read on Reddit -00:13:31.279 --> 00:13:33.040 -in Emacs. You might be scared, +00:13:28.592 --> 00:13:31.807 +that you need to go through the Elisp +manual in Emacs. -00:13:33.040 --> 00:13:35.920 -but just do it. Just give it a shot. +00:13:31.807 --> 00:13:35.920 +You might be scared, but just do it. +Just give it a shot. 00:13:35.920 --> 00:13:38.560 Just give it maybe one afternoon. @@ -1056,30 +993,33 @@ Try to read it. 00:13:39.199 --> 00:13:43.120 Try to see if this appeals to your mind. -00:13:43.120 --> 00:13:44.399 -If you've been interested enough in my +00:13:43.120 --> 00:13:44.230 +If you've been interested enough -00:13:44.399 --> 00:13:45.680 -presentation right now, and if you're +00:13:44.230 --> 00:13:45.241 +in my presentation right now, -00:13:45.680 --> 00:13:47.199 -interested enough in any of the talks +00:13:45.241 --> 00:13:47.199 +and if you're interested enough in any +of the talks 00:13:47.199 --> 00:13:49.519 you're going to have during the entire conference, -00:13:49.519 --> 00:13:51.839 -do give it a shot. I'm pretty sure +00:13:49.519 --> 00:13:50.747 +do give it a shot. -00:13:51.839 --> 00:13:52.959 -you will like the journey +00:13:50.747 --> 00:13:52.959 +I'm pretty sure you will like +the journey -00:13:52.959 --> 00:13:55.760 -on which you will be embarking upon. So I +00:13:52.959 --> 00:13:55.418 +on which you will be embarking upon. -00:13:55.760 --> 00:13:57.120 -believe I'm finishing one minute early, +00:13:55.418 --> 00:13:57.120 +So I believe I'm finishing +one minute early, 00:13:57.120 --> 00:14:01.040 but I see quite a bit of questions already. @@ -1087,20 +1027,18 @@ but I see quite a bit of questions already. 00:14:01.040 --> 00:14:04.320 I'm not sure. Sacha, should I -00:14:04.320 --> 00:14:06.000 -just be reading the questions, or +00:14:04.320 --> 00:14:05.847 +just be reading the questions, -00:14:06.000 --> 00:14:07.120 -do you want to be feeding me the - -00:14:07.120 --> 00:14:08.639 +00:14:05.847 --> 00:14:08.639 +or do you want to be feeding me the questions? -00:14:08.639 --> 00:14:11.120 -(Amin: It's really up to you. it's +00:14:08.639 --> 00:14:10.755 +(Amin: It's really up to you. -00:14:11.120 --> 00:14:12.320 -completely up to you. +00:14:10.755 --> 00:14:12.320 +It's completely up to you. 00:14:12.320 --> 00:14:13.600 If you've got the questions @@ -1109,16 +1047,17 @@ If you've got the questions open and can take them or read them, 00:14:15.839 --> 00:14:18.320 -by all means please.) +by all means, please.) -00:14:18.320 --> 00:14:19.680 -Okay, well, I'm going to read them because +00:14:18.320 --> 00:14:19.420 +Okay, well, I'm going to read them -00:14:19.680 --> 00:14:20.880 -I've got them on the side. I'm going +00:14:19.420 --> 00:14:20.581 +because I've got them on the side. -00:14:20.880 --> 00:14:22.800 -to start with the one at the bottom. +00:14:20.581 --> 00:14:22.800 +I'm going to start with the one at the +bottom. 00:14:22.800 --> 00:14:24.959 "Do you feel that being a white male @@ -1126,22 +1065,25 @@ to start with the one at the bottom. 00:14:24.959 --> 00:14:26.959 contributed to your experience?" -00:14:26.959 --> 00:14:29.680 -Yeah. I mean, I do believe... There's +00:14:26.959 --> 00:14:29.165 +Yeah. I mean, I do believe... + +00:14:29.165 --> 00:14:30.771 +There's an idea of privilege. -00:14:29.680 --> 00:14:31.360 -an idea of privilege. I mean, I'm +00:14:30.771 --> 00:14:33.250 +I mean, I'm French. I live in... -00:14:31.360 --> 00:14:35.279 -French. I live in... I'm lucky enough to -be here +00:14:33.250 --> 00:14:36.959 +I'm lucky enough to be here at +university, okay, -00:14:35.279 --> 00:14:39.120 -at university, okay, and I'm fairly -aware of the +00:14:36.959 --> 00:14:40.714 +and I'm fairly aware of the +discrepancies that happen, -00:14:39.120 --> 00:14:41.600 -discrepancies that happen, even in France, +00:14:40.714 --> 00:14:41.600 +even in France, 00:14:41.600 --> 00:14:42.880 according to this... @@ -1152,14 +1094,13 @@ So, yes, I believe my journey 00:14:46.320 --> 00:14:51.199 was heavily influenced by this. -00:14:51.199 --> 00:14:52.639 +00:14:51.199 --> 00:14:53.547 If you would like to specify the +question, please do, -00:14:52.639 --> 00:14:54.320 -question, please do, but I don't have - -00:14:54.320 --> 00:14:56.560 -really all that much to ask on this. +00:14:53.547 --> 00:14:56.560 +but I don't have really all that much to +ask on this. 00:14:56.560 --> 00:14:59.839 "What is your advice to start learning @@ -1167,53 +1108,51 @@ really all that much to ask on this. 00:14:59.839 --> 00:15:01.279 Elisp language? Any particularly good -00:15:01.279 --> 00:15:04.160 -resource or any other tips?" I finished - -00:15:04.160 --> 00:15:07.760 -um my presentation by telling you about +00:15:01.279 --> 00:15:03.421 +resource or any other tips?" -00:15:07.760 --> 00:15:10.560 -the Elisp introduction which is built into +00:15:03.421 --> 00:15:07.760 +I finished my presentation by telling +you about -00:15:10.560 --> 00:15:13.519 -Emacs. What I might do... I'm going to share my +00:15:07.760 --> 00:15:10.937 +the Elisp introduction which is built +into Emacs. -00:15:13.519 --> 00:15:15.120 -screen just to show you +00:15:10.937 --> 00:15:13.936 +What I might do... I'm going to +share my screen -00:15:15.120 --> 00:15:22.880 -how this works. I will be sharing -this window. +00:15:13.936 --> 00:15:17.819 +just to show you how this works. -00:15:22.880 --> 00:15:24.399 -I believe it's frozen on my end, so I +00:15:17.819 --> 00:15:22.880 +I will be sharing this window. -00:15:24.399 --> 00:15:27.199 -can't see anything. +00:15:22.880 --> 00:15:24.234 +I believe it's frozen on my end, -00:15:27.199 --> 00:15:28.959 -i'm not sure if you can see me or if my +00:15:24.234 --> 00:15:27.199 +so I can't see anything. -00:15:28.959 --> 00:15:32.560 -camera is moving. +00:15:27.199 --> 00:15:28.597 +I'm not sure if you can see me -00:15:32.560 --> 00:15:34.800 -Okay, so my Firefox is frozen. So i'll +00:15:28.597 --> 00:15:32.560 +or if my camera is moving. -00:15:34.800 --> 00:15:36.000 -answer the question, but I won't be able +00:15:32.560 --> 00:15:34.387 +Okay, so my Firefox is frozen. -00:15:36.000 --> 00:15:36.800 -to show you +00:15:34.387 --> 00:15:35.361 +So I'll answer the question, -00:15:36.800 --> 00:15:40.000 -what I wanted to show you. +00:15:35.361 --> 00:15:40.000 +but I won't be able to show you what I +wanted to show you. -00:15:40.000 --> 00:15:42.639 +00:15:40.000 --> 00:15:44.320 There's a built-in guide inside Emacs to - -00:15:42.639 --> 00:15:44.320 learn Elisp. 00:15:44.320 --> 00:15:46.880 @@ -1225,11 +1164,9 @@ is just to go open these info pages. 00:15:49.040 --> 00:15:50.959 I'm sure someone will be kind enough to -00:15:50.959 --> 00:15:53.839 -mention this to you in the #emacsconf channel - -00:15:53.839 --> 00:15:54.880 -on IRC +00:15:50.959 --> 00:15:54.880 +mention this to you in the #emacsconf +channel on IRC 00:15:54.880 --> 00:15:56.880 but it's probably the best way @@ -1237,26 +1174,25 @@ but it's probably the best way 00:15:56.880 --> 00:15:59.040 to get started with Elisp. -00:15:59.040 --> 00:16:01.279 -You know, we tend to get obsessed, with - -00:16:01.279 --> 00:16:03.360 -software and with programming, about +00:15:59.040 --> 00:16:00.991 +You know, we tend to get obsessed, -00:16:03.360 --> 00:16:04.880 -what's the best way to get started. +00:16:00.991 --> 00:16:03.013 +with software and with programming, -00:16:04.880 --> 00:16:06.959 -You see so many people who are +00:16:03.013 --> 00:16:04.880 +about what's the best way to get +started. -00:16:06.959 --> 00:16:08.399 -heavily interested +00:16:04.880 --> 00:16:08.399 +You see so many people who are heavily +interested -00:16:08.399 --> 00:16:10.639 -in getting started with programming but +00:16:08.399 --> 00:16:10.409 +in getting started with programming -00:16:10.639 --> 00:16:12.320 -they never managed to get started +00:16:10.409 --> 00:16:12.320 +but they never managed to get started 00:16:12.320 --> 00:16:14.320 because there's so much choice. @@ -1267,135 +1203,115 @@ My advice would be to just get started. 00:16:16.320 --> 00:16:18.800 Don't get so worried about the first step. -00:16:18.800 --> 00:16:21.839 -Well, if I may still recommend the - -00:16:21.839 --> 00:16:23.920 -first step, even after saying this, - -00:16:23.920 --> 00:16:26.480 -do try to start with the - -00:16:26.480 --> 00:16:28.000 -built-in guides. I believe they're pretty - -00:16:28.000 --> 00:16:29.600 -pretty good. +00:16:18.800 --> 00:16:22.493 +Well, if I may still recommend +the first step, -00:16:29.600 --> 00:16:32.079 -There was another question. It's +00:16:22.493 --> 00:16:23.920 +even after saying this, -00:16:32.079 --> 00:16:33.199 -the last question that I can read and +00:16:23.920 --> 00:16:27.073 +do try to start with the built-in +guides. -00:16:33.199 --> 00:16:34.800 -after that, you will have to read +00:16:27.073 --> 00:16:29.600 +I believe they're pretty, pretty good. -00:16:34.800 --> 00:16:36.000 -the questions for me because everything +00:16:29.600 --> 00:16:31.691 +There was another question. -00:16:36.000 --> 00:16:37.920 -is frozen on my end. +00:16:31.691 --> 00:16:33.055 +It's the last question that I can read -00:16:37.920 --> 00:16:41.600 -I hope I'm not frozen +00:16:33.055 --> 00:16:34.564 +and after that, you will have to -00:16:41.600 --> 00:16:44.240 -in a very bad position so +00:16:34.564 --> 00:16:37.920 +read the questions for me because +everything is frozen on my end. -00:16:44.240 --> 00:16:45.680 -please excuse me if +00:16:37.920 --> 00:16:43.935 +I hope I'm not frozen in a very bad +position, -00:16:45.680 --> 00:16:48.240 -my mouth is open or anything. (Amin: no, we +00:16:43.935 --> 00:16:47.406 +so please excuse me if my mouth is open +or anything. -00:16:48.240 --> 00:16:49.759 -just completely lost the video feed, so +00:16:47.406 --> 00:16:51.120 +(Amin: no, we just completely lost the +video feed, so no worries.) -00:16:49.759 --> 00:16:51.120 -no worries.) - -00:16:51.120 --> 00:16:52.720 +00:16:51.120 --> 00:16:54.800 Oh, splendid, so I won't have to make a - -00:16:52.720 --> 00:16:54.800 fool out of myself. 00:16:54.800 --> 00:16:56.800 So the last question I wanted to answer was -00:16:56.800 --> 00:16:58.320 +00:16:56.800 --> 00:16:59.199 "Have you read Dirk Gently's Holistic - -00:16:58.320 --> 00:16:59.199 Detective Agency?" -00:16:59.199 --> 00:17:03.519 -No, I haven't. I hope it's not - -00:17:03.519 --> 00:17:05.199 -a jab at the way i'm dressing for the +00:16:59.199 --> 00:17:05.741 +No, I haven't. I hope it's not a jab at +the way I'm dressing for the conference, -00:17:05.199 --> 00:17:06.559 -conference, but yeah, - -00:17:06.559 --> 00:17:08.559 -I haven't read it. Was there any - -00:17:08.559 --> 00:17:10.559 -other question? +00:17:05.741 --> 00:17:10.559 +but yeah, I haven't read it. Was there +any other question? 00:17:10.559 --> 00:17:15.919 (Amin: I see one other question. -00:17:15.919 --> 00:17:17.919 +00:17:15.919 --> 00:17:19.679 "Any recommendation for good packaging - -00:17:17.919 --> 00:17:19.679 guides or places to start? 00:17:19.679 --> 00:17:23.199 -i get a bit overwhelmed by some things. +I get a bit overwhelmed by some things. 00:17:23.199 --> 00:17:26.799 For example, the choice of different test frameworks.") -00:17:26.799 --> 00:17:28.240 +00:17:26.799 --> 00:17:29.263 Right. Okay. So that's a very good +question. -00:17:28.240 --> 00:17:30.400 -question. I believe +00:17:29.263 --> 00:17:33.840 +I believe alphapapa is in the chat right +now. -00:17:30.400 --> 00:17:33.840 -alphapapa is in the chat right now. +00:17:33.840 --> 00:17:36.314 +As myself a new Lisp developer for +org-roam, -00:17:33.840 --> 00:17:35.840 -As myself a new lisp developer for +00:17:36.314 --> 00:17:38.320 +I'd really recommend you to look into -00:17:35.840 --> 00:17:38.320 -org-roam, i'd really recommend you to look into +00:17:38.320 --> 00:17:40.032 +his package developers' guide, -00:17:38.320 --> 00:17:40.640 -his package developers' guide because you +00:17:40.032 --> 00:17:42.507 +because you have a list of +all the softwares -00:17:40.640 --> 00:17:42.799 -have a list of all the softwares that - -00:17:42.799 --> 00:17:44.559 -are extremely useful to be using when +00:17:42.507 --> 00:17:44.559 +that are extremely useful to +be using when 00:17:44.559 --> 00:17:45.760 you're getting started. -00:17:45.760 --> 00:17:48.000 -If you're looking into a first +00:17:45.760 --> 00:17:48.347 +If you're looking into a first step -00:17:48.000 --> 00:17:50.000 -step for how to develop +00:17:48.347 --> 00:17:50.947 +for how to develop elisp packages, -00:17:50.000 --> 00:17:52.640 -elast package, i'd really advise you to +00:17:50.947 --> 00:17:52.640 +I'd really advise you to 00:17:52.640 --> 00:17:53.520 look into edebug. @@ -1404,111 +1320,108 @@ look into edebug. It's one word, edebug, 00:17:56.559 --> 00:17:58.400 -and you have a section in the manual for this, +and you have a section in the +manual for this, 00:17:58.400 --> 00:18:00.799 because for me, it was the key step to -00:18:00.799 --> 00:18:04.320 -getting to develop good packages. It was +00:18:00.799 --> 00:18:03.791 +getting to develop good packages. -00:18:04.320 --> 00:18:06.160 -understanding basically what the code did +00:18:03.791 --> 00:18:06.160 +It was understanding basically +what the code did -00:18:06.160 --> 00:18:08.960 -and having us something like a +00:18:06.160 --> 00:18:08.866 +and having us something like -00:18:08.960 --> 00:18:09.919 -REPL (read-evaluate-print-loop) +00:18:08.866 --> 00:18:09.919 +a REPL (read-evaluate-print-loop) 00:18:09.919 --> 00:18:11.760 that allows you to step through the code -00:18:11.760 --> 00:18:13.360 -and see exactly which states the - -00:18:13.360 --> 00:18:16.000 -variables are at which at this point in the +00:18:11.760 --> 00:18:13.210 +and see exactly which states -00:18:16.000 --> 00:18:20.080 -program. That's really my biggest advice -to you. +00:18:13.210 --> 00:18:15.643 +the variables are at which at this point -00:18:21.200 --> 00:18:24.400 -Any other question? Thanks. Yeah, I see one +00:18:15.643 --> 00:18:20.080 +in the program. That's really my biggest +advice to you. -00:18:24.400 --> 00:18:26.160 -or two more. +00:18:21.200 --> 00:18:26.160 +Any other question? Thanks. Yeah, I see +one or two more. -00:18:26.160 --> 00:18:28.240 +00:18:26.160 --> 00:18:33.120 So there's one. They ask, "How did the +freedom of Emacs help you on your way?" -00:18:28.240 --> 00:18:30.080 -freedom of Emacs help you on +00:18:33.120 --> 00:18:35.507 +So the freedom of Emacs... -00:18:30.080 --> 00:18:33.120 -your way?" +00:18:35.507 --> 00:18:38.080 +I mentioned that Emacs, for me, +was my gateway -00:18:33.120 --> 00:18:36.480 -So the freedom of Emacs... I mentioned +00:18:38.080 --> 00:18:39.216 +into free software -00:18:36.480 --> 00:18:38.080 -that Emacs, for me, was my gateway +00:18:39.216 --> 00:18:40.652 +and the freedom of Emacs -00:18:38.080 --> 00:18:40.320 -into free software and the freedom of +00:18:40.652 --> 00:18:42.551 +was that you could maybe... -00:18:40.320 --> 00:18:43.840 -Emacs was that you could maybe... First -and foremost, +00:18:42.551 --> 00:18:43.840 +First and foremost, -00:18:43.840 --> 00:18:47.840 -compared to other software, was that -you had +00:18:43.840 --> 00:18:46.385 +compared to other software, -00:18:47.840 --> 00:18:51.039 -behind Emacs, Elisp, which allows you to -read the code, +00:18:46.385 --> 00:18:49.003 +was that you had behind Emacs, Elisp, -00:18:51.039 --> 00:18:52.400 -read whatever is going on in the +00:18:49.003 --> 00:18:51.039 +which allows you to read the code, -00:18:52.400 --> 00:18:53.039 +00:18:51.039 --> 00:18:53.039 +read whatever is going on in the background. -00:18:53.039 --> 00:18:54.640 -Surely, if you go deep enough, you'll +00:18:53.039 --> 00:18:54.380 +Surely, if you go deep enough, -00:18:54.640 --> 00:18:58.000 -end up in C functions that you might not -be able to +00:18:54.380 --> 00:18:58.172 +you'll end up in C functions that you +might not be able to read -00:18:58.000 --> 00:18:59.679 -read if you do not have the experience. +00:18:58.172 --> 00:18:59.679 +if you do not have the experience. -00:18:59.679 --> 00:19:02.000 +00:18:59.679 --> 00:19:03.520 But for Org Mode, which was my gateway - -00:19:02.000 --> 00:19:03.520 into Emacs, -00:19:03.520 --> 00:19:06.400 -most of it is written in Elisp, and all +00:19:03.520 --> 00:19:05.883 +most of it is written in Elisp, -00:19:06.400 --> 00:19:08.240 -the commands have a very verbose +00:19:05.883 --> 00:19:08.546 +and all the commands have a +very verbose name, -00:19:08.240 --> 00:19:10.080 -name, like something simple as +00:19:08.546 --> 00:19:10.080 +like something simple as 00:19:10.080 --> 00:19:13.440 org go to next subtree or -00:19:13.440 --> 00:19:15.840 -org go to a parent subtree. You know, things - -00:19:15.840 --> 00:19:16.880 -like this. +00:19:13.440 --> 00:19:16.880 +org go to a parent subtree. You know, +things like this. 00:19:16.880 --> 00:19:20.240 It's so elegant. It's verbose. @@ -1516,38 +1429,34 @@ It's so elegant. It's verbose. 00:19:20.240 --> 00:19:22.799 That's a sense of freedom -00:19:22.799 --> 00:19:24.320 -insofar as you can go into the code and +00:19:22.799 --> 00:19:24.491 +insofar as you can go into +the code and see, -00:19:24.320 --> 00:19:26.160 -see, oh, okay, that's how it's implemented. +00:19:24.491 --> 00:19:26.160 +oh, okay, that's how it's implemented. 00:19:26.160 --> 00:19:28.640 I believe in a way that's the freedom -00:19:28.640 --> 00:19:30.400 -and the liberty that is given to you to +00:19:28.640 --> 00:19:30.264 +and the liberty that is given to you -00:19:30.400 --> 00:19:31.600 -look into the code +00:19:30.264 --> 00:19:31.600 +to look into the code -00:19:31.600 --> 00:19:33.039 -is something that invites you to do the +00:19:31.600 --> 00:19:32.670 +is something that invites you -00:19:33.039 --> 00:19:34.640 -same with your life. As +00:19:32.670 --> 00:19:34.460 +to do the same with your life. -00:19:34.640 --> 00:19:35.200 -someone who +00:19:34.460 --> 00:19:36.776 +As someone who does a little bit of +philosophy on the side, -00:19:35.200 --> 00:19:36.559 -does a little bit of philosophy on the - -00:19:36.559 --> 00:19:38.080 -side, I believe it's a very healthy - -00:19:38.080 --> 00:19:38.799 -message +00:19:36.776 --> 00:19:38.799 +I believe it's a very healthy message 00:19:38.799 --> 00:19:42.320 to be gathering from a piece of software. @@ -1579,56 +1488,51 @@ ahead of the schedule, so if we take a 00:20:05.679 --> 00:20:07.840 little bit longer, we're fine. -00:20:07.840 --> 00:20:09.440 -If you do have more - -00:20:09.440 --> 00:20:11.280 -questions, please do.) I'm just sorry that - -00:20:11.280 --> 00:20:12.880 -my video is not working anymore. +00:20:07.840 --> 00:20:10.225 +If you do have more questions, please +do.) -00:20:12.880 --> 00:20:16.000 -(Amin: No problem. Someone was +00:20:10.225 --> 00:20:12.880 +I'm just sorry that my video is not +working anymore. -00:20:16.000 --> 00:20:17.120 -actually saying... +00:20:12.880 --> 00:20:17.120 +(Amin: No problem. Someone was actually +saying... -00:20:17.120 --> 00:20:21.120 -What's the most recent... +00:20:17.120 --> 00:20:24.159 +What's the most recent... Actually, yeah +well before that. -00:20:21.120 --> 00:20:24.159 -Actually, yeah well before that. - -00:20:24.159 --> 00:20:25.919 +00:20:24.159 --> 00:20:27.440 "Please show off your three-piece suit - -00:20:25.919 --> 00:20:27.440 before you end your talk, 00:20:27.440 --> 00:20:30.080 which requires fixing your frozen camera. -00:20:30.080 --> 00:20:31.919 -if this is not possible, please post +00:20:30.080 --> 00:20:31.306 +If this is not possible, -00:20:31.919 --> 00:20:36.240 -suit selfies in an easily accessible -location." +00:20:31.306 --> 00:20:36.240 +please post suit selfies in an easily +accessible location." -00:20:36.240 --> 00:20:38.720 -Okay, I'll make sure to do this. But yes, I +00:20:36.240 --> 00:20:38.143 +Okay, I'll make sure to do this. -00:20:38.720 --> 00:20:41.200 -wanted to hype things up for the -conference, +00:20:38.143 --> 00:20:41.200 +But yes, I wanted to hype things up for +the conference, 00:20:41.200 --> 00:20:43.039 so yes, I did get the three-piece suit out. -00:20:43.039 --> 00:20:45.919 -I'm very glad you like it. By the way, -when you get +00:20:43.039 --> 00:20:44.563 +I'm very glad you like it. + +00:20:44.563 --> 00:20:45.919 +By the way, when you get 00:20:45.919 --> 00:20:47.760 a chance to see me live again, @@ -1642,128 +1546,104 @@ colors of Emacs purple 00:20:51.280 --> 00:20:53.679 and also Org Mode green. -00:20:53.679 --> 00:20:55.760 -It took me a while to find this one, so I +00:20:53.679 --> 00:20:55.556 +It took me a while to find this one, -00:20:55.760 --> 00:21:00.840 -hope you will appreciate this. +00:20:55.556 --> 00:21:00.840 +so I hope you will appreciate this. -00:21:00.840 --> 00:21:03.679 -(Amin: Awesome. Let's see. We have +00:21:00.840 --> 00:21:03.094 +(Amin: Awesome. Let's see. -00:21:03.679 --> 00:21:06.880 -one other question. "What's the +00:21:03.094 --> 00:21:06.880 +We have one other question. "What's the 00:21:06.880 --> 00:21:08.960 most recent Emacs package or tool that -00:21:08.960 --> 00:21:10.159 -you've discovered - -00:21:10.159 --> 00:21:14.480 -that you've added to your repertoire?") +00:21:08.960 --> 00:21:14.480 +you've discovered that you've added to +your repertoire?") 00:21:14.480 --> 00:21:17.600 Very interesting question. -00:21:17.600 --> 00:21:20.799 -The thing is, - -00:21:20.799 --> 00:21:22.320 -when you've spent as long as I have on +00:21:17.600 --> 00:21:22.614 +The thing is, when you've spent as long +as I have on Emacs-- -00:21:22.320 --> 00:21:23.919 -Emacs--and I know that I've only spent +00:21:22.614 --> 00:21:23.919 +and I know that I've only spent 00:21:23.919 --> 00:21:25.120 eight years and some of you -00:21:25.120 --> 00:21:28.799 -might have spent maybe 10, 20, maybe even +00:21:25.120 --> 00:21:27.901 +might have spent maybe 10, 20, -00:21:28.799 --> 00:21:30.000 -more years on Emacs-- +00:21:27.901 --> 00:21:30.000 +maybe even more years on Emacs-- -00:21:30.000 --> 00:21:32.799 -but for me, I believe the the coolest +00:21:30.000 --> 00:21:34.926 +but for me, I believe the coolest neat +trick that I found in Emacs -00:21:32.799 --> 00:21:35.120 -neat trick that I found in Emacs was +00:21:34.926 --> 00:21:40.080 +was a mode which is called beacon-mode. -00:21:35.120 --> 00:21:40.080 -a mode which is called beacon-mode. +00:21:40.080 --> 00:21:43.679 +It's something that allows you to show -00:21:40.080 --> 00:21:42.559 -It's something that allows +00:21:43.679 --> 00:21:45.006 +when you're jumping between buffers -00:21:42.559 --> 00:21:43.679 -you to show +00:21:45.006 --> 00:21:46.960 +or when you're dropping between windows, -00:21:43.679 --> 00:21:45.120 -when you're jumping between buffers or - -00:21:45.120 --> 00:21:46.960 -when you're dropping between windows, - -00:21:46.960 --> 00:21:49.760 +00:21:46.960 --> 00:21:50.681 it shows exactly where your point is in +that buffer -00:21:49.760 --> 00:21:51.520 -that buffer by making - -00:21:51.520 --> 00:21:53.840 -a slight ray of light which looks like a - -00:21:53.840 --> 00:21:55.440 -beacon, hence the name. +00:21:50.681 --> 00:21:55.440 +by making a slight ray of light which +looks like a beacon, hence the name. 00:21:55.440 --> 00:21:57.760 It really helps you navigate buffers -00:21:57.760 --> 00:21:59.520 -because it always shows in a very - -00:21:59.520 --> 00:22:01.760 -visual way where your point is. +00:21:57.760 --> 00:21:58.986 +because it always shows -00:22:01.760 --> 00:22:03.520 -I'll get a chance to show this to +00:21:58.986 --> 00:22:01.760 +in a very visual way +where your point is. -00:22:03.520 --> 00:22:04.640 -you later today +00:22:01.760 --> 00:22:04.640 +I'll get a chance to show this to you +later today 00:22:04.640 --> 00:22:10.159 -when i'll be presenting my other talks. - -00:22:10.159 --> 00:22:13.840 -(Amin: Aeesome. - -00:22:13.840 --> 00:22:16.880 -We have one question +when I'll be presenting my other talks. -00:22:16.880 --> 00:22:20.159 -from Jonas, the maintainer +00:22:10.159 --> 00:22:20.880 +(Amin: Awesome. We have one question +from Jonas, the maintainer of Magit. -00:22:20.159 --> 00:22:20.880 -from Magit. +00:22:20.880 --> 00:22:25.128 +He asks, "When you touched your webcam, -00:22:20.880 --> 00:22:24.720 -He asks, "When you touched your - -00:22:24.720 --> 00:22:26.880 -webcam, that blew a fuse at my place. +00:22:25.128 --> 00:22:26.880 +that blew a fuse at my place. 00:22:26.880 --> 00:22:29.760 How did you do that?") -00:22:29.760 --> 00:22:31.600 -Well, I'm very sorry, Jonas, that it - -00:22:31.600 --> 00:22:32.960 -happened to you, but i'll make sure not +00:22:29.760 --> 00:22:31.242 +Well, I'm very sorry, Jonas, -00:22:32.960 --> 00:22:36.960 -to touch my webcam again. +00:22:31.242 --> 00:22:36.960 +that it happened to you, but I'll make +sure not to touch my webcam again. 00:22:36.960 --> 00:22:41.600 (Amin: Do we have any other questions?) @@ -1771,42 +1651,33 @@ to touch my webcam again. 00:22:41.600 --> 00:22:43.919 I have to trust you on this one. -00:22:43.919 --> 00:22:45.840 +00:22:43.919 --> 00:22:46.960 I'm really sorry. Everything is frozen - -00:22:45.840 --> 00:22:46.960 on my end. -00:22:46.960 --> 00:22:48.720 -(Amin: No problem.) Yeah I'm more talking -to the +00:22:46.960 --> 00:22:49.940 +(Amin: No problem.) Yeah I'm more +talking to the audience, I guess. -00:22:48.720 --> 00:22:49.940 -audience, I guess. +00:22:51.520 --> 00:22:56.018 +I hope my lack of slides didn't bother +you. -00:22:51.520 --> 00:22:55.120 -I hope my lack of +00:22:56.018 --> 00:23:00.481 +I really wanted to have this verbose +time with people, -00:22:55.120 --> 00:22:56.960 -slides didn't bother you. I really - -00:22:56.960 --> 00:22:58.159 -wanted to have this - -00:22:58.159 --> 00:23:01.039 -verbose time with people, to be - -00:23:01.039 --> 00:23:01.600 -able to... +00:23:00.481 --> 00:23:01.600 +to be able to... 00:23:01.600 --> 00:23:04.880 -it's a message that i've been trying +It's a message that I've been trying 00:23:04.880 --> 00:23:08.640 to share with as many people as possible. 00:23:08.640 --> 00:23:11.760 -In france we do have an Emacs workshop +In France, we do have an Emacs workshop 00:23:11.760 --> 00:23:14.159 that we have on a monthly basis. @@ -1820,26 +1691,24 @@ with those people and I felt like 00:23:18.960 --> 00:23:20.400 doing the same with Emacs conference -00:23:20.400 --> 00:23:22.480 -would be good. That's why i'm really +00:23:20.400 --> 00:23:22.713 +would be good. That's why I'm +really happy, -00:23:22.480 --> 00:23:24.000 -happy, and I'm really lucky to have had +00:23:22.713 --> 00:23:24.000 +and I'm really lucky to have had -00:23:24.000 --> 00:23:25.120 -the chance to +00:23:24.000 --> 00:23:26.418 +the chance to do this today. -00:23:25.120 --> 00:23:27.919 -do this today. I hope some of you +00:23:26.418 --> 00:23:29.200 +I hope some of you, I've convinced you -00:23:27.919 --> 00:23:29.200 -I've convinced you +00:23:29.200 --> 00:23:31.472 +of climbing up a step on a ladder -00:23:29.200 --> 00:23:31.679 -of climbing up a step on a ladder or - -00:23:31.679 --> 00:23:34.480 -making a step in a journey. +00:23:31.472 --> 00:23:34.480 +or making a step in a journey. 00:23:34.480 --> 00:23:38.080 (Amin: Absolutely. Thank you so much, Leo. @@ -1856,38 +1725,34 @@ when it's not really needed 00:23:45.600 --> 00:23:49.200 and to help give some face-to-face time -00:23:49.200 --> 00:23:51.840 -with the audience. Unfortunately +00:23:49.200 --> 00:23:50.685 +with the audience. -00:23:51.840 --> 00:23:53.520 -your webcam cut out, but I mean +00:23:50.685 --> 00:23:52.923 +Unfortunately, your webcam cut out, -00:23:53.520 --> 00:23:55.200 -before that.) +00:23:52.923 --> 00:23:55.200 +but I mean before that.) -00:23:55.200 --> 00:23:57.279 -Yes, I'll make sure to fix the problems +00:23:55.200 --> 00:23:57.914 +Yes, I'll make sure to fix +the problems later on, -00:23:57.279 --> 00:23:59.679 -later on, so don't worry about it. +00:23:57.914 --> 00:23:59.679 +so don't worry about it. 00:23:59.679 --> 00:24:02.240 (Amin: Awesome. Alrighty. I guess we're -00:24:02.240 --> 00:24:03.200 -wrapping up - -00:24:03.200 --> 00:24:06.400 -for your talk and getting ready for the - -00:24:06.400 --> 00:24:08.000 -next talk.) +00:24:02.240 --> 00:24:08.000 +wrapping up for your talk and getting +ready for the next talk.) -00:24:08.000 --> 00:24:10.000 -Sure. Well, thank you so much. I'll see +00:24:08.000 --> 00:24:09.538 +Sure. Well, thank you so much. -00:24:10.000 --> 00:24:11.760 -you all later, I suppose! +00:24:09.538 --> 00:24:11.760 +I'll see you all later, I suppose! 00:24:11.760 --> 00:24:16.799 (Amin: Sounds good. Thank you again, Leo. Bye-bye) diff --git a/2020/subtitles/emacsconf-2020--03-idea-to-novel-superstructure-emacs-for-writing--questions--bala-ramadurai.vtt b/2020/subtitles/emacsconf-2020--03-idea-to-novel-superstructure-emacs-for-writing--questions--bala-ramadurai.vtt new file mode 100644 index 00000000..6a8d12b2 --- /dev/null +++ b/2020/subtitles/emacsconf-2020--03-idea-to-novel-superstructure-emacs-for-writing--questions--bala-ramadurai.vtt @@ -0,0 +1,470 @@ +WEBVTT + +00:00:00.000 --> 00:00:05.333 +I have the pad open. So, I can start. + +00:00:05.333 --> 00:00:11.333 +Do you have occasions to use Emacs for +multilingual text composition? + +00:00:11.333 --> 00:00:15.333 +How do you deal with spell-checking? + +00:00:15.333 --> 00:00:15.333 +I have written only in English. For +English, Emacs works great. + +00:00:15.333 --> 00:00:23.767 +Spell-check works great. + +00:00:23.767 --> 00:00:29.300 +I have not used it for any other languages. + +00:00:29.300 --> 00:00:40.333 +I have indeed tried local South Indian +language, but only the script + +00:00:40.333 --> 00:00:47.567 +I could get, but not the spell-checker, +really. I've not really figured it out. + +00:00:47.567 --> 00:00:51.067 +So that was my trial to answer +the first question. + +00:00:51.067 --> 00:00:57.031 +The second question is: "is it possible +to align the subcolumns + +00:00:57.031 --> 00:00:59.967 +and headings and subheadings?" + +00:00:59.967 --> 00:01:04.967 +Oh boy. That's a good one. I actually +felt the lack of having the... + +00:01:04.967 --> 00:01:11.100 +The theme I had was great for... It +looked like a novel + +00:01:11.100 --> 00:01:14.533 +when I'm typing on the novel itself, + +00:01:14.533 --> 00:01:19.800 +but when I expand into the subtrees, + +00:01:19.800 --> 00:01:22.233 +it sort of goes haywire. It's a bit hacky. + +00:01:22.233 --> 00:01:24.900 +You can probably switch to a monospace font, + +00:01:24.900 --> 00:01:27.133 +and that works better than + +00:01:27.133 --> 00:01:30.967 +the font that I have demoed it. + +00:01:30.967 --> 00:01:36.033 +You can perhaps try monospace font + +00:01:36.033 --> 00:01:37.700 +and it should work, I think, + +00:01:37.700 --> 00:01:39.600 +as far as I know. + +00:01:39.600 --> 00:01:42.667 +So, that's the second question. + +00:01:42.667 --> 00:01:47.600 +The third question is maybe there should +be an Emacs for Writing + +00:01:47.600 --> 00:01:50.433 +mailing list, an online writer's workshop? + +00:01:50.433 --> 00:01:51.300 +This is a great one. + +00:01:51.300 --> 00:01:54.433 +I have conducted an online writer's workshop + +00:01:54.433 --> 00:01:58.000 +here in India. Of course, it wasn't + +00:01:58.000 --> 00:02:05.467 +an Emacs-focused workshop. We used +Notion as the tool. It worked pretty good. + +00:02:05.467 --> 00:02:12.633 +for people who are not aware of Emacs +and how to use Emacs, the keystrokes, + +00:02:12.633 --> 00:02:16.200 +the fact that I wasn't using the mouse +unnerved them. + +00:02:16.200 --> 00:02:19.267 +It was a scary experience for most people. + +00:02:19.267 --> 00:02:22.333 +I had to switch to Notion. + +00:02:22.333 --> 00:02:23.567 +People used that as a template + +00:02:23.567 --> 00:02:28.233 +and then they could type it out. + +00:02:28.233 --> 00:02:33.633 +It wasn't my perfect experience. I liked +the Emacs Org Mode experience much better. + +00:02:33.633 --> 00:02:41.300 +The next question is, "How do you share +drafts of your novel? + +00:02:41.300 --> 00:02:44.867 +If you use pandoc to export to Word, +etc., how do you incorporate feedback + +00:02:44.867 --> 00:02:46.867 +on the document back into Org?" + +00:02:46.867 --> 00:02:50.767 +Thank you for the kind words. + +00:02:50.767 --> 00:02:53.100 +Yes, it is a problem. + +00:02:53.100 --> 00:03:02.033 +This is my ??, and I have a dedication +to Spacemacs also and the Emacs Org Mode + +00:03:02.033 --> 00:03:04.433 +community in there. I don't know if you +can see it. + +00:03:04.433 --> 00:03:05.467 +Probably not. + +00:03:05.467 --> 00:03:10.600 +I did export it to Word. + +00:03:10.600 --> 00:03:13.333 +My editor did complain that there were a +whole bunch of things, + +00:03:13.333 --> 00:03:16.633 +that it wasn't convenient for her. + +00:03:16.633 --> 00:03:20.933 +So I tried having the raw Org Mode +itself in a DOC embedded, + +00:03:20.933 --> 00:03:26.067 +and I will do a copy and paste. + +00:03:26.067 --> 00:03:27.867 +Didn't work so well either. + +00:03:27.867 --> 00:03:31.267 +So I'm still on the edge on +how do I do this. + +00:03:31.267 --> 00:03:34.933 +Should I train my editor +to use Org Mode + +00:03:34.933 --> 00:03:37.167 +in Gitlab or one of those + +00:03:37.167 --> 00:03:39.833 +other tools, which is not a great +experience? + +00:03:39.833 --> 00:03:47.633 +But... I don't know. It could be +tricky for working with people + +00:03:47.633 --> 00:03:50.867 +who are not well-versed with Emacs. + +00:03:50.867 --> 00:04:02.000 +Pandoc is very, very useful in +converting it to PDF + +00:04:02.000 --> 00:04:02.000 +and integrating it with LaTeX, the +styling, formatting into e-reader, + +00:04:02.000 --> 00:04:13.133 +EPUB format. For all that, Pandoc works +great. You can customize it + +00:04:13.133 --> 00:04:16.233 +and of course there's a lot of support +in the community + +00:04:16.233 --> 00:04:20.133 +for any style changes that you want to +make, any images that you want to add. + +00:04:20.133 --> 00:04:22.967 +It works great. + +00:04:22.967 --> 00:04:28.367 +That was my trial to answer the pandoc question. + +00:04:28.367 --> 00:04:35.100 +"Can you show exported PDF of +any of your novels?" + +00:04:35.100 --> 00:04:38.600 +Unfortunately, it's still +not published, so I'm... + +00:04:38.600 --> 00:04:42.067 +I will put it and +share it on the community, + +00:04:42.067 --> 00:04:48.067 +or part of this in the schedule itself. +Thank you for the question. + +00:04:48.067 --> 00:04:55.000 +Unfortunately, it's not yet published, +so I'm unable to publish the exported PDF. + +00:04:55.000 --> 00:05:01.300 +But I'll make a test of an open-source +novel that I'm working on + +00:05:01.300 --> 00:05:05.767 +I will definitely publish that so that +you can see + +00:05:05.767 --> 00:05:10.433 +how it works also. + +00:05:10.433 --> 00:05:13.167 +Can you text-wrap in the columns? + +00:05:13.167 --> 00:05:19.667 +I have not found a way to do +text-wrap in the columns. + +00:05:19.667 --> 00:05:23.633 +That only shows my limitation +in config setup, + +00:05:23.633 --> 00:05:27.033 +but I'm sure people can figure this out + +00:05:27.033 --> 00:05:29.900 +That's a good one. I would have loved to +have it. + +00:05:29.900 --> 00:05:34.000 +Every time I want to write more on the +headline, + +00:05:34.000 --> 00:05:42.467 +I would get out of the column-view mode +and I would do the typing and expand it, + +00:05:42.467 --> 00:05:46.700 +and then come back into the column view +when I want to set the other meta parameters. + +00:05:46.700 --> 00:05:54.133 +So that's how I manage without the +text-wrapping feature built into column. + +00:05:54.133 --> 00:05:58.000 +But I think it's a great idea to +have text wrap. + +00:05:58.000 --> 00:06:05.333 +Did I leave out any questions? +I don't think so. + +00:06:05.333 --> 00:06:10.600 +[Amin]: I think there's at least one +question on IRC, + +00:06:10.600 --> 00:06:14.500 +which I shall read to you. + +00:06:14.500 --> 00:06:17.300 +[Bala]: Please, can you do that? Thank you. + +00:06:17.300 --> 00:06:21.278 +[Amin]: So they asked, "How do you collaborate +with others while writing your novel? + +00:06:21.278 --> 00:06:28.100 +For example, sharing your file and +getting feedback." + +00:06:28.100 --> 00:06:37.100 +Okay. Good question. So far, I have +used... Let's see... + +00:06:37.100 --> 00:06:40.833 +What did I use... +This is a crazy hack. + +00:06:40.833 --> 00:06:44.667 +But it's a long-winded way of... + +00:06:44.667 --> 00:06:50.300 +Right now we're working on an e-book for +sustainability + +00:06:50.300 --> 00:06:57.767 +and kids contribute their stories into +this long Org Mode file + +00:06:57.767 --> 00:07:00.233 +and I want my editors to see it + +00:07:00.233 --> 00:07:05.333 +so what we have done, actually, is with +the tags and all that, I have actually + +00:07:05.333 --> 00:07:08.167 +pasted it into Google Docs + +00:07:08.167 --> 00:07:11.833 +so that my collaborators and + +00:07:11.833 --> 00:07:14.000 +editors can see it. + +00:07:14.000 --> 00:07:16.667 +That's my current solution. +It's not elegant. + +00:07:16.667 --> 00:07:23.900 +I'm trying to see if I can use Python +code to make the copy and paste work, + +00:07:23.900 --> 00:07:26.900 +but it's not so elegant for now. + +00:07:26.900 --> 00:07:28.933 +I don't know how to work this out, + +00:07:28.933 --> 00:07:31.100 +but this is my hack. That is, + +00:07:31.100 --> 00:07:34.300 +the entire Org Mode text, I would paste +it into + +00:07:34.300 --> 00:07:35.433 +Google Docs + +00:07:35.433 --> 00:07:37.700 +so that my collaborators and editors + +00:07:37.700 --> 00:07:41.667 +can see it. Whenever they edit it, I ask +them not to make any changes + +00:07:41.667 --> 00:07:43.500 +to the Org Mode tags. + +00:07:43.500 --> 00:07:45.633 +So just copy the entire text + +00:07:45.633 --> 00:07:51.167 +and put it back into my Org Mode file + +00:07:51.167 --> 00:07:53.300 +and export it using Pandoc into a PDF + +00:07:53.300 --> 00:07:56.000 +and since it's synced to Google Drive + +00:07:56.000 --> 00:07:58.600 +it shows up in the Google Drive + +00:07:58.600 --> 00:08:03.633 +and then the collaborators can see +the PDF/EPUB + +00:08:03.633 --> 00:08:05.333 +if they want to open it up + +00:08:05.333 --> 00:08:06.200 +in their own space. + +00:08:06.200 --> 00:08:11.467 +It's very very hacky and I think +primitive, Stone Age sort of solution. + +00:08:11.467 --> 00:08:15.567 +I did see a Python solution. + +00:08:15.567 --> 00:08:18.967 +to at least help me with +the copying and paste. + +00:08:18.967 --> 00:08:21.574 +I'm still working on +how do I convert this. + +00:08:21.574 --> 00:08:24.300 +Interconvertability is +driving me nuts. + +00:08:24.300 --> 00:08:26.533 +I think most of the questions + +00:08:26.533 --> 00:08:29.333 +are around interconvertability. + +00:08:29.333 --> 00:08:34.767 +This is sort of what I have right now. + +00:08:34.767 --> 00:08:37.567 +Any other questions, Amin, + +00:08:37.567 --> 00:08:40.233 +on IRC or not? + +00:08:40.233 --> 00:08:46.433 +[Amin]: Let's see. I think that's about it. + +00:08:46.433 --> 00:08:50.033 +[Bala]: Okay. Cool. That was fun. + +00:08:50.033 --> 00:08:51.833 +Thank you so much to + +00:08:51.833 --> 00:08:54.577 +the organizers of Emacs conference, + +00:08:54.577 --> 00:08:57.100 +and the community at large, + +00:08:57.100 --> 00:09:01.303 +the Org Mode community and the Emacs +community for helping me out. + +00:09:01.303 --> 00:09:02.900 +Thank you so much. + +00:09:02.900 --> 00:09:05.233 +Thanks for the opportunity +as well. + +00:09:05.233 --> 00:09:07.300 +[Amin]: And thank you, Bala, for your +awesome talk. + +00:09:07.300 --> 00:09:14.000 +[Bala]: Thanks. Thanks a lot, Amin. diff --git a/2020/subtitles/emacsconf-2020--04-music-in-plain-text--jonathan-gregory.vtt b/2020/subtitles/emacsconf-2020--04-music-in-plain-text--jonathan-gregory.vtt index 773ff31b..b2722c99 100644 --- a/2020/subtitles/emacsconf-2020--04-music-in-plain-text--jonathan-gregory.vtt +++ b/2020/subtitles/emacsconf-2020--04-music-in-plain-text--jonathan-gregory.vtt @@ -3,98 +3,94 @@ WEBVTT 00:00:02.000 --> 00:00:04.799 Hello, everyone, and welcome to the EmacsConf. -00:00:04.799 --> 00:00:07.200 -I am Jonathan. In this talk, I'm going +00:00:04.799 --> 00:00:06.631 +I am Jonathan. In this talk, -00:00:07.200 --> 00:00:09.599 -to demonstrate ways of producing sheet +00:00:06.631 --> 00:00:10.880 +I'm going to demonstrate ways of +producing sheet music in Emacs -00:00:09.599 --> 00:00:10.880 -music in Emacs +00:00:10.880 --> 00:00:14.636 +using Lilypond, and maybe also +convince you -00:00:10.880 --> 00:00:14.320 -using Lilypond, and maybe also convince +00:00:14.636 --> 00:00:18.640 +to use Emacs for writing your scores. -00:00:14.320 --> 00:00:18.640 -you to use Emacs for writing your scores. +00:00:18.640 --> 00:00:20.698 +I'll start with an overview +of the syntax -00:00:18.640 --> 00:00:20.400 -I'll start with an overview of the - -00:00:20.400 --> 00:00:22.240 -syntax for those who are new to using +00:00:20.698 --> 00:00:22.240 +for those who are new to using 00:00:22.240 --> 00:00:24.400 text-based notation -00:00:24.400 --> 00:00:26.800 -as a shallow dive into the deep pond of +00:00:24.400 --> 00:00:26.615 +as a shallow dive into the deep pond -00:00:26.800 --> 00:00:28.800 -lilies and Lilypond, +00:00:26.615 --> 00:00:28.800 +of lilies and Lilypond, -00:00:28.800 --> 00:00:30.800 -and move on to showcase some of its +00:00:28.800 --> 00:00:30.171 +and move on to showcase -00:00:30.800 --> 00:00:32.960 -functionalities using Org Mode +00:00:30.171 --> 00:00:34.723 +some of its functionalities +using Org Mode and lilypond-mode. -00:00:32.960 --> 00:00:36.320 -and lilypond-mode. One disclaimer, +00:00:34.723 --> 00:00:37.173 +One disclaimer, however: -00:00:36.320 --> 00:00:40.480 -however: I am not a Lilypond developer. +00:00:37.173 --> 00:00:40.480 +I am not a Lilypond developer. -00:00:40.480 --> 00:00:44.079 -So what is Lilypond? Lilypond is +00:00:40.480 --> 00:00:42.841 +So what is Lilypond? -00:00:44.079 --> 00:00:46.800 -a file format and music engraving system +00:00:42.841 --> 00:00:46.800 +Lilypond is a file format and music +engraving system 00:00:46.800 --> 00:00:50.000 for producing high-quality sheet music. -00:00:50.000 --> 00:00:52.640 -It translates textual representations of +00:00:50.000 --> 00:00:52.442 +It translates textual representations -00:00:52.640 --> 00:00:55.120 -music to graphical objects. +00:00:52.442 --> 00:00:55.120 +of music to graphical objects. -00:00:55.120 --> 00:00:57.760 -It's similar to LaTeX in that its +00:00:55.120 --> 00:00:57.520 +It's similar to LaTeX in that -00:00:57.760 --> 00:01:00.000 -input format describes the visual +00:00:57.520 --> 00:00:59.329 +its input format describes -00:01:00.000 --> 00:01:01.600 -layouts of the score, +00:00:59.329 --> 00:01:01.600 +the visual layouts of the score, -00:01:01.600 --> 00:01:03.520 +00:01:01.600 --> 00:01:05.119 using commands to define musical - -00:01:03.520 --> 00:01:05.119 expressions. 00:01:05.119 --> 00:01:07.760 Commands begin with a backslash. -00:01:07.760 --> 00:01:08.640 -For example, - -00:01:08.640 --> 00:01:10.479 -the formatter command, as shown on the +00:01:07.760 --> 00:01:10.791 +For example, the formatter command, +as shown on the left, -00:01:10.479 --> 00:01:13.040 -left, yields its graphical equivalents on +00:01:10.791 --> 00:01:13.920 +yields its graphical equivalents +on the right, -00:01:13.040 --> 00:01:13.920 -the right, +00:01:13.920 --> 00:01:16.345 +the fermata symbol over the low B -00:01:13.920 --> 00:01:16.640 -the fermata symbol over the low B and - -00:01:16.640 --> 00:01:19.119 -so on and so forth. +00:01:16.345 --> 00:01:19.119 +and so on and so forth. 00:01:19.119 --> 00:01:21.600 It's also fully extensible, like Emacs, @@ -105,59 +101,48 @@ allowing users to extend 00:01:23.119 --> 00:01:25.600 and override Lilypond's functionalities -00:01:25.600 --> 00:01:26.640 -using the Scheme - -00:01:26.640 --> 00:01:29.840 -scripting language. It can be used for +00:01:25.600 --> 00:01:28.452 +using the Scheme scripting language. -00:01:29.840 --> 00:01:31.600 -early and contemporary music +00:01:28.452 --> 00:01:32.422 +It can be used for early and +contemporary music tablature, -00:01:31.600 --> 00:01:34.479 -tablature, vocal music lead sheets, - -00:01:34.479 --> 00:01:35.200 -and so on. +00:01:32.422 --> 00:01:35.200 +vocal music lead sheets, and so on. 00:01:35.200 --> 00:01:38.000 Above all, it works with Emacs. -00:01:38.000 --> 00:01:38.479 -In fact, - -00:01:38.479 --> 00:01:41.040 -Lilypond ships with Emacs Lisp libraries, +00:01:38.000 --> 00:01:41.040 +In fact, Lilypond ships with +Emacs Lisp libraries, -00:01:41.040 --> 00:01:43.119 +00:01:41.040 --> 00:01:47.360 including a major mode for editing - -00:01:43.119 --> 00:01:47.360 Lilypond files. -00:01:47.360 --> 00:01:50.000 -So the input files are similar to - -00:01:50.000 --> 00:01:50.560 -source files. +00:01:47.360 --> 00:01:50.560 +So the input files are similar to source +files. -00:01:50.560 --> 00:01:52.560 +00:01:50.560 --> 00:01:54.079 They contain expressions formed with - -00:01:52.560 --> 00:01:54.079 curly braces, -00:01:54.079 --> 00:01:55.840 -comments that start with the percent +00:01:54.079 --> 00:01:56.549 +comments that start with +the percent sign, -00:01:55.840 --> 00:02:00.240 -sign, and the code is indented. +00:01:56.549 --> 00:02:00.240 +and the code is indented. -00:02:00.240 --> 00:02:02.159 +00:02:00.240 --> 00:02:02.903 Notes are entered using lowercase +letters, -00:02:02.159 --> 00:02:05.600 -letters, and rests with the letter r. +00:02:02.903 --> 00:02:05.600 +and rests with the letter r. 00:02:05.600 --> 00:02:08.800 In this case, the lowercase r or r4 @@ -168,22 +153,20 @@ is the equivalence of a crotchet or 00:02:11.039 --> 00:02:14.000 quarter note rest. -00:02:14.000 --> 00:02:16.160 -Durations are entered using numbers and +00:02:14.000 --> 00:02:15.938 +Durations are entered using numbers -00:02:16.160 --> 00:02:18.480 -dots after the note name. +00:02:15.938 --> 00:02:18.480 +and dots after the note name. -00:02:18.480 --> 00:02:20.959 -If you do not specify one, the previous +00:02:18.480 --> 00:02:20.196 +If you do not specify one, -00:02:20.959 --> 00:02:22.640 -duration is used. +00:02:20.196 --> 00:02:22.640 +the previous duration is used. -00:02:22.640 --> 00:02:24.560 +00:02:22.640 --> 00:02:27.360 You can also tie notes together using - -00:02:24.560 --> 00:02:27.360 the tilde symbol (~). 00:02:27.360 --> 00:02:30.000 @@ -192,32 +175,30 @@ In fact, you can input chords, lyrics, 00:02:30.000 --> 00:02:32.080 embellishments, and a lot more. -00:02:32.080 --> 00:02:33.920 +00:02:32.080 --> 00:02:36.160 I encourage you to read the manual for - -00:02:33.920 --> 00:02:36.160 more information. 00:02:36.160 --> 00:02:39.680 Now let's switch to a terminal window. -00:02:39.680 --> 00:02:42.000 -With Lilypond installed, let's create - -00:02:42.000 --> 00:02:43.840 -a test file with the extension +00:02:39.680 --> 00:02:41.247 +With Lilypond installed, -00:02:43.840 --> 00:02:50.560 -.ly and open it in Emacs. +00:02:41.247 --> 00:02:50.560 +let's create a test file with the +extension .ly and open it in Emacs. -00:02:50.560 --> 00:02:52.400 -At the top of the file is the version +00:02:50.560 --> 00:02:53.048 +At the top of the file is +the version statement, -00:02:52.400 --> 00:02:54.800 -statement, which tells Lilypond which +00:02:53.048 --> 00:02:54.395 +which tells Lilypond -00:02:54.800 --> 00:02:57.440 -version to use when compiling the file. +00:02:54.395 --> 00:02:57.440 +which version to use when +compiling the file. 00:02:57.440 --> 00:03:00.959 Here I'm using version 2.20.0. @@ -228,14 +209,15 @@ I've added the clef and time signature. 00:03:04.159 --> 00:03:09.280 Let's add some notes. -00:03:09.280 --> 00:03:12.400 -I'm going to close this now and +00:03:09.280 --> 00:03:12.098 +I'm going to close this now -00:03:12.400 --> 00:03:14.560 -compile the file by running +00:03:12.098 --> 00:03:13.765 +and compile the file -00:03:14.560 --> 00:03:19.760 -lilypond followed by the file name. +00:03:13.765 --> 00:03:19.760 +by running lilypond followed +by the file name. 00:03:19.760 --> 00:03:27.360 So now let's view the output. @@ -246,26 +228,22 @@ Okay. So here's a more complex example 00:03:29.760 --> 00:03:32.239 for randomizing note sequences. -00:03:32.239 --> 00:03:34.080 -The idea is to create new reading +00:03:32.239 --> 00:03:33.410 +The idea is to create -00:03:34.080 --> 00:03:36.239 -materials each time the code blocks are - -00:03:36.239 --> 00:03:37.760 -evaluated. +00:03:33.410 --> 00:03:37.760 +new reading materials each time the code +blocks are evaluated. 00:03:37.760 --> 00:03:40.640 As usual, we begin with a header. -00:03:40.640 --> 00:03:41.840 -I've added the title - -00:03:41.840 --> 00:03:45.200 -and composer. Then we add the note +00:03:40.640 --> 00:03:43.541 +I've added the title and composer. -00:03:45.200 --> 00:03:47.920 -sequences to use in the composition. +00:03:43.541 --> 00:03:47.920 +Then we add the note sequences to use in +the composition. 00:03:47.920 --> 00:03:51.200 In this case, sn is a note name just like @@ -288,28 +266,22 @@ Finally, we expand the notes inside 00:04:06.560 --> 00:04:08.799 the Lilypond source block. -00:04:08.799 --> 00:04:10.799 -So whatever the function returns is +00:04:08.799 --> 00:04:10.684 +So whatever the function returns -00:04:10.799 --> 00:04:13.680 -expanded inside the drums block. +00:04:10.684 --> 00:04:13.680 +is expanded inside the drums block. -00:04:13.680 --> 00:04:16.479 -Now let's press C-c C-c to view +00:04:13.680 --> 00:04:20.079 +Now let's press C-c C-c to view the +results. -00:04:16.479 --> 00:04:20.079 -the results. - -00:04:20.079 --> 00:04:23.280 +00:04:20.079 --> 00:04:26.840 Okay. And if I run this again, it should - -00:04:23.280 --> 00:04:26.840 create a new composition. -00:04:26.840 --> 00:04:29.680 +00:04:26.840 --> 00:04:31.360 Great. You can also audition a piece - -00:04:29.680 --> 00:04:31.360 using the midi command, 00:04:31.360 --> 00:04:34.320 @@ -324,74 +296,64 @@ sorry, the ob-lilypond library comes 00:04:39.040 --> 00:04:40.400 with two modes. -00:04:40.400 --> 00:04:42.560 +00:04:40.400 --> 00:04:43.440 The one I'm using now is called - -00:04:42.560 --> 00:04:43.440 arrange mode -00:04:43.440 --> 00:04:45.440 +00:04:43.440 --> 00:04:47.120 and is useful for assembling - -00:04:45.440 --> 00:04:47.120 complete scores. -00:04:47.120 --> 00:04:49.360 -The basic mode on the other hand allows +00:04:47.120 --> 00:04:49.015 +The basic mode, on the other hand, -00:04:49.360 --> 00:04:51.199 -you to mix text and music +00:04:49.015 --> 00:04:51.199 +allows you to mix text and music 00:04:51.199 --> 00:04:53.360 by embedding Lilypond snippets and -00:04:53.360 --> 00:04:55.440 +00:04:53.360 --> 00:05:00.240 export them using typical Org Mode - -00:04:55.440 --> 00:05:00.240 commands. -00:05:00.240 --> 00:05:02.320 +00:05:00.240 --> 00:05:02.661 Now to demonstrate the basic mode in +action. -00:05:02.320 --> 00:05:04.320 -action. I'm going to export this document +00:05:02.661 --> 00:05:04.320 +I'm going to export this document 00:05:04.320 --> 00:05:05.120 to a PDF file. -00:05:05.120 --> 00:05:08.240 -In this case, the - -00:05:08.240 --> 00:05:10.639 -:file header argument is required, so you +00:05:05.120 --> 00:05:10.077 +In this case, the :file header argument +is required, -00:05:10.639 --> 00:05:11.919 -have to provide one +00:05:10.077 --> 00:05:11.919 +so you have to provide one 00:05:11.919 --> 00:05:15.600 and include the file name. -00:05:15.600 --> 00:05:17.919 -Again, you can run the code and view +00:05:15.600 --> 00:05:22.160 +Again, you can run the code and view the +results. -00:05:17.919 --> 00:05:22.160 -the results. - -00:05:22.160 --> 00:05:25.840 -Here it is. So now let's - -00:05:25.840 --> 00:05:33.680 -export this to a PDF file. +00:05:22.160 --> 00:05:33.680 +Here it is. So now let's export this to +a PDF file. 00:05:33.680 --> 00:05:39.680 And here it is, what it generates. -00:05:39.680 --> 00:05:41.440 -Now I'm going to show you the workflow I +00:05:39.680 --> 00:05:41.716 +Now I'm going to show you +the workflow I used -00:05:41.440 --> 00:05:44.000 -used to produce music books in Emacs, +00:05:41.716 --> 00:05:44.000 +to produce music books in Emacs, 00:05:44.000 --> 00:05:46.160 combining Lilypond and LaTeX for a @@ -399,11 +361,12 @@ combining Lilypond and LaTeX for a 00:05:46.160 --> 00:05:48.000 perfect marriage. -00:05:48.000 --> 00:05:50.160 -I begin by sketching the first draft of the +00:05:48.000 --> 00:05:49.858 +I begin by sketching the first draft -00:05:50.160 --> 00:05:53.039 -manuscript using pencil and paper. +00:05:49.858 --> 00:05:53.039 +of the manuscript using +pencil and paper. 00:05:53.039 --> 00:05:55.039 Then I move to Emacs to input the notes @@ -411,32 +374,28 @@ Then I move to Emacs to input the notes 00:05:55.039 --> 00:05:57.440 in a git repository. -00:05:57.440 --> 00:06:00.080 -This is a typical source file. It begins +00:05:57.440 --> 00:05:59.486 +This is a typical source file. -00:06:00.080 --> 00:06:01.360 -with a stylesheet +00:05:59.486 --> 00:06:01.360 +It begins with a stylesheet -00:06:01.360 --> 00:06:03.199 -where I set variables and layout +00:06:01.360 --> 00:06:03.690 +where I set variables and layout settings, -00:06:03.199 --> 00:06:05.440 -settings, although in general, there's no +00:06:03.690 --> 00:06:04.875 +although in general, -00:06:05.440 --> 00:06:07.039 -need for tweaking the layout +00:06:04.875 --> 00:06:07.039 +there's no need for tweaking the layout -00:06:07.039 --> 00:06:09.280 +00:06:07.039 --> 00:06:11.199 unless you have specific requirements to - -00:06:09.280 --> 00:06:11.199 do so. -00:06:11.199 --> 00:06:13.360 -The easiest way to compile the file from - -00:06:13.360 --> 00:06:15.520 -Emacs is by pressing C-c C-l, +00:06:11.199 --> 00:06:15.520 +The easiest way to compile the file +from Emacs is by pressing C-c C-l, 00:06:15.520 --> 00:06:19.280 so let's do this now, @@ -447,20 +406,19 @@ and the compilation buffer will tell you 00:06:21.199 --> 00:06:23.759 if there were any errors in the file. -00:06:23.759 --> 00:06:26.000 -Now to automate the process of compiling +00:06:23.759 --> 00:06:25.439 +Now to automate the process of -00:06:26.000 --> 00:06:28.560 -several files and building the PDF, +00:06:25.439 --> 00:06:28.560 +compiling several files and +building the PDF, 00:06:28.560 --> 00:06:31.280 I use GNU Make, so all I have to do is -00:06:31.280 --> 00:06:32.560 -open the shell - -00:06:32.560 --> 00:06:36.000 -and run the make command. Don't worry, +00:06:31.280 --> 00:06:36.000 +open the shell and run the make command. +Don't worry, 00:06:36.000 --> 00:06:37.840 I'll provide a link to the source code @@ -468,11 +426,11 @@ I'll provide a link to the source code 00:06:37.840 --> 00:06:41.600 on the last slide. -00:06:41.600 --> 00:06:43.600 -As I moved forward with the project, I +00:06:41.600 --> 00:06:43.494 +As I moved forward with the project, -00:06:43.600 --> 00:06:46.000 -found at least two things missing. +00:06:43.494 --> 00:06:46.000 +I found at least two things missing. 00:06:46.000 --> 00:06:48.720 One, I had no access to a metronome, @@ -480,29 +438,30 @@ One, I had no access to a metronome, 00:06:48.720 --> 00:06:50.479 at least not from the editor, -00:06:50.479 --> 00:06:52.960 -so I built one for casual use and made +00:06:50.479 --> 00:06:52.437 +so I built one for casual use -00:06:52.960 --> 00:06:55.919 -it available in the MELPA repository. +00:06:52.437 --> 00:06:55.919 +and made it available in the MELPA +repository. 00:06:55.919 --> 00:06:59.039 -I also missed bar numbers in the source file. +I also missed bar numbers in the +source file. 00:06:59.039 --> 00:07:00.880 This is useful when going back and forth -00:07:00.880 --> 00:07:03.199 +00:07:00.880 --> 00:07:04.479 between input and output files without - -00:07:03.199 --> 00:07:04.479 getting lost. -00:07:04.479 --> 00:07:06.720 +00:07:04.479 --> 00:07:07.290 So I wrote a command for toggling bar +numbers, -00:07:06.720 --> 00:07:10.000 -numbers, which I hope you can see on the left. +00:07:07.290 --> 00:07:10.000 +which I hope you can see on the left. 00:07:10.000 --> 00:07:12.080 Also, some expressions are difficult or @@ -510,26 +469,28 @@ Also, some expressions are difficult or 00:07:12.080 --> 00:07:14.160 slow to write on the keyboard-- -00:07:14.160 --> 00:07:17.039 -accents and tuplets, for example--so I use +00:07:14.160 --> 00:07:16.490 +accents and tuplets, for example-- -00:07:17.039 --> 00:07:20.160 -template expansion extensively for this purpose, +00:07:16.490 --> 00:07:20.160 +so I use template expansion extensively +for this purpose, 00:07:20.160 --> 00:07:23.440 mainly yasnippet. -00:07:23.440 --> 00:07:25.680 -So what do I think? Well, I think +00:07:23.440 --> 00:07:24.797 +So what do I think? -00:07:25.680 --> 00:07:28.080 -Lilypond can be a sharp paradigm shift +00:07:24.797 --> 00:07:28.080 +Well, I think Lilypond can be a sharp +paradigm shift -00:07:28.080 --> 00:07:31.039 -for people used to GUI alternatives, but +00:07:28.080 --> 00:07:30.817 +for people used to GUI alternatives, -00:07:31.039 --> 00:07:32.720 -the results are impressive. +00:07:30.817 --> 00:07:32.720 +but the results are impressive. 00:07:32.720 --> 00:07:34.639 You don't have to dive too deeply to @@ -537,29 +498,27 @@ You don't have to dive too deeply to 00:07:34.639 --> 00:07:36.960 start using Lilypond. -00:07:36.960 --> 00:07:38.880 +00:07:36.960 --> 00:07:39.635 Likewise, the ability to extend the +software, +I think, -00:07:38.880 --> 00:07:40.720 -software, I think, is especially appealing +00:07:39.635 --> 00:07:42.400 +is especially appealing for music +professionals, -00:07:40.720 --> 00:07:42.400 -for music professionals, - -00:07:42.400 --> 00:07:45.199 +00:07:42.400 --> 00:07:46.560 enthusiasts, composers, and the academic - -00:07:45.199 --> 00:07:46.560 community: 00:07:46.560 --> 00:07:48.400 for example, allowing users to create -00:07:48.400 --> 00:07:50.800 -alternative notation systems required in +00:07:48.400 --> 00:07:50.187 +alternative notation systems -00:07:50.800 --> 00:07:53.120 -non-Western music traditions +00:07:50.187 --> 00:07:53.120 +required in non-Western music traditions 00:07:53.120 --> 00:07:56.160 and other non-conventional requirements. @@ -573,35 +532,28 @@ extensive and well-written manuals 00:08:00.720 --> 00:08:04.639 and active communities of users. -00:08:04.639 --> 00:08:06.400 -But if you're still not sure where to +00:08:04.639 --> 00:08:05.971 +But if you're still not sure -00:08:06.400 --> 00:08:09.599 -start and when to wedge your feet in the deep +00:08:05.971 --> 00:08:10.475 +where to start and when to wedge your +feet in the deep but warm pond -00:08:09.599 --> 00:08:12.160 -but warm pond of lilies, Lilypond, and +00:08:10.475 --> 00:08:13.680 +of lilies, Lilypond, and Lilypond users, -00:08:12.160 --> 00:08:13.680 -Lilypond users, - -00:08:13.680 --> 00:08:15.680 +00:08:13.680 --> 00:08:16.960 I invite you to contribute to my - -00:08:15.680 --> 00:08:16.960 Lilypond projects, -00:08:16.960 --> 00:08:18.800 +00:08:16.960 --> 00:08:20.720 which you can do so from the links on - -00:08:18.800 --> 00:08:20.720 the screen. -00:08:20.720 --> 00:08:22.800 -So, thank you all. I look forward to your - -00:08:22.800 --> 00:08:24.639 -comments, and I hope you enjoy the rest +00:08:20.720 --> 00:08:23.271 +So, thank you all. I look forward to +your comments, -00:08:24.639 --> 00:08:27.840 -of the conference. +00:08:23.271 --> 00:08:27.840 +and I hope you enjoy the rest of the +conference. diff --git a/2020/subtitles/emacsconf-2020--05-bard-bivoumacs-building-a-bandcamp-like-page-for-an-album-of-music--grant-shangreaux.vtt b/2020/subtitles/emacsconf-2020--05-bard-bivoumacs-building-a-bandcamp-like-page-for-an-album-of-music--grant-shangreaux.vtt index debfa46c..24e598d5 100644 --- a/2020/subtitles/emacsconf-2020--05-bard-bivoumacs-building-a-bandcamp-like-page-for-an-album-of-music--grant-shangreaux.vtt +++ b/2020/subtitles/emacsconf-2020--05-bard-bivoumacs-building-a-bandcamp-like-page-for-an-album-of-music--grant-shangreaux.vtt @@ -3,98 +3,79 @@ WEBVTT 00:00:01.360 --> 00:00:04.480 Hello, my name is Grant Shangreaux. -00:00:04.480 --> 00:00:07.279 +00:00:04.480 --> 00:00:09.519 This is my talk titled Bard Bivou(m)acs: +Publishing Music with Emacs. -00:00:07.279 --> 00:00:07.919 -Publishing Music +00:00:09.519 --> 00:00:14.400 +I'm a software developer with Unabridged +Software in Lincoln, Nebraska. -00:00:07.919 --> 00:00:10.719 -with Emacs. I'm a software - -00:00:10.719 --> 00:00:12.799 -developer with Unabridged Software in - -00:00:12.799 --> 00:00:14.400 -Lincoln, Nebraska. - -00:00:14.400 --> 00:00:16.800 +00:00:14.400 --> 00:00:18.720 Long time Emacs user, relatively new - -00:00:16.800 --> 00:00:18.720 Emacs hacker. -00:00:18.720 --> 00:00:20.480 -Hopefully, I'll be able to show +00:00:18.720 --> 00:00:22.487 +Hopefully, I'll be able to show you +my workflow, -00:00:20.480 --> 00:00:22.960 -you my workflow, with +00:00:22.487 --> 00:00:30.480 +with how I publish music with Emacs. -00:00:22.960 --> 00:00:30.480 -how I publish music with Emacs. +00:00:30.480 --> 00:00:35.520 +All right. So as a musician, I would +like to publish my music online. -00:00:30.480 --> 00:00:33.440 -All right. So as a musician, I would like +00:00:35.520 --> 00:00:39.040 +I could publish with popular online +music services, -00:00:33.440 --> 00:00:35.520 -to publish my music online. +00:00:39.040 --> 00:00:41.061 +but I'm more of a DIY-type, -00:00:35.520 --> 00:00:37.200 -I could publish with popular - -00:00:37.200 --> 00:00:39.040 -online music services, - -00:00:39.040 --> 00:00:42.000 -but I'm more of a DIY-type, so I chose to - -00:00:42.000 --> 00:00:44.719 -go ahead and publish with Emacs. +00:00:41.061 --> 00:00:44.719 +so I chose to go ahead and +publish with Emacs. 00:00:44.719 --> 00:00:48.160 What's the motivation behind this? -00:00:48.160 --> 00:00:49.760 +00:00:48.160 --> 00:00:51.600 A lot of it comes down to some - -00:00:49.760 --> 00:00:51.600 fundamental freedoms -00:00:51.600 --> 00:00:54.960 +00:00:51.600 --> 00:00:57.178 that Emacs and GNU software +represent to me, -00:00:54.960 --> 00:00:59.120 -represent to me, as well as my - -00:00:59.120 --> 00:01:01.840 -ideas on culture and my background. +00:00:57.178 --> 00:01:01.840 +as well as my ideas on culture and my +background. 00:01:01.840 --> 00:01:04.080 -I don't believe that music is a consumer good. - -00:01:04.080 --> 00:01:06.080 -It's a form of knowledge, +I don't believe that music is +a consumer good. -00:01:06.080 --> 00:01:08.320 -like an algorithm. +00:01:04.080 --> 00:01:08.320 +It's a form of knowledge, like an +algorithm. -00:01:08.320 --> 00:01:10.479 -And it's just such a part of +00:01:08.320 --> 00:01:11.036 +And it's just such a part of culture, -00:01:10.479 --> 00:01:13.119 -culture, like in tribal cultures, music +00:01:11.036 --> 00:01:12.780 +like in tribal cultures, -00:01:13.119 --> 00:01:16.640 -was seen as a gift from the cosmos or +00:01:12.780 --> 00:01:17.405 +music was seen as a gift from the cosmos +or the gods. -00:01:16.640 --> 00:01:18.000 -the gods. It was +00:01:17.405 --> 00:01:20.288 +It was a gift maybe through an +individual vessel, -00:01:18.000 --> 00:01:19.920 -a gift maybe through an individual - -00:01:19.920 --> 00:01:21.920 -vessel, but was shared with the people +00:01:20.288 --> 00:01:21.920 +but was shared with the people 00:01:21.920 --> 00:01:23.520 and shared with everyone, @@ -108,11 +89,12 @@ So to me, music is something that 00:01:29.840 --> 00:01:31.520 should be shared and should be -00:01:31.520 --> 00:01:34.640 -freely enjoyed by everyone. Of course, +00:01:31.520 --> 00:01:33.818 +freely enjoyed by everyone. -00:01:34.640 --> 00:01:36.560 -artists should be compensated as well, +00:01:33.818 --> 00:01:36.560 +Of course, artists should be +compensated as well, 00:01:36.560 --> 00:01:39.040 but that's a whole different topic. @@ -120,41 +102,43 @@ but that's a whole different topic. 00:01:39.040 --> 00:01:41.040 So when I want to share my music, -00:01:41.040 --> 00:01:42.720 +00:01:41.040 --> 00:01:43.520 I want to do it without impacting - -00:01:42.720 --> 00:01:43.520 anyone's freedom. -00:01:43.520 --> 00:01:45.680 -Using GNU software like Emacs is a +00:01:43.520 --> 00:01:45.425 +Using GNU software like Emacs -00:01:45.680 --> 00:01:49.200 -good way that I can ensure that +00:01:45.425 --> 00:01:49.200 +is a good way that I can ensure that -00:01:49.200 --> 00:01:52.840 -I won't be requiring people to +00:01:49.200 --> 00:01:52.597 +I won't be requiring people -00:01:52.840 --> 00:01:55.840 -sign away their freedoms for anything. +00:01:52.597 --> 00:01:55.840 +to sign away their freedoms for +anything. -00:01:55.840 --> 00:01:57.119 -There's a lot more I could say about +00:01:55.840 --> 00:01:57.367 +There's a lot more I could say +about this -00:01:57.119 --> 00:01:58.799 -this but I don't have time. +00:01:57.367 --> 00:01:58.799 +but I don't have time. 00:01:58.799 --> 00:02:03.439 -Feel free to reach out to me by email or IRC. +Feel free to reach out to me by +email or IRC. 00:02:03.439 --> 00:02:06.479 Part of the motivation for me, -00:02:06.479 --> 00:02:08.239 +00:02:06.479 --> 00:02:08.775 personally, is that Emacs is super +magical. -00:02:08.239 --> 00:02:10.720 -magical. It's an all-in-one solution. +00:02:08.775 --> 00:02:10.720 +It's an all-in-one solution. 00:02:10.720 --> 00:02:12.720 Like I said, the GNU software aligns with @@ -162,25 +146,22 @@ Like I said, the GNU software aligns with 00:02:12.720 --> 00:02:14.480 Creative Commons' ideas. -00:02:14.480 --> 00:02:16.800 -I can do file management. I can author +00:02:14.480 --> 00:02:16.067 +I can do file management. -00:02:16.800 --> 00:02:18.879 -HTML, all the web stuff I need even, +00:02:16.067 --> 00:02:20.239 +I can author HTML, all the web stuff +I need even, literate-style. -00:02:18.879 --> 00:02:20.239 -literate-style. +00:02:20.239 --> 00:02:22.171 +I can handle media and metadata. -00:02:20.239 --> 00:02:22.640 -I can handle media and metadata. I've got +00:02:22.171 --> 00:02:24.640 +I've got version control, remote server +access... -00:02:22.640 --> 00:02:24.640 -version control, remote server access... - -00:02:24.640 --> 00:02:26.800 +00:02:24.640 --> 00:02:28.080 All the tools I need are right under my - -00:02:26.800 --> 00:02:28.080 fingertips with this tool 00:02:28.080 --> 00:02:30.000 @@ -204,23 +185,22 @@ So, how do you use Emacs to publish music? 00:02:41.680 --> 00:02:43.440 Well, for me, I needed -00:02:43.440 --> 00:02:45.120 -a couple of things. I needed to be able +00:02:43.440 --> 00:02:44.258 +a couple of things. -00:02:45.120 --> 00:02:46.480 -to audition and label +00:02:44.258 --> 00:02:47.564 +I needed to be able to audition and +label unlabeled audio tracks. -00:02:46.480 --> 00:02:48.319 -unlabeled audio tracks. I have a lot of +00:02:47.564 --> 00:02:50.320 +I have a lot of files that +I don't know where they came from. -00:02:48.319 --> 00:02:50.000 -files that I don't know where they +00:02:50.320 --> 00:02:51.213 +I don't know what they are. -00:02:50.000 --> 00:02:51.280 -came from. I don't know what they are. I - -00:02:51.280 --> 00:02:53.840 -need to be able to listen to them, +00:02:51.213 --> 00:02:53.840 +I need to be able to listen to them, 00:02:53.840 --> 00:02:56.800 and I need to be able to add metadata to @@ -240,20 +220,19 @@ And in the end, I wanted to take those 00:03:05.120 --> 00:03:08.319 files and programmatically produce a web page -00:03:08.319 --> 00:03:11.920 -for people to consume. I found out that - -00:03:11.920 --> 00:03:14.879 -Emacs scores a hundred percent on all of +00:03:08.319 --> 00:03:10.442 +for people to consume. -00:03:14.879 --> 00:03:18.000 -these requirements that I had for this, and +00:03:10.442 --> 00:03:14.879 +I found out that Emacs scores a hundred +percent on all of -00:03:18.000 --> 00:03:20.720 -a lot of that came from EMMS, the Emacs +00:03:14.879 --> 00:03:17.709 +these requirements that I had for this, -00:03:20.720 --> 00:03:22.640 -multimedia system. +00:03:17.709 --> 00:03:22.640 +and a lot of that came from EMMS, the +Emacs multimedia system. 00:03:22.640 --> 00:03:26.080 EMMS is great. @@ -261,17 +240,18 @@ EMMS is great. 00:03:26.080 --> 00:03:27.760 If you haven't checked it out, please do. -00:03:27.760 --> 00:03:30.000 -It's a little bit unintuitive, but +00:03:27.760 --> 00:03:29.736 +It's a little bit unintuitive, -00:03:30.000 --> 00:03:34.000 -once you get into it, you know it works. +00:03:29.736 --> 00:03:34.000 +but once you get into it, you know it +works. -00:03:34.000 --> 00:03:36.640 -Basically, what EMMS gave me was the +00:03:34.000 --> 00:03:36.420 +Basically, what EMMS gave me was -00:03:36.640 --> 00:03:38.720 -ability to listen to the tracks, +00:03:36.420 --> 00:03:38.720 +the ability to listen to the tracks, 00:03:38.720 --> 00:03:39.680 organize playlists. @@ -297,17 +277,14 @@ so (require 'emms-mark). I'm going to 00:03:54.879 --> 00:03:59.680 go through, and I'm going to open the red... -00:03:59.680 --> 00:04:02.319 -I've got this. These files here. So +00:03:59.680 --> 00:04:02.092 +I've got this. These files here. -00:04:02.319 --> 00:04:04.480 -you can see these files are mp3s. +00:04:02.092 --> 00:04:04.480 +So you can see these files are mp3s. -00:04:04.480 --> 00:04:06.080 -They're recorded on a - -00:04:06.080 --> 00:04:07.599 -digital recorder. +00:04:04.480 --> 00:04:07.599 +They're recorded on a digital recorder. 00:04:07.599 --> 00:04:09.920 If I had the choice, I would have a @@ -318,35 +295,28 @@ recorder that used a different format, 00:04:12.319 --> 00:04:14.640 but so be it. I can mark all these files -00:04:14.640 --> 00:04:16.160 -and I can do EMMS - -00:04:16.160 --> 00:04:20.000 -add to .., and now they've been loaded - -00:04:20.000 --> 00:04:27.040 -into a playlist. - -00:04:27.040 --> 00:04:29.040 -So you can see the playlist here. There's +00:04:14.640 --> 00:04:27.040 +and I can do EMMS add to .., and now +they've been loaded into a playlist. -00:04:29.040 --> 00:04:30.400 -some leftover files. +00:04:27.040 --> 00:04:28.698 +So you can see the playlist here. -00:04:30.400 --> 00:04:32.000 -So I've got these three files in my +00:04:28.698 --> 00:04:30.400 +There's some leftover files. -00:04:32.000 --> 00:04:33.759 -playlist, and as you can see, it's just +00:04:30.400 --> 00:04:31.771 +So I've got these three files -00:04:33.759 --> 00:04:34.639 -the file name, +00:04:31.771 --> 00:04:33.361 +in my playlist, and as you can see, -00:04:34.639 --> 00:04:36.800 -the path. I don't have any metadata +00:04:33.361 --> 00:04:35.194 +it's just the file name, the path. -00:04:36.800 --> 00:04:38.560 -associated with them. +00:04:35.194 --> 00:04:38.560 +I don't have any metadata associated +with them. 00:04:38.560 --> 00:04:41.360 In this playlist, I can hit E, @@ -360,37 +330,30 @@ the tag information that I have. 00:04:47.360 --> 00:04:49.840 I could edit these here. -00:04:49.840 --> 00:04:51.520 -I could edit them one at a time, but that's +00:04:49.840 --> 00:04:51.129 +I could edit them one at a time, -00:04:51.520 --> 00:04:53.919 -not really great. I want superpower +00:04:51.129 --> 00:05:03.101 +but that's not really great. I want +superpower metadata authoring. -00:04:53.919 --> 00:05:04.479 -metadata authoring. So, +00:05:03.101 --> 00:05:07.159 +So, by marking them, I can then hit E, -00:05:04.479 --> 00:05:07.680 -by marking them, I can then hit E, and I +00:05:07.159 --> 00:05:12.639 +and I have all three of the tracks +loaded up in this tags buffer. -00:05:07.680 --> 00:05:10.479 -have all three of the tracks loaded up in +00:05:12.639 --> 00:05:16.912 +On top of that, I can do EMMS tag +editor, -00:05:10.479 --> 00:05:12.639 -this tags buffer. +00:05:16.912 --> 00:05:22.840 +set all, C-c C-r, and I want to +set the artist. -00:05:12.639 --> 00:05:15.759 -On top of that, I can do EMMS - -00:05:15.759 --> 00:05:18.800 -tag editor, set all, C-c C-r, - -00:05:18.800 --> 00:05:22.840 -and I want to set the artist. - -00:05:22.840 --> 00:05:25.680 +00:05:22.840 --> 00:05:26.320 so these are some recordings of my - -00:05:25.680 --> 00:05:26.320 family. 00:05:26.320 --> 00:05:31.039 @@ -405,53 +368,45 @@ Spring Walk with Lap Harp. 00:05:40.160 --> 00:05:45.520 I want to set the year. -00:05:45.520 --> 00:05:48.960 +00:05:45.520 --> 00:05:53.759 And then I'm going to go ahead and put - -00:05:48.960 --> 00:05:53.759 these in manually, -00:05:53.759 --> 00:05:55.840 -but with the power of Emacs keyboard - -00:05:55.840 --> 00:05:57.039 -macros and +00:05:53.759 --> 00:05:56.759 +but with the power of Emacs +keyboard macros -00:05:57.039 --> 00:05:59.600 -registers and so on. I could do this +00:05:56.759 --> 00:05:59.600 +and registers and so on. I could do this 00:05:59.600 --> 00:06:02.319 programmatically as well, -00:06:02.319 --> 00:06:04.000 -which would make it a lot easier if I +00:06:02.319 --> 00:06:03.818 +which would make it a lot easier -00:06:04.000 --> 00:06:06.000 -had much more than three files to - -00:06:06.000 --> 00:06:07.440 +00:06:03.818 --> 00:06:07.440 +if I had much more than three files to do this with. 00:06:07.440 --> 00:06:09.919 Submit the changes with C-c C-c, -00:06:09.919 --> 00:06:11.520 -and now we've got the playlist. You can - -00:06:11.520 --> 00:06:13.120 -see the artist and track number have +00:06:09.919 --> 00:06:11.232 +and now we've got the playlist. -00:06:13.120 --> 00:06:15.039 -been updated here. +00:06:11.232 --> 00:06:15.039 +You can see the artist and track number +have been updated here. 00:06:15.039 --> 00:06:17.360 And then the final piece of this is that -00:06:17.360 --> 00:06:19.039 -if you look at this, you can see that the +00:06:17.360 --> 00:06:18.875 +if you look at this, you can see that -00:06:19.039 --> 00:06:20.479 -file name is still the same. +00:06:18.875 --> 00:06:20.479 +the file name is still the same. 00:06:20.479 --> 00:06:22.639 So if I were looking at the directory, @@ -468,29 +423,27 @@ for people to download, 00:06:28.000 --> 00:06:30.319 it's nice to be able to have that -00:06:30.319 --> 00:06:32.400 -filename reflect the track number and the +00:06:30.319 --> 00:06:32.044 +filename reflect the track number -00:06:32.400 --> 00:06:34.800 -artist and so on. So there's another +00:06:32.044 --> 00:06:33.609 +and the artist and so on. -00:06:34.800 --> 00:06:41.199 -command, EMMS +00:06:33.609 --> 00:06:40.250 +So there's another command, -00:06:41.199 --> 00:06:44.160 -rename tag editor, rename, so it could be +00:06:40.250 --> 00:06:42.970 +EMMS rename tag editor, rename, -00:06:44.160 --> 00:06:45.120 -just capital R. +00:06:42.970 --> 00:06:45.120 +so it could be just capital R. -00:06:45.120 --> 00:06:47.199 -I think I need to mark all of these, hit +00:06:45.120 --> 00:06:46.991 +I think I need to mark all of these, -00:06:47.199 --> 00:06:48.880 -capital R, and then it's going to ask me - -00:06:48.880 --> 00:06:50.000 -to confirm +00:06:46.991 --> 00:06:50.000 +hit capital R, and then it's going to +ask me to confirm 00:06:50.000 --> 00:06:54.400 and say yes to all of them. @@ -504,86 +457,78 @@ whoops I have to update it--you'll see 00:07:04.319 --> 00:07:06.319 it's been updated with the artist, -00:07:06.319 --> 00:07:09.840 -track number and - -00:07:09.840 --> 00:07:11.120 -track name. +00:07:06.319 --> 00:07:11.120 +track number and track name. -00:07:11.120 --> 00:07:14.639 -This format is a format string, so +00:07:11.120 --> 00:07:14.432 +This format is a format string, -00:07:14.639 --> 00:07:17.360 -it's customizable of course. +00:07:14.432 --> 00:07:17.360 +so it's customizable of course. 00:07:17.360 --> 00:07:21.039 I just decided to go with the default. -00:07:21.039 --> 00:07:24.160 +00:07:21.039 --> 00:07:24.948 So that's pretty great, this workflow +just with EMMS. -00:07:24.160 --> 00:07:26.000 -just with EMMS. I didn't have to do - -00:07:26.000 --> 00:07:28.080 -anything. This is all there. It's all - -00:07:28.080 --> 00:07:30.960 -built in. It gave me exactly what +00:07:24.948 --> 00:07:27.585 +I didn't have to do anything. This is +all there. -00:07:30.960 --> 00:07:32.639 -I was looking for in terms of being able +00:07:27.585 --> 00:07:31.673 +It's all built in. It gave me exactly +what I was looking for -00:07:32.639 --> 00:07:35.599 -to process a lot of raw audio files +00:07:31.673 --> 00:07:35.599 +in terms of being able to process a lot +of raw audio files, -00:07:35.599 --> 00:07:37.599 -add metadata to them and get them ready - -00:07:37.599 --> 00:07:39.280 +00:07:35.599 --> 00:07:39.280 +add metadata to them, and get them ready for publishing. 00:07:39.280 --> 00:07:41.599 And this is for publishing for playback -00:07:41.599 --> 00:07:43.520 -in any media player. It'll be - -00:07:43.520 --> 00:07:46.560 -useful. Not just for the web page that I'm +00:07:41.599 --> 00:07:44.026 +in any media player. It'll be useful. -00:07:46.560 --> 00:07:48.479 -building. So the +00:07:44.026 --> 00:07:47.639 +Not just for the web page that I'm +building. -00:07:48.479 --> 00:07:50.560 -final part, of course, is to build the +00:07:47.639 --> 00:07:51.440 +So the final part, of course, is to +build the web page. -00:07:50.560 --> 00:07:54.960 -web page. Emacs makes authoring HTML trivial. +00:07:51.440 --> 00:07:54.960 +Emacs makes authoring HTML trivial. -00:07:54.960 --> 00:07:57.440 -As I was going through this, I +00:07:54.960 --> 00:07:57.357 +As I was going through this, -00:07:57.440 --> 00:07:59.039 -wanted to challenge myself and just be, +00:07:57.357 --> 00:07:59.701 +I wanted to challenge myself and just +be, like, -00:07:59.039 --> 00:08:00.400 -like, can I do this +00:07:59.701 --> 00:08:03.520 +can I do this just all with Emacs? +Can I just make this? -00:08:00.400 --> 00:08:03.520 -just all with Emacs? Can I just make this? +00:08:03.520 --> 00:08:05.134 +I don't need a... I don't need Ruby. -00:08:03.520 --> 00:08:05.440 -I don't need a... I don't need Ruby. I don't +00:08:05.134 --> 00:08:06.707 +I don't need Rails. I don't need Node. -00:08:05.440 --> 00:08:07.039 -need Rails. I don't need Node. I don't +00:08:06.707 --> 00:08:08.528 +I don't need any of this other stuff. -00:08:07.039 --> 00:08:08.960 -need any of this other stuff. I have my - -00:08:08.960 --> 00:08:10.560 -tool right here. It's a fully... +00:08:08.528 --> 00:08:10.560 +I have my tool right here. It's a +fully... 00:08:10.560 --> 00:08:12.560 It's a whole operating system, basically, @@ -591,83 +536,78 @@ It's a whole operating system, basically, 00:08:12.560 --> 00:08:15.039 plus programming languages. -00:08:15.039 --> 00:08:17.360 -So the first thing I started with was +00:08:15.039 --> 00:08:17.171 +So the first thing I started with -00:08:17.360 --> 00:08:19.919 -buffer scripting for manipulating text. +00:08:17.171 --> 00:08:19.919 +was buffer scripting for +manipulating text. 00:08:19.919 --> 00:08:22.560 That's kind of the easiest way to do it. -00:08:22.560 --> 00:08:24.319 -Basically, anything you can do in a - -00:08:24.319 --> 00:08:25.280 -buffer, you can do +00:08:22.560 --> 00:08:24.692 +Basically, anything you can do in +a buffer, -00:08:25.280 --> 00:08:28.479 -programmatically with Elisp. So this +00:08:24.692 --> 00:08:27.834 +you can do programmatically with Elisp. -00:08:28.479 --> 00:08:30.319 -might be a good example for beginners. If +00:08:27.834 --> 00:08:30.217 +So this might be a good example for +beginners. -00:08:30.319 --> 00:08:33.919 -you haven't done any Elisp yet, +00:08:30.217 --> 00:08:33.919 +If you haven't done any Elisp yet, -00:08:33.919 --> 00:08:36.000 -a simple example is to create this +00:08:33.919 --> 00:08:39.557 +a simple example is to create this div +output here. -00:08:36.000 --> 00:08:36.959 -this div +00:08:39.557 --> 00:08:41.581 +You can use this with-temp-buffer, -00:08:36.959 --> 00:08:40.000 -output here. You +00:08:41.581 --> 00:08:44.240 +so basically creating an imaginary +buffer. -00:08:40.000 --> 00:08:41.760 -can use this with-temp-buffer, so +00:08:44.240 --> 00:08:45.945 +insert is just like typing, -00:08:41.760 --> 00:08:44.240 -basically creating an imaginary buffer. - -00:08:44.240 --> 00:08:46.640 -insert is just like typing, so you put - -00:08:46.640 --> 00:08:48.800 -strings in, you put new lines in, +00:08:45.945 --> 00:08:48.800 +so you put strings in, +you put new lines in, 00:08:48.800 --> 00:08:50.959 you can build some strings together. -00:08:50.959 --> 00:08:52.080 -Here you can see - -00:08:52.080 --> 00:08:54.000 -I'm doing a random number, so every time - -00:08:54.000 --> 00:08:55.360 -I execute this, +00:08:50.959 --> 00:08:53.551 +Here you can see I'm doing a random +number, -00:08:55.360 --> 00:08:57.920 -my content changes. I can generate +00:08:53.551 --> 00:08:55.360 +so every time I execute this, -00:08:57.920 --> 00:09:01.040 -dynamic content in HTML blocks +00:08:55.360 --> 00:08:56.790 +my content changes. -00:09:01.040 --> 00:09:04.399 -with Elisp. For my +00:08:56.790 --> 00:09:03.685 +I can generate dynamic content in HTML +blocks with Elisp. -00:09:04.399 --> 00:09:05.920 -web page builder, It's a little more +00:09:03.685 --> 00:09:06.493 +For my web page builder, it's a little +more complex. -00:09:05.920 --> 00:09:08.000 -complex. I'm pulling data out +00:09:06.493 --> 00:09:08.000 +I'm pulling data out 00:09:08.000 --> 00:09:12.080 using EMMS data structures, 00:09:12.080 --> 00:09:16.080 -so it's pulling that out from the track data. +so it's pulling that out from +the track data. 00:09:16.080 --> 00:09:19.440 And then I'm using some program to @@ -675,50 +615,48 @@ And then I'm using some program to 00:09:19.440 --> 00:09:21.440 generate list elements, so each track is -00:09:21.440 --> 00:09:23.200 -going to have the title +00:09:21.440 --> 00:09:24.086 +going to have the title and +track number, -00:09:23.200 --> 00:09:25.120 -and track number, and then a button for +00:09:24.086 --> 00:09:25.869 +and then a button for playing it, -00:09:25.120 --> 00:09:26.959 -playing it, plus the source +00:09:25.869 --> 00:09:28.206 +plus the source of the audio file, -00:09:26.959 --> 00:09:29.519 -of the audio file, which will get added +00:09:28.206 --> 00:09:30.480 +which will get added here. -00:09:29.519 --> 00:09:30.480 -here. +00:09:30.480 --> 00:09:32.485 +Right now, this is hard coded for Opus, -00:09:30.480 --> 00:09:32.640 -Right now, this is hard coded for Opus, so +00:09:32.485 --> 00:09:37.200 +so it won't work for my MP3s. -00:09:32.640 --> 00:09:37.200 -it won't work for my MP3s. +00:09:37.200 --> 00:09:38.867 +I'm going to skip over snippets. -00:09:37.200 --> 00:09:39.120 -I'm going to skip over snippets. Turns +00:09:38.867 --> 00:09:42.017 +Turns out format strings were good +enough for me. -00:09:39.120 --> 00:09:41.200 -out format strings were good enough +00:09:42.017 --> 00:09:45.035 +Snippets could be useful, -00:09:41.200 --> 00:09:45.519 -for me. Snippets could be useful, but +00:09:45.035 --> 00:09:47.267 +but format is super powerful, -00:09:45.519 --> 00:09:48.160 -format is super powerful, and I didn't +00:09:47.267 --> 00:09:49.839 +and I didn't really even need +all that much power, -00:09:48.160 --> 00:09:49.839 -really even need all that much power, - -00:09:49.839 --> 00:09:51.279 +00:09:49.839 --> 00:09:52.187 basically, just doing string +interpolation. -00:09:51.279 --> 00:09:53.519 -interpolation. So if you haven't seen - -00:09:53.519 --> 00:09:54.560 -format before, +00:09:52.187 --> 00:09:54.560 +So if you haven't seen format before, 00:09:54.560 --> 00:09:56.720 you basically put these control strings @@ -726,37 +664,29 @@ you basically put these control strings 00:09:56.720 --> 00:09:59.120 or control characters inside of a string, -00:09:59.120 --> 00:10:03.120 -and you can generate an +00:09:59.120 --> 00:10:05.040 +and you can generate an output string +that you want. -00:10:03.120 --> 00:10:05.040 -output string that you want. +00:10:05.040 --> 00:10:07.344 +So in my generator code, basically, -00:10:05.040 --> 00:10:07.600 -So in my generator code, basically, it's +00:10:07.344 --> 00:10:08.720 +it's down here, -00:10:07.600 --> 00:10:08.720 -down here, - -00:10:08.720 --> 00:10:10.959 +00:10:08.720 --> 00:10:12.800 I'm calling format with this Bard - -00:10:10.959 --> 00:10:12.800 Bivou(m)acs template, -00:10:12.800 --> 00:10:15.920 -and that's basically a big +00:10:12.800 --> 00:10:17.491 +and that's basically a big string of +HTML. -00:10:15.920 --> 00:10:18.240 -a big string of HTML. It's just +00:10:17.491 --> 00:10:21.200 +It's just my whole page of HTML -00:10:18.240 --> 00:10:21.200 -my whole page of HTML - -00:10:21.200 --> 00:10:22.959 +00:10:21.200 --> 00:10:24.399 with those control characters in just - -00:10:22.959 --> 00:10:24.399 four places. 00:10:24.399 --> 00:10:26.399 @@ -765,41 +695,38 @@ One of them populates the track list. 00:10:26.399 --> 00:10:29.760 That's really the meat of the program. -00:10:29.760 --> 00:10:32.079 +00:10:29.760 --> 00:10:34.746 Again, this is a combination of using +buffer scripting, using HTML mode, -00:10:32.079 --> 00:10:33.440 -buffer scripting, +00:10:34.746 --> 00:10:37.279 +inserting text format strings, -00:10:33.440 --> 00:10:37.279 -using HTML mode, inserting text format strings, +00:10:37.279 --> 00:10:39.251 +and then I can indent-region -00:10:37.279 --> 00:10:40.000 -and then I can indent-region so the HTML - -00:10:40.000 --> 00:10:41.920 -actually looks pretty +00:10:39.251 --> 00:10:41.920 +so the HTML actually looks pretty 00:10:41.920 --> 00:10:45.200 when it comes out of it as well. -00:10:45.200 --> 00:10:50.160 +00:10:45.200 --> 00:10:54.000 I will show that, just really quick - -00:10:50.160 --> 00:10:54.000 actually. -00:10:54.000 --> 00:10:56.880 -So you can see, this is the HTML that got +00:10:54.000 --> 00:10:57.540 +So you can see, this is the HTML that +got generated. -00:10:56.880 --> 00:10:58.800 -generated. I've got my template. +00:10:57.540 --> 00:10:58.800 +I've got my template. -00:10:58.800 --> 00:11:02.560 -I inserted the title here, the style, the +00:10:58.800 --> 00:11:02.193 +I inserted the title here, the style, -00:11:02.560 --> 00:11:05.760 -font was all inserted, +00:11:02.193 --> 00:11:05.760 +the font was all inserted, 00:11:05.760 --> 00:11:07.920 and then this whole list of of tracks here. @@ -810,98 +737,100 @@ It's kind of messy to look at, 00:11:11.200 --> 00:11:14.399 but this track list, this whole div here, -00:11:14.399 --> 00:11:15.920 -is all generated by - -00:11:15.920 --> 00:11:22.480 -my generator code, and it works. It's great. +00:11:14.399 --> 00:11:22.480 +is all generated by my generator code, +and it works. It's great. 00:11:22.480 --> 00:11:27.120 Okay, moving on. -00:11:27.120 --> 00:11:30.240 +00:11:27.120 --> 00:11:30.945 So the other thing was that as I was +developing this, -00:11:30.240 --> 00:11:32.079 -developing this, I decided to use - -00:11:32.079 --> 00:11:33.200 -Org Babel and some of his +00:11:30.945 --> 00:11:32.547 +I decided to use Org Babel -00:11:33.200 --> 00:11:35.360 -its features for multi-language +00:11:32.547 --> 00:11:35.588 +and some of its features for +multi-language things -00:11:35.360 --> 00:11:36.880 -things because I needed to style it with +00:11:35.588 --> 00:11:37.839 +because I needed to style it with CSS -00:11:36.880 --> 00:11:37.839 -CSS and +00:11:37.839 --> 00:11:39.835 +and put actions in Javascript, -00:11:37.839 --> 00:11:40.480 -and put actions in Javascript, and also I - -00:11:40.480 --> 00:11:42.480 -used SVG for authoring stuff. +00:11:39.835 --> 00:11:42.480 +and also I used SVG for authoring stuff. 00:11:42.480 --> 00:11:46.079 It was a little bit complicated. -00:11:46.079 --> 00:11:47.680 -It probably would have been simpler had I +00:11:46.079 --> 00:11:47.484 +It probably would have been simpler + +00:11:47.484 --> 00:11:48.680 +had I not used Org Babel, -00:11:47.680 --> 00:11:49.600 -not used Org Babel, but it's also really +00:11:48.680 --> 00:11:49.894 +but it's also really fun. -00:11:49.600 --> 00:11:51.440 -fun. I think it's a cool, +00:11:49.894 --> 00:11:53.663 +I think it's a cool, cool idea to use +literate programming. -00:11:51.440 --> 00:11:53.839 -cool idea to use literate programming. My +00:11:53.663 --> 00:11:57.001 +My idea was to create HTML +components. -00:11:53.839 --> 00:11:55.839 -idea was to create HTML +00:11:57.001 --> 00:11:59.519 +I could name it like this, -00:11:55.839 --> 00:11:59.519 -components. I could name it like this, +00:11:59.519 --> 00:12:00.959 +put a format string inside it, -00:11:59.519 --> 00:12:01.440 -put a format string inside it, and build +00:12:00.959 --> 00:12:02.800 +and build a function -00:12:01.440 --> 00:12:02.800 -a function +00:12:02.800 --> 00:12:04.302 +in Elisp to format it -00:12:02.800 --> 00:12:05.519 -in Elisp to format it and spit out the +00:12:04.302 --> 00:12:07.120 +and spit out the HTML that I want. -00:12:05.519 --> 00:12:07.120 -HTML that I want. +00:12:07.120 --> 00:12:09.581 +By doing this, then, -00:12:07.120 --> 00:12:10.320 -By doing this, then, I can +00:12:09.581 --> 00:12:12.388 +I can just change things in my Org file, -00:12:10.320 --> 00:12:12.880 -just change things in my Org file which, +00:12:12.388 --> 00:12:14.814 +which, not getting a whole lot of time +to work on it, -00:12:12.880 --> 00:12:14.320 -not getting a whole lot of time to work +00:12:14.814 --> 00:12:16.615 +I can come back to it -00:12:14.320 --> 00:12:16.959 -on it, I can come back to it and +00:12:16.615 --> 00:12:19.335 +and I have a lot of notes. -00:12:16.959 --> 00:12:19.839 -I have a lot of notes. I can +00:12:19.335 --> 00:12:21.695 +I can kind of generate things as I'm +going -00:12:19.839 --> 00:12:21.920 -kind of generate things as I'm going and +00:12:21.695 --> 00:12:24.399 +and keep notes for myself, +and keep the... -00:12:21.920 --> 00:12:24.399 -keep notes for myself, and keep the... +00:12:24.399 --> 00:12:25.308 +I don't know. It's cool. -00:12:24.399 --> 00:12:25.600 -I don't know. It's cool. Literate +00:12:25.308 --> 00:12:26.672 +Literate programming is fun. -00:12:25.600 --> 00:12:27.519 -programming is fun. So I don't need to +00:12:26.672 --> 00:12:27.519 +So I don't need to 00:12:27.519 --> 00:12:29.279 go into that too much, but you can see if @@ -909,41 +838,42 @@ go into that too much, but you can see if 00:12:29.279 --> 00:12:31.040 I execute this here, -00:12:31.040 --> 00:12:33.360 -I get the the div that I want. It's a +00:12:31.040 --> 00:12:32.983 +I get the the div that I want. -00:12:33.360 --> 00:12:34.880 -little bit funny. You'll see I have the +00:12:32.983 --> 00:12:34.013 +It's a little bit funny. -00:12:34.880 --> 00:12:36.480 -string like this, the way that +00:12:34.013 --> 00:12:35.786 +You'll see I have the string like this, -00:12:36.480 --> 00:12:39.200 -noweb expands, I can't do this on a - -00:12:39.200 --> 00:12:40.000 -single line. +00:12:35.786 --> 00:12:40.000 +the way that noweb expands, I can't do +this on a single line. 00:12:40.000 --> 00:12:43.839 It looks funny when you do that, -00:12:43.839 --> 00:12:45.440 -so that might be something to work out +00:12:43.839 --> 00:12:45.931 +so that might be something +to work out later. -00:12:45.440 --> 00:12:48.959 -later. CSS blocks can either be tangled out +00:12:45.931 --> 00:12:48.959 +CSS blocks can either be tangled out 00:12:48.959 --> 00:12:52.639 -and referenced in the HTML source or inlined. +and referenced in the HTML source, +or inlined. 00:12:52.639 --> 00:12:54.639 Here's an example I have of inlining it. -00:12:54.639 --> 00:12:56.959 -So I've got my little CSS block named +00:12:54.639 --> 00:12:57.609 +So I've got my little CSS block +named style, -00:12:56.959 --> 00:13:00.320 -style, Javascript named script, +00:12:57.609 --> 00:13:00.320 +Javascript named script, 00:13:00.320 --> 00:13:03.040 and then I've got this HTML source block @@ -954,20 +884,23 @@ with noweb expansion. 00:13:04.839 --> 00:13:07.920 These double angle brackets here -00:13:07.920 --> 00:13:09.839 -are where I'm going to expand the block +00:13:07.920 --> 00:13:09.396 +are where I'm going to expand -00:13:09.839 --> 00:13:12.639 -named style. I'm actually calling a function, +00:13:09.396 --> 00:13:12.639 +the block named style. I'm actually +calling a function, -00:13:12.639 --> 00:13:14.399 -so I want the result of the function +00:13:12.639 --> 00:13:14.737 +so I want the result of the +function here, -00:13:14.399 --> 00:13:17.040 -here, and then the script will just get +00:13:14.737 --> 00:13:18.881 +and then the script will just get +expanded here. -00:13:17.040 --> 00:13:22.959 -expanded here. So org-babel-expand-src-block, +00:13:18.881 --> 00:13:22.959 +So org-babel-expand-src-block, 00:13:22.959 --> 00:13:25.360 you can see what it looks like. @@ -975,50 +908,45 @@ you can see what it looks like. 00:13:25.360 --> 00:13:28.160 I've got my style here. I've got my title. -00:13:28.160 --> 00:13:29.920 -I've got that main content class - -00:13:29.920 --> 00:13:31.279 -I showed before, +00:13:28.160 --> 00:13:31.279 +I've got that main content class I +showed before, 00:13:31.279 --> 00:13:34.480 -and the script as well. So that's kind of cool. +and the script as well. +So that's kind of cool. -00:13:34.480 --> 00:13:36.320 +00:13:34.480 --> 00:13:37.527 I could just run org-babel-tangle and +get my thing out -00:13:36.320 --> 00:13:38.160 -get my thing out and just - -00:13:38.160 --> 00:13:40.480 -edit one file instead of multiple files. - -00:13:40.480 --> 00:13:41.600 -Not for everyone, +00:13:37.527 --> 00:13:40.480 +and just edit one file instead of +multiple files. -00:13:41.600 --> 00:13:45.839 -but I thought it was kind of fun. +00:13:40.480 --> 00:13:46.455 +Not for everyone, but I thought it was +kind of fun. All right. -00:13:45.839 --> 00:13:47.760 -All right. Oh, and the final thing is that +00:13:46.455 --> 00:13:48.807 +Oh, and the final thing is +that in Emacs, -00:13:47.760 --> 00:13:49.199 -in Emacs, you can +00:13:48.807 --> 00:13:51.320 +you can author and view SVG. -00:13:49.199 --> 00:13:52.880 -author and view SVG. So this is just an +00:13:51.320 --> 00:13:58.297 +So this is just an Org. This SVG, I used +to make the play and pause buttons. -00:13:52.880 --> 00:13:57.199 -Org. This SVG, I used to make the play +00:13:58.297 --> 00:13:59.519 +I didn't know this, -00:13:57.199 --> 00:13:59.519 -and pause buttons. I didn't know this, +00:13:59.519 --> 00:14:02.162 +but if you edit an SVG file, -00:13:59.519 --> 00:14:02.800 -but if you edit an SVG file, you can - -00:14:02.800 --> 00:14:08.800 -toggle back and forth +00:14:02.162 --> 00:14:08.800 +you can toggle back and forth 00:14:08.800 --> 00:14:13.199 between the code and the image. @@ -1026,107 +954,102 @@ between the code and the image. 00:14:13.199 --> 00:14:17.360 It's pretty sweet. So I can iteratively -00:14:17.360 --> 00:14:19.680 -work through this because of how - -00:14:19.680 --> 00:14:20.560 -Emacs is. +00:14:17.360 --> 00:14:20.560 +work through this +because of how Emacs is. 00:14:20.560 --> 00:14:24.959 Final considerations here, -00:14:24.959 --> 00:14:27.360 -like when doing this, I want it to be all +00:14:24.959 --> 00:14:26.247 +like when doing this, -00:14:27.360 --> 00:14:29.279 -free, so I want to use fonts that use a +00:14:26.247 --> 00:14:27.606 +I want it to be all free, -00:14:29.279 --> 00:14:30.079 -free license. +00:14:27.606 --> 00:14:30.079 +so I want to use fonts that use a free +license. 00:14:30.079 --> 00:14:32.800 I found GNU Unifont. It's kind of cool. -00:14:32.800 --> 00:14:34.800 -The content license... I chose +00:14:32.800 --> 00:14:34.333 +The content license... -00:14:34.800 --> 00:14:37.600 -Creative Commons Attribution ShareAlike, +00:14:34.333 --> 00:14:37.600 +I chose Creative Commons Attribution +ShareAlike, 00:14:37.600 --> 00:14:39.920 which is kind of like the GPL. -00:14:39.920 --> 00:14:42.880 -Ideally, I could serve it with Emacs. I'd +00:14:39.920 --> 00:14:42.663 +Ideally, I could serve it with Emacs. -00:14:42.880 --> 00:14:44.800 -like to remove idiosyncrasy so other - -00:14:44.800 --> 00:14:46.320 +00:14:42.663 --> 00:14:46.320 +I'd like to remove idiosyncrasy so other people can use it. 00:14:46.320 --> 00:14:48.720 It's pretty much just my tool right now. -00:14:48.720 --> 00:14:51.040 -Not requiring the web browser... I can - -00:14:51.040 --> 00:14:54.079 -ship playlists so that you can just +00:14:48.720 --> 00:14:50.734 +Not requiring the web browser... -00:14:54.079 --> 00:14:58.000 -click or link to a playlist on your favorite +00:14:50.734 --> 00:14:56.648 +I can ship playlists so that you can +just click or link to a playlist -00:14:58.000 --> 00:15:00.639 -player, even EMMS if you want, and then +00:14:56.648 --> 00:15:00.068 +on your favorite player, even EMMS if +you want, -00:15:00.639 --> 00:15:02.639 -packing up those albums in like a ZIP or - -00:15:02.639 --> 00:15:04.320 -.tar file. +00:15:00.068 --> 00:15:04.320 +and then packing up those albums in like +a ZIP or .tar file. 00:15:04.320 --> 00:15:08.639 So you can go to churls.world . -00:15:08.639 --> 00:15:10.880 -It just has a link to this album. I'll +00:15:08.639 --> 00:15:10.644 +It just has a link to this album. -00:15:10.880 --> 00:15:14.000 -display it here in just a second. +00:15:10.644 --> 00:15:14.000 +I'll display it here in just a second. 00:15:14.000 --> 00:15:17.519 You can contact me. I'm shoshin on #emacs 00:15:17.519 --> 00:15:21.040 -in IRC and on sourcehut. You can email me +in IRC and on sourcehut. You can email me: 00:15:21.040 --> 00:15:23.680 grant@churls.world, personal, or 00:15:23.680 --> 00:15:26.800 -grant@unabridgedsoftware.com. All right, now. +grant@unabridgedsoftware.com. +All right, now. 00:15:26.800 --> 00:15:32.079 Let's see about this... -00:15:32.079 --> 00:15:33.680 -This is up online, so if you want to - -00:15:33.680 --> 00:15:35.120 -listen to my +00:15:32.079 --> 00:15:34.316 +This is up online, so if you +want to listen -00:15:35.120 --> 00:15:39.199 -college band's album from 20 years ago, +00:15:34.316 --> 00:15:39.199 +to my college band's album from +20 years ago, 00:15:39.199 --> 00:15:43.040 here it is: Cassiopeia Basement Days. -00:15:43.040 --> 00:15:47.680 -Whoops. I made this art in Krita. You can +00:15:43.040 --> 00:15:46.887 +Whoops. I made this art in Krita. -00:15:47.680 --> 00:15:51.199 -press play. You can skip around. +00:15:46.887 --> 00:15:51.199 +You can press play. You can skip around. 00:15:51.199 --> 00:15:55.040 I do have the playlist up here too. @@ -1134,8 +1057,6 @@ I do have the playlist up here too. 00:15:55.040 --> 00:15:58.560 So yeah, thanks for listening. -00:15:58.560 --> 00:16:00.880 -I hope you enjoyed it, and enjoy the rest - -00:16:00.880 --> 00:16:07.360 -of EmacsConf. Goodbye! +00:15:58.560 --> 00:16:07.360 +I hope you enjoyed it, and enjoy the +rest of EmacsConf. Goodbye! diff --git a/2020/subtitles/emacsconf-2020--05-bard-bivoumacs-building-a-bandcamp-like-page-for-an-album-of-music--questions--grant-shangreaux.vtt b/2020/subtitles/emacsconf-2020--05-bard-bivoumacs-building-a-bandcamp-like-page-for-an-album-of-music--questions--grant-shangreaux.vtt index e5dfd2f7..4d7bfede 100644 --- a/2020/subtitles/emacsconf-2020--05-bard-bivoumacs-building-a-bandcamp-like-page-for-an-album-of-music--questions--grant-shangreaux.vtt +++ b/2020/subtitles/emacsconf-2020--05-bard-bivoumacs-building-a-bandcamp-like-page-for-an-album-of-music--questions--grant-shangreaux.vtt @@ -1,25 +1,18 @@ WEBVTT -00:00:03.360 --> 00:00:05.359 +00:00:03.360 --> 00:00:07.440 So first question, what does - -00:00:05.359 --> 00:00:07.440 Bard Bivou(m)acs mean? Good question. -00:00:07.440 --> 00:00:09.679 +00:00:07.440 --> 00:00:10.800 In one version of my talk, I spent too - -00:00:09.679 --> 00:00:10.800 long explaining it, 00:00:10.800 --> 00:00:14.559 and decided to cut it out. -00:00:14.559 --> 00:00:17.920 -It's basically a bad pun on - -00:00:17.920 --> 00:00:20.960 -band camp. +00:00:14.559 --> 00:00:20.960 +It's basically a bad pun on band camp. 00:00:20.960 --> 00:00:22.480 A bivouac--I don't even know if I'm @@ -45,50 +38,44 @@ I'll probably find a different name for 00:00:42.879 --> 00:00:45.039 it but I liked that "bivoaucs," -00:00:45.039 --> 00:00:47.520 +00:00:45.039 --> 00:00:48.719 if you stick an m in there, it becomes - -00:00:47.520 --> 00:00:48.719 Bivou(m)acs. -00:00:48.719 --> 00:00:56.239 +00:00:48.719 --> 00:01:00.160 It's kind of like editor macros for - -00:00:56.239 --> 00:01:00.160 generating some HTML. -00:01:00.160 --> 00:01:04.000 -Yes, it is confusing, chatting on IRC - -00:01:04.000 --> 00:01:05.920 -at the same time. +00:01:00.160 --> 00:01:07.782 +Yes, it is confusing, chatting on IRC at +the same time. Great question. -00:01:05.920 --> 00:01:09.520 -Great question. (Amin: Grant, +00:01:07.782 --> 00:01:11.398 +(Amin: Grant, so right now, you're +sharing your screen. -00:01:09.520 --> 00:01:10.880 -so right now, you're sharing your +00:01:11.398 --> 00:01:14.479 +Are you planning on showing something +with it, or for example, -00:01:10.880 --> 00:01:12.880 -screen. Are you planning on +00:01:14.479 --> 00:01:16.036 +should I maximize you?) -00:01:12.880 --> 00:01:14.479 -showing something with it, or for example, - -00:01:14.479 --> 00:01:16.880 -should I maximize you?) I don't know. +00:01:16.036 --> 00:01:20.400 +I don't know. I can turn it off for now. +Okay. -00:01:16.880 --> 00:01:20.400 -I can turn it off for now. Okay. +00:01:20.400 --> 00:01:22.299 +(Amin: You can turn on the webcam.) -00:01:20.400 --> 00:01:22.880 -(Amin: You can turn on the webcam.) Yeah, okay. +00:01:22.299 --> 00:01:22.880 +Yeah, okay. -00:01:22.880 --> 00:01:24.240 -(Amin: I'll maximize your +00:01:22.880 --> 00:01:25.694 +(Amin: I'll maximize your webcam.) -00:01:24.240 --> 00:01:28.240 -webcam.) Okay, thanks. +00:01:25.694 --> 00:01:28.240 +Okay, thanks. 00:01:28.240 --> 00:01:30.000 I'll get to the answer for my color @@ -96,14 +83,11 @@ I'll get to the answer for my color 00:01:30.000 --> 00:01:31.360 theme here in a bit in IRC. -00:01:31.360 --> 00:01:34.640 -Next question on +00:01:31.360 --> 00:01:35.105 +Next question on the Etherpad, -00:01:34.640 --> 00:01:37.280 -the Etherpad, does this metadata - -00:01:37.280 --> 00:01:38.479 -workflow also support +00:01:35.105 --> 00:01:38.479 +does this metadata workflow also support 00:01:38.479 --> 00:01:41.360 unsynchronized lyrics within ID3 tags, @@ -129,20 +113,17 @@ figure out how to do mass tag editing. 00:01:55.360 --> 00:01:56.399 And that was like... -00:01:56.399 --> 00:01:58.479 +00:01:56.399 --> 00:01:59.600 It wasn't very intuitive, like I said, - -00:01:58.479 --> 00:01:59.600 with EMMS. -00:01:59.600 --> 00:02:01.840 +00:01:59.600 --> 00:02:03.040 I think EMMS is really great, but its - -00:02:01.840 --> 00:02:03.040 interface is huge. 00:02:03.040 --> 00:02:07.040 -like if you do M-x and type emms, you get +like if you do M-x and type emms, +you get, 00:02:07.040 --> 00:02:10.160 I don't know, 270-some candidates. @@ -150,92 +131,72 @@ I don't know, 270-some candidates. 00:02:10.160 --> 00:02:13.200 There's a lot of functions going on. -00:02:13.200 --> 00:02:14.319 -I basically found the - -00:02:14.319 --> 00:02:16.319 -features that I needed to get this +00:02:13.200 --> 00:02:18.879 +I basically found the features that I +needed to get this workflow working. -00:02:16.319 --> 00:02:18.879 -workflow working. - -00:02:18.879 --> 00:02:21.040 +00:02:18.879 --> 00:02:22.160 I would guess that you probably can do - -00:02:21.040 --> 00:02:22.160 it, and if you don't, -00:02:22.160 --> 00:02:24.080 -if you can't do it out of the box, I +00:02:22.160 --> 00:02:24.026 +if you can't do it out of the box, -00:02:24.080 --> 00:02:28.160 -think you could script EMMS to do that. +00:02:24.026 --> 00:02:28.160 +I think you could script EMMS +to do that. -00:02:28.160 --> 00:02:29.840 +00:02:28.160 --> 00:02:33.268 I'd like to know more, and I'm certainly +going to be investigating it. -00:02:29.840 --> 00:02:31.840 -going to be - -00:02:31.840 --> 00:02:35.200 -investigating it. I will try and post my - -00:02:35.200 --> 00:02:39.519 -findings somewhere online. +00:02:33.268 --> 00:02:39.519 +I will try and post my findings +somewhere online. 00:02:39.519 --> 00:02:42.080 Is it possible to import batch metadata? -00:02:42.080 --> 00:02:43.920 -I'm not sure. I would guess +00:02:42.080 --> 00:02:46.496 +I'm not sure. I would guess yes is the +answer. -00:02:43.920 --> 00:02:49.360 -yes is the answer. EMMS can connect to +00:02:46.496 --> 00:02:50.712 +EMMS can connect to metadata services. -00:02:49.360 --> 00:02:51.840 -metadata services. I haven't done - -00:02:51.840 --> 00:02:53.040 -that because I was just +00:02:50.712 --> 00:02:53.040 +I haven't done that because I was just 00:02:53.040 --> 00:02:56.959 using audio files that I created myself. -00:02:56.959 --> 00:03:00.400 -I know that on the back end, it calls out to - -00:03:00.400 --> 00:03:02.319 -shell programs for tagging things. +00:02:56.959 --> 00:03:00.165 +I know that on the back end, it calls out -00:03:02.319 --> 00:03:04.560 -there's a lot of different options that can +00:03:00.165 --> 00:03:02.319 +to shell programs for tagging things. -00:03:04.560 --> 00:03:08.000 -shell out too. I was using the +00:03:02.319 --> 00:03:06.165 +There's a lot of different options that can +shell out too. -00:03:08.000 --> 00:03:10.319 -the vorbis tools to tag the particular +00:03:06.165 --> 00:03:12.239 +I was using the vorbis tools to tag the +particular files I was working with. -00:03:10.319 --> 00:03:12.239 -files I was working with. - -00:03:12.239 --> 00:03:15.120 +00:03:12.239 --> 00:03:15.840 You can also use tiny tag, and there's - -00:03:15.120 --> 00:03:15.840 some other... -00:03:15.840 --> 00:03:17.840 -That might be the python library. I can't +00:03:15.840 --> 00:03:17.498 +That might be the python library. -00:03:17.840 --> 00:03:19.120 -remember. There's two other libraries +00:03:17.498 --> 00:03:20.971 +I can't remember. There's two other +libraries that I can shell out to -00:03:19.120 --> 00:03:21.120 -that I can shell out to for - -00:03:21.120 --> 00:03:24.400 -doing metadata. +00:03:20.971 --> 00:03:24.400 +for doing metadata. 00:03:24.400 --> 00:03:26.400 My current workflow for tagging music is @@ -243,29 +204,27 @@ My current workflow for tagging music is 00:03:26.400 --> 00:03:29.040 to first apply replay gain in fubar 2000, -00:03:29.040 --> 00:03:32.159 -fix egregious mistakes, use beats to - -00:03:32.159 --> 00:03:34.560 -apply metadata from music brains, +00:03:29.040 --> 00:03:31.119 +fix egregious mistakes, -00:03:34.560 --> 00:03:36.640 -or discogs, go over remaining albums with +00:03:31.119 --> 00:03:35.118 +use beats to apply metadata from music +brains or discogs, -00:03:36.640 --> 00:03:38.400 -fubar 2000 again. +00:03:35.118 --> 00:03:38.400 +go over remaining albums with fubar 2000 +again. -00:03:38.400 --> 00:03:40.080 -Is there a chance textual tagging could +00:03:38.400 --> 00:03:43.280 +Is there a chance textual tagging +could allow doing it all in one program? -00:03:40.080 --> 00:03:43.280 -allow doing it all in one program? - -00:03:43.280 --> 00:03:45.120 +00:03:43.280 --> 00:03:46.400 Have I experimented with mass tag +update queries? -00:03:45.120 --> 00:03:47.280 -update queries? I have not. +00:03:46.400 --> 00:03:47.280 +I have not. 00:03:47.280 --> 00:03:49.120 Again, I was just doing this workflow, @@ -276,11 +235,11 @@ taking raw files with no tags and doing that. 00:03:54.799 --> 00:03:58.159 I believe because it calls out to -00:03:58.159 --> 00:04:01.519 -the programs in the back end, I'm sure +00:03:58.159 --> 00:04:00.811 +the programs in the back end, -00:04:01.519 --> 00:04:03.040 -you could work that out. +00:04:00.811 --> 00:04:03.040 +I'm sure you could work that out. 00:04:03.040 --> 00:04:06.159 I think EMMS would benefit from @@ -294,11 +253,11 @@ we work with text, and being able 00:04:11.280 --> 00:04:14.000 to use Emacs as a front end for those -00:04:14.000 --> 00:04:16.799 -updates would be really fantastic. So +00:04:14.000 --> 00:04:16.647 +updates would be really fantastic. -00:04:16.799 --> 00:04:18.560 -really, it's just a matter of +00:04:16.647 --> 00:04:18.560 +So really, it's just a matter of 00:04:18.560 --> 00:04:22.720 writing the interface to the external tool. @@ -306,59 +265,54 @@ writing the interface to the external tool. 00:04:22.720 --> 00:04:24.560 Is there a link to some info expanding -00:04:24.560 --> 00:04:26.840 +00:04:24.560 --> 00:04:28.479 philosophy of how to compensate - -00:04:26.840 --> 00:04:28.479 musicians? 00:04:28.479 --> 00:04:31.199 No, I don't really have a lot of -00:04:31.199 --> 00:04:32.720 -philosophy around that. I guess the first +00:04:31.199 --> 00:04:32.052 +philosophy around that. -00:04:32.720 --> 00:04:33.919 -thing I could say would be +00:04:32.052 --> 00:04:33.919 +I guess the first thing +I could say would be -00:04:33.919 --> 00:04:36.800 -something like a universal income. I feel +00:04:33.919 --> 00:04:36.378 +something like a universal income. -00:04:36.800 --> 00:04:38.960 -like that would solve a lot of problems, +00:04:36.378 --> 00:04:38.960 +I feel like that would solve +a lot of problems, -00:04:38.960 --> 00:04:42.000 -if musicians could just be musicians and +00:04:38.960 --> 00:04:41.772 +if musicians could just be musicians -00:04:42.000 --> 00:04:45.199 -not have to worry about their pay. I will +00:04:41.772 --> 00:04:44.742 +and not have to worry about their pay. -00:04:45.199 --> 00:04:46.240 -think about it more. +00:04:44.742 --> 00:04:46.240 +I will think about it more. -00:04:46.240 --> 00:04:48.720 -This is one of my first +00:04:46.240 --> 00:04:52.015 +This is one of my first forays into +getting public with some of these ideas, -00:04:48.720 --> 00:04:50.160 -forays into getting +00:04:52.015 --> 00:04:53.360 +so I will try to do more -00:04:50.160 --> 00:04:52.240 -public with some of these ideas, so I +00:04:53.360 --> 00:04:55.187 +and let the community know. -00:04:52.240 --> 00:04:53.360 -will try to do more - -00:04:53.360 --> 00:04:55.840 -and let the community know. What Emacs - -00:04:55.840 --> 00:04:57.199 -theme am I using? +00:04:55.187 --> 00:04:57.199 +What Emacs theme am I using? 00:04:57.199 --> 00:05:02.240 Can't remember. It's one of the Kaolin themes. 00:05:02.240 --> 00:05:05.680 -I think it was Aurora or +I think it was Aurora 00:05:05.680 --> 00:05:09.120 or Bubble Gum, maybe, but the @@ -369,35 +323,26 @@ Kaolin themes are nice. I recommend them. 00:05:12.880 --> 00:05:16.000 Not using Doom Emacs, Doom mode line though. -00:05:16.000 --> 00:05:18.880 -It's very pretty. SVG support built into +00:05:16.000 --> 00:05:17.296 +It's very pretty. -00:05:18.880 --> 00:05:20.080 -Emacs? +00:05:17.296 --> 00:05:20.080 +SVG support built into Emacs? -00:05:20.080 --> 00:05:23.600 -I'm using Emacs 27.1, and yes, SVG support +00:05:20.080 --> 00:05:25.520 +I'm using Emacs 27.1, and yes, SVG +support is built in. -00:05:23.600 --> 00:05:25.520 -is built in. - -00:05:25.520 --> 00:05:28.800 +00:05:25.520 --> 00:05:30.639 I may have had to compile it with some - -00:05:28.800 --> 00:05:30.639 Cairo support. 00:05:30.639 --> 00:05:33.840 I don't remember for sure. -00:05:33.840 --> 00:05:36.720 -But yes, you can even take screenshots of - -00:05:36.720 --> 00:05:38.080 -your Emacs - -00:05:38.080 --> 00:05:41.199 -from within Emacs in SVG. +00:05:33.840 --> 00:05:41.199 +But yes, you can even take screenshots +of your Emacs from within Emacs, in SVG. 00:05:41.199 --> 00:05:44.320 It's pretty great. @@ -429,62 +374,48 @@ I'll start looking through IRC. 00:06:05.440 --> 00:06:09.680 (Amin: And keep an eye on the pad too.) -00:06:09.680 --> 00:06:13.440 -Thank you all for listening and for - -00:06:13.440 --> 00:06:19.440 -enjoying the talk. I'm glad it turned out well. - -00:06:19.440 --> 00:06:22.800 -Awesome. Yeah, it's been fun +00:06:09.680 --> 00:06:12.688 +Thank you all for listening -00:06:22.800 --> 00:06:36.000 -so far. +00:06:12.688 --> 00:06:19.440 +and for enjoying the talk. I'm glad it +turned out well. -00:06:36.000 --> 00:06:39.199 -How did I manage? I can post a +00:06:19.440 --> 00:06:36.000 +Awesome. Yeah, it's been fun so far. -00:06:39.199 --> 00:06:41.120 -snippet of that, or actually I can share +00:06:36.000 --> 00:06:40.015 +How did I manage? I can post +a snippet of that, -00:06:41.120 --> 00:06:46.319 -my screen, can't I... +00:06:40.015 --> 00:06:46.319 +or actually I can share my screen, +can't I... 00:06:46.319 --> 00:06:49.599 Okay. I actually have it up right here. -00:06:49.599 --> 00:06:51.840 +00:06:49.599 --> 00:06:53.440 So I think I got this from alphapapa, to - -00:06:51.840 --> 00:06:53.440 be honest. 00:06:53.440 --> 00:07:00.960 I define screenshot-svg. -00:07:00.960 --> 00:07:03.680 +00:07:00.960 --> 00:07:04.960 It's an interactive command. Oh yeah, - -00:07:03.680 --> 00:07:04.960 there's alphapapa. 00:07:04.960 --> 00:07:08.560 Okay, there we go. -00:07:08.560 --> 00:07:10.639 +00:07:08.560 --> 00:07:13.249 I would like to change this so that I +can get it into the copy-paste buffer -00:07:10.639 --> 00:07:11.599 -can get it into - -00:07:11.599 --> 00:07:14.000 -the copy-paste buffer so I don't - -00:07:14.000 --> 00:07:17.039 -have to copy the file in, but I haven't really - -00:07:17.039 --> 00:07:20.560 -hacked on it yet. +00:07:13.249 --> 00:07:20.560 +so I don't have to copy the file in, but +I haven't really hacked on it yet. 00:07:20.560 --> 00:07:24.400 Okay, org heading colors. @@ -510,11 +441,11 @@ So the presentation is just a 00:07:45.120 --> 00:07:48.960 normal org file, right, so I have my headers, -00:07:48.960 --> 00:07:50.639 -and the author--you can even stick your +00:07:48.960 --> 00:07:50.466 +and the author--you can even stick -00:07:50.639 --> 00:07:52.560 -email and other headers in there. +00:07:50.466 --> 00:07:52.560 +your email and other headers in there. 00:07:52.560 --> 00:07:57.599 But there's a package called org-tree-slide. @@ -522,14 +453,15 @@ But there's a package called org-tree-slide. 00:07:57.599 --> 00:08:01.440 Whoops, why is it not... -00:08:01.440 --> 00:08:03.919 -I must have not required it. Good +00:08:01.440 --> 00:08:03.618 +I must have not required it. -00:08:03.919 --> 00:08:05.440 -question. (Amin: Grant, +00:08:03.618 --> 00:08:04.594 +Good question. -00:08:05.440 --> 00:08:09.599 -can you try sharing your screen maybe?) +00:08:04.594 --> 00:08:09.599 +(Amin: Grant, can you try sharing your +screen maybe?) 00:08:09.599 --> 00:08:13.199 Oh, is it not shared? I'm sorry. @@ -543,14 +475,9 @@ There we go, should be coming up. 00:08:22.000 --> 00:08:26.720 (Amin: It's coming up. Yep, we see it.) -00:08:26.720 --> 00:08:33.919 -Awesome. - -00:08:33.919 --> 00:08:37.599 -All right. Okay. I don't know why this - -00:08:37.599 --> 00:08:38.800 -isn't working. +00:08:26.720 --> 00:08:38.800 +Awesome. All right. Okay. I don't know +why this isn't working. 00:08:38.800 --> 00:08:56.080 It was working. @@ -567,47 +494,38 @@ So, org-tree-slide. 00:09:09.760 --> 00:09:12.800 I don't know why it's not launching. -00:09:12.800 --> 00:09:14.480 +00:09:12.800 --> 00:09:16.000 I thought that I had required it, but I - -00:09:14.480 --> 00:09:16.000 must not have. -00:09:16.000 --> 00:09:26.959 -Maybe I'll try. +00:09:16.000 --> 00:09:30.959 +Maybe I'll try. Okay. -00:09:26.959 --> 00:09:30.959 -Okay. - -00:09:30.959 --> 00:09:33.040 +00:09:30.959 --> 00:09:34.560 So there we go. So org-tree-slide is a - -00:09:33.040 --> 00:09:34.560 way that basically uses 00:09:34.560 --> 00:09:38.880 narrowing and some kind of font tricks to... -00:09:38.880 --> 00:09:41.680 -it changes your titles or your - -00:09:41.680 --> 00:09:42.640 -metadata into +00:09:38.880 --> 00:09:42.640 +it changes your titles +or your metadata into 00:09:42.640 --> 00:09:44.560 this banner for the title here, 00:09:44.560 --> 00:09:46.560 -and it automatically sets the faces for you. +and it automatically sets the +faces for you. -00:09:46.560 --> 00:09:51.360 -You can customize that, of course. And then, as you +00:09:46.560 --> 00:09:53.938 +You can customize that, of course. And +then, as you go through the Org file, -00:09:51.360 --> 00:09:55.279 -go through the Org file, you get these - -00:09:55.279 --> 00:09:59.600 -kind of nice animations and-- +00:09:53.938 --> 00:09:59.600 +you get these kind of nice animations +and-- 00:09:59.600 --> 00:10:04.160 what's it called--breadcrumbs up at the top. @@ -615,29 +533,20 @@ what's it called--breadcrumbs up at the top. 00:10:04.160 --> 00:10:06.399 So org-tree-slide. I highly recommend it. -00:10:06.399 --> 00:10:07.920 +00:10:06.399 --> 00:10:10.024 It's really nice because you can give +your presentation and practice it, -00:10:07.920 --> 00:10:09.600 -your presentation - -00:10:09.600 --> 00:10:10.880 -and practice it, and while you're - -00:10:10.880 --> 00:10:12.560 -practicing it, you can edit things as well, - -00:10:12.560 --> 00:10:13.760 -because it's still just +00:10:10.024 --> 00:10:12.560 +and while you're practicing it, you can +edit things as well, -00:10:13.760 --> 00:10:16.160 -an Org document using narrowing, you know. +00:10:12.560 --> 00:10:16.160 +because it's still just an Org document +using narrowing, you know. -00:10:16.160 --> 00:10:16.880 -It doesn't - -00:10:16.880 --> 00:10:20.079 -actually change anything. +00:10:16.160 --> 00:10:20.079 +It doesn't actually change anything. 00:10:20.079 --> 00:10:24.079 Definitely recommend org-tree-slide mode. @@ -654,34 +563,27 @@ Let's see. 00:10:39.519 --> 00:10:41.279 Okay, so I don't know if you can see this now, -00:10:41.279 --> 00:10:43.839 +00:10:41.279 --> 00:10:49.360 but I'm actually viewing the SVG - -00:10:43.839 --> 00:10:49.360 screenshot that I took with Emacs. -00:10:49.360 --> 00:10:51.920 +00:10:49.360 --> 00:10:52.720 See here's the source of it. So Emacs - -00:10:51.920 --> 00:10:52.720 made that. 00:10:52.720 --> 00:10:58.160 And here's the image. -00:10:58.160 --> 00:10:59.600 +00:10:58.160 --> 00:11:01.570 It's cool because you can even do it +again and again, -00:10:59.600 --> 00:11:01.760 -again and again, and - -00:11:01.760 --> 00:11:05.360 -open more screenshots of screenshots. +00:11:01.570 --> 00:11:05.360 +and open more screenshots of +screenshots. -00:11:05.360 --> 00:11:11.200 +00:11:05.360 --> 00:11:14.880 Yeah, definitely Emacsception. - -00:11:11.200 --> 00:11:14.880 Fun stuff. 00:11:14.880 --> 00:11:18.079 @@ -693,29 +595,28 @@ Heading colors? Oh, yeah. I talked about the 00:11:20.160 --> 00:11:24.800 themes. This is another Kaolin theme. -00:11:24.800 --> 00:11:30.560 +00:11:24.800 --> 00:11:34.959 I think the one in the talk was - -00:11:30.560 --> 00:11:34.959 maybe this one, Aurora. 00:11:34.959 --> 00:11:36.560 Oh, here, there's something funny when -00:11:36.560 --> 00:11:38.079 -you start org-tree-slide with a +00:11:36.560 --> 00:11:37.785 +you start org-tree-slide -00:11:38.079 --> 00:11:38.880 -different theme. +00:11:37.785 --> 00:11:38.880 +with a different theme. -00:11:38.880 --> 00:11:42.160 -This top header bar gets the faces from +00:11:38.880 --> 00:11:41.823 +This top header bar gets the faces -00:11:42.160 --> 00:11:44.000 -that previous theme. I have not +00:11:41.823 --> 00:11:43.395 +from that previous theme. -00:11:44.000 --> 00:11:47.760 -figured out how to fix that yet. +00:11:43.395 --> 00:11:47.760 +I have not figured out how to +fix that yet. 00:11:47.760 --> 00:11:49.200 Did I have to compile to get the @@ -729,11 +630,12 @@ Yes, if I'm remembering correctly. 00:11:54.480 --> 00:11:58.399 I got Emacs 27. I'm not on a Mac. -00:11:58.399 --> 00:12:02.079 -I saw alphapapa's comment on reddit, and then +00:11:58.399 --> 00:12:01.424 +I saw alphapapa's comment on reddit, -00:12:02.079 --> 00:12:08.839 -I recompiled it with Cairo support. +00:12:01.424 --> 00:12:08.839 +and then I recompiled it with Cairo +support. 00:12:08.839 --> 00:12:18.000 Yes. @@ -744,70 +646,56 @@ Okay, lots of good conversation on here. 00:12:21.920 --> 00:12:25.839 Yep, I have like one or two more minutes. -00:12:25.839 --> 00:12:31.680 -Okay - -00:12:31.680 --> 00:12:34.240 -I guess while I'm here, I might as - -00:12:34.240 --> 00:12:35.519 -well say thank you to +00:12:25.839 --> 00:12:34.240 +Okay. I guess while I'm here, I might as -00:12:35.519 --> 00:12:38.959 -the organizers. I really appreciate +00:12:34.240 --> 00:12:36.993 +well say thank you to the organizers. -00:12:38.959 --> 00:12:40.320 -everybody's work on this. +00:12:36.993 --> 00:12:40.320 +I really appreciate everybody's +work on this. 00:12:40.320 --> 00:12:42.720 It's fun to be a part of this community. -00:12:42.720 --> 00:12:45.279 +00:12:42.720 --> 00:12:45.929 I'm enjoying the other talks I've seen +so far today, -00:12:45.279 --> 00:12:47.279 -so far today, and I'm looking forward to - -00:12:47.279 --> 00:12:48.560 +00:12:45.929 --> 00:12:48.560 +and I'm looking forward to to the rest. -00:12:48.560 --> 00:12:50.480 -It's really interesting, just from - -00:12:50.480 --> 00:12:52.720 -being on Emacs in IRC +00:12:48.560 --> 00:12:53.570 +It's really interesting, just from being +on Emacs in IRC for a few months, -00:12:52.720 --> 00:12:54.720 -for a few months, I've already connected +00:12:53.570 --> 00:12:54.720 +I've already connected 00:12:54.720 --> 00:12:56.959 with a lot of interesting people -00:12:56.959 --> 00:13:00.720 +00:12:56.959 --> 00:13:04.079 and have a lot of cool connections - -00:13:00.720 --> 00:13:04.079 already. -00:13:04.079 --> 00:13:05.519 +00:13:04.079 --> 00:13:07.519 (Amin: Thank you for being a part of the - -00:13:05.519 --> 00:13:07.519 community, Grant.) -00:13:07.519 --> 00:13:09.680 -That's good to be here. I have another +00:13:07.519 --> 00:13:08.883 +That's good to be here. -00:13:09.680 --> 00:13:16.560 -talk tomorrow as well. +00:13:08.883 --> 00:13:16.560 +I have another talk tomorrow as well. 00:13:16.560 --> 00:13:18.399 Oh, thanks for everyone in the Etherpad -00:13:18.399 --> 00:13:20.160 +00:13:18.399 --> 00:13:21.680 for putting more comments on these - -00:13:20.160 --> 00:13:21.680 questions here 00:13:21.680 --> 00:13:29.360 @@ -822,14 +710,10 @@ that we have for the Q&A. 00:13:33.040 --> 00:13:36.720 Okay. Thank you again so much, Grant, -00:13:36.720 --> 00:13:38.480 +00:13:36.720 --> 00:13:39.920 for your awesome talk and for popping in - -00:13:38.480 --> 00:13:39.920 for questions.) -00:13:39.920 --> 00:13:42.000 +00:13:39.920 --> 00:13:46.800 Yeah, thanks again for hosting. See you - -00:13:42.000 --> 00:13:46.800 later. Cheers! diff --git a/2020/subtitles/emacsconf-2020--06-trivial-emacs-kits--corwin-brust.vtt b/2020/subtitles/emacsconf-2020--06-trivial-emacs-kits--corwin-brust.vtt index b1659d7e..588cf43a 100644 --- a/2020/subtitles/emacsconf-2020--06-trivial-emacs-kits--corwin-brust.vtt +++ b/2020/subtitles/emacsconf-2020--06-trivial-emacs-kits--corwin-brust.vtt @@ -1,67 +1,56 @@ WEBVTT -00:00:00.399 --> 00:00:03.280 -My name is Corwin Brust and I +00:00:00.399 --> 00:00:02.683 +My name is Corwin Brust -00:00:03.280 --> 00:00:06.240 -will be talking about getting started +00:00:02.683 --> 00:00:08.960 +and I will be talking about getting +started with Emacs today. -00:00:06.240 --> 00:00:08.960 -with Emacs today. - -00:00:08.960 --> 00:00:11.200 +00:00:08.960 --> 00:00:11.448 I have been an Emacs user for a long +time. -00:00:11.200 --> 00:00:13.040 -time. First of all, thanks and a huge - -00:00:13.040 --> 00:00:15.360 -welcome to the conference - -00:00:15.360 --> 00:00:18.400 -from me and +00:00:11.448 --> 00:00:15.360 +First of all, thanks and a huge welcome +to the conference -00:00:18.400 --> 00:00:22.400 -and on behalf +00:00:15.360 --> 00:00:22.400 +from me and and on behalf -00:00:22.400 --> 00:00:24.720 -and back to the other people that +00:00:22.400 --> 00:00:24.368 +and back to the other people -00:00:24.720 --> 00:00:26.080 -have been helping to organize. +00:00:24.368 --> 00:00:26.080 +that have been helping to organize. 00:00:26.080 --> 00:00:30.480 It's been amazing just to be involved -00:00:30.480 --> 00:00:32.480 +00:00:30.480 --> 00:00:36.399 with that and just, kind of, see - -00:00:32.480 --> 00:00:36.399 backstage. -00:00:36.399 --> 00:00:39.680 +00:00:36.399 --> 00:00:42.281 So I've used a lot of different editors +in my time. -00:00:39.680 --> 00:00:42.960 -in my time. That's - -00:00:42.960 --> 00:00:45.440 -about 25 years as a professional - -00:00:45.440 --> 00:00:52.399 +00:00:42.281 --> 00:00:52.399 +That's about 25 years as a professional software engineer. -00:00:52.399 --> 00:00:53.920 +00:00:52.399 --> 00:00:54.247 And most of that time I've been using +Emacs. -00:00:53.920 --> 00:00:56.160 -Emacs. I'll talk a little bit in a minute +00:00:54.247 --> 00:00:56.160 +I'll talk a little bit in a minute 00:00:56.160 --> 00:01:00.960 (if I can ever find my slides) 00:01:00.960 --> 00:01:04.479 -about how I got into Emacs +about how I got into Emacs, 00:01:04.479 --> 00:01:07.200 but I think if you've used Emacs and a @@ -69,56 +58,45 @@ but I think if you've used Emacs and a 00:01:07.200 --> 00:01:10.240 lot of other editors for a long time, -00:01:10.240 --> 00:01:15.200 -something that you notice right away is that +00:01:10.240 --> 00:01:14.410 +something that you notice right away -00:01:15.200 --> 00:01:17.520 -you get good with it in a way that stays +00:01:14.410 --> 00:01:18.560 +is that you get good with it in a way +that stays meaningful. -00:01:17.520 --> 00:01:18.560 -meaningful. - -00:01:18.560 --> 00:01:20.799 +00:01:18.560 --> 00:01:24.199 You learn new things. Those things +stick with you. -00:01:20.799 --> 00:01:27.600 -stick with you. You learn how to - -00:01:27.600 --> 00:01:30.720 -make it do new tricks and then - -00:01:30.720 --> 00:01:33.759 -keep doing those tricks. +00:01:24.199 --> 00:01:33.759 +You learn how to make it do new tricks +and then keep doing those tricks. -00:01:33.759 --> 00:01:36.799 +00:01:33.759 --> 00:01:39.439 I want to mention that this - -00:01:36.799 --> 00:01:39.439 conference--oops, -00:01:39.439 --> 00:01:41.439 -this talk isn't about - -00:01:41.439 --> 00:01:45.600 -how to adjust your +00:01:39.439 --> 00:01:44.829 +this talk isn't about how to adjust -00:01:45.600 --> 00:01:47.520 -configuration specifically. I don't have +00:01:44.829 --> 00:01:46.802 +your configuration specifically. -00:01:47.520 --> 00:01:50.000 -a bunch of good code samples in here. +00:01:46.802 --> 00:01:50.000 +I don't have a bunch of good code +samples in here. -00:01:50.000 --> 00:01:51.520 +00:01:50.000 --> 00:01:52.451 There are other great talks at the +conference, -00:01:51.520 --> 00:01:54.399 -conference, particularly Andrew's, - -00:01:54.399 --> 00:01:57.600 -that I looked at, that looked +00:01:52.451 --> 00:01:56.411 +particularly Andrew's, that I looked at, -00:01:57.600 --> 00:01:59.920 -like they might be more aimed at that +00:01:56.411 --> 00:01:59.920 +that looked like they might be more +aimed at that 00:01:59.920 --> 00:02:02.240 "hey, I'm just getting started with Emacs, @@ -126,59 +104,53 @@ like they might be more aimed at that 00:02:02.240 --> 00:02:05.280 what are some things to try to make -00:02:05.280 --> 00:02:07.200 -it more comfortable for me starting?" This +00:02:05.280 --> 00:02:07.017 +it more comfortable for me starting?" -00:02:07.200 --> 00:02:08.879 -is about how to think about the problem +00:02:07.017 --> 00:02:09.759 +This is about how to think about the +problem space. -00:02:08.879 --> 00:02:09.759 -space. +00:02:09.759 --> 00:02:13.337 +Hopefully, a good warm up as we start +thinking about -00:02:09.759 --> 00:02:12.959 -Hopefully, a good warm up as we +00:02:13.337 --> 00:02:17.200 +some of the lightning talks a little +later on. -00:02:12.959 --> 00:02:14.080 -start thinking about some of the +00:02:17.200 --> 00:02:19.835 +I'm just gonna quickly make sure -00:02:14.080 --> 00:02:17.200 -lightning talks a little later on. +00:02:19.835 --> 00:02:21.789 +I can see my IRC buffer in case -00:02:17.200 --> 00:02:20.000 -I'm just gonna quickly make sure I - -00:02:20.000 --> 00:02:22.400 -can see my IRC buffer in case I run into - -00:02:22.400 --> 00:02:24.080 -time. I didn't get my stopwatch started - -00:02:24.080 --> 00:02:25.680 -for this one. +00:02:21.789 --> 00:02:25.680 +I run into time. I didn't get my +stopwatch started for this one. 00:02:25.680 --> 00:02:29.680 So all right, let's dive in. -00:02:29.680 --> 00:02:32.879 -We assume that we want to install - -00:02:32.879 --> 00:02:33.840 -packages +00:02:29.680 --> 00:02:33.840 +We assume that we want to +install packages -00:02:33.840 --> 00:02:36.560 -and maybe configure some features. This +00:02:33.840 --> 00:02:36.281 +and maybe configure some features. -00:02:36.560 --> 00:02:38.319 -is particularly from the perspective of +00:02:36.281 --> 00:02:38.319 +This is particularly from the +perspective of 00:02:38.319 --> 00:02:39.120 where we're working -00:02:39.120 --> 00:02:40.800 -with a bunch of people on a team and we +00:02:39.120 --> 00:02:40.541 +with a bunch of people on a team -00:02:40.800 --> 00:02:42.160 -want to get something done. +00:02:40.541 --> 00:02:42.160 +and we want to get something done. 00:02:42.160 --> 00:02:44.800 Some of us probably already have mature @@ -186,104 +158,81 @@ Some of us probably already have mature 00:02:44.800 --> 00:02:46.560 Emacs workflows. -00:02:46.560 --> 00:02:49.280 +00:02:46.560 --> 00:02:53.519 Others are installing it for the first - -00:02:49.280 --> 00:02:53.519 time. -00:02:53.519 --> 00:02:56.879 -So the first question is, you know, - -00:02:56.879 --> 00:02:59.280 -in that context: what's the value - -00:02:59.280 --> 00:03:00.879 -proposition? Why should I mess with my +00:02:53.519 --> 00:02:57.889 +So the first question is, you know, in +that context: -00:03:00.879 --> 00:03:02.840 -machine, my mature Emacs +00:02:57.889 --> 00:02:59.784 +what's the value proposition? -00:03:02.840 --> 00:03:05.599 -configuration, and impose my +00:02:59.784 --> 00:03:01.532 +Why should I mess with my machine, -00:03:05.599 --> 00:03:07.440 -ideas over the way somebody else is +00:03:01.532 --> 00:03:04.219 +my mature Emacs configuration, -00:03:07.440 --> 00:03:10.239 -learning Emacs? Well, +00:03:04.219 --> 00:03:09.815 +and impose my ideas over the way +somebody else is learning Emacs? -00:03:10.239 --> 00:03:12.800 -it can be.. I'm off my slides here a +00:03:09.815 --> 00:03:13.840 +Well, it can be.. I'm off my slides here +a little bit. -00:03:12.800 --> 00:03:13.840 -little bit. +00:03:13.840 --> 00:03:16.959 +It can be a little bit tricky -00:03:13.840 --> 00:03:16.400 -It can be a little bit - -00:03:16.400 --> 00:03:16.959 -tricky - -00:03:16.959 --> 00:03:20.400 +00:03:16.959 --> 00:03:21.440 to learn Emacs. One thing that - -00:03:20.400 --> 00:03:21.440 helps us a lot 00:03:21.440 --> 00:03:24.720 is if people that we're working with -00:03:24.720 --> 00:03:26.239 +00:03:24.720 --> 00:03:27.301 can tell us, kinda, keystroke for +keystroke at times, -00:03:26.239 --> 00:03:28.080 -keystroke at times, what to do and - -00:03:28.080 --> 00:03:30.480 -explain what everything is doing. - -00:03:30.480 --> 00:03:32.400 -Using the same packages can really - -00:03:32.400 --> 00:03:35.840 -help us working together on a project. +00:03:27.301 --> 00:03:30.480 +what to do and explain what everything +is doing. -00:03:35.840 --> 00:03:39.840 -Speaking from my personal +00:03:30.480 --> 00:03:35.840 +Using the same packages can really help +us working together on a project. -00:03:39.840 --> 00:03:40.720 -experience, +00:03:35.840 --> 00:03:40.720 +Speaking from my personal experience, 00:03:40.720 --> 00:03:42.959 it took me decades to get to the point -00:03:42.959 --> 00:03:45.040 -where I was excited to program in Emacs +00:03:42.959 --> 00:03:45.226 +where I was excited to program +in Emacs Lisp. -00:03:45.040 --> 00:03:46.720 -Lisp. I've programmed in a lot of programming - -00:03:46.720 --> 00:03:47.840 +00:03:45.226 --> 00:03:47.840 +I've programmed in a lot of programming languages, -00:03:47.840 --> 00:03:51.200 -but Lisp wasn't on my list. I looked at - -00:03:51.200 --> 00:03:53.680 -my config that I was copy-pasting around +00:03:47.840 --> 00:03:50.252 +but Lisp wasn't on my list. -00:03:53.680 --> 00:03:56.319 -from generation after generation of +00:03:50.252 --> 00:03:53.680 +I looked at my config that I was +copy-pasting around -00:03:56.319 --> 00:03:57.519 -.emacs file or +00:03:53.680 --> 00:03:57.279 +from generation after generation of +.emacs file, -00:03:57.519 --> 00:03:59.519 -recrafting it from hand and from Internet - -00:03:59.519 --> 00:04:00.799 -searches, +00:03:57.279 --> 00:04:00.799 +or recrafting it from hand and from +Internet searches, 00:04:00.799 --> 00:04:03.519 to get the things that I needed when @@ -294,230 +243,170 @@ I would quickly go install Emacs at some 00:04:05.680 --> 00:04:07.680 new job or contract, -00:04:07.680 --> 00:04:10.959 -and - -00:04:10.959 --> 00:04:13.680 -be able to to quickly get through that - -00:04:13.680 --> 00:04:15.280 -workflow that caused me to install the - -00:04:15.280 --> 00:04:17.440 -program. - -00:04:17.440 --> 00:04:20.560 -You know, just +00:04:07.680 --> 00:04:14.016 +and be able to to quickly get through +that workflow -00:04:20.560 --> 00:04:23.440 -little simple one-liners that that +00:04:14.016 --> 00:04:17.440 +that caused me to install the program. -00:04:23.440 --> 00:04:25.199 -got committed to memory over decades +00:04:17.440 --> 00:04:24.049 +You know, just little simple one-liners +that got committed to memory -00:04:25.199 --> 00:04:27.120 -eventually just led me to a sort of "hey what's going on +00:04:24.049 --> 00:04:27.675 +over decades eventually just led me to a +sort of "hey what's going on here." -00:04:27.120 --> 00:04:28.880 -here." And I credit - -00:04:28.880 --> 00:04:31.680 -Jeff Goff, my good friend who died - -00:04:31.680 --> 00:04:33.520 -earlier in 2020, +00:04:27.675 --> 00:04:33.520 +And I credit Jeff Goff, my good friend +who died earlier in 2020, 00:04:33.520 --> 00:04:37.759 for my lifelong love of Emacs. 00:04:37.759 --> 00:04:39.280 -Perhaps EriK and I will talk about that +Perhaps Erik and I will talk about that -00:04:39.280 --> 00:04:40.800 +00:04:39.280 --> 00:04:42.000 a little bit more in another talk we +have scheduled, -00:04:40.800 --> 00:04:41.360 -have - -00:04:41.360 --> 00:04:43.280 -scheduled, but Jeff was a huge +00:04:42.000 --> 00:04:44.400 +but Jeff was a huge influence on us -00:04:43.280 --> 00:04:44.400 -influenceo on us +00:04:44.400 --> 00:04:46.027 +in a number of ways, -00:04:44.400 --> 00:04:47.280 -in a number of ways and a huge +00:04:46.027 --> 00:04:47.732 +and a huge contributor -00:04:47.280 --> 00:04:48.720 -contributor to the Raku programming - -00:04:48.720 --> 00:04:50.720 -language - -00:04:50.720 --> 00:04:54.840 +00:04:47.732 --> 00:04:54.840 +to the Raku programming language, which is very cool. -00:04:54.840 --> 00:04:58.880 -So, understanding how - -00:04:58.880 --> 00:05:01.039 -to make a good decision about splitting +00:04:54.840 --> 00:05:00.153 +So, understanding how to make +a good decision -00:05:01.039 --> 00:05:03.120 -up configuration in a way to share it +00:05:00.153 --> 00:05:03.680 +about splitting up configuration in a +way to share it across -00:05:03.120 --> 00:05:03.680 -across - -00:05:03.680 --> 00:05:05.600 +00:05:03.680 --> 00:05:06.292 people with really different uses of +Emacs... -00:05:05.600 --> 00:05:07.600 -Emacs... That's actually a - -00:05:07.600 --> 00:05:09.360 -complicated topic and I want to +00:05:06.292 --> 00:05:08.546 +That's actually a complicated topic -00:05:09.360 --> 00:05:11.039 -sort of back off and stare at it for a +00:05:08.546 --> 00:05:12.639 +and I want to sort of back off and stare +at it for a second. -00:05:11.039 --> 00:05:12.639 -second. - -00:05:12.639 --> 00:05:15.840 +00:05:12.639 --> 00:05:18.720 I think Emacs is about people, so that - -00:05:15.840 --> 00:05:18.720 means it's about community. -00:05:18.720 --> 00:05:22.000 +00:05:18.720 --> 00:05:24.960 And community means we're going to - -00:05:22.000 --> 00:05:24.960 invite disagreement. -00:05:24.960 --> 00:05:29.120 -In fact, that disagreement - -00:05:29.120 --> 00:05:32.160 -isn't necessarily a road-block to our - -00:05:32.160 --> 00:05:33.280 -project. In fact, +00:05:24.960 --> 00:05:32.687 +In fact, that disagreement isn't +necessarily a road-block to our project. -00:05:33.280 --> 00:05:35.680 -some of the work that a community +00:05:32.687 --> 00:05:37.759 +In fact, some of the work that a +community project can invite us to do -00:05:35.680 --> 00:05:37.759 -project can invite us to do +00:05:37.759 --> 00:05:39.505 +is to get closer to each other -00:05:37.759 --> 00:05:39.680 -is to get closer to each other by +00:05:39.505 --> 00:05:40.840 +by inviting those disagreements, -00:05:39.680 --> 00:05:40.960 -inviting those disagreements, by +00:05:40.840 --> 00:05:42.080 +by learning from them--learning from -00:05:40.960 --> 00:05:42.080 -learning from them--learning from +00:05:42.080 --> 00:05:46.880 +different people's styles and from how +they argue, -00:05:42.080 --> 00:05:43.280 -different people's - -00:05:43.280 --> 00:05:46.880 -styles and from how they argue, - -00:05:46.880 --> 00:05:49.120 +00:05:46.880 --> 00:05:50.058 and thinking about why they have that +perspective -00:05:49.120 --> 00:05:50.400 -perspective and - -00:05:50.400 --> 00:05:53.680 -what technical benefits that +00:05:50.058 --> 00:05:53.227 +and what technical benefits -00:05:53.680 --> 00:05:55.360 -perhaps radical point of view might +00:05:53.227 --> 00:05:55.800 +that perhaps radical point of view might +carry away. -00:05:55.360 --> 00:05:56.720 -carry away. Some people are really +00:05:55.800 --> 00:05:58.266 +Some people are really aggressive +arguers, -00:05:56.720 --> 00:05:59.039 -aggressive arguers, and others +00:05:58.266 --> 00:06:01.919 +and others are very passive and really -00:05:59.039 --> 00:06:01.919 -are very passive and really +00:06:01.919 --> 00:06:05.824 +couch their ideas in distancing terms, +to say, -00:06:01.919 --> 00:06:03.120 -couch their ideas +00:06:05.824 --> 00:06:07.906 +"well probably, this is a good idea" -00:06:03.120 --> 00:06:06.240 -in distancing terms, to say, "well - -00:06:06.240 --> 00:06:08.080 -probably, this is a good idea" or - -00:06:08.080 --> 00:06:12.479 -"please double check me." +00:06:07.906 --> 00:06:12.479 +or "please double check me." 00:06:12.479 --> 00:06:15.520 Those don't always necessarily indicate -00:06:15.520 --> 00:06:17.120 -how certain a person is, because we're - -00:06:17.120 --> 00:06:18.479 -different. We have different ways of +00:06:15.520 --> 00:06:17.497 +how certain a person is, +because we're different. -00:06:18.479 --> 00:06:19.520 -communicating +00:06:17.497 --> 00:06:19.520 +We have different ways of communicating 00:06:19.520 --> 00:06:23.380 ideas like certainty or excitement. -00:06:23.380 --> 00:06:24.560 -[Music] +00:06:24.560 --> 00:06:26.235 +When we think about a bunch of -00:06:24.560 --> 00:06:26.560 -When we think about a bunch of really +00:06:26.235 --> 00:06:30.000 +really diverse programmers +approaching Emacs, -00:06:26.560 --> 00:06:30.000 -diverse programmers approaching Emacs, - -00:06:30.000 --> 00:06:33.280 -probably one of our our first really big - -00:06:33.280 --> 00:06:36.479 +00:06:30.000 --> 00:06:36.479 +probably one of our first really big challenges is just -00:06:36.479 --> 00:06:39.759 -to pick what we're going to go - -00:06:39.759 --> 00:06:41.120 -after. There are a lot of - -00:06:41.120 --> 00:06:44.000 -existing kit +00:06:36.479 --> 00:06:40.085 +to pick what we're going +to go after. -00:06:44.000 --> 00:06:49.599 -installs and things like this. +00:06:40.085 --> 00:06:49.599 +There are a lot of existing kit installs +and things like this. -00:06:49.599 --> 00:06:52.880 +00:06:49.599 --> 00:06:54.400 My argument is that you could actually - -00:06:52.880 --> 00:06:54.400 get pretty far -00:06:54.400 --> 00:06:56.560 -just trading files around. Maybe the - -00:06:56.560 --> 00:07:02.240 -more valuable +00:06:54.400 --> 00:06:56.020 +just trading files around. -00:07:02.240 --> 00:07:04.720 -conversation to have is making the +00:06:56.020 --> 00:07:03.698 +Maybe the more valuable conversation +to have -00:07:04.720 --> 00:07:06.080 -hard decisions about, well, +00:07:03.698 --> 00:07:06.080 +is making the hard decisions +about, well, 00:07:06.080 --> 00:07:08.000 "should we have vertical completion," @@ -528,77 +417,56 @@ should that be the out of the box, 00:07:10.080 --> 00:07:11.759 and the people that want -00:07:11.759 --> 00:07:15.680 +00:07:11.759 --> 00:07:17.440 the traditional splayed out over a +single line completion, -00:07:15.680 --> 00:07:17.440 -single line completion - -00:07:17.440 --> 00:07:19.840 -for example in the mode line, those - -00:07:19.840 --> 00:07:20.800 -people are going to - -00:07:20.800 --> 00:07:24.160 -add a line of config - -00:07:24.160 --> 00:07:29.039 -to their own setup? - -00:07:29.039 --> 00:07:32.479 -The way to get there? I mean, how do we - -00:07:32.479 --> 00:07:34.080 -find out what works? We don't want to - -00:07:34.080 --> 00:07:35.520 -slow down the people that +00:07:17.440 --> 00:07:19.428 +for example in the mode line, -00:07:35.520 --> 00:07:38.800 -are super productive with Emacs by +00:07:19.428 --> 00:07:29.039 +those people are going to add a line of +config to their own setup? -00:07:38.800 --> 00:07:40.479 -asking them to completely break their +00:07:29.039 --> 00:07:30.979 +The way to get there? -00:07:40.479 --> 00:07:42.080 -workflows and make it easier for new +00:07:30.979 --> 00:07:33.344 +I mean, how do we find out what works? -00:07:42.080 --> 00:07:42.560 -folks. +00:07:33.344 --> 00:07:38.587 +We don't want to slow down the people +that are super productive with Emacs -00:07:42.560 --> 00:07:46.240 -At the same time, we do +00:07:38.587 --> 00:07:40.879 +by asking them to completely +break their workflows -00:07:46.240 --> 00:07:48.960 -want to make sure those new people are +00:07:40.879 --> 00:07:42.560 +and make it easier for new folks. -00:07:48.960 --> 00:07:51.280 -excited by Emacs and not turned off by +00:07:42.560 --> 00:07:48.673 +At the same time, we do want to make +sure those new people -00:07:51.280 --> 00:07:52.720 -having to learn +00:07:48.673 --> 00:07:52.720 +are excited by Emacs and not turned off +by having to learn -00:07:52.720 --> 00:07:56.319 -the entire jungle of Emacs +00:07:52.720 --> 00:08:00.363 +the entire jungle of Emacs history in +the form of its unique -00:07:56.319 --> 00:07:59.840 -history in the form of its +00:08:00.363 --> 00:08:07.610 +technical stylings for things like +frames, buffers, -00:07:59.840 --> 00:08:03.120 -unique technical stylings for +00:08:07.610 --> 00:08:11.668 +and other unique Emacs viewpoints -00:08:03.120 --> 00:08:06.160 -things like frames, - -00:08:06.160 --> 00:08:09.840 -buffers, and other unique - -00:08:09.840 --> 00:08:12.960 -Emacs viewpoints on important - -00:08:12.960 --> 00:08:16.240 -interface concepts, especially. +00:08:11.668 --> 00:08:16.240 +on important interface concepts, +especially. 00:08:16.240 --> 00:08:19.520 The encouragement here is to keep @@ -609,29 +477,25 @@ the initialization for a project team 00:08:21.680 --> 00:08:23.280 together as a crucible. -00:08:23.280 --> 00:08:25.280 -Rather than necessarily following our - -00:08:25.280 --> 00:08:31.440 -defaults of +00:08:23.280 --> 00:08:25.117 +Rather than necessarily following -00:08:31.440 --> 00:08:33.279 -finding the simplest configuration +00:08:25.117 --> 00:08:33.279 +our defaults of finding the simplest +configurations -00:08:33.279 --> 00:08:35.120 +00:08:33.279 --> 00:08:37.440 that generally work and letting people - -00:08:35.120 --> 00:08:37.440 customize it, 00:08:37.440 --> 00:08:40.479 what if we tried to look -00:08:40.479 --> 00:08:42.560 -for fairly specific configurations that +00:08:40.479 --> 00:08:42.346 +for fairly specific configurations -00:08:42.560 --> 00:08:44.159 -we'll expect essentially all of our +00:08:42.346 --> 00:08:44.159 +that we'll expect essentially all of our 00:08:44.159 --> 00:08:46.320 developers to be using, @@ -642,65 +506,52 @@ at least when they submit bug reports. 00:08:52.839 --> 00:08:55.920 In particular, with this, -00:08:55.920 --> 00:08:58.800 -I think that degree of - -00:08:58.800 --> 00:08:59.839 -experimentation +00:08:55.920 --> 00:08:59.839 +I think that degree of experimentation -00:08:59.839 --> 00:09:01.680 +00:08:59.839 --> 00:09:02.584 can drive back into the Emacs +development process. -00:09:01.680 --> 00:09:03.360 -development process. In the development - -00:09:03.360 --> 00:09:04.800 -mailing list... +00:09:02.584 --> 00:09:04.800 +In the development mailing list... -00:09:04.800 --> 00:09:07.760 -I'm hoping I'll get a timing cue +00:09:04.800 --> 00:09:15.120 +I'm hoping I'll get a timing cue here. -00:09:07.760 --> 00:09:15.120 -here. - -00:09:15.120 --> 00:09:17.760 +00:09:15.120 --> 00:09:18.835 In the context of Emacs development as a +greater entity, -00:09:17.760 --> 00:09:18.320 -greater - -00:09:18.320 --> 00:09:20.959 -entity, we see some of these struggles. +00:09:18.835 --> 00:09:20.959 +we see some of these struggles. 00:09:20.959 --> 00:09:22.399 Should we change this default? -00:09:22.399 --> 00:09:24.000 -Sometimes we can have the - -00:09:24.000 --> 00:09:26.720 -sense that defaults in Emacs will never +00:09:22.399 --> 00:09:27.146 +Sometimes we can have the sense that +defaults in Emacs will never change. -00:09:26.720 --> 00:09:29.279 -change. The conversation is too difficult. +00:09:27.146 --> 00:09:29.279 +The conversation is too difficult. -00:09:29.279 --> 00:09:30.959 +00:09:29.279 --> 00:09:32.560 I think one thing that can help us get - -00:09:30.959 --> 00:09:32.560 there is evidence 00:09:32.560 --> 00:09:36.160 that says, "hey my 30- to 40-person project -00:09:36.160 --> 00:09:38.880 -is using this set of bindings and +00:09:36.160 --> 00:09:38.560 +is using this set of bindings, -00:09:38.880 --> 00:09:40.399 -here's what we learned about +00:09:38.560 --> 00:09:40.111 +and here's what we learned -00:09:40.399 --> 00:09:42.240 -brand new Emacs users trying to come in +00:09:40.111 --> 00:09:42.240 +about brand new Emacs users +trying to come in 00:09:42.240 --> 00:09:46.800 and get work done with that." @@ -709,22 +560,20 @@ and get work done with that." (Amin: Yeah you still have 00:09:49.360 --> 00:09:50.720 -a couple more minutes) - -00:09:50.720 --> 00:09:52.640 -Oh, beautiful. Okay, great. I will try to +a couple more minutes.) -00:09:52.640 --> 00:09:54.160 -get through my last few slides that i +00:09:50.720 --> 00:09:51.984 +Oh, beautiful. Okay, great. -00:09:54.160 --> 00:09:54.720 -cut +00:09:51.984 --> 00:09:54.720 +I will try to get through my last few +slides that I cut 00:09:54.720 --> 00:09:56.320 -in my last walkthrough, but I think i'm +in my last walkthrough, but I think I'm 00:09:56.320 --> 00:09:58.320 -going quicker today thank you. +going quicker today, thank you. 00:09:58.320 --> 00:10:02.000 Thank you. @@ -732,41 +581,30 @@ Thank you. 00:10:02.000 --> 00:10:05.120 So let's just recap real quick: -00:10:05.120 --> 00:10:06.800 -in theory, Emacs works - -00:10:06.800 --> 00:10:10.720 -out of the box. That means we're +00:10:05.120 --> 00:10:08.760 +in theory, Emacs works out of the box. -00:10:10.720 --> 00:10:14.079 -free to experiment. We can +00:10:08.760 --> 00:10:12.853 +That means we're free to experiment. -00:10:14.079 --> 00:10:17.120 -throw it all away and start over. +00:10:12.853 --> 00:10:17.120 +We can throw it all away and start over. 00:10:17.120 --> 00:10:26.000 As an organizational principle... -00:10:26.000 --> 00:10:27.360 +00:10:26.000 --> 00:10:30.079 I don't know what I was thinking on that - -00:10:27.360 --> 00:10:30.079 slide, excuse me. -00:10:30.079 --> 00:10:32.240 -Bringing it back around - -00:10:32.240 --> 00:10:33.440 -to the free +00:10:30.079 --> 00:10:33.440 +Bringing it back around to the free 00:10:33.440 --> 00:10:35.680 and open source software community, -00:10:35.680 --> 00:10:36.480 -our goal - -00:10:36.480 --> 00:10:39.519 -is to enable users +00:10:35.680 --> 00:10:39.519 +our goal is to enable users 00:10:39.519 --> 00:10:41.440 to unlock their computers, to do as much @@ -774,158 +612,118 @@ to unlock their computers, to do as much 00:10:41.440 --> 00:10:43.040 with them as possible. -00:10:43.040 --> 00:10:45.600 +00:10:43.040 --> 00:10:47.680 That's the context to take with project - -00:10:45.600 --> 00:10:47.680 initialization, but sometimes 00:10:47.680 --> 00:10:49.560 -it could make sense to put... - -00:10:49.560 --> 00:10:50.800 -[Music] - -00:10:50.800 --> 00:10:53.040 -to put some gloves on. I've thrown up on - -00:10:53.040 --> 00:10:54.880 -the screen here just a couple of other +it could make sense -00:10:54.880 --> 00:10:57.279 -ideas, ways to maybe think outside of the +00:10:50.800 --> 00:10:52.032 +to put some gloves on. -00:10:57.279 --> 00:10:57.920 -box. +00:10:52.032 --> 00:10:53.766 +I've thrown up on the screen here -00:10:57.920 --> 00:11:00.399 -As you're putting together project +00:10:53.766 --> 00:10:55.276 +just a couple of other ideas, -00:11:00.399 --> 00:11:01.440 -nets, +00:10:55.276 --> 00:10:57.920 +ways to maybe think outside of the box. -00:11:01.440 --> 00:11:04.959 -my words of encouragement are to experiment +00:10:57.920 --> 00:11:01.440 +As you're putting together project nets, -00:11:04.959 --> 00:11:05.519 -with it, +00:11:01.440 --> 00:11:05.519 +my words of encouragement are to +experiment with it, -00:11:05.519 --> 00:11:09.200 +00:11:05.519 --> 00:11:09.941 try different things, and think really +specifically -00:11:09.200 --> 00:11:10.560 -specifically about how +00:11:09.941 --> 00:11:17.010 +about how different the development +users might be from each other -00:11:10.560 --> 00:11:14.320 -different the development users - -00:11:14.320 --> 00:11:17.760 -might be from each other as you - -00:11:17.760 --> 00:11:21.680 -define standards for configuring +00:11:17.010 --> 00:11:21.680 +as you define standards for configuring 00:11:21.680 --> 00:11:23.519 the user environment of Emacs -00:11:23.519 --> 00:11:25.360 -specifically for developing +00:11:23.519 --> 00:11:26.552 +specifically for developing on a +project. -00:11:25.360 --> 00:11:29.120 -on a project. That's pretty much my talk. +00:11:26.552 --> 00:11:29.120 +That's pretty much my talk. -00:11:29.120 --> 00:11:30.480 +00:11:29.120 --> 00:11:32.959 If there's any time, I would take a - -00:11:30.480 --> 00:11:32.959 couple questions. -00:11:32.959 --> 00:11:35.040 -Thank you for your awesome talk, +00:11:32.959 --> 00:11:36.480 +(Amin: Thank you for your +awesome talk, Corwin. -00:11:35.040 --> 00:11:36.480 -Corwin. - -00:11:36.480 --> 00:11:38.160 -I think we have one or two - -00:11:38.160 --> 00:11:49.519 -minutes for a few questions. +00:11:36.480 --> 00:11:49.519 +I think we have one or two minutes for a +few questions. 00:11:49.519 --> 00:11:52.000 Do you have the pad open or would you 00:11:52.000 --> 00:11:53.839 -like me to read the questions for you? - -00:11:53.839 --> 00:11:56.959 -Oh, I managed to close the +like me to read the questions for you?) -00:11:56.959 --> 00:11:58.000 -pad +00:11:53.839 --> 00:11:58.000 +Corwin: Oh, I managed to close the pad -00:11:58.000 --> 00:12:00.560 -and I am trying to open it again. All +00:11:58.000 --> 00:12:00.352 +and I am trying to open it again. -00:12:00.560 --> 00:12:03.519 -right, there it opened. +00:12:00.352 --> 00:12:03.519 +All right, there it opened. -00:12:03.519 --> 00:12:05.040 +00:12:03.519 --> 00:12:05.500 Bringing it onto a screen where I can +see it. -00:12:05.040 --> 00:12:06.880 -see it. Will you read me the +00:12:05.500 --> 00:12:09.360 +Will you read me the first question +while I drag windows around, please? -00:12:06.880 --> 00:12:08.399 -first question while I drag windows +00:12:09.360 --> 00:12:15.600 +(Amin: Sure. It says, "do you use Emacs +as a community building tool?") -00:12:08.399 --> 00:12:09.360 -around, please? - -00:12:09.360 --> 00:12:12.720 -(Amin: Sure. It says, "do you use Emacs as a - -00:12:12.720 --> 00:12:15.600 -community building tool?") - -00:12:15.600 --> 00:12:17.680 +00:12:15.600 --> 00:12:19.760 Do I use Emacs as a community building - -00:12:17.680 --> 00:12:19.760 tool, or how do I? 00:12:19.760 --> 00:12:23.519 (Amin: It just says do you.) Yes, absolutely. -00:12:23.519 --> 00:12:26.720 -I think Emacs is an ambassador to - -00:12:26.720 --> 00:12:29.920 -the GNU tool chain. - -00:12:29.920 --> 00:12:33.279 -I think that in the fullness of time, we - -00:12:33.279 --> 00:12:34.560 -will see an Emacs +00:12:23.519 --> 00:12:29.920 +I think Emacs is an ambassador to the +GNU tool chain. -00:12:34.560 --> 00:12:38.240 -that makes +00:12:29.920 --> 00:12:33.027 +I think that in the fullness of time, -00:12:38.240 --> 00:12:42.000 -and that makes iOS and Android and other +00:12:33.027 --> 00:12:36.558 +we will see an Emacs -00:12:42.000 --> 00:12:42.800 -closed-source +00:12:36.558 --> 00:12:43.760 +that makes iOS and Android and other +closed-source tools dream. -00:12:42.800 --> 00:12:45.680 -tools dream. That's why they mock us +00:12:43.760 --> 00:12:46.689 +That's why they mock us and call Emacs -00:12:45.680 --> 00:12:46.320 -and call - -00:12:46.320 --> 00:12:49.200 -Emacs an operating system. It's because +00:12:46.689 --> 00:12:49.200 +an operating system. It's because 00:12:49.200 --> 00:12:51.440 it could be, if we cared for it to be. @@ -936,65 +734,56 @@ It's quite a threatening product 00:12:55.680 --> 00:12:57.440 from the perspective of how many problem -00:12:57.440 --> 00:12:59.440 -spaces it can address, how many types of +00:12:57.440 --> 00:12:58.540 +spaces it can address, -00:12:59.440 --> 00:13:01.519 -users it can satisfy, +00:12:58.540 --> 00:13:01.519 +how many types of users it can satisfy, 00:13:01.519 --> 00:13:04.399 the things that we can do to make -00:13:04.399 --> 00:13:05.600 -it robust in those - -00:13:05.600 --> 00:13:07.839 -environments. I mean, we're always - -00:13:07.839 --> 00:13:09.760 -thinking about the weak points, but +00:13:04.399 --> 00:13:06.456 +it robust in those environments. -00:13:09.760 --> 00:13:11.839 -is Emacs a community building tool? Heck +00:13:06.456 --> 00:13:09.524 +I mean, we're always thinking about the +weak points, -00:13:11.839 --> 00:13:14.639 -yeah. +00:13:09.524 --> 00:13:14.639 +but is Emacs a community building tool? +Heck yeah. -00:13:14.639 --> 00:13:17.920 +00:13:14.639 --> 00:13:18.480 (Amin: There's like one or two more - -00:13:17.920 --> 00:13:18.480 questions. -00:13:18.480 --> 00:13:21.519 +00:13:18.480 --> 00:13:22.480 I think they're more long-form so it - -00:13:21.519 --> 00:13:22.480 might be better -00:13:22.480 --> 00:13:24.000 -if you took them off stream so you - -00:13:24.000 --> 00:13:26.880 -could keep the schedule on time.) +00:13:22.480 --> 00:13:26.880 +if you took them off stream so you could +keep the schedule on time.) -00:13:26.880 --> 00:13:28.959 -i would love to take those questions +00:13:26.880 --> 00:13:29.463 +I would love to take those questions +offline. -00:13:28.959 --> 00:13:31.040 -offline. I will respond to you in +00:13:29.463 --> 00:13:30.908 +I will respond to you -00:13:31.040 --> 00:13:32.399 -writing if we don't get to it in a +00:13:30.908 --> 00:13:32.237 +in writing if we don't get to it -00:13:32.399 --> 00:13:33.360 -breakout room. +00:13:32.237 --> 00:13:33.360 +in a breakout room. -00:13:33.360 --> 00:13:35.519 -Thanks so much for joining us. I +00:13:33.360 --> 00:13:35.451 +Thanks so much for joining us. -00:13:35.519 --> 00:13:36.639 -can't wait to see the rest of the +00:13:35.451 --> 00:13:36.639 +I can't wait to see the rest of the 00:13:36.639 --> 00:13:38.000 conference. See you there! diff --git a/2020/subtitles/emacsconf-2020--07-beyond-vim-and-emacs-a-scalable-ui-paradigm--sid-kasivajhula.vtt b/2020/subtitles/emacsconf-2020--07-beyond-vim-and-emacs-a-scalable-ui-paradigm--sid-kasivajhula.vtt index 14913a32..8bb1e882 100644 --- a/2020/subtitles/emacsconf-2020--07-beyond-vim-and-emacs-a-scalable-ui-paradigm--sid-kasivajhula.vtt +++ b/2020/subtitles/emacsconf-2020--07-beyond-vim-and-emacs-a-scalable-ui-paradigm--sid-kasivajhula.vtt @@ -1,16 +1,17 @@ WEBVTT -00:00:02.960 --> 00:00:04.960 -"Far away in the heavenly abode of the +00:00:02.960 --> 00:00:04.644 +"Far away in the heavenly abode -00:00:04.960 --> 00:00:06.560 -great god Indra, +00:00:04.644 --> 00:00:06.560 +of the great god Indra, -00:00:06.560 --> 00:00:08.320 -there is a wonderful net which has been +00:00:06.560 --> 00:00:07.688 +there is a wonderful net -00:00:08.320 --> 00:00:10.160 -hung by some cunning artificer +00:00:07.688 --> 00:00:10.160 +which has been hung +by some cunning artificer 00:00:10.160 --> 00:00:12.080 in such a manner that it stretches out @@ -18,92 +19,85 @@ in such a manner that it stretches out 00:00:12.080 --> 00:00:14.320 infinitely in all directions. -00:00:14.320 --> 00:00:15.920 +00:00:14.320 --> 00:00:16.938 In accordance with the extravagant +tastes of deities, -00:00:15.920 --> 00:00:18.240 -tastes of deities, the artificer has hung +00:00:16.938 --> 00:00:18.240 +the artificer has hung -00:00:18.240 --> 00:00:20.960 -a single glittering jewel in each eye of +00:00:18.240 --> 00:00:20.277 +a single glittering jewel -00:00:20.960 --> 00:00:22.080 -the net, +00:00:20.277 --> 00:00:22.080 +in each eye of the net, -00:00:22.080 --> 00:00:24.000 -and since the net itself is infinite, the +00:00:22.080 --> 00:00:23.859 +and since the net itself is infinite, -00:00:24.000 --> 00:00:26.480 -jewels are infinite in number. +00:00:23.859 --> 00:00:26.480 +the jewels are infinite in number. -00:00:26.480 --> 00:00:28.400 -There hang the jewels, glittering like +00:00:26.480 --> 00:00:27.642 +There hang the jewels, -00:00:28.400 --> 00:00:30.480 -stars in the first magnitude, +00:00:27.642 --> 00:00:30.480 +glittering like stars in the first +magnitude, -00:00:30.480 --> 00:00:33.440 -a wonderful sight to behold. Were we to +00:00:30.480 --> 00:00:32.681 +a wonderful sight to behold. -00:00:33.440 --> 00:00:34.800 -select one of these jewels for +00:00:32.681 --> 00:00:35.680 +Were we to select one of these jewels +for inspection, -00:00:34.800 --> 00:00:35.680 -inspection, +00:00:35.680 --> 00:00:38.216 +we would discover that in +its polished surface -00:00:35.680 --> 00:00:37.760 -we would discover that in its polished +00:00:38.216 --> 00:00:39.520 +there are reflected -00:00:37.760 --> 00:00:39.520 -surface there are reflected +00:00:39.520 --> 00:00:41.451 +all the other jewels in the net, -00:00:39.520 --> 00:00:41.920 -all the other jewels in the net, infinite +00:00:41.451 --> 00:00:43.360 +infinite in number. -00:00:41.920 --> 00:00:43.360 -in number. +00:00:43.360 --> 00:00:45.140 +If we look still more closely, -00:00:43.360 --> 00:00:45.600 -If we look still more closely, we would +00:00:45.140 --> 00:00:48.960 +we would see that each of the jewels +reflected in this one jewel -00:00:45.600 --> 00:00:47.840 -see that each of the jewels reflected in +00:00:48.960 --> 00:00:51.264 +reflects all the others." -00:00:47.840 --> 00:00:48.960 -this one jewel +00:00:51.264 --> 00:00:54.000 +This is the metaphor of Indra's Net, -00:00:48.960 --> 00:00:52.239 -reflects all the others." This is the - -00:00:52.239 --> 00:00:54.000 -metaphor of Indra's Net, - -00:00:54.000 --> 00:00:56.840 +00:00:54.000 --> 00:00:57.615 which is told in some schools of +philosophy. -00:00:56.840 --> 00:00:59.359 -philosophy. Let's keep this metaphor in - -00:00:59.359 --> 00:01:00.160 -mind, - -00:01:00.160 --> 00:01:01.920 -because it'll help us understand the +00:00:57.615 --> 00:01:00.160 +Let's keep this metaphor in mind, -00:01:01.920 --> 00:01:03.760 -Emacs extension that we're about to +00:01:00.160 --> 00:01:01.773 +because it'll help us understand -00:01:03.760 --> 00:01:06.960 +00:01:01.773 --> 00:01:06.960 +the Emacs extension that we're about to discuss. -00:01:06.960 --> 00:01:10.080 -In editing text, there's two +00:01:06.960 --> 00:01:12.810 +In editing text, there's two main +paradigms: -00:01:10.080 --> 00:01:13.200 -main paradigms: one - -00:01:13.200 --> 00:01:16.880 -is editing at the ground level, +00:01:12.810 --> 00:01:16.880 +one is editing at the ground level, 00:01:16.880 --> 00:01:19.439 where the characters that we type @@ -114,83 +108,67 @@ actually appear on the screen, 00:01:22.159 --> 00:01:25.960 the changes we make actually occur. -00:01:28.479 --> 00:01:30.720 -The other editing paradigm is where we +00:01:28.479 --> 00:01:30.126 +The other editing paradigm -00:01:30.720 --> 00:01:33.439 -escape to a higher level +00:01:30.126 --> 00:01:33.439 +is where we escape to a higher level -00:01:33.439 --> 00:01:36.000 +00:01:33.439 --> 00:01:36.479 and now the characters that we type are - -00:01:36.000 --> 00:01:36.479 not... 00:01:36.479 --> 00:01:39.040 They don't actually appear on the screen -00:01:39.040 --> 00:01:41.600 +00:01:39.040 --> 00:01:42.748 because we're not at the ground level +with the text, -00:01:41.600 --> 00:01:44.799 -with the text, we are at a higher level +00:01:42.748 --> 00:01:44.799 +we are at a higher level 00:01:44.799 --> 00:01:48.479 looking down at the text -00:01:48.479 --> 00:01:51.920 -and regarding the text, referring to +00:01:48.479 --> 00:01:50.773 +and regarding the text, -00:01:51.920 --> 00:01:54.640 -this world of text in terms of a - -00:01:54.640 --> 00:01:56.159 -language. +00:01:50.773 --> 00:01:56.159 +referring to this world of text in terms +of a language. 00:01:56.159 --> 00:01:57.920 For instance, we could describe this -00:01:57.920 --> 00:02:00.640 +00:01:57.920 --> 00:02:03.404 world as having words and paragraphs and +sentences and lines and so on. -00:02:00.640 --> 00:02:02.079 -sentences and +00:02:03.404 --> 00:02:05.985 +We could reason about this text -00:02:02.079 --> 00:02:04.640 -lines and so on. We could reason +00:02:05.985 --> 00:02:13.120 +in terms of these textual entities and +this textual language. -00:02:04.640 --> 00:02:05.360 -about this - -00:02:05.360 --> 00:02:08.800 -text in terms of these - -00:02:08.800 --> 00:02:11.440 -textual entities and this textual - -00:02:11.440 --> 00:02:13.120 -language. - -00:02:13.120 --> 00:02:15.920 +00:02:13.120 --> 00:02:18.640 This is the second paradigm of text - -00:02:15.920 --> 00:02:18.640 editing. 00:02:18.640 --> 00:02:22.800 When we're in the second paradigm, -00:02:22.800 --> 00:02:24.800 +00:02:22.800 --> 00:02:25.304 there is a way to go down to ground +level. -00:02:24.800 --> 00:02:26.480 -level. You hit Enter - -00:02:26.480 --> 00:02:28.160 -now--or we'll hit Enter to go down to the +00:02:25.304 --> 00:02:28.997 +You hit Enter now--or we'll hit Enter to +go down to the ground level, -00:02:28.160 --> 00:02:30.480 -ground level, and you can hit Escape +00:02:28.997 --> 00:02:30.480 +and you can hit Escape 00:02:30.480 --> 00:02:33.200 to go back out to the referential level. @@ -198,182 +176,147 @@ to go back out to the referential level. 00:02:33.200 --> 00:02:35.200 Enter to go down to ground level -00:02:35.200 --> 00:02:37.280 -and Escape to go up to the referential - -00:02:37.280 --> 00:02:40.160 -level. - -00:02:40.160 --> 00:02:44.879 -Now, in Vim, the nouns +00:02:35.200 --> 00:02:40.160 +and Escape to go up to the +referential level. -00:02:44.879 --> 00:02:48.239 -in this world of text all +00:02:40.160 --> 00:02:47.565 +Now, in Vim, the nouns in this +world of text -00:02:48.239 --> 00:02:50.959 -share the same referential plane which +00:02:47.565 --> 00:02:52.319 +all share the same referential plane +which we call normal mode. -00:02:50.959 --> 00:02:51.519 -we call - -00:02:51.519 --> 00:02:54.319 -normal mode. So in normal mode, all of the - -00:02:54.319 --> 00:02:54.959 -nouns +00:02:52.319 --> 00:02:54.959 +So in normal mode, all of the nouns 00:02:54.959 --> 00:02:57.360 of the world of text are available, -00:02:57.360 --> 00:02:58.959 +00:02:57.360 --> 00:03:00.959 whether it's words or sentences or - -00:02:58.959 --> 00:03:00.959 paragraphs, -00:03:00.959 --> 00:03:04.400 -and they all share this same - -00:03:04.400 --> 00:03:08.319 -referential plane. +00:03:00.959 --> 00:03:08.319 +and they all share this same referential +plane. -00:03:08.319 --> 00:03:11.120 -They compete for space on the +00:03:08.319 --> 00:03:12.720 +They compete for space on the keyboard. -00:03:11.120 --> 00:03:12.720 -keyboard. +00:03:12.720 --> 00:03:17.037 +An alternative way to structure these +modes is -00:03:12.720 --> 00:03:15.760 -An alternative +00:03:17.037 --> 00:03:21.840 +instead of having a single mode where +all the nouns coexist, -00:03:15.760 --> 00:03:17.680 -way to structure these modes is instead +00:03:21.840 --> 00:03:24.005 +peacefully or otherwise, -00:03:17.680 --> 00:03:19.280 -of having a single mode where all the +00:03:24.005 --> 00:03:30.400 +you instead have a dedicated mode for +every noun. -00:03:19.280 --> 00:03:21.840 -nouns coexist, +00:03:30.400 --> 00:03:32.540 +In that case, what happens is -00:03:21.840 --> 00:03:24.959 -peacefully or otherwise, you instead +00:03:32.540 --> 00:03:35.440 +because your modal spaces are +now much smaller, -00:03:24.959 --> 00:03:30.400 -have a dedicated mode for every noun. - -00:03:30.400 --> 00:03:33.040 -In that case, what happens is because - -00:03:33.040 --> 00:03:35.440 -your modal spaces are now much smaller, - -00:03:35.440 --> 00:03:37.280 +00:03:35.440 --> 00:03:40.593 you're just talking about words or +paragraphs or lines or something, -00:03:37.280 --> 00:03:38.720 -paragraphs or - -00:03:38.720 --> 00:03:42.560 -lines or something, the keys that you use +00:03:40.593 --> 00:03:42.560 +the keys that you use 00:03:42.560 --> 00:03:45.760 can be much more targeted. 00:03:45.760 --> 00:03:48.560 -You can use the same keystrokes in +You can use the same keystrokes 00:03:48.560 --> 00:03:50.400 in all of your modes and they would have -00:03:50.400 --> 00:03:52.000 -the same ideas behind them, but +00:03:50.400 --> 00:03:51.845 +the same ideas behind them, -00:03:52.000 --> 00:03:53.280 -they would have different effects +00:03:51.845 --> 00:03:53.280 +but they would have different effects 00:03:53.280 --> 00:03:55.519 depending on which context you're using. -00:03:55.519 --> 00:03:57.519 +00:03:55.519 --> 00:03:59.120 It's the same keystrokes, different - -00:03:57.519 --> 00:03:59.120 contexts. -00:03:59.120 --> 00:04:01.360 +00:03:59.120 --> 00:04:04.244 The advantage of that is it's often +easier to change context -00:04:01.360 --> 00:04:02.480 -easier - -00:04:02.480 --> 00:04:05.519 -to change context than it is to - -00:04:05.519 --> 00:04:09.040 -learn new key bindings. So let's see +00:04:04.244 --> 00:04:07.888 +than it is to learn new key bindings. -00:04:09.040 --> 00:04:12.080 -an example of how that works. We go into +00:04:07.888 --> 00:04:11.289 +So let's see an example of how +that works. -00:04:12.080 --> 00:04:13.680 -character mode, and if you look at the +00:04:11.289 --> 00:04:14.039 +We go into character mode, and if you +look at the mode line -00:04:13.680 --> 00:04:15.439 -mode line at the bottom of the screen there, +00:04:14.039 --> 00:04:15.439 +at the bottom of the screen there, 00:04:15.439 --> 00:04:18.720 you'll see that we're in character mode. -00:04:18.720 --> 00:04:21.519 -Now, when we move up, down, left, and +00:04:18.720 --> 00:04:21.955 +Now, when we move up, down, +left, and right, -00:04:21.519 --> 00:04:23.919 -right, we're moving by character. +00:04:21.955 --> 00:04:23.919 +we're moving by character. -00:04:23.919 --> 00:04:28.479 -We can also transform the text, and +00:04:23.919 --> 00:04:28.088 +We can also transform the text, -00:04:28.479 --> 00:04:30.240 -the transformations occur in terms of +00:04:28.088 --> 00:04:32.400 +and the transformations occur in terms +of character. -00:04:30.240 --> 00:04:32.400 -character. +00:04:32.400 --> 00:04:34.207 +You can also go into word mode. -00:04:32.400 --> 00:04:34.320 -You can also go into word mode. In +00:04:34.207 --> 00:04:40.000 +In word mode, the transformations that +you do are on words. -00:04:34.320 --> 00:04:35.520 -word mode, - -00:04:35.520 --> 00:04:38.560 -the transformations that you do are on - -00:04:38.560 --> 00:04:40.000 -words. - -00:04:40.000 --> 00:04:42.320 +00:04:40.000 --> 00:04:43.440 and you try... Your movement is also in - -00:04:42.320 --> 00:04:43.440 terms of words. -00:04:43.440 --> 00:04:45.600 +00:04:43.440 --> 00:04:46.560 So that's the level of granularity that - -00:04:45.600 --> 00:04:46.560 you have. -00:04:46.560 --> 00:04:49.520 -You could also go to line mode. When +00:04:46.560 --> 00:04:49.191 +You could also go to line mode. -00:04:49.520 --> 00:04:50.720 -you're in line mode, +00:04:49.191 --> 00:04:50.720 +When you're in line mode, -00:04:50.720 --> 00:04:53.759 -you go up and down by line, and you can +00:04:50.720 --> 00:04:52.901 +you go up and down by line, -00:04:53.759 --> 00:04:54.240 -move lines +00:04:52.901 --> 00:04:54.240 +and you can move lines 00:04:54.240 --> 00:04:57.520 up and down left and right and so on. @@ -384,20 +327,19 @@ The transformations you do are in 00:05:00.880 --> 00:05:02.800 terms of lines. -00:05:02.800 --> 00:05:08.400 -You could also go to window mode, where - -00:05:08.400 --> 00:05:10.639 -now the objects that you're referring to +00:05:02.800 --> 00:05:07.682 +You could also go to window mode, -00:05:10.639 --> 00:05:12.400 -are windows. You can +00:05:07.682 --> 00:05:11.695 +where now the objects that you're +referring to are windows. -00:05:12.400 --> 00:05:15.759 -move spatially amongst the windows or +00:05:11.695 --> 00:05:15.578 +You can move spatially +amongst the windows -00:05:15.759 --> 00:05:17.520 -do transformations on the windows +00:05:15.578 --> 00:05:17.520 +or do transformations on the windows 00:05:17.520 --> 00:05:20.850 using the same keystrokes. @@ -408,197 +350,170 @@ So let's go to... 00:05:28.720 --> 00:05:32.800 Right. One of the things, -00:05:32.800 --> 00:05:35.280 -the principles that play here is - -00:05:35.280 --> 00:05:36.880 -something called the Rumpelstiltskin - -00:05:36.880 --> 00:05:38.000 -principle, which is something +00:05:32.800 --> 00:05:35.114 +the principles at play here -00:05:38.000 --> 00:05:40.720 -that's known in computer science. +00:05:35.114 --> 00:05:37.266 +is something called the +Rumpelstiltskin principle, -00:05:40.720 --> 00:05:42.320 -If you can name something, then +00:05:37.266 --> 00:05:40.720 +which is something that's known in +computer science. -00:05:43.759 --> 00:05:46.720 -you have power over it. This is +00:05:40.720 --> 00:05:42.113 +If you can name something, -00:05:46.720 --> 00:05:48.560 -kind of an adaptation of that principle +00:05:42.113 --> 00:05:45.824 +then you have power over it. -00:05:48.560 --> 00:05:50.479 -which says that if you can +00:05:45.824 --> 00:05:48.560 +This is kind of an adaptation of that +principle -00:05:50.479 --> 00:05:52.320 -name something and if you can talk about +00:05:48.560 --> 00:05:51.123 +which says that if you can name +something -00:05:52.320 --> 00:05:54.000 -it, then it's a noun +00:05:51.123 --> 00:05:52.572 +and if you can talk about it, -00:05:55.360 --> 00:05:56.960 -in your editing language. If it's a +00:05:52.572 --> 00:05:56.334 +then it's a noun in your editing +language. -00:05:56.960 --> 00:05:58.960 -noun, then it has... +00:05:56.334 --> 00:05:58.960 +If it's a noun, then it has... -00:05:58.960 --> 00:06:01.520 +00:05:58.960 --> 00:06:02.319 It's a mode. So if we can talk about it, - -00:06:01.520 --> 00:06:02.319 it's a noun. -00:06:02.319 --> 00:06:05.039 -If it's a noun, then it's a mode. One - -00:06:05.039 --> 00:06:06.479 -of the things we've been talking a lot - -00:06:06.479 --> 00:06:07.039 -about +00:06:02.319 --> 00:06:04.818 +If it's a noun, then it's a mode. -00:06:07.039 --> 00:06:10.800 -is modes. In fact, +00:06:04.818 --> 00:06:08.919 +One of the things we've been talking a +lot about is modes. -00:06:10.800 --> 00:06:14.240 -by this principle, modes also +00:06:08.919 --> 00:06:12.699 +In fact, by this principle, -00:06:14.240 --> 00:06:17.280 -should be a mode. +00:06:12.699 --> 00:06:17.280 +modes also should be a mode. 00:06:17.280 --> 00:06:19.039 You should have a mode that can reason -00:06:19.039 --> 00:06:21.120 -in terms of modes as objects, just like +00:06:19.039 --> 00:06:20.639 +in terms of modes as objects, -00:06:21.120 --> 00:06:22.080 -you have +00:06:20.639 --> 00:06:22.300 +just like you have modes -00:06:22.080 --> 00:06:23.759 -modes where you can reason in terms of +00:06:22.300 --> 00:06:23.759 +where you can reason in terms of 00:06:23.759 --> 00:06:26.560 words or lines as objects. -00:06:26.560 --> 00:06:28.800 -So let's do that. Let's go to mode - -00:06:28.800 --> 00:06:30.479 -mode. +00:06:26.560 --> 00:06:30.479 +So let's do that. Let's go to mode mode. 00:06:30.479 --> 00:06:34.000 -When you go to mode mode, you see that - -00:06:34.000 --> 00:06:36.080 -the objects that are depicted here are +When you go to mode mode, you see that -00:06:36.080 --> 00:06:37.919 -the modes that are +00:06:34.000 --> 00:06:35.915 +the objects that are depicted here -00:06:37.919 --> 00:06:40.960 -present in the buffer, +00:06:35.915 --> 00:06:40.960 +are the modes that are present +in the buffer, -00:06:40.960 --> 00:06:44.880 -which we knew about because the +00:06:40.960 --> 00:06:44.500 +which we knew about because -00:06:44.880 --> 00:06:46.400 -style of editing that we had in this +00:06:44.500 --> 00:06:46.797 +the style of editing that we had +in this buffer -00:06:46.400 --> 00:06:48.720 -buffer was the Vim style of editing +00:06:46.797 --> 00:06:48.720 +was the Vim style of editing -00:06:48.720 --> 00:06:50.479 +00:06:48.720 --> 00:06:51.143 where there's an insert mode at the +ground level -00:06:50.479 --> 00:06:52.400 -ground level and a normal mode that you - -00:06:52.400 --> 00:06:53.039 -can escape to. +00:06:51.143 --> 00:06:53.039 +and a normal mode that +you can escape to. 00:06:53.039 --> 00:06:57.280 You insert, enter the ground level. -00:06:57.280 --> 00:07:00.479 +00:06:57.280 --> 00:07:01.352 Enter to the insert mode and escape to +normal mode. -00:07:00.479 --> 00:07:02.880 -normal mode. When you look at the - -00:07:02.880 --> 00:07:03.680 -mode mode +00:07:01.352 --> 00:07:04.647 +When you look at the mode mode +representation, -00:07:03.680 --> 00:07:06.160 -representation, you see that in fact that +00:07:04.647 --> 00:07:06.160 +you see that in fact that 00:07:06.160 --> 00:07:10.479 is the structure that's depicted. -00:07:10.479 --> 00:07:12.720 -But in different situations, you might - -00:07:12.720 --> 00:07:14.080 -find +00:07:10.479 --> 00:07:14.080 +But in different situations, +you might find 00:07:14.080 --> 00:07:16.080 that these modes are not the -00:07:16.080 --> 00:07:17.680 -ones that you want. You want something - -00:07:17.680 --> 00:07:19.360 -more tailored for the specific +00:07:16.080 --> 00:07:16.922 +ones that you want. -00:07:19.360 --> 00:07:20.880 -application. +00:07:16.922 --> 00:07:20.880 +You want something more tailored for the +specific application. -00:07:20.880 --> 00:07:23.050 +00:07:20.880 --> 00:07:25.065 For instance, if you're editing +Lisp code -00:07:24.240 --> 00:07:27.360 -Lisp code (or code in general, but +00:07:25.065 --> 00:07:27.360 +(or code in general, but 00:07:27.360 --> 00:07:30.880 Lisp code is a particular example), -00:07:30.880 --> 00:07:32.960 -you might want to take advantage of the +00:07:30.880 --> 00:07:32.640 +you might want to take advantage -00:07:32.960 --> 00:07:34.000 -structure of +00:07:32.640 --> 00:07:34.852 +of the structure of the code. -00:07:34.000 --> 00:07:37.599 -the code. For Lisp code in particular, +00:07:34.852 --> 00:07:37.599 +For Lisp code in particular, 00:07:37.599 --> 00:07:40.960 we have a mode called symex-mode -00:07:40.960 --> 00:07:44.240 -which is able to reason +00:07:40.960 --> 00:07:45.414 +which is able to reason about your code -00:07:44.240 --> 00:07:46.720 -about your code in terms of its tree +00:07:45.414 --> 00:07:47.919 +in terms of its tree structure. -00:07:46.720 --> 00:07:47.919 -structure. - -00:07:47.919 --> 00:07:50.560 +00:07:47.919 --> 00:07:52.397 So you can use the same keystrokes: hjkl +goes left, right, up, and down, -00:07:50.560 --> 00:07:51.120 -goes - -00:07:51.120 --> 00:07:53.440 -left, right, up, and down, but you also have - -00:07:53.440 --> 00:07:54.960 -other keystrokes that are more - -00:07:54.960 --> 00:07:58.080 -specialized to the application. +00:07:52.397 --> 00:07:58.080 +but you also have other keystrokes that +are more specialized to the application. 00:07:58.080 --> 00:08:01.520 You can run the code. @@ -606,11 +521,9 @@ You can run the code. 00:08:01.520 --> 00:08:06.960 We'll see that happen here in a minute. -00:08:06.960 --> 00:08:10.080 -You can make changes to it really - -00:08:10.080 --> 00:08:12.240 -quickly +00:08:06.960 --> 00:08:12.240 +You can make changes to it +really quickly 00:08:12.240 --> 00:08:18.000 and see the effects of those changes. @@ -618,140 +531,128 @@ and see the effects of those changes. 00:08:18.000 --> 00:08:19.440 You're doing this all in a mode -00:08:19.440 --> 00:08:21.360 -that's convenient for - -00:08:21.360 --> 00:08:23.199 -this particular application, which is +00:08:19.440 --> 00:08:22.625 +that's convenient for this particular +application, -00:08:23.199 --> 00:08:25.039 -editing Lisp code, +00:08:22.625 --> 00:08:25.039 +which is editing Lisp code, 00:08:25.039 --> 00:08:28.960 and that is, in this case, symex-mode. -00:08:28.960 --> 00:08:31.039 +00:08:28.960 --> 00:08:31.631 Typically, when you're editing code +like this, -00:08:31.039 --> 00:08:32.640 -like this, you'd want to be +00:08:31.631 --> 00:08:33.435 +you'd want to be in insert mode -00:08:32.640 --> 00:08:34.800 -in insert mode actually typing out the +00:08:33.435 --> 00:08:36.640 +actually typing out the code, -00:08:34.800 --> 00:08:36.640 -code, - -00:08:36.640 --> 00:08:38.320 +00:08:36.640 --> 00:08:40.959 and then you'd want to escape to symex - -00:08:38.320 --> 00:08:40.959 mode rather than normal mode, -00:08:40.959 --> 00:08:42.159 -and then you could escape again and +00:08:40.959 --> 00:08:42.021 +and then you could escape again -00:08:42.159 --> 00:08:44.080 -you'd end up in normal mode. +00:08:42.021 --> 00:08:44.080 +and you'd end up in normal mode. -00:08:44.080 --> 00:08:46.720 -So this, if we go to mode mode, we see is - -00:08:46.720 --> 00:08:48.000 -depicted +00:08:44.080 --> 00:08:48.000 +So this, if we go to mode mode, we see +is depicted 00:08:48.000 --> 00:08:51.040 as this tower where insert is at the -00:08:51.040 --> 00:08:52.800 -bottom and normal is at the top, but - -00:08:52.800 --> 00:08:54.800 -symex-mode is in between +00:08:51.040 --> 00:08:52.604 +bottom and normal is at the top, -00:08:54.800 --> 00:08:57.200 -the two. You could also change that if +00:08:52.604 --> 00:08:55.305 +but symex-mode is in between the two. -00:08:57.200 --> 00:08:58.800 -you like. If you don't want symex-mode to +00:08:55.305 --> 00:08:57.551 +You could also change that if you like. -00:08:58.800 --> 00:09:00.640 -be there, you could just +00:08:57.551 --> 00:08:59.566 +If you don't want symex-mode +to be there, -00:09:00.640 --> 00:09:03.760 -move it to the top. Now you find symex is +00:08:59.566 --> 00:09:02.187 +you could just move it to the top. -00:09:03.760 --> 00:09:05.600 -at the top and you enter down to +00:09:02.187 --> 00:09:04.392 +Now you find symex is at the top -00:09:05.600 --> 00:09:06.160 -normal. +00:09:04.392 --> 00:09:06.160 +and you enter down to normal. -00:09:06.160 --> 00:09:07.600 +00:09:06.160 --> 00:09:08.848 You can see it on the status bar at the +bottom there. -00:09:07.600 --> 00:09:10.480 -bottom there. Enter to insert, - -00:09:10.480 --> 00:09:13.839 -escape to normal, escape to symex. +00:09:08.848 --> 00:09:13.839 +Enter to insert, escape to normal, +escape to symex. -00:09:13.839 --> 00:09:16.480 -In fact, you can even add more modes if +00:09:13.839 --> 00:09:16.344 +In fact, you can even add more modes -00:09:16.480 --> 00:09:19.380 -you don't like the existing ones. +00:09:16.344 --> 00:09:19.380 +if you don't like the existing ones. 00:09:21.519 --> 00:09:23.839 Now we have an additional mode here. -00:09:23.839 --> 00:09:25.440 -We have window mode. It goes down to +00:09:23.839 --> 00:09:25.855 +We have window mode. It goes +down to symex, -00:09:25.440 --> 00:09:27.519 -symex, it goes down to normal. +00:09:25.855 --> 00:09:27.519 +it goes down to normal. -00:09:27.519 --> 00:09:30.320 -Enter the insert, escape to normal, escape +00:09:27.519 --> 00:09:29.919 +Enter the insert, escape to normal, -00:09:30.320 --> 00:09:33.600 -to symex, escape to window. +00:09:29.919 --> 00:09:33.600 +escape to symex, escape to window. -00:09:33.600 --> 00:09:37.600 +00:09:33.600 --> 00:09:41.232 So we've talked... Okay, so another thing +actually to note here -00:09:37.600 --> 00:09:41.760 -actually to note here is that in editing +00:09:41.232 --> 00:09:45.360 +is that in editing modes, -00:09:41.760 --> 00:09:45.360 -modes, +00:09:45.360 --> 00:09:46.486 +if you look at the mode line -00:09:45.360 --> 00:09:46.720 -if you look at the mode line at the +00:09:46.486 --> 00:09:48.399 +at the bottom of the screen, -00:09:46.720 --> 00:09:48.399 -bottom of the screen, +00:09:48.399 --> 00:09:50.257 +you'll see that we are currently, -00:09:48.399 --> 00:09:50.640 -you'll see that we are currently, in this - -00:09:50.640 --> 00:09:51.519 -buffer, +00:09:50.257 --> 00:09:51.519 +in this buffer, 00:09:51.519 --> 00:09:54.560 we are currently in line mode. -00:09:54.560 --> 00:09:57.600 -I'm going to hit Enter now and +00:09:54.560 --> 00:09:57.296 +I'm going to hit Enter now -00:09:57.600 --> 00:09:58.720 -you'll see that when I hit +00:09:57.296 --> 00:09:59.119 +and you'll see that when I hit Enter, -00:09:58.720 --> 00:10:01.519 -Enter, nothing is happening. It's still in +00:09:59.119 --> 00:10:00.627 +nothing is happening. -00:10:01.519 --> 00:10:02.160 -line mode. +00:10:00.627 --> 00:10:02.160 +It's still in line mode. 00:10:02.160 --> 00:10:05.120 If you hit Escape, it's still in line mode. @@ -774,308 +675,232 @@ and line mode is the only one available 00:10:17.360 --> 00:10:19.519 in this tower -00:10:19.519 --> 00:10:21.760 -for editing the modes that are in +00:10:19.519 --> 00:10:21.556 +for editing the modes that are -00:10:21.760 --> 00:10:24.880 -operation in your ground level. +00:10:21.556 --> 00:10:24.880 +in operation in your ground level. -00:10:24.880 --> 00:10:26.560 +00:10:24.880 --> 00:10:26.898 In fact, line mode is all you need +here, -00:10:26.560 --> 00:10:28.320 -here, because this is just - -00:10:28.320 --> 00:10:30.320 -the nature of how these modes are - -00:10:30.320 --> 00:10:32.079 -laid out is - -00:10:32.079 --> 00:10:35.040 -in rows. So line mode is the most +00:10:26.898 --> 00:10:32.796 +because this is just the nature of how +these modes are laid out is in rows. -00:10:35.040 --> 00:10:36.399 -appropriate thing here. +00:10:32.796 --> 00:10:36.399 +So line mode is the most appropriate +thing here. -00:10:36.399 --> 00:10:37.680 +00:10:36.399 --> 00:10:39.740 But you could change it to something - -00:10:37.680 --> 00:10:39.740 else if you like. -00:10:40.959 --> 00:10:44.160 -Now we've seen two towers. We've - -00:10:44.160 --> 00:10:44.560 -seen +00:10:40.959 --> 00:10:43.659 +Now we've seen two towers. -00:10:44.560 --> 00:10:48.079 -the Vim tower and we've seen - -00:10:48.079 --> 00:10:53.680 +00:10:43.659 --> 00:10:53.680 +We've seen the Vim tower and we've seen also the symex tower, the Lisp tower. -00:10:53.680 --> 00:10:56.959 +00:10:53.680 --> 00:10:58.880 It turns out that, because we've been - -00:10:56.959 --> 00:10:58.880 talking about towers now, -00:10:58.880 --> 00:11:01.519 -by the rumpelstiltskin principle, towers +00:10:58.880 --> 00:11:06.399 +by the Rumpelstiltskin principle, towers +also can be talked about, -00:11:01.519 --> 00:11:02.800 -also +00:11:06.399 --> 00:11:09.127 +and therefore they also are a mode. -00:11:02.800 --> 00:11:06.399 -can be talked about, - -00:11:06.399 --> 00:11:09.279 -and therefore they also are a mode. So - -00:11:09.279 --> 00:11:11.200 -how do we go to tower mode? +00:11:09.127 --> 00:11:11.200 +So how do we go to tower mode? 00:11:11.200 --> 00:11:14.640 -The way we go to tower mode is +The way we go to tower mode is 00:11:14.640 --> 00:11:19.200 we go in a slightly different direction, -00:11:19.200 --> 00:11:20.800 +00:11:19.200 --> 00:11:23.360 and we find that we are now in tower - -00:11:20.800 --> 00:11:23.360 mode. -00:11:23.360 --> 00:11:27.440 +00:11:23.360 --> 00:11:29.279 We see that there are many towers - -00:11:27.440 --> 00:11:29.279 available. We're now... -00:11:29.279 --> 00:11:32.640 -We're seeing several possible +00:11:29.279 --> 00:11:33.440 +We're seeing several possible towers -00:11:32.640 --> 00:11:36.240 -towers that we have written +00:11:33.440 --> 00:11:40.344 +that we have written to be available and +for use in different buffers. -00:11:36.240 --> 00:11:39.120 -to be available and for use in +00:11:40.344 --> 00:11:42.110 +You can edit them on the fly. -00:11:39.120 --> 00:11:41.440 -different buffers. You can edit them +00:11:42.110 --> 00:11:46.630 +For instance, let's enter this tower. -00:11:41.440 --> 00:11:44.000 -on the fly. For instance, let's enter this - -00:11:44.000 --> 00:11:46.630 -tower. - -00:11:48.000 --> 00:11:49.920 +00:11:48.000 --> 00:11:50.180 Now you see that in the bottom of +the... -00:11:49.920 --> 00:11:51.519 -the... In the mode line, you see that we're - -00:11:51.519 --> 00:11:52.480 -going +00:11:50.180 --> 00:11:51.519 +In the mode line, you see that we're -00:11:52.480 --> 00:11:54.240 -across all of these different modes that +00:11:51.519 --> 00:11:53.944 +going across all of these +different modes -00:11:54.240 --> 00:11:56.480 -were in the tower. +00:11:53.944 --> 00:11:56.480 +that were in the tower. -00:11:56.480 --> 00:11:58.800 -You could escape and you could even +00:11:56.480 --> 00:11:59.724 +You could escape and you could even move +things around. -00:11:58.800 --> 00:12:00.399 -move things around. You could put window +00:11:59.724 --> 00:12:00.880 +You could put window mode -00:12:00.399 --> 00:12:00.880 -mode +00:12:00.880 --> 00:12:02.573 +all the way at the bottom, -00:12:00.880 --> 00:12:02.399 -all the way at the bottom, right above +00:12:02.573 --> 00:12:04.079 +right above insert mode. -00:12:02.399 --> 00:12:04.079 -insert mode. +00:12:04.079 --> 00:12:06.479 +Let's see that happen. There it is, -00:12:04.079 --> 00:12:06.880 -Let's see that happen. There it is, window +00:12:06.479 --> 00:12:10.444 +window is right above insert, and +so on. -00:12:06.880 --> 00:12:09.839 -is right above insert, and +00:12:10.444 --> 00:12:14.240 +The tower always reflects your current +position, -00:12:09.839 --> 00:12:13.040 -so on. The tower always reflects your - -00:12:13.040 --> 00:12:14.240 -current position, - -00:12:14.240 --> 00:12:15.760 +00:12:14.240 --> 00:12:17.600 so if you're in buffer mode here and you - -00:12:15.760 --> 00:12:17.600 go down to line mode, -00:12:17.600 --> 00:12:19.120 +00:12:17.600 --> 00:12:22.480 when you go back to mode mode, you see - -00:12:19.120 --> 00:12:22.480 that we are in line mode. -00:12:22.480 --> 00:12:24.000 +00:12:22.480 --> 00:12:25.620 But in practice, you wouldn't have a +tower this elaborate -00:12:24.000 --> 00:12:26.160 -tower this elaborate because - -00:12:26.160 --> 00:12:28.959 -you'd rather have several smaller towers - -00:12:28.959 --> 00:12:29.440 -you enter, +00:12:25.620 --> 00:12:29.440 +because you'd rather have several +smaller towers you enter, 00:12:29.440 --> 00:12:33.360 that you alternate between. -00:12:33.360 --> 00:12:36.639 -Okay. So one - -00:12:36.639 --> 00:12:39.839 -other thing of interest here is that +00:12:33.360 --> 00:12:39.839 +Okay. So one other thing of interest +here is that 00:12:39.839 --> 00:12:42.240 when you're in tower mode, -00:12:42.240 --> 00:12:43.839 +00:12:42.240 --> 00:12:44.740 if you look at the status line at the +bottom there, -00:12:43.839 --> 00:12:45.920 -bottom there, we are currently +00:12:44.740 --> 00:12:49.839 +we are currently in buffer mode while we +are in tower mode. -00:12:45.920 --> 00:12:49.200 -in buffer mode while we are in tower +00:12:49.839 --> 00:12:53.151 +Tower mode actually isn't a mode really. +Neither is mode mode. -00:12:49.200 --> 00:12:49.839 -mode. +00:12:53.151 --> 00:12:58.000 +They're really referential planes or +meta planes. -00:12:49.839 --> 00:12:51.600 -Tower mode actually isn't a mode - -00:12:51.600 --> 00:12:53.519 -really. Neither is mode mode. They're - -00:12:53.519 --> 00:12:53.920 -really - -00:12:53.920 --> 00:12:58.000 -referential planes or meta planes. - -00:12:58.000 --> 00:13:00.959 +00:12:58.000 --> 00:13:01.679 In any case, you can see that we're in +buffer mode. -00:13:00.959 --> 00:13:03.120 -buffer mode. We can take a meta jump - -00:13:03.120 --> 00:13:04.560 -out of this to confirm - -00:13:04.560 --> 00:13:07.120 -that buffer mode is the only mode - -00:13:07.120 --> 00:13:08.000 -available +00:13:01.679 --> 00:13:03.840 +We can take a meta jump out of this -00:13:08.000 --> 00:13:10.560 -when we're editing towers because that's +00:13:03.840 --> 00:13:08.000 +to confirm that buffer mode is the only +mode available -00:13:10.560 --> 00:13:11.200 -the one +00:13:08.000 --> 00:13:09.664 +when we're editing towers -00:13:11.200 --> 00:13:14.240 -we need, given that our towers are +00:13:09.664 --> 00:13:11.915 +because that's the one we need, -00:13:14.240 --> 00:13:15.200 -represented +00:13:11.915 --> 00:13:23.200 +given that our towers are represented in +individual buffers. -00:13:15.200 --> 00:13:23.200 -in individual buffers. +00:13:23.200 --> 00:13:26.320 +Right. So let's see where we're at. -00:13:23.200 --> 00:13:26.000 -Right. So let's see where we're +00:13:26.320 --> 00:13:27.785 +Rumpelstiltskin principle... -00:13:26.000 --> 00:13:26.320 -at. - -00:13:26.320 --> 00:13:28.240 -Rumpelstiltskin principle... We talked - -00:13:28.240 --> 00:13:30.160 -about mode mode. +00:13:27.785 --> 00:13:30.160 +We talked about mode mode. 00:13:30.160 --> 00:13:32.240 We talked about the strange loop -00:13:32.240 --> 00:13:33.920 -application of - -00:13:33.920 --> 00:13:37.820 -ground level modes in meta levels. - -00:13:39.600 --> 00:13:42.240 -We saw the different towers, and - -00:13:42.240 --> 00:13:43.199 -in fact, - -00:13:43.199 --> 00:13:46.639 -we're currently in - -00:13:46.639 --> 00:13:50.720 -Vim tower, - -00:13:50.720 --> 00:13:53.120 -where you can go to Emacs tower. Now, +00:13:32.240 --> 00:13:37.820 +application of ground level modes in +meta levels. -00:13:53.120 --> 00:13:54.720 -with a single keystroke, you can +00:13:39.600 --> 00:13:41.992 +We saw the different towers, -00:13:54.720 --> 00:13:55.760 -alternate +00:13:41.992 --> 00:13:50.720 +and in fact, we're currently +in Vim tower, -00:13:55.760 --> 00:13:59.040 -between Emacs +00:13:50.720 --> 00:13:52.860 +where you can go to Emacs tower. -00:13:59.040 --> 00:14:02.399 -and Vim, which are represented--which are +00:13:52.860 --> 00:13:54.720 +Now, with a single keystroke, you can -00:14:02.399 --> 00:14:05.519 -modeled as towers. +00:13:54.720 --> 00:13:59.695 +alternate between Emacs and Vim, -00:14:13.360 --> 00:14:15.360 -So there's... One thing that we've +00:13:59.695 --> 00:14:01.638 +which are represented-- -00:14:15.360 --> 00:14:17.040 -sort of alluded to is that there are two +00:14:01.638 --> 00:14:05.519 +which are modeled as towers. -00:14:17.040 --> 00:14:18.160 -directions +00:14:13.360 --> 00:14:14.760 +So there's... One thing -00:14:18.160 --> 00:14:20.480 -that you can travel in when you're going +00:14:14.760 --> 00:14:18.160 +that we've sort of alluded to is that +there are two directions -00:14:20.480 --> 00:14:22.399 -through this framework. +00:14:18.160 --> 00:14:19.494 +that you can travel in -00:14:22.399 --> 00:14:25.120 -One direction is--and we'll +00:14:19.494 --> 00:14:22.399 +when you're going through this +framework. -00:14:25.120 --> 00:14:33.760 -visualize it like so... +00:14:22.399 --> 00:14:33.760 +One direction is--and we'll visualize it +like so... 00:14:33.760 --> 00:14:35.120 There's two directions you can travel, @@ -1086,67 +911,53 @@ and you can either go sideways or you 00:14:37.040 --> 00:14:38.399 can go up and down. -00:14:38.399 --> 00:14:40.399 +00:14:38.399 --> 00:14:41.680 If you go sideways, you're changing your - -00:14:40.399 --> 00:14:41.680 perspective. 00:14:41.680 --> 00:14:45.440 So normal mode, word mode, line mode, -00:14:45.440 --> 00:14:47.360 -window mode, and so on are all different - -00:14:47.360 --> 00:14:49.120 -perspectives on your +00:14:45.440 --> 00:14:46.544 +window mode, and so on -00:14:49.120 --> 00:14:51.680 +00:14:46.544 --> 00:14:51.680 +are all different perspectives on your ground editing experience. -00:14:51.680 --> 00:14:53.040 -The other direction you can travel - -00:14:53.040 --> 00:14:55.519 -in is up or down, which takes you - -00:14:55.519 --> 00:14:57.920 -through meta levels. So you go from the +00:14:51.680 --> 00:14:53.265 +The other direction you can travel in -00:14:57.920 --> 00:14:59.600 -ground level editing experience +00:14:53.265 --> 00:14:56.811 +is up or down, which takes you through +meta levels. -00:14:59.600 --> 00:15:01.920 -up to mode mode and then up to the tower +00:14:56.811 --> 00:14:59.600 +So you go from the ground level +editing experience, -00:15:01.920 --> 00:15:03.440 -plane and so on +00:14:59.600 --> 00:15:07.040 +up to mode mode, and then up to the +tower plane, and so on, and so on. -00:15:03.440 --> 00:15:07.040 -and so on. +00:15:07.040 --> 00:15:12.568 +So this all sounds very complex, -00:15:07.040 --> 00:15:10.800 -So this all sounds +00:15:12.568 --> 00:15:18.160 +but the truth is it's not really that +complicated, -00:15:10.800 --> 00:15:14.880 -very complex, but the truth is +00:15:18.160 --> 00:15:20.699 +even though it feels that way. -00:15:14.880 --> 00:15:18.160 -it's not really that complicated - -00:15:18.160 --> 00:15:21.519 -even though it feels that way. The reason - -00:15:21.519 --> 00:15:22.959 -it isn't that complicated +00:15:20.699 --> 00:15:22.959 +The reason it isn't that complicated 00:15:22.959 --> 00:15:26.480 is because no matter how many levels -00:15:26.480 --> 00:15:28.800 +00:15:26.480 --> 00:15:30.160 up or down you go and no matter where - -00:15:28.800 --> 00:15:30.160 you are, 00:15:30.160 --> 00:15:32.399 @@ -1155,131 +966,102 @@ whether you're in at the ground level 00:15:32.399 --> 00:15:34.079 editing the actual text -00:15:34.079 --> 00:15:36.000 -or whether you're at a meta level, some +00:15:34.079 --> 00:15:35.802 +or whether you're at a meta level, -00:15:36.000 --> 00:15:37.600 -unknown meta level and you don't know +00:15:35.802 --> 00:15:39.279 +some unknown meta level and you don't +know where you are, -00:15:37.600 --> 00:15:39.279 -where you are, +00:15:39.279 --> 00:15:41.133 +no matter where you are, -00:15:39.279 --> 00:15:42.320 -no matter where you are, the way in which - -00:15:42.320 --> 00:15:44.399 -you interact with it +00:15:41.133 --> 00:15:44.399 +the way in which you interact with it 00:15:44.399 --> 00:15:47.519 is the same at every level. -00:15:47.519 --> 00:15:52.000 -That is the great power of - -00:15:52.000 --> 00:15:55.440 -this approach: that +00:15:47.519 --> 00:15:54.751 +That is the great power of this +approach: -00:15:55.440 --> 00:15:58.720 -all of the different levels are the - -00:15:58.720 --> 00:16:00.880 -same. +00:15:54.751 --> 00:16:00.880 +that all of the different levels +are the same. 00:16:00.880 --> 00:16:03.839 In fact, the complexity of the whole -00:16:03.839 --> 00:16:05.759 -is exactly identical to the - -00:16:05.759 --> 00:16:08.720 -complexity of each part, so if you know - -00:16:08.720 --> 00:16:10.000 -how to edit words - -00:16:10.000 --> 00:16:12.959 -in the ground level buffer and you know - -00:16:12.959 --> 00:16:13.440 -how to move +00:16:03.839 --> 00:16:05.545 +is exactly identical to -00:16:13.440 --> 00:16:15.839 -lines around using line mode, then you +00:16:05.545 --> 00:16:07.657 +the complexity of each part, -00:16:15.839 --> 00:16:16.720 -know how to edit +00:16:07.657 --> 00:16:10.000 +so if you know how to edit words -00:16:16.720 --> 00:16:19.519 -any aspect of your editing experience at +00:16:10.000 --> 00:16:12.048 +in the ground level buffer -00:16:19.519 --> 00:16:22.800 -any level. +00:16:12.048 --> 00:16:15.378 +and you know how to move lines around +using line mode, -00:16:30.079 --> 00:16:32.000 -So this is a pre-release demo. This +00:16:15.378 --> 00:16:22.800 +then you know how to edit any aspect of +your editing experience at any level. -00:16:32.000 --> 00:16:33.839 -doesn't exist on MELPA +00:16:30.079 --> 00:16:31.780 +So this is a pre-release demo. -00:16:33.839 --> 00:16:36.880 -yet, but you can follow updates +00:16:31.780 --> 00:16:40.079 +This doesn't exist on MELPA yet, but you +can follow updates at this repo on +github. -00:16:36.880 --> 00:16:40.079 -at this repo on github. +00:16:40.079 --> 00:16:43.850 +If you can also be a beta tester -00:16:40.079 --> 00:16:44.079 -If you can also be a beta tester or +00:16:43.850 --> 00:16:46.775 +or something like that, if you like, +that would be very helpful. -00:16:44.079 --> 00:16:45.199 -something like that, if you like, that - -00:16:45.199 --> 00:16:46.000 -would be very - -00:16:46.000 --> 00:16:49.199 -helpful. You can learn more about - -00:16:49.199 --> 00:16:50.560 -this at +00:16:46.775 --> 00:16:50.560 +You can learn more about this at 00:16:50.560 --> 00:16:53.920 drym.org, which is where I house -00:16:53.920 --> 00:16:55.920 -the research that I work on. In - -00:16:55.920 --> 00:16:57.279 -particular +00:16:53.920 --> 00:16:55.726 +the research that I work on. -00:16:57.279 --> 00:17:00.800 -the research on epistemic levels is what +00:16:55.726 --> 00:17:00.154 +In particular, the research on epistemic +levels -00:17:00.800 --> 00:17:03.600 -inspired this particular Emacs extension. +00:17:00.154 --> 00:17:03.600 +is what inspired this particular Emacs +extension. -00:17:03.600 --> 00:17:06.480 -You can also learn about dialectical +00:17:03.600 --> 00:17:05.600 +You can also learn about -00:17:06.480 --> 00:17:08.480 -inheritance attribution, which is the - -00:17:08.480 --> 00:17:10.880 -basis of +00:17:05.600 --> 00:17:10.880 +dialectical inheritance attribution, +which is the basis of 00:17:10.880 --> 00:17:14.559 a new economic system that could be fair -00:17:14.559 --> 00:17:16.959 +00:17:14.559 --> 00:17:19.439 and could lead to a prosperous and happy - -00:17:16.959 --> 00:17:19.439 world. -00:17:19.439 --> 00:17:22.799 -You can follow me on - -00:17:22.799 --> 00:17:26.319 -Twitter at @countvajhula. +00:17:19.439 --> 00:17:26.319 +You can follow me on Twitter at +@countvajhula. 00:17:26.319 --> 00:17:31.919 That's it! Thank you. diff --git a/2020/subtitles/emacsconf-2020--20-omg-macros--corwin-brust.vtt b/2020/subtitles/emacsconf-2020--20-omg-macros--corwin-brust.vtt index 21222a11..a2e0ccae 100644 --- a/2020/subtitles/emacsconf-2020--20-omg-macros--corwin-brust.vtt +++ b/2020/subtitles/emacsconf-2020--20-omg-macros--corwin-brust.vtt @@ -30,7 +30,7 @@ have some time.) ([Amin:] Yeah, go for it.) 00:00:19.039 --> 00:00:20.720 -Well, I'll just drive into my +Well, I'll just dive into my 00:00:20.720 --> 00:00:22.384 prepared thing here then. diff --git a/2020/subtitles/emacsconf-2020--35-waveing-at-repetitive-repetitive-repetitive-music-zmusic--questions--zachary-kanfer-autogen.vtt b/2020/subtitles/emacsconf-2020--35-waveing-at-repetitive-repetitive-repetitive-music-zmusic--questions--zachary-kanfer.vtt index 3c8dd20c..c60bd115 100644 --- a/2020/subtitles/emacsconf-2020--35-waveing-at-repetitive-repetitive-repetitive-music-zmusic--questions--zachary-kanfer-autogen.vtt +++ b/2020/subtitles/emacsconf-2020--35-waveing-at-repetitive-repetitive-repetitive-music-zmusic--questions--zachary-kanfer.vtt @@ -1,286 +1,274 @@ WEBVTT 00:00:02.800 --> 00:00:09.200 -I can yes +I can, yes. 00:00:09.200 --> 00:00:13.120 -okay um yeah so I'm uh zachary canfer +Okay, yeah, so I'm Zachary Kanfer, 00:00:13.120 --> 00:00:14.920 let's go to the 00:00:14.920 --> 00:00:17.520 -questions uh the first question uh why +questions. The first question, "Why 00:00:17.520 --> 00:00:19.119 do we go top to bottom for time 00:00:19.119 --> 00:00:19.840 -progression +progression, 00:00:19.840 --> 00:00:23.920 -uh and left to right uh for low to high +and left to right for low to high?" 00:00:23.920 --> 00:00:27.279 -interesting I think uh so the initial +Interesting, I think…, so the initial 00:00:27.279 --> 00:00:30.000 -uh thing I was copying that initial app +thing I was copying, that initial app -00:00:30.000 --> 00:00:31.599 -work this way - -00:00:31.599 --> 00:00:35.280 -um and +00:00:30.000 --> 00:00:35.280 +work this way, and 00:00:35.280 --> 00:00:36.960 -yeah I mean certainly traditional music +yeah, I mean, certainly traditional music, 00:00:36.960 --> 00:00:38.960 -you know on a staff uh +you know, on a staff 00:00:38.960 --> 00:00:43.040 -does go left to right uh like this +does go left to right like this. 00:00:43.040 --> 00:00:46.000 -um I mean going top to bottom does make +I mean, going top to bottom does make 00:00:46.000 --> 00:00:47.440 it easier to add more beats without 00:00:47.440 --> 00:00:48.960 -having to wrap but certainly that could +having to wrap, but certainly that could 00:00:48.960 --> 00:00:49.920 -be managed +be managed. 00:00:49.920 --> 00:00:52.239 -um yeah I I had not really thought about +Yeah, I had not really thought about 00:00:52.239 --> 00:00:53.760 -it but it is definitely something worth +it, but it is definitely something worth 00:00:53.760 --> 00:00:55.199 -looking into +looking into. 00:00:55.199 --> 00:01:02.480 -uh yeah you are now unmuted +Yeah. 00:01:02.480 --> 00:01:05.680 -ah good point thank you let me go ahead +Ah, good point, thank you. Let me go ahead 00:01:05.680 --> 00:01:06.960 -and do that +and do that. 00:01:06.960 --> 00:01:14.240 -uh the entire screen +The entire screen… 00:01:14.240 --> 00:01:16.880 -okay so the screen share should be +Okay, so the screen share should be 00:01:16.880 --> 00:01:18.320 -starting +starting, 00:01:18.320 --> 00:01:21.439 -there we go cool all right uh +there we go. Cool, all right. 00:01:21.439 --> 00:01:24.880 -two will be placed on the song um not +Two, "Will you play us another song?" Not 00:01:24.880 --> 00:01:26.640 -now I can I can make some recordings of +now, I can make some recordings of 00:01:26.640 --> 00:01:28.080 -it or certainly you can try it +it, or certainly you can try it. 00:01:28.080 --> 00:01:30.720 -um I couldn't quite get the the +I couldn't quite get the 00:01:30.720 --> 00:01:33.119 microphone and the webcam and everything 00:01:33.119 --> 00:01:37.040 -to work with the sound playing now um so +to work with the sound playing now. So, 00:01:37.040 --> 00:01:40.079 -uh I can record some also please uh +I can record some. Also, please… 00:01:40.079 --> 00:01:43.520 -I put a link at the uh here in the uh +I have put a link at the… here in the 00:01:43.520 --> 00:01:46.640 -etherpad https://zck.me/emacsconf2020 +Etherpad, zck.org/emacsconf2020 [updated], 00:01:46.640 --> 00:01:48.479 -where you can go and get the source +where you can go and get the source, 00:01:48.479 --> 00:01:49.920 -and you can try it yourself uh there's +and you can try it yourself. There's 00:01:49.920 --> 00:01:51.920 -no dependencies needed so it's just all +no dependencies needed, so it's just all 00:01:51.920 --> 00:01:54.560 -in Emacs um so please you know try it +in Emacs. So, please, you know, try it 00:01:54.560 --> 00:01:57.040 -yourself +yourself. 00:01:57.040 --> 00:02:00.079 -any chance for an Emacs tracker or mod +"Any chance for an Emacs tracker or mod 00:02:00.079 --> 00:02:01.040 -player +player?" 00:02:01.040 --> 00:02:03.680 -um I don't really know what a mod player +I don't really know what a mod player 00:02:03.680 --> 00:02:04.479 or tracker 00:02:04.479 --> 00:02:08.000 -are but I mean I'm sure +are, but I mean, I'm sure 00:02:08.000 --> 00:02:09.679 -that would be cool uh maybe there's one +that would be cool, maybe there's one 00:02:09.679 --> 00:02:11.599 -on now but I don't know uh +on now, but I don't know. 00:02:11.599 --> 00:02:13.920 -my musical background so I've played +My musical background. So, I've played 00:02:13.920 --> 00:02:15.200 various instruments since about the 00:02:15.200 --> 00:02:15.840 -third grade +third grade. 00:02:15.840 --> 00:02:18.160 -uh started recorder uh play cello I play +Started recorder, play cello, I play 00:02:18.160 --> 00:02:19.520 -guitar now +guitar now. 00:02:19.520 --> 00:02:22.560 -um but yeah so just kind of random +But yeah, so just kind of random 00:02:22.560 --> 00:02:23.680 -instruments and +instruments, and 00:02:23.680 --> 00:02:26.959 -uh yeah I guess kind of some of those +I guess kind of some of those 00:02:26.959 --> 00:02:27.280 things 00:02:27.280 --> 00:02:30.480 -influence how I think about music um - -00:02:30.480 --> 00:02:33.519 -uh yeah um +influence how I think about music. 00:02:33.519 --> 00:02:35.360 -are there any open source musical +"Are there any open source musical 00:02:35.360 --> 00:02:36.640 management sample libraries that could 00:02:36.640 --> 00:02:37.840 -be used +be used?" 00:02:37.840 --> 00:02:41.200 -um good question I'm sure there are um I +Good question, I'm sure there are, I 00:02:41.200 --> 00:02:42.400 -don't know any that integrate really +don't know any of that integrate really 00:02:42.400 --> 00:02:43.360 -well with Emacs +well with Emacs. 00:02:43.360 --> 00:02:44.560 -one of the cool things that I liked +One of the cool things that I liked 00:02:44.560 --> 00:02:45.680 about this is that there are no 00:02:45.680 --> 00:02:47.440 -dependencies +dependencies, 00:02:47.440 --> 00:02:49.360 -you know you don't need any external +you know, you don't need any external 00:02:49.360 --> 00:02:50.800 program to 00:02:50.800 --> 00:02:53.040 -uh generate the music I mean it it does +generate the music. I mean, it does 00:02:53.040 --> 00:02:54.160 shell out to 00:02:54.160 --> 00:02:57.280 -to play um but that +to play, but that 00:02:57.280 --> 00:02:58.640 should be able to be done on any 00:02:58.640 --> 00:02:59.840 -operating system as always you have +operating system, as always, you have 00:02:59.840 --> 00:03:03.519 -something that can play wav files +something that can play WAVE files, 00:03:03.519 --> 00:03:05.599 -um but yeah it is interesting to kind of - -00:03:05.599 --> 00:03:06.879 -try the different +but yeah, it is interesting to kind of -00:03:06.879 --> 00:03:10.000 -uh different sounds and different +00:03:05.599 --> 00:03:10.000 +try the different sounds and different 00:03:10.000 --> 00:03:12.239 -tones uh that you could get with +tones that you could get with 00:03:12.239 --> 00:03:14.400 -different instruments +different instruments. 00:03:14.400 --> 00:03:16.959 -have I written any actual songs um +Have I written any actual songs? -00:03:16.959 --> 00:03:17.599 -nothing - -00:03:17.599 --> 00:03:21.040 -super uh +00:03:16.959 --> 00:03:21.040 +Nothing super 00:03:21.040 --> 00:03:23.680 -uh well put together just I kind of just +well put together, I kind of just 00:03:23.680 --> 00:03:25.519 -been playing around with this +been playing around with this. 00:03:25.519 --> 00:03:27.440 -it's kind of I making this was one of +It's kind of… making this was one of 00:03:27.440 --> 00:03:29.040 -those things where like once I made it I +those things where once I made it, I 00:03:29.040 --> 00:03:30.080 -was like okay +was like, okay, 00:03:30.080 --> 00:03:31.280 -now I can play with it and I did a +now I can play with it, and I did a 00:03:31.280 --> 00:03:32.720 -little bit and was like I don't know if +little bit, and was like, I don't know if 00:03:32.720 --> 00:03:33.920 -I feel like it right now +I feel like it right now. 00:03:33.920 --> 00:03:37.280 -you know which I've I've found that to +You know, which I've found that to 00:03:37.280 --> 00:03:38.720 be the case with some things that I've @@ -289,7 +277,7 @@ be the case with some things that I've implemented 00:03:39.599 --> 00:03:41.360 -in Emacs where it's I make it and then +in Emacs where it's… I make it, and then 00:03:41.360 --> 00:03:43.519 it's the kind of some of the desire to @@ -298,7 +286,7 @@ it's the kind of some of the desire to use it all the time 00:03:44.480 --> 00:03:46.879 -goes away but I'm sure I'll circle back +goes away, but I'm sure I'll circle back 00:03:46.879 --> 00:03:47.760 around @@ -310,121 +298,118 @@ at some point especially kind of maybe once I add in different tones or 00:03:52.400 --> 00:03:54.640 -something +something. 00:03:54.640 --> 00:03:56.400 I guess a similar question for 00:03:56.400 --> 00:03:57.840 -pre-recorded sounds yeah I mean +pre-recorded sounds. Yeah, I mean, 00:03:57.840 --> 00:04:01.120 -if it's part of what I did what I wrote +if it's… part of what I did, what I wrote 00:04:01.120 --> 00:04:02.080 was a 00:04:02.080 --> 00:04:04.720 -wave generation library so if you kind +WAVE generation library, so, if you kind 00:04:04.720 --> 00:04:06.720 -of have the data +of have the data, 00:04:06.720 --> 00:04:08.400 -you could use those and like chop them +you could use those and chop them 00:04:08.400 --> 00:04:10.159 up and take certain lengths of them 00:04:10.159 --> 00:04:13.360 -and make a wav file so it's not plug and +and make a WAVE file, so it's not plug and 00:04:13.360 --> 00:04:14.959 -play right now but you could certainly +play right now, but you could certainly 00:04:14.959 --> 00:04:19.120 -add those notes uh to do it - -00:04:19.120 --> 00:04:21.040 -um any knitting midi mapping +add those notes to do it. -00:04:21.040 --> 00:04:22.720 -possibilities um +00:04:19.120 --> 00:04:22.720 +"Any MIDI mapping possibilities?" 00:04:22.720 --> 00:04:24.560 -I haven't looked into it but I'm sure +I haven't looked into it, but I'm sure 00:04:24.560 --> 00:04:26.160 -you definitely could output to midi +you definitely could output to MIDI 00:04:26.160 --> 00:04:28.800 -um which is another benefit of having +which is another benefit of having 00:04:28.800 --> 00:04:30.400 that multiple layers with the top layer 00:04:30.400 --> 00:04:31.520 -is just like +is just, 00:04:31.520 --> 00:04:33.360 -um you know if the root note is this +you know, if the root note is this, 00:04:33.360 --> 00:04:35.120 we're just two semitones up or seven 00:04:35.120 --> 00:04:36.560 -semitones up or whatever it is +semitones up or whatever it is. 00:04:36.560 --> 00:04:38.160 -uh it should be relatively simple to +It should be relatively simple to 00:04:38.160 --> 00:04:40.720 kind of switch out that layer underneath 00:04:40.720 --> 00:04:44.479 -uh from wave to midi or other things +from WAVE to MIDI or other things. 00:04:44.479 --> 00:04:45.759 -what were some of the challenges with +"What were some of the challenges with 00:04:45.759 --> 00:04:47.520 -writing a special mode for Emacs +writing a special mode for Emacs?" 00:04:47.520 --> 00:04:49.759 -uh interested in getting into this not +Interested in getting into this, not 00:04:49.759 --> 00:04:51.040 -sure where to start +sure where to start. 00:04:51.040 --> 00:04:54.960 -um there uh yeah it so +There… yeah, it so… 00:04:54.960 --> 00:04:57.120 -this isn't the first mode I've written +this isn't the first mode I've written, 00:04:57.120 --> 00:04:58.320 -um so that's right +so that's right…, 00:04:58.320 --> 00:05:01.759 -certainly that helps um I actually +certainly that helps. I actually… 00:05:01.759 --> 00:05:05.600 -um I have a video that we recorded it +I have a video that we recorded it 00:05:05.600 --> 00:05:08.240 -as part of Emacs nyc on making a major +as part of EmacsNYC on making a major 00:05:08.240 --> 00:05:09.039 -mode +mode. 00:05:09.039 --> 00:05:10.720 -that's basically like starts from +That's basically starts from 00:05:10.720 --> 00:05:12.639 -nothing and kind of builds up to +nothing, and kind of builds up to 00:05:12.639 --> 00:05:15.680 -an implementation of tic-tac-toe um +an implementation of tic-tac-toe, 00:05:15.680 --> 00:05:17.039 but so it kind of goes into printing @@ -433,76 +418,73 @@ but so it kind of goes into printing things out and buttons and making the 00:05:19.600 --> 00:05:21.280 -mode +mode. 00:05:21.280 --> 00:05:22.800 -I mean one of the best parts about Emacs +I mean, one of the best parts about Emacs 00:05:22.800 --> 00:05:24.560 -is because it's so +is, because it's so 00:05:24.560 --> 00:05:26.479 -uh configurable and so introspectible +configurable and so introspectible, 00:05:26.479 --> 00:05:28.479 -you can start pretty simply +you can start pretty simply, 00:05:28.479 --> 00:05:30.320 -and just kind of asking max about things +and just kind of ask Emacs about things, 00:05:30.320 --> 00:05:32.320 and then make one little 00:05:32.320 --> 00:05:34.960 -change um it's really it's not that bad - -00:05:34.960 --> 00:05:36.479 -so uh +change. It's really… it's not that bad, -00:05:36.479 --> 00:05:39.039 -I'll try to throw a link up on that uh +00:05:34.960 --> 00:05:39.039 +so, I'll try to throw a link up on that 00:05:39.039 --> 00:05:40.560 -on on that page I put up or +page I put up, or 00:05:40.560 --> 00:05:42.000 please email me for whoever asked this 00:05:42.000 --> 00:05:44.479 -question uh to get a link to that video +question to get a link to that video, 00:05:44.479 --> 00:05:46.240 -um or just look at look at the source +or just look at the source 00:05:46.240 --> 00:05:47.919 -code of this or any other major mode +code of this or any other major mode. 00:05:47.919 --> 00:05:50.479 -um it it's pretty ems breaks it makes it +Emacs makes it 00:05:50.479 --> 00:05:52.880 -pretty easy to extend uh +pretty easy to extend 00:05:52.880 --> 00:05:56.479 -major modes and I think that's that's +major modes. And I think that's 00:05:56.479 --> 00:05:57.600 the last question 00:05:57.600 --> 00:06:00.240 -in the ether pad so uh thanks so much +in the Etherpad, so, thanks so much 00:06:00.240 --> 00:06:02.479 -everybody for coming +everybody for coming. -00:06:02.479 --> 00:06:06.720 -you are now unmuted uh thank you so much +00:06:04.033 --> 00:06:06.720 +(Amin: Thank you so much 00:06:06.720 --> 00:06:09.039 -to curry for your awesome talk +to Zachary for your awesome talk, 00:06:09.039 --> 00:06:12.960 -and for doing live questions +and for doing live questions. 00:06:12.960 --> 00:06:19.840 -thank you thank you cheers +Thank you.) Thank you. (Amin: Cheers.) diff --git a/2020/subtitles/emacsconf-2020--35-waveing-at-repetitive-repetitive-repetitive-music-zmusic--zachary-kanfer-autogen.vtt b/2020/subtitles/emacsconf-2020--35-waveing-at-repetitive-repetitive-repetitive-music-zmusic--zachary-kanfer.vtt index 8fce6e98..57837210 100644 --- a/2020/subtitles/emacsconf-2020--35-waveing-at-repetitive-repetitive-repetitive-music-zmusic--zachary-kanfer-autogen.vtt +++ b/2020/subtitles/emacsconf-2020--35-waveing-at-repetitive-repetitive-repetitive-music-zmusic--zachary-kanfer.vtt @@ -1,106 +1,109 @@ WEBVTT 00:00:04.080 --> 00:00:04.960 -hi +Hi. 00:00:04.960 --> 00:00:08.559 -i'm zachary canfer and this is waving +I'm Zachary Kanfer, and this is waving 00:00:08.559 --> 00:00:11.679 -and repetitive repetitive repetitive +at repetitive repetitive repetitive 00:00:11.679 --> 00:00:15.759 -music over quarantine i've been bored +music. Over quarantine, I've been bored, 00:00:15.759 --> 00:00:18.400 -and i found this android app that has a +and I found this Android app that has a 00:00:18.400 --> 00:00:19.680 -bunch of mini games +bunch of mini-games, 00:00:19.680 --> 00:00:23.519 -one of which lets you compose music +one of which lets you compose music. 00:00:23.519 --> 00:00:26.640 -and it works but i +And it works, but I 00:00:26.640 --> 00:00:28.160 want a little bit more functionality 00:00:28.160 --> 00:00:30.720 -than it offers it's not very flexible +than it offers, it's not very flexible. 00:00:30.720 --> 00:00:33.760 -so i thought what if i made this +So, I thought what if I made this, 00:00:33.760 --> 00:00:35.360 -what and what programs could i make this +and what programs could I make this 00:00:35.360 --> 00:00:37.760 -in that are really flexible are really +in that are really flexible, are really 00:00:37.760 --> 00:00:40.320 -customizable +customizable. 00:00:40.320 --> 00:00:44.239 -emacs so i looked into it and +Emacs. So, I looked into it, and 00:00:44.239 --> 00:00:46.320 -emacs can play sounds right if you hit +Emacs can play sounds, right? If you hit 00:00:46.320 --> 00:00:47.840 -control g a couple times you'll hear +control g a couple of times, you'll hear 00:00:47.840 --> 00:00:49.760 -like an error tone +like an error tone, 00:00:49.760 --> 00:00:51.360 -and it turns out that that is actually +and it turns out that, that is actually 00:00:51.360 --> 00:00:54.559 -playing a wave file +playing a WAVE file, 00:00:54.559 --> 00:00:58.960 -but what's a wave file +but what's a WAVE file? 00:00:58.960 --> 00:01:01.920 -well it turns out that wave is a musical +Well, it turns out that WAVE is a musical 00:01:01.920 --> 00:01:03.440 -file format +file format, 00:01:03.440 --> 00:01:07.840 -or really an annoying file format +or really an annoying file format. 00:01:07.840 --> 00:01:12.080 -so data in it can be an unsigned integer +So, data in it can be an unsigned integer 00:01:12.080 --> 00:01:15.360 -or a science integer it's not consistent +or a signed integer, it's not consistent, 00:01:15.360 --> 00:01:17.920 -and it's little ending by default which +and it's little-endian by default which 00:01:17.920 --> 00:01:20.320 -is not the way i like to think about it +is not the way I like to think about it. -00:01:20.320 --> 00:01:23.200 -now you can set a wav file to be big +00:01:20.320 --> 00:01:21.600 +Now, you can -00:01:23.200 --> 00:01:25.200 -endian but if you do that +00:01:21.600 --> 00:01:23.733 +set a WAVE file to be big-endian, -00:01:25.200 --> 00:01:28.640 -emacs can't play it so little ending it +00:01:23.733 --> 00:01:25.200 +but if you do that, -00:01:28.640 --> 00:01:30.479 -is +00:01:25.200 --> 00:01:26.600 +Emacs can't play it. + +00:01:26.600 --> 00:01:30.479 +So, little-endian it is. 00:01:30.479 --> 00:01:33.520 -there's also duplicate data fields +There's also duplicate data fields. 00:01:33.520 --> 00:01:35.360 -here are some fields that are fine but +Here are some fields that are fine, but 00:01:35.360 --> 00:01:36.960 then there's a fourth field that's @@ -109,46 +112,46 @@ then there's a fourth field that's calculated based on multiplying two of 00:01:38.960 --> 00:01:40.799 -the other ones together +the other ones together, 00:01:40.799 --> 00:01:42.399 and then there's another data field 00:01:42.399 --> 00:01:44.880 -that's you multiply those three ones +that's… you multiply those three ones 00:01:44.880 --> 00:01:48.479 -together so it's just repetitive and +together. So, it's just repetitive and 00:01:48.479 --> 00:01:50.479 -unnecessary but you have to do it or +unnecessary, but you have to do it, or 00:01:50.479 --> 00:01:54.159 -it's not a valid wave file +it's not a valid WAVE file. 00:01:54.159 --> 00:01:56.479 -also the last part of the file is +Also, the last part of the file is 00:01:56.479 --> 00:01:58.159 described as data 00:01:58.159 --> 00:02:01.759 -or as one website i found said +or as one website I found said, 00:02:01.759 --> 00:02:05.200 -the actual sound data now +the actual sound data. Now, 00:02:05.200 --> 00:02:06.960 -i don't know about you but when i see +I don't know about you but when I see 00:02:06.960 --> 00:02:09.039 -that i think +that, I think, 00:02:09.039 --> 00:02:12.080 -what is a data it turns out +what is data? It turns out 00:02:12.080 --> 00:02:15.120 -that sound is just a wave and +that sound is just a wave, and 00:02:15.120 --> 00:02:17.760 the data is just a bunch of measurements @@ -157,43 +160,43 @@ the data is just a bunch of measurements of the height of that wave forming each 00:02:19.120 --> 00:02:20.400 -sample +sample. 00:02:20.400 --> 00:02:24.480 -so this wave starts at 8 goes 9 11 13 +So, this wave starts at 8 goes 9, 11, 13, 00:02:24.480 --> 00:02:27.840 -14 15 and then back down and if you just +14, 15, and then back down. If you just 00:02:27.840 --> 00:02:29.520 -take those measurements those numbers +take those measurements, those numbers, -00:02:29.520 --> 00:02:32.080 -put them in a file that's all your data +00:02:29.520 --> 00:02:30.700 +put them in a file, -00:02:32.080 --> 00:02:35.200 -is +00:02:30.700 --> 00:02:35.200 +that's all your data is. 00:02:35.200 --> 00:02:36.560 -all right let's go to a demo of my +All right. Let's go to a demo of my 00:02:36.560 --> 00:02:38.959 -program +program. 00:02:38.959 --> 00:02:41.920 -so this is what z music looks like the +So, this is what zmusic looks like. The 00:02:41.920 --> 00:02:44.080 -blue highlighted row is a single beat +blue highlighted row is a single beat, 00:02:44.080 --> 00:02:48.319 -there's 16 of them in this z music file +there's 16 of them in this zmusic file, 00:02:48.319 --> 00:02:52.000 and each dash in the row 00:02:52.000 --> 00:02:55.040 -is a single note increasing starting +is a single note increasing…, starting 00:02:55.040 --> 00:02:57.920 really low all the way on the left and @@ -202,109 +205,112 @@ really low all the way on the left and going up 00:02:58.959 --> 00:03:01.680 -as we go to the right so if we started +as we go to the right. So, if we started 00:03:01.680 --> 00:03:02.400 -playing +playing, 00:03:02.400 --> 00:03:05.040 -we won't hear anything but we'll see the +we won't hear anything, but we'll see the 00:03:05.040 --> 00:03:06.400 highlighted beat is the currently 00:03:06.400 --> 00:03:07.680 -playing one +playing one, + +00:03:07.680 --> 00:03:09.833 +and we see that it loops. -00:03:07.680 --> 00:03:11.120 -and we see that it loops so we can stop +00:03:09.833 --> 00:03:12.720 +So, we can stop it, -00:03:11.120 --> 00:03:12.720 -it +00:03:12.720 --> 00:03:20.633 +and now we can click to add some notes. -00:03:12.720 --> 00:03:30.879 -and now we can click to add some notes +00:03:20.633 --> 00:03:30.879 +[Music] 00:03:30.879 --> 00:03:33.120 -even more than one note at the same time +Even more than one note at the same time -00:03:33.120 --> 00:03:43.920 -works +00:03:33.120 --> 00:03:37.333 +works. -00:03:43.920 --> 00:03:56.160 -and we can even add notes while it's +00:03:37.333 --> 00:03:43.920 +[Music] -00:03:56.160 --> 00:03:58.840 -[Applause] +00:03:43.920 --> 00:03:45.567 +And we can even add notes -00:03:58.840 --> 00:04:00.150 -playing +00:03:45.567 --> 00:03:56.160 +while it's playing. -00:04:00.150 --> 00:04:08.239 -[Applause] +00:03:56.160 --> 00:04:08.239 +[Music] 00:04:08.239 --> 00:04:10.480 -okay here are some other features that i +Okay, here are some other features that I 00:04:10.480 --> 00:04:12.959 -didn't have time to demo +didn't have time to demo. 00:04:12.959 --> 00:04:16.000 -so you can save the music to a file and +So, you can save the music to a file, and 00:04:16.000 --> 00:04:18.239 this is interesting because normally 00:04:18.239 --> 00:04:20.880 -if there's no note in a beat we just +if there's no note in a beat, we just 00:04:20.880 --> 00:04:22.800 -don't play that beat +don't play that beat, 00:04:22.800 --> 00:04:24.639 but if you're writing to a file you have 00:04:24.639 --> 00:04:25.919 -to put something in +to put something in, 00:04:25.919 --> 00:04:27.840 so when it's playing it knows to not 00:04:27.840 --> 00:04:31.360 -make a sound there +make a sound there. -00:04:31.360 --> 00:04:34.479 -we can also use different scales we're +00:04:31.360 --> 00:04:33.800 +We can also use different scales. -00:04:34.479 --> 00:04:36.240 -using the minor pentatonic +00:04:33.800 --> 00:04:36.240 +We're using the minor pentatonic 00:04:36.240 --> 00:04:38.080 -in the demo but you can use the major +in the demo, but you can use the major 00:04:38.080 --> 00:04:39.680 scale the minor scale -00:04:39.680 --> 00:04:42.400 -or anything else and there's also +00:04:39.680 --> 00:04:40.967 +or anything else. -00:04:42.400 --> 00:04:44.400 -keyboard support but it sounds really +00:04:40.967 --> 00:04:43.367 +And there's also keyboard support, -00:04:44.400 --> 00:04:45.199 -bad +00:04:43.367 --> 00:04:45.199 +but it sounds really bad, 00:04:45.199 --> 00:04:48.240 -and i'll explain why later +and I'll explain why later. 00:04:48.240 --> 00:04:50.800 -here are some things i learned while +Here are some things I learned while 00:04:50.800 --> 00:04:53.520 -writing z music +writing zmusic. 00:04:53.520 --> 00:04:56.479 -emacs has buttons which are great as +Emacs has buttons which are great as 00:04:56.479 --> 00:04:58.240 long @@ -313,412 +319,412 @@ long as you don't put two of them right next 00:04:59.919 --> 00:05:02.160 -to each other so if you do that +to each other. So, if you do that, 00:05:02.160 --> 00:05:04.400 mousing over one of them highlights both 00:05:04.400 --> 00:05:06.160 -of them +of them. 00:05:06.160 --> 00:05:07.919 -now that's because a button is really +Now, that's because a button is really 00:05:07.919 --> 00:05:10.080 just a series of characters with a text 00:05:10.080 --> 00:05:11.680 -property to highlight them +property to highlight them. 00:05:11.680 --> 00:05:15.120 -so the fix is you put another character +So, the fix is, you put another character 00:05:15.120 --> 00:05:16.479 -between the two buttons +between the two buttons, 00:05:16.479 --> 00:05:18.080 then mousing over one of them only 00:05:18.080 --> 00:05:19.759 -highlights the one you want +highlights the one you want, 00:05:19.759 --> 00:05:21.600 but even this doesn't work really great 00:05:21.600 --> 00:05:22.800 -for z music +for zmusic, 00:05:22.800 --> 00:05:25.440 -because the music has a lot of very +because zmusic has a lot of very 00:05:25.440 --> 00:05:27.120 -small buttons in a row +small buttons in a row. 00:05:27.120 --> 00:05:29.840 -so it's really easy to accidentally put +So, it's really easy to accidentally put 00:05:29.840 --> 00:05:31.600 your cursor over the space 00:05:31.600 --> 00:05:34.639 -and click on that instead of the button +and click on that instead of the button. 00:05:34.639 --> 00:05:37.120 -so i looked into unicode and i found +So, I looked into unicode, and I found 00:05:37.120 --> 00:05:38.160 this character called 00:05:38.160 --> 00:05:40.800 -a zero width space so we should be able +a zero-width space. So, we should be able 00:05:40.800 --> 00:05:42.560 to put that between buttons and not be 00:05:42.560 --> 00:05:45.120 -able to accidentally click on it +able to accidentally click on it. 00:05:45.120 --> 00:05:46.960 -unfortunately a zeroth space isn't +Unfortunately, a zero-width space isn't 00:05:46.960 --> 00:05:50.080 -actually zero width +actually zero width. 00:05:50.080 --> 00:05:51.680 -if we put a hundred of them between two +If we put a hundred of them between two 00:05:51.680 --> 00:05:53.759 -other characters you can see there's +other characters, you can see there's 00:05:53.759 --> 00:05:54.880 -space there +space there, 00:05:54.880 --> 00:05:56.240 -and i think what's happening is the +and I think what's happening is, the 00:05:56.240 --> 00:05:58.160 space is zero width 00:05:58.160 --> 00:06:01.360 -but then emax put uses one pixel between +but then Emacs `put` uses one pixel between 00:06:01.360 --> 00:06:02.800 each pair of characters 00:06:02.800 --> 00:06:08.080 -for the cursor so it's almost zero width +for the cursor, so it's almost zero width. 00:06:08.080 --> 00:06:09.919 -some ways to play sound that don't quite +Some ways to play sound that don't quite 00:06:09.919 --> 00:06:12.960 -work play sound plays music +work! `play-sound` plays music, 00:06:12.960 --> 00:06:14.800 -but it blocks you can't do things like +but it blocks, you can't do things like, 00:06:14.800 --> 00:06:17.280 -set other notes or even pause the music +set other notes or even pause the music. 00:06:17.280 --> 00:06:19.600 -and if you throw it into async.el it's +And if you throw it into async.el, it's 00:06:19.600 --> 00:06:21.600 -silent and i don't know why +silent, and I don't know why. 00:06:21.600 --> 00:06:24.479 -so the solution i went with is taking +So, the solution I went with is taking 00:06:24.479 --> 00:06:25.440 -that wav file +that WAVE file, 00:06:25.440 --> 00:06:27.039 -ran into the file system and then +ran into the file system, and then 00:06:27.039 --> 00:06:29.199 shelling out to a native executable to 00:06:29.199 --> 00:06:30.639 -play the sound +play the sound. 00:06:30.639 --> 00:06:32.880 -and that works fine as long as you only +And that works fine as long as you only 00:06:32.880 --> 00:06:34.240 -do it once +do it once, 00:06:34.240 --> 00:06:36.080 -because if you do it a couple times at +because if you do it a couple of times at 00:06:36.080 --> 00:06:37.600 -the same time like if you have a chord +the same time like if you have a chord, 00:06:37.600 --> 00:06:38.639 and you want to play three notes 00:06:38.639 --> 00:06:40.000 -simultaneously +simultaneously, 00:06:40.000 --> 00:06:42.319 -you get this weird interference and +you get this weird interference, and 00:06:42.319 --> 00:06:43.680 that's actually why the keyboard from 00:06:43.680 --> 00:06:46.319 -before didn't work +before didn't work. 00:06:46.319 --> 00:06:49.199 -also side effects have this unexpected +Also, side effects have this unexpected 00:06:49.199 --> 00:06:50.240 -impact +impact, 00:06:50.240 --> 00:06:53.039 -uh when you saw the demo it was running +when you saw the demo it was running 00:06:53.039 --> 00:06:55.120 -pretty smoothly +pretty smoothly, 00:06:55.120 --> 00:06:57.680 -but if i just add one message statement +but if I just add one message statement 00:06:57.680 --> 00:06:58.479 every beat for 00:06:58.479 --> 00:07:00.960 -debugging purposes i was getting lag and +debugging purposes, I was getting lag and 00:07:00.960 --> 00:07:03.759 -jitter +jitter. 00:07:03.759 --> 00:07:05.440 -here's the one thing i learned about +Here's the one thing I learned about 00:07:05.440 --> 00:07:08.319 -music theory music theory +music theory, music theory 00:07:08.319 --> 00:07:11.599 -is not easy to program +is not easy to program. 00:07:11.599 --> 00:07:12.880 -i was looking around to see what +I was looking around to see what 00:07:12.880 --> 00:07:15.440 -concepts we can use to code the scales +concepts we can use to code the scales, -00:07:15.440 --> 00:07:16.080 -to code the +00:07:15.440 --> 00:07:16.933 +to code the notes, -00:07:16.080 --> 00:07:18.160 -notes the first thing that i saw is +00:07:16.933 --> 00:07:18.160 +the first thing that I saw is 00:07:18.160 --> 00:07:20.240 -scale degrees +scale degrees, 00:07:20.240 --> 00:07:23.360 -and this when i looked into it you don't +and this when I looked into it, you don't 00:07:23.360 --> 00:07:26.319 -want to program in scale degrees +want to program in scale degrees. 00:07:26.319 --> 00:07:28.240 -so you see we have the first second +So, you see we have the first, second, 00:07:28.240 --> 00:07:29.759 -third fourth fifth sixth seventh but +third, fourth, fifth, sixth, seventh but 00:07:29.759 --> 00:07:32.080 -then it wraps around that octave up +then it wraps around. That octave up 00:07:32.080 --> 00:07:33.919 -is also a first and that's because both +is also a first, and that's because both 00:07:33.919 --> 00:07:36.000 -of those notes are c +of those notes are C, 00:07:36.000 --> 00:07:38.479 -uh so that didn't work and also you +so that didn't work, and also you 00:07:38.479 --> 00:07:39.759 couldn't really easily 00:07:39.759 --> 00:07:43.599 -specify a flat or sharp you could say +specify a flat or sharp. You could say 00:07:43.599 --> 00:07:47.680 -a sharp third uh or +a sharp third or 00:07:47.680 --> 00:07:50.879 -you know a flat seventh or whatever but +you know, a flat seventh or whatever, but 00:07:50.879 --> 00:07:52.319 then you kind of have these two pieces 00:07:52.319 --> 00:07:53.759 -of data that indicate the note and i +of data that indicate the note, and I 00:07:53.759 --> 00:07:55.840 -didn't i didn't love that +didn't love that. 00:07:55.840 --> 00:07:57.440 -so i looked a little looked again and i +So, I looked again, and I 00:07:57.440 --> 00:07:59.280 -found intervals +found intervals, 00:07:59.280 --> 00:08:01.120 -and then i thought about it and you +and then I thought about it, and you 00:08:01.120 --> 00:08:02.080 don't really want to program in 00:08:02.080 --> 00:08:03.440 -intervals either +intervals either. 00:08:03.440 --> 00:08:05.520 -it fixes some of the problems with scale +It fixes some of the problems with scale 00:08:05.520 --> 00:08:07.039 -degrees you see +degrees, you see, 00:08:07.039 --> 00:08:08.319 all the way on the right you have an 00:08:08.319 --> 00:08:10.319 -octave so you wrap to 8 and you +octave, so you wrap to 8, and you 00:08:10.319 --> 00:08:13.039 -go 9 10 and that works but you solve the +go 9, 10 and that works. But you solve the 00:08:13.039 --> 00:08:14.319 -same problem you see you have a major +same problem, you see you have a major 00:08:14.319 --> 00:08:16.400 third but below we also have a minor 00:08:16.400 --> 00:08:18.080 -third so you saw that problem of having +third, so you saw that problem of having 00:08:18.080 --> 00:08:20.160 -two pieces of information +two pieces of information. 00:08:20.160 --> 00:08:23.360 -uh so i thought about it music's really +So, I thought about it. Music is really 00:08:23.360 --> 00:08:27.120 -frequencies like an a is 440 hertz +frequencies. Like an A is 440 hertz. 00:08:27.120 --> 00:08:28.400 -so at a low level that's what we're +So, at a low level that's what we're 00:08:28.400 --> 00:08:29.360 -going to do we're just going to use +going to do, we're just going to use 00:08:29.360 --> 00:08:30.560 -frequencies +frequencies. 00:08:30.560 --> 00:08:32.800 -and then at the one level above that uh +And then at the one level above that, 00:08:32.800 --> 00:08:34.159 that's a little bit easier for humans to 00:08:34.159 --> 00:08:35.360 -think about +think about, 00:08:35.360 --> 00:08:37.039 we're going to use semitones up from the 00:08:37.039 --> 00:08:39.519 -root which is kind of like scale degrees +root, which is kind of like scale degrees, 00:08:39.519 --> 00:08:40.959 but instead of just counting each note 00:08:40.959 --> 00:08:42.880 -as one more we're going to say how many +as one more, we're going to say how many 00:08:42.880 --> 00:08:44.560 -semitones up it is +semitones up it is. 00:08:44.560 --> 00:08:47.200 -so if there's a sharp between two notes +So, if there's a sharp between two notes, 00:08:47.200 --> 00:08:48.480 that's going to be two steps up instead 00:08:48.480 --> 00:08:50.000 -of just one +of just one. 00:08:50.000 --> 00:08:51.279 -and then we translate those two +And then we translate those two 00:08:51.279 --> 00:08:54.160 -frequencies so your a is 440 hertz +frequencies, so your A is 440 hertz, 00:08:54.160 --> 00:08:56.920 another note might be 00:08:56.920 --> 00:08:58.480 -613.5 +613.5, 00:08:58.480 --> 00:09:00.720 -or whatever and we that's we use the low +or whatever, and that's we use the low 00:09:00.720 --> 00:09:02.959 -level to play +level to play. 00:09:02.959 --> 00:09:05.200 -some future work i have i want to add +Some future work I have, I want to add 00:09:05.200 --> 00:09:06.480 -some drums +some drums. 00:09:06.480 --> 00:09:08.240 -i want to make that keyboard actually +I want to make that keyboard actually 00:09:08.240 --> 00:09:09.680 -work uh +work, 00:09:09.680 --> 00:09:12.399 -and uh computers and synthesizers are +and computers and synthesizers are 00:09:12.399 --> 00:09:14.320 the only place you hear a pure sine wave 00:09:14.320 --> 00:09:16.000 -like the one we have here +like the one we have here, 00:09:16.000 --> 00:09:17.680 -so i want to add overtones or other +so I want to add overtones or other 00:09:17.680 --> 00:09:19.440 -octaves above it uh just to make it +octaves above it just to make it 00:09:19.440 --> 00:09:23.120 -sound a little bit more realistic +sound a little bit more realistic. 00:09:23.120 --> 00:09:25.360 -i've put notes references in the source +I've put notes references and the source -00:09:25.360 --> 00:09:28.480 -code up at zck dot me slash emacs conf +00:09:25.360 --> 00:09:26.000 +code up -00:09:28.480 --> 00:09:31.839 -2020 i'm one of the organizers of emacs +00:09:26.000 --> 00:09:30.067 +at zck.org/emacsconf2020 [updated]. -00:09:31.839 --> 00:09:33.040 -nyc +00:09:30.067 --> 00:09:33.040 +I'm one of the organizers of EmacsNYC 00:09:33.040 --> 00:09:36.080 -check that out and if you take a look +check that out. And if you take a look 00:09:36.080 --> 00:09:38.240 -or have any thoughts i'd love to hear +or have any thoughts, I'd love to hear 00:09:38.240 --> 00:09:39.839 -them and +them, and 00:09:39.839 --> 00:09:46.160 -thanks so much for coming to my talk +thanks so much for coming to my talk. diff --git a/2020/subtitles/emacsconf-2020--39-nongnu-elpa--richard-stallman.vtt b/2020/subtitles/emacsconf-2020--39-nongnu-elpa--richard-stallman.vtt index fd313f52..89dc142e 100644 --- a/2020/subtitles/emacsconf-2020--39-nongnu-elpa--richard-stallman.vtt +++ b/2020/subtitles/emacsconf-2020--39-nongnu-elpa--richard-stallman.vtt @@ -3,17 +3,17 @@ WEBVTT 00:00:00.320 --> 00:00:03.280 Hello, I'm Richard Stallman, -00:00:03.280 --> 00:00:08.080 -founder of the GNU project. In 1976, I +00:00:03.280 --> 00:00:07.816 +founder of the GNU project. -00:00:08.080 --> 00:00:09.200 -developed the first +00:00:07.816 --> 00:00:09.200 +In 1976, I developed the first -00:00:09.200 --> 00:00:12.000 -Emacs editor with some help from Guy +00:00:09.200 --> 00:00:12.320 +Emacs editor with some help -00:00:12.000 --> 00:00:13.440 -Steele. +00:00:12.320 --> 00:00:13.440 +from Guy Steele. 00:00:13.440 --> 00:00:15.839 Then, shortly after starting to develop @@ -24,14 +24,9 @@ the GNU operating system in 1984, 00:00:19.119 --> 00:00:22.240 I wanted an Emacs editor for it. -00:00:22.240 --> 00:00:24.640 +00:00:22.240 --> 00:00:29.519 So I started writing GNU Emacs in - -00:00:24.640 --> 00:00:25.560 -September - -00:00:25.560 --> 00:00:29.519 -1984. +September 1984. 00:00:29.519 --> 00:00:32.640 Several years ago we decided to move @@ -39,47 +34,38 @@ Several years ago we decided to move 00:00:32.640 --> 00:00:35.920 many of the Emacs Lisp packages outside -00:00:35.920 --> 00:00:36.559 -the core - -00:00:36.559 --> 00:00:39.760 -Emacs distribution into a separate - -00:00:39.760 --> 00:00:42.960 -package archive that we call the Emacs +00:00:35.920 --> 00:00:39.866 +the core Emacs distribution into -00:00:42.960 --> 00:00:43.280 -Lisp +00:00:39.866 --> 00:00:46.480 +a separate package archive that we call +the Emacs Lisp package archive ELPA. -00:00:43.280 --> 00:00:46.480 -package archive ELPA. +00:00:46.480 --> 00:00:49.555 +There were two main reasons for this. -00:00:46.480 --> 00:00:48.719 -There were two main reasons for this. One +00:00:49.555 --> 00:00:51.520 +One is to make the Emacs +distribution smaller -00:00:48.719 --> 00:00:51.520 -is to make the Emacs distribution smaller +00:00:51.520 --> 00:00:54.870 +so every user wouldn't have to -00:00:51.520 --> 00:00:54.320 -so every user wouldn't have to get all +00:00:54.870 --> 00:00:55.680 +get all the packages -00:00:54.320 --> 00:00:55.680 -the packages +00:00:55.680 --> 00:00:58.820 +and install all the packages. -00:00:55.680 --> 00:00:58.320 -and install all the packages. And the +00:00:58.820 --> 00:01:00.480 +And the other reason was to make it +possible to -00:00:58.320 --> 00:01:00.480 -other reason was to make it possible to +00:01:00.480 --> 00:01:03.485 +release individual packages -00:01:00.480 --> 00:01:01.520 -release - -00:01:01.520 --> 00:01:04.559 -individual packages separately - -00:01:04.559 --> 00:01:08.880 -from Emacs releases. +00:01:03.485 --> 00:01:08.880 +separately from Emacs releases. 00:01:08.880 --> 00:01:13.119 Now, at that point somehow we decided to @@ -87,10 +73,8 @@ Now, at that point somehow we decided to 00:01:13.119 --> 00:01:17.040 support loading packages from -00:01:17.040 --> 00:01:19.520 +00:01:17.040 --> 00:01:21.119 a variety of different Emacs Lisp - -00:01:19.520 --> 00:01:21.119 package archives 00:01:21.119 --> 00:01:25.520 @@ -99,56 +83,52 @@ and ours would be called the GNU ELPA, 00:01:25.520 --> 00:01:29.280 but ELPA could be any other. -00:01:29.280 --> 00:01:32.079 -Now, I think that naming was a mistake. We - -00:01:32.079 --> 00:01:32.799 -should have +00:01:29.280 --> 00:01:32.945 +Now, I think that naming was a mistake. -00:01:32.799 --> 00:01:35.119 -meant, we should have decided that ELPA +00:01:32.945 --> 00:01:35.119 +We should have meant, we should have +decided that ELPA 00:01:35.119 --> 00:01:37.759 referred to our package archive -00:01:37.759 --> 00:01:39.759 -and any other package archive should be +00:01:37.759 --> 00:01:39.297 +and any other package archive -00:01:39.759 --> 00:01:42.479 -called some other name. +00:01:39.297 --> 00:01:42.479 +should be called some other name. -00:01:42.479 --> 00:01:46.079 -Oh, well! Uh this +00:01:42.479 --> 00:01:46.128 +Oh, well! Uh this is a mistake, -00:01:46.079 --> 00:01:48.320 -is a mistake I believe, because it leads +00:01:46.128 --> 00:01:48.320 +I believe, because it leads -00:01:48.320 --> 00:01:50.240 -to a lot of confusion it would have been +00:01:48.320 --> 00:01:49.397 +to a lot of confusion. -00:01:50.240 --> 00:01:51.119 -clearer +00:01:49.397 --> 00:01:51.119 +It would have been clearer 00:01:51.119 --> 00:01:55.759 -if we had uh used the other naming. +if we had used the other naming. -00:01:55.759 --> 00:01:59.600 -Because the difference between having a +00:01:55.759 --> 00:01:59.812 +Because the difference between -00:01:59.600 --> 00:02:00.399 -package in - -00:02:00.399 --> 00:02:04.159 -core Emacs and having it in GNU ELPA, +00:01:59.812 --> 00:02:04.159 +having a package in core Emacs and +having it in GNU ELPA, 00:02:04.159 --> 00:02:07.840 is purely a practical convenience matter. -00:02:07.840 --> 00:02:09.679 -Convenience of distribution and +00:02:07.840 --> 00:02:10.501 +Convenience of distribution -00:02:09.679 --> 00:02:12.000 -convenience of maintenance. +00:02:10.501 --> 00:02:12.000 +and convenience of maintenance. 00:02:12.000 --> 00:02:14.879 We wanted to be able to move packages @@ -156,11 +136,11 @@ We wanted to be able to move packages 00:02:14.879 --> 00:02:16.800 between the two -00:02:16.800 --> 00:02:20.160 -whenever that was convenient. So, to make +00:02:16.800 --> 00:02:19.258 +whenever that was convenient. -00:02:20.160 --> 00:02:21.200 -that possible +00:02:19.258 --> 00:02:21.200 +So, to make that possible 00:02:21.200 --> 00:02:23.200 we insisted on getting copyright @@ -168,10 +148,8 @@ we insisted on getting copyright 00:02:23.200 --> 00:02:26.319 assignments for packages in GNU ELPA -00:02:26.319 --> 00:02:28.800 +00:02:26.319 --> 00:02:31.360 just the same way we do for packages in - -00:02:28.800 --> 00:02:31.360 core Emacs. 00:02:31.360 --> 00:02:33.760 @@ -192,28 +170,22 @@ Unfortunately there was a problem with 00:02:44.879 --> 00:02:46.560 the way that was done. -00:02:46.560 --> 00:02:49.120 +00:02:46.560 --> 00:02:50.000 For the most part, the developers of - -00:02:49.120 --> 00:02:50.000 these packages -00:02:50.000 --> 00:02:52.480 -wouldn't even tell us about them. They - -00:02:52.480 --> 00:02:53.599 -posted them +00:02:50.000 --> 00:02:52.218 +wouldn't even tell us about them. -00:02:53.599 --> 00:02:56.720 -in another package archive where we +00:02:52.218 --> 00:02:56.027 +They posted them in another package +archive -00:02:56.720 --> 00:02:58.480 -didn't know about them +00:02:56.027 --> 00:02:58.480 +where we didn't know about them -00:02:58.480 --> 00:03:02.000 -and (where they) no attempt was made to - -00:03:02.000 --> 00:03:03.120 +00:02:58.480 --> 00:03:03.120 +and no attempt was made to try to fit them 00:03:03.120 --> 00:03:06.560 @@ -225,41 +197,40 @@ as parts of the Emacs distribution. 00:03:10.879 --> 00:03:14.480 This led to both moral problems, -00:03:14.480 --> 00:03:16.959 -packages that depended on non-free +00:03:14.480 --> 00:03:16.375 +(packages that depended on -00:03:16.959 --> 00:03:19.599 -software in order to be usable +00:03:16.375 --> 00:03:19.599 +non-free software in order to be usable) -00:03:19.599 --> 00:03:22.159 -and technical problems because the +00:03:19.599 --> 00:03:21.354 +and technical problems, -00:03:22.159 --> 00:03:24.319 -developers of those packages didn't +00:03:21.354 --> 00:03:24.877 +because the developers of those packages -00:03:24.319 --> 00:03:26.159 -coordinate with us +00:03:24.877 --> 00:03:26.159 +didn't coordinate with us 00:03:26.159 --> 00:03:29.519 about how to make it useful and -00:03:29.519 --> 00:03:33.040 -convenient and clean to have them - -00:03:33.040 --> 00:03:36.560 -in Emacs. +00:03:29.519 --> 00:03:36.560 +convenient and clean to have them in +Emacs. 00:03:36.560 --> 00:03:41.120 So, the idea of NonGNU ELPA -00:03:41.120 --> 00:03:44.840 -is an effort to smooth these things +00:03:41.120 --> 00:03:45.337 +is an effort to smooth these +things out. -00:03:44.840 --> 00:03:48.319 -out. The fundamental plan of +00:03:45.337 --> 00:03:48.319 +The fundamental plan of 00:03:48.319 --> 00:03:51.680 -NonGNU ELPA is that, +NonGNU ELPA is that 00:03:51.680 --> 00:03:54.480 we won't ask for copyright assignments @@ -267,134 +238,101 @@ we won't ask for copyright assignments 00:03:54.480 --> 00:03:56.159 for those packages. -00:03:56.159 --> 00:03:58.560 +00:03:56.159 --> 00:04:00.000 So, we won't be able to put them into - -00:03:58.560 --> 00:04:00.000 core Emacs; -00:04:00.000 --> 00:04:04.080 -at least not easily, but we will - -00:04:04.080 --> 00:04:06.959 -have some control over how we distribute +00:04:00.000 --> 00:04:03.550 +at least not easily, -00:04:06.959 --> 00:04:09.519 -them. +00:04:03.550 --> 00:04:09.519 +but we will have some control over how +we distribute them. -00:04:09.519 --> 00:04:12.640 -We can put any package into +00:04:09.519 --> 00:04:14.691 +We can put any package into NonGNU ELPA -00:04:12.640 --> 00:04:15.439 -NonGNU ELPA as long as it's free +00:04:14.691 --> 00:04:16.320 +as long as it's free software. -00:04:15.439 --> 00:04:16.320 -software. +00:04:16.320 --> 00:04:23.360 +If we like it, we can set up that way +for users to get it. -00:04:16.320 --> 00:04:19.440 -If we like it we can - -00:04:19.440 --> 00:04:23.360 -set up that way for users to get it. - -00:04:23.360 --> 00:04:25.919 -We could put the package in exactly as - -00:04:25.919 --> 00:04:26.720 -it is +00:04:23.360 --> 00:04:26.720 +We could put the package in +exactly as it is 00:04:26.720 --> 00:04:29.919 if there's no problem at all with it. -00:04:29.919 --> 00:04:32.160 -We can make an arrangement with the +00:04:29.919 --> 00:04:32.647 +We can make an arrangement -00:04:32.160 --> 00:04:34.160 -package's developers +00:04:32.647 --> 00:04:34.160 +with the package's developers 00:04:34.160 --> 00:04:38.000 to work on it with us and maintain it -00:04:38.000 --> 00:04:40.880 -directly for distribution by NonGNU - -00:04:40.880 --> 00:04:42.560 -ELPA - -00:04:42.560 --> 00:04:45.280 -but if they are not interested we can - -00:04:45.280 --> 00:04:46.080 -put it in - -00:04:46.080 --> 00:04:49.680 -ourselves and if we need to make any - -00:04:49.680 --> 00:04:52.000 -changes we can do so. +00:04:38.000 --> 00:04:42.560 +directly for distribution by NonGNU ELPA, -00:04:52.000 --> 00:04:55.120 -So, NonGNU ELPA +00:04:42.560 --> 00:04:45.778 +but if they are not interested, -00:04:55.120 --> 00:04:59.040 -is not meant to be just a way +00:04:45.778 --> 00:04:48.729 +we can put it in ourselves, -00:04:59.040 --> 00:05:01.360 -that others can distribute their +00:04:48.729 --> 00:04:50.453 +and if we need to make any changes, -00:05:01.360 --> 00:05:02.720 -packages. +00:04:50.453 --> 00:04:52.000 +we can do so. -00:05:02.720 --> 00:05:05.039 -It's meant at least in a minimal +00:04:52.000 --> 00:04:58.688 +So, NonGNU ELPA is not meant to be -00:05:05.039 --> 00:05:06.000 -technical +00:04:58.688 --> 00:05:02.720 +just a way that others can distribute +their packages. -00:05:06.000 --> 00:05:10.479 -sense to work with GNU Emacs, and we'll +00:05:02.720 --> 00:05:04.336 +It's meant, at least in -00:05:10.479 --> 00:05:12.800 -make changes if necessary so that it +00:05:04.336 --> 00:05:07.574 +a minimal technical sense, -00:05:12.800 --> 00:05:14.240 -works smoothly with +00:05:07.574 --> 00:05:10.686 +to work with GNU Emacs, -00:05:14.240 --> 00:05:18.720 -Emacs. And +00:05:10.686 --> 00:05:12.305 +and we'll make changes if necessary, -00:05:18.720 --> 00:05:22.160 -this means that we're going to maintain +00:05:12.305 --> 00:05:17.928 +so that it works smoothly with Emacs. -00:05:22.160 --> 00:05:23.280 -it differently +00:05:17.928 --> 00:05:25.365 +And this means that we're going to +maintain it differently from GNU ELPA. -00:05:23.280 --> 00:05:27.600 -from GNU ELPA. Well, GNU ELPA - -00:05:27.600 --> 00:05:29.759 -is hosted in a way that is actually - -00:05:29.759 --> 00:05:31.520 -rather inconvenient. +00:05:25.365 --> 00:05:31.520 +Well, GNU ELPA is hosted in a way that +is actually rather inconvenient. 00:05:31.520 --> 00:05:35.600 It is one single Git repository. -00:05:35.600 --> 00:05:38.639 -And so anybody that has access to write - -00:05:38.639 --> 00:05:39.039 -it - -00:05:39.039 --> 00:05:42.560 -can write any part of it. There are many +00:05:35.600 --> 00:05:39.039 +And so anybody that has access +to write it -00:05:42.560 --> 00:05:44.639 -different packages in there maintained +00:05:39.039 --> 00:05:41.239 +can write any part of it. -00:05:44.639 --> 00:05:46.080 -by different people, +00:05:41.239 --> 00:05:46.080 +There are many different packages in +there, maintained by different people, 00:05:46.080 --> 00:05:48.080 and we have no way to give each one of @@ -402,47 +340,40 @@ and we have no way to give each one of 00:05:48.080 --> 00:05:50.960 them access to per own package -00:05:50.960 --> 00:05:54.720 -and not to the others. Well, with NonGNU +00:05:50.960 --> 00:05:53.122 +and not to the others. -00:05:54.720 --> 00:05:58.400 -ELPA we plan to fix that. The idea is to +00:05:53.122 --> 00:05:57.035 +Well, with NonGNU ELPA, +we plan to fix that. -00:05:58.400 --> 00:05:59.440 -have +00:05:57.035 --> 00:06:01.411 +The idea is to have +a single Git repository -00:05:59.440 --> 00:06:02.479 -a single Git repository where you can +00:06:01.411 --> 00:06:05.600 +where you can download various packages from. -00:06:02.479 --> 00:06:05.600 -download various packages from. +00:06:05.600 --> 00:06:08.400 +But they won't be maintained there. -00:06:05.600 --> 00:06:08.800 -But, they won't be maintained there. Each +00:06:08.400 --> 00:06:10.800 +Each of those packages will be -00:06:08.800 --> 00:06:10.800 -of those packages will be +00:06:10.800 --> 00:06:15.280 +copied automatically from some other place. -00:06:10.800 --> 00:06:14.080 -copied automatically from some other +00:06:15.280 --> 00:06:18.311 +Probably some other repository -00:06:14.080 --> 00:06:15.280 -place. +00:06:18.311 --> 00:06:22.960 +where the right people have access to work on it. -00:06:15.280 --> 00:06:18.800 -Probably some other repository where +00:06:22.960 --> 00:06:26.375 +And this way we can avoid giving -00:06:18.800 --> 00:06:21.759 -the right people have access to work on - -00:06:21.759 --> 00:06:22.960 -it. - -00:06:22.960 --> 00:06:26.479 -And this way we can avoid giving a - -00:06:26.479 --> 00:06:28.160 -gigantic number of people +00:06:26.375 --> 00:06:28.160 +a gigantic number of people 00:06:28.160 --> 00:06:32.240 access to every part of it. @@ -453,20 +384,17 @@ So far NonGNU ELPA is just a plan, 00:06:37.039 --> 00:06:40.479 we need people to implement the plan. -00:06:40.479 --> 00:06:43.280 -So, if you would like to help please - -00:06:43.280 --> 00:06:45.120 -write to me. +00:06:40.479 --> 00:06:43.825 +So, if you would like to help, -00:06:45.120 --> 00:06:47.759 -I think this is a very important step +00:06:43.825 --> 00:06:45.120 +please write to me. -00:06:47.759 --> 00:06:49.520 -for progress +00:06:45.120 --> 00:06:49.520 +I think this is a very important step for progress 00:06:49.520 --> 00:06:52.639 and it's got to be implemented. 00:06:52.639 --> 00:06:57.919 -Thanks and happy hacking!
\ No newline at end of file +Thanks and happy hacking! |