summaryrefslogtreecommitdiffstats
path: root/2023/info/windows-after.md
diff options
context:
space:
mode:
Diffstat (limited to '2023/info/windows-after.md')
-rw-r--r--2023/info/windows-after.md468
1 files changed, 468 insertions, 0 deletions
diff --git a/2023/info/windows-after.md b/2023/info/windows-after.md
index 2a9eb0ac..4d8d8729 100644
--- a/2023/info/windows-after.md
+++ b/2023/info/windows-after.md
@@ -786,6 +786,474 @@
[[!template text="""Okay, so we're clear on bbb here""" start="00:57:35.200" video="mainVideo-windows" id="subtitle"]]
[[!template text="""Yep, I think so""" start="00:57:37.760" video="mainVideo-windows" id="subtitle"]]
+<a name="windows-qanda-transcript"></a>
+# Q&A transcript (unedited)
+
+[[!template text="""Oh, wow, how exciting. Well, maybe I should share something then. Um, well, thank you very much and""" start="00:00:00.000" video="qanda-windows" id="subtitle"]]
+[[!template text="""welcome to, uh, uh, welcome to my talk. I'm a little distracted here. I had a friend who came""" start="00:00:06.880" video="qanda-windows" id="subtitle"]]
+[[!template text="""over and just brought me a whole bunch of peanut butter cups, homemade peanut butter cups. Maybe""" start="00:00:14.800" video="qanda-windows" id="subtitle"]]
+[[!template text="""I'll show those off, uh, later. What? Okay. Here, uh, put it right there.""" start="00:00:20.320" video="qanda-windows" id="subtitle"]]
+[[!template text="""Okay. So I'm going to, uh, get over to my plan, uh, stuff I'm sharing here, hopefully.""" start="00:00:33.840" video="qanda-windows" id="subtitle"]]
+[[!template text="""Uh, and, and we'll jump, jump right in because I'm going to need as much time as I can possibly""" start="00:00:42.800" video="qanda-windows" id="subtitle"]]
+[[!template text="""have today. Thanks so much for, uh, joining me for Emacs conference and for, especially for,""" start="00:00:48.640" video="qanda-windows" id="subtitle"]]
+[[!template text="""um, all of you who, who, who participated, you know, in the discussions, contributing talks and,""" start="00:00:56.400" video="qanda-windows" id="subtitle"]]
+[[!template text="""um, you know, uh, you know, including running the, the, the, and it's just so much fun to be here.""" start="00:01:03.520" video="qanda-windows" id="subtitle"]]
+[[!template text="""Um, I guess while I'm standing here and, and saying stuff that's, that I'm going to have to""" start="00:01:09.600" video="qanda-windows" id="subtitle"]]
+[[!template text="""transcribe, cause I didn't, uh, prepare a recorded version. Uh, I had a lot of trouble""" start="00:01:16.320" video="qanda-windows" id="subtitle"]]
+[[!template text="""trimming this down so I can solve that problem by just talking a lot at the beginning, uh,""" start="00:01:23.280" video="qanda-windows" id="subtitle"]]
+[[!template text="""about other stuff. Um, so in addition to the thanks, I just want to say thanks also to the""" start="00:01:28.880" video="qanda-windows" id="subtitle"]]
+[[!template text="""folks on the development list that helped me kind of come up to speed on this. I won't make a big""" start="00:01:37.120" video="qanda-windows" id="subtitle"]]
+[[!template text="""list here, but, um, and, and, and for all that I've learned from my previous conferences, it's""" start="00:01:41.920" video="qanda-windows" id="subtitle"]]
+[[!template text="""just, I can't stress enough what a great opportunity volunteering for, uh, free software related things""" start="00:01:48.880" video="qanda-windows" id="subtitle"]]
+[[!template text="""are, uh, as a way to get involved. People will just totally teach you how to be helpful and I'm""" start="00:01:55.200" video="qanda-windows" id="subtitle"]]
+[[!template text="""loving it. I can preview the stream, but it's not super easy right now. I got all my screens""" start="00:02:00.080" video="qanda-windows" id="subtitle"]]
+[[!template text="""kind of dedicated to other stuff. So should I pause for a second before I get into the slides?""" start="00:02:18.800" video="qanda-windows" id="subtitle"]]
+[[!template text="""Cause that's, they're, they'll be hard to see if I'm not full screen.""" start="00:02:23.680" video="qanda-windows" id="subtitle"]]
+[[!template text="""Yeah, that would be nice. Okay. Well, I'll keep ad libbing then cause I just have a million,""" start="00:02:29.440" video="qanda-windows" id="subtitle"]]
+[[!template text="""uh, things I can say. Um, uh, so, uh, let me just quickly talk, uh, things that aren't in here.""" start="00:02:34.240" video="qanda-windows" id="subtitle"]]
+[[!template text="""Um, I'm going to mention the mysis2.org and the, that project, which provides a port""" start="00:02:42.960" video="qanda-windows" id="subtitle"]]
+[[!template text="""of, uh, the GNU, uh, uh, glibc and a lot of GNU and, uh, uh, their free software. Um, so, uh,""" start="00:02:51.280" video="qanda-windows" id="subtitle"]]
+[[!template text="""I don't...""" start="00:03:03.520" video="qanda-windows" id="subtitle"]]
+[[!template text="""All right, I'm switching a room to, uh, a DVD room to Stefan.""" start="00:03:03.840" video="qanda-windows" id="subtitle"]]
+[[!template text="""All right. So I'm going to take mumble out of my, uh, pardon me, folks.""" start="00:03:12.080" video="qanda-windows" id="subtitle"]]
+[[!template text="""It's going to take mumble out of my speakers here.""" start="00:03:16.080" video="qanda-windows" id="subtitle"]]
+[[!template text="""Okay. We'll take the speakers out of play entirely and I'll just switch to some headphones.""" start="00:03:22.800" video="qanda-windows" id="subtitle"]]
+[[!template text="""All right. So...""" start="00:03:33.600" video="qanda-windows" id="subtitle"]]
+[[!template text="""Perfect. What an amazing amount of time. All right. So thanks a lot. Uh, today I've got a jam""" start="00:03:36.720" video="qanda-windows" id="subtitle"]]
+[[!template text="""packed talk. Um, I've, I've done my best to make, to make this not too overwhelming,""" start="00:03:42.400" video="qanda-windows" id="subtitle"]]
+[[!template text="""but overall we're going to try to try to actually build, um, Emacs while we're talking today.""" start="00:03:48.720" video="qanda-windows" id="subtitle"]]
+[[!template text="""And we might actually build several Emacs. Uh, so let's take a look at that real quick.""" start="00:03:55.040" video="qanda-windows" id="subtitle"]]
+[[!template text="""Um, so over here we have a screen where I am just once a minute looking, uh,""" start="00:04:00.400" video="qanda-windows" id="subtitle"]]
+[[!template text="""uh, indirectly at whether there have been any pushes, uh, upstream to either the Emacs 29 or""" start="00:04:08.480" video="qanda-windows" id="subtitle"]]
+[[!template text="""Emacs 30 branches. So I've arranged for us to sort of keep an eye on that, um, while we talk.""" start="00:04:15.360" video="qanda-windows" id="subtitle"]]
+[[!template text="""And, you know, maybe that's, that's one thing that we'll do. And then additionally, we'll probably""" start="00:04:24.320" video="qanda-windows" id="subtitle"]]
+[[!template text="""fire up a shell. This is the MySys2 environment that I talked about before,""" start="00:04:30.640" video="qanda-windows" id="subtitle"]]
+[[!template text="""and we'll probably create some directories and things. But before we get into all that, let's,""" start="00:04:36.640" video="qanda-windows" id="subtitle"]]
+[[!template text="""let's give some, some context. Uh, I've been doing my best to try to, uh, make sure all this""" start="00:04:42.160" video="qanda-windows" id="subtitle"]]
+[[!template text="""information is on the Emacs wiki as well. So, uh, sorry, as I said, I got a little caught off guard.""" start="00:04:48.080" video="qanda-windows" id="subtitle"]]
+[[!template text="""So I'm moving my foot pedals to the floor, back to the floor here. And I should be able to advance""" start="00:04:54.240" video="qanda-windows" id="subtitle"]]
+[[!template text="""slides here. All right. So, um, I kind of provided some special definitions for things. I'm going to""" start="00:05:02.640" video="qanda-windows" id="subtitle"]]
+[[!template text="""kind of level set with those. The, uh, um, when I say a binary release, I'm talking about some,""" start="00:05:11.760" video="qanda-windows" id="subtitle"]]
+[[!template text="""some, uh, I'm talking about Emacs for Windows as, uh, just ready to run out of its folder or""" start="00:05:21.680" video="qanda-windows" id="subtitle"]]
+[[!template text="""in whatever similar form. The, when I say a build, I'm talking about kind of a process of doing that.""" start="00:05:28.080" video="qanda-windows" id="subtitle"]]
+[[!template text="""Um, when Emacs.get, of course, that's the upstream hosted by GNU Savannah.""" start="00:05:36.400" video="qanda-windows" id="subtitle"]]
+[[!template text="""The Emacs release is, is a tarball created from that. The sources for, um, Emacs are going to be""" start="00:05:41.600" video="qanda-windows" id="subtitle"]]
+[[!template text="""one of those two things, um, very specifically. So I'm not going to talk about patches patching.""" start="00:05:51.680" video="qanda-windows" id="subtitle"]]
+[[!template text="""There's some implications there. Perhaps we'll get into it. Uh, so a snapshot is when I build""" start="00:05:58.480" video="qanda-windows" id="subtitle"]]
+[[!template text="""from anything other than a release source, uh, a tarball. Um, just if I, if I say that I'm talking""" start="00:06:06.720" video="qanda-windows" id="subtitle"]]
+[[!template text="""specifically about the, uh, the XZ version of the file as, as a technical point. Um,""" start="00:06:14.880" video="qanda-windows" id="subtitle"]]
+[[!template text="""so that may come up. All right. Nothing else I think up my sleeve. Um, the, uh, as, as a key""" start="00:06:23.600" video="qanda-windows" id="subtitle"]]
+[[!template text="""data point, it's worth understanding that there's a file called configure AC. It's going to be""" start="00:06:32.480" video="qanda-windows" id="subtitle"]]
+[[!template text="""processed, uh, as part of auto-conf. We, we initially access that when we run, um, auto-gen""" start="00:06:38.320" video="qanda-windows" id="subtitle"]]
+[[!template text="""as you'll see in a little bit. Um, the, but before, but, uh, so the auto-gen script will""" start="00:06:46.160" video="qanda-windows" id="subtitle"]]
+[[!template text="""generally consider this, uh, so in a release build, um, this has been thought about kind of for us as""" start="00:06:52.720" video="qanda-windows" id="subtitle"]]
+[[!template text="""part of, um, making the tarball. Um, the configure.ac, um, yeah, I think I pretty much covered,""" start="00:07:00.240" video="qanda-windows" id="subtitle"]]
+[[!template text="""covered this. So, um, those, those that kind of partially built status, that's a,""" start="00:07:10.480" video="qanda-windows" id="subtitle"]]
+[[!template text="""might be another phrase that you hear me use. So this slide unpacks that a little more.""" start="00:07:16.880" video="qanda-windows" id="subtitle"]]
+[[!template text="""Um, so it can be a little confusing to understand what exactly the, you know, what is it, you know,""" start="00:07:22.880" video="qanda-windows" id="subtitle"]]
+[[!template text="""how stable is Emacs depending on what I have. So the, I got a kind of set of rules of thumb here,""" start="00:07:29.520" video="qanda-windows" id="subtitle"]]
+[[!template text="""right? First I want the highest, uh, you know, dot, uh, dot release value that I can get,""" start="00:07:36.160" video="qanda-windows" id="subtitle"]]
+[[!template text="""assuming that that's higher than one. If it's, if it were to only be one, let's say,""" start="00:07:43.680" video="qanda-windows" id="subtitle"]]
+[[!template text="""if it were to only be one, let's say my choices were 29.1 and 30.1, I would take 30.1. Um,""" start="00:07:50.160" video="qanda-windows" id="subtitle"]]
+[[!template text="""cause that's, that's weird. But, um, what you'll normally see is you might see a 28.2,""" start="00:07:59.200" video="qanda-windows" id="subtitle"]]
+[[!template text="""you might see a 29.1. So here I think 28.2 is got the most, most, most stable, um,""" start="00:08:06.080" video="qanda-windows" id="subtitle"]]
+[[!template text="""set, uh, the, uh, or set of release binaries. The 29.1 will, will have a little more features,""" start="00:08:16.560" video="qanda-windows" id="subtitle"]]
+[[!template text="""but will tend to be more stable than, uh, any, uh, lower point releases for 29, uh, certainly""" start="00:08:26.160" video="qanda-windows" id="subtitle"]]
+[[!template text="""than any release candidates for 29, which might even have new features, um, but are mostly going""" start="00:08:33.680" video="qanda-windows" id="subtitle"]]
+[[!template text="""to just be packages. So they're going to become the most stable thing here. And especially if""" start="00:08:39.600" video="qanda-windows" id="subtitle"]]
+[[!template text="""they, they, they have a, you know, if this, this is not, uh, if this were to be 29.2 release""" start="00:08:46.000" video="qanda-windows" id="subtitle"]]
+[[!template text="""candidate one as well, looking forward to seeing, um, the, uh, 30.50. Um, and, and in between this,""" start="00:08:53.600" video="qanda-windows" id="subtitle"]]
+[[!template text="""this pretest here, we're talking about kind of developer land. Um, so, um, the expectation is""" start="00:09:04.960" video="qanda-windows" id="subtitle"]]
+[[!template text="""that, you know, what you're doing that applies to windows users, uh, just as much if you are""" start="00:09:11.840" video="qanda-windows" id="subtitle"]]
+[[!template text="""building anything in the snapshot range, any of that is going to be in this 30.0.50. Currently""" start="00:09:16.560" video="qanda-windows" id="subtitle"]]
+[[!template text="""that'll change when the, uh, when the 30, 30, uh, an Emacs 30 release tags, uh, or release branches""" start="00:09:22.960" video="qanda-windows" id="subtitle"]]
+[[!template text="""come. Okay. So let's talk about the local. Um, there's not much to know about what I have going""" start="00:09:32.240" video="qanda-windows" id="subtitle"]]
+[[!template text="""on, except that I have my, my paths mess messed with. So, um, if, if that, that were to come up,""" start="00:09:42.880" video="qanda-windows" id="subtitle"]]
+[[!template text="""if you're wondering how, why does this, uh, and insist command work, that's probably the place""" start="00:09:51.200" video="qanda-windows" id="subtitle"]]
+[[!template text="""where you'd notice it. Uh, I am using windows 10. I haven't tried windows 11, uh, as mentioned,""" start="00:09:57.120" video="qanda-windows" id="subtitle"]]
+[[!template text="""mysis2 is critical to all this. There's one script in particular that will error out if you try to do""" start="00:10:03.760" video="qanda-windows" id="subtitle"]]
+[[!template text="""anything other than use mysis's, mysis's shell. And in fact, mysis owns or provides three shells""" start="00:10:09.520" video="qanda-windows" id="subtitle"]]
+[[!template text="""and of them, that script is designed to work with a specific one of them as, as we'll come to.""" start="00:10:16.560" video="qanda-windows" id="subtitle"]]
+[[!template text="""Uh, I don't talk about installing the dependencies, but just as, as kind of some kind of help,""" start="00:10:22.720" video="qanda-windows" id="subtitle"]]
+[[!template text="""um, you can search using this formula and install, uh, using this formula.""" start="00:10:29.680" video="qanda-windows" id="subtitle"]]
+[[!template text="""Good luck with those, you know, grep commands.""" start="00:10:38.480" video="qanda-windows" id="subtitle"]]
+[[!template text="""And this is the tool for building the self-installing self-extracting installer or, uh,""" start="00:10:43.520" video="qanda-windows" id="subtitle"]]
+[[!template text="""executable self-installer. Um, the script for that is provided along with the Emacs source.""" start="00:10:49.520" video="qanda-windows" id="subtitle"]]
+[[!template text="""Um, and I've provided a helpful link to the main page for the project download link on the left.""" start="00:10:56.720" video="qanda-windows" id="subtitle"]]
+[[!template text="""It is not, um, it's kind of scare where the way that this link appears, but I have clicked it and""" start="00:11:03.280" video="qanda-windows" id="subtitle"]]
+[[!template text="""it's working for me. Automation does, uh, we'll, we have some time we'll be looking at this at a""" start="00:11:09.680" video="qanda-windows" id="subtitle"]]
+[[!template text="""minimum. I wanted to mention that what I do on my local, what you're seeing in the crawler, I hope,""" start="00:11:18.960" video="qanda-windows" id="subtitle"]]
+[[!template text="""uh, represents a, uh, a simple sleep loop. Uh, and we'll, we'll look into that if we have time.""" start="00:11:25.280" video="qanda-windows" id="subtitle"]]
+[[!template text="""Um, I do have a little bit, I do use like a cron job and so on to clean up some hosting that,""" start="00:11:36.560" video="qanda-windows" id="subtitle"]]
+[[!template text="""that I pay for, um, where I've got, where I, where I kind of self host some, uh, snapshots,""" start="00:11:42.960" video="qanda-windows" id="subtitle"]]
+[[!template text="""more stuff than I feel comfortable uploading to, uh, to GNU. The, um,""" start="00:11:50.720" video="qanda-windows" id="subtitle"]]
+[[!template text="""you know, I never said, uh, my name is Corwin Brust. For the last couple of years, I've been""" start="00:12:01.760" video="qanda-windows" id="subtitle"]]
+[[!template text="""the volunteer making, uh, um, making the snapshots, the quote unquote, official binaries,""" start="00:12:06.480" video="qanda-windows" id="subtitle"]]
+[[!template text="""uh, for windows of the, um, of, of Emacs for windows. So that's, that's all the different""" start="00:12:12.480" video="qanda-windows" id="subtitle"]]
+[[!template text="""versions. Uh, help is always welcome with that. I'd be very happy to teach you in more depth.""" start="00:12:20.560" video="qanda-windows" id="subtitle"]]
+[[!template text="""This video is, you know, kind of my drop dead file. Uh, I don't have specific plans. Uh, if""" start="00:12:25.680" video="qanda-windows" id="subtitle"]]
+[[!template text="""somebody's like, Hey, get out of the way, this is the one thing I think I can do. Um, Hey,""" start="00:12:31.920" video="qanda-windows" id="subtitle"]]
+[[!template text="""that's real relatable. Okay. Um, so I haven't tried, uh, the, I haven't tried a lot of fun""" start="00:12:36.480" video="qanda-windows" id="subtitle"]]
+[[!template text="""things that I won't talk about. Um, the, uh, the rest of this talk is going to get into the""" start="00:12:44.640" video="qanda-windows" id="subtitle"]]
+[[!template text="""nitty gritty. As I said, um, if we can't convince Emacs to start building over on that screen,""" start="00:12:50.400" video="qanda-windows" id="subtitle"]]
+[[!template text="""we'll be opening it up here on the center stage. Um, uh, this begins and there's, there's, there's,""" start="00:12:56.560" video="qanda-windows" id="subtitle"]]
+[[!template text="""there's great insight here too, on the wiki, uh, with picking an FTP source for any official""" start="00:13:05.120" video="qanda-windows" id="subtitle"]]
+[[!template text="""release that is for a stable product, please visit, um, ftp.gnu.org. Otherwise you'll want""" start="00:13:11.520" video="qanda-windows" id="subtitle"]]
+[[!template text="""to switch that FTP dot at the beginning to alpha dot and take a pretest, uh, or any snapshot or""" start="00:13:19.760" video="qanda-windows" id="subtitle"]]
+[[!template text="""otherwise, then publish there the, uh, next, uh, you know, I'm gonna, you have some examples in""" start="00:13:27.280" video="qanda-windows" id="subtitle"]]
+[[!template text="""here that assume that you're doing a release bill that you're doing $29 one, but, um, I am glancing""" start="00:13:36.640" video="qanda-windows" id="subtitle"]]
+[[!template text="""out of the, the right side of my face at the chat on the opt-ins. Anybody in there wants to direct""" start="00:13:43.520" video="qanda-windows" id="subtitle"]]
+[[!template text="""me at a particular, um, we can make some other, we can build something else. If you want to see""" start="00:13:51.440" video="qanda-windows" id="subtitle"]]
+[[!template text="""a snapshot build more mentioned that, um, the examples that you're going to see here that I""" start="00:13:57.840" video="qanda-windows" id="subtitle"]]
+[[!template text="""will, without other direction, cut and paste, um, are all, uh, based on the release bill. So,""" start="00:14:03.840" video="qanda-windows" id="subtitle"]]
+[[!template text="""um, so, uh, we'll use the, uh, I mentioned that there are several shells provided by MySys2.""" start="00:14:14.640" video="qanda-windows" id="subtitle"]]
+[[!template text="""The MinGW64 shell is the one that we mostly need. Um, I tested all of this as well with the MinGW32""" start="00:14:22.960" video="qanda-windows" id="subtitle"]]
+[[!template text="""shell. Um, so that, that should work and, and see mix binaries that, that, that work for me.""" start="00:14:33.120" video="qanda-windows" id="subtitle"]]
+[[!template text="""Uh, I, as I mentioned, I don't get into the details of installing all your prerequisites.""" start="00:14:44.080" video="qanda-windows" id="subtitle"]]
+[[!template text="""I found that doing it in a headfirst manner wasn't, uh, wasn't difficult. And I also found""" start="00:14:50.720" video="qanda-windows" id="subtitle"]]
+[[!template text="""that there's a number of tutorials. I didn't want to pick one to link here.""" start="00:14:56.560" video="qanda-windows" id="subtitle"]]
+[[!template text="""Um, there, uh, here, uh, okay. So our general formula for building Emacs, irrespective of""" start="00:15:01.040" video="qanda-windows" id="subtitle"]]
+[[!template text="""Windows, looks like, does the configure script exist if not run autogen? From a Windows build""" start="00:15:10.800" video="qanda-windows" id="subtitle"]]
+[[!template text="""standpoint, this is, if I'm not running a release, release build, call the autogen script.""" start="00:15:19.600" video="qanda-windows" id="subtitle"]]
+[[!template text="""Right. And this would be in the directory where we want to pack this. I'll demonstrate""" start="00:15:27.840" video="qanda-windows" id="subtitle"]]
+[[!template text="""within three minutes if, uh, if one, if nobody's pushed upstream to Emacs. Um, so, uh, the configure,""" start="00:15:32.080" video="qanda-windows" id="subtitle"]]
+[[!template text="""uh, and, uh, configure options are, uh, uh, the, the configure, you know, if the configure, sorry,""" start="00:15:42.640" video="qanda-windows" id="subtitle"]]
+[[!template text="""the configure script exists, then, uh, it doesn't, doesn't exist. So the only reason,""" start="00:15:54.240" video="qanda-windows" id="subtitle"]]
+[[!template text="""so in my process, I will always execute that step because I clean everything after every build,""" start="00:16:01.520" video="qanda-windows" id="subtitle"]]
+[[!template text="""um, in all my contexts. Um, however, if you were, you know, had a, a checkout of emacs.get""" start="00:16:07.920" video="qanda-windows" id="subtitle"]]
+[[!template text="""and you are building it at several releases, then maybe you've got a configure script and then you""" start="00:16:16.880" video="qanda-windows" id="subtitle"]]
+[[!template text="""all want to know, um, the, you know, whether you have to bootstrap and the typical complexities,""" start="00:16:21.440" video="qanda-windows" id="subtitle"]]
+[[!template text="""but otherwise you might be able to skip that in, in, in the abstract. Um,""" start="00:16:27.600" video="qanda-windows" id="subtitle"]]
+[[!template text="""is that right? Or is it, is it the make, uh, so, and if they make file doesn't exist,""" start="00:16:36.080" video="qanda-windows" id="subtitle"]]
+[[!template text="""make install. I know I'm looking at that in question whether it's correct. Sorry about that.""" start="00:16:41.520" video="qanda-windows" id="subtitle"]]
+[[!template text="""Um, in any case, uh, so auto-gen configure make install is our recipe. Auto-gen creates the""" start="00:16:46.640" video="qanda-windows" id="subtitle"]]
+[[!template text="""configure script, configure creates the make file, the make file. Um, in the case of windows,""" start="00:16:55.600" video="qanda-windows" id="subtitle"]]
+[[!template text="""I almost always want the install, uh, and to specify some location where the installed emacs""" start="00:17:01.840" video="qanda-windows" id="subtitle"]]
+[[!template text="""will land. This is where all of the recipes for packaging emacs go. And if I were, uh, you know,""" start="00:17:08.080" video="qanda-windows" id="subtitle"]]
+[[!template text="""using this as a movie to upgrade, I personally would do that by, by specifying an install path,""" start="00:17:19.120" video="qanda-windows" id="subtitle"]]
+[[!template text="""quote unquote, on top of, uh, a main installation. I don't do that. I update shortcuts mainly based""" start="00:17:24.640" video="qanda-windows" id="subtitle"]]
+[[!template text="""on what specifically I want to try, uh, in an effort to, to, to, to notice, uh, interesting""" start="00:17:31.520" video="qanda-windows" id="subtitle"]]
+[[!template text="""patches and confirm they work on windows, which mostly they do. There's not a lot of code in my""" start="00:17:37.600" video="qanda-windows" id="subtitle"]]
+[[!template text="""experience that is, uh, windows specific and very, very little around the build process.""" start="00:17:44.400" video="qanda-windows" id="subtitle"]]
+[[!template text="""All right. Huge rabbit hole zone. And I still have a minute before I have to, uh, kick off""" start="00:17:50.320" video="qanda-windows" id="subtitle"]]
+[[!template text="""the first part of our demo. So let's, let's keep, keep diving in, um, the, those specific part""" start="00:17:57.440" video="qanda-windows" id="subtitle"]]
+[[!template text="""windows specific parts beside the dot exe extension that we're going to find slammed""" start="00:18:07.120" video="qanda-windows" id="subtitle"]]
+[[!template text="""onto all of our familiar, uh, executables. We're also going to have emacs client W,""" start="00:18:11.920" video="qanda-windows" id="subtitle"]]
+[[!template text="""which is a wrapper that hides, um, how hard it is to get, uh, to, to, to get it,""" start="00:18:18.400" video="qanda-windows" id="subtitle"]]
+[[!template text="""how bad the abstraction is between the window management layer and the GUI,""" start="00:18:27.600" video="qanda-windows" id="subtitle"]]
+[[!template text="""and then all the different parts on windows. Essentially, it wants to create a shell window.""" start="00:18:32.400" video="qanda-windows" id="subtitle"]]
+[[!template text="""If we just double click emacs dot exe. So emacs client W, uh, and run emacs,""" start="00:18:37.040" video="qanda-windows" id="subtitle"]]
+[[!template text="""they're going to solve that problem. Um, uh, wrapping emacs and emacs client respectively.""" start="00:18:42.960" video="qanda-windows" id="subtitle"]]
+[[!template text="""And, um, just, uh, all right. So let's, let's go ahead and do something. I'll, I'm going to""" start="00:18:51.600" video="qanda-windows" id="subtitle"]]
+[[!template text="""take away the ticker here for a minute. And what you're not seeing is off stage. I am killing that""" start="00:19:00.320" video="qanda-windows" id="subtitle"]]
+[[!template text="""so we don't get built in parallel. Um, so, um, so at this point I'm going to open up a shell and""" start="00:19:08.080" video="qanda-windows" id="subtitle"]]
+[[!template text="""I'm going to start talking just a little bit about my local build environment, which we haven't""" start="00:19:19.680" video="qanda-windows" id="subtitle"]]
+[[!template text="""gotten into. In fact, just to make that even easier, let's, um, let's just take a look at it""" start="00:19:24.240" video="qanda-windows" id="subtitle"]]
+[[!template text="""a little bit. Probably the easiest spot is here.""" start="00:19:32.640" video="qanda-windows" id="subtitle"]]
+[[!template text="""All right. So here we have the familiar windows, my computer interface. I have the G drive and the""" start="00:19:47.680" video="qanda-windows" id="subtitle"]]
+[[!template text="""H drive, four terabyte drives, um, dedicated to my, um, really overblown emacs build process.""" start="00:19:55.680" video="qanda-windows" id="subtitle"]]
+[[!template text="""Um, this just lets me be super lazy. There's no reason you need any massive amount of storage""" start="00:20:08.160" video="qanda-windows" id="subtitle"]]
+[[!template text="""to do any of this. Um, inside here, and now I'll actually switch you back to the other screen.""" start="00:20:14.000" video="qanda-windows" id="subtitle"]]
+[[!template text="""Um, we'll, we'll find,""" start="00:20:23.040" video="qanda-windows" id="subtitle"]]
+[[!template text="""oops, sorry about that. I didn't take the time to label that one. Um, so here you can see""" start="00:20:37.280" video="qanda-windows" id="subtitle"]]
+[[!template text="""the primary output that I'm looking at through this automated process. I come along, I look at""" start="00:20:46.480" video="qanda-windows" id="subtitle"]]
+[[!template text="""the bug reports, or maybe I'm just restarting my computer and choosing what emacs version at random.""" start="00:20:53.760" video="qanda-windows" id="subtitle"]]
+[[!template text="""And then in that case, I look at this modified date and I say, um, my config that I, you know,""" start="00:20:59.840" video="qanda-windows" id="subtitle"]]
+[[!template text="""that I'm playing with right now is all set for emacs 30, or I'm testing the both and I'm""" start="00:21:06.240" video="qanda-windows" id="subtitle"]]
+[[!template text="""relaunching both of these. Right. So for me, that starts by diving into the install folder,""" start="00:21:11.120" video="qanda-windows" id="subtitle"]]
+[[!template text="""going into the bin folder, which looks exactly the way my automation leaves it. I then come in""" start="00:21:16.400" video="qanda-windows" id="subtitle"]]
+[[!template text="""to run the run emacs and I create a shortcut, um, to it. So I'm a keyboard person. So that's""" start="00:21:22.720" video="qanda-windows" id="subtitle"]]
+[[!template text="""usually done like this. And then I just know that the context menu is going to come up in the right""" start="00:21:34.320" video="qanda-windows" id="subtitle"]]
+[[!template text="""place. So I'll come up and, um, possibly change the, change the shortcut, right.""" start="00:21:40.400" video="qanda-windows" id="subtitle"]]
+[[!template text="""If I don't mess with it. Um, so here's where I'll add my minus Q, if that's kind of where""" start="00:21:53.120" video="qanda-windows" id="subtitle"]]
+[[!template text="""my world was at, or it kind of depends on what I'm doing with these, which varies week to week.""" start="00:22:01.280" video="qanda-windows" id="subtitle"]]
+[[!template text="""Um, so restarting my emacs, uh, involves doing the same thing, going to my desktop""" start="00:22:07.440" video="qanda-windows" id="subtitle"]]
+[[!template text="""and where you'll find a number of emac shortcuts and, um, updating the shortcut in the same manner""" start="00:22:12.560" video="qanda-windows" id="subtitle"]]
+[[!template text="""joint actually, maybe we'll just, let's go back there and just show it.""" start="00:22:23.920" video="qanda-windows" id="subtitle"]]
+[[!template text="""So if we look at, for example, my ERC,""" start="00:22:28.000" video="qanda-windows" id="subtitle"]]
+[[!template text="""you can see, it's going to be pointing at one of these clones and then it's going to""" start="00:22:31.760" video="qanda-windows" id="subtitle"]]
+[[!template text="""maybe tell me that I want, it wants to be full screen. Nope, not currently. And then it might,""" start="00:22:39.760" video="qanda-windows" id="subtitle"]]
+[[!template text="""uh, have some stuff in there about auto-loading at config and what""" start="00:22:44.720" video="qanda-windows" id="subtitle"]]
+[[!template text="""connections I'm going to, some commands I've defined to start connections.""" start="00:22:48.720" video="qanda-windows" id="subtitle"]]
+[[!template text="""All right. And sorry, I got a phone call. I was checking. It wasn't in an org, the org,""" start="00:22:53.280" video="qanda-windows" id="subtitle"]]
+[[!template text="""not the other organizers giving me the hook. So, um, all right. So that's, that's probably""" start="00:22:57.680" video="qanda-windows" id="subtitle"]]
+[[!template text="""enough on the local system. Let's get back to the, to, to building emacs. And now it hopefully makes""" start="00:23:04.160" video="qanda-windows" id="subtitle"]]
+[[!template text="""a certain amount of sense when I say we're going to wander over to the H drive and, and, and, and,""" start="00:23:11.440" video="qanda-windows" id="subtitle"]]
+[[!template text="""hopefully makes a certain amount of sense when I say we're going to wander over to the H drive""" start="00:23:17.920" video="qanda-windows" id="subtitle"]]
+[[!template text="""and recreate the structure that, um, both my process sort of assumes and the scripts you'll""" start="00:23:22.560" video="qanda-windows" id="subtitle"]]
+[[!template text="""find in the admin NT, uh, build disk folder in source used to assume. Those scripts are in need""" start="00:23:31.520" video="qanda-windows" id="subtitle"]]
+[[!template text="""of some love. And in just a little bit, I'll be mentioning a build, uh, a, uh, a, a, a particular""" start="00:23:41.440" video="qanda-windows" id="subtitle"]]
+[[!template text="""bug that you might want to pay attention to if you're interested in making a self-installer.""" start="00:23:49.440" video="qanda-windows" id="subtitle"]]
+[[!template text="""All right. So, um, we're going to create, uh, an emacs build directory.""" start="00:23:54.800" video="qanda-windows" id="subtitle"]]
+[[!template text="""And we've got a handy git clone stage, git clone command stage for ourself. That would work. Um,""" start="00:24:04.320" video="qanda-windows" id="subtitle"]]
+[[!template text="""do not currently see anybody lobbying for that. So instead we will run the rather faster""" start="00:24:19.360" video="qanda-windows" id="subtitle"]]
+[[!template text="""uh, W get command on Savannah, which is not pasted in here. Nice. Let's see if I can freehand it.""" start="00:24:27.120" video="qanda-windows" id="subtitle"]]
+[[!template text="""Not going to do it. Uh,""" start="00:24:36.080" video="qanda-windows" id="subtitle"]]
+[[!template text="""okay.""" start="00:24:40.720" video="qanda-windows" id="subtitle"]]
+[[!template text="""I beg your pardon. I'm grabbing a URL from the internet.""" start="00:24:52.000" video="qanda-windows" id="subtitle"]]
+[[!template text="""Uh, okay. Yeah, I can, I can honestly, I can freehand it, whatever. Okay. Sorry. I, uh,""" start="00:25:00.080" video="qanda-windows" id="subtitle"]]
+[[!template text="""I didn't have that bookmarked in all handy. Like I thought I did. Um, so we'll just say""" start="00:25:07.680" video="qanda-windows" id="subtitle"]]
+[[!template text="""ftp.gnu.org slash, uh, what is it? Pub emacs, emacs-29.1, uh, .org.gnu.org.exe.""" start="00:25:13.200" video="qanda-windows" id="subtitle"]]
+[[!template text="""I really think I'd have this command sitting around. It makes me want to scrap the whole""" start="00:25:30.480" video="qanda-windows" id="subtitle"]]
+[[!template text="""demo. I'm not going to lie. Okay. How am I doing? Um, I think at least 15 minutes. Um,""" start="00:25:47.040" video="qanda-windows" id="subtitle"]]
+[[!template text="""but in the command that you were freehanding, should the pub be GNU instead?""" start="00:25:54.720" video="qanda-windows" id="subtitle"]]
+[[!template text="""Oh, thanks. I'm sorry.""" start="00:25:59.120" video="qanda-windows" id="subtitle"]]
+[[!template text="""There we go. Thank you. All right. And then we'll,""" start="00:26:07.440" video="qanda-windows" id="subtitle"]]
+[[!template text="""and I'm not sure I provided commands for this either,""" start="00:26:17.760" video="qanda-windows" id="subtitle"]]
+[[!template text="""but it is trivially easy to do. And while that happens, we'll get to move on a few slides.""" start="00:26:20.720" video="qanda-windows" id="subtitle"]]
+[[!template text="""Um, the configure script I'm not talking about in a lot of detail, but I do want to mention that the""" start="00:26:31.760" video="qanda-windows" id="subtitle"]]
+[[!template text="""GNU binaries are provided with native, uh, compilation enabled. That's the feature that""" start="00:26:38.000" video="qanda-windows" id="subtitle"]]
+[[!template text="""uses gcc lib gcc get on windows. If available, that lib gcc get will be used. Um, but when,""" start="00:26:44.800" video="qanda-windows" id="subtitle"]]
+[[!template text="""but, uh, if, if, uh, emacs has that feature, then it will take by compile, uh, native code and,""" start="00:26:55.360" video="qanda-windows" id="subtitle"]]
+[[!template text="""uh, asynchronously compile that as needed, uh, with the ahead of time feature. We're going to""" start="00:27:03.200" video="qanda-windows" id="subtitle"]]
+[[!template text="""do as much of that ahead of time. And for folks that are consuming the windows binary, the""" start="00:27:10.880" video="qanda-windows" id="subtitle"]]
+[[!template text="""thinking goes that they might not have my assist too. They might not have lib gcc jet. They might""" start="00:27:15.360" video="qanda-windows" id="subtitle"]]
+[[!template text="""be happy that they're enabled in a, you know, a lot of time running emacs on their local environments""" start="00:27:21.360" video="qanda-windows" id="subtitle"]]
+[[!template text="""at all, you know, in a, maybe a lockdown, uh, corporate context. So aside that, um, there's""" start="00:27:30.400" video="qanda-windows" id="subtitle"]]
+[[!template text="""your first glimpse at the configure, um, program that we're going to run in a moment. In fact,""" start="00:27:39.120" video="qanda-windows" id="subtitle"]]
+[[!template text="""I'm going to go as far as putting it on the clipboard. Um, really just looking at this,""" start="00:27:45.120" video="qanda-windows" id="subtitle"]]
+[[!template text="""the AOT flag is the one I'd call attention to, but it's worth understanding that windows doesn't""" start="00:27:52.160" video="qanda-windows" id="subtitle"]]
+[[!template text="""provide a D bus capability. So windows native program isn't going to be able to depend on D""" start="00:27:57.120" video="qanda-windows" id="subtitle"]]
+[[!template text="""bus. We're going to, we're going to explicitly ask that that be left out. I think that's actually""" start="00:28:02.000" video="qanda-windows" id="subtitle"]]
+[[!template text="""optional and it's documentation. I think the configure program is smart enough to know that""" start="00:28:07.600" video="qanda-windows" id="subtitle"]]
+[[!template text="""we don't want D bus on windows. Um, otherwise we tend to compile with things. Um, there there's""" start="00:28:12.080" video="qanda-windows" id="subtitle"]]
+[[!template text="""missing documentation. We could say the, uh, all of the libraries are treated in the way I mentioned""" start="00:28:20.080" video="qanda-windows" id="subtitle"]]
+[[!template text="""in that, um, JPEG support will be available as long as the JPEG is, is available in our environment""" start="00:28:26.320" video="qanda-windows" id="subtitle"]]
+[[!template text="""and configure script certainly notices that, um, the GNU provided binaries are provided with""" start="00:28:34.880" video="qanda-windows" id="subtitle"]]
+[[!template text="""minus O2. And that's also my default personally on windows. Um, however, and I'm going to skip""" start="00:28:40.320" video="qanda-windows" id="subtitle"]]
+[[!template text="""this since I mentioned it, um, mentioned, uh, and, uh, um, so I guess I'll say, um, you can,""" start="00:28:47.280" video="qanda-windows" id="subtitle"]]
+[[!template text="""um, say with the, it's worth knowing that you, if you're not one reason that, that you're building""" start="00:28:59.680" video="qanda-windows" id="subtitle"]]
+[[!template text="""might be because you want to turn off native compilation for whatever reason. If you have""" start="00:29:06.560" video="qanda-windows" id="subtitle"]]
+[[!template text="""low juices, you get, get, but don't want Emacs to use it. Uh, especially as that default looks like""" start="00:29:11.200" video="qanda-windows" id="subtitle"]]
+[[!template text="""it could be changing with Emacs 30. Um, the, uh, the debug configuration, um, this is, this is the,""" start="00:29:16.640" video="qanda-windows" id="subtitle"]]
+[[!template text="""uh, kind of, uh, what, what I'm currently using this on commentary, uh, I've seen on the next""" start="00:29:26.480" video="qanda-windows" id="subtitle"]]
+[[!template text="""development list. Let's check on our checkout and see if we can't get a build running. Um,""" start="00:29:33.200" video="qanda-windows" id="subtitle"]]
+[[!template text="""this is a release build, so I won't be starting with, uh, so we'll start by hopping into its""" start="00:29:45.280" video="qanda-windows" id="subtitle"]]
+[[!template text="""directory and we, um, we have, uh, but not. Okay. So that tells us we're going to run""" start="00:29:51.440" video="qanda-windows" id="subtitle"]]
+[[!template text="""our configure program, but we don't need to run a config IC. So,""" start="00:30:14.640" video="qanda-windows" id="subtitle"]]
+[[!template text="""so let's get that going and, uh,""" start="00:30:31.280" video="qanda-windows" id="subtitle"]]
+[[!template text="""hopefully that's showing through just enough to be fun, not too much to be distracting.""" start="00:30:36.000" video="qanda-windows" id="subtitle"]]
+[[!template text="""Um, the, uh, the unoptimized, uh, uh, um, please report issues. If your Emacs is crashing,""" start="00:30:45.040" video="qanda-windows" id="subtitle"]]
+[[!template text="""uh, to the Emacs development list, not to me personally. Um, although you are of course,""" start="00:30:55.760" video="qanda-windows" id="subtitle"]]
+[[!template text="""welcome to copy me. Um, if you especially I'm subscribed to that list, so I get all the mail.""" start="00:31:01.200" video="qanda-windows" id="subtitle"]]
+[[!template text="""So I don't mind being copied. Uh, and, uh, as well, if you think it's, uh,""" start="00:31:06.960" video="qanda-windows" id="subtitle"]]
+[[!template text="""you know, related to packaging, that actually makes sense or windows related to even, and,""" start="00:31:15.040" video="qanda-windows" id="subtitle"]]
+[[!template text="""uh, it can be tested with an extra snapshot that should be uploaded to the canoe alpha side.""" start="00:31:20.160" video="qanda-windows" id="subtitle"]]
+[[!template text="""I could look at that if I have time. There's with the configure script to make file for""" start="00:31:25.120" video="qanda-windows" id="subtitle"]]
+[[!template text="""Emacs is really, really complicated. If time permits, which I'm now confident it will not,""" start="00:31:32.160" video="qanda-windows" id="subtitle"]]
+[[!template text="""we will look at, uh, make file that I tried writing that, uh, orchestrates this whole""" start="00:31:39.840" video="qanda-windows" id="subtitle"]]
+[[!template text="""process that I'm talking about. Um, as, uh, let's see. So the build, uh, build process,""" start="00:31:44.240" video="qanda-windows" id="subtitle"]]
+[[!template text="""I run my builds with, uh, explosively specifying the max CPU, uh, with minus J, but minus B one""" start="00:31:52.160" video="qanda-windows" id="subtitle"]]
+[[!template text="""to get the full build, uh, full log into your recipes. That is probably the magic thing.""" start="00:32:03.120" video="qanda-windows" id="subtitle"]]
+[[!template text="""Matt, um, shouldn't to understand what, uh,""" start="00:32:09.040" video="qanda-windows" id="subtitle"]]
+[[!template text="""or that, uh, that, that, uh, that I'm glad that I know, uh, as I'm trying to write my automations,""" start="00:32:16.000" video="qanda-windows" id="subtitle"]]
+[[!template text="""uh, the, um, so I call that out here, the binary, uh, releases. Um, okay. So in this section,""" start="00:32:26.960" video="qanda-windows" id="subtitle"]]
+[[!template text="""we're going to start to get into what are all those files. And there's a bug report related to""" start="00:32:36.080" video="qanda-windows" id="subtitle"]]
+[[!template text="""that, but I didn't get into here. So, um, that's kind of to the point about the less said about""" start="00:32:41.120" video="qanda-windows" id="subtitle"]]
+[[!template text="""this, the better, uh, that's my explanation for stepping through some of these slides.""" start="00:32:46.640" video="qanda-windows" id="subtitle"]]
+[[!template text="""Uh, of course we'll share them all, uh, uh, hopefully by the time that this video is published.""" start="00:32:50.800" video="qanda-windows" id="subtitle"]]
+[[!template text="""Oh, I mentioned, um, I may have mentioned already freshly installed, but, uh, fully installed. Uh,""" start="00:32:58.960" video="qanda-windows" id="subtitle"]]
+[[!template text="""the, the, the key distinction here is that, uh, Emacs is distributed in the binary form for Windows""" start="00:33:06.640" video="qanda-windows" id="subtitle"]]
+[[!template text="""with some DLL files that actually come from the mysys2 project. There's an implication there to""" start="00:33:15.200" video="qanda-windows" id="subtitle"]]
+[[!template text="""there's an implication there to GCC that I definitely want to get to it talking about.""" start="00:33:21.760" video="qanda-windows" id="subtitle"]]
+[[!template text="""Um, so freshly installed means we haven't copied those binaries from the mysys2, uh,""" start="00:33:28.080" video="qanda-windows" id="subtitle"]]
+[[!template text="""installation into the Emacs, uh, installation. Uh, and then, uh, when we re-archived that""" start="00:33:35.840" video="qanda-windows" id="subtitle"]]
+[[!template text="""local Emacs installation, that's how we're going to create the full zip.""" start="00:33:45.360" video="qanda-windows" id="subtitle"]]
+[[!template text="""So hopefully that actually is a pretty good summary of what all those files are. Um, but""" start="00:33:48.640" video="qanda-windows" id="subtitle"]]
+[[!template text="""there are readme files, uh, on the FTP that do a pretty good job, um, if you can dig enough to find""" start="00:33:54.160" video="qanda-windows" id="subtitle"]]
+[[!template text="""one and my apologies for, uh, tardiness getting a new version on that posted. Um, the Emacs, uh,""" start="00:34:00.320" video="qanda-windows" id="subtitle"]]
+[[!template text="""so those dependencies, uh, are listed within Emacs itself. And as we'll just talk about in a moment,""" start="00:34:11.120" video="qanda-windows" id="subtitle"]]
+[[!template text="""there's a way, uh, that we can use, we can access that when we collect them in order to meet, uh,""" start="00:34:17.040" video="qanda-windows" id="subtitle"]]
+[[!template text="""the GCC requirement that is essentially to include, um, include the sources for the,""" start="00:34:24.240" video="qanda-windows" id="subtitle"]]
+[[!template text="""for those binaries, the things that were compiled against. Um, the, uh, so, so here we go,""" start="00:34:31.840" video="qanda-windows" id="subtitle"]]
+[[!template text="""we're, we're into the build process. Let's just take a look and see if configure it got done.""" start="00:34:41.200" video="qanda-windows" id="subtitle"]]
+[[!template text="""It sure did. And now we can see a table of, of hopefully good, but good and bad news, um,""" start="00:34:45.280" video="qanda-windows" id="subtitle"]]
+[[!template text="""and potential, um, where we're learning that we're using the pdumper strategy and any number of other""" start="00:34:52.240" video="qanda-windows" id="subtitle"]]
+[[!template text="""things that we might be messing with as our motivation for, for building ourselves on Emacs.""" start="00:34:57.840" video="qanda-windows" id="subtitle"]]
+[[!template text="""Um, again, this table represents, uh, what you'll, what, what, what it looks like for me when I'm""" start="00:35:04.320" video="qanda-windows" id="subtitle"]]
+[[!template text="""building for the GNU distributed binaries. All right. So, um, kind of moving, moving as quickly""" start="00:35:12.560" video="qanda-windows" id="subtitle"]]
+[[!template text="""as I can here. I'm at 40 after, I believe that's the five minute mark. So, um, having just succeeded""" start="00:35:22.720" video="qanda-windows" id="subtitle"]]
+[[!template text="""in, in configuring Emacs, I don't think we're going to build it. Uh, uh, I don't think we're""" start="00:35:31.200" video="qanda-windows" id="subtitle"]]
+[[!template text="""going to actually get to running make install. Um, but I have it sitting here on my keyboard""" start="00:35:37.040" video="qanda-windows" id="subtitle"]]
+[[!template text="""or clipboard, assuming that we will, right? No. Oh, wow. I think I've managed to confuse this.""" start="00:35:43.280" video="qanda-windows" id="subtitle"]]
+[[!template text="""All right. So for me, that looks simply like, uh, make, uh, V equals one install, uh,""" start="00:35:54.320" video="qanda-windows" id="subtitle"]]
+[[!template text="""prefix equals, uh,""" start="00:36:08.160" video="qanda-windows" id="subtitle"]]
+[[!template text="""and we can at least get it kicked off.""" start="00:36:18.400" video="qanda-windows" id="subtitle"]]
+[[!template text="""And that can, that command is just, uh, just is no, no different than I showed on the slide where""" start="00:36:20.640" video="qanda-windows" id="subtitle"]]
+[[!template text="""I, where I gave it, uh, wasn't planning to stop and explain it. I was just planning to paste it.""" start="00:36:27.680" video="qanda-windows" id="subtitle"]]
+[[!template text="""So, so, so again, recapping the rest of the process here and maybe actually making it,""" start="00:36:33.360" video="qanda-windows" id="subtitle"]]
+[[!template text="""if you can believe it or not, through the rest of these slides, um, we, to, to, to create the""" start="00:36:38.640" video="qanda-windows" id="subtitle"]]
+[[!template text="""full set of binaries, we're going to need a no dependent, no depths archive. That's without the""" start="00:36:44.800" video="qanda-windows" id="subtitle"]]
+[[!template text="""mysys2, uh, deal provided DLLs, just the things that we compile as part of making Emacs. Um,""" start="00:36:49.600" video="qanda-windows" id="subtitle"]]
+[[!template text="""the, uh, the build depths zip script is provided with the source distribution is your tool for,""" start="00:37:00.320" video="qanda-windows" id="subtitle"]]
+[[!template text="""uh, meeting the GPL requirements, right? Source as mentioned before,""" start="00:37:07.840" video="qanda-windows" id="subtitle"]]
+[[!template text="""um, there is a second bug that I did, uh, include some more information on in my notes already.""" start="00:37:12.640" video="qanda-windows" id="subtitle"]]
+[[!template text="""Um, that, uh, that gets into the details of this other feature I alluded to.""" start="00:37:19.680" video="qanda-windows" id="subtitle"]]
+[[!template text="""Um, I'll just skip into that. Um, we, we can, with, with, uh, with a, an appropriate version""" start="00:37:26.480" video="qanda-windows" id="subtitle"]]
+[[!template text="""of that, which you may need a patch, uh, to, to have, you can list out the dependencies""" start="00:37:35.680" video="qanda-windows" id="subtitle"]]
+[[!template text="""and, and that version as well. Can consider the dependencies of the Emacs binary versus""" start="00:37:42.240" video="qanda-windows" id="subtitle"]]
+[[!template text="""the hard-coded list you might find, depending on when you look at this file in the source tree.""" start="00:37:47.200" video="qanda-windows" id="subtitle"]]
+[[!template text="""The diff, um, so I also have a hack here that, uh, works around the absolute requirement to""" start="00:37:53.680" video="qanda-windows" id="subtitle"]]
+[[!template text="""run this with the mysys2 and not the minGW64 script. Um, once we've made that zip file that""" start="00:38:01.600" video="qanda-windows" id="subtitle"]]
+[[!template text="""contain that's, that's our installed Emacs without the DLLs provided by mysys2, we'll then unpack""" start="00:38:18.320" video="qanda-windows" id="subtitle"]]
+[[!template text="""the dependencies that were created by that Python script we just talked about from the Emacs source""" start="00:38:25.360" video="qanda-windows" id="subtitle"]]
+[[!template text="""tree. At that point, once those are unpacked, we can now make what's called the full installer,""" start="00:38:30.960" video="qanda-windows" id="subtitle"]]
+[[!template text="""or sometimes I might call it the unqualified installer, because it's just going to be called""" start="00:38:38.080" video="qanda-windows" id="subtitle"]]
+[[!template text="""Emacs29.1.zip. Um, and that, uh, that file, which, which creates the, the, the, the, the,""" start="00:38:42.800" video="qanda-windows" id="subtitle"]]
+[[!template text="""which creates the archive, uh, that, uh, that, that, that file is exactly the same,""" start="00:38:54.800" video="qanda-windows" id="subtitle"]]
+[[!template text="""plus the, uh, the dependencies that we unzipped in the bin folder of the installed Emacs.""" start="00:39:02.640" video="qanda-windows" id="subtitle"]]
+[[!template text="""The, uh, executable self-installer, which I would love to have more time to talk about.""" start="00:39:09.680" video="qanda-windows" id="subtitle"]]
+[[!template text="""I gave a few pointers here on the hard part of running it. Most importantly,""" start="00:39:14.480" video="qanda-windows" id="subtitle"]]
+[[!template text="""if I've installed in any kind of funny looking name, I end up renaming it to like Emacs-29.1""" start="00:39:19.680" video="qanda-windows" id="subtitle"]]
+[[!template text="""or Emacs-29. or 30.0.50 or whatever. And I just renamed that installed Emacs folder.""" start="00:39:26.640" video="qanda-windows" id="subtitle"]]
+[[!template text="""And then I go to the root of wherever I created that, the parent directory above it.""" start="00:39:35.200" video="qanda-windows" id="subtitle"]]
+[[!template text="""And that's where I make my copy of the Emacs NSI, um, the, the NSIS script.""" start="00:39:40.320" video="qanda-windows" id="subtitle"]]
+[[!template text="""And, uh, that's also where I, and then, um, then from that parent directory, I execute,""" start="00:39:47.520" video="qanda-windows" id="subtitle"]]
+[[!template text="""uh, making sys, uh, here. I, as mentioned, um, I, I can get away with this because I have it""" start="00:39:55.600" video="qanda-windows" id="subtitle"]]
+[[!template text="""on my path and it's my recollection. I think I tested this and couldn't reproduce the problem.""" start="00:40:02.560" video="qanda-windows" id="subtitle"]]
+[[!template text="""So I didn't document it here, but I've had some problems with running this""" start="00:40:07.520" video="qanda-windows" id="subtitle"]]
+[[!template text="""when, uh, when NSIS wasn't on my path. The, uh, the, the, the final step here""" start="00:40:11.200" video="qanda-windows" id="subtitle"]]
+[[!template text="""and the last, the GPL requirement is to include all the sources, except when I'm doing a release""" start="00:40:20.400" video="qanda-windows" id="subtitle"]]
+[[!template text="""build, I always do this. Um, and that's the new practice when making Snapchat binaries is to go""" start="00:40:27.600" video="qanda-windows" id="subtitle"]]
+[[!template text="""ahead and include the sources, even though we might have the specific revision number, um,""" start="00:40:34.320" video="qanda-windows" id="subtitle"]]
+[[!template text="""our thinking is we want absolute clarity, um, that, that somebody, uh, can say, okay,""" start="00:40:39.840" video="qanda-windows" id="subtitle"]]
+[[!template text="""this binary did this thing, send me the source for it. I'm going to go take that into my own""" start="00:40:46.800" video="qanda-windows" id="subtitle"]]
+[[!template text="""open source, or yeah, maybe they would, the jerks, um, into my own open source project.""" start="00:40:51.200" video="qanda-windows" id="subtitle"]]
+[[!template text="""And, um, you know, off they go, uh, and that needs to be possible.""" start="00:40:56.880" video="qanda-windows" id="subtitle"]]
+[[!template text="""Um, so, um, beyond that, the rest of this is, is really detailed that you find covered in the GNU""" start="00:41:04.800" video="qanda-windows" id="subtitle"]]
+[[!template text="""maintainers manual. Um, this is the, the current set of Windows binaries that, um, it's busily""" start="00:41:12.480" video="qanda-windows" id="subtitle"]]
+[[!template text="""working on creating a like for like a mirror to behind the scenes here is called a 29.1 underscore""" start="00:41:19.520" video="qanda-windows" id="subtitle"]]
+[[!template text="""two. Um, and I have a lot of automation, uh, available on this site. So at this point,""" start="00:41:29.040" video="qanda-windows" id="subtitle"]]
+[[!template text="""I'm just, I think I'm only a minute, 40 seconds over. I'm gonna invite my, uh, co-organizers""" start="00:41:36.080" video="qanda-windows" id="subtitle"]]
+[[!template text="""back onto the call or any volunteers that want to jump in and anybody, if there's people on the""" start="00:41:45.200" video="qanda-windows" id="subtitle"]]
+[[!template text="""BBB, I'd be happy to take questions. If there aren't, um, I have a screen full of, uh, the""" start="00:41:49.760" video="qanda-windows" id="subtitle"]]
+[[!template text="""automation stuff ready to go as a kind of a second ring in my circus today. So if you're still with""" start="00:41:57.440" video="qanda-windows" id="subtitle"]]
+[[!template text="""me, thanks a lot for joining me. And I really enjoyed this talk. Uh, if this is where we're""" start="00:42:04.080" video="qanda-windows" id="subtitle"]]
+[[!template text="""going to close it out, I don't know where we're at for schedule today. Thanks a lot for a great""" start="00:42:08.640" video="qanda-windows" id="subtitle"]]
+[[!template text="""talk, Corwin. Um, in terms of like schedule, yeah, you went over a little bit for the official,""" start="00:42:14.560" video="qanda-windows" id="subtitle"]]
+[[!template text="""like, um, schedule or time of your talk, but I think, uh, we actually have maybe like six or""" start="00:42:20.880" video="qanda-windows" id="subtitle"]]
+[[!template text="""seven more minutes, um, here on stream for, um, questions and such, if folks have questions,""" start="00:42:26.880" video="qanda-windows" id="subtitle"]]
+[[!template text="""or if you want to like quickly maybe show one or two more things. Um, but I think the hard stuff""" start="00:42:32.640" video="qanda-windows" id="subtitle"]]
+[[!template text="""is about like maybe 10 minutes ish for now. And then we'll have to rush over to, um, uh, for the""" start="00:42:38.320" video="qanda-windows" id="subtitle"]]
+[[!template text="""closing remarks. So, well, that sounds awesome. Okay. So I'm looking at the, the dev chat. Uh,""" start="00:42:43.520" video="qanda-windows" id="subtitle"]]
+[[!template text="""I see a comment on cross-compiling the emacs, but I'm sorry, I'm looking at IRC primarily, but,""" start="00:42:55.520" video="qanda-windows" id="subtitle"]]
+[[!template text="""uh, feel free to jump in if you're on, uh, BBB with me, or, uh, uh, if, if you put something on""" start="00:43:01.040" video="qanda-windows" id="subtitle"]]
+[[!template text="""the pad, I'm sure, uh, we'll see it between the two of us, uh, over here. Okay. So cross-compiling""" start="00:43:08.160" video="qanda-windows" id="subtitle"]]
+[[!template text="""emacs for Serenity. I haven't tried really any cross-compiling. I think that would be very""" start="00:43:16.400" video="qanda-windows" id="subtitle"]]
+[[!template text="""interesting. I would most likely focus on doing exactly what I do on a GNU system, completely""" start="00:43:20.640" video="qanda-windows" id="subtitle"]]
+[[!template text="""ditching. Um, so I guess with my, my remaining time, rather than walking through code, um, for""" start="00:43:28.240" video="qanda-windows" id="subtitle"]]
+[[!template text="""my automation, which can be another talk, if in fact there's an interest in that, um, I want to,""" start="00:43:35.760" video="qanda-windows" id="subtitle"]]
+[[!template text="""I guess, say a couple of words about the non-free operating system that I'm using here. I did my""" start="00:43:42.080" video="qanda-windows" id="subtitle"]]
+[[!template text="""best to use no non-free software other than the, uh, the operating system that is the context for""" start="00:43:48.480" video="qanda-windows" id="subtitle"]]
+[[!template text="""this talk in preparing this talk for you. I personally have a lot more, uh, time and energy,""" start="00:43:58.880" video="qanda-windows" id="subtitle"]]
+[[!template text="""I have to say, invested in proprietary tools for doing a lot of the things that, that go into this.""" start="00:44:07.920" video="qanda-windows" id="subtitle"]]
+[[!template text="""So I really respect the work of people that pull that off. Um, I'm sorry I didn't get my pre-recorded""" start="00:44:15.840" video="qanda-windows" id="subtitle"]]
+[[!template text="""stuff, uh, kind of in order for everybody, but I just want to stress, like, uh, it is all absolutely""" start="00:44:22.000" video="qanda-windows" id="subtitle"]]
+[[!template text="""possible and just hats off to everybody that, that used, uh, entirely free software to get their,""" start="00:44:30.320" video="qanda-windows" id="subtitle"]]
+[[!template text="""get their recordings done in time. Um, and what you did see, unless it was provided by the operating""" start="00:44:36.240" video="qanda-windows" id="subtitle"]]
+[[!template text="""system in my presentation today, was all, uh, free software with the debatable exception of""" start="00:44:43.360" video="qanda-windows" id="subtitle"]]
+[[!template text="""NSYS, which styles itself as open source, maybe for, uh, marketing reasons.""" start="00:44:49.200" video="qanda-windows" id="subtitle"]]
+[[!template text="""Okay, uh, in any case, uh, certainly we can get all that source.""" start="00:44:56.720" video="qanda-windows" id="subtitle"]]
+[[!template text="""Thanks for the note, Corin. It's good to know that, uh, building or, uh, yeah, doing the build of Emacs""" start="00:45:08.080" video="qanda-windows" id="subtitle"]]
+[[!template text="""for Windows on Windows can be done, uh, using only free software. Yeah, absolutely.""" start="00:45:14.720" video="qanda-windows" id="subtitle"]]
+[[!template text="""Probably the right closing note, right? Um, I just, uh, thanks again to the organizers for""" start="00:45:23.440" video="qanda-windows" id="subtitle"]]
+[[!template text="""bearing with me. And like, every time I was like, you guys, I'm terrible at this. They're just like,""" start="00:45:29.520" video="qanda-windows" id="subtitle"]]
+[[!template text="""no, you're doing fine. Keep going. You did a great job live last time. You can do it live,""" start="00:45:33.920" video="qanda-windows" id="subtitle"]]
+[[!template text="""you know, and, and saying all the right things to just, uh, encourage me to come back,""" start="00:45:38.240" video="qanda-windows" id="subtitle"]]
+[[!template text="""uh, this year and every year.""" start="00:45:43.920" video="qanda-windows" id="subtitle"]]
+[[!template text="""Well, as I said before, we were very lucky to have you and the rest of the team, of course,""" start="00:45:49.760" video="qanda-windows" id="subtitle"]]
+[[!template text="""as well. And, um, goes without saying, but all the speakers and the audience, the participants as""" start="00:45:53.520" video="qanda-windows" id="subtitle"]]
+[[!template text="""well. So, um, so, uh, are we, we're still live over here that, you know, you know, me, I'm the""" start="00:45:59.520" video="qanda-windows" id="subtitle"]]
+[[!template text="""Mike Hogg that I am. I can't resist, um, throwing, throwing up another screen here. And, uh, in fact,""" start="00:46:14.240" video="qanda-windows" id="subtitle"]]
+[[!template text="""let's go ahead and go back to our, to our crawler, right? And I'll bring back our build""" start="00:46:22.800" video="qanda-windows" id="subtitle"]]
+[[!template text="""if it finishes and maybe we'll show making the installer as well. Um, uh, but I have the CPU""" start="00:46:32.160" video="qanda-windows" id="subtitle"]]
+[[!template text="""account turned down a little bit here. Uh, note, I didn't specify minus J here. Um, so, uh, over""" start="00:46:40.480" video="qanda-windows" id="subtitle"]]
+[[!template text="""here is my automation. Uh, in case you do want to take a look, I can at least provide the""" start="00:46:49.680" video="qanda-windows" id="subtitle"]]
+[[!template text="""orientation of what you're looking at. Scrape log is probably my first thing I want to show off.""" start="00:46:54.000" video="qanda-windows" id="subtitle"]]
+[[!template text="""Um, it's not beautiful, but this works, uh, pretty well for me to get a sense of something might""" start="00:46:59.760" video="qanda-windows" id="subtitle"]]
+[[!template text="""have changed in terms of how many warnings or errors are happening when I build Emacs. So I""" start="00:47:08.400" video="qanda-windows" id="subtitle"]]
+[[!template text="""have this whole automation going on and I frequently want to answer the question,""" start="00:47:14.720" video="qanda-windows" id="subtitle"]]
+[[!template text="""you know, what's the change rate in, uh, warnings or what have you. So this kind of gives me a count""" start="00:47:19.280" video="qanda-windows" id="subtitle"]]
+[[!template text="""of that. Um, so from there, uh, accrued CI is the script we're watching run in the other pane.""" start="00:47:26.400" video="qanda-windows" id="subtitle"]]
+[[!template text="""Um, we can see it's, uh, just starting to do its thing again.""" start="00:47:37.840" video="qanda-windows" id="subtitle"]]
+[[!template text="""And, uh, the make file I mentioned, this is a top-down rewrite of everything else that I've done.""" start="00:47:48.800" video="qanda-windows" id="subtitle"]]
+[[!template text="""It has some bugs right now. Um, the, uh, the build distribution is the main script that I use for my""" start="00:47:57.040" video="qanda-windows" id="subtitle"]]
+[[!template text="""personal builds. This is what is run by the crude CI script. Uh, it has a fun tie-in to this, uh,""" start="00:48:08.640" video="qanda-windows" id="subtitle"]]
+[[!template text="""web interface here, um, where we can, you don't need the port number when you go to it. That's""" start="00:48:17.120" video="qanda-windows" id="subtitle"]]
+[[!template text="""just if I'm going to post. Um, the, uh, blah, blah, blah, blah, blah. This, this script is""" start="00:48:23.200" video="qanda-windows" id="subtitle"]]
+[[!template text="""really long and complicated and probably needs some diving into, but you can see that, um, one""" start="00:48:33.680" video="qanda-windows" id="subtitle"]]
+[[!template text="""of the complexities I have to deal with is that I'm going to need something in the format of an""" start="00:48:39.120" video="qanda-windows" id="subtitle"]]
+[[!template text="""emacs-version for strategic, um, nsys reasons. So, uh, it takes care of kind of every complexity""" start="00:48:43.840" video="qanda-windows" id="subtitle"]]
+[[!template text="""that I mentioned today in some respects, um, as does the make file. Build release is, um, another""" start="00:48:54.480" video="qanda-windows" id="subtitle"]]
+[[!template text="""fairly useful incarnation of this. This is just focused on the release process, and this does""" start="00:49:03.120" video="qanda-windows" id="subtitle"]]
+[[!template text="""work, uh, for example, to create the, the, the, you know, like, like, well, I could like, uh,""" start="00:49:11.360" video="qanda-windows" id="subtitle"]]
+[[!template text="""for like files as far as I can tell. So what are currently posted for emacs 29.1 and the release""" start="00:49:18.800" video="qanda-windows" id="subtitle"]]
+[[!template text="""candidate. Um, so I'll probably use that next time. And if it's still like, for like, I'll""" start="00:49:25.600" video="qanda-windows" id="subtitle"]]
+[[!template text="""probably post the ones that came from this. Um, uh, building, uh, TreeSitter, I make some DLLs""" start="00:49:32.400" video="qanda-windows" id="subtitle"]]
+[[!template text="""there. If you're looking for hints on how to get going or just simply, uh, a huge long list""" start="00:49:40.960" video="qanda-windows" id="subtitle"]]
+[[!template text="""of Git repositories that make grammars, you can use that is here as well. Um, finally, I mentioned""" start="00:49:47.120" video="qanda-windows" id="subtitle"]]
+[[!template text="""I have a, um, I have a website where I publish my own personal snapshots that I make, uh, that""" start="00:49:55.840" video="qanda-windows" id="subtitle"]]
+[[!template text="""folder full of install directories, but all of the usual GNU style binary distributables, including""" start="00:50:04.800" video="qanda-windows" id="subtitle"]]
+[[!template text="""the source code and the source code for the dependencies. Um, the, uh, so this program is""" start="00:50:11.680" video="qanda-windows" id="subtitle"]]
+[[!template text="""another one of those complicated find commands and therefore potentially the most useful thing""" start="00:50:22.320" video="qanda-windows" id="subtitle"]]
+[[!template text="""in here to take to you. Um, and here I'm deleting, uh, binaries older than 17 years. Uh, everything""" start="00:50:27.680" video="qanda-windows" id="subtitle"]]
+[[!template text="""except the, uh, node apps file and the sources of it you'll find on my website. Currently those""" start="00:50:34.960" video="qanda-windows" id="subtitle"]]
+[[!template text="""indefinitely, I'll probably roll out 120 days or something, um, for those eventually.""" start="00:50:42.240" video="qanda-windows" id="subtitle"]]
+[[!template text="""Oh, uh, I can talk about this one even. Um, the, uh, so here you'll see the two branches that I'm""" start="00:50:53.600" video="qanda-windows" id="subtitle"]]
+[[!template text="""tracking. The job of this script is, uh, this runs on the website. I call it with a, like a remote""" start="00:51:00.400" video="qanda-windows" id="subtitle"]]
+[[!template text="""rsync, uh, type, uh, or an SSA remote, uh, SSH command. Um, and right after the rsync,""" start="00:51:06.560" video="qanda-windows" id="subtitle"]]
+[[!template text="""rsyncing up any new Emacs that I built. And, uh, it's, uh, it's job is to update my fancy""" start="00:51:15.920" video="qanda-windows" id="subtitle"]]
+[[!template text="""directory indexing. So let's look at Corwin's website. Here's my Emacs 29 folder.""" start="00:51:26.080" video="qanda-windows" id="subtitle"]]
+[[!template text="""We have about two more minutes, Corwin. Yeah. It'll take that entire two minutes to, uh,""" start="00:51:37.360" video="qanda-windows" id="subtitle"]]
+[[!template text="""load this directory because I am, because I have not yet ever pruned any of these dang binaries.""" start="00:51:50.400" video="qanda-windows" id="subtitle"]]
+[[!template text="""So every version of, uh, Emacs 29 that I've ever made for myself is probably here. Nice.""" start="00:51:56.400" video="qanda-windows" id="subtitle"]]
+[[!template text="""Uh, I strongly recommend that you bookmark this folder if you're using these for something and""" start="00:52:03.600" video="qanda-windows" id="subtitle"]]
+[[!template text="""you always want the latest. Um, so here, this particular, uh, latest 29, Emacs 29 latest,""" start="00:52:08.480" video="qanda-windows" id="subtitle"]]
+[[!template text="""or simply replace the 29 with 30 to get those. Uh, alas, no, no such luck for TreeSetter.""" start="00:52:14.240" video="qanda-windows" id="subtitle"]]
+[[!template text="""But if we look at, uh, that,""" start="00:52:23.120" video="qanda-windows" id="subtitle"]]
+[[!template text="""live this long without making a typo. Now look at me.""" start="00:52:36.400" video="qanda-windows" id="subtitle"]]
+[[!template text="""Uh-oh. Oh.""" start="00:52:40.320" video="qanda-windows" id="subtitle"]]
+[[!template text="""So here, um, you know, we can see the icon application and so on, even in the TreeSetter""" start="00:52:51.520" video="qanda-windows" id="subtitle"]]
+[[!template text="""folder. This is all I'm talking about, about the fanciness that's set up by that other script that""" start="00:52:56.720" video="qanda-windows" id="subtitle"]]
+[[!template text="""I'm showing over here and run after each time I run the upload. It just""" start="00:53:02.400" video="qanda-windows" id="subtitle"]]
+[[!template text="""looks to see if anything's new and add some lines to the .htaccess file.""" start="00:53:07.840" video="qanda-windows" id="subtitle"]]
+[[!template text="""Um, I'm particularly proud of this one. I'm not going to lie. Um, linking out to each,""" start="00:53:15.840" video="qanda-windows" id="subtitle"]]
+[[!template text="""each, uh, project that we're using, letting us know the commit version,""" start="00:53:22.400" video="qanda-windows" id="subtitle"]]
+[[!template text="""and then, uh, for the DLLs, quick link out to the log and the signature file for this DLL. Um,""" start="00:53:26.560" video="qanda-windows" id="subtitle"]]
+[[!template text="""I find that a lot, just a lot more readable than, uh, listing them all out individually. And I'd""" start="00:53:36.960" video="qanda-windows" id="subtitle"]]
+[[!template text="""love to do something like that on the GNU site. So I'm, I think we've got to be out of time by""" start="00:53:46.160" video="qanda-windows" id="subtitle"]]
+[[!template text="""now. I've just got to say, hey, thanks again for having me, uh, for those that, uh, watch the talk""" start="00:53:53.360" video="qanda-windows" id="subtitle"]]
+[[!template text="""either live or after the conference. Uh, appreciate everyone's support to get me to""" start="00:53:59.600" video="qanda-windows" id="subtitle"]]
+[[!template text="""the point where I will be able to, uh, to do this, this, this cool volunteer task,""" start="00:54:04.400" video="qanda-windows" id="subtitle"]]
+[[!template text="""uh, which is fun and easy to do and reach out to me if you're interested in helping with it.""" start="00:54:10.320" video="qanda-windows" id="subtitle"]]
+[[!template text="""Well, awesome. Thanks a lot for the awesome talk, Corbyn. And, uh, of course, as a fellow""" start="00:54:18.960" video="qanda-windows" id="subtitle"]]
+[[!template text="""core, uh, core organizer, uh, for all, for all that you do, um, in and around Emacs Conf""" start="00:54:24.320" video="qanda-windows" id="subtitle"]]
+[[!template text="""and of course for, uh, GNU Emacs as well, it's much appreciated.""" start="00:54:29.920" video="qanda-windows" id="subtitle"]]
+[[!template text="""Big, big words from coming from you, my friend. Um, thanks for the kind words.""" start="00:54:36.160" video="qanda-windows" id="subtitle"]]
+[[!template text="""Cheers. My pleasure. All right. And with that, I think we're gonna, uh, wrap up the dev, uh,""" start="00:54:45.040" video="qanda-windows" id="subtitle"]]
+[[!template text="""track here and, uh, we'll be with you again shortly in a few minutes on the gen stream,""" start="00:54:49.840" video="qanda-windows" id="subtitle"]]
+[[!template text="""the gen track for the closing remarks for today, um, only for today, because we're going to be""" start="00:54:55.360" video="qanda-windows" id="subtitle"]]
+[[!template text="""back tomorrow again as well. So don't go anywhere and, uh, see you on the gen track in a bit.""" start="00:55:00.400" video="qanda-windows" id="subtitle"]]
+[[!template text="""Oh my God, I did it. We got done within the time. You're my hero. Um, and thank you so""" start="00:55:25.920" video="qanda-windows" id="subtitle"]]
+[[!template text="""much for just keeping me honest there and, uh, like helping me keep my eye on the time and such.""" start="00:55:32.720" video="qanda-windows" id="subtitle"]]
+[[!template text="""You have to look at the recording and see whether you feel like doing it again.""" start="00:55:41.520" video="qanda-windows" id="subtitle"]]
+[[!template text="""I'm sorry. I had my sound screwed up and I'm sorry if I talked over somebody,""" start="00:55:56.160" video="qanda-windows" id="subtitle"]]
+[[!template text="""I couldn't hear anything on mumble until this very moment.""" start="00:55:59.520" video="qanda-windows" id="subtitle"]]
+[[!template text="""Oh, uh, because he's your webcam for it. Um, like as a, like a virtual webcam thingy,""" start="00:56:03.520" video="qanda-windows" id="subtitle"]]
+[[!template text="""it was low res, especially when things are changing as you're scrolling around. So we'll""" start="00:56:09.440" video="qanda-windows" id="subtitle"]]
+[[!template text="""see what kind of recording we can recover from it. And then you can decide whether you maybe""" start="00:56:15.760" video="qanda-windows" id="subtitle"]]
+[[!template text="""want to clean it up with like screenshots. I recorded on this end too. We shouldn't have""" start="00:56:19.920" video="qanda-windows" id="subtitle"]]
+[[!template text="""that problem with my recording. Thank you. Thank you. Thank you. I think we're still live on the""" start="00:56:26.480" video="qanda-windows" id="subtitle"]]
+[[!template text="""dev stream. Someone could, uh, take that off. Oh, yes. Because, uh, I'll, I'll set it to rebroadcast.""" start="00:56:30.720" video="qanda-windows" id="subtitle"]]
+[[!template text="""Yeah. I love doing that for the closing remarks. That's a fine tradition""" start="00:56:45.520" video="qanda-windows" id="subtitle"]]
+[[!template text="""or it's a tradition now. Cause I'm pretty sure this means we've done it twice.""" start="00:56:52.000" video="qanda-windows" id="subtitle"]]
+[[!template text="""I once heard that, you know, uh, as a fan-ish meaning like a fan-ish is a term of endearment""" start="00:57:01.680" video="qanda-windows" id="subtitle"]]
+[[!template text="""for a science fiction fan to another. We say we're, we're fans or things we do are fan-ish and""" start="00:57:07.360" video="qanda-windows" id="subtitle"]]
+[[!template text="""a fan-ish tradition then is if you do it three times, it's tradition, but we're on a budget here.""" start="00:57:12.800" video="qanda-windows" id="subtitle"]]
+[[!template text="""So, all right. I think we should, um, head over to mumble and talk on mumble. Um, and just decide""" start="00:57:19.680" video="qanda-windows" id="subtitle"]]
+[[!template text="""and see like which big blue button room we're going to be in for closing. Okay. So we're clear""" start="00:57:31.600" video="qanda-windows" id="subtitle"]]
+[[!template text="""on BBB here? Yep. I think so.""" start="00:57:36.240" video="qanda-windows" id="subtitle"]]
+
Questions or comments? Please e-mail [corwin@bru.st](mailto:corwin@bru.st?subject=Comment%20for%20EmacsConf%202023%20windows%3A%20Windows%20into%20Freedom)