diff options
author | Sacha Chua <sacha@sachachua.com> | 2024-12-10 14:17:36 -0500 |
---|---|---|
committer | Sacha Chua <sacha@sachachua.com> | 2024-12-10 14:17:36 -0500 |
commit | 78eb4548b4cfe96cb88d8b319de910262fc6c331 (patch) | |
tree | 2268f6a84baa4bb152aa21c390a5e532ad2ec23f /2024/info/literate-after.md | |
parent | 6178d595d4a8e72b582188661600060fb1828dcc (diff) | |
download | emacsconf-wiki-78eb4548b4cfe96cb88d8b319de910262fc6c331.tar.xz emacsconf-wiki-78eb4548b4cfe96cb88d8b319de910262fc6c331.zip |
more updates
Diffstat (limited to '2024/info/literate-after.md')
-rw-r--r-- | 2024/info/literate-after.md | 311 |
1 files changed, 310 insertions, 1 deletions
diff --git a/2024/info/literate-after.md b/2024/info/literate-after.md index 3da0700d..11435f00 100644 --- a/2024/info/literate-after.md +++ b/2024/info/literate-after.md @@ -254,7 +254,316 @@ Captioner: sachac -Questions or comments? Please e-mail [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Comment%20for%20EmacsConf%202023%20literate%3A%20Literate%20programming%20for%20the%2021st%20Century) +<div class="transcript transcript-qanda"><a name="literate-qanda-transcript"></a><h1>Q&A transcript (unedited)</h1> + +[[!template text="""I'm doing great. Good to hear from you guys. Yeah, I mean,""" start="00:00:00.289" video="qanda-literate" id="subtitle"]] +[[!template text="""you've been a regular of the show, I would say, for quite a""" start="00:00:04.073" video="qanda-literate" id="subtitle"]] +[[!template text="""while, and it's good. I really like the retrospective that""" start="00:00:04.073" video="qanda-literate" id="subtitle"]] +[[!template text="""you did the first time you attended EmacsConf. And when was""" start="00:00:09.778" video="qanda-literate" id="subtitle"]] +[[!template text="""it? Was it 2015? I can't actually remember. 2015 was when I""" start="00:00:13.901" video="qanda-literate" id="subtitle"]] +[[!template text="""presented that, but I did an earlier talk the year before. So""" start="00:00:18.185" video="qanda-literate" id="subtitle"]] +[[!template text="""yeah, that's why it's kind of thing. It's like, wow, it's""" start="00:00:23.189" video="qanda-literate" id="subtitle"]] +[[!template text="""been a decade. It's been a while. Yeah, and I'm glad that you""" start="00:00:24.771" video="qanda-literate" id="subtitle"]] +[[!template text="""are in a much better recording situation than you were in""" start="00:00:28.550" video="qanda-literate" id="subtitle"]] +[[!template text="""2015 at the back of your colleague's house. It's good to see""" start="00:00:28.550" video="qanda-literate" id="subtitle"]] +[[!template text="""you at your own place. Well, it's also nice to pre-record and""" start="00:00:39.084" video="qanda-literate" id="subtitle"]] +[[!template text="""then just share. Yeah, I mean, that's why we keep talking""" start="00:00:41.967" video="qanda-literate" id="subtitle"]] +[[!template text="""about pre-recording. You know, when we really pushed""" start="00:00:46.704" video="qanda-literate" id="subtitle"]] +[[!template text="""pre-recordings, I think it was five years ago when we""" start="00:00:49.266" video="qanda-literate" id="subtitle"]] +[[!template text="""started, people were not really liking it. They thought,""" start="00:00:49.266" video="qanda-literate" id="subtitle"]] +[[!template text="""oh, but most conferences are just asking you to come and""" start="00:00:57.293" video="qanda-literate" id="subtitle"]] +[[!template text="""chat. And, you know, I don't need to do the pesky""" start="00:00:57.293" video="qanda-literate" id="subtitle"]] +[[!template text="""pre-recording. But now, and especially for you regulars,""" start="00:01:01.136" video="qanda-literate" id="subtitle"]] +[[!template text="""you're really starting to realize that pre-recordings are""" start="00:01:03.938" video="qanda-literate" id="subtitle"]] +[[!template text="""actually amazing for everyone. You're less stressed on the""" start="00:01:03.938" video="qanda-literate" id="subtitle"]] +[[!template text="""day of the conference. We, the organizers, are way less""" start="00:01:10.204" video="qanda-literate" id="subtitle"]] +[[!template text="""stressed. So it's a win-win scenario for absolutely""" start="00:01:12.308" video="qanda-literate" id="subtitle"]] +[[!template text="""everyone in the equation. Okay, so there's some""" start="00:01:14.853" video="qanda-literate" id="subtitle"]] +[[!template text="""confirmation bias at work, but I'm not really arguing with""" start="00:01:18.672" video="qanda-literate" id="subtitle"]] +[[!template text="""what Leo says for the record. It may be that we are just that""" start="00:01:18.672" video="qanda-literate" id="subtitle"]] +[[!template text="""this stoked that we're lying to ourselves by the""" start="00:01:24.417" video="qanda-literate" id="subtitle"]] +[[!template text="""opportunity that we have to chat with each of you. Sure.""" start="00:01:24.417" video="qanda-literate" id="subtitle"]] +[[!template text="""Sure. Sure. I have really appreciated all of the, the""" start="00:01:33.404" video="qanda-literate" id="subtitle"]] +[[!template text="""transcripts. It's been great that, you know, to be able to""" start="00:01:35.685" video="qanda-literate" id="subtitle"]] +[[!template text="""read and copy and paste and all that kind of thing. Yeah, it's""" start="00:01:39.889" video="qanda-literate" id="subtitle"]] +[[!template text="""great. So yeah, let's answer some questions here.""" start="00:01:46.234" video="qanda-literate" id="subtitle"]] +[[!template text="""Let's see. Yeah, just feel free to jump onto the Etherpad and""" start="00:01:52.659" video="qanda-literate" id="subtitle"]] +[[!template text="""just drop on the questions. I'll keep answering them all day""" start="00:01:54.260" video="qanda-literate" id="subtitle"]] +[[!template text="""kind of thing and get better answers as we go along. So yeah,""" start="00:01:59.481" video="qanda-literate" id="subtitle"]] +[[!template text="""the first question here is, what's my largest code base? I""" start="00:02:07.744" video="qanda-literate" id="subtitle"]] +[[!template text="""kind of touched it in my presentation. However, I think""" start="00:02:12.385" video="qanda-literate" id="subtitle"]] +[[!template text="""someone just went through and did a better count than it""" start="00:02:17.086" video="qanda-literate" id="subtitle"]] +[[!template text="""looks like. a little bit more. So""" start="00:02:17.086" video="qanda-literate" id="subtitle"]] +[[!template text="""as I joked about in the video, we've all worked on larger code""" start="00:02:24.609" video="qanda-literate" id="subtitle"]] +[[!template text="""bases, but that's still, it's kind of significant. So it's""" start="00:02:24.609" video="qanda-literate" id="subtitle"]] +[[!template text="""not, so yeah, anyway. So let's talk a little bit about""" start="00:02:36.055" video="qanda-literate" id="subtitle"]] +[[!template text="""searching for functions here. If you've got your functions""" start="00:02:41.587" video="qanda-literate" id="subtitle"]] +[[!template text="""in your code or code block, well, you can search for the""" start="00:02:47.229" video="qanda-literate" id="subtitle"]] +[[!template text="""descriptions, you know, as long as you've evaluated it. And""" start="00:02:47.229" video="qanda-literate" id="subtitle"]] +[[!template text="""so that wasn't so much of a problem, but I did want to like look""" start="00:02:59.252" video="qanda-literate" id="subtitle"]] +[[!template text="""at the commentary around any function that I would define.""" start="00:02:59.252" video="qanda-literate" id="subtitle"]] +[[!template text="""And that's where, yeah, you know, the control X or the""" start="00:03:08.195" video="qanda-literate" id="subtitle"]] +[[!template text="""control F to define that function and display it. It won't""" start="00:03:11.334" video="qanda-literate" id="subtitle"]] +[[!template text="""pull out the literate stuff around it, obviously, it'll""" start="00:03:17.840" video="qanda-literate" id="subtitle"]] +[[!template text="""only do the doc header. But if you could search for it and find""" start="00:03:17.840" video="qanda-literate" id="subtitle"]] +[[!template text="""it quick, then it might be just as useful. And I guess that's""" start="00:03:23.926" video="qanda-literate" id="subtitle"]] +[[!template text="""why I started getting into seeing if I can't tie that into the""" start="00:03:29.431" video="qanda-literate" id="subtitle"]] +[[!template text="""X ref. you know, just the standard ways. My first part, I""" start="00:03:29.431" video="qanda-literate" id="subtitle"]] +[[!template text="""noticed that evil has a different way of searching through""" start="00:03:38.800" video="qanda-literate" id="subtitle"]] +[[!template text="""for looking for code definitions. That was my first foray""" start="00:03:38.800" video="qanda-literate" id="subtitle"]] +[[!template text="""into it. It's like, oh, that's not a bad idea. Let's hook it up""" start="00:03:48.511" video="qanda-literate" id="subtitle"]] +[[!template text="""under, you know, in the standard way. Let's see. Have I ever""" start="00:03:52.936" video="qanda-literate" id="subtitle"]] +[[!template text="""used org-transclusion? No, I haven't, but I think I want to""" start="00:04:00.105" video="qanda-literate" id="subtitle"]] +[[!template text="""take a look at it. I haven't heard of it before.""" start="00:04:02.447" video="qanda-literate" id="subtitle"]] +[[!template text="""Let's see. What's my usage of dynamic blocks in my""" start="00:04:11.778" video="qanda-literate" id="subtitle"]] +[[!template text="""workflows? You know, that's a real good question. I haven't""" start="00:04:14.159" video="qanda-literate" id="subtitle"]] +[[!template text="""really used them a lot in all of my workflows, but yeah, it's""" start="00:04:19.802" video="qanda-literate" id="subtitle"]] +[[!template text="""an interesting, you know, we always start. At first, all""" start="00:04:19.802" video="qanda-literate" id="subtitle"]] +[[!template text="""we're doing is just taking a few notes, then we start""" start="00:04:30.327" video="qanda-literate" id="subtitle"]] +[[!template text="""organizing, then we've got links, and then we're writing""" start="00:04:30.327" video="qanda-literate" id="subtitle"]] +[[!template text="""code blocks, and then agendas, and table, you know, we keep""" start="00:04:30.327" video="qanda-literate" id="subtitle"]] +[[!template text="""building up on it. And I guess I haven't really added that to""" start="00:04:30.327" video="qanda-literate" id="subtitle"]] +[[!template text="""my workflow, but maybe I'll have to come back and report on""" start="00:04:41.275" video="qanda-literate" id="subtitle"]] +[[!template text="""that. Is the mini buffer being deliberately hidden in my""" start="00:04:41.275" video="qanda-literate" id="subtitle"]] +[[!template text="""video? Not deliberately. I recorded it first and""" start="00:04:48.920" video="qanda-literate" id="subtitle"]] +[[!template text="""accidentally not clipped the video and turned that all off.""" start="00:04:55.502" video="qanda-literate" id="subtitle"]] +[[!template text="""So I went through and started fixing all of it. But yeah, so""" start="00:05:03.843" video="qanda-literate" id="subtitle"]] +[[!template text="""you'll notice the mini buffer kind of comes and goes in the""" start="00:05:06.544" video="qanda-literate" id="subtitle"]] +[[!template text="""video. Sorry about that. So yeah, it wasn't intentional at""" start="00:05:06.544" video="qanda-literate" id="subtitle"]] +[[!template text="""all. What's my take on Emacs or versus Jupyter? That's a real""" start="00:05:12.445" video="qanda-literate" id="subtitle"]] +[[!template text="""good question. I've been toying about seeing if I could do""" start="00:05:21.083" video="qanda-literate" id="subtitle"]] +[[!template text="""everything that some people do with Jupyter notebooks in""" start="00:05:23.924" video="qanda-literate" id="subtitle"]] +[[!template text="""order. I don't need to do it as much because I'm still kind of""" start="00:05:23.924" video="qanda-literate" id="subtitle"]] +[[!template text="""doing a lot of list programming and a lot of my DevOps, which""" start="00:05:33.267" video="qanda-literate" id="subtitle"]] +[[!template text="""is a lot of shell work and a lot of Python. Most of the Jupyter""" start="00:05:33.267" video="qanda-literate" id="subtitle"]] +[[!template text="""notebooks, they automatically include a lot of things in""" start="00:05:44.251" video="qanda-literate" id="subtitle"]] +[[!template text="""from either Julia or Python, like NumPy and all the dynamic""" start="00:05:44.251" video="qanda-literate" id="subtitle"]] +[[!template text="""stuff that's going on there. Since it has a server,""" start="00:05:44.251" video="qanda-literate" id="subtitle"]] +[[!template text="""it seems like it's running a lot more stuff and then just""" start="00:05:59.516" video="qanda-literate" id="subtitle"]] +[[!template text="""shipping it back off into the web app. That has been the""" start="00:05:59.516" video="qanda-literate" id="subtitle"]] +[[!template text="""biggest challenge as I've tried to kind of duplicate that. I""" start="00:06:12.301" video="qanda-literate" id="subtitle"]] +[[!template text="""don't really know NumPy and all the math stuff and that sort""" start="00:06:15.982" video="qanda-literate" id="subtitle"]] +[[!template text="""of stuff that well. So trying to do like matrix""" start="00:06:15.982" video="qanda-literate" id="subtitle"]] +[[!template text="""multiplications and that kind of thing that seemed to be""" start="00:06:22.984" video="qanda-literate" id="subtitle"]] +[[!template text="""pretty easy in the Jupyter, it's not very easy in Org. I've""" start="00:06:22.984" video="qanda-literate" id="subtitle"]] +[[!template text="""attempted to kind of work with Julia and the Julia support""" start="00:06:33.167" video="qanda-literate" id="subtitle"]] +[[!template text="""for Org is really limited it seems. That's the, So, yeah,""" start="00:06:33.167" video="qanda-literate" id="subtitle"]] +[[!template text="""there's some improvements we could probably make. So, I""" start="00:06:42.490" video="qanda-literate" id="subtitle"]] +[[!template text="""think if somebody is comfortable with Jupiter, and that""" start="00:06:48.993" video="qanda-literate" id="subtitle"]] +[[!template text="""seems to work, you may have to stay there. I don't know how""" start="00:06:48.993" video="qanda-literate" id="subtitle"]] +[[!template text="""easy. I would be curious to try to see what we could do as a""" start="00:06:57.537" video="qanda-literate" id="subtitle"]] +[[!template text="""community to kind of make that transition a lot easier.""" start="00:06:59.658" video="qanda-literate" id="subtitle"]] +[[!template text="""Do you think any programming language is more suited litter""" start="00:07:10.936" video="qanda-literate" id="subtitle"]] +[[!template text="""programming than another? Hey, that's a real good""" start="00:07:10.936" video="qanda-literate" id="subtitle"]] +[[!template text="""question. A lot of mine is with Emacs Lisp, and obviously""" start="00:07:16.178" video="qanda-literate" id="subtitle"]] +[[!template text="""that's a first-class citizen in Emacs. Go figure, right? So""" start="00:07:18.139" video="qanda-literate" id="subtitle"]] +[[!template text="""that one certainly works. A lot depends on the support in the""" start="00:07:28.672" video="qanda-literate" id="subtitle"]] +[[!template text="""OB version for the Babel work. Python is really well""" start="00:07:30.232" video="qanda-literate" id="subtitle"]] +[[!template text="""supported, and yeah, Emacs Lisp. Others, Shell, you know,""" start="00:07:36.694" video="qanda-literate" id="subtitle"]] +[[!template text="""it works, but it's hard to get both the values, the variables""" start="00:07:42.476" video="qanda-literate" id="subtitle"]] +[[!template text="""out of the environment variables into your thing. So most""" start="00:07:42.476" video="qanda-literate" id="subtitle"]] +[[!template text="""everything is just with the results of output. So, you know,""" start="00:07:52.999" video="qanda-literate" id="subtitle"]] +[[!template text="""some languages aren't quite as good as others for sure. I""" start="00:07:57.901" video="qanda-literate" id="subtitle"]] +[[!template text="""would love to see better support for more interesting""" start="00:08:02.945" video="qanda-literate" id="subtitle"]] +[[!template text="""languages, especially ones that are compiled. I've been""" start="00:08:02.945" video="qanda-literate" id="subtitle"]] +[[!template text="""dabbling with Rust and like, yeah, what can we do to have Rust""" start="00:08:10.150" video="qanda-literate" id="subtitle"]] +[[!template text="""more iterative as well? So...""" start="00:08:10.150" video="qanda-literate" id="subtitle"]] +[[!template text="""Do you use inline org function calls in org Babel library? So""" start="00:08:24.144" video="qanda-literate" id="subtitle"]] +[[!template text="""I used to do a lot of org Babel libraries to kind of share""" start="00:08:28.687" video="qanda-literate" id="subtitle"]] +[[!template text="""things.""" start="00:08:28.687" video="qanda-literate" id="subtitle"]] +[[!template text="""Yeah. What I. But yeah. Sorry, I'm just kind of thinking""" start="00:08:37.491" video="qanda-literate" id="subtitle"]] +[[!template text="""through here. I've done a lot of it in the past. There were a""" start="00:08:44.716" video="qanda-literate" id="subtitle"]] +[[!template text="""lot of bugs in it. Oh, I don't know, eight years ago when I was""" start="00:08:49.799" video="qanda-literate" id="subtitle"]] +[[!template text="""playing with it. I bet things have improved a lot more and it""" start="00:08:51.760" video="qanda-literate" id="subtitle"]] +[[!template text="""probably saved me a lot more effort. Right now, most of the""" start="00:08:57.063" video="qanda-literate" id="subtitle"]] +[[!template text="""literate DevOps, the DevOps kind of stuff that I'm doing, is""" start="00:09:02.366" video="qanda-literate" id="subtitle"]] +[[!template text="""calling a lot of back-end programs and that sort of thing. So""" start="00:09:10.191" video="qanda-literate" id="subtitle"]] +[[!template text="""the Org Babel kind of has limited help in that regard. And as""" start="00:09:13.533" video="qanda-literate" id="subtitle"]] +[[!template text="""far as my Emacs work, well, it's just part of the session. So""" start="00:09:19.077" video="qanda-literate" id="subtitle"]] +[[!template text="""it's going to be available or not. So that hasn't been as""" start="00:09:23.560" video="qanda-literate" id="subtitle"]] +[[!template text="""helpful either. So it's kind of dropped off. But I bet if""" start="00:09:25.602" video="qanda-literate" id="subtitle"]] +[[!template text="""you're using something like, say, Python, it might be a lot""" start="00:09:29.204" video="qanda-literate" id="subtitle"]] +[[!template text="""more helpful. Another question, how do you handle the cases""" start="00:09:29.204" video="qanda-literate" id="subtitle"]] +[[!template text="""where markup may sometimes interfere with some of the code""" start="00:09:36.970" video="qanda-literate" id="subtitle"]] +[[!template text="""in places where you can't escape? Oh, okay. All right. Let me""" start="00:09:36.970" video="qanda-literate" id="subtitle"]] +[[!template text="""see if I understand the question correctly.""" start="00:09:51.563" video="qanda-literate" id="subtitle"]] +[[!template text="""When I, like, when I'm making pros, and I'm talking about a""" start="00:09:56.852" video="qanda-literate" id="subtitle"]] +[[!template text="""function that I've written somewhere else, like, oh, I need""" start="00:09:56.852" video="qanda-literate" id="subtitle"]] +[[!template text="""to work on this, or this calls this, and yeah, I'll use the""" start="00:09:56.852" video="qanda-literate" id="subtitle"]] +[[!template text="""tildes or the equal signs on either side to make sure it's.""" start="00:09:56.852" video="qanda-literate" id="subtitle"]] +[[!template text="""that it's clear that it's code. In my xref, when I'm doing a""" start="00:10:15.672" video="qanda-literate" id="subtitle"]] +[[!template text="""thing at point so it can go look for that symbol, I do look for""" start="00:10:18.515" video="qanda-literate" id="subtitle"]] +[[!template text="""those things at the end and strip them off so that I can mark it""" start="00:10:18.515" video="qanda-literate" id="subtitle"]] +[[!template text="""up and still search and it's still okay. I'm not sure if""" start="00:10:18.515" video="qanda-literate" id="subtitle"]] +[[!template text="""that's the answer to the question. Yeah, clarifying. I'm""" start="00:10:34.509" video="qanda-literate" id="subtitle"]] +[[!template text="""making prose. I'm talking about a function I've written""" start="00:10:39.393" video="qanda-literate" id="subtitle"]] +[[!template text="""somewhere else. Yeah, yeah, yeah, that is what I'm talking""" start="00:10:40.374" video="qanda-literate" id="subtitle"]] +[[!template text="""about, where a function with tildes on either end, and if I do""" start="00:10:44.076" video="qanda-literate" id="subtitle"]] +[[!template text="""an xref search find for that symbol, it'll strip that off and""" start="00:10:44.076" video="qanda-literate" id="subtitle"]] +[[!template text="""then still look for the function name, so I can still mark it""" start="00:10:44.076" video="qanda-literate" id="subtitle"]] +[[!template text="""correctly.""" start="00:10:44.076" video="qanda-literate" id="subtitle"]] +[[!template text="""You said at the start that literate didn't catch on in""" start="00:11:06.351" video="qanda-literate" id="subtitle"]] +[[!template text="""corporate DevOps, why not? You know,""" start="00:11:06.351" video="qanda-literate" id="subtitle"]] +[[!template text="""I guess the big thing is not everybody's using Emacs, and I""" start="00:11:14.809" video="qanda-literate" id="subtitle"]] +[[!template text="""don't think anybody would be doing literate programming if""" start="00:11:14.809" video="qanda-literate" id="subtitle"]] +[[!template text="""you didn't have Emacs. I mean, you gotta have org, or it just""" start="00:11:14.809" video="qanda-literate" id="subtitle"]] +[[!template text="""doesn't work that well, right?""" start="00:11:23.092" video="qanda-literate" id="subtitle"]] +[[!template text="""Why not that full stack on Markdown? Yeah, so I often do a lot""" start="00:11:29.554" video="qanda-literate" id="subtitle"]] +[[!template text="""of Markdown. I have got, so I've gone through and make my""" start="00:11:33.855" video="qanda-literate" id="subtitle"]] +[[!template text="""markdown look a lot like org. So my headers are the same size""" start="00:11:39.705" video="qanda-literate" id="subtitle"]] +[[!template text="""as org. When I mark, do the triple back ticks, you know, and""" start="00:11:46.651" video="qanda-literate" id="subtitle"]] +[[!template text="""specify your language, we can now colorize that. So you can""" start="00:11:51.154" video="qanda-literate" id="subtitle"]] +[[!template text="""kind of now have it syntactically marked up. It would be""" start="00:11:59.280" video="qanda-literate" id="subtitle"]] +[[!template text="""interesting if we kind of expanded on Markdown so that I""" start="00:12:06.966" video="qanda-literate" id="subtitle"]] +[[!template text="""could do a control C twice on it and run that code block.""" start="00:12:06.966" video="qanda-literate" id="subtitle"]] +[[!template text="""That's a real good idea. Maybe we should work on that.""" start="00:12:18.497" video="qanda-literate" id="subtitle"]] +[[!template text="""How does your management of to do's project and tasks""" start="00:12:25.169" video="qanda-literate" id="subtitle"]] +[[!template text="""interact with this literate mindset? I can't believe I'm""" start="00:12:25.169" video="qanda-literate" id="subtitle"]] +[[!template text="""going to do this, but Howard, I'm going to break right in""" start="00:12:30.792" video="qanda-literate" id="subtitle"]] +[[!template text="""there because I just can't. I need to talk about that. So this""" start="00:12:30.792" video="qanda-literate" id="subtitle"]] +[[!template text="""is I bought a domain. And really what I mean is I have this""" start="00:12:36.976" video="qanda-literate" id="subtitle"]] +[[!template text="""domain of somebody get some work done in this area. I'm""" start="00:12:40.258" video="qanda-literate" id="subtitle"]] +[[!template text="""fascinated by this. That's mostly really actually my whole""" start="00:12:45.021" video="qanda-literate" id="subtitle"]] +[[!template text="""comment. But I just wanted to say, indeed, that is something""" start="00:12:46.542" video="qanda-literate" id="subtitle"]] +[[!template text="""maybe we should work on. Well said. I think the idea of having""" start="00:12:49.667" video="qanda-literate" id="subtitle"]] +[[!template text="""something that's full stack baked around Emacs is pretty""" start="00:12:55.435" video="qanda-literate" id="subtitle"]] +[[!template text="""fascinating, just thinking about it as some command line""" start="00:12:55.435" video="qanda-literate" id="subtitle"]] +[[!template text="""tool that we can run to get some work done and then there are""" start="00:13:02.205" video="qanda-literate" id="subtitle"]] +[[!template text="""documents involved and as you know coming back to the kind of""" start="00:13:02.205" video="qanda-literate" id="subtitle"]] +[[!template text="""corporate you know sense of some of the things like there's""" start="00:13:02.205" video="qanda-literate" id="subtitle"]] +[[!template text="""that's that's a little dicey the same way a free software""" start="00:13:02.205" video="qanda-literate" id="subtitle"]] +[[!template text="""project raising money for itself is a little dicey it might""" start="00:13:02.205" video="qanda-literate" id="subtitle"]] +[[!template text="""be a necessary way to get through certain kinds of things and""" start="00:13:02.205" video="qanda-literate" id="subtitle"]] +[[!template text="""like what the corporate side of the world brings to the table""" start="00:13:02.205" video="qanda-literate" id="subtitle"]] +[[!template text="""here in my mind is that idea of I've got a formal process, like""" start="00:13:02.205" video="qanda-literate" id="subtitle"]] +[[!template text="""the process itself is an asset. If I were selling my company,""" start="00:13:28.087" video="qanda-literate" id="subtitle"]] +[[!template text="""that would be visibly of value to outside auditors that""" start="00:13:33.831" video="qanda-literate" id="subtitle"]] +[[!template text="""would help us arbitrate the sale. It's just empirical. Then""" start="00:13:33.831" video="qanda-literate" id="subtitle"]] +[[!template text="""tie that together with free software is maybe a little""" start="00:13:43.258" video="qanda-literate" id="subtitle"]] +[[!template text="""unstated ethos of doing our work in the open, and you might""" start="00:13:43.258" video="qanda-literate" id="subtitle"]] +[[!template text="""even deal with some of the ick factor. that you know that for a""" start="00:13:43.258" video="qanda-literate" id="subtitle"]] +[[!template text="""handler. Maybe so, but yeah, the downside to that is you'd""" start="00:13:56.747" video="qanda-literate" id="subtitle"]] +[[!template text="""still need to use Emacs to run through it, right? You know,""" start="00:13:59.109" video="qanda-literate" id="subtitle"]] +[[!template text="""for all those cool features, yes, it would be kind of a yet""" start="00:14:08.355" video="qanda-literate" id="subtitle"]] +[[!template text="""another killer app that we would have. So my domain name is""" start="00:14:08.355" video="qanda-literate" id="subtitle"]] +[[!template text="""orgvm, and my concept is really put org into a box, build a UI""" start="00:14:15.640" video="qanda-literate" id="subtitle"]] +[[!template text="""around it, it executes things that manipulate files that""" start="00:14:15.640" video="qanda-literate" id="subtitle"]] +[[!template text="""generate, let's say, And that's just one conceptual""" start="00:14:15.640" video="qanda-literate" id="subtitle"]] +[[!template text="""solution. But I really do think this is a super fun topic. And""" start="00:14:28.668" video="qanda-literate" id="subtitle"]] +[[!template text="""that's the space. I'm not sure my idea is that wonderful. I""" start="00:14:34.009" video="qanda-literate" id="subtitle"]] +[[!template text="""personally haven't soaked too many weekends into it. But I""" start="00:14:37.410" video="qanda-literate" id="subtitle"]] +[[!template text="""just love the way you're thinking in terms of, well, we""" start="00:14:39.851" video="qanda-literate" id="subtitle"]] +[[!template text="""should think more about that. Gosh, that's great to hear.""" start="00:14:39.851" video="qanda-literate" id="subtitle"]] +[[!template text="""Yeah. Yeah, I mean, just like the talk yesterday on the""" start="00:14:49.054" video="qanda-literate" id="subtitle"]] +[[!template text="""future of org, it's like, let's standardize it. Because,""" start="00:14:50.856" video="qanda-literate" id="subtitle"]] +[[!template text="""yeah, we don't want to have org fragmented like Markdown is.""" start="00:14:57.200" video="qanda-literate" id="subtitle"]] +[[!template text="""Markdown is terribly fragmented. You know, everybody's""" start="00:15:02.384" video="qanda-literate" id="subtitle"]] +[[!template text="""got different implementations. And Yeah, what I've ended""" start="00:15:05.866" video="qanda-literate" id="subtitle"]] +[[!template text="""up doing, I don't know if you've seen my blog, but I often I'm""" start="00:15:10.649" video="qanda-literate" id="subtitle"]] +[[!template text="""always just writing an org and talking to myself and writing""" start="00:15:10.649" video="qanda-literate" id="subtitle"]] +[[!template text="""questions and answers and essays come out of that. And then""" start="00:15:10.649" video="qanda-literate" id="subtitle"]] +[[!template text="""I'll put them on my web page and easy. It's easy to publish to a""" start="00:15:22.678" video="qanda-literate" id="subtitle"]] +[[!template text="""web page. Well, I do the same thing at work, but I need to have""" start="00:15:25.079" video="qanda-literate" id="subtitle"]] +[[!template text="""it marked down. I don't start Markdown though. I'm always""" start="00:15:27.101" video="qanda-literate" id="subtitle"]] +[[!template text="""starting an org because that, you know, I can really work""" start="00:15:33.005" video="qanda-literate" id="subtitle"]] +[[!template text="""through the problem space, you know, executing code blocks""" start="00:15:33.005" video="qanda-literate" id="subtitle"]] +[[!template text="""and making sure they work and all of that sort of stuff. And""" start="00:15:33.005" video="qanda-literate" id="subtitle"]] +[[!template text="""then I just export to Markdown and then go cleaned up a little""" start="00:15:44.033" video="qanda-literate" id="subtitle"]] +[[!template text="""bit if I need to. And that makes sense. But I am editing""" start="00:15:44.033" video="qanda-literate" id="subtitle"]] +[[!template text="""Markdown afterwards. So yeah, it would be nice. It would be""" start="00:15:50.418" video="qanda-literate" id="subtitle"]] +[[!template text="""nice. It's just, it's all done over here as opposed to, you""" start="00:15:55.602" video="qanda-literate" id="subtitle"]] +[[!template text="""know, Adding it over there, but yeah, let's think about""" start="00:15:57.003" video="qanda-literate" id="subtitle"]] +[[!template text="""every bit as much as as that. You know, I jumped in in the""" start="00:16:00.586" video="qanda-literate" id="subtitle"]] +[[!template text="""spirit of yes, let's think about it. You know, your, your""" start="00:16:05.610" video="qanda-literate" id="subtitle"]] +[[!template text="""comments about, let's think about the workflows that work""" start="00:16:08.873" video="qanda-literate" id="subtitle"]] +[[!template text="""for us. Wow. Does that hit home? Right? So great. Yeah. Yeah.""" start="00:16:08.873" video="qanda-literate" id="subtitle"]] +[[!template text="""Yeah. Okay. So, uh, on to do's and that sort of thing, um. You""" start="00:16:18.000" video="qanda-literate" id="subtitle"]] +[[!template text="""know, a lot is the same as it was 10 years ago. At the beginning""" start="00:16:24.145" video="qanda-literate" id="subtitle"]] +[[!template text="""of every sprint,""" start="00:16:31.608" video="qanda-literate" id="subtitle"]] +[[!template text="""my company, we're using JIRA.""" start="00:16:31.608" video="qanda-literate" id="subtitle"]] +[[!template text="""All jokes are valid when I say that. But I just go to its web""" start="00:16:40.731" video="qanda-literate" id="subtitle"]] +[[!template text="""page. I copy all the tasks that I need to do that sprint. I""" start="00:16:44.474" video="qanda-literate" id="subtitle"]] +[[!template text="""wrote a function that takes that code and reformats it as a""" start="00:16:49.556" video="qanda-literate" id="subtitle"]] +[[!template text="""bunch of org tasks for me to do that I can just now have all my""" start="00:16:49.556" video="qanda-literate" id="subtitle"]] +[[!template text="""to-dos. And I start to work off of that from that point on. So""" start="00:16:49.556" video="qanda-literate" id="subtitle"]] +[[!template text="""it'll reference all the projects, and I do symlinks to every""" start="00:17:02.520" video="qanda-literate" id="subtitle"]] +[[!template text="""code base that I need to use. Most of the to-dos I put inside my""" start="00:17:02.520" video="qanda-literate" id="subtitle"]] +[[!template text="""code block is kind of just for me, just so I can remember it.""" start="00:17:10.143" video="qanda-literate" id="subtitle"]] +[[!template text="""Because the work that I have to do needs to be tracked a little""" start="00:17:16.685" video="qanda-literate" id="subtitle"]] +[[!template text="""more""" start="00:17:16.685" video="qanda-literate" id="subtitle"]] +[[!template text="""fine-grained, I guess. Yeah. Do I use LP also on larger""" start="00:17:16.685" video="qanda-literate" id="subtitle"]] +[[!template text="""projects? More files and nested directories? Yeah, I""" start="00:17:30.630" video="qanda-literate" id="subtitle"]] +[[!template text="""haven't really done nested directories, but I can now. Now""" start="00:17:38.180" video="qanda-literate" id="subtitle"]] +[[!template text="""that I've now kind of realized that I have the feature that I""" start="00:17:43.303" video="qanda-literate" id="subtitle"]] +[[!template text="""demonstrated where I can just jump to any projects for a""" start="00:17:43.303" video="qanda-literate" id="subtitle"]] +[[!template text="""particular project, all the org files and all the headings""" start="00:17:43.303" video="qanda-literate" id="subtitle"]] +[[!template text="""show up, that works in nested directories.""" start="00:17:43.303" video="qanda-literate" id="subtitle"]] +[[!template text="""Oh, okay, yeah, somebody's typing it in. Yeah, so it's""" start="00:18:06.846" video="qanda-literate" id="subtitle"]] +[[!template text="""definitely possible. And I have now, since I recorded the""" start="00:18:09.589" video="qanda-literate" id="subtitle"]] +[[!template text="""talk, I've been busy typing in and trying to extract that out""" start="00:18:12.692" video="qanda-literate" id="subtitle"]] +[[!template text="""of my init file and make it into a package. I'm looking for a""" start="00:18:12.692" video="qanda-literate" id="subtitle"]] +[[!template text="""good name right now. I'm calling it jobs, jump to project""" start="00:18:23.762" video="qanda-literate" id="subtitle"]] +[[!template text="""sections. Anyway, but yeah, I think that's kind of a nice,""" start="00:18:25.404" video="qanda-literate" id="subtitle"]] +[[!template text="""useful feature. Have I used Cucumber, Gherkin, and other""" start="00:18:32.390" video="qanda-literate" id="subtitle"]] +[[!template text="""behavior-driven development?""" start="00:18:38.936" video="qanda-literate" id="subtitle"]] +[[!template text="""Have I, I mean, I do a lot of...""" start="00:18:50.507" video="qanda-literate" id="subtitle"]] +[[!template text="""more test driven. I do a lot of unit tests and I just put it""" start="00:18:56.568" video="qanda-literate" id="subtitle"]] +[[!template text="""right in my code base because if it's in my pros, I can just""" start="00:18:57.749" video="qanda-literate" id="subtitle"]] +[[!template text="""shove it in there. I've got the test right next to the""" start="00:18:57.749" video="qanda-literate" id="subtitle"]] +[[!template text="""function that I'm testing. I like that so I can kind of see it.""" start="00:19:05.732" video="qanda-literate" id="subtitle"]] +[[!template text="""I don't tangle it out to that same source file. I tangle it""" start="00:19:11.814" video="qanda-literate" id="subtitle"]] +[[!template text="""somewhere else if I tangle it at all because I don't need to. I""" start="00:19:14.756" video="qanda-literate" id="subtitle"]] +[[!template text="""can just, you know, control C that and run it. I like that""" start="00:19:18.137" video="qanda-literate" id="subtitle"]] +[[!template text="""aspect of it.""" start="00:19:21.699" video="qanda-literate" id="subtitle"]] +[[!template text="""Yeah, just keeping things together. That's the big problem""" start="00:19:26.775" video="qanda-literate" id="subtitle"]] +[[!template text="""I have with a lot of tests is the tests are somewhere else.""" start="00:19:28.416" video="qanda-literate" id="subtitle"]] +[[!template text="""It's separate from the code. I like seeing it all together,""" start="00:19:32.460" video="qanda-literate" id="subtitle"]] +[[!template text="""but a lot depends on how extensive it is. So for a lot of the,""" start="00:19:33.881" video="qanda-literate" id="subtitle"]] +[[!template text="""you know, the tests that we end up doing where, you know,""" start="00:19:38.244" video="qanda-literate" id="subtitle"]] +[[!template text="""you've got to do a lot of mocks and a lot of startup and tear""" start="00:19:38.244" video="qanda-literate" id="subtitle"]] +[[!template text="""down, that kind of thing. Yeah, that doesn't help as much.""" start="00:19:38.244" video="qanda-literate" id="subtitle"]] +[[!template text="""And you probably have to kind of go old school on that.""" start="00:19:51.676" video="qanda-literate" id="subtitle"]] +[[!template text="""What granularity I'm looking for with my org files and my""" start="00:19:57.913" video="qanda-literate" id="subtitle"]] +[[!template text="""subcontent? That's a real good question and really""" start="00:19:57.913" video="qanda-literate" id="subtitle"]] +[[!template text="""subjective. I change that over time. I begin by just dump. I""" start="00:20:01.915" video="qanda-literate" id="subtitle"]] +[[!template text="""just dump everything in my head into a file and then I go""" start="00:20:13.539" video="qanda-literate" id="subtitle"]] +[[!template text="""through and start to refine it.""" start="00:20:13.539" video="qanda-literate" id="subtitle"]] +[[!template text="""My goal at one point was to have an Emacs config file that was""" start="00:20:21.941" video="qanda-literate" id="subtitle"]] +[[!template text="""really small and simple. And boy, that just doesn't happen.""" start="00:20:21.941" video="qanda-literate" id="subtitle"]] +[[!template text="""It's just too fun to add things and try new ideas. And I found""" start="00:20:30.510" video="qanda-literate" id="subtitle"]] +[[!template text="""my files were just littered with good ideas that were""" start="00:20:34.474" video="qanda-literate" id="subtitle"]] +[[!template text="""half-baked and not finished. And so it's like, oh, I need to""" start="00:20:34.474" video="qanda-literate" id="subtitle"]] +[[!template text="""extract these and put them into different files so I can keep""" start="00:20:45.285" video="qanda-literate" id="subtitle"]] +[[!template text="""it clean. And so I think it's like with any code base, you're""" start="00:20:45.285" video="qanda-literate" id="subtitle"]] +[[!template text="""just going to keep refactoring. It's an iterative process.""" start="00:20:51.310" video="qanda-literate" id="subtitle"]] +[[!template text="""So having the ability to, like with an org file, where you can""" start="00:20:59.137" video="qanda-literate" id="subtitle"]] +[[!template text="""archive a subtree. Okay, this idea didn't pan out. Archive""" start="00:20:59.137" video="qanda-literate" id="subtitle"]] +[[!template text="""it. I can come back to it later. Being able to just kind of""" start="00:21:08.825" video="qanda-literate" id="subtitle"]] +[[!template text="""shove it somewhere else is really a nice little feature. All""" start="00:21:11.808" video="qanda-literate" id="subtitle"]] +[[!template text="""right. Not a question, just a comment. We need more of your""" start="00:21:18.454" video="qanda-literate" id="subtitle"]] +[[!template text="""insightful posts and videos. Oh, thanks.""" start="00:21:23.879" video="qanda-literate" id="subtitle"]] +[[!template text="""I appreciate it. Yes, it's been a fun journey. And I think we""" start="00:21:29.383" video="qanda-literate" id="subtitle"]] +[[!template text="""are coming up on our time, actually. So that is just an""" start="00:21:34.778" video="qanda-literate" id="subtitle"]] +[[!template text="""amazing quiz. And it helps me from manipulating, as I said,""" start="00:21:37.319" video="qanda-literate" id="subtitle"]] +[[!template text="""or as I put it earlier, like my chance as an organizer, or not""" start="00:21:39.360" video="qanda-literate" id="subtitle"]] +[[!template text="""manipulating, monopolizing my chance as an organizer to""" start="00:21:39.360" video="qanda-literate" id="subtitle"]] +[[!template text="""just get a chance to pick your brain on all kinds of things,""" start="00:21:39.360" video="qanda-literate" id="subtitle"]] +[[!template text="""which is too kind, too kind. Appreciate it. It's been fun.""" start="00:21:39.360" video="qanda-literate" id="subtitle"]] +[[!template text="""All right, I'll try answering more questions online as""" start="00:22:01.431" video="qanda-literate" id="subtitle"]] +[[!template text="""well. All right, talk to you later. And we appreciate your""" start="00:22:01.431" video="qanda-literate" id="subtitle"]] +[[!template text="""being in a huge resource that you are to the community.""" start="00:22:07.153" video="qanda-literate" id="subtitle"]] +[[!template text="""Thanks to everyone for tuning in and we'll be coming over to""" start="00:22:10.454" video="qanda-literate" id="subtitle"]] +[[!template text="""our next talk in just a moment here. And so bear with us""" start="00:22:10.454" video="qanda-literate" id="subtitle"]] +[[!template text="""through the transition as we slip into, I think it's our, is""" start="00:22:17.017" video="qanda-literate" id="subtitle"]] +[[!template text="""that our penultimate or our ultimate talk? We have one or two""" start="00:22:17.017" video="qanda-literate" id="subtitle"]] +[[!template text="""left, I'm not sure. I think we've got a couple of talks left.""" start="00:22:25.460" video="qanda-literate" id="subtitle"]] +[[!template text="""I'm back. Thank you, Howard. And we will be moving to the next""" start="00:22:29.473" video="qanda-literate" id="subtitle"]] +[[!template text="""talk in about six minutes. So if you need to grab some coffee,""" start="00:22:32.255" video="qanda-literate" id="subtitle"]] +[[!template text="""some tea, use the time wisely. And to confirm, we will have""" start="00:22:35.737" video="qanda-literate" id="subtitle"]] +[[!template text="""one, two, three more talks this afternoon. So there's still""" start="00:22:39.800" video="qanda-literate" id="subtitle"]] +[[!template text="""plenty to go around. See you in a bit, folks.""" start="00:22:43.982" video="qanda-literate" id="subtitle"]] + +</div>Questions or comments? Please e-mail [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Comment%20for%20EmacsConf%202023%20literate%3A%20Literate%20programming%20for%20the%2021st%20Century) <!-- End of emacsconf-publish-after-page --> |