From 1b5b4f66b18efc5f8784876fa2ed2f6e3df8c321 Mon Sep 17 00:00:00 2001 From: Sacha Chua Date: Tue, 26 Dec 2023 21:10:02 -0500 Subject: mark core and devel too --- ...velopment-how-it-works--stefan-kangas--main.vtt | 4664 ++++++++++++++++++++ ...acs-development-updates--john-wiegley--main.vtt | 1652 +++++++ 2023/talks/core.md | 7 + 2023/talks/devel.md | 7 + 4 files changed, 6330 insertions(+) create mode 100644 2023/captions/emacsconf-2023-core--emacs-core-development-how-it-works--stefan-kangas--main.vtt create mode 100644 2023/captions/emacsconf-2023-devel--emacs-development-updates--john-wiegley--main.vtt 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 new file mode 100644 index 00000000..7902ac79 --- /dev/null +++ b/2023/captions/emacsconf-2023-core--emacs-core-development-how-it-works--stefan-kangas--main.vtt @@ -0,0 +1,4664 @@ +WEBVTT + + +00:00:03.480 --> 00:00:03.840 +All right. Hi again, everyone. + +00:00:04.640 --> 00:00:04.839 +It's been a while. Well, + +00:00:06.480 --> 00:00:06.980 +actually, it's been like 2 minutes tops. + +00:00:08.599 --> 00:00:09.099 +We were just with John Wheatley, + +00:00:10.519 --> 00:00:11.019 +and now we are with Stefan Krangas. + +00:00:15.400 --> 00:00:15.900 +Hi. Hi. So as we said before, + +00:00:20.440 --> 00:00:20.600 +Stefan is co-maintainer now of Is it the + +00:00:22.540 --> 00:00:22.920 +entire Emacs project? How do you describe + +00:00:25.760 --> 00:00:26.260 +this? Yeah, co-maintainer of GNU Emacs. + +00:00:29.020 --> 00:00:29.380 +Right, perfect. So you know what? + +00:00:31.260 --> 00:00:31.760 +Because I'm sure everyone is dying to hear + +00:00:33.740 --> 00:00:33.840 +everything you've got to say in your + +00:00:35.540 --> 00:00:36.040 +presentation I'm just going to shut up now + +00:00:37.360 --> 00:00:37.640 +and leave the floor to you. + +00:00:38.940 --> 00:00:39.440 +Do you need to share your screen or anything? + +00:00:44.900 --> 00:00:45.239 +No. Okay great well I'll just cut my webcam + +00:00:46.879 --> 00:00:47.059 +off I'll still be in the background so do not + +00:00:48.720 --> 00:00:48.940 +hesitate if you've got any problem I'm still + +00:00:52.239 --> 00:00:52.560 +around And I'll see you just beacon whenever + +00:00:53.760 --> 00:00:53.940 +you're done. And I'll show up with the + +00:00:55.840 --> 00:00:56.120 +questions. All right? Thank you, + +00:00:58.260 --> 00:00:58.739 +Leo. And thank you, everyone, + +00:01:01.879 --> 00:01:02.379 +for being here. I'm Stefan Kangas. + +00:01:06.160 --> 00:01:06.660 +So as Leo explained, I am recently appointed + +00:01:09.160 --> 00:01:09.660 +as a co-maintainer of GNU Emacs, + +00:01:12.900 --> 00:01:13.400 +which a role that I'm fulfilling currently + +00:01:16.960 --> 00:01:17.460 +with Eli Sretsky, who's been co-maintainer + +00:01:23.140 --> 00:01:23.320 +for quite some time. So I got the question to + +00:01:26.400 --> 00:01:26.780 +be a co-maintainer from Richard in August + +00:01:28.780 --> 00:01:29.280 +this year. And of course, + +00:01:30.960 --> 00:01:31.460 +when you get a question like that, + +00:01:33.520 --> 00:01:34.020 +I couldn't not say yes. + +00:01:38.940 --> 00:01:39.440 +So here we are. I can't tell you how excited + +00:01:44.680 --> 00:01:45.060 +I am to have this opportunity to address the + +00:01:46.880 --> 00:01:47.380 +community in this way. + +00:01:49.300 --> 00:01:49.800 +I'm really humbled, of course, + +00:01:54.840 --> 00:01:55.040 +to be part of it, and to be able to serve the + +00:01:58.580 --> 00:01:59.080 +community in this capacity. + +00:02:03.820 --> 00:02:04.080 +I've used Emacs, I think many of you might + +00:02:06.600 --> 00:02:06.820 +also have used Emacs for quite some time, + +00:02:10.600 --> 00:02:11.100 +but I'm going on 2 decades as an Emacs user. + +00:02:14.020 --> 00:02:14.280 +My involvement in Emacs Lisp development is, + +00:02:15.660 --> 00:02:16.160 +I mean, almost as long, + +00:02:19.180 --> 00:02:19.680 +but my core development goes back only 4, + +00:02:26.200 --> 00:02:26.700 +5 years. I have to also thank the EmacsConf + +00:02:28.340 --> 00:02:28.840 +organizers who are doing, + +00:02:31.840 --> 00:02:31.960 +I think, a tremendous job and have done a + +00:02:34.540 --> 00:02:34.820 +tremendous job over the years in really + +00:02:37.300 --> 00:02:37.800 +building and strengthening what I think is + +00:02:41.960 --> 00:02:42.180 +this fantastic community of users and + +00:02:45.620 --> 00:02:46.120 +developers and people interested in Emacs. + +00:02:49.620 --> 00:02:50.100 +I actually had the chance to meet up with Eli + +00:02:53.200 --> 00:02:53.700 +Sretzky, as well as another Emacs hacker, + +00:02:56.580 --> 00:02:57.080 +Andrea Corallo, when I was at the GNU + +00:02:59.960 --> 00:03:00.460 +project's 40 years celebration, + +00:03:03.840 --> 00:03:04.340 +40 years since the GNU project was announced. + +00:03:08.040 --> 00:03:08.540 +And it was very inspiring in general to meet + +00:03:12.280 --> 00:03:12.780 +people. And I think EmacsConf should also, + +00:03:17.860 --> 00:03:18.360 +I think, serve to inspire and sort of help + +00:03:21.880 --> 00:03:22.120 +bring something to the type of work that many + +00:03:23.860 --> 00:03:24.340 +of us are doing to improve Emacs, + +00:03:26.040 --> 00:03:26.200 +whether it's in package development or in + +00:03:29.180 --> 00:03:29.680 +core, to bring out the new and exciting ideas + +00:03:33.540 --> 00:03:34.040 +and get people enthusiastic about Emacs, + +00:03:37.080 --> 00:03:37.580 +about hacking on Emacs. + +00:03:44.900 --> 00:03:45.400 +This is my little attempt to contribute with + +00:03:48.940 --> 00:03:49.440 +let's say 2 things. I will first try to + +00:03:54.180 --> 00:03:54.400 +present how we do Emacs core development and + +00:03:58.080 --> 00:03:58.360 +why we've done some of the choices that we + +00:04:01.560 --> 00:04:02.060 +have, because We have seen at times that + +00:04:06.300 --> 00:04:06.500 +perhaps people aren't always clear on this or + +00:04:08.160 --> 00:04:08.660 +that aspect. So maybe this will be + +00:04:12.040 --> 00:04:12.260 +enlightening. I will also try to present some + +00:04:17.360 --> 00:04:17.860 +kind of vision for what Emacs could be with + +00:04:21.180 --> 00:04:21.680 +your help. Emacs is already very good, + +00:04:26.380 --> 00:04:26.880 +as we all know, but we could be even better. + +00:04:29.440 --> 00:04:29.940 +That's the reality of any type of software + +00:04:34.600 --> 00:04:35.100 +development. So the overall idea of this talk + +00:04:38.080 --> 00:04:38.380 +is to tell you, if you're an Emacs list + +00:04:39.960 --> 00:04:40.460 +package developer today, + +00:04:43.700 --> 00:04:44.200 +why you should become an Emacs core + +00:04:47.140 --> 00:04:47.300 +developer, and the sort of steps that you + +00:04:48.920 --> 00:04:49.340 +might want to take to do that, + +00:04:51.600 --> 00:04:52.100 +or how you can help Emacs core development. + +00:04:54.160 --> 00:04:54.320 +Even if you're just a user and you found a + +00:04:57.040 --> 00:04:57.340 +bug, report it. Perhaps you have a feature + +00:04:58.380 --> 00:04:58.820 +request that you'd like to discuss. + +00:05:02.180 --> 00:05:02.680 +I think we need more interaction in general + +00:05:04.400 --> 00:05:04.900 +between Emacs core developers, + +00:05:05.940 --> 00:05:06.440 +typically on emacsdevil.gnu.org, + +00:05:11.920 --> 00:05:12.420 +the mailing list that we use to coordinate + +00:05:14.380 --> 00:05:14.880 +our development efforts, + +00:05:19.020 --> 00:05:19.520 +between Emacs devil package developers and + +00:05:21.960 --> 00:05:22.460 +users, Because there is so much great stuff + +00:05:24.240 --> 00:05:24.740 +really going on in the community. + +00:05:28.120 --> 00:05:28.620 +But I think sometimes the step to core + +00:05:32.360 --> 00:05:32.500 +development seems big and perhaps even a + +00:05:35.280 --> 00:05:35.440 +little bit scary. So I'm hoping to be able to + +00:05:38.440 --> 00:05:38.720 +help bridge that gap, even if just a little + +00:05:42.740 --> 00:05:43.000 +bit. We need more people contributing to + +00:05:46.240 --> 00:05:46.740 +Emacs itself. And also a small disclaimer + +00:05:49.740 --> 00:05:49.920 +here, in this talk I will only be able to + +00:05:53.200 --> 00:05:53.700 +speak for myself, not for GNU or the Emacs + +00:05:55.600 --> 00:05:56.100 +project, even if it's like a little bit more + +00:05:58.660 --> 00:05:58.780 +official, but I will also try to give the + +00:06:01.500 --> 00:06:01.720 +view of the project where it makes sense to + +00:06:04.020 --> 00:06:04.200 +do so. Keep in mind, I'm only 1 of the + +00:06:06.320 --> 00:06:06.820 +maintainers, the co-maintainer together with + +00:06:09.320 --> 00:06:09.820 +Eli, and I can't just make decisions + +00:06:10.900 --> 00:06:11.400 +arbitrarily. In a sense, + +00:06:14.020 --> 00:06:14.180 +I'm as a co-maintainer and trusted as a + +00:06:15.200 --> 00:06:15.420 +steward and trusted by, + +00:06:16.180 --> 00:06:16.680 +of course, the GNU project, + +00:06:21.500 --> 00:06:22.000 +but also by the community That we really + +00:06:23.680 --> 00:06:24.180 +can't just take decisions, + +00:06:26.880 --> 00:06:27.380 +I think, arbitrarily. Even if it sometimes + +00:06:30.060 --> 00:06:30.560 +perhaps may seem so, or it may feel that way, + +00:06:34.840 --> 00:06:35.080 +we really have to realize that we can't just + +00:06:39.020 --> 00:06:39.200 +push too much of just a personal agenda to + +00:06:41.280 --> 00:06:41.520 +the extent that it doesn't line up with what + +00:06:44.760 --> 00:06:45.260 +is best for eMacs going forward, + +00:06:50.020 --> 00:06:50.320 +and the more overall picture of that. + +00:06:52.480 --> 00:06:52.640 +So there are limitations that come with the + +00:06:59.440 --> 00:06:59.940 +job, if you like. So 1 question I often, + +00:07:02.120 --> 00:07:02.280 +I actually got this week when I started a new + +00:07:04.000 --> 00:07:04.500 +assignment at work, and I got the question + +00:07:08.240 --> 00:07:08.720 +when I said I'm involved in Emacs + +00:07:10.080 --> 00:07:10.400 +development. And then someone asked, + +00:07:11.980 --> 00:07:12.480 +oh, is Emacs still developed? + +00:07:16.220 --> 00:07:16.400 +Isn't it done almost? And I answered to that, + +00:07:17.520 --> 00:07:17.880 +yes, we are still around. + +00:07:21.500 --> 00:07:21.940 +We're going on 40 years now as a software + +00:07:25.440 --> 00:07:25.940 +project. Not many projects actually can claim + +00:07:28.520 --> 00:07:29.020 +that type of longevity. + +00:07:33.540 --> 00:07:33.900 +But Emacs is among those few that can. + +00:07:35.860 --> 00:07:36.340 +And of course, we have had some very exciting + +00:07:37.540 --> 00:07:38.000 +developments in recent versions. + +00:07:41.100 --> 00:07:41.600 +I think John just gave you an update on that. + +00:07:45.860 --> 00:07:46.160 +But we had just some highlights out of many + +00:07:47.440 --> 00:07:47.940 +highlights that you could give, + +00:07:50.780 --> 00:07:50.920 +really, we got the TreeSetter support in + +00:07:53.900 --> 00:07:54.320 +Emacs 29 that we now need to sort of extend + +00:07:55.840 --> 00:07:56.340 +and develop. We have merged EGLOT, + +00:07:59.120 --> 00:07:59.440 +so we have LSP support out of the box, + +00:08:00.480 --> 00:08:00.980 +I think is a huge improvement. + +00:08:02.560 --> 00:08:02.960 +Native compilation, of course, + +00:08:06.020 --> 00:08:06.520 +a big feature. I mean, + +00:08:08.520 --> 00:08:08.900 +that was Andrea's job, + +00:08:10.760 --> 00:08:11.260 +really, for performance. + +00:08:13.900 --> 00:08:14.020 +And it turns out that in many types of + +00:08:15.440 --> 00:08:15.720 +workloads and the types of stuff that people + +00:08:17.080 --> 00:08:17.580 +are doing, it often matters. + +00:08:20.680 --> 00:08:21.180 +And we're hoping to make that the default, + +00:08:24.620 --> 00:08:24.960 +perhaps already in Emacs 30. + +00:08:26.720 --> 00:08:26.840 +So there are things that are happening that + +00:08:31.180 --> 00:08:31.680 +fundamentally make Emacs better at a very + +00:08:37.020 --> 00:08:37.360 +core level. So, of course, + +00:08:41.400 --> 00:08:41.679 +why wouldn't you want to be involved in such + +00:08:43.140 --> 00:08:43.440 +an exciting and, I think, + +00:08:50.740 --> 00:08:51.240 +dynamic project? How is Emacs developed? + +00:08:52.600 --> 00:08:53.000 +Well, this is, I think, + +00:08:53.680 --> 00:08:54.180 +perhaps to some people, + +00:08:55.800 --> 00:08:56.300 +a little bit more of a threshold, + +00:08:58.820 --> 00:08:59.100 +if you like, because I think all of us know + +00:09:02.140 --> 00:09:02.640 +really that there is exciting and cool stuff + +00:09:06.300 --> 00:09:06.560 +that is going on in Emacs and has been going + +00:09:08.000 --> 00:09:08.260 +on over the last couple of years and we'll + +00:09:09.720 --> 00:09:10.040 +see even more of that, + +00:09:10.680 --> 00:09:11.180 +I think, going forward. + +00:09:16.360 --> 00:09:16.580 +1 thing is that communication still takes + +00:09:19.840 --> 00:09:20.340 +place over a mailing list in 2023. + +00:09:23.300 --> 00:09:23.800 +So we have emacsdevil at gnu.org, + +00:09:25.640 --> 00:09:26.140 +and that's where we develop Emacs. + +00:09:29.700 --> 00:09:30.140 +We use, we send patches back and forth, + +00:09:30.860 --> 00:09:31.360 +we comment on patches. + +00:09:35.920 --> 00:09:36.420 +And actually this workflow is very good, + +00:09:39.240 --> 00:09:39.580 +if you're used to it. Because guess what? + +00:09:42.040 --> 00:09:42.200 +As Emacs users, we like doing everything we + +00:09:45.060 --> 00:09:45.220 +can in Emacs, especially the core tasks that + +00:09:49.480 --> 00:09:49.980 +we're doing, such as developing Emacs itself. + +00:09:52.360 --> 00:09:52.860 +Of course, you want to do that fully within + +00:09:55.080 --> 00:09:55.440 +Emacs. So we hack Emacs Lisp in Emacs, + +00:09:58.340 --> 00:09:58.840 +we hack C in Emacs, we respond to emails also + +00:10:02.220 --> 00:10:02.700 +from Emacs, respond to bug reports, + +00:10:04.540 --> 00:10:05.040 +manage bug reports. We do all that stuff + +00:10:07.580 --> 00:10:07.840 +very, very smoothly. And it doesn't really + +00:10:10.040 --> 00:10:10.540 +matter in a sense, what is the medium? + +00:10:11.580 --> 00:10:12.080 +It happens to be email. + +00:10:13.660 --> 00:10:14.160 +Technically it could be anything, + +00:10:16.320 --> 00:10:16.720 +but email really has that type of staying + +00:10:19.540 --> 00:10:19.640 +power where we've been able to use it for a + +00:10:20.760 --> 00:10:21.260 +long time. And this is how, + +00:10:23.860 --> 00:10:24.000 +and we're still able to use it. + +00:10:25.520 --> 00:10:25.800 +And this is how free software was always + +00:10:26.380 --> 00:10:26.640 +developed in the past. + +00:10:28.020 --> 00:10:28.380 +Only in the last, let's say 10, + +00:10:32.160 --> 00:10:32.440 +15 years, We've had more development taking + +00:10:35.060 --> 00:10:35.560 +place perhaps on forges like GitHub, + +00:10:39.060 --> 00:10:39.160 +GitLab, whatever. But we are 1 of the + +00:10:40.320 --> 00:10:40.680 +holdouts. I mean, there are others, + +00:10:42.340 --> 00:10:42.560 +of course, like the Linux kernel has mailing + +00:10:44.060 --> 00:10:44.340 +lists. They're not trying to do that scale + +00:10:47.080 --> 00:10:47.580 +development on GitHub. + +00:10:50.860 --> 00:10:51.360 +And this is not just because we're Luddites + +00:10:53.320 --> 00:10:53.560 +that refuse to change. + +00:10:55.080 --> 00:10:55.380 +We just have to do it in the old way, + +00:10:56.820 --> 00:10:57.120 +because it is the old way, + +00:10:58.180 --> 00:10:58.680 +and that's the way it should be. + +00:10:59.920 --> 00:11:00.420 +No, it's actually because we, + +00:11:03.120 --> 00:11:03.460 +as core developers, the core development team + +00:11:05.020 --> 00:11:05.460 +and the people already involved and doing + +00:11:08.320 --> 00:11:08.560 +tremendous, I mean large amounts of work in + +00:11:11.980 --> 00:11:12.480 +Emacs has very efficient workflows built up + +00:11:15.240 --> 00:11:15.620 +based on this. So of course, + +00:11:17.280 --> 00:11:17.780 +I mean moving to something else is something + +00:11:19.680 --> 00:11:20.180 +that we might like to do, + +00:11:24.240 --> 00:11:24.400 +but we're not yet clear on how to do it + +00:11:25.600 --> 00:11:26.100 +exactly and what to move to. + +00:11:27.980 --> 00:11:28.380 +So these are the types of discussions that + +00:11:30.140 --> 00:11:30.280 +we're looking at. Can we still support a + +00:11:33.660 --> 00:11:34.040 +mailing, an email type workflow while moving + +00:11:35.980 --> 00:11:36.100 +to something else? That would be 1 of the big + +00:11:38.160 --> 00:11:38.400 +ones. I think another thing that trips people + +00:11:40.520 --> 00:11:40.840 +up is that we used a bug tracker that, + +00:11:42.380 --> 00:11:42.620 +I mean, maybe some people, + +00:11:45.060 --> 00:11:45.560 +I've heard people say it's archaic. + +00:11:49.700 --> 00:11:49.900 +It's called Debugs. I think maybe Debugs gets + +00:11:51.860 --> 00:11:52.000 +a bit of a bad rap. I think that bugs is a + +00:11:52.600 --> 00:11:53.100 +good piece of software. + +00:11:54.660 --> 00:11:55.160 +It wasn't developed in 2023. + +00:11:57.040 --> 00:11:57.540 +I mean, that's much as clear. + +00:11:58.380 --> 00:11:58.880 +It's a little bit older, + +00:12:00.920 --> 00:12:01.320 +but it really is a workhorse of the Debian + +00:12:03.320 --> 00:12:03.820 +project, which is obviously a project that's + +00:12:08.940 --> 00:12:09.400 +developed in a very different way than Emacs + +00:12:11.480 --> 00:12:11.880 +is. It's on a completely different scale, + +00:12:12.540 --> 00:12:12.840 +of course, much bigger, + +00:12:14.480 --> 00:12:14.980 +many more developers, and so on. + +00:12:17.600 --> 00:12:17.800 +But I think the developers did a good job for + +00:12:19.740 --> 00:12:20.240 +the time. But it might be showing its age, + +00:12:22.660 --> 00:12:23.160 +perhaps, in places. Perhaps, + +00:12:24.620 --> 00:12:25.120 +again, it's the email workflow. + +00:12:27.440 --> 00:12:27.720 +And people see that as a little bit of a + +00:12:29.840 --> 00:12:30.180 +threshold. It seems alien. + +00:12:30.800 --> 00:12:31.300 +It's a little bit strange, + +00:12:34.480 --> 00:12:34.980 +the types of workflows that you have there. + +00:12:38.720 --> 00:12:38.860 +So we are seeing some limitations with that + +00:12:40.440 --> 00:12:40.940 +box. And again, how do you report bugs? + +00:12:42.160 --> 00:12:42.600 +Well, in a sense, it's easy. + +00:12:46.160 --> 00:12:46.660 +You send an email to bug-gnu-emacs at gnu.org + +00:12:51.140 --> 00:12:51.340 +and you copy in whatever you get from, + +00:12:53.140 --> 00:12:53.300 +you know, report the EMAX bug or if you have, + +00:12:54.620 --> 00:12:55.120 +you know, send mail set up locally, + +00:12:58.340 --> 00:12:58.700 +just hit control C, control C and it's sent + +00:13:01.220 --> 00:13:01.720 +to the bug tracker and that's fine. + +00:13:08.260 --> 00:13:08.680 +But also I have to mention that there is this + +00:13:10.120 --> 00:13:10.600 +very good package on GNU Elpas. + +00:13:13.260 --> 00:13:13.540 +If you're ever trying to read the Emacs bug + +00:13:16.060 --> 00:13:16.500 +tracker or following along in Emacs + +00:13:18.840 --> 00:13:19.000 +development, I really recommend install the + +00:13:20.800 --> 00:13:21.300 +package devbugs from GNU Elpa. + +00:13:23.720 --> 00:13:24.140 +It's so good. And again, + +00:13:26.400 --> 00:13:26.580 +it's built on GNU, it's all integrated in + +00:13:29.540 --> 00:13:30.040 +Emacs, it's so much better than using the web + +00:13:32.960 --> 00:13:33.220 +and so on. And if you really want to get into + +00:13:37.540 --> 00:13:38.040 +it, you can download the bug tracker archives + +00:13:39.000 --> 00:13:39.500 +and the mailing list archives, + +00:13:40.800 --> 00:13:41.260 +and you can put them locally, + +00:13:41.880 --> 00:13:42.380 +you can have them searchable, + +00:13:44.280 --> 00:13:44.440 +and you can have whatever experience you + +00:13:46.840 --> 00:13:47.340 +like. So, I mean, it's really a flexible + +00:13:50.740 --> 00:13:51.240 +workflow, but it's a bit strange, + +00:13:52.120 --> 00:13:52.620 +perhaps, to some people. + +00:13:57.920 --> 00:13:58.120 +So we also think supporting only this + +00:13:59.640 --> 00:14:00.140 +workflow might be a little bit too limiting. + +00:14:03.700 --> 00:14:04.200 +So we do want to move over to something like + +00:14:06.360 --> 00:14:06.760 +GitLab, perhaps Sourcehat or something + +00:14:09.960 --> 00:14:10.460 +similar. We've had a couple of discussions + +00:14:13.500 --> 00:14:14.000 +about that over the last couple of years. + +00:14:15.480 --> 00:14:15.820 +I think even before that, + +00:14:18.580 --> 00:14:18.940 +but that's how far back I've been involved, + +00:14:21.300 --> 00:14:21.800 +and definitely it's come up occasionally. + +00:14:27.400 --> 00:14:27.900 +I think we are less far away than perhaps + +00:14:30.060 --> 00:14:30.560 +ever is how I would express that, + +00:14:36.180 --> 00:14:36.680 +and in the sense that the remaining blockers + +00:14:38.360 --> 00:14:38.640 +for just making the shift, + +00:14:39.960 --> 00:14:40.200 +let's say, are I think, + +00:14:41.960 --> 00:14:42.120 +I mean, first of all, we're talking about + +00:14:43.620 --> 00:14:44.020 +limitations, perhaps in the software, + +00:14:46.160 --> 00:14:46.420 +they're well defined, and they're not as + +00:14:48.840 --> 00:14:49.060 +amountable. I don't think they have to be in + +00:14:50.660 --> 00:14:50.840 +any case. We should be able to make some + +00:14:54.160 --> 00:14:54.660 +progress. The main thing that we're lacking + +00:14:57.980 --> 00:14:58.480 +now is not more discussion or more people + +00:15:02.800 --> 00:15:03.120 +prodding us to just please switch over. + +00:15:04.080 --> 00:15:04.580 +No, we're looking for volunteers. + +00:15:07.880 --> 00:15:08.380 +If you think that you, + +00:15:10.760 --> 00:15:10.960 +you know, have what it takes to sort of come + +00:15:13.860 --> 00:15:14.060 +in and help us do something like that and + +00:15:14.860 --> 00:15:15.040 +work together with us, + +00:15:16.600 --> 00:15:16.840 +you know, to see what can be done, + +00:15:19.960 --> 00:15:20.200 +perhaps some, a few things would need to be + +00:15:22.840 --> 00:15:23.220 +changed in GitLab. I don't think anything + +00:15:25.940 --> 00:15:26.120 +huge, but maybe there are some patches to be + +00:15:27.380 --> 00:15:27.880 +written and sent upstream, + +00:15:30.200 --> 00:15:30.280 +or maybe we need to do some local hacks or + +00:15:32.900 --> 00:15:33.140 +whatever. If you wanna do that, + +00:15:34.360 --> 00:15:34.860 +please contact us, emacsdevil. + +00:15:38.480 --> 00:15:38.940 +We'll be very happy to talk to you. + +00:15:39.960 --> 00:15:40.460 +And then we can start making progress. + +00:15:42.340 --> 00:15:42.740 +So I'm really hoping that that sound like + +00:15:46.120 --> 00:15:46.620 +will come into place. But we need to, + +00:15:52.160 --> 00:15:52.340 +if we do switch over, we need to preserve the + +00:15:54.400 --> 00:15:54.820 +good parts of our email-based workflows. + +00:15:56.980 --> 00:15:57.140 +So there are requirements there so that we + +00:15:59.680 --> 00:16:00.180 +can continue to do our job as maintainers, + +00:16:04.440 --> 00:16:04.900 +if you like. Another thing is that we've + +00:16:08.140 --> 00:16:08.340 +sometimes seen that there's a bit of a + +00:16:11.040 --> 00:16:11.380 +different culture perhaps on mailing lists + +00:16:14.860 --> 00:16:15.060 +and on Emacs devil than what many people are + +00:16:17.080 --> 00:16:17.580 +used to, especially like you've used perhaps, + +00:16:20.380 --> 00:16:20.540 +many people might be in university and + +00:16:23.000 --> 00:16:23.500 +they've started using Emacs, + +00:16:25.320 --> 00:16:25.820 +maybe got into a little bit of package + +00:16:28.860 --> 00:16:29.060 +development and starting to get the ropes of + +00:16:32.040 --> 00:16:32.540 +that and are very used to working on places + +00:16:34.980 --> 00:16:35.460 +like GitLab or something like that, + +00:16:37.860 --> 00:16:38.000 +then the type of culture and way of + +00:16:41.920 --> 00:16:42.040 +communicating that we use in Emacs might be a + +00:16:43.940 --> 00:16:44.440 +little bit different. And of course, + +00:16:46.860 --> 00:16:47.360 +it's different in the sense that mailing + +00:16:49.700 --> 00:16:49.900 +lists have always, I mean, + +00:16:50.740 --> 00:16:51.060 +let's say hacker culture, + +00:16:51.940 --> 00:16:52.120 +whatever you want to call it, + +00:16:53.900 --> 00:16:54.400 +have always communicated in a particular way + +00:16:58.180 --> 00:16:58.340 +using mailing lists. So it's like succinct to + +00:16:59.860 --> 00:17:00.320 +the point, perhaps I'm skipping a few + +00:17:03.080 --> 00:17:03.340 +pleasantries. And the idea is that you should + +00:17:07.500 --> 00:17:08.000 +just use it in as effective way as possible, + +00:17:10.599 --> 00:17:11.099 +so that also the archives are usable. + +00:17:13.280 --> 00:17:13.660 +And the other thing is that generally people + +00:17:16.319 --> 00:17:16.500 +involved in developing free software has to + +00:17:19.160 --> 00:17:19.660 +deal with a lot of incoming traffic, + +00:17:25.680 --> 00:17:25.900 +emails. They don't have the bandwidth if it's + +00:17:27.760 --> 00:17:28.220 +too much noise. You really need to be strict + +00:17:31.360 --> 00:17:31.840 +to keep the signal to noise ratio high. + +00:17:34.780 --> 00:17:35.280 +We have some weird terminology on the Emacs + +00:17:37.540 --> 00:17:38.040 +devil. People tell us, + +00:17:40.260 --> 00:17:40.680 +we say sometimes install patches which + +00:17:43.900 --> 00:17:44.180 +basically means push to master or merge pull + +00:17:46.520 --> 00:17:46.720 +requests because we've used other version + +00:17:48.340 --> 00:17:48.600 +control systems in the past where it might + +00:17:50.200 --> 00:17:50.700 +have made more sense to say install patches. + +00:17:52.200 --> 00:17:52.540 +And then you sort of, I don't know, + +00:17:54.140 --> 00:17:54.380 +I say it. Don't ask me why. + +00:17:55.840 --> 00:17:56.040 +But it feels natural after a while. + +00:17:57.540 --> 00:17:57.720 +You install a patch. It's clear what you + +00:18:02.040 --> 00:18:02.280 +mean. You don't have to worry about which + +00:18:05.440 --> 00:18:05.940 +branch it's on. So it's a little bit + +00:18:09.880 --> 00:18:10.120 +historical there. So there is some of that + +00:18:11.680 --> 00:18:11.960 +culture going on. It might be different. + +00:18:13.700 --> 00:18:14.200 +We don't use emojis that much. + +00:18:16.180 --> 00:18:16.680 +That's another thing. There is no like, + +00:18:20.740 --> 00:18:20.900 +you can click the little like button at the + +00:18:24.660 --> 00:18:25.080 +bottom of a comment or an email as you could + +00:18:27.560 --> 00:18:27.740 +on GitHub. But there are exceptions and it's + +00:18:29.240 --> 00:18:29.600 +not like someone will send you angry emails + +00:18:31.240 --> 00:18:31.480 +if you use an emoji or something like that. + +00:18:33.960 --> 00:18:34.200 +But it can come off as perhaps Because people + +00:18:36.680 --> 00:18:37.180 +are pressed for time also when replying to + +00:18:39.320 --> 00:18:39.400 +all these emails. So it might come off as a + +00:18:42.380 --> 00:18:42.880 +little bit short, but that's just how it is. + +00:18:46.400 --> 00:18:46.880 +And I think We have heard this comment before + +00:18:50.180 --> 00:18:50.680 +that mailing lists are scary or Emacs devil + +00:18:53.880 --> 00:18:54.380 +is scary or core development is scary. + +00:18:58.040 --> 00:18:58.180 +And I've touched a few of these points a + +00:18:59.240 --> 00:18:59.620 +little bit already. I think, + +00:19:01.000 --> 00:19:01.500 +yeah, maybe a little bit. + +00:19:05.240 --> 00:19:05.740 +For example, we don't use emojis very short + +00:19:10.460 --> 00:19:10.940 +in the communication. And we always use + +00:19:12.740 --> 00:19:13.240 +correct grammar and spelling. + +00:19:15.440 --> 00:19:15.920 +We take that seriously because it's important + +00:19:18.560 --> 00:19:19.060 +for being clear in your written communication + +00:19:21.040 --> 00:19:21.540 +when all you have is written communication. + +00:19:23.240 --> 00:19:23.740 +It's really important. + +00:19:31.260 --> 00:19:31.400 +But it's not like If you come in there and + +00:19:33.420 --> 00:19:33.580 +you don't know all these cultural rules and + +00:19:36.020 --> 00:19:36.380 +all these patterns, then you know you will We + +00:19:37.540 --> 00:19:37.900 +won't talk to you No Actually, + +00:19:40.920 --> 00:19:41.100 +we try to be as welcoming as we can and and + +00:19:44.180 --> 00:19:44.600 +be mindful and you know people not Everyone + +00:19:46.200 --> 00:19:46.700 +has English as their native language, + +00:19:48.940 --> 00:19:49.200 +for example. So perhaps someone says + +00:19:50.980 --> 00:19:51.360 +something, and it might come off as rude, + +00:19:52.760 --> 00:19:53.200 +but maybe it's just a direct translation. + +00:19:56.040 --> 00:19:56.520 +So we're trying to give a lot of whatever the + +00:19:59.480 --> 00:19:59.760 +native language is. So we try to give a lot + +00:20:01.460 --> 00:20:01.780 +of leeway and just be a little bit, + +00:20:03.420 --> 00:20:03.580 +you know, flexible and focus on, + +00:20:04.540 --> 00:20:04.920 +you know, the key, key points, + +00:20:06.260 --> 00:20:06.580 +which are the technical things, + +00:20:07.260 --> 00:20:07.760 +the technical decisions, + +00:20:09.080 --> 00:20:09.280 +technical arguments, rather than, + +00:20:11.760 --> 00:20:11.920 +you know, getting bogged down in a lot of, + +00:20:15.160 --> 00:20:15.360 +you know, personal, you know, + +00:20:18.720 --> 00:20:19.220 +discussions and flame wars. + +00:20:21.140 --> 00:20:21.260 +So, I mean, there are these things to be + +00:20:22.960 --> 00:20:23.160 +aware of, you know, it's just a little bit + +00:20:24.480 --> 00:20:24.980 +different. I don't think it's anything huge. + +00:20:26.120 --> 00:20:26.620 +And I wouldn't be, you know, + +00:20:30.200 --> 00:20:30.480 +I think it would be sad if people felt too + +00:20:32.200 --> 00:20:32.320 +intimidated by that. It just is what it is. + +00:20:33.400 --> 00:20:33.540 +And if you spend some time there, + +00:20:35.460 --> 00:20:35.960 +you'll see how people generally communicate. + +00:20:41.120 --> 00:20:41.260 +Sometimes, there are a lot of people on + +00:20:43.100 --> 00:20:43.600 +EmacsDevil. It's a public mailing list. + +00:20:45.840 --> 00:20:46.240 +A lot of people just sign up to follow Emacs + +00:20:48.360 --> 00:20:48.860 +development. Sometimes they chime in. + +00:20:50.640 --> 00:20:50.820 +And I think this is in general a good thing. + +00:20:52.800 --> 00:20:53.300 +I think it should be a public mailing list. + +00:20:59.720 --> 00:21:00.220 +Sometimes this leads to weird situations from + +00:21:02.900 --> 00:21:03.400 +just a point of view as an Emacs maintainer, + +00:21:06.900 --> 00:21:07.080 +right? I mean, I try to say something and it + +00:21:07.960 --> 00:21:08.240 +doesn't always say, oh, + +00:21:09.520 --> 00:21:10.020 +he's the maintainer or whatever. + +00:21:10.760 --> 00:21:11.200 +So when I say something, + +00:21:13.180 --> 00:21:13.380 +it should carry a little bit more weight than + +00:21:15.920 --> 00:21:16.160 +some unknown person from the internet who has + +00:21:17.800 --> 00:21:18.300 +an opinion and decided to send it to + +00:21:20.860 --> 00:21:21.020 +EmacsDevil. So it's good to be a little bit + +00:21:22.760 --> 00:21:23.160 +aware of who is a little bit more involved + +00:21:25.120 --> 00:21:25.280 +with the project. I would check out the + +00:21:26.600 --> 00:21:27.100 +maintainers file. I would check, + +00:21:30.600 --> 00:21:31.000 +see in the Git log, do these people actually + +00:21:32.800 --> 00:21:33.300 +have any anything in core? + +00:21:34.760 --> 00:21:35.260 +And if not, maybe, you know, + +00:21:38.160 --> 00:21:38.660 +there, we won't really, + +00:21:40.680 --> 00:21:41.000 +even if they express an opinion very + +00:21:42.400 --> 00:21:42.720 +strongly, even if they're a little bit rude, + +00:21:44.200 --> 00:21:44.700 +maybe they're not even involved in Emacs + +00:21:45.840 --> 00:21:46.340 +development. I mean, often, + +00:21:48.040 --> 00:21:48.460 +that's the case we have some people, + +00:21:49.400 --> 00:21:49.900 +unfortunately, at times, + +00:21:52.540 --> 00:21:52.720 +we have random people from the internet come + +00:21:54.620 --> 00:21:54.720 +in on the mailing list and they're just a + +00:21:56.280 --> 00:21:56.780 +little bit rude, or they say an opinion + +00:21:59.120 --> 00:21:59.620 +that's not exactly helpful. + +00:22:02.080 --> 00:22:02.320 +And I think you need to be aware. + +00:22:03.960 --> 00:22:04.340 +I mean, these things happen in any forum, + +00:22:07.240 --> 00:22:07.740 +but it happens on EmacsDevO as well. + +00:22:10.440 --> 00:22:10.680 +So just be a little bit aware of who you're + +00:22:13.040 --> 00:22:13.540 +talking to, what people are doing. + +00:22:15.380 --> 00:22:15.880 +It can help to Check the archives, + +00:22:17.960 --> 00:22:18.460 +see who writes what, and so on. + +00:22:22.720 --> 00:22:23.080 +But it's not something that I think is a huge + +00:22:23.940 --> 00:22:24.220 +problem. It is just, again, + +00:22:25.280 --> 00:22:25.780 +something to be aware of. + +00:22:27.540 --> 00:22:28.040 +We have the new kind of communication + +00:22:30.480 --> 00:22:30.820 +guidelines in place, which basically says + +00:22:33.480 --> 00:22:33.740 +that you should be nice to people and stay + +00:22:35.660 --> 00:22:36.060 +focused on the technical problem, + +00:22:38.120 --> 00:22:38.300 +try to see things from another person's point + +00:22:39.060 --> 00:22:39.360 +of view, this kind of stuff. + +00:22:41.940 --> 00:22:42.140 +So we're really trying to be as inclusive as + +00:22:46.320 --> 00:22:46.820 +possible and just stay correct in general. + +00:22:48.100 --> 00:22:48.380 +And sometimes, I mean, + +00:22:49.700 --> 00:22:50.060 +not everyone, it's a public list. + +00:22:52.080 --> 00:22:52.440 +We moderate it, but not to a huge extent, + +00:22:57.720 --> 00:22:57.840 +right? So sometimes people get away with a + +00:23:02.140 --> 00:23:02.260 +little bit of perhaps stretching the + +00:23:04.440 --> 00:23:04.700 +boundaries of what might be included in the + +00:23:06.000 --> 00:23:06.500 +kind communication guidelines, + +00:23:10.440 --> 00:23:10.940 +sort of the fences and limitations of that. + +00:23:13.440 --> 00:23:13.940 +But I would just ignore that. + +00:23:15.200 --> 00:23:15.700 +Sometimes it happens that we, + +00:23:16.800 --> 00:23:17.160 +as happens in any forum, + +00:23:19.200 --> 00:23:19.440 +by the way, you just, we have these very big + +00:23:21.560 --> 00:23:21.760 +threads. We start discussing something else. + +00:23:23.800 --> 00:23:24.300 +Perhaps you send us a patch and it just + +00:23:25.960 --> 00:23:26.360 +devolves into us discussing something + +00:23:28.260 --> 00:23:28.680 +completely different. And of course I partake + +00:23:30.220 --> 00:23:30.440 +in that, not better than anyone else, + +00:23:32.440 --> 00:23:32.940 +but it just happens. I mean, + +00:23:34.440 --> 00:23:34.800 +it's not your fault. It's just what happens + +00:23:37.000 --> 00:23:37.200 +sometimes in forums, and don't mind that. + +00:23:38.940 --> 00:23:39.120 +And it's a little bit easier to do that in + +00:23:41.200 --> 00:23:41.680 +emails, because you just change the subject, + +00:23:43.320 --> 00:23:43.580 +and now it's supposed to be a different + +00:23:45.600 --> 00:23:45.780 +thread, but it comes as replies usually to + +00:23:48.340 --> 00:23:48.480 +you, which wouldn't happen perhaps in a + +00:23:49.840 --> 00:23:49.960 +different workflow. So it's something to be + +00:23:53.140 --> 00:23:53.300 +aware of as well. Another thing is that, + +00:23:54.180 --> 00:23:54.680 +of course, in written communication, + +00:23:56.120 --> 00:23:56.620 +tone doesn't always come across. + +00:23:58.840 --> 00:23:59.240 +If someone sounds negative, + +00:24:00.780 --> 00:24:01.280 +sometimes it's just them being neutral. + +00:24:04.900 --> 00:24:05.400 +Sometimes you get no replies. + +00:24:06.720 --> 00:24:07.120 +You send something, you get no replies. + +00:24:08.720 --> 00:24:09.220 +And this could mean, actually it could mean, + +00:24:11.000 --> 00:24:11.500 +yeah, what you said was uncontroversial. + +00:24:12.480 --> 00:24:12.980 +We think it was a good idea. + +00:24:16.100 --> 00:24:16.360 +No 1 replied to it because either someone + +00:24:18.840 --> 00:24:18.960 +else would reply or just there was no need to + +00:24:20.140 --> 00:24:20.640 +reply because, yeah, why not? + +00:24:23.800 --> 00:24:24.060 +So but if you do send a patch and you don't + +00:24:26.040 --> 00:24:26.280 +get an answer, wait. I mean, + +00:24:29.080 --> 00:24:29.380 +don't wait 1, 2 days. Maybe we're busy or + +00:24:30.020 --> 00:24:30.520 +we're sick or whatever. + +00:24:32.680 --> 00:24:32.800 +Wait 2 weeks. It's fine to just send it + +00:24:34.440 --> 00:24:34.940 +again. If you send the patch to EmacsDevil, + +00:24:36.820 --> 00:24:37.040 +send it to the bug mailing list, + +00:24:38.760 --> 00:24:39.260 +because we lose track of stuff on EmacsDevil. + +00:24:41.060 --> 00:24:41.560 +That's just the reality of it. + +00:24:45.900 --> 00:24:46.080 +So if you propose making a change and no 1 + +00:24:48.220 --> 00:24:48.340 +commented, feel free to ask us again if a + +00:24:50.580 --> 00:24:51.080 +patch would be welcome and we will clarify. + +00:24:54.220 --> 00:24:54.720 +Bug reports, unfortunately, + +00:24:55.940 --> 00:24:56.280 +if you get no answer, I mean, + +00:24:59.240 --> 00:24:59.740 +we do have a limited amount of time to work + +00:25:02.220 --> 00:25:02.360 +on bugs. If you're looking to get started in + +00:25:05.020 --> 00:25:05.520 +Emacs development, this is an excellent way + +00:25:06.820 --> 00:25:07.320 +to start getting involved. + +00:25:09.720 --> 00:25:09.960 +What I'd recommend is start looking into + +00:25:11.180 --> 00:25:11.420 +bugs. I'd install that bug, + +00:25:13.660 --> 00:25:13.860 +I'd see about the mailing workflow and set + +00:25:15.300 --> 00:25:15.800 +that up a little bit, or not. + +00:25:17.640 --> 00:25:17.960 +It's up to you. You can reply to an email + +00:25:19.660 --> 00:25:20.160 +without setting any of that stuff up. + +00:25:21.980 --> 00:25:22.480 +But just help us try out your bugs, + +00:25:24.520 --> 00:25:24.720 +send patches, do that type of stuff. + +00:25:26.040 --> 00:25:26.280 +I mean, that's an excellent way, + +00:25:27.360 --> 00:25:27.740 +and extremely welcome. + +00:25:30.220 --> 00:25:30.360 +We're so happy to see when people pick up bug + +00:25:32.000 --> 00:25:32.500 +reports that have been left by the wayside + +00:25:34.080 --> 00:25:34.580 +and just fix them, send us a patch, + +00:25:37.020 --> 00:25:37.520 +and we can just apply it. + +00:25:40.180 --> 00:25:40.360 +So that's really your starting point if you + +00:25:43.100 --> 00:25:43.600 +want to get involved in Emacs core + +00:25:50.260 --> 00:25:50.580 +development. I also want to say that be aware + +00:25:53.520 --> 00:25:54.020 +that you know Emacs is the editor of the GNU + +00:25:56.360 --> 00:25:56.820 +operating system and this makes the project + +00:25:58.520 --> 00:25:58.700 +political a little bit whether you like it or + +00:26:00.880 --> 00:26:01.380 +not. Luckily the you know the politics are + +00:26:03.160 --> 00:26:03.400 +limited enough that we can find broad + +00:26:05.020 --> 00:26:05.520 +agreement on it. So we want to promote, + +00:26:07.920 --> 00:26:08.420 +we want to create free software. + +00:26:10.460 --> 00:26:10.960 +That's sort of it. That's it. + +00:26:13.540 --> 00:26:13.740 +And there shouldn't be too much more to it, + +00:26:15.440 --> 00:26:15.600 +right? We want to rid the world of + +00:26:19.300 --> 00:26:19.700 +proprietary software as an evil thing. + +00:26:21.420 --> 00:26:21.920 +Ideally, all software should be free. + +00:26:24.860 --> 00:26:25.160 +But these are just the goals of the free + +00:26:27.280 --> 00:26:27.440 +software movement. So we're very strict with + +00:26:29.160 --> 00:26:29.660 +some things. We don't recommend non-free + +00:26:31.080 --> 00:26:31.320 +proprietary software. Of course, + +00:26:32.680 --> 00:26:33.180 +we have no problem mentioning Microsoft + +00:26:34.780 --> 00:26:35.140 +Windows because everyone knows that there's + +00:26:39.060 --> 00:26:39.280 +this obscure operating system developed in + +00:26:41.260 --> 00:26:41.760 +California that some people insist on using. + +00:26:44.500 --> 00:26:45.000 +We use, many of us use GNU plus Linux. + +00:26:46.880 --> 00:26:47.380 +Actually, some core developers happen to use + +00:26:50.380 --> 00:26:50.820 +exactly, you know, not GNU plus Linux, + +00:26:52.360 --> 00:26:52.600 +but that's fine as well, + +00:26:54.320 --> 00:26:54.820 +right? We take a little bit of a pragmatic + +00:26:56.380 --> 00:26:56.840 +view, but we don't wanna do, + +00:26:58.580 --> 00:26:59.020 +what we don't wanna do is promote like this + +00:27:04.600 --> 00:27:04.780 +small, unknown piece of non-free software and + +00:27:08.200 --> 00:27:08.400 +sort of help the non-free software in that + +00:27:11.120 --> 00:27:11.620 +way. That's where we try to draw the line, + +00:27:15.520 --> 00:27:15.760 +you know, in just expressing just a few + +00:27:17.560 --> 00:27:18.060 +words. So that's 1 thing. + +00:27:21.300 --> 00:27:21.620 +We're, I think, very pragmatic on this point, + +00:27:24.400 --> 00:27:24.900 +but we do try to follow the principle. + +00:27:26.680 --> 00:27:27.180 +We also require copyright assignment. + +00:27:29.540 --> 00:27:30.040 +And I think in general, + +00:27:34.240 --> 00:27:34.740 +the argument is that we require a copyright + +00:27:38.440 --> 00:27:38.940 +assignment, because that makes it easier to + +00:27:42.940 --> 00:27:43.440 +defend the legal status of the GNU Emacs + +00:27:45.520 --> 00:27:45.920 +source code. So if there's ever a legal + +00:27:47.980 --> 00:27:48.280 +battle, the idea is that if it's only 1 + +00:27:49.760 --> 00:27:50.260 +copyright holder and you have a GPL + +00:27:53.720 --> 00:27:54.140 +violation, i.e. Someone might change Emacs + +00:27:55.320 --> 00:27:55.820 +and then distribute it as proprietary + +00:27:57.660 --> 00:27:58.040 +software or something nasty like that, + +00:28:00.420 --> 00:28:00.620 +then we have an easier way of defending it in + +00:28:02.280 --> 00:28:02.780 +court if there is only 1 copyright holder. + +00:28:04.380 --> 00:28:04.840 +So we assigned copyright to the Free Software + +00:28:08.960 --> 00:28:09.460 +Foundation. And I think there, + +00:28:12.380 --> 00:28:12.600 +I mean, sometimes people oppose this for + +00:28:13.380 --> 00:28:13.660 +various reasons, you know, + +00:28:15.220 --> 00:28:15.720 +people see it as, you know, + +00:28:16.720 --> 00:28:16.880 +maybe some people might say, + +00:28:17.360 --> 00:28:17.860 +you know, it's ideological, + +00:28:19.080 --> 00:28:19.340 +you know, who goes, you know, + +00:28:20.860 --> 00:28:21.360 +the FSF goes too far with this. + +00:28:23.620 --> 00:28:23.860 +And, and, I mean, that's fine. + +00:28:25.080 --> 00:28:25.580 +You that's, that's an opinion. + +00:28:28.080 --> 00:28:28.320 +And the there, then other people are more + +00:28:29.720 --> 00:28:30.040 +practical, you know, it's just, + +00:28:30.880 --> 00:28:31.360 +It's a hassle, basically, + +00:28:32.720 --> 00:28:33.220 +we don't want to sign these papers. + +00:28:35.440 --> 00:28:35.580 +And I'm not really here to tell anyone that + +00:28:37.000 --> 00:28:37.160 +they're wrong. I've expressed my views on + +00:28:40.280 --> 00:28:40.780 +this in the past. But just for now, + +00:28:43.500 --> 00:28:43.660 +I'm just very practical for the purposes of + +00:28:46.000 --> 00:28:46.500 +this talk. So I signed the papers. + +00:28:48.840 --> 00:28:49.280 +It's Maybe it didn't take me many minutes. + +00:28:51.400 --> 00:28:51.900 +And in most cases, it shouldn't really. + +00:28:54.720 --> 00:28:55.000 +And it's something that I found worth doing, + +00:28:58.100 --> 00:28:58.580 +because that way I could focus on continuing + +00:29:01.200 --> 00:29:01.360 +to improve Emacs instead of discussing the + +00:29:02.720 --> 00:29:03.220 +finer points of copyright law. + +00:29:04.960 --> 00:29:05.280 +You could write patches and stuff, + +00:29:06.340 --> 00:29:06.680 +that kind of thing. So, + +00:29:08.160 --> 00:29:08.480 +I mean, this is something that trips people + +00:29:10.600 --> 00:29:11.100 +up and, you know, it's fine that people have + +00:29:13.940 --> 00:29:14.200 +different opinions on it and so on, + +00:29:19.120 --> 00:29:19.280 +but I think for now that's just something to + +00:29:22.540 --> 00:29:23.000 +be aware of. So that's, + +00:29:25.920 --> 00:29:26.120 +I think, I mean, there's much more that could + +00:29:27.740 --> 00:29:27.880 +be said. Ideally, I would like to have a + +00:29:30.560 --> 00:29:31.060 +practical part to this talk as well. + +00:29:34.200 --> 00:29:34.440 +But I wanted to say something about the + +00:29:36.960 --> 00:29:37.159 +packages in Emacs. Because as we know, + +00:29:40.260 --> 00:29:40.440 +I mean, Emacs is the, I can't remember what + +00:29:41.240 --> 00:29:41.740 +it says, it's like a visual, + +00:29:43.520 --> 00:29:43.780 +there's in the manual it says, + +00:29:45.400 --> 00:29:45.900 +oh, Emacs is an advanced text editor. + +00:29:47.780 --> 00:29:47.980 +It's visual, which, I mean, + +00:29:49.960 --> 00:29:50.280 +it's not ed, the whole Unix ed, + +00:29:52.200 --> 00:29:52.700 +so that's cool. It's also customizable, + +00:29:55.680 --> 00:29:56.180 +right? So that's always been a thing. + +00:29:59.480 --> 00:29:59.980 +And what makes Emacs so amazing. + +00:30:01.320 --> 00:30:01.820 +And some people described it as, + +00:30:03.720 --> 00:30:03.880 +I can't remember who said that there has been + +00:30:09.140 --> 00:30:09.440 +a Cambrian explosion of packages in Emacs. + +00:30:10.180 --> 00:30:10.440 +And I think that's true. + +00:30:12.080 --> 00:30:12.400 +I mean, if you look at something like Melpa, + +00:30:13.260 --> 00:30:13.760 +I think they have over 5,000 + +00:30:15.720 --> 00:30:16.220 +packages now. It's like truly impressive, + +00:30:18.280 --> 00:30:18.760 +just an immense amount of work and immense + +00:30:21.820 --> 00:30:22.320 +amount of packages. And really, + +00:30:23.940 --> 00:30:24.340 +this shows the strength, + +00:30:26.100 --> 00:30:26.600 +I think, of the Emacs community, + +00:30:28.280 --> 00:30:28.780 +of Emacs itself as an idea. + +00:30:30.960 --> 00:30:31.240 +And I think it's also just tremendous work + +00:30:33.080 --> 00:30:33.580 +that's been done by the maintainers. + +00:30:35.820 --> 00:30:36.040 +And they do get a lot of recognition for + +00:30:38.400 --> 00:30:38.900 +that. And rightly so, in my opinion. + +00:30:41.660 --> 00:30:41.920 +It's done so much, I think, + +00:30:43.860 --> 00:30:44.260 +for our community. The other package archive + +00:30:45.840 --> 00:30:46.340 +that we have is GNU-ELPA. + +00:30:49.180 --> 00:30:49.640 +And that's been enabled since when packages + +00:30:50.860 --> 00:30:51.000 +first got introduced back in, + +00:30:52.660 --> 00:30:53.160 +I think, Emacs, was it 23? + +00:30:59.020 --> 00:30:59.200 +And probably, I mean, the main thing why a + +00:31:01.620 --> 00:31:01.860 +package goes onto GNU Elpa is, + +00:31:03.900 --> 00:31:04.040 +you know, it should be installable out of the + +00:31:07.500 --> 00:31:07.580 +box. So, I mean, that's a big benefit in a + +00:31:10.680 --> 00:31:10.960 +sense. It's also a requirement for GNU Alpa + +00:31:11.820 --> 00:31:12.240 +that the copyright, again, + +00:31:14.040 --> 00:31:14.540 +just as GNU Emacs, the copyright is assigned + +00:31:16.520 --> 00:31:17.020 +to the Free Software Foundation. + +00:31:19.440 --> 00:31:19.940 +And some very hugely popular packages, + +00:31:20.980 --> 00:31:21.420 +like YaSnippet, for example, + +00:31:24.560 --> 00:31:25.060 +is on GNU Alpa. And we were discussing this + +00:31:29.540 --> 00:31:30.040 +just 2 months back. And Joe Tavora, + +00:31:31.280 --> 00:31:31.780 +I can't say his name, G-O-A-O, + +00:31:35.600 --> 00:31:36.100 +Tavora. He made the point that he's never + +00:31:40.000 --> 00:31:40.280 +seen a problem in any of his packages with + +00:31:41.660 --> 00:31:42.100 +copyright assignment in particular. + +00:31:44.380 --> 00:31:44.540 +It's never been a problem to get people to be + +00:31:46.060 --> 00:31:46.560 +involved in the development of those packages + +00:31:47.720 --> 00:31:48.220 +just because of the copyright assignment + +00:31:50.140 --> 00:31:50.640 +requirements. So I mean, + +00:31:53.340 --> 00:31:53.840 +that's his perspective on that. + +00:32:00.180 --> 00:32:00.480 +And I think it was worth relating his + +00:32:06.220 --> 00:32:06.500 +experience here. So we also have this new + +00:32:08.000 --> 00:32:08.500 +package archive called non-GNU-alpha, + +00:32:12.380 --> 00:32:12.880 +which is now enabled by default as well. + +00:32:13.940 --> 00:32:14.440 +I think for practical purposes, + +00:32:16.380 --> 00:32:16.880 +you could get into it a little bit more, + +00:32:18.340 --> 00:32:18.840 +you know, why we created non-NUELPA, + +00:32:21.820 --> 00:32:22.320 +and perhaps that's something we can discuss + +00:32:25.740 --> 00:32:26.240 +in the Q&A section. For practical purposes, + +00:32:27.980 --> 00:32:28.280 +the main thing to be aware of is, + +00:32:30.740 --> 00:32:30.980 +yes, we don't promote non-free software on + +00:32:36.280 --> 00:32:36.780 +there, And we also don't have the copyright + +00:32:38.560 --> 00:32:39.060 +assignment requirement. + +00:32:43.320 --> 00:32:43.820 +I think this is probably for new packages. + +00:32:47.760 --> 00:32:48.180 +It's generally better if they go to GNU Elpa, + +00:32:50.720 --> 00:32:51.220 +if there is any type of idea or ambition + +00:32:53.300 --> 00:32:53.460 +that, you know, at some point it would be + +00:32:56.420 --> 00:32:56.740 +good or it might be good to eventually have + +00:32:58.480 --> 00:32:58.900 +some type of functionality like this shipped + +00:33:01.060 --> 00:33:01.200 +with Emacs itself. So I think this is + +00:33:03.800 --> 00:33:04.020 +something that perhaps package authors could + +00:33:07.020 --> 00:33:07.340 +also be aware of, that occasionally we do + +00:33:09.520 --> 00:33:09.780 +bring in functionality from GNU Elpa into + +00:33:11.680 --> 00:33:12.180 +core Emacs because we feel that it should be + +00:33:15.060 --> 00:33:15.560 +better integrated with Emacs itself. + +00:33:18.340 --> 00:33:18.480 +So if I could give any type of + +00:33:19.200 --> 00:33:19.400 +recommendation, of course, + +00:33:21.660 --> 00:33:22.120 +you do. These are your packages, + +00:33:25.240 --> 00:33:25.520 +right? In an ideal world, + +00:33:28.220 --> 00:33:28.680 +we would only use this for legacy packages + +00:33:30.060 --> 00:33:30.240 +where people contributed in the past, + +00:33:31.640 --> 00:33:32.120 +but you didn't worry about the copyright + +00:33:33.820 --> 00:33:34.200 +assignment. But where possible, + +00:33:36.980 --> 00:33:37.480 +I think there is benefit in putting it on GNU + +00:33:42.740 --> 00:33:42.900 +Elpa. And I wanted to end a little bit on a + +00:33:44.640 --> 00:33:45.140 +more, you know, the more opinionated perhaps + +00:33:47.040 --> 00:33:47.260 +part of my talk and not just talk about + +00:33:49.040 --> 00:33:49.160 +processes. I see that I'm running out of + +00:33:51.200 --> 00:33:51.700 +time. So I will say Emacs is hackable. + +00:33:54.020 --> 00:33:54.520 +And I think that's a blessing and a curse. + +00:33:55.840 --> 00:33:56.340 +And if you think about something like, + +00:34:00.800 --> 00:34:01.100 +the types of choices that you can make, + +00:34:02.540 --> 00:34:03.040 +perhaps when you implement something, + +00:34:06.360 --> 00:34:06.680 +There are choices, different choices between + +00:34:07.440 --> 00:34:07.740 +something like common list, + +00:34:08.940 --> 00:34:09.440 +which is like bigger, more batteries + +00:34:10.860 --> 00:34:11.320 +included, and something like scheme, + +00:34:11.880 --> 00:34:12.239 +which is more minimal. + +00:34:13.500 --> 00:34:13.679 +And I think we have some of those, + +00:34:16.159 --> 00:34:16.280 +you know, this kind of tension also in the + +00:34:17.880 --> 00:34:18.159 +Emacs itself. What should be in Emacs core? + +00:34:19.440 --> 00:34:19.699 +Should we have a lean Emacs core? + +00:34:21.300 --> 00:34:21.800 +Should we have more stuff in Emacs core? + +00:34:26.040 --> 00:34:26.320 +And I think these are good discussions to + +00:34:29.120 --> 00:34:29.380 +have. And there are various challenges that + +00:34:31.440 --> 00:34:31.940 +are associated with each of those choices. + +00:34:34.840 --> 00:34:35.320 +I think what will never change is that Emacs + +00:34:36.780 --> 00:34:37.280 +is hackable. Emacs is customizable. + +00:34:38.300 --> 00:34:38.800 +This is the key strength. + +00:34:40.520 --> 00:34:40.960 +This is why we love and use Emacs. + +00:34:41.320 --> 00:34:41.820 +I think fundamentally, + +00:34:43.780 --> 00:34:44.280 +whether you do it a lot or not, + +00:34:46.760 --> 00:34:47.260 +this is what at core is bringing you that + +00:34:48.679 --> 00:34:49.179 +amazing user experience. + +00:34:53.040 --> 00:34:53.199 +However, the flip side of that sometimes is + +00:34:56.080 --> 00:34:56.280 +that it's so easy to hack Emacs so that we + +00:34:58.120 --> 00:34:58.520 +hack around bugs instead of fixing them. + +00:35:00.280 --> 00:35:00.540 +We do some tweak and our customers say, + +00:35:01.420 --> 00:35:01.720 +okay, this is a little bit broken, + +00:35:03.400 --> 00:35:03.560 +Let me just fix it. I'll put an advice on + +00:35:05.200 --> 00:35:05.700 +this function. I'll do this customization. + +00:35:08.540 --> 00:35:09.040 +Or we accept limitations in Emacs core. + +00:35:11.600 --> 00:35:12.100 +And I think it's fine. + +00:35:13.380 --> 00:35:13.760 +I mean, this will never change. + +00:35:16.160 --> 00:35:16.560 +That will always be core to what Emacs is, + +00:35:20.020 --> 00:35:20.140 +right? However, I think that the flip side of + +00:35:22.300 --> 00:35:22.500 +that is that I think sometimes we could be + +00:35:26.260 --> 00:35:26.760 +better at just taking those few extra steps + +00:35:29.060 --> 00:35:29.260 +to also make Emacs better itself and solve + +00:35:31.480 --> 00:35:31.680 +this for all users. And I think if we can + +00:35:33.480 --> 00:35:33.680 +build a little bit more of a culture like + +00:35:35.320 --> 00:35:35.460 +that, I mean, we already have that culture to + +00:35:36.820 --> 00:35:37.200 +a large extent, don't get me wrong, + +00:35:39.440 --> 00:35:39.620 +we do, but if we can get a little bit more of + +00:35:41.120 --> 00:35:41.320 +that culture, let's get that into core, + +00:35:43.260 --> 00:35:43.760 +let's get that problem fixed, + +00:35:45.640 --> 00:35:46.140 +that frustration. I can tell you that, + +00:35:48.640 --> 00:35:48.940 +I just started a new assignment at work, + +00:35:51.360 --> 00:35:51.420 +I already told you, so I'm going to write a + +00:35:53.860 --> 00:35:54.140 +lot of Python, okay? So I need to keep track + +00:35:55.240 --> 00:35:55.740 +of something called virtual environments, + +00:35:57.760 --> 00:35:58.260 +and that's just a way to install these + +00:36:01.440 --> 00:36:01.640 +dependencies just locally per directory or + +00:36:02.920 --> 00:36:03.420 +per repository kind of thing. + +00:36:05.520 --> 00:36:05.740 +And I've used various packages for that. + +00:36:07.360 --> 00:36:07.860 +There are like 4 packages, + +00:36:10.120 --> 00:36:10.560 +5 packages, maybe. And 1 is called VM, + +00:36:11.240 --> 00:36:11.740 +and 1 is called VirtualM, + +00:36:13.140 --> 00:36:13.640 +and 1 is called Python-VM. + +00:36:16.620 --> 00:36:16.980 +And now I'm using, you know, + +00:36:17.780 --> 00:36:18.100 +I'm using a different 1. + +00:36:19.120 --> 00:36:19.620 +And it's just a little bit, + +00:36:22.000 --> 00:36:22.160 +why doesn't this work out of the box in + +00:36:25.580 --> 00:36:25.680 +Emacs? Why? I don't think there's a really + +00:36:28.220 --> 00:36:28.640 +good fundamental good reason why something + +00:36:29.960 --> 00:36:30.460 +like that doesn't work in Emacs. + +00:36:31.480 --> 00:36:31.980 +So I think that's really, + +00:36:34.920 --> 00:36:35.220 +I mean, I'm sure there are other things like + +00:36:36.780 --> 00:36:37.280 +that, other fundamental features. + +00:36:39.480 --> 00:36:39.920 +Why is it that for the last 20 years, + +00:36:43.540 --> 00:36:43.740 +we've shipped Emacs with no PHP support out + +00:36:47.180 --> 00:36:47.660 +of the box? I mean, I'm not a PHP programmer. + +00:36:50.540 --> 00:36:51.020 +I don't really have a lot of love for PHP, + +00:36:55.520 --> 00:36:56.020 +let's say. To me, it's a very funny-looking + +00:36:59.800 --> 00:37:00.060 +language, but okay, still it's been very + +00:37:01.560 --> 00:37:02.060 +popular. Why haven't we supported it? + +00:37:02.900 --> 00:37:03.280 +I mean, it's just strange. + +00:37:04.540 --> 00:37:05.040 +You install Emacs on some machine, + +00:37:06.760 --> 00:37:07.260 +you open a PHP file, you get fundamental + +00:37:08.680 --> 00:37:09.160 +mode. It's not the best user experience, + +00:37:12.400 --> 00:37:12.600 +in my opinion. So I think there are some + +00:37:15.300 --> 00:37:15.480 +things where we really could do a little bit + +00:37:19.700 --> 00:37:20.200 +better. And I'm seeing this all the time. + +00:37:22.280 --> 00:37:22.500 +Just this week, this new assignment was + +00:37:24.140 --> 00:37:24.640 +interesting. There was this Emacs user. + +00:37:26.720 --> 00:37:26.980 +Turns out we have the exact same hack in both + +00:37:29.640 --> 00:37:29.860 +of our init files. So we had created the + +00:37:31.700 --> 00:37:32.140 +exact same mode for DIRED, + +00:37:33.600 --> 00:37:33.920 +actually, to hide dot files. + +00:37:36.560 --> 00:37:36.720 +You know, dot something is supposed to be + +00:37:38.940 --> 00:37:39.440 +hidden on a Unix system. + +00:37:43.700 --> 00:37:43.940 +So we had DERED hide dot files mode to just + +00:37:46.800 --> 00:37:47.100 +hide them. And why isn't that in DERED? + +00:37:47.920 --> 00:37:48.420 +Or should it be in DERED? + +00:37:50.360 --> 00:37:50.860 +Should it be a package on the new Elpa? + +00:37:52.680 --> 00:37:53.000 +Where should it be? Why is it just local + +00:37:54.280 --> 00:37:54.680 +hack? Should it be on a wiki somewhere? + +00:37:56.240 --> 00:37:56.740 +I mean, sometimes that's the correct answer. + +00:37:58.640 --> 00:37:59.060 +Sometimes the correct answer is, + +00:37:59.920 --> 00:38:00.420 +yes, it should be a package. + +00:38:02.040 --> 00:38:02.360 +Sometimes the correct answer is, + +00:38:03.640 --> 00:38:04.140 +yes, it should really be in core. + +00:38:05.920 --> 00:38:06.420 +So what I want to promote is more like, + +00:38:08.600 --> 00:38:08.900 +let's just take a step back and just ask + +00:38:11.000 --> 00:38:11.180 +yourself, what's the best solution if we look + +00:38:11.880 --> 00:38:12.240 +at the overall picture? + +00:38:13.420 --> 00:38:13.920 +Should I hack this into my configuration? + +00:38:16.720 --> 00:38:16.840 +In many cases, yes, that's the right thing to + +00:38:19.040 --> 00:38:19.540 +do. We don't want to proliferate just random + +00:38:21.660 --> 00:38:22.160 +solutions all over Emacs for no reason. + +00:38:24.600 --> 00:38:24.760 +But sometimes we want to fix it once and for + +00:38:27.200 --> 00:38:27.700 +all. We want to do that in core. + +00:38:30.040 --> 00:38:30.200 +So you could send stuff like that to us as + +00:38:30.980 --> 00:38:31.480 +patches or as packages. + +00:38:34.060 --> 00:38:34.340 +And we can discuss a little bit about where + +00:38:35.920 --> 00:38:36.420 +should we solve this? What's the right level + +00:38:40.760 --> 00:38:41.100 +of abstraction? I'm seeing that I'm running + +00:38:43.340 --> 00:38:43.620 +out of time. I had an Emacs wish list. + +00:38:46.380 --> 00:38:46.880 +Maybe we can take more of that in the Q&A. + +00:38:49.107 --> 00:38:49.226 +But I want to say, like, + +00:38:50.220 --> 00:38:50.460 +in VS Code, you just start VS Code. + +00:38:51.420 --> 00:38:51.660 +You open a Python file, + +00:38:52.660 --> 00:38:53.040 +and you get, like, hey, + +00:38:54.060 --> 00:38:54.560 +are you trying to use Python? + +00:38:55.900 --> 00:38:56.280 +Click here, install Python. + +00:38:58.200 --> 00:38:58.700 +You get all the nice things out of the box. + +00:39:01.400 --> 00:39:01.560 +And my argument is, why can't we have more of + +00:39:03.380 --> 00:39:03.880 +that in Emacs? I don't think it's necessarily + +00:39:05.860 --> 00:39:06.360 +hard, but it does take a little bit of work. + +00:39:08.560 --> 00:39:09.060 +The challenges here are more social, + +00:39:10.380 --> 00:39:10.880 +I think, than technical. + +00:39:12.480 --> 00:39:12.780 +And I think it's worth doing, + +00:39:13.700 --> 00:39:14.060 +because it's not just Python. + +00:39:16.280 --> 00:39:16.640 +It's just There are always these small things + +00:39:18.640 --> 00:39:18.900 +where it just really should work, + +00:39:20.500 --> 00:39:20.900 +and that would be a much better experience. + +00:39:23.000 --> 00:39:23.360 +And then you could customize not that thing + +00:39:24.100 --> 00:39:24.600 +that should just work, + +00:39:26.980 --> 00:39:27.140 +but you could customize more fun and + +00:39:29.320 --> 00:39:29.620 +exploratory things instead of people + +00:39:31.260 --> 00:39:31.720 +reinventing the wheel over and over again. + +00:39:33.340 --> 00:39:33.420 +So I'm very excited about what's happening in + +00:39:35.040 --> 00:39:35.280 +Emacs. I think we should be proud of what + +00:39:37.200 --> 00:39:37.360 +we've accomplished. It's so many things to + +00:39:37.960 --> 00:39:38.360 +many different people, + +00:39:39.160 --> 00:39:39.660 +an environment for hacking, + +00:39:41.120 --> 00:39:41.620 +just a productivity system. + +00:39:43.680 --> 00:39:44.020 +Other sees us as a different way of looking + +00:39:45.160 --> 00:39:45.360 +at computing, you know, + +00:39:47.160 --> 00:39:47.440 +the embodiment of the ideal of the Lisp + +00:39:49.120 --> 00:39:49.280 +machine if you want to talk big words and + +00:39:50.380 --> 00:39:50.660 +stuff like that. And of course, + +00:39:52.900 --> 00:39:53.320 +Emacs are all those things and so many more. + +00:39:54.940 --> 00:39:55.440 +And that's what makes Emacs so amazing. + +00:40:00.580 --> 00:40:00.780 +And in some sense, we should be care that + +00:40:02.720 --> 00:40:03.040 +people are satisfied with using lesser text + +00:40:05.220 --> 00:40:05.600 +editors. How could they be happy running + +00:40:07.180 --> 00:40:07.440 +that? I mean, I'm sure it's fine, + +00:40:09.360 --> 00:40:09.800 +but it sure as hell isn't Emacs. + +00:40:12.100 --> 00:40:12.340 +So don't we owe it to the world and to them + +00:40:13.940 --> 00:40:14.440 +and to ourselves to make a great Emacs. + +00:40:15.880 --> 00:40:16.120 +That will be my ending words. + +00:40:17.520 --> 00:40:18.020 +And I hope to see you all in the Q&A. + +00:40:22.360 --> 00:40:22.560 +Thank you all. And thank you so much, + +00:40:23.860 --> 00:40:24.360 +Stefan. That was a wonderful presentation. + +00:40:26.780 --> 00:40:27.280 +And I just want to give you the opportunity. + +00:40:29.440 --> 00:40:29.940 +You said that you perhaps had, + +00:40:31.260 --> 00:40:31.400 +Not the practical stuff, + +00:40:33.120 --> 00:40:33.280 +but you wanted to do a demo or something like + +00:40:34.280 --> 00:40:34.780 +this? What did you mention exactly? + +00:40:37.960 --> 00:40:38.460 +Yeah, we didn't have time really. + +00:40:41.600 --> 00:40:42.040 +Yes, I'm not sure. I didn't prepare anything + +00:40:43.080 --> 00:40:43.580 +so that we can do it live. + +00:40:44.540 --> 00:40:44.800 +But maybe for next time, + +00:40:48.120 --> 00:40:48.620 +I will do a demo. Don't hold me to it. + +00:40:50.800 --> 00:40:51.100 +Or someone else could. + +00:40:52.040 --> 00:40:52.540 +That would be really amazing. + +00:40:53.860 --> 00:40:54.020 +Right. Well, thank you, + +00:40:56.640 --> 00:40:56.820 +Stéphane. You've been already into so much + +00:41:00.060 --> 00:41:00.560 +detail of so many... So much of the intricacy + +00:41:04.600 --> 00:41:05.100 +of the maintenance. And as someone who's been + +00:41:07.480 --> 00:41:07.980 +95% of the time developing for Melpa, + +00:41:10.920 --> 00:41:11.040 +I feel like this talk was very geared to a + +00:41:13.520 --> 00:41:13.980 +lot of us who tend to experiment in this + +00:41:15.920 --> 00:41:16.400 +Cambrian stage of Emacs evolution, + +00:41:19.120 --> 00:41:19.620 +where we get to deploy a lot of creativity + +00:41:23.760 --> 00:41:24.020 +whilst also feeling pretty agile in a way we + +00:41:25.080 --> 00:41:25.580 +come up with solutions to problems. + +00:41:28.820 --> 00:41:29.240 +But you've won me over with your discussion + +00:41:31.100 --> 00:41:31.360 +about potentially moving some of this stuff + +00:41:32.720 --> 00:41:33.220 +to core. And I think this particularly + +00:41:35.940 --> 00:41:36.140 +resonated at the end with this tension that + +00:41:38.160 --> 00:41:38.660 +you feel about problems that you encounter. + +00:41:40.280 --> 00:41:40.760 +Do you fix them in Melpa? + +00:41:41.600 --> 00:41:42.040 +Do you fix them in core? + +00:41:43.680 --> 00:41:43.780 +Is it not something that is supposed to be an + +00:41:46.340 --> 00:41:46.560 +option? I love this tension and it's + +00:41:47.900 --> 00:41:48.040 +something that we've been exploring for the + +00:41:49.300 --> 00:41:49.780 +last 3 edition of Emacs Cons. + +00:41:51.980 --> 00:41:52.480 +It's really what is to be the interaction + +00:41:55.160 --> 00:41:55.660 +between this pool of very clever developers + +00:41:57.960 --> 00:41:58.100 +who are on Melpa but who are perhaps a little + +00:42:00.380 --> 00:42:00.880 +bit afraid of joining Core and the wonderful + +00:42:02.360 --> 00:42:02.860 +job that you do that, yes, + +00:42:05.140 --> 00:42:05.640 +seems archaic from the outside, + +00:42:07.700 --> 00:42:07.840 +but as you've been at length today in your + +00:42:09.280 --> 00:42:09.480 +presentation, is actually just a better way + +00:42:11.680 --> 00:42:11.780 +to work, a very pragmatic way to get a lot of + +00:42:13.180 --> 00:42:13.320 +work done. So, thank you so much for your + +00:42:15.020 --> 00:42:15.240 +presentation. Thank you, + +00:42:20.320 --> 00:42:20.740 +Leo. So, we have about 12 minutes now to go + +00:42:22.500 --> 00:42:22.950 +through as many questions as possible. + +00:42:25.600 --> 00:42:26.000 +You have obviously had a lot of questions + +00:42:26.680 --> 00:42:27.180 +throughout your presentation. + +00:42:28.660 --> 00:42:28.940 +Do you have access to the pad, + +00:42:30.240 --> 00:42:30.400 +or do you want me to share the question and + +00:42:32.340 --> 00:42:32.660 +feed them to you? Yes, + +00:42:34.020 --> 00:42:34.200 +could you start with sharing them? + +00:42:35.500 --> 00:42:36.000 +I'll see if I can get it on my screen. + +00:42:39.140 --> 00:42:39.640 +Sure, I'll do that. Please let me know if my + +00:42:42.620 --> 00:42:42.980 +microphone is clipping because my OBS setup + +00:42:44.060 --> 00:42:44.440 +sometimes is a little bit janky. + +00:42:45.720 --> 00:42:46.080 +But I'm going to try to read the questions + +00:42:47.280 --> 00:42:47.780 +for now. It's tipping, + +00:42:51.660 --> 00:42:51.980 +I can hear you okay. Okay, + +00:42:53.940 --> 00:42:54.400 +so bear with the clicking, + +00:42:56.080 --> 00:42:56.480 +we'll switch as soon as possible to Stefan + +00:42:57.800 --> 00:42:58.080 +reading the question, but I'll read the first + +00:43:02.320 --> 00:43:02.820 +1. Can you tell us some about your, + +00:43:03.880 --> 00:43:04.340 +can you tell us some more I assume, + +00:43:05.720 --> 00:43:06.160 +about your background with Emacs development + +00:43:07.000 --> 00:43:07.500 +and programming in general, + +00:43:08.720 --> 00:43:09.220 +your professional work possibly? + +00:43:15.060 --> 00:43:15.440 +Yeah, sure. Okay, I studied computer science + +00:43:19.760 --> 00:43:19.960 +at university. I started programming on a + +00:43:23.800 --> 00:43:23.960 +Commodore 64. I started with BASIC and then I + +00:43:26.380 --> 00:43:26.880 +did a couple of versions of BASIC as a kid. + +00:43:31.340 --> 00:43:31.540 +But then really things took off when I + +00:43:33.740 --> 00:43:34.240 +started using GNU Linux. + +00:43:35.320 --> 00:43:35.580 +I can't remember which year, + +00:43:36.940 --> 00:43:37.440 +maybe it was early 2000, + +00:43:39.240 --> 00:43:39.740 +something like that, late. + +00:43:41.580 --> 00:43:42.080 +No, it must've been before that actually, + +00:43:43.620 --> 00:43:44.120 +because I remember I was 14. + +00:43:45.520 --> 00:43:46.020 +Yeah, okay, so let's say 1999, + +00:43:48.220 --> 00:43:48.720 +1998, somewhere there around. + +00:43:49.740 --> 00:43:50.200 +Then I started with Perl, + +00:43:52.120 --> 00:43:52.620 +and I did Perl for a good long while. + +00:43:54.960 --> 00:43:55.460 +I learned C++, I learned C, + +00:43:56.640 --> 00:43:56.960 +I did all kinds of stuff, + +00:43:58.140 --> 00:43:58.640 +and then I went to university, + +00:44:01.220 --> 00:44:01.700 +computer science, and I've been working, + +00:44:03.480 --> 00:44:03.980 +you know, in various roles. + +00:44:05.800 --> 00:44:06.300 +Right now, I'm coding Python. + +00:44:09.140 --> 00:44:09.640 +Up until last Friday, I was writing firmware + +00:44:11.819 --> 00:44:12.319 +in C for a small microcontroller, + +00:44:15.200 --> 00:44:15.600 +which is pretty different than writing + +00:44:16.560 --> 00:44:17.060 +Python, that's for sure. + +00:44:19.280 --> 00:44:19.600 +So yeah, so that's a little bit about me. + +00:44:21.360 --> 00:44:21.860 +I got interested in free software, + +00:44:24.280 --> 00:44:24.720 +you know, also at a very young age. + +00:44:26.140 --> 00:44:26.320 +So, I mean, I've been following these, + +00:44:28.940 --> 00:44:29.120 +you know, ideological discussions and + +00:44:31.160 --> 00:44:31.560 +debates, read all this stuff by Richard + +00:44:33.620 --> 00:44:33.940 +Stallman and so on and so forth. + +00:44:37.500 --> 00:44:37.760 +But yeah, that's it. Great, + +00:44:40.680 --> 00:44:41.120 +thank you. I'll move on to the next question. + +00:44:42.640 --> 00:44:42.980 +You'll have to listen to me because if I + +00:44:44.680 --> 00:44:45.020 +start sharing my screen again, + +00:44:45.820 --> 00:44:46.320 +we're going to get some clicks. + +00:44:50.380 --> 00:44:50.680 +So the question. Do you think that 1 day + +00:44:53.914 --> 00:44:53.930 +there will be a native I'll start again, + +00:44:54.065 --> 00:44:54.079 +sorry. Do you think that 1 day there will be + +00:44:54.140 --> 00:44:54.440 +a native... I'll start again, + +00:44:56.380 --> 00:44:56.480 +sorry. Do you think that 1 day there will be + +00:44:58.840 --> 00:44:59.020 +a native graphical web browser in Emacs or is + +00:45:00.340 --> 00:45:00.540 +it kind of against its philosophy and + +00:45:03.320 --> 00:45:03.820 +architecture? So will we stick just with EWW + +00:45:06.300 --> 00:45:06.800 +and EAF or similar workaround tricks? + +00:45:10.840 --> 00:45:11.200 +So if, I don't know if people have seen, + +00:45:12.240 --> 00:45:12.740 +there is a talk by, I think, + +00:45:14.820 --> 00:45:15.080 +Perry Metzger, is that the name? + +00:45:16.300 --> 00:45:16.800 +Sorry if I got the name wrong. + +00:45:17.860 --> 00:45:18.360 +Perry Metzger, I think. + +00:45:20.660 --> 00:45:20.800 +It's like, he marks a text editor for the + +00:45:22.360 --> 00:45:22.640 +next 40 years. He makes an excellent point + +00:45:24.440 --> 00:45:24.720 +there that 1 of the things that we need to do + +00:45:27.720 --> 00:45:27.840 +is really get a proper HTML rendering in + +00:45:29.900 --> 00:45:30.260 +Emacs. It's like a dream at this point. + +00:45:32.000 --> 00:45:32.200 +No 1 is actively working on something like + +00:45:33.960 --> 00:45:34.240 +that. I think that, you know, + +00:45:35.980 --> 00:45:36.380 +there, first of all, you'd need to rewrite + +00:45:39.020 --> 00:45:39.520 +the display engine. So that's a big job. + +00:45:40.920 --> 00:45:41.140 +It is. I'm not saying, + +00:45:42.040 --> 00:45:42.540 +you know, it can't be done, + +00:45:44.160 --> 00:45:44.660 +but you need to start there. + +00:45:47.300 --> 00:45:47.560 +Right? Second of all, you need to think + +00:45:50.080 --> 00:45:50.460 +about, you know, with all the Emacs Lisp code + +00:45:51.820 --> 00:45:52.090 +out there, is really assuming, + +00:45:54.760 --> 00:45:54.960 +you know, 1 paradigm, which is that you have + +00:45:57.640 --> 00:45:57.720 +a square, and basically you have columns and + +00:45:59.480 --> 00:45:59.760 +you have rows, and everything is in there, + +00:46:01.860 --> 00:46:02.360 +even images, is basically in a column, + +00:46:04.240 --> 00:46:04.740 +you know, in a column on a row somewhere. + +00:46:07.120 --> 00:46:07.360 +Whereas, you know, when you just start doing + +00:46:09.280 --> 00:46:09.780 +the more web stuff and web rendering, + +00:46:11.520 --> 00:46:12.020 +you already have like a seaplane. + +00:46:14.340 --> 00:46:14.500 +You have different types of geometries that + +00:46:16.720 --> 00:46:16.880 +are possible. And what does it mean to go to + +00:46:19.200 --> 00:46:19.370 +the logical next line in that kind of sense? + +00:46:21.100 --> 00:46:21.420 +I mean these types of things I'm not saying + +00:46:23.260 --> 00:46:23.440 +it can't be done. I'm saying there are there + +00:46:27.260 --> 00:46:27.440 +are definitely some challenges there It would + +00:46:30.020 --> 00:46:30.280 +be amazing I mean, but we need someone with + +00:46:32.520 --> 00:46:33.020 +you know, the inclination and talent I think + +00:46:37.280 --> 00:46:37.680 +to work on that's a job posting if I've ever + +00:46:40.080 --> 00:46:40.200 +had 1. So good luck to whoever's willing to + +00:46:41.600 --> 00:46:42.100 +apply for this 1. I think it's a tough 1. + +00:46:45.940 --> 00:46:46.440 +It is, yes. Go on. Okay, + +00:46:47.860 --> 00:46:48.040 +do you happen to have the questions in front + +00:46:50.160 --> 00:46:50.320 +of you? Can I just read them to you so that + +00:46:52.160 --> 00:46:52.660 +you can also have a feedback in front of you? + +00:46:56.180 --> 00:46:56.680 +Yes, I have the pad here. + +00:46:58.580 --> 00:46:58.860 +Okay, cool. So I'll read the next question + +00:47:00.060 --> 00:47:00.260 +and this way I don't have to worry too much + +00:47:02.160 --> 00:47:02.320 +about me butchering every word in the + +00:47:04.340 --> 00:47:04.540 +sentence. So, Emacs development and + +00:47:06.300 --> 00:47:06.460 +communication still is very much focused on + +00:47:08.300 --> 00:47:08.640 +email mailing lists. I like this, + +00:47:10.120 --> 00:47:10.380 +but what do you think about introducing other + +00:47:11.820 --> 00:47:12.320 +channels for talking to users, + +00:47:14.980 --> 00:47:15.140 +like the Emacs project community could set up + +00:47:16.880 --> 00:47:17.120 +a master on instance of its own, + +00:47:19.780 --> 00:47:20.280 +for instance? I think from the point of view + +00:47:21.500 --> 00:47:21.760 +of the Emacs core team, + +00:47:23.680 --> 00:47:23.860 +we don't really have a lot of resources or + +00:47:25.760 --> 00:47:25.960 +people inclined to be working on stuff like + +00:47:27.700 --> 00:47:27.880 +that. But I mean, there is so much going on. + +00:47:28.860 --> 00:47:29.360 +Emacs is a very, you know, + +00:47:32.080 --> 00:47:32.580 +It's a big community, frankly, + +00:47:34.000 --> 00:47:34.500 +right? So people working on emacs.com, + +00:47:36.900 --> 00:47:37.400 +there are people in the IRC channel, + +00:47:38.700 --> 00:47:39.200 +the emacs IRC channel, + +00:47:40.320 --> 00:47:40.820 +there's the emacs subreddit. + +00:47:42.780 --> 00:47:43.280 +And I mean, people are doing an incredible + +00:47:45.280 --> 00:47:45.480 +job. And I think if people wanna do more + +00:47:46.359 --> 00:47:46.400 +stuff like that, I mean, + +00:47:48.340 --> 00:47:48.840 +Don't wait for Argo, just go for it. + +00:47:54.000 --> 00:47:54.340 +Great. Moving on to the next question. + +00:47:56.400 --> 00:47:56.520 +Sorry, I'm not commenting anymore because we + +00:47:58.080 --> 00:47:58.180 +have so many questions and I'd love for you + +00:48:00.060 --> 00:48:00.260 +to answer as many people as possible because + +00:48:02.040 --> 00:48:02.540 +we have about 6 minutes technically, + +00:48:04.320 --> 00:48:04.820 +but we can go perhaps a little bit over. + +00:48:05.860 --> 00:48:06.220 +If you have the time, Stefan, + +00:48:08.180 --> 00:48:08.680 +though. Yeah. Okay, great. + +00:48:11.000 --> 00:48:11.140 +What are some features or packages you'd like + +00:48:12.040 --> 00:48:12.540 +to see developed by the community? + +00:48:15.060 --> 00:48:15.560 +We've already talked about the native HTTP + +00:48:17.120 --> 00:48:17.620 +display, but do you have any others? + +00:48:21.580 --> 00:48:22.080 +So, I mean, developed by the community, + +00:48:23.040 --> 00:48:23.240 +it depends what you mean. + +00:48:27.280 --> 00:48:27.720 +So do you mean sending stuff that people + +00:48:29.220 --> 00:48:29.720 +could be working on in general? + +00:48:32.820 --> 00:48:33.320 +I think for now, like let's say the roadmap, + +00:48:34.960 --> 00:48:35.140 +I'll just give some of the things that I + +00:48:36.820 --> 00:48:36.940 +think should happen right now and that I + +00:48:38.720 --> 00:48:39.060 +would love for people to send patches for. + +00:48:40.920 --> 00:48:41.120 +That's what I'm gonna be answering because + +00:48:42.360 --> 00:48:42.860 +that's what I think I can answer. + +00:48:44.720 --> 00:48:45.220 +Tree-sitter is a new thing, + +00:48:48.120 --> 00:48:48.620 +right? Improving and working on new modes + +00:48:49.540 --> 00:48:50.040 +for, you know, TreeSitter, + +00:48:52.360 --> 00:48:52.860 +it's not very hard. I think many people get + +00:48:55.400 --> 00:48:55.560 +into it and make sure to integrate them in + +00:48:57.040 --> 00:48:57.540 +Emacs core. I think that would be, + +00:48:59.700 --> 00:49:00.140 +I mean, on my wishlist. + +00:49:01.820 --> 00:49:01.960 +The other thing that is that we've asked for + +00:49:03.260 --> 00:49:03.740 +someone perhaps with a little bit more + +00:49:05.800 --> 00:49:05.940 +experience, I think, but working on + +00:49:08.880 --> 00:49:09.080 +refactoring capabilities in Emacs and a more + +00:49:11.100 --> 00:49:11.320 +general framework, I think, + +00:49:13.180 --> 00:49:13.680 +for that. There are probably many more ideas + +00:49:14.900 --> 00:49:15.300 +that I could give people, + +00:49:17.420 --> 00:49:17.720 +but those would be the 2 big ones, + +00:49:19.640 --> 00:49:20.140 +I think, that are also very uncontroversial. + +00:49:23.460 --> 00:49:23.960 +It's funny because for me, + +00:49:26.580 --> 00:49:26.760 +I don't think refactoring would count as a + +00:49:29.260 --> 00:49:29.760 +feature, but it's so vital to allowing + +00:49:31.280 --> 00:49:31.780 +further features to be developed. + +00:49:33.940 --> 00:49:34.160 +Otherwise, I remember the way Org Mode used + +00:49:36.020 --> 00:49:36.300 +to be before we had Org Element and stuff + +00:49:38.680 --> 00:49:38.940 +like this. It was really complicated to write + +00:49:40.920 --> 00:49:41.200 +any kind of parsing stuff for it. + +00:49:42.100 --> 00:49:42.340 +And now that we've got it, + +00:49:43.580 --> 00:49:44.080 +it just opened up a world of possibility + +00:49:45.920 --> 00:49:46.160 +where parsing an Org Mode file is just made + +00:49:47.920 --> 00:49:48.280 +so much easier. So I think that's a wonderful + +00:49:49.120 --> 00:49:49.620 +answer because it goes, + +00:49:51.780 --> 00:49:52.080 +it's multi-layered as you would expect from + +00:49:53.420 --> 00:49:53.920 +something that concerns the whole of Emacs. + +00:49:56.660 --> 00:49:57.160 +Moving on to the next question. + +00:49:59.600 --> 00:49:59.960 +What is the hardest decision being made + +00:50:02.240 --> 00:50:02.480 +within Emacs dev for the last 3 years. + +00:50:04.760 --> 00:50:04.960 +I'm not sure, is it the decision in the last + +00:50:07.340 --> 00:50:07.480 +3 years or I'll let you interpret the + +00:50:08.260 --> 00:50:08.760 +question however you want. + +00:50:10.460 --> 00:50:10.960 +Okay, well, I'll say this. + +00:50:13.940 --> 00:50:14.220 +I started in August and I haven't had any + +00:50:16.480 --> 00:50:16.920 +really hard decisions so far. + +00:50:20.360 --> 00:50:20.540 +So good news. Maybe Eli will have more for + +00:50:22.320 --> 00:50:22.820 +the last 3 years. Keep it simple. + +00:50:28.160 --> 00:50:28.660 +Thanks. Cool. Next question. + +00:50:31.420 --> 00:50:31.920 +Any plans to integrate XWM into core? + +00:50:33.900 --> 00:50:34.400 +Emacs is a really good Winters manager. + +00:50:37.580 --> 00:50:38.080 +That's super cool. I think EXWM is cool. + +00:50:39.640 --> 00:50:40.140 +I think they need to upgrade to Wayland + +00:50:41.580 --> 00:50:41.880 +somehow and that's not clear yet, + +00:50:44.600 --> 00:50:44.880 +but you know, we don't have any current plans + +00:50:48.400 --> 00:50:48.900 +to integrate it, no. Right, + +00:50:51.180 --> 00:50:51.600 +Next question. Do you think it is a good idea + +00:50:53.040 --> 00:50:53.540 +to choose Org Mode for writing documentation + +00:50:57.260 --> 00:50:57.740 +instead of tech info? I think that whatever + +00:50:59.440 --> 00:50:59.680 +we do, it should be the people that are + +00:51:01.520 --> 00:51:01.760 +working on the documentation that should make + +00:51:03.240 --> 00:51:03.420 +that choice. Currently we have, + +00:51:05.740 --> 00:51:05.920 +I think, Modus themes and Org Mode itself is + +00:51:07.560 --> 00:51:08.060 +writing their documentation in Org Mode, + +00:51:10.440 --> 00:51:10.940 +that's fine by me. It has some drawbacks, + +00:51:12.940 --> 00:51:13.440 +it has some benefits, but most documentation + +00:51:14.340 --> 00:51:14.840 +is still in tech info. + +00:51:17.120 --> 00:51:17.360 +Maybe we'd need to replace that at some + +00:51:19.600 --> 00:51:19.840 +point, I don't know. But for now, + +00:51:21.960 --> 00:51:22.280 +that's what people know and use. + +00:51:24.140 --> 00:51:24.280 +And if you find that as a barrier to + +00:51:25.440 --> 00:51:25.600 +contribute to Emacs, I mean, + +00:51:26.920 --> 00:51:27.420 +just really write it as plain text. + +00:51:28.940 --> 00:51:29.380 +We'll be happy to help you with the markup. + +00:51:30.140 --> 00:51:30.280 +It's a little bit, you know, + +00:51:31.260 --> 00:51:31.760 +finicky and stuff like that. + +00:51:34.560 --> 00:51:35.060 +Great. Thanks for that. + +00:51:37.900 --> 00:51:38.000 +Next question. What do you plan to work on in + +00:51:38.860 --> 00:51:39.360 +Emacs Core in the future? + +00:51:42.440 --> 00:51:42.660 +I'm a little bit hesitant to reply to that. + +00:51:43.280 --> 00:51:43.740 +Of course I have ideas. + +00:51:45.360 --> 00:51:45.760 +Of course there are projects that I'm working + +00:51:47.360 --> 00:51:47.640 +on. However, if I say it here, + +00:51:48.280 --> 00:51:48.480 +I feel like, you know, + +00:51:50.740 --> 00:51:51.240 +then you'll hold me to it later and come ask, + +00:51:51.980 --> 00:51:52.480 +where is that feature? + +00:51:54.940 --> 00:51:55.180 +So I'll just say there is plenty of stuff + +00:51:57.100 --> 00:51:57.340 +that I'm working on, and if you want to know + +00:51:58.520 --> 00:51:58.780 +some of the stuff that I have been working + +00:51:59.540 --> 00:52:00.040 +on, check the Git log. + +00:52:02.240 --> 00:52:02.400 +I think that's just really as much as I want + +00:52:04.540 --> 00:52:05.040 +to say about that right now. + +00:52:07.180 --> 00:52:07.360 +You've added folks to just look at the path + +00:52:09.120 --> 00:52:09.620 +with the changelog and that's all you need. + +00:52:12.840 --> 00:52:13.340 +All right, moving on to the next question. + +00:52:15.880 --> 00:52:16.120 +What do you use Emacs for in your life other + +00:52:17.080 --> 00:52:17.580 +than working on Emacs itself? + +00:52:20.560 --> 00:52:21.060 +Oh shit. So the big thing is programming, + +00:52:23.520 --> 00:52:24.020 +right? Now I work as a programmer. + +00:52:28.780 --> 00:52:29.280 +But in general, I use org mode heavily. + +00:52:30.280 --> 00:52:30.780 +I use it for all my writing. + +00:52:32.960 --> 00:52:33.460 +I use it to write, prepare this talk. + +00:52:34.860 --> 00:52:35.360 +I use it as a productivity system. + +00:52:41.480 --> 00:52:41.980 +I use it for emails. I use it as an RSS + +00:52:43.980 --> 00:52:44.480 +reader. I do most of my computing. + +00:52:46.840 --> 00:52:47.040 +I also have Firefox. So it's like Emacs and + +00:52:48.320 --> 00:52:48.820 +Firefox for some reason. + +00:52:51.740 --> 00:52:51.900 +I do read documentation in Emacs as well in + +00:52:57.940 --> 00:52:58.440 +you, but yeah. Great. I'm still, + +00:53:00.540 --> 00:53:00.720 +I do very much the same thing with you. + +00:53:01.880 --> 00:53:02.040 +Like You've described exactly what I do. + +00:53:02.560 --> 00:53:02.960 +I work as a programmer, + +00:53:04.340 --> 00:53:04.640 +I use Augment for a lot of stuff, + +00:53:06.220 --> 00:53:06.340 +and I think that describes a whole lot of + +00:53:07.600 --> 00:53:08.100 +people currently watching the stream. + +00:53:10.180 --> 00:53:10.680 +Moving on to the next question. + +00:53:12.540 --> 00:53:12.740 +What could we do in order to make Emacs more + +00:53:13.780 --> 00:53:14.280 +attractive for younger users? + +00:53:17.440 --> 00:53:17.940 +This is an amazing question and I feel wholly + +00:53:20.220 --> 00:53:20.720 +unprepared to answer this. + +00:53:23.680 --> 00:53:24.180 +Probably more introductory material aimed at + +00:53:26.180 --> 00:53:26.580 +that age group. What do you mean by younger + +00:53:28.580 --> 00:53:28.740 +users? You know what would be really cool if + +00:53:30.240 --> 00:53:30.740 +you had an Emacs for kids project? + +00:53:31.560 --> 00:53:32.060 +That would be amazing. + +00:53:34.640 --> 00:53:34.920 +I'm not sure if that's what people are + +00:53:36.380 --> 00:53:36.880 +thinking about, but yeah, + +00:53:39.280 --> 00:53:39.780 +that's about what I can say for now. + +00:53:43.000 --> 00:53:43.320 +Good question. It is a very good question, + +00:53:45.760 --> 00:53:45.880 +like it comes back always to a key topic in + +00:53:47.480 --> 00:53:47.720 +EmacsConf, which is, how do we get more + +00:53:49.040 --> 00:53:49.360 +people to join us? Because it's a wonderful + +00:53:51.560 --> 00:53:51.760 +community. And how do we onboard people who + +00:53:53.720 --> 00:53:54.220 +are not programmers or people who are younger + +00:53:56.220 --> 00:53:56.720 +than the average Joe coming in those + +00:54:01.240 --> 00:54:01.560 +meetings? There's this Excellent article by + +00:54:05.460 --> 00:54:05.960 +Paul Graham, I think, where he was describing + +00:54:08.640 --> 00:54:09.140 +how they used Emacs as the sort of customer + +00:54:11.120 --> 00:54:11.520 +service system. They built the customer + +00:54:13.440 --> 00:54:13.940 +service system for the early days of Amazon + +00:54:17.080 --> 00:54:17.200 +in Emacs Lisp. And then they switched and all + +00:54:18.280 --> 00:54:18.680 +the employees were sad. + +00:54:21.480 --> 00:54:21.680 +So definitely there's more stuff that could + +00:54:24.660 --> 00:54:25.160 +be done in Emacs and be done better in Emacs. + +00:54:27.240 --> 00:54:27.440 +So for sure, if people want to explore more + +00:54:28.380 --> 00:54:28.880 +stuff like that, that's amazing. + +00:54:31.560 --> 00:54:32.040 +Yeah. And for people who weren't around + +00:54:33.540 --> 00:54:33.740 +earlier today, we've had a presentation about + +00:54:36.320 --> 00:54:36.820 +how to get computer science students to use + +00:54:40.900 --> 00:54:41.100 +Emacs and trying to provide as much + +00:54:43.200 --> 00:54:43.500 +information and as much tutorial as needed + +00:54:45.060 --> 00:54:45.480 +for them to understand what is the philosophy + +00:54:47.980 --> 00:54:48.420 +behind Emacs and how it influences the way + +00:54:49.300 --> 00:54:49.540 +you work and so forth. + +00:54:51.000 --> 00:54:51.420 +So you might want to revisit this discussion. + +00:54:53.100 --> 00:54:53.400 +And we also have plenty of talks talking + +00:54:57.540 --> 00:54:57.720 +about this issue. And I can just add that I + +00:55:00.220 --> 00:55:00.320 +think it's very important for us as a + +00:55:02.880 --> 00:55:03.120 +community to just be enthusiastic to get more + +00:55:04.400 --> 00:55:04.640 +people involved. Because I mean, + +00:55:06.260 --> 00:55:06.660 +look, there's this meme where it's like, + +00:55:08.300 --> 00:55:08.620 +I use Arch Linux, by the way, + +00:55:09.520 --> 00:55:10.020 +I use Arch, by the way. + +00:55:12.160 --> 00:55:12.380 +And for some reason, people using Arch keep + +00:55:13.580 --> 00:55:14.080 +telling you that they're using Arch. + +00:55:15.860 --> 00:55:16.160 +That's fine. Use whatever you want. + +00:55:17.760 --> 00:55:18.260 +It's free software, I don't care. + +00:55:21.500 --> 00:55:21.900 +I think if you look at Vim users, + +00:55:22.940 --> 00:55:23.440 +they're very almost militant, + +00:55:25.280 --> 00:55:25.780 +oh, we're Vim, and Vim is the thing. + +00:55:26.980 --> 00:55:27.480 +And Emacs users sometimes, + +00:55:29.540 --> 00:55:29.960 +and it's fine. We take a bit of a more + +00:55:30.860 --> 00:55:31.160 +laid-back approach. We're like, + +00:55:32.400 --> 00:55:32.720 +yeah, I use Emacs, you use Vim, + +00:55:35.080 --> 00:55:35.320 +whatever. And that's fine. + +00:55:36.460 --> 00:55:36.820 +I mean, that's the correct approach, + +00:55:38.300 --> 00:55:38.480 +I think. You should respect what people want + +00:55:40.520 --> 00:55:40.840 +to use. I don't care that people use VS Code + +00:55:42.380 --> 00:55:42.540 +or whatever. I'm not going to use that + +00:55:43.520 --> 00:55:43.940 +because it's too limiting. + +00:55:45.280 --> 00:55:45.780 +It's not really a workable environment. + +00:55:48.120 --> 00:55:48.620 +But I think it's OK to be enthusiastic. + +00:55:51.180 --> 00:55:51.360 +I think it's okay to talk about that type of + +00:55:53.600 --> 00:55:54.100 +enthusiasm and anything that can help + +00:55:56.600 --> 00:55:56.880 +increase the enthusiasm around Emacs can only + +00:56:00.600 --> 00:56:01.100 +help the longevity of Emacs. + +00:56:04.080 --> 00:56:04.280 +I agree and that's also 1 of the key + +00:56:04.840 --> 00:56:05.340 +objectives of EmacsConf. + +00:56:07.280 --> 00:56:07.660 +It's about bringing a lot of amazing people + +00:56:08.600 --> 00:56:09.100 +to come talk, like you, + +00:56:10.920 --> 00:56:11.400 +about stuff that is very dear to you. + +00:56:13.740 --> 00:56:14.180 +And it's very tangible how much you care, + +00:56:15.540 --> 00:56:15.920 +all of you, about what you're presenting. + +00:56:18.340 --> 00:56:18.560 +And it's amazing to put all of you people on + +00:56:20.640 --> 00:56:20.800 +just 48 hours talking about all of this and + +00:56:22.720 --> 00:56:22.920 +then creating so much content for people to + +00:56:24.280 --> 00:56:24.480 +watch. And I think it's really helping the + +00:56:27.900 --> 00:56:28.140 +enthusiasm to live on and to gather a little + +00:56:29.160 --> 00:56:29.660 +more snow as it comes down. + +00:56:31.440 --> 00:56:31.720 +Yeah, I watch you Max Conf every year. + +00:56:32.960 --> 00:56:33.460 +I think it's a lot of fun. + +00:56:37.120 --> 00:56:37.360 +Thank you. I'll take the compliment for + +00:56:38.120 --> 00:56:38.620 +everyone else in the team. + +00:56:40.960 --> 00:56:41.120 +We're going to go a little bit longer with + +00:56:42.720 --> 00:56:42.800 +the Q&A because we still have a lot of + +00:56:44.380 --> 00:56:44.480 +questions and if Stéphane is still willing to + +00:56:47.860 --> 00:56:48.160 +answer, I'm still willing to not go too bad + +00:56:49.540 --> 00:56:49.740 +to hear a lot more of it. + +00:56:50.140 --> 00:56:50.580 +Yeah, for me it's fine. + +00:56:55.580 --> 00:56:55.760 +I have time. Great. So I think I've done this + +00:56:56.960 --> 00:56:57.460 +question. So, all right. + +00:56:59.820 --> 00:57:00.060 +How are we going to make sure that a cool + +00:57:01.760 --> 00:57:01.960 +idea is going to pass it through for the next + +00:57:03.600 --> 00:57:04.100 +generation, let's say 20 years later, + +00:57:05.540 --> 00:57:05.860 +the generation still have the good knowledge + +00:57:09.600 --> 00:57:09.940 +we have today. Yeah, so I mean, + +00:57:12.440 --> 00:57:12.840 +if you think about what does EMAX need to + +00:57:14.880 --> 00:57:15.180 +have staying power, so in general, + +00:57:16.840 --> 00:57:17.020 +they say, you know, if if when you start a + +00:57:18.900 --> 00:57:19.340 +company, if you have a company for 1 year, + +00:57:19.900 --> 00:57:20.220 +then in all likelihood, + +00:57:21.560 --> 00:57:21.820 +you're going to have it for 2 years because, + +00:57:23.320 --> 00:57:23.680 +you know, it's just so if you've had Emacs + +00:57:25.760 --> 00:57:25.840 +for 4 years, I'm saying that we're going to + +00:57:27.520 --> 00:57:27.980 +have Emacs for the next 4 years as well. + +00:57:30.200 --> 00:57:30.540 +Just based on that, I'm not sure the logic + +00:57:31.700 --> 00:57:32.200 +holds up, but you know, + +00:57:33.820 --> 00:57:34.320 +how does Emacs stay relevant? + +00:57:35.120 --> 00:57:35.500 +I think is the question. + +00:57:37.900 --> 00:57:38.400 +Well, I think we need to continue working on + +00:57:41.540 --> 00:57:41.840 +all the types of exploratory work that people + +00:57:43.360 --> 00:57:43.820 +are doing in the community. + +00:57:45.460 --> 00:57:45.720 +I think there is fundamental stuff that needs + +00:57:47.440 --> 00:57:47.720 +to be done. I mean, if people want to work + +00:57:49.000 --> 00:57:49.400 +on, you know, web rendering and Emacs, + +00:57:50.060 --> 00:57:50.240 +maybe that's the next, + +00:57:53.000 --> 00:57:53.240 +you know, revolutionary step that we need + +00:57:55.020 --> 00:57:55.320 +that could, you know, really showcase what + +00:57:57.380 --> 00:57:57.640 +Emacs, you know, as, you know, + +00:58:00.140 --> 00:58:00.620 +an idea, even if not Emacs as a software + +00:58:01.680 --> 00:58:01.960 +could be and, you know, + +00:58:04.600 --> 00:58:05.000 +Because there is huge potential in the idea + +00:58:06.600 --> 00:58:07.100 +as such. So maybe that's something. + +00:58:09.340 --> 00:58:09.600 +But I mean, from the point of view of core + +00:58:11.380 --> 00:58:11.840 +development, I think we need to just continue + +00:58:14.540 --> 00:58:15.040 +working on the fundamental technologies. + +00:58:17.760 --> 00:58:17.980 +1 thing that I would like to eventually see + +00:58:19.200 --> 00:58:19.700 +is a better garbage collector. + +00:58:22.020 --> 00:58:22.280 +We've talked about that for a long time, + +00:58:24.640 --> 00:58:25.140 +but I mean, we need someone to do the job + +00:58:27.720 --> 00:58:27.980 +really. It's not very easy. + +00:58:29.280 --> 00:58:29.780 +It's very hard, actually. + +00:58:33.780 --> 00:58:34.000 +So just continues working on stuff like that, + +00:58:34.680 --> 00:58:35.180 +continue with the exploration, + +00:58:39.860 --> 00:58:40.260 +continue using and being excited about Emacs. + +00:58:42.980 --> 00:58:43.180 +I think that's the best guarantee that we + +00:58:45.480 --> 00:58:45.800 +have. Yeah, and perhaps to echo something + +00:58:46.280 --> 00:58:46.780 +that you said earlier, + +00:58:47.580 --> 00:58:47.960 +the tools that you're using, + +00:58:49.540 --> 00:58:49.920 +like the emails, they've been around forever, + +00:58:50.600 --> 00:58:51.100 +they will be around forever. + +00:58:53.320 --> 00:58:53.480 +This pragmatic stance on the tools that + +00:58:56.120 --> 00:58:56.240 +you're using, they might look stayed from the + +00:58:58.380 --> 00:58:58.880 +outside, but ultimately they are what permits + +00:59:01.780 --> 00:59:02.280 +a sense of longevity to any kind of project + +00:59:05.200 --> 00:59:05.460 +you embark upon. Also, + +00:59:06.760 --> 00:59:07.260 +in a sense, I think that the expectations + +00:59:09.140 --> 00:59:09.320 +might be changing in the sense that, + +00:59:12.320 --> 00:59:12.820 +you know, when I started using GNU Linux, + +00:59:14.580 --> 00:59:15.060 +you know what the first thing I did was, + +00:59:16.560 --> 00:59:16.960 +because I couldn't get Xorg to run. + +00:59:18.840 --> 00:59:19.040 +So the first thing you had to do was you had + +00:59:20.440 --> 00:59:20.820 +to compile your own Linux kernel. + +00:59:22.800 --> 00:59:22.960 +So you sit there and make manuconfig and + +00:59:24.640 --> 00:59:24.880 +you'll like, try to read it and you've never + +00:59:25.840 --> 00:59:26.320 +done anything like this before. + +00:59:27.440 --> 00:59:27.800 +You know, I was just a kid. + +00:59:29.340 --> 00:59:29.540 +I had never been at this kind of, + +00:59:31.360 --> 00:59:31.560 +you know, whatever. So I had to start with + +00:59:33.740 --> 00:59:34.200 +that. And then you have to write the X or + +00:59:35.820 --> 00:59:36.100 +configuration file. And I had the patience + +00:59:36.600 --> 00:59:37.100 +for that. But nowadays, + +00:59:38.100 --> 00:59:38.600 +people have different expectations. + +00:59:39.960 --> 00:59:40.460 +You just install something, + +00:59:42.600 --> 00:59:42.720 +and it works. And we need to keep that in + +00:59:45.100 --> 00:59:45.280 +mind as well. So that's why I keep pushing as + +00:59:48.220 --> 00:59:48.720 +1 of my big things. We need to build a more + +00:59:50.920 --> 00:59:51.180 +cohesive experience out of the box. + +00:59:52.040 --> 00:59:52.540 +Of course, that can be customizable. + +00:59:55.080 --> 00:59:55.240 +You shouldn't shoehorn anything in just for + +00:59:58.260 --> 00:59:58.760 +the sake of it. But you could get some things + +01:00:00.420 --> 01:00:00.920 +a little bit more for free. + +01:00:02.860 --> 01:00:03.080 +And maybe some of us that have our own + +01:00:04.640 --> 01:00:04.780 +configs and we've been doing this for you + +01:00:07.220 --> 01:00:07.720 +know, 2, 05:10, even 20 years, + +01:00:09.480 --> 01:00:09.660 +we could also see, you know, + +01:00:11.400 --> 01:00:11.640 +from the point of view of a new user that + +01:00:13.440 --> 01:00:13.780 +just installs VS Code and then they click, + +01:00:15.420 --> 01:00:15.680 +yes I use Python, yes I use that, + +01:00:18.340 --> 01:00:18.840 +and then it just automatically works. + +01:00:20.280 --> 01:00:20.600 +You know what I mean? I mean, + +01:00:24.020 --> 01:00:24.140 +then could we get closer to that perhaps a + +01:00:25.560 --> 01:00:26.060 +little bit? I think that would also help. + +01:00:28.500 --> 01:00:28.700 +Yeah, I think that's what we call the + +01:00:30.280 --> 01:00:30.580 +configuration wizard. And we were talking + +01:00:32.440 --> 01:00:32.520 +about this, I think, a couple of years ago at + +01:00:34.000 --> 01:00:34.200 +EmacsConf. I can't remember if it was with + +01:00:35.380 --> 01:00:35.740 +Adam in the chat. Adam, + +01:00:37.760 --> 01:00:38.240 +I mean Alpha Papa, or if it was with Bastien, + +01:00:40.200 --> 01:00:40.440 +but I remember the idea cropping off. + +01:00:42.380 --> 01:00:42.520 +Like, it's either you get a tutorial for + +01:00:43.240 --> 01:00:43.520 +Emacs, a proper tutorial, + +01:00:45.140 --> 01:00:45.640 +or you get a wizard, or you get both, + +01:00:47.160 --> 01:00:47.520 +and then all is right for the world. + +01:00:48.920 --> 01:00:49.420 +But definitely cool ideas being evoked. + +01:00:52.120 --> 01:00:52.280 +I'm gonna say I need to decree the time when + +01:00:53.940 --> 01:00:54.440 +we finish because for me it is 11.15 + +01:00:59.060 --> 01:00:59.300 +p.m. And I think my co-organizers are also + +01:01:01.440 --> 01:01:01.680 +willing to end the day and go rest because + +01:01:03.040 --> 01:01:03.540 +we've got another day to go tomorrow. + +01:01:05.920 --> 01:01:06.280 +So how about we take 3 minutes and 30 seconds + +01:01:07.800 --> 01:01:08.300 +to try to answer a little bit more succinctly + +01:01:09.520 --> 01:01:09.780 +the questions we've got left. + +01:01:10.440 --> 01:01:10.940 +How does that sound, Stefan? + +01:01:15.040 --> 01:01:15.200 +Sounds great. Cool, so I'll start reading the + +01:01:16.640 --> 01:01:17.140 +questions then that we've got left. + +01:01:20.680 --> 01:01:20.840 +So this 1 we've got. If you're willing to + +01:01:22.200 --> 01:01:22.360 +discuss it, what do you think about the + +01:01:24.520 --> 01:01:24.720 +recent controversy about use of CLLib in + +01:01:29.920 --> 01:01:29.980 +Emacs call code? Am I willing to discuss + +01:01:35.460 --> 01:01:35.960 +that? I have said my opinion on Emacs, + +01:01:40.080 --> 01:01:40.580 +Devel, I think. And I think I understand, + +01:01:44.540 --> 01:01:44.820 +I think, the viewpoints of both sides in that + +01:01:46.320 --> 01:01:46.720 +discussion. It is true that some things, + +01:01:49.060 --> 01:01:49.280 +I mean, we have to think about that. + +01:01:49.960 --> 01:01:50.340 +There is a real problem, + +01:01:53.300 --> 01:01:53.520 +I think, when we have 3 different APIs for + +01:01:54.640 --> 01:01:55.140 +doing the same thing in Emacs. + +01:01:56.580 --> 01:01:57.080 +And can we make that a little bit better? + +01:01:58.780 --> 01:01:59.280 +I mean, perhaps we could, + +01:02:03.840 --> 01:02:04.040 +right? So that's about as much as I'd like to + +01:02:06.560 --> 01:02:06.940 +say. Fair enough. I would have also accepted + +01:02:09.060 --> 01:02:09.160 +that CL loops are ugly to write and they + +01:02:09.840 --> 01:02:10.320 +don't feel very lispy. + +01:02:11.540 --> 01:02:12.040 +But I'll take your answer as well. + +01:02:14.860 --> 01:02:15.360 +Yeah, some people think that. + +01:02:17.900 --> 01:02:18.400 +I understand that position as well. + +01:02:20.720 --> 01:02:21.220 +Right. Okay, next question. + +01:02:22.600 --> 01:02:23.100 +When we find a bug in our Emacs, + +01:02:24.840 --> 01:02:25.200 +do we need to try to replicate it on our side + +01:02:26.380 --> 01:02:26.780 +version, on our SID version, + +01:02:29.040 --> 01:02:29.340 +sorry, then update all the usual list package + +01:02:31.320 --> 01:02:31.480 +we use, and if we succeed to replicate the + +01:02:33.160 --> 01:02:33.340 +bug in this version, only then go to + +01:02:34.920 --> 01:02:35.420 +development version 30 and do the same. + +01:02:37.480 --> 01:02:37.580 +Then only ask for assistance in reporting the + +01:02:40.080 --> 01:02:40.260 +bug we found. So I believe when they + +01:02:43.220 --> 01:02:43.540 +encounter a bug, are people supposed to go to + +01:02:47.220 --> 01:02:47.500 +master to pull main and just to make sure + +01:02:48.420 --> 01:02:48.740 +that they are on the latest version. + +01:02:49.480 --> 01:02:49.980 +Is this something that you require? + +01:02:51.460 --> 01:02:51.860 +We don't require that, + +01:02:54.440 --> 01:02:54.940 +but we do try to encourage you to reproduce + +01:02:56.880 --> 01:02:57.380 +it on master if we think that it matters. + +01:03:00.420 --> 01:03:00.920 +Yeah, so if you can, that's even better. + +01:03:03.540 --> 01:03:03.940 +But if the bug is there in Emacs 29, + +01:03:05.500 --> 01:03:06.000 +maybe we want to fix it in Emacs 29.2. + +01:03:09.320 --> 01:03:09.820 +So the latest point release is also fine. + +01:03:12.540 --> 01:03:12.940 +Bugs in Emacs 28 at this point, + +01:03:14.280 --> 01:03:14.780 +like the previous major version, + +01:03:17.560 --> 01:03:17.720 +we might ask you to try to reproduce it on + +01:03:19.400 --> 01:03:19.600 +Emacs 29 because we're not planning more + +01:03:21.200 --> 01:03:21.600 +releases of old major versions. + +01:03:23.160 --> 01:03:23.660 +So that's the fundamental reason for that. + +01:03:25.320 --> 01:03:25.820 +Great. Thank you for your answer. + +01:03:27.180 --> 01:03:27.680 +All right. Moving on to the next question. + +01:03:28.780 --> 01:03:29.280 +On branching off sub-threads, + +01:03:31.720 --> 01:03:31.840 +I note that they are less visible compared to + +01:03:32.880 --> 01:03:33.380 +starting a new thread in practice. + +01:03:35.440 --> 01:03:35.680 +I am wondering if it is just my impression or + +01:03:36.900 --> 01:03:37.400 +something devs also observe. + +01:03:39.280 --> 01:03:39.780 +Yeah, it's true. That's correct. + +01:03:42.660 --> 01:03:42.840 +I don't know what to do about it. + +01:03:43.660 --> 01:03:44.160 +If you want more visibility, + +01:03:45.420 --> 01:03:45.920 +I guess just start a new thread. + +01:03:48.480 --> 01:03:48.960 +I don't know. I can only agree, + +01:03:50.380 --> 01:03:50.880 +really. I concur. That's true. + +01:03:53.760 --> 01:03:54.260 +Okay. Next question. What about rewriting + +01:03:56.600 --> 01:03:57.100 +Emacs in Rust? Use Guile instead of Elisp. + +01:03:59.380 --> 01:03:59.580 +Multi-threaded Emacs. Make Emacs prettier and + +01:04:01.260 --> 01:04:01.760 +shiny. And of course, same defaults. + +01:04:04.120 --> 01:04:04.440 +Just kidding. We are spoiled children because + +01:04:07.280 --> 01:04:07.780 +you and Eli, Lars, and etc do an impressive + +01:04:10.120 --> 01:04:10.620 +work. I live in Emacs since 2001. + +01:04:13.980 --> 01:04:14.220 +Thanks. That was a good 1. + +01:04:17.380 --> 01:04:17.880 +Sane defaults. Okay, Well, + +01:04:20.080 --> 01:04:20.580 +thank you. Thanks for that comment. + +01:04:23.300 --> 01:04:23.440 +That made me chuckle. Next question by the + +01:04:24.060 --> 01:04:24.520 +same person, I assume. + +01:04:26.120 --> 01:04:26.580 +The only downside I see with copyright + +01:04:28.400 --> 01:04:28.900 +assignment is that 1 has to disclose their + +01:04:31.120 --> 01:04:31.240 +real identity. Would it be a possibility to + +01:04:32.360 --> 01:04:32.860 +assign a copyright under a nickname? + +01:04:34.640 --> 01:04:34.840 +Yeah, you don't have to say a real name. + +01:04:36.760 --> 01:04:37.260 +Just register some pseudonym. + +01:04:39.080 --> 01:04:39.440 +The FSF does need your real name, + +01:04:40.920 --> 01:04:41.420 +but that's kept private only. + +01:04:45.660 --> 01:04:45.920 +So feel free to reach out to assign at + +01:04:47.860 --> 01:04:48.360 +gnu.org and ask more about that. + +01:04:51.180 --> 01:04:51.680 +Right. All right, next question. + +01:04:53.240 --> 01:04:53.400 +Do you think it is possible to reach an + +01:04:54.880 --> 01:04:55.240 +agreement on sane defaults for better + +01:04:56.720 --> 01:04:57.220 +out-of-the-box experience? + +01:04:59.540 --> 01:05:00.040 +Yeah, so your sane is not my sane + +01:05:01.260 --> 01:05:01.760 +necessarily. So that's the fundamental + +01:05:02.800 --> 01:05:02.960 +problem that we're discussing here. + +01:05:03.620 --> 01:05:03.960 +I think it's a social, + +01:05:04.740 --> 01:05:05.240 +not a technical problem. + +01:05:07.080 --> 01:05:07.580 +We do change defaults sometimes, + +01:05:09.620 --> 01:05:09.880 +but I mean, there is also some staying power. + +01:05:11.980 --> 01:05:12.260 +So it's understandable that, + +01:05:13.780 --> 01:05:13.940 +you know, it's, we can't just change them + +01:05:15.580 --> 01:05:15.920 +willy nilly and then flip flop between, + +01:05:18.080 --> 01:05:18.340 +you know, 1 or the other kind of thing. + +01:05:19.760 --> 01:05:20.060 +So it does take a little bit more time. + +01:05:22.360 --> 01:05:22.860 +But yeah, sure, we can. + +01:05:25.360 --> 01:05:25.860 +We do change defaults at times. + +01:05:29.540 --> 01:05:29.780 +But it's perhaps more slower than what some + +01:05:30.920 --> 01:05:31.420 +people would prefer, for sure. + +01:05:35.660 --> 01:05:36.000 +So that's, yeah. Right, + +01:05:37.120 --> 01:05:37.620 +all right. We have 2 more questions. + +01:05:39.520 --> 01:05:40.020 +So will XWidgets have a future? + +01:05:41.680 --> 01:05:42.180 +Seeing the new bugs popping up in the latest + +01:05:45.020 --> 01:05:45.280 +XWidget dev. Not sure if there was the rest + +01:05:46.220 --> 01:05:46.640 +of the question, But on XWidgets, + +01:05:47.440 --> 01:05:47.940 +can you tell us a little more? + +01:05:50.380 --> 01:05:50.580 +I'm not really following now. + +01:05:51.900 --> 01:05:52.400 +I mean, I'm not seeing a lot of development + +01:05:53.680 --> 01:05:54.180 +on XWidgets currently. + +01:05:56.820 --> 01:05:57.100 +Some people have done work in fixing up a few + +01:05:59.820 --> 01:06:00.320 +bugs, but I think that feature really needs + +01:06:01.800 --> 01:06:02.180 +more love. So I think we need, + +01:06:03.120 --> 01:06:03.600 +you know, help is welcome, + +01:06:05.740 --> 01:06:05.920 +patch is welcome. That's what I can say about + +01:06:11.040 --> 01:06:11.180 +that. All right, and our final question of + +01:06:13.040 --> 01:06:13.140 +the day. Have you voted for Emacs as the + +01:06:14.760 --> 01:06:15.140 +software of the year on the Tuxes by Jupyter + +01:06:17.320 --> 01:06:17.480 +Broadcasting? I did because Emacs 29 is + +01:06:19.020 --> 01:06:19.300 +great. Thank you. Okay, + +01:06:20.160 --> 01:06:20.580 +well, good job voting. + +01:06:22.760 --> 01:06:22.960 +I didn't know, I don't know what Tuxy is on + +01:06:25.520 --> 01:06:25.680 +Jupyter broadcasting, but look it up and go + +01:06:27.660 --> 01:06:28.040 +vote. So I wish I could tell you, + +01:06:29.220 --> 01:06:29.500 +I assume with Tux, it might be something + +01:06:32.680 --> 01:06:32.900 +related to Linux, but that's as much as I can + +01:06:34.340 --> 01:06:34.840 +say. All right, well, Stefan, + +01:06:36.420 --> 01:06:36.600 +thank you so much for taking the time not + +01:06:37.540 --> 01:06:38.000 +only to do a wonderful presentation, + +01:06:39.520 --> 01:06:39.640 +but also for answering all the questions of + +01:06:41.040 --> 01:06:41.240 +the community. Do you have anything else to + +01:06:44.900 --> 01:06:45.360 +add? Just really thanks for all the questions + +01:06:46.260 --> 01:06:46.760 +and thanks for staying. + +01:06:49.120 --> 01:06:49.600 +It's been a long day, a long conference, + +01:06:51.020 --> 01:06:51.180 +so thanks for staying and listening to my + +01:06:52.360 --> 01:06:52.540 +talk as well. Really appreciate it. + +01:06:54.000 --> 01:06:54.280 +Appreciate the good work you guys are doing + +01:06:54.960 --> 01:06:55.460 +behind the scenes, organizing, + +01:06:56.240 --> 01:06:56.740 +setting everything up. + +01:07:00.220 --> 01:07:00.420 +And really humbled to be a part of this + +01:07:01.560 --> 01:07:02.060 +community. So thank you all. + +01:07:05.740 --> 01:07:05.860 +Well I can assure you that no 1 either in the + +01:07:07.540 --> 01:07:08.040 +organization team or the people watching now + +01:07:10.760 --> 01:07:10.900 +felt like it was tiring to stay and listen to + +01:07:12.260 --> 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 new file mode 100644 index 00000000..71d59b09 --- /dev/null +++ b/2023/captions/emacsconf-2023-devel--emacs-development-updates--john-wiegley--main.vtt @@ -0,0 +1,1652 @@ +WEBVTT + + +00:00:08.099 --> 00:00:08.480 +2 seconds. All right. I think we are live. + +00:00:09.780 --> 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:14.940 --> 00:00:15.440 +in person to this EmacsConf. + +00:00:16.760 --> 00:00:17.260 +Hi, John. Hello there. + +00:00:18.592 --> 00:00:18.820 +How are you doing, Leo? + +00:00:20.940 --> 00:00:21.100 +I am doing fantastic, and even more now that + +00:00:23.040 --> 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:30.660 --> 00:00:30.860 +So you had been there in person in 2013 And + +00:00:32.240 --> 00:00:32.680 +since we started doing those online, + +00:00:34.840 --> 00:00:35.020 +Juan, since 2019, I think you've always been + +00:00:37.960 --> 00:00:38.460 +online, right? Usually it's a pre-recorded + +00:00:40.239 --> 00:00:40.440 +video. I think this will be the first 1 I do + +00:00:42.340 --> 00:00:42.540 +live in a long time. You're right. + +00:00:44.059 --> 00:00:44.239 +I'm saying we are online right now, + +00:00:45.600 --> 00:00:45.920 +but I just meant pre-recorded video. + +00:00:48.240 --> 00:00:48.400 +So it's good to have you almost in person or + +00:00:50.739 --> 00:00:50.900 +at least live and we are excited to hear + +00:00:52.000 --> 00:00:52.360 +about some of the Emacs news. + +00:00:54.280 --> 00:00:54.780 +So the floor is yours. + +00:00:56.400 --> 00:00:56.900 +All right, well welcome everybody. + +00:00:59.900 --> 00:01:00.239 +This is the yearly state of the Emacs union, + +00:01:02.720 --> 00:01:02.860 +I guess, about how Emacs development is + +00:01:05.220 --> 00:01:05.379 +going. Just to note, I am not currently a + +00:01:07.540 --> 00:01:07.760 +maintainer of Emacs. So what I do to get + +00:01:09.520 --> 00:01:09.920 +these notes is I call up my friend, + +00:01:11.640 --> 00:01:12.040 +Eli Zaretsky, 1 of the current Emacs + +00:01:13.700 --> 00:01:13.820 +maintainers, and he and I sit down for an + +00:01:16.880 --> 00:01:17.160 +hour, and he just gives me his dump of what's + +00:01:19.000 --> 00:01:19.400 +been going on. So I'm sort of just the + +00:01:21.960 --> 00:01:22.200 +messenger here. But thanks to Eli for these + +00:01:24.000 --> 00:01:24.400 +notes and all of the efforts that he + +00:01:27.160 --> 00:01:27.400 +contributes. So what he's been telling me is + +00:01:29.760 --> 00:01:30.060 +that this Emacs 29 release that we had + +00:01:31.480 --> 00:01:31.720 +recently looks to have been very, + +00:01:33.240 --> 00:01:33.580 +very successful, which is some good news, + +00:01:34.920 --> 00:01:35.420 +because there were a lot of new features, + +00:01:37.020 --> 00:01:37.360 +and some of those features were actually + +00:01:39.280 --> 00:01:39.520 +quite radical. So far, + +00:01:40.280 --> 00:01:40.680 +it's been quite a success, + +00:01:41.940 --> 00:01:42.440 +no serious problems with it, + +00:01:43.580 --> 00:01:44.080 +and we have Emacs 29.2 + +00:01:46.240 --> 00:01:46.740 +will be released very soon. + +00:01:49.780 --> 00:01:50.020 +They are thinking now about starting the + +00:01:52.580 --> 00:01:53.080 +Emacs 30 release cycle soon after 29.2 + +00:01:55.400 --> 00:01:55.880 +is released, where the release branch, + +00:01:57.620 --> 00:01:58.120 +which is called Emacs-30 usually, + +00:02:01.080 --> 00:02:01.400 +will be cut and then development will become + +00:02:03.800 --> 00:02:03.960 +frozen with only bug fixes going into that + +00:02:06.940 --> 00:02:07.200 +branch. That may take quite some time until + +00:02:09.199 --> 00:02:09.639 +it actually comes to fruition as a release, + +00:02:11.500 --> 00:02:11.660 +but at least it means that the release is + +00:02:13.380 --> 00:02:13.860 +going to start taking shape in that branch + +00:02:17.420 --> 00:02:17.720 +soon. So, for now, Emacs 30 looks like maybe + +00:02:19.040 --> 00:02:19.540 +it's going to be a little less interesting + +00:02:22.860 --> 00:02:23.160 +than Emacs 29 was, meaning not a huge number + +00:02:24.860 --> 00:02:25.120 +of changing features. But there are still + +00:02:26.320 --> 00:02:26.820 +some new things going in. + +00:02:29.760 --> 00:02:29.960 +So 1 of them is that Emacs 30 is going to + +00:02:32.160 --> 00:02:32.300 +have Android support. So you will be able to + +00:02:34.400 --> 00:02:34.900 +run Emacs 30 on your Android devices. + +00:02:36.820 --> 00:02:37.120 +So if you've ever wanted to have native Emacs + +00:02:39.000 --> 00:02:39.500 +on a tablet, which I know I've always wanted, + +00:02:42.440 --> 00:02:42.940 +that will become possible with Emacs 30. + +00:02:45.060 --> 00:02:45.480 +There's also going to be much better support + +00:02:46.280 --> 00:02:46.780 +for touchscreen devices, + +00:02:49.760 --> 00:02:50.260 +coincidentally, both laptops and tablets. + +00:02:52.740 --> 00:02:53.240 +So that'll enhance that Android support. + +00:02:56.680 --> 00:02:57.180 +There will be some recently gained support + +00:03:01.480 --> 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 +machine or a machine that uses just LLVM as + +00:03:06.560 --> 00:03:07.060 +part of the compilation process, + +00:03:10.020 --> 00:03:10.180 +then you probably are familiar with LLDB as + +00:03:10.880 --> 00:03:11.380 +the command line debugger. + +00:03:14.440 --> 00:03:14.940 +And that support for using LLDB through a GUD + +00:03:16.920 --> 00:03:17.320 +will become possible in Emacs 30. + +00:03:18.900 --> 00:03:19.000 +I'm looking forward to this actually quite a + +00:03:22.120 --> 00:03:22.620 +bit as well. C Perl mode is being deprecated, + +00:03:25.640 --> 00:03:25.920 +and all future work now is only being put + +00:03:30.480 --> 00:03:30.660 +towards C Perl mode. Another 1 is that there + +00:03:32.840 --> 00:03:33.000 +are going to be some new major modes based on + +00:03:35.280 --> 00:03:35.780 +TreeSitter. They will be for the languages + +00:03:37.660 --> 00:03:38.160 +Lua, Elixir, and HTML. + +00:03:39.480 --> 00:03:39.980 +And if you're not familiar, + +00:03:42.260 --> 00:03:42.620 +I think TreeSitter was introduced in Emacs + +00:03:46.160 --> 00:03:46.660 +29. It's a library that allows you to specify + +00:03:49.760 --> 00:03:49.900 +the grammar of a programming language as a + +00:03:52.800 --> 00:03:53.300 +BNF file, and I think using JavaScript, + +00:03:56.160 --> 00:03:56.600 +and then with that file as input to Emacs, + +00:03:59.340 --> 00:03:59.840 +it is then able to do syntax highlighting, + +00:04:02.860 --> 00:04:03.080 +syntax discovery, all of those things within + +00:04:05.640 --> 00:04:06.140 +Emacs without having to use elisp and regexps + +00:04:07.800 --> 00:04:08.300 +to discover the structure of the language. + +00:04:10.240 --> 00:04:10.440 +It defers the structure gathering to + +00:04:13.080 --> 00:04:13.420 +TreeSitter and then uses that information to + +00:04:14.060 --> 00:04:14.560 +navigate the language. + +00:04:17.079 --> 00:04:17.300 +So, As time goes on, you'll see more and more + +00:04:19.160 --> 00:04:19.540 +languages taking on TreeSetter support. + +00:04:20.899 --> 00:04:21.160 +So the next 3 coming up, + +00:04:22.160 --> 00:04:22.660 +Lua, Elixir, and HTML. + +00:04:26.500 --> 00:04:26.680 +And then the last feature for Emacs 30 is + +00:04:29.640 --> 00:04:29.860 +that the byte compiler will now detect and + +00:04:32.420 --> 00:04:32.920 +warn about many more questionable constructs. + +00:04:34.800 --> 00:04:35.300 +Things like empty macro bodies, + +00:04:36.660 --> 00:04:37.160 +missing lexical constructs, + +00:04:39.720 --> 00:04:40.220 +or say, condition case without any handlers. + +00:04:43.040 --> 00:04:43.340 +Just silly stuff that might litter the code, + +00:04:45.040 --> 00:04:45.180 +but now you'll get a warning about it from + +00:04:46.760 --> 00:04:46.920 +the byte compiler to help you clean up the + +00:04:49.000 --> 00:04:49.160 +code and get rid of those potential sites of + +00:04:52.600 --> 00:04:52.740 +error. So this is the main thing that will be + +00:04:54.960 --> 00:04:55.160 +worked on for Emacs 30 and what's looked like + +00:04:55.900 --> 00:04:56.400 +shaping up for the release. + +00:04:58.680 --> 00:04:58.940 +And also, he wanted me to announce that + +00:05:00.840 --> 00:05:01.340 +Stefan Kongas is now a new co-maintainer. + +00:05:02.900 --> 00:05:03.260 +And Stefan is, I believe, + +00:05:05.340 --> 00:05:05.500 +here with us in the conference and he'll be + +00:05:07.440 --> 00:05:07.940 +able, I hope, to help me answer any questions + +00:05:09.960 --> 00:05:10.120 +about future Emacs development because I'm + +00:05:12.040 --> 00:05:12.240 +not in the heat of it and don't have all + +00:05:13.100 --> 00:05:13.600 +those answers at the moment. + +00:05:17.080 --> 00:05:17.180 +So That is all there is as far as a + +00:05:18.340 --> 00:05:18.840 +development update for now. + +00:05:21.480 --> 00:05:21.980 +And I am available to take any questions. + +00:05:26.000 --> 00:05:26.200 +All right. Thank you so much, + +00:05:29.180 --> 00:05:29.340 +Sean, for being the messenger of all this + +00:05:31.500 --> 00:05:31.820 +good news. I mean, you did start by saying + +00:05:32.980 --> 00:05:33.480 +this would not be as exciting, + +00:05:35.860 --> 00:05:36.280 +perhaps, as prior releases of Emacs, + +00:05:38.800 --> 00:05:38.980 +but you then proceeded to say a lot of stuff + +00:05:40.380 --> 00:05:40.760 +that it felt very exciting to me. + +00:05:43.120 --> 00:05:43.620 +So good, good. Glad to hear that. + +00:05:47.040 --> 00:05:47.180 +Right. So we do have questions coming in + +00:05:49.960 --> 00:05:50.380 +already and again people the link is on IRC + +00:05:51.980 --> 00:05:52.120 +and also on the talks page if you want to + +00:05:52.760 --> 00:05:53.260 +start asking questions. + +00:05:54.720 --> 00:05:54.840 +So John what I'm going to do I'm going to + +00:05:56.400 --> 00:05:56.580 +read you the questions and then you can + +00:05:57.800 --> 00:05:58.300 +answer them. Is that okay with you? + +00:06:01.320 --> 00:06:01.620 +Absolutely. So starting with the first + +00:06:04.120 --> 00:06:04.440 +question which changes in recent Emacs + +00:06:06.040 --> 00:06:06.540 +releases are you enjoying using? + +00:06:11.320 --> 00:06:11.820 +I have really liked the visual line mode. + +00:06:14.780 --> 00:06:15.060 +I'm not sure how recent that is. + +00:06:16.320 --> 00:06:16.820 +Some of these features I only discovered + +00:06:19.080 --> 00:06:19.580 +quite late, the new display line number + +00:06:21.020 --> 00:06:21.380 +functionality, where it's much, + +00:06:22.760 --> 00:06:23.040 +much, much faster, and of course, + +00:06:25.160 --> 00:06:25.320 +native compilation. Native compilation has + +00:06:27.040 --> 00:06:27.360 +been quite brilliant for some of the larger + +00:06:29.380 --> 00:06:29.480 +packages that I use. I do a lot of stuff in + +00:06:31.340 --> 00:06:31.820 +Emacs. I use GNU's, I use E-Shell, + +00:06:33.040 --> 00:06:33.540 +I use Org Mode quite a lot. + +00:06:35.740 --> 00:06:36.100 +So native compilation has brought the user + +00:06:39.760 --> 00:06:39.960 +experience much closer to a modern app than + +00:06:41.980 --> 00:06:42.180 +some of the lagging and slowness that I might + +00:06:43.080 --> 00:06:43.580 +have experienced in the past. + +00:06:46.680 --> 00:06:47.180 +Definitely. Moving on to the next question. + +00:06:49.020 --> 00:06:49.200 +What do you think the future in the area of + +00:06:50.540 --> 00:06:51.040 +artificial intelligence from the developer + +00:06:53.420 --> 00:06:53.580 +point of view? Could you say that 1 more + +00:06:54.860 --> 00:06:54.876 +time? Your voice broke up a little bit. + +00:06:55.009 --> 00:06:55.025 +Oh, sorry. What do you think the future in + +00:06:55.125 --> 00:06:55.141 +the area of artificial intelligence from the + +00:06:55.191 --> 00:06:55.208 +developer point of view? + +00:06:55.307 --> 00:06:55.324 +Could you say that 1 more time? + +00:06:55.423 --> 00:06:55.440 +Your voice broke up a little bit. + +00:06:57.880 --> 00:06:58.100 +Oh, sorry. What do you think the future in + +00:07:00.380 --> 00:07:00.580 +the area of artificial intelligence from the + +00:07:01.400 --> 00:07:01.560 +developer point of view? + +00:07:02.520 --> 00:07:02.860 +It's also a shaky question, + +00:07:04.000 --> 00:07:04.500 +I think, but you get the point. + +00:07:08.940 --> 00:07:09.220 +I do use chat-gpt-shell inside of Emacs quite + +00:07:10.760 --> 00:07:10.920 +a bit, actually, when doing development in + +00:07:12.180 --> 00:07:12.440 +other languages. Just the other day, + +00:07:14.700 --> 00:07:15.200 +I was working on my Ledger accounting + +00:07:17.900 --> 00:07:18.080 +program, and I haven't done a lot of C++ in + +00:07:20.920 --> 00:07:21.180 +recent years. So I had forgotten how to + +00:07:23.620 --> 00:07:23.760 +exactly compare 2 strings only up to the + +00:07:24.600 --> 00:07:25.020 +length of the shortest string. + +00:07:26.720 --> 00:07:26.940 +I know I could have cranked that out just + +00:07:28.380 --> 00:07:28.740 +writing it C style, but I didn't remember + +00:07:30.300 --> 00:07:30.800 +what the current state of the art is for C++ + +00:07:32.960 --> 00:07:33.460 +and the STL. So I just asked chatGPT. + +00:07:35.940 --> 00:07:36.140 +I asked the exact question that I just said + +00:07:38.040 --> 00:07:38.220 +to you and sure enough it popped out the + +00:07:39.640 --> 00:07:40.080 +one-liner that was exactly what I needed. + +00:07:41.740 --> 00:07:42.240 +So I think in terms of developer assistance, + +00:07:45.320 --> 00:07:45.820 +not having to keep all of standard libraries + +00:07:46.960 --> 00:07:47.460 +or common idioms in memory. + +00:07:48.960 --> 00:07:49.460 +I don't know if other people are familiar + +00:07:50.580 --> 00:07:51.080 +with Rosetta Stone projects. + +00:07:53.200 --> 00:07:53.680 +They're projects where you have say a hundred + +00:07:55.280 --> 00:07:55.780 +different languages and there's a particular + +00:07:58.320 --> 00:07:58.640 +question, say, how do I read a file and copy + +00:07:59.220 --> 00:07:59.720 +it to another location? + +00:08:01.680 --> 00:08:01.880 +And then it has an instance of doing that + +00:08:03.320 --> 00:08:03.820 +activity for every 1 of those languages. + +00:08:04.780 --> 00:08:05.140 +That's a great database, + +00:08:06.880 --> 00:08:07.160 +and I've used them quite a bit in the past + +00:08:08.760 --> 00:08:09.260 +for remembering how to do certain things, + +00:08:12.040 --> 00:08:12.540 +say, converting a string to UTF-8. + +00:08:15.480 --> 00:08:15.660 +I think that AI does a great job of + +00:08:17.280 --> 00:08:17.780 +completely replacing the need for databases + +00:08:19.740 --> 00:08:19.920 +like that because you can just ask how do I + +00:08:21.480 --> 00:08:21.980 +copy a convert a string to UTF-8. + +00:08:27.240 --> 00:08:27.440 +Yeah exactly and you know especially with + +00:08:30.440 --> 00:08:30.480 +languages which are tried well tried you know + +00:08:32.200 --> 00:08:32.360 +it's very easy to get an answer that is + +00:08:34.600 --> 00:08:34.940 +correct. But sometimes what I find bothersome + +00:08:37.020 --> 00:08:37.460 +with this type of coding, + +00:08:39.520 --> 00:08:39.840 +I think it's AI-aided coding, + +00:08:40.320 --> 00:08:40.820 +but it's still coding, + +00:08:42.799 --> 00:08:43.140 +is that, especially with C languages, + +00:08:44.140 --> 00:08:44.240 +sometimes you're going to end up with + +00:08:45.660 --> 00:08:45.860 +undefined behaviors and stuff like this just + +00:08:47.420 --> 00:08:47.900 +because other people have been doing it, + +00:08:50.740 --> 00:08:50.860 +not because the algorithm or the model was + +00:08:53.340 --> 00:08:53.680 +trained with data that dates back to 10 years + +00:08:59.640 --> 00:09:00.060 +ago. At the time, C++ was a little different. + +00:09:01.220 --> 00:09:01.400 +Anyway, I'm not here to talk, + +00:09:03.740 --> 00:09:03.960 +you are here to talk. Moving on to the next + +00:09:06.200 --> 00:09:06.560 +question. People already get to hear my voice + +00:09:09.140 --> 00:09:09.640 +plenty, whereas yours are much sparser. + +00:09:13.360 --> 00:09:13.580 +All right. So, what is the future of Emacs on + +00:09:15.800 --> 00:09:16.080 +macOS? I understand that there are too few + +00:09:16.920 --> 00:09:17.420 +developers for the platform. + +00:09:21.160 --> 00:09:21.600 +Is that still true? That's a good question. + +00:09:23.300 --> 00:09:23.620 +I don't know what the current statistics are. + +00:09:26.640 --> 00:09:27.040 +I've been a user of Emacs on Mac OS for + +00:09:29.540 --> 00:09:29.920 +decades now. It feels like the, + +00:09:32.980 --> 00:09:33.480 +There's also that Mac port version of Emacs, + +00:09:35.720 --> 00:09:35.920 +which builds Emacs more directly using the + +00:09:37.360 --> 00:09:37.860 +GUI libraries on the platform. + +00:09:40.080 --> 00:09:40.320 +That continues to be updated with every + +00:09:41.540 --> 00:09:42.040 +single new release that comes out. + +00:09:45.060 --> 00:09:45.220 +So I'd say that the support may not be as + +00:09:47.040 --> 00:09:47.540 +great as it is on Linux and other platforms, + +00:09:50.280 --> 00:09:50.500 +but to this day I haven't suffered from being + +00:09:54.720 --> 00:09:55.220 +a Mac user. Great. The only thing I remember + +00:10:00.060 --> 00:10:00.480 +about Emacs on macOS was that emojis made it + +00:10:03.420 --> 00:10:03.540 +inside the GUI first before they did it + +00:10:05.660 --> 00:10:05.820 +anywhere else. That's the 1 anecdote that I + +00:10:09.160 --> 00:10:09.520 +have on MacOS. Right. And historically that + +00:10:12.400 --> 00:10:12.720 +feature was removed in order to prevent Mac + +00:10:14.340 --> 00:10:14.840 +from having features that Linux did not. + +00:10:16.660 --> 00:10:16.860 +I didn't want to go into that point. + +00:10:18.220 --> 00:10:18.340 +I just wanted to mention the beginning of the + +00:10:19.600 --> 00:10:19.840 +anecdote and people can find it out. + +00:10:21.540 --> 00:10:22.040 +But yes, that's also what it led to. + +00:10:24.840 --> 00:10:25.340 +Moving on to the next question. + +00:10:27.620 --> 00:10:28.120 +Why aren't you contributing to Emacs anymore? + +00:10:28.860 --> 00:10:29.360 +Lack of time, I guess? + +00:10:31.340 --> 00:10:31.840 +Lack of time, primarily. + +00:10:33.340 --> 00:10:33.840 +Work has been very consuming. + +00:10:35.740 --> 00:10:36.020 +There are a lot of other projects and things + +00:10:38.640 --> 00:10:39.000 +that I like doing. I still find Emacs Lisp + +00:10:39.960 --> 00:10:40.460 +very, very fun to write. + +00:10:42.980 --> 00:10:43.260 +Just the other day, I was hacking up some + +00:10:45.260 --> 00:10:45.760 +extension macros for myself for org mode. + +00:10:48.720 --> 00:10:48.900 +But to have the time needed to sit down and + +00:10:51.140 --> 00:10:51.580 +design a whole new mode and work on it. + +00:10:53.480 --> 00:10:53.660 +I've been spending a lot of my time now in + +00:10:55.200 --> 00:10:55.580 +functional languages, especially theorem + +00:10:57.340 --> 00:10:57.840 +provers. I just find that so intellectually + +00:10:59.120 --> 00:10:59.620 +satisfying and interesting. + +00:11:01.460 --> 00:11:01.860 +Plus it pays a lot better. + +00:11:03.440 --> 00:11:03.680 +Never had a paying job as an Emacs list + +00:11:06.220 --> 00:11:06.420 +developer. So when it comes to now just being + +00:11:07.880 --> 00:11:08.380 +a fun language or a hobby language, + +00:11:10.480 --> 00:11:10.680 +it is relegated to the time that I have free + +00:11:13.180 --> 00:11:13.680 +when it's available. Right. + +00:11:15.280 --> 00:11:15.420 +Well, the good thing is that it's kind of + +00:11:15.920 --> 00:11:16.360 +like riding a bicycle, + +00:11:17.640 --> 00:11:17.980 +you know, writing a major mode, + +00:11:19.860 --> 00:11:20.160 +it comes back relatively quickly and still + +00:11:22.240 --> 00:11:22.600 +enjoyable. You know, the other day, + +00:11:25.040 --> 00:11:25.200 +actually, I took notes on a mode that I + +00:11:27.980 --> 00:11:28.100 +wanted to write. There's an app I use on the + +00:11:30.020 --> 00:11:30.060 +Mac called drafts, and I really love it. + +00:11:30.960 --> 00:11:31.460 +I use it all the time. + +00:11:34.300 --> 00:11:34.600 +I wanted to mimic the interface of this app + +00:11:37.120 --> 00:11:37.620 +in Emacs. So I could use Emacs as my drafts + +00:11:39.560 --> 00:11:40.060 +application rather than this separate 1. + +00:11:42.280 --> 00:11:42.720 +So I noted down all the different user + +00:11:44.440 --> 00:11:44.580 +parameters and how it should function and + +00:11:47.040 --> 00:11:47.240 +everything to describe the app to myself as + +00:11:50.080 --> 00:11:50.320 +sort of notes to get me started on that work + +00:11:51.960 --> 00:11:52.460 +when I did have free time to work on it. + +00:11:54.480 --> 00:11:54.760 +Somebody out there on the internet just saw + +00:11:56.680 --> 00:11:57.040 +these notes, because I keep a lot of my stuff + +00:11:59.180 --> 00:11:59.680 +on GitHub. They fed it to chat GPT, + +00:12:01.460 --> 00:12:01.960 +going back to your AI question. + +00:12:04.360 --> 00:12:04.540 +And they actually sent back to me a mode that + +00:12:06.140 --> 00:12:06.640 +implemented everything that I had said, + +00:12:07.240 --> 00:12:07.740 +which was effectively, + +00:12:10.460 --> 00:12:10.960 +chat GPT, seeing that what I had described + +00:12:14.380 --> 00:12:14.500 +was clear enough for it to derive most of the + +00:12:16.120 --> 00:12:16.560 +code that I would have wanted to write. + +00:12:19.000 --> 00:12:19.200 +So maybe, maybe another thing that AI can do + +00:12:20.380 --> 00:12:20.880 +is it can increase the value, + +00:12:22.900 --> 00:12:23.400 +the efficiency of my free time. + +00:12:26.320 --> 00:12:26.820 +Exactly. I think that's a wonderful point. + +00:12:29.380 --> 00:12:29.540 +And phrasing it as efficiency of free time is + +00:12:30.860 --> 00:12:31.360 +great because you still have the expertise, + +00:12:33.280 --> 00:12:33.420 +obviously, that you're mobilizing into the + +00:12:35.060 --> 00:12:35.560 +design that you're formulating to charge DPT, + +00:12:37.460 --> 00:12:37.680 +but then this expertise is turned into + +00:12:38.560 --> 00:12:39.060 +something that actually works. + +00:12:41.400 --> 00:12:41.780 +Perhaps we're all going to become software + +00:12:42.540 --> 00:12:42.980 +architects at some point, + +00:12:45.640 --> 00:12:45.800 +and then the busy work of actually coding the + +00:12:48.560 --> 00:12:48.760 +library and the software will be relegated to + +00:12:50.800 --> 00:12:51.000 +AI. That's an interesting future where we + +00:12:54.960 --> 00:12:55.240 +still, however, need to acquire the skills to + +00:12:56.320 --> 00:12:56.660 +know what is code, I suppose. + +00:12:58.380 --> 00:12:58.880 +But that's an interesting future to think of. + +00:13:01.580 --> 00:13:02.060 +A fairly long question. + +00:13:03.960 --> 00:13:04.280 +So 1 of the tricky things about running Emacs + +00:13:06.760 --> 00:13:06.900 +on Android is do you use anything that + +00:13:07.820 --> 00:13:08.320 +requires extra packages? + +00:13:11.400 --> 00:13:11.600 +Example like PDF tools with new PDF or going + +00:13:13.640 --> 00:13:13.820 +with a database, playing music or video with + +00:13:15.340 --> 00:13:15.840 +MPD or MPV on Bonga, LFeed. + +00:13:17.400 --> 00:13:17.900 +Do you run Emacs Termex, + +00:13:19.740 --> 00:13:20.200 +Emacs APK, Emacs in virtual machine? + +00:13:22.260 --> 00:13:22.420 +This is also the case on Emacs for Windows to + +00:13:23.480 --> 00:13:23.980 +a lesser degree. So summarizing, + +00:13:27.080 --> 00:13:27.240 +how do you make Emacs work on Android if you + +00:13:29.700 --> 00:13:30.040 +do not have the synergy of stuff that you + +00:13:32.360 --> 00:13:32.560 +usually find on Linux systems like MPV and + +00:13:33.920 --> 00:13:34.420 +all the fancy applications like this? + +00:13:38.220 --> 00:13:38.380 +It's a good question. Since I'm not an + +00:13:40.140 --> 00:13:40.460 +Android user and I've never tried running + +00:13:41.520 --> 00:13:42.020 +Emacs on Android platforms, + +00:13:44.760 --> 00:13:44.920 +I'm not sure what's available out there to + +00:13:46.080 --> 00:13:46.440 +plug Emacs into. I mean, + +00:13:48.040 --> 00:13:48.160 +effectively, that question comes down to + +00:13:49.920 --> 00:13:50.420 +external dependencies and system support. + +00:13:53.120 --> 00:13:53.320 +That would be a great question for Stefan or + +00:13:55.240 --> 00:13:55.740 +somebody who has tried using Emacs, + +00:13:58.100 --> 00:13:58.600 +the development version of Emacs on Android. + +00:14:03.480 --> 00:14:03.980 +Great. We'll put a pin in this for Stéphane + +00:14:07.360 --> 00:14:07.580 +afterwards. Great, so moving on to the next + +00:14:09.720 --> 00:14:09.860 +question. Will Org Tech someday become the + +00:14:10.860 --> 00:14:11.320 +default tech mode in Emacs? + +00:14:14.380 --> 00:14:14.880 +And if so, when? Will Org what become? + +00:14:17.480 --> 00:14:17.980 +Org Tech, you know, the LaTeX mode. + +00:14:24.640 --> 00:14:24.840 +I do not know. It's been a while since I've + +00:14:26.420 --> 00:14:26.880 +done LaTeX. It must have been like 4 years, + +00:14:30.040 --> 00:14:30.280 +but it was a pretty, the major mode for + +00:14:32.280 --> 00:14:32.560 +editing documents, like the state of the art + +00:14:34.340 --> 00:14:34.840 +for editing latex documents in Emacs. + +00:14:35.820 --> 00:14:36.320 +And apparently it's not default. + +00:14:38.200 --> 00:14:38.360 +I assume there's latex mode or something that + +00:14:41.080 --> 00:14:41.580 +is doing it. So were you saying octech, + +00:14:44.860 --> 00:14:45.020 +like A-U-C tech? Oh, did I not pronounce the + +00:14:47.860 --> 00:14:48.140 +C? Octech, yes. I thought you said org tech. + +00:14:49.120 --> 00:14:49.620 +I wasn't familiar with that. + +00:14:52.040 --> 00:14:52.540 +Octech is the only 1 I've ever used. + +00:14:54.860 --> 00:14:55.360 +I know there is a built-in LaTeX mode, + +00:14:56.880 --> 00:14:57.240 +but I've never used it. + +00:14:58.780 --> 00:14:59.140 +I always just download whatever the latest + +00:15:00.660 --> 00:15:01.160 +version of Org Tech is and use that. + +00:15:03.440 --> 00:15:03.840 +I don't know why it's not a standard package. + +00:15:06.860 --> 00:15:07.360 +Becoming a standard package has its own costs + +00:15:09.400 --> 00:15:09.860 +for the development cycle because it slows + +00:15:11.240 --> 00:15:11.740 +down release cycle quite a bit. + +00:15:14.480 --> 00:15:14.680 +It's now you have to create PRs that are + +00:15:16.740 --> 00:15:17.240 +reviewed by the Emacs Devel mailing list. + +00:15:18.900 --> 00:15:19.340 +It is a little more inertia. + +00:15:21.180 --> 00:15:21.680 +Of course, it gets you more distribution + +00:15:23.560 --> 00:15:24.020 +because it's a default package now, + +00:15:25.600 --> 00:15:26.100 +and everybody can be using that. + +00:15:28.100 --> 00:15:28.600 +But it's not something every developer + +00:15:30.960 --> 00:15:31.400 +decides to do. It took a few years, + +00:15:34.120 --> 00:15:34.620 +in fact, to get usePackage into Emacs core. + +00:15:36.760 --> 00:15:37.200 +And that only happened after it was so stable + +00:15:38.860 --> 00:15:39.360 +that it really wasn't receiving many changes + +00:15:44.540 --> 00:15:44.760 +anymore. Yeah, yeah it's it's the thing when + +00:15:46.560 --> 00:15:46.720 +you move into core you lose a lot of your + +00:15:49.120 --> 00:15:49.280 +agility in terms of how you're writing the + +00:15:50.440 --> 00:15:50.940 +code or how you expand code. + +00:15:54.000 --> 00:15:54.220 +That's why you have this vibrant community on + +00:15:57.180 --> 00:15:57.680 +Melpa compared to core but you know it + +00:15:59.380 --> 00:15:59.480 +doesn't necessarily ought to be this way it + +00:16:02.160 --> 00:16:02.320 +could be a little different you know And it + +00:16:04.080 --> 00:16:04.580 +feels like there's this repetition between + +00:16:06.500 --> 00:16:06.820 +repartition, sorry, between people developing + +00:16:08.220 --> 00:16:08.600 +for the core of Emacs and people developing + +00:16:10.600 --> 00:16:10.760 +on Melpa, but at the end of the day those 2 + +00:16:12.520 --> 00:16:13.020 +groups are constantly talking to 1 another + +00:16:14.860 --> 00:16:15.240 +and taking cues from 1 another as well. + +00:16:17.040 --> 00:16:17.540 +So that's great. And there's of course... + +00:16:21.380 --> 00:16:21.880 +May I jump in about this particular question + +00:16:24.840 --> 00:16:25.080 +because I think I mean You know, + +00:16:27.100 --> 00:16:27.540 +Org Mode doesn't really have any problems + +00:16:28.980 --> 00:16:29.380 +with releases Correct. + +00:16:32.320 --> 00:16:32.820 +Just because it's distributed with Emacs so + +00:16:34.900 --> 00:16:35.020 +there is a difference between being in the + +00:16:37.460 --> 00:16:37.960 +core proper and being distributed with Emacs. + +00:16:39.640 --> 00:16:40.080 +And for something like use packages, + +00:16:41.780 --> 00:16:42.280 +it's really necessary to be in the core. + +00:16:44.340 --> 00:16:44.840 +But for something like major mode, + +00:16:48.620 --> 00:16:48.740 +it's a bit easier. That's a very very good + +00:16:50.200 --> 00:16:50.400 +point. Yeah, I'd forgotten about that + +00:16:52.740 --> 00:16:53.000 +distinction. Org mode does advance pretty + +00:16:55.760 --> 00:16:55.900 +rapidly and then it makes releases into the + +00:16:59.320 --> 00:16:59.640 +core distribution. Gianni, + +00:17:01.000 --> 00:17:01.480 +I believe you also wanted to say something + +00:17:03.680 --> 00:17:03.840 +before someone started jumped in with a + +00:17:08.460 --> 00:17:08.700 +question do you happen to remember okay + +00:17:11.520 --> 00:17:12.020 +that's fine I lost her to lost to their time + +00:17:14.060 --> 00:17:14.560 +I'll be moving on to the next question then + +00:17:17.280 --> 00:17:17.460 +and by the way feel free to interrupt us you + +00:17:19.440 --> 00:17:19.619 +know The whole point of this discussion is + +00:17:20.740 --> 00:17:21.140 +for you to ask questions to John Wheatley. + +00:17:23.240 --> 00:17:23.520 +So whether it be via the other pad or via + +00:17:25.680 --> 00:17:26.180 +BBB, choose your weapon. + +00:17:28.700 --> 00:17:28.820 +All right, moving on to the next question in + +00:17:30.220 --> 00:17:30.520 +the meantime. And we have about 7 minutes + +00:17:32.600 --> 00:17:32.760 +left of Q&A and then we'll be moving on to + +00:17:35.580 --> 00:17:35.780 +Stéphane. So, do you use other IDEs for + +00:17:37.840 --> 00:17:38.040 +theorem proving work, notably VS Code for + +00:17:42.180 --> 00:17:42.340 +Lean? Which languages and provers can or do + +00:17:45.420 --> 00:17:45.920 +you use Emacs for? I've only used Emacs. + +00:17:49.340 --> 00:17:49.840 +I've used Emacs for working with ACL 2, + +00:17:53.300 --> 00:17:53.480 +Coq, Agda, and Lean, and I really love + +00:17:55.560 --> 00:17:55.680 +Proof-General. Coq is my favorite language to + +00:17:57.380 --> 00:17:57.740 +be working in. Agda has really great support + +00:17:59.120 --> 00:17:59.540 +as well, has a very nice Emacs mode. + +00:18:02.500 --> 00:18:02.920 +I'm only just now starting to get into Lean + +00:18:04.640 --> 00:18:05.140 +4. So I have everything installed, + +00:18:07.080 --> 00:18:07.240 +but I haven't really started coding in + +00:18:08.680 --> 00:18:08.800 +earnest. I'm still reading a lot of the + +00:18:10.760 --> 00:18:10.920 +tutorials and learning a bit about the + +00:18:13.260 --> 00:18:13.440 +language. There was a while there where I + +00:18:17.360 --> 00:18:17.540 +used a IDE for ACL 2 that was outside of + +00:18:19.760 --> 00:18:19.920 +Emacs, only because it was the same IDE all + +00:18:21.820 --> 00:18:22.040 +my co-workers were using and it was easier to + +00:18:23.740 --> 00:18:24.240 +share tips and tricks with them. + +00:18:27.780 --> 00:18:28.240 +But yeah, no, I found Emacs to be a great + +00:18:29.360 --> 00:18:29.860 +home for doing theorem proving. + +00:18:36.160 --> 00:18:36.580 +Right. Next question. Can we see that AI + +00:18:40.520 --> 00:18:40.760 +generated draft? You know what you mentioned + +00:18:43.200 --> 00:18:43.420 +before about the draft that you then fed into + +00:18:45.160 --> 00:18:45.480 +ChargPT? Do you happen to have this draft + +00:18:50.940 --> 00:18:51.440 +anywhere? Let me see if it's still on GitHub. + +00:18:53.800 --> 00:18:54.300 +Just take me 1 second to take a look here. + +00:18:59.440 --> 00:18:59.820 +Take your time. The problem is I don't quite + +00:19:01.320 --> 00:19:01.820 +remember where I made the note. + +00:19:06.760 --> 00:19:07.260 +But no, I don't see it on GitHub, + +00:19:09.340 --> 00:19:09.840 +so I don't have it readily at hand. + +00:19:12.740 --> 00:19:13.240 +Well, that's fine. We'll be able to... + +00:19:14.760 --> 00:19:15.060 +Well, if you happen to find it, + +00:19:17.120 --> 00:19:17.280 +we'll make sure to add it on the pad and then + +00:19:20.740 --> 00:19:20.940 +on the talks page. And I think we would all + +00:19:22.120 --> 00:19:22.440 +be interested to see what this design + +00:19:26.680 --> 00:19:27.160 +document that actually made something work + +00:19:28.660 --> 00:19:28.980 +afterwards in JudgeDPT with Elisp. + +00:19:30.440 --> 00:19:30.720 +I'm very interested to see what it would do + +00:19:32.480 --> 00:19:32.720 +because I tend to be very interested about + +00:19:34.640 --> 00:19:34.780 +this type of stuff I had generated but I + +00:19:36.360 --> 00:19:36.860 +never thought about doing it with Elisp + +00:19:38.720 --> 00:19:39.000 +because somehow it feels like 2 different + +00:19:40.520 --> 00:19:41.020 +worlds, like Elisp is kind of from the past, + +00:19:43.540 --> 00:19:44.040 +don't going me wrong, I love it and I use it + +00:19:46.720 --> 00:19:46.920 +every day But it's 2 different parts of my + +00:19:48.480 --> 00:19:48.820 +brain that I didn't think about linking. + +00:19:50.600 --> 00:19:51.100 +So I'd be very excited to see this as well. + +00:19:54.160 --> 00:19:54.640 +Moving on to the next question. + +00:19:56.480 --> 00:19:56.980 +Oh, go on, please. I did find it. + +00:20:00.600 --> 00:20:01.080 +I'm gonna have to give it to you as a link + +00:20:03.120 --> 00:20:03.380 +here. Sure, you can do it on the blue button + +00:20:05.400 --> 00:20:05.900 +and I'll put it on the pad. + +00:20:12.040 --> 00:20:12.540 +I put it into the public chat for Bibi. + +00:20:15.520 --> 00:20:15.920 +Yes. So if anyone is interested, + +00:20:18.120 --> 00:20:18.280 +I'm putting it right in the answer to the + +00:20:19.740 --> 00:20:20.200 +question right here on my screen. + +00:20:21.820 --> 00:20:22.120 +So feel free to click on it and explore it. + +00:20:23.320 --> 00:20:23.680 +I'm kind of curious, so I'm gonna... + +00:20:25.400 --> 00:20:25.560 +Can I click it on stream and can we look at + +00:20:26.120 --> 00:20:26.620 +it a little bit together? + +00:20:28.680 --> 00:20:29.020 +Sure, sure. I haven't tried running it, + +00:20:31.300 --> 00:20:31.680 +I can't say for its fitness, + +00:20:33.720 --> 00:20:34.220 +but it's definitely enough of the groundwork + +00:20:36.160 --> 00:20:36.660 +done that it's absolutely an assistance. + +00:20:39.760 --> 00:20:40.260 +Right. Okay, so it's loading up right now? + +00:20:42.180 --> 00:20:42.620 +You can see my webcam, + +00:20:45.480 --> 00:20:45.680 +right? I can see your browser attempting to + +00:20:47.080 --> 00:20:47.360 +load. There we go. Okay, + +00:20:49.860 --> 00:20:50.060 +cool. So I'm not sure what GitHub is doing. + +00:20:51.240 --> 00:20:51.460 +Let me give it a little more room. + +00:20:53.860 --> 00:20:54.360 +The reactive setup is not working too well. + +00:20:58.340 --> 00:20:58.840 +Oh, I see. You're viewing the... + +00:21:01.960 --> 00:21:02.220 +I see. Can I see the file then? + +00:21:03.520 --> 00:21:04.020 +I should be able to see the file. + +00:21:08.800 --> 00:21:09.060 +I think he just mentions the code in that + +00:21:11.480 --> 00:21:11.640 +comment. So if there's a way to view only the + +00:21:14.765 --> 00:21:14.897 +comment it would make it clear. + +00:21:16.160 --> 00:21:16.660 +Right. Okay. I'm loading the file separately. + +00:21:18.000 --> 00:21:18.500 +I'm checking the time. + +00:21:21.220 --> 00:21:21.340 +We have about 3 minutes left and I think we + +00:21:22.420 --> 00:21:22.900 +have a question. In the meantime, + +00:21:25.680 --> 00:21:25.760 +whilst I show this, I'm gonna launch another + +00:21:28.320 --> 00:21:28.820 +question, which was about Drafts. + +00:21:30.580 --> 00:21:30.740 +You are carrying, you're talking about + +00:21:32.320 --> 00:21:32.480 +Drafts, but does that mean you're not using + +00:21:35.720 --> 00:21:35.920 +org anymore? Oh, no, I use org all the time. + +00:21:37.600 --> 00:21:38.100 +In fact, the way that I've configured drafts + +00:21:40.240 --> 00:21:40.580 +is that after I type the thing in the note + +00:21:43.080 --> 00:21:43.260 +into drafts, I hit a key and it creates an + +00:21:44.920 --> 00:21:45.420 +org mode capture item for it. + +00:21:48.060 --> 00:21:48.560 +The reason why I use Drafts instead of Emacs + +00:21:50.160 --> 00:21:50.660 +is because it's always available. + +00:21:53.680 --> 00:21:53.960 +If Emacs is currently doing some job for me, + +00:21:55.840 --> 00:21:56.340 +say I'm running some long-running subshell + +00:21:58.940 --> 00:21:59.440 +and the UI is frozen up whatnot, + +00:22:02.020 --> 00:22:02.360 +Drafts is always 100% of the time instantly + +00:22:04.600 --> 00:22:04.900 +available. So that's why I tend to then lean + +00:22:07.740 --> 00:22:07.920 +on it a bit, but all of the destination of + +00:22:09.760 --> 00:22:10.240 +that data is still Org Mode and everything + +00:22:11.960 --> 00:22:12.460 +that I do gets tracked through Org Mode. + +00:22:15.720 --> 00:22:16.160 +That's also why I wanted to implement the UI + +00:22:18.580 --> 00:22:18.800 +scheme of drafts in Emacs so that I could + +00:22:20.360 --> 00:22:20.860 +drop the use of this external application. + +00:22:23.040 --> 00:22:23.160 +And then, I mean, I would still have the + +00:22:25.080 --> 00:22:25.580 +problem of sometimes Emacs being unavailable, + +00:22:29.760 --> 00:22:30.040 +but I would pay that price in order to have + +00:22:32.200 --> 00:22:32.700 +that good UI of drafts inside Emacs. + +00:22:37.200 --> 00:22:37.700 +Great. I think we have, + +00:22:39.520 --> 00:22:39.720 +we might be too tight on time. + +00:22:41.200 --> 00:22:41.640 +We only have about 2 minutes and I need to + +00:22:43.680 --> 00:22:44.180 +jump room to go into Stephane's room as well. + +00:22:47.160 --> 00:22:47.380 +So John, where I get to thank you so much for + +00:22:52.660 --> 00:22:53.160 +taking the time to answer our questions, + +00:22:54.920 --> 00:22:55.040 +but also doing a little bit of reporting on + +00:22:57.900 --> 00:22:58.380 +the state of Emacs. And now we'll get to + +00:22:58.940 --> 00:22:59.280 +continue this with Stéphane. + +00:23:00.900 --> 00:23:01.300 +So do you have any last words for everyone, + +00:23:03.380 --> 00:23:03.660 +John? No, no. I look forward to hearing + +00:23:05.940 --> 00:23:06.420 +Stéphane speak. Okay, great. + +00:23:07.000 --> 00:23:07.360 +And we'll look forward, + +00:23:08.800 --> 00:23:09.300 +potentially, to having you again next year, + +00:23:12.180 --> 00:23:12.680 +potentially still doing news like this, + +00:23:15.620 --> 00:23:15.920 +and, fingers crossed, maybe having you live + +00:23:18.160 --> 00:23:18.660 +again. Maybe, maybe let's see what happens. + +00:23:20.680 --> 00:23:20.860 +All right, John. Thank you so much. + +00:23:21.780 --> 00:23:22.280 +Bye bye. Bye bye. diff --git a/2023/talks/core.md b/2023/talks/core.md index 77584a84..c0fd1936 100644 --- a/2023/talks/core.md +++ b/2023/talks/core.md @@ -9,6 +9,13 @@ # Emacs core development: how it works Stefan Kangas +[[!template id="help" +summary="main talk does not have captions" +tags="help_with_main_captions" +message="""This talk does not have captions yet. +Would you like to help [caption this talk](/captioning)? +You may be able to start with these [autogenerated captions](/2023/captions/emacsconf-2023-core--emacs-core-development-how-it-works--stefan-kangas--main.vtt)."""]] + [[!inline pages="internal(2023/info/core-before)" raw="yes"]] - Why it is fun and exciting to contribute to Emacs diff --git a/2023/talks/devel.md b/2023/talks/devel.md index 9a42e785..842bbdfa 100644 --- a/2023/talks/devel.md +++ b/2023/talks/devel.md @@ -9,6 +9,13 @@ # Emacs development updates John Wiegley (he/him) +[[!template id="help" +summary="main talk does not have captions" +tags="help_with_main_captions" +message="""This talk does not have captions yet. +Would you like to help [caption this talk](/captioning)? +You may be able to start with these [autogenerated captions](/2023/captions/emacsconf-2023-devel--emacs-development-updates--john-wiegley--main.vtt)."""]] + [[!inline pages="internal(2023/info/devel-before)" raw="yes"]] In this talk, John Wiegley will briefly summarize important developments on the road to Emacs 30. He will not be able to answer questions right now, but you can post questions in the pad and he can -- cgit v1.2.3