summaryrefslogtreecommitdiffstats
path: root/2024/captions/emacsconf-2024-literate--literate-programming-for-the-21st-century--howard-abrams--answers.vtt
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--2024/captions/emacsconf-2024-literate--literate-programming-for-the-21st-century--howard-abrams--answers.vtt996
1 files changed, 996 insertions, 0 deletions
diff --git a/2024/captions/emacsconf-2024-literate--literate-programming-for-the-21st-century--howard-abrams--answers.vtt b/2024/captions/emacsconf-2024-literate--literate-programming-for-the-21st-century--howard-abrams--answers.vtt
new file mode 100644
index 00000000..803d43df
--- /dev/null
+++ b/2024/captions/emacsconf-2024-literate--literate-programming-for-the-21st-century--howard-abrams--answers.vtt
@@ -0,0 +1,996 @@
+WEBVTT
+
+00:00:00.000 --> 00:00:04.839
+I'm doing great. Good to hear from you guys. Yeah, I mean,
+
+00:00:04.840 --> 00:00:07.959
+you've been a regular of the show, I would say, for quite a
+
+00:00:07.960 --> 00:00:11.399
+while, and it's good. I really like the retrospective that
+
+00:00:11.400 --> 00:00:14.959
+you did the first time you attended EmacsConf. And when was
+
+00:00:14.960 --> 00:00:18.759
+it? Was it 2015? I can't actually remember. 2015 was when I
+
+00:00:18.760 --> 00:00:22.319
+presented that, but I did an earlier talk the year before. So
+
+00:00:22.320 --> 00:00:25.479
+yeah, that's why it's kind of thing. It's like, wow, it's
+
+00:00:25.480 --> 00:00:31.279
+been a decade. It's been a while. Yeah, and I'm glad that you
+
+00:00:31.280 --> 00:00:35.559
+are in a much better recording situation than you were in
+
+00:00:35.560 --> 00:00:39.439
+2015 at the back of your colleague's house. It's good to see
+
+00:00:39.440 --> 00:00:44.359
+you at your own place. Well, it's also nice to pre-record and
+
+00:00:44.360 --> 00:00:48.239
+then just share. Yeah, I mean, that's why we keep talking
+
+00:00:48.240 --> 00:00:51.519
+about pre-recording. You know, when we really pushed
+
+00:00:51.520 --> 00:00:53.759
+pre-recordings, I think it was five years ago when we
+
+00:00:53.760 --> 00:00:57.679
+started, people were not really liking it. They thought,
+
+00:00:57.680 --> 00:01:00.039
+oh, but most conferences are just asking you to come and
+
+00:01:00.040 --> 00:01:02.919
+chat. And, you know, I don't need to do the pesky
+
+00:01:02.920 --> 00:01:06.319
+pre-recording. But now, and especially for you regulars,
+
+00:01:06.320 --> 00:01:08.359
+you're really starting to realize that pre-recordings are
+
+00:01:08.360 --> 00:01:11.279
+actually amazing for everyone. You're less stressed on the
+
+00:01:11.280 --> 00:01:14.199
+day of the conference. We, the organizers, are way less
+
+00:01:14.200 --> 00:01:16.519
+stressed. So it's a win-win scenario for absolutely
+
+00:01:16.520 --> 00:01:19.359
+everyone in the equation. Okay, so there's some
+
+00:01:19.360 --> 00:01:22.519
+confirmation bias at work, but I'm not really arguing with
+
+00:01:22.520 --> 00:01:27.639
+what Leo says for the record. It may be that we are just that
+
+00:01:27.640 --> 00:01:30.759
+this stoked that we're lying to ourselves by the
+
+00:01:30.760 --> 00:01:33.959
+opportunity that we have to chat with each of you. Sure.
+
+00:01:33.960 --> 00:01:38.759
+Sure. Sure. I have really appreciated all of the, the
+
+00:01:38.760 --> 00:01:43.559
+transcripts. It's been great that, you know, to be able to
+
+00:01:43.560 --> 00:01:46.519
+read and copy and paste and all that kind of thing. Yeah, it's
+
+00:01:46.520 --> 00:01:49.959
+great. So yeah, let's answer some questions here.
+
+00:01:49.960 --> 00:01:58.159
+Let's see. Yeah, just feel free to jump onto the Etherpad and
+
+00:01:58.160 --> 00:02:01.239
+just drop on the questions. I'll keep answering them all day
+
+00:02:01.240 --> 00:02:07.399
+kind of thing and get better answers as we go along.
+
+NOTE Q: What's the largest code base you've ever tackled with the literate approach (esp. Emacs + Org-mode)?
+
+00:02:07.400 --> 00:02:12.439
+So yeah, the first question here is, what's my largest code base?
+
+00:02:12.440 --> 00:02:18.359
+I kind of touched it in my presentation. However, I think
+
+00:02:18.360 --> 00:02:22.439
+someone just went through and did a better count than it
+
+00:02:22.440 --> 00:02:27.879
+looks like. a little bit more. So
+
+00:02:27.880 --> 00:02:32.959
+as I joked about in the video, we've all worked on larger code
+
+00:02:32.960 --> 00:02:36.799
+bases, but that's still, it's kind of significant. So it's
+
+00:02:36.800 --> 00:02:43.679
+not, so yeah, anyway. So let's talk a little bit about
+
+00:02:43.680 --> 00:02:49.519
+searching for functions here. If you've got your functions
+
+00:02:49.520 --> 00:02:53.679
+in your code or code block, well, you can search for the
+
+00:02:53.680 --> 00:02:59.319
+descriptions, you know, as long as you've evaluated it. And
+
+00:02:59.320 --> 00:03:04.519
+so that wasn't so much of a problem, but I did want to like look
+
+00:03:04.520 --> 00:03:07.839
+at the commentary around any function that I would define.
+
+00:03:07.840 --> 00:03:14.039
+And that's where, yeah, you know, the C-x or the
+
+00:03:14.040 --> 00:03:18.919
+C-f to define that function and display it. It won't
+
+00:03:18.920 --> 00:03:22.279
+pull out the literate stuff around it, obviously, it'll
+
+00:03:22.280 --> 00:03:27.159
+only do the doc header. But if you could search for it and find
+
+00:03:27.160 --> 00:03:30.559
+it quick, then it might be just as useful. And I guess that's
+
+00:03:30.560 --> 00:03:36.079
+why I started getting into seeing if I can't tie that into the
+
+00:03:36.080 --> 00:03:40.839
+X ref. you know, just the standard ways. My first part, I
+
+00:03:40.840 --> 00:03:45.799
+noticed that evil has a different way of searching through
+
+00:03:45.800 --> 00:03:50.999
+for looking for code definitions. That was my first foray
+
+00:03:51.000 --> 00:03:53.959
+into it. It's like, oh, that's not a bad idea. Let's hook it up
+
+00:03:53.960 --> 00:03:58.079
+under, you know, in the standard way.
+
+NOTE Q: Have you ever used org-transclusion?
+
+00:03:58.080 --> 00:04:02.279
+Let's see. Have I ever used org-transclusion?
+
+00:04:02.280 --> 00:04:05.319
+No, I haven't, but I think I want to
+
+00:04:05.320 --> 00:04:08.439
+take a look at it. I haven't heard of it before.
+
+NOTE Q: What is your usage of dynamic blocks in such workflows?
+
+00:04:08.440 --> 00:04:16.519
+Let's see. What's my usage of dynamic blocks in my
+
+00:04:16.520 --> 00:04:21.439
+workflows? You know, that's a real good question. I haven't
+
+00:04:21.440 --> 00:04:26.319
+really used them a lot in all of my workflows, but yeah, it's
+
+00:04:26.320 --> 00:04:29.439
+an interesting, you know, we always start.
+
+00:04:29.440 --> 00:04:30.999
+At first, all
+
+00:04:31.000 --> 00:04:33.679
+we're doing is just taking a few notes, then we start
+
+00:04:33.680 --> 00:04:36.039
+organizing, then we've got links, and then we're writing
+
+00:04:36.040 --> 00:04:39.519
+code blocks, and then agendas, and table, you know, we keep
+
+00:04:39.520 --> 00:04:40.999
+building up on it.
+
+00:04:41.000 --> 00:04:44.399
+I guess I haven't really added that to
+
+00:04:44.400 --> 00:04:46.978
+my workflow, but maybe I'll have to come back
+
+00:04:46.979 --> 00:04:48.839
+and report on that.
+
+NOTE Q: Is the minibuffer being deliberately hidden in this video?
+
+00:04:48.840 --> 00:04:51.599
+Is the mini buffer being deliberately hidden in my
+
+00:04:51.600 --> 00:04:57.879
+video? Not deliberately. I recorded it first and
+
+00:04:57.880 --> 00:05:03.759
+accidentally not clipped the video and turned that all off.
+
+00:05:03.760 --> 00:05:07.359
+So I went through and started fixing all of it. But yeah, so
+
+00:05:07.360 --> 00:05:10.759
+you'll notice the mini buffer kind of comes and goes in the
+
+00:05:10.760 --> 00:05:12.444
+video. Sorry about that.
+
+00:05:12.445 --> 00:05:17.340
+So yeah, it wasn't intentional at all.
+
+NOTE Q: What's your take on Emacs+Org vs. Jupyter notebooks (for interactive programming)?
+
+00:05:17.341 --> 00:05:21.839
+What's my take on Emacs Org versus Jupyter? That's a real
+
+00:05:21.840 --> 00:05:29.519
+good question. I've been toying about seeing if I could do
+
+00:05:29.520 --> 00:05:32.479
+everything that some people do with Jupyter notebooks in
+
+00:05:32.480 --> 00:05:36.079
+order. I don't need to do it as much because I'm still kind of
+
+00:05:36.080 --> 00:05:40.319
+doing a lot of list programming and a lot of my DevOps, which
+
+00:05:40.320 --> 00:05:45.559
+is a lot of shell work and a lot of Python. Most of the Jupyter
+
+00:05:45.560 --> 00:05:49.639
+notebooks, they automatically include a lot of things in
+
+00:05:49.640 --> 00:05:56.679
+from either Julia or Python, like NumPy and all the dynamic
+
+00:05:56.680 --> 00:06:01.439
+stuff that's going on there. Since it has a server,
+
+00:06:01.440 --> 00:06:07.439
+it seems like it's running a lot more stuff and then just
+
+00:06:07.440 --> 00:06:10.719
+shipping it back off into the web app. That has been the
+
+00:06:10.720 --> 00:06:16.239
+biggest challenge as I've tried to kind of duplicate that. I
+
+00:06:16.240 --> 00:06:20.439
+don't really know NumPy and all the math stuff and that sort
+
+00:06:20.440 --> 00:06:25.039
+of stuff that well. So trying to do like matrix
+
+00:06:25.040 --> 00:06:27.359
+multiplications and that kind of thing that seemed to be
+
+00:06:27.360 --> 00:06:33.119
+pretty easy in the Jupyter, it's not very easy in Org. I've
+
+00:06:33.120 --> 00:06:36.639
+attempted to kind of work with Julia and the Julia support
+
+00:06:36.640 --> 00:06:45.759
+for Org is really limited it seems. That's the, So, yeah,
+
+00:06:45.760 --> 00:06:49.199
+there's some improvements we could probably make. So, I
+
+00:06:49.200 --> 00:06:53.159
+think if somebody is comfortable with Jupiter, and that
+
+00:06:53.160 --> 00:06:59.039
+seems to work, you may have to stay there. I don't know how
+
+00:06:59.040 --> 00:07:04.679
+easy. I would be curious to try to see what we could do as a
+
+00:07:04.680 --> 00:07:07.799
+community to kind of make that transition a lot easier.
+
+NOTE Q: Do you think any programming language is more suited to literate programming than another?
+
+00:07:07.800 --> 00:07:12.416
+Do you think any programming language
+
+00:07:12.417 --> 00:07:13.559
+is more suited to literate
+
+00:07:13.560 --> 00:07:16.959
+programming than another? Hey, that's a real good
+
+00:07:16.960 --> 00:07:22.359
+question. A lot of mine is with Emacs Lisp, and obviously
+
+00:07:22.360 --> 00:07:27.639
+that's a first-class citizen in Emacs. Go figure, right? So
+
+00:07:27.640 --> 00:07:33.519
+that one certainly works. A lot depends on the support in the
+
+00:07:33.520 --> 00:07:38.199
+OB version for the Babel work. Python is really well
+
+00:07:38.200 --> 00:07:45.599
+supported, and yeah, Emacs Lisp. Others, Shell, you know,
+
+00:07:45.600 --> 00:07:50.439
+it works, but it's hard to get both the values, the variables
+
+00:07:50.440 --> 00:07:53.479
+out of the environment variables into your thing. So most
+
+00:07:53.480 --> 00:07:58.959
+everything is just with the results of output. So, you know,
+
+00:07:58.960 --> 00:08:03.079
+some languages aren't quite as good as others for sure. I
+
+00:08:03.080 --> 00:08:06.879
+would love to see better support for more interesting
+
+00:08:06.880 --> 00:08:10.439
+languages, especially ones that are compiled. I've been
+
+00:08:10.440 --> 00:08:16.639
+dabbling with Rust and like, yeah, what can we do to have Rust
+
+00:08:16.640 --> 00:08:21.559
+more iterative as well? So...
+
+NOTE Q: Do you use inline org function calls and org babel library and such?
+
+00:08:21.560 --> 00:08:29.159
+Do you use inline org function calls in Org Babel library? So
+
+00:08:29.160 --> 00:08:33.599
+I used to do a lot of Org Babel libraries to kind of share
+
+00:08:33.600 --> 00:08:35.639
+things.
+
+00:08:35.640 --> 00:08:46.399
+Yeah. What I. But yeah. Sorry, I'm just kind of thinking
+
+00:08:46.400 --> 00:08:49.839
+through here. I've done a lot of it in the past. There were a
+
+00:08:49.840 --> 00:08:54.919
+lot of bugs in it. Oh, I don't know, eight years ago when I was
+
+00:08:54.920 --> 00:08:59.359
+playing with it. I bet things have improved a lot more and it
+
+00:08:59.360 --> 00:09:04.239
+probably saved me a lot more effort. Right now, most of the
+
+00:09:04.240 --> 00:09:08.639
+literate devops, the devops kind of stuff that I'm doing, is
+
+00:09:08.640 --> 00:09:14.079
+calling a lot of back-end programs and that sort of thing. So
+
+00:09:14.080 --> 00:09:19.359
+the Org Babel kind of has limited help in that regard. And as
+
+00:09:19.360 --> 00:09:23.999
+far as my Emacs work, well, it's just part of the session. So
+
+00:09:24.000 --> 00:09:26.759
+it's going to be available or not. So that hasn't been as
+
+00:09:26.760 --> 00:09:30.559
+helpful either. So it's kind of dropped off. But I bet if
+
+00:09:30.560 --> 00:09:34.519
+you're using something like, say, Python, it might be a lot
+
+00:09:34.520 --> 00:09:36.969
+more helpful.
+
+NOTE Q: How do you handle the cases where org markup may sometimes interfere with some of the code?
+
+00:09:36.970 --> 00:09:40.159
+Another question, how do you handle the cases
+
+00:09:40.160 --> 00:09:43.999
+where markup may sometimes interfere with some of the code
+
+00:09:44.000 --> 00:09:50.559
+in places where you can't escape? Oh, okay. All right. Let me
+
+00:09:50.560 --> 00:09:54.719
+see if I understand the question correctly.
+
+00:09:54.720 --> 00:10:01.759
+When I, like, when I'm making prose, and I'm talking about a
+
+00:10:01.760 --> 00:10:04.839
+function that I've written somewhere else, like, oh, I need
+
+00:10:04.840 --> 00:10:09.439
+to work on this, or this calls this, and yeah, I'll use the
+
+00:10:09.440 --> 00:10:14.839
+tildes or the equal signs on either side to make sure it's.
+
+00:10:14.840 --> 00:10:20.399
+that it's clear that it's code. In my xref, when I'm doing a
+
+00:10:20.400 --> 00:10:27.479
+thing-at-point so it can go look for that symbol, I do look for
+
+00:10:27.480 --> 00:10:31.919
+those things at the end and strip them off so that I can mark it
+
+00:10:31.920 --> 00:10:35.039
+up and still search and it's still okay. I'm not sure if
+
+00:10:35.040 --> 00:10:39.359
+that's the answer to the question. Yeah, clarifying. I'm
+
+00:10:39.360 --> 00:10:41.759
+making prose. I'm talking about a function I've written
+
+00:10:41.760 --> 00:10:47.319
+somewhere else. Yeah, yeah, yeah, that is what I'm talking
+
+00:10:47.320 --> 00:10:53.279
+about, where a function with tildes on either end, and if I do
+
+00:10:53.280 --> 00:10:57.359
+an xref search find for that symbol, it'll strip that off and
+
+00:10:57.360 --> 00:11:01.439
+then still look for the function name, so I can still mark it
+
+00:11:01.440 --> 00:11:06.219
+correctly.
+
+NOTE Q: You said at the start that literate didn't catch on in corporate DevOps - why not?
+
+00:11:06.220 --> 00:11:08.439
+You said at the start that literate didn't catch on in
+
+00:11:08.440 --> 00:11:14.719
+corporate devops, why not? You know,
+
+00:11:14.720 --> 00:11:18.919
+I guess the big thing is not everybody's using Emacs,
+
+00:11:18.920 --> 00:11:20.610
+and I don't think anybody would be
+
+00:11:20.611 --> 00:11:23.651
+doing literate programming if you didn't
+
+00:11:23.652 --> 00:11:25.199
+have Emacs. I mean, you got to have Org, or it just
+
+00:11:25.200 --> 00:11:29.420
+doesn't work that well, right?
+
+NOTE Q: Why not that full stack on Markdown?
+
+00:11:29.421 --> 00:11:36.359
+Why not that full stack on Markdown? Yeah, so I often do a lot
+
+00:11:36.360 --> 00:11:44.279
+of Markdown. I have got, so I've gone through and make my
+
+00:11:44.280 --> 00:11:49.039
+markdown look a lot like Org. So my headers are the same size
+
+00:11:49.040 --> 00:11:54.759
+as org. When I mark, do the triple back ticks, you know, and
+
+00:11:54.760 --> 00:11:59.279
+specify your language, we can now colorize that.
+
+00:11:59.280 --> 00:12:01.521
+So you can kind of now have it
+
+00:12:01.522 --> 00:12:05.679
+syntactically marked up. It would be
+
+00:12:05.680 --> 00:12:11.199
+interesting if we kind of expanded on Markdown so that I
+
+00:12:11.200 --> 00:12:14.479
+could do a C-c twice on it and run that code block.
+
+00:12:14.480 --> 00:12:22.119
+That's a real good idea. Maybe we should work on that.
+
+NOTE Corwin's aside on orgvm
+
+00:12:22.120 --> 00:12:28.039
+How does your management of TODOs, projects, and tasks
+
+00:12:28.040 --> 00:12:31.679
+interact with this literate mindset? I can't believe I'm
+
+00:12:31.680 --> 00:12:33.879
+going to do this, but Howard, I'm going to break right in
+
+00:12:33.880 --> 00:12:37.119
+there because I just can't. I need to talk about that. So this
+
+00:12:37.120 --> 00:12:41.799
+is I bought a domain. And really what I mean is I have this
+
+00:12:41.800 --> 00:12:45.599
+domain if somebody gets some work done in this area. I'm
+
+00:12:45.600 --> 00:12:48.839
+fascinated by this. That's mostly really actually my whole
+
+00:12:48.840 --> 00:12:52.599
+comment. But I just wanted to say, indeed, that is something
+
+00:12:52.600 --> 00:12:56.599
+maybe we should work on. Well said. I think the idea of having
+
+00:12:56.600 --> 00:12:59.559
+something that's full-stack baked around Emacs is pretty
+
+00:12:59.560 --> 00:13:03.079
+fascinating, just thinking about it as some command line
+
+00:13:03.080 --> 00:13:05.639
+tool that we can run to get some work done, and then there are
+
+00:13:05.640 --> 00:13:07.969
+documents involved, and as you know coming back
+
+00:13:07.970 --> 00:13:10.511
+to the kind of corporate
+
+00:13:10.512 --> 00:13:12.759
+sense of some of the things like there...
+
+00:13:12.760 --> 00:13:15.319
+that's a little dicey the same way a free software
+
+00:13:15.320 --> 00:13:19.038
+project raising money for itself is a little dicey.
+
+00:13:19.039 --> 00:13:21.720
+It might be a necessary way to get through
+
+00:13:21.721 --> 00:13:23.882
+certain kinds of things and like
+
+00:13:23.883 --> 00:13:26.559
+what the corporate side of the world brings to the table
+
+00:13:26.560 --> 00:13:31.989
+Here in my mind is that idea of I've got a formal process,
+
+00:13:31.990 --> 00:13:33.830
+like the process itself is an asset.
+
+00:13:33.831 --> 00:13:35.239
+If I were selling my company,
+
+00:13:35.240 --> 00:13:39.399
+that would be visibly of value to outside auditors that
+
+00:13:39.400 --> 00:13:43.257
+would help us arbitrate the sale. It's just empirical.
+
+00:13:43.258 --> 00:13:48.239
+Then tie that together with free software is maybe a little
+
+00:13:48.240 --> 00:13:53.159
+unstated ethos of doing our work in the open, and you might
+
+00:13:53.160 --> 00:13:58.759
+even deal with some of the ick factor. that you know that for a
+
+00:13:58.760 --> 00:14:05.119
+handler. Maybe so, but yeah, the downside to that is you'd
+
+00:14:05.120 --> 00:14:09.679
+still need to use Emacs to run through it, right? You know,
+
+00:14:09.680 --> 00:14:13.719
+for all those cool features, yes, it would be kind of a yet
+
+00:14:13.720 --> 00:14:17.519
+another killer app that we would have. So my domain name is
+
+00:14:17.520 --> 00:14:22.239
+orgvm, and my concept is really put org into a box, build a UI
+
+00:14:22.240 --> 00:14:25.119
+around it, it executes things that manipulate files that
+
+00:14:25.120 --> 00:14:30.239
+generate, let's say, And that's just one conceptual
+
+00:14:30.240 --> 00:14:34.359
+solution. But I really do think this is a super fun topic. And
+
+00:14:34.360 --> 00:14:37.479
+that's the space. I'm not sure my idea is that wonderful. I
+
+00:14:37.480 --> 00:14:42.439
+personally haven't soaked too many weekends into it. But I
+
+00:14:42.440 --> 00:14:45.159
+just love the way you're thinking in terms of, well, we
+
+00:14:45.160 --> 00:14:49.519
+should think more about that. Gosh, that's great to hear.
+
+NOTE Org and Markdown fragmentation
+
+00:14:49.520 --> 00:14:53.399
+Yeah. Yeah, I mean, just like the talk yesterday on the
+
+00:14:53.400 --> 00:14:57.639
+future of org, it's like, let's standardize it. Because,
+
+00:14:57.640 --> 00:15:03.239
+yeah, we don't want to have org fragmented like Markdown is.
+
+00:15:03.240 --> 00:15:06.839
+Markdown is terribly fragmented. You know, everybody's
+
+00:15:06.840 --> 00:15:10.199
+got different implementations. And Yeah, what I've ended
+
+00:15:10.200 --> 00:15:15.039
+up doing, I don't know if you've seen my blog, but I often I'm
+
+00:15:15.040 --> 00:15:19.119
+always just writing an org and talking to myself and writing
+
+00:15:19.120 --> 00:15:22.919
+questions and answers and essays come out of that. And then
+
+00:15:22.920 --> 00:15:26.319
+I'll put them on my web page and easy. It's easy to publish to a
+
+00:15:26.320 --> 00:15:30.079
+web page. Well, I do the same thing at work, but I need to have
+
+00:15:30.080 --> 00:15:33.319
+it marked down. I don't start Markdown though. I'm always
+
+00:15:33.320 --> 00:15:36.479
+starting an org because that, you know, I can really work
+
+00:15:36.480 --> 00:15:40.239
+through the problem space, you know, executing code blocks
+
+00:15:40.240 --> 00:15:44.759
+and making sure they work and all of that sort of stuff. And
+
+00:15:44.760 --> 00:15:47.959
+then I just export to Markdown and then go cleaned up a little
+
+00:15:47.960 --> 00:15:51.679
+bit if I need to. And that makes sense. But I am editing
+
+00:15:51.680 --> 00:15:55.999
+Markdown afterwards. So yeah, it would be nice. It would be
+
+00:15:56.000 --> 00:16:00.359
+nice. It's just, it's all done over here as opposed to, you
+
+00:16:00.360 --> 00:16:02.879
+know, Adding it over there, but yeah, let's think about
+
+00:16:02.880 --> 00:16:06.519
+every bit as much as as that. You know, I jumped in in the
+
+00:16:06.520 --> 00:16:09.959
+spirit of yes, let's think about it. You know, your, your
+
+00:16:09.960 --> 00:16:12.599
+comments about, let's think about the workflows that work
+
+00:16:12.600 --> 00:16:17.919
+for us. Wow. Does that hit home? Right? So great. Yeah. Yeah.
+
+NOTE Q: How does your management of "TODOs" (projects/tasks) interact with this literate mindset, any insightful things you do on that front?
+
+00:16:17.920 --> 00:16:25.279
+Yeah. Okay. So, uh, on to do's and that sort of thing, um. You
+
+00:16:25.280 --> 00:16:32.199
+know, a lot is the same as it was 10 years ago. At the beginning
+
+00:16:32.200 --> 00:16:33.319
+of every sprint,
+
+00:16:33.320 --> 00:16:38.279
+my company, we're using JIRA.
+
+00:16:38.280 --> 00:16:46.159
+All jokes are valid when I say that. But I just go to its web
+
+00:16:46.160 --> 00:16:49.639
+page. I copy all the tasks that I need to do that sprint. I
+
+00:16:49.640 --> 00:16:54.119
+wrote a function that takes that code and reformats it as a
+
+00:16:54.120 --> 00:16:58.199
+bunch of org tasks for me to do that I can just now have all my
+
+00:16:58.200 --> 00:17:02.799
+to-dos. And I start to work off of that from that point on. So
+
+00:17:02.800 --> 00:17:06.479
+it'll reference all the projects, and I do symlinks to every
+
+00:17:06.480 --> 00:17:12.479
+code base that I need to use. Most of the to-dos I put inside my
+
+00:17:12.480 --> 00:17:16.639
+code block is kind of just for me, just so I can remember it.
+
+00:17:16.640 --> 00:17:21.086
+Because the work that I have to do
+
+00:17:21.087 --> 00:17:24.119
+needs to be tracked a little more
+
+00:17:24.120 --> 00:17:30.629
+fine-grained, I guess. Yeah.
+
+NOTE Q: Do you LP also on larger projects?
+
+00:17:30.630 --> 00:17:33.439
+Do I use LP also on larger
+
+00:17:33.440 --> 00:17:37.199
+projects? More files and nested directories? Yeah, I
+
+00:17:37.200 --> 00:17:43.879
+haven't really done nested directories, but I can now. Now
+
+00:17:43.880 --> 00:17:49.839
+that I've now kind of realized that I have the feature that I
+
+00:17:49.840 --> 00:17:54.439
+demonstrated where I can just jump to any projects for a
+
+00:17:54.440 --> 00:17:59.559
+particular project, all the org files and all the headings
+
+00:17:59.560 --> 00:18:02.439
+show up, that works in nested directories.
+
+00:18:02.440 --> 00:18:10.999
+Oh, okay, yeah, somebody's typing it in. Yeah, so it's
+
+00:18:11.000 --> 00:18:15.359
+definitely possible. And I have now, since I recorded the
+
+00:18:15.360 --> 00:18:20.519
+talk, I've been busy typing in and trying to extract that out
+
+00:18:20.520 --> 00:18:24.479
+of my init file and make it into a package. I'm looking for a
+
+00:18:24.480 --> 00:18:30.239
+good name right now. I'm calling it jobs, jump to project
+
+00:18:30.240 --> 00:18:36.399
+sections. Anyway, but yeah, I think that's kind of a nice,
+
+00:18:36.400 --> 00:18:38.935
+useful feature.
+
+NOTE Q: Have you used Cucumber/Gherkin/BDD and do you think it has a strong overlap to what you talked about here?
+
+00:18:38.936 --> 00:18:41.919
+Have I used Cucumber, Gherkin, and other
+
+00:18:41.920 --> 00:18:44.479
+behavior-driven development?
+
+00:18:44.480 --> 00:18:50.719
+Have I, I mean, I do a lot of...
+
+00:18:50.720 --> 00:19:00.279
+more test driven. I do a lot of unit tests and I just put it
+
+00:19:00.280 --> 00:19:04.679
+right in my code base because if it's in my pros, I can just
+
+00:19:04.680 --> 00:19:07.199
+shove it in there. I've got the test right next to the
+
+00:19:07.200 --> 00:19:11.519
+function that I'm testing. I like that so I can kind of see it.
+
+00:19:11.520 --> 00:19:15.359
+I don't tangle it out to that same source file. I tangle it
+
+00:19:15.360 --> 00:19:19.119
+somewhere else if I tangle it at all because I don't need to. I
+
+00:19:19.120 --> 00:19:23.199
+can just, you know, C-c that and run it. I like that
+
+00:19:23.200 --> 00:19:24.879
+aspect of it.
+
+00:19:24.880 --> 00:19:29.319
+Yeah, just keeping things together. That's the big problem
+
+00:19:29.320 --> 00:19:32.479
+I have with a lot of tests is the tests are somewhere else.
+
+00:19:32.480 --> 00:19:35.319
+It's separate from the code. I like seeing it all together,
+
+00:19:35.320 --> 00:19:39.879
+but a lot depends on how extensive it is. So for a lot of the,
+
+00:19:39.880 --> 00:19:43.359
+you know, the tests that we end up doing where, you know,
+
+00:19:43.360 --> 00:19:47.759
+you've got to do a lot of mocks and a lot of startup and tear
+
+00:19:47.760 --> 00:19:51.839
+down, that kind of thing. Yeah, that doesn't help as much.
+
+00:19:51.840 --> 00:19:54.599
+And you probably have to kind of go old school on that.
+
+NOTE Q: What granularity are you looking for re your org files and contents, with respect to a codebase that it tangles to, or in non-coding contexts?
+
+00:19:54.600 --> 00:20:01.359
+What granularity I'm looking for with my org files and my
+
+00:20:01.360 --> 00:20:03.634
+subcontent? That's a real good question
+
+00:20:03.635 --> 00:20:05.255
+and really subjective.
+
+00:20:05.256 --> 00:20:13.159
+I change that over time. I begin by just dumping.
+
+00:20:13.160 --> 00:20:16.378
+I just dump everything in my head into a file
+
+00:20:16.379 --> 00:20:19.679
+and then I go through and start to refine it.
+
+00:20:19.680 --> 00:20:26.159
+My goal at one point was to have an Emacs config file that was
+
+00:20:26.160 --> 00:20:29.919
+really small and simple. And boy, that just doesn't happen.
+
+00:20:29.920 --> 00:20:35.759
+It's just too fun to add things and try new ideas. And I found
+
+00:20:35.760 --> 00:20:41.839
+my files were just littered with good ideas that were
+
+00:20:41.840 --> 00:20:47.119
+half-baked and not finished. And so it's like, oh, I need to
+
+00:20:47.120 --> 00:20:49.959
+extract these and put them into different files so I can keep
+
+00:20:49.960 --> 00:20:54.359
+it clean. And so I think it's like with any code base, you're
+
+00:20:54.360 --> 00:20:58.999
+just going to keep refactoring. It's an iterative process.
+
+00:20:59.000 --> 00:21:04.199
+So having the ability to, like with an Org file, where you can
+
+00:21:04.200 --> 00:21:09.159
+archive a subtree. Okay, this idea didn't pan out. Archive
+
+00:21:09.160 --> 00:21:13.519
+it. I can come back to it later. Being able to just kind of
+
+00:21:13.520 --> 00:21:20.399
+shove it somewhere else is really a nice little feature. All
+
+00:21:20.400 --> 00:21:25.079
+right. Not a question, just a comment. We need more of your
+
+00:21:25.080 --> 00:21:29.239
+insightful posts and videos. Oh, thanks.
+
+00:21:29.240 --> 00:21:35.519
+I appreciate it. Yes, it's been a fun journey. And I think we
+
+00:21:35.520 --> 00:21:38.519
+are coming up on our time, actually. So that is just an
+
+00:21:38.520 --> 00:21:41.919
+amazing quiz. And it helps me from manipulating, as I said,
+
+00:21:41.920 --> 00:21:46.959
+or as I put it earlier, like my chance as an organizer, or not
+
+00:21:46.960 --> 00:21:50.679
+manipulating, monopolizing my chance as an organizer to
+
+00:21:50.680 --> 00:21:53.439
+just get a chance to pick your brain on all kinds of things,
+
+00:21:53.440 --> 00:21:58.959
+which is too kind, too kind. Appreciate it. It's been fun.
+
+00:21:58.960 --> 00:22:04.679
+All right, I'll try answering more questions online as
+
+00:22:04.680 --> 00:22:07.959
+well. All right, talk to you later. And we appreciate your
+
+00:22:07.960 --> 00:22:10.399
+being in a huge resource that you are to the community.
+
+00:22:10.400 --> 00:22:14.199
+Thanks to everyone for tuning in and we'll be coming over to
+
+00:22:14.200 --> 00:22:18.239
+our next talk in just a moment here. And so bear with us
+
+00:22:18.240 --> 00:22:23.239
+through the transition as we slip into, I think it's our, is
+
+00:22:23.240 --> 00:22:26.919
+that our penultimate or our ultimate talk? We have one or two
+
+00:22:26.920 --> 00:22:30.119
+left, I'm not sure. I think we've got a couple of talks left.
+
+00:22:30.120 --> 00:22:34.079
+I'm back. Thank you, Howard. And we will be moving to the next
+
+00:22:34.080 --> 00:22:37.159
+talk in about six minutes. So if you need to grab some coffee,
+
+00:22:37.160 --> 00:22:42.119
+some tea, use the time wisely. And to confirm, we will have
+
+00:22:42.120 --> 00:22:44.319
+one, two, three more talks this afternoon. So there's still
+
+00:22:44.320 --> 00:22:48.160
+plenty to go around. See you in a bit, folks.