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 --- ...acs-development-updates--john-wiegley--main.vtt | 1652 ++++++++++++++++++++ 1 file changed, 1652 insertions(+) create mode 100644 2023/captions/emacsconf-2023-devel--emacs-development-updates--john-wiegley--main.vtt (limited to '2023/captions/emacsconf-2023-devel--emacs-development-updates--john-wiegley--main.vtt') 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. -- cgit v1.2.3