diff options
Diffstat (limited to '2023/captions/emacsconf-2023-doc--literate-documentation-with-emacs-and-org-mode--mike-hamrick--answers.vtt')
-rw-r--r-- | 2023/captions/emacsconf-2023-doc--literate-documentation-with-emacs-and-org-mode--mike-hamrick--answers.vtt | 593 |
1 files changed, 593 insertions, 0 deletions
diff --git a/2023/captions/emacsconf-2023-doc--literate-documentation-with-emacs-and-org-mode--mike-hamrick--answers.vtt b/2023/captions/emacsconf-2023-doc--literate-documentation-with-emacs-and-org-mode--mike-hamrick--answers.vtt new file mode 100644 index 00000000..28d655f0 --- /dev/null +++ b/2023/captions/emacsconf-2023-doc--literate-documentation-with-emacs-and-org-mode--mike-hamrick--answers.vtt @@ -0,0 +1,593 @@ +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 |