summaryrefslogtreecommitdiffstats
path: root/2023/captions/emacsconf-2023-doc--literate-documentation-with-emacs-and-org-mode--mike-hamrick--answers.vtt
diff options
context:
space:
mode:
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.vtt593
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