WEBVTT 00:00:03.639 --> 00:00:04.019 [Speaker 0]: Well, we have about, I think, 00:00:06.339 --> 00:00:06.839 10 or 15 minutes of on-stream Q&A time. 00:00:10.320 --> 00:00:10.559 But if there's more questions than that, 00:00:11.420 --> 00:00:11.920 people are welcome to stay. 00:00:14.200 --> 00:00:14.639 If Mike has the time to answer some more, 00:00:15.060 --> 00:00:15.560 then Awesome. 00:00:20.920 --> 00:00:21.060 [Speaker 1]: Yeah, I will be around for the rest of the 00:00:22.440 --> 00:00:22.940 conference. So I am spudpnds, 00:00:26.580 --> 00:00:27.080 which is spud upside down on IRC, 00:00:29.640 --> 00:00:30.140 if you want to hit me up on IRC. 00:00:30.860 --> 00:00:31.360 Nice. 00:00:42.800 --> 00:00:43.300 [Speaker 0]: I see we already have a question on the pad, 00:00:45.920 --> 00:00:46.080 and it is, did you develop a variant of your 00:00:46.920 --> 00:00:47.420 document for CentOS? 00:00:52.840 --> 00:00:53.239 [Speaker 1]: I did not. I have not messed with any other 00:00:56.120 --> 00:00:56.620 Red Hat distributions other than Fedora. 00:00:59.960 --> 00:01:00.460 I would like to expand the document out to 00:01:05.740 --> 00:01:05.860 Windows and to Mac OS as I think a lot of 00:01:07.720 --> 00:01:07.960 people really want to build Emacs on those 00:01:09.840 --> 00:01:10.340 platforms because it's much harder to get 00:01:13.080 --> 00:01:13.580 Emacs binaries running on those platforms. 00:01:15.860 --> 00:01:16.080 Although they're around on the internet it's 00:01:17.320 --> 00:01:17.440 not as bad as it used to be, 00:01:19.280 --> 00:01:19.760 but building Emacs is very, 00:01:21.000 --> 00:01:21.160 a very fun thing to do. 00:01:22.760 --> 00:01:23.260 And I encourage everybody to do that. 00:01:46.160 --> 00:01:46.440 [Speaker 0]: Right. We're also getting comments from folks 00:01:46.800 --> 00:01:47.300 here on BigBlueButton. 00:01:49.640 --> 00:01:49.900 EXC or Matt saying, great talk, 00:01:51.140 --> 00:01:51.640 good demonstration of what's possible. 00:01:53.940 --> 00:01:54.240 And Aaron thanking Mike, 00:01:54.760 --> 00:01:55.260 saying awesome presentation. 00:01:56.880 --> 00:01:57.040 And they missed the first few minutes and 00:01:59.540 --> 00:01:59.720 have to rewatch to get the portion that they 00:01:59.720 --> 00:02:00.220 missed. 00:02:03.400 --> 00:02:03.700 [Speaker 1]: I had a hard time cramming the entire talk 00:02:08.220 --> 00:02:08.720 into 40 minutes. So I spoke quickly. 00:02:10.639 --> 00:02:10.919 I have a feeling I may have left some folks 00:02:12.540 --> 00:02:13.040 behind who weren't paying close attention. 00:02:16.020 --> 00:02:16.520 So rewatching might help. 00:02:18.920 --> 00:02:19.420 [Speaker 0]: Oh, nice. 00:02:24.920 --> 00:02:25.340 [Speaker 1]: I noticed Matt said that he helps maintain 00:02:27.440 --> 00:02:27.700 the shell functionality or Babel and last 00:02:30.240 --> 00:02:30.580 March they added async evaluation into 00:02:32.920 --> 00:02:33.340 session code blocks. Very cool, 00:02:34.680 --> 00:02:34.840 especially when you're doing something that 00:02:36.420 --> 00:02:36.820 takes a long time. It would be nice if Emacs 00:02:38.920 --> 00:02:39.060 wasn't locked up. I will definitely have to 00:02:50.220 --> 00:02:50.460 check that out. I use this technique at work 00:02:53.220 --> 00:02:53.360 a lot, like when I write documents to how to 00:02:55.900 --> 00:02:56.400 explain things to coworkers and such. 00:03:00.060 --> 00:03:00.300 And 1 of the things I had to explain was how 00:03:05.220 --> 00:03:05.720 to build AWS MySQL databases and replicas, 00:03:07.760 --> 00:03:08.260 and how to build them with very specific 00:03:09.960 --> 00:03:10.240 parameters to work with the system called 00:03:13.060 --> 00:03:13.320 Vitesse. And when I was running that 00:03:15.660 --> 00:03:16.160 document, building these kinds of MySQL 00:03:20.280 --> 00:03:20.640 databases in AWS with lockup Emacs for 20, 00:03:22.300 --> 00:03:22.800 25 minutes at a time. So, 00:03:26.060 --> 00:03:26.540 yeah, I'm really excited about async 00:03:26.540 --> 00:03:27.040 evaluation. 00:04:03.780 --> 00:04:04.020 Totally. Oh yeah, Python mode I think has had 00:04:05.600 --> 00:04:06.100 async for shell blocks for a while. 00:04:09.220 --> 00:04:09.720 I think there's a third-party package at Elba 00:04:11.260 --> 00:04:11.760 that adds async support for that. 00:04:16.360 --> 00:04:16.620 But yeah, I explicitly wanted to make sure 00:04:18.620 --> 00:04:18.959 that it would work with super vanilla stuff. 00:04:20.060 --> 00:04:20.560 Oh, it's built in. I see. 00:04:24.140 --> 00:04:24.280 Yeah, I didn't realize it was built in for 00:04:25.920 --> 00:04:26.420 Python blocks. I'll have to check that out. 00:04:27.800 --> 00:04:28.300 There's so much Emacs. 00:04:32.080 --> 00:04:32.240 It's hard to wrap your head even around a 00:04:34.900 --> 00:04:35.400 tiny portion of it. It's such a deep topic. 00:04:47.660 --> 00:04:48.160 Looks like somebody in IRC said, 00:04:50.220 --> 00:04:50.440 I can't wait to add some of this stuff to my 00:04:52.680 --> 00:04:53.180 documents. And that really makes me happy. 00:04:55.400 --> 00:04:55.640 I hope people go out and write literate Org 00:04:57.180 --> 00:04:57.680 Mode documents that do amazing things. 00:05:25.640 --> 00:05:26.040 When's the next talk? We have like, 00:05:30.900 --> 00:05:31.080 [Speaker 0]: let's see. I think we have about 4 or 5 00:05:32.960 --> 00:05:33.460 minutes live on stream for Q&A. 00:05:35.860 --> 00:05:36.360 [Speaker 1]: Yeah, okay. Oh, here's the question. 00:05:39.160 --> 00:05:39.320 Blaine asks, are you running Emacs from the 00:05:41.420 --> 00:05:41.760 host machine? And yeah, 00:05:43.940 --> 00:05:44.180 so I'm running Emacs on the exact same 00:05:46.560 --> 00:05:47.060 machine that I'm building Emacs on. 00:05:50.580 --> 00:05:50.900 And I had first thought about doing that over 00:05:53.440 --> 00:05:53.720 Tramp. And I thought that would be a very 00:05:55.360 --> 00:05:55.560 cool demo to show how you could do that 00:05:57.980 --> 00:05:58.180 remotely on Tramp so you didn't need Emacs on 00:06:03.160 --> 00:06:03.280 the host machine. But I decided it would be a 00:06:05.640 --> 00:06:05.780 lot easier, and as I ran into a deadline to 00:06:06.360 --> 00:06:06.860 get the talk completed, 00:06:08.900 --> 00:06:09.140 I abandoned that notion for the 00:06:09.880 --> 00:06:10.380 straightforward approach. 00:06:13.260 --> 00:06:13.760 But ideally, I would spin up virtual machines 00:06:16.980 --> 00:06:17.140 and then using the Org Mode document and 00:06:18.960 --> 00:06:19.440 having Org Mode reach out to those machines 00:06:20.440 --> 00:06:20.940 via SSH and Tramp. 00:06:33.400 --> 00:06:33.540 Oh yeah, there's also a little bit of 00:06:38.200 --> 00:06:38.440 discussion on IRC about org macros and how 00:06:39.720 --> 00:06:40.160 they made their way into the document. 00:06:42.540 --> 00:06:42.900 And I remember when I first discovered org 00:06:44.480 --> 00:06:44.980 macros by reading the org mode documentation, 00:06:47.360 --> 00:06:47.500 I was really excited because I thought I 00:06:49.860 --> 00:06:50.040 could limit a lot of the boilerplate I end up 00:06:51.900 --> 00:06:52.360 typing. But as we discussed, 00:06:54.760 --> 00:06:55.260 ORD macros, I think, only work in 1 context 00:06:56.380 --> 00:06:56.780 in your ORD mode document, 00:06:58.280 --> 00:06:58.780 and I think that's in the pros section. 00:07:03.740 --> 00:07:04.080 So You can't resolve a macro inside a header 00:07:06.600 --> 00:07:07.100 arg, for example, or inside an options block. 00:07:09.560 --> 00:07:09.960 It would be awesome if macros worked 00:07:12.280 --> 00:07:12.780 everywhere, but I'm happy to have them just 00:07:13.500 --> 00:07:14.000 as they are now. 00:07:22.960 --> 00:07:23.460 [Speaker 0]: Indeed, they're very convenient. 00:07:32.020 --> 00:07:32.260 [Speaker 1]: And Blaine also says, thank you for showing 00:07:33.420 --> 00:07:33.920 what's possible with literate documentation. 00:07:35.380 --> 00:07:35.660 This is mind-blowing. Yeah, 00:07:39.400 --> 00:07:39.640 I think so too. I first saw this technique in 00:07:41.020 --> 00:07:41.520 Howard's video, Literate DevOps, 00:07:44.720 --> 00:07:44.900 and I remember I was just picking up parts of 00:07:46.720 --> 00:07:47.040 my mind after it exploded after having 00:07:49.740 --> 00:07:49.860 watched that video. So I wanted to do some of 00:07:51.820 --> 00:07:52.040 it myself, and that's where I came up with a 00:07:54.020 --> 00:07:54.520 couple different approaches to that. 00:07:57.600 --> 00:07:57.800 It's not just for, you know, 00:07:59.060 --> 00:07:59.560 making literate Emacs configurations. 00:08:04.680 --> 00:08:04.920 [Speaker 0]: For Sure. We have another remark slash 00:08:07.260 --> 00:08:07.580 question on the pad. Someone saying great 00:08:09.800 --> 00:08:10.300 presentation. The preparation is outstanding. 00:08:12.520 --> 00:08:13.020 And for someone like me that never touched 00:08:14.040 --> 00:08:14.540 the org-mux side of Emacs, 00:08:17.040 --> 00:08:17.200 What do you feel is the more complex part to 00:08:19.120 --> 00:08:19.540 tackle? You made it seem simple, 00:08:20.500 --> 00:08:21.000 but the complexity there. 00:08:25.840 --> 00:08:26.340 [Speaker 1]: Yeah. Just getting all of the configuration 00:08:30.800 --> 00:08:31.300 set up the way you want it is the hardest 00:08:34.780 --> 00:08:35.280 part. So some of the defaults are, 00:08:37.120 --> 00:08:37.280 you know, they don't look good when you 00:08:39.320 --> 00:08:39.820 render them out in LaTeX and finally PDF. 00:08:42.039 --> 00:08:42.380 And there's a lot of work to be done to tweak 00:08:45.380 --> 00:08:45.780 the LaTeX environment so it looks as pretty 00:08:48.620 --> 00:08:48.940 as you might want it. And then just Org Mode 00:08:50.800 --> 00:08:51.300 has a lot of knobs that you can tune, 00:08:53.720 --> 00:08:54.020 and they have a pretty large impact on how 00:08:55.520 --> 00:08:56.020 your document is exported. 00:09:00.360 --> 00:09:00.680 So I think the hardest part is just knowing 00:09:03.820 --> 00:09:03.960 what's possible and knowing where all the 00:09:05.200 --> 00:09:05.700 knobs are to tune and twist. 00:09:10.240 --> 00:09:10.440 [Speaker 0]: Got another question on the pad. 00:09:12.040 --> 00:09:12.180 And I think we have about a minute or so on 00:09:13.740 --> 00:09:13.920 the stream. So I'll read this question as 00:09:15.160 --> 00:09:15.660 well. But folks, you're welcome to continue 00:09:17.560 --> 00:09:18.040 on the pad or just come join here on BBB 00:09:20.200 --> 00:09:20.320 after myself and the stream move on to the 00:09:23.100 --> 00:09:23.480 next talk. Yeah, and the next question is, 00:09:24.320 --> 00:09:24.720 how do you normally debug, 00:09:26.640 --> 00:09:27.100 for example, view the logs or see failed 00:09:29.440 --> 00:09:29.720 statuses when the commands in the source 00:09:32.020 --> 00:09:32.280 blocks fail, especially if they output lots 00:09:34.640 --> 00:09:34.780 and lots of logs, and you need to see the 00:09:35.640 --> 00:09:36.140 full history of the build. 00:09:39.520 --> 00:09:40.020 [Speaker 1]: Yeah, so I see it in the messages buffer 00:09:42.080 --> 00:09:42.580 whenever I export a document. 00:09:44.540 --> 00:09:44.700 If there's a failure, that's typically where 00:09:47.460 --> 00:09:47.640 it's written to. And I will actually kill the 00:09:49.960 --> 00:09:50.440 messages buffer before I export so I know 00:09:52.840 --> 00:09:53.200 that only the messages in the buffer are for 00:09:55.800 --> 00:09:55.960 my given export and I mentioned that 00:09:58.580 --> 00:09:58.780 debugging trick where you name all of your 00:10:00.720 --> 00:10:00.960 org-mode source blocks So if there is a 00:10:02.320 --> 00:10:02.820 problem in 1 of the blocks, 00:10:06.560 --> 00:10:07.060 it'll actually tell you what the block, 00:10:09.140 --> 00:10:09.640 the name of the block the error occurred in. 00:10:13.160 --> 00:10:13.360 If you don't do that, it just gives you a 00:10:14.800 --> 00:10:15.300 position number in the buffer. 00:10:18.620 --> 00:10:18.820 And whenever I tried to convert those 00:10:21.400 --> 00:10:21.540 position numbers to actual places where the 00:10:23.600 --> 00:10:23.760 error occurred, it was never exactly where I 00:10:24.640 --> 00:10:25.020 suspected it would be. 00:10:26.680 --> 00:10:27.180 So I found that very difficult in debugging. 00:10:29.800 --> 00:10:30.040 So the only real debugging tip I have is name 00:10:32.840 --> 00:10:33.120 your source blocks, even if you don't refer 00:10:33.480 --> 00:10:33.980 to them later. 00:10:39.860 --> 00:10:40.020 [Speaker 0]: I think that's all the time we have on 00:10:41.320 --> 00:10:41.520 stream. And I also have to drop as well. 00:10:42.540 --> 00:10:42.880 But thanks again so much, 00:10:46.160 --> 00:10:46.660 Mike. And folks are welcome to come here and 00:10:47.980 --> 00:10:48.480 continue discussion here. 00:10:52.600 --> 00:10:53.100 Thanks again. 00:21:45.060 --> 00:21:45.560 [Speaker 1]: You 00:22:00.060 --> 00:22:00.560 Thank 00:22:15.060 --> 00:22:15.560 [Speaker 0]: you 00:22:28.400 --> 00:22:28.900 [Speaker 1]: for 00:22:45.060 --> 00:22:45.560 watching. You 00:23:00.260 --> 00:23:00.760 you