diff options
author | Sacha Chua <sacha@sachachua.com> | 2024-01-24 13:30:50 -0500 |
---|---|---|
committer | Sacha Chua <sacha@sachachua.com> | 2024-01-24 13:30:50 -0500 |
commit | 1382f294f31db304bb8c72857ecd258b346288bf (patch) | |
tree | 1fbac185f64a9fe927bd5e86ca2256beb4227588 /2023/captions | |
parent | cb39b8943484d601c108735af63777cbc3b1063b (diff) | |
download | emacsconf-wiki-1382f294f31db304bb8c72857ecd258b346288bf.tar.xz emacsconf-wiki-1382f294f31db304bb8c72857ecd258b346288bf.zip |
update captions
Diffstat (limited to '')
5 files changed, 7227 insertions, 2485 deletions
diff --git a/2023/captions/emacsconf-2023-core--emacs-core-development-how-it-works--stefan-kangas--main.vtt b/2023/captions/emacsconf-2023-core--emacs-core-development-how-it-works--stefan-kangas--main.vtt index 7902ac79..2d7cd23d 100644 --- a/2023/captions/emacsconf-2023-core--emacs-core-development-how-it-works--stefan-kangas--main.vtt +++ b/2023/captions/emacsconf-2023-core--emacs-core-development-how-it-works--stefan-kangas--main.vtt @@ -1,4664 +1,4664 @@ WEBVTT -00:00:03.480 --> 00:00:03.840 +00:00:02.540 --> 00:00:03.840 All right. Hi again, everyone. -00:00:04.640 --> 00:00:04.839 +00:00:03.840 --> 00:00:04.839 It's been a while. Well, -00:00:06.480 --> 00:00:06.980 +00:00:04.839 --> 00:00:06.980 actually, it's been like 2 minutes tops. -00:00:08.599 --> 00:00:09.099 +00:00:07.819 --> 00:00:09.099 We were just with John Wheatley, -00:00:10.519 --> 00:00:11.019 +00:00:09.099 --> 00:00:11.019 and now we are with Stefan Krangas. -00:00:15.400 --> 00:00:15.900 +00:00:11.120 --> 00:00:15.900 Hi. Hi. So as we said before, -00:00:20.440 --> 00:00:20.600 +00:00:16.160 --> 00:00:20.600 Stefan is co-maintainer now of Is it the -00:00:22.540 --> 00:00:22.920 +00:00:20.600 --> 00:00:22.920 entire Emacs project? How do you describe -00:00:25.760 --> 00:00:26.260 +00:00:22.920 --> 00:00:26.260 this? Yeah, co-maintainer of GNU Emacs. -00:00:29.020 --> 00:00:29.380 +00:00:27.439 --> 00:00:29.380 Right, perfect. So you know what? -00:00:31.260 --> 00:00:31.760 +00:00:29.380 --> 00:00:31.760 Because I'm sure everyone is dying to hear -00:00:33.740 --> 00:00:33.840 +00:00:32.420 --> 00:00:33.840 everything you've got to say in your -00:00:35.540 --> 00:00:36.040 +00:00:33.840 --> 00:00:36.040 presentation I'm just going to shut up now -00:00:37.360 --> 00:00:37.640 +00:00:36.040 --> 00:00:37.640 and leave the floor to you. -00:00:38.940 --> 00:00:39.440 +00:00:37.640 --> 00:00:39.440 Do you need to share your screen or anything? -00:00:44.900 --> 00:00:45.239 +00:00:40.080 --> 00:00:45.239 No. Okay great well I'll just cut my webcam -00:00:46.879 --> 00:00:47.059 +00:00:45.239 --> 00:00:47.059 off I'll still be in the background so do not -00:00:48.720 --> 00:00:48.940 +00:00:47.059 --> 00:00:48.940 hesitate if you've got any problem I'm still -00:00:52.239 --> 00:00:52.560 +00:00:48.940 --> 00:00:52.560 around And I'll see you just beacon whenever -00:00:53.760 --> 00:00:53.940 +00:00:52.560 --> 00:00:53.940 you're done. And I'll show up with the -00:00:55.840 --> 00:00:56.120 +00:00:53.940 --> 00:00:56.120 questions. All right? Thank you, -00:00:58.260 --> 00:00:58.739 +00:00:56.120 --> 00:00:58.739 Leo. And thank you, everyone, -00:01:01.879 --> 00:01:02.379 +00:00:58.739 --> 00:01:02.379 for being here. I'm Stefan Kangas. -00:01:06.160 --> 00:01:06.660 +00:01:02.739 --> 00:01:06.660 So as Leo explained, I am recently appointed -00:01:09.160 --> 00:01:09.660 +00:01:06.680 --> 00:01:09.660 as a co-maintainer of GNU Emacs, -00:01:12.900 --> 00:01:13.400 +00:01:10.960 --> 00:01:13.400 which a role that I'm fulfilling currently -00:01:16.960 --> 00:01:17.460 +00:01:13.780 --> 00:01:17.460 with Eli Sretsky, who's been co-maintainer -00:01:23.140 --> 00:01:23.320 +00:01:18.840 --> 00:01:23.320 for quite some time. So I got the question to -00:01:26.400 --> 00:01:26.780 +00:01:23.320 --> 00:01:26.780 be a co-maintainer from Richard in August -00:01:28.780 --> 00:01:29.280 +00:01:26.780 --> 00:01:29.280 this year. And of course, -00:01:30.960 --> 00:01:31.460 +00:01:29.600 --> 00:01:31.460 when you get a question like that, -00:01:33.520 --> 00:01:34.020 +00:01:31.840 --> 00:01:34.020 I couldn't not say yes. -00:01:38.940 --> 00:01:39.440 +00:01:34.360 --> 00:01:39.440 So here we are. I can't tell you how excited -00:01:44.680 --> 00:01:45.060 +00:01:39.920 --> 00:01:45.060 I am to have this opportunity to address the -00:01:46.880 --> 00:01:47.380 +00:01:45.060 --> 00:01:47.380 community in this way. -00:01:49.300 --> 00:01:49.800 +00:01:47.640 --> 00:01:49.800 I'm really humbled, of course, -00:01:54.840 --> 00:01:55.040 +00:01:50.380 --> 00:01:55.040 to be part of it, and to be able to serve the -00:01:58.580 --> 00:01:59.080 +00:01:55.040 --> 00:01:59.080 community in this capacity. -00:02:03.820 --> 00:02:04.080 +00:02:00.080 --> 00:02:04.080 I've used Emacs, I think many of you might -00:02:06.600 --> 00:02:06.820 +00:02:04.080 --> 00:02:06.820 also have used Emacs for quite some time, -00:02:10.600 --> 00:02:11.100 +00:02:06.820 --> 00:02:11.100 but I'm going on 2 decades as an Emacs user. -00:02:14.020 --> 00:02:14.280 +00:02:11.120 --> 00:02:14.280 My involvement in Emacs Lisp development is, -00:02:15.660 --> 00:02:16.160 +00:02:14.280 --> 00:02:16.160 I mean, almost as long, -00:02:19.180 --> 00:02:19.680 +00:02:16.660 --> 00:02:19.680 but my core development goes back only 4, -00:02:26.200 --> 00:02:26.700 +00:02:19.960 --> 00:02:26.700 5 years. I have to also thank the EmacsConf -00:02:28.340 --> 00:02:28.840 +00:02:27.180 --> 00:02:28.840 organizers who are doing, -00:02:31.840 --> 00:02:31.960 +00:02:29.100 --> 00:02:31.960 I think, a tremendous job and have done a -00:02:34.540 --> 00:02:34.820 +00:02:31.960 --> 00:02:34.820 tremendous job over the years in really -00:02:37.300 --> 00:02:37.800 +00:02:34.820 --> 00:02:37.800 building and strengthening what I think is -00:02:41.960 --> 00:02:42.180 +00:02:38.300 --> 00:02:42.180 this fantastic community of users and -00:02:45.620 --> 00:02:46.120 +00:02:42.180 --> 00:02:46.120 developers and people interested in Emacs. -00:02:49.620 --> 00:02:50.100 +00:02:46.620 --> 00:02:50.100 I actually had the chance to meet up with Eli -00:02:53.200 --> 00:02:53.700 +00:02:50.100 --> 00:02:53.700 Sretzky, as well as another Emacs hacker, -00:02:56.580 --> 00:02:57.080 +00:02:53.960 --> 00:02:57.080 Andrea Corallo, when I was at the GNU -00:02:59.960 --> 00:03:00.460 +00:02:57.980 --> 00:03:00.460 project's 40 years celebration, -00:03:03.840 --> 00:03:04.340 +00:03:00.800 --> 00:03:04.340 40 years since the GNU project was announced. -00:03:08.040 --> 00:03:08.540 +00:03:05.280 --> 00:03:08.540 And it was very inspiring in general to meet -00:03:12.280 --> 00:03:12.780 +00:03:09.660 --> 00:03:12.780 people. And I think EmacsConf should also, -00:03:17.860 --> 00:03:18.360 +00:03:12.980 --> 00:03:18.360 I think, serve to inspire and sort of help -00:03:21.880 --> 00:03:22.120 +00:03:19.020 --> 00:03:22.120 bring something to the type of work that many -00:03:23.860 --> 00:03:24.340 +00:03:22.120 --> 00:03:24.340 of us are doing to improve Emacs, -00:03:26.040 --> 00:03:26.200 +00:03:24.340 --> 00:03:26.200 whether it's in package development or in -00:03:29.180 --> 00:03:29.680 +00:03:26.200 --> 00:03:29.680 core, to bring out the new and exciting ideas -00:03:33.540 --> 00:03:34.040 +00:03:29.800 --> 00:03:34.040 and get people enthusiastic about Emacs, -00:03:37.080 --> 00:03:37.580 +00:03:34.080 --> 00:03:37.580 about hacking on Emacs. -00:03:44.900 --> 00:03:45.400 +00:03:38.560 --> 00:03:45.400 This is my little attempt to contribute with -00:03:48.940 --> 00:03:49.440 +00:03:45.600 --> 00:03:49.440 let's say 2 things. I will first try to -00:03:54.180 --> 00:03:54.400 +00:03:49.600 --> 00:03:54.400 present how we do Emacs core development and -00:03:58.080 --> 00:03:58.360 +00:03:54.400 --> 00:03:58.360 why we've done some of the choices that we -00:04:01.560 --> 00:04:02.060 +00:03:58.360 --> 00:04:02.060 have, because We have seen at times that -00:04:06.300 --> 00:04:06.500 +00:04:02.280 --> 00:04:06.500 perhaps people aren't always clear on this or -00:04:08.160 --> 00:04:08.660 +00:04:06.500 --> 00:04:08.660 that aspect. So maybe this will be -00:04:12.040 --> 00:04:12.260 +00:04:08.960 --> 00:04:12.260 enlightening. I will also try to present some -00:04:17.360 --> 00:04:17.860 +00:04:12.260 --> 00:04:17.860 kind of vision for what Emacs could be with -00:04:21.180 --> 00:04:21.680 +00:04:18.060 --> 00:04:21.680 your help. Emacs is already very good, -00:04:26.380 --> 00:04:26.880 +00:04:21.820 --> 00:04:26.880 as we all know, but we could be even better. -00:04:29.440 --> 00:04:29.940 +00:04:27.040 --> 00:04:29.940 That's the reality of any type of software -00:04:34.600 --> 00:04:35.100 +00:04:30.060 --> 00:04:35.100 development. So the overall idea of this talk -00:04:38.080 --> 00:04:38.380 +00:04:35.220 --> 00:04:38.380 is to tell you, if you're an Emacs list -00:04:39.960 --> 00:04:40.460 +00:04:38.380 --> 00:04:40.460 package developer today, -00:04:43.700 --> 00:04:44.200 +00:04:40.760 --> 00:04:44.200 why you should become an Emacs core -00:04:47.140 --> 00:04:47.300 +00:04:44.440 --> 00:04:47.300 developer, and the sort of steps that you -00:04:48.920 --> 00:04:49.340 +00:04:47.300 --> 00:04:49.340 might want to take to do that, -00:04:51.600 --> 00:04:52.100 +00:04:49.340 --> 00:04:52.100 or how you can help Emacs core development. -00:04:54.160 --> 00:04:54.320 +00:04:52.120 --> 00:04:54.320 Even if you're just a user and you found a -00:04:57.040 --> 00:04:57.340 +00:04:54.320 --> 00:04:57.340 bug, report it. Perhaps you have a feature -00:04:58.380 --> 00:04:58.820 +00:04:57.340 --> 00:04:58.820 request that you'd like to discuss. -00:05:02.180 --> 00:05:02.680 +00:04:58.820 --> 00:05:02.680 I think we need more interaction in general -00:05:04.400 --> 00:05:04.900 +00:05:02.900 --> 00:05:04.900 between Emacs core developers, -00:05:05.940 --> 00:05:06.440 +00:05:05.080 --> 00:05:06.440 typically on emacsdevil.gnu.org, -00:05:11.920 --> 00:05:12.420 +00:05:08.440 --> 00:05:12.420 the mailing list that we use to coordinate -00:05:14.380 --> 00:05:14.880 +00:05:12.840 --> 00:05:14.880 our development efforts, -00:05:19.020 --> 00:05:19.520 +00:05:15.860 --> 00:05:19.520 between Emacs devil package developers and -00:05:21.960 --> 00:05:22.460 +00:05:19.520 --> 00:05:22.460 users, Because there is so much great stuff -00:05:24.240 --> 00:05:24.740 +00:05:22.500 --> 00:05:24.740 really going on in the community. -00:05:28.120 --> 00:05:28.620 +00:05:25.520 --> 00:05:28.620 But I think sometimes the step to core -00:05:32.360 --> 00:05:32.500 +00:05:28.740 --> 00:05:32.500 development seems big and perhaps even a -00:05:35.280 --> 00:05:35.440 +00:05:32.500 --> 00:05:35.440 little bit scary. So I'm hoping to be able to -00:05:38.440 --> 00:05:38.720 +00:05:35.440 --> 00:05:38.720 help bridge that gap, even if just a little -00:05:42.740 --> 00:05:43.000 +00:05:38.720 --> 00:05:43.000 bit. We need more people contributing to -00:05:46.240 --> 00:05:46.740 +00:05:43.000 --> 00:05:46.740 Emacs itself. And also a small disclaimer -00:05:49.740 --> 00:05:49.920 +00:05:46.840 --> 00:05:49.920 here, in this talk I will only be able to -00:05:53.200 --> 00:05:53.700 +00:05:49.920 --> 00:05:53.700 speak for myself, not for GNU or the Emacs -00:05:55.600 --> 00:05:56.100 +00:05:53.760 --> 00:05:56.100 project, even if it's like a little bit more -00:05:58.660 --> 00:05:58.780 +00:05:56.500 --> 00:05:58.780 official, but I will also try to give the -00:06:01.500 --> 00:06:01.720 +00:05:58.780 --> 00:06:01.720 view of the project where it makes sense to -00:06:04.020 --> 00:06:04.200 +00:06:01.720 --> 00:06:04.200 do so. Keep in mind, I'm only 1 of the -00:06:06.320 --> 00:06:06.820 +00:06:04.200 --> 00:06:06.820 maintainers, the co-maintainer together with -00:06:09.320 --> 00:06:09.820 +00:06:06.820 --> 00:06:09.820 Eli, and I can't just make decisions -00:06:10.900 --> 00:06:11.400 +00:06:09.880 --> 00:06:11.400 arbitrarily. In a sense, -00:06:14.020 --> 00:06:14.180 +00:06:11.680 --> 00:06:14.180 I'm as a co-maintainer and trusted as a -00:06:15.200 --> 00:06:15.420 +00:06:14.180 --> 00:06:15.420 steward and trusted by, -00:06:16.180 --> 00:06:16.680 +00:06:15.420 --> 00:06:16.680 of course, the GNU project, -00:06:21.500 --> 00:06:22.000 +00:06:16.680 --> 00:06:22.000 but also by the community That we really -00:06:23.680 --> 00:06:24.180 +00:06:22.580 --> 00:06:24.180 can't just take decisions, -00:06:26.880 --> 00:06:27.380 +00:06:24.440 --> 00:06:27.380 I think, arbitrarily. Even if it sometimes -00:06:30.060 --> 00:06:30.560 +00:06:27.380 --> 00:06:30.560 perhaps may seem so, or it may feel that way, -00:06:34.840 --> 00:06:35.080 +00:06:31.100 --> 00:06:35.080 we really have to realize that we can't just -00:06:39.020 --> 00:06:39.200 +00:06:35.080 --> 00:06:39.200 push too much of just a personal agenda to -00:06:41.280 --> 00:06:41.520 +00:06:39.200 --> 00:06:41.520 the extent that it doesn't line up with what -00:06:44.760 --> 00:06:45.260 +00:06:41.520 --> 00:06:45.260 is best for eMacs going forward, -00:06:50.020 --> 00:06:50.320 +00:06:47.500 --> 00:06:50.320 and the more overall picture of that. -00:06:52.480 --> 00:06:52.640 +00:06:50.320 --> 00:06:52.640 So there are limitations that come with the -00:06:59.440 --> 00:06:59.940 +00:06:52.640 --> 00:06:59.940 job, if you like. So 1 question I often, -00:07:02.120 --> 00:07:02.280 +00:07:00.040 --> 00:07:02.280 I actually got this week when I started a new -00:07:04.000 --> 00:07:04.500 +00:07:02.280 --> 00:07:04.500 assignment at work, and I got the question -00:07:08.240 --> 00:07:08.720 +00:07:06.280 --> 00:07:08.720 when I said I'm involved in Emacs -00:07:10.080 --> 00:07:10.400 +00:07:08.720 --> 00:07:10.400 development. And then someone asked, -00:07:11.980 --> 00:07:12.480 +00:07:10.400 --> 00:07:12.480 oh, is Emacs still developed? -00:07:16.220 --> 00:07:16.400 +00:07:12.720 --> 00:07:16.400 Isn't it done almost? And I answered to that, -00:07:17.520 --> 00:07:17.880 +00:07:16.400 --> 00:07:17.880 yes, we are still around. -00:07:21.500 --> 00:07:21.940 +00:07:17.880 --> 00:07:21.940 We're going on 40 years now as a software -00:07:25.440 --> 00:07:25.940 +00:07:21.940 --> 00:07:25.940 project. Not many projects actually can claim -00:07:28.520 --> 00:07:29.020 +00:07:26.120 --> 00:07:29.020 that type of longevity. -00:07:33.540 --> 00:07:33.900 +00:07:29.540 --> 00:07:33.900 But Emacs is among those few that can. -00:07:35.860 --> 00:07:36.340 +00:07:33.900 --> 00:07:36.340 And of course, we have had some very exciting -00:07:37.540 --> 00:07:38.000 +00:07:36.340 --> 00:07:38.000 developments in recent versions. -00:07:41.100 --> 00:07:41.600 +00:07:38.000 --> 00:07:41.600 I think John just gave you an update on that. -00:07:45.860 --> 00:07:46.160 +00:07:41.980 --> 00:07:46.160 But we had just some highlights out of many -00:07:47.440 --> 00:07:47.940 +00:07:46.160 --> 00:07:47.940 highlights that you could give, -00:07:50.780 --> 00:07:50.920 +00:07:48.580 --> 00:07:50.920 really, we got the TreeSetter support in -00:07:53.900 --> 00:07:54.320 +00:07:50.920 --> 00:07:54.320 Emacs 29 that we now need to sort of extend -00:07:55.840 --> 00:07:56.340 +00:07:54.320 --> 00:07:56.340 and develop. We have merged EGLOT, -00:07:59.120 --> 00:07:59.440 +00:07:56.380 --> 00:07:59.440 so we have LSP support out of the box, -00:08:00.480 --> 00:08:00.980 +00:07:59.440 --> 00:08:00.980 I think is a huge improvement. -00:08:02.560 --> 00:08:02.960 +00:08:01.400 --> 00:08:02.960 Native compilation, of course, -00:08:06.020 --> 00:08:06.520 +00:08:02.960 --> 00:08:06.520 a big feature. I mean, -00:08:08.520 --> 00:08:08.900 +00:08:06.580 --> 00:08:08.900 that was Andrea's job, -00:08:10.760 --> 00:08:11.260 +00:08:08.900 --> 00:08:11.260 really, for performance. -00:08:13.900 --> 00:08:14.020 +00:08:11.460 --> 00:08:14.020 And it turns out that in many types of -00:08:15.440 --> 00:08:15.720 +00:08:14.020 --> 00:08:15.720 workloads and the types of stuff that people -00:08:17.080 --> 00:08:17.580 +00:08:15.720 --> 00:08:17.580 are doing, it often matters. -00:08:20.680 --> 00:08:21.180 +00:08:18.080 --> 00:08:21.180 And we're hoping to make that the default, -00:08:24.620 --> 00:08:24.960 +00:08:21.480 --> 00:08:24.960 perhaps already in Emacs 30. -00:08:26.720 --> 00:08:26.840 +00:08:24.960 --> 00:08:26.840 So there are things that are happening that -00:08:31.180 --> 00:08:31.680 +00:08:26.840 --> 00:08:31.680 fundamentally make Emacs better at a very -00:08:37.020 --> 00:08:37.360 +00:08:32.200 --> 00:08:37.360 core level. So, of course, -00:08:41.400 --> 00:08:41.679 +00:08:37.360 --> 00:08:41.679 why wouldn't you want to be involved in such -00:08:43.140 --> 00:08:43.440 +00:08:41.679 --> 00:08:43.440 an exciting and, I think, -00:08:50.740 --> 00:08:51.240 +00:08:43.440 --> 00:08:51.240 dynamic project? How is Emacs developed? -00:08:52.600 --> 00:08:53.000 +00:08:51.660 --> 00:08:53.000 Well, this is, I think, -00:08:53.680 --> 00:08:54.180 +00:08:53.000 --> 00:08:54.180 perhaps to some people, -00:08:55.800 --> 00:08:56.300 +00:08:54.200 --> 00:08:56.300 a little bit more of a threshold, -00:08:58.820 --> 00:08:59.100 +00:08:56.520 --> 00:08:59.100 if you like, because I think all of us know -00:09:02.140 --> 00:09:02.640 +00:08:59.100 --> 00:09:02.640 really that there is exciting and cool stuff -00:09:06.300 --> 00:09:06.560 +00:09:02.980 --> 00:09:06.560 that is going on in Emacs and has been going -00:09:08.000 --> 00:09:08.260 +00:09:06.560 --> 00:09:08.260 on over the last couple of years and we'll -00:09:09.720 --> 00:09:10.040 +00:09:08.260 --> 00:09:10.040 see even more of that, -00:09:10.680 --> 00:09:11.180 +00:09:10.040 --> 00:09:11.180 I think, going forward. -00:09:16.360 --> 00:09:16.580 +00:09:12.600 --> 00:09:16.580 1 thing is that communication still takes -00:09:19.840 --> 00:09:20.340 +00:09:16.580 --> 00:09:20.340 place over a mailing list in 2023. -00:09:23.300 --> 00:09:23.800 +00:09:21.240 --> 00:09:23.800 So we have emacsdevil at gnu.org, -00:09:25.640 --> 00:09:26.140 +00:09:24.440 --> 00:09:26.140 and that's where we develop Emacs. -00:09:29.700 --> 00:09:30.140 +00:09:26.680 --> 00:09:30.140 We use, we send patches back and forth, -00:09:30.860 --> 00:09:31.360 +00:09:30.140 --> 00:09:31.360 we comment on patches. -00:09:35.920 --> 00:09:36.420 +00:09:32.700 --> 00:09:36.420 And actually this workflow is very good, -00:09:39.240 --> 00:09:39.580 +00:09:36.700 --> 00:09:39.580 if you're used to it. Because guess what? -00:09:42.040 --> 00:09:42.200 +00:09:39.580 --> 00:09:42.200 As Emacs users, we like doing everything we -00:09:45.060 --> 00:09:45.220 +00:09:42.200 --> 00:09:45.220 can in Emacs, especially the core tasks that -00:09:49.480 --> 00:09:49.980 +00:09:45.220 --> 00:09:49.980 we're doing, such as developing Emacs itself. -00:09:52.360 --> 00:09:52.860 +00:09:50.140 --> 00:09:52.860 Of course, you want to do that fully within -00:09:55.080 --> 00:09:55.440 +00:09:52.960 --> 00:09:55.440 Emacs. So we hack Emacs Lisp in Emacs, -00:09:58.340 --> 00:09:58.840 +00:09:55.440 --> 00:09:58.840 we hack C in Emacs, we respond to emails also -00:10:02.220 --> 00:10:02.700 +00:10:00.240 --> 00:10:02.700 from Emacs, respond to bug reports, -00:10:04.540 --> 00:10:05.040 +00:10:02.700 --> 00:10:05.040 manage bug reports. We do all that stuff -00:10:07.580 --> 00:10:07.840 +00:10:05.460 --> 00:10:07.840 very, very smoothly. And it doesn't really -00:10:10.040 --> 00:10:10.540 +00:10:07.840 --> 00:10:10.540 matter in a sense, what is the medium? -00:10:11.580 --> 00:10:12.080 +00:10:10.560 --> 00:10:12.080 It happens to be email. -00:10:13.660 --> 00:10:14.160 +00:10:12.180 --> 00:10:14.160 Technically it could be anything, -00:10:16.320 --> 00:10:16.720 +00:10:14.440 --> 00:10:16.720 but email really has that type of staying -00:10:19.540 --> 00:10:19.640 +00:10:16.720 --> 00:10:19.640 power where we've been able to use it for a -00:10:20.760 --> 00:10:21.260 +00:10:19.640 --> 00:10:21.260 long time. And this is how, -00:10:23.860 --> 00:10:24.000 +00:10:22.360 --> 00:10:24.000 and we're still able to use it. -00:10:25.520 --> 00:10:25.800 +00:10:24.000 --> 00:10:25.800 And this is how free software was always -00:10:26.380 --> 00:10:26.640 +00:10:25.800 --> 00:10:26.640 developed in the past. -00:10:28.020 --> 00:10:28.380 +00:10:26.640 --> 00:10:28.380 Only in the last, let's say 10, -00:10:32.160 --> 00:10:32.440 +00:10:28.380 --> 00:10:32.440 15 years, We've had more development taking -00:10:35.060 --> 00:10:35.560 +00:10:32.440 --> 00:10:35.560 place perhaps on forges like GitHub, -00:10:39.060 --> 00:10:39.160 +00:10:35.580 --> 00:10:39.160 GitLab, whatever. But we are 1 of the -00:10:40.320 --> 00:10:40.680 +00:10:39.160 --> 00:10:40.680 holdouts. I mean, there are others, -00:10:42.340 --> 00:10:42.560 +00:10:40.680 --> 00:10:42.560 of course, like the Linux kernel has mailing -00:10:44.060 --> 00:10:44.340 +00:10:42.560 --> 00:10:44.340 lists. They're not trying to do that scale -00:10:47.080 --> 00:10:47.580 +00:10:44.340 --> 00:10:47.580 development on GitHub. -00:10:50.860 --> 00:10:51.360 +00:10:49.280 --> 00:10:51.360 And this is not just because we're Luddites -00:10:53.320 --> 00:10:53.560 +00:10:51.760 --> 00:10:53.560 that refuse to change. -00:10:55.080 --> 00:10:55.380 +00:10:53.560 --> 00:10:55.380 We just have to do it in the old way, -00:10:56.820 --> 00:10:57.120 +00:10:55.380 --> 00:10:57.120 because it is the old way, -00:10:58.180 --> 00:10:58.680 +00:10:57.120 --> 00:10:58.680 and that's the way it should be. -00:10:59.920 --> 00:11:00.420 +00:10:58.780 --> 00:11:00.420 No, it's actually because we, -00:11:03.120 --> 00:11:03.460 +00:11:01.220 --> 00:11:03.460 as core developers, the core development team -00:11:05.020 --> 00:11:05.460 +00:11:03.460 --> 00:11:05.460 and the people already involved and doing -00:11:08.320 --> 00:11:08.560 +00:11:05.460 --> 00:11:08.560 tremendous, I mean large amounts of work in -00:11:11.980 --> 00:11:12.480 +00:11:08.560 --> 00:11:12.480 Emacs has very efficient workflows built up -00:11:15.240 --> 00:11:15.620 +00:11:12.720 --> 00:11:15.620 based on this. So of course, -00:11:17.280 --> 00:11:17.780 +00:11:15.620 --> 00:11:17.780 I mean moving to something else is something -00:11:19.680 --> 00:11:20.180 +00:11:18.320 --> 00:11:20.180 that we might like to do, -00:11:24.240 --> 00:11:24.400 +00:11:20.580 --> 00:11:24.400 but we're not yet clear on how to do it -00:11:25.600 --> 00:11:26.100 +00:11:24.400 --> 00:11:26.100 exactly and what to move to. -00:11:27.980 --> 00:11:28.380 +00:11:26.320 --> 00:11:28.380 So these are the types of discussions that -00:11:30.140 --> 00:11:30.280 +00:11:28.380 --> 00:11:30.280 we're looking at. Can we still support a -00:11:33.660 --> 00:11:34.040 +00:11:30.280 --> 00:11:34.040 mailing, an email type workflow while moving -00:11:35.980 --> 00:11:36.100 +00:11:34.040 --> 00:11:36.100 to something else? That would be 1 of the big -00:11:38.160 --> 00:11:38.400 +00:11:36.100 --> 00:11:38.400 ones. I think another thing that trips people -00:11:40.520 --> 00:11:40.840 +00:11:38.400 --> 00:11:40.840 up is that we used a bug tracker that, -00:11:42.380 --> 00:11:42.620 +00:11:40.840 --> 00:11:42.620 I mean, maybe some people, -00:11:45.060 --> 00:11:45.560 +00:11:42.620 --> 00:11:45.560 I've heard people say it's archaic. -00:11:49.700 --> 00:11:49.900 +00:11:47.020 --> 00:11:49.900 It's called Debugs. I think maybe Debugs gets -00:11:51.860 --> 00:11:52.000 +00:11:49.900 --> 00:11:52.000 a bit of a bad rap. I think that bugs is a -00:11:52.600 --> 00:11:53.100 +00:11:52.000 --> 00:11:53.100 good piece of software. -00:11:54.660 --> 00:11:55.160 +00:11:53.520 --> 00:11:55.160 It wasn't developed in 2023. -00:11:57.040 --> 00:11:57.540 +00:11:55.580 --> 00:11:57.540 I mean, that's much as clear. -00:11:58.380 --> 00:11:58.880 +00:11:57.660 --> 00:11:58.880 It's a little bit older, -00:12:00.920 --> 00:12:01.320 +00:11:59.060 --> 00:12:01.320 but it really is a workhorse of the Debian -00:12:03.320 --> 00:12:03.820 +00:12:01.320 --> 00:12:03.820 project, which is obviously a project that's -00:12:08.940 --> 00:12:09.400 +00:12:03.960 --> 00:12:09.400 developed in a very different way than Emacs -00:12:11.480 --> 00:12:11.880 +00:12:09.400 --> 00:12:11.880 is. It's on a completely different scale, -00:12:12.540 --> 00:12:12.840 +00:12:11.880 --> 00:12:12.840 of course, much bigger, -00:12:14.480 --> 00:12:14.980 +00:12:12.840 --> 00:12:14.980 many more developers, and so on. -00:12:17.600 --> 00:12:17.800 +00:12:15.040 --> 00:12:17.800 But I think the developers did a good job for -00:12:19.740 --> 00:12:20.240 +00:12:17.800 --> 00:12:20.240 the time. But it might be showing its age, -00:12:22.660 --> 00:12:23.160 +00:12:20.920 --> 00:12:23.160 perhaps, in places. Perhaps, -00:12:24.620 --> 00:12:25.120 +00:12:23.440 --> 00:12:25.120 again, it's the email workflow. -00:12:27.440 --> 00:12:27.720 +00:12:25.260 --> 00:12:27.720 And people see that as a little bit of a -00:12:29.840 --> 00:12:30.180 +00:12:27.720 --> 00:12:30.180 threshold. It seems alien. -00:12:30.800 --> 00:12:31.300 +00:12:30.180 --> 00:12:31.300 It's a little bit strange, -00:12:34.480 --> 00:12:34.980 +00:12:32.220 --> 00:12:34.980 the types of workflows that you have there. -00:12:38.720 --> 00:12:38.860 +00:12:35.220 --> 00:12:38.860 So we are seeing some limitations with that -00:12:40.440 --> 00:12:40.940 +00:12:38.860 --> 00:12:40.940 box. And again, how do you report bugs? -00:12:42.160 --> 00:12:42.600 +00:12:41.020 --> 00:12:42.600 Well, in a sense, it's easy. -00:12:46.160 --> 00:12:46.660 +00:12:42.600 --> 00:12:46.660 You send an email to bug-gnu-emacs at gnu.org -00:12:51.140 --> 00:12:51.340 +00:12:47.620 --> 00:12:51.340 and you copy in whatever you get from, -00:12:53.140 --> 00:12:53.300 +00:12:51.340 --> 00:12:53.300 you know, report the EMAX bug or if you have, -00:12:54.620 --> 00:12:55.120 +00:12:53.300 --> 00:12:55.120 you know, send mail set up locally, -00:12:58.340 --> 00:12:58.700 +00:12:55.580 --> 00:12:58.700 just hit control C, control C and it's sent -00:13:01.220 --> 00:13:01.720 +00:12:58.700 --> 00:13:01.720 to the bug tracker and that's fine. -00:13:08.260 --> 00:13:08.680 +00:13:03.840 --> 00:13:08.680 But also I have to mention that there is this -00:13:10.120 --> 00:13:10.600 +00:13:08.680 --> 00:13:10.600 very good package on GNU Elpas. -00:13:13.260 --> 00:13:13.540 +00:13:10.600 --> 00:13:13.540 If you're ever trying to read the Emacs bug -00:13:16.060 --> 00:13:16.500 +00:13:13.540 --> 00:13:16.500 tracker or following along in Emacs -00:13:18.840 --> 00:13:19.000 +00:13:16.500 --> 00:13:19.000 development, I really recommend install the -00:13:20.800 --> 00:13:21.300 +00:13:19.000 --> 00:13:21.300 package devbugs from GNU Elpa. -00:13:23.720 --> 00:13:24.140 +00:13:22.120 --> 00:13:24.140 It's so good. And again, -00:13:26.400 --> 00:13:26.580 +00:13:24.140 --> 00:13:26.580 it's built on GNU, it's all integrated in -00:13:29.540 --> 00:13:30.040 +00:13:26.580 --> 00:13:30.040 Emacs, it's so much better than using the web -00:13:32.960 --> 00:13:33.220 +00:13:30.660 --> 00:13:33.220 and so on. And if you really want to get into -00:13:37.540 --> 00:13:38.040 +00:13:33.220 --> 00:13:38.040 it, you can download the bug tracker archives -00:13:39.000 --> 00:13:39.500 +00:13:38.140 --> 00:13:39.500 and the mailing list archives, -00:13:40.800 --> 00:13:41.260 +00:13:39.720 --> 00:13:41.260 and you can put them locally, -00:13:41.880 --> 00:13:42.380 +00:13:41.260 --> 00:13:42.380 you can have them searchable, -00:13:44.280 --> 00:13:44.440 +00:13:42.740 --> 00:13:44.440 and you can have whatever experience you -00:13:46.840 --> 00:13:47.340 +00:13:44.440 --> 00:13:47.340 like. So, I mean, it's really a flexible -00:13:50.740 --> 00:13:51.240 +00:13:48.240 --> 00:13:51.240 workflow, but it's a bit strange, -00:13:52.120 --> 00:13:52.620 +00:13:51.260 --> 00:13:52.620 perhaps, to some people. -00:13:57.920 --> 00:13:58.120 +00:13:53.460 --> 00:13:58.120 So we also think supporting only this -00:13:59.640 --> 00:14:00.140 +00:13:58.120 --> 00:14:00.140 workflow might be a little bit too limiting. -00:14:03.700 --> 00:14:04.200 +00:14:00.660 --> 00:14:04.200 So we do want to move over to something like -00:14:06.360 --> 00:14:06.760 +00:14:04.440 --> 00:14:06.760 GitLab, perhaps Sourcehat or something -00:14:09.960 --> 00:14:10.460 +00:14:06.760 --> 00:14:10.460 similar. We've had a couple of discussions -00:14:13.500 --> 00:14:14.000 +00:14:10.760 --> 00:14:14.000 about that over the last couple of years. -00:14:15.480 --> 00:14:15.820 +00:14:14.480 --> 00:14:15.820 I think even before that, -00:14:18.580 --> 00:14:18.940 +00:14:15.820 --> 00:14:18.940 but that's how far back I've been involved, -00:14:21.300 --> 00:14:21.800 +00:14:18.940 --> 00:14:21.800 and definitely it's come up occasionally. -00:14:27.400 --> 00:14:27.900 +00:14:23.100 --> 00:14:27.900 I think we are less far away than perhaps -00:14:30.060 --> 00:14:30.560 +00:14:27.940 --> 00:14:30.560 ever is how I would express that, -00:14:36.180 --> 00:14:36.680 +00:14:30.720 --> 00:14:36.680 and in the sense that the remaining blockers -00:14:38.360 --> 00:14:38.640 +00:14:36.960 --> 00:14:38.640 for just making the shift, -00:14:39.960 --> 00:14:40.200 +00:14:38.640 --> 00:14:40.200 let's say, are I think, -00:14:41.960 --> 00:14:42.120 +00:14:40.200 --> 00:14:42.120 I mean, first of all, we're talking about -00:14:43.620 --> 00:14:44.020 +00:14:42.120 --> 00:14:44.020 limitations, perhaps in the software, -00:14:46.160 --> 00:14:46.420 +00:14:44.020 --> 00:14:46.420 they're well defined, and they're not as -00:14:48.840 --> 00:14:49.060 +00:14:46.420 --> 00:14:49.060 amountable. I don't think they have to be in -00:14:50.660 --> 00:14:50.840 +00:14:49.060 --> 00:14:50.840 any case. We should be able to make some -00:14:54.160 --> 00:14:54.660 +00:14:50.840 --> 00:14:54.660 progress. The main thing that we're lacking -00:14:57.980 --> 00:14:58.480 +00:14:54.720 --> 00:14:58.480 now is not more discussion or more people -00:15:02.800 --> 00:15:03.120 +00:15:00.800 --> 00:15:03.120 prodding us to just please switch over. -00:15:04.080 --> 00:15:04.580 +00:15:03.120 --> 00:15:04.580 No, we're looking for volunteers. -00:15:07.880 --> 00:15:08.380 +00:15:05.980 --> 00:15:08.380 If you think that you, -00:15:10.760 --> 00:15:10.960 +00:15:08.400 --> 00:15:10.960 you know, have what it takes to sort of come -00:15:13.860 --> 00:15:14.060 +00:15:10.960 --> 00:15:14.060 in and help us do something like that and -00:15:14.860 --> 00:15:15.040 +00:15:14.060 --> 00:15:15.040 work together with us, -00:15:16.600 --> 00:15:16.840 +00:15:15.040 --> 00:15:16.840 you know, to see what can be done, -00:15:19.960 --> 00:15:20.200 +00:15:16.840 --> 00:15:20.200 perhaps some, a few things would need to be -00:15:22.840 --> 00:15:23.220 +00:15:20.200 --> 00:15:23.220 changed in GitLab. I don't think anything -00:15:25.940 --> 00:15:26.120 +00:15:23.220 --> 00:15:26.120 huge, but maybe there are some patches to be -00:15:27.380 --> 00:15:27.880 +00:15:26.120 --> 00:15:27.880 written and sent upstream, -00:15:30.200 --> 00:15:30.280 +00:15:27.980 --> 00:15:30.280 or maybe we need to do some local hacks or -00:15:32.900 --> 00:15:33.140 +00:15:30.280 --> 00:15:33.140 whatever. If you wanna do that, -00:15:34.360 --> 00:15:34.860 +00:15:33.140 --> 00:15:34.860 please contact us, emacsdevil. -00:15:38.480 --> 00:15:38.940 +00:15:35.460 --> 00:15:38.940 We'll be very happy to talk to you. -00:15:39.960 --> 00:15:40.460 +00:15:38.940 --> 00:15:40.460 And then we can start making progress. -00:15:42.340 --> 00:15:42.740 +00:15:40.520 --> 00:15:42.740 So I'm really hoping that that sound like -00:15:46.120 --> 00:15:46.620 +00:15:42.740 --> 00:15:46.620 will come into place. But we need to, -00:15:52.160 --> 00:15:52.340 +00:15:46.780 --> 00:15:52.340 if we do switch over, we need to preserve the -00:15:54.400 --> 00:15:54.820 +00:15:52.340 --> 00:15:54.820 good parts of our email-based workflows. -00:15:56.980 --> 00:15:57.140 +00:15:54.820 --> 00:15:57.140 So there are requirements there so that we -00:15:59.680 --> 00:16:00.180 +00:15:57.140 --> 00:16:00.180 can continue to do our job as maintainers, -00:16:04.440 --> 00:16:04.900 +00:16:01.720 --> 00:16:04.900 if you like. Another thing is that we've -00:16:08.140 --> 00:16:08.340 +00:16:04.900 --> 00:16:08.340 sometimes seen that there's a bit of a -00:16:11.040 --> 00:16:11.380 +00:16:08.340 --> 00:16:11.380 different culture perhaps on mailing lists -00:16:14.860 --> 00:16:15.060 +00:16:11.380 --> 00:16:15.060 and on Emacs devil than what many people are -00:16:17.080 --> 00:16:17.580 +00:16:15.060 --> 00:16:17.580 used to, especially like you've used perhaps, -00:16:20.380 --> 00:16:20.540 +00:16:17.800 --> 00:16:20.540 many people might be in university and -00:16:23.000 --> 00:16:23.500 +00:16:20.540 --> 00:16:23.500 they've started using Emacs, -00:16:25.320 --> 00:16:25.820 +00:16:23.720 --> 00:16:25.820 maybe got into a little bit of package -00:16:28.860 --> 00:16:29.060 +00:16:25.840 --> 00:16:29.060 development and starting to get the ropes of -00:16:32.040 --> 00:16:32.540 +00:16:29.060 --> 00:16:32.540 that and are very used to working on places -00:16:34.980 --> 00:16:35.460 +00:16:32.560 --> 00:16:35.460 like GitLab or something like that, -00:16:37.860 --> 00:16:38.000 +00:16:35.460 --> 00:16:38.000 then the type of culture and way of -00:16:41.920 --> 00:16:42.040 +00:16:38.000 --> 00:16:42.040 communicating that we use in Emacs might be a -00:16:43.940 --> 00:16:44.440 +00:16:42.040 --> 00:16:44.440 little bit different. And of course, -00:16:46.860 --> 00:16:47.360 +00:16:44.540 --> 00:16:47.360 it's different in the sense that mailing -00:16:49.700 --> 00:16:49.900 +00:16:47.380 --> 00:16:49.900 lists have always, I mean, -00:16:50.740 --> 00:16:51.060 +00:16:49.900 --> 00:16:51.060 let's say hacker culture, -00:16:51.940 --> 00:16:52.120 +00:16:51.060 --> 00:16:52.120 whatever you want to call it, -00:16:53.900 --> 00:16:54.400 +00:16:52.120 --> 00:16:54.400 have always communicated in a particular way -00:16:58.180 --> 00:16:58.340 +00:16:54.720 --> 00:16:58.340 using mailing lists. So it's like succinct to -00:16:59.860 --> 00:17:00.320 +00:16:58.340 --> 00:17:00.320 the point, perhaps I'm skipping a few -00:17:03.080 --> 00:17:03.340 +00:17:00.320 --> 00:17:03.340 pleasantries. And the idea is that you should -00:17:07.500 --> 00:17:08.000 +00:17:03.340 --> 00:17:08.000 just use it in as effective way as possible, -00:17:10.599 --> 00:17:11.099 +00:17:08.359 --> 00:17:11.099 so that also the archives are usable. -00:17:13.280 --> 00:17:13.660 +00:17:11.319 --> 00:17:13.660 And the other thing is that generally people -00:17:16.319 --> 00:17:16.500 +00:17:13.660 --> 00:17:16.500 involved in developing free software has to -00:17:19.160 --> 00:17:19.660 +00:17:16.500 --> 00:17:19.660 deal with a lot of incoming traffic, -00:17:25.680 --> 00:17:25.900 +00:17:19.780 --> 00:17:25.900 emails. They don't have the bandwidth if it's -00:17:27.760 --> 00:17:28.220 +00:17:25.900 --> 00:17:28.220 too much noise. You really need to be strict -00:17:31.360 --> 00:17:31.840 +00:17:28.220 --> 00:17:31.840 to keep the signal to noise ratio high. -00:17:34.780 --> 00:17:35.280 +00:17:31.840 --> 00:17:35.280 We have some weird terminology on the Emacs -00:17:37.540 --> 00:17:38.040 +00:17:35.280 --> 00:17:38.040 devil. People tell us, -00:17:40.260 --> 00:17:40.680 +00:17:38.200 --> 00:17:40.680 we say sometimes install patches which -00:17:43.900 --> 00:17:44.180 +00:17:40.680 --> 00:17:44.180 basically means push to master or merge pull -00:17:46.520 --> 00:17:46.720 +00:17:44.180 --> 00:17:46.720 requests because we've used other version -00:17:48.340 --> 00:17:48.600 +00:17:46.720 --> 00:17:48.600 control systems in the past where it might -00:17:50.200 --> 00:17:50.700 +00:17:48.600 --> 00:17:50.700 have made more sense to say install patches. -00:17:52.200 --> 00:17:52.540 +00:17:51.000 --> 00:17:52.540 And then you sort of, I don't know, -00:17:54.140 --> 00:17:54.380 +00:17:52.540 --> 00:17:54.380 I say it. Don't ask me why. -00:17:55.840 --> 00:17:56.040 +00:17:54.380 --> 00:17:56.040 But it feels natural after a while. -00:17:57.540 --> 00:17:57.720 +00:17:56.040 --> 00:17:57.720 You install a patch. It's clear what you -00:18:02.040 --> 00:18:02.280 +00:17:57.720 --> 00:18:02.280 mean. You don't have to worry about which -00:18:05.440 --> 00:18:05.940 +00:18:02.280 --> 00:18:05.940 branch it's on. So it's a little bit -00:18:09.880 --> 00:18:10.120 +00:18:06.600 --> 00:18:10.120 historical there. So there is some of that -00:18:11.680 --> 00:18:11.960 +00:18:10.120 --> 00:18:11.960 culture going on. It might be different. -00:18:13.700 --> 00:18:14.200 +00:18:11.960 --> 00:18:14.200 We don't use emojis that much. -00:18:16.180 --> 00:18:16.680 +00:18:14.220 --> 00:18:16.680 That's another thing. There is no like, -00:18:20.740 --> 00:18:20.900 +00:18:16.840 --> 00:18:20.900 you can click the little like button at the -00:18:24.660 --> 00:18:25.080 +00:18:20.900 --> 00:18:25.080 bottom of a comment or an email as you could -00:18:27.560 --> 00:18:27.740 +00:18:25.080 --> 00:18:27.740 on GitHub. But there are exceptions and it's -00:18:29.240 --> 00:18:29.600 +00:18:27.740 --> 00:18:29.600 not like someone will send you angry emails -00:18:31.240 --> 00:18:31.480 +00:18:29.600 --> 00:18:31.480 if you use an emoji or something like that. -00:18:33.960 --> 00:18:34.200 +00:18:31.480 --> 00:18:34.200 But it can come off as perhaps Because people -00:18:36.680 --> 00:18:37.180 +00:18:34.200 --> 00:18:37.180 are pressed for time also when replying to -00:18:39.320 --> 00:18:39.400 +00:18:37.260 --> 00:18:39.400 all these emails. So it might come off as a -00:18:42.380 --> 00:18:42.880 +00:18:39.400 --> 00:18:42.880 little bit short, but that's just how it is. -00:18:46.400 --> 00:18:46.880 +00:18:43.440 --> 00:18:46.880 And I think We have heard this comment before -00:18:50.180 --> 00:18:50.680 +00:18:46.880 --> 00:18:50.680 that mailing lists are scary or Emacs devil -00:18:53.880 --> 00:18:54.380 +00:18:50.720 --> 00:18:54.380 is scary or core development is scary. -00:18:58.040 --> 00:18:58.180 +00:18:54.780 --> 00:18:58.180 And I've touched a few of these points a -00:18:59.240 --> 00:18:59.620 +00:18:58.180 --> 00:18:59.620 little bit already. I think, -00:19:01.000 --> 00:19:01.500 +00:18:59.620 --> 00:19:01.500 yeah, maybe a little bit. -00:19:05.240 --> 00:19:05.740 +00:19:02.320 --> 00:19:05.740 For example, we don't use emojis very short -00:19:10.460 --> 00:19:10.940 +00:19:06.820 --> 00:19:10.940 in the communication. And we always use -00:19:12.740 --> 00:19:13.240 +00:19:10.940 --> 00:19:13.240 correct grammar and spelling. -00:19:15.440 --> 00:19:15.920 +00:19:13.380 --> 00:19:15.920 We take that seriously because it's important -00:19:18.560 --> 00:19:19.060 +00:19:15.920 --> 00:19:19.060 for being clear in your written communication -00:19:21.040 --> 00:19:21.540 +00:19:19.200 --> 00:19:21.540 when all you have is written communication. -00:19:23.240 --> 00:19:23.740 +00:19:22.680 --> 00:19:23.740 It's really important. -00:19:31.260 --> 00:19:31.400 +00:19:26.760 --> 00:19:31.400 But it's not like If you come in there and -00:19:33.420 --> 00:19:33.580 +00:19:31.400 --> 00:19:33.580 you don't know all these cultural rules and -00:19:36.020 --> 00:19:36.380 +00:19:33.580 --> 00:19:36.380 all these patterns, then you know you will We -00:19:37.540 --> 00:19:37.900 +00:19:36.380 --> 00:19:37.900 won't talk to you No Actually, -00:19:40.920 --> 00:19:41.100 +00:19:37.900 --> 00:19:41.100 we try to be as welcoming as we can and and -00:19:44.180 --> 00:19:44.600 +00:19:41.100 --> 00:19:44.600 be mindful and you know people not Everyone -00:19:46.200 --> 00:19:46.700 +00:19:44.600 --> 00:19:46.700 has English as their native language, -00:19:48.940 --> 00:19:49.200 +00:19:47.080 --> 00:19:49.200 for example. So perhaps someone says -00:19:50.980 --> 00:19:51.360 +00:19:49.200 --> 00:19:51.360 something, and it might come off as rude, -00:19:52.760 --> 00:19:53.200 +00:19:51.360 --> 00:19:53.200 but maybe it's just a direct translation. -00:19:56.040 --> 00:19:56.520 +00:19:53.200 --> 00:19:56.520 So we're trying to give a lot of whatever the -00:19:59.480 --> 00:19:59.760 +00:19:56.520 --> 00:19:59.760 native language is. So we try to give a lot -00:20:01.460 --> 00:20:01.780 +00:19:59.760 --> 00:20:01.780 of leeway and just be a little bit, -00:20:03.420 --> 00:20:03.580 +00:20:01.780 --> 00:20:03.580 you know, flexible and focus on, -00:20:04.540 --> 00:20:04.920 +00:20:03.580 --> 00:20:04.920 you know, the key, key points, -00:20:06.260 --> 00:20:06.580 +00:20:04.920 --> 00:20:06.580 which are the technical things, -00:20:07.260 --> 00:20:07.760 +00:20:06.580 --> 00:20:07.760 the technical decisions, -00:20:09.080 --> 00:20:09.280 +00:20:07.840 --> 00:20:09.280 technical arguments, rather than, -00:20:11.760 --> 00:20:11.920 +00:20:09.280 --> 00:20:11.920 you know, getting bogged down in a lot of, -00:20:15.160 --> 00:20:15.360 +00:20:11.920 --> 00:20:15.360 you know, personal, you know, -00:20:18.720 --> 00:20:19.220 +00:20:15.360 --> 00:20:19.220 discussions and flame wars. -00:20:21.140 --> 00:20:21.260 +00:20:19.300 --> 00:20:21.260 So, I mean, there are these things to be -00:20:22.960 --> 00:20:23.160 +00:20:21.260 --> 00:20:23.160 aware of, you know, it's just a little bit -00:20:24.480 --> 00:20:24.980 +00:20:23.160 --> 00:20:24.980 different. I don't think it's anything huge. -00:20:26.120 --> 00:20:26.620 +00:20:25.080 --> 00:20:26.620 And I wouldn't be, you know, -00:20:30.200 --> 00:20:30.480 +00:20:28.440 --> 00:20:30.480 I think it would be sad if people felt too -00:20:32.200 --> 00:20:32.320 +00:20:30.480 --> 00:20:32.320 intimidated by that. It just is what it is. -00:20:33.400 --> 00:20:33.540 +00:20:32.320 --> 00:20:33.540 And if you spend some time there, -00:20:35.460 --> 00:20:35.960 +00:20:33.540 --> 00:20:35.960 you'll see how people generally communicate. -00:20:41.120 --> 00:20:41.260 +00:20:38.400 --> 00:20:41.260 Sometimes, there are a lot of people on -00:20:43.100 --> 00:20:43.600 +00:20:41.260 --> 00:20:43.600 EmacsDevil. It's a public mailing list. -00:20:45.840 --> 00:20:46.240 +00:20:43.660 --> 00:20:46.240 A lot of people just sign up to follow Emacs -00:20:48.360 --> 00:20:48.860 +00:20:46.240 --> 00:20:48.860 development. Sometimes they chime in. -00:20:50.640 --> 00:20:50.820 +00:20:48.940 --> 00:20:50.820 And I think this is in general a good thing. -00:20:52.800 --> 00:20:53.300 +00:20:50.820 --> 00:20:53.300 I think it should be a public mailing list. -00:20:59.720 --> 00:21:00.220 +00:20:53.680 --> 00:21:00.220 Sometimes this leads to weird situations from -00:21:02.900 --> 00:21:03.400 +00:21:00.480 --> 00:21:03.400 just a point of view as an Emacs maintainer, -00:21:06.900 --> 00:21:07.080 +00:21:03.480 --> 00:21:07.080 right? I mean, I try to say something and it -00:21:07.960 --> 00:21:08.240 +00:21:07.080 --> 00:21:08.240 doesn't always say, oh, -00:21:09.520 --> 00:21:10.020 +00:21:08.240 --> 00:21:10.020 he's the maintainer or whatever. -00:21:10.760 --> 00:21:11.200 +00:21:10.080 --> 00:21:11.200 So when I say something, -00:21:13.180 --> 00:21:13.380 +00:21:11.200 --> 00:21:13.380 it should carry a little bit more weight than -00:21:15.920 --> 00:21:16.160 +00:21:13.380 --> 00:21:16.160 some unknown person from the internet who has -00:21:17.800 --> 00:21:18.300 +00:21:16.160 --> 00:21:18.300 an opinion and decided to send it to -00:21:20.860 --> 00:21:21.020 +00:21:18.740 --> 00:21:21.020 EmacsDevil. So it's good to be a little bit -00:21:22.760 --> 00:21:23.160 +00:21:21.020 --> 00:21:23.160 aware of who is a little bit more involved -00:21:25.120 --> 00:21:25.280 +00:21:23.160 --> 00:21:25.280 with the project. I would check out the -00:21:26.600 --> 00:21:27.100 +00:21:25.280 --> 00:21:27.100 maintainers file. I would check, -00:21:30.600 --> 00:21:31.000 +00:21:27.380 --> 00:21:31.000 see in the Git log, do these people actually -00:21:32.800 --> 00:21:33.300 +00:21:31.000 --> 00:21:33.300 have any anything in core? -00:21:34.760 --> 00:21:35.260 +00:21:33.580 --> 00:21:35.260 And if not, maybe, you know, -00:21:38.160 --> 00:21:38.660 +00:21:35.860 --> 00:21:38.660 there, we won't really, -00:21:40.680 --> 00:21:41.000 +00:21:39.100 --> 00:21:41.000 even if they express an opinion very -00:21:42.400 --> 00:21:42.720 +00:21:41.000 --> 00:21:42.720 strongly, even if they're a little bit rude, -00:21:44.200 --> 00:21:44.700 +00:21:42.720 --> 00:21:44.700 maybe they're not even involved in Emacs -00:21:45.840 --> 00:21:46.340 +00:21:44.760 --> 00:21:46.340 development. I mean, often, -00:21:48.040 --> 00:21:48.460 +00:21:46.680 --> 00:21:48.460 that's the case we have some people, -00:21:49.400 --> 00:21:49.900 +00:21:48.460 --> 00:21:49.900 unfortunately, at times, -00:21:52.540 --> 00:21:52.720 +00:21:50.340 --> 00:21:52.720 we have random people from the internet come -00:21:54.620 --> 00:21:54.720 +00:21:52.720 --> 00:21:54.720 in on the mailing list and they're just a -00:21:56.280 --> 00:21:56.780 +00:21:54.720 --> 00:21:56.780 little bit rude, or they say an opinion -00:21:59.120 --> 00:21:59.620 +00:21:57.740 --> 00:21:59.620 that's not exactly helpful. -00:22:02.080 --> 00:22:02.320 +00:22:00.060 --> 00:22:02.320 And I think you need to be aware. -00:22:03.960 --> 00:22:04.340 +00:22:02.320 --> 00:22:04.340 I mean, these things happen in any forum, -00:22:07.240 --> 00:22:07.740 +00:22:04.340 --> 00:22:07.740 but it happens on EmacsDevO as well. -00:22:10.440 --> 00:22:10.680 +00:22:07.800 --> 00:22:10.680 So just be a little bit aware of who you're -00:22:13.040 --> 00:22:13.540 +00:22:10.680 --> 00:22:13.540 talking to, what people are doing. -00:22:15.380 --> 00:22:15.880 +00:22:13.700 --> 00:22:15.880 It can help to Check the archives, -00:22:17.960 --> 00:22:18.460 +00:22:16.240 --> 00:22:18.460 see who writes what, and so on. -00:22:22.720 --> 00:22:23.080 +00:22:20.320 --> 00:22:23.080 But it's not something that I think is a huge -00:22:23.940 --> 00:22:24.220 +00:22:23.080 --> 00:22:24.220 problem. It is just, again, -00:22:25.280 --> 00:22:25.780 +00:22:24.220 --> 00:22:25.780 something to be aware of. -00:22:27.540 --> 00:22:28.040 +00:22:25.900 --> 00:22:28.040 We have the new kind of communication -00:22:30.480 --> 00:22:30.820 +00:22:28.180 --> 00:22:30.820 guidelines in place, which basically says -00:22:33.480 --> 00:22:33.740 +00:22:30.820 --> 00:22:33.740 that you should be nice to people and stay -00:22:35.660 --> 00:22:36.060 +00:22:33.740 --> 00:22:36.060 focused on the technical problem, -00:22:38.120 --> 00:22:38.300 +00:22:36.060 --> 00:22:38.300 try to see things from another person's point -00:22:39.060 --> 00:22:39.360 +00:22:38.300 --> 00:22:39.360 of view, this kind of stuff. -00:22:41.940 --> 00:22:42.140 +00:22:39.360 --> 00:22:42.140 So we're really trying to be as inclusive as -00:22:46.320 --> 00:22:46.820 +00:22:42.140 --> 00:22:46.820 possible and just stay correct in general. -00:22:48.100 --> 00:22:48.380 +00:22:46.820 --> 00:22:48.380 And sometimes, I mean, -00:22:49.700 --> 00:22:50.060 +00:22:48.380 --> 00:22:50.060 not everyone, it's a public list. -00:22:52.080 --> 00:22:52.440 +00:22:50.060 --> 00:22:52.440 We moderate it, but not to a huge extent, -00:22:57.720 --> 00:22:57.840 +00:22:52.440 --> 00:22:57.840 right? So sometimes people get away with a -00:23:02.140 --> 00:23:02.260 +00:22:57.840 --> 00:23:02.260 little bit of perhaps stretching the -00:23:04.440 --> 00:23:04.700 +00:23:02.260 --> 00:23:04.700 boundaries of what might be included in the -00:23:06.000 --> 00:23:06.500 +00:23:04.700 --> 00:23:06.500 kind communication guidelines, -00:23:10.440 --> 00:23:10.940 +00:23:08.040 --> 00:23:10.940 sort of the fences and limitations of that. -00:23:13.440 --> 00:23:13.940 +00:23:11.460 --> 00:23:13.940 But I would just ignore that. -00:23:15.200 --> 00:23:15.700 +00:23:13.940 --> 00:23:15.700 Sometimes it happens that we, -00:23:16.800 --> 00:23:17.160 +00:23:15.860 --> 00:23:17.160 as happens in any forum, -00:23:19.200 --> 00:23:19.440 +00:23:17.160 --> 00:23:19.440 by the way, you just, we have these very big -00:23:21.560 --> 00:23:21.760 +00:23:19.440 --> 00:23:21.760 threads. We start discussing something else. -00:23:23.800 --> 00:23:24.300 +00:23:21.760 --> 00:23:24.300 Perhaps you send us a patch and it just -00:23:25.960 --> 00:23:26.360 +00:23:24.320 --> 00:23:26.360 devolves into us discussing something -00:23:28.260 --> 00:23:28.680 +00:23:26.360 --> 00:23:28.680 completely different. And of course I partake -00:23:30.220 --> 00:23:30.440 +00:23:28.680 --> 00:23:30.440 in that, not better than anyone else, -00:23:32.440 --> 00:23:32.940 +00:23:30.440 --> 00:23:32.940 but it just happens. I mean, -00:23:34.440 --> 00:23:34.800 +00:23:32.960 --> 00:23:34.800 it's not your fault. It's just what happens -00:23:37.000 --> 00:23:37.200 +00:23:34.800 --> 00:23:37.200 sometimes in forums, and don't mind that. -00:23:38.940 --> 00:23:39.120 +00:23:37.200 --> 00:23:39.120 And it's a little bit easier to do that in -00:23:41.200 --> 00:23:41.680 +00:23:39.120 --> 00:23:41.680 emails, because you just change the subject, -00:23:43.320 --> 00:23:43.580 +00:23:41.680 --> 00:23:43.580 and now it's supposed to be a different -00:23:45.600 --> 00:23:45.780 +00:23:43.580 --> 00:23:45.780 thread, but it comes as replies usually to -00:23:48.340 --> 00:23:48.480 +00:23:45.780 --> 00:23:48.480 you, which wouldn't happen perhaps in a -00:23:49.840 --> 00:23:49.960 +00:23:48.480 --> 00:23:49.960 different workflow. So it's something to be -00:23:53.140 --> 00:23:53.300 +00:23:49.960 --> 00:23:53.300 aware of as well. Another thing is that, -00:23:54.180 --> 00:23:54.680 +00:23:53.300 --> 00:23:54.680 of course, in written communication, -00:23:56.120 --> 00:23:56.620 +00:23:55.080 --> 00:23:56.620 tone doesn't always come across. -00:23:58.840 --> 00:23:59.240 +00:23:57.980 --> 00:23:59.240 If someone sounds negative, -00:24:00.780 --> 00:24:01.280 +00:23:59.240 --> 00:24:01.280 sometimes it's just them being neutral. -00:24:04.900 --> 00:24:05.400 +00:24:01.460 --> 00:24:05.400 Sometimes you get no replies. -00:24:06.720 --> 00:24:07.120 +00:24:05.500 --> 00:24:07.120 You send something, you get no replies. -00:24:08.720 --> 00:24:09.220 +00:24:07.120 --> 00:24:09.220 And this could mean, actually it could mean, -00:24:11.000 --> 00:24:11.500 +00:24:09.880 --> 00:24:11.500 yeah, what you said was uncontroversial. -00:24:12.480 --> 00:24:12.980 +00:24:11.720 --> 00:24:12.980 We think it was a good idea. -00:24:16.100 --> 00:24:16.360 +00:24:13.660 --> 00:24:16.360 No 1 replied to it because either someone -00:24:18.840 --> 00:24:18.960 +00:24:16.360 --> 00:24:18.960 else would reply or just there was no need to -00:24:20.140 --> 00:24:20.640 +00:24:18.960 --> 00:24:20.640 reply because, yeah, why not? -00:24:23.800 --> 00:24:24.060 +00:24:21.580 --> 00:24:24.060 So but if you do send a patch and you don't -00:24:26.040 --> 00:24:26.280 +00:24:24.060 --> 00:24:26.280 get an answer, wait. I mean, -00:24:29.080 --> 00:24:29.380 +00:24:26.280 --> 00:24:29.380 don't wait 1, 2 days. Maybe we're busy or -00:24:30.020 --> 00:24:30.520 +00:24:29.380 --> 00:24:30.520 we're sick or whatever. -00:24:32.680 --> 00:24:32.800 +00:24:30.840 --> 00:24:32.800 Wait 2 weeks. It's fine to just send it -00:24:34.440 --> 00:24:34.940 +00:24:32.800 --> 00:24:34.940 again. If you send the patch to EmacsDevil, -00:24:36.820 --> 00:24:37.040 +00:24:35.660 --> 00:24:37.040 send it to the bug mailing list, -00:24:38.760 --> 00:24:39.260 +00:24:37.040 --> 00:24:39.260 because we lose track of stuff on EmacsDevil. -00:24:41.060 --> 00:24:41.560 +00:24:39.800 --> 00:24:41.560 That's just the reality of it. -00:24:45.900 --> 00:24:46.080 +00:24:43.440 --> 00:24:46.080 So if you propose making a change and no 1 -00:24:48.220 --> 00:24:48.340 +00:24:46.080 --> 00:24:48.340 commented, feel free to ask us again if a -00:24:50.580 --> 00:24:51.080 +00:24:48.340 --> 00:24:51.080 patch would be welcome and we will clarify. -00:24:54.220 --> 00:24:54.720 +00:24:53.480 --> 00:24:54.720 Bug reports, unfortunately, -00:24:55.940 --> 00:24:56.280 +00:24:54.780 --> 00:24:56.280 if you get no answer, I mean, -00:24:59.240 --> 00:24:59.740 +00:24:56.280 --> 00:24:59.740 we do have a limited amount of time to work -00:25:02.220 --> 00:25:02.360 +00:24:59.860 --> 00:25:02.360 on bugs. If you're looking to get started in -00:25:05.020 --> 00:25:05.520 +00:25:02.360 --> 00:25:05.520 Emacs development, this is an excellent way -00:25:06.820 --> 00:25:07.320 +00:25:05.740 --> 00:25:07.320 to start getting involved. -00:25:09.720 --> 00:25:09.960 +00:25:07.480 --> 00:25:09.960 What I'd recommend is start looking into -00:25:11.180 --> 00:25:11.420 +00:25:09.960 --> 00:25:11.420 bugs. I'd install that bug, -00:25:13.660 --> 00:25:13.860 +00:25:11.420 --> 00:25:13.860 I'd see about the mailing workflow and set -00:25:15.300 --> 00:25:15.800 +00:25:13.860 --> 00:25:15.800 that up a little bit, or not. -00:25:17.640 --> 00:25:17.960 +00:25:16.160 --> 00:25:17.960 It's up to you. You can reply to an email -00:25:19.660 --> 00:25:20.160 +00:25:17.960 --> 00:25:20.160 without setting any of that stuff up. -00:25:21.980 --> 00:25:22.480 +00:25:20.600 --> 00:25:22.480 But just help us try out your bugs, -00:25:24.520 --> 00:25:24.720 +00:25:22.540 --> 00:25:24.720 send patches, do that type of stuff. -00:25:26.040 --> 00:25:26.280 +00:25:24.720 --> 00:25:26.280 I mean, that's an excellent way, -00:25:27.360 --> 00:25:27.740 +00:25:26.280 --> 00:25:27.740 and extremely welcome. -00:25:30.220 --> 00:25:30.360 +00:25:27.740 --> 00:25:30.360 We're so happy to see when people pick up bug -00:25:32.000 --> 00:25:32.500 +00:25:30.360 --> 00:25:32.500 reports that have been left by the wayside -00:25:34.080 --> 00:25:34.580 +00:25:32.640 --> 00:25:34.580 and just fix them, send us a patch, -00:25:37.020 --> 00:25:37.520 +00:25:36.040 --> 00:25:37.520 and we can just apply it. -00:25:40.180 --> 00:25:40.360 +00:25:37.920 --> 00:25:40.360 So that's really your starting point if you -00:25:43.100 --> 00:25:43.600 +00:25:40.360 --> 00:25:43.600 want to get involved in Emacs core -00:25:50.260 --> 00:25:50.580 +00:25:44.440 --> 00:25:50.580 development. I also want to say that be aware -00:25:53.520 --> 00:25:54.020 +00:25:50.580 --> 00:25:54.020 that you know Emacs is the editor of the GNU -00:25:56.360 --> 00:25:56.820 +00:25:54.280 --> 00:25:56.820 operating system and this makes the project -00:25:58.520 --> 00:25:58.700 +00:25:56.820 --> 00:25:58.700 political a little bit whether you like it or -00:26:00.880 --> 00:26:01.380 +00:25:58.700 --> 00:26:01.380 not. Luckily the you know the politics are -00:26:03.160 --> 00:26:03.400 +00:26:01.560 --> 00:26:03.400 limited enough that we can find broad -00:26:05.020 --> 00:26:05.520 +00:26:03.400 --> 00:26:05.520 agreement on it. So we want to promote, -00:26:07.920 --> 00:26:08.420 +00:26:05.780 --> 00:26:08.420 we want to create free software. -00:26:10.460 --> 00:26:10.960 +00:26:08.860 --> 00:26:10.960 That's sort of it. That's it. -00:26:13.540 --> 00:26:13.740 +00:26:11.400 --> 00:26:13.740 And there shouldn't be too much more to it, -00:26:15.440 --> 00:26:15.600 +00:26:13.740 --> 00:26:15.600 right? We want to rid the world of -00:26:19.300 --> 00:26:19.700 +00:26:15.600 --> 00:26:19.700 proprietary software as an evil thing. -00:26:21.420 --> 00:26:21.920 +00:26:19.700 --> 00:26:21.920 Ideally, all software should be free. -00:26:24.860 --> 00:26:25.160 +00:26:23.000 --> 00:26:25.160 But these are just the goals of the free -00:26:27.280 --> 00:26:27.440 +00:26:25.160 --> 00:26:27.440 software movement. So we're very strict with -00:26:29.160 --> 00:26:29.660 +00:26:27.440 --> 00:26:29.660 some things. We don't recommend non-free -00:26:31.080 --> 00:26:31.320 +00:26:30.060 --> 00:26:31.320 proprietary software. Of course, -00:26:32.680 --> 00:26:33.180 +00:26:31.320 --> 00:26:33.180 we have no problem mentioning Microsoft -00:26:34.780 --> 00:26:35.140 +00:26:33.260 --> 00:26:35.140 Windows because everyone knows that there's -00:26:39.060 --> 00:26:39.280 +00:26:35.140 --> 00:26:39.280 this obscure operating system developed in -00:26:41.260 --> 00:26:41.760 +00:26:39.280 --> 00:26:41.760 California that some people insist on using. -00:26:44.500 --> 00:26:45.000 +00:26:42.040 --> 00:26:45.000 We use, many of us use GNU plus Linux. -00:26:46.880 --> 00:26:47.380 +00:26:45.060 --> 00:26:47.380 Actually, some core developers happen to use -00:26:50.380 --> 00:26:50.820 +00:26:47.440 --> 00:26:50.820 exactly, you know, not GNU plus Linux, -00:26:52.360 --> 00:26:52.600 +00:26:50.820 --> 00:26:52.600 but that's fine as well, -00:26:54.320 --> 00:26:54.820 +00:26:52.600 --> 00:26:54.820 right? We take a little bit of a pragmatic -00:26:56.380 --> 00:26:56.840 +00:26:54.860 --> 00:26:56.840 view, but we don't wanna do, -00:26:58.580 --> 00:26:59.020 +00:26:56.840 --> 00:26:59.020 what we don't wanna do is promote like this -00:27:04.600 --> 00:27:04.780 +00:26:59.020 --> 00:27:04.780 small, unknown piece of non-free software and -00:27:08.200 --> 00:27:08.400 +00:27:04.780 --> 00:27:08.400 sort of help the non-free software in that -00:27:11.120 --> 00:27:11.620 +00:27:08.400 --> 00:27:11.620 way. That's where we try to draw the line, -00:27:15.520 --> 00:27:15.760 +00:27:12.440 --> 00:27:15.760 you know, in just expressing just a few -00:27:17.560 --> 00:27:18.060 +00:27:15.760 --> 00:27:18.060 words. So that's 1 thing. -00:27:21.300 --> 00:27:21.620 +00:27:18.200 --> 00:27:21.620 We're, I think, very pragmatic on this point, -00:27:24.400 --> 00:27:24.900 +00:27:21.620 --> 00:27:24.900 but we do try to follow the principle. -00:27:26.680 --> 00:27:27.180 +00:27:25.240 --> 00:27:27.180 We also require copyright assignment. -00:27:29.540 --> 00:27:30.040 +00:27:27.700 --> 00:27:30.040 And I think in general, -00:27:34.240 --> 00:27:34.740 +00:27:30.620 --> 00:27:34.740 the argument is that we require a copyright -00:27:38.440 --> 00:27:38.940 +00:27:34.780 --> 00:27:38.940 assignment, because that makes it easier to -00:27:42.940 --> 00:27:43.440 +00:27:39.280 --> 00:27:43.440 defend the legal status of the GNU Emacs -00:27:45.520 --> 00:27:45.920 +00:27:43.640 --> 00:27:45.920 source code. So if there's ever a legal -00:27:47.980 --> 00:27:48.280 +00:27:45.920 --> 00:27:48.280 battle, the idea is that if it's only 1 -00:27:49.760 --> 00:27:50.260 +00:27:48.280 --> 00:27:50.260 copyright holder and you have a GPL -00:27:53.720 --> 00:27:54.140 +00:27:50.320 --> 00:27:54.140 violation, i.e. Someone might change Emacs -00:27:55.320 --> 00:27:55.820 +00:27:54.140 --> 00:27:55.820 and then distribute it as proprietary -00:27:57.660 --> 00:27:58.040 +00:27:56.100 --> 00:27:58.040 software or something nasty like that, -00:28:00.420 --> 00:28:00.620 +00:27:58.040 --> 00:28:00.620 then we have an easier way of defending it in -00:28:02.280 --> 00:28:02.780 +00:28:00.620 --> 00:28:02.780 court if there is only 1 copyright holder. -00:28:04.380 --> 00:28:04.840 +00:28:02.780 --> 00:28:04.840 So we assigned copyright to the Free Software -00:28:08.960 --> 00:28:09.460 +00:28:04.840 --> 00:28:09.460 Foundation. And I think there, -00:28:12.380 --> 00:28:12.600 +00:28:09.720 --> 00:28:12.600 I mean, sometimes people oppose this for -00:28:13.380 --> 00:28:13.660 +00:28:12.600 --> 00:28:13.660 various reasons, you know, -00:28:15.220 --> 00:28:15.720 +00:28:13.660 --> 00:28:15.720 people see it as, you know, -00:28:16.720 --> 00:28:16.880 +00:28:15.720 --> 00:28:16.880 maybe some people might say, -00:28:17.360 --> 00:28:17.860 +00:28:16.880 --> 00:28:17.860 you know, it's ideological, -00:28:19.080 --> 00:28:19.340 +00:28:18.040 --> 00:28:19.340 you know, who goes, you know, -00:28:20.860 --> 00:28:21.360 +00:28:19.340 --> 00:28:21.360 the FSF goes too far with this. -00:28:23.620 --> 00:28:23.860 +00:28:21.700 --> 00:28:23.860 And, and, I mean, that's fine. -00:28:25.080 --> 00:28:25.580 +00:28:23.860 --> 00:28:25.580 You that's, that's an opinion. -00:28:28.080 --> 00:28:28.320 +00:28:25.640 --> 00:28:28.320 And the there, then other people are more -00:28:29.720 --> 00:28:30.040 +00:28:28.320 --> 00:28:30.040 practical, you know, it's just, -00:28:30.880 --> 00:28:31.360 +00:28:30.040 --> 00:28:31.360 It's a hassle, basically, -00:28:32.720 --> 00:28:33.220 +00:28:31.360 --> 00:28:33.220 we don't want to sign these papers. -00:28:35.440 --> 00:28:35.580 +00:28:33.640 --> 00:28:35.580 And I'm not really here to tell anyone that -00:28:37.000 --> 00:28:37.160 +00:28:35.580 --> 00:28:37.160 they're wrong. I've expressed my views on -00:28:40.280 --> 00:28:40.780 +00:28:37.160 --> 00:28:40.780 this in the past. But just for now, -00:28:43.500 --> 00:28:43.660 +00:28:40.960 --> 00:28:43.660 I'm just very practical for the purposes of -00:28:46.000 --> 00:28:46.500 +00:28:43.660 --> 00:28:46.500 this talk. So I signed the papers. -00:28:48.840 --> 00:28:49.280 +00:28:46.580 --> 00:28:49.280 It's Maybe it didn't take me many minutes. -00:28:51.400 --> 00:28:51.900 +00:28:49.280 --> 00:28:51.900 And in most cases, it shouldn't really. -00:28:54.720 --> 00:28:55.000 +00:28:52.580 --> 00:28:55.000 And it's something that I found worth doing, -00:28:58.100 --> 00:28:58.580 +00:28:55.000 --> 00:28:58.580 because that way I could focus on continuing -00:29:01.200 --> 00:29:01.360 +00:28:58.580 --> 00:29:01.360 to improve Emacs instead of discussing the -00:29:02.720 --> 00:29:03.220 +00:29:01.360 --> 00:29:03.220 finer points of copyright law. -00:29:04.960 --> 00:29:05.280 +00:29:03.480 --> 00:29:05.280 You could write patches and stuff, -00:29:06.340 --> 00:29:06.680 +00:29:05.280 --> 00:29:06.680 that kind of thing. So, -00:29:08.160 --> 00:29:08.480 +00:29:06.680 --> 00:29:08.480 I mean, this is something that trips people -00:29:10.600 --> 00:29:11.100 +00:29:08.480 --> 00:29:11.100 up and, you know, it's fine that people have -00:29:13.940 --> 00:29:14.200 +00:29:11.320 --> 00:29:14.200 different opinions on it and so on, -00:29:19.120 --> 00:29:19.280 +00:29:14.200 --> 00:29:19.280 but I think for now that's just something to -00:29:22.540 --> 00:29:23.000 +00:29:19.280 --> 00:29:23.000 be aware of. So that's, -00:29:25.920 --> 00:29:26.120 +00:29:23.000 --> 00:29:26.120 I think, I mean, there's much more that could -00:29:27.740 --> 00:29:27.880 +00:29:26.120 --> 00:29:27.880 be said. Ideally, I would like to have a -00:29:30.560 --> 00:29:31.060 +00:29:27.880 --> 00:29:31.060 practical part to this talk as well. -00:29:34.200 --> 00:29:34.440 +00:29:32.020 --> 00:29:34.440 But I wanted to say something about the -00:29:36.960 --> 00:29:37.159 +00:29:34.440 --> 00:29:37.159 packages in Emacs. Because as we know, -00:29:40.260 --> 00:29:40.440 +00:29:37.159 --> 00:29:40.440 I mean, Emacs is the, I can't remember what -00:29:41.240 --> 00:29:41.740 +00:29:40.440 --> 00:29:41.740 it says, it's like a visual, -00:29:43.520 --> 00:29:43.780 +00:29:42.260 --> 00:29:43.780 there's in the manual it says, -00:29:45.400 --> 00:29:45.900 +00:29:43.780 --> 00:29:45.900 oh, Emacs is an advanced text editor. -00:29:47.780 --> 00:29:47.980 +00:29:46.180 --> 00:29:47.980 It's visual, which, I mean, -00:29:49.960 --> 00:29:50.280 +00:29:47.980 --> 00:29:50.280 it's not ed, the whole Unix ed, -00:29:52.200 --> 00:29:52.700 +00:29:50.280 --> 00:29:52.700 so that's cool. It's also customizable, -00:29:55.680 --> 00:29:56.180 +00:29:53.300 --> 00:29:56.180 right? So that's always been a thing. -00:29:59.480 --> 00:29:59.980 +00:29:57.800 --> 00:29:59.980 And what makes Emacs so amazing. -00:30:01.320 --> 00:30:01.820 +00:30:00.040 --> 00:30:01.820 And some people described it as, -00:30:03.720 --> 00:30:03.880 +00:30:01.920 --> 00:30:03.880 I can't remember who said that there has been -00:30:09.140 --> 00:30:09.440 +00:30:03.880 --> 00:30:09.440 a Cambrian explosion of packages in Emacs. -00:30:10.180 --> 00:30:10.440 +00:30:09.440 --> 00:30:10.440 And I think that's true. -00:30:12.080 --> 00:30:12.400 +00:30:10.440 --> 00:30:12.400 I mean, if you look at something like Melpa, -00:30:13.260 --> 00:30:13.760 +00:30:12.400 --> 00:30:13.760 I think they have over 5,000 -00:30:15.720 --> 00:30:16.220 +00:30:13.940 --> 00:30:16.220 packages now. It's like truly impressive, -00:30:18.280 --> 00:30:18.760 +00:30:16.460 --> 00:30:18.760 just an immense amount of work and immense -00:30:21.820 --> 00:30:22.320 +00:30:18.760 --> 00:30:22.320 amount of packages. And really, -00:30:23.940 --> 00:30:24.340 +00:30:22.860 --> 00:30:24.340 this shows the strength, -00:30:26.100 --> 00:30:26.600 +00:30:24.340 --> 00:30:26.600 I think, of the Emacs community, -00:30:28.280 --> 00:30:28.780 +00:30:26.680 --> 00:30:28.780 of Emacs itself as an idea. -00:30:30.960 --> 00:30:31.240 +00:30:29.060 --> 00:30:31.240 And I think it's also just tremendous work -00:30:33.080 --> 00:30:33.580 +00:30:31.240 --> 00:30:33.580 that's been done by the maintainers. -00:30:35.820 --> 00:30:36.040 +00:30:33.960 --> 00:30:36.040 And they do get a lot of recognition for -00:30:38.400 --> 00:30:38.900 +00:30:36.040 --> 00:30:38.900 that. And rightly so, in my opinion. -00:30:41.660 --> 00:30:41.920 +00:30:39.620 --> 00:30:41.920 It's done so much, I think, -00:30:43.860 --> 00:30:44.260 +00:30:41.920 --> 00:30:44.260 for our community. The other package archive -00:30:45.840 --> 00:30:46.340 +00:30:44.260 --> 00:30:46.340 that we have is GNU-ELPA. -00:30:49.180 --> 00:30:49.640 +00:30:46.620 --> 00:30:49.640 And that's been enabled since when packages -00:30:50.860 --> 00:30:51.000 +00:30:49.640 --> 00:30:51.000 first got introduced back in, -00:30:52.660 --> 00:30:53.160 +00:30:51.000 --> 00:30:53.160 I think, Emacs, was it 23? -00:30:59.020 --> 00:30:59.200 +00:30:55.520 --> 00:30:59.200 And probably, I mean, the main thing why a -00:31:01.620 --> 00:31:01.860 +00:30:59.200 --> 00:31:01.860 package goes onto GNU Elpa is, -00:31:03.900 --> 00:31:04.040 +00:31:01.860 --> 00:31:04.040 you know, it should be installable out of the -00:31:07.500 --> 00:31:07.580 +00:31:04.040 --> 00:31:07.580 box. So, I mean, that's a big benefit in a -00:31:10.680 --> 00:31:10.960 +00:31:07.580 --> 00:31:10.960 sense. It's also a requirement for GNU Alpa -00:31:11.820 --> 00:31:12.240 +00:31:10.960 --> 00:31:12.240 that the copyright, again, -00:31:14.040 --> 00:31:14.540 +00:31:12.240 --> 00:31:14.540 just as GNU Emacs, the copyright is assigned -00:31:16.520 --> 00:31:17.020 +00:31:15.480 --> 00:31:17.020 to the Free Software Foundation. -00:31:19.440 --> 00:31:19.940 +00:31:17.080 --> 00:31:19.940 And some very hugely popular packages, -00:31:20.980 --> 00:31:21.420 +00:31:20.020 --> 00:31:21.420 like YaSnippet, for example, -00:31:24.560 --> 00:31:25.060 +00:31:21.420 --> 00:31:25.060 is on GNU Alpa. And we were discussing this -00:31:29.540 --> 00:31:30.040 +00:31:25.160 --> 00:31:30.040 just 2 months back. And Joe Tavora, -00:31:31.280 --> 00:31:31.780 +00:31:30.060 --> 00:31:31.780 I can't say his name, G-O-A-O, -00:31:35.600 --> 00:31:36.100 +00:31:33.280 --> 00:31:36.100 Tavora. He made the point that he's never -00:31:40.000 --> 00:31:40.280 +00:31:36.140 --> 00:31:40.280 seen a problem in any of his packages with -00:31:41.660 --> 00:31:42.100 +00:31:40.280 --> 00:31:42.100 copyright assignment in particular. -00:31:44.380 --> 00:31:44.540 +00:31:42.100 --> 00:31:44.540 It's never been a problem to get people to be -00:31:46.060 --> 00:31:46.560 +00:31:44.540 --> 00:31:46.560 involved in the development of those packages -00:31:47.720 --> 00:31:48.220 +00:31:46.560 --> 00:31:48.220 just because of the copyright assignment -00:31:50.140 --> 00:31:50.640 +00:31:49.160 --> 00:31:50.640 requirements. So I mean, -00:31:53.340 --> 00:31:53.840 +00:31:51.180 --> 00:31:53.840 that's his perspective on that. -00:32:00.180 --> 00:32:00.480 +00:31:54.320 --> 00:32:00.480 And I think it was worth relating his -00:32:06.220 --> 00:32:06.500 +00:32:00.480 --> 00:32:06.500 experience here. So we also have this new -00:32:08.000 --> 00:32:08.500 +00:32:06.500 --> 00:32:08.500 package archive called non-GNU-alpha, -00:32:12.380 --> 00:32:12.880 +00:32:08.920 --> 00:32:12.880 which is now enabled by default as well. -00:32:13.940 --> 00:32:14.440 +00:32:12.920 --> 00:32:14.440 I think for practical purposes, -00:32:16.380 --> 00:32:16.880 +00:32:14.540 --> 00:32:16.880 you could get into it a little bit more, -00:32:18.340 --> 00:32:18.840 +00:32:16.960 --> 00:32:18.840 you know, why we created non-NUELPA, -00:32:21.820 --> 00:32:22.320 +00:32:19.940 --> 00:32:22.320 and perhaps that's something we can discuss -00:32:25.740 --> 00:32:26.240 +00:32:23.360 --> 00:32:26.240 in the Q&A section. For practical purposes, -00:32:27.980 --> 00:32:28.280 +00:32:26.380 --> 00:32:28.280 the main thing to be aware of is, -00:32:30.740 --> 00:32:30.980 +00:32:28.280 --> 00:32:30.980 yes, we don't promote non-free software on -00:32:36.280 --> 00:32:36.780 +00:32:30.980 --> 00:32:36.780 there, And we also don't have the copyright -00:32:38.560 --> 00:32:39.060 +00:32:36.780 --> 00:32:39.060 assignment requirement. -00:32:43.320 --> 00:32:43.820 +00:32:41.400 --> 00:32:43.820 I think this is probably for new packages. -00:32:47.760 --> 00:32:48.180 +00:32:43.940 --> 00:32:48.180 It's generally better if they go to GNU Elpa, -00:32:50.720 --> 00:32:51.220 +00:32:48.180 --> 00:32:51.220 if there is any type of idea or ambition -00:32:53.300 --> 00:32:53.460 +00:32:51.280 --> 00:32:53.460 that, you know, at some point it would be -00:32:56.420 --> 00:32:56.740 +00:32:53.460 --> 00:32:56.740 good or it might be good to eventually have -00:32:58.480 --> 00:32:58.900 +00:32:56.740 --> 00:32:58.900 some type of functionality like this shipped -00:33:01.060 --> 00:33:01.200 +00:32:58.900 --> 00:33:01.200 with Emacs itself. So I think this is -00:33:03.800 --> 00:33:04.020 +00:33:01.200 --> 00:33:04.020 something that perhaps package authors could -00:33:07.020 --> 00:33:07.340 +00:33:04.020 --> 00:33:07.340 also be aware of, that occasionally we do -00:33:09.520 --> 00:33:09.780 +00:33:07.340 --> 00:33:09.780 bring in functionality from GNU Elpa into -00:33:11.680 --> 00:33:12.180 +00:33:09.780 --> 00:33:12.180 core Emacs because we feel that it should be -00:33:15.060 --> 00:33:15.560 +00:33:12.440 --> 00:33:15.560 better integrated with Emacs itself. -00:33:18.340 --> 00:33:18.480 +00:33:16.420 --> 00:33:18.480 So if I could give any type of -00:33:19.200 --> 00:33:19.400 +00:33:18.480 --> 00:33:19.400 recommendation, of course, -00:33:21.660 --> 00:33:22.120 +00:33:19.400 --> 00:33:22.120 you do. These are your packages, -00:33:25.240 --> 00:33:25.520 +00:33:22.120 --> 00:33:25.520 right? In an ideal world, -00:33:28.220 --> 00:33:28.680 +00:33:25.520 --> 00:33:28.680 we would only use this for legacy packages -00:33:30.060 --> 00:33:30.240 +00:33:28.680 --> 00:33:30.240 where people contributed in the past, -00:33:31.640 --> 00:33:32.120 +00:33:30.240 --> 00:33:32.120 but you didn't worry about the copyright -00:33:33.820 --> 00:33:34.200 +00:33:32.120 --> 00:33:34.200 assignment. But where possible, -00:33:36.980 --> 00:33:37.480 +00:33:34.200 --> 00:33:37.480 I think there is benefit in putting it on GNU -00:33:42.740 --> 00:33:42.900 +00:33:37.540 --> 00:33:42.900 Elpa. And I wanted to end a little bit on a -00:33:44.640 --> 00:33:45.140 +00:33:42.900 --> 00:33:45.140 more, you know, the more opinionated perhaps -00:33:47.040 --> 00:33:47.260 +00:33:45.380 --> 00:33:47.260 part of my talk and not just talk about -00:33:49.040 --> 00:33:49.160 +00:33:47.260 --> 00:33:49.160 processes. I see that I'm running out of -00:33:51.200 --> 00:33:51.700 +00:33:49.160 --> 00:33:51.700 time. So I will say Emacs is hackable. -00:33:54.020 --> 00:33:54.520 +00:33:51.760 --> 00:33:54.520 And I think that's a blessing and a curse. -00:33:55.840 --> 00:33:56.340 +00:33:54.520 --> 00:33:56.340 And if you think about something like, -00:34:00.800 --> 00:34:01.100 +00:33:59.060 --> 00:34:01.100 the types of choices that you can make, -00:34:02.540 --> 00:34:03.040 +00:34:01.100 --> 00:34:03.040 perhaps when you implement something, -00:34:06.360 --> 00:34:06.680 +00:34:03.160 --> 00:34:06.680 There are choices, different choices between -00:34:07.440 --> 00:34:07.740 +00:34:06.680 --> 00:34:07.740 something like common list, -00:34:08.940 --> 00:34:09.440 +00:34:07.740 --> 00:34:09.440 which is like bigger, more batteries -00:34:10.860 --> 00:34:11.320 +00:34:09.440 --> 00:34:11.320 included, and something like scheme, -00:34:11.880 --> 00:34:12.239 +00:34:11.320 --> 00:34:12.239 which is more minimal. -00:34:13.500 --> 00:34:13.679 +00:34:12.239 --> 00:34:13.679 And I think we have some of those, -00:34:16.159 --> 00:34:16.280 +00:34:13.679 --> 00:34:16.280 you know, this kind of tension also in the -00:34:17.880 --> 00:34:18.159 +00:34:16.280 --> 00:34:18.159 Emacs itself. What should be in Emacs core? -00:34:19.440 --> 00:34:19.699 +00:34:18.159 --> 00:34:19.699 Should we have a lean Emacs core? -00:34:21.300 --> 00:34:21.800 +00:34:19.699 --> 00:34:21.800 Should we have more stuff in Emacs core? -00:34:26.040 --> 00:34:26.320 +00:34:22.360 --> 00:34:26.320 And I think these are good discussions to -00:34:29.120 --> 00:34:29.380 +00:34:26.320 --> 00:34:29.380 have. And there are various challenges that -00:34:31.440 --> 00:34:31.940 +00:34:29.380 --> 00:34:31.940 are associated with each of those choices. -00:34:34.840 --> 00:34:35.320 +00:34:32.540 --> 00:34:35.320 I think what will never change is that Emacs -00:34:36.780 --> 00:34:37.280 +00:34:35.320 --> 00:34:37.280 is hackable. Emacs is customizable. -00:34:38.300 --> 00:34:38.800 +00:34:37.500 --> 00:34:38.800 This is the key strength. -00:34:40.520 --> 00:34:40.960 +00:34:38.860 --> 00:34:40.960 This is why we love and use Emacs. -00:34:41.320 --> 00:34:41.820 +00:34:40.960 --> 00:34:41.820 I think fundamentally, -00:34:43.780 --> 00:34:44.280 +00:34:42.380 --> 00:34:44.280 whether you do it a lot or not, -00:34:46.760 --> 00:34:47.260 +00:34:44.380 --> 00:34:47.260 this is what at core is bringing you that -00:34:48.679 --> 00:34:49.179 +00:34:47.320 --> 00:34:49.179 amazing user experience. -00:34:53.040 --> 00:34:53.199 +00:34:50.739 --> 00:34:53.199 However, the flip side of that sometimes is -00:34:56.080 --> 00:34:56.280 +00:34:53.199 --> 00:34:56.280 that it's so easy to hack Emacs so that we -00:34:58.120 --> 00:34:58.520 +00:34:56.280 --> 00:34:58.520 hack around bugs instead of fixing them. -00:35:00.280 --> 00:35:00.540 +00:34:58.520 --> 00:35:00.540 We do some tweak and our customers say, -00:35:01.420 --> 00:35:01.720 +00:35:00.540 --> 00:35:01.720 okay, this is a little bit broken, -00:35:03.400 --> 00:35:03.560 +00:35:01.720 --> 00:35:03.560 Let me just fix it. I'll put an advice on -00:35:05.200 --> 00:35:05.700 +00:35:03.560 --> 00:35:05.700 this function. I'll do this customization. -00:35:08.540 --> 00:35:09.040 +00:35:06.500 --> 00:35:09.040 Or we accept limitations in Emacs core. -00:35:11.600 --> 00:35:12.100 +00:35:09.340 --> 00:35:12.100 And I think it's fine. -00:35:13.380 --> 00:35:13.760 +00:35:12.380 --> 00:35:13.760 I mean, this will never change. -00:35:16.160 --> 00:35:16.560 +00:35:13.760 --> 00:35:16.560 That will always be core to what Emacs is, -00:35:20.020 --> 00:35:20.140 +00:35:16.560 --> 00:35:20.140 right? However, I think that the flip side of -00:35:22.300 --> 00:35:22.500 +00:35:20.140 --> 00:35:22.500 that is that I think sometimes we could be -00:35:26.260 --> 00:35:26.760 +00:35:22.500 --> 00:35:26.760 better at just taking those few extra steps -00:35:29.060 --> 00:35:29.260 +00:35:26.820 --> 00:35:29.260 to also make Emacs better itself and solve -00:35:31.480 --> 00:35:31.680 +00:35:29.260 --> 00:35:31.680 this for all users. And I think if we can -00:35:33.480 --> 00:35:33.680 +00:35:31.680 --> 00:35:33.680 build a little bit more of a culture like -00:35:35.320 --> 00:35:35.460 +00:35:33.680 --> 00:35:35.460 that, I mean, we already have that culture to -00:35:36.820 --> 00:35:37.200 +00:35:35.460 --> 00:35:37.200 a large extent, don't get me wrong, -00:35:39.440 --> 00:35:39.620 +00:35:37.200 --> 00:35:39.620 we do, but if we can get a little bit more of -00:35:41.120 --> 00:35:41.320 +00:35:39.620 --> 00:35:41.320 that culture, let's get that into core, -00:35:43.260 --> 00:35:43.760 +00:35:41.320 --> 00:35:43.760 let's get that problem fixed, -00:35:45.640 --> 00:35:46.140 +00:35:43.980 --> 00:35:46.140 that frustration. I can tell you that, -00:35:48.640 --> 00:35:48.940 +00:35:47.040 --> 00:35:48.940 I just started a new assignment at work, -00:35:51.360 --> 00:35:51.420 +00:35:48.940 --> 00:35:51.420 I already told you, so I'm going to write a -00:35:53.860 --> 00:35:54.140 +00:35:51.420 --> 00:35:54.140 lot of Python, okay? So I need to keep track -00:35:55.240 --> 00:35:55.740 +00:35:54.140 --> 00:35:55.740 of something called virtual environments, -00:35:57.760 --> 00:35:58.260 +00:35:56.040 --> 00:35:58.260 and that's just a way to install these -00:36:01.440 --> 00:36:01.640 +00:35:58.440 --> 00:36:01.640 dependencies just locally per directory or -00:36:02.920 --> 00:36:03.420 +00:36:01.640 --> 00:36:03.420 per repository kind of thing. -00:36:05.520 --> 00:36:05.740 +00:36:03.900 --> 00:36:05.740 And I've used various packages for that. -00:36:07.360 --> 00:36:07.860 +00:36:05.740 --> 00:36:07.860 There are like 4 packages, -00:36:10.120 --> 00:36:10.560 +00:36:07.940 --> 00:36:10.560 5 packages, maybe. And 1 is called VM, -00:36:11.240 --> 00:36:11.740 +00:36:10.560 --> 00:36:11.740 and 1 is called VirtualM, -00:36:13.140 --> 00:36:13.640 +00:36:11.820 --> 00:36:13.640 and 1 is called Python-VM. -00:36:16.620 --> 00:36:16.980 +00:36:15.420 --> 00:36:16.980 And now I'm using, you know, -00:36:17.780 --> 00:36:18.100 +00:36:16.980 --> 00:36:18.100 I'm using a different 1. -00:36:19.120 --> 00:36:19.620 +00:36:18.100 --> 00:36:19.620 And it's just a little bit, -00:36:22.000 --> 00:36:22.160 +00:36:20.080 --> 00:36:22.160 why doesn't this work out of the box in -00:36:25.580 --> 00:36:25.680 +00:36:22.160 --> 00:36:25.680 Emacs? Why? I don't think there's a really -00:36:28.220 --> 00:36:28.640 +00:36:25.680 --> 00:36:28.640 good fundamental good reason why something -00:36:29.960 --> 00:36:30.460 +00:36:28.640 --> 00:36:30.460 like that doesn't work in Emacs. -00:36:31.480 --> 00:36:31.980 +00:36:30.480 --> 00:36:31.980 So I think that's really, -00:36:34.920 --> 00:36:35.220 +00:36:32.220 --> 00:36:35.220 I mean, I'm sure there are other things like -00:36:36.780 --> 00:36:37.280 +00:36:35.220 --> 00:36:37.280 that, other fundamental features. -00:36:39.480 --> 00:36:39.920 +00:36:37.740 --> 00:36:39.920 Why is it that for the last 20 years, -00:36:43.540 --> 00:36:43.740 +00:36:39.920 --> 00:36:43.740 we've shipped Emacs with no PHP support out -00:36:47.180 --> 00:36:47.660 +00:36:43.740 --> 00:36:47.660 of the box? I mean, I'm not a PHP programmer. -00:36:50.540 --> 00:36:51.020 +00:36:47.660 --> 00:36:51.020 I don't really have a lot of love for PHP, -00:36:55.520 --> 00:36:56.020 +00:36:51.020 --> 00:36:56.020 let's say. To me, it's a very funny-looking -00:36:59.800 --> 00:37:00.060 +00:36:57.180 --> 00:37:00.060 language, but okay, still it's been very -00:37:01.560 --> 00:37:02.060 +00:37:00.060 --> 00:37:02.060 popular. Why haven't we supported it? -00:37:02.900 --> 00:37:03.280 +00:37:02.120 --> 00:37:03.280 I mean, it's just strange. -00:37:04.540 --> 00:37:05.040 +00:37:03.280 --> 00:37:05.040 You install Emacs on some machine, -00:37:06.760 --> 00:37:07.260 +00:37:05.220 --> 00:37:07.260 you open a PHP file, you get fundamental -00:37:08.680 --> 00:37:09.160 +00:37:07.280 --> 00:37:09.160 mode. It's not the best user experience, -00:37:12.400 --> 00:37:12.600 +00:37:09.160 --> 00:37:12.600 in my opinion. So I think there are some -00:37:15.300 --> 00:37:15.480 +00:37:12.600 --> 00:37:15.480 things where we really could do a little bit -00:37:19.700 --> 00:37:20.200 +00:37:15.480 --> 00:37:20.200 better. And I'm seeing this all the time. -00:37:22.280 --> 00:37:22.500 +00:37:20.200 --> 00:37:22.500 Just this week, this new assignment was -00:37:24.140 --> 00:37:24.640 +00:37:22.500 --> 00:37:24.640 interesting. There was this Emacs user. -00:37:26.720 --> 00:37:26.980 +00:37:24.720 --> 00:37:26.980 Turns out we have the exact same hack in both -00:37:29.640 --> 00:37:29.860 +00:37:26.980 --> 00:37:29.860 of our init files. So we had created the -00:37:31.700 --> 00:37:32.140 +00:37:29.860 --> 00:37:32.140 exact same mode for DIRED, -00:37:33.600 --> 00:37:33.920 +00:37:32.140 --> 00:37:33.920 actually, to hide dot files. -00:37:36.560 --> 00:37:36.720 +00:37:33.920 --> 00:37:36.720 You know, dot something is supposed to be -00:37:38.940 --> 00:37:39.440 +00:37:36.720 --> 00:37:39.440 hidden on a Unix system. -00:37:43.700 --> 00:37:43.940 +00:37:40.240 --> 00:37:43.940 So we had DERED hide dot files mode to just -00:37:46.800 --> 00:37:47.100 +00:37:43.940 --> 00:37:47.100 hide them. And why isn't that in DERED? -00:37:47.920 --> 00:37:48.420 +00:37:47.100 --> 00:37:48.420 Or should it be in DERED? -00:37:50.360 --> 00:37:50.860 +00:37:48.480 --> 00:37:50.860 Should it be a package on the new Elpa? -00:37:52.680 --> 00:37:53.000 +00:37:51.000 --> 00:37:53.000 Where should it be? Why is it just local -00:37:54.280 --> 00:37:54.680 +00:37:53.000 --> 00:37:54.680 hack? Should it be on a wiki somewhere? -00:37:56.240 --> 00:37:56.740 +00:37:54.680 --> 00:37:56.740 I mean, sometimes that's the correct answer. -00:37:58.640 --> 00:37:59.060 +00:37:56.980 --> 00:37:59.060 Sometimes the correct answer is, -00:37:59.920 --> 00:38:00.420 +00:37:59.060 --> 00:38:00.420 yes, it should be a package. -00:38:02.040 --> 00:38:02.360 +00:38:00.780 --> 00:38:02.360 Sometimes the correct answer is, -00:38:03.640 --> 00:38:04.140 +00:38:02.360 --> 00:38:04.140 yes, it should really be in core. -00:38:05.920 --> 00:38:06.420 +00:38:04.280 --> 00:38:06.420 So what I want to promote is more like, -00:38:08.600 --> 00:38:08.900 +00:38:06.480 --> 00:38:08.900 let's just take a step back and just ask -00:38:11.000 --> 00:38:11.180 +00:38:08.900 --> 00:38:11.180 yourself, what's the best solution if we look -00:38:11.880 --> 00:38:12.240 +00:38:11.180 --> 00:38:12.240 at the overall picture? -00:38:13.420 --> 00:38:13.920 +00:38:12.240 --> 00:38:13.920 Should I hack this into my configuration? -00:38:16.720 --> 00:38:16.840 +00:38:14.600 --> 00:38:16.840 In many cases, yes, that's the right thing to -00:38:19.040 --> 00:38:19.540 +00:38:16.840 --> 00:38:19.540 do. We don't want to proliferate just random -00:38:21.660 --> 00:38:22.160 +00:38:19.840 --> 00:38:22.160 solutions all over Emacs for no reason. -00:38:24.600 --> 00:38:24.760 +00:38:22.540 --> 00:38:24.760 But sometimes we want to fix it once and for -00:38:27.200 --> 00:38:27.700 +00:38:24.760 --> 00:38:27.700 all. We want to do that in core. -00:38:30.040 --> 00:38:30.200 +00:38:27.880 --> 00:38:30.200 So you could send stuff like that to us as -00:38:30.980 --> 00:38:31.480 +00:38:30.200 --> 00:38:31.480 patches or as packages. -00:38:34.060 --> 00:38:34.340 +00:38:31.560 --> 00:38:34.340 And we can discuss a little bit about where -00:38:35.920 --> 00:38:36.420 +00:38:34.340 --> 00:38:36.420 should we solve this? What's the right level -00:38:40.760 --> 00:38:41.100 +00:38:37.280 --> 00:38:41.100 of abstraction? I'm seeing that I'm running -00:38:43.340 --> 00:38:43.620 +00:38:41.100 --> 00:38:43.620 out of time. I had an Emacs wish list. -00:38:46.380 --> 00:38:46.880 +00:38:43.620 --> 00:38:46.880 Maybe we can take more of that in the Q&A. -00:38:49.107 --> 00:38:49.226 +00:38:47.170 --> 00:38:49.226 But I want to say, like, -00:38:50.220 --> 00:38:50.460 +00:38:49.226 --> 00:38:50.460 in VS Code, you just start VS Code. -00:38:51.420 --> 00:38:51.660 +00:38:50.460 --> 00:38:51.660 You open a Python file, -00:38:52.660 --> 00:38:53.040 +00:38:51.660 --> 00:38:53.040 and you get, like, hey, -00:38:54.060 --> 00:38:54.560 +00:38:53.040 --> 00:38:54.560 are you trying to use Python? -00:38:55.900 --> 00:38:56.280 +00:38:54.840 --> 00:38:56.280 Click here, install Python. -00:38:58.200 --> 00:38:58.700 +00:38:56.280 --> 00:38:58.700 You get all the nice things out of the box. -00:39:01.400 --> 00:39:01.560 +00:38:59.180 --> 00:39:01.560 And my argument is, why can't we have more of -00:39:03.380 --> 00:39:03.880 +00:39:01.560 --> 00:39:03.880 that in Emacs? I don't think it's necessarily -00:39:05.860 --> 00:39:06.360 +00:39:04.000 --> 00:39:06.360 hard, but it does take a little bit of work. -00:39:08.560 --> 00:39:09.060 +00:39:06.960 --> 00:39:09.060 The challenges here are more social, -00:39:10.380 --> 00:39:10.880 +00:39:09.060 --> 00:39:10.880 I think, than technical. -00:39:12.480 --> 00:39:12.780 +00:39:10.900 --> 00:39:12.780 And I think it's worth doing, -00:39:13.700 --> 00:39:14.060 +00:39:12.780 --> 00:39:14.060 because it's not just Python. -00:39:16.280 --> 00:39:16.640 +00:39:14.060 --> 00:39:16.640 It's just There are always these small things -00:39:18.640 --> 00:39:18.900 +00:39:16.640 --> 00:39:18.900 where it just really should work, -00:39:20.500 --> 00:39:20.900 +00:39:18.900 --> 00:39:20.900 and that would be a much better experience. -00:39:23.000 --> 00:39:23.360 +00:39:20.900 --> 00:39:23.360 And then you could customize not that thing -00:39:24.100 --> 00:39:24.600 +00:39:23.360 --> 00:39:24.600 that should just work, -00:39:26.980 --> 00:39:27.140 +00:39:24.640 --> 00:39:27.140 but you could customize more fun and -00:39:29.320 --> 00:39:29.620 +00:39:27.140 --> 00:39:29.620 exploratory things instead of people -00:39:31.260 --> 00:39:31.720 +00:39:29.620 --> 00:39:31.720 reinventing the wheel over and over again. -00:39:33.340 --> 00:39:33.420 +00:39:31.720 --> 00:39:33.420 So I'm very excited about what's happening in -00:39:35.040 --> 00:39:35.280 +00:39:33.420 --> 00:39:35.280 Emacs. I think we should be proud of what -00:39:37.200 --> 00:39:37.360 +00:39:35.280 --> 00:39:37.360 we've accomplished. It's so many things to -00:39:37.960 --> 00:39:38.360 +00:39:37.360 --> 00:39:38.360 many different people, -00:39:39.160 --> 00:39:39.660 +00:39:38.360 --> 00:39:39.660 an environment for hacking, -00:39:41.120 --> 00:39:41.620 +00:39:40.040 --> 00:39:41.620 just a productivity system. -00:39:43.680 --> 00:39:44.020 +00:39:41.880 --> 00:39:44.020 Other sees us as a different way of looking -00:39:45.160 --> 00:39:45.360 +00:39:44.020 --> 00:39:45.360 at computing, you know, -00:39:47.160 --> 00:39:47.440 +00:39:45.360 --> 00:39:47.440 the embodiment of the ideal of the Lisp -00:39:49.120 --> 00:39:49.280 +00:39:47.440 --> 00:39:49.280 machine if you want to talk big words and -00:39:50.380 --> 00:39:50.660 +00:39:49.280 --> 00:39:50.660 stuff like that. And of course, -00:39:52.900 --> 00:39:53.320 +00:39:50.660 --> 00:39:53.320 Emacs are all those things and so many more. -00:39:54.940 --> 00:39:55.440 +00:39:53.320 --> 00:39:55.440 And that's what makes Emacs so amazing. -00:40:00.580 --> 00:40:00.780 +00:39:56.280 --> 00:40:00.780 And in some sense, we should be care that -00:40:02.720 --> 00:40:03.040 +00:40:00.780 --> 00:40:03.040 people are satisfied with using lesser text -00:40:05.220 --> 00:40:05.600 +00:40:03.040 --> 00:40:05.600 editors. How could they be happy running -00:40:07.180 --> 00:40:07.440 +00:40:05.600 --> 00:40:07.440 that? I mean, I'm sure it's fine, -00:40:09.360 --> 00:40:09.800 +00:40:07.440 --> 00:40:09.800 but it sure as hell isn't Emacs. -00:40:12.100 --> 00:40:12.340 +00:40:09.800 --> 00:40:12.340 So don't we owe it to the world and to them -00:40:13.940 --> 00:40:14.440 +00:40:12.340 --> 00:40:14.440 and to ourselves to make a great Emacs. -00:40:15.880 --> 00:40:16.120 +00:40:14.760 --> 00:40:16.120 That will be my ending words. -00:40:17.520 --> 00:40:18.020 +00:40:16.120 --> 00:40:18.020 And I hope to see you all in the Q&A. -00:40:22.360 --> 00:40:22.560 +00:40:18.120 --> 00:40:22.560 Thank you all. And thank you so much, -00:40:23.860 --> 00:40:24.360 +00:40:22.560 --> 00:40:24.360 Stefan. That was a wonderful presentation. -00:40:26.780 --> 00:40:27.280 +00:40:24.800 --> 00:40:27.280 And I just want to give you the opportunity. -00:40:29.440 --> 00:40:29.940 +00:40:27.340 --> 00:40:29.940 You said that you perhaps had, -00:40:31.260 --> 00:40:31.400 +00:40:30.480 --> 00:40:31.400 Not the practical stuff, -00:40:33.120 --> 00:40:33.280 +00:40:31.400 --> 00:40:33.280 but you wanted to do a demo or something like -00:40:34.280 --> 00:40:34.780 +00:40:33.280 --> 00:40:34.780 this? What did you mention exactly? -00:40:37.960 --> 00:40:38.460 +00:40:36.180 --> 00:40:38.460 Yeah, we didn't have time really. -00:40:41.600 --> 00:40:42.040 +00:40:38.740 --> 00:40:42.040 Yes, I'm not sure. I didn't prepare anything -00:40:43.080 --> 00:40:43.580 +00:40:42.040 --> 00:40:43.580 so that we can do it live. -00:40:44.540 --> 00:40:44.800 +00:40:43.620 --> 00:40:44.800 But maybe for next time, -00:40:48.120 --> 00:40:48.620 +00:40:44.800 --> 00:40:48.620 I will do a demo. Don't hold me to it. -00:40:50.800 --> 00:40:51.100 +00:40:49.920 --> 00:40:51.100 Or someone else could. -00:40:52.040 --> 00:40:52.540 +00:40:51.100 --> 00:40:52.540 That would be really amazing. -00:40:53.860 --> 00:40:54.020 +00:40:53.260 --> 00:40:54.020 Right. Well, thank you, -00:40:56.640 --> 00:40:56.820 +00:40:54.020 --> 00:40:56.820 Stéphane. You've been already into so much -00:41:00.060 --> 00:41:00.560 +00:40:56.820 --> 00:41:00.560 detail of so many... So much of the intricacy -00:41:04.600 --> 00:41:05.100 +00:41:01.780 --> 00:41:05.100 of the maintenance. And as someone who's been -00:41:07.480 --> 00:41:07.980 +00:41:05.460 --> 00:41:07.980 95% of the time developing for Melpa, -00:41:10.920 --> 00:41:11.040 +00:41:08.260 --> 00:41:11.040 I feel like this talk was very geared to a -00:41:13.520 --> 00:41:13.980 +00:41:11.040 --> 00:41:13.980 lot of us who tend to experiment in this -00:41:15.920 --> 00:41:16.400 +00:41:13.980 --> 00:41:16.400 Cambrian stage of Emacs evolution, -00:41:19.120 --> 00:41:19.620 +00:41:16.400 --> 00:41:19.620 where we get to deploy a lot of creativity -00:41:23.760 --> 00:41:24.020 +00:41:20.600 --> 00:41:24.020 whilst also feeling pretty agile in a way we -00:41:25.080 --> 00:41:25.580 +00:41:24.020 --> 00:41:25.580 come up with solutions to problems. -00:41:28.820 --> 00:41:29.240 +00:41:25.640 --> 00:41:29.240 But you've won me over with your discussion -00:41:31.100 --> 00:41:31.360 +00:41:29.240 --> 00:41:31.360 about potentially moving some of this stuff -00:41:32.720 --> 00:41:33.220 +00:41:31.360 --> 00:41:33.220 to core. And I think this particularly -00:41:35.940 --> 00:41:36.140 +00:41:33.280 --> 00:41:36.140 resonated at the end with this tension that -00:41:38.160 --> 00:41:38.660 +00:41:36.140 --> 00:41:38.660 you feel about problems that you encounter. -00:41:40.280 --> 00:41:40.760 +00:41:39.160 --> 00:41:40.760 Do you fix them in Melpa? -00:41:41.600 --> 00:41:42.040 +00:41:40.760 --> 00:41:42.040 Do you fix them in core? -00:41:43.680 --> 00:41:43.780 +00:41:42.040 --> 00:41:43.780 Is it not something that is supposed to be an -00:41:46.340 --> 00:41:46.560 +00:41:43.780 --> 00:41:46.560 option? I love this tension and it's -00:41:47.900 --> 00:41:48.040 +00:41:46.560 --> 00:41:48.040 something that we've been exploring for the -00:41:49.300 --> 00:41:49.780 +00:41:48.040 --> 00:41:49.780 last 3 edition of Emacs Cons. -00:41:51.980 --> 00:41:52.480 +00:41:49.780 --> 00:41:52.480 It's really what is to be the interaction -00:41:55.160 --> 00:41:55.660 +00:41:52.600 --> 00:41:55.660 between this pool of very clever developers -00:41:57.960 --> 00:41:58.100 +00:41:55.680 --> 00:41:58.100 who are on Melpa but who are perhaps a little -00:42:00.380 --> 00:42:00.880 +00:41:58.100 --> 00:42:00.880 bit afraid of joining Core and the wonderful -00:42:02.360 --> 00:42:02.860 +00:42:00.920 --> 00:42:02.860 job that you do that, yes, -00:42:05.140 --> 00:42:05.640 +00:42:02.980 --> 00:42:05.640 seems archaic from the outside, -00:42:07.700 --> 00:42:07.840 +00:42:05.860 --> 00:42:07.840 but as you've been at length today in your -00:42:09.280 --> 00:42:09.480 +00:42:07.840 --> 00:42:09.480 presentation, is actually just a better way -00:42:11.680 --> 00:42:11.780 +00:42:09.480 --> 00:42:11.780 to work, a very pragmatic way to get a lot of -00:42:13.180 --> 00:42:13.320 +00:42:11.780 --> 00:42:13.320 work done. So, thank you so much for your -00:42:15.020 --> 00:42:15.240 +00:42:13.320 --> 00:42:15.240 presentation. Thank you, -00:42:20.320 --> 00:42:20.740 +00:42:15.240 --> 00:42:20.740 Leo. So, we have about 12 minutes now to go -00:42:22.500 --> 00:42:22.950 +00:42:20.740 --> 00:42:22.950 through as many questions as possible. -00:42:25.600 --> 00:42:26.000 +00:42:22.950 --> 00:42:26.000 You have obviously had a lot of questions -00:42:26.680 --> 00:42:27.180 +00:42:26.000 --> 00:42:27.180 throughout your presentation. -00:42:28.660 --> 00:42:28.940 +00:42:27.660 --> 00:42:28.940 Do you have access to the pad, -00:42:30.240 --> 00:42:30.400 +00:42:28.940 --> 00:42:30.400 or do you want me to share the question and -00:42:32.340 --> 00:42:32.660 +00:42:30.400 --> 00:42:32.660 feed them to you? Yes, -00:42:34.020 --> 00:42:34.200 +00:42:32.660 --> 00:42:34.200 could you start with sharing them? -00:42:35.500 --> 00:42:36.000 +00:42:34.200 --> 00:42:36.000 I'll see if I can get it on my screen. -00:42:39.140 --> 00:42:39.640 +00:42:36.280 --> 00:42:39.640 Sure, I'll do that. Please let me know if my -00:42:42.620 --> 00:42:42.980 +00:42:39.720 --> 00:42:42.980 microphone is clipping because my OBS setup -00:42:44.060 --> 00:42:44.440 +00:42:42.980 --> 00:42:44.440 sometimes is a little bit janky. -00:42:45.720 --> 00:42:46.080 +00:42:44.440 --> 00:42:46.080 But I'm going to try to read the questions -00:42:47.280 --> 00:42:47.780 +00:42:46.080 --> 00:42:47.780 for now. It's tipping, -00:42:51.660 --> 00:42:51.980 +00:42:48.080 --> 00:42:51.980 I can hear you okay. Okay, -00:42:53.940 --> 00:42:54.400 +00:42:51.980 --> 00:42:54.400 so bear with the clicking, -00:42:56.080 --> 00:42:56.480 +00:42:54.400 --> 00:42:56.480 we'll switch as soon as possible to Stefan -00:42:57.800 --> 00:42:58.080 +00:42:56.480 --> 00:42:58.080 reading the question, but I'll read the first -00:43:02.320 --> 00:43:02.820 +00:42:58.080 --> 00:43:02.820 1. Can you tell us some about your, -00:43:03.880 --> 00:43:04.340 +00:43:02.860 --> 00:43:04.340 can you tell us some more I assume, -00:43:05.720 --> 00:43:06.160 +00:43:04.340 --> 00:43:06.160 about your background with Emacs development -00:43:07.000 --> 00:43:07.500 +00:43:06.160 --> 00:43:07.500 and programming in general, -00:43:08.720 --> 00:43:09.220 +00:43:07.580 --> 00:43:09.220 your professional work possibly? -00:43:15.060 --> 00:43:15.440 +00:43:11.400 --> 00:43:15.440 Yeah, sure. Okay, I studied computer science -00:43:19.760 --> 00:43:19.960 +00:43:15.440 --> 00:43:19.960 at university. I started programming on a -00:43:23.800 --> 00:43:23.960 +00:43:19.960 --> 00:43:23.960 Commodore 64. I started with BASIC and then I -00:43:26.380 --> 00:43:26.880 +00:43:23.960 --> 00:43:26.880 did a couple of versions of BASIC as a kid. -00:43:31.340 --> 00:43:31.540 +00:43:27.380 --> 00:43:31.540 But then really things took off when I -00:43:33.740 --> 00:43:34.240 +00:43:31.540 --> 00:43:34.240 started using GNU Linux. -00:43:35.320 --> 00:43:35.580 +00:43:34.300 --> 00:43:35.580 I can't remember which year, -00:43:36.940 --> 00:43:37.440 +00:43:35.580 --> 00:43:37.440 maybe it was early 2000, -00:43:39.240 --> 00:43:39.740 +00:43:38.480 --> 00:43:39.740 something like that, late. -00:43:41.580 --> 00:43:42.080 +00:43:39.840 --> 00:43:42.080 No, it must've been before that actually, -00:43:43.620 --> 00:43:44.120 +00:43:42.380 --> 00:43:44.120 because I remember I was 14. -00:43:45.520 --> 00:43:46.020 +00:43:44.340 --> 00:43:46.020 Yeah, okay, so let's say 1999, -00:43:48.220 --> 00:43:48.720 +00:43:46.500 --> 00:43:48.720 1998, somewhere there around. -00:43:49.740 --> 00:43:50.200 +00:43:48.840 --> 00:43:50.200 Then I started with Perl, -00:43:52.120 --> 00:43:52.620 +00:43:50.200 --> 00:43:52.620 and I did Perl for a good long while. -00:43:54.960 --> 00:43:55.460 +00:43:52.700 --> 00:43:55.460 I learned C++, I learned C, -00:43:56.640 --> 00:43:56.960 +00:43:55.680 --> 00:43:56.960 I did all kinds of stuff, -00:43:58.140 --> 00:43:58.640 +00:43:56.960 --> 00:43:58.640 and then I went to university, -00:44:01.220 --> 00:44:01.700 +00:43:59.440 --> 00:44:01.700 computer science, and I've been working, -00:44:03.480 --> 00:44:03.980 +00:44:01.700 --> 00:44:03.980 you know, in various roles. -00:44:05.800 --> 00:44:06.300 +00:44:04.160 --> 00:44:06.300 Right now, I'm coding Python. -00:44:09.140 --> 00:44:09.640 +00:44:06.980 --> 00:44:09.640 Up until last Friday, I was writing firmware -00:44:11.819 --> 00:44:12.319 +00:44:09.940 --> 00:44:12.319 in C for a small microcontroller, -00:44:15.200 --> 00:44:15.600 +00:44:12.440 --> 00:44:15.600 which is pretty different than writing -00:44:16.560 --> 00:44:17.060 +00:44:15.600 --> 00:44:17.060 Python, that's for sure. -00:44:19.280 --> 00:44:19.600 +00:44:17.220 --> 00:44:19.600 So yeah, so that's a little bit about me. -00:44:21.360 --> 00:44:21.860 +00:44:19.600 --> 00:44:21.860 I got interested in free software, -00:44:24.280 --> 00:44:24.720 +00:44:22.300 --> 00:44:24.720 you know, also at a very young age. -00:44:26.140 --> 00:44:26.320 +00:44:24.720 --> 00:44:26.320 So, I mean, I've been following these, -00:44:28.940 --> 00:44:29.120 +00:44:26.320 --> 00:44:29.120 you know, ideological discussions and -00:44:31.160 --> 00:44:31.560 +00:44:29.120 --> 00:44:31.560 debates, read all this stuff by Richard -00:44:33.620 --> 00:44:33.940 +00:44:31.560 --> 00:44:33.940 Stallman and so on and so forth. -00:44:37.500 --> 00:44:37.760 +00:44:33.940 --> 00:44:37.760 But yeah, that's it. Great, -00:44:40.680 --> 00:44:41.120 +00:44:37.760 --> 00:44:41.120 thank you. I'll move on to the next question. -00:44:42.640 --> 00:44:42.980 +00:44:41.120 --> 00:44:42.980 You'll have to listen to me because if I -00:44:44.680 --> 00:44:45.020 +00:44:42.980 --> 00:44:45.020 start sharing my screen again, -00:44:45.820 --> 00:44:46.320 +00:44:45.020 --> 00:44:46.320 we're going to get some clicks. -00:44:50.380 --> 00:44:50.680 +00:44:48.140 --> 00:44:50.680 So the question. Do you think that 1 day -00:44:53.914 --> 00:44:53.930 +00:44:50.680 --> 00:44:53.930 there will be a native I'll start again, -00:44:54.065 --> 00:44:54.079 +00:44:53.930 --> 00:44:54.079 sorry. Do you think that 1 day there will be -00:44:54.140 --> 00:44:54.440 +00:44:54.079 --> 00:44:54.440 a native... I'll start again, -00:44:56.380 --> 00:44:56.480 +00:44:54.440 --> 00:44:56.480 sorry. Do you think that 1 day there will be -00:44:58.840 --> 00:44:59.020 +00:44:56.480 --> 00:44:59.020 a native graphical web browser in Emacs or is -00:45:00.340 --> 00:45:00.540 +00:44:59.020 --> 00:45:00.540 it kind of against its philosophy and -00:45:03.320 --> 00:45:03.820 +00:45:00.540 --> 00:45:03.820 architecture? So will we stick just with EWW -00:45:06.300 --> 00:45:06.800 +00:45:04.200 --> 00:45:06.800 and EAF or similar workaround tricks? -00:45:10.840 --> 00:45:11.200 +00:45:08.640 --> 00:45:11.200 So if, I don't know if people have seen, -00:45:12.240 --> 00:45:12.740 +00:45:11.200 --> 00:45:12.740 there is a talk by, I think, -00:45:14.820 --> 00:45:15.080 +00:45:13.440 --> 00:45:15.080 Perry Metzger, is that the name? -00:45:16.300 --> 00:45:16.800 +00:45:15.080 --> 00:45:16.800 Sorry if I got the name wrong. -00:45:17.860 --> 00:45:18.360 +00:45:17.080 --> 00:45:18.360 Perry Metzger, I think. -00:45:20.660 --> 00:45:20.800 +00:45:18.720 --> 00:45:20.800 It's like, he marks a text editor for the -00:45:22.360 --> 00:45:22.640 +00:45:20.800 --> 00:45:22.640 next 40 years. He makes an excellent point -00:45:24.440 --> 00:45:24.720 +00:45:22.640 --> 00:45:24.720 there that 1 of the things that we need to do -00:45:27.720 --> 00:45:27.840 +00:45:24.720 --> 00:45:27.840 is really get a proper HTML rendering in -00:45:29.900 --> 00:45:30.260 +00:45:27.840 --> 00:45:30.260 Emacs. It's like a dream at this point. -00:45:32.000 --> 00:45:32.200 +00:45:30.260 --> 00:45:32.200 No 1 is actively working on something like -00:45:33.960 --> 00:45:34.240 +00:45:32.200 --> 00:45:34.240 that. I think that, you know, -00:45:35.980 --> 00:45:36.380 +00:45:34.240 --> 00:45:36.380 there, first of all, you'd need to rewrite -00:45:39.020 --> 00:45:39.520 +00:45:36.380 --> 00:45:39.520 the display engine. So that's a big job. -00:45:40.920 --> 00:45:41.140 +00:45:39.920 --> 00:45:41.140 It is. I'm not saying, -00:45:42.040 --> 00:45:42.540 +00:45:41.140 --> 00:45:42.540 you know, it can't be done, -00:45:44.160 --> 00:45:44.660 +00:45:43.040 --> 00:45:44.660 but you need to start there. -00:45:47.300 --> 00:45:47.560 +00:45:44.660 --> 00:45:47.560 Right? Second of all, you need to think -00:45:50.080 --> 00:45:50.460 +00:45:47.560 --> 00:45:50.460 about, you know, with all the Emacs Lisp code -00:45:51.820 --> 00:45:52.090 +00:45:50.460 --> 00:45:52.090 out there, is really assuming, -00:45:54.760 --> 00:45:54.960 +00:45:52.090 --> 00:45:54.960 you know, 1 paradigm, which is that you have -00:45:57.640 --> 00:45:57.720 +00:45:54.960 --> 00:45:57.720 a square, and basically you have columns and -00:45:59.480 --> 00:45:59.760 +00:45:57.720 --> 00:45:59.760 you have rows, and everything is in there, -00:46:01.860 --> 00:46:02.360 +00:45:59.760 --> 00:46:02.360 even images, is basically in a column, -00:46:04.240 --> 00:46:04.740 +00:46:02.540 --> 00:46:04.740 you know, in a column on a row somewhere. -00:46:07.120 --> 00:46:07.360 +00:46:05.380 --> 00:46:07.360 Whereas, you know, when you just start doing -00:46:09.280 --> 00:46:09.780 +00:46:07.360 --> 00:46:09.780 the more web stuff and web rendering, -00:46:11.520 --> 00:46:12.020 +00:46:10.120 --> 00:46:12.020 you already have like a seaplane. -00:46:14.340 --> 00:46:14.500 +00:46:12.040 --> 00:46:14.500 You have different types of geometries that -00:46:16.720 --> 00:46:16.880 +00:46:14.500 --> 00:46:16.880 are possible. And what does it mean to go to -00:46:19.200 --> 00:46:19.370 +00:46:16.880 --> 00:46:19.370 the logical next line in that kind of sense? -00:46:21.100 --> 00:46:21.420 +00:46:19.370 --> 00:46:21.420 I mean these types of things I'm not saying -00:46:23.260 --> 00:46:23.440 +00:46:21.420 --> 00:46:23.440 it can't be done. I'm saying there are there -00:46:27.260 --> 00:46:27.440 +00:46:23.440 --> 00:46:27.440 are definitely some challenges there It would -00:46:30.020 --> 00:46:30.280 +00:46:27.440 --> 00:46:30.280 be amazing I mean, but we need someone with -00:46:32.520 --> 00:46:33.020 +00:46:30.280 --> 00:46:33.020 you know, the inclination and talent I think -00:46:37.280 --> 00:46:37.680 +00:46:33.320 --> 00:46:37.680 to work on that's a job posting if I've ever -00:46:40.080 --> 00:46:40.200 +00:46:37.680 --> 00:46:40.200 had 1. So good luck to whoever's willing to -00:46:41.600 --> 00:46:42.100 +00:46:40.200 --> 00:46:42.100 apply for this 1. I think it's a tough 1. -00:46:45.940 --> 00:46:46.440 +00:46:43.180 --> 00:46:46.440 It is, yes. Go on. Okay, -00:46:47.860 --> 00:46:48.040 +00:46:46.560 --> 00:46:48.040 do you happen to have the questions in front -00:46:50.160 --> 00:46:50.320 +00:46:48.040 --> 00:46:50.320 of you? Can I just read them to you so that -00:46:52.160 --> 00:46:52.660 +00:46:50.320 --> 00:46:52.660 you can also have a feedback in front of you? -00:46:56.180 --> 00:46:56.680 +00:46:54.780 --> 00:46:56.680 Yes, I have the pad here. -00:46:58.580 --> 00:46:58.860 +00:46:57.260 --> 00:46:58.860 Okay, cool. So I'll read the next question -00:47:00.060 --> 00:47:00.260 +00:46:58.860 --> 00:47:00.260 and this way I don't have to worry too much -00:47:02.160 --> 00:47:02.320 +00:47:00.260 --> 00:47:02.320 about me butchering every word in the -00:47:04.340 --> 00:47:04.540 +00:47:02.320 --> 00:47:04.540 sentence. So, Emacs development and -00:47:06.300 --> 00:47:06.460 +00:47:04.540 --> 00:47:06.460 communication still is very much focused on -00:47:08.300 --> 00:47:08.640 +00:47:06.460 --> 00:47:08.640 email mailing lists. I like this, -00:47:10.120 --> 00:47:10.380 +00:47:08.640 --> 00:47:10.380 but what do you think about introducing other -00:47:11.820 --> 00:47:12.320 +00:47:10.380 --> 00:47:12.320 channels for talking to users, -00:47:14.980 --> 00:47:15.140 +00:47:12.440 --> 00:47:15.140 like the Emacs project community could set up -00:47:16.880 --> 00:47:17.120 +00:47:15.140 --> 00:47:17.120 a master on instance of its own, -00:47:19.780 --> 00:47:20.280 +00:47:17.120 --> 00:47:20.280 for instance? I think from the point of view -00:47:21.500 --> 00:47:21.760 +00:47:20.280 --> 00:47:21.760 of the Emacs core team, -00:47:23.680 --> 00:47:23.860 +00:47:21.760 --> 00:47:23.860 we don't really have a lot of resources or -00:47:25.760 --> 00:47:25.960 +00:47:23.860 --> 00:47:25.960 people inclined to be working on stuff like -00:47:27.700 --> 00:47:27.880 +00:47:25.960 --> 00:47:27.880 that. But I mean, there is so much going on. -00:47:28.860 --> 00:47:29.360 +00:47:27.880 --> 00:47:29.360 Emacs is a very, you know, -00:47:32.080 --> 00:47:32.580 +00:47:30.420 --> 00:47:32.580 It's a big community, frankly, -00:47:34.000 --> 00:47:34.500 +00:47:32.580 --> 00:47:34.500 right? So people working on emacs.com, -00:47:36.900 --> 00:47:37.400 +00:47:34.760 --> 00:47:37.400 there are people in the IRC channel, -00:47:38.700 --> 00:47:39.200 +00:47:37.500 --> 00:47:39.200 the emacs IRC channel, -00:47:40.320 --> 00:47:40.820 +00:47:39.400 --> 00:47:40.820 there's the emacs subreddit. -00:47:42.780 --> 00:47:43.280 +00:47:40.960 --> 00:47:43.280 And I mean, people are doing an incredible -00:47:45.280 --> 00:47:45.480 +00:47:43.380 --> 00:47:45.480 job. And I think if people wanna do more -00:47:46.359 --> 00:47:46.400 +00:47:45.480 --> 00:47:46.400 stuff like that, I mean, -00:47:48.340 --> 00:47:48.840 +00:47:46.400 --> 00:47:48.840 Don't wait for Argo, just go for it. -00:47:54.000 --> 00:47:54.340 +00:47:52.000 --> 00:47:54.340 Great. Moving on to the next question. -00:47:56.400 --> 00:47:56.520 +00:47:54.340 --> 00:47:56.520 Sorry, I'm not commenting anymore because we -00:47:58.080 --> 00:47:58.180 +00:47:56.520 --> 00:47:58.180 have so many questions and I'd love for you -00:48:00.060 --> 00:48:00.260 +00:47:58.180 --> 00:48:00.260 to answer as many people as possible because -00:48:02.040 --> 00:48:02.540 +00:48:00.260 --> 00:48:02.540 we have about 6 minutes technically, -00:48:04.320 --> 00:48:04.820 +00:48:02.640 --> 00:48:04.820 but we can go perhaps a little bit over. -00:48:05.860 --> 00:48:06.220 +00:48:05.080 --> 00:48:06.220 If you have the time, Stefan, -00:48:08.180 --> 00:48:08.680 +00:48:06.220 --> 00:48:08.680 though. Yeah. Okay, great. -00:48:11.000 --> 00:48:11.140 +00:48:09.340 --> 00:48:11.140 What are some features or packages you'd like -00:48:12.040 --> 00:48:12.540 +00:48:11.140 --> 00:48:12.540 to see developed by the community? -00:48:15.060 --> 00:48:15.560 +00:48:12.560 --> 00:48:15.560 We've already talked about the native HTTP -00:48:17.120 --> 00:48:17.620 +00:48:15.920 --> 00:48:17.620 display, but do you have any others? -00:48:21.580 --> 00:48:22.080 +00:48:19.540 --> 00:48:22.080 So, I mean, developed by the community, -00:48:23.040 --> 00:48:23.240 +00:48:22.360 --> 00:48:23.240 it depends what you mean. -00:48:27.280 --> 00:48:27.720 +00:48:23.240 --> 00:48:27.720 So do you mean sending stuff that people -00:48:29.220 --> 00:48:29.720 +00:48:27.720 --> 00:48:29.720 could be working on in general? -00:48:32.820 --> 00:48:33.320 +00:48:30.480 --> 00:48:33.320 I think for now, like let's say the roadmap, -00:48:34.960 --> 00:48:35.140 +00:48:33.420 --> 00:48:35.140 I'll just give some of the things that I -00:48:36.820 --> 00:48:36.940 +00:48:35.140 --> 00:48:36.940 think should happen right now and that I -00:48:38.720 --> 00:48:39.060 +00:48:36.940 --> 00:48:39.060 would love for people to send patches for. -00:48:40.920 --> 00:48:41.120 +00:48:39.060 --> 00:48:41.120 That's what I'm gonna be answering because -00:48:42.360 --> 00:48:42.860 +00:48:41.120 --> 00:48:42.860 that's what I think I can answer. -00:48:44.720 --> 00:48:45.220 +00:48:43.280 --> 00:48:45.220 Tree-sitter is a new thing, -00:48:48.120 --> 00:48:48.620 +00:48:45.280 --> 00:48:48.620 right? Improving and working on new modes -00:48:49.540 --> 00:48:50.040 +00:48:48.860 --> 00:48:50.040 for, you know, TreeSitter, -00:48:52.360 --> 00:48:52.860 +00:48:50.200 --> 00:48:52.860 it's not very hard. I think many people get -00:48:55.400 --> 00:48:55.560 +00:48:52.900 --> 00:48:55.560 into it and make sure to integrate them in -00:48:57.040 --> 00:48:57.540 +00:48:55.560 --> 00:48:57.540 Emacs core. I think that would be, -00:48:59.700 --> 00:49:00.140 +00:48:58.140 --> 00:49:00.140 I mean, on my wishlist. -00:49:01.820 --> 00:49:01.960 +00:49:00.140 --> 00:49:01.960 The other thing that is that we've asked for -00:49:03.260 --> 00:49:03.740 +00:49:01.960 --> 00:49:03.740 someone perhaps with a little bit more -00:49:05.800 --> 00:49:05.940 +00:49:03.740 --> 00:49:05.940 experience, I think, but working on -00:49:08.880 --> 00:49:09.080 +00:49:05.940 --> 00:49:09.080 refactoring capabilities in Emacs and a more -00:49:11.100 --> 00:49:11.320 +00:49:09.080 --> 00:49:11.320 general framework, I think, -00:49:13.180 --> 00:49:13.680 +00:49:11.320 --> 00:49:13.680 for that. There are probably many more ideas -00:49:14.900 --> 00:49:15.300 +00:49:13.780 --> 00:49:15.300 that I could give people, -00:49:17.420 --> 00:49:17.720 +00:49:15.300 --> 00:49:17.720 but those would be the 2 big ones, -00:49:19.640 --> 00:49:20.140 +00:49:17.720 --> 00:49:20.140 I think, that are also very uncontroversial. -00:49:23.460 --> 00:49:23.960 +00:49:22.360 --> 00:49:23.960 It's funny because for me, -00:49:26.580 --> 00:49:26.760 +00:49:24.400 --> 00:49:26.760 I don't think refactoring would count as a -00:49:29.260 --> 00:49:29.760 +00:49:26.760 --> 00:49:29.760 feature, but it's so vital to allowing -00:49:31.280 --> 00:49:31.780 +00:49:30.360 --> 00:49:31.780 further features to be developed. -00:49:33.940 --> 00:49:34.160 +00:49:31.780 --> 00:49:34.160 Otherwise, I remember the way Org Mode used -00:49:36.020 --> 00:49:36.300 +00:49:34.160 --> 00:49:36.300 to be before we had Org Element and stuff -00:49:38.680 --> 00:49:38.940 +00:49:36.300 --> 00:49:38.940 like this. It was really complicated to write -00:49:40.920 --> 00:49:41.200 +00:49:38.940 --> 00:49:41.200 any kind of parsing stuff for it. -00:49:42.100 --> 00:49:42.340 +00:49:41.200 --> 00:49:42.340 And now that we've got it, -00:49:43.580 --> 00:49:44.080 +00:49:42.340 --> 00:49:44.080 it just opened up a world of possibility -00:49:45.920 --> 00:49:46.160 +00:49:44.180 --> 00:49:46.160 where parsing an Org Mode file is just made -00:49:47.920 --> 00:49:48.280 +00:49:46.160 --> 00:49:48.280 so much easier. So I think that's a wonderful -00:49:49.120 --> 00:49:49.620 +00:49:48.280 --> 00:49:49.620 answer because it goes, -00:49:51.780 --> 00:49:52.080 +00:49:49.760 --> 00:49:52.080 it's multi-layered as you would expect from -00:49:53.420 --> 00:49:53.920 +00:49:52.080 --> 00:49:53.920 something that concerns the whole of Emacs. -00:49:56.660 --> 00:49:57.160 +00:49:55.800 --> 00:49:57.160 Moving on to the next question. -00:49:59.600 --> 00:49:59.960 +00:49:57.440 --> 00:49:59.960 What is the hardest decision being made -00:50:02.240 --> 00:50:02.480 +00:49:59.960 --> 00:50:02.480 within Emacs dev for the last 3 years. -00:50:04.760 --> 00:50:04.960 +00:50:02.480 --> 00:50:04.960 I'm not sure, is it the decision in the last -00:50:07.340 --> 00:50:07.480 +00:50:04.960 --> 00:50:07.480 3 years or I'll let you interpret the -00:50:08.260 --> 00:50:08.760 +00:50:07.480 --> 00:50:08.760 question however you want. -00:50:10.460 --> 00:50:10.960 +00:50:09.280 --> 00:50:10.960 Okay, well, I'll say this. -00:50:13.940 --> 00:50:14.220 +00:50:11.640 --> 00:50:14.220 I started in August and I haven't had any -00:50:16.480 --> 00:50:16.920 +00:50:14.220 --> 00:50:16.920 really hard decisions so far. -00:50:20.360 --> 00:50:20.540 +00:50:16.920 --> 00:50:20.540 So good news. Maybe Eli will have more for -00:50:22.320 --> 00:50:22.820 +00:50:20.540 --> 00:50:22.820 the last 3 years. Keep it simple. -00:50:28.160 --> 00:50:28.660 +00:50:25.240 --> 00:50:28.660 Thanks. Cool. Next question. -00:50:31.420 --> 00:50:31.920 +00:50:28.860 --> 00:50:31.920 Any plans to integrate XWM into core? -00:50:33.900 --> 00:50:34.400 +00:50:31.940 --> 00:50:34.400 Emacs is a really good Winters manager. -00:50:37.580 --> 00:50:38.080 +00:50:34.780 --> 00:50:38.080 That's super cool. I think EXWM is cool. -00:50:39.640 --> 00:50:40.140 +00:50:38.100 --> 00:50:40.140 I think they need to upgrade to Wayland -00:50:41.580 --> 00:50:41.880 +00:50:40.260 --> 00:50:41.880 somehow and that's not clear yet, -00:50:44.600 --> 00:50:44.880 +00:50:41.880 --> 00:50:44.880 but you know, we don't have any current plans -00:50:48.400 --> 00:50:48.900 +00:50:44.880 --> 00:50:48.900 to integrate it, no. Right, -00:50:51.180 --> 00:50:51.600 +00:50:49.020 --> 00:50:51.600 Next question. Do you think it is a good idea -00:50:53.040 --> 00:50:53.540 +00:50:51.600 --> 00:50:53.540 to choose Org Mode for writing documentation -00:50:57.260 --> 00:50:57.740 +00:50:53.680 --> 00:50:57.740 instead of tech info? I think that whatever -00:50:59.440 --> 00:50:59.680 +00:50:57.740 --> 00:50:59.680 we do, it should be the people that are -00:51:01.520 --> 00:51:01.760 +00:50:59.680 --> 00:51:01.760 working on the documentation that should make -00:51:03.240 --> 00:51:03.420 +00:51:01.760 --> 00:51:03.420 that choice. Currently we have, -00:51:05.740 --> 00:51:05.920 +00:51:03.420 --> 00:51:05.920 I think, Modus themes and Org Mode itself is -00:51:07.560 --> 00:51:08.060 +00:51:05.920 --> 00:51:08.060 writing their documentation in Org Mode, -00:51:10.440 --> 00:51:10.940 +00:51:08.080 --> 00:51:10.940 that's fine by me. It has some drawbacks, -00:51:12.940 --> 00:51:13.440 +00:51:10.960 --> 00:51:13.440 it has some benefits, but most documentation -00:51:14.340 --> 00:51:14.840 +00:51:13.580 --> 00:51:14.840 is still in tech info. -00:51:17.120 --> 00:51:17.360 +00:51:15.240 --> 00:51:17.360 Maybe we'd need to replace that at some -00:51:19.600 --> 00:51:19.840 +00:51:17.360 --> 00:51:19.840 point, I don't know. But for now, -00:51:21.960 --> 00:51:22.280 +00:51:19.840 --> 00:51:22.280 that's what people know and use. -00:51:24.140 --> 00:51:24.280 +00:51:22.280 --> 00:51:24.280 And if you find that as a barrier to -00:51:25.440 --> 00:51:25.600 +00:51:24.280 --> 00:51:25.600 contribute to Emacs, I mean, -00:51:26.920 --> 00:51:27.420 +00:51:25.600 --> 00:51:27.420 just really write it as plain text. -00:51:28.940 --> 00:51:29.380 +00:51:27.540 --> 00:51:29.380 We'll be happy to help you with the markup. -00:51:30.140 --> 00:51:30.280 +00:51:29.380 --> 00:51:30.280 It's a little bit, you know, -00:51:31.260 --> 00:51:31.760 +00:51:30.280 --> 00:51:31.760 finicky and stuff like that. -00:51:34.560 --> 00:51:35.060 +00:51:33.340 --> 00:51:35.060 Great. Thanks for that. -00:51:37.900 --> 00:51:38.000 +00:51:35.620 --> 00:51:38.000 Next question. What do you plan to work on in -00:51:38.860 --> 00:51:39.360 +00:51:38.000 --> 00:51:39.360 Emacs Core in the future? -00:51:42.440 --> 00:51:42.660 +00:51:40.460 --> 00:51:42.660 I'm a little bit hesitant to reply to that. -00:51:43.280 --> 00:51:43.740 +00:51:42.660 --> 00:51:43.740 Of course I have ideas. -00:51:45.360 --> 00:51:45.760 +00:51:43.740 --> 00:51:45.760 Of course there are projects that I'm working -00:51:47.360 --> 00:51:47.640 +00:51:45.760 --> 00:51:47.640 on. However, if I say it here, -00:51:48.280 --> 00:51:48.480 +00:51:47.640 --> 00:51:48.480 I feel like, you know, -00:51:50.740 --> 00:51:51.240 +00:51:48.480 --> 00:51:51.240 then you'll hold me to it later and come ask, -00:51:51.980 --> 00:51:52.480 +00:51:51.300 --> 00:51:52.480 where is that feature? -00:51:54.940 --> 00:51:55.180 +00:51:52.640 --> 00:51:55.180 So I'll just say there is plenty of stuff -00:51:57.100 --> 00:51:57.340 +00:51:55.180 --> 00:51:57.340 that I'm working on, and if you want to know -00:51:58.520 --> 00:51:58.780 +00:51:57.340 --> 00:51:58.780 some of the stuff that I have been working -00:51:59.540 --> 00:52:00.040 +00:51:58.780 --> 00:52:00.040 on, check the Git log. -00:52:02.240 --> 00:52:02.400 +00:52:00.060 --> 00:52:02.400 I think that's just really as much as I want -00:52:04.540 --> 00:52:05.040 +00:52:02.400 --> 00:52:05.040 to say about that right now. -00:52:07.180 --> 00:52:07.360 +00:52:05.660 --> 00:52:07.360 You've added folks to just look at the path -00:52:09.120 --> 00:52:09.620 +00:52:07.360 --> 00:52:09.620 with the changelog and that's all you need. -00:52:12.840 --> 00:52:13.340 +00:52:11.600 --> 00:52:13.340 All right, moving on to the next question. -00:52:15.880 --> 00:52:16.120 +00:52:14.020 --> 00:52:16.120 What do you use Emacs for in your life other -00:52:17.080 --> 00:52:17.580 +00:52:16.120 --> 00:52:17.580 than working on Emacs itself? -00:52:20.560 --> 00:52:21.060 +00:52:18.080 --> 00:52:21.060 Oh shit. So the big thing is programming, -00:52:23.520 --> 00:52:24.020 +00:52:21.140 --> 00:52:24.020 right? Now I work as a programmer. -00:52:28.780 --> 00:52:29.280 +00:52:27.040 --> 00:52:29.280 But in general, I use org mode heavily. -00:52:30.280 --> 00:52:30.780 +00:52:29.340 --> 00:52:30.780 I use it for all my writing. -00:52:32.960 --> 00:52:33.460 +00:52:30.820 --> 00:52:33.460 I use it to write, prepare this talk. -00:52:34.860 --> 00:52:35.360 +00:52:33.480 --> 00:52:35.360 I use it as a productivity system. -00:52:41.480 --> 00:52:41.980 +00:52:35.380 --> 00:52:41.980 I use it for emails. I use it as an RSS -00:52:43.980 --> 00:52:44.480 +00:52:41.980 --> 00:52:44.480 reader. I do most of my computing. -00:52:46.840 --> 00:52:47.040 +00:52:44.760 --> 00:52:47.040 I also have Firefox. So it's like Emacs and -00:52:48.320 --> 00:52:48.820 +00:52:47.040 --> 00:52:48.820 Firefox for some reason. -00:52:51.740 --> 00:52:51.900 +00:52:48.900 --> 00:52:51.900 I do read documentation in Emacs as well in -00:52:57.940 --> 00:52:58.440 +00:52:51.900 --> 00:52:58.440 you, but yeah. Great. I'm still, -00:53:00.540 --> 00:53:00.720 +00:52:59.180 --> 00:53:00.720 I do very much the same thing with you. -00:53:01.880 --> 00:53:02.040 +00:53:00.720 --> 00:53:02.040 Like You've described exactly what I do. -00:53:02.560 --> 00:53:02.960 +00:53:02.040 --> 00:53:02.960 I work as a programmer, -00:53:04.340 --> 00:53:04.640 +00:53:02.960 --> 00:53:04.640 I use Augment for a lot of stuff, -00:53:06.220 --> 00:53:06.340 +00:53:04.640 --> 00:53:06.340 and I think that describes a whole lot of -00:53:07.600 --> 00:53:08.100 +00:53:06.340 --> 00:53:08.100 people currently watching the stream. -00:53:10.180 --> 00:53:10.680 +00:53:09.380 --> 00:53:10.680 Moving on to the next question. -00:53:12.540 --> 00:53:12.740 +00:53:10.840 --> 00:53:12.740 What could we do in order to make Emacs more -00:53:13.780 --> 00:53:14.280 +00:53:12.740 --> 00:53:14.280 attractive for younger users? -00:53:17.440 --> 00:53:17.940 +00:53:14.820 --> 00:53:17.940 This is an amazing question and I feel wholly -00:53:20.220 --> 00:53:20.720 +00:53:18.480 --> 00:53:20.720 unprepared to answer this. -00:53:23.680 --> 00:53:24.180 +00:53:21.180 --> 00:53:24.180 Probably more introductory material aimed at -00:53:26.180 --> 00:53:26.580 +00:53:24.320 --> 00:53:26.580 that age group. What do you mean by younger -00:53:28.580 --> 00:53:28.740 +00:53:26.580 --> 00:53:28.740 users? You know what would be really cool if -00:53:30.240 --> 00:53:30.740 +00:53:28.740 --> 00:53:30.740 you had an Emacs for kids project? -00:53:31.560 --> 00:53:32.060 +00:53:31.020 --> 00:53:32.060 That would be amazing. -00:53:34.640 --> 00:53:34.920 +00:53:32.680 --> 00:53:34.920 I'm not sure if that's what people are -00:53:36.380 --> 00:53:36.880 +00:53:34.920 --> 00:53:36.880 thinking about, but yeah, -00:53:39.280 --> 00:53:39.780 +00:53:37.200 --> 00:53:39.780 that's about what I can say for now. -00:53:43.000 --> 00:53:43.320 +00:53:40.380 --> 00:53:43.320 Good question. It is a very good question, -00:53:45.760 --> 00:53:45.880 +00:53:43.320 --> 00:53:45.880 like it comes back always to a key topic in -00:53:47.480 --> 00:53:47.720 +00:53:45.880 --> 00:53:47.720 EmacsConf, which is, how do we get more -00:53:49.040 --> 00:53:49.360 +00:53:47.720 --> 00:53:49.360 people to join us? Because it's a wonderful -00:53:51.560 --> 00:53:51.760 +00:53:49.360 --> 00:53:51.760 community. And how do we onboard people who -00:53:53.720 --> 00:53:54.220 +00:53:51.760 --> 00:53:54.220 are not programmers or people who are younger -00:53:56.220 --> 00:53:56.720 +00:53:54.400 --> 00:53:56.720 than the average Joe coming in those -00:54:01.240 --> 00:54:01.560 +00:53:57.120 --> 00:54:01.560 meetings? There's this Excellent article by -00:54:05.460 --> 00:54:05.960 +00:54:01.560 --> 00:54:05.960 Paul Graham, I think, where he was describing -00:54:08.640 --> 00:54:09.140 +00:54:06.140 --> 00:54:09.140 how they used Emacs as the sort of customer -00:54:11.120 --> 00:54:11.520 +00:54:09.320 --> 00:54:11.520 service system. They built the customer -00:54:13.440 --> 00:54:13.940 +00:54:11.520 --> 00:54:13.940 service system for the early days of Amazon -00:54:17.080 --> 00:54:17.200 +00:54:14.700 --> 00:54:17.200 in Emacs Lisp. And then they switched and all -00:54:18.280 --> 00:54:18.680 +00:54:17.200 --> 00:54:18.680 the employees were sad. -00:54:21.480 --> 00:54:21.680 +00:54:18.680 --> 00:54:21.680 So definitely there's more stuff that could -00:54:24.660 --> 00:54:25.160 +00:54:21.680 --> 00:54:25.160 be done in Emacs and be done better in Emacs. -00:54:27.240 --> 00:54:27.440 +00:54:25.240 --> 00:54:27.440 So for sure, if people want to explore more -00:54:28.380 --> 00:54:28.880 +00:54:27.440 --> 00:54:28.880 stuff like that, that's amazing. -00:54:31.560 --> 00:54:32.040 +00:54:29.720 --> 00:54:32.040 Yeah. And for people who weren't around -00:54:33.540 --> 00:54:33.740 +00:54:32.040 --> 00:54:33.740 earlier today, we've had a presentation about -00:54:36.320 --> 00:54:36.820 +00:54:33.740 --> 00:54:36.820 how to get computer science students to use -00:54:40.900 --> 00:54:41.100 +00:54:36.860 --> 00:54:41.100 Emacs and trying to provide as much -00:54:43.200 --> 00:54:43.500 +00:54:41.100 --> 00:54:43.500 information and as much tutorial as needed -00:54:45.060 --> 00:54:45.480 +00:54:43.500 --> 00:54:45.480 for them to understand what is the philosophy -00:54:47.980 --> 00:54:48.420 +00:54:45.480 --> 00:54:48.420 behind Emacs and how it influences the way -00:54:49.300 --> 00:54:49.540 +00:54:48.420 --> 00:54:49.540 you work and so forth. -00:54:51.000 --> 00:54:51.420 +00:54:49.540 --> 00:54:51.420 So you might want to revisit this discussion. -00:54:53.100 --> 00:54:53.400 +00:54:51.420 --> 00:54:53.400 And we also have plenty of talks talking -00:54:57.540 --> 00:54:57.720 +00:54:53.400 --> 00:54:57.720 about this issue. And I can just add that I -00:55:00.220 --> 00:55:00.320 +00:54:57.720 --> 00:55:00.320 think it's very important for us as a -00:55:02.880 --> 00:55:03.120 +00:55:00.320 --> 00:55:03.120 community to just be enthusiastic to get more -00:55:04.400 --> 00:55:04.640 +00:55:03.120 --> 00:55:04.640 people involved. Because I mean, -00:55:06.260 --> 00:55:06.660 +00:55:04.640 --> 00:55:06.660 look, there's this meme where it's like, -00:55:08.300 --> 00:55:08.620 +00:55:06.660 --> 00:55:08.620 I use Arch Linux, by the way, -00:55:09.520 --> 00:55:10.020 +00:55:08.620 --> 00:55:10.020 I use Arch, by the way. -00:55:12.160 --> 00:55:12.380 +00:55:10.080 --> 00:55:12.380 And for some reason, people using Arch keep -00:55:13.580 --> 00:55:14.080 +00:55:12.380 --> 00:55:14.080 telling you that they're using Arch. -00:55:15.860 --> 00:55:16.160 +00:55:14.600 --> 00:55:16.160 That's fine. Use whatever you want. -00:55:17.760 --> 00:55:18.260 +00:55:16.160 --> 00:55:18.260 It's free software, I don't care. -00:55:21.500 --> 00:55:21.900 +00:55:20.140 --> 00:55:21.900 I think if you look at Vim users, -00:55:22.940 --> 00:55:23.440 +00:55:21.900 --> 00:55:23.440 they're very almost militant, -00:55:25.280 --> 00:55:25.780 +00:55:23.540 --> 00:55:25.780 oh, we're Vim, and Vim is the thing. -00:55:26.980 --> 00:55:27.480 +00:55:25.920 --> 00:55:27.480 And Emacs users sometimes, -00:55:29.540 --> 00:55:29.960 +00:55:27.700 --> 00:55:29.960 and it's fine. We take a bit of a more -00:55:30.860 --> 00:55:31.160 +00:55:29.960 --> 00:55:31.160 laid-back approach. We're like, -00:55:32.400 --> 00:55:32.720 +00:55:31.160 --> 00:55:32.720 yeah, I use Emacs, you use Vim, -00:55:35.080 --> 00:55:35.320 +00:55:32.720 --> 00:55:35.320 whatever. And that's fine. -00:55:36.460 --> 00:55:36.820 +00:55:35.320 --> 00:55:36.820 I mean, that's the correct approach, -00:55:38.300 --> 00:55:38.480 +00:55:36.820 --> 00:55:38.480 I think. You should respect what people want -00:55:40.520 --> 00:55:40.840 +00:55:38.480 --> 00:55:40.840 to use. I don't care that people use VS Code -00:55:42.380 --> 00:55:42.540 +00:55:40.840 --> 00:55:42.540 or whatever. I'm not going to use that -00:55:43.520 --> 00:55:43.940 +00:55:42.540 --> 00:55:43.940 because it's too limiting. -00:55:45.280 --> 00:55:45.780 +00:55:43.940 --> 00:55:45.780 It's not really a workable environment. -00:55:48.120 --> 00:55:48.620 +00:55:46.400 --> 00:55:48.620 But I think it's OK to be enthusiastic. -00:55:51.180 --> 00:55:51.360 +00:55:48.740 --> 00:55:51.360 I think it's okay to talk about that type of -00:55:53.600 --> 00:55:54.100 +00:55:51.360 --> 00:55:54.100 enthusiasm and anything that can help -00:55:56.600 --> 00:55:56.880 +00:55:54.400 --> 00:55:56.880 increase the enthusiasm around Emacs can only -00:56:00.600 --> 00:56:01.100 +00:55:56.880 --> 00:56:01.100 help the longevity of Emacs. -00:56:04.080 --> 00:56:04.280 +00:56:02.520 --> 00:56:04.280 I agree and that's also 1 of the key -00:56:04.840 --> 00:56:05.340 +00:56:04.280 --> 00:56:05.340 objectives of EmacsConf. -00:56:07.280 --> 00:56:07.660 +00:56:05.460 --> 00:56:07.660 It's about bringing a lot of amazing people -00:56:08.600 --> 00:56:09.100 +00:56:07.660 --> 00:56:09.100 to come talk, like you, -00:56:10.920 --> 00:56:11.400 +00:56:09.140 --> 00:56:11.400 about stuff that is very dear to you. -00:56:13.740 --> 00:56:14.180 +00:56:11.400 --> 00:56:14.180 And it's very tangible how much you care, -00:56:15.540 --> 00:56:15.920 +00:56:14.180 --> 00:56:15.920 all of you, about what you're presenting. -00:56:18.340 --> 00:56:18.560 +00:56:15.920 --> 00:56:18.560 And it's amazing to put all of you people on -00:56:20.640 --> 00:56:20.800 +00:56:18.560 --> 00:56:20.800 just 48 hours talking about all of this and -00:56:22.720 --> 00:56:22.920 +00:56:20.800 --> 00:56:22.920 then creating so much content for people to -00:56:24.280 --> 00:56:24.480 +00:56:22.920 --> 00:56:24.480 watch. And I think it's really helping the -00:56:27.900 --> 00:56:28.140 +00:56:24.480 --> 00:56:28.140 enthusiasm to live on and to gather a little -00:56:29.160 --> 00:56:29.660 +00:56:28.140 --> 00:56:29.660 more snow as it comes down. -00:56:31.440 --> 00:56:31.720 +00:56:29.920 --> 00:56:31.720 Yeah, I watch you Max Conf every year. -00:56:32.960 --> 00:56:33.460 +00:56:31.720 --> 00:56:33.460 I think it's a lot of fun. -00:56:37.120 --> 00:56:37.360 +00:56:34.300 --> 00:56:37.360 Thank you. I'll take the compliment for -00:56:38.120 --> 00:56:38.620 +00:56:37.360 --> 00:56:38.620 everyone else in the team. -00:56:40.960 --> 00:56:41.120 +00:56:39.620 --> 00:56:41.120 We're going to go a little bit longer with -00:56:42.720 --> 00:56:42.800 +00:56:41.120 --> 00:56:42.800 the Q&A because we still have a lot of -00:56:44.380 --> 00:56:44.480 +00:56:42.800 --> 00:56:44.480 questions and if Stéphane is still willing to -00:56:47.860 --> 00:56:48.160 +00:56:44.480 --> 00:56:48.160 answer, I'm still willing to not go too bad -00:56:49.540 --> 00:56:49.740 +00:56:48.160 --> 00:56:49.740 to hear a lot more of it. -00:56:50.140 --> 00:56:50.580 +00:56:49.740 --> 00:56:50.580 Yeah, for me it's fine. -00:56:55.580 --> 00:56:55.760 +00:56:50.580 --> 00:56:55.760 I have time. Great. So I think I've done this -00:56:56.960 --> 00:56:57.460 +00:56:55.760 --> 00:56:57.460 question. So, all right. -00:56:59.820 --> 00:57:00.060 +00:56:58.080 --> 00:57:00.060 How are we going to make sure that a cool -00:57:01.760 --> 00:57:01.960 +00:57:00.060 --> 00:57:01.960 idea is going to pass it through for the next -00:57:03.600 --> 00:57:04.100 +00:57:01.960 --> 00:57:04.100 generation, let's say 20 years later, -00:57:05.540 --> 00:57:05.860 +00:57:04.120 --> 00:57:05.860 the generation still have the good knowledge -00:57:09.600 --> 00:57:09.940 +00:57:05.860 --> 00:57:09.940 we have today. Yeah, so I mean, -00:57:12.440 --> 00:57:12.840 +00:57:09.940 --> 00:57:12.840 if you think about what does EMAX need to -00:57:14.880 --> 00:57:15.180 +00:57:12.840 --> 00:57:15.180 have staying power, so in general, -00:57:16.840 --> 00:57:17.020 +00:57:15.180 --> 00:57:17.020 they say, you know, if if when you start a -00:57:18.900 --> 00:57:19.340 +00:57:17.020 --> 00:57:19.340 company, if you have a company for 1 year, -00:57:19.900 --> 00:57:20.220 +00:57:19.340 --> 00:57:20.220 then in all likelihood, -00:57:21.560 --> 00:57:21.820 +00:57:20.220 --> 00:57:21.820 you're going to have it for 2 years because, -00:57:23.320 --> 00:57:23.680 +00:57:21.820 --> 00:57:23.680 you know, it's just so if you've had Emacs -00:57:25.760 --> 00:57:25.840 +00:57:23.680 --> 00:57:25.840 for 4 years, I'm saying that we're going to -00:57:27.520 --> 00:57:27.980 +00:57:25.840 --> 00:57:27.980 have Emacs for the next 4 years as well. -00:57:30.200 --> 00:57:30.540 +00:57:27.980 --> 00:57:30.540 Just based on that, I'm not sure the logic -00:57:31.700 --> 00:57:32.200 +00:57:30.540 --> 00:57:32.200 holds up, but you know, -00:57:33.820 --> 00:57:34.320 +00:57:32.440 --> 00:57:34.320 how does Emacs stay relevant? -00:57:35.120 --> 00:57:35.500 +00:57:34.340 --> 00:57:35.500 I think is the question. -00:57:37.900 --> 00:57:38.400 +00:57:35.500 --> 00:57:38.400 Well, I think we need to continue working on -00:57:41.540 --> 00:57:41.840 +00:57:38.520 --> 00:57:41.840 all the types of exploratory work that people -00:57:43.360 --> 00:57:43.820 +00:57:41.840 --> 00:57:43.820 are doing in the community. -00:57:45.460 --> 00:57:45.720 +00:57:43.820 --> 00:57:45.720 I think there is fundamental stuff that needs -00:57:47.440 --> 00:57:47.720 +00:57:45.720 --> 00:57:47.720 to be done. I mean, if people want to work -00:57:49.000 --> 00:57:49.400 +00:57:47.720 --> 00:57:49.400 on, you know, web rendering and Emacs, -00:57:50.060 --> 00:57:50.240 +00:57:49.400 --> 00:57:50.240 maybe that's the next, -00:57:53.000 --> 00:57:53.240 +00:57:50.240 --> 00:57:53.240 you know, revolutionary step that we need -00:57:55.020 --> 00:57:55.320 +00:57:53.240 --> 00:57:55.320 that could, you know, really showcase what -00:57:57.380 --> 00:57:57.640 +00:57:55.320 --> 00:57:57.640 Emacs, you know, as, you know, -00:58:00.140 --> 00:58:00.620 +00:57:57.640 --> 00:58:00.620 an idea, even if not Emacs as a software -00:58:01.680 --> 00:58:01.960 +00:58:00.620 --> 00:58:01.960 could be and, you know, -00:58:04.600 --> 00:58:05.000 +00:58:01.960 --> 00:58:05.000 Because there is huge potential in the idea -00:58:06.600 --> 00:58:07.100 +00:58:05.000 --> 00:58:07.100 as such. So maybe that's something. -00:58:09.340 --> 00:58:09.600 +00:58:07.960 --> 00:58:09.600 But I mean, from the point of view of core -00:58:11.380 --> 00:58:11.840 +00:58:09.600 --> 00:58:11.840 development, I think we need to just continue -00:58:14.540 --> 00:58:15.040 +00:58:11.840 --> 00:58:15.040 working on the fundamental technologies. -00:58:17.760 --> 00:58:17.980 +00:58:15.260 --> 00:58:17.980 1 thing that I would like to eventually see -00:58:19.200 --> 00:58:19.700 +00:58:17.980 --> 00:58:19.700 is a better garbage collector. -00:58:22.020 --> 00:58:22.280 +00:58:19.900 --> 00:58:22.280 We've talked about that for a long time, -00:58:24.640 --> 00:58:25.140 +00:58:22.280 --> 00:58:25.140 but I mean, we need someone to do the job -00:58:27.720 --> 00:58:27.980 +00:58:25.380 --> 00:58:27.980 really. It's not very easy. -00:58:29.280 --> 00:58:29.780 +00:58:27.980 --> 00:58:29.780 It's very hard, actually. -00:58:33.780 --> 00:58:34.000 +00:58:31.100 --> 00:58:34.000 So just continues working on stuff like that, -00:58:34.680 --> 00:58:35.180 +00:58:34.000 --> 00:58:35.180 continue with the exploration, -00:58:39.860 --> 00:58:40.260 +00:58:35.800 --> 00:58:40.260 continue using and being excited about Emacs. -00:58:42.980 --> 00:58:43.180 +00:58:40.260 --> 00:58:43.180 I think that's the best guarantee that we -00:58:45.480 --> 00:58:45.800 +00:58:43.180 --> 00:58:45.800 have. Yeah, and perhaps to echo something -00:58:46.280 --> 00:58:46.780 +00:58:45.800 --> 00:58:46.780 that you said earlier, -00:58:47.580 --> 00:58:47.960 +00:58:46.840 --> 00:58:47.960 the tools that you're using, -00:58:49.540 --> 00:58:49.920 +00:58:47.960 --> 00:58:49.920 like the emails, they've been around forever, -00:58:50.600 --> 00:58:51.100 +00:58:49.920 --> 00:58:51.100 they will be around forever. -00:58:53.320 --> 00:58:53.480 +00:58:51.500 --> 00:58:53.480 This pragmatic stance on the tools that -00:58:56.120 --> 00:58:56.240 +00:58:53.480 --> 00:58:56.240 you're using, they might look stayed from the -00:58:58.380 --> 00:58:58.880 +00:58:56.240 --> 00:58:58.880 outside, but ultimately they are what permits -00:59:01.780 --> 00:59:02.280 +00:58:59.220 --> 00:59:02.280 a sense of longevity to any kind of project -00:59:05.200 --> 00:59:05.460 +00:59:03.300 --> 00:59:05.460 you embark upon. Also, -00:59:06.760 --> 00:59:07.260 +00:59:05.460 --> 00:59:07.260 in a sense, I think that the expectations -00:59:09.140 --> 00:59:09.320 +00:59:07.740 --> 00:59:09.320 might be changing in the sense that, -00:59:12.320 --> 00:59:12.820 +00:59:09.320 --> 00:59:12.820 you know, when I started using GNU Linux, -00:59:14.580 --> 00:59:15.060 +00:59:12.980 --> 00:59:15.060 you know what the first thing I did was, -00:59:16.560 --> 00:59:16.960 +00:59:15.060 --> 00:59:16.960 because I couldn't get Xorg to run. -00:59:18.840 --> 00:59:19.040 +00:59:16.960 --> 00:59:19.040 So the first thing you had to do was you had -00:59:20.440 --> 00:59:20.820 +00:59:19.040 --> 00:59:20.820 to compile your own Linux kernel. -00:59:22.800 --> 00:59:22.960 +00:59:20.820 --> 00:59:22.960 So you sit there and make manuconfig and -00:59:24.640 --> 00:59:24.880 +00:59:22.960 --> 00:59:24.880 you'll like, try to read it and you've never -00:59:25.840 --> 00:59:26.320 +00:59:24.880 --> 00:59:26.320 done anything like this before. -00:59:27.440 --> 00:59:27.800 +00:59:26.320 --> 00:59:27.800 You know, I was just a kid. -00:59:29.340 --> 00:59:29.540 +00:59:27.800 --> 00:59:29.540 I had never been at this kind of, -00:59:31.360 --> 00:59:31.560 +00:59:29.540 --> 00:59:31.560 you know, whatever. So I had to start with -00:59:33.740 --> 00:59:34.200 +00:59:31.560 --> 00:59:34.200 that. And then you have to write the X or -00:59:35.820 --> 00:59:36.100 +00:59:34.200 --> 00:59:36.100 configuration file. And I had the patience -00:59:36.600 --> 00:59:37.100 +00:59:36.100 --> 00:59:37.100 for that. But nowadays, -00:59:38.100 --> 00:59:38.600 +00:59:37.200 --> 00:59:38.600 people have different expectations. -00:59:39.960 --> 00:59:40.460 +00:59:38.740 --> 00:59:40.460 You just install something, -00:59:42.600 --> 00:59:42.720 +00:59:40.640 --> 00:59:42.720 and it works. And we need to keep that in -00:59:45.100 --> 00:59:45.280 +00:59:42.720 --> 00:59:45.280 mind as well. So that's why I keep pushing as -00:59:48.220 --> 00:59:48.720 +00:59:45.280 --> 00:59:48.720 1 of my big things. We need to build a more -00:59:50.920 --> 00:59:51.180 +00:59:48.740 --> 00:59:51.180 cohesive experience out of the box. -00:59:52.040 --> 00:59:52.540 +00:59:51.180 --> 00:59:52.540 Of course, that can be customizable. -00:59:55.080 --> 00:59:55.240 +00:59:52.940 --> 00:59:55.240 You shouldn't shoehorn anything in just for -00:59:58.260 --> 00:59:58.760 +00:59:55.240 --> 00:59:58.760 the sake of it. But you could get some things -01:00:00.420 --> 01:00:00.920 +00:59:58.940 --> 01:00:00.920 a little bit more for free. -01:00:02.860 --> 01:00:03.080 +01:00:01.220 --> 01:00:03.080 And maybe some of us that have our own -01:00:04.640 --> 01:00:04.780 +01:00:03.080 --> 01:00:04.780 configs and we've been doing this for you -01:00:07.220 --> 01:00:07.720 +01:00:04.780 --> 01:00:07.720 know, 2, 05:10, even 20 years, -01:00:09.480 --> 01:00:09.660 +01:00:08.480 --> 01:00:09.660 we could also see, you know, -01:00:11.400 --> 01:00:11.640 +01:00:09.660 --> 01:00:11.640 from the point of view of a new user that -01:00:13.440 --> 01:00:13.780 +01:00:11.640 --> 01:00:13.780 just installs VS Code and then they click, -01:00:15.420 --> 01:00:15.680 +01:00:13.780 --> 01:00:15.680 yes I use Python, yes I use that, -01:00:18.340 --> 01:00:18.840 +01:00:15.680 --> 01:00:18.840 and then it just automatically works. -01:00:20.280 --> 01:00:20.600 +01:00:19.200 --> 01:00:20.600 You know what I mean? I mean, -01:00:24.020 --> 01:00:24.140 +01:00:20.600 --> 01:00:24.140 then could we get closer to that perhaps a -01:00:25.560 --> 01:00:26.060 +01:00:24.140 --> 01:00:26.060 little bit? I think that would also help. -01:00:28.500 --> 01:00:28.700 +01:00:26.760 --> 01:00:28.700 Yeah, I think that's what we call the -01:00:30.280 --> 01:00:30.580 +01:00:28.700 --> 01:00:30.580 configuration wizard. And we were talking -01:00:32.440 --> 01:00:32.520 +01:00:30.580 --> 01:00:32.520 about this, I think, a couple of years ago at -01:00:34.000 --> 01:00:34.200 +01:00:32.520 --> 01:00:34.200 EmacsConf. I can't remember if it was with -01:00:35.380 --> 01:00:35.740 +01:00:34.200 --> 01:00:35.740 Adam in the chat. Adam, -01:00:37.760 --> 01:00:38.240 +01:00:35.740 --> 01:00:38.240 I mean Alpha Papa, or if it was with Bastien, -01:00:40.200 --> 01:00:40.440 +01:00:38.240 --> 01:00:40.440 but I remember the idea cropping off. -01:00:42.380 --> 01:00:42.520 +01:00:40.440 --> 01:00:42.520 Like, it's either you get a tutorial for -01:00:43.240 --> 01:00:43.520 +01:00:42.520 --> 01:00:43.520 Emacs, a proper tutorial, -01:00:45.140 --> 01:00:45.640 +01:00:43.520 --> 01:00:45.640 or you get a wizard, or you get both, -01:00:47.160 --> 01:00:47.520 +01:00:45.640 --> 01:00:47.520 and then all is right for the world. -01:00:48.920 --> 01:00:49.420 +01:00:47.520 --> 01:00:49.420 But definitely cool ideas being evoked. -01:00:52.120 --> 01:00:52.280 +01:00:50.280 --> 01:00:52.280 I'm gonna say I need to decree the time when -01:00:53.940 --> 01:00:54.440 +01:00:52.280 --> 01:00:54.440 we finish because for me it is 11.15 -01:00:59.060 --> 01:00:59.300 +01:00:55.080 --> 01:00:59.300 p.m. And I think my co-organizers are also -01:01:01.440 --> 01:01:01.680 +01:00:59.300 --> 01:01:01.680 willing to end the day and go rest because -01:01:03.040 --> 01:01:03.540 +01:01:01.680 --> 01:01:03.540 we've got another day to go tomorrow. -01:01:05.920 --> 01:01:06.280 +01:01:03.760 --> 01:01:06.280 So how about we take 3 minutes and 30 seconds -01:01:07.800 --> 01:01:08.300 +01:01:06.280 --> 01:01:08.300 to try to answer a little bit more succinctly -01:01:09.520 --> 01:01:09.780 +01:01:08.560 --> 01:01:09.780 the questions we've got left. -01:01:10.440 --> 01:01:10.940 +01:01:09.780 --> 01:01:10.940 How does that sound, Stefan? -01:01:15.040 --> 01:01:15.200 +01:01:11.320 --> 01:01:15.200 Sounds great. Cool, so I'll start reading the -01:01:16.640 --> 01:01:17.140 +01:01:15.200 --> 01:01:17.140 questions then that we've got left. -01:01:20.680 --> 01:01:20.840 +01:01:18.340 --> 01:01:20.840 So this 1 we've got. If you're willing to -01:01:22.200 --> 01:01:22.360 +01:01:20.840 --> 01:01:22.360 discuss it, what do you think about the -01:01:24.520 --> 01:01:24.720 +01:01:22.360 --> 01:01:24.720 recent controversy about use of CLLib in -01:01:29.920 --> 01:01:29.980 +01:01:24.720 --> 01:01:29.980 Emacs call code? Am I willing to discuss -01:01:35.460 --> 01:01:35.960 +01:01:29.980 --> 01:01:35.960 that? I have said my opinion on Emacs, -01:01:40.080 --> 01:01:40.580 +01:01:36.420 --> 01:01:40.580 Devel, I think. And I think I understand, -01:01:44.540 --> 01:01:44.820 +01:01:40.680 --> 01:01:44.820 I think, the viewpoints of both sides in that -01:01:46.320 --> 01:01:46.720 +01:01:44.820 --> 01:01:46.720 discussion. It is true that some things, -01:01:49.060 --> 01:01:49.280 +01:01:46.720 --> 01:01:49.280 I mean, we have to think about that. -01:01:49.960 --> 01:01:50.340 +01:01:49.280 --> 01:01:50.340 There is a real problem, -01:01:53.300 --> 01:01:53.520 +01:01:50.340 --> 01:01:53.520 I think, when we have 3 different APIs for -01:01:54.640 --> 01:01:55.140 +01:01:53.520 --> 01:01:55.140 doing the same thing in Emacs. -01:01:56.580 --> 01:01:57.080 +01:01:55.320 --> 01:01:57.080 And can we make that a little bit better? -01:01:58.780 --> 01:01:59.280 +01:01:57.280 --> 01:01:59.280 I mean, perhaps we could, -01:02:03.840 --> 01:02:04.040 +01:01:59.760 --> 01:02:04.040 right? So that's about as much as I'd like to -01:02:06.560 --> 01:02:06.940 +01:02:04.040 --> 01:02:06.940 say. Fair enough. I would have also accepted -01:02:09.060 --> 01:02:09.160 +01:02:06.940 --> 01:02:09.160 that CL loops are ugly to write and they -01:02:09.840 --> 01:02:10.320 +01:02:09.160 --> 01:02:10.320 don't feel very lispy. -01:02:11.540 --> 01:02:12.040 +01:02:10.320 --> 01:02:12.040 But I'll take your answer as well. -01:02:14.860 --> 01:02:15.360 +01:02:13.260 --> 01:02:15.360 Yeah, some people think that. -01:02:17.900 --> 01:02:18.400 +01:02:15.660 --> 01:02:18.400 I understand that position as well. -01:02:20.720 --> 01:02:21.220 +01:02:19.200 --> 01:02:21.220 Right. Okay, next question. -01:02:22.600 --> 01:02:23.100 +01:02:21.260 --> 01:02:23.100 When we find a bug in our Emacs, -01:02:24.840 --> 01:02:25.200 +01:02:23.100 --> 01:02:25.200 do we need to try to replicate it on our side -01:02:26.380 --> 01:02:26.780 +01:02:25.200 --> 01:02:26.780 version, on our SID version, -01:02:29.040 --> 01:02:29.340 +01:02:26.780 --> 01:02:29.340 sorry, then update all the usual list package -01:02:31.320 --> 01:02:31.480 +01:02:29.340 --> 01:02:31.480 we use, and if we succeed to replicate the -01:02:33.160 --> 01:02:33.340 +01:02:31.480 --> 01:02:33.340 bug in this version, only then go to -01:02:34.920 --> 01:02:35.420 +01:02:33.340 --> 01:02:35.420 development version 30 and do the same. -01:02:37.480 --> 01:02:37.580 +01:02:35.660 --> 01:02:37.580 Then only ask for assistance in reporting the -01:02:40.080 --> 01:02:40.260 +01:02:37.580 --> 01:02:40.260 bug we found. So I believe when they -01:02:43.220 --> 01:02:43.540 +01:02:40.260 --> 01:02:43.540 encounter a bug, are people supposed to go to -01:02:47.220 --> 01:02:47.500 +01:02:43.540 --> 01:02:47.500 master to pull main and just to make sure -01:02:48.420 --> 01:02:48.740 +01:02:47.500 --> 01:02:48.740 that they are on the latest version. -01:02:49.480 --> 01:02:49.980 +01:02:48.740 --> 01:02:49.980 Is this something that you require? -01:02:51.460 --> 01:02:51.860 +01:02:50.660 --> 01:02:51.860 We don't require that, -01:02:54.440 --> 01:02:54.940 +01:02:51.860 --> 01:02:54.940 but we do try to encourage you to reproduce -01:02:56.880 --> 01:02:57.380 +01:02:54.960 --> 01:02:57.380 it on master if we think that it matters. -01:03:00.420 --> 01:03:00.920 +01:02:57.720 --> 01:03:00.920 Yeah, so if you can, that's even better. -01:03:03.540 --> 01:03:03.940 +01:03:01.620 --> 01:03:03.940 But if the bug is there in Emacs 29, -01:03:05.500 --> 01:03:06.000 +01:03:03.940 --> 01:03:06.000 maybe we want to fix it in Emacs 29.2. -01:03:09.320 --> 01:03:09.820 +01:03:06.340 --> 01:03:09.820 So the latest point release is also fine. -01:03:12.540 --> 01:03:12.940 +01:03:10.400 --> 01:03:12.940 Bugs in Emacs 28 at this point, -01:03:14.280 --> 01:03:14.780 +01:03:12.940 --> 01:03:14.780 like the previous major version, -01:03:17.560 --> 01:03:17.720 +01:03:15.060 --> 01:03:17.720 we might ask you to try to reproduce it on -01:03:19.400 --> 01:03:19.600 +01:03:17.720 --> 01:03:19.600 Emacs 29 because we're not planning more -01:03:21.200 --> 01:03:21.600 +01:03:19.600 --> 01:03:21.600 releases of old major versions. -01:03:23.160 --> 01:03:23.660 +01:03:21.600 --> 01:03:23.660 So that's the fundamental reason for that. -01:03:25.320 --> 01:03:25.820 +01:03:24.480 --> 01:03:25.820 Great. Thank you for your answer. -01:03:27.180 --> 01:03:27.680 +01:03:25.900 --> 01:03:27.680 All right. Moving on to the next question. -01:03:28.780 --> 01:03:29.280 +01:03:27.840 --> 01:03:29.280 On branching off sub-threads, -01:03:31.720 --> 01:03:31.840 +01:03:29.680 --> 01:03:31.840 I note that they are less visible compared to -01:03:32.880 --> 01:03:33.380 +01:03:31.840 --> 01:03:33.380 starting a new thread in practice. -01:03:35.440 --> 01:03:35.680 +01:03:33.520 --> 01:03:35.680 I am wondering if it is just my impression or -01:03:36.900 --> 01:03:37.400 +01:03:35.680 --> 01:03:37.400 something devs also observe. -01:03:39.280 --> 01:03:39.780 +01:03:37.920 --> 01:03:39.780 Yeah, it's true. That's correct. -01:03:42.660 --> 01:03:42.840 +01:03:41.400 --> 01:03:42.840 I don't know what to do about it. -01:03:43.660 --> 01:03:44.160 +01:03:42.840 --> 01:03:44.160 If you want more visibility, -01:03:45.420 --> 01:03:45.920 +01:03:44.180 --> 01:03:45.920 I guess just start a new thread. -01:03:48.480 --> 01:03:48.960 +01:03:47.080 --> 01:03:48.960 I don't know. I can only agree, -01:03:50.380 --> 01:03:50.880 +01:03:48.960 --> 01:03:50.880 really. I concur. That's true. -01:03:53.760 --> 01:03:54.260 +01:03:51.720 --> 01:03:54.260 Okay. Next question. What about rewriting -01:03:56.600 --> 01:03:57.100 +01:03:54.340 --> 01:03:57.100 Emacs in Rust? Use Guile instead of Elisp. -01:03:59.380 --> 01:03:59.580 +01:03:57.260 --> 01:03:59.580 Multi-threaded Emacs. Make Emacs prettier and -01:04:01.260 --> 01:04:01.760 +01:03:59.580 --> 01:04:01.760 shiny. And of course, same defaults. -01:04:04.120 --> 01:04:04.440 +01:04:02.220 --> 01:04:04.440 Just kidding. We are spoiled children because -01:04:07.280 --> 01:04:07.780 +01:04:04.440 --> 01:04:07.780 you and Eli, Lars, and etc do an impressive -01:04:10.120 --> 01:04:10.620 +01:04:08.420 --> 01:04:10.620 work. I live in Emacs since 2001. -01:04:13.980 --> 01:04:14.220 +01:04:11.040 --> 01:04:14.220 Thanks. That was a good 1. -01:04:17.380 --> 01:04:17.880 +01:04:14.220 --> 01:04:17.880 Sane defaults. Okay, Well, -01:04:20.080 --> 01:04:20.580 +01:04:18.900 --> 01:04:20.580 thank you. Thanks for that comment. -01:04:23.300 --> 01:04:23.440 +01:04:20.580 --> 01:04:23.440 That made me chuckle. Next question by the -01:04:24.060 --> 01:04:24.520 +01:04:23.440 --> 01:04:24.520 same person, I assume. -01:04:26.120 --> 01:04:26.580 +01:04:24.520 --> 01:04:26.580 The only downside I see with copyright -01:04:28.400 --> 01:04:28.900 +01:04:26.580 --> 01:04:28.900 assignment is that 1 has to disclose their -01:04:31.120 --> 01:04:31.240 +01:04:28.900 --> 01:04:31.240 real identity. Would it be a possibility to -01:04:32.360 --> 01:04:32.860 +01:04:31.240 --> 01:04:32.860 assign a copyright under a nickname? -01:04:34.640 --> 01:04:34.840 +01:04:33.160 --> 01:04:34.840 Yeah, you don't have to say a real name. -01:04:36.760 --> 01:04:37.260 +01:04:34.840 --> 01:04:37.260 Just register some pseudonym. -01:04:39.080 --> 01:04:39.440 +01:04:37.360 --> 01:04:39.440 The FSF does need your real name, -01:04:40.920 --> 01:04:41.420 +01:04:39.440 --> 01:04:41.420 but that's kept private only. -01:04:45.660 --> 01:04:45.920 +01:04:41.500 --> 01:04:45.920 So feel free to reach out to assign at -01:04:47.860 --> 01:04:48.360 +01:04:45.920 --> 01:04:48.360 gnu.org and ask more about that. -01:04:51.180 --> 01:04:51.680 +01:04:49.860 --> 01:04:51.680 Right. All right, next question. -01:04:53.240 --> 01:04:53.400 +01:04:51.820 --> 01:04:53.400 Do you think it is possible to reach an -01:04:54.880 --> 01:04:55.240 +01:04:53.400 --> 01:04:55.240 agreement on sane defaults for better -01:04:56.720 --> 01:04:57.220 +01:04:55.240 --> 01:04:57.220 out-of-the-box experience? -01:04:59.540 --> 01:05:00.040 +01:04:57.800 --> 01:05:00.040 Yeah, so your sane is not my sane -01:05:01.260 --> 01:05:01.760 +01:05:00.060 --> 01:05:01.760 necessarily. So that's the fundamental -01:05:02.800 --> 01:05:02.960 +01:05:01.780 --> 01:05:02.960 problem that we're discussing here. -01:05:03.620 --> 01:05:03.960 +01:05:02.960 --> 01:05:03.960 I think it's a social, -01:05:04.740 --> 01:05:05.240 +01:05:03.960 --> 01:05:05.240 not a technical problem. -01:05:07.080 --> 01:05:07.580 +01:05:05.380 --> 01:05:07.580 We do change defaults sometimes, -01:05:09.620 --> 01:05:09.880 +01:05:07.640 --> 01:05:09.880 but I mean, there is also some staying power. -01:05:11.980 --> 01:05:12.260 +01:05:09.880 --> 01:05:12.260 So it's understandable that, -01:05:13.780 --> 01:05:13.940 +01:05:12.260 --> 01:05:13.940 you know, it's, we can't just change them -01:05:15.580 --> 01:05:15.920 +01:05:13.940 --> 01:05:15.920 willy nilly and then flip flop between, -01:05:18.080 --> 01:05:18.340 +01:05:15.920 --> 01:05:18.340 you know, 1 or the other kind of thing. -01:05:19.760 --> 01:05:20.060 +01:05:18.340 --> 01:05:20.060 So it does take a little bit more time. -01:05:22.360 --> 01:05:22.860 +01:05:20.060 --> 01:05:22.860 But yeah, sure, we can. -01:05:25.360 --> 01:05:25.860 +01:05:23.000 --> 01:05:25.860 We do change defaults at times. -01:05:29.540 --> 01:05:29.780 +01:05:26.380 --> 01:05:29.780 But it's perhaps more slower than what some -01:05:30.920 --> 01:05:31.420 +01:05:29.780 --> 01:05:31.420 people would prefer, for sure. -01:05:35.660 --> 01:05:36.000 +01:05:31.640 --> 01:05:36.000 So that's, yeah. Right, -01:05:37.120 --> 01:05:37.620 +01:05:36.000 --> 01:05:37.620 all right. We have 2 more questions. -01:05:39.520 --> 01:05:40.020 +01:05:37.920 --> 01:05:40.020 So will XWidgets have a future? -01:05:41.680 --> 01:05:42.180 +01:05:40.120 --> 01:05:42.180 Seeing the new bugs popping up in the latest -01:05:45.020 --> 01:05:45.280 +01:05:42.740 --> 01:05:45.280 XWidget dev. Not sure if there was the rest -01:05:46.220 --> 01:05:46.640 +01:05:45.280 --> 01:05:46.640 of the question, But on XWidgets, -01:05:47.440 --> 01:05:47.940 +01:05:46.640 --> 01:05:47.940 can you tell us a little more? -01:05:50.380 --> 01:05:50.580 +01:05:48.740 --> 01:05:50.580 I'm not really following now. -01:05:51.900 --> 01:05:52.400 +01:05:50.580 --> 01:05:52.400 I mean, I'm not seeing a lot of development -01:05:53.680 --> 01:05:54.180 +01:05:52.500 --> 01:05:54.180 on XWidgets currently. -01:05:56.820 --> 01:05:57.100 +01:05:54.480 --> 01:05:57.100 Some people have done work in fixing up a few -01:05:59.820 --> 01:06:00.320 +01:05:57.100 --> 01:06:00.320 bugs, but I think that feature really needs -01:06:01.800 --> 01:06:02.180 +01:06:00.380 --> 01:06:02.180 more love. So I think we need, -01:06:03.120 --> 01:06:03.600 +01:06:02.180 --> 01:06:03.600 you know, help is welcome, -01:06:05.740 --> 01:06:05.920 +01:06:03.600 --> 01:06:05.920 patch is welcome. That's what I can say about -01:06:11.040 --> 01:06:11.180 +01:06:05.920 --> 01:06:11.180 that. All right, and our final question of -01:06:13.040 --> 01:06:13.140 +01:06:11.180 --> 01:06:13.140 the day. Have you voted for Emacs as the -01:06:14.760 --> 01:06:15.140 +01:06:13.140 --> 01:06:15.140 software of the year on the Tuxes by Jupyter -01:06:17.320 --> 01:06:17.480 +01:06:15.140 --> 01:06:17.480 Broadcasting? I did because Emacs 29 is -01:06:19.020 --> 01:06:19.300 +01:06:17.480 --> 01:06:19.300 great. Thank you. Okay, -01:06:20.160 --> 01:06:20.580 +01:06:19.300 --> 01:06:20.580 well, good job voting. -01:06:22.760 --> 01:06:22.960 +01:06:20.580 --> 01:06:22.960 I didn't know, I don't know what Tuxy is on -01:06:25.520 --> 01:06:25.680 +01:06:22.960 --> 01:06:25.680 Jupyter broadcasting, but look it up and go -01:06:27.660 --> 01:06:28.040 +01:06:25.680 --> 01:06:28.040 vote. So I wish I could tell you, -01:06:29.220 --> 01:06:29.500 +01:06:28.040 --> 01:06:29.500 I assume with Tux, it might be something -01:06:32.680 --> 01:06:32.900 +01:06:29.500 --> 01:06:32.900 related to Linux, but that's as much as I can -01:06:34.340 --> 01:06:34.840 +01:06:32.900 --> 01:06:34.840 say. All right, well, Stefan, -01:06:36.420 --> 01:06:36.600 +01:06:34.960 --> 01:06:36.600 thank you so much for taking the time not -01:06:37.540 --> 01:06:38.000 +01:06:36.600 --> 01:06:38.000 only to do a wonderful presentation, -01:06:39.520 --> 01:06:39.640 +01:06:38.000 --> 01:06:39.640 but also for answering all the questions of -01:06:41.040 --> 01:06:41.240 +01:06:39.640 --> 01:06:41.240 the community. Do you have anything else to -01:06:44.900 --> 01:06:45.360 +01:06:41.240 --> 01:06:45.360 add? Just really thanks for all the questions -01:06:46.260 --> 01:06:46.760 +01:06:45.360 --> 01:06:46.760 and thanks for staying. -01:06:49.120 --> 01:06:49.600 +01:06:47.780 --> 01:06:49.600 It's been a long day, a long conference, -01:06:51.020 --> 01:06:51.180 +01:06:49.600 --> 01:06:51.180 so thanks for staying and listening to my -01:06:52.360 --> 01:06:52.540 +01:06:51.180 --> 01:06:52.540 talk as well. Really appreciate it. -01:06:54.000 --> 01:06:54.280 +01:06:52.540 --> 01:06:54.280 Appreciate the good work you guys are doing -01:06:54.960 --> 01:06:55.460 +01:06:54.280 --> 01:06:55.460 behind the scenes, organizing, -01:06:56.240 --> 01:06:56.740 +01:06:55.520 --> 01:06:56.740 setting everything up. -01:07:00.220 --> 01:07:00.420 +01:06:57.040 --> 01:07:00.420 And really humbled to be a part of this -01:07:01.560 --> 01:07:02.060 +01:07:00.420 --> 01:07:02.060 community. So thank you all. -01:07:05.740 --> 01:07:05.860 +01:07:02.680 --> 01:07:05.860 Well I can assure you that no 1 either in the -01:07:07.540 --> 01:07:08.040 +01:07:05.860 --> 01:07:08.040 organization team or the people watching now -01:07:10.760 --> 01:07:10.900 +01:07:08.040 --> 01:07:10.900 felt like it was tiring to stay and listen to -01:07:12.260 --> 01:07:12.760 +01:07:10.900 --> 01:07:12.760 your answers. So thank you so much Stefan. diff --git a/2023/captions/emacsconf-2023-devel--emacs-development-updates--john-wiegley--main.vtt b/2023/captions/emacsconf-2023-devel--emacs-development-updates--john-wiegley--main.vtt index 71d59b09..7a93ee4c 100644 --- a/2023/captions/emacsconf-2023-devel--emacs-development-updates--john-wiegley--main.vtt +++ b/2023/captions/emacsconf-2023-devel--emacs-development-updates--john-wiegley--main.vtt @@ -1,1652 +1,1652 @@ WEBVTT -00:00:08.099 --> 00:00:08.480 +00:00:02.419 --> 00:00:08.480 2 seconds. All right. I think we are live. -00:00:09.780 --> 00:00:10.280 +00:00:08.480 --> 00:00:10.280 Yes. So, hi again, everyone. -00:00:13.259 --> 00:00:13.620 -I have the pleasure to welcome John Wheatley +00:00:10.580 --> 00:00:13.620 +I have the pleasure to welcome John Wiegley -00:00:14.940 --> 00:00:15.440 +00:00:13.620 --> 00:00:15.440 in person to this EmacsConf. -00:00:16.760 --> 00:00:17.260 +00:00:15.700 --> 00:00:17.260 Hi, John. Hello there. -00:00:18.592 --> 00:00:18.820 +00:00:17.680 --> 00:00:18.820 How are you doing, Leo? -00:00:20.940 --> 00:00:21.100 +00:00:18.820 --> 00:00:21.100 I am doing fantastic, and even more now that -00:00:23.040 --> 00:00:23.540 +00:00:21.100 --> 00:00:23.540 I am in a room with you because we've been, -00:00:25.279 --> 00:00:25.640 -we were reminiscing with Sasha. +00:00:24.279 --> 00:00:25.640 +we were reminiscing with Sacha. -00:00:30.660 --> 00:00:30.860 +00:00:25.640 --> 00:00:30.860 So you had been there in person in 2013 And -00:00:32.240 --> 00:00:32.680 +00:00:30.860 --> 00:00:32.680 since we started doing those online, -00:00:34.840 --> 00:00:35.020 +00:00:32.680 --> 00:00:35.020 Juan, since 2019, I think you've always been -00:00:37.960 --> 00:00:38.460 +00:00:35.020 --> 00:00:38.460 online, right? Usually it's a pre-recorded -00:00:40.239 --> 00:00:40.440 +00:00:38.520 --> 00:00:40.440 video. I think this will be the first 1 I do -00:00:42.340 --> 00:00:42.540 +00:00:40.440 --> 00:00:42.540 live in a long time. You're right. -00:00:44.059 --> 00:00:44.239 +00:00:42.540 --> 00:00:44.239 I'm saying we are online right now, -00:00:45.600 --> 00:00:45.920 +00:00:44.239 --> 00:00:45.920 but I just meant pre-recorded video. -00:00:48.240 --> 00:00:48.400 +00:00:45.920 --> 00:00:48.400 So it's good to have you almost in person or -00:00:50.739 --> 00:00:50.900 +00:00:48.400 --> 00:00:50.900 at least live and we are excited to hear -00:00:52.000 --> 00:00:52.360 +00:00:50.900 --> 00:00:52.360 about some of the Emacs news. -00:00:54.280 --> 00:00:54.780 +00:00:52.360 --> 00:00:54.780 So the floor is yours. -00:00:56.400 --> 00:00:56.900 +00:00:55.080 --> 00:00:56.900 All right, well welcome everybody. -00:00:59.900 --> 00:01:00.239 +00:00:57.260 --> 00:01:00.239 This is the yearly state of the Emacs union, -00:01:02.720 --> 00:01:02.860 +00:01:00.239 --> 00:01:02.860 I guess, about how Emacs development is -00:01:05.220 --> 00:01:05.379 +00:01:02.860 --> 00:01:05.379 going. Just to note, I am not currently a -00:01:07.540 --> 00:01:07.760 +00:01:05.379 --> 00:01:07.760 maintainer of Emacs. So what I do to get -00:01:09.520 --> 00:01:09.920 +00:01:07.760 --> 00:01:09.920 these notes is I call up my friend, -00:01:11.640 --> 00:01:12.040 +00:01:09.920 --> 00:01:12.040 Eli Zaretsky, 1 of the current Emacs -00:01:13.700 --> 00:01:13.820 +00:01:12.040 --> 00:01:13.820 maintainers, and he and I sit down for an -00:01:16.880 --> 00:01:17.160 +00:01:13.820 --> 00:01:17.160 hour, and he just gives me his dump of what's -00:01:19.000 --> 00:01:19.400 +00:01:17.160 --> 00:01:19.400 been going on. So I'm sort of just the -00:01:21.960 --> 00:01:22.200 +00:01:19.400 --> 00:01:22.200 messenger here. But thanks to Eli for these -00:01:24.000 --> 00:01:24.400 +00:01:22.200 --> 00:01:24.400 notes and all of the efforts that he -00:01:27.160 --> 00:01:27.400 +00:01:24.400 --> 00:01:27.400 contributes. So what he's been telling me is -00:01:29.760 --> 00:01:30.060 +00:01:27.400 --> 00:01:30.060 that this Emacs 29 release that we had -00:01:31.480 --> 00:01:31.720 +00:01:30.060 --> 00:01:31.720 recently looks to have been very, -00:01:33.240 --> 00:01:33.580 +00:01:31.720 --> 00:01:33.580 very successful, which is some good news, -00:01:34.920 --> 00:01:35.420 +00:01:33.580 --> 00:01:35.420 because there were a lot of new features, -00:01:37.020 --> 00:01:37.360 +00:01:35.660 --> 00:01:37.360 and some of those features were actually -00:01:39.280 --> 00:01:39.520 +00:01:37.360 --> 00:01:39.520 quite radical. So far, -00:01:40.280 --> 00:01:40.680 +00:01:39.520 --> 00:01:40.680 it's been quite a success, -00:01:41.940 --> 00:01:42.440 +00:01:40.680 --> 00:01:42.440 no serious problems with it, -00:01:43.580 --> 00:01:44.080 +00:01:42.440 --> 00:01:44.080 and we have Emacs 29.2 -00:01:46.240 --> 00:01:46.740 +00:01:45.140 --> 00:01:46.740 will be released very soon. -00:01:49.780 --> 00:01:50.020 +00:01:47.260 --> 00:01:50.020 They are thinking now about starting the -00:01:52.580 --> 00:01:53.080 +00:01:50.020 --> 00:01:53.080 Emacs 30 release cycle soon after 29.2 -00:01:55.400 --> 00:01:55.880 +00:01:53.520 --> 00:01:55.880 is released, where the release branch, -00:01:57.620 --> 00:01:58.120 +00:01:55.880 --> 00:01:58.120 which is called Emacs-30 usually, -00:02:01.080 --> 00:02:01.400 +00:01:59.060 --> 00:02:01.400 will be cut and then development will become -00:02:03.800 --> 00:02:03.960 +00:02:01.400 --> 00:02:03.960 frozen with only bug fixes going into that -00:02:06.940 --> 00:02:07.200 +00:02:03.960 --> 00:02:07.200 branch. That may take quite some time until -00:02:09.199 --> 00:02:09.639 +00:02:07.200 --> 00:02:09.639 it actually comes to fruition as a release, -00:02:11.500 --> 00:02:11.660 +00:02:09.639 --> 00:02:11.660 but at least it means that the release is -00:02:13.380 --> 00:02:13.860 +00:02:11.660 --> 00:02:13.860 going to start taking shape in that branch -00:02:17.420 --> 00:02:17.720 +00:02:13.860 --> 00:02:17.720 soon. So, for now, Emacs 30 looks like maybe -00:02:19.040 --> 00:02:19.540 +00:02:17.720 --> 00:02:19.540 it's going to be a little less interesting -00:02:22.860 --> 00:02:23.160 +00:02:19.600 --> 00:02:23.160 than Emacs 29 was, meaning not a huge number -00:02:24.860 --> 00:02:25.120 +00:02:23.160 --> 00:02:25.120 of changing features. But there are still -00:02:26.320 --> 00:02:26.820 +00:02:25.120 --> 00:02:26.820 some new things going in. -00:02:29.760 --> 00:02:29.960 +00:02:26.980 --> 00:02:29.960 So 1 of them is that Emacs 30 is going to -00:02:32.160 --> 00:02:32.300 +00:02:29.960 --> 00:02:32.300 have Android support. So you will be able to -00:02:34.400 --> 00:02:34.900 +00:02:32.300 --> 00:02:34.900 run Emacs 30 on your Android devices. -00:02:36.820 --> 00:02:37.120 +00:02:35.140 --> 00:02:37.120 So if you've ever wanted to have native Emacs -00:02:39.000 --> 00:02:39.500 +00:02:37.120 --> 00:02:39.500 on a tablet, which I know I've always wanted, -00:02:42.440 --> 00:02:42.940 +00:02:40.140 --> 00:02:42.940 that will become possible with Emacs 30. -00:02:45.060 --> 00:02:45.480 +00:02:43.140 --> 00:02:45.480 There's also going to be much better support -00:02:46.280 --> 00:02:46.780 +00:02:45.480 --> 00:02:46.780 for touchscreen devices, -00:02:49.760 --> 00:02:50.260 +00:02:47.440 --> 00:02:50.260 coincidentally, both laptops and tablets. -00:02:52.740 --> 00:02:53.240 +00:02:50.740 --> 00:02:53.240 So that'll enhance that Android support. -00:02:56.680 --> 00:02:57.180 +00:02:54.860 --> 00:02:57.180 There will be some recently gained support -00:03:01.480 --> 00:03:01.720 +00:02:57.240 --> 00:03:01.720 for LLDB in GUD.dl. So if you're on a Mac OS -00:03:05.440 --> 00:03:05.580 +00:03:01.720 --> 00:03:05.580 machine or a machine that uses just LLVM as -00:03:06.560 --> 00:03:07.060 +00:03:05.580 --> 00:03:07.060 part of the compilation process, -00:03:10.020 --> 00:03:10.180 +00:03:07.400 --> 00:03:10.180 then you probably are familiar with LLDB as -00:03:10.880 --> 00:03:11.380 +00:03:10.180 --> 00:03:11.380 the command line debugger. -00:03:14.440 --> 00:03:14.940 +00:03:11.720 --> 00:03:14.940 And that support for using LLDB through a GUD -00:03:16.920 --> 00:03:17.320 +00:03:15.040 --> 00:03:17.320 will become possible in Emacs 30. -00:03:18.900 --> 00:03:19.000 +00:03:17.320 --> 00:03:19.000 I'm looking forward to this actually quite a -00:03:22.120 --> 00:03:22.620 +00:03:19.000 --> 00:03:22.620 bit as well. C Perl mode is being deprecated, -00:03:25.640 --> 00:03:25.920 +00:03:23.200 --> 00:03:25.920 and all future work now is only being put -00:03:30.480 --> 00:03:30.660 +00:03:25.920 --> 00:03:30.660 towards C Perl mode. Another 1 is that there -00:03:32.840 --> 00:03:33.000 +00:03:30.660 --> 00:03:33.000 are going to be some new major modes based on -00:03:35.280 --> 00:03:35.780 +00:03:33.000 --> 00:03:35.780 TreeSitter. They will be for the languages -00:03:37.660 --> 00:03:38.160 +00:03:35.860 --> 00:03:38.160 Lua, Elixir, and HTML. -00:03:39.480 --> 00:03:39.980 +00:03:38.800 --> 00:03:39.980 And if you're not familiar, -00:03:42.260 --> 00:03:42.620 +00:03:40.160 --> 00:03:42.620 I think TreeSitter was introduced in Emacs -00:03:46.160 --> 00:03:46.660 +00:03:42.620 --> 00:03:46.660 29. It's a library that allows you to specify -00:03:49.760 --> 00:03:49.900 +00:03:47.460 --> 00:03:49.900 the grammar of a programming language as a -00:03:52.800 --> 00:03:53.300 +00:03:49.900 --> 00:03:53.300 BNF file, and I think using JavaScript, -00:03:56.160 --> 00:03:56.600 +00:03:53.540 --> 00:03:56.600 and then with that file as input to Emacs, -00:03:59.340 --> 00:03:59.840 +00:03:56.600 --> 00:03:59.840 it is then able to do syntax highlighting, -00:04:02.860 --> 00:04:03.080 +00:04:00.940 --> 00:04:03.080 syntax discovery, all of those things within -00:04:05.640 --> 00:04:06.140 +00:04:03.080 --> 00:04:06.140 Emacs without having to use elisp and regexps -00:04:07.800 --> 00:04:08.300 +00:04:06.460 --> 00:04:08.300 to discover the structure of the language. -00:04:10.240 --> 00:04:10.440 +00:04:08.300 --> 00:04:10.440 It defers the structure gathering to -00:04:13.080 --> 00:04:13.420 +00:04:10.440 --> 00:04:13.420 TreeSitter and then uses that information to -00:04:14.060 --> 00:04:14.560 +00:04:13.420 --> 00:04:14.560 navigate the language. -00:04:17.079 --> 00:04:17.300 +00:04:15.200 --> 00:04:17.300 So, As time goes on, you'll see more and more -00:04:19.160 --> 00:04:19.540 +00:04:17.300 --> 00:04:19.540 languages taking on TreeSetter support. -00:04:20.899 --> 00:04:21.160 +00:04:19.540 --> 00:04:21.160 So the next 3 coming up, -00:04:22.160 --> 00:04:22.660 +00:04:21.160 --> 00:04:22.660 Lua, Elixir, and HTML. -00:04:26.500 --> 00:04:26.680 +00:04:24.060 --> 00:04:26.680 And then the last feature for Emacs 30 is -00:04:29.640 --> 00:04:29.860 +00:04:26.680 --> 00:04:29.860 that the byte compiler will now detect and -00:04:32.420 --> 00:04:32.920 +00:04:29.860 --> 00:04:32.920 warn about many more questionable constructs. -00:04:34.800 --> 00:04:35.300 +00:04:33.340 --> 00:04:35.300 Things like empty macro bodies, -00:04:36.660 --> 00:04:37.160 +00:04:35.740 --> 00:04:37.160 missing lexical constructs, -00:04:39.720 --> 00:04:40.220 +00:04:37.580 --> 00:04:40.220 or say, condition case without any handlers. -00:04:43.040 --> 00:04:43.340 +00:04:40.580 --> 00:04:43.340 Just silly stuff that might litter the code, -00:04:45.040 --> 00:04:45.180 +00:04:43.340 --> 00:04:45.180 but now you'll get a warning about it from -00:04:46.760 --> 00:04:46.920 +00:04:45.180 --> 00:04:46.920 the byte compiler to help you clean up the -00:04:49.000 --> 00:04:49.160 +00:04:46.920 --> 00:04:49.160 code and get rid of those potential sites of -00:04:52.600 --> 00:04:52.740 +00:04:49.160 --> 00:04:52.740 error. So this is the main thing that will be -00:04:54.960 --> 00:04:55.160 +00:04:52.740 --> 00:04:55.160 worked on for Emacs 30 and what's looked like -00:04:55.900 --> 00:04:56.400 +00:04:55.160 --> 00:04:56.400 shaping up for the release. -00:04:58.680 --> 00:04:58.940 +00:04:56.680 --> 00:04:58.940 And also, he wanted me to announce that -00:05:00.840 --> 00:05:01.340 +00:04:58.940 --> 00:05:01.340 Stefan Kongas is now a new co-maintainer. -00:05:02.900 --> 00:05:03.260 +00:05:01.980 --> 00:05:03.260 And Stefan is, I believe, -00:05:05.340 --> 00:05:05.500 +00:05:03.260 --> 00:05:05.500 here with us in the conference and he'll be -00:05:07.440 --> 00:05:07.940 +00:05:05.500 --> 00:05:07.940 able, I hope, to help me answer any questions -00:05:09.960 --> 00:05:10.120 +00:05:08.080 --> 00:05:10.120 about future Emacs development because I'm -00:05:12.040 --> 00:05:12.240 +00:05:10.120 --> 00:05:12.240 not in the heat of it and don't have all -00:05:13.100 --> 00:05:13.600 +00:05:12.240 --> 00:05:13.600 those answers at the moment. -00:05:17.080 --> 00:05:17.180 +00:05:14.580 --> 00:05:17.180 So That is all there is as far as a -00:05:18.340 --> 00:05:18.840 +00:05:17.180 --> 00:05:18.840 development update for now. -00:05:21.480 --> 00:05:21.980 +00:05:19.340 --> 00:05:21.980 And I am available to take any questions. -00:05:26.000 --> 00:05:26.200 +00:05:24.860 --> 00:05:26.200 All right. Thank you so much, -00:05:29.180 --> 00:05:29.340 +00:05:26.200 --> 00:05:29.340 Sean, for being the messenger of all this -00:05:31.500 --> 00:05:31.820 +00:05:29.340 --> 00:05:31.820 good news. I mean, you did start by saying -00:05:32.980 --> 00:05:33.480 +00:05:31.820 --> 00:05:33.480 this would not be as exciting, -00:05:35.860 --> 00:05:36.280 +00:05:33.600 --> 00:05:36.280 perhaps, as prior releases of Emacs, -00:05:38.800 --> 00:05:38.980 +00:05:36.280 --> 00:05:38.980 but you then proceeded to say a lot of stuff -00:05:40.380 --> 00:05:40.760 +00:05:38.980 --> 00:05:40.760 that it felt very exciting to me. -00:05:43.120 --> 00:05:43.620 +00:05:40.760 --> 00:05:43.620 So good, good. Glad to hear that. -00:05:47.040 --> 00:05:47.180 +00:05:44.540 --> 00:05:47.180 Right. So we do have questions coming in -00:05:49.960 --> 00:05:50.380 +00:05:47.180 --> 00:05:50.380 already and again people the link is on IRC -00:05:51.980 --> 00:05:52.120 +00:05:50.380 --> 00:05:52.120 and also on the talks page if you want to -00:05:52.760 --> 00:05:53.260 +00:05:52.120 --> 00:05:53.260 start asking questions. -00:05:54.720 --> 00:05:54.840 +00:05:53.480 --> 00:05:54.840 So John what I'm going to do I'm going to -00:05:56.400 --> 00:05:56.580 +00:05:54.840 --> 00:05:56.580 read you the questions and then you can -00:05:57.800 --> 00:05:58.300 +00:05:56.580 --> 00:05:58.300 answer them. Is that okay with you? -00:06:01.320 --> 00:06:01.620 +00:05:58.320 --> 00:06:01.620 Absolutely. So starting with the first -00:06:04.120 --> 00:06:04.440 +00:06:01.620 --> 00:06:04.440 question which changes in recent Emacs -00:06:06.040 --> 00:06:06.540 +00:06:04.440 --> 00:06:06.540 releases are you enjoying using? -00:06:11.320 --> 00:06:11.820 +00:06:08.360 --> 00:06:11.820 I have really liked the visual line mode. -00:06:14.780 --> 00:06:15.060 +00:06:13.140 --> 00:06:15.060 I'm not sure how recent that is. -00:06:16.320 --> 00:06:16.820 +00:06:15.060 --> 00:06:16.820 Some of these features I only discovered -00:06:19.080 --> 00:06:19.580 +00:06:16.840 --> 00:06:19.580 quite late, the new display line number -00:06:21.020 --> 00:06:21.380 +00:06:19.700 --> 00:06:21.380 functionality, where it's much, -00:06:22.760 --> 00:06:23.040 +00:06:21.380 --> 00:06:23.040 much, much faster, and of course, -00:06:25.160 --> 00:06:25.320 +00:06:23.040 --> 00:06:25.320 native compilation. Native compilation has -00:06:27.040 --> 00:06:27.360 +00:06:25.320 --> 00:06:27.360 been quite brilliant for some of the larger -00:06:29.380 --> 00:06:29.480 +00:06:27.360 --> 00:06:29.480 packages that I use. I do a lot of stuff in -00:06:31.340 --> 00:06:31.820 +00:06:29.480 --> 00:06:31.820 Emacs. I use GNU's, I use E-Shell, -00:06:33.040 --> 00:06:33.540 +00:06:31.820 --> 00:06:33.540 I use Org Mode quite a lot. -00:06:35.740 --> 00:06:36.100 +00:06:33.580 --> 00:06:36.100 So native compilation has brought the user -00:06:39.760 --> 00:06:39.960 +00:06:36.100 --> 00:06:39.960 experience much closer to a modern app than -00:06:41.980 --> 00:06:42.180 +00:06:39.960 --> 00:06:42.180 some of the lagging and slowness that I might -00:06:43.080 --> 00:06:43.580 +00:06:42.180 --> 00:06:43.580 have experienced in the past. -00:06:46.680 --> 00:06:47.180 +00:06:44.340 --> 00:06:47.180 Definitely. Moving on to the next question. -00:06:49.020 --> 00:06:49.200 +00:06:47.260 --> 00:06:49.200 What do you think the future in the area of -00:06:50.540 --> 00:06:51.040 +00:06:49.200 --> 00:06:51.040 artificial intelligence from the developer -00:06:53.420 --> 00:06:53.580 +00:06:51.060 --> 00:06:53.580 point of view? Could you say that 1 more -00:06:54.860 --> 00:06:54.876 +00:06:53.580 --> 00:06:54.876 time? Your voice broke up a little bit. -00:06:55.009 --> 00:06:55.025 +00:06:54.876 --> 00:06:55.025 Oh, sorry. What do you think the future in -00:06:55.125 --> 00:06:55.141 +00:06:55.025 --> 00:06:55.141 the area of artificial intelligence from the -00:06:55.191 --> 00:06:55.208 +00:06:55.141 --> 00:06:55.208 developer point of view? -00:06:55.307 --> 00:06:55.324 +00:06:55.208 --> 00:06:55.324 Could you say that 1 more time? -00:06:55.423 --> 00:06:55.440 +00:06:55.324 --> 00:06:55.440 Your voice broke up a little bit. -00:06:57.880 --> 00:06:58.100 +00:06:55.440 --> 00:06:58.100 Oh, sorry. What do you think the future in -00:07:00.380 --> 00:07:00.580 +00:06:58.100 --> 00:07:00.580 the area of artificial intelligence from the -00:07:01.400 --> 00:07:01.560 +00:07:00.580 --> 00:07:01.560 developer point of view? -00:07:02.520 --> 00:07:02.860 +00:07:01.560 --> 00:07:02.860 It's also a shaky question, -00:07:04.000 --> 00:07:04.500 +00:07:02.860 --> 00:07:04.500 I think, but you get the point. -00:07:08.940 --> 00:07:09.220 +00:07:04.960 --> 00:07:09.220 I do use chat-gpt-shell inside of Emacs quite -00:07:10.760 --> 00:07:10.920 +00:07:09.220 --> 00:07:10.920 a bit, actually, when doing development in -00:07:12.180 --> 00:07:12.440 +00:07:10.920 --> 00:07:12.440 other languages. Just the other day, -00:07:14.700 --> 00:07:15.200 +00:07:12.440 --> 00:07:15.200 I was working on my Ledger accounting -00:07:17.900 --> 00:07:18.080 +00:07:15.220 --> 00:07:18.080 program, and I haven't done a lot of C++ in -00:07:20.920 --> 00:07:21.180 +00:07:18.080 --> 00:07:21.180 recent years. So I had forgotten how to -00:07:23.620 --> 00:07:23.760 +00:07:21.180 --> 00:07:23.760 exactly compare 2 strings only up to the -00:07:24.600 --> 00:07:25.020 +00:07:23.760 --> 00:07:25.020 length of the shortest string. -00:07:26.720 --> 00:07:26.940 +00:07:25.020 --> 00:07:26.940 I know I could have cranked that out just -00:07:28.380 --> 00:07:28.740 +00:07:26.940 --> 00:07:28.740 writing it C style, but I didn't remember -00:07:30.300 --> 00:07:30.800 +00:07:28.740 --> 00:07:30.800 what the current state of the art is for C++ -00:07:32.960 --> 00:07:33.460 +00:07:30.940 --> 00:07:33.460 and the STL. So I just asked chatGPT. -00:07:35.940 --> 00:07:36.140 +00:07:33.680 --> 00:07:36.140 I asked the exact question that I just said -00:07:38.040 --> 00:07:38.220 +00:07:36.140 --> 00:07:38.220 to you and sure enough it popped out the -00:07:39.640 --> 00:07:40.080 +00:07:38.220 --> 00:07:40.080 one-liner that was exactly what I needed. -00:07:41.740 --> 00:07:42.240 +00:07:40.080 --> 00:07:42.240 So I think in terms of developer assistance, -00:07:45.320 --> 00:07:45.820 +00:07:42.800 --> 00:07:45.820 not having to keep all of standard libraries -00:07:46.960 --> 00:07:47.460 +00:07:45.860 --> 00:07:47.460 or common idioms in memory. -00:07:48.960 --> 00:07:49.460 +00:07:47.520 --> 00:07:49.460 I don't know if other people are familiar -00:07:50.580 --> 00:07:51.080 +00:07:49.480 --> 00:07:51.080 with Rosetta Stone projects. -00:07:53.200 --> 00:07:53.680 +00:07:51.460 --> 00:07:53.680 They're projects where you have say a hundred -00:07:55.280 --> 00:07:55.780 +00:07:53.680 --> 00:07:55.780 different languages and there's a particular -00:07:58.320 --> 00:07:58.640 +00:07:55.860 --> 00:07:58.640 question, say, how do I read a file and copy -00:07:59.220 --> 00:07:59.720 +00:07:58.640 --> 00:07:59.720 it to another location? -00:08:01.680 --> 00:08:01.880 +00:07:59.820 --> 00:08:01.880 And then it has an instance of doing that -00:08:03.320 --> 00:08:03.820 +00:08:01.880 --> 00:08:03.820 activity for every 1 of those languages. -00:08:04.780 --> 00:08:05.140 +00:08:04.180 --> 00:08:05.140 That's a great database, -00:08:06.880 --> 00:08:07.160 +00:08:05.140 --> 00:08:07.160 and I've used them quite a bit in the past -00:08:08.760 --> 00:08:09.260 +00:08:07.160 --> 00:08:09.260 for remembering how to do certain things, -00:08:12.040 --> 00:08:12.540 +00:08:09.440 --> 00:08:12.540 say, converting a string to UTF-8. -00:08:15.480 --> 00:08:15.660 +00:08:13.280 --> 00:08:15.660 I think that AI does a great job of -00:08:17.280 --> 00:08:17.780 +00:08:15.660 --> 00:08:17.780 completely replacing the need for databases -00:08:19.740 --> 00:08:19.920 +00:08:17.900 --> 00:08:19.920 like that because you can just ask how do I -00:08:21.480 --> 00:08:21.980 +00:08:19.920 --> 00:08:21.980 copy a convert a string to UTF-8. -00:08:27.240 --> 00:08:27.440 +00:08:23.760 --> 00:08:27.440 Yeah exactly and you know especially with -00:08:30.440 --> 00:08:30.480 +00:08:27.440 --> 00:08:30.480 languages which are tried well tried you know -00:08:32.200 --> 00:08:32.360 +00:08:30.480 --> 00:08:32.360 it's very easy to get an answer that is -00:08:34.600 --> 00:08:34.940 +00:08:32.360 --> 00:08:34.940 correct. But sometimes what I find bothersome -00:08:37.020 --> 00:08:37.460 +00:08:34.940 --> 00:08:37.460 with this type of coding, -00:08:39.520 --> 00:08:39.840 +00:08:37.460 --> 00:08:39.840 I think it's AI-aided coding, -00:08:40.320 --> 00:08:40.820 +00:08:39.840 --> 00:08:40.820 but it's still coding, -00:08:42.799 --> 00:08:43.140 +00:08:41.120 --> 00:08:43.140 is that, especially with C languages, -00:08:44.140 --> 00:08:44.240 +00:08:43.140 --> 00:08:44.240 sometimes you're going to end up with -00:08:45.660 --> 00:08:45.860 +00:08:44.240 --> 00:08:45.860 undefined behaviors and stuff like this just -00:08:47.420 --> 00:08:47.900 +00:08:45.860 --> 00:08:47.900 because other people have been doing it, -00:08:50.740 --> 00:08:50.860 +00:08:47.900 --> 00:08:50.860 not because the algorithm or the model was -00:08:53.340 --> 00:08:53.680 +00:08:50.860 --> 00:08:53.680 trained with data that dates back to 10 years -00:08:59.640 --> 00:09:00.060 +00:08:53.680 --> 00:09:00.060 ago. At the time, C++ was a little different. -00:09:01.220 --> 00:09:01.400 +00:09:00.060 --> 00:09:01.400 Anyway, I'm not here to talk, -00:09:03.740 --> 00:09:03.960 +00:09:01.400 --> 00:09:03.960 you are here to talk. Moving on to the next -00:09:06.200 --> 00:09:06.560 +00:09:03.960 --> 00:09:06.560 question. People already get to hear my voice -00:09:09.140 --> 00:09:09.640 +00:09:06.560 --> 00:09:09.640 plenty, whereas yours are much sparser. -00:09:13.360 --> 00:09:13.580 +00:09:10.520 --> 00:09:13.580 All right. So, what is the future of Emacs on -00:09:15.800 --> 00:09:16.080 +00:09:13.580 --> 00:09:16.080 macOS? I understand that there are too few -00:09:16.920 --> 00:09:17.420 +00:09:16.080 --> 00:09:17.420 developers for the platform. -00:09:21.160 --> 00:09:21.600 +00:09:17.440 --> 00:09:21.600 Is that still true? That's a good question. -00:09:23.300 --> 00:09:23.620 +00:09:21.600 --> 00:09:23.620 I don't know what the current statistics are. -00:09:26.640 --> 00:09:27.040 +00:09:23.620 --> 00:09:27.040 I've been a user of Emacs on Mac OS for -00:09:29.540 --> 00:09:29.920 +00:09:27.040 --> 00:09:29.920 decades now. It feels like the, -00:09:32.980 --> 00:09:33.480 +00:09:30.140 --> 00:09:33.480 There's also that Mac port version of Emacs, -00:09:35.720 --> 00:09:35.920 +00:09:33.480 --> 00:09:35.920 which builds Emacs more directly using the -00:09:37.360 --> 00:09:37.860 +00:09:35.920 --> 00:09:37.860 GUI libraries on the platform. -00:09:40.080 --> 00:09:40.320 +00:09:38.300 --> 00:09:40.320 That continues to be updated with every -00:09:41.540 --> 00:09:42.040 +00:09:40.320 --> 00:09:42.040 single new release that comes out. -00:09:45.060 --> 00:09:45.220 +00:09:42.620 --> 00:09:45.220 So I'd say that the support may not be as -00:09:47.040 --> 00:09:47.540 +00:09:45.220 --> 00:09:47.540 great as it is on Linux and other platforms, -00:09:50.280 --> 00:09:50.500 +00:09:47.640 --> 00:09:50.500 but to this day I haven't suffered from being -00:09:54.720 --> 00:09:55.220 +00:09:50.500 --> 00:09:55.220 a Mac user. Great. The only thing I remember -00:10:00.060 --> 00:10:00.480 +00:09:55.240 --> 00:10:00.480 about Emacs on macOS was that emojis made it -00:10:03.420 --> 00:10:03.540 +00:10:00.480 --> 00:10:03.540 inside the GUI first before they did it -00:10:05.660 --> 00:10:05.820 +00:10:03.540 --> 00:10:05.820 anywhere else. That's the 1 anecdote that I -00:10:09.160 --> 00:10:09.520 +00:10:05.820 --> 00:10:09.520 have on MacOS. Right. And historically that -00:10:12.400 --> 00:10:12.720 +00:10:09.520 --> 00:10:12.720 feature was removed in order to prevent Mac -00:10:14.340 --> 00:10:14.840 +00:10:12.720 --> 00:10:14.840 from having features that Linux did not. -00:10:16.660 --> 00:10:16.860 +00:10:15.160 --> 00:10:16.860 I didn't want to go into that point. -00:10:18.220 --> 00:10:18.340 +00:10:16.860 --> 00:10:18.340 I just wanted to mention the beginning of the -00:10:19.600 --> 00:10:19.840 +00:10:18.340 --> 00:10:19.840 anecdote and people can find it out. -00:10:21.540 --> 00:10:22.040 +00:10:19.840 --> 00:10:22.040 But yes, that's also what it led to. -00:10:24.840 --> 00:10:25.340 +00:10:24.020 --> 00:10:25.340 Moving on to the next question. -00:10:27.620 --> 00:10:28.120 +00:10:25.640 --> 00:10:28.120 Why aren't you contributing to Emacs anymore? -00:10:28.860 --> 00:10:29.360 +00:10:28.140 --> 00:10:29.360 Lack of time, I guess? -00:10:31.340 --> 00:10:31.840 +00:10:30.240 --> 00:10:31.840 Lack of time, primarily. -00:10:33.340 --> 00:10:33.840 +00:10:32.300 --> 00:10:33.840 Work has been very consuming. -00:10:35.740 --> 00:10:36.020 +00:10:33.900 --> 00:10:36.020 There are a lot of other projects and things -00:10:38.640 --> 00:10:39.000 +00:10:36.020 --> 00:10:39.000 that I like doing. I still find Emacs Lisp -00:10:39.960 --> 00:10:40.460 +00:10:39.000 --> 00:10:40.460 very, very fun to write. -00:10:42.980 --> 00:10:43.260 +00:10:40.840 --> 00:10:43.260 Just the other day, I was hacking up some -00:10:45.260 --> 00:10:45.760 +00:10:43.260 --> 00:10:45.760 extension macros for myself for org mode. -00:10:48.720 --> 00:10:48.900 +00:10:45.920 --> 00:10:48.900 But to have the time needed to sit down and -00:10:51.140 --> 00:10:51.580 +00:10:48.900 --> 00:10:51.580 design a whole new mode and work on it. -00:10:53.480 --> 00:10:53.660 +00:10:51.580 --> 00:10:53.660 I've been spending a lot of my time now in -00:10:55.200 --> 00:10:55.580 +00:10:53.660 --> 00:10:55.580 functional languages, especially theorem -00:10:57.340 --> 00:10:57.840 +00:10:55.580 --> 00:10:57.840 provers. I just find that so intellectually -00:10:59.120 --> 00:10:59.620 +00:10:58.100 --> 00:10:59.620 satisfying and interesting. -00:11:01.460 --> 00:11:01.860 +00:11:00.400 --> 00:11:01.860 Plus it pays a lot better. -00:11:03.440 --> 00:11:03.680 +00:11:01.860 --> 00:11:03.680 Never had a paying job as an Emacs list -00:11:06.220 --> 00:11:06.420 +00:11:03.680 --> 00:11:06.420 developer. So when it comes to now just being -00:11:07.880 --> 00:11:08.380 +00:11:06.420 --> 00:11:08.380 a fun language or a hobby language, -00:11:10.480 --> 00:11:10.680 +00:11:08.420 --> 00:11:10.680 it is relegated to the time that I have free -00:11:13.180 --> 00:11:13.680 +00:11:10.680 --> 00:11:13.680 when it's available. Right. -00:11:15.280 --> 00:11:15.420 +00:11:13.700 --> 00:11:15.420 Well, the good thing is that it's kind of -00:11:15.920 --> 00:11:16.360 +00:11:15.420 --> 00:11:16.360 like riding a bicycle, -00:11:17.640 --> 00:11:17.980 +00:11:16.360 --> 00:11:17.980 you know, writing a major mode, -00:11:19.860 --> 00:11:20.160 +00:11:17.980 --> 00:11:20.160 it comes back relatively quickly and still -00:11:22.240 --> 00:11:22.600 +00:11:20.160 --> 00:11:22.600 enjoyable. You know, the other day, -00:11:25.040 --> 00:11:25.200 +00:11:22.600 --> 00:11:25.200 actually, I took notes on a mode that I -00:11:27.980 --> 00:11:28.100 +00:11:25.200 --> 00:11:28.100 wanted to write. There's an app I use on the -00:11:30.020 --> 00:11:30.060 +00:11:28.100 --> 00:11:30.060 Mac called drafts, and I really love it. -00:11:30.960 --> 00:11:31.460 +00:11:30.060 --> 00:11:31.460 I use it all the time. -00:11:34.300 --> 00:11:34.600 +00:11:31.720 --> 00:11:34.600 I wanted to mimic the interface of this app -00:11:37.120 --> 00:11:37.620 +00:11:34.600 --> 00:11:37.620 in Emacs. So I could use Emacs as my drafts -00:11:39.560 --> 00:11:40.060 +00:11:37.680 --> 00:11:40.060 application rather than this separate 1. -00:11:42.280 --> 00:11:42.720 +00:11:40.440 --> 00:11:42.720 So I noted down all the different user -00:11:44.440 --> 00:11:44.580 +00:11:42.720 --> 00:11:44.580 parameters and how it should function and -00:11:47.040 --> 00:11:47.240 +00:11:44.580 --> 00:11:47.240 everything to describe the app to myself as -00:11:50.080 --> 00:11:50.320 +00:11:47.240 --> 00:11:50.320 sort of notes to get me started on that work -00:11:51.960 --> 00:11:52.460 +00:11:50.320 --> 00:11:52.460 when I did have free time to work on it. -00:11:54.480 --> 00:11:54.760 +00:11:52.540 --> 00:11:54.760 Somebody out there on the internet just saw -00:11:56.680 --> 00:11:57.040 +00:11:54.760 --> 00:11:57.040 these notes, because I keep a lot of my stuff -00:11:59.180 --> 00:11:59.680 +00:11:57.040 --> 00:11:59.680 on GitHub. They fed it to chat GPT, -00:12:01.460 --> 00:12:01.960 +00:12:00.280 --> 00:12:01.960 going back to your AI question. -00:12:04.360 --> 00:12:04.540 +00:12:02.220 --> 00:12:04.540 And they actually sent back to me a mode that -00:12:06.140 --> 00:12:06.640 +00:12:04.540 --> 00:12:06.640 implemented everything that I had said, -00:12:07.240 --> 00:12:07.740 +00:12:06.820 --> 00:12:07.740 which was effectively, -00:12:10.460 --> 00:12:10.960 +00:12:08.200 --> 00:12:10.960 chat GPT, seeing that what I had described -00:12:14.380 --> 00:12:14.500 +00:12:10.960 --> 00:12:14.500 was clear enough for it to derive most of the -00:12:16.120 --> 00:12:16.560 +00:12:14.500 --> 00:12:16.560 code that I would have wanted to write. -00:12:19.000 --> 00:12:19.200 +00:12:16.560 --> 00:12:19.200 So maybe, maybe another thing that AI can do -00:12:20.380 --> 00:12:20.880 +00:12:19.200 --> 00:12:20.880 is it can increase the value, -00:12:22.900 --> 00:12:23.400 +00:12:21.340 --> 00:12:23.400 the efficiency of my free time. -00:12:26.320 --> 00:12:26.820 +00:12:24.360 --> 00:12:26.820 Exactly. I think that's a wonderful point. -00:12:29.380 --> 00:12:29.540 +00:12:27.120 --> 00:12:29.540 And phrasing it as efficiency of free time is -00:12:30.860 --> 00:12:31.360 +00:12:29.540 --> 00:12:31.360 great because you still have the expertise, -00:12:33.280 --> 00:12:33.420 +00:12:31.360 --> 00:12:33.420 obviously, that you're mobilizing into the -00:12:35.060 --> 00:12:35.560 +00:12:33.420 --> 00:12:35.560 design that you're formulating to charge DPT, -00:12:37.460 --> 00:12:37.680 +00:12:35.860 --> 00:12:37.680 but then this expertise is turned into -00:12:38.560 --> 00:12:39.060 +00:12:37.680 --> 00:12:39.060 something that actually works. -00:12:41.400 --> 00:12:41.780 +00:12:40.080 --> 00:12:41.780 Perhaps we're all going to become software -00:12:42.540 --> 00:12:42.980 +00:12:41.780 --> 00:12:42.980 architects at some point, -00:12:45.640 --> 00:12:45.800 +00:12:42.980 --> 00:12:45.800 and then the busy work of actually coding the -00:12:48.560 --> 00:12:48.760 +00:12:45.800 --> 00:12:48.760 library and the software will be relegated to -00:12:50.800 --> 00:12:51.000 +00:12:48.760 --> 00:12:51.000 AI. That's an interesting future where we -00:12:54.960 --> 00:12:55.240 +00:12:51.000 --> 00:12:55.240 still, however, need to acquire the skills to -00:12:56.320 --> 00:12:56.660 +00:12:55.240 --> 00:12:56.660 know what is code, I suppose. -00:12:58.380 --> 00:12:58.880 +00:12:56.660 --> 00:12:58.880 But that's an interesting future to think of. -00:13:01.580 --> 00:13:02.060 +00:13:00.940 --> 00:13:02.060 A fairly long question. -00:13:03.960 --> 00:13:04.280 +00:13:02.060 --> 00:13:04.280 So 1 of the tricky things about running Emacs -00:13:06.760 --> 00:13:06.900 +00:13:04.280 --> 00:13:06.900 on Android is do you use anything that -00:13:07.820 --> 00:13:08.320 +00:13:06.900 --> 00:13:08.320 requires extra packages? -00:13:11.400 --> 00:13:11.600 +00:13:08.420 --> 00:13:11.600 Example like PDF tools with new PDF or going -00:13:13.640 --> 00:13:13.820 +00:13:11.600 --> 00:13:13.820 with a database, playing music or video with -00:13:15.340 --> 00:13:15.840 +00:13:13.820 --> 00:13:15.840 MPD or MPV on Bonga, LFeed. -00:13:17.400 --> 00:13:17.900 +00:13:16.320 --> 00:13:17.900 Do you run Emacs Termex, -00:13:19.740 --> 00:13:20.200 +00:13:18.040 --> 00:13:20.200 Emacs APK, Emacs in virtual machine? -00:13:22.260 --> 00:13:22.420 +00:13:20.200 --> 00:13:22.420 This is also the case on Emacs for Windows to -00:13:23.480 --> 00:13:23.980 +00:13:22.420 --> 00:13:23.980 a lesser degree. So summarizing, -00:13:27.080 --> 00:13:27.240 +00:13:24.280 --> 00:13:27.240 how do you make Emacs work on Android if you -00:13:29.700 --> 00:13:30.040 +00:13:27.240 --> 00:13:30.040 do not have the synergy of stuff that you -00:13:32.360 --> 00:13:32.560 +00:13:30.040 --> 00:13:32.560 usually find on Linux systems like MPV and -00:13:33.920 --> 00:13:34.420 +00:13:32.560 --> 00:13:34.420 all the fancy applications like this? -00:13:38.220 --> 00:13:38.380 +00:13:35.340 --> 00:13:38.380 It's a good question. Since I'm not an -00:13:40.140 --> 00:13:40.460 +00:13:38.380 --> 00:13:40.460 Android user and I've never tried running -00:13:41.520 --> 00:13:42.020 +00:13:40.460 --> 00:13:42.020 Emacs on Android platforms, -00:13:44.760 --> 00:13:44.920 +00:13:42.100 --> 00:13:44.920 I'm not sure what's available out there to -00:13:46.080 --> 00:13:46.440 +00:13:44.920 --> 00:13:46.440 plug Emacs into. I mean, -00:13:48.040 --> 00:13:48.160 +00:13:46.440 --> 00:13:48.160 effectively, that question comes down to -00:13:49.920 --> 00:13:50.420 +00:13:48.160 --> 00:13:50.420 external dependencies and system support. -00:13:53.120 --> 00:13:53.320 +00:13:50.940 --> 00:13:53.320 That would be a great question for Stefan or -00:13:55.240 --> 00:13:55.740 +00:13:53.320 --> 00:13:55.740 somebody who has tried using Emacs, -00:13:58.100 --> 00:13:58.600 +00:13:56.200 --> 00:13:58.600 the development version of Emacs on Android. -00:14:03.480 --> 00:14:03.980 +00:14:00.660 --> 00:14:03.980 Great. We'll put a pin in this for Stéphane -00:14:07.360 --> 00:14:07.580 +00:14:04.540 --> 00:14:07.580 afterwards. Great, so moving on to the next -00:14:09.720 --> 00:14:09.860 +00:14:07.580 --> 00:14:09.860 question. Will Org Tech someday become the -00:14:10.860 --> 00:14:11.320 +00:14:09.860 --> 00:14:11.320 default tech mode in Emacs? -00:14:14.380 --> 00:14:14.880 +00:14:11.320 --> 00:14:14.880 And if so, when? Will Org what become? -00:14:17.480 --> 00:14:17.980 +00:14:15.240 --> 00:14:17.980 Org Tech, you know, the LaTeX mode. -00:14:24.640 --> 00:14:24.840 +00:14:19.120 --> 00:14:24.840 I do not know. It's been a while since I've -00:14:26.420 --> 00:14:26.880 +00:14:24.840 --> 00:14:26.880 done LaTeX. It must have been like 4 years, -00:14:30.040 --> 00:14:30.280 +00:14:26.880 --> 00:14:30.280 but it was a pretty, the major mode for -00:14:32.280 --> 00:14:32.560 +00:14:30.280 --> 00:14:32.560 editing documents, like the state of the art -00:14:34.340 --> 00:14:34.840 +00:14:32.560 --> 00:14:34.840 for editing latex documents in Emacs. -00:14:35.820 --> 00:14:36.320 +00:14:34.940 --> 00:14:36.320 And apparently it's not default. -00:14:38.200 --> 00:14:38.360 +00:14:36.340 --> 00:14:38.360 I assume there's latex mode or something that -00:14:41.080 --> 00:14:41.580 +00:14:38.360 --> 00:14:41.580 is doing it. So were you saying octech, -00:14:44.860 --> 00:14:45.020 +00:14:41.760 --> 00:14:45.020 like A-U-C tech? Oh, did I not pronounce the -00:14:47.860 --> 00:14:48.140 +00:14:45.020 --> 00:14:48.140 C? Octech, yes. I thought you said org tech. -00:14:49.120 --> 00:14:49.620 +00:14:48.140 --> 00:14:49.620 I wasn't familiar with that. -00:14:52.040 --> 00:14:52.540 +00:14:50.280 --> 00:14:52.540 Octech is the only 1 I've ever used. -00:14:54.860 --> 00:14:55.360 +00:14:52.640 --> 00:14:55.360 I know there is a built-in LaTeX mode, -00:14:56.880 --> 00:14:57.240 +00:14:55.580 --> 00:14:57.240 but I've never used it. -00:14:58.780 --> 00:14:59.140 +00:14:57.240 --> 00:14:59.140 I always just download whatever the latest -00:15:00.660 --> 00:15:01.160 +00:14:59.140 --> 00:15:01.160 version of Org Tech is and use that. -00:15:03.440 --> 00:15:03.840 +00:15:01.280 --> 00:15:03.840 I don't know why it's not a standard package. -00:15:06.860 --> 00:15:07.360 +00:15:03.840 --> 00:15:07.360 Becoming a standard package has its own costs -00:15:09.400 --> 00:15:09.860 +00:15:07.360 --> 00:15:09.860 for the development cycle because it slows -00:15:11.240 --> 00:15:11.740 +00:15:09.860 --> 00:15:11.740 down release cycle quite a bit. -00:15:14.480 --> 00:15:14.680 +00:15:12.120 --> 00:15:14.680 It's now you have to create PRs that are -00:15:16.740 --> 00:15:17.240 +00:15:14.680 --> 00:15:17.240 reviewed by the Emacs Devel mailing list. -00:15:18.900 --> 00:15:19.340 +00:15:17.620 --> 00:15:19.340 It is a little more inertia. -00:15:21.180 --> 00:15:21.680 +00:15:19.340 --> 00:15:21.680 Of course, it gets you more distribution -00:15:23.560 --> 00:15:24.020 +00:15:21.940 --> 00:15:24.020 because it's a default package now, -00:15:25.600 --> 00:15:26.100 +00:15:24.020 --> 00:15:26.100 and everybody can be using that. -00:15:28.100 --> 00:15:28.600 +00:15:26.140 --> 00:15:28.600 But it's not something every developer -00:15:30.960 --> 00:15:31.400 +00:15:28.660 --> 00:15:31.400 decides to do. It took a few years, -00:15:34.120 --> 00:15:34.620 +00:15:31.400 --> 00:15:34.620 in fact, to get usePackage into Emacs core. -00:15:36.760 --> 00:15:37.200 +00:15:34.660 --> 00:15:37.200 And that only happened after it was so stable -00:15:38.860 --> 00:15:39.360 +00:15:37.200 --> 00:15:39.360 that it really wasn't receiving many changes -00:15:44.540 --> 00:15:44.760 +00:15:39.360 --> 00:15:44.760 anymore. Yeah, yeah it's it's the thing when -00:15:46.560 --> 00:15:46.720 +00:15:44.760 --> 00:15:46.720 you move into core you lose a lot of your -00:15:49.120 --> 00:15:49.280 +00:15:46.720 --> 00:15:49.280 agility in terms of how you're writing the -00:15:50.440 --> 00:15:50.940 +00:15:49.280 --> 00:15:50.940 code or how you expand code. -00:15:54.000 --> 00:15:54.220 +00:15:51.300 --> 00:15:54.220 That's why you have this vibrant community on -00:15:57.180 --> 00:15:57.680 +00:15:54.220 --> 00:15:57.680 Melpa compared to core but you know it -00:15:59.380 --> 00:15:59.480 +00:15:57.740 --> 00:15:59.480 doesn't necessarily ought to be this way it -00:16:02.160 --> 00:16:02.320 +00:15:59.480 --> 00:16:02.320 could be a little different you know And it -00:16:04.080 --> 00:16:04.580 +00:16:02.320 --> 00:16:04.580 feels like there's this repetition between -00:16:06.500 --> 00:16:06.820 +00:16:04.760 --> 00:16:06.820 repartition, sorry, between people developing -00:16:08.220 --> 00:16:08.600 +00:16:06.820 --> 00:16:08.600 for the core of Emacs and people developing -00:16:10.600 --> 00:16:10.760 +00:16:08.600 --> 00:16:10.760 on Melpa, but at the end of the day those 2 -00:16:12.520 --> 00:16:13.020 +00:16:10.760 --> 00:16:13.020 groups are constantly talking to 1 another -00:16:14.860 --> 00:16:15.240 +00:16:13.180 --> 00:16:15.240 and taking cues from 1 another as well. -00:16:17.040 --> 00:16:17.540 +00:16:15.240 --> 00:16:17.540 So that's great. And there's of course... -00:16:21.380 --> 00:16:21.880 +00:16:18.820 --> 00:16:21.880 May I jump in about this particular question -00:16:24.840 --> 00:16:25.080 +00:16:21.900 --> 00:16:25.080 because I think I mean You know, -00:16:27.100 --> 00:16:27.540 +00:16:25.080 --> 00:16:27.540 Org Mode doesn't really have any problems -00:16:28.980 --> 00:16:29.380 +00:16:27.540 --> 00:16:29.380 with releases Correct. -00:16:32.320 --> 00:16:32.820 +00:16:29.380 --> 00:16:32.820 Just because it's distributed with Emacs so -00:16:34.900 --> 00:16:35.020 +00:16:32.860 --> 00:16:35.020 there is a difference between being in the -00:16:37.460 --> 00:16:37.960 +00:16:35.020 --> 00:16:37.960 core proper and being distributed with Emacs. -00:16:39.640 --> 00:16:40.080 +00:16:38.520 --> 00:16:40.080 And for something like use packages, -00:16:41.780 --> 00:16:42.280 +00:16:40.080 --> 00:16:42.280 it's really necessary to be in the core. -00:16:44.340 --> 00:16:44.840 +00:16:42.600 --> 00:16:44.840 But for something like major mode, -00:16:48.620 --> 00:16:48.740 +00:16:45.060 --> 00:16:48.740 it's a bit easier. That's a very very good -00:16:50.200 --> 00:16:50.400 +00:16:48.740 --> 00:16:50.400 point. Yeah, I'd forgotten about that -00:16:52.740 --> 00:16:53.000 +00:16:50.400 --> 00:16:53.000 distinction. Org mode does advance pretty -00:16:55.760 --> 00:16:55.900 +00:16:53.000 --> 00:16:55.900 rapidly and then it makes releases into the -00:16:59.320 --> 00:16:59.640 +00:16:55.900 --> 00:16:59.640 core distribution. Gianni, -00:17:01.000 --> 00:17:01.480 +00:16:59.640 --> 00:17:01.480 I believe you also wanted to say something -00:17:03.680 --> 00:17:03.840 +00:17:01.480 --> 00:17:03.840 before someone started jumped in with a -00:17:08.460 --> 00:17:08.700 +00:17:03.840 --> 00:17:08.700 question do you happen to remember okay -00:17:11.520 --> 00:17:12.020 +00:17:08.700 --> 00:17:12.020 that's fine I lost her to lost to their time -00:17:14.060 --> 00:17:14.560 +00:17:12.560 --> 00:17:14.560 I'll be moving on to the next question then -00:17:17.280 --> 00:17:17.460 +00:17:15.700 --> 00:17:17.460 and by the way feel free to interrupt us you -00:17:19.440 --> 00:17:19.619 +00:17:17.460 --> 00:17:19.619 know The whole point of this discussion is -00:17:20.740 --> 00:17:21.140 +00:17:19.619 --> 00:17:21.140 for you to ask questions to John Wheatley. -00:17:23.240 --> 00:17:23.520 +00:17:21.140 --> 00:17:23.520 So whether it be via the other pad or via -00:17:25.680 --> 00:17:26.180 +00:17:23.520 --> 00:17:26.180 BBB, choose your weapon. -00:17:28.700 --> 00:17:28.820 +00:17:27.260 --> 00:17:28.820 All right, moving on to the next question in -00:17:30.220 --> 00:17:30.520 +00:17:28.820 --> 00:17:30.520 the meantime. And we have about 7 minutes -00:17:32.600 --> 00:17:32.760 +00:17:30.520 --> 00:17:32.760 left of Q&A and then we'll be moving on to -00:17:35.580 --> 00:17:35.780 +00:17:32.760 --> 00:17:35.780 Stéphane. So, do you use other IDEs for -00:17:37.840 --> 00:17:38.040 +00:17:35.780 --> 00:17:38.040 theorem proving work, notably VS Code for -00:17:42.180 --> 00:17:42.340 +00:17:38.040 --> 00:17:42.340 Lean? Which languages and provers can or do -00:17:45.420 --> 00:17:45.920 +00:17:42.340 --> 00:17:45.920 you use Emacs for? I've only used Emacs. -00:17:49.340 --> 00:17:49.840 +00:17:46.120 --> 00:17:49.840 I've used Emacs for working with ACL 2, -00:17:53.300 --> 00:17:53.480 +00:17:49.960 --> 00:17:53.480 Coq, Agda, and Lean, and I really love -00:17:55.560 --> 00:17:55.680 +00:17:53.480 --> 00:17:55.680 Proof-General. Coq is my favorite language to -00:17:57.380 --> 00:17:57.740 +00:17:55.680 --> 00:17:57.740 be working in. Agda has really great support -00:17:59.120 --> 00:17:59.540 +00:17:57.740 --> 00:17:59.540 as well, has a very nice Emacs mode. -00:18:02.500 --> 00:18:02.920 +00:17:59.540 --> 00:18:02.920 I'm only just now starting to get into Lean -00:18:04.640 --> 00:18:05.140 +00:18:02.920 --> 00:18:05.140 4. So I have everything installed, -00:18:07.080 --> 00:18:07.240 +00:18:05.280 --> 00:18:07.240 but I haven't really started coding in -00:18:08.680 --> 00:18:08.800 +00:18:07.240 --> 00:18:08.800 earnest. I'm still reading a lot of the -00:18:10.760 --> 00:18:10.920 +00:18:08.800 --> 00:18:10.920 tutorials and learning a bit about the -00:18:13.260 --> 00:18:13.440 +00:18:10.920 --> 00:18:13.440 language. There was a while there where I -00:18:17.360 --> 00:18:17.540 +00:18:13.440 --> 00:18:17.540 used a IDE for ACL 2 that was outside of -00:18:19.760 --> 00:18:19.920 +00:18:17.540 --> 00:18:19.920 Emacs, only because it was the same IDE all -00:18:21.820 --> 00:18:22.040 +00:18:19.920 --> 00:18:22.040 my co-workers were using and it was easier to -00:18:23.740 --> 00:18:24.240 +00:18:22.040 --> 00:18:24.240 share tips and tricks with them. -00:18:27.780 --> 00:18:28.240 +00:18:24.520 --> 00:18:28.240 But yeah, no, I found Emacs to be a great -00:18:29.360 --> 00:18:29.860 +00:18:28.240 --> 00:18:29.860 home for doing theorem proving. -00:18:36.160 --> 00:18:36.580 +00:18:32.120 --> 00:18:36.580 Right. Next question. Can we see that AI -00:18:40.520 --> 00:18:40.760 +00:18:36.580 --> 00:18:40.760 generated draft? You know what you mentioned -00:18:43.200 --> 00:18:43.420 +00:18:40.760 --> 00:18:43.420 before about the draft that you then fed into -00:18:45.160 --> 00:18:45.480 +00:18:43.420 --> 00:18:45.480 ChargPT? Do you happen to have this draft -00:18:50.940 --> 00:18:51.440 +00:18:45.480 --> 00:18:51.440 anywhere? Let me see if it's still on GitHub. -00:18:53.800 --> 00:18:54.300 +00:18:51.760 --> 00:18:54.300 Just take me 1 second to take a look here. -00:18:59.440 --> 00:18:59.820 +00:18:55.260 --> 00:18:59.820 Take your time. The problem is I don't quite -00:19:01.320 --> 00:19:01.820 +00:18:59.820 --> 00:19:01.820 remember where I made the note. -00:19:06.760 --> 00:19:07.260 +00:19:04.700 --> 00:19:07.260 But no, I don't see it on GitHub, -00:19:09.340 --> 00:19:09.840 +00:19:07.340 --> 00:19:09.840 so I don't have it readily at hand. -00:19:12.740 --> 00:19:13.240 +00:19:10.580 --> 00:19:13.240 Well, that's fine. We'll be able to... -00:19:14.760 --> 00:19:15.060 +00:19:13.520 --> 00:19:15.060 Well, if you happen to find it, -00:19:17.120 --> 00:19:17.280 +00:19:15.060 --> 00:19:17.280 we'll make sure to add it on the pad and then -00:19:20.740 --> 00:19:20.940 +00:19:17.280 --> 00:19:20.940 on the talks page. And I think we would all -00:19:22.120 --> 00:19:22.440 +00:19:20.940 --> 00:19:22.440 be interested to see what this design -00:19:26.680 --> 00:19:27.160 +00:19:22.440 --> 00:19:27.160 document that actually made something work -00:19:28.660 --> 00:19:28.980 +00:19:27.160 --> 00:19:28.980 afterwards in JudgeDPT with Elisp. -00:19:30.440 --> 00:19:30.720 +00:19:28.980 --> 00:19:30.720 I'm very interested to see what it would do -00:19:32.480 --> 00:19:32.720 +00:19:30.720 --> 00:19:32.720 because I tend to be very interested about -00:19:34.640 --> 00:19:34.780 +00:19:32.720 --> 00:19:34.780 this type of stuff I had generated but I -00:19:36.360 --> 00:19:36.860 +00:19:34.780 --> 00:19:36.860 never thought about doing it with Elisp -00:19:38.720 --> 00:19:39.000 +00:19:37.040 --> 00:19:39.000 because somehow it feels like 2 different -00:19:40.520 --> 00:19:41.020 +00:19:39.000 --> 00:19:41.020 worlds, like Elisp is kind of from the past, -00:19:43.540 --> 00:19:44.040 +00:19:41.260 --> 00:19:44.040 don't going me wrong, I love it and I use it -00:19:46.720 --> 00:19:46.920 +00:19:44.140 --> 00:19:46.920 every day But it's 2 different parts of my -00:19:48.480 --> 00:19:48.820 +00:19:46.920 --> 00:19:48.820 brain that I didn't think about linking. -00:19:50.600 --> 00:19:51.100 +00:19:48.820 --> 00:19:51.100 So I'd be very excited to see this as well. -00:19:54.160 --> 00:19:54.640 +00:19:53.040 --> 00:19:54.640 Moving on to the next question. -00:19:56.480 --> 00:19:56.980 +00:19:54.640 --> 00:19:56.980 Oh, go on, please. I did find it. -00:20:00.600 --> 00:20:01.080 +00:19:57.260 --> 00:20:01.080 I'm gonna have to give it to you as a link -00:20:03.120 --> 00:20:03.380 +00:20:01.080 --> 00:20:03.380 here. Sure, you can do it on the blue button -00:20:05.400 --> 00:20:05.900 +00:20:03.380 --> 00:20:05.900 and I'll put it on the pad. -00:20:12.040 --> 00:20:12.540 +00:20:10.160 --> 00:20:12.540 I put it into the public chat for Bibi. -00:20:15.520 --> 00:20:15.920 +00:20:12.960 --> 00:20:15.920 Yes. So if anyone is interested, -00:20:18.120 --> 00:20:18.280 +00:20:15.920 --> 00:20:18.280 I'm putting it right in the answer to the -00:20:19.740 --> 00:20:20.200 +00:20:18.280 --> 00:20:20.200 question right here on my screen. -00:20:21.820 --> 00:20:22.120 +00:20:20.200 --> 00:20:22.120 So feel free to click on it and explore it. -00:20:23.320 --> 00:20:23.680 +00:20:22.120 --> 00:20:23.680 I'm kind of curious, so I'm gonna... -00:20:25.400 --> 00:20:25.560 +00:20:23.680 --> 00:20:25.560 Can I click it on stream and can we look at -00:20:26.120 --> 00:20:26.620 +00:20:25.560 --> 00:20:26.620 it a little bit together? -00:20:28.680 --> 00:20:29.020 +00:20:26.740 --> 00:20:29.020 Sure, sure. I haven't tried running it, -00:20:31.300 --> 00:20:31.680 +00:20:29.020 --> 00:20:31.680 I can't say for its fitness, -00:20:33.720 --> 00:20:34.220 +00:20:31.680 --> 00:20:34.220 but it's definitely enough of the groundwork -00:20:36.160 --> 00:20:36.660 +00:20:34.400 --> 00:20:36.660 done that it's absolutely an assistance. -00:20:39.760 --> 00:20:40.260 +00:20:38.100 --> 00:20:40.260 Right. Okay, so it's loading up right now? -00:20:42.180 --> 00:20:42.620 +00:20:41.540 --> 00:20:42.620 You can see my webcam, -00:20:45.480 --> 00:20:45.680 +00:20:42.620 --> 00:20:45.680 right? I can see your browser attempting to -00:20:47.080 --> 00:20:47.360 +00:20:45.680 --> 00:20:47.360 load. There we go. Okay, -00:20:49.860 --> 00:20:50.060 +00:20:47.360 --> 00:20:50.060 cool. So I'm not sure what GitHub is doing. -00:20:51.240 --> 00:20:51.460 +00:20:50.060 --> 00:20:51.460 Let me give it a little more room. -00:20:53.860 --> 00:20:54.360 +00:20:51.460 --> 00:20:54.360 The reactive setup is not working too well. -00:20:58.340 --> 00:20:58.840 +00:20:57.260 --> 00:20:58.840 Oh, I see. You're viewing the... -00:21:01.960 --> 00:21:02.220 +00:20:59.540 --> 00:21:02.220 I see. Can I see the file then? -00:21:03.520 --> 00:21:04.020 +00:21:02.220 --> 00:21:04.020 I should be able to see the file. -00:21:08.800 --> 00:21:09.060 +00:21:06.460 --> 00:21:09.060 I think he just mentions the code in that -00:21:11.480 --> 00:21:11.640 +00:21:09.060 --> 00:21:11.640 comment. So if there's a way to view only the -00:21:14.765 --> 00:21:14.897 +00:21:11.640 --> 00:21:14.897 comment it would make it clear. -00:21:16.160 --> 00:21:16.660 +00:21:14.897 --> 00:21:16.660 Right. Okay. I'm loading the file separately. -00:21:18.000 --> 00:21:18.500 +00:21:17.320 --> 00:21:18.500 I'm checking the time. -00:21:21.220 --> 00:21:21.340 +00:21:18.740 --> 00:21:21.340 We have about 3 minutes left and I think we -00:21:22.420 --> 00:21:22.900 +00:21:21.340 --> 00:21:22.900 have a question. In the meantime, -00:21:25.680 --> 00:21:25.760 +00:21:22.900 --> 00:21:25.760 whilst I show this, I'm gonna launch another -00:21:28.320 --> 00:21:28.820 +00:21:25.760 --> 00:21:28.820 question, which was about Drafts. -00:21:30.580 --> 00:21:30.740 +00:21:29.440 --> 00:21:30.740 You are carrying, you're talking about -00:21:32.320 --> 00:21:32.480 +00:21:30.740 --> 00:21:32.480 Drafts, but does that mean you're not using -00:21:35.720 --> 00:21:35.920 +00:21:32.480 --> 00:21:35.920 org anymore? Oh, no, I use org all the time. -00:21:37.600 --> 00:21:38.100 +00:21:35.920 --> 00:21:38.100 In fact, the way that I've configured drafts -00:21:40.240 --> 00:21:40.580 +00:21:38.160 --> 00:21:40.580 is that after I type the thing in the note -00:21:43.080 --> 00:21:43.260 +00:21:40.580 --> 00:21:43.260 into drafts, I hit a key and it creates an -00:21:44.920 --> 00:21:45.420 +00:21:43.260 --> 00:21:45.420 org mode capture item for it. -00:21:48.060 --> 00:21:48.560 +00:21:45.540 --> 00:21:48.560 The reason why I use Drafts instead of Emacs -00:21:50.160 --> 00:21:50.660 +00:21:48.560 --> 00:21:50.660 is because it's always available. -00:21:53.680 --> 00:21:53.960 +00:21:51.100 --> 00:21:53.960 If Emacs is currently doing some job for me, -00:21:55.840 --> 00:21:56.340 +00:21:53.960 --> 00:21:56.340 say I'm running some long-running subshell -00:21:58.940 --> 00:21:59.440 +00:21:57.060 --> 00:21:59.440 and the UI is frozen up whatnot, -00:22:02.020 --> 00:22:02.360 +00:21:59.700 --> 00:22:02.360 Drafts is always 100% of the time instantly -00:22:04.600 --> 00:22:04.900 +00:22:02.360 --> 00:22:04.900 available. So that's why I tend to then lean -00:22:07.740 --> 00:22:07.920 +00:22:04.900 --> 00:22:07.920 on it a bit, but all of the destination of -00:22:09.760 --> 00:22:10.240 +00:22:07.920 --> 00:22:10.240 that data is still Org Mode and everything -00:22:11.960 --> 00:22:12.460 +00:22:10.240 --> 00:22:12.460 that I do gets tracked through Org Mode. -00:22:15.720 --> 00:22:16.160 +00:22:13.080 --> 00:22:16.160 That's also why I wanted to implement the UI -00:22:18.580 --> 00:22:18.800 +00:22:16.160 --> 00:22:18.800 scheme of drafts in Emacs so that I could -00:22:20.360 --> 00:22:20.860 +00:22:18.800 --> 00:22:20.860 drop the use of this external application. -00:22:23.040 --> 00:22:23.160 +00:22:21.540 --> 00:22:23.160 And then, I mean, I would still have the -00:22:25.080 --> 00:22:25.580 +00:22:23.160 --> 00:22:25.580 problem of sometimes Emacs being unavailable, -00:22:29.760 --> 00:22:30.040 +00:22:26.060 --> 00:22:30.040 but I would pay that price in order to have -00:22:32.200 --> 00:22:32.700 +00:22:30.040 --> 00:22:32.700 that good UI of drafts inside Emacs. -00:22:37.200 --> 00:22:37.700 +00:22:34.640 --> 00:22:37.700 Great. I think we have, -00:22:39.520 --> 00:22:39.720 +00:22:38.420 --> 00:22:39.720 we might be too tight on time. -00:22:41.200 --> 00:22:41.640 +00:22:39.720 --> 00:22:41.640 We only have about 2 minutes and I need to -00:22:43.680 --> 00:22:44.180 +00:22:41.640 --> 00:22:44.180 jump room to go into Stephane's room as well. -00:22:47.160 --> 00:22:47.380 +00:22:44.440 --> 00:22:47.380 So John, where I get to thank you so much for -00:22:52.660 --> 00:22:53.160 +00:22:47.380 --> 00:22:53.160 taking the time to answer our questions, -00:22:54.920 --> 00:22:55.040 +00:22:53.260 --> 00:22:55.040 but also doing a little bit of reporting on -00:22:57.900 --> 00:22:58.380 +00:22:55.040 --> 00:22:58.380 the state of Emacs. And now we'll get to -00:22:58.940 --> 00:22:59.280 +00:22:58.380 --> 00:22:59.280 continue this with Stéphane. -00:23:00.900 --> 00:23:01.300 +00:22:59.280 --> 00:23:01.300 So do you have any last words for everyone, -00:23:03.380 --> 00:23:03.660 +00:23:01.300 --> 00:23:03.660 John? No, no. I look forward to hearing -00:23:05.940 --> 00:23:06.420 +00:23:03.660 --> 00:23:06.420 Stéphane speak. Okay, great. -00:23:07.000 --> 00:23:07.360 +00:23:06.420 --> 00:23:07.360 And we'll look forward, -00:23:08.800 --> 00:23:09.300 +00:23:07.360 --> 00:23:09.300 potentially, to having you again next year, -00:23:12.180 --> 00:23:12.680 +00:23:10.520 --> 00:23:12.680 potentially still doing news like this, -00:23:15.620 --> 00:23:15.920 +00:23:12.980 --> 00:23:15.920 and, fingers crossed, maybe having you live -00:23:18.160 --> 00:23:18.660 +00:23:15.920 --> 00:23:18.660 again. Maybe, maybe let's see what happens. -00:23:20.680 --> 00:23:20.860 +00:23:19.700 --> 00:23:20.860 All right, John. Thank you so much. -00:23:21.780 --> 00:23:22.280 +00:23:20.860 --> 00:23:22.280 Bye bye. Bye bye. diff --git a/2023/captions/emacsconf-2023-hyperamp--top-10-ways-hyperbole-amps-up-emacs--robert-weiner--main.vtt b/2023/captions/emacsconf-2023-hyperamp--top-10-ways-hyperbole-amps-up-emacs--robert-weiner--main.vtt new file mode 100644 index 00000000..e6ae083a --- /dev/null +++ b/2023/captions/emacsconf-2023-hyperamp--top-10-ways-hyperbole-amps-up-emacs--robert-weiner--main.vtt @@ -0,0 +1,4022 @@ +WEBVTT + + +00:00:01.719 --> 00:00:02.600 +[Speaker 0]: 5 seconds. Oh, actually, + +00:00:07.279 --> 00:00:08.320 +[Speaker 1]: Sorry, I keep delaying. + +00:00:08.320 --> 00:00:09.559 +I keep forgetting that we have an + +00:00:09.559 --> 00:00:11.639 +introduction now. The introduction is flying. + +00:00:02.600 --> 00:00:18.883 +[Speaker 0]: a little more. You're going to give a + +00:00:22.260 --> 00:00:24.320 +[Speaker 1]: Well, it's about 5 seconds now. + +00:00:19.675 --> 00:00:27.560 +[Speaker 0]: 30-second, right? Just say go when you want + +00:00:29.060 --> 00:00:31.280 +[Speaker 1]: Sure. You'll hear me anyway. + +00:00:27.560 --> 00:00:32.299 +[Speaker 0]: me to go. Okay. + +00:00:33.260 --> 00:00:35.220 +[Speaker 1]: All right, I think we are live now. + +00:00:35.220 --> 00:00:36.100 +So hi again, everyone. + +00:00:36.100 --> 00:00:37.900 +I promised you we would be back in about 30 + +00:00:37.900 --> 00:00:39.940 +seconds. I lied, it was actually 1 minute, + +00:00:40.160 --> 00:00:41.760 +but we are here with Bob. + +00:00:41.760 --> 00:00:42.840 +Hi, Bob, how are you doing? + +00:00:43.380 --> 00:00:46.940 +[Speaker 0]: Hi, doing great. Glad to + +00:00:46.940 --> 00:00:50.600 +[Speaker 1]: be with you. Yeah, glad to be here, + +00:00:50.600 --> 00:00:52.580 +and so are we. We're glad to have you again + +00:00:52.580 --> 00:00:54.440 +this year. So what we're going to do, + +00:00:54.440 --> 00:00:56.140 +we're not going to waste any time right now + +00:00:56.140 --> 00:00:57.880 +with chit-chats. What we're going to do, + +00:00:57.880 --> 00:00:59.059 +we're going to move straight into your + +00:00:59.059 --> 00:01:01.120 +presentation, Bob, so that you have as much + +00:01:01.120 --> 00:01:04.239 +time as you can. I'm going to recede into the + +00:01:04.239 --> 00:01:07.440 +background. I am going to full screen your + +00:01:07.440 --> 00:01:08.979 +presentation on a stream. + +00:01:09.860 --> 00:01:11.680 +And Bob, the floor is all yours. + +00:01:12.940 --> 00:01:14.720 +[Speaker 0]: Thank you very much, Leo. + +00:01:15.040 --> 00:01:18.400 +Glad to be here. I hope everybody has an idea + +00:01:18.400 --> 00:01:22.780 +of what Hyperbole is, but it's a broad + +00:01:22.900 --> 00:01:25.880 +information management system inside Emacs + +00:01:26.400 --> 00:01:28.540 +that works in all major modes. + +00:01:28.860 --> 00:01:31.760 +It's a global minor mode that you can turn on + +00:01:31.760 --> 00:01:34.760 +and off very rapidly so that you can just get + +00:01:34.760 --> 00:01:36.160 +in and out of hyperbole. + +00:01:36.760 --> 00:01:40.940 +And it works mostly from a mini buffer menu + +00:01:41.400 --> 00:01:44.040 +that if we just hit ctrl H H we see at the + +00:01:44.040 --> 00:01:47.420 +bottom of the screen here and as you see in + +00:01:47.420 --> 00:01:48.980 +some of this text right here, + +00:01:51.040 --> 00:01:55.680 +Dee will show you a demo with all these video + +00:01:55.680 --> 00:01:57.680 +links of Hyperbole now. + +00:01:57.900 --> 00:02:01.780 +But let's just get into the top 10 reasons to + +00:02:01.780 --> 00:02:08.840 +use Hyperbole. Number 10 is a key series + +00:02:10.160 --> 00:02:12.600 +curly braces. So you just put curly braces + +00:02:12.600 --> 00:02:17.620 +around any set of key sequences that you want + +00:02:19.760 --> 00:02:22.440 +and hyperbole magically turns that into what + +00:02:22.440 --> 00:02:25.640 +we call an implicit button a hyper button and + +00:02:25.640 --> 00:02:28.580 +any kind of text that you have so if we go + +00:02:28.580 --> 00:02:35.760 +down here and we just click click here we see + +00:02:35.820 --> 00:02:40.220 +it that was a complex button that said let's + +00:02:40.400 --> 00:02:43.200 +start a shell, let's set an environment + +00:02:43.320 --> 00:02:45.140 +variable as you see the command right up + +00:02:45.140 --> 00:02:47.420 +there, and then let's do a grep over the + +00:02:47.420 --> 00:02:50.680 +hyperbole code and find all instances of a + +00:02:50.680 --> 00:02:55.360 +particular label. So if we hit made a return, + +00:02:55.400 --> 00:02:57.260 +that's called the action key. + +00:02:57.280 --> 00:02:59.340 +That's what you use throughout hyperbole when + +00:02:59.340 --> 00:03:01.900 +you just want to activate any kind of button. + +00:03:02.020 --> 00:03:06.380 +So you see it jumped to the grep output and + +00:03:06.380 --> 00:03:08.440 +this is in a shell buffer it's not in a + +00:03:08.440 --> 00:03:11.180 +compilation buffer so anywhere that you have + +00:03:11.180 --> 00:03:13.760 +this sort of thing it's also an implicit + +00:03:13.780 --> 00:03:17.040 +button and any sort of grep output or + +00:03:17.040 --> 00:03:20.780 +compiler output you can just jump to with the + +00:03:22.120 --> 00:03:23.580 +same key, made a return. + +00:03:23.960 --> 00:03:29.240 +So that's key series, the first part. + +00:03:29.440 --> 00:03:33.880 +And then just to note that you can also just + +00:03:33.880 --> 00:03:39.000 +do a, well I'll just do it here and show you + +00:03:39.000 --> 00:03:43.380 +that you can do a recursive grep with this + +00:03:43.380 --> 00:03:45.840 +hyperbole command, HYPBR grep. + +00:03:46.060 --> 00:03:49.000 +And if you're in an Emacs list buffer, + +00:03:50.860 --> 00:03:54.740 +it will only grep across the Emacs list. + +00:03:54.760 --> 00:03:58.340 +So a very handy way to just go through your + +00:03:58.340 --> 00:04:01.040 +code very rapidly and then jump to various + +00:04:01.040 --> 00:04:04.280 +points in it. So we have a lot to cover + +00:04:04.280 --> 00:04:05.800 +today, so I'm going to go through this + +00:04:05.800 --> 00:04:07.560 +rapidly. This isn't a tutorial, + +00:04:07.800 --> 00:04:10.340 +it's just to get you interested in some of + +00:04:10.340 --> 00:04:13.060 +the features, and then there's a ton of + +00:04:13.060 --> 00:04:15.920 +reference material and videos now available + +00:04:15.980 --> 00:04:18.860 +for Hyperlink. So let's go to number 9. + +00:04:20.019 --> 00:04:22.360 +Path names become implicit buttons. + +00:04:22.500 --> 00:04:24.060 +You don't even have to quote them. + +00:04:24.060 --> 00:04:26.920 +You can add environment variables or elist + +00:04:26.920 --> 00:04:29.200 +variables with the syntax right here. + +00:04:29.380 --> 00:04:32.180 +So here we have a shell script that's + +00:04:32.180 --> 00:04:33.500 +somewhere on our path. + +00:04:33.680 --> 00:04:36.380 +And notice path is an environment variable + +00:04:36.380 --> 00:04:39.140 +with many different paths within it, + +00:04:39.140 --> 00:04:42.600 +right? But Hyperbole knows that and it + +00:04:42.600 --> 00:04:44.980 +searches the path, gets the first match, + +00:04:45.600 --> 00:04:48.620 +finds it, and finds the actual shell script. + +00:04:48.660 --> 00:04:50.420 +So you can just embed that anywhere. + +00:04:50.540 --> 00:04:52.160 +Here we have a list variable, + +00:04:52.280 --> 00:04:54.360 +hyperbdur, which is the home directory for + +00:04:54.360 --> 00:04:58.120 +hyperbole, and then a markdown file, + +00:04:58.320 --> 00:05:01.680 +and a link to a direct section in the file, + +00:05:01.780 --> 00:05:05.220 +and the 5 colon 5 means go to line 5 within + +00:05:05.220 --> 00:05:07.260 +that section and column 5. + +00:05:07.380 --> 00:05:09.400 +So let's just try it. Boom, + +00:05:09.420 --> 00:05:11.500 +we're right there, and we're on another link + +00:05:11.500 --> 00:05:13.220 +that we could activate as well. + +00:05:13.420 --> 00:05:17.960 +So notice the next line is the same link but + +00:05:17.960 --> 00:05:20.280 +this is how you normally have to do it in a + +00:05:20.280 --> 00:05:23.160 +markdown file. You have to change the section + +00:05:23.160 --> 00:05:25.640 +header to have dashes but with hyperbole you + +00:05:25.640 --> 00:05:28.120 +don't have to. You can just put it exactly + +00:05:28.140 --> 00:05:29.840 +like you see it in your file. + +00:05:30.540 --> 00:05:34.660 +Here the pound syntax for sections is really + +00:05:34.660 --> 00:05:36.640 +a generic syntax in the hyperbole. + +00:05:37.360 --> 00:05:39.840 +And so it works in all different kinds of + +00:05:39.840 --> 00:05:41.500 +files, your programming files. + +00:05:42.100 --> 00:05:45.240 +Here's a shell script and we said let's just + +00:05:45.240 --> 00:05:49.120 +go to the first comment that has alias in it. + +00:05:49.120 --> 00:05:51.700 +Notice we didn't have to say the whole line, + +00:05:51.700 --> 00:05:53.160 +just the first part of it. + +00:05:53.160 --> 00:05:58.140 +And it matched to it. Here we have a link to + +00:05:58.140 --> 00:06:01.680 +our hyperbole structured outliner called the + +00:06:01.680 --> 00:06:04.660 +K Outliner. And you can see it auto-numbers + +00:06:05.080 --> 00:06:08.000 +all these cells. But in addition to just + +00:06:08.000 --> 00:06:10.640 +displaying, you can also add a pipe symbol + +00:06:10.640 --> 00:06:14.900 +near the end and use this view syntax to clip + +00:06:14.900 --> 00:06:17.500 +to 2 lines and show blank lines. + +00:06:17.500 --> 00:06:19.920 +So let's see if each node gets clipped to 2 + +00:06:19.920 --> 00:06:22.680 +lines. So you see they're all just 2 now with + +00:06:22.680 --> 00:06:25.280 +the ellipses and then we can expand them. + +00:06:25.320 --> 00:06:28.760 +So a lot of power there just with path names. + +00:06:29.380 --> 00:06:31.120 +Let's continue to number 8. + +00:06:31.120 --> 00:06:32.940 +[Speaker 1]: Can I just interrupt you just a bit? + +00:06:33.420 --> 00:06:33.920 +[Speaker 0]: Yes. + +00:06:34.740 --> 00:06:37.720 +[Speaker 1]: I think your phone, so we have your phone set + +00:06:37.720 --> 00:06:40.460 +up in case your internet misbehaves and we've + +00:06:40.640 --> 00:06:42.080 +set this up before we started, + +00:06:42.100 --> 00:06:44.380 +but I think the vibration is a little loud + +00:06:44.380 --> 00:06:46.160 +whenever it does. Can you maybe move it a + +00:06:46.160 --> 00:06:50.380 +little bit? I think so. + +00:06:50.380 --> 00:06:51.880 +It will have to vibrate again. + +00:06:47.740 --> 00:06:54.220 +[Speaker 0]: Is that okay? No, my phone... + +00:06:54.380 --> 00:06:56.880 +Okay. It shouldn't have been vibrating. + +00:06:59.480 --> 00:07:01.260 +[Speaker 1]: have been another device, + +00:07:01.280 --> 00:07:02.800 +but definitely we had vibration. + +00:07:02.800 --> 00:07:04.500 +Anyway, carry on. Sorry for the interruption. + +00:06:57.640 --> 00:07:06.920 +[Speaker 0]: It could be me. It might So number 8, + +00:07:07.800 --> 00:07:10.520 +special prefixes. There are 3 prefixes you + +00:07:10.520 --> 00:07:11.820 +can attach to path names. + +00:07:11.820 --> 00:07:13.680 +The first, if you want to load, + +00:07:13.820 --> 00:07:16.040 +instead of just finding a file, + +00:07:16.620 --> 00:07:19.460 +an ELIST file, you can actually load it. + +00:07:19.540 --> 00:07:22.060 +And so I can just hit made a return on this, + +00:07:22.200 --> 00:07:24.300 +and you see in the mini buffer, + +00:07:25.200 --> 00:07:27.100 +it loaded it as compiled e-list. + +00:07:27.240 --> 00:07:29.340 +I could put a .el on here, + +00:07:29.500 --> 00:07:33.500 +a .elc, .gz, all of that'll work, + +00:07:33.580 --> 00:07:36.420 +and just put a dash in front to load it. + +00:07:36.580 --> 00:07:38.720 +If you want to run a shell command, + +00:07:38.720 --> 00:07:41.040 +just put an exclamation mark in front of + +00:07:41.040 --> 00:07:42.540 +something and again you can have the + +00:07:42.540 --> 00:07:44.620 +environment variable. So here we're saying + +00:07:44.620 --> 00:07:47.220 +run the program date and you see, + +00:07:48.400 --> 00:07:50.040 +let's see, let's do it again. + +00:07:50.160 --> 00:07:53.240 +There we go. It ran date and you see the + +00:07:53.240 --> 00:07:55.680 +output right there. And what if you want to + +00:07:55.680 --> 00:07:58.040 +run a graphical program on your system? + +00:07:58.620 --> 00:08:01.760 +Well here, we want to open a PDF file and I'm + +00:08:01.760 --> 00:08:05.340 +just using XDG Open on Linux, + +00:08:05.660 --> 00:08:09.440 +you could use Open on Mac and you just put an + +00:08:09.440 --> 00:08:12.840 +ampersand in front and there's the Hyperbole + +00:08:14.120 --> 00:08:15.840 +manual instantly displayed. + +00:08:16.120 --> 00:08:18.620 +So lots of power there and all of that + +00:08:18.820 --> 00:08:22.360 +actually .pdf's and many other file types are + +00:08:22.360 --> 00:08:25.080 +automatically linked to various programs by + +00:08:25.080 --> 00:08:27.340 +Hyperbole. So you could just use the path + +00:08:27.340 --> 00:08:29.340 +name itself and it would probably behave the + +00:08:29.340 --> 00:08:34.440 +same way. Number 7, bookmarks on steroids. + +00:08:35.460 --> 00:08:37.419 +So Hyperbole gives you a personal button + +00:08:37.419 --> 00:08:40.340 +file, which is on the menu you see here under + +00:08:40.400 --> 00:08:42.280 +button files, and then personal. + +00:08:43.039 --> 00:08:45.360 +So here we'll just display it. + +00:08:45.480 --> 00:08:47.720 +And you can put whatever you want in here, + +00:08:47.720 --> 00:08:49.860 +these implicit buttons of any type. + +00:08:49.860 --> 00:08:52.660 +You can name them the way here and you can + +00:08:52.660 --> 00:08:55.560 +activate either the name with MetaReturn or + +00:08:55.560 --> 00:08:56.920 +the button itself. So, + +00:08:56.920 --> 00:08:59.400 +of course, if we did MetaReturn here, + +00:08:59.860 --> 00:09:03.220 +we'd just display that in a web browser. + +00:09:03.940 --> 00:09:05.520 +I'll just do a few of these. + +00:09:05.540 --> 00:09:07.200 +So here's a section of line. + +00:09:07.200 --> 00:09:08.580 +Let's just jump there. + +00:09:09.120 --> 00:09:11.400 +But these can be all sorts of different + +00:09:11.400 --> 00:09:13.140 +actions that are going on. + +00:09:13.140 --> 00:09:16.040 +And you just, whatever cross references you + +00:09:16.040 --> 00:09:17.840 +want, you put in here. + +00:09:17.840 --> 00:09:20.400 +And the neat thing is that this then becomes + +00:09:20.940 --> 00:09:23.420 +a list of what we call global buttons. + +00:09:23.620 --> 00:09:26.540 +So when I go into the menu and I go control + +00:09:26.540 --> 00:09:30.640 +HHGA to activate a global button, + +00:09:30.720 --> 00:09:33.220 +you can see that all the names from this file + +00:09:33.220 --> 00:09:36.100 +appear here. So only the name buttons appear, + +00:09:36.160 --> 00:09:40.240 +and I could like go to the hyperbole to-do + +00:09:40.240 --> 00:09:42.260 +list and things like that. + +00:09:42.500 --> 00:09:45.660 +So very, very quick access to all your + +00:09:45.660 --> 00:09:47.440 +information whenever you need it. + +00:09:47.440 --> 00:09:49.600 +And that could be an org file as well if you + +00:09:49.600 --> 00:09:53.500 +prefer that. So we just took care of that. + +00:09:53.540 --> 00:09:57.000 +Number 6, instant test case running and + +00:09:57.000 --> 00:09:59.420 +debugging. This is a fairly new feature. + +00:10:00.100 --> 00:10:02.240 +What we're seeing here is a pre-release of + +00:10:02.240 --> 00:10:04.440 +version 9, which should be out within the + +00:10:04.440 --> 00:10:07.560 +next week. But the instructions at the + +00:10:07.560 --> 00:10:10.680 +beginning of the presentation tell you how to + +00:10:10.680 --> 00:10:13.720 +get the development version of HyperBlade, + +00:10:14.040 --> 00:10:15.560 +which is right now 8.01 + +00:10:15.880 --> 00:10:19.040 +pre, but that's virtually the same as what 9 + +00:10:19.120 --> 00:10:23.060 +will be. So you can grab that as of today. + +00:10:24.140 --> 00:10:27.540 +So let's just jump to a test file. + +00:10:27.700 --> 00:10:30.300 +What you see here is called an explicit + +00:10:30.360 --> 00:10:33.020 +button. You can actually make buttons where + +00:10:33.120 --> 00:10:35.820 +similar to org, where you just see a bit of + +00:10:35.820 --> 00:10:38.500 +the button and all of the metadata is hidden. + +00:10:39.060 --> 00:10:42.040 +I can say control A J and I see all about + +00:10:42.040 --> 00:10:43.940 +that button, exactly what it's going to do + +00:10:43.940 --> 00:10:47.200 +before I activate it and even who created it + +00:10:47.200 --> 00:10:50.680 +or last modified it. Then just queue out of + +00:10:50.680 --> 00:10:52.580 +here and you're back where you were. + +00:10:52.700 --> 00:10:56.820 +So now, what this did is link us to an ERT + +00:10:56.920 --> 00:10:59.920 +test. If you write tests in Emacs, + +00:10:59.920 --> 00:11:02.060 +you probably use ERT tests. + +00:11:02.220 --> 00:11:05.220 +So if I hit made a return on here it'll just + +00:11:05.220 --> 00:11:08.520 +run the test tell me it passed great okay but + +00:11:08.520 --> 00:11:11.760 +maybe I had a problem so let me use control + +00:11:11.760 --> 00:11:17.080 +you made a return and that will e-debug the + +00:11:17.080 --> 00:11:20.080 +test instantly. So now I'll step through it + +00:11:20.080 --> 00:11:22.200 +and it says, well, let's, + +00:11:23.000 --> 00:11:25.580 +this single line actually creates that + +00:11:25.580 --> 00:11:27.800 +explicit button. You see we have an empty + +00:11:27.800 --> 00:11:29.480 +buffer here that we're in. + +00:11:29.480 --> 00:11:31.780 +Now I step through that and now there's the + +00:11:31.780 --> 00:11:34.160 +explicit button that got put in there. + +00:11:34.160 --> 00:11:36.940 +Now the next line I step through it and this + +00:11:36.940 --> 00:11:39.160 +is going to check if we have the right action + +00:11:39.160 --> 00:11:42.260 +type and it returns true so that's good and + +00:11:42.260 --> 00:11:45.220 +now we should be it should be associated with + +00:11:45.220 --> 00:11:48.680 +the temp buffer returns true good And that's + +00:11:48.680 --> 00:11:51.360 +why what you saw before is this passed. + +00:11:51.720 --> 00:11:52.760 +The whole thing passed. + +00:11:53.000 --> 00:11:54.740 +So lots of power there. + +00:11:55.080 --> 00:11:57.600 +Simple to use. You're just using your made a + +00:11:57.600 --> 00:11:59.360 +return and prefix arguments. + +00:12:00.040 --> 00:12:03.240 +It's something everybody who develops should + +00:12:03.240 --> 00:12:07.640 +have. So number, let's go on. + +00:12:07.640 --> 00:12:09.720 +I think we're making pretty good time here, + +00:12:09.720 --> 00:12:11.240 +but I turned off my timer. + +00:12:13.000 --> 00:12:15.800 +Let's go to number 5. This is a very new + +00:12:15.800 --> 00:12:17.660 +feature, which is very cool too. + +00:12:17.720 --> 00:12:20.420 +You used to have to use the mouse probably + +00:12:20.440 --> 00:12:23.880 +and you could drag across windows to go from + +00:12:23.880 --> 00:12:26.820 +a source to a referent buffer and that would + +00:12:26.820 --> 00:12:28.340 +create a hyperlink for you. + +00:12:28.340 --> 00:12:30.880 +But now we've installed it and made it even + +00:12:30.880 --> 00:12:34.140 +easier on, we've installed it on a, + +00:12:34.860 --> 00:12:36.540 +on the hyperbole menus. + +00:12:37.040 --> 00:12:40.180 +So let's just go back to our presentation + +00:12:40.680 --> 00:12:43.660 +here and say we want to link to this line + +00:12:43.660 --> 00:12:46.160 +that we're on there. And I'll just create the + +00:12:46.160 --> 00:12:48.480 +button in our scratch buffer here so it + +00:12:48.480 --> 00:12:50.660 +doesn't really mess anything up. + +00:12:50.900 --> 00:12:53.980 +So I just put my point in where I want the + +00:12:53.980 --> 00:12:56.920 +button to appear and then I put point where I + +00:12:56.920 --> 00:13:00.060 +want it to link to in the other the other + +00:13:00.060 --> 00:13:02.800 +buffer and then I just say control HH to get + +00:13:02.800 --> 00:13:05.260 +my menu, I for implicit button, + +00:13:05.380 --> 00:13:07.940 +and then L for link. Boom, + +00:13:07.960 --> 00:13:09.980 +it inserts it, right at point. + +00:13:10.680 --> 00:13:12.880 +What did it do? It knew that this was in the + +00:13:12.880 --> 00:13:15.080 +hyperbole directory and I have a variable for + +00:13:15.080 --> 00:13:17.780 +that, so that if you sent this link to your + +00:13:17.780 --> 00:13:19.180 +friend who uses Hyperbole, + +00:13:19.440 --> 00:13:21.440 +it would still work right because they have a + +00:13:21.440 --> 00:13:22.860 +different hyperbole there. + +00:13:23.100 --> 00:13:27.380 +And then I want to go directly to line 116. + +00:13:28.360 --> 00:13:30.360 +So boom, it just took me there. + +00:13:30.820 --> 00:13:33.900 +So that's it. And Hyperbole is doing all this + +00:13:33.900 --> 00:13:36.420 +for you. You just say I want a link to this + +00:13:36.420 --> 00:13:38.940 +thing and it figures out what's at point and + +00:13:38.940 --> 00:13:42.240 +it determines the right type of implicit link + +00:13:42.240 --> 00:13:45.520 +to put there. And that's the whole point is + +00:13:45.520 --> 00:13:47.320 +that you're just working like when you're + +00:13:47.320 --> 00:13:50.500 +programming or you're writing an article and + +00:13:50.500 --> 00:13:53.520 +you just hit made a return or or pull up a + +00:13:53.520 --> 00:13:57.180 +menu and hit a key binding and you're off to + +00:13:57.180 --> 00:14:02.400 +the races. So that was implicit linking We + +00:14:02.400 --> 00:14:05.260 +can also create those explicit link buttons, + +00:14:06.200 --> 00:14:07.760 +and as well as the global link, + +00:14:07.760 --> 00:14:09.580 +where we would just give it a name, + +00:14:09.580 --> 00:14:11.640 +and it would automatically put it in our + +00:14:11.640 --> 00:14:14.640 +global button file without us even having + +00:14:14.640 --> 00:14:18.380 +that on screen. So lots of power there as + +00:14:18.380 --> 00:14:19.660 +well, lots of consistency. + +00:14:21.900 --> 00:14:25.040 +Now let's take a look at the K Outliner a + +00:14:25.040 --> 00:14:28.040 +little more. I'm just going to show you 1 + +00:14:28.040 --> 00:14:29.820 +feature actually. I don't have time to show + +00:14:29.820 --> 00:14:31.580 +you the K Outliner in detail, + +00:14:31.800 --> 00:14:34.220 +but it's a really cool structured outliner + +00:14:34.280 --> 00:14:36.400 +that even if you love Org Mode, + +00:14:36.580 --> 00:14:39.280 +you should try it. And this is 1 thing that + +00:14:39.280 --> 00:14:41.060 +you can't get with Org Mode, + +00:14:41.320 --> 00:14:45.100 +is let's say Hyperlink comes with an example + +00:14:45.100 --> 00:14:48.580 +file which teaches you about the K Outliner. + +00:14:48.960 --> 00:14:50.940 +So we'll just use that right here. + +00:14:51.180 --> 00:14:53.040 +And when you're in the K Outliner, + +00:14:53.080 --> 00:14:55.820 +you can bring up and go into the K Outliner + +00:14:55.900 --> 00:14:57.540 +menu right here at the bottom. + +00:14:58.200 --> 00:15:00.360 +And there's a format menu there. + +00:15:00.360 --> 00:15:02.600 +You always take the first letter of a menu, + +00:15:02.600 --> 00:15:05.100 +the first capital letter of a menu item. + +00:15:05.240 --> 00:15:08.720 +So F for format and then D for display in + +00:15:08.720 --> 00:15:11.700 +browser. So just let's do it. + +00:15:12.740 --> 00:15:17.220 +We have with 1 button or 1 key we've produced + +00:15:17.780 --> 00:15:23.660 +the entire outline in a collapsible outline + +00:15:23.720 --> 00:15:26.260 +in HTML. So I can go here. + +00:15:27.620 --> 00:15:29.240 +I just have to use my mouse. + +00:15:29.600 --> 00:15:33.300 +So I can expand and collapse these trees live + +00:15:34.220 --> 00:15:39.520 +with very basic coding. + +00:15:39.760 --> 00:15:42.680 +We tried to keep this as simple as possible. + +00:15:42.880 --> 00:15:45.580 +But you see it maintains the structure of the + +00:15:45.580 --> 00:15:47.880 +outline and even tables. + +00:15:55.120 --> 00:15:57.620 +So all the formatting is maintained and again + +00:15:57.620 --> 00:16:00.100 +it's instant. Or you can just export it to a + +00:16:00.100 --> 00:16:01.920 +file without displaying it. + +00:16:03.900 --> 00:16:05.880 +Very efficient kinds of operations. + +00:16:06.420 --> 00:16:10.960 +So that was number 4. Number 3 is a + +00:16:10.960 --> 00:16:13.400 +subsystem, another subsystem in Hyperbole + +00:16:13.440 --> 00:16:16.080 +called Hycontrol, which is for window and + +00:16:16.080 --> 00:16:18.600 +frame management. And I just wanted to show + +00:16:18.600 --> 00:16:20.920 +you 1 thing in there. It's got a lot of + +00:16:20.920 --> 00:16:24.400 +capabilities. But I always had the problem + +00:16:24.480 --> 00:16:28.340 +that Emacs wouldn't let me scale my fonts, + +00:16:28.380 --> 00:16:30.780 +all of my faces at the same time. + +00:16:30.840 --> 00:16:33.680 +I wanted to zoom. I didn't want to increase + +00:16:33.680 --> 00:16:36.260 +the default font size and all the others stay + +00:16:36.260 --> 00:16:40.660 +the same. So let's just display our faces + +00:16:41.260 --> 00:16:45.200 +right here and then we have a choice of + +00:16:45.200 --> 00:16:47.860 +either controlling frames or windows. + +00:16:47.920 --> 00:16:50.240 +So let's start by controlling frames. + +00:16:50.460 --> 00:16:52.760 +So you get another submenu when you're in + +00:16:52.760 --> 00:16:56.020 +high control to tell you what to do here. + +00:16:56.320 --> 00:16:59.480 +And there's just lowercase z and uppercase z. + +00:16:59.480 --> 00:17:03.400 +So let's try it. So it's scaling the entire + +00:17:03.400 --> 00:17:06.020 +frame. And you can see from the list of faces + +00:17:06.260 --> 00:17:08.500 +that they're all scaling at the same time. + +00:17:08.599 --> 00:17:10.220 +And I can go back down. + +00:17:10.760 --> 00:17:13.619 +Now if I switch to window mode, + +00:17:13.619 --> 00:17:16.099 +and there's a special fast way to do that, + +00:17:16.099 --> 00:17:18.819 +just hit T to toggle. And if you look at the + +00:17:18.819 --> 00:17:21.819 +bottom menu it says frames right now now it + +00:17:21.819 --> 00:17:25.599 +says windows when I hit T so now if I do the + +00:17:25.599 --> 00:17:30.640 +same Z to increase it's just this window and + +00:17:30.640 --> 00:17:36.800 +but it's you know it's the faces in there so + +00:17:37.200 --> 00:17:40.680 +a lot of power again but I just haven't found + +00:17:40.680 --> 00:17:43.220 +anywhere else that you can get that kind of + +00:17:43.220 --> 00:17:45.820 +control over your faces very rapidly. + +00:17:45.920 --> 00:17:51.640 +So that's number 3. Now number 2, + +00:17:55.360 --> 00:17:56.780 +let's put that in there. + +00:17:58.340 --> 00:18:03.320 +So the HiROLO is the final subsystem in + +00:18:03.320 --> 00:18:06.240 +Hyperbole and this has gotten much cooler. + +00:18:06.500 --> 00:18:08.680 +So it started off as a contact management + +00:18:08.680 --> 00:18:11.540 +system, but it's really just a hierarchical + +00:18:11.880 --> 00:18:15.060 +record management system that lets you have + +00:18:15.060 --> 00:18:18.020 +as many files, directories as you want, + +00:18:18.120 --> 00:18:20.280 +and you can search across all of them without + +00:18:20.280 --> 00:18:23.240 +any external utilities necessary, + +00:18:23.960 --> 00:18:26.240 +just what's built into Emacs and Hyperlink. + +00:18:26.760 --> 00:18:29.920 +So as you can see, we've expanded it to + +00:18:29.920 --> 00:18:31.820 +handle org files, markdown, + +00:18:32.300 --> 00:18:34.620 +K outlines, Emacs outlines. + +00:18:34.780 --> 00:18:36.820 +So what I'm going to do is just say, + +00:18:36.820 --> 00:18:40.680 +I want to search using my Hyberlo file list. + +00:18:40.680 --> 00:18:43.140 +You just set that to what you wanted to + +00:18:43.140 --> 00:18:44.820 +search. But now you have all this + +00:18:44.820 --> 00:18:46.520 +flexibility. You can use environment + +00:18:46.620 --> 00:18:48.840 +variables in it. You can just specify a + +00:18:48.840 --> 00:18:51.340 +directory and it will find all those matching + +00:18:51.340 --> 00:18:53.540 +files below that directory recursively. + +00:18:55.240 --> 00:18:58.460 +You can give it the markdown file here and + +00:18:58.460 --> 00:19:01.160 +you can use file wildcards as well. + +00:19:01.160 --> 00:19:04.340 +I mean, look at this. It's got a list + +00:19:04.340 --> 00:19:06.140 +variable in it and a wildcard, + +00:19:06.540 --> 00:19:09.840 +and it's just all I'm gonna do is I change + +00:19:09.840 --> 00:19:13.380 +this from a Lisp expression to make it a + +00:19:13.380 --> 00:19:15.380 +hyper button. You just change the outer + +00:19:15.380 --> 00:19:16.920 +parens to angle brackets, + +00:19:17.120 --> 00:19:19.620 +and then it's automatically an implicit + +00:19:21.040 --> 00:19:22.840 +button that you can activate with made a + +00:19:22.840 --> 00:19:26.340 +return so just ran that and now I've set my + +00:19:26.800 --> 00:19:29.440 +file list so now let's do a search it would + +00:19:29.440 --> 00:19:34.620 +be ctrl H H roll it X R and then S for search + +00:19:34.820 --> 00:19:36.680 +But I'll just do it this way. + +00:19:37.200 --> 00:19:40.320 +And boom, it found everything that fast. + +00:19:41.060 --> 00:19:42.940 +And I can just get like, + +00:19:43.180 --> 00:19:45.520 +show the top items in there. + +00:19:45.520 --> 00:19:48.260 +So I kind of have outlining in this buffer. + +00:19:48.340 --> 00:19:51.940 +I can just move to each match that I hit. + +00:19:51.980 --> 00:19:53.680 +And notice, although everything was + +00:19:53.680 --> 00:19:55.580 +collapsed, it's expanding here. + +00:19:55.640 --> 00:19:58.540 +When I move in and out of each of the entry + +00:19:58.540 --> 00:20:02.380 +matches, it expands or collapses as I move to + +00:20:02.380 --> 00:20:06.220 +the next 1. So a lot of power there. + +00:20:06.820 --> 00:20:09.120 +What else? So just tabbing through these + +00:20:09.120 --> 00:20:11.200 +things. And you notice that it's working + +00:20:11.200 --> 00:20:13.300 +across all of these different types, + +00:20:13.340 --> 00:20:16.220 +and it's telling you which file everything + +00:20:16.360 --> 00:20:17.840 +came from right up here. + +00:20:17.840 --> 00:20:19.940 +So I could just made a return here, + +00:20:20.220 --> 00:20:23.500 +should work. Yes, revisit the file normally. + +00:20:23.800 --> 00:20:25.760 +And it just pulls it right up. + +00:20:25.920 --> 00:20:28.400 +So everything is live and hyperbole. + +00:20:28.580 --> 00:20:30.120 +You've got hyperlinks everywhere. + +00:20:31.300 --> 00:20:33.740 +Let's just get rid of that. + +00:20:34.020 --> 00:20:41.600 +Go back to our demo. So if you are fans of + +00:20:41.600 --> 00:20:46.560 +Vertico and Consult, you can now use that + +00:20:46.560 --> 00:20:49.300 +with the High Rollo. So all you have to do is + +00:20:49.300 --> 00:20:51.440 +let's just format our windows, + +00:20:51.760 --> 00:20:55.720 +and then I'll say, let's use ConsultGrep over + +00:20:55.720 --> 00:20:58.880 +the Rolodex. Now, it found all the matches + +00:20:58.940 --> 00:21:02.060 +there, and I can just move live through them + +00:21:02.220 --> 00:21:04.640 +in the buffer like you may be used to or I + +00:21:04.640 --> 00:21:08.600 +can filter back down and say using orderless + +00:21:10.240 --> 00:21:13.700 +joystick or anything that has joy in it just + +00:21:13.700 --> 00:21:17.160 +match to those lines and then I can you know + +00:21:17.160 --> 00:21:20.020 +either jump there or quit out of here. + +00:21:20.020 --> 00:21:22.080 +I'll just quit out of it right now. + +00:21:22.540 --> 00:21:25.240 +So very cool. And all of that is using + +00:21:25.240 --> 00:21:28.640 +whatever you personally set as the set of + +00:21:28.640 --> 00:21:30.560 +files and directories you want to search. + +00:21:31.380 --> 00:21:35.940 +And finally, our number 1 feature of + +00:21:35.940 --> 00:21:40.440 +Hyperbole is you can customize this to give + +00:21:40.440 --> 00:21:43.460 +you these kinds of implicit buttons, + +00:21:44.660 --> 00:21:46.080 +whatever kind you want. + +00:21:46.560 --> 00:21:49.140 +And there are 3 levels of doing this. + +00:21:49.540 --> 00:21:51.140 +The first is for non-programmers. + +00:21:51.900 --> 00:21:53.700 +You can just set a string, + +00:21:54.400 --> 00:21:57.040 +like a URL with a parameter in it. + +00:21:57.180 --> 00:21:59.440 +So the %s represents the parameter, + +00:21:59.680 --> 00:22:01.440 +and This is how you do a search on + +00:22:01.440 --> 00:22:04.060 +DuckDuckGo. So all I have to do is evaluate + +00:22:04.320 --> 00:22:07.180 +this defal for action link. + +00:22:07.800 --> 00:22:11.020 +And now I have a new implicit button type + +00:22:11.040 --> 00:22:13.380 +that I can put between angle brackets. + +00:22:13.740 --> 00:22:15.640 +And I just give it that name, + +00:22:16.020 --> 00:22:18.000 +DDG, and some parameter, + +00:22:18.280 --> 00:22:20.040 +whatever I want to search for, + +00:22:20.080 --> 00:22:23.040 +and this is a button that does that search. + +00:22:25.320 --> 00:22:28.680 +Very cool, right? So you can embed these. + +00:22:28.680 --> 00:22:31.040 +This could be a hyperlink in, + +00:22:32.140 --> 00:22:35.120 +you know, a comment in a programming file. + +00:22:35.320 --> 00:22:38.160 +Anything on the entire web that you want to + +00:22:38.160 --> 00:22:42.320 +link to, whatever kind of compact notation + +00:22:42.840 --> 00:22:44.800 +you want to give it. So that's what we're + +00:22:44.800 --> 00:22:47.140 +going to learn as we get more advanced here + +00:22:47.140 --> 00:22:49.400 +you can give it even more compact notations. + +00:22:49.840 --> 00:22:52.380 +So as you get more advanced you can say, + +00:22:52.380 --> 00:22:54.240 +well I don't like this angle bracket, + +00:22:54.240 --> 00:22:57.020 +I want to have an implicit button that uses + +00:22:57.280 --> 00:22:59.620 +these square brackets and then an angle + +00:22:59.620 --> 00:23:02.080 +bracket inside it. So then you need the + +00:23:02.080 --> 00:23:05.200 +defile for implicit link. + +00:23:06.040 --> 00:23:08.860 +This lets you specify your start and end + +00:23:08.860 --> 00:23:12.180 +delimiters for your new type and and then you + +00:23:12.180 --> 00:23:14.840 +can give it a function that you wanted to run + +00:23:15.040 --> 00:23:18.320 +and that will take the text of whatever is in + +00:23:18.320 --> 00:23:19.780 +the button, in this case, + +00:23:19.900 --> 00:23:23.760 +test release here, and feed it to the + +00:23:23.760 --> 00:23:26.080 +function that I gave here. + +00:23:26.080 --> 00:23:29.540 +So what this function does is grep over my + +00:23:29.540 --> 00:23:33.420 +git log and find any commits that include the + +00:23:33.420 --> 00:23:35.360 +term test release in it. + +00:23:35.360 --> 00:23:38.200 +So let's try it. First I have to add the + +00:23:38.200 --> 00:23:41.740 +button type and that's all it takes and it + +00:23:41.740 --> 00:23:44.800 +defined it now. So anywhere in Emacs now I + +00:23:44.800 --> 00:23:46.920 +can use this button type essentially. + +00:23:47.180 --> 00:23:48.980 +So let me try to activate it. + +00:23:49.200 --> 00:23:52.760 +Okay, and it says yeah let's save it. + +00:23:53.080 --> 00:23:55.940 +Okay so now it's running a git log command. + +00:23:56.320 --> 00:23:59.440 +It found all the commits and now of course if + +00:23:59.440 --> 00:24:02.980 +I had made a return on this commit it + +00:24:02.980 --> 00:24:05.500 +recognizes it as an implicit link, + +00:24:05.680 --> 00:24:09.300 +and if I search for what was a test release, + +00:24:09.600 --> 00:24:11.960 +there it is. So this commit had that in + +00:24:11.960 --> 00:24:14.180 +there. So all these matches, + +00:24:14.180 --> 00:24:16.280 +so I don't know how other people do this, + +00:24:16.280 --> 00:24:20.040 +but for me this makes it a lot simpler. + +00:24:21.280 --> 00:24:24.800 +So a lot of power that any programmer can + +00:24:24.800 --> 00:24:27.500 +use. And finally, if you've mastered Emacs + +00:24:27.500 --> 00:24:29.360 +Lisp, or you're starting to, + +00:24:29.440 --> 00:24:33.740 +you can look in the hib types file in + +00:24:33.740 --> 00:24:37.320 +Hyperbole and see all sorts of uses of defib, + +00:24:37.500 --> 00:24:39.440 +which is defined implicit button. + +00:24:39.660 --> 00:24:42.660 +And that's the full power of e-LISP when you + +00:24:42.660 --> 00:24:45.060 +want to define 1. So what we're going to do + +00:24:45.060 --> 00:24:46.780 +here is I wanted to know, + +00:24:47.080 --> 00:24:49.700 +given a date, what the day of the week is. + +00:24:49.900 --> 00:24:53.040 +And because the date primitives weren't quite + +00:24:53.040 --> 00:24:54.640 +written the way I might like, + +00:24:55.080 --> 00:24:57.520 +it's a little longer than some. + +00:24:57.520 --> 00:25:00.400 +But I'm just going to evaluate this list. + +00:25:00.720 --> 00:25:06.100 +And I've now defined DOW as an action type. + +00:25:06.140 --> 00:25:08.500 +Now, how do I know I'm doing that? + +00:25:08.500 --> 00:25:10.700 +So I can always say Control-H, + +00:25:11.000 --> 00:25:13.580 +capital A here to see what a button's going + +00:25:13.580 --> 00:25:15.840 +to do. And it tells me When I'm there, + +00:25:15.840 --> 00:25:18.140 +I'm at a hyperbole button, + +00:25:18.400 --> 00:25:23.440 +and the type is from category DOW. + +00:25:24.000 --> 00:25:25.120 +And what's it gonna do? + +00:25:25.120 --> 00:25:27.420 +It takes a mark, it's gonna do a message + +00:25:27.440 --> 00:25:29.880 +action. Okay, so let's try it. + +00:25:31.300 --> 00:25:32.800 +It tells me that's a date, + +00:25:32.800 --> 00:25:34.220 +and it falls on a Sunday, + +00:25:34.220 --> 00:25:35.820 +which is today. That's correct. + +00:25:36.100 --> 00:25:39.020 +So 2 days from today is a Tuesday. + +00:25:39.800 --> 00:25:43.400 +Beautiful. So we've just totally transformed + +00:25:44.840 --> 00:25:46.860 +what we can do with text. + +00:25:46.980 --> 00:25:48.900 +You notice there's no markup here. + +00:25:49.000 --> 00:25:53.440 +And this is working with all of the other + +00:25:53.440 --> 00:25:55.600 +implicit types that we have everywhere in + +00:25:55.600 --> 00:25:57.920 +Emacs. It's only going to match to this kind + +00:25:57.920 --> 00:26:00.560 +of pattern and anywhere else, + +00:26:00.720 --> 00:26:02.820 +you know, it just won't trigger that type. + +00:26:03.460 --> 00:26:06.480 +So lots of power. You just need to get + +00:26:06.480 --> 00:26:07.700 +started with Hyperbole. + +00:26:07.960 --> 00:26:10.860 +There's great documentation both inside the + +00:26:10.860 --> 00:26:12.180 +code and in the manual. + +00:26:12.520 --> 00:26:15.460 +There's a fast demo that you can start with + +00:26:15.520 --> 00:26:17.800 +and there's about 10 different videos. + +00:26:18.260 --> 00:26:21.220 +There'll be 3 presentations on hyperbole here + +00:26:21.560 --> 00:26:25.660 +at the conference, and I hope you've enjoyed + +00:26:25.760 --> 00:26:28.200 +this presentation. I'd love to answer your + +00:26:28.200 --> 00:26:31.200 +questions and get some new users for + +00:26:31.200 --> 00:26:36.040 +Hyperbole. So lastly, I'd like to thank my + +00:26:36.040 --> 00:26:38.040 +co-maintainer, Matt, who's going to speak + +00:26:38.040 --> 00:26:42.040 +later about the extensive test protocols we + +00:26:42.040 --> 00:26:45.920 +have in Hyperbole. Hyperbole works on every + +00:26:46.120 --> 00:26:47.860 +version of Emacs from 27.1 + +00:26:48.480 --> 00:26:52.600 +up, and every operating system and Windows + +00:26:52.600 --> 00:26:56.120 +system that you use. And thanks so much to + +00:26:56.120 --> 00:26:58.680 +the volunteers and the speakers at EmacsConf. + +00:26:59.200 --> 00:27:02.000 +You do a great job, and we're all really + +00:27:02.000 --> 00:27:04.400 +appreciative that you take all the time that + +00:27:04.400 --> 00:27:06.240 +you do to make this happen. + +00:27:06.540 --> 00:27:07.620 +Thank you very much. + +00:27:09.960 --> 00:27:11.400 +[Speaker 1]: And thank you so much Bob. + +00:27:11.400 --> 00:27:14.680 +So I'll let you do the gymnastics to join us + +00:27:14.680 --> 00:27:16.440 +back on BBB and put your webcam. + +00:27:17.020 --> 00:27:18.840 +In the meantime, I'll invite people, + +00:27:19.120 --> 00:27:20.740 +as Sasha told you in the introduction, + +00:27:21.060 --> 00:27:23.600 +to go put your question in the pad. + +00:27:23.600 --> 00:27:25.900 +The link is on the talks page and also on + +00:27:25.900 --> 00:27:28.220 +IRC. So take your time. + +00:27:28.320 --> 00:27:29.900 +We've already got some people who've asked + +00:27:29.900 --> 00:27:33.060 +questions. You can also start joining the + +00:27:33.060 --> 00:27:35.140 +room. Let me just ping Sasha. + +00:27:35.540 --> 00:27:38.440 +Ping to open ID HyperAmp. + +00:27:39.280 --> 00:27:41.120 +So, you'll be able to join us on + +00:27:41.120 --> 00:27:43.260 +BigBlueButton as well to go chat with Bob + +00:27:43.260 --> 00:27:45.020 +more directly. I'm not sure if people have + +00:27:45.020 --> 00:27:46.480 +joined already. Not yet. + +00:27:50.220 --> 00:27:51.060 +So, Bob, what I'll do, + +00:27:51.060 --> 00:27:52.280 +we already have 4 questions. + +00:27:52.280 --> 00:27:54.080 +I'm gonna read them to you and you can take + +00:27:54.080 --> 00:27:54.900 +your time answering them, + +00:27:54.900 --> 00:27:57.340 +but we do have about 7 minutes until we go to + +00:27:57.340 --> 00:27:59.080 +the next talk, so we need to be a little bit + +00:28:00.420 --> 00:28:00.920 +[Speaker 0]: Okay. + +00:27:59.080 --> 00:28:03.260 +[Speaker 1]: chop-chop. All right, so reading the first + +00:28:03.260 --> 00:28:05.460 +questions, and I'm also going to display them + +00:28:05.460 --> 00:28:06.920 +for the stream to see, + +00:28:07.580 --> 00:28:09.740 +do buttons keep their metadata within the + +00:28:09.740 --> 00:28:12.380 +same file? E.g., would I see it if I change + +00:28:12.380 --> 00:28:13.940 +to fundamental mode, for instance? + +00:28:15.820 --> 00:28:19.340 +[Speaker 0]: So all of the things that I was showing you, + +00:28:19.340 --> 00:28:21.300 +implicit buttons have no metadata. + +00:28:21.900 --> 00:28:23.800 +That's the great thing about them, + +00:28:23.800 --> 00:28:27.400 +is you just type them in the buffer and what + +00:28:27.400 --> 00:28:30.020 +you see is all there is to that button and + +00:28:30.020 --> 00:28:33.300 +hyperbole generates all the smarts associated + +00:28:33.320 --> 00:28:35.780 +with them. When you create an explicit + +00:28:35.940 --> 00:28:38.680 +button, which I showed you 1 or 2 examples + +00:28:38.760 --> 00:28:42.720 +of, that metadata is, there is metadata with + +00:28:42.720 --> 00:28:45.860 +that, and that is stored in a separate file + +00:28:45.860 --> 00:28:47.860 +in the same directory called .hypb. + +00:28:49.240 --> 00:28:51.500 +So it's hidden away and it doesn't affect the + +00:28:51.500 --> 00:28:53.700 +format of the buffer that it's in. + +00:28:53.940 --> 00:28:56.540 +So again, what you see is what you get. + +00:28:56.600 --> 00:28:58.740 +You just see the delimiters around the + +00:28:58.740 --> 00:29:01.140 +explicit button and that's it. + +00:29:01.840 --> 00:29:04.500 +So Hyperbole takes care of all that for you. + +00:29:04.860 --> 00:29:08.360 +However, if you embed them into like a mail + +00:29:08.360 --> 00:29:09.440 +message, which you can, + +00:29:09.440 --> 00:29:12.180 +you can mail buttons, then there is a hidden + +00:29:12.180 --> 00:29:14.760 +area at the end of the mail message that + +00:29:14.760 --> 00:29:17.120 +encodes the metadata for the explicit + +00:29:17.120 --> 00:29:17.620 +buttons. + +00:29:19.540 --> 00:29:21.640 +[Speaker 1]: Ok, great. Next question. + +00:29:21.980 --> 00:29:24.560 +Is it possible to link to a file by its ID, + +00:29:24.720 --> 00:29:27.340 +like the node, org ID or some similar unique + +00:29:27.340 --> 00:29:28.120 +string inside? + +00:29:29.380 --> 00:29:32.620 +[Speaker 0]: Yes, In fact, that's 1 of the new features in + +00:29:33.280 --> 00:29:37.800 +9. You just made a return on an ID and it + +00:29:37.800 --> 00:29:40.780 +takes you right to the org node, + +00:29:40.840 --> 00:29:44.880 +works with org Rome and org straight out of + +00:29:44.880 --> 00:29:47.900 +the box. We're looking at ways to make it + +00:29:47.900 --> 00:29:50.040 +easier to just insert those in places, + +00:29:50.040 --> 00:29:52.840 +but since you have word keys that do that + +00:29:52.840 --> 00:29:55.600 +already, you can just insert them in any + +00:29:55.600 --> 00:29:58.360 +documents and Hyperbole will recognize them. + +00:29:58.360 --> 00:30:02.620 +I think In some cases you may need to put ID + +00:30:02.680 --> 00:30:05.400 +colon in front of the ID as well. + +00:30:05.740 --> 00:30:06.920 +Generally it works. + +00:30:08.560 --> 00:30:11.560 +[Speaker 1]: Ok, great. Moving on to the next question. + +00:30:12.120 --> 00:30:13.760 +Regarding the frames example, + +00:30:14.240 --> 00:30:16.320 +any thoughts or considerations for a + +00:30:16.320 --> 00:30:19.020 +transient interface or is this something 1 + +00:30:19.020 --> 00:30:22.280 +could already toggle? Are you familiar with + +00:30:22.280 --> 00:30:23.160 +transient interface? + +00:30:23.560 --> 00:30:26.700 +[Speaker 0]: Yes, we don't use transient because we, + +00:30:26.720 --> 00:30:30.140 +you know, Hyperbole started out in 1991, + +00:30:30.520 --> 00:30:34.300 +though it's had much much work since then so + +00:30:34.300 --> 00:30:37.940 +we predate a lot of newer things in Emacs and + +00:30:37.940 --> 00:30:41.400 +then we just use them as as they Become + +00:30:41.400 --> 00:30:45.480 +useful too hyperbole We think the The mini + +00:30:45.480 --> 00:30:46.720 +buffer menu is pretty good. + +00:30:46.720 --> 00:30:48.780 +We could rewrite stuff in transient, + +00:30:48.900 --> 00:30:51.600 +but we haven't seen the need yet. + +00:30:52.760 --> 00:30:54.960 +Maybe high control, that might be a good + +00:30:54.960 --> 00:30:58.480 +candidate, because there are so many keys in + +00:30:58.480 --> 00:31:00.480 +it. So we'll think about that. + +00:31:00.480 --> 00:31:03.060 +But it would be a while before we got to it. + +00:31:04.780 --> 00:31:07.120 +[Speaker 1]: Right. Moving on to the next question. + +00:31:07.120 --> 00:31:08.760 +Sorry I got really confused because there's a + +00:31:08.760 --> 00:31:10.620 +French salut, you know, + +00:31:10.660 --> 00:31:12.940 +in the text of it. Is someone saying hi to me + +00:31:12.940 --> 00:31:14.380 +or something? All right, + +00:31:14.380 --> 00:31:16.960 +next question. Regarding multi-file search + +00:31:16.960 --> 00:31:22.080 +functionality, why not implement it within + +00:31:22.080 --> 00:31:24.920 +the existing framework of MetaX grep or + +00:31:24.920 --> 00:31:26.180 +similar built-in commands? + +00:31:26.360 --> 00:31:28.620 +Yet another search interface sounds a bit + +00:31:28.620 --> 00:31:29.120 +redundant. + +00:31:30.920 --> 00:31:34.120 +[Speaker 0]: Multi-file search, so HiRolo I guess you're + +00:31:34.120 --> 00:31:36.380 +talking about. I think what you missed there + +00:31:36.380 --> 00:31:39.440 +is that High Rollo matches to records, + +00:31:40.080 --> 00:31:42.860 +multi-line records, so it's not a + +00:31:42.860 --> 00:31:45.360 +line-oriented match, it's a record-oriented + +00:31:45.820 --> 00:31:50.760 +match. So Grep, you can say maybe give me 3 + +00:31:50.760 --> 00:31:52.960 +lines of context, but what if I have a + +00:31:52.960 --> 00:31:56.100 +20-line record? I want to see the whole + +00:31:56.100 --> 00:31:59.060 +thing. And so, it's a full-text search + +00:31:59.060 --> 00:32:03.480 +interface, which lets you have any size + +00:32:04.220 --> 00:32:07.260 +entries or nodes in the match buffer. + +00:32:07.540 --> 00:32:10.760 +So that's 1 reason. MADAX grep works with + +00:32:10.760 --> 00:32:13.260 +hyperbole. I mean, you use it if you want and + +00:32:13.260 --> 00:32:16.080 +then you can hit MADA return on grep lines. + +00:32:16.480 --> 00:32:20.140 +So we basically take everything from POSIX + +00:32:20.320 --> 00:32:24.920 +and everything in Emacs and we try to make a + +00:32:24.920 --> 00:32:26.680 +lot of it simpler to use. + +00:32:26.680 --> 00:32:28.960 +We don't take away any of the functionality, + +00:32:29.480 --> 00:32:31.040 +we just augment it. + +00:32:32.780 --> 00:32:35.200 +[Speaker 1]: Right, and I think that's the logic for a lot + +00:32:35.200 --> 00:32:36.300 +of the packages, you know, + +00:32:36.300 --> 00:32:38.440 +the philosophy is just you create your little + +00:32:38.440 --> 00:32:40.280 +bit, your little island where you do your + +00:32:40.280 --> 00:32:42.160 +stuff. And if you can resonate with other + +00:32:42.160 --> 00:32:43.280 +islands so much the better. + +00:32:43.280 --> 00:32:45.600 +And it feels like between those islands, + +00:32:45.700 --> 00:32:48.380 +you know, hyperbole is a great way to connect + +00:32:48.380 --> 00:32:49.980 +things that are just text. + +00:32:50.140 --> 00:32:51.880 +So it's always been a lovely philosophy. + +00:32:52.200 --> 00:32:53.620 +There's always been a lovely philosophy + +00:32:53.620 --> 00:32:54.360 +behind it. + +00:32:55.240 --> 00:32:58.200 +[Speaker 0]: 1 other point I'd make there is that the + +00:32:58.200 --> 00:33:01.460 +Hyrolo also contains logical search + +00:33:01.460 --> 00:33:04.940 +operators. So when I typed in that string you + +00:33:04.940 --> 00:33:07.360 +could just as well type with like Lisp + +00:33:07.360 --> 00:33:09.140 +expressions, semi Lisp expressions. + +00:33:09.480 --> 00:33:13.460 +You can say open paren and word 1, + +00:33:13.940 --> 00:33:17.240 +word 2, close paren. You know you can have or + +00:33:17.240 --> 00:33:22.360 +and XOR and not and it'll do the search and + +00:33:22.360 --> 00:33:24.260 +just retrieve the entries, + +00:33:24.720 --> 00:33:27.620 +again, multi-line entries that match all of + +00:33:27.620 --> 00:33:29.660 +the criteria that you specified there. + +00:33:29.760 --> 00:33:31.120 +So that's fairly unique, + +00:33:31.120 --> 00:33:33.320 +I think. So you basically got a full text + +00:33:33.320 --> 00:33:35.840 +search platform with logical operators, + +00:33:36.380 --> 00:33:38.580 +instantly, you know, fast moving, + +00:33:38.680 --> 00:33:42.720 +rapid keys that you can control everything + +00:33:42.720 --> 00:33:45.280 +with and it's all integrated into this larger + +00:33:45.280 --> 00:33:45.780 +framework. + +00:33:47.780 --> 00:33:49.060 +[Speaker 1]: Okay, great. Well, Bob, + +00:33:49.060 --> 00:33:50.520 +you have 2 more questions, + +00:33:50.820 --> 00:33:53.760 +but there's a big 1 about what inspired you + +00:33:53.760 --> 00:33:56.440 +to write it back. It's being hyperbole around + +00:33:56.440 --> 00:33:57.360 +the time of its birth, + +00:33:57.360 --> 00:33:59.680 +but sadly, we only have about 1 more minute. + +00:34:00.040 --> 00:34:01.320 +So what I'm going to ask you to do, + +00:34:01.320 --> 00:34:02.780 +feel free to answer the question. + +00:34:02.800 --> 00:34:05.220 +If you go on BBB, I've pasted the link to the + +00:34:05.220 --> 00:34:06.980 +other pad. I think you can see it on your + +00:34:08.420 --> 00:34:11.020 +[Speaker 0]: I have the ether pad up. + +00:34:06.980 --> 00:34:11.820 +[Speaker 1]: computer as well. Right, + +00:34:11.820 --> 00:34:13.100 +so what are we going to do? + +00:34:14.860 --> 00:34:16.679 +I'm Sorry, I'm just a little bit pressed by + +00:34:16.679 --> 00:34:18.280 +time because it's not me controlling when we + +00:34:18.280 --> 00:34:19.340 +move on to the next talk, + +00:34:19.340 --> 00:34:21.679 +as was evidenced yesterday when we got yonked + +00:34:21.719 --> 00:34:24.000 +to the next talk. So Bob, + +00:34:24.000 --> 00:34:25.679 +feel free to take all the time you want to + +00:34:25.679 --> 00:34:26.580 +answer questions. People, + +00:34:26.580 --> 00:34:28.360 +if you wanna join the Big Blue Button room, + +00:34:28.360 --> 00:34:30.239 +the links are available and open on the talk + +00:34:30.239 --> 00:34:31.960 +page. You can join and ask as many questions + +00:34:31.960 --> 00:34:33.679 +as you want to Bob. And for us, + +00:34:33.679 --> 00:34:35.560 +with a live stream, we'll be moving on to the + +00:34:35.560 --> 00:34:37.280 +next talk in about 30 seconds. + +00:34:37.280 --> 00:34:39.400 +So Bob, all that's left is for me to thank + +00:34:39.400 --> 00:34:41.580 +you for your presentation again this year and + +00:34:43.520 --> 00:34:44.560 +[Speaker 0]: Thank you, Leo. + +00:34:41.580 --> 00:34:45.820 +[Speaker 1]: for all your answers. All right. + +00:34:45.820 --> 00:34:47.699 +Bye bye, Bob. And we'll be moving on to the + +00:34:47.699 --> 00:34:49.080 +next talk in about 10 seconds. + +00:34:49.080 --> 00:34:53.800 +See you in a bit. All right, + +00:34:53.800 --> 00:34:56.139 +Bob, we are off air I think now. + +00:34:56.139 --> 00:34:57.720 +Thank you so much. I need to get moving for + +00:34:59.320 --> 00:35:02.320 +[Speaker 0]: Okay, is somebody gonna keep writing answers + +00:35:02.500 --> 00:35:04.540 +in here or I need to type them in? + +00:34:57.720 --> 00:35:06.260 +[Speaker 1]: the next talk. It's probably best now if you + +00:35:06.260 --> 00:35:09.440 +read the questions on your own and answer + +00:35:09.440 --> 00:35:11.040 +them. We'll collate everything together, + +00:35:11.040 --> 00:35:12.480 +we'd just like to have your answers. + +00:35:15.060 --> 00:35:17.180 +[Speaker 0]: I hope some people will join the BBB. + +00:35:19.000 --> 00:35:21.380 +[Speaker 1]: it in my... All right, + +00:35:21.380 --> 00:35:21.880 +bye-bye. + +00:35:17.780 --> 00:35:23.300 +[Speaker 0]: But I'll start. I'll put Bye-bye. + +00:35:24.220 --> 00:35:28.580 +So let me take a second here to see what + +00:35:28.580 --> 00:35:32.980 +questions we have. Did we cover that? + +00:35:36.240 --> 00:35:42.900 +OK. The point is why not upstream search + +00:35:42.980 --> 00:35:46.580 +interface? Could you clarify that question? + +00:35:46.840 --> 00:35:51.380 +I don't quite know what that means. + +00:35:51.380 --> 00:35:53.760 +So I'll go on to the next 1 and come back to + +00:35:53.760 --> 00:35:57.680 +that. Hyperlinks been around for a number of + +00:35:57.680 --> 00:35:59.820 +years now. What inspired you to write it back + +00:35:59.820 --> 00:36:01.500 +around the time of its birth? + +00:36:01.800 --> 00:36:03.140 +Well, that's a great question. + +00:36:04.700 --> 00:36:07.360 +It was born before the World Wide Web, + +00:36:07.360 --> 00:36:09.300 +actually. And it was right before. + +00:36:10.120 --> 00:36:13.100 +I remember we were in the midst of a version + +00:36:13.840 --> 00:36:16.300 +when the first version of the web occurred. + +00:36:16.560 --> 00:36:19.840 +And I was thinking that there was going to be + +00:36:19.840 --> 00:36:22.700 +an information explosion of unstructured + +00:36:22.960 --> 00:36:27.140 +information. And like we needed to have much + +00:36:27.140 --> 00:36:30.920 +better tools to be able to manage say like + +00:36:30.920 --> 00:36:36.740 +5,000 email messages coming in and all sorts + +00:36:36.740 --> 00:36:39.260 +of non-database-oriented information + +00:36:39.480 --> 00:36:42.020 +structures. So I said we need an advanced + +00:36:42.180 --> 00:36:46.080 +interactive hypertext system and it needs to + +00:36:46.080 --> 00:36:49.320 +work with all the general capabilities that + +00:36:49.320 --> 00:36:54.100 +we use like email and our document production + +00:36:54.240 --> 00:36:58.500 +systems. So I was doing research at the time + +00:36:58.500 --> 00:37:04.200 +at a university And I decided to work on + +00:37:04.200 --> 00:37:06.140 +something that we called personalized + +00:37:06.420 --> 00:37:07.520 +information environments. + +00:37:07.900 --> 00:37:10.120 +And there's a paper about this out there if + +00:37:10.120 --> 00:37:12.040 +you want to dig it out on the web. + +00:37:12.900 --> 00:37:15.360 +So Pies, as they were called, + +00:37:16.320 --> 00:37:20.040 +was an architecture which would have a bunch + +00:37:20.040 --> 00:37:24.100 +of managers, like Hyperbole was 1 of the + +00:37:24.100 --> 00:37:25.820 +managers, the hypertext manager, + +00:37:26.520 --> 00:37:29.440 +and then a bunch of point tools that would + +00:37:29.440 --> 00:37:30.720 +leverage the managers, + +00:37:30.800 --> 00:37:33.580 +like an email reader would be a point tool + +00:37:33.680 --> 00:37:36.140 +that would leverage the hypertext manager. + +00:37:36.780 --> 00:37:39.480 +And so the first, I did in fact write + +00:37:39.480 --> 00:37:40.520 +something called PyMail, + +00:37:41.460 --> 00:37:43.840 +which was very much Gmail-like, + +00:37:44.660 --> 00:37:47.640 +before Gmail. And so inside, + +00:37:48.100 --> 00:37:51.300 +and I did a, it was like our mail in a way, + +00:37:51.680 --> 00:37:54.020 +but inside your our mail summaries, + +00:37:54.100 --> 00:37:57.180 +for example, you could have explicit buttons + +00:37:57.180 --> 00:38:01.120 +embedded and that were drawn from the subject + +00:38:01.120 --> 00:38:02.300 +of your email message, + +00:38:02.400 --> 00:38:06.180 +and they'd work just like the regular button. + +00:38:06.300 --> 00:38:07.540 +So it was very flexible, + +00:38:07.700 --> 00:38:11.660 +and it had rule-based processing and things. + +00:38:11.820 --> 00:38:13.520 +So Hyperbole came out of that, + +00:38:13.520 --> 00:38:15.040 +and it's come a long way, + +00:38:15.200 --> 00:38:20.360 +but it's still a very useful core hypertext + +00:38:20.480 --> 00:38:22.040 +system, hypermedia system, + +00:38:22.040 --> 00:38:26.580 +I should say. Are you familiar with the + +00:38:26.580 --> 00:38:28.780 +Embark package? I am a bit. + +00:38:28.820 --> 00:38:30.520 +I've just started using it. + +00:38:30.520 --> 00:38:31.900 +I think there's some overlapping + +00:38:32.040 --> 00:38:34.200 +functionality with hyperbole. + +00:38:34.340 --> 00:38:39.360 +Yes, we've found that people over time have + +00:38:39.360 --> 00:38:41.600 +enjoyed hyperbole and have started + +00:38:41.600 --> 00:38:43.940 +replicating some of its features, + +00:38:43.940 --> 00:38:45.880 +you know, small amounts of the features. + +00:38:47.680 --> 00:38:51.340 +I talked to, I hope I don't miss his name, + +00:38:51.340 --> 00:38:56.000 +but O'Adam who writes that once in a while we + +00:38:56.000 --> 00:38:59.480 +dialogue and I think Embark is great, + +00:38:59.480 --> 00:39:04.500 +you know, I'll give him some pointers too and + +00:39:04.500 --> 00:39:08.040 +he thinks that Embark and hyperbole are quite + +00:39:08.040 --> 00:39:10.740 +compatible too, just like organ hyperbole. + +00:39:11.120 --> 00:39:13.080 +So that's how we like to keep it. + +00:39:14.540 --> 00:39:18.160 +Some people prefer just a small package of + +00:39:18.160 --> 00:39:21.100 +mBARC, and it does different things than what + +00:39:21.100 --> 00:39:23.800 +Hyperbole does. So I think you use all of + +00:39:23.800 --> 00:39:27.540 +these tools together, and they can work very + +00:39:27.540 --> 00:39:33.960 +well together. Any other questions? + +00:39:34.280 --> 00:39:38.300 +Anybody still here? If not, + +00:39:38.440 --> 00:39:41.180 +probably people are off to another talk. + +00:39:41.940 --> 00:39:47.160 +So thank you very much And again look for + +00:39:47.160 --> 00:39:51.840 +Hyperbole version 9 in the next week. + +00:39:53.740 --> 00:39:56.880 +Thanks very much. Bye. + +00:40:00.620 --> 00:40:07.120 +Should I leave BBB? Oh Alpha Papa's here. + +00:40:07.120 --> 00:40:16.040 +Hey. Good to see you. Alright, + +00:40:16.040 --> 00:40:22.740 +well... Well, I'll stay for another minute, + +00:40:22.820 --> 00:40:27.280 +but I think I'm going to go off video 2 and + +00:40:27.280 --> 00:40:29.780 +start listening to another talk. + +00:40:30.660 --> 00:40:31.480 +Thanks, everyone. Thanks everyone. + +00:40:56.040 --> 00:40:56.960 +Yes, I can hear you. Yes, + +00:40:58.860 --> 00:41:00.060 +[Speaker 1]: Have you been answering questions? + +00:40:56.960 --> 00:41:03.700 +[Speaker 0]: I can hear you. finished answering the + +00:41:03.700 --> 00:41:05.200 +questions. We're all done. + +00:41:00.060 --> 00:41:07.360 +[Speaker 1]: I Okay, cool. Well, what I'm going to do, + +00:41:07.360 --> 00:41:09.140 +I'm going to close the room unless you want + +00:41:09.140 --> 00:41:10.140 +to go a little longer, + +00:41:10.140 --> 00:41:11.880 +because this talk that we're playing right + +00:41:11.880 --> 00:41:13.940 +now is finishing really quick and we don't + +00:41:13.940 --> 00:41:15.140 +have a Q&A afterwards. + +00:41:15.300 --> 00:41:19.040 +So, do you want to stay on air or something? + +00:41:19.440 --> 00:41:21.680 +[Speaker 0]: Yeah, if you let people know to come back, + +00:41:21.680 --> 00:41:23.320 +because someone went to go hear that + +00:41:23.320 --> 00:41:24.900 +presentation, I can stay. + +00:41:25.920 --> 00:41:27.880 +[Speaker 1]: Sure, I'll make an announcement then. + +00:41:27.880 --> 00:41:29.680 +And you can stay, we'll just put on BBB. + +00:41:29.680 --> 00:41:31.840 +You can stay muted until people join, + +00:41:31.840 --> 00:41:33.840 +but this way it opens up menus for people to + +00:41:33.840 --> 00:41:36.060 +join and if no 1 shows up in 5 minutes we'll + +00:41:36.060 --> 00:41:38.080 +all go on break. Does that sound okay? + +00:41:38.680 --> 00:41:40.020 +[Speaker 0]: Great, thank you. + +00:41:40.520 --> 00:41:44.340 +[Speaker 1]: Cool, I'll go back to the management in the + +00:41:44.340 --> 00:41:45.660 +background and I'll let you know. + +00:43:25.760 --> 00:43:27.540 +Okay, Bob, I've won the stream. + +00:43:27.660 --> 00:43:28.940 +We are joining it now. + +00:43:28.940 --> 00:43:30.380 +We've got about 5 seconds. + +00:43:41.940 --> 00:43:43.580 +And I think we are back. + +00:43:49.240 --> 00:43:51.300 +so we are gone, Bob, please. + +00:43:45.340 --> 00:43:53.260 +[Speaker 0]: Hi. So, yeah, I was going to say, + +00:43:54.100 --> 00:43:57.160 +can we see if anybody comes back in the room? + +00:43:57.160 --> 00:43:58.120 +How do you tell? + +00:44:01.380 --> 00:44:03.740 +[Speaker 1]: You should be able to show on the left, + +00:44:03.740 --> 00:44:04.920 +you've got on BbBlueButton, + +00:44:04.920 --> 00:44:06.380 +you've got a button, I'm showing it on the + +00:44:06.380 --> 00:44:08.440 +screen, but you've got a little button that + +00:44:08.440 --> 00:44:10.420 +allows you to show the people joining. + +00:44:10.840 --> 00:44:15.380 +So, hello everyone. Let's see if you had more + +00:44:15.380 --> 00:44:17.080 +question on your pad that we could be taking + +00:44:17.080 --> 00:44:19.040 +in the meantime, just give me a second to + +00:44:19.040 --> 00:44:19.240 +find + +00:44:19.240 --> 00:44:23.500 +[Speaker 0]: your pad. Here we go, an error occurred. + +00:44:31.820 --> 00:44:33.220 +[Speaker 1]: All right, it's loading up. + +00:44:25.680 --> 00:44:37.840 +[Speaker 0]: Okay. Wow. Feels like there's an AI writing + +00:44:37.960 --> 00:44:39.760 +this stuff on the pad. + +00:44:41.120 --> 00:44:44.740 +Has it? Is this the last pad? + +00:44:45.600 --> 00:44:47.080 +Oh no, this is a different 1, + +00:44:49.840 --> 00:44:51.520 +[Speaker 1]: Which question are you looking at now? + +00:44:47.080 --> 00:44:53.820 +[Speaker 0]: sorry. It was a different pad, + +00:44:55.840 --> 00:44:56.460 +[Speaker 1]: Oh right. + +00:44:53.820 --> 00:44:57.109 +[Speaker 0]: that was the problem. Okay, + +00:44:57.260 --> 00:44:59.540 +here we go. Okay, I'm back. + +00:45:00.540 --> 00:45:01.860 +So, yeah, it looks like... + +00:45:02.260 --> 00:45:03.980 +Is anybody back? Send, + +00:45:04.120 --> 00:45:07.180 +if you're here, send a chat message. + +00:45:08.520 --> 00:45:10.020 +[Speaker 1]: Yeah, because it's been something. + +00:45:10.640 --> 00:45:14.240 +You have, apparently, whenever we leave those + +00:45:14.320 --> 00:45:18.220 +BBB chat room open, the moment we go off air, + +00:45:18.260 --> 00:45:20.280 +people start joining and asking a lot of very + +00:45:20.280 --> 00:45:22.200 +interesting questions and you know that's all + +00:45:22.200 --> 00:45:24.280 +well and good, we'll be able to put them on + +00:45:24.280 --> 00:45:26.280 +the page later on. But it'd be great if you + +00:45:26.280 --> 00:45:28.260 +could also have those discussions when we are + +00:45:28.260 --> 00:45:30.140 +live because a lot of people would benefit + +00:45:30.140 --> 00:45:32.120 +from the brilliance that goes on in this + +00:45:32.120 --> 00:45:34.740 +room. So please don't be shy, + +00:45:37.340 --> 00:45:39.900 +[Speaker 0]: So we're on the general stream now? + +00:45:34.740 --> 00:45:41.780 +[Speaker 1]: join and talk. Yep, we are back on the + +00:45:41.780 --> 00:45:46.080 +general stream. We have about until 10 of the + +00:45:46.080 --> 00:45:48.180 +next hour, which is 19 minutes. + +00:45:48.760 --> 00:45:52.540 +[Speaker 0]: Just- Why don't you and I talk? + +00:45:52.540 --> 00:45:56.180 +So have you ever tried hyperbole, + +00:45:56.400 --> 00:45:56.900 +Leo? + +00:45:58.180 --> 00:46:00.220 +[Speaker 1]: I have never, but You know, + +00:46:00.220 --> 00:46:03.380 +it feels like every year when you present + +00:46:03.380 --> 00:46:05.140 +something, it feels like I already know so + +00:46:05.140 --> 00:46:07.580 +much. Because of the buttons, + +00:46:08.040 --> 00:46:10.080 +it feels like it's also something that we've + +00:46:10.080 --> 00:46:12.440 +reinvented many times in Emacs. + +00:46:12.440 --> 00:46:13.940 +It's like conversion to evolution, + +00:46:14.020 --> 00:46:16.540 +except you're the 1 who started ahead of + +00:46:16.540 --> 00:46:17.420 +everyone else. + +00:46:17.860 --> 00:46:19.700 +[Speaker 0]: Well, that's a good point because, + +00:46:19.940 --> 00:46:23.200 +you know, we have, Emacs itself has push + +00:46:23.200 --> 00:46:25.520 +buttons, which you see like in the help + +00:46:25.520 --> 00:46:27.540 +buffers. And those used to, + +00:46:27.540 --> 00:46:29.840 +we didn't really do anything with those, + +00:46:30.040 --> 00:46:32.780 +but now we've subsumed them as implicit + +00:46:32.800 --> 00:46:35.340 +buttons as well. So you're made a return, + +00:46:35.580 --> 00:46:38.500 +we'll work on those anywhere too. + +00:46:38.740 --> 00:46:41.820 +So, we're trying to get, + +00:46:42.260 --> 00:46:45.920 +you use 1 key, right? To control every type + +00:46:45.920 --> 00:46:47.080 +of button that you have. + +00:46:47.080 --> 00:46:48.420 +It works on org links, + +00:46:48.560 --> 00:46:51.800 +org buttons anywhere, or URLs. + +00:46:53.240 --> 00:46:54.440 +Because it's so simple. + +00:46:54.520 --> 00:46:58.820 +All you need is like 5 to 10 lines of code to + +00:46:58.820 --> 00:47:02.760 +map. You map the pattern that represents a + +00:47:02.760 --> 00:47:05.080 +concept, right? And then you can create an + +00:47:05.080 --> 00:47:07.720 +infinite number of those buttons from that + +00:47:07.720 --> 00:47:09.520 +type. That's what's really cool about + +00:47:09.520 --> 00:47:13.060 +Hyperbole, is say I have a 500 page document + +00:47:13.280 --> 00:47:15.600 +and it uses a really weird format for + +00:47:15.600 --> 00:47:17.060 +cross-referencing, right? + +00:47:17.220 --> 00:47:22.320 +I write my 3 lines of pattern match to work + +00:47:22.320 --> 00:47:24.200 +with that. And then everywhere throughout + +00:47:24.200 --> 00:47:25.960 +that document and the hundreds of other + +00:47:25.960 --> 00:47:27.680 +documents that will be created with that + +00:47:27.680 --> 00:47:30.900 +format, they're all live buttons instantly. + +00:47:31.280 --> 00:47:33.240 +Nothing changed about the document. + +00:47:34.220 --> 00:47:35.500 +That's really cool. You know, + +00:47:35.500 --> 00:47:37.860 +word mode, we have global word buttons, + +00:47:37.940 --> 00:47:42.040 +but mostly it has to be embedded within an + +00:47:42.040 --> 00:47:44.760 +org file, right? And follow that syntax. + +00:47:45.580 --> 00:47:51.900 +With hyperbole, it's like we can adapt as the + +00:47:51.900 --> 00:47:55.300 +world adapts around us to whatever formats + +00:47:55.320 --> 00:47:56.940 +people want to use that day. + +00:47:56.940 --> 00:47:59.380 +And you can even change things to look the + +00:47:59.380 --> 00:48:02.200 +way you want, right, and have your own + +00:48:02.440 --> 00:48:04.860 +cross-references. There's something built + +00:48:04.860 --> 00:48:07.560 +into Hyperbole that's not really active, + +00:48:08.220 --> 00:48:13.120 +which was sort of along the Zettelkasten way. + +00:48:13.780 --> 00:48:15.440 +We wrote this a long time ago. + +00:48:15.440 --> 00:48:16.960 +It's called hib-doc.el, + +00:48:19.120 --> 00:48:22.200 +and it's a card catalog notion. + +00:48:22.200 --> 00:48:25.820 +So it uses the high rollo in the background + +00:48:26.160 --> 00:48:30.180 +but it lets you create these forms that are + +00:48:30.180 --> 00:48:32.800 +cards that you fill out with whatever kind of + +00:48:32.800 --> 00:48:35.360 +data you want and then it gives you the full + +00:48:35.360 --> 00:48:38.520 +text searching across the cards and each card + +00:48:38.520 --> 00:48:41.760 +has a unique ID that you can reference + +00:48:41.820 --> 00:48:45.240 +similar to org IDs but these are human + +00:48:45.240 --> 00:48:49.860 +readable and human typable and so you can you + +00:48:49.860 --> 00:48:52.940 +can just have a cross-reference to any doc ID + +00:48:52.960 --> 00:48:56.100 +and essentially create what Engelbart used to + +00:48:56.100 --> 00:49:00.520 +call a journal, which is all these IDs on + +00:49:00.520 --> 00:49:03.220 +documents that point you directly to the + +00:49:03.220 --> 00:49:05.640 +document archive so that you could have like + +00:49:05.640 --> 00:49:10.020 +your internal publishing system and you know + +00:49:10.020 --> 00:49:12.940 +it's very simple to do and it's just 1 module + +00:49:13.420 --> 00:49:14.660 +added on to Hyperbole. + +00:49:15.920 --> 00:49:19.140 +[Speaker 1]: Yeah it's especially interesting for me you + +00:49:19.140 --> 00:49:21.140 +know because coming back to the side of + +00:49:21.140 --> 00:49:23.400 +convergent evolutions it's funny because the + +00:49:23.400 --> 00:49:24.880 +parameters are a little different. + +00:49:24.920 --> 00:49:26.260 +For us with org buttons, + +00:49:26.260 --> 00:49:29.340 +we're very happy. A lot of the stuff during + +00:49:29.340 --> 00:49:31.360 +EmacsConf is run with org mode, + +00:49:31.360 --> 00:49:34.340 +like we have Elisp going everywhere to + +00:49:34.540 --> 00:49:37.320 +compile a lot of org properties, + +00:49:38.080 --> 00:49:39.640 +like speaker information, + +00:49:39.660 --> 00:49:41.480 +for instance, how long the talk is, + +00:49:41.480 --> 00:49:42.800 +the title, and all this. + +00:49:42.800 --> 00:49:44.760 +We have all of this in an org file, + +00:49:44.760 --> 00:49:46.020 +which we use as a database, + +00:49:46.220 --> 00:49:47.800 +but then we can do so much stuff. + +00:49:47.800 --> 00:49:50.740 +We can send email and we can update the + +00:49:50.740 --> 00:49:52.200 +schedule. By the way, if you're interested in + +00:49:52.200 --> 00:49:54.280 +this, we'll have a talk on the DevTrack in + +00:49:54.280 --> 00:49:56.640 +the afternoon today that Sacha did and it's + +00:49:56.640 --> 00:49:58.140 +wonderful. I'm just teasing it. + +00:49:58.140 --> 00:49:59.040 +[Speaker 0]: Oh, that's great. + +00:50:00.060 --> 00:50:01.140 +[Speaker 1]: But coming back to Hyperbole, + +00:50:01.640 --> 00:50:04.000 +for you, it feels like the parameters were + +00:50:04.000 --> 00:50:06.560 +slightly different because the feeling was, + +00:50:06.560 --> 00:50:09.020 +I just want a tunnel that can work between + +00:50:09.020 --> 00:50:10.440 +any type of files. Now, + +00:50:10.440 --> 00:50:11.740 +it's all well and good. + +00:50:11.740 --> 00:50:14.540 +Org-Rome, D-Note, and all the stuff like + +00:50:14.540 --> 00:50:16.860 +this, they create bidirectional links. + +00:50:17.080 --> 00:50:19.540 +But it's only between org-mode files. + +00:50:19.840 --> 00:50:22.040 +Whereas what you're achieving with Hyperbole, + +00:50:22.260 --> 00:50:24.720 +and you've done it much earlier than everyone + +00:50:24.720 --> 00:50:27.420 +else, is that you have this concept + +00:50:27.660 --> 00:50:29.440 +regardless of the type of file that you're + +00:50:29.440 --> 00:50:32.520 +using. And I find this to be beautiful. + +00:50:32.900 --> 00:50:35.280 +Like 5 years ago, whenever you were talking + +00:50:35.280 --> 00:50:37.280 +about hyperbole, I did not have a concrete + +00:50:37.280 --> 00:50:38.540 +idea of what was happening. + +00:50:38.640 --> 00:50:40.360 +But ever since I've gone through the journey + +00:50:40.360 --> 00:50:42.380 +of really understanding what the El Caster + +00:50:42.380 --> 00:50:45.000 +method were about, it feels like you were + +00:50:45.720 --> 00:50:46.980 +foreigners in the topic. + +00:50:46.980 --> 00:50:48.540 +Obviously, you've mentioned the mother of all + +00:50:48.540 --> 00:50:50.240 +demos by Edward Engelbart, + +00:50:50.740 --> 00:50:54.100 +but those ideas are not novel, + +00:50:54.340 --> 00:50:56.820 +but it feels like only now are they starting + +00:50:56.820 --> 00:50:58.520 +to be appropriated by people, + +00:50:58.520 --> 00:50:59.800 +especially in free software, + +00:50:59.800 --> 00:51:01.200 +and it's really good to see. + +00:51:01.280 --> 00:51:02.440 +I'm really excited to, + +00:51:02.440 --> 00:51:04.600 +well, have my small part to play in this. + +00:51:04.600 --> 00:51:06.980 +And I'm also excited to be able to chat with + +00:51:06.980 --> 00:51:10.140 +you and people like Bastien and other people + +00:51:10.240 --> 00:51:11.400 +about all those topics. + +00:51:12.340 --> 00:51:13.780 +[Speaker 0]: Yeah, I think, you know, + +00:51:13.940 --> 00:51:16.640 +it's fun that we can laugh now about when + +00:51:16.640 --> 00:51:20.020 +people say people are still using Emacs, + +00:51:20.020 --> 00:51:22.800 +you know, is because they're not used, + +00:51:22.800 --> 00:51:24.160 +certain people aren't using it. + +00:51:24.160 --> 00:51:26.880 +They have no idea of how far it's come and + +00:51:26.880 --> 00:51:28.720 +how powerful it is. And, + +00:51:28.780 --> 00:51:31.520 +you know, we're leveraging Elisp heavily, + +00:51:31.560 --> 00:51:33.940 +obviously, but if you look at the definition + +00:51:34.300 --> 00:51:37.800 +of our types, they look exactly like DIP + +00:51:37.800 --> 00:51:41.180 +funds in ELisp. And we've been able to do + +00:51:41.180 --> 00:51:42.780 +that because of Lisp macros. + +00:51:43.860 --> 00:51:46.400 +You know, we so we basically have our own + +00:51:46.400 --> 00:51:48.300 +domain specific language there, + +00:51:48.420 --> 00:51:51.240 +but there's almost nothing to learn because + +00:51:51.340 --> 00:51:53.460 +it's just like what you know from UList. + +00:51:54.200 --> 00:51:57.120 +So again, you know, taking the concept and + +00:51:57.120 --> 00:51:59.700 +leveraging it, abstracting it and leveraging + +00:51:59.760 --> 00:52:02.980 +it multiple times gives you a lot of power. + +00:52:03.660 --> 00:52:06.060 +And people, you know, somebody said the other + +00:52:06.060 --> 00:52:07.500 +day, and I said, finally, + +00:52:07.760 --> 00:52:10.360 +this quote happened. He said, + +00:52:11.000 --> 00:52:15.060 +there's so many things that I do with + +00:52:15.060 --> 00:52:17.200 +hyperbole every day that I forget that I'm + +00:52:17.200 --> 00:52:21.440 +using hyperbole. Because it's just so + +00:52:21.440 --> 00:52:23.580 +embedded in this guy's workflow. + +00:52:23.680 --> 00:52:25.440 +And that's really how I use it. + +00:52:25.440 --> 00:52:27.380 +You know, there are features in there, + +00:52:27.440 --> 00:52:29.060 +can't use everything, right? + +00:52:29.060 --> 00:52:31.860 +So there are features that I don't use, + +00:52:32.040 --> 00:52:35.580 +but I use a lot of things and it's all like + +00:52:35.580 --> 00:52:37.580 +muscle memory, just like the keyboard, + +00:52:38.200 --> 00:52:39.740 +the Emacs key bindings. + +00:52:39.960 --> 00:52:42.180 +So it's very exciting to get to that level. + +00:52:42.180 --> 00:52:44.320 +And now, you know, we haven't started with + +00:52:44.320 --> 00:52:46.940 +the chatbots or any of the AI integration, + +00:52:47.300 --> 00:52:49.480 +but I'm starting to think about that a little + +00:52:49.480 --> 00:52:53.480 +bit and how we'll interface to that world and + +00:52:53.480 --> 00:52:55.320 +I think it's going to be very exciting. + +00:52:56.040 --> 00:52:58.340 +[Speaker 1]: Yeah, likewise and I think it harks back to + +00:52:58.340 --> 00:53:00.660 +what we were talking about before when we + +00:53:00.660 --> 00:53:03.700 +mentioned Hyperbole being a package inside of + +00:53:03.700 --> 00:53:05.300 +an ecosystem that is Emacs. + +00:53:05.860 --> 00:53:08.040 +But it's not because something is well + +00:53:08.040 --> 00:53:10.560 +circumscribed in terms of feature set that it + +00:53:10.560 --> 00:53:12.880 +does not influence everything around it. + +00:53:12.880 --> 00:53:15.060 +Like Hyperbole can be used with something + +00:53:15.060 --> 00:53:18.080 +completely at the opposite end of what it was + +00:53:18.080 --> 00:53:21.380 +intended for, just because it provides a good + +00:53:21.380 --> 00:53:23.860 +set of tools that can be used wherever else + +00:53:23.860 --> 00:53:26.100 +you want in Emacs. And it's the same thing + +00:53:26.100 --> 00:53:27.980 +with Org Mode, it's the same thing with many, + +00:53:27.980 --> 00:53:29.280 +many different things. + +00:53:29.440 --> 00:53:32.820 +And it feels like integrating AIs, + +00:53:33.400 --> 00:53:36.920 +or generative AIs, into Emacs would provide + +00:53:39.620 --> 00:53:42.340 +such a tool that could apply to any kind of + +00:53:42.340 --> 00:53:45.060 +other major mode or any kind of other use. + +00:53:45.060 --> 00:53:46.640 +So I'm also excited to see this. + +00:53:46.640 --> 00:53:50.280 +It feels like we are sitting at the brink of + +00:53:50.280 --> 00:53:52.580 +a revolution. I'm not going to say the acne + +00:53:52.580 --> 00:53:54.440 +stuff, but it definitely feels like right + +00:53:54.440 --> 00:53:57.560 +now, by trying to see what we can do with AI, + +00:53:57.560 --> 00:53:59.380 +it's definitely going to change the way not + +00:53:59.380 --> 00:54:01.560 +only we program, but also the way we take + +00:54:01.560 --> 00:54:03.160 +notes and the way we design stuff, + +00:54:03.160 --> 00:54:05.220 +arcing back to what John Wigley said + +00:54:05.220 --> 00:54:08.660 +yesterday about his draft program on macOS. + +00:54:09.800 --> 00:54:10.940 +Bob, if you don't mind, + +00:54:11.040 --> 00:54:13.100 +I see people typing questions and I also see + +00:54:13.100 --> 00:54:14.820 +people joining on people buttons, + +00:54:14.820 --> 00:54:16.920 +so I'm going to read you the 2 questions that + +00:54:16.920 --> 00:54:18.260 +have been added. Is that okay? + +00:54:19.200 --> 00:54:20.580 +[Speaker 0]: Great, go for it. + +00:54:21.240 --> 00:54:23.140 +[Speaker 1]: Cool, so first question. + +00:54:23.320 --> 00:54:25.240 +Wow, what you're describing now, + +00:54:25.240 --> 00:54:27.520 +and that's when you were talking about the + +00:54:27.520 --> 00:54:31.840 +bi-directional links and especially the last + +00:54:31.840 --> 00:54:33.080 +question in its entirety, + +00:54:33.540 --> 00:54:35.440 +What you're describing now reminds me a lot + +00:54:35.440 --> 00:54:37.440 +about HyperCard that I grew up on. + +00:54:37.440 --> 00:54:39.220 +Do you know if Hyperbole inspired Bill + +00:54:39.220 --> 00:54:41.040 +Atkinson or if you were inspired by + +00:54:41.040 --> 00:54:43.040 +HyperCard? Or were there just a lot of + +00:54:43.040 --> 00:54:44.860 +thoughts about hyper-contextuality around + +00:54:44.860 --> 00:54:45.520 +that time? + +00:54:46.780 --> 00:54:50.100 +[Speaker 0]: Alright, well this is another interesting + +00:54:50.320 --> 00:54:52.360 +anecdote. I don't know if it's true or not, + +00:54:52.360 --> 00:54:57.880 +but I think HyperCard predated our stuff. + +00:54:57.880 --> 00:55:00.480 +It was right around the same time when + +00:55:00.480 --> 00:55:02.420 +Hyperbole was starting out. + +00:55:02.540 --> 00:55:05.100 +But when I was doing the Pi research, + +00:55:06.040 --> 00:55:08.800 +I worked at, when I left school, + +00:55:08.800 --> 00:55:11.280 +I worked at Motorola, and we did a lot of + +00:55:11.280 --> 00:55:13.040 +work with Apple back then. + +00:55:13.180 --> 00:55:15.480 +And somebody came back and he said, + +00:55:15.480 --> 00:55:18.000 +you know, the people over there have seen + +00:55:19.120 --> 00:55:21.940 +your Pi research and they really liked it a + +00:55:21.940 --> 00:55:26.020 +lot. And so they were leveraging that when + +00:55:26.020 --> 00:55:28.440 +they decided to create the division that they + +00:55:28.440 --> 00:55:33.280 +called Apple Pi, which was the originator of + +00:55:33.280 --> 00:55:36.500 +the Newton which eventually led to the + +00:55:36.500 --> 00:55:40.960 +iPhone. So it all kind of is interconnected + +00:55:41.360 --> 00:55:44.380 +just like the impact that free software has + +00:55:44.380 --> 00:55:47.240 +had around the world. So you never know where + +00:55:47.240 --> 00:55:49.840 +your stuff is gonna go or end up. + +00:55:51.180 --> 00:55:53.400 +[Speaker 1]: Right. All right, moving on to the next + +00:55:53.400 --> 00:55:55.840 +question. Is it possible to only use 1 + +00:55:55.840 --> 00:55:57.740 +feature of hyperbole without the others, + +00:55:57.740 --> 00:56:00.580 +i.e. Using only the implicit explicit buttons + +00:56:00.580 --> 00:56:03.580 +without I control I roller or without having + +00:56:03.580 --> 00:56:05.920 +to rewrite part of the code in hyperbole in + +00:56:05.920 --> 00:56:08.040 +order to be able to load a smaller hyperbole. + +00:56:08.200 --> 00:56:09.140 +Does it make sense? + +00:56:10.260 --> 00:56:12.640 +[Speaker 0]: Yes we get asked this all the time. + +00:56:12.900 --> 00:56:16.560 +So you can use any little bit that you want + +00:56:16.560 --> 00:56:19.620 +anywhere right you can even just call code + +00:56:19.940 --> 00:56:23.660 +from Hyperbole. I mean you don't use + +00:56:23.680 --> 00:56:25.080 +everything in Emacs, right? + +00:56:25.080 --> 00:56:27.740 +But you still install Emacs on your machine. + +00:56:28.180 --> 00:56:30.080 +It's exactly the same thing. + +00:56:30.860 --> 00:56:33.280 +Those libraries don't take up any memory, + +00:56:33.280 --> 00:56:36.380 +they take up a little disk space and it's so + +00:56:36.380 --> 00:56:38.520 +trivial compared to the amount of disk we + +00:56:38.520 --> 00:56:41.780 +have today. So a lot of things are not loaded + +00:56:41.920 --> 00:56:43.760 +unless you activate them. + +00:56:45.040 --> 00:56:48.940 +And so I know that you do have to build all + +00:56:48.940 --> 00:56:51.360 +those things. So maybe that's what bothers + +00:56:51.360 --> 00:56:56.060 +people. It takes 2 minutes if you're using, + +00:56:56.320 --> 00:56:58.400 +it depends how fast your computer is. + +00:56:58.400 --> 00:57:01.160 +But you build it once on install like every + +00:57:01.160 --> 00:57:04.600 +other package. And it used to be that there + +00:57:04.600 --> 00:57:06.620 +would be a lot of warnings just because of + +00:57:06.620 --> 00:57:09.020 +the way we wrote the code and we didn't + +00:57:09.020 --> 00:57:11.120 +really have to deal with some of those + +00:57:11.120 --> 00:57:13.080 +warnings. But with this new release, + +00:57:13.080 --> 00:57:15.120 +we've gotten rid of almost all of them, + +00:57:15.200 --> 00:57:19.800 +including the native compiler messages. + +00:57:20.020 --> 00:57:22.620 +So it should be a very clean install now, + +00:57:22.900 --> 00:57:26.620 +and just use 1 part at a time. + +00:57:26.880 --> 00:57:29.820 +But the other parts are there in case you + +00:57:29.820 --> 00:57:32.080 +make a link to something and you use a + +00:57:32.080 --> 00:57:34.600 +facility just like I was showing as I went + +00:57:34.600 --> 00:57:36.360 +across subsystems today. + +00:57:36.600 --> 00:57:38.000 +It may take you a year, + +00:57:38.000 --> 00:57:40.120 +but then all of a sudden you find the use + +00:57:40.120 --> 00:57:42.340 +case for Hyrule and you say, + +00:57:42.340 --> 00:57:44.040 +oh, I'm glad I have it there. + +00:57:44.440 --> 00:57:47.540 +And yes, some of these things could be split + +00:57:47.540 --> 00:57:49.540 +into sub packages like you do in the org + +00:57:49.540 --> 00:57:52.500 +ecosystem. But given our limited resources on + +00:57:52.500 --> 00:57:56.400 +the team, we find having them all in 1 gives + +00:57:56.400 --> 00:57:59.040 +us a higher level of quality and lets us + +00:57:59.040 --> 00:58:02.840 +deliver a better integrated system for your + +00:58:02.840 --> 00:58:03.340 +use. + +00:58:04.740 --> 00:58:06.300 +[Speaker 1]: Yeah, exactly. And I think, + +00:58:06.300 --> 00:58:09.120 +you know, it's, it's not a monolith. + +00:58:10.080 --> 00:58:12.540 +I mean, it's usually easier, + +00:58:12.540 --> 00:58:14.620 +easy, more easy, more easy. + +00:58:14.620 --> 00:58:16.500 +Sorry, I was right on the first try. + +00:58:16.560 --> 00:58:20.580 +It's usually easier to maintain a monolith + +00:58:20.860 --> 00:58:23.140 +that contains many bits of functionality like + +00:58:23.140 --> 00:58:25.280 +org. You have plenty of people using org + +00:58:25.280 --> 00:58:27.180 +mode, not using org-agenda, + +00:58:27.340 --> 00:58:29.142 +for instance, or you've got plenty of people + +00:58:29.142 --> 00:58:31.560 +using org-mode and barely using Babel because + +00:58:31.560 --> 00:58:34.740 +it doesn't really translate to their use. + +00:58:35.460 --> 00:58:37.720 +And I feel like I very much agree with you. + +00:58:37.720 --> 00:58:39.520 +It's okay to install a package and only use + +00:58:39.520 --> 00:58:40.420 +some of the functions. + +00:58:40.600 --> 00:58:43.580 +I was reminded, as you were discussing this, + +00:58:43.580 --> 00:58:45.140 +of the consults package, + +00:58:45.380 --> 00:58:46.920 +which is part of the VertiCo, + +00:58:48.220 --> 00:58:51.060 +mbark and marginalia and all this. + +00:58:51.340 --> 00:58:54.960 +Consult, it replaces a lot of the Emacs + +00:58:54.960 --> 00:58:56.980 +built-in commands like for finding your + +00:58:56.980 --> 00:58:59.900 +buffers or finding text inside of your + +00:58:59.900 --> 00:59:03.960 +buffer. It's great. And you do not need to + +00:59:04.120 --> 00:59:06.300 +completely move to consult as you get + +00:59:06.300 --> 00:59:09.080 +started. You can start colonizing 1 step at a + +00:59:09.080 --> 00:59:11.540 +time the function that you usually use. + +00:59:12.620 --> 00:59:15.580 +And I highly recommend to people to not let + +00:59:15.580 --> 00:59:18.560 +the size of a project deter them from trying + +00:59:18.560 --> 00:59:20.580 +it out because, again, + +00:59:20.980 --> 00:59:22.800 +in Emacs, everything is horizontal. + +00:59:23.100 --> 00:59:28.180 +If somehow you want to use something that was + +00:59:28.180 --> 00:59:29.640 +not intended primarily for this, + +00:59:29.640 --> 00:59:32.220 +or if you only want to use 10% of a package, + +00:59:32.300 --> 00:59:35.500 +well, do it. An example that I have for me is + +00:59:35.500 --> 00:59:39.840 +that Lispy is the minor mode that I use for + +00:59:39.840 --> 00:59:42.380 +editing Elisp documents, + +00:59:42.740 --> 00:59:45.380 +and it's great. Elisp provides similar + +00:59:45.380 --> 00:59:46.260 +functions to ParaEdit, + +00:59:46.260 --> 00:59:47.720 +which might be a little more popular, + +00:59:47.780 --> 00:59:50.320 +which allows you to have modal editing when + +00:59:50.320 --> 00:59:52.840 +you are on specific parts of a file, + +00:59:52.840 --> 00:59:55.080 +like the opening parenthesis or the closing + +00:59:55.080 --> 00:59:56.480 +parenthesis. It's great, + +00:59:56.480 --> 00:59:58.320 +it provides modal editing for those modes, + +00:59:58.320 --> 01:00:01.340 +but I certainly do not know everything, + +01:00:02.220 --> 01:00:04.240 +every modal command associated to it. + +01:00:04.240 --> 01:00:06.180 +I just use the 1 that makes the most sense to + +01:00:06.180 --> 01:00:08.200 +me. So feel free to explore. + +01:00:11.040 --> 01:00:13.680 +[Speaker 0]: I'll just say we get this so much. + +01:00:13.740 --> 01:00:16.520 +It's not that large. I mean there's a fair + +01:00:16.520 --> 01:00:19.680 +number of files but it's just like 1 major + +01:00:19.680 --> 01:00:22.340 +directory and then the KOutliner directory. + +01:00:24.080 --> 01:00:25.560 +And when you look at these things, + +01:00:25.560 --> 01:00:27.140 +you install web applications, + +01:00:27.440 --> 01:00:30.420 +everything else, just when you download the + +01:00:30.420 --> 01:00:31.820 +source code, it's much, + +01:00:31.820 --> 01:00:34.040 +much smaller than any of that. + +01:00:34.140 --> 01:00:37.360 +So I don't know why people you know accept + +01:00:37.360 --> 01:00:39.660 +that it's larger than your typical package. + +01:00:39.960 --> 01:00:41.900 +Why there's really an issue there. + +01:00:43.080 --> 01:00:45.080 +[Speaker 1]: I think it's because people tend to assume + +01:00:46.240 --> 01:00:48.480 +that a paradigm like the 1 you're describing, + +01:00:48.480 --> 01:00:51.560 +which seems to be changing the way you use + +01:00:51.560 --> 01:00:53.480 +Emacs in a way because you're no longer + +01:00:53.480 --> 01:00:56.000 +thinking of as buffers as separate entities, + +01:00:56.000 --> 01:00:57.980 +you can tunnel between them. + +01:00:57.980 --> 01:01:00.180 +You know, it feels like a huge paradigm shift + +01:01:00.180 --> 01:01:02.300 +and you assume that the code behind it is + +01:01:02.300 --> 01:01:04.080 +going to be humongous as well, + +01:01:04.080 --> 01:01:05.380 +but it's usually not the case. + +01:01:05.380 --> 01:01:07.640 +It's just that the idea is very pure at the + +01:01:07.640 --> 01:01:10.060 +start, and the paradigm shift that it allows + +01:01:10.320 --> 01:01:14.120 +is also magnificent. But at the end of the + +01:01:14.120 --> 01:01:16.200 +day, the code is fairly simple, + +01:01:16.320 --> 01:01:18.360 +because it does 1 thing and it does it well. + +01:01:19.780 --> 01:01:21.180 +[Speaker 0]: 1 thing I noticed too, + +01:01:21.180 --> 01:01:23.760 +I mean I'm a big believer in turnkey kind of + +01:01:23.760 --> 01:01:27.180 +systems. In fact a long time ago when I built + +01:01:27.180 --> 01:01:31.160 +an IDE on Emacs called InfoDoc that was + +01:01:31.160 --> 01:01:32.480 +delivered pre-compiled. + +01:01:33.760 --> 01:01:35.980 +So it's like you download it like every other + +01:01:35.980 --> 01:01:39.480 +app and you run it. And so I think + +01:01:39.480 --> 01:01:42.480 +eliminating all the friction that occurs, + +01:01:42.740 --> 01:01:46.360 +and you know, I just got going recently with + +01:01:46.380 --> 01:01:49.160 +the wonderful packages that you just + +01:01:49.160 --> 01:01:51.460 +mentioned, VertiCo and Consult, + +01:01:51.460 --> 01:01:55.360 +but they don't have a manual that covers all + +01:01:55.360 --> 01:01:57.780 +that. They use sort of like a cookbook, + +01:01:58.260 --> 01:02:02.220 +a wiki online to answer a lot of the + +01:02:02.220 --> 01:02:04.600 +questions that people have and everybody has + +01:02:04.600 --> 01:02:07.640 +to figure out their configurations you know + +01:02:07.640 --> 01:02:11.380 +to make these things all work together. + +01:02:12.800 --> 01:02:16.460 +We'd like to do that engineering and say here + +01:02:16.460 --> 01:02:18.560 +it is you know it's like if you want to + +01:02:18.560 --> 01:02:20.320 +configure it and make it your own, + +01:02:20.320 --> 01:02:23.500 +you can do it. But there is a default + +01:02:23.760 --> 01:02:26.880 +configuration that handles all the typical + +01:02:26.880 --> 01:02:29.940 +use cases and you can just load it up and run + +01:02:30.060 --> 01:02:31.660 +because it's made to use, + +01:02:32.840 --> 01:02:36.500 +you don't have to hack it to make it useful + +01:02:36.500 --> 01:02:37.260 +for you. + +01:02:37.900 --> 01:02:40.560 +[Speaker 1]: Yeah, it reminds me of the discussion we had + +01:02:40.560 --> 01:02:42.740 +with Stéphane yesterday about sane defaults. + +01:02:43.320 --> 01:02:45.520 +And I think the question was, + +01:02:46.500 --> 01:02:49.080 +Emacs should probably ship with sane defaults + +01:02:49.080 --> 01:02:51.740 +for people. And Stéphane's answer was, + +01:02:51.740 --> 01:02:53.860 +well, my sane defaults might not be the same + +01:02:53.860 --> 01:02:55.220 +thing as your sane defaults. + +01:02:55.960 --> 01:02:57.560 +And that's why I think it's important, + +01:02:57.560 --> 01:02:59.340 +really, to have a core set of features, + +01:02:59.340 --> 01:03:01.300 +be it with hyperbole of org mode, + +01:03:01.360 --> 01:03:02.580 +that is well-documented, + +01:03:02.880 --> 01:03:05.460 +as you mentioned. But what I like about this + +01:03:05.460 --> 01:03:07.260 +in a way, and I think hyperbole is perhaps + +01:03:07.260 --> 01:03:09.340 +taking more benefits of this than Org Mode, + +01:03:09.340 --> 01:03:12.280 +is that the self-documentation aspect of it + +01:03:12.540 --> 01:03:14.540 +feels like it's easier with hyperbole because + +01:03:14.540 --> 01:03:17.320 +you're not bound by Org Mode buffers. + +01:03:17.320 --> 01:03:19.340 +You can link to just about everything. + +01:03:19.940 --> 01:03:24.240 +And for me, this ability to self-document is, + +01:03:24.240 --> 01:03:26.140 +well, first, very true to the philosophy of + +01:03:26.140 --> 01:03:27.480 +Emacs in the first place, + +01:03:27.500 --> 01:03:31.900 +but also opens up those resonance cycles + +01:03:32.020 --> 01:03:34.200 +where, oh, you get interested and then you + +01:03:34.200 --> 01:03:35.820 +start reading up and then the documentation + +01:03:35.820 --> 01:03:38.320 +is so good that it feeds into your practice + +01:03:38.320 --> 01:03:41.040 +and then it goes nuclear and you gain so much + +01:03:41.040 --> 01:03:42.540 +knowledge as a result of this. + +01:03:42.620 --> 01:03:44.480 +All right, Bob, we are about out of time. + +01:03:44.480 --> 01:03:46.280 +We only have about 1 minute until we go to + +01:03:46.280 --> 01:03:48.220 +the next talk. Do you have any passing words? + +01:03:50.180 --> 01:03:53.860 +[Speaker 0]: I do. I think, you know, + +01:03:54.280 --> 01:03:56.880 +the world's complex, it's getting more + +01:03:57.440 --> 01:04:00.520 +complex. I think that's why people use Emacs + +01:04:00.520 --> 01:04:02.560 +in the first place, because it's a big + +01:04:02.560 --> 01:04:04.920 +system. You wouldn't use it unless you wanted + +01:04:04.920 --> 01:04:06.600 +it to simplify your life. + +01:04:07.580 --> 01:04:10.760 +Hyperbole is built with the same idea in + +01:04:10.760 --> 01:04:13.640 +mind. You may not get it just like Lisp. + +01:04:13.740 --> 01:04:15.720 +A lot of people don't understand when they + +01:04:15.720 --> 01:04:17.420 +first encounter it, but when they do + +01:04:17.420 --> 01:04:19.580 +understand it, they're blown away. + +01:04:19.960 --> 01:04:21.360 +It changes their life. + +01:04:22.040 --> 01:04:25.020 +You know, when you really understand implicit + +01:04:25.120 --> 01:04:28.100 +buttons, I think that's 1 of the things in + +01:04:28.100 --> 01:04:30.860 +hyperbole that can change your Emacs working + +01:04:30.860 --> 01:04:34.080 +life. So just give that a try and I think + +01:04:34.080 --> 01:04:36.660 +you'll be pleasantly surprised across time. + +01:04:39.220 --> 01:04:40.920 +[Speaker 1]: you so much Bob. We'll be moving on to the + +01:04:40.920 --> 01:04:42.980 +next talk in about 20 seconds so everyone see + +01:04:42.980 --> 01:04:44.940 +you in a bit and Bob thank you so much again. + +01:04:37.040 --> 01:04:46.100 +[Speaker 0]: Thanks very much. And thank Thank you. + +01:04:51.140 --> 01:04:53.040 +[Speaker 1]: All right I think we are off here now. + +01:04:53.040 --> 01:04:53.940 +So thank you so much, Bob. + +01:04:53.940 --> 01:04:55.440 +I'm going to need to step out and get ready + +01:04:56.609 --> 01:04:59.240 +[Speaker 0]: Yeah, do your thing. You do a great job at + +01:04:59.240 --> 01:05:01.760 +it. But I wanted to ask you where in London + +01:04:55.440 --> 01:05:04.780 +[Speaker 1]: for the next talk. I'm not in London, + +01:05:05.280 --> 01:05:07.940 +I'm in France, and I just moved to London. + +01:05:01.760 --> 01:05:10.740 +[Speaker 0]: you are. Oh, okay, got it. + +01:05:11.200 --> 01:05:12.680 +Sorry, I thought you were. + +01:05:13.000 --> 01:05:13.720 +Take care. + +01:05:14.340 --> 01:05:15.060 +[Speaker 1]: All right, bye-bye, Bob. + +01:05:15.060 --> 01:05:15.750 +Thanks a lot. Bye-bye. + +01:05:15.750 --> 01:05:16.250 +Bye-bye. diff --git a/2023/captions/emacsconf-2023-sat-close--saturday-closing-remarks--main.vtt b/2023/captions/emacsconf-2023-sat-close--saturday-closing-remarks--main.vtt new file mode 100644 index 00000000..9398d5f8 --- /dev/null +++ b/2023/captions/emacsconf-2023-sat-close--saturday-closing-remarks--main.vtt @@ -0,0 +1,503 @@ +WEBVTT + + +00:00:05.200 --> 00:00:06.359 +[Speaker 0]: Session is being recorded. + +00:00:06.819 --> 00:00:08.860 +Just waiting for Corwin and Leo. + +00:00:16.359 --> 00:00:17.960 +Great. Corwin, would you like to share your + +00:00:17.960 --> 00:00:18.460 +screen? + +00:00:37.620 --> 00:00:39.840 +Let's see the audio through BBB so we don't + +00:00:39.840 --> 00:00:41.720 +have to splice it in afterwards because it's + +00:00:41.720 --> 00:00:43.680 +annoying to splice things. + +00:00:43.680 --> 00:00:47.020 +I mean, Leo will be taking care of it, + +00:00:47.020 --> 00:00:50.560 +not me, so. Okay, he's going to finish up. + +00:00:52.720 --> 00:00:55.320 +[Speaker 1]: So, in the meantime, it's been a long day, + +00:00:55.320 --> 00:00:57.080 +people. Thanks for sticking around. + +00:00:57.180 --> 00:00:58.739 +And we're going to do a little bit of jazz + +00:00:58.739 --> 00:01:00.060 +handing until Corwin comes back. + +00:01:00.060 --> 00:01:07.650 +Smack. I + +00:01:14.240 --> 00:01:16.020 +[Speaker 2]: can't imagine an Emacs con without getting to + +00:01:16.020 --> 00:01:17.920 +enjoy Leo's famous jazz hands. + +00:01:21.420 --> 00:01:23.080 +[Speaker 1]: I can tell you it's a lot easier... + +00:01:23.160 --> 00:01:25.760 +Hello? I can tell you it's a lot easier to do + +00:01:25.760 --> 00:01:30.740 +jazz hands at 9am EST than it is at 5pm EST, + +00:01:30.860 --> 00:01:34.160 +because for me it's 11 and I've barely seen + +00:01:34.160 --> 00:01:39.720 +this 1 today. Okay Corwin, + +00:01:39.720 --> 00:01:41.880 +do you have a presentation right now? + +00:01:45.480 --> 00:01:47.440 +We do not seem to be able to hear you, + +00:01:47.440 --> 00:01:55.240 +Corwin. Okay, just bear with us, + +00:01:55.240 --> 00:01:57.380 +folks. We're gonna figure out this 1. + +00:01:57.380 --> 00:01:58.660 +This is the last bug of the day, + +00:01:58.660 --> 00:02:00.640 +and then we're clear until tomorrow. + +00:02:05.820 --> 00:02:07.700 +[Speaker 2]: I just heard you, but I don't know if it was + +00:02:07.700 --> 00:02:12.100 +here or via mumble. Okay. + +00:02:14.540 --> 00:02:17.360 +[Speaker 1]: Can we figure out? Whenever there's a problem + +00:02:17.360 --> 00:02:19.340 +like this, like Sash and myself are furiously + +00:02:19.460 --> 00:02:20.640 +typing in the background, + +00:02:20.640 --> 00:02:22.380 +we say, oh, can we fix this slide? + +00:02:22.740 --> 00:02:24.180 +But here, I'm stumped. + +00:02:33.180 --> 00:02:36.760 +[Speaker 2]: I think Corbin is in the GenTrack on Mumble. + +00:02:40.520 --> 00:02:43.680 +[Speaker 1]: Okay, so let's all switch to GenTrack and + +00:02:43.780 --> 00:02:46.860 +we'll be able to figure out the way. + +00:03:18.420 --> 00:03:21.540 +[Speaker 0]: Okay, well, while Corwin figures out how to + +00:03:21.540 --> 00:03:23.940 +get started, we might as well maybe do a + +00:03:23.940 --> 00:03:25.380 +little bit of closing remarks, + +00:03:25.380 --> 00:03:27.220 +and then you can jump in whenever you want. + +00:03:29.440 --> 00:03:30.420 +[Speaker 1]: Sounds good to me. + +00:03:31.980 --> 00:03:34.459 +[Speaker 0]: Okay. Thank you, everyone, + +00:03:34.459 --> 00:03:36.160 +for coming to Emacs Conf 2023. + +00:03:37.120 --> 00:03:38.980 +We made it to the end of the first day! + +00:03:39.140 --> 00:03:40.440 +Hooray! We're going to keep these closing + +00:03:40.440 --> 00:03:42.880 +remarks short because it's a long day. + +00:03:42.880 --> 00:03:44.920 +It's almost midnight and Leah will turn into + +00:03:44.920 --> 00:03:48.340 +a pumpkin very soon. So before that happens, + +00:03:48.580 --> 00:03:50.560 +we just want to say hello and thanks. + +00:03:50.640 --> 00:03:54.980 +And pre-recorded talks are already up. + +00:03:55.260 --> 00:03:56.520 +They're on the talk pages, + +00:03:56.520 --> 00:03:57.320 +they're on media.emaxcontent.org. + +00:03:58.860 --> 00:04:00.620 +We'll work on extracting the live talks, + +00:04:00.620 --> 00:04:01.920 +but it'll take a few weeks. + +00:04:01.920 --> 00:04:02.220 +[Speaker 3]: Maybe, you + +00:04:02.220 --> 00:04:03.660 +[Speaker 0]: know, we'll see how it goes. + +00:04:04.540 --> 00:04:06.100 +Please feel free to spread the word, + +00:04:06.100 --> 00:04:07.700 +because you know some people didn't actually + +00:04:07.720 --> 00:04:09.380 +know there was EmacsConf this weekend, + +00:04:09.380 --> 00:04:11.400 +so let them know, because it's a lot of fun. + +00:04:11.400 --> 00:04:15.020 +More talks tomorrow. And if you've got ideas + +00:04:15.020 --> 00:04:15.900 +for making things better, + +00:04:15.900 --> 00:04:17.500 +or If you'd like to tell us what's working + +00:04:17.500 --> 00:04:18.660 +well and what you'd like, + +00:04:18.940 --> 00:04:21.180 +please put them in the conference pad at + +00:04:21.180 --> 00:04:26.580 +pad.emaxconf.org. Anything anyone want to + +00:04:26.580 --> 00:04:27.080 +add? + +00:04:30.060 --> 00:04:30.860 +[Speaker 1]: I'm all good. + +00:04:32.900 --> 00:04:35.260 +[Speaker 2]: Let's see if Corwin can get his mic to work. + +00:04:37.740 --> 00:04:38.800 +No, it's not. + +00:04:43.520 --> 00:04:45.140 +[Speaker 1]: Well, I mean, did you want to say something + +00:04:45.140 --> 00:04:47.220 +as well? Because people have heard you talk + +00:04:47.220 --> 00:04:49.120 +all day long on the Dev track, + +00:04:49.120 --> 00:04:50.240 +but not on the general track, + +00:04:50.240 --> 00:04:51.540 +actually. It's the first time they hear you + +00:04:51.540 --> 00:04:52.040 +today. + +00:04:52.540 --> 00:04:55.580 +[Speaker 2]: Right. Oh, well, way to put me on the spot, + +00:04:56.540 --> 00:04:58.040 +but more seriously, thanks. + +00:04:58.040 --> 00:04:59.760 +So yeah, it's a lot of fun. + +00:05:00.340 --> 00:05:03.760 +You know, it's, we sort of keep coming back + +00:05:03.760 --> 00:05:05.580 +every year and doing this conference. + +00:05:06.300 --> 00:05:08.720 +It's always been fun. And we keep doing it + +00:05:08.720 --> 00:05:11.320 +thanks to, you know, all the people who + +00:05:11.320 --> 00:05:13.860 +submit all these amazing talks with these + +00:05:14.600 --> 00:05:16.560 +amazing sessions. And of course the audience + +00:05:16.560 --> 00:05:19.940 +as well. I don't have a lot to say I guess + +00:05:19.940 --> 00:05:21.500 +for today because I think we're hoping to + +00:05:21.500 --> 00:05:23.180 +keep it kind of short and sweet. + +00:05:24.400 --> 00:05:25.920 +So yeah, I think that's about it for me. + +00:05:25.920 --> 00:05:28.380 +I guess we'll maybe wait another minute or so + +00:05:28.380 --> 00:05:30.180 +to see if Cormen can make it. + +00:05:30.580 --> 00:05:32.140 +But yeah, that's all for me. + +00:05:34.820 --> 00:05:37.920 +[Speaker 1]: All right, great. Speaking of putting people + +00:05:37.920 --> 00:05:41.600 +on the spot, you might see a face in the room + +00:05:41.600 --> 00:05:43.680 +that you might have seen last year, + +00:05:43.840 --> 00:05:45.700 +but we've got Flobby Koda in the room as + +00:05:45.700 --> 00:05:49.400 +well, who you might not have heard of him but + +00:05:49.400 --> 00:05:51.140 +he's been doing a lot of the check-ins today + +00:05:51.140 --> 00:05:53.360 +for most of the speakers and he's been doing + +00:05:53.360 --> 00:05:54.520 +a wonderful job at it. + +00:05:54.520 --> 00:05:56.560 +Florian, do you want to say a word if only to + +00:05:56.560 --> 00:05:58.140 +say you're being put on the spot? + +00:06:00.620 --> 00:06:02.840 +[Speaker 4]: I have nothing prepared really but I just + +00:06:02.840 --> 00:06:05.100 +want to thank everybody who could, + +00:06:05.380 --> 00:06:07.260 +with who I could talk in between. + +00:06:07.360 --> 00:06:10.420 +So I had like wonderful 20 to 30 minute talks + +00:06:10.580 --> 00:06:12.900 +with every speaker before they get into the + +00:06:12.900 --> 00:06:15.100 +live Q&A or the live presentation. + +00:06:15.780 --> 00:06:16.920 +Thanks a lot for everybody, + +00:06:16.920 --> 00:06:19.640 +I learned quite a lot and also thank you for + +00:06:19.640 --> 00:06:22.360 +all of you guys and everyone for having such + +00:06:22.360 --> 00:06:24.060 +a beautiful experience here. + +00:06:25.960 --> 00:06:28.060 +[Speaker 1]: Well, thank you. We're glad to have you. + +00:06:29.180 --> 00:06:31.120 +Okay, Sasha, Unless you've got anything else + +00:06:31.120 --> 00:06:33.880 +to add, and Corwin, have you fixed your + +00:06:33.880 --> 00:06:38.400 +microphone? Yes, we can hear you Corwin. + +00:06:38.400 --> 00:06:39.160 +Okay, well let's start again. + +00:06:39.160 --> 00:06:40.440 +Let's forget everything you've heard for the + +00:06:40.440 --> 00:06:41.640 +last 20 minutes. We'll start again. + +00:06:41.640 --> 00:06:42.540 +I'm just kidding. + +00:06:35.280 --> 00:06:45.560 +[Speaker 3]: You tell me. No, I mean, + +00:06:45.560 --> 00:06:47.760 +I don't know what I could possibly add to all + +00:06:47.760 --> 00:06:50.200 +that. I think we absolutely should get some + +00:06:50.200 --> 00:06:51.500 +rest, save it for tomorrow. + +00:06:52.540 --> 00:06:55.240 +I was just looking through these notes in the + +00:06:55.240 --> 00:06:57.480 +couple of minutes that I had between my own + +00:06:57.480 --> 00:06:59.980 +talk. Thank you for your help with that. + +00:07:00.720 --> 00:07:02.420 +But also, especially you, + +00:07:02.420 --> 00:07:08.040 +Sasha, and Leo, and everybody in the IRC over + +00:07:08.040 --> 00:07:10.440 +the months here, just encouraging me to keep + +00:07:10.440 --> 00:07:12.460 +going when it was just seemed futile. + +00:07:13.580 --> 00:07:15.780 +Even though it just really turned into a + +00:07:15.780 --> 00:07:18.120 +brain dump, I appreciate getting the chance + +00:07:18.120 --> 00:07:20.320 +of feeling like that process is more + +00:07:20.320 --> 00:07:22.540 +documented now than it was before I did it. + +00:07:22.540 --> 00:07:23.440 +Hey, that's not nothing, + +00:07:23.440 --> 00:07:25.440 +right? And that's why we all do this. + +00:07:25.440 --> 00:07:28.360 +And I don't know, Floey really said it + +00:07:28.360 --> 00:07:30.520 +perfect. Like, I appreciate the chance to get + +00:07:30.520 --> 00:07:31.560 +to work on this with you. + +00:07:31.560 --> 00:07:32.700 +I learned so much. + +00:07:36.400 --> 00:07:38.980 +[Speaker 1]: Amazing. Well, you know what? + +00:07:39.020 --> 00:07:41.380 +Without further ado, I believe it's time for + +00:07:41.380 --> 00:07:42.840 +us to say goodbye for day 1. + +00:07:42.840 --> 00:07:45.340 +We will obviously be seeing you tomorrow at 9 + +00:07:45.340 --> 00:07:48.740 +a.m. I think the schedule is actually stating + +00:07:48.740 --> 00:07:49.840 +we're starting at 8.59am. + +00:07:50.500 --> 00:07:51.220 +Is it correct? + +00:07:51.220 --> 00:07:53.980 +[Speaker 0]: Yes, I think the chrono tab will kick in. + +00:07:54.020 --> 00:07:56.020 +The video is like 6 minutes long. + +00:07:57.620 --> 00:07:58.660 +Actually, maybe I should, + +00:07:58.660 --> 00:08:00.640 +I'll give it an extra minute for safety, + +00:08:00.660 --> 00:08:03.660 +I think. Yeah, yeah. I'll tweak the timing. + +00:08:04.340 --> 00:08:06.420 +[Speaker 1]: I think that'd be wise for people we do not + +00:08:06.420 --> 00:08:08.460 +know basically 8.59 is when I brush my teeth + +00:08:08.460 --> 00:08:10.680 +before going live so we might be in a very + +00:08:10.680 --> 00:08:12.740 +awkward spot for me to introduce the talk if + +00:08:12.740 --> 00:08:15.420 +it happens. Well anyway folks thank you very + +00:08:15.420 --> 00:08:18.500 +much for watching and we'll see you tomorrow. + +00:08:19.360 --> 00:08:31.320 +Bye-bye! All right, I have closed the bbb oh + +00:08:31.320 --> 00:08:34.780 +it's restarting apparently oh it's we're back + +00:08:34.780 --> 00:08:37.480 +on the q and a between stephan and let's + +00:08:37.480 --> 00:08:47.420 +close this hey we are off + +00:08:44.700 --> 00:08:52.540 +[Speaker 3]: we are clear I am pausing the recording I + +00:08:52.540 --> 00:08:54.280 +don't have permission to do that in this + +00:08:54.280 --> 00:08:54.780 +room. diff --git a/2023/captions/emacsconf-2023-unentangling--unentangling-projects-and-repos--alexey-bochkarev--main.vtt b/2023/captions/emacsconf-2023-unentangling--unentangling-projects-and-repos--alexey-bochkarev--main.vtt index 272d8d41..a10fafef 100644 --- a/2023/captions/emacsconf-2023-unentangling--unentangling-projects-and-repos--alexey-bochkarev--main.vtt +++ b/2023/captions/emacsconf-2023-unentangling--unentangling-projects-and-repos--alexey-bochkarev--main.vtt @@ -1,571 +1,788 @@ WEBVTT -00:00.000 --> 00:04.000 -Hello, I'm Alexey Bochkarev, and I'm talking about -00:04.000 --> 00:07.000 -unentangling projects and repositories, +00:00:01.220 --> 00:00:03.580 +Hello, I'm Alexey Bychkadov, -00:07.000 --> 00:10.000 -or maybe entangling them, depending on how you look at that. +00:00:03.740 --> 00:00:06.899 +and I'm talking about unentangling projects -00:12.000 --> 00:15.000 -So that's going to be a short workflow note. +00:00:06.899 --> 00:00:09.679 +and repositories, or maybe entangling them, -00:15.000 --> 00:19.000 +00:00:09.679 --> 00:00:11.340 +depending on how you look at that. + +00:00:12.980 --> 00:00:15.740 +So there's going to be a short workflow note. + +00:00:16.619 --> 00:00:19.460 I work as a researcher, -00:19.000 --> 00:23.000 -so there are three main components to my work, I guess. +00:00:19.940 --> 00:00:23.380 +So there are 3 main components to my work, + +00:00:23.680 --> 00:00:26.000 +I guess. First, I think, + +00:00:26.000 --> 00:00:28.140 +so I try to come up with a new ideas that + +00:00:28.140 --> 00:00:31.580 +usually results in some collection of notes I + +00:00:31.580 --> 00:00:33.760 +have. Second, I try things out. + +00:00:33.760 --> 00:00:36.180 +So it usually means that I write code. + +00:00:36.820 --> 00:00:38.540 +And third, I communicate. + +00:00:38.739 --> 00:00:40.739 +So I prepare papers, presentations, + +00:00:41.260 --> 00:00:43.160 +memos, and so on and so forth. + +00:00:44.120 --> 00:00:47.940 +And so The workflow problem I had is + +00:00:49.160 --> 00:00:53.000 +sometimes all this does not really fit into a + +00:00:53.000 --> 00:00:56.180 +concept of a single repository per project. + +00:00:56.200 --> 00:00:57.540 +So I might want to have, + +00:00:58.180 --> 00:01:01.160 +for example, a source code in 1 repository + +00:01:01.320 --> 00:01:03.480 +and then I would like to have a paper in + +00:01:03.480 --> 00:01:05.200 +another 1 and then I want to have a + +00:01:05.200 --> 00:01:08.620 +collection of notes somewhere unrelated to + +00:01:08.620 --> 00:01:12.500 +those 2. Emacs is pretty good at supporting + +00:01:12.500 --> 00:01:15.840 +your workflows and I figured I should share + +00:01:16.240 --> 00:01:18.100 +what I used and what works for me. + +00:01:20.560 --> 00:01:24.900 +So, from the technical perspective, + +00:01:26.479 --> 00:01:27.940 +things are pretty easy. + +00:01:27.940 --> 00:01:30.720 +So I use a collection of pretty standard + +00:01:30.720 --> 00:01:33.240 +components of Emacs. So it's a projectile org + +00:01:33.240 --> 00:01:35.360 +mode with this capture templates and other + +00:01:35.360 --> 00:01:38.100 +things. Then I sustained a collection of + +00:01:38.100 --> 00:01:40.360 +nodes in something that is called org-roam, + +00:01:40.680 --> 00:01:43.520 +which is essentially it's a glorified + +00:01:43.580 --> 00:01:45.580 +collection of org mode files. + +00:01:46.100 --> 00:01:48.160 +Then I used directory local variables, + +00:01:48.260 --> 00:01:51.140 +maybe a C text to jump through the source + +00:01:51.140 --> 00:01:54.920 +code and very, very little LELisp glue to + +00:01:54.920 --> 00:01:57.620 +make this all work, but that's not really + +00:01:58.620 --> 00:02:00.400 +rocket science. So that's the workflow I + +00:02:00.400 --> 00:02:02.180 +would like to talk about today. + +00:02:04.860 --> 00:02:07.120 +So what I mean by all that, + +00:02:07.960 --> 00:02:10.280 +it's pretty straightforward to make Emacs, + +00:02:10.680 --> 00:02:12.720 +to make it easy to jump around a single + +00:02:12.720 --> 00:02:14.980 +repository in Emacs. So if I, + +00:02:15.060 --> 00:02:16.640 +Now I have Doom Emacs, + +00:02:16.640 --> 00:02:18.740 +but that's not really specific to a Doom + +00:02:19.120 --> 00:02:23.160 +that'll work in any Emacs configuration. + +00:02:23.400 --> 00:02:27.720 +Well, key bindings might be different, + +00:02:27.720 --> 00:02:28.820 +but that's not the point, + +00:02:28.820 --> 00:02:29.940 +I guess, for the workflow. + +00:02:30.060 --> 00:02:31.960 +So if I hit space 2 times, + +00:02:31.960 --> 00:02:34.640 +I have all the list of files within my + +00:02:34.640 --> 00:02:38.200 +project, right? So if I create a couple of + +00:02:38.200 --> 00:02:42.780 +custom shortcuts, so if I press a magic + +00:02:42.780 --> 00:02:45.280 +button, hyper-OP, don't worry about + +00:02:45.280 --> 00:02:47.460 +hyper-key. So I want it to have a modifier + +00:02:47.560 --> 00:02:50.140 +key all to myself, so that would, + +00:02:50.320 --> 00:02:53.200 +no program on my computer would use that + +00:02:53.200 --> 00:02:55.680 +except Emacs. Emacs would use that only when + +00:02:55.680 --> 00:02:57.540 +I tell it to, so I have a hyper key instead + +00:02:57.540 --> 00:03:00.720 +of caps lock. That's pretty easy to do in GNU + +00:03:00.720 --> 00:03:04.940 +Linux system. So when I press this magic + +00:03:04.940 --> 00:03:07.400 +keys, I have a menu that's a normal key + +00:03:07.400 --> 00:03:09.940 +binding. Yeah, essentially an Emacs. + +00:03:10.240 --> 00:03:12.260 +And if I hit, for example, + +00:03:12.540 --> 00:03:15.200 +R, I end up in a readme file within this + +00:03:15.200 --> 00:03:17.320 +specific repository I was sitting in, + +00:03:17.320 --> 00:03:19.000 +right? So if I want to document something + +00:03:19.000 --> 00:03:21.420 +real quick, I go to the readme file. + +00:03:21.680 --> 00:03:25.280 +Then I could go to a change log file, + +00:03:25.280 --> 00:03:27.440 +right? So I have a list of changes and the + +00:03:27.440 --> 00:03:29.480 +way it works usually, for example, + +00:03:29.480 --> 00:03:31.140 +if I'm working in some code, + +00:03:32.220 --> 00:03:34.280 +I created a couple of dummy files in there, + +00:03:34.280 --> 00:03:36.560 +so I'm working in some code and then I + +00:03:36.560 --> 00:03:41.780 +implemented something and I can just use the + +00:03:42.020 --> 00:03:46.860 +org mode capture mechanisms to keep track of -00:23.000 --> 00:27.000 -First, I think, so I try to come up with new ideas, +00:03:46.860 --> 00:03:48.880 +what I want to discuss with colleagues next -00:27.000 --> 00:31.000 -and that usually results in some collection of notes I have. +00:03:48.880 --> 00:03:52.160 +time. For example, I could just hit capture -00:31.000 --> 00:35.000 -Second, I try things out, so it usually means that I write code. +00:03:52.440 --> 00:03:56.200 +repo specific changelog entry and I -00:35.000 --> 00:39.000 -And third, I communicate, so I prepare papers, +00:03:56.200 --> 00:04:02.620 +implemented a feature and I can continue -00:39.000 --> 00:43.000 -presentations, memos, and so on and so forth. +00:04:02.620 --> 00:04:04.340 +working without this context switching. -00:43.000 --> 00:47.000 -And so the workflow problem I had is +00:04:04.340 --> 00:04:06.500 +And then if I want to go to the change log, -00:47.000 --> 00:51.000 -sometimes all this does not really fit +00:04:06.880 --> 00:04:11.320 +well, it is there. And next time I talk to -00:51.000 --> 00:55.000 -into a concept of a single repository per project, +00:04:11.320 --> 00:04:12.720 +the colleagues about the source code, -00:55.000 --> 00:59.000 -so I might want to have, for example, +00:04:12.720 --> 00:04:14.340 +I can open the change log and go through -00:59.000 --> 01:03.000 -a source code in one repository, and then I would like to have a paper +00:04:14.340 --> 00:04:16.800 +entries 1 by 1 and discuss what I haven't -01:03.000 --> 01:07.000 -in another one, and then I want to have a collection of notes somewhere +00:04:16.800 --> 00:04:18.980 +implemented last time. -01:07.000 --> 01:11.000 -unrelated to those two. And yeah, +00:04:19.540 --> 00:04:22.580 +I could go to project specific, -01:11.000 --> 01:15.000 -Emacs is pretty good at supporting your workflows, and I figured I should +00:04:24.100 --> 00:04:26.320 +sorry, to repo specific to-do list. -01:15.000 --> 01:19.000 -share what I use and what works for me. +00:04:26.320 --> 00:04:29.020 +And I have list of to-dos that would leave -01:19.000 --> 01:23.000 -So, +00:04:29.020 --> 00:04:31.320 +within a repository. And for example, -01:23.000 --> 01:27.000 -from the technical perspective, things are +00:04:31.320 --> 00:04:34.020 +I could have a high level structure here, -01:27.000 --> 01:31.000 -pretty easy, so I use a collection of pretty standard components +00:04:34.640 --> 00:04:36.460 +work distribution between team members and -01:31.000 --> 01:35.000 -of Emacs, so it's a projectile org-mode with its capture templates and other +00:04:36.460 --> 00:04:39.380 +other things that sort of face outer world, -01:35.000 --> 01:39.000 -things. Then I sustain a collection of notes in something +00:04:39.380 --> 00:04:41.260 +so to speak. And of course, -01:39.000 --> 01:43.000 -that is called org-roam, which is, well, essentially, it's a glorified +00:04:42.840 --> 00:04:45.400 +there are very many ways to jump through the -01:43.000 --> 01:47.000 -collection of org-mode files. Then I use directory +00:04:45.400 --> 00:04:46.420 +source code conveniently. -01:47.000 --> 01:51.000 -local variables, maybe a ctext to jump through the source code, +00:04:46.560 --> 00:04:49.960 +I ended up not using language servers I use a -01:51.000 --> 01:55.000 -and very, very little Elisp glue to make this +00:04:49.960 --> 00:04:53.320 +special program called ctags and so the way -01:55.000 --> 01:59.000 -all work, but that's not really rocket science. +00:04:53.320 --> 00:04:56.420 +it works is just I call projectile regenerate -01:59.000 --> 02:03.000 -So that's the workflow I would like to talk about today. +00:04:56.680 --> 00:05:00.460 +tags and it creates the special tags file -02:03.000 --> 02:07.000 -So, what I mean by all that, +00:05:00.460 --> 00:05:05.260 +within the repository and then I can again -02:07.000 --> 02:11.000 -it's pretty straightforward to make +00:05:06.240 --> 00:05:11.260 +run it I usually just hit a single keystroke -02:11.000 --> 02:15.000 -it easy to jump around a single repository in Emacs. +00:05:11.520 --> 00:05:14.060 +and here is all the symbols that are there in -02:15.000 --> 02:19.000 -Now, I have Doom Emacs, but that's not really specific to Doom. +00:05:14.060 --> 00:05:17.160 +my source code, regardless of the language, -02:19.000 --> 02:23.000 -That'll work in any Emacs configuration. +00:05:17.160 --> 00:05:19.540 +right? So I can jump to the main function and -02:23.000 --> 02:27.000 -Well, kbindings might be +00:05:19.540 --> 00:05:21.020 +that'll be a C++ file. -02:27.000 --> 02:31.000 -different, but that's not the point, I guess, for the workflow. So, if I hit space +00:05:21.020 --> 00:05:22.740 +Or I could go to the super function, -02:31.000 --> 02:35.000 -two times, I have all the list of files within my project. +00:05:22.740 --> 00:05:25.340 +which I had in my Python file. -02:35.000 --> 02:39.000 -So, if I create a couple of custom shortcuts, +00:05:25.380 --> 00:05:27.120 +And this comes in pretty convenient if I have -02:39.000 --> 02:43.000 -so if I press a magic button, +00:05:27.120 --> 00:05:28.220 +a mixture of languages. -02:43.000 --> 02:47.000 -hyperlp, don't worry about hyperkey, so I want it to have a +00:05:28.360 --> 00:05:30.800 +Sometimes I can have some algorithm specific -02:47.000 --> 02:51.000 -modifier key all to myself, so that would, no program +00:05:30.800 --> 00:05:33.000 +code in Julia, and then I can have some -02:51.000 --> 02:55.000 -on my computer would use that except Emacs, and Emacs would +00:05:33.280 --> 00:05:35.380 +Python glue within the same source code -02:55.000 --> 02:59.000 -use that only when I tell it to, so I have a hyperkey instead of caps lock, that's pretty easy +00:05:35.380 --> 00:05:37.940 +repository, it makes it really convenient to -02:59.000 --> 03:03.000 -to do in GNU Linux system. So, +00:05:39.720 --> 00:05:41.780 +jump between all of those. -03:03.000 --> 03:07.000 -when I press this magic keys, I have a menu that's a normal +00:05:43.080 --> 00:05:46.980 +But I have a few problems here. -03:07.000 --> 03:11.000 -kbinding, yeah, essentially in Emacs, and +00:05:47.360 --> 00:05:49.800 +So just to give you a little bit of context, -03:11.000 --> 03:15.000 -if I hit, for example, R, I end up in a readme file within +00:05:49.860 --> 00:05:53.100 +for example, here is a real project that -03:15.000 --> 03:19.000 -this specific repository I was sitting in, right, so if I want to document something +00:05:53.100 --> 00:05:54.440 +corresponds to real paper. -03:19.000 --> 03:23.000 -real quick, I go to the readme file. Then I could have, I could +00:05:55.840 --> 00:05:59.060 +I have a single note about that project where -03:23.000 --> 03:27.000 -go to a changelog file, right, so I have a list of changes +00:05:59.060 --> 00:06:01.780 +I keep all the things related to that project -03:27.000 --> 03:31.000 -and the way it works, usually, for example, if I'm working on some code, +00:06:01.780 --> 00:06:03.260 +here, but that's a private note. -03:31.000 --> 03:35.000 -I created a couple of dummy files in there, so +00:06:03.260 --> 00:06:04.860 +So for example, again, -03:35.000 --> 03:39.000 -I'm working on some code, and then I implemented something, and I can +00:06:04.860 --> 00:06:08.040 +I hit a special key that invokes my org-roam -03:39.000 --> 03:43.000 -just use the org mode capture +00:06:08.640 --> 00:06:12.680 +function that gives me a menu of my notes. -03:43.000 --> 03:47.000 -mechanisms to keep track of what +00:06:13.080 --> 00:06:15.200 +And so here is the paper, -03:47.000 --> 03:51.000 -I want to discuss with colleagues next time, for example, I could just hit +00:06:15.200 --> 00:06:17.500 +essentially. And I can have a paper timeline, -03:51.000 --> 03:55.000 -capture repo specific changelog entry +00:06:17.900 --> 00:06:21.180 +and I can have a list of all the dates what -03:55.000 --> 03:59.000 -and I implemented a feature +00:06:21.180 --> 00:06:23.940 +happened to the paper with links to my email, -03:59.000 --> 04:03.000 -and I can continue working +00:06:24.060 --> 00:06:27.700 +right? So for example if I hit this link that -04:03.000 --> 04:07.000 -without this context switching, and then if I want to go to the changelog, +00:06:27.700 --> 00:06:30.160 +will open a specific email and that doesn't -04:07.000 --> 04:11.000 -well, it is there, and next time I talk +00:06:30.160 --> 00:06:31.280 +work outside of my computer, -04:11.000 --> 04:15.000 -to the colleagues about the source code, I can open the changelog and go through entries one by one +00:06:31.280 --> 00:06:33.140 +doesn't make any sense to keep it in the -04:15.000 --> 04:19.000 -and discuss what I have implemented last time. +00:06:33.340 --> 00:06:35.500 +outer world facing repository, -04:19.000 --> 04:23.000 -I could go to project specific +00:06:35.500 --> 00:06:37.360 +for example. So that's something to myself, -04:23.000 --> 04:27.000 -to, sorry, to repo specific to-do list, and I have +00:06:37.360 --> 00:06:41.420 +right? Sometimes I want to have like this -04:27.000 --> 04:31.000 -a list of to-dos that would live within a repository, and +00:06:41.480 --> 00:06:43.940 +list of working notes, -04:31.000 --> 04:35.000 -for example, I could have a high-level structure here, +00:06:43.940 --> 00:06:45.780 +right, that contain like, -04:35.000 --> 04:39.000 -work distribution between team members and other things that sort of face +00:06:45.780 --> 00:06:49.200 +for example, yeah, I might produce this kind -04:39.000 --> 04:43.000 -the world, so to speak, and of course, +00:06:49.200 --> 00:06:50.620 +of things for internal discussion, -04:43.000 --> 04:47.000 -there are very many ways to jump through the source code conveniently, +00:06:50.640 --> 00:06:52.500 +right? It has some marks, -04:47.000 --> 04:51.000 -I ended up not using language servers, I used a special program called +00:06:52.500 --> 00:06:54.620 +it has some margin notes and things like -04:51.000 --> 04:55.000 -ctags, and so the way it works is just I call +00:06:54.620 --> 00:06:57.620 +that. Maybe again, health-based ideas that -04:55.000 --> 04:59.000 -projectile regenerate tags, and it creates the special +00:06:57.620 --> 00:07:00.300 +may or may not end up in a repository, -04:59.000 --> 05:03.000 -tags file within the repository, +00:07:01.020 --> 00:07:03.220 +in the final paper or in a source code, -05:03.000 --> 05:07.000 -and then I can, again, run +00:07:03.220 --> 00:07:05.880 +but still I want to have it somewhere. -05:07.000 --> 05:11.000 -I usually just hit a single keystroke, +00:07:07.120 --> 00:07:08.600 +And well, long story short, -05:11.000 --> 05:15.000 -and here is all the symbols that are there in my +00:07:08.800 --> 00:07:11.680 +I need a project folder that would be -05:15.000 --> 05:19.000 -source code, regardless of the language, right, so I can jump to the main function +00:07:11.680 --> 00:07:16.120 +unrelated to the source code or to the source -05:19.000 --> 05:23.000 -and that'll be a C++ file, or I could go to the super function, which I +00:07:16.120 --> 00:07:19.440 +code repository or to the paper itself or a -05:23.000 --> 05:27.000 -had in my Python file, and this comes in pretty convenient if I have +00:07:19.440 --> 00:07:22.780 +final report, right? And 1 way, -05:27.000 --> 05:31.000 -a mixture of languages, so sometimes I can have some algorithm-specific code +00:07:22.960 --> 00:07:24.720 +as usual, there are multiple ways to achieve -05:31.000 --> 05:35.000 -in Julia, and then I can have some Python glue within the same +00:07:24.720 --> 00:07:27.660 +that, I suppose. And 1 way to do that is, -05:35.000 --> 05:39.000 -source code repository, and it makes it really convenient to jump +00:07:29.040 --> 00:07:33.160 +so I create a special folder within my -05:39.000 --> 05:43.000 -between all of those, right, +00:07:33.160 --> 00:07:38.100 +org-roam storage. So it's a special folder -05:43.000 --> 05:47.000 -but I have a few problems here, +00:07:38.240 --> 00:07:40.940 +outside of Henry Postories that got backed up -05:47.000 --> 05:51.000 -just to give you a little bit of context, for example, here is the +00:07:40.940 --> 00:07:43.940 +to my hard drive with certain redundancy, -05:51.000 --> 05:55.000 -a real project that corresponds to a real paper, +00:07:44.080 --> 00:07:46.720 +but I don't really need like version control, -05:55.000 --> 05:59.000 -I have a single note about that project, +00:07:46.720 --> 00:07:48.280 +full blown version control for that. -05:59.000 --> 06:03.000 -where I keep all the things related to that project here, but that's a private +00:07:48.280 --> 00:07:49.760 +I'm okay with just having a couple of -06:03.000 --> 06:07.000 -note, so for example, again, I hit a special key that +00:07:49.760 --> 00:07:52.900 +backups, right? So this is the folder you see -06:07.000 --> 06:11.000 -invokes my org-roam function that gives me a menu of my +00:07:52.900 --> 00:07:55.320 +here. So PKB stands for personal knowledge -06:11.000 --> 06:15.000 -notes, and so here is the paper, +00:07:55.320 --> 00:07:58.020 +base, and I have a folder project notes in -06:15.000 --> 06:19.000 -essentially, and I can have a paper timeline, and I can +00:07:58.020 --> 00:08:01.520 +there, right? So, and How does it work? -06:19.000 --> 06:23.000 -have a list of all the dates, what happened to the paper, with links +00:08:01.680 --> 00:08:04.940 +So I have a folder per project in there, -06:23.000 --> 06:27.000 -to my email, right, so for example, if I hit this link, +00:08:05.020 --> 00:08:07.900 +essentially. And here I can have all the -06:27.000 --> 06:31.000 -that'll open a specific email, and that doesn't work outside of my +00:08:07.900 --> 00:08:11.480 +stuff that kind of belongs to me and I do not -06:31.000 --> 06:35.000 -computer, it doesn't make any sense to keep it in the outer world-facing +00:08:11.480 --> 00:08:14.180 +publish it anywhere. And then, -06:35.000 --> 06:39.000 -repository, for example, so that's something to myself, right, sometimes I want +00:08:15.420 --> 00:08:20.280 +For example, a source code repository knows -06:39.000 --> 06:43.000 -to have, like, this list of +00:08:20.460 --> 00:08:23.240 +about that folder and a paper repository -06:43.000 --> 06:47.000 -working notes, right, that contain, like, for example, +00:08:23.460 --> 00:08:25.120 +knows about that folder. -06:47.000 --> 06:51.000 -I might produce this kind of things for internal discussion, right, +00:08:25.120 --> 00:08:26.820 +And anything else that might leave in -06:51.000 --> 06:55.000 -it has some marks, it has some margin notes, and things like that, +00:08:26.820 --> 00:08:28.820 +separate places all over my system can know -06:55.000 --> 06:59.000 -maybe, again, health-based ideas that may or may not end up +00:08:28.820 --> 00:08:30.800 +about that folder. How do I achieve that? -06:59.000 --> 07:03.000 -in a repository, in a final paper, or in a source code, +00:08:30.940 --> 00:08:33.539 +Well, essentially this is 1 of the use cases -07:03.000 --> 07:07.000 -but still I want to have it somewhere, and +00:08:34.400 --> 00:08:35.940 +for the directory local variables, -07:07.000 --> 07:11.000 -well, long story short, I need a project folder +00:08:36.360 --> 00:08:39.100 +right? So for example, -07:11.000 --> 07:15.000 -that would be unrelated to the source code, or +00:08:39.520 --> 00:08:41.539 +how does it work from the user perspective? -07:15.000 --> 07:19.000 -to the source code repository, or to the paper itself, +00:08:41.580 --> 00:08:43.760 +So if I hit a special key, -07:19.000 --> 07:23.000 -or a final report, right, and one way, +00:08:44.380 --> 00:08:46.900 +oh, sorry, if I hit a special key, -07:23.000 --> 07:27.000 -as usual, there are multiple ways to achieve that, I suppose, and one way to do that +00:08:48.280 --> 00:08:51.060 +that would be open project. -07:27.000 --> 07:31.000 -is, so, I create +00:08:51.680 --> 00:08:55.920 +And then for example, org mode file, -07:31.000 --> 07:35.000 -a special folder within my org-roam +00:08:55.920 --> 00:08:58.260 +right? So this is my personal notes about the -07:35.000 --> 07:39.000 -storage, so it's a special folder outside of any +00:08:58.260 --> 00:09:01.260 +maxconf, not specifically about this very -07:39.000 --> 07:43.000 -repositories that got backed up to my hard drive, with +00:09:01.260 --> 00:09:02.580 +talk, but I can have, you know, -07:43.000 --> 07:47.000 -certain redundancy, but I don't really need, like, version control, full-blown +00:09:02.580 --> 00:09:04.580 +the house baked ideas here again, -07:47.000 --> 07:51.000 -version control for that, I'm okay with just having a couple of backups, right, so +00:09:04.760 --> 00:09:06.680 +presentation tools and things like that. -07:51.000 --> 07:55.000 -this is the folder you see here, so pkb stands for personal knowledge +00:09:07.440 --> 00:09:09.860 +And how does that happen? -07:55.000 --> 07:59.000 -base, and I have a folder, project notes in there, right, so +00:09:09.940 --> 00:09:13.080 +If we try to like look at the code, -07:59.000 --> 08:03.000 -and, how does it work, so I have a +00:09:13.080 --> 00:09:14.660 +the e-list magic here, -08:03.000 --> 08:07.000 -folder per project in there, essentially, and here I can +00:09:15.040 --> 00:09:17.560 +what is happening is it's just a couple of -08:07.000 --> 08:11.000 -have all the stuff that is, that kind of belongs to me, and I +00:09:17.560 --> 00:09:18.720 +lines of code, in fact, -08:11.000 --> 08:15.000 -do not publish it anywhere, and then +00:09:18.720 --> 00:09:21.100 +so let me just press Control, -08:15.000 --> 08:19.000 -for example, a source code +00:09:22.540 --> 00:09:28.140 +help key. And so the key I was pressing is -08:19.000 --> 08:23.000 -repository knows about that folder, and a paper repository +00:09:28.140 --> 00:09:30.220 +open project or my file. -08:23.000 --> 08:27.000 -knows about that folder, and anything else that might live in separate +00:09:30.480 --> 00:09:32.220 +And so what we see here, -08:27.000 --> 08:31.000 -places all over my system can know about that folder, and how do I achieve that, +00:09:32.220 --> 00:09:34.760 +there is a single, so it's just a call to a -08:31.000 --> 08:35.000 -well, essentially, this is one of the use cases for the directory +00:09:34.760 --> 00:09:37.200 +find file function. So I opened that file and -08:35.000 --> 08:39.000 -local variables, right, so, for example, +00:09:37.200 --> 00:09:40.580 +there is a special function that figures out -08:39.000 --> 08:43.000 -how does it work from the user perspective, so if I hit a special +00:09:40.580 --> 00:09:44.620 +what is the like umbrella project nose file -08:43.000 --> 08:47.000 -key, oh, sorry, if I hit a special key +00:09:44.620 --> 00:09:46.600 +and that's, again, that's very easy. -08:47.000 --> 08:51.000 -that would be open project +00:09:47.380 --> 00:09:51.420 +So essentially if a variable describing this, -08:51.000 --> 08:55.000 -and then, for example, +00:09:51.820 --> 00:09:54.860 +the name for that project is defined, -08:55.000 --> 08:59.000 -org mode file, right, so this is my personal notes about the emacs conf, not +00:09:54.860 --> 00:09:57.440 +then I use that as my project folder name. -08:59.000 --> 09:03.000 -specifically about this very talk, but I can have, you know, +00:09:57.440 --> 00:09:59.700 +If not, I take the project name from the -09:03.000 --> 09:07.000 -half-baked ideas here, again, presentation tools, and things like that, +00:10:00.480 --> 00:10:03.340 +project tile. Well, that's pretty much it. -09:07.000 --> 09:11.000 -and how does that happen if we try to +00:10:03.340 --> 00:10:08.800 +And how do I define this variable? -09:11.000 --> 09:15.000 -look at the code, the elisp magic here, what +00:10:09.280 --> 00:10:12.500 +Is essentially there is this magical file in -09:15.000 --> 09:19.000 -is happening is, it's just a couple lines of code, in fact, so +00:10:12.500 --> 00:10:14.160 +a folder called dear locals, -09:19.000 --> 09:23.000 -let me just press control, help +00:10:14.440 --> 00:10:17.380 +elist. And I just put it there. -09:23.000 --> 09:27.000 -key, and so the key I was +00:10:17.440 --> 00:10:20.380 +And then whenever I go into that folder or -09:27.000 --> 09:31.000 -pressing is open project org mode file, and so +00:10:20.380 --> 00:10:22.300 +any of its children folders, -09:31.000 --> 09:35.000 -what we see here, there is a single, so it's just a call to a find +00:10:22.300 --> 00:10:23.860 +I get this variable defined. -09:35.000 --> 09:39.000 -file function, so I open that file, and there is a special function that +00:10:24.840 --> 00:10:26.260 +And that's pretty much it. -09:39.000 --> 09:43.000 -figures out what is the, like, umbrella +00:10:26.280 --> 00:10:28.880 +That's how it works for me. -09:43.000 --> 09:47.000 -project notes file, and that's, again, that's very easy, so +00:10:31.860 --> 00:10:34.620 +I guess 1 thing that I wanted to emphasize -09:47.000 --> 09:51.000 -essentially, if a variable describing this +00:10:35.380 --> 00:10:37.360 +specifically about that is of course, -09:51.000 --> 09:55.000 -the name for that project is defined, then +00:10:37.940 --> 00:10:39.720 +it is a time tracking, -09:55.000 --> 09:59.000 -I use that as my project folder name, if not, I take the project name from the +00:10:39.720 --> 00:10:42.260 +right? So what is I find especially important -09:59.000 --> 10:03.000 -project towel, and well, that's pretty much it, +00:10:42.260 --> 00:10:44.280 +when I work in something and I want to clock -10:03.000 --> 10:07.000 -and how do I define this +00:10:44.340 --> 00:10:47.620 +time, I usually do not want this information -10:07.000 --> 10:11.000 -variable is, essentially, there is this +00:10:47.800 --> 00:10:50.340 +to be in a source code repository or in a -10:11.000 --> 10:15.000 -magical file in a folder called dear locals elisp, +00:10:50.340 --> 00:10:52.600 +paper repository because other people I work -10:15.000 --> 10:19.000 -and I just put it there, and then, whenever I +00:10:52.600 --> 00:10:54.840 +with will not be particularly happy about -10:19.000 --> 10:23.000 -go into that folder, or any of its children folders, I get this +00:10:54.840 --> 00:10:57.540 +that, especially if most of them do not use -10:23.000 --> 10:27.000 -variable defined, and that's pretty much it, that's how +00:10:57.540 --> 00:11:00.720 +Emacs and they'll see this long list of org -10:27.000 --> 10:31.000 -it works for me. +00:11:00.720 --> 00:11:03.820 +clocked data and that doesn't look nice in a -10:31.000 --> 10:35.000 -I guess one thing that I wanted to emphasize +00:11:03.820 --> 00:11:07.540 +plain text format. So what I usually do if I -10:35.000 --> 10:39.000 -specifically about that is, of course, it's +00:11:07.540 --> 00:11:10.240 +want to clock in some time and then later -10:39.000 --> 10:43.000 -time tracking, right, so what I find especially important when I work in +00:11:10.240 --> 00:11:12.560 +analyze what I've been spending time on, -10:43.000 --> 10:47.000 -something, and I want to clock time, I usually do not want +00:11:12.560 --> 00:11:16.880 +so I go to my org mode file and I go to the, -10:47.000 --> 10:51.000 -this information to be in a source code repository or in a paper repository +00:11:16.880 --> 00:11:21.820 +my current project to-dos and I clock in -10:51.000 --> 10:55.000 -because other people I work with will not be particularly happy about that +00:11:21.820 --> 00:11:23.940 +there. And that's how it works. -10:55.000 --> 10:59.000 -especially if most of them do not use Emacs, and they will see +00:11:23.940 --> 00:11:28.860 +So again, what comes in handy, -10:59.000 --> 11:03.000 -this long list of org clocked data, and that doesn't look +00:11:28.860 --> 00:11:31.500 +if I hit Control O, I just go back to the -11:03.000 --> 11:07.000 -nice in a plain text format, so what I usually +00:11:31.500 --> 00:11:34.240 +file I jumped in into and that's I jumped -11:07.000 --> 11:11.000 -do if I want to clock in some time, and then later analyze what I've +00:11:34.240 --> 00:11:35.900 +from so that's also pretty handy. -11:11.000 --> 11:15.000 -been spending time on, so I go to my org mode file +00:11:36.220 --> 00:11:38.800 +So again no no rocket science in there. -11:15.000 --> 11:19.000 -and I go to my current project +00:11:40.380 --> 00:11:42.660 +So I create a directory local variable that -11:19.000 --> 11:23.000 -to-dos, and I clock in there, and that's +00:11:42.660 --> 00:11:46.100 +helps me to figure out what umbrella project -11:23.000 --> 11:27.000 -how it works, so again +00:11:46.620 --> 00:11:49.720 +does this particular folder belongs to. -11:27.000 --> 11:31.000 -what comes in handy if I hit ctrl-o, I just go +00:11:49.940 --> 00:11:53.260 +And this way I make Emacs aware of, -11:31.000 --> 11:35.000 -back to the file I jumped from, so that's also +00:11:53.260 --> 00:11:54.480 +for example, facts like, -11:35.000 --> 11:39.000 -pretty handy, so again, no rocket science in there +00:11:54.480 --> 00:11:56.740 +so this source code belongs to that project. -11:39.000 --> 11:43.000 -so I create a directory local variable that helps me +00:11:56.740 --> 00:11:59.080 +And this paper, this repository with a paper -11:43.000 --> 11:47.000 -to figure out what umbrella project does +00:11:59.180 --> 00:12:00.640 +also belongs to that project. -11:47.000 --> 11:51.000 -this particular folder belongs to, and this way +00:12:01.060 --> 00:12:04.040 +And I can have capture templates that would -11:51.000 --> 11:55.000 -I make Emacs aware of, for example, facts like so this +00:12:04.060 --> 00:12:07.580 +save my notes into the my private notes file -11:55.000 --> 11:59.000 -source code belongs to that project, and this repository with the paper +00:12:07.800 --> 00:12:10.460 +and my to-dos and go to my private note files -11:59.000 --> 12:03.000 -also belongs to that project, and I can have capture templates +00:12:10.920 --> 00:12:12.260 +and so on and so forth. -12:03.000 --> 12:07.000 -that would save my notes into my private notes +00:12:12.260 --> 00:12:15.520 +So I find it pretty simple but that really -12:07.000 --> 12:11.000 -file, and my to-dos go to my private note files +00:12:15.520 --> 00:12:19.540 +helps to reduce this context switching. -12:11.000 --> 12:15.000 -and so on and so forth, so I find it pretty simple, but +00:12:19.600 --> 00:12:22.040 +And I don't believe it allows me to save -12:15.000 --> 12:19.000 -that really helps to reduce this context +00:12:22.040 --> 00:12:26.260 +time, but that probably helps me to stay -12:19.000 --> 12:23.000 -switching, and I don't believe it allows me to save time +00:12:26.260 --> 00:12:28.420 +focused. And this is what is really -12:23.000 --> 12:27.000 -but that probably helps me to stay focused, and this +00:12:28.420 --> 00:12:31.400 +important, I believe. So thank you very much. -12:27.000 --> 12:31.000 -is what is really important, I believe, so thank you +00:12:31.400 --> 00:12:33.220 +And if you have any comments or suggestions -12:31.000 --> 12:35.000 -very much, and if you have any comments or suggestions to that, please do jump +00:12:33.320 --> 00:12:35.940 +to that, please do jump into the discussion. -12:35.000 --> 12:39.000 -into the discussion, yeah, after the talk, thank you. +00:12:37.120 --> 00:12:38.900 +Yeah, after the talk, thank you. |