WEBVTT 00:00.000 --> 00:07.879 All right, take it away. Okay, am I, are we live? 00:07.880 --> 00:12.759 Yes, we're live. Oh man, holy moly. 00:12.760 --> 00:19.359 Oh, that's surreal. Hi everyone. Oh man. 00:19.360 --> 00:26.319 Ah, so excited to be here. So good to see all of you. Okay. 00:26.320 --> 00:29.479 So, should we just go ahead and get right into it? 00:29.480 --> 00:38.479 Yeah, let me, let me see here. So I have. 00:38.480 --> 00:41.559 Yeah, I see, I see some, I see some questions coming in. 00:41.560 --> 00:47.079 Perfect. I am going to show my share my screen real quick. 00:47.080 --> 00:54.399 We have currently currently we have 00:54.400 --> 00:59.079 a sort of a dross thing going. 00:59.080 --> 01:04.519 And so I just wanted to, while we're waiting 01:04.520 --> 01:05.559 for some more stuff to come in, 01:05.560 --> 01:11.919 I just wanted to sort of idle on this buffer here. 01:11.920 --> 01:13.559 If you increase your font size slightly, 01:13.560 --> 01:15.959 that might be even nicer. 01:15.960 --> 01:38.159 Yes, absolutely, gladly. Whoa, okay. There we go. 01:38.160 --> 01:41.559 All right, the first question 01:41.560 --> 01:45.839 was looking for examples of files in book club style. 01:45.840 --> 01:48.799 The person says, that seems to be related 01:48.800 --> 01:49.679 to what I've been doing, 01:49.680 --> 01:54.239 but coming from different influences. Yes, yes. 01:54.240 --> 02:03.559 So I included a, included a, 02:03.560 --> 02:07.879 Let me see, I'm just looking at the IRC here 02:07.880 --> 02:16.719 and smiling at all the people. So, yes, I provided a link. 02:16.720 --> 02:19.039 So I think that an excellent. 02:19.040 --> 02:24.159 So I have gone ahead and provided 02:24.160 --> 02:26.959 the get the link to the repo 02:26.960 --> 02:30.479 and I'm going to go ahead and post that again. 02:30.480 --> 02:34.039 So this should serve as a full example 02:34.040 --> 02:39.519 of what a just sort of standard book club file looks like. 02:39.520 --> 02:41.559 And if anyone has like specific questions 02:41.560 --> 02:42.839 about anything in particular, 02:42.840 --> 02:47.799 they would love to see my sort of like walkthrough 02:47.800 --> 02:52.239 and narrate like specifically, you know, any place in this file 02:52.240 --> 02:55.319 that they would like to see me sort of like go over live, 02:55.320 --> 02:58.719 I would be super happy to do that. 02:58.720 --> 03:03.439 So I have the whole, you know, more or less complete 03:03.440 --> 03:10.799 book club file for Squint pulled up here. 03:10.800 --> 03:14.599 Yeah, I have my vision laid out, 03:14.600 --> 03:18.639 which has my initial sort of goal. 03:18.640 --> 03:22.879 you know, the background and the vision sort of combined 03:22.880 --> 03:28.559 to lay out what my general sort of goal is. 03:28.560 --> 03:31.319 I just realized, let me kill my stream there. 03:31.320 --> 03:39.079 There we go. All right. There's another question. 03:39.080 --> 03:41.439 The product of a tapa like squint.org 03:41.440 --> 03:44.359 would be pure gold for an agent like Cloud Code. 03:44.360 --> 03:47.519 Have you experimented with providing an agent with a final output 03:47.520 --> 03:50.919 and letting it chew through to-dos? 03:50.920 --> 03:53.319 That would be a really excellent question. 03:53.320 --> 03:54.919 I actually just kind of recently 03:54.920 --> 03:58.159 got into Clawed in particular. 03:58.160 --> 04:01.679 I played quite a bit with GPT and 04:01.680 --> 04:07.239 and a lot of 8 billion parameter local models. 04:07.240 --> 04:09.879 And I was never super impressed. 04:09.880 --> 04:12.999 It always felt like I was just sort of wrangling 04:13.000 --> 04:14.639 to get it on the same page, 04:14.640 --> 04:16.799 whether as a result of sycophantism 04:16.800 --> 04:19.399 or really just not having enough parameters 04:19.400 --> 04:21.919 in order to understand the context of what's going on. 04:21.920 --> 04:25.759 Cloud has completely changed my perception 04:25.760 --> 04:27.359 of what an LLM can do or not. 04:27.360 --> 04:31.119 It makes autonomy not seem like a total fever train. 04:31.120 --> 04:36.439 I have definitely been curious about 04:36.440 --> 04:39.639 how an LLM would react to book club files. 04:39.640 --> 04:41.719 I think that, yeah, especially like, 04:41.720 --> 04:43.799 I've been daydreaming a little bit about, 04:43.800 --> 04:49.919 you know, having it generate scratch artifacts 04:49.920 --> 04:54.799 or suggesting, you know, changes to the format. 04:54.800 --> 04:58.959 It's like, yeah, the fact that 04:58.960 --> 05:01.959 this is all like, you know, like super, 05:01.960 --> 05:05.239 The goal and the hope for all of this 05:05.240 --> 05:08.359 is that we're being verbose about our thinking anyway. 05:08.360 --> 05:12.199 This is sort of how, by default, 05:12.200 --> 05:14.159 deep reasoning kind of works. 05:14.160 --> 05:15.799 I actually think that I totally agree. 05:15.800 --> 05:17.559 It would be a great fit. 05:17.560 --> 05:19.599 I have yet to personally do it, 05:19.600 --> 05:21.279 because I've always been just 05:21.280 --> 05:23.319 a little bit wary about, like, you know... 05:23.320 --> 05:24.999 Well, if I'm writing a program, 05:25.000 --> 05:26.879 I want to write it, you know? 05:26.880 --> 05:29.239 People often talk about, like, you know, 05:29.240 --> 05:31.919 oh, I just want to hand off 05:31.920 --> 05:34.159 the boring parts to Claude. 05:34.160 --> 05:36.519 But the thing is, if I'm writing an e-list, 05:36.520 --> 05:39.479 I find the whole thing to be kind of fun. 05:39.480 --> 05:46.079 be super, um, it would be super interested in, you know, 05:46.080 --> 05:48.159 just sort of as a point of exercise, 05:48.160 --> 05:49.479 like seeing what it's capable of. 05:49.480 --> 05:51.479 Because I think, I really do think 05:51.480 --> 05:54.119 that this would be kind of an ideal environment. 05:54.120 --> 05:55.879 It is kind of close to, you know, 05:55.880 --> 05:59.039 native-ish, how LLMs think. 05:59.040 --> 06:01.399 There's also, like, you know, of course, 06:01.400 --> 06:03.479 the, um, the privacy angle. 06:03.480 --> 06:05.119 I don't necessarily want to provide 06:05.120 --> 06:09.319 a whole bunch of code verbatim that I intend to GPL3. 06:09.320 --> 06:15.719 But I believe that Claude kind of has a better policy 06:15.720 --> 06:20.639 in terms of what does and does not become training data. 06:20.640 --> 06:22.439 I'll have to look into Claude in particular 06:22.440 --> 06:24.599 because I feel like that would be my target for it. 06:24.600 --> 06:29.679 But yeah, I think that's definitely onto something. 06:29.680 --> 06:31.439 I've definitely thought about this. 06:31.440 --> 06:33.759 I've definitely been really curious about this. 06:33.760 --> 06:40.279 Next question, do you think every Tapa 06:40.280 --> 06:42.479 should have its own book club file as well? 06:42.480 --> 06:45.559 Or would you rather keep just one book club file 06:45.560 --> 06:46.559 in the top of the project? 06:46.560 --> 06:51.559 So I think that I definitely would advise 06:51.560 --> 06:54.879 that each Tapa have its own book club file. 06:54.880 --> 06:59.479 The reason being is because I find that for me personally, 06:59.480 --> 07:00.799 the way that my brain kind of works 07:00.800 --> 07:06.239 is that out of sight, out of mind is very literal for me. 07:06.240 --> 07:13.519 I find that I find that. What am I thinking of? 07:13.520 --> 07:19.959 Sorry, I just saw that I got an email 07:19.960 --> 07:22.799 and I'm like, yeah, okay, cool. 07:22.800 --> 07:27.319 Case in point, right? We are at case in point, you know, 07:27.320 --> 07:30.519 out of sight, out of mind. Yes, no, absolutely. 07:30.520 --> 07:35.799 Yeah, no, exactly. I, um, I'm definitely quite ADHD 07:35.800 --> 07:36.879 and it works for my advantage 07:36.880 --> 07:38.959 because it provides all sorts of versatility. 07:38.960 --> 07:42.439 This is another great advantage of book club. 07:42.440 --> 07:46.399 If you have an ADHD mind like I do where, you know, 07:46.400 --> 07:48.319 You love jumping around and working on 07:48.320 --> 07:51.519 all sorts of different pieces simultaneously. 07:51.520 --> 07:52.999 You don't like sitting down 07:53.000 --> 07:54.519 and doing the same thing all day 07:54.520 --> 07:57.239 unless it really latches onto you. 07:57.240 --> 07:59.759 You know, you can pivot and you don't do anything. 07:59.760 --> 08:02.559 It really rewards the fact that you can pivot. 08:02.560 --> 08:06.039 So I find that to be really excellent. 08:06.040 --> 08:08.359 But to go back to the original a question, 08:08.360 --> 08:11.519 I would definitely recommend, 08:11.520 --> 08:13.759 at least in my circumstance, 08:13.760 --> 08:15.679 I find it to be incredibly useful 08:15.680 --> 08:19.199 to have each tapa be its own book club file 08:19.200 --> 08:21.839 rather than to have a unified file 08:21.840 --> 08:26.599 that holds all of your tapas. You can definitely do this, 08:26.600 --> 08:28.959 especially if you're using org 08:28.960 --> 08:31.279 to organize it hierarchically. 08:31.280 --> 08:33.759 It's just sort of a matter of preference 08:33.760 --> 08:34.719 and style at that point. 08:34.720 --> 08:39.319 So long as you're making a clear distinction between your tapas, 08:39.320 --> 08:40.359 that's the main thing 08:40.360 --> 08:42.399 that I would recommend no matter what, 08:42.400 --> 08:44.919 because the whole hope that I have is that 08:44.920 --> 08:47.879 you have a sort of separation of focus 08:47.880 --> 08:49.599 between the different you know, 08:49.600 --> 08:54.719 the different focuses of your different tapas, 08:54.720 --> 08:57.959 they really should ideally feel like different programs 08:57.960 --> 09:00.119 so that you're not, you know, 09:00.120 --> 09:02.079 getting over yourself, getting ahead of yourself. 09:02.080 --> 09:05.079 I think that, you know, on that basis, 09:05.080 --> 09:07.479 I would probably default to recommending 09:07.480 --> 09:12.919 that tapas have their own separate book club files, 09:12.920 --> 09:15.679 because ideally they should kind of be different 09:15.680 --> 09:19.239 sort of independent but related thoughts. 09:19.240 --> 09:21.719 But at the same time, I mean, like, you know, 09:21.720 --> 09:23.559 this is coming from someone 09:23.560 --> 09:26.679 who like has a billion small, like, you know, 09:26.680 --> 09:28.679 I had one giant org file for a long time 09:28.680 --> 09:31.759 and then realized that really didn't work for me. 09:31.760 --> 09:34.239 So now I have a billion tiny ones. 09:34.240 --> 09:38.439 So depending upon how you feel about, you know, 09:38.440 --> 09:40.759 should I have one really big org file 09:40.760 --> 09:42.479 or a bunch of really little org files? 09:42.480 --> 09:44.639 I feel like that more or less gives your answer. 09:44.640 --> 09:48.359 I think it's whatever works best for you. 09:48.360 --> 09:51.439 I know that far and away what works best for me 09:51.440 --> 09:55.239 is having separate files. No matter what, you should have 09:55.240 --> 09:57.999 separation of concept though. 09:58.000 --> 10:00.639 But however you do that is, you know, 10:00.640 --> 10:01.919 is best your judgment call. 10:01.920 --> 10:11.399 Next question, how do you build habits 10:11.400 --> 10:13.119 when it comes to documentation? 10:13.120 --> 10:16.039 I tend to produce lots of documentation in one go, 10:16.040 --> 10:19.319 then effectively forget to do it for long periods of time 10:19.320 --> 10:20.599 and end up playing catch up, 10:20.600 --> 10:22.479 which results in a loss of precision, 10:22.480 --> 10:24.319 as you alluded to in your talk. 10:24.320 --> 10:26.519 In a work setting, when something goes on fire 10:26.520 --> 10:28.919 or priorities change, it can be hard to keep discipline. 10:28.920 --> 10:32.559 Would love your thoughts. Thanks. Yes, absolutely. 10:32.560 --> 10:35.719 So what I tend to do is I don't 10:35.720 --> 10:39.239 So really, so far, what I've been doing 10:39.240 --> 10:42.159 is that I haven't been making a conscious priority 10:42.160 --> 10:45.359 of writing documentation at all. 10:45.360 --> 10:48.039 And if that sounds contradictory 10:48.040 --> 10:51.759 to the talk, that is correct. 10:51.760 --> 10:54.999 What I mean by this is that I go about 10:55.000 --> 11:00.039 is that when I'm writing code, 11:00.040 --> 11:03.959 when I'm writing, you know, drafts of my functions, 11:03.960 --> 11:05.439 the way that I tend to approach this, 11:05.440 --> 11:07.279 the way that I really emphasize the approach for it, 11:07.280 --> 11:12.999 is that I want to focus first and foremost 11:13.000 --> 11:15.559 on sort of like just writing down 11:15.560 --> 11:17.519 what my internal monologue is 11:17.520 --> 11:23.519 for what I'm doing for that pass working on the file. 11:23.520 --> 11:25.919 So my document takes ultimate 11:25.920 --> 11:29.519 Distance of dark is ultimately a property 11:29.520 --> 11:32.359 from the fact that I am writing 11:32.360 --> 11:35.119 what I'm doing as I'm doing it. 11:35.120 --> 11:37.759 And it's more or less just I'm just 11:37.760 --> 11:39.759 mashing out the stream of consciousness 11:39.760 --> 11:43.359 of what's going on inside my head as it's happening. 11:43.360 --> 11:47.679 So if we go down and we take a look at, 11:47.680 --> 11:53.319 yeah, so let's go ahead and take a look back at the macro. 11:53.320 --> 11:56.359 Yeah, really, this is kind of cheating, 11:56.360 --> 12:01.119 because mostly I would consider this to be self-documenting, 12:01.120 --> 12:07.919 but we all kind of know that 12:07.920 --> 12:11.759 that in and of itself is a slippery slope. 12:11.760 --> 12:14.799 That's not great. Because it's like, I could believe 12:14.800 --> 12:17.719 that this would be self-documenting 12:17.720 --> 12:19.959 if this was a three-liner. 12:19.960 --> 12:24.719 It is not. which, you know, also goes to show me 12:24.720 --> 12:27.759 that this needs to be splitting into its own topos. 12:27.760 --> 12:32.239 I intend to, you know, write a Tapa that's a sort of, 12:32.240 --> 12:37.079 that's a sort of like macro builder 12:37.080 --> 12:40.559 that automatically, you know, does the gensims for you. 12:40.560 --> 12:41.959 Something along the lines of 12:41.960 --> 12:46.679 what's the common Lisp macro for that called? 12:46.680 --> 12:51.879 It's like, There's some common list faculty 12:51.880 --> 12:53.919 that does automatic Jensen binding. 12:53.920 --> 12:55.479 I can't quite remember what it's called. 12:55.480 --> 13:01.559 A prior version of this talk had my live coding that, 13:01.560 --> 13:04.319 but that ended up sort of distracting 13:04.320 --> 13:07.399 from what I kind of wanted to nail out and focus on. 13:07.400 --> 13:12.279 But really kind of what I do is that, 13:12.280 --> 13:19.159 let me see here if I can find some sort of, 13:19.160 --> 13:26.159 Yeah, so I have in my research section 13:26.160 --> 13:36.039 sort of layout like what the quirks of all this sort of are. 13:36.040 --> 13:39.839 I think my development focuses contain 13:39.840 --> 13:41.479 a little bit of what could be ultimately 13:41.480 --> 13:42.959 considered to be documentation. 13:42.960 --> 13:46.999 Yeah, as I'm looking through all of this, 13:47.000 --> 13:48.279 I'm kind of realizing that like, 13:48.280 --> 13:49.319 you know, yeah, there's stuff 13:49.320 --> 13:51.319 that I'm into documentation here, 13:51.320 --> 13:53.119 but it's all a little ad hoc. 13:53.120 --> 13:55.719 You know, I would, in part, 13:55.720 --> 13:57.319 the design of this particular tapa 13:57.320 --> 13:59.639 is arguably not currently, 13:59.640 --> 14:02.319 but is going to be simple enough such that 14:02.320 --> 14:04.679 a doc string is sufficient for documentation. 14:04.680 --> 14:06.999 That is not the case currently. 14:07.000 --> 14:12.279 All right, next question is, 14:12.280 --> 14:18.559 how do you write examples and tests? 14:18.560 --> 14:24.679 I think that you mentioned that during the talk, 14:24.680 --> 14:27.359 but I couldn't find them on a very quick look 14:27.360 --> 14:35.239 at your org file in the Squint repo. 14:35.240 --> 14:40.519 My use of the word test was a little bit creative. 14:40.520 --> 14:42.759 It's my validation of the code that I've written. 14:42.760 --> 14:45.479 I more or less tend to do a, 14:45.480 --> 14:50.079 I tend to try and write really small functions 14:50.080 --> 14:52.039 and have really aggressive validation 14:52.040 --> 14:55.799 by just making sure that, like, you know, 14:55.800 --> 14:59.919 when I chain functions in the REPL, 14:59.920 --> 15:03.199 each step of them produces results 15:03.200 --> 15:07.799 that are really quite immediately and self-verifiably seen. 15:07.800 --> 15:11.719 Now, this isn't a great excuse to not use a test suite, 15:11.720 --> 15:12.879 but it's gotten me pretty far. 15:12.880 --> 15:19.199 What I mean by tests is that in the research sections, 15:19.200 --> 15:26.279 what I've done is, so I've created a sort of tested 15:26.280 --> 15:29.399 in the sense that I have created 15:29.400 --> 15:33.759 a really highly representative case 15:33.760 --> 15:38.279 of the way that the program ultimately ought to behave. 15:38.280 --> 15:43.399 In doing so, I created a sort of embedded domain language 15:43.400 --> 15:46.359 that I have termed animal houses. 15:46.360 --> 15:50.999 And Animal Houses is a sort of markup language 15:51.000 --> 15:54.879 that has rather simple rules. 15:54.880 --> 16:00.879 This here is the entirety of the spec for Animal Houses. 16:00.880 --> 16:06.559 Grammar or anything, but like, it is more or less. 16:06.560 --> 16:08.839 Breadth of everything that needs to be known 16:08.840 --> 16:10.519 about how animal houses works. 16:10.520 --> 16:14.279 And I've created animal houses because it is an ideal 16:14.280 --> 16:18.479 and incredibly simple circumstance. 16:18.480 --> 16:22.679 For how to go about as needed tests. 16:22.680 --> 16:28.119 For how squint ultimately ought to work in practice. 16:28.120 --> 16:30.239 So when I'm doing research, 16:30.240 --> 16:34.759 what I do is I take the text of animal houses, 16:34.760 --> 16:39.879 and I will go ahead and insert it into a buffer. 16:39.880 --> 16:46.599 And I'll just create an analog buffer. 16:46.600 --> 16:48.639 I just called it a woo. 16:48.640 --> 16:55.959 And then what I'll do is in my research sections, I will write 16:55.960 --> 17:01.199 Like I'll write like step-by-step 17:01.200 --> 17:07.919 like instructions on how to go about with a REPL-driven detection 17:07.920 --> 17:15.119 using animal houses. So it does squint pass label 17:15.120 --> 17:16.799 to width restriction correctly. 17:16.800 --> 17:20.479 The tests conducted here indicate that it does not. 17:20.480 --> 17:25.839 And then I link to a development focus. 17:25.840 --> 17:29.959 that um effectively acts as my bug report 17:29.960 --> 17:33.999 or sorry my uh you know my bug for um 17:34.000 --> 17:37.599 my bug listing for this particular problem 17:37.600 --> 17:38.479 that I've identified 17:38.480 --> 17:41.439 I lay out some criteria of how to 17:41.440 --> 17:44.959 go about using the REPL to um 17:44.960 --> 17:47.079 you know I identify what I believe 17:47.080 --> 17:49.479 is sort of like the quarantined area 17:49.480 --> 17:50.639 that I found for the bug 17:50.640 --> 17:56.799 and then test is that I will go about 17:56.800 --> 17:59.279 engaging with narration 17:59.280 --> 18:03.479 the step-by-step of how I produce 18:03.480 --> 18:07.039 the circumstances around the bug 18:07.040 --> 18:10.559 until I ultimately narrow all the way in 18:10.560 --> 18:14.199 and arrive at a conclusion. 18:14.200 --> 18:16.879 Something's going on with the screen share. 18:16.880 --> 18:18.799 I can see your screen but 18:18.800 --> 18:23.239 the server cannot see your screen updating. 18:23.240 --> 18:28.439 Sorry. Oh, no. Maybe you stop switching. 18:28.440 --> 18:33.399 Yeah, and then we just redo it again. Thank you. 18:33.400 --> 18:36.039 Yes, absolutely. 18:36.040 --> 18:39.039 Thanks to someone who noticed the buffer time, 18:39.040 --> 18:42.919 the time in the load line was not updating. 18:42.920 --> 18:50.079 Okay, let's try that again. Now it's updating. Gotcha. 18:50.080 --> 18:54.999 I hope that wasn't going on for too, too long. 18:55.000 --> 18:57.279 Hopefully what I was saying 18:57.280 --> 19:02.559 wasn't completely indecipherable. Let me see here. 19:02.560 --> 19:06.959 Yeah, this is the sample text for animal houses. 19:06.960 --> 19:10.839 This is the spec, not a formal grammar, 19:10.840 --> 19:12.719 but it is more or less the whole of the spec 19:12.720 --> 19:16.399 that you need to write a parser for animal houses. 19:16.400 --> 19:19.359 Most of the tests around Squint involve 19:19.360 --> 19:23.999 writing sort of ad hoc parsers for animal houses. 19:24.000 --> 19:27.199 Just when I have it in its own buffer, you know, 19:27.200 --> 19:29.719 I find more or less it's an excellent way 19:29.720 --> 19:31.199 of going about testing 19:31.200 --> 19:36.359 in an ad hoc sort of REPL driven manner. 19:36.360 --> 19:39.879 that I just sort of write regular 19:39.880 --> 19:43.799 that pull out the pieces of the sections of buffer 19:43.800 --> 19:49.439 that represent the different fields and data types 19:49.440 --> 19:51.599 in association with the animals 19:51.600 --> 19:54.879 and the houses to which they belong. 19:54.880 --> 20:00.319 And then when I am engaging in research, 20:00.320 --> 20:03.559 Um, you know, what, what my research section is, 20:03.560 --> 20:05.079 is I'm ultimately just sort of like 20:05.080 --> 20:06.399 laying out, like, you know, 20:06.400 --> 20:10.239 I'm sort of thinking to myself, is this working right? 20:10.240 --> 20:11.319 I feel like, like, I feel like 20:11.320 --> 20:14.639 there's something here, something in this area. 20:14.640 --> 20:16.919 And I'll, you know, ask myself, well, 20:16.920 --> 20:20.199 kind of like, what is it, you know, what am I looking for? 20:20.200 --> 20:22.519 And then nail down, how am I going 20:22.520 --> 20:24.439 to go about looking for it? 20:24.440 --> 20:30.559 The process of working with the REPL 20:30.560 --> 20:34.319 to sort of pin down like what exactly is going on 20:34.320 --> 20:36.119 and come to a conclusion 20:36.120 --> 20:44.519 on completely jumping out of order. 20:44.520 --> 20:47.799 Have you experimented in like whisper.el 20:47.800 --> 20:49.759 for doing speech to text 20:49.760 --> 20:51.999 as you think out loud into your book club? 20:52.000 --> 20:56.799 Now I am. I love that idea. That is awesome. 20:56.800 --> 21:00.039 Yeah, no, I love that. 21:00.040 --> 21:04.839 Even with, I only have a CPU, no GPU on mine, 21:04.840 --> 21:08.039 it does capture things a lot faster. 21:08.040 --> 21:12.199 And because it actually saves the recording to a WAV, 21:12.200 --> 21:14.239 or I guess you can configure it, 21:14.240 --> 21:16.959 in case it doesn't recognize something well, 21:16.960 --> 21:20.799 you can go back and check it. That's nice. 21:20.800 --> 21:24.319 I like that more than a straight speech-text thing. 21:24.320 --> 21:27.439 I've been mulling over the idea 21:27.440 --> 21:30.959 of having a keystroke save into a background buffer 21:30.960 --> 21:33.399 so that even when I'm looking at something else, 21:33.400 --> 21:37.919 I can dictate into my equivalent of the book club file. 21:37.920 --> 21:41.759 Yes, yes, yes, absolutely. 21:41.760 --> 21:44.719 So you can be scrolling through documentation on, like, 21:44.720 --> 21:48.079 you can be scrolling through documentation on one screen 21:48.080 --> 21:49.799 and you can be musing to yourself about, 21:49.800 --> 21:52.479 like, you know, is this supposed to work this way? 21:52.480 --> 21:57.319 Like, you know, like, what in terms of, like, 21:57.320 --> 21:59.799 you know, like, I see this function. 21:59.800 --> 22:01.279 It sounds like it's what I'm looking for. 22:01.280 --> 22:03.399 I don't know if the types are quite right. 22:03.400 --> 22:05.679 I don't understand. It's named what I'm looking for, 22:05.680 --> 22:07.319 but I don't know what it's taking in. 22:07.320 --> 22:09.439 You can reason through all of this. 22:09.440 --> 22:10.599 You're not even writing into the buffer 22:10.600 --> 22:14.119 that you're working with. That's actually so cool. 22:14.120 --> 22:17.279 Or you can type into the org capture process 22:17.280 --> 22:21.039 so that it can pick up an annotation automatically. 22:21.040 --> 22:24.719 Sorry, annotation is the link to the thing, 22:24.720 --> 22:26.159 whatever you're looking at. 22:26.160 --> 22:32.999 Oh, that's super cool. Yes. No, I actually really love it. 22:33.000 --> 22:36.119 I haven't, you know, hooking this all up to Org Capture at all. 22:36.120 --> 22:58.639 I actually really love that idea in of itself. Yeah. 22:58.640 --> 23:01.119 Or a capture will give you a lot of capture options. 23:01.120 --> 23:03.159 Like you can capture to your currently 23:03.160 --> 23:11.039 clocked in, uh, heading. So then it just files your note 23:11.040 --> 23:12.919 in the right place automatically. 23:12.920 --> 23:19.199 Absolutely. I love that. Let me see. 23:19.200 --> 23:22.279 I'm actually like writing a note to try that out. 23:22.280 --> 23:25.159 I'm definitely going to have to do that. 23:25.160 --> 23:36.039 Like the flexibility of that in particular sounds just perfect. 23:36.040 --> 23:38.239 I'd like to finish typing noises 23:38.240 --> 23:39.679 and then we can ask the next question 23:39.680 --> 23:41.239 for which there is one. 23:41.240 --> 23:45.839 The question is, what is the largest project 23:45.840 --> 23:48.479 in terms of team size you had the chance to consult 23:48.480 --> 23:51.079 and introduce the book club tapas concept? 23:51.080 --> 23:53.199 And what has been your experiences with these setups, 23:53.200 --> 23:56.279 implying larger applications or solutions 23:56.280 --> 23:57.319 that company is working on? 23:57.320 --> 24:01.959 So yeah, probably the largest application. 24:01.960 --> 24:05.879 So I have, It's been interesting. 24:05.880 --> 24:08.879 So in regards to this, the largest, 24:08.880 --> 24:10.119 I would say two people 24:10.120 --> 24:12.719 in a couple of different circumstance. 24:12.720 --> 24:20.079 So it's the pair of us working in a startup context. 24:20.080 --> 24:24.439 And then, you know, we both have 24:24.440 --> 24:25.799 like rather technical backgrounds. 24:25.800 --> 24:27.479 We can both more or less, you know, 24:27.480 --> 24:33.639 You know, sort of reason about particularly excite, 24:33.640 --> 24:37.199 especially as we've been building up top us is that, 24:37.200 --> 24:39.559 you know, well, we're both rather technical. 24:39.560 --> 24:42.679 You know, I'm definitely software engineering sort of end. 24:42.680 --> 24:47.359 And, you know, this partner is more. 24:47.360 --> 24:50.999 I mean, he's done all sorts of different engineering, 24:51.000 --> 24:54.039 but none of it in a, like, especially software context. 24:54.040 --> 24:56.559 So like, you know, but what's been 24:56.560 --> 24:58.119 really cool about that is that 24:58.120 --> 24:59.599 especially as we've built up top us 24:59.600 --> 25:00.799 and made clear distinctions 25:00.800 --> 25:02.879 about what they ought to do, you know, 25:02.880 --> 25:04.599 he doesn't have a ton of like really, 25:04.600 --> 25:10.839 he doesn't like experience like 25:10.840 --> 25:12.479 specifically in software engineering, 25:12.480 --> 25:15.559 but because we have it all laid out 25:15.560 --> 25:17.399 in this really flexible way, 25:17.400 --> 25:20.199 he's able to pick up the ball and like, 25:20.200 --> 25:21.879 you know, like he's able to 25:21.880 --> 25:23.119 take the ball and run with it. 25:23.120 --> 25:25.279 because it's all laid out 25:25.280 --> 25:26.559 in a way that's so intuitive. 25:26.560 --> 25:28.719 Like, you know, he's able to like 25:28.720 --> 25:31.199 collaborate with me and like, 25:31.200 --> 25:33.279 you know, like, you know, run off these ideas 25:33.280 --> 25:34.919 and like really go for it. 25:34.920 --> 25:37.399 Like, you know, almost as quickly as I can, 25:37.400 --> 25:39.319 just because we've set up a structure 25:39.320 --> 25:42.159 where like all of the different pieces 25:42.160 --> 25:43.719 have these really intuitive 25:43.720 --> 25:46.399 and intrinsic and straightforward roles. 25:46.400 --> 25:47.839 And that's, that's something 25:47.840 --> 25:49.044 that's really exciting in of itself 25:49.045 --> 25:50.669 that I didn't really go over in the talk. 25:50.670 --> 25:54.359 Like a managerial perspective, 25:54.360 --> 25:56.919 this is actually a really excellent way 25:56.920 --> 26:01.199 of understanding the whole context 26:01.200 --> 26:04.799 of like what the software stack looks like. 26:04.800 --> 26:06.439 Because it's like, you know, 26:06.440 --> 26:09.119 it makes it more intuitive for developers for sure, 26:09.120 --> 26:10.719 but it makes it more intuitive for everyone. 26:10.720 --> 26:12.759 You know, it's on that basis 26:12.760 --> 26:14.839 that I can't imagine clients 26:14.840 --> 26:18.239 like just a better way at this point. 26:18.240 --> 26:22.239 Um, that was that was the other circumstance 26:22.240 --> 26:25.239 where I have been working with a partner. 26:25.240 --> 26:29.399 This has been with, um, you know, I would be, uh. 26:29.400 --> 26:31.919 You know, sort of going back and forth 26:31.920 --> 26:34.199 with someone who had hired me. 26:34.200 --> 26:40.159 Um, to, uh, like, you know, to work on contract. 26:40.160 --> 26:42.839 And I would use this to sort of go 26:42.840 --> 26:45.199 over with them about, um. 26:45.200 --> 26:51.239 Sort of get a solid idea of scope and function, 26:51.240 --> 26:57.199 do pre-planning as we're going into more specifics 26:57.200 --> 27:01.359 on what the overall look for the project 27:01.360 --> 27:03.479 and how it ought to look 27:03.480 --> 27:05.679 and how it all ought to be laid out. 27:05.680 --> 27:11.519 So there's a lot of really exciting flexibility there 27:11.520 --> 27:13.199 that I think is really cool. 27:13.200 --> 27:23.679 People will, of course, be curious 27:23.680 --> 27:25.919 about the mechanics of that collaboration. 27:25.920 --> 27:28.719 Did you get other people using Emacs in org? 27:28.720 --> 27:32.359 Were you using version control? Did you try out CRDT? 27:32.360 --> 27:33.239 How did it work? 27:33.240 --> 27:39.639 So all of this so far has been over screen share, 27:39.640 --> 27:43.679 where I would be stepping through the buffer by hand. 27:43.680 --> 27:47.839 I would love to set up some sort of an environment 27:47.840 --> 27:52.359 where I could get you know, clients and partners, 27:52.360 --> 27:53.359 like, you know, really excited 27:53.360 --> 27:54.799 about using Emacs on org. 27:54.800 --> 27:58.559 But, you know, it's, it can be a little bit to ask, 27:58.560 --> 28:00.119 I would love to see if I can, like, 28:00.120 --> 28:01.879 put together some sort of a config that, 28:01.880 --> 28:04.519 like, sands off all of this and, you know, 28:04.520 --> 28:08.079 makes this this really, you know, you know, 28:08.080 --> 28:13.759 like safety-proof sort of intuitive environment 28:13.760 --> 28:16.599 just for CRDT in particular. 28:16.600 --> 28:18.879 I love the idea of like, you know, 28:18.880 --> 28:21.479 sort of like spawning CRDT 28:21.480 --> 28:24.159 so that like, you know, the two of us can, 28:24.160 --> 28:27.559 you know, type SPAC and ideas 28:27.560 --> 28:31.239 and sort of like draft together on, you know, 28:31.240 --> 28:33.559 especially like the glue code tapa 28:33.560 --> 28:35.639 for a larger software stack. 28:35.640 --> 28:38.399 like collaborating on that over CRDT 28:38.400 --> 28:43.399 or having folks step through Tapas and, 28:43.400 --> 28:45.599 you know, unfold them and like, you know, 28:45.600 --> 28:46.719 point to a particular thing. 28:46.720 --> 28:49.159 And it's like, you know, like, what's, what's this? 28:49.160 --> 28:50.119 What's the clock here? 28:50.120 --> 28:52.239 It looks like we're spending a lot of time 28:52.240 --> 28:54.519 and I would like to get a little bit clearer 28:54.520 --> 28:56.319 of an idea of like what exactly we're doing here. 28:56.320 --> 29:01.319 back up a little bit because the stream just disconnected 29:01.320 --> 29:02.759 and reconnected from the audio. 29:02.760 --> 29:06.599 So, please repeat just the last sentence. 29:06.600 --> 29:11.959 Yeah, yeah, for sure. Yeah, so I would like, you know, 29:11.960 --> 29:18.239 I love the idea of, yeah, like, you know, collaborating on, 29:18.240 --> 29:20.519 especially like on the glue code. 29:20.520 --> 29:23.839 tapa for a particular software stack, you know, 29:23.840 --> 29:26.159 having the both of us use CRDT 29:26.160 --> 29:27.719 to type into it simultaneously, 29:27.720 --> 29:30.159 I think that would be super cool. 29:30.160 --> 29:33.679 I also really love the idea of, you know, 29:33.680 --> 29:38.159 having a client or partner, you know, 29:38.160 --> 29:41.479 thumb through individual tapas in the stack. 29:41.480 --> 29:45.639 And then like, you know, like, look at and be like, 29:45.640 --> 29:47.879 well, we seem to have time on this recently, 29:47.880 --> 29:51.759 can you give me like, some clarification on like, 29:51.760 --> 29:55.519 you know, what, what this part is and how it's, you know, 29:55.520 --> 29:57.559 what it means for the whole 29:57.560 --> 30:00.799 and sort of like what, you know, what it represents 30:00.800 --> 30:02.599 in terms of how all of this is going to come together. 30:02.600 --> 30:06.439 I think that would be super cool. I love the idea of that. 30:06.440 --> 30:11.679 I would even consider like, you know, if not Emacs proper, 30:11.680 --> 30:17.119 I would love like, you know, maybe a, a web-based org parser. 30:17.120 --> 30:21.399 for, you know, even on just a read-only version 30:21.400 --> 30:25.399 of the document where, you know, clients and partners, yeah, 30:25.400 --> 30:26.879 just sort of thumb through with it 30:26.880 --> 30:28.199 and then chat with questions. 30:28.200 --> 30:34.159 Make the, you know, screen sharing for, you know, 30:34.160 --> 30:36.519 peer programming process 30:36.520 --> 30:41.599 just a little bit cleaner, you know, more intuitive on their end. 30:41.600 --> 30:50.399 I think that'd be super cool. I love these ideas. 30:50.400 --> 30:55.002 All right, theoretically, the big blue button is open. 30:55.003 --> 30:57.002 I think we've gotten to the end 30:57.003 --> 31:00.294 of the questions on the etherpad. 31:00.295 --> 31:03.085 If anyone else would like to join or ask, 31:03.086 --> 31:04.840 I'm gonna need a couple of minutes 31:04.841 --> 31:06.359 and then I can do closing remarks 31:06.360 --> 31:07.999 whenever people are ready. 31:08.000 --> 31:14.479 So I will meet now when people figure things out. 31:14.480 --> 31:22.039 I would also be super down if, you know, 31:22.040 --> 31:25.319 anyone was curious about hearing more 31:25.320 --> 31:28.999 about some of the projects 31:29.000 --> 31:30.799 that I was kind of rambling 31:30.800 --> 31:34.679 at the close of the talk, 31:34.680 --> 31:36.479 if people wanted to, you know, 31:36.480 --> 31:39.359 hear more about, um, some of my ideas 31:39.360 --> 31:42.799 in regards to, um, uh, 31:42.800 --> 31:45.719 what am I thinking at home with the, uh, 31:45.720 --> 31:49.759 What's it called? 31:49.760 --> 31:53.479 Yeah, yeah, just sort of the, you know, 31:53.480 --> 31:55.439 some of the funding for passion projects, 31:55.440 --> 31:58.319 I would be interested in laying out some of the ideas 31:58.320 --> 31:59.959 about how that could work mechanically. 31:59.960 --> 32:02.559 And I think that that would be, you know, 32:02.560 --> 32:04.719 really cool for the whole ecosystem, 32:04.720 --> 32:06.719 because I think that there are definitely, 32:06.720 --> 32:09.639 you know, things that we could bang out, you know, 32:09.640 --> 32:12.919 for getting kind of all sorts of people on that model. 32:12.920 --> 32:14.519 I think that it would be really cool 32:14.520 --> 32:18.399 to to having a, you know, funding model 32:18.400 --> 32:20.239 for things that are really worth using. 32:20.240 --> 32:26.519 um and developing um the other thing is like 32:26.520 --> 32:28.199 you know just sort of um yeah 32:28.200 --> 32:31.559 just rattling off specifics on things 32:31.560 --> 32:34.960 that people could potentially vote for uh on that 32:34.961 --> 32:53.759 and in terms of specific might want to work on 32:53.760 --> 32:56.877 All right, there's a question from IRC. 32:56.878 --> 33:01.880 Sorry, I just got that. Did you address that one already? 33:01.881 --> 33:07.127 Let's see. Where is it? 33:07.128 --> 33:12.359 I will copy it from IRC. Thank you. 33:12.360 --> 33:14.319 Gotcha. Into the past. 33:14.320 --> 33:27.759 Perfect, perfect, perfect. 33:27.760 --> 33:30.679 Let me read the question out loud so it's in the recording. 33:30.680 --> 33:33.719 I guess a major pro is it has less friction 33:33.720 --> 33:35.759 as people can do a lot, 33:35.760 --> 33:39.039 maybe not everything in book lab tapas files 33:39.040 --> 33:42.639 versus having to log into gazillions of different systems, 33:42.640 --> 33:45.199 each one of them keeping a portion of the information. 33:45.200 --> 33:47.359 Did I get that viewing point right 33:47.360 --> 33:49.479 from your elaboration of the collaboration 33:49.480 --> 33:52.159 between you and your teammates? 33:52.160 --> 33:55.439 Yes. No, that's absolutely right. 33:55.440 --> 33:57.999 um because yeah like really 33:58.000 --> 34:00.519 my hope is that we can you know 34:00.520 --> 34:03.239 there's there's a lot of conflict into that 34:03.240 --> 34:13.359 we assume that a lot of um pieces of tooling 34:13.360 --> 34:14.559 and the separation between them 34:14.560 --> 34:16.439 is really sort of a necessary evil 34:16.440 --> 34:19.239 i think that you know having a system 34:19.240 --> 34:21.519 where really the complexity 34:21.520 --> 34:25.719 of engaging in all of the information 34:25.720 --> 34:29.119 relevant to the program. 34:29.120 --> 34:30.319 If it's in a format 34:30.320 --> 34:31.799 where you can just email it back and forth, 34:31.800 --> 34:33.199 break off pieces of it, 34:33.200 --> 34:35.119 work with those individually, 34:35.120 --> 34:38.759 I think that that's something 34:38.760 --> 34:40.279 that's incredibly rewarding. 34:40.280 --> 34:42.639 Something that just dawned on me 34:42.640 --> 34:44.439 that I wanted to mention 34:44.440 --> 34:46.959 that I've been daydreaming about 34:46.960 --> 34:49.399 is that in a circumstance 34:49.400 --> 34:52.079 where you have multiple developers, 34:52.080 --> 34:53.879 like, you know, across a larger team, 34:53.880 --> 34:57.359 working on a book club tapas driven project, 34:57.360 --> 35:02.559 what you can do is have, you know, 35:02.560 --> 35:04.559 a clear, you can lay out your goal, 35:04.560 --> 35:08.439 and then start splitting it to tapas from that point, 35:08.440 --> 35:11.839 and then assign each teammate their own tapa, 35:11.840 --> 35:13.279 which becomes their baby. 35:13.280 --> 35:15.639 And I really love the idea 35:15.640 --> 35:17.479 of people being able to, you know, 35:17.480 --> 35:20.319 have an idea of an interface 35:20.320 --> 35:21.599 about how all of these are 35:21.600 --> 35:22.719 ultimately come back together, 35:22.720 --> 35:26.639 but people have their own like agency 35:26.640 --> 35:27.919 over their own code base, 35:27.920 --> 35:29.119 despite the fact that they're 35:29.120 --> 35:30.479 working in collaboration. 35:30.480 --> 35:32.719 I think that it can be incredibly motivating 35:32.720 --> 35:36.079 for a team to, you know, have each person 35:36.080 --> 35:38.039 in charge of their own project, 35:38.040 --> 35:39.839 but of course it's all ultimately 35:39.840 --> 35:41.319 going to the same code base. 35:41.320 --> 35:43.199 So, you know, I think that, 35:43.200 --> 35:45.479 that a pursuit of beauty 35:45.480 --> 35:48.519 is this really solid motivator 35:48.520 --> 35:50.839 in terms of how people perceive 35:50.840 --> 35:53.959 the merits of their efforts 35:53.960 --> 35:56.479 and how that lights a fire under them 35:56.480 --> 35:58.999 to continue and keep going and dig deep 35:59.000 --> 36:00.559 when things get frustrating. 36:00.560 --> 36:02.799 When you have a personal stake 36:02.800 --> 36:03.399 in your project, 36:03.400 --> 36:06.479 I think that that's a really excellent time 36:06.480 --> 36:08.599 to really push and move forward on it. 36:08.600 --> 36:10.559 And people having ownership 36:10.560 --> 36:12.719 over this idea of their specific tapa 36:12.720 --> 36:14.999 could be a really cool way to do that 36:15.000 --> 36:15.759 in a team setting. 36:15.760 --> 36:19.999 But I pivoted off a little bit. 36:20.000 --> 36:24.559 So yes, but I absolutely did that. 36:24.560 --> 36:28.599 You know, that having a simplistic format 36:28.600 --> 36:29.999 for your information 36:30.000 --> 36:33.319 is a really solid way to have 36:33.320 --> 36:36.319 collaboration be frictionless. 36:36.320 --> 36:38.719 You have one source of information 36:38.720 --> 36:40.799 and you don't have to drown in your tooling. 36:40.800 --> 36:51.839 All right, I think you've addressed 36:51.840 --> 36:54.919 all the questions on the etherpad. 36:54.920 --> 36:56.799 And as you said, people can email you, 36:56.800 --> 36:58.439 even though the website looks like 36:58.440 --> 37:00.479 it's still not quite there yet, 37:00.480 --> 37:03.719 people can email you or ask questions 37:03.720 --> 37:05.039 to the etherpad afterwards. 37:05.040 --> 37:07.439 Is there anything else that 37:07.440 --> 37:11.039 you'd like to share or shall I wrap up, 37:11.040 --> 37:13.279 introduce myself doing the closing remarks 37:13.280 --> 37:16.959 and then try to do the closing remarks? 37:16.960 --> 37:18.839 Yes, so I have two last thoughts. 37:18.840 --> 37:21.439 Yes, no, I did just want to confirm 37:21.440 --> 37:24.319 that my email is completely working. 37:24.320 --> 37:27.199 If you want to keep up to date 37:27.200 --> 37:29.399 with the stuff that I'm working on, 37:29.400 --> 37:35.239 please shoot and I will, you know, at your request, 37:35.240 --> 37:38.119 I will add you to a mailing list. 37:38.120 --> 37:40.479 which will have intermittent updates. 37:40.480 --> 37:42.919 I'm not going to send you spam, 37:42.920 --> 37:47.279 but it will have updates for what I'm working on, 37:47.280 --> 37:48.599 what this all looks like, 37:48.600 --> 37:52.359 and just context for the different things 37:52.360 --> 37:53.119 that I'm working on. 37:53.120 --> 37:56.999 My website will be going up soon enough. 37:57.000 --> 38:01.119 I just got a little distracted because I'm like, 38:01.120 --> 38:05.239 oh, I'm just gonna spin up a Gux server 38:05.240 --> 38:06.999 and I'm gonna make it super cool 38:07.000 --> 38:09.119 when really I just need just 38:09.120 --> 38:12.439 Debian and Apache real quick, just something. 38:12.440 --> 38:16.679 So the website will be going up. It's just not up yet. 38:16.680 --> 38:19.959 And the very last thing is that 38:19.960 --> 38:22.959 I would really like to thank everyone 38:22.960 --> 38:27.199 that helped me to get here. I would like to thank you know, 38:27.200 --> 38:32.319 all of my, you know, I would like to thank my fiance. 38:32.320 --> 38:34.519 I would like to thank all of my friends. 38:34.520 --> 38:39.359 I would like to thank my, you know, 38:39.360 --> 38:42.119 my mentor and business partner, Sharon. 38:42.120 --> 38:45.119 I would like to thank Tracy, my therapist. 38:45.120 --> 38:48.279 I would like to thank my parents. 38:48.280 --> 38:53.279 I invited people to come watch this thing, 38:53.280 --> 38:55.279 and I would like to thank all of them. 38:55.280 --> 38:57.919 I would like to thank everyone 38:57.920 --> 39:02.439 who was planning on coming to this event anyway. 39:02.440 --> 39:06.359 The Emacs community is incredible, incredibly encouraging, 39:06.360 --> 39:09.399 incredibly kind, incredibly smart and talented. 39:09.400 --> 39:13.719 Y'all make Emacs what it is, and it is so cool. 39:13.720 --> 39:15.919 I would like to thank you, Satya. 39:15.920 --> 39:19.559 I would like to thank all of the organizers 39:19.560 --> 39:20.879 that made this possible. 39:20.880 --> 39:25.719 This thing is the coolest and it was, this was so cool.