summaryrefslogtreecommitdiffstats
path: root/2024/info/literate-after.md
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--2024/info/literate-after.md63
1 files changed, 16 insertions, 47 deletions
diff --git a/2024/info/literate-after.md b/2024/info/literate-after.md
index e0a1e330..3da0700d 100644
--- a/2024/info/literate-after.md
+++ b/2024/info/literate-after.md
@@ -1,13 +1,10 @@
<!-- Automatically generated by emacsconf-publish-after-page -->
-<div class="transcript transcript-mainVideo"><a name="literate-mainVideo-transcript"></a>
-# Transcript
+<div class="transcript transcript-mainVideo"><a name="literate-mainVideo-transcript"></a><h1>Transcript</h1>
-[[!template new="1" text="""Introduction""" start="00:00:00.000" video="mainVideo-literate" id="subtitle"]]
-
-[[!template text="""Can you believe it's been a decade since I started""" start="00:00:00.000" video="mainVideo-literate" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Introduction""" start="00:00:00.000" video="mainVideo-literate" id="subtitle"]]</div>[[!template text="""Can you believe it's been a decade since I started""" start="00:00:00.000" video="mainVideo-literate" id="subtitle"]]
[[!template text="""pontificating on literate programming?""" start="00:00:09.360" video="mainVideo-literate" id="subtitle"]]
[[!template text="""I am Howard Abrams. In 2015, I spoke at this EmacsConf""" start="00:00:12.359" video="mainVideo-literate" id="subtitle"]]
[[!template text="""where I described my challenges I called Literate DevOps.""" start="00:00:17.543" video="mainVideo-literate" id="subtitle"]]
@@ -32,9 +29,7 @@
[[!template text="""talk and re-pitch Literate Programming in the 24th and a""" start="00:01:27.920" video="mainVideo-literate" id="subtitle"]]
[[!template text="""Half Century!""" start="00:01:32.920" video="mainVideo-literate" id="subtitle"]]
-[[!template new="1" text="""Do I still literate?""" start="00:01:35.253" video="mainVideo-literate" id="subtitle"]]
-
-[[!template text="""People often ask if I still program that way.""" start="00:01:35.253" video="mainVideo-literate" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Do I still literate?""" start="00:01:35.253" video="mainVideo-literate" id="subtitle"]]</div>[[!template text="""People often ask if I still program that way.""" start="00:01:35.253" video="mainVideo-literate" id="subtitle"]]
[[!template text="""I guess they want to know if there's any long-term benefits,""" start="00:01:36.654" video="mainVideo-literate" id="subtitle"]]
[[!template text="""for many of our tools and our workflows, while initially""" start="00:01:42.760" video="mainVideo-literate" id="subtitle"]]
[[!template text="""tantalizing, often don't last. But yes, when I sit down to""" start="00:01:45.920" video="mainVideo-literate" id="subtitle"]]
@@ -57,9 +52,7 @@
[[!template text="""larger, so I guess it's not huge. Come on, it's still""" start="00:02:58.120" video="mainVideo-literate" id="subtitle"]]
[[!template text="""significant.""" start="00:03:03.640" video="mainVideo-literate" id="subtitle"]]
-[[!template new="1" text="""Advantages""" start="00:03:06.332" video="mainVideo-literate" id="subtitle"]]
-
-[[!template text="""Advantages? Look who I'm talking to. I'm sure""" start="00:03:06.332" video="mainVideo-literate" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Advantages""" start="00:03:06.332" video="mainVideo-literate" id="subtitle"]]</div>[[!template text="""Advantages? Look who I'm talking to. I'm sure""" start="00:03:06.332" video="mainVideo-literate" id="subtitle"]]
[[!template text="""you know the advantages, but indulge me. I feel that one""" start="00:03:09.800" video="mainVideo-literate" id="subtitle"]]
[[!template text="""advantage of literate programming, especially with large""" start="00:03:14.280" video="mainVideo-literate" id="subtitle"]]
[[!template text="""code bases, is how you can organize and manage the""" start="00:03:16.800" video="mainVideo-literate" id="subtitle"]]
@@ -81,9 +74,7 @@
[[!template text="""that GitHub repo where you stole, I mean, became inspired to""" start="00:04:20.880" video="mainVideo-literate" id="subtitle"]]
[[!template text="""write your code.""" start="00:04:25.520" video="mainVideo-literate" id="subtitle"]]
-[[!template new="1" text="""Disadvantages""" start="00:04:28.720" video="mainVideo-literate" id="subtitle"]]
-
-[[!template text="""Literate programming may push the boundaries of our""" start="00:04:28.720" video="mainVideo-literate" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Disadvantages""" start="00:04:28.720" video="mainVideo-literate" id="subtitle"]]</div>[[!template text="""Literate programming may push the boundaries of our""" start="00:04:28.720" video="mainVideo-literate" id="subtitle"]]
[[!template text="""workflows and revealing some abrasion, but we aren't""" start="00:04:34.280" video="mainVideo-literate" id="subtitle"]]
[[!template text="""solely working with Org. We have the flexibility of a Lisp""" start="00:04:38.120" video="mainVideo-literate" id="subtitle"]]
[[!template text="""engine to file down those rough parts. You may have your""" start="00:04:41.240" video="mainVideo-literate" id="subtitle"]]
@@ -98,9 +89,7 @@
[[!template text="""the state between my Org file and the source code. I want""" start="00:05:15.720" video="mainVideo-literate" id="subtitle"]]
[[!template text="""to be able to jump around my code just as easily.""" start="00:05:20.800" video="mainVideo-literate" id="subtitle"]]
-[[!template new="1" text="""Ease of typing""" start="00:05:24.133" video="mainVideo-literate" id="subtitle"]]
-
-[[!template text="""Let me explain more. I've created some templates using""" start="00:05:24.133" video="mainVideo-literate" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Ease of typing""" start="00:05:24.133" video="mainVideo-literate" id="subtitle"]]</div>[[!template text="""Let me explain more. I've created some templates using""" start="00:05:24.133" video="mainVideo-literate" id="subtitle"]]
[[!template text="""yasnippet. Since I was used to the old org-tempo feature,""" start="00:05:28.655" video="mainVideo-literate" id="subtitle"]]
[[!template text="""my habit has all the snippets starting with a""" start="00:05:34.680" video="mainVideo-literate" id="subtitle"]]
[[!template text="""< character. I'm not sure if I should demonstrate all of them""" start="00:05:37.146" video="mainVideo-literate" id="subtitle"]]
@@ -113,9 +102,7 @@
[[!template text="""My point here is to pay attention to what slows you down or""" start="00:06:11.680" video="mainVideo-literate" id="subtitle"]]
[[!template text="""hinders you from getting the advantages you want.""" start="00:06:15.160" video="mainVideo-literate" id="subtitle"]]
-[[!template new="1" text="""Keep tangled code sync'd""" start="00:06:24.720" video="mainVideo-literate" id="subtitle"]]
-
-[[!template text="""Do you ever forget to tangle your code? You can append this""" start="00:06:24.720" video="mainVideo-literate" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Keep tangled code sync'd""" start="00:06:24.720" video="mainVideo-literate" id="subtitle"]]</div>[[!template text="""Do you ever forget to tangle your code? You can append this""" start="00:06:24.720" video="mainVideo-literate" id="subtitle"]]
[[!template text="""code to the bottom of your Org file so that it gets tangled""" start="00:06:28.400" video="mainVideo-literate" id="subtitle"]]
[[!template text="""every time you save. I've written a function so I can visit""" start="00:06:31.520" video="mainVideo-literate" id="subtitle"]]
[[!template text="""that tangled file and then return. I've grouped all my""" start="00:06:36.160" video="mainVideo-literate" id="subtitle"]]
@@ -130,9 +117,7 @@
[[!template text="""Org file. Personally, I don't like this. My source of truth""" start="00:07:11.480" video="mainVideo-literate" id="subtitle"]]
[[!template text="""is the Org file, and I tangle as a one-way diode.""" start="00:07:16.880" video="mainVideo-literate" id="subtitle"]]
-[[!template new="1" text="""Code evaluation""" start="00:07:22.501" video="mainVideo-literate" id="subtitle"]]
-
-[[!template text="""Often a block of code will reference a variable""" start="00:07:22.501" video="mainVideo-literate" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Code evaluation""" start="00:07:22.501" video="mainVideo-literate" id="subtitle"]]</div>[[!template text="""Often a block of code will reference a variable""" start="00:07:22.501" video="mainVideo-literate" id="subtitle"]]
[[!template text="""or call a function to find in another block of code.""" start="00:07:25.604" video="mainVideo-literate" id="subtitle"]]
[[!template text="""In my original literate DevOps talk,""" start="00:07:29.047" video="mainVideo-literate" id="subtitle"]]
[[!template text="""I discussed how to use the output from one block into""" start="00:07:31.509" video="mainVideo-literate" id="subtitle"]]
@@ -147,9 +132,7 @@
[[!template text="""code block sends it into the REPL, and now I can work with my""" start="00:08:07.960" video="mainVideo-literate" id="subtitle"]]
[[!template text="""code blocks interactively. (That's not quite right.)""" start="00:08:11.400" video="mainVideo-literate" id="subtitle"]]
-[[!template new="1" text="""Has that block been eval'd?""" start="00:08:19.960" video="mainVideo-literate" id="subtitle"]]
-
-[[!template text="""I primarily hack on Emacs Lisp, and textual changes to""" start="00:08:19.960" video="mainVideo-literate" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Has that block been eval'd?""" start="00:08:19.960" video="mainVideo-literate" id="subtitle"]]</div>[[!template text="""I primarily hack on Emacs Lisp, and textual changes to""" start="00:08:19.960" video="mainVideo-literate" id="subtitle"]]
[[!template text="""variables, functions, or macros--unless you habitually""" start="00:08:24.040" video="mainVideo-literate" id="subtitle"]]
[[!template text="""type C-c C-c--may not represent the state of your""" start="00:08:28.200" video="mainVideo-literate" id="subtitle"]]
[[!template text="""machine. A similar effect happens in any language that""" start="00:08:31.680" video="mainVideo-literate" id="subtitle"]]
@@ -162,17 +145,13 @@
[[!template text="""load a file. I'm not sure that's a good policy. I mean, have""" start="00:08:58.280" video="mainVideo-literate" id="subtitle"]]
[[!template text="""you not written a bug?""" start="00:09:02.360" video="mainVideo-literate" id="subtitle"]]
-[[!template new="1" text="""Evaluating code in a subtree""" start="00:09:05.239" video="mainVideo-literate" id="subtitle"]]
-
-[[!template text="""Since this function right here""" start="00:09:05.239" video="mainVideo-literate" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Evaluating code in a subtree""" start="00:09:05.239" video="mainVideo-literate" id="subtitle"]]</div>[[!template text="""Since this function right here""" start="00:09:05.239" video="mainVideo-literate" id="subtitle"]]
[[!template text="""evaluates only visible blocks, we can limit what Emacs""" start="00:09:08.560" video="mainVideo-literate" id="subtitle"]]
[[!template text="""evaluates to a single Org mode section. For instance, with""" start="00:09:12.040" video="mainVideo-literate" id="subtitle"]]
[[!template text="""the cursor in one section, I can evaluate just the blocks in""" start="00:09:18.800" video="mainVideo-literate" id="subtitle"]]
[[!template text="""that header section.""" start="00:09:23.760" video="mainVideo-literate" id="subtitle"]]
-[[!template new="1" text="""Evaluating code from a distance""" start="00:09:26.872" video="mainVideo-literate" id="subtitle"]]
-
-[[!template text="""If I can see a block, why clumsily""" start="00:09:26.872" video="mainVideo-literate" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Evaluating code from a distance""" start="00:09:26.872" video="mainVideo-literate" id="subtitle"]]</div>[[!template text="""If I can see a block, why clumsily""" start="00:09:26.872" video="mainVideo-literate" id="subtitle"]]
[[!template text="""navigate to it when I can extend the avy project to just jump to""" start="00:09:29.400" video="mainVideo-literate" id="subtitle"]]
[[!template text="""it? For instance, let's pull this file up. I can jump to any of""" start="00:09:33.080" video="mainVideo-literate" id="subtitle"]]
[[!template text="""the four blocks.""" start="00:09:40.480" video="mainVideo-literate" id="subtitle"]]
@@ -186,9 +165,7 @@
[[!template text="""from a distance. I apologize for the previous terrible""" start="00:10:17.840" video="mainVideo-literate" id="subtitle"]]
[[!template text="""examples, but I'm quite pleased with this feature.""" start="00:10:22.360" video="mainVideo-literate" id="subtitle"]]
-[[!template new="1" text="""Navigating by headers""" start="00:10:26.020" video="mainVideo-literate" id="subtitle"]]
-
-[[!template text="""As I mentioned earlier, in a large code base, we organize code by""" start="00:10:26.020" video="mainVideo-literate" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Navigating by headers""" start="00:10:26.020" video="mainVideo-literate" id="subtitle"]]</div>[[!template text="""As I mentioned earlier, in a large code base, we organize code by""" start="00:10:26.020" video="mainVideo-literate" id="subtitle"]]
[[!template text="""library or module, and each file contains a class composed""" start="00:10:30.120" video="mainVideo-literate" id="subtitle"]]
[[!template text="""of methods, functions, variables, fields, et cetera.""" start="00:10:33.840" video="mainVideo-literate" id="subtitle"]]
[[!template text="""Literate programming in Org files allows me to add a""" start="00:10:37.120" video="mainVideo-literate" id="subtitle"]]
@@ -205,9 +182,7 @@
[[!template text="""then some Lisp to parse the output. Unless someone has""" start="00:11:20.040" video="mainVideo-literate" id="subtitle"]]
[[!template text="""already done this, I should package this up on MELPA.""" start="00:11:24.560" video="mainVideo-literate" id="subtitle"]]
-[[!template new="1" text="""Navigating by function names""" start="00:11:26.794" video="mainVideo-literate" id="subtitle"]]
-
-[[!template text="""What about jumping directly to the definition of a function,""" start="00:11:26.794" video="mainVideo-literate" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Navigating by function names""" start="00:11:26.794" video="mainVideo-literate" id="subtitle"]]</div>[[!template text="""What about jumping directly to the definition of a function,""" start="00:11:26.794" video="mainVideo-literate" id="subtitle"]]
[[!template text="""variable, or what have you? We can use Emacs's built-in xref""" start="00:11:32.200" video="mainVideo-literate" id="subtitle"]]
[[!template text="""library, but these functions don't understand that the""" start="00:11:36.800" video="mainVideo-literate" id="subtitle"]]
[[!template text="""source code is in Org files. When I started using Emacs""" start="00:11:39.880" video="mainVideo-literate" id="subtitle"]]
@@ -237,9 +212,7 @@
[[!template text="""query or scanning the language based on the nearest code""" start="00:13:34.480" video="mainVideo-literate" id="subtitle"]]
[[!template text="""block. I think I'm babbling.""" start="00:13:37.720" video="mainVideo-literate" id="subtitle"]]
-[[!template new="1" text="""Why literate programming?""" start="00:13:40.480" video="mainVideo-literate" id="subtitle"]]
-
-[[!template text="""In true geek fashion, I dived into the details before""" start="00:13:40.480" video="mainVideo-literate" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Why literate programming?""" start="00:13:40.480" video="mainVideo-literate" id="subtitle"]]</div>[[!template text="""In true geek fashion, I dived into the details before""" start="00:13:40.480" video="mainVideo-literate" id="subtitle"]]
[[!template text="""answering some better questions. In my original Literate""" start="00:13:47.200" video="mainVideo-literate" id="subtitle"]]
[[!template text="""DevOps talk, I explained the advantages of initially""" start="00:13:52.080" video="mainVideo-literate" id="subtitle"]]
[[!template text="""writing down your thoughts, your plans, goals... the""" start="00:13:55.480" video="mainVideo-literate" id="subtitle"]]
@@ -250,9 +223,7 @@
[[!template text="""first-class citizen doesn't excuse bad code. You want""" start="00:14:14.760" video="mainVideo-literate" id="subtitle"]]
[[!template text="""something more from both your code and your prose.""" start="00:14:18.800" video="mainVideo-literate" id="subtitle"]]
-[[!template new="1" text="""LP prose isn't comments""" start="00:14:23.166" video="mainVideo-literate" id="subtitle"]]
-
-[[!template text="""The prose of your literate program isn't""" start="00:14:23.166" video="mainVideo-literate" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""LP prose isn't comments""" start="00:14:23.166" video="mainVideo-literate" id="subtitle"]]</div>[[!template text="""The prose of your literate program isn't""" start="00:14:23.166" video="mainVideo-literate" id="subtitle"]]
[[!template text="""just regurgitation of the code in the block.""" start="00:14:25.587" video="mainVideo-literate" id="subtitle"]]
[[!template text="""You want something more helpful.""" start="00:14:28.668" video="mainVideo-literate" id="subtitle"]]
[[!template text="""You're really writing a research paper to yourself.""" start="00:14:31.528" video="mainVideo-literate" id="subtitle"]]
@@ -263,9 +234,7 @@
[[!template text="""and my response is little more than a link""" start="00:14:48.681" video="mainVideo-literate" id="subtitle"]]
[[!template text="""to my online repo that I've rendered as a website.""" start="00:14:51.042" video="mainVideo-literate" id="subtitle"]]
-[[!template new="1" text="""Summary""" start="00:14:55.800" video="mainVideo-literate" id="subtitle"]]
-
-[[!template text="""I'm out of time. I hope this has been interesting""" start="00:14:55.800" video="mainVideo-literate" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Summary""" start="00:14:55.800" video="mainVideo-literate" id="subtitle"]]</div>[[!template text="""I'm out of time. I hope this has been interesting""" start="00:14:55.800" video="mainVideo-literate" id="subtitle"]]
[[!template text="""philosophically as well as practically, as I think""" start="00:15:01.200" video="mainVideo-literate" id="subtitle"]]
[[!template text="""literate programming is the cat's meow. I'm afraid this""" start="00:15:04.360" video="mainVideo-literate" id="subtitle"]]
[[!template text="""summary slide is about my home-baked solutions that fit my""" start="00:15:08.560" video="mainVideo-literate" id="subtitle"]]