diff options
Diffstat (limited to '')
9 files changed, 1076 insertions, 747 deletions
diff --git a/2025/captions/emacsconf-2025-bookclub-tapas--bookclub-tapas--maddie-sullivan--answers.vtt b/2025/captions/emacsconf-2025-bookclub-tapas--bookclub-tapas--maddie-sullivan--answers.vtt index feeab999..53f9486e 100644 --- a/2025/captions/emacsconf-2025-bookclub-tapas--bookclub-tapas--maddie-sullivan--answers.vtt +++ b/2025/captions/emacsconf-2025-bookclub-tapas--bookclub-tapas--maddie-sullivan--answers.vtt @@ -1,5 +1,7 @@ WEBVTT +NOTE Introduction + 00:00.000 --> 00:07.879 All right, take it away. Okay, am I, are we live? @@ -21,14 +23,11 @@ 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:41.560 --> 00:00:53.416 +Perfect. I am going to share my screen real quick. -00:54.400 --> 00:59.079 -a sort of a dross thing going. +00:00:53.417 --> 00:00:59.079 +Currently, we have a sort of a ?? thing going. 00:59.080 --> 01:04.519 And so I just wanted to, while we're waiting @@ -48,10 +47,12 @@ 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 +NOTE Q: Did you show examples of files in bookclub style? + +01:38.160 --> 00:01:40.899 All right, the first question -01:41.560 --> 01:45.839 +00:01:40.900 --> 01:45.839 was looking for examples of files in book club style. 01:45.840 --> 01:48.799 @@ -64,7 +65,7 @@ to what I've been doing, but coming from different influences. Yes, yes. 01:54.240 --> 02:03.559 -So I included a, included a, +So I included a... 02:03.560 --> 02:07.879 Let me see, I'm just looking at the IRC here @@ -73,15 +74,15 @@ Let me see, I'm just looking at the IRC here and smiling at all the people. So, yes, I provided a link. 02:16.720 --> 02:19.039 -So I think that an excellent. +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:24.160 --> 00:02:28.125 +the link to the repo -02:26.960 --> 02:30.479 +00:02:28.126 --> 02:30.479 and I'm going to go ahead and post that again. 02:30.480 --> 02:34.039 @@ -91,25 +92,25 @@ So this should serve as a full example 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 +And if anyone has 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 +they would love to see my walkthrough 02:47.800 --> 02:52.239 -and narrate like specifically, you know, any place in this file +and narrate 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, +that they would like to see me 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 +So I have the whole more or less complete 03:03.440 --> 03:10.799 book club file for Squint pulled up here. @@ -121,22 +122,24 @@ Yeah, I have my vision laid out, which has my initial sort of goal. 03:18.640 --> 03:22.879 -you know, the background and the vision sort of combined +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. +I just realized... Let me kill my stream there. 03:31.320 --> 03:39.079 There we go. All right. There's another question. +NOTE Q: The product of a Tapa like squint.org would be pure GOLD for an agent like Claude Code - have you experimented with providing an agent with the final output and letting it chew through todos? + 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. +would be pure gold for an agent like Claude Code. 03:44.360 --> 03:47.519 Have you experimented with providing an agent with a final output @@ -151,7 +154,7 @@ That would be a really excellent question. I actually just kind of recently 03:54.920 --> 03:58.159 -got into Clawed in particular. +got into Claude in particular. 03:58.160 --> 04:01.679 I played quite a bit with GPT and @@ -178,7 +181,7 @@ or really just not having enough parameters in order to understand the context of what's going on. 04:21.920 --> 04:25.759 -Cloud has completely changed my perception +Claude has completely changed my perception 04:25.760 --> 04:27.359 of what an LLM can do or not. @@ -253,19 +256,19 @@ oh, I just want to hand off the boring parts to Claude. 05:34.160 --> 05:36.519 -But the thing is, if I'm writing an e-list, +But the thing is, if I'm writing in Elisp, 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, +I'd 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. +seeing what it's capable of. 05:49.480 --> 05:51.479 Because I think, I really do think @@ -309,10 +312,12 @@ 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 +06:31.440 --> 00:06:37.919 I've definitely been really curious about this. -06:33.760 --> 06:40.279 +NOTE Q: Do you think every Tapa should have it's own Bookclub file as well? Or would you rather keep just one bookclub file in the top of the project? + +00:06:37.920 --> 06:40.279 Next question, do you think every Tapa 06:40.280 --> 06:42.479 @@ -339,16 +344,16 @@ 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:06.240 --> 00:07:16.207 +I find that... I find that... What am I thinking of? -07:13.520 --> 07:19.959 +00:07:16.208 --> 00:07:18.750 Sorry, I just saw that I got an email -07:19.960 --> 07:22.799 +00:07:18.751 --> 00:07:22.839 and I'm like, yeah, okay, cool. -07:22.800 --> 07:27.319 +00:07:22.840 --> 07:27.319 Case in point, right? We are at case in point, you know, 07:27.320 --> 07:30.519 @@ -394,7 +399,7 @@ It really rewards the fact that you can pivot. So I find that to be really excellent. 08:06.040 --> 08:08.359 -But to go back to the original a question, +But to go back to the original question, 08:08.360 --> 08:11.519 I would definitely recommend, @@ -405,10 +410,10 @@ at least in my circumstance, 08:13.760 --> 08:15.679 I find it to be incredibly useful -08:15.680 --> 08:19.199 +08:15.680 --> 00:08:18.699 to have each tapa be its own book club file -08:19.200 --> 08:21.839 +00:08:18.700 --> 08:21.839 rather than to have a unified file 08:21.840 --> 08:26.599 @@ -516,10 +521,12 @@ separation of concept though. 09:58.000 --> 10:00.639 But however you do that is, you know, -10:00.640 --> 10:01.919 +10:00.640 --> 00:10:08.039 is best your judgment call. -10:01.920 --> 10:11.399 +NOTE Q: How do you build habits when it comes to documentation? + +00:10:08.040 --> 10:11.399 Next question, how do you build habits 10:11.400 --> 10:13.119 @@ -550,7 +557,7 @@ or priorities change, it can be hard to keep discipline. Would love your thoughts. Thanks. Yes, absolutely. 10:32.560 --> 10:35.719 -So what I tend to do is I don't +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 @@ -564,10 +571,10 @@ of writing documentation at all. 10:45.360 --> 10:48.039 And if that sounds contradictory -10:48.040 --> 10:51.759 +10:48.040 --> 00:10:50.259 to the talk, that is correct. -10:51.760 --> 10:54.999 +00:10:50.260 --> 10:54.999 What I mean by this is that I go about 10:55.000 --> 11:00.039 @@ -595,10 +602,10 @@ what my internal monologue is for what I'm doing for that pass working on the file. 11:23.520 --> 11:25.919 -So my document takes ultimate +So my document takes ultimate... 11:25.920 --> 11:29.519 -Distance of dark is ultimately a property +Distance of doc is ultimately a property 11:29.520 --> 11:32.359 from the fact that I am writing @@ -624,19 +631,19 @@ 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 +11:56.360 --> 00:12:07.541 because mostly I would consider this to be self-documenting, -12:01.120 --> 12:07.919 +00:12:07.542 --> 00:12:09.500 but we all kind of know that -12:07.920 --> 12:11.759 +00:12:09.501 --> 12:11.759 that in and of itself is a slippery slope. -12:11.760 --> 12:14.799 +12:11.760 --> 00:12:16.167 That's not great. Because it's like, I could believe -12:14.800 --> 12:17.719 +00:12:16.168 --> 12:17.719 that this would be self-documenting 12:17.720 --> 12:19.959 @@ -646,33 +653,33 @@ if this was a three-liner. 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. +that this needs to be splitting into its own Tapas 12:27.760 --> 12:32.239 -I intend to, you know, write a Tapa that's a sort of, +I intend to, you know, write a Tapa 12:32.240 --> 12:37.079 -that's a sort of like macro builder +that's a sort of macro builder 12:37.080 --> 12:40.559 -that automatically, you know, does the gensims for you. +that automatically, you know, does the gensyms 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? +what's the Common Lisp macro for that called? 12:46.680 --> 12:51.879 -It's like, There's some common list faculty +It's like, there's some Common Lisp faculty 12:51.880 --> 12:53.919 -that does automatic Jensen binding. +that does automatic gensym binding. -12:53.920 --> 12:55.479 +12:53.920 --> 00:12:57.099 I can't quite remember what it's called. -12:55.480 --> 13:01.559 +00:12:57.100 --> 13:01.559 A prior version of this talk had my live coding that, 13:01.560 --> 13:04.319 @@ -732,28 +739,30 @@ 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 +14:04.680 --> 00:14:10.599 That is not the case currently. -14:07.000 --> 14:12.279 +NOTE Q: How do you write examples and tests? I think that you mentioned that during the talk, but I couldn't find them on a very quick look at your org file in the squint repo... + +00:14:10.600 --> 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 +14:18.560 --> 00:14:22.750 I think that you mentioned that during the talk, -14:24.680 --> 14:27.359 +00:14:22.751 --> 00:14:25.083 but I couldn't find them on a very quick look -14:27.360 --> 14:35.239 +00:14:25.084 --> 00:14:27.833 at your org file in the Squint repo. -14:35.240 --> 14:40.519 +00:14:27.834 --> 00:14:35.208 My use of the word test was a little bit creative. -14:40.520 --> 14:42.759 +00:14:35.209 --> 14:42.759 It's my validation of the code that I've written. 14:42.760 --> 14:45.479 @@ -802,7 +811,7 @@ of the way that the program ultimately ought to behave. In doing so, I created a sort of embedded domain language 15:43.400 --> 15:46.359 -that I have termed animal houses. +that I have termed Animal Houses. 15:46.360 --> 15:50.999 And Animal Houses is a sort of markup language @@ -820,19 +829,19 @@ Grammar or anything, but like, it is more or less. Breadth of everything that needs to be known 16:08.840 --> 16:10.519 -about how animal houses works. +about how Animal Houses works. 16:10.520 --> 16:14.279 -And I've created animal houses because it is an ideal +And I've created Animal Houses because it is an ideal -16:14.280 --> 16:18.479 -and incredibly simple circumstance. +16:14.280 --> 00:16:16.875 +and incredibly simple circumstance -16:18.480 --> 16:22.679 -For how to go about as needed tests. +00:16:20.040 --> 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. +for how Squint ultimately ought to work in practice. 16:28.120 --> 16:30.239 So when I'm doing research, @@ -847,46 +856,43 @@ and I will go ahead and insert it into a buffer. And I'll just create an analog buffer. 16:46.600 --> 16:48.639 -I just called it a woo. +I just called it awoo. 16:48.640 --> 16:55.959 -And then what I'll do is in my research sections, I will write +And then what I'll do is in my research sections, I will write... -16:55.960 --> 17:01.199 +16:55.960 --> 00:17:02.919 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 +00:17:02.920 --> 17:07.919 +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:07.920 --> 00:17:13.843 +using Animal Houses. So it does -17:15.120 --> 17:16.799 -to width restriction correctly. +00:17:13.844 --> 00:17:16.799 +squint pass label to :with-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. +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 +that effectively acts as my bug report, -17:34.000 --> 17:37.599 -my bug listing for this particular problem +17:29.960 --> 00:17:37.599 +or, sorry, my bug listing for this particular problem 17:37.600 --> 17:38.479 -that I've identified +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 +go about using the REPL to... 17:44.960 --> 17:47.079 you know I identify what I believe @@ -895,7 +901,7 @@ you know I identify what I believe is sort of like the quarantined area 17:49.480 --> 17:50.639 -that I found for the bug +that I found for the bug, 17:50.640 --> 17:56.799 and then test is that I will go about @@ -921,13 +927,13 @@ 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 +18:18.800 --> 00:18:25.119 the server cannot see your screen updating. -18:23.240 --> 18:28.439 -Sorry. Oh, no. Maybe you stop switching. +00:18:25.120 --> 00:18:30.749 +Sorry. Oh, no. Maybe you stop sharing... -18:28.440 --> 18:33.399 +00:18:30.750 --> 18:33.399 Yeah, and then we just redo it again. Thank you. 18:33.400 --> 18:36.039 @@ -937,7 +943,7 @@ Yes, absolutely. Thanks to someone who noticed the buffer time, 18:39.040 --> 18:42.919 -the time in the load line was not updating. +the time in the mode line was not updating. 18:42.920 --> 18:50.079 Okay, let's try that again. Now it's updating. Gotcha. @@ -967,22 +973,22 @@ that you need to write a parser for animal houses. Most of the tests around Squint involve 19:19.360 --> 19:23.999 -writing sort of ad hoc parsers for animal houses. +writing 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 +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:31.200 --> 00:19:35.479 +in an ad-hoc sort of REPL-driven manner -19:36.360 --> 19:39.879 -that I just sort of write regular +00:19:35.480 --> 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 @@ -1000,28 +1006,28 @@ and the houses to which they belong. And then when I am engaging in research, 20:00.320 --> 20:03.559 -Um, you know, what, what my research section is, +what my research section is, 20:03.560 --> 20:05.079 -is I'm ultimately just sort of like +is I'm ultimately just 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? +I'm thinking to myself, is this working right? 20:10.240 --> 20:11.319 -I feel like, like, I feel 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, +And I'll ask myself, well, 20:16.920 --> 20:20.199 -kind of like, what is it, you know, what am I looking for? +what is it, what am I looking for? 20:20.200 --> 20:22.519 And then nail down, how am I going @@ -1033,16 +1039,18 @@ to go about looking for it? The process of working with the REPL 20:30.560 --> 20:34.319 -to sort of pin down like what exactly is going on +to pin down what exactly is going on -20:34.320 --> 20:36.119 -and come to a conclusion +20:34.320 --> 00:20:42.867 +and come to a conclusion on... -20:36.120 --> 20:44.519 -on completely jumping out of order. +00:20:42.868 --> 00:20:44.519 +Completely jumping out of order. + +NOTE Q: Have you experimented with something like whisper.el for doing speech-to-text as you think out loud into your Bookclub? 20:44.520 --> 20:47.799 -Have you experimented in like whisper.el +Have you experimented with whisper.el 20:47.800 --> 20:49.759 for doing speech to text @@ -1057,7 +1065,7 @@ Now I am. I love that idea. That is awesome. Yeah, no, I love that. 21:00.040 --> 21:04.839 -Even with, I only have a CPU, no GPU on mine, +[Sacha]: Even with... I only have a CPU, no GPU on mine, 21:04.840 --> 21:08.039 it does capture things a lot faster. @@ -1090,7 +1098,7 @@ so that even when I'm looking at something else, I can dictate into my equivalent of the book club file. 21:37.920 --> 21:41.759 -Yes, yes, yes, absolutely. +[Maddie]: Yes, yes, yes, absolutely. 21:41.760 --> 21:44.719 So you can be scrolling through documentation on, like, @@ -1132,7 +1140,7 @@ You're not even writing into the buffer 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 +[Sacha]: Or you can tie it into the org capture process 22:17.280 --> 22:21.039 so that it can pick up an annotation automatically. @@ -1144,48 +1152,50 @@ Sorry, annotation is the link to the thing, whatever you're looking at. 22:26.160 --> 22:32.999 -Oh, that's super cool. Yes. No, I actually really love it. +[Maddie]: 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:36.120 --> 00:22:58.199 +I actually really love that idea in and of itself. Yeah. -22:58.640 --> 23:01.119 -Or a capture will give you a lot of capture options. +00:22:58.200 --> 23:01.119 +[Sacha]: Org capture will give you a lot of capture options. 23:01.120 --> 23:03.159 -Like you can capture to your currently +You can capture to your currently 23:03.160 --> 23:11.039 -clocked in, uh, heading. So then it just files your note +clocked in heading. So then it just files your note -23:11.040 --> 23:12.919 +23:11.040 --> 00:23:15.059 in the right place automatically. -23:12.920 --> 23:19.199 -Absolutely. I love that. Let me see. +00:23:15.060 --> 23:19.199 +[Maddie]: Absolutely. I love that. Let me see. -23:19.200 --> 23:22.279 +23:19.200 --> 00:23:21.099 I'm actually like writing a note to try that out. -23:22.280 --> 23:25.159 +00:23:21.100 --> 00:23:23.125 I'm definitely going to have to do that. -23:25.160 --> 23:36.039 +00:23:23.126 --> 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 +[Sacha]: I'll let you finish typing noises 23:38.240 --> 23:39.679 and then we can ask the next question -23:39.680 --> 23:41.239 +23:39.680 --> 00:23:42.291 for which there is one. -23:41.240 --> 23:45.839 +NOTE Q: What is the largest project in terms of team size you had the chance to consult and introduce the Bookclub Tapas concept and what have been your experiences with these setups (implying larger applications / solutions a company is working on)? + +00:23:42.292 --> 23:45.839 The question is, what is the largest project 23:45.840 --> 23:48.479 @@ -1392,22 +1402,24 @@ 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 +26:57.200 --> 00:27:03.375 on what the overall look for the project -27:01.360 --> 27:03.479 +00:27:03.376 --> 00:27:04.250 and how it ought to look -27:03.480 --> 27:05.679 +00:27:04.251 --> 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 +27:11.520 --> 00:27:21.999 that I think is really cool. -27:13.200 --> 27:23.679 +NOTE Q: People will also be curious about the mechanics of collaboration: other person uses Emacs and Org? Shipping things back and forth via git / version control? CRDT? + +00:27:22.000 --> 27:23.679 People will, of course, be curious 27:23.680 --> 27:25.919 @@ -1438,7 +1450,7 @@ where I could get you know, clients and partners, like, you know, really excited 27:53.360 --> 27:54.799 -about using Emacs on org. +about using Emacs and Org. 27:54.800 --> 27:58.559 But, you know, it's, it can be a little bit to ask, @@ -1450,67 +1462,64 @@ I would love to see if I can, like, put together some sort of a config that, 28:01.880 --> 28:04.519 -like, sands off all of this and, you know, +like, sands off all of this and 28:04.520 --> 28:08.079 -makes this this really, you know, you know, +makes this this really 28:08.080 --> 28:13.759 -like safety-proof sort of intuitive environment +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, +I love the idea of 28:18.880 --> 28:21.479 -sort of like spawning CRDT +spawning CRDT 28:21.480 --> 28:24.159 -so that like, you know, the two of us can, +so that the two of us can 28:24.160 --> 28:27.559 -you know, type SPAC and ideas +type-spec an ideas 28:27.560 --> 28:31.239 -and sort of like draft together on, you know, +and draft together on, you know, 28:31.240 --> 28:33.559 -especially like the glue code tapa +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 +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, +or having folks step through Tapas and -28:45.600 --> 28:46.719 -point to a particular thing. +28:43.400 --> 00:28:46.719 +unfold them and point to a particular thing... 28:46.720 --> 28:49.159 -And it's like, you know, like, what's, what's this? +And it's like, you know, 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 +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. +of an idea of what exactly we're doing here. 28:56.320 --> 29:01.319 -back up a little bit because the stream just disconnected +Back up a little bit because the stream just disconnected 29:01.320 --> 29:02.759 and reconnected from the audio. @@ -1519,16 +1528,16 @@ and reconnected from the audio. So, please repeat just the last sentence. 29:06.600 --> 29:11.959 -Yeah, yeah, for sure. Yeah, so I would like, you know, +Yeah, yeah, for sure. Yeah, so I would like... 29:11.960 --> 29:18.239 -I love the idea of, yeah, like, you know, collaborating on, +I love the idea of collaborating on, 29:18.240 --> 29:20.519 -especially like on the glue code. +especially on the glue code. 29:20.520 --> 29:23.839 -tapa for a particular software stack, you know, +Tapa for a particular software stack, you know, 29:23.840 --> 29:26.159 having the both of us use CRDT @@ -1540,31 +1549,31 @@ to type into it simultaneously, I think that would be super cool. 29:30.160 --> 29:33.679 -I also really love the idea of, you know, +I also really love the idea of -29:33.680 --> 29:38.159 -having a client or partner, you know, +29:33.680 --> 00:29:37.139 +having a client or partner -29:38.160 --> 29:41.479 -thumb through individual tapas in the stack. +00:29:37.140 --> 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, +and then 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, +can you give me some clarification on 29:51.760 --> 29:55.519 -you know, what, what this part is and how it's, you know, +what this part is and 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 +and what it represents 30:00.800 --> 30:02.599 in terms of how all of this is going to come together. @@ -1573,16 +1582,16 @@ in terms of how all of this is going to come together. 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, +I would even consider, if not Emacs proper, 30:11.680 --> 30:17.119 -I would love like, you know, maybe a, a web-based org parser. +I would love maybe a web-based Org parser 30:17.120 --> 30:21.399 -for, you know, even on just a read-only version +or even just a read-only version 30:21.400 --> 30:25.399 -of the document where, you know, clients and partners, yeah, +of the document where clients and partners 30:25.400 --> 30:26.879 just sort of thumb through with it @@ -1591,19 +1600,19 @@ just sort of thumb through with it and then chat with questions. 30:28.200 --> 30:34.159 -Make the, you know, screen sharing for, you know, +Make the screen sharing for 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. +just a little bit cleaner, 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. +[Sacha]: All right, theoretically, the Big Blue Button is open. 30:55.003 --> 30:57.002 I think we've gotten to the end @@ -1615,7 +1624,7 @@ of the questions on the etherpad. If anyone else would like to join or ask, 31:03.086 --> 31:04.840 -I'm gonna need a couple of minutes +I'm going to need a couple of minutes 31:04.841 --> 31:06.359 and then I can do closing remarks @@ -1623,11 +1632,11 @@ and then I can do closing remarks 31:06.360 --> 31:07.999 whenever people are ready. -31:08.000 --> 31:14.479 +31:08.000 --> 00:31:19.559 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, +00:31:19.560 --> 31:22.039 +[Maddie]: I would also be super down if, you know, 31:22.040 --> 31:25.319 anyone was curious about hearing more @@ -1642,25 +1651,22 @@ that I was kind of rambling at the close of the talk, 31:34.680 --> 31:36.479 -if people wanted to, you know, +if people wanted to 31:36.480 --> 31:39.359 -hear more about, um, some of my ideas +hear more about some of my ideas 31:39.360 --> 31:42.799 -in regards to, um, uh, +in regards to 31:42.800 --> 31:45.719 -what am I thinking at home with the, uh, +what am I thinking at home with the... 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:49.760 --> 00:31:55.439 +Just some of the funding for passion projects, 31:55.440 --> 31:58.319 I would be interested in laying out some of the ideas @@ -1675,10 +1681,10 @@ And I think that that would be, you know, really cool for the whole ecosystem, 32:04.720 --> 32:06.719 -because I think that there are definitely, +because I think that there are definitely 32:06.720 --> 32:09.639 -you know, things that we could bang out, 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. @@ -1687,25 +1693,22 @@ for getting kind of all sorts of people on that model. I think that it would be really cool 32:14.520 --> 32:18.399 -to to having a, you know, funding model +to to having a 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:20.240 --> 00:32:29.259 +And developing the other thing is -32:28.200 --> 32:31.559 +00:32:29.260 --> 00:32:31.199 just rattling off specifics on things -32:31.560 --> 32:34.960 -that people could potentially vote for uh on that +00:32:31.200 --> 32:34.960 +that people could potentially vote for on that, 32:34.961 --> 32:53.759 -and in terms of specific might want to work on +and in terms of specific "might want to work on"... 32:53.760 --> 32:56.877 All right, there's a question from IRC. @@ -1720,7 +1723,7 @@ Let's see. Where is it? I will copy it from IRC. Thank you. 33:12.360 --> 33:14.319 -Gotcha. Into the past. +Gotcha. Into the pad. 33:14.320 --> 33:27.759 Perfect, perfect, perfect. @@ -1728,6 +1731,8 @@ Perfect, perfect, perfect. 33:27.760 --> 33:30.679 Let me read the question out loud so it's in the recording. +NOTE Q: I guess a major pro is it has less friction as people can do (a lot, maybe not everything) in BookClub Tapas file vs. having to log into gazillions of different systems, each one of them keeping a portion of the information. Did I get that viewing point right from your elaboration of the collaboration between you and your team mate(s)? + 33:30.680 --> 33:33.719 I guess a major pro is it has less friction @@ -1735,7 +1740,7 @@ I guess a major pro is it has less friction as people can do a lot, 33:35.760 --> 33:39.039 -maybe not everything in book lab tapas files +maybe not everything in Bookclub Tapas files 33:39.040 --> 33:42.639 versus having to log into gazillions of different systems, @@ -1755,17 +1760,14 @@ 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 +33:55.440 --> 00:34:00.519 +Because my hope is that we can you know 34:00.520 --> 34:03.239 -there's there's a lot of conflict into that +there's a lot of conflict into that... 34:03.240 --> 34:13.359 -we assume that a lot of um pieces of tooling +We assume that a lot of um pieces of tooling 34:13.360 --> 34:14.559 and the separation between them diff --git a/2025/captions/emacsconf-2025-bookclub-tapas--bookclub-tapas--maddie-sullivan--main.vtt b/2025/captions/emacsconf-2025-bookclub-tapas--bookclub-tapas--maddie-sullivan--main.vtt index 8e06a734..95b452d8 100644 --- a/2025/captions/emacsconf-2025-bookclub-tapas--bookclub-tapas--maddie-sullivan--main.vtt +++ b/2025/captions/emacsconf-2025-bookclub-tapas--bookclub-tapas--maddie-sullivan--main.vtt @@ -852,7 +852,7 @@ it keeps us accountable, 00:10:49.840 --> 00:10:55.479 it even keeps us company. -NOTE Ad-hoc means lesricsf tion +NOTE Ad-hoc means less friction 00:10:55.480 --> 00:10:58.359 One of the most immediately useful things about Bookclub, diff --git a/2025/captions/emacsconf-2025-commonlisp--common-lisp-images-communicating-likeahuman-through-shared-emacs-slime-and-eev--screwlisp--answers.vtt b/2025/captions/emacsconf-2025-commonlisp--common-lisp-images-communicating-likeahuman-through-shared-emacs-slime-and-eev--screwlisp--answers.vtt index eaf3a04e..2ebd9ecf 100644 --- a/2025/captions/emacsconf-2025-commonlisp--common-lisp-images-communicating-likeahuman-through-shared-emacs-slime-and-eev--screwlisp--answers.vtt +++ b/2025/captions/emacsconf-2025-commonlisp--common-lisp-images-communicating-likeahuman-through-shared-emacs-slime-and-eev--screwlisp--answers.vtt @@ -1,5 +1,7 @@ WEBVTT +NOTE Opening + 00:00:00.000 --> 00:00:04.599 Recording started. @@ -37,7 +39,7 @@ if you check out the etherpad, you'll see some instructions there to join on Lambda Moo, 00:00:42.240 --> 00:00:43.039 -which screwless, +with screwlisp, 00:00:43.040 --> 00:00:46.319 but I'm hoping you will talk to us a little bit about that @@ -58,7 +60,7 @@ but he has in fact appeared on an episode of it in January this year, I think. 00:01:00.880 --> 00:01:04.919 -So he was just pretending there. I'm screwless of this. +So he was just pretending there. I'm screwlisp of this. 00:01:04.920 --> 00:01:06.919 What's happening? @@ -94,17 +96,19 @@ with people like Ed Swarthout, DM, and yduJ, who I gossiped about in the show, 00:01:47.560 --> 00:01:50.519 -and Sasha, and people were there a little bit as well. +and Sacha, and people were there a little bit as well. 00:01:50.520 --> 00:01:53.359 I'm just going to read some of the questions 00:01:53.360 --> 00:01:59.759 -that GGXX in Lambdomoo has been relaying to me there, +that ggxx in LambdaMOO has been relaying to me there, 00:01:59.760 --> 00:02:08.239 though I hear that there are a whole bunch of them now. +NOTE Q: What do you mean by "the agent is running slowly"? + 00:02:08.240 --> 00:02:09.759 Someone asks on the Etherpad, @@ -130,10 +134,10 @@ So this is quite different to what people might expect within AI 00:02:28.600 --> 00:02:30.679 -if people are talking about like the graphics card ones +if people are talking about, like the graphics card ones 00:02:30.680 --> 00:02:33.599 -where you're trying crunch as fast as you can +where you try and crunch as fast as you can, 00:02:33.600 --> 00:02:36.399 for as few seconds as you can, and then you stop. @@ -160,7 +164,9 @@ it still adds up to a lot. So that was the significance of it running slowly. 00:02:57.040 --> 00:03:00.639 -What else are people saying? TGXX to screwtape. +What else are people saying? ggxx to screwtape. + +NOTE Q: Do you think that it would be too hard to add a second way to send commands from Common Lisp to Emacs? 00:03:00.640 --> 00:03:02.519 Someone asked on the Etherpad, @@ -184,7 +190,7 @@ and I didn't talk about it because this is a kind of affected choice. 00:03:17.240 --> 00:03:20.039 -Right now you're using Emacs client for that. +Right now you're using emacsclient for that. 00:03:20.040 --> 00:03:22.039 That is the simplest way to implement. @@ -202,19 +208,19 @@ So, in everyone that's SLIME-connected. So, earlier on, you saw somebody 00:03:33.400 --> 00:03:35.399 -running a SWANK server in Python. +running a swank server in Python. 00:03:35.400 --> 00:03:38.439 -Normally, you run a SWANK server in Common Lisp. +Normally, you run a swank server in Common Lisp. 00:03:38.440 --> 00:03:41.599 -And a SWANK server is what Emacs SLIME, +And a swank server is what Emacs SLIME, 00:03:41.600 --> 00:03:45.039 Superior Lisp Interaction Mode for Emacs, connects to. 00:03:45.040 --> 00:03:49.039 -And then Swank comes with Swank Eval and Emacs. +And then Swank comes with swank-eval in Emacs. 00:03:49.040 --> 00:03:50.959 So after you've been slime connected, @@ -223,7 +229,7 @@ So after you've been slime connected, you can trivially send Emacs Lisp forms to Emacs 00:03:55.040 --> 00:03:57.319 -using Swank Eval and Emacs. +using swank-eval and Emacs. 00:03:57.320 --> 00:04:00.679 The reason that I chose to use @@ -259,7 +265,7 @@ I guess it's executing a program rather than using a shell. 00:04:36.440 --> 00:04:40.639 -And Yeah, I was letting somebody else +And yeah, I was letting somebody else 00:04:40.640 --> 00:04:42.439 use Slime eval in Emacs. @@ -280,7 +286,7 @@ out of adding Emacs server into the mix. What's somebody saying? 00:04:57.320 --> 00:05:00.319 -Idaj is weirded out by doing get foo bar +yduJ is weirded out by doing get foo bar 00:05:00.320 --> 00:05:02.439 instead of get foo quote bar. @@ -304,7 +310,7 @@ and then ignores them in certain expressions, and he doesn't have these Lisp-style quotes. 00:05:18.680 --> 00:05:22.439 -Idaj is obviously from like Schlumberger +yduJ is obviously from like Schlumberger 00:05:22.440 --> 00:05:24.879 and wherever else she was at in @@ -316,7 +322,7 @@ in the kind of list of traditions. Full of Spain is saying good observation. 00:05:30.360 --> 00:05:33.839 -Yidaj is shocked that she's being mentioned. +yduJ is shocked that she's being mentioned. 00:05:33.840 --> 00:05:40.519 Interestingly Nosredna yduJ capitalizes Nosredna at the front, @@ -331,31 +337,31 @@ You should read her Stanford page or her recipe site or anything if you're not clear on who yduJ is. 00:05:58.000 --> 00:06:00.679 -It's actually you're looking for the word eclipsed. +Sacha, you're looking for the word ??. 00:06:00.680 --> 00:06:03.559 -I think she eclipsed a dodge, +I think she ?? yduJ, 00:06:03.560 --> 00:06:06.119 I think is the English phrase that you're looking for. 00:06:06.120 --> 00:06:08.839 -He does just saying she would not. +yduJ is saying she would not, 00:06:08.840 --> 00:06:10.519 -She's no matter what I say +no matter what I say, 00:06:10.520 --> 00:06:13.039 she's not going to hug my software agent 00:06:13.040 --> 00:06:20.719 -like she would hug a grandchild eyes me warily. +like she would hug a grandchild. Eyes me warily. 00:06:20.720 --> 00:06:22.119 -And Sasha is not going to. +And Sacha is not going to... 00:06:22.120 --> 00:06:24.759 -Totally not training a general intelligence +totally training a general intelligence 00:06:24.760 --> 00:06:26.199 who requires a lot of data @@ -375,6 +381,8 @@ saying that he wanted machine intelligences 00:06:36.120 --> 00:06:37.759 to be like his grandchild. +NOTE Q: What is the leonardo system? + 00:06:37.760 --> 00:06:40.839 GGXX is saying somebody on Etherpad @@ -483,14 +491,17 @@ where we're all hanging out. 00:08:36.640 --> 00:08:43.559 Oh, I think GGXX is ordering people up things. -00:08:43.560 --> 00:08:46.399 +00:08:43.560 --> 00:08:49.539 You know, just teach people about this. -00:08:46.400 --> 00:08:52.279 +00:08:49.540 --> 00:08:50.958 All right, I'm going to try looking -00:08:52.280 --> 00:08:55.519 -at the etherpad manually. Sorry, I can read you. +00:08:50.959 --> 00:08:54.129 +at the etherpad manually. + +00:08:54.130 --> 00:08:55.519 +[Corwin]: Sorry, I can read you. 00:08:55.520 --> 00:08:57.319 So the next question you have, @@ -514,7 +525,7 @@ And I think you started to answer in the pad. But if you want to kind of read that out. 00:09:16.080 --> 00:09:19.119 -I definitely haven't written anything in the pad. +[screwlisp]: I definitely haven't written anything in the pad. 00:09:19.120 --> 00:09:23.719 I'm going to just talk to Khaki Guest in Lambda. @@ -525,6 +536,8 @@ Sure, so why don't you do a little bit 00:09:25.880 --> 00:09:27.279 and just read this question. +NOTE Q: What is LambdaMOO, and how do we use it? + 00:09:27.280 --> 00:09:31.279 The question was, what is LambdaMOO and how do we use it? @@ -556,7 +569,7 @@ of the discussion links feedback area, you'll see a set of detailed instructions 00:09:55.680 --> 00:09:58.519 -that ScrewList has provided us to get in there. +that screwlisp has provided us to get in there. 00:09:58.520 --> 00:10:01.159 I think that was actually GGXX @@ -571,7 +584,7 @@ Several changes evolved in the last 10 minutes before we went live here. 00:10:09.680 --> 00:10:12.839 -But yeah, so LambdaMoo is +But yeah, so LambdaMOO is 00:10:12.840 --> 00:10:14.879 the world's longest-running virtual reality. @@ -609,10 +622,12 @@ for Xerox PARC, originally. Just to go to what Khaki Guest 00:10:52.800 --> 00:10:54.839 has been continuing to talk about. -00:10:54.840 --> 00:10:57.799 -Welcome to Brown, Guest, as well, I guess. +00:10:54.840 --> 00:11:01.339 +Welcome to Brown Guest as well, I guess. -00:10:57.800 --> 00:11:03.399 +NOTE Q: It seems like you're trying to build a more restrictive Turing test using the input / output logs of an emacs conversation. Is that accurate? + +00:11:01.340 --> 00:11:03.399 Aki Guest says, to Screwtape, 00:11:03.400 --> 00:11:04.959 @@ -775,7 +790,7 @@ that this looks more like me computing using of REPL-driven development like EEV, 00:13:27.520 --> 00:13:30.479 -where in EEV I have basically a log +where in EEV, I have basically a log 00:13:30.480 --> 00:13:32.119 of something I've previously done, @@ -865,7 +880,7 @@ Oh, well. Sorry about that. I tried that. I just lost a couple of minutes there 00:15:06.800 --> 00:15:08.879 -and failed to give you the smooth morning. +and failed to give you the smooth warning. 00:15:08.880 --> 00:15:14.199 Oh, no, no. That's fine. I was just kind of rambling. @@ -907,11 +922,13 @@ just to not leave anyone else. Anyone out much to their chagrin possibly. 00:15:43.560 --> 00:15:47.639 -Um, how to connect to LambdaMu, seems great. +Um, how to connect to LambdaMOO, seems great. 00:15:47.640 --> 00:15:52.159 Oh, interesting guides, somebody wrote that. +NOTE Q: What do you mean by slowly? + 00:15:52.160 --> 00:15:55.439 What do you mean by slowly? Yeah, so I'm saying taking @@ -949,10 +966,10 @@ Somebody has a link to Eduardo's blog, which I think has been misspelled. 00:16:19.840 --> 00:16:23.079 -It should be angkwu with no dot there, +It should be anggtwu with no dot there, 00:16:23.080 --> 00:16:27.199 -dot net, sharp sign EEV. +dot net, sharp sign EEV. (https://anggtwu.net/#eev) 00:16:27.200 --> 00:16:31.519 So, Eduardo is the author of EEV mode. diff --git a/2025/captions/emacsconf-2025-gmail--orggmail-a-deep-integration-of-gmail-into-your-org-mode--bala-ramadurai--answers.vtt b/2025/captions/emacsconf-2025-gmail--orggmail-a-deep-integration-of-gmail-into-your-org-mode--bala-ramadurai--answers.vtt index c9034d0b..af90fa86 100644 --- a/2025/captions/emacsconf-2025-gmail--orggmail-a-deep-integration-of-gmail-into-your-org-mode--bala-ramadurai--answers.vtt +++ b/2025/captions/emacsconf-2025-gmail--orggmail-a-deep-integration-of-gmail-into-your-org-mode--bala-ramadurai--answers.vtt @@ -1,5 +1,7 @@ WEBVTT +NOTE Feedback: Consider using similar background (dark-only / light-only) throughout to help with eye strain. + 00:00:00.000 --> 00:00:02.219 I first of all want to address the feedback. @@ -22,13 +24,15 @@ I will keep that in mind the next time I do such a demo. The first question, I mean, the feedback was considered 00:00:21.540 --> 00:00:23.819 -using similar background dark only +using similar background, dark only 00:00:23.820 --> 00:00:25.419 -or light only throughout the help, +or light only throughout 00:00:25.420 --> 00:00:29.859 -throughout the help with iStream. +to help with eye strain. + +NOTE Q: Should I know all my contact's email addresses by heart? Or is some kind of contact list? 00:00:29.860 --> 00:00:31.819 The question, the first question is, @@ -58,7 +62,7 @@ I will make sure that all contacts or some kind of tab support is present for email addresses. 00:00:58.420 --> 00:01:03.659 -I do not use the org system for replying so much. +I do not use the Org system for replying so much. 00:01:03.660 --> 00:01:06.259 I use it for knowing the context. @@ -73,7 +77,7 @@ So I did not focus on that feature. But this is doable. We can certainly add a tab support 00:01:18.740 --> 00:01:24.619 -for any contacts that you may have, org contacts. +for any contacts that you may have, org-contacts. 00:01:24.620 --> 00:01:28.059 Or I don't know if there's any other package that does that. @@ -84,26 +88,28 @@ So if it is, let me know. 00:01:29.700 --> 00:01:33.899 Org contacts is what comes to my mind. +NOTE Q: What would it take to use the org pieces of this with, e.g., offlineimap or other non-Gmail mail setups? + 00:01:33.900 --> 00:01:36.739 -The second question is, what would it take +The second question is: "What would it take 00:01:36.740 --> 00:01:40.139 -to use the org pieces of this with? +to use the Org pieces of this with 00:01:40.140 --> 00:01:45.019 -offline IMAP or other non Gmail mail setups. +OfflineIMAP or other non-Gmail mail setups? 00:01:45.020 --> 00:01:46.059 -I use fast mail. +(I use Fastmail.)" 00:01:46.060 --> 00:01:52.779 Currently, I use only Gmail because that's my workflow 00:01:52.780 --> 00:01:58.019 -and it works with a Gmail API. +and it works with a Gmail API, 00:01:58.020 --> 00:02:00.859 -So which means the Python script that goes along with it +which means the Python script that goes along with it 00:02:00.860 --> 00:02:05.179 only works with Gmail and no other system for now. @@ -118,7 +124,7 @@ However, yes, I will note this down. I don't know what it will take 00:02:12.060 --> 00:02:16.379 -to include this offline IMAP setup +to include this OfflineIMAP setup 00:02:16.380 --> 00:02:18.499 or any other non-Gmail setup. @@ -133,10 +139,15 @@ So give me some time, maybe I will get to it. Sorry, sorry. Oops. Okay. Okay. May I continue? 00:02:43.740 --> 00:02:46.739 -Hi, Bella. Yes, please. Sorry for the confusion. +Hi, Bala. Yes, please. Sorry for the confusion. + +00:02:46.740 --> 00:02:50.763 +Hi, Amin. All right. -00:02:46.740 --> 00:02:53.179 -Hi, Amin. All right. So the next one is, +NOTE Q: Do you worry about sending some info to a wrong person? Due to some unseen technical issues, for example, due to memory overflow. + +00:02:50.764 --> 00:02:53.179 +So the next one is, 00:02:53.180 --> 00:02:56.939 do you worry about sending some info to a wrong person @@ -213,6 +224,8 @@ So, I've not paid attention to that, 00:04:09.397 --> 00:04:11.104 but I'll take your point. +NOTE Comment: You should say what org-gmail is and is not, goals and non goals "which in this case is more helpful" to help people get their head around this. + 00:04:11.105 --> 00:04:17.539 The next one, you should say what org-gmail is @@ -238,10 +251,10 @@ Okay, so I will definitely take the information from the slides 00:04:33.780 --> 00:04:38.499 -and give it to, I mean, put it back into my readme. +and give it to, I mean, put it back into my README. 00:04:38.500 --> 00:04:40.179 -It's been a while since I updated ReadMe, +It's been a while since I updated README, 00:04:40.180 --> 00:04:42.179 and you're absolutely right. @@ -303,6 +316,8 @@ That's one of the reasons why I built this package. 00:05:37.260 --> 00:05:43.699 And I hope that answers that. +NOTE Q: How does it handle attachments? If it doesn't, do you have a plan to add this feature? + 00:05:43.700 --> 00:05:49.459 There is one more saying, how does it handle attachments? diff --git a/2025/captions/emacsconf-2025-private-ai--emacs-and-private-ai-a-great-match--aaron-grothe--main--chapters.vtt b/2025/captions/emacsconf-2025-private-ai--emacs-and-private-ai-a-great-match--aaron-grothe--main--chapters.vtt new file mode 100644 index 00000000..8c9d1e5f --- /dev/null +++ b/2025/captions/emacsconf-2025-private-ai--emacs-and-private-ai-a-great-match--aaron-grothe--main--chapters.vtt @@ -0,0 +1,98 @@ +WEBVTT + + +00:00:00.000 --> 00:00:48.179 +Introduction + +00:00:48.180 --> 00:01:08.059 +Overview of talk + +00:01:08.060 --> 00:03:16.019 +Why private AI? + +00:03:16.020 --> 00:05:16.347 +What do I need for private AI? + +00:05:16.348 --> 00:06:13.219 +Emacs and private AI + +00:06:13.220 --> 00:07:56.339 +Pieces for an AI Emacs solution + +00:07:56.340 --> 00:08:52.099 +Config file + +00:08:52.100 --> 00:10:21.699 +Demo: Who was David Bowie? + +00:10:21.700 --> 00:10:42.179 +Hallucinations + +00:10:42.180 --> 00:11:57.179 +Next question: What are sea monkeys? + +00:11:57.180 --> 00:12:32.579 +Writing Hello World in Emacs Lisp + +00:12:32.580 --> 00:13:36.899 +Pieces for a better solution + +00:13:36.900 --> 00:14:56.579 +What about the license? + +00:14:56.580 --> 00:15:14.519 +Are there open source data model options? + +00:15:14.520 --> 00:20:07.419 +Things to know + +00:20:07.420 --> 00:21:30.739 +Q: Why is the David Bowie question a good one for testing a model? e.g. does it fail in interesting ways? + +00:21:30.740 --> 00:22:16.879 +Q: What specific tasks do you use local AI for? + +00:22:16.880 --> 00:22:46.539 +Q: Have you used any small domain-specific LLMs? What are the kinds of tasks they specialize in, and how do I find and use them? + +00:22:46.540 --> 00:23:48.055 +Q: Are the various models updated regularly? Can you add your own data to pre-built models? + +00:23:48.056 --> 00:24:38.833 +Q: What is your experience with RAG? Are you using them and how have they helped? + +00:24:38.834 --> 00:25:31.077 +Q: Thoughts on running things on AWS/digital ocean instances, etc? + +00:25:31.078 --> 00:26:59.659 +Q: What has your experience been using AI for cyber security applications? What do you usually use it for? + +00:26:59.660 --> 00:28:14.125 +Q: Is there a disparity where you go to paid models becouse they are better and what problems would those be? + +00:28:14.126 --> 00:29:52.379 +Q: What's the largest (in parameter size) local model you've been able to successfully run locally, and do you run into issues with limited context window size? + +00:29:52.380 --> 00:31:09.556 +Q: Are there "Free" as in FSF/open source issues with the data? + +00:31:09.557 --> 00:32:18.059 +Q: Given that large AI companies are openly stealing IP and copyright, thereby eroding the authority of such law (and eroding truth itself as well), can you see a future where IP & copyright flaw become untenable and what sort of onwards effect might that have? + +00:32:18.060 --> 00:34:46.899 +Comment: File size is not going to be the bottleneck, your RAM is. + +00:34:46.900 --> 00:35:44.859 +Q: Have you used local models capable of tool-calling? + +00:35:44.860 --> 00:36:31.299 +Q: Will the models reach out to the web if they need to for more info? + +00:36:31.300 --> 00:37:36.577 +Q: What scares you most about agentic tools? How would you think about putting a sandbox around it if you adopt an agentic workflow? + +00:37:36.578 --> 00:38:41.659 +Q: Tool calling can be read-only, such as giving models the ability to search the web before answersing your question. (No write access or execute access) I'm interested to know if local models are any good at calling tools, though. + +00:38:41.660 --> 00:39:34.100 +Wrapping up diff --git a/2025/captions/emacsconf-2025-private-ai--emacs-and-private-ai-a-great-match--aaron-grothe--main.vtt b/2025/captions/emacsconf-2025-private-ai--emacs-and-private-ai-a-great-match--aaron-grothe--main.vtt index a8e76986..dc4ba1b1 100644 --- a/2025/captions/emacsconf-2025-private-ai--emacs-and-private-ai-a-great-match--aaron-grothe--main.vtt +++ b/2025/captions/emacsconf-2025-private-ai--emacs-and-private-ai-a-great-match--aaron-grothe--main.vtt @@ -1,5 +1,7 @@ WEBVTT +NOTE Introduction + 00:00:00.000 --> 00:00:04.859 Hey, everybody. Welcome from frigid Omaha, Nebraska. @@ -10,7 +12,7 @@ I'm just going to kick off my talk here, and we'll see how it all goes. Thanks for attending. 00:00:23.900 --> 00:00:26.939 -So the slides will be available on my site, growthy.us, +So the slides will be available on my site, https://grothe.us, 00:00:26.940 --> 00:00:29.899 in the presentation section tonight or tomorrow. @@ -39,8 +41,10 @@ Really hope some of you give it a shot 00:00:45.820 --> 00:00:48.179 and learn something along the way. +NOTE Overview of talk + 00:00:48.180 --> 00:00:50.379 -So the overview of the talk. +So the overview of the talk 00:00:50.380 --> 00:00:54.939 broke down these basic bullet points of why private AI, @@ -54,6 +58,8 @@ pieces for an AI Emacs solution, 00:01:02.740 --> 00:01:08.059 a demo of a minimal viable product, and the summary. +NOTE Why private AI? + 00:01:08.060 --> 00:01:10.779 Why private AI? This is pretty simple. @@ -67,7 +73,7 @@ for any AI system you're currently using. If you're using the free tiers, your queries, 00:01:17.020 --> 00:01:18.619 -code uploaded information +code, uploaded information 00:01:18.620 --> 00:01:20.699 is being used to train the models. @@ -139,7 +145,7 @@ The problem with that is now there's less data going to Stack Overflow 00:02:10.380 --> 00:02:12.979 -for the AI to get. vicious cycle, +for the AI to get. Vicious cycle, 00:02:12.980 --> 00:02:14.619 especially when you start looking at @@ -160,7 +166,7 @@ Right now, these services are being heavily subsidized. If you're paying Claude $20 a month, 00:02:29.420 --> 00:02:32.579 -it is not costing Claude, those guys $20 a month +it is not costing Claude, those guys, $20 a month 00:02:32.580 --> 00:02:34.099 to host all the infrastructure @@ -219,6 +225,8 @@ are going to have no option but to move to private AI 00:03:11.900 --> 00:03:16.019 or give up on AI overall. +NOTE What do I need for private AI? + 00:03:16.020 --> 00:03:18.659 What do you need to be able to do private AI? @@ -316,7 +324,7 @@ And Raspberry Pi's new AI top is about 18 teraflops and is $70 on top of the cost of Raspberry Pi 5. 00:04:51.220 --> 00:04:56.059 -Keep in mind Raspberry recently +Keep in mind, Raspberry recently 00:04:56.060 --> 00:04:59.499 raised the cost of their Pi 5s because of RAM pricing, @@ -342,8 +350,13 @@ A lot of people are going to have PCs on their desks. 00:05:11.180 --> 00:05:13.459 They're going to run a decent private AI -00:05:13.460 --> 00:05:18.059 -without much issue. So for Emacs and private AI, +00:05:13.460 --> 00:05:16.347 +without much issue. + +NOTE Emacs and private AI + +00:05:16.348 --> 00:05:18.059 +So for Emacs and private AI, 00:05:18.060 --> 00:05:20.139 there's a couple popular solutions. @@ -364,7 +377,7 @@ It's just, quite honestly, chef's kiss, just a beautifully well-done piece of software. 00:05:31.060 --> 00:05:33.859 -OllamaBuddy has more features, +Ollama Buddy has more features, 00:05:33.860 --> 00:05:36.259 a menu interface, has quick access @@ -382,7 +395,7 @@ This is the one that you spend a little more time with, but you also get a little bit more back from it. 00:05:43.940 --> 00:05:49.419 -Elama is another one, has some really good features to it, +Ellama is another one, has some really good features to it, 00:05:49.420 --> 00:05:51.059 more different capabilities, @@ -391,13 +404,13 @@ more different capabilities, but it's a different set of rules and capabilities to it. 00:05:54.980 --> 00:05:59.179 -Itermac, which is programming with your AI and Emacs. +Aidermac, which is programming with your AI and Emacs. 00:05:59.180 --> 00:06:01.219 The closest thing I can come up 00:06:01.220 --> 00:06:04.139 -to comparing this to is Cursor, except it's an Emacs. +to comparing this to is Cursor, except it's in Emacs. 00:06:04.140 --> 00:06:05.659 It's really quite well done. @@ -414,6 +427,8 @@ If you go out to GitHub, type Emacs AI, 00:06:10.820 --> 00:06:13.219 you'll find a lot of different options. +NOTE Pieces for an AI Emacs solution + 00:06:13.220 --> 00:06:18.459 So what is a minimal viable product that can be done? @@ -453,16 +468,16 @@ while it runs on a bunch of different systems. 00:06:48.700 --> 00:06:51.299 And Gptel, which is an easy plug-in for Emacs, -00:06:51.300 --> 00:06:54.979 +00:06:51.300 --> 00:06:56.339 which we talked about in the last slide a bit. -00:06:54.980 --> 00:07:00.179 +00:06:56.340 --> 00:07:00.179 So setting up the LLM, you have to just go out -00:07:00.180 --> 00:07:01.699 -and just hit the a page for it +00:07:00.180 --> 00:07:03.542 +and just hit a page for it -00:07:01.700 --> 00:07:05.099 +00:07:03.543 --> 00:07:05.099 and go out and do a wget of it. 00:07:05.100 --> 00:07:07.099 @@ -487,7 +502,7 @@ And let's just take a look at it. I've actually downloaded several of them, 00:07:22.900 --> 00:07:25.699 -but let's go ahead and just run lava 3.2b +but let's go ahead and just run llama 3.2-1b 00:07:25.700 --> 00:07:31.179 with the 3 billion instructions. And that's it firing up. @@ -505,10 +520,10 @@ So once you do that, you have to install gptel and emacs. That's as simple as firing up emacs, 00:07:45.660 --> 00:07:48.339 -doing the meta x install package, +doing the M-x install-package, 00:07:48.340 --> 00:07:49.779 -and then just typing gptel +and then just typing gptel, 00:07:49.780 --> 00:07:51.499 if you have your repository set up right, @@ -516,17 +531,19 @@ if you have your repository set up right, 00:07:51.500 --> 00:07:52.299 which hopefully you do. -00:07:52.300 --> 00:07:54.499 +00:07:52.300 --> 00:07:56.339 And then you just go ahead and have it. -00:07:54.500 --> 00:07:58.139 +NOTE Config file + +00:07:56.340 --> 00:07:58.139 You also have to set up a config file. 00:07:58.140 --> 00:08:01.739 Here's my example config file as it currently set up, 00:08:01.740 --> 00:08:04.019 -requiring ensuring Gptel is loaded, +requiring, ensuring Gptel is loaded, 00:08:04.020 --> 00:08:05.899 defining the Llamafile backend. @@ -585,6 +602,8 @@ which is really kind of cool. 00:08:48.700 --> 00:08:52.099 But, uh, that's all that takes. +NOTE Demo: Who was David Bowie? + 00:08:52.100 --> 00:09:03.779 So let's go ahead and go to a quick test of it. @@ -619,10 +638,10 @@ And we can just do, we can either do the alt X and send the gptel-send, 00:09:36.060 --> 00:09:37.979 -or we can just do control C and hit enter. +or we can just do C-c and hit enter. 00:09:37.980 --> 00:09:39.139 -We'll just do control C and enter. +We'll just do C-c and enter. 00:09:39.140 --> 00:09:43.659 And now it's going ahead and hitting our local AI system @@ -648,6 +667,8 @@ and other information about him. 00:10:10.140 --> 00:10:21.699 So very, very happy with that. +NOTE Hallucinations + 00:10:21.700 --> 00:10:23.539 One thing to keep in mind is you look at things @@ -672,6 +693,8 @@ Is it not actually on this one? 00:10:39.740 --> 00:10:42.179 Alright, so that's the first question I always ask one. +NOTE Next question: What are sea monkeys? + 00:10:42.180 --> 00:10:44.659 The next one is what are sea monkeys? @@ -702,10 +725,10 @@ I did not see that coming. 00:11:21.460 --> 00:11:24.139 Here's one that some people say is a really good one -00:11:24.140 --> 00:11:25.739 -to ask ours in strawberry. +00:11:24.140 --> 00:11:42.779 +to ask. Rs in "strawberry." -00:11:25.740 --> 00:11:46.179 +00:11:42.780 --> 00:11:46.179 All right, now she's going off the reservation. 00:11:46.180 --> 00:11:48.139 @@ -714,11 +737,13 @@ She's going in a different direction. 00:11:48.140 --> 00:11:49.979 Let me go ahead and reopen that again, -00:11:49.980 --> 00:11:52.979 -because it's went down a bad hole there for a second. +00:11:49.980 --> 00:11:57.179 +because it went down a bad hole there for a second. + +NOTE Writing Hello World in Emacs Lisp -00:11:52.980 --> 00:11:58.419 -Let me ask it to do write hello world in Emacs list. +00:11:57.180 --> 00:11:58.419 +Let me ask it to write hello world in Emacs Lisp. 00:11:58.420 --> 00:12:10.419 Yep, that works. So the point being here, @@ -741,6 +766,8 @@ We also have the default system here as well. 00:12:25.260 --> 00:12:32.579 So not that bad. +NOTE Pieces for a better solution + 00:12:32.580 --> 00:12:35.379 That's a basic solution, that's a basic setup @@ -778,7 +805,7 @@ But if you want a better solution, I recommend Ollama or LM Studio. 00:12:59.940 --> 00:13:01.899 -They're both more capable than llama file. +They're both more capable than Llamafile. 00:13:01.900 --> 00:13:03.859 They can accept a lot of different models. @@ -805,7 +832,7 @@ so you can start uploading your code, your information, and actually being able to do analysis of it. 00:13:20.140 --> 00:13:23.539 -OpenWebUI provides more capabilities. +Open WebUI provides more capabilities. 00:13:23.540 --> 00:13:24.859 It provides an interface that's similar @@ -814,7 +841,7 @@ It provides an interface that's similar to what you're used to seeing 00:13:25.900 --> 00:13:28.179 -for chat, GPT, and the other systems. +for ChatGPT and the other systems. 00:13:28.180 --> 00:13:29.419 It's really quite well done. @@ -826,7 +853,9 @@ And once again, gptel, I have to mention that because that's the one I really kind of like. 00:13:34.780 --> 00:13:36.899 -And OlamaBuddy is also another really nice one. +And Ollama Buddy is also another really nice one. + +NOTE What about the license? 00:13:36.900 --> 00:13:41.019 So what about the licensing of these models? @@ -841,7 +870,7 @@ a model and doing this stuff. Let's take a look at a couple of highlights 00:13:46.580 --> 00:13:49.379 -from the MetaLlama 3 community license scale. +from the Meta Llama 3 community license scale. 00:13:49.380 --> 00:13:52.579 If your service exceeds 700 million monthly users, @@ -892,7 +921,7 @@ And there are some very cool ones out there. There's people who've done things 00:14:25.260 --> 00:14:29.579 -to try and make the llama bee less, what's the phrase, +to try and make the Llama be less, what's the phrase, 00:14:29.580 --> 00:14:31.939 ethical if you're doing penetration testing research @@ -918,19 +947,21 @@ It's designed to keep it to research and development. 00:14:45.220 --> 00:14:46.739 You can't use it commercially. -00:14:46.740 --> 00:14:50.419 +00:14:46.740 --> 00:14:51.792 So it's designed to clearly delineate -00:14:50.420 --> 00:14:52.939 +00:14:51.793 --> 00:14:52.939 between research and development 00:14:52.940 --> 00:14:54.259 and somebody trying to actually build -00:14:54.260 --> 00:14:55.379 +00:14:54.260 --> 00:14:56.579 something on top of it. -00:14:55.380 --> 00:14:57.979 +NOTE Are there open source data model options? + +00:14:56.580 --> 00:14:57.979 And another question I get asked is, 00:14:57.980 --> 00:14:59.899 @@ -951,17 +982,19 @@ but it's very cool to see where it's going. 00:15:09.020 --> 00:15:11.339 And it's another thing that's just going forward. -00:15:11.340 --> 00:15:13.379 +00:15:11.340 --> 00:15:14.519 It's under the MIT license. -00:15:13.380 --> 00:15:15.819 +NOTE Things to know + +00:15:14.520 --> 00:15:15.819 Some things to know to help you 00:15:15.820 --> 00:15:17.499 have a better experience with this. 00:15:17.500 --> 00:15:21.059 -Get a Llama and OpenWebUI working by themselves, +Get ollama and Open WebUI working by themselves, 00:15:21.060 --> 00:15:22.659 then set up your config file. @@ -970,7 +1003,7 @@ then set up your config file. I was fighting both at the same time, 00:15:24.820 --> 00:15:26.699 -and it turned out I had a problem with my LLAMA. +and it turned out I had a problem with my ollama. 00:15:26.700 --> 00:15:28.899 I had a conflict, so that was what my problem is. @@ -994,7 +1027,7 @@ You can create models, you can put things like help desk developers and stuff like that, breaking it out. 00:15:46.420 --> 00:15:51.019 -The Hacker News has a how to build a $300 AI computer. +The Hacker Noon has a how to build a $300 AI computer. 00:15:51.020 --> 00:15:52.859 This is for March 2024, @@ -1015,7 +1048,7 @@ inside my Acer Aspire, that's where I got the idea doing that. 00:16:04.420 --> 00:16:06.739 -Make sure you do the RockM stuff correctly +Make sure you do the ROCm stuff correctly 00:16:06.740 --> 00:16:09.899 to get the GUI extensions. But it's just really good stuff. @@ -1024,37 +1057,37 @@ to get the GUI extensions. But it's just really good stuff. You don't need a great GPU or CPU to get started. 00:16:13.060 --> 00:16:14.819 -Smaller models like Tiny Llama +Smaller models like tinyllama -00:16:14.820 --> 00:16:16.179 +00:16:14.820 --> 00:16:16.819 can run on very small systems. -00:16:16.180 --> 00:16:18.499 +00:16:16.820 --> 00:16:19.042 It gets you the ability to start playing with it -00:16:18.500 --> 00:16:21.619 +00:16:19.043 --> 00:16:21.619 and start experimenting and figure out if that's for you 00:16:21.620 --> 00:16:23.379 and to move forward with it. 00:16:23.380 --> 00:16:29.219 -The AMD Ryzen AI Max 395 plus is a mini PC +The AMD Ryzen AI Max+ 395 is a mini PC 00:16:29.220 --> 00:16:31.179 makes it really nice dedicated host. -00:16:31.180 --> 00:16:34.619 -You used to be able to buy these for about $1200 now +00:16:31.180 --> 00:16:34.078 +You used to be able to buy these for about $1200. -00:16:34.620 --> 00:16:35.579 -with the RAM price increase, +00:16:34.079 --> 00:16:35.579 +Now with the RAM price increase, -00:16:35.580 --> 00:16:38.779 -you want to get 120 gig when you're pushing two brands so. +00:16:35.580 --> 00:16:38.458 +you want to get 120 gig when you're pushing two brands, -00:16:38.780 --> 00:16:40.739 -It gets a little tighter. +00:16:38.459 --> 00:16:40.739 +so it gets a little tighter. 00:16:40.740 --> 00:16:44.099 Macs work remarkably well with AI. @@ -1093,16 +1126,16 @@ So Mac Minis and the Mac Ultras and stuff like that tend to work really well for that. 00:17:06.100 --> 00:17:09.779 -Alex Ziskin on YouTube has a channel. +Alex Ziskind on YouTube has a channel. 00:17:09.780 --> 00:17:11.899 He does a lot of AI performance benchmarking, 00:17:11.900 --> 00:17:14.819 -like I load a 70 billion parameter model +like "I load a 70 billion parameter model 00:17:14.820 --> 00:17:16.699 -on this mini PC and stuff like that. +on this mini PC" and stuff like that. 00:17:16.700 --> 00:17:19.019 It's a lot of fun and interesting stuff there. @@ -1129,7 +1162,7 @@ It gives you capabilities to start training stuff that you couldn't do with like the big ones. 00:17:35.900 --> 00:17:38.059 -Even with in terms of fine tuning and stuff, +Even with in terms of fine-tuning and stuff, 00:17:38.060 --> 00:17:40.539 it's remarkable to see where that space is coming along @@ -1138,12 +1171,12 @@ it's remarkable to see where that space is coming along in the next year or so. 00:17:41.740 --> 00:17:46.219 -Hugging Face Co has pointers to tons of AI models. +HuggingFace.co has pointers to tons of AI models. -00:17:46.220 --> 00:17:49.259 +00:17:46.220 --> 00:17:48.417 You'll find the one that works for you, hopefully there. -00:17:49.260 --> 00:17:50.539 +00:17:48.418 --> 00:17:50.539 If you're doing cybersecurity, 00:17:50.540 --> 00:17:52.059 @@ -1174,7 +1207,7 @@ and run into those problems. So, That is my talk. What I would like you to get out of that is, 00:18:17.220 --> 00:18:21.859 -if you haven't tried it, give GPTEL and LlamaFile a shot. +if you haven't tried it, give Gptel and LlamaFile a shot. 00:18:21.860 --> 00:18:23.979 Fire up a little small AI instance, @@ -1201,7 +1234,7 @@ Let me see if we got anything you want, Pat. You do. You've got a few questions. 00:18:43.900 --> 00:18:48.059 -Hey, this is Corwin. Thank you so much. Thank you, Aaron. +[Corwin]: Hey, this is Corwin. Thank you so much. Thank you, Aaron. 00:18:48.060 --> 00:18:50.339 What an awesome talk this was, actually. @@ -1213,12 +1246,12 @@ If you don't have a camera, I can get away with not having one too. 00:18:54.340 --> 00:18:56.299 -I've got, I'll turn the camera on. +[Aaron]: I've got, I'll turn the camera on. -00:18:56.300 --> 00:19:01.499 -Okay. All right. I'll turn mine back on. Here I come. +00:18:56.300 --> 00:18:59.833 +[Corwin]: Okay. All right. I'll turn mine back on. Here I come. -00:19:01.500 --> 00:19:03.139 +00:18:59.834 --> 00:19:03.139 Yeah, so there are a few questions, 00:19:03.140 --> 00:19:04.579 @@ -1252,7 +1285,7 @@ put infrastructure we have at home to use and get more done with less. 00:19:34.020 --> 00:19:37.499 -Yeah, the data center impact's interesting +[Aaron]: Yeah, the data center impact's interesting 00:19:37.500 --> 00:19:39.979 because there was a study a while ago. @@ -1264,7 +1297,7 @@ Someone said every time you do a Gemini query, it's like boiling a cup of water. 00:19:45.020 --> 00:19:48.619 -Yeah, I've heard that one too. So do you want to, you know, +[Corwin]: Yeah, I've heard that one too. So do you want to, you know, 00:19:48.620 --> 00:19:51.699 I don't know how much direction you want. @@ -1273,19 +1306,21 @@ I don't know how much direction you want. I'd be very happy to read out the questions for you. 00:19:53.860 --> 00:19:55.219 -Yeah, that would be great. +[Aaron]: Yeah, that would be great. 00:19:55.220 --> 00:19:57.619 I'm having trouble getting to that tab. 00:19:57.620 --> 00:20:02.779 -Okay, I'm there, so I'll put it into our chat too, +[Corwin]: Okay, I'm there, so I'll put it into our chat too, 00:20:02.780 --> 00:20:07.419 so you can follow along if you'd like. +NOTE Q: Why is the David Bowie question a good one for testing a model? e.g. does it fail in interesting ways? + 00:20:07.420 --> 00:20:11.219 -The first question was, why is the David Bowie question +[Corwin]: The first question was, why is the David Bowie question 00:20:11.220 --> 00:20:12.219 a good one to start with? @@ -1293,23 +1328,23 @@ a good one to start with? 00:20:12.220 --> 00:20:14.419 Does it have interesting failure conditions -00:20:14.420 --> 00:20:17.299 +00:20:14.420 --> 00:20:16.639 or what made you choose that? -00:20:17.300 --> 00:20:21.979 -First off, huge fan of David Bowie. +00:20:16.640 --> 00:20:21.979 +[Aaron]: First off, huge fan of David Bowie. 00:20:21.980 --> 00:20:24.499 But I came down to it really taught me a few things 00:20:24.500 --> 00:20:26.299 -about how old the models work +about how the models work 00:20:26.300 --> 00:20:28.819 in terms of things like how many kids he had, 00:20:28.820 --> 00:20:31.779 -because deep seek, which is a very popular Chinese model +because Deepseek, which is a very popular Chinese model 00:20:31.780 --> 00:20:33.179 that a lot of people are using now, @@ -1324,37 +1359,37 @@ and he has like one son and one, one, I think, two sons and a daughter or something like that. 00:20:40.900 --> 00:20:43.659 -so there's differences on that and it just goes over +so there's differences on that, and it just goes over... 00:20:43.660 --> 00:20:45.299 there's a whole lot of stuff 00:20:45.300 --> 00:20:47.779 -because his story spans like 60 years +because his story spans like 60 years, 00:20:47.780 --> 00:20:49.659 -so it gives a good good feedback +so it gives good feedback. 00:20:49.660 --> 00:20:51.539 -that's the real main reason I asked that question +That's the real main reason I asked that question 00:20:51.540 --> 00:20:53.699 -because I just needed one that sea monkeys I just picked +because I just needed one... That sea monkeys, I just picked 00:20:53.700 --> 00:20:56.579 -because it was obscure and just always have right +because it was obscure, and just always have, write, 00:20:56.580 --> 00:20:58.939 -I used to have it right hello world and forth +I used to have it write hello world in forth 00:20:58.940 --> 00:21:01.019 -because I thought was an interesting one as well so +because I thought was an interesting one as well. 00:21:01.020 --> 00:21:03.899 It's just picking random ones like that. 00:21:03.900 --> 00:21:06.499 -One question asked, sorry, a lot of models is, +One question I ask a lot of models is, 00:21:06.500 --> 00:21:09.419 what is the closest star to the Earth? @@ -1366,7 +1401,7 @@ Because most of them will say Alpha Centauri or Proxima Centauri and not the sun. 00:21:13.740 --> 00:21:15.899 -And I have a whole nother talk +And I have a whole 'nother talk 00:21:15.900 --> 00:21:17.899 where I just argue with the LLM @@ -1377,19 +1412,21 @@ trying to say, hey, the sun is a star. 00:21:20.020 --> 00:21:26.579 And he just wouldn't accept it, so. What? -00:21:26.580 --> 00:21:28.419 -Oh, I can hear that. +00:21:26.580 --> 00:21:30.739 +Oh, I can... You're there. + +NOTE Q: What specific tasks do you use local AI for? -00:21:28.420 --> 00:21:34.379 -So what specific tasks do you like to use your local AI? +00:21:30.740 --> 00:21:34.379 +[Corwin]: So what specific tasks do you like to use your local AI? 00:21:34.380 --> 00:21:37.459 -I like to load a lot of my code into +[Aaron]: I like to load a lot of my code into -00:21:37.460 --> 00:21:39.739 +00:21:37.460 --> 00:21:39.099 and actually have it do analysis of it. -00:21:39.740 --> 00:21:42.339 +00:21:39.100 --> 00:21:42.339 I was actually going through some code 00:21:42.340 --> 00:21:45.619 @@ -1428,17 +1465,19 @@ if you're doing cyber security researching. 00:22:04.980 --> 00:22:06.819 and you have your white papers -00:22:06.820 --> 00:22:10.779 +00:22:06.820 --> 00:22:08.417 and stuff like that and stuff in there. -00:22:10.780 --> 00:22:13.979 +00:22:08.418 --> 00:22:10.625 I've got a lot of that loaded into RAG -00:22:13.980 --> 00:22:15.659 -in one model on my OpenWebUI system. +00:22:10.626 --> 00:22:16.879 +in one model on my Open WebUI system. -00:22:15.660 --> 00:22:21.059 -Neat. Have you used have you used +NOTE Q: Have you used any small domain-specific LLMs? What are the kinds of tasks they specialize in, and how do I find and use them? + +00:22:16.880 --> 00:22:21.059 +[Corwin]: Neat. Have you used have you used 00:22:21.060 --> 00:22:25.739 any small domain specific LLMs? What kind of tasks? @@ -1450,7 +1489,7 @@ If so, what kind of tasks that they specialize in? And you know, how? 00:22:32.140 --> 00:22:34.979 -Not to be honest, but there are some out there like once again, +[Aaron]: Not to be honest, but there are some out there like once again, 00:22:34.980 --> 00:22:36.779 for cybersecurity and stuff like that, @@ -1461,17 +1500,19 @@ that I really need to dig into that's on my to do list. 00:22:39.740 --> 00:22:41.699 I've got a couple weeks off at the end of the year. -00:22:41.700 --> 00:22:43.779 +00:22:41.700 --> 00:22:46.539 And that's a big part of my plan for that. -00:22:43.780 --> 00:22:49.379 -Are the various models updated pretty regularly? +NOTE Q: Are the various models updated regularly? Can you add your own data to pre-built models? + +00:22:46.540 --> 00:22:49.379 +[Corwin]: Are the various models updated pretty regularly? 00:22:49.380 --> 00:22:52.059 Can you add your own data to the pre-built models? 00:22:52.060 --> 00:22:56.699 -Yes. The models are updated pretty reasonably. +[Aaron]: Yes. The models are updated pretty reasonably. 00:22:56.700 --> 00:22:59.699 You can add data to a model in a couple of different ways. @@ -1492,7 +1533,7 @@ You can do retrieval augmentation generation, which is you load your data on top of the system 00:23:09.500 --> 00:23:11.299 -and puts inside a database +and put inside a database, 00:23:11.300 --> 00:23:12.859 and you can actually scan that and stuff. @@ -1510,34 +1551,34 @@ I load the talk into the engine and I ask questions against that. 00:23:20.100 --> 00:23:22.179 -I would have one more time would have done that +If I would have had time, I would have done that, -00:23:22.180 --> 00:23:26.499 -but it comes down to how many That's that's rag rag +00:23:22.180 --> 00:23:25.796 +but it comes down to how many... That's RAG. -00:23:26.500 --> 00:23:29.419 -is pretty easy to do through open web UI or LM studio +00:23:25.797 --> 00:23:29.419 +RAG is pretty easy to do through Open WebUI or LM studio. 00:23:29.420 --> 00:23:31.419 -It's a great way you just like point a folder +It's a great way, you just, like, 00:23:31.420 --> 00:23:34.099 -point it to a folder and it just sucks all that state into +point it to a folder and it just sucks all that state into... 00:23:34.100 --> 00:23:35.499 -and it'll hit that data first +and it'll hit that data first. 00:23:35.500 --> 00:23:36.859 -you have like helpdesk and stuff and +You have like helpdesk and stuff and... 00:23:36.860 --> 00:23:39.619 -The other options there's vector databases, +The other options: there's vector databases, 00:23:39.620 --> 00:23:41.819 -which is like if you use PostgreSQL. +which is, like, if you use PostgreSQL, 00:23:41.820 --> 00:23:43.699 -It has a PG vector I can do a lot of that stuff. +it has a pg vector that can do a lot of that stuff. 00:23:43.700 --> 00:23:44.739 I've not dug into that yet, @@ -1545,11 +1586,13 @@ I've not dug into that yet, 00:23:44.740 --> 00:23:46.099 but that is also on that to-do list -00:23:46.100 --> 00:23:48.459 -I've got a lot of stuff planned for Cool. +00:23:46.100 --> 00:23:48.055 +I've got a lot of stuff planned for... + +NOTE Q: What is your experience with RAG? Are you using them and how have they helped? -00:23:48.460 --> 00:23:51.819 -So what are your experience with rags? +00:23:48.056 --> 00:23:51.819 +[Corwin]: Cool. So what are your experience with RAGs? 00:23:51.820 --> 00:23:54.339 I don't even know what that means. @@ -1561,10 +1604,10 @@ Do you know what that means? Do you remember this question again? 00:23:59.620 --> 00:24:03.979 -What is your experience with RAGs? RAGs is great. +What is your experience with RAGs? 00:24:03.980 --> 00:24:07.459 -That's Retrieval Augmentation Generation. +[Aaron]: RAGs is great. That's Retrieval Augmentation Generation. 00:24:07.460 --> 00:24:09.739 That loads your data first, and it hits yours, @@ -1579,7 +1622,7 @@ There's a guy who wrote a RAG in 100 lines of Python, and it's an impressive piece of software. 00:24:16.900 --> 00:24:18.779 -I think if you hit one of my site, +I think if you hit one of my sites, 00:24:18.780 --> 00:24:22.099 I've got a private AI talk where I actually refer to that. @@ -1599,20 +1642,22 @@ That's one of the great things about AI, 00:24:32.660 --> 00:24:33.619 especially private AI, -00:24:33.620 --> 00:24:37.739 +00:24:33.620 --> 00:24:35.625 is you can do whatever you want to with it -00:24:37.740 --> 00:24:43.179 +00:24:35.626 --> 00:24:38.833 and build up with it as you get more experience. -00:24:43.180 --> 00:24:44.219 -Any thoughts on running things +NOTE Q: Thoughts on running things on AWS/digital ocean instances, etc? + +00:24:38.834 --> 00:24:44.219 +[Corwin]: Any thoughts on running things 00:24:44.220 --> 00:24:49.179 on AWS, DigitalOcean, and so on? 00:24:49.180 --> 00:24:50.619 -AWS is not bad. +[Aaron]: AWS is not bad. 00:24:50.620 --> 00:24:52.659 The DigitalOcean, they have some of their GPUs. @@ -1662,11 +1707,13 @@ And Google's also has it, 00:25:23.180 --> 00:25:26.739 but I still tend to keep more stuff on local PCs, -00:25:26.740 --> 00:25:33.299 -because I just paranoid that way. Gotcha. +00:25:26.740 --> 00:25:31.077 +because I'm just paranoid that way. + +NOTE Q: What has your experience been using AI for cyber security applications? What do you usually use it for? -00:25:33.300 --> 00:25:35.579 -What has your experience been using AI? +00:25:31.078 --> 00:25:35.579 +[Corwin]: Gotcha. What has your experience been using AI? 00:25:35.580 --> 00:25:40.139 Do you want to get into that, using AI for cybersecurity? @@ -1675,16 +1722,16 @@ Do you want to get into that, using AI for cybersecurity? You might have already touched on this. 00:25:42.020 --> 00:25:44.379 -Yeah, really, for cybersecurity, +[Aaron]: Yeah, really, for cybersecurity, 00:25:44.380 --> 00:25:46.259 what I've had to do is I've dumped logs 00:25:46.260 --> 00:25:47.299 -to have a due correlation. +to have it do correlation. 00:25:47.300 --> 00:25:49.859 -Keep in mind, the size of that LLAMA file we were using +Keep in mind, the size of that Llama file we were using 00:25:49.860 --> 00:25:52.059 for figuring out David Bowie, writing the hello world, @@ -1722,11 +1769,11 @@ But I want to work on something to do that more locally 00:26:15.300 --> 00:26:19.019 and be able to actually drive this stuff over that. -00:26:19.020 --> 00:26:21.979 +00:26:19.020 --> 00:26:24.659 That's one also on the long-term goals. -00:26:21.980 --> 00:26:26.059 -So we got any other questions or? +00:26:24.660 --> 00:26:26.059 +[Corwin]: So we got any other questions or? 00:26:26.060 --> 00:26:29.099 Those are the questions that I see. @@ -1738,13 +1785,13 @@ I want to just read out a couple of comments that I saw in IRC though. 00:26:33.420 --> 00:26:36.699 -Jay Rutabaga says, it went very well +jrootabaga says, it went very well 00:26:36.700 --> 00:26:39.259 from an audience perspective. 00:26:39.260 --> 00:26:43.619 -And G Gundam says, respect your commitment to privacy. +And GGundam says, respect your commitment to privacy. 00:26:43.620 --> 00:26:45.619 And then somebody is telling us @@ -1764,6 +1811,8 @@ I just didn't type in the answer here's 00:26:57.660 --> 00:26:59.659 and there's a couple more questions coming in so +NOTE Q: Is there a disparity where you go to paid models becouse they are better and what problems would those be? + 00:26:59.660 --> 00:27:04.699 Is there a disparity where you go to paid models @@ -1834,61 +1883,60 @@ going into these AIs and stuff, but in terms of the ability to get a decent one, 00:27:56.220 --> 00:27:57.979 -like the llama, llama three, two, +like the llama, llama 3.2, -00:27:57.980 --> 00:28:01.699 +00:27:57.980 --> 00:28:01.239 and load your data into it, you can be pretty competitive. -00:28:01.700 --> 00:28:04.779 +00:28:01.240 --> 00:28:02.792 You're not going to get all the benefits, -00:28:04.780 --> 00:28:07.299 +00:28:02.793 --> 00:28:04.333 but you have more control over it. -00:28:07.300 --> 00:28:11.819 -So it's, it's a, this and that it's a, +00:28:04.334 --> 00:28:11.000 +So it's a balancing act. -00:28:11.820 --> 00:28:13.139 -it's a balancing act. +00:28:11.001 --> 00:28:14.125 +[Corwin]: Okay, and I think I see a couple more questions coming in. -00:28:13.140 --> 00:28:15.539 -Okay, and I think I see a couple more questions coming in. +NOTE Q: What's the largest (in parameter size) local model you've been able to successfully run locally, and do you run into issues with limited context window size? -00:28:15.540 --> 00:28:19.619 +00:28:14.126 --> 00:28:19.619 What is the largest parameter size for local models 00:28:19.620 --> 00:28:22.459 that you've been able to successfully run locally 00:28:22.460 --> 00:28:26.059 -and do run into issues with limited context window size? +and do you run into issues with limited context window size? 00:28:26.060 --> 00:28:29.659 -The top eight models will tend to have a larger ceiling. +The top paid models will tend to have a larger ceiling. 00:28:29.660 --> 00:28:32.859 -Yes, yes, yes, yes, yes. +[Aaron]: Yes, yes, yes, yes, yes. 00:28:32.860 --> 00:28:37.019 By default, the context size is I think 1024. -00:28:37.020 --> 00:28:44.619 -But I've upped it to 8192 on the on this box, the Pangolin +00:28:37.020 --> 00:28:41.160 +But I've upped it to 8192 on this box, the Pangolin, -00:28:44.620 --> 00:28:46.939 -because it seems to be some reason +00:28:41.161 --> 00:28:43.542 +because it seems to be, for some reason, -00:28:46.940 --> 00:28:49.459 -it's just a very working quite well. +00:28:43.543 --> 00:28:45.208 +it's just a very... working quite well. -00:28:49.460 --> 00:28:52.219 -But the largest ones I've loaded have been in +00:28:45.209 --> 00:28:49.750 +But the largest ones I've loaded have been in the... -00:28:52.220 --> 00:28:54.059 -the have not been that huge. +00:28:49.751 --> 00:28:51.333 +have not been that huge. -00:28:54.060 --> 00:28:55.699 -I've loaded this the last biggest one I've done. +00:28:51.334 --> 00:28:55.699 +I've loaded this... the last biggest one I've done... 00:28:55.700 --> 00:28:57.459 That's the reason why I'm planning @@ -1927,7 +1975,7 @@ and the ones that are more quantitized because it just tends to work better for me. 00:29:26.620 --> 00:29:29.179 -We've still got over 10 minutes before we're cutting away, +[Corwin]: We've still got over 10 minutes before we're cutting away, 00:29:29.180 --> 00:29:30.179 but I'm just anticipating @@ -1956,6 +2004,8 @@ Okay. And we've got 10 minutes 00:29:49.740 --> 00:29:52.379 where we're still going to stay live. +NOTE Q: Are there "Free" as in FSF/open source issues with the data? + 00:29:52.380 --> 00:30:00.139 So next question coming in, I see, are there free as in freedom, @@ -1963,7 +2013,7 @@ So next question coming in, I see, are there free as in freedom, free as in FSF issues with the data? 00:30:05.740 --> 00:30:11.699 -Yes, where's the data coming from is a huge question with AI. +[Aaron]: Yes, where's the data coming from is a huge question with AI. 00:30:11.700 --> 00:30:13.739 It's astonishing you can ask questions @@ -1990,7 +2040,7 @@ I can't remember who it was. Somebody was actually out torrenting books 00:30:28.660 --> 00:30:30.939 -just to be able to build into their AI system. +just to be able to build it into their AI system. 00:30:30.940 --> 00:30:32.339 I think it might've been Meta. @@ -2011,13 +2061,13 @@ like the mobile guys have got their own license, but where they're getting their data from, 00:30:42.740 --> 00:30:45.499 -I'm not sure on so that that's a huge question. +I'm not sure, so that's a huge question. 00:30:45.500 --> 00:30:47.979 -That's a that's a talk in itself. +That's a talk in itself. 00:30:47.980 --> 00:30:51.979 -But yeah, but you if you train on your RAG and your data, +But yeah, if you train on your RAG and your data, 00:30:51.980 --> 00:30:53.499 you know what it's come, you know, @@ -2032,16 +2082,21 @@ but the other stuff is just more lines of supplement 00:30:56.740 --> 00:31:01.379 -if you're using a smaller model, +if you're using a smaller model. 00:31:01.380 --> 00:31:05.419 -but the comment online, I see a couple of them. +[Corwin]: The comments online, I see a couple of them. 00:31:05.420 --> 00:31:08.339 I'll read them out in order here. Really interesting stuff. -00:31:08.340 --> 00:31:11.659 -Thank you for your talk. Given that large AI companies +00:31:08.340 --> 00:31:09.556 +Thank you for your talk. + +NOTE Q: Given that large AI companies are openly stealing IP and copyright, thereby eroding the authority of such law (and eroding truth itself as well), can you see a future where IP & copyright flaw become untenable and what sort of onwards effect might that have? + +00:31:09.557 --> 00:31:11.659 +Given that large AI companies 00:31:11.660 --> 00:31:14.899 are openly stealing intellectual property and copyright @@ -2098,7 +2153,7 @@ and I do not have money. So don't sue me, is there's going to be 00:31:58.860 --> 00:32:02.899 -the current administration tends is very AI pro AI. +the current administration tends is very AI, pro AI. 00:32:02.900 --> 00:32:05.499 And there's very a great deal of lobbying by those groups. @@ -2115,11 +2170,13 @@ what happens to copyright the next 510 years. 00:32:11.700 --> 00:32:13.339 I just don't know how it keeps up -00:32:13.340 --> 00:32:16.059 +00:32:13.340 --> 00:32:18.059 without there being some adjustments and stuff. -00:32:16.060 --> 00:32:20.419 -Okay, and then another comment I saw, +NOTE Comment: File size is not going to be the bottleneck, your RAM is. + +00:32:18.060 --> 00:32:20.419 +[Corwin]: Okay, and then another comment I saw, 00:32:20.420 --> 00:32:23.219 file size is not going to be a bottleneck. @@ -2136,11 +2193,11 @@ and 512 gigabytes of RAM to run the larger ones. 00:32:31.980 --> 00:32:35.059 You'll need a GPU with that much memory -00:32:35.060 --> 00:32:39.099 -if you want it to run quickly. Yeah. Oh no. +00:32:35.060 --> 00:32:38.318 +if you want it to run quickly. -00:32:39.100 --> 00:32:41.259 -It also depends upon how your memory is laid out. +00:32:38.319 --> 00:32:41.259 +[Aaron]: Yeah. Oh no. It also depends upon how your memory is laid out. 00:32:41.260 --> 00:32:45.699 Like example being the Ultra i285H @@ -2167,7 +2224,7 @@ So it's able to do some additional stuff with it as opposed to come off disk. 00:33:00.820 --> 00:33:03.699 -It's all balancing act. If you hit Zyskin's website, +It's all balancing act. If you hit Ziskind's website, 00:33:03.700 --> 00:33:05.819 that guy's done some great work on it. @@ -2206,7 +2263,7 @@ But if you want to, Network Chuck had a great video talking about building his own system 00:33:30.940 --> 00:33:34.379 -with a couple really powerful NVIDIA cards +with a couple really powerful Nvidia cards 00:33:34.380 --> 00:33:35.379 and stuff like that in it. @@ -2226,20 +2283,20 @@ which models you want to use, 00:33:44.900 --> 00:33:46.219 how much information you need, -00:33:46.220 --> 00:33:48.019 +00:33:46.220 --> 00:33:49.579 but it's part of the learning. -00:33:48.020 --> 00:33:52.899 -And you can run models, even as a Raspberry PI fives, +00:33:49.580 --> 00:33:52.899 +And you can run models, even on Raspberry Pi 5s, 00:33:52.900 --> 00:33:54.499 if you want to, they'll run slow. -00:33:54.500 --> 00:33:56.459 +00:33:54.500 --> 00:33:59.339 Don't get me wrong, but they're possible. -00:33:56.460 --> 00:34:02.179 -Okay, and I think there's other questions coming in too, +00:33:59.340 --> 00:34:02.179 +[Corwin]: Okay, and I think there's other questions coming in too, 00:34:02.180 --> 00:34:04.019 so I'll just bam for another second. @@ -2263,7 +2320,7 @@ This is another one that I'm going to have to study after the conference. 00:34:18.340 --> 00:34:21.099 -We greatly appreciate, all of us appreciate +[Aaron]: We greatly appreciate, all of us appreciate 00:34:21.100 --> 00:34:22.459 you guys putting on the conference. @@ -2272,25 +2329,27 @@ you guys putting on the conference. It's a great conference. It's well done. 00:34:26.300 --> 00:34:28.019 -It's an honor to be on the stage +[Corwin]: It's an honor to be on the stage -00:34:28.020 --> 00:34:30.899 +00:34:28.020 --> 00:34:33.124 with the brains of the project, which is you. -00:34:30.900 --> 00:34:34.699 -So what else we got? Question wise. +00:34:33.125 --> 00:34:34.699 +[Aaron]: So what else we got? Question wise. + +00:34:34.700 --> 00:34:46.899 +[Corwin]: Okay, so just scanning here. -00:34:34.700 --> 00:34:39.499 -Okay, so just scanning here. +NOTE Q: Have you used local models capable of tool-calling? -00:34:39.500 --> 00:34:50.699 +00:34:46.900 --> 00:34:50.699 Have you used local models capable of tool calling? 00:34:50.700 --> 00:34:54.779 -I'm, I'm scared of agentic. +I'm scared of agentic. 00:34:54.780 --> 00:34:58.739 -I, I am, I'm going to be a slow adopter of that. +I'm going to be a slow adopter of that. 00:34:58.740 --> 00:35:02.459 I want to do it, but I just don't have the, uh, @@ -2299,7 +2358,7 @@ I want to do it, but I just don't have the, uh, four decimal fortitude right now to do it. 00:35:04.340 --> 00:35:07.179 -I, I, I've had to give me the commands, +I've had to give me the commands, 00:35:07.180 --> 00:35:08.739 but I still run the commands by hand. @@ -2307,11 +2366,11 @@ but I still run the commands by hand. 00:35:08.740 --> 00:35:10.539 I'm looking into it and it's on once again, -00:35:10.540 --> 00:35:14.139 +00:35:10.540 --> 00:35:20.899 it's on that list, but I just, that's a big step for me. -00:35:14.140 --> 00:35:23.139 -So. Awesome. All right. +00:35:20.900 --> 00:35:23.139 +[Corwin]: So. Awesome. All right. 00:35:23.140 --> 00:35:27.179 Well, maybe it's, let me just scroll through @@ -2331,17 +2390,19 @@ So this was piggybacking on the question 00:35:41.140 --> 00:35:44.859 about model updates and adding data. +NOTE Q: Will the models reach out to the web if they need to for more info? + 00:35:44.860 --> 00:35:46.579 And will models reach out to the web 00:35:46.580 --> 00:35:47.819 if they need more info? -00:35:47.820 --> 00:35:51.779 +00:35:47.820 --> 00:35:52.479 Or have you worked with any models that work that way? -00:35:51.780 --> 00:35:55.259 -No, I've not seen any models to do that +00:35:52.480 --> 00:35:55.259 +[Aaron]: No, I've not seen any models to do that 00:35:55.260 --> 00:35:57.739 There's there was like a group @@ -2353,19 +2414,22 @@ working on something like a package updater that would do different diffs on it, 00:36:02.500 --> 00:36:03.939 -but it's so Models change so much +but it's so... Models change so much, 00:36:03.940 --> 00:36:05.739 -even who make minor changes and fine-tuning. +even who make minor changes and fine-tuning, 00:36:05.740 --> 00:36:07.659 -It's hard just to update them in place +It's hard just to update them in place. 00:36:07.660 --> 00:36:10.099 So I haven't seen one, but that doesn't mean -00:36:10.100 --> 00:36:16.259 -they're not out there. I'm curious topic though Awesome +00:36:10.100 --> 00:36:15.713 +they're not out there. Curious topic though. + +00:36:15.714 --> 00:36:16.259 +[Corwin]: Awesome. 00:36:16.260 --> 00:36:19.539 Well, it's probably pretty good timing. @@ -2385,17 +2449,19 @@ I want to make sure while we're still live, though, 00:36:28.300 --> 00:36:31.299 I give you a chance to offer any closing thoughts. +NOTE Q: What scares you most about agentic tools? How would you think about putting a sandbox around it if you adopt an agentic workflow? + 00:36:31.300 --> 00:36:35.779 So what scares you most about the agentic tools? 00:36:35.780 --> 00:36:38.419 How would you think about putting a sandbox around that -00:36:38.420 --> 00:36:42.139 +00:36:38.420 --> 00:36:41.619 if you did adopt an agentic workflow? -00:36:42.140 --> 00:36:42.899 -That is a great question. +00:36:41.620 --> 00:36:42.899 +[Aaron]: That is a great question. 00:36:42.900 --> 00:36:45.939 In terms of that, I would just control @@ -2419,7 +2485,7 @@ because that's just kind of the way it works out for us. So agentic, it's just going to take a while to get trust. 00:36:58.500 --> 00:37:01.059 -I want to want to see more stuff happening. +I want to see more stuff happening. 00:37:01.060 --> 00:37:02.819 Humans screw up stuff enough. @@ -2452,16 +2518,18 @@ but it's going to be, it's happening. It's just, I'm going to be one of the laggards on that one. 00:37:25.820 --> 00:37:29.259 -So airgab, jail, extremely locked down environments, +So air gap, jail, extremely locked down environments, 00:37:29.260 --> 00:37:34.899 like we're talking about separate physicals, not Docker. -00:37:34.900 --> 00:37:37.499 -Yeah, hopefully. Right, fair. +00:37:34.900 --> 00:37:36.577 +Yeah, hopefully. + +NOTE Q: Tool calling can be read-only, such as giving models the ability to search the web before answersing your question. (No write access or execute access) I'm interested to know if local models are any good at calling tools, though. -00:37:37.500 --> 00:37:39.899 -So tool calling can be read-only, +00:37:36.578 --> 00:37:39.899 +[Corwin]: Right, fair. So tool calling can be read-only, 00:37:39.900 --> 00:37:42.539 such as giving models the ability to search the web @@ -2479,7 +2547,7 @@ I'm interested to know if local models are any good at that. 00:37:51.420 --> 00:37:55.579 -Yes, local models can do a lot of that stuff. +[Aaron]: Yes, local models can do a lot of that stuff. 00:37:55.580 --> 00:37:56.819 It's their capabilities. @@ -2488,13 +2556,13 @@ It's their capabilities. If you load LM studio, you can do a lot of wonderful stuff 00:37:59.020 --> 00:38:02.419 -with that or with open web UI with a llama. +with that or with Open Web UI with ollama. 00:38:02.420 --> 00:38:05.739 It's a lot of capabilities. It's amazing. 00:38:05.740 --> 00:38:08.139 -Open web UI is actually what a lot of companies are using now +Open Web UI is actually what a lot of companies are using now 00:38:08.140 --> 00:38:10.259 to put their data behind that. @@ -2505,8 +2573,11 @@ They're curated data and stuff like that. So works well. 00:38:12.140 --> 00:38:15.819 I can confirm that from my own professional experience. -00:38:15.820 --> 00:38:19.659 -Excellent. Okay, well, our timing should be just perfect +00:38:15.820 --> 00:38:16.915 +Excellent. + +00:38:16.916 --> 00:38:19.659 +[Corwin]: Okay, well, our timing should be just perfect 00:38:19.660 --> 00:38:22.659 if you want to give us like a 30-second, 45-second wrap-up. @@ -2521,7 +2592,7 @@ Thank you again so much for preparing this talk and for entertaining all of our questions. 00:38:30.500 --> 00:38:33.299 -Yeah, let me just thank you guys for the conference again. +[Aaron]: Yeah, let me just thank you guys for the conference again. 00:38:33.300 --> 00:38:35.179 This is a great one. I've enjoyed a lot of it. @@ -2532,6 +2603,8 @@ I've only had a couple of talks so far, 00:38:37.340 --> 00:38:41.659 but I'm looking forward to hitting the ones after this and tomorrow. +NOTE Wrapping up + 00:38:41.660 --> 00:38:44.739 But the AI stuff is coming. Get on board. @@ -2545,7 +2618,7 @@ and get a little taste of it, what my minimal viable product 00:38:49.780 --> 00:38:51.619 -with just LlamaFile and GPTEL +with just Llamafile and gptel 00:38:51.620 --> 00:38:53.139 will get you to the point where you start figuring out. @@ -2554,34 +2627,34 @@ will get you to the point where you start figuring out. Gptel is an amazing thing. It just gets out of your way, 00:38:55.580 --> 00:39:00.459 -but it works solo with Emacs. Design because it takes +but it works so well with Emacs's design because 00:39:00.460 --> 00:39:01.699 -doesn't take your hands off the keyboard. +it doesn't take your hands off the keyboard. 00:39:01.700 --> 00:39:02.499 -It's just another buffer +It's just another buffer, 00:39:02.500 --> 00:39:04.059 and you just put information in there. 00:39:04.060 --> 00:39:06.979 -It's quite quite a wonderful It's a wonderful time. +It's quite a wonderful time. -00:39:06.980 --> 00:39:10.819 -Let's put that way That's all I got Thank you +00:39:06.980 --> 00:39:10.501 +Let's put that way. That's all I got. -00:39:10.820 --> 00:39:14.339 -so much for once again, and we're we're just cut away. +00:39:10.502 --> 00:39:14.339 +[Corwin]: Thank you so much for once again, and we've just cut away. 00:39:14.340 --> 00:39:15.779 So I'll stop the recording 00:39:15.780 --> 00:39:18.259 -and you're on your own recognizance +and you're on your own recognizance. 00:39:18.260 --> 00:39:19.699 -Well, I'm gonna punch out +[Aaron]: Well, I'm gonna punch out 00:39:19.700 --> 00:39:21.059 if anybody has any questions or anything @@ -2590,7 +2663,7 @@ if anybody has any questions or anything my email address is ajgrothe@yahoo.com or at gmail and 00:39:24.700 --> 00:39:26.779 -Thank you all for attending +thank you all for attending, 00:39:26.780 --> 00:39:29.939 and thanks again for the conference diff --git a/2025/captions/emacsconf-2025-reader--an-introduction-to-the-emacs-reader--divy--answers.vtt b/2025/captions/emacsconf-2025-reader--an-introduction-to-the-emacs-reader--divy--answers.vtt index b9dae5b5..81066917 100644 --- a/2025/captions/emacsconf-2025-reader--an-introduction-to-the-emacs-reader--divy--answers.vtt +++ b/2025/captions/emacsconf-2025-reader--an-introduction-to-the-emacs-reader--divy--answers.vtt @@ -1,5 +1,7 @@ WEBVTT +NOTE Q: Is there scope for integrating the C library into Emacs itself with muPDF becoming an optional dependency? + 00:00:00.000 --> 00:00:01.479 The first question, @@ -31,16 +33,16 @@ and I don't think we really need it. Um, I think as it is, uh, Emacs 00:00:33.040 --> 00:00:36.439 -with doc view needs new tool, which is something you need +with docview needs mutool, which is something you need 00:00:36.440 --> 00:00:38.919 -to install from new PDF anyways. +to install from MuPDF anyways. 00:00:38.920 --> 00:00:42.599 So, um, I think it is almost expected 00:00:42.600 --> 00:00:46.279 -that you install new PDF from system package manager. +that you install MuPDF from system package manager. 00:00:46.280 --> 00:00:49.119 Um, and I think that as it is, is better @@ -52,10 +54,12 @@ because we don't really need to have a whole PDF engine inside Emacs. 00:00:53.440 --> 00:00:59.879 -Um, Next question also from the pad, +Next question also from the pad, + +NOTE Q: The dynamic modules sound great, and it's amazing they're there since 2017. Why is it so slow to take off, do you think? Is there prior art with them? 00:00:59.880 --> 00:01:01.759 -the dynamic module some great, +the dynamic modules sound great, 00:01:01.760 --> 00:01:06.639 and it's amazing that they've been there since 2017. @@ -73,10 +77,10 @@ Is there a prior art with them? Right? That's a good question. 00:01:16.360 --> 00:01:22.119 -Actually, I think 1 of the reasons is that. +Actually, I think one of the reasons is that 00:01:22.120 --> 00:01:24.919 -Most of the time, I think people love Emacs +most of the time, I think people love Emacs 00:01:24.920 --> 00:01:27.519 because they can do so much with Elisp. @@ -168,26 +172,28 @@ out of this super cool dynamic module feature. 00:02:57.800 --> 00:03:02.159 Yeah. Cool I'll take I'll bring in the next question. +NOTE Q: How is pdf-tools difficult to install? I install it using the built in package manager. + 00:03:02.160 --> 00:03:07.399 -How how? How difficult is our PDF tools to install? +How difficult is PDF-tools to install? 00:03:07.400 --> 00:03:10.439 The questioner is installing it 00:03:10.440 --> 00:03:12.519 -using the built-in package manager +using the built-in package manager. 00:03:12.520 --> 00:03:16.679 -looking at the Emacs reader installation instructions +Looking at the Emacs reader installation instructions, 00:03:16.680 --> 00:03:18.479 -It doesn't necessarily cover +it doesn't necessarily cover 00:03:18.480 --> 00:03:20.399 -how how to install that easily +how to install that easily. 00:03:20.400 --> 00:03:25.679 -person is not using use package or straight and Okay. +Person is not using use-package or straight. Okay. 00:03:25.680 --> 00:03:27.959 Oh, and they say that you didn't @@ -205,19 +211,19 @@ It's your choice. If you would like to say more. Yeah, I think just as a thing, 00:03:40.520 --> 00:03:43.319 -the reason I said PDF tools is difficult +the reason I said pdf-tools is difficult 00:03:43.320 --> 00:03:45.839 -is PDF tools has a huge list of dependencies. +is pdf-tools has a huge list of dependencies. 00:03:45.840 --> 00:03:47.639 -The only thing Emacs Vita depends +The only thing Emacs Reader depends 00:03:47.640 --> 00:03:50.599 -on is new PDF, nothing else. There's a single dependency. +on is MuPDF, nothing else. There's a single dependency. 00:03:50.600 --> 00:03:54.479 -PDF tools depends on a lot of things +pdf-tools depends on a lot of things 00:03:54.480 --> 00:03:57.759 and they have their own server, @@ -229,7 +235,7 @@ which is packaged as a system package, which you don't really find everywhere. 00:04:02.360 --> 00:04:05.039 -And there's like systems, the new Linux systems +And there's like systems, the GNU/Linux systems 00:04:05.040 --> 00:04:07.359 where the package is very difficult to build @@ -244,22 +250,25 @@ So my goal was to sort of reduce the number of dependencies. 00:04:14.840 --> 00:04:19.559 -And then right now it's very, it's sort of a key +And then right now it's sort of a key 00:04:19.560 --> 00:04:21.119 to install Emacs Reader. 00:04:21.120 --> 00:04:23.319 -Once we go to GNU Elpa, it's just +Once we go to GNU ELPA, it's just 00:04:23.320 --> 00:04:25.999 -going to be Emacs package install, just that. +going to be Emacs package-install, just that. 00:04:26.000 --> 00:04:27.919 -Right now you have to do package VC +Right now you have to do package :vc -00:04:27.920 --> 00:04:32.359 -a bit. Boy, we get spoiled as +00:04:27.920 --> 00:04:30.223 +a bit. + +00:04:30.224 --> 00:04:32.359 +Boy, we get spoiled as 00:04:32.360 --> 00:04:35.359 Emacs users. Everything just gets so easy @@ -267,8 +276,13 @@ Emacs users. Everything just gets so easy 00:04:35.360 --> 00:04:37.959 for us. It's like an IDE for our -00:04:37.960 --> 00:04:44.839 -whole machine. What tools did you use to measure the +00:04:37.960 --> 00:04:41.200 +whole machine. + +NOTE Q: What tool(s) did you use to measure the memory usage between the three packages? + +00:04:41.201 --> 00:04:44.839 +What tools did you use to measure the 00:04:44.840 --> 00:04:48.879 memory usage between the three packages? @@ -286,25 +300,25 @@ purposes Valgrind. So Valgrind is a a set of suite of debugging tools. 00:05:01.560 --> 00:05:03.799 -And one of the tools that it has is Massive. +And one of the tools that it has is Massif. 00:05:03.800 --> 00:05:08.919 It's a heap analyzer, heap profiler. 00:05:08.920 --> 00:05:10.839 -So Valgrind plus Massive, +So Valgrind plus Massif, 00:05:10.840 --> 00:05:14.119 and then there's a KDE package 00:05:14.120 --> 00:05:15.759 -called Massive Visualizer. +called Massif-Visualizer. 00:05:15.760 --> 00:05:19.839 -So I first get the Massive output using Valgrind, +So I first get the Massif output using Valgrind, 00:05:19.840 --> 00:05:23.159 -and then put that output into Massive Visualizer. +and then put that output into Massif Visualizer. 00:05:23.160 --> 00:05:24.519 That gives me the grasp. @@ -322,7 +336,7 @@ I don't think so. I don't think so. There's, yeah, there's I think a few packages 00:05:37.320 --> 00:05:38.879 -which do something with Massive, +which do something with Massif, 00:05:38.880 --> 00:05:42.159 but I don't think like they're maintained. @@ -333,6 +347,8 @@ Yeah. Gotcha. Cool. Awesome opportunity 00:05:47.760 --> 00:05:49.399 there for someone spunky. +NOTE Q: How is the conversion between ELisp and the foreign language type system done? For example when interfacing with a C++ library that makes heavy use of C++ object system and templates? + 00:05:49.400 --> 00:05:55.399 How is conversion between Elisp and foreign language types? @@ -424,7 +440,7 @@ that is C++ or C or Rust. And then that is going to be compiled 00:07:40.760 --> 00:07:43.279 -into a share library like SO. +into a share library like .so, 00:07:43.280 --> 00:07:46.439 shared object, and then that shared object @@ -444,28 +460,30 @@ I'm basically loading that shared object, 00:07:58.440 --> 00:08:00.516 and that shared object already has -00:08:00.517 --> 00:08:03.891 +00:08:00.517 --> 00:08:03.879 the compiled dynamic module functions and so on. -00:08:03.892 --> 00:08:06.308 +00:08:03.880 --> 00:08:07.079 But my blog will explain that better. -00:08:06.309 --> 00:08:10.016 +00:08:07.080 --> 00:08:09.999 Gotcha. I thought that was pretty clear. -00:08:10.017 --> 00:08:12.016 +00:08:10.000 --> 00:08:12.199 I'm looking forward to seeing that blog post -00:08:12.017 --> 00:08:13.641 +00:08:12.200 --> 00:08:13.919 and understanding what I glossed over -00:08:13.642 --> 00:08:15.860 +00:08:13.920 --> 00:08:15.879 trying to understand from that explanation. -00:08:15.861 --> 00:08:18.420 +00:08:15.880 --> 00:08:17.279 That was great. -00:08:18.421 --> 00:08:22.879 +NOTE Q: Can one look at pdf metadata with emacs-reader? Can annotations be added? Does it understand forms? Can it handle encrypted pdfs? + +00:08:17.280 --> 00:08:22.840 Can one look at PDF metadata with Emacs Reader? 00:08:22.880 --> 00:08:26.199 @@ -517,19 +535,21 @@ down in an efficient manner. Gotcha. Um. Comment or questioner says, 00:09:24.120 --> 00:09:28.799 -I installed Emacs Reader already as promised. Great job. +I installed Emacs Reader already. It is as promised. Great job. + +NOTE Q: How can I associate ODT files to open with emacs-reader? 00:09:28.800 --> 00:09:34.879 How can I associate ODT files to open with Emacs Reader? -00:09:34.880 --> 00:09:38.479 +00:09:34.880 --> 00:09:37.939 You don't really need to do anything. -00:09:38.480 --> 00:09:40.599 +00:09:37.940 --> 00:09:40.599 You should be just able to do find file, 00:09:40.600 --> 00:09:42.959 -Control X, Control F, and open. +C-x C-f and open. 00:09:42.960 --> 00:09:45.319 And it should open with Emacs Reader @@ -550,7 +570,7 @@ So you should just be able to do find file. If you're not able to do that, 00:09:56.880 --> 00:09:58.199 -you should open Embug report. +you should open a bug report. 00:09:58.200 --> 00:10:00.759 And I'll just mention @@ -579,6 +599,8 @@ Jump in and we can take questions 00:10:21.560 --> 00:10:25.999 as long as Divya has steam for that. +NOTE Q: If a pdf file is open in emacs-reader and I regenerate the pdf with some changes, does emacs-reader actually refresh the pdf on its own or do I have to reload the pdf? + 00:10:26.000 --> 00:10:30.439 If a PDF file is open in Emacs Reader @@ -660,20 +682,25 @@ and feeding of the exact timing 00:11:41.320 --> 00:11:46.879 if we have more of a continuous behind the curtains, so to speak. -00:11:46.880 --> 00:11:50.959 -That makes a lot of sense to me. What are the challenges +00:11:46.880 --> 00:11:49.752 +That makes a lot of sense to me. + +NOTE Q: What are the challenges with integrating with SyncTeX and AucTeX? This would be great to see as pdf-tools handles this well. + +00:11:49.753 --> 00:11:50.959 +What are the challenges 00:11:50.960 --> 00:11:55.719 -with integrating synctex and AucTex? +with integrating SyncTeX and AucTeX? -00:11:55.720 --> 00:11:58.919 -This would be great to see as PDF handles as well, +00:11:55.720 --> 00:12:01.459 +This would be great to see as pdf-tools handles this well. -00:11:58.920 --> 00:12:02.319 -or PDF tools handles as well. Yeah, yeah. +00:12:01.460 --> 00:12:02.319 +Yeah, yeah. 00:12:02.320 --> 00:12:04.399 -So, we have Synctex and Auctex planned. +So, we have SyncTeX and AucTeX planned. 00:12:04.400 --> 00:12:06.839 I don't really see any major obstacles @@ -685,7 +712,7 @@ for doing that, to be very honest. I think we can do it in a much simpler way 00:12:11.520 --> 00:12:12.479 -than PDF Tools does. +than pdf-tools does. 00:12:12.480 --> 00:12:17.479 The only reason we haven't done it yet is because, again, @@ -699,13 +726,21 @@ and text selection and those features planned, 00:12:24.400 --> 00:12:32.919 but it's anticipated. Yeah. All right. This next question -00:12:32.920 --> 00:12:36.439 -I love your presentation. Will you be giving another talk +00:12:32.920 --> 00:12:35.008 +I love your presentation. + +NOTE Q: Will you be giving another talk on the architecture you went over? A deep-dive there would be awesome. + +00:12:35.009 --> 00:12:36.439 +Will you be giving another talk -00:12:36.440 --> 00:12:39.399 -on the architecture you went over a deep dive on? +00:12:36.440 --> 00:12:38.193 +on the architecture you went over? -00:12:39.400 --> 00:12:44.919 +00:12:38.194 --> 00:12:40.424 +A deep dive on that would be awesome. + +00:12:40.425 --> 00:12:44.919 That would be awesome. I'm not sure if an EmacsConf talk 00:12:44.920 --> 00:12:48.479 @@ -720,8 +755,13 @@ and I would be very happy to go deep into this. 00:12:55.360 --> 00:12:58.119 I'm looking forward to catching that myself. -00:12:58.120 --> 00:13:02.639 -Thank you for the shout. Is there search functionality, +00:12:58.120 --> 00:12:59.764 +Thank you for the shout. + +NOTE Q: Is there search functionality? Something like isearch and occur? + +00:12:59.765 --> 00:13:02.639 +Is there search functionality, 00:13:02.640 --> 00:13:05.319 something like isearch and occur? @@ -742,7 +782,7 @@ So once we have text selection, once we're able to select the text, 00:13:14.360 --> 00:13:17.679 -then we can have iSearch so that it can highlight the text. +then we can have isearch so that it can highlight the text. 00:13:17.680 --> 00:13:26.679 Yeah. Um, all right. And then, um, there's, I'm just gonna, @@ -753,14 +793,16 @@ I'll read out this question 00:13:28.800 --> 00:13:30.639 and then I have to do a little bookkeeping on the pad. +NOTE Q: Does dynamic module prevent customization that Elisp usually provide? (Advices, Hooks, etc). + 00:13:30.640 --> 00:13:35.639 -Um, does the dynamic module, uh, prevent customization +Does the dynamic module prevent customization 00:13:35.640 --> 00:13:39.999 that Emacs usually provides advice, hooks, et cetera, 00:13:40.000 --> 00:13:44.359 -or does everything just kind of +or does everything just kind of... 00:13:44.360 --> 00:13:46.559 No, if you have a dynamic module, @@ -793,13 +835,13 @@ from the dynamic module itself, that's a bit tricky because something like 00:14:09.720 --> 00:14:13.999 -Calling a macro or doing macros and dynamic modules +calling a macro or doing macros and dynamic modules 00:14:14.000 --> 00:14:18.119 -is not really that nice You have to pretty much manually +is not really that nice. You have to pretty much manually 00:14:18.120 --> 00:14:21.359 -expand the macro yourself in the dynamic module +expand the macro yourself in the dynamic module, 00:14:21.360 --> 00:14:23.839 so if you want to do it from the dynamic module, @@ -811,7 +853,7 @@ there's not much support right now, but you can do everything on the elisp side 00:14:29.480 --> 00:14:33.399 -without touching the dynamic module. Got it +without touching the dynamic module. Got it. 00:14:33.400 --> 00:14:38.279 So those are the questions that I see. @@ -864,6 +906,8 @@ So here comes one more question, 00:15:28.880 --> 00:15:31.959 or actually a couple more questions coming in. +NOTE Q: Do you usually create an Elisp shim from the FFI and then use them with Elisp code? + 00:15:31.960 --> 00:15:34.239 Following up on dynamic modules, @@ -937,10 +981,12 @@ that elisp shim is preferred. Yeah. Makes sense. Um. 00:16:38.960 --> 00:16:44.639 -Uh, so question question here +Uh, so question here + +NOTE Q: Is searching on the roadmap? Or is it already available as a feature? 00:16:44.640 --> 00:16:47.439 -is searching for the person is searching for a roadmap. +is searching... The person is searching for a roadmap. 00:16:47.440 --> 00:16:49.279 Is that already available as a feature? @@ -996,6 +1042,8 @@ a next up type of feature as things, 00:17:44.720 --> 00:17:48.159 as the current iteration stabilizes. +NOTE Q: Will there be occur-like searching? + 00:17:48.160 --> 00:17:52.239 Question was, you know, occur like, how would you? @@ -1035,6 +1083,8 @@ into Emacs ecosystem as possible. 00:18:24.960 --> 00:18:28.159 Okay. We'll see if we can get in this last question here. +NOTE Q: What is your timing expectation for it to appear on ELPA? + 00:18:28.160 --> 00:18:30.319 Do you have a timing expectation for ELPA? diff --git a/2025/captions/emacsconf-2025-reference--emacs-as-a-fullyfledged-reference-manager--vidianos-giannitsis--answers.vtt b/2025/captions/emacsconf-2025-reference--emacs-as-a-fullyfledged-reference-manager--vidianos-giannitsis--answers.vtt index c41a24db..e41b3dd1 100644 --- a/2025/captions/emacsconf-2025-reference--emacs-as-a-fullyfledged-reference-manager--vidianos-giannitsis--answers.vtt +++ b/2025/captions/emacsconf-2025-reference--emacs-as-a-fullyfledged-reference-manager--vidianos-giannitsis--answers.vtt @@ -1,5 +1,7 @@ WEBVTT +NOTE Q: Have you try ivy-bibtex/bibtex-completion.el, how it compares to ebib? + 00:00:00.000 --> 00:00:01.381 So the first question, @@ -75,6 +77,8 @@ Yeah, that's OK. We'll transcribe all the answers later. 00:01:27.862 --> 00:01:32.541 So you can just go ahead and talk. +NOTE Q: Do you find showing abstract on your navigation panel helpful? + 00:01:32.542 --> 00:01:34.301 And do you find showing abstract @@ -195,6 +199,8 @@ because I prefer to answer it orally 00:03:49.142 --> 00:03:53.261 because it's a bit longer than the others answering in IRC. +NOTE Q: it seems that there's a meta problem here: too much information. Do your tools reduce cognative load? + 00:03:53.262 --> 00:03:55.261 So it seems that there's a meta problem here. @@ -319,16 +325,18 @@ too much information when you're working with literature 00:06:23.182 --> 00:06:35.221 -that's by nature and yeah essentially that +that's by nature, and yeah, essentially 00:06:35.222 --> 00:06:36.381 that's for me the thing 00:06:36.382 --> 00:06:41.141 -that i'm i'm just putting this information elsewhere +that I'm just putting this information elsewhere 00:06:41.142 --> 00:06:44.941 -so i don't have to keep it in my mind +so I don't have to keep it in my mind. + +NOTE Q: When you download a new article, how do you integrate its file to your database? For example, do you move and rename the file manually? 00:06:44.942 --> 00:06:52.421 Okay, so when you download a new article, @@ -352,19 +360,19 @@ but I did that very quickly, so it's understandable that it wasn't there. 00:07:16.582 --> 00:07:21.501 -Essentially, And when I download the article, +Essentially, when I download the article, 00:07:21.502 --> 00:07:27.421 -then I will open Ivy Bib Tech and find the article. +then I will open ivy-bibtex and find the article. 00:07:27.422 --> 00:07:31.581 For example, this one is the first. 00:07:31.582 --> 00:07:34.941 -You can open the menu in Ivy Bib Tech. +You can open the menu in ivy-bibtex. 00:07:34.942 --> 00:07:40.061 -It's with an alt O, and then it will give you this menu. +It's with an alt o, and then it will give you this menu. 00:07:40.062 --> 00:07:44.261 And from here, it will say, add PDF to library. @@ -394,31 +402,31 @@ that are sometimes paywalled, it doesn't want to work well. So I will download the paper 00:08:07.782 --> 00:08:10.981 -and then you can just press the F here for file. +and then you can just press the f here for file. 00:08:10.982 --> 00:08:13.421 And then you find the file. 00:08:13.422 --> 00:08:20.861 -and for example for me all my PDFs are in this folder +For example, for me, all my PDFs are in this folder. 00:08:20.862 --> 00:08:23.181 -it's still named Zotero PDFs +It's still named Zotero PDFs -00:08:23.182 --> 00:08:25.621 -from when it was Zotero saving them now +00:08:23.182 --> 00:08:25.438 +from when it was Zotero saving them. -00:08:25.622 --> 00:08:28.341 -Zotero no longer saves them +00:08:25.439 --> 00:08:28.341 +Now Zotero no longer saves them, 00:08:28.342 --> 00:08:30.381 -but I'm too bored to change the name +but I'm too bored to change the name. 00:08:30.382 --> 00:08:33.501 -and then you just find the paper you want +And then you just find the paper you want. 00:08:33.502 --> 00:08:37.261 -so you can see there is an endless list of papers here +So you can see there is an endless list of papers here, 00:08:37.262 --> 00:08:42.821 and it then will automatically rename it @@ -430,7 +438,7 @@ to have the title of the author, a small title and a date. I believe the naming is also configurable, 00:09:01.822 --> 00:09:08.941 -but I have this notation in my config for many years now +but I have this notation in my config for many years now, 00:09:08.942 --> 00:09:11.181 because that's how everything @@ -468,6 +476,8 @@ for moving to the next question. 00:09:59.802 --> 00:10:02.301 Yeah, ivy-bibtex has that functionality. +NOTE Q: What about annotations with ereaders: viewing and taking on emacs or ereader touchscreen highlighting and notes, org-noter I think would be an alternative out of ebook annotation alternative? + 00:10:02.302 --> 00:10:08.061 And then annotations with e-readers. @@ -591,8 +601,10 @@ also with e-readers. 00:12:47.702 --> 00:12:52.061 And if it is in Emacs or not, feel free to add more. +NOTE Q: How well do you feel about making notes on web sites, pdf, videos? I know pdf is usually good but others I am less sure about. + 00:12:52.062 --> 00:12:56.901 -And how old do you feel +And how well do you feel 00:12:56.902 --> 00:13:00.461 about making notes on websites, PDF, videos? @@ -625,7 +637,7 @@ There is, I believe, I should have it in my bookmarks somewhere. 00:13:27.662 --> 00:13:32.381 -There is a, the org-roam protocol +There is the org-roam protocol 00:13:32.382 --> 00:13:36.621 that allows you to take notes directly out of a website @@ -643,7 +655,7 @@ but I haven't really continued using it too much because I find that I don't often take notes 00:13:53.542 --> 00:14:00.221 -from a website where I want the and more information +from a website where I want more information 00:14:00.222 --> 00:14:02.421 than just either the link of the website @@ -700,7 +712,7 @@ some ideal crude notes, not because I don't want to lose 00:15:00.902 --> 00:15:03.981 -a lot of my attention during the, +a lot of my attention during 00:15:03.982 --> 00:15:09.781 what I'm trying to learn by taking very good notes. @@ -730,7 +742,7 @@ consolidate all my thoughts that I wrote down into some more permanent notes using Org Roam. 00:15:36.062 --> 00:15:46.181 -And then like move on with that also look online +And then move on with that. Also look online, 00:15:46.182 --> 00:15:50.421 if I noted that I want to look more on on this subject @@ -739,16 +751,16 @@ if I noted that I want to look more on on this subject that was mentioned the video 00:15:52.822 --> 00:15:53.821 -and I didn't fully understand it +and I didn't fully understand it, 00:15:53.822 --> 00:15:57.381 -then I will try and look more and things like that +then I will try and look more, and things like that. 00:15:57.382 --> 00:16:02.981 -so for me that's how I do it because I think that +So for me, that's how I do it, because I think that 00:16:02.982 --> 00:16:05.661 -Annotating a video directly with timestamps +annotating a video directly with timestamps 00:16:05.662 --> 00:16:07.821 and everything is a bit too complex. @@ -762,6 +774,8 @@ any suggestions for working with that, 00:16:12.062 --> 00:16:19.381 but for me, it has been very troublesome. +NOTE Q: How do you add a new article from scratch, a pdf that you did not have in your bib file? How do you generate the 'bib' entry with metadata and abstract? + 00:16:19.382 --> 00:16:22.341 And then how do you add a new article from scratch, @@ -787,31 +801,31 @@ If I open it, I need to access it through my institution. So I will not open the link, but I can show you essentially 00:16:57.622 --> 00:17:02.101 -you run Zotra add entry, this function, +you run zotra-add-entry, this function, 00:17:02.102 --> 00:17:10.421 -and it copies what you have currently in your, in your, +and it copies what you have currently in, 00:17:10.422 --> 00:17:12.461 -what you have already copied right now +what you have already copied right now, 00:17:12.462 --> 00:17:15.861 -it's the message I copied before for the Q&A +it's the message I copied before for the Q&A, 00:17:15.862 --> 00:17:21.861 -but if you open a paper and have the URL copied +but if you open a paper and have the URL copied, 00:17:21.862 --> 00:17:26.341 -it will immediately come here and will save everything +it will immediately come here and will save everything. 00:17:26.342 --> 00:17:28.621 -and also as I mentioned there's the +Also as I mentioned there's the... 00:17:28.622 --> 00:17:31.301 -you can also download the patches from there +you can also download attachments from there, 00:17:31.302 --> 00:17:34.381 -but with paywalled articles doesn't always work well +but with paywalled articles doesn't always work well, 00:17:34.382 --> 00:17:40.261 so I just do it manually @@ -823,31 +837,36 @@ Oh, system is running low on power. Give me just a second. So the computer doesn't turn off as we're speaking. Yes. 00:17:59.022 --> 00:18:03.541 -So yeah, the, everything is added from scratch. +So yeah, everything is added from scratch. + +00:18:03.542 --> 00:18:06.590 +Essentially you copy the URL and give it to Zotra, + +00:18:06.591 --> 00:18:15.631 +and it does everything. -00:18:03.542 --> 00:18:14.541 -Essentially you copy the URL and give it to Soletrend. +NOTE Q: When do you fact check every detail for a bib entry? The author names, published journal, doi stuff. -00:18:14.542 --> 00:18:17.381 -It does everything. uh when you fact check every details +00:18:15.632 --> 00:18:17.381 +When you fact check every detail 00:18:17.382 --> 00:18:26.261 -for a bib entry your open names published journal +for a bib entry, your author names, published journal, 00:18:26.262 --> 00:18:29.461 -doi stuff uh so i i generally don't do that +doi stuff. So I generally don't do that. 00:18:29.462 --> 00:18:30.861 -oh yeah thanks for the person +Oh yeah, thanks for the person 00:18:30.862 --> 00:18:35.101 -that added the link to the zocha +that added the link to the Zotra. 00:18:35.102 --> 00:18:38.381 -i i wouldn't say that i fact check the details +I wouldn't say that I fact check the details. 00:18:38.382 --> 00:18:40.901 -i assume that When they're added, +I assume that when they're added, 00:18:40.902 --> 00:18:44.541 they're actually correct. @@ -856,7 +875,7 @@ they're actually correct. Have you actually had trouble with a tool 00:18:49.742 --> 00:18:52.021 -that automatically adds them to add them wrong? +that automatically adds them, to add them wrong? 00:18:52.022 --> 00:18:54.861 I'm curious. I haven't really heard @@ -883,7 +902,7 @@ It should already be correct. And I don't remember ever having any trouble either 00:19:15.102 --> 00:19:20.221 -when I was using Zotero before or now +when I was using Zotero before, or now 00:19:20.222 --> 00:19:24.101 with the more Emacs based tools. @@ -898,7 +917,7 @@ I haven't noticed this being incorrect. But I'm curious, do you have any point 00:19:40.182 --> 00:19:44.661 -On that, I will keep in mind. +on that, I will keep in mind. 00:19:44.662 --> 00:19:48.541 Sometimes, DOI records are not exactly correct. @@ -906,10 +925,10 @@ Sometimes, DOI records are not exactly correct. 00:19:48.542 --> 00:19:52.861 For example, they can contain some very strange symbols. -00:19:52.862 --> 00:20:01.901 +00:19:52.862 --> 00:20:00.679 So that can happen sometimes. OK. Yeah. I don't know. -00:20:01.902 --> 00:20:05.741 +00:20:00.680 --> 00:20:05.741 I guess then if you want to fact check, 00:20:05.742 --> 00:20:12.141 @@ -934,7 +953,7 @@ it will be much more of a mess. So for checking, I would just do it directly 00:20:33.182 --> 00:20:47.261 -after I add it to the bit file. +after I add it to the bib file. 00:20:47.262 --> 00:20:50.621 And let me see, is there anything else? diff --git a/2025/captions/emacsconf-2025-schemacs--one-year-progress-update-schemacs-formerly-gypsum--ramin-honary--answers.vtt b/2025/captions/emacsconf-2025-schemacs--one-year-progress-update-schemacs-formerly-gypsum--ramin-honary--answers.vtt index 738e9779..0ec71aed 100644 --- a/2025/captions/emacsconf-2025-schemacs--one-year-progress-update-schemacs-formerly-gypsum--ramin-honary--answers.vtt +++ b/2025/captions/emacsconf-2025-schemacs--one-year-progress-update-schemacs-formerly-gypsum--ramin-honary--answers.vtt @@ -1,7 +1,12 @@ WEBVTT -00:00:00.000 --> 00:00:03.839 -[oops, forgot to start] object protocol has a scheme implementation. +NOTE Q: I think that Kiczalez et al.'s metaobject protocol has a scheme implementation, does this mean schemacs will be metaobject-changeable in practice? + +00:00:00.000 --> 00:00:01.091 +[oops, forgot to start] [Corwin]: ... object protocol + +00:00:01.092 --> 00:00:03.839 +has a scheme implementation. 00:00:03.840 --> 00:00:07.159 Does this mean schemacs will be @@ -10,7 +15,7 @@ Does this mean schemacs will be meta object changeable in practice? 00:00:11.080 --> 00:00:16.599 -So I don't actually need the meta object protocol so far. +[Ramin]: So I don't actually need the meta object protocol so far. 00:00:16.600 --> 00:00:19.279 In the reference implementation for Guile, @@ -81,11 +86,16 @@ And that's all the more I've needed so far. 00:01:26.200 --> 00:01:33.399 So, yeah. Oh, yeah, please, next question. Sure. +NOTE Q: How will the GUI display code be r7rs compliant afaik there is no dlopen in r7rs? + 00:01:33.400 --> 00:01:39.599 -So how will the GUI display code be R7RS compliant? +[Corwin]: So how will the GUI display code be R7RS compliant? -00:01:39.600 --> 00:01:45.079 -As far as I know, there's no DL open in R7RS. That's right. +00:01:39.600 --> 00:01:44.486 +As far as I know, there's no DL open in R7RS. + +00:01:44.487 --> 00:01:45.079 +[Ramin]: That's right. 00:01:45.080 --> 00:01:48.879 Yeah, R7RS small is extremely small @@ -142,7 +152,7 @@ support the Schemacs GUI protocol? So I've kind of written my own protocol, 00:02:34.200 --> 00:02:36.679 -and it's entirely R7 RSML compliant. +and it's entirely R7RS small compliant. 00:02:36.680 --> 00:02:38.239 It's all done with record, @@ -150,8 +160,10 @@ It's all done with record, 00:02:38.240 --> 00:02:43.039 what are they called, record types. +NOTE Q: Do you think some of schemacs could be extracted into SRFIs since you have made it portable between scheme implementations? + 00:02:43.040 --> 00:02:46.519 -Do you think some of the Schemacs +[Corwin]: Do you think some of the Schemacs 00:02:46.520 --> 00:02:50.679 could be extracted into SFRIs since you've made it portable @@ -160,7 +172,7 @@ could be extracted into SFRIs since you've made it portable between scheme implementations? 00:02:52.880 --> 00:02:55.279 -Yes, I would definitely like to do that. +[Ramin]: Yes, I would definitely like to do that. 00:02:55.280 --> 00:02:59.239 Probably first thing I'll do is start splitting up @@ -169,7 +181,7 @@ Probably first thing I'll do is start splitting up and publishing independent libraries 00:03:01.680 --> 00:03:04.319 -on the Aku package manager. +on the Akku package manager. 00:03:04.320 --> 00:03:07.639 This is a kind of a package manager ecosystem for Scheme, @@ -198,11 +210,13 @@ I don't think that exists yet in Scheme, 00:03:29.840 --> 00:03:34.319 so I thought that might make a good SRFI. +NOTE Q: Is there a recommended scheme implementation or does it try to be as portable as possible? + 00:03:34.320 --> 00:03:36.719 -Is there a recommended Scheme implementation? +[Corwin]: Is there a recommended Scheme implementation? 00:03:36.720 --> 00:03:44.559 -Guile is the reference implementation. +[Ramin]: Guile is the reference implementation. 00:03:44.560 --> 00:03:47.279 It's the only one that works with GUI, @@ -222,8 +236,10 @@ and I've had trouble with some of the scheme compilers. 00:04:00.040 --> 00:04:04.839 But yeah, I would recommend Guile. +NOTE Q: How would Schemacs deal with Emacs' (re)display architecture? Would it be having its own display architecture? If so, how can it be compatible with things like overlays, images, etc.? From what I know, Emacs is extremely idiosyncratic here. + 00:04:04.840 --> 00:04:07.719 -But how would schemacs deal with +[Corwin]: But how would schemacs deal with 00:04:07.720 --> 00:04:10.039 Emacs's re-display architecture @@ -238,7 +254,7 @@ And if so, how will you handle things like overlays and images? 00:04:18.480 --> 00:04:25.239 -Yeah, definitely. That's to be determined. +[Ramin]: Yeah, definitely. That's to be determined. 00:04:25.240 --> 00:04:31.279 So basically, the scheme way of doing things @@ -288,8 +304,10 @@ specifically to support Emacs Lisp. 00:05:22.040 --> 00:05:28.559 I don't know yet. I haven't got that far. +NOTE Q: You were saying that you'd like to get "most" of the one thousand three hundred and something Emacs packages done. Is there a technical blocker to doing them all? Or just a problem of getting enough people in to help and start writing scheme? + 00:05:28.560 --> 00:05:30.079 -You were saying that you would like +[Corwin]: You were saying that you would like 00:05:30.080 --> 00:05:33.479 to get the most out of the 1300 @@ -304,7 +322,7 @@ Are there technical blockers to doing them all or just a problem of getting enough people to jump into it? 00:05:44.040 --> 00:05:48.639 -Yeah, it's just a matter of implementing enough +[Ramin]: Yeah, it's just a matter of implementing enough 00:05:48.640 --> 00:05:50.839 of the Emacs built-in functions. @@ -316,7 +334,7 @@ Right now, there's kind of a big bug. I mentioned this also in the presentation. 00:05:59.360 --> 00:06:02.599 -The stacks trace that you saw during my presentation, +The stacktrace that you saw during my presentation, 00:06:02.600 --> 00:06:05.799 that is the biggest bug right now @@ -373,10 +391,10 @@ But I imagine, I have no idea, no way of knowing, but I imagine we don't need 100% of them 00:06:56.460 --> 00:06:58.167 -in order to run most of Elpa. +in order to run most of ELPA. 00:06:58.168 --> 00:07:05.084 -We probably can get some of the important large Elpa packages +We probably can get some of the important large ELPA packages 00:07:05.085 --> 00:07:12.719 like Magit and Org mode with just enough of the Emacs Lisp @@ -394,19 +412,21 @@ So yeah, I'll try to get this bug fixed right away. That way we can all start working on it together, hopefully. 00:07:24.980 --> 00:07:27.126 -Highly relatable answer there. +[Corwin]: Highly relatable answer there. 00:07:27.127 --> 00:07:31.959 We'll burn that bridge when we're on it or something. +NOTE Q: What are you thoughts on Chicken Scheme? Would it be a good fit? + 00:07:31.960 --> 00:07:34.559 -What are your thoughts on chicken scheme? +[Corwin]: What are your thoughts on Chicken Scheme? 00:07:34.560 --> 00:07:37.199 Will that be a good fit? Do you think? 00:07:37.200 --> 00:07:41.039 -I think it will be, um, I, I did show +[Ramin]: I think it will be, um, I, I did show 00:07:41.040 --> 00:07:44.959 trying to run chicken scheme in my, um, presentation @@ -424,7 +444,7 @@ Um, it's probably something to do with the, uh, pattern matcher. Um, I'm using the pattern matcher, 00:07:58.920 --> 00:08:00.599 -uh, written by Alex shin, +uh, written by Alex Shinn, 00:08:00.600 --> 00:08:02.599 which seems to be the most portable. @@ -439,7 +459,7 @@ But not all scheme compilers implement, what is it called? The macro, I can't remember what it's called. 00:08:19.560 --> 00:08:24.199 -There's the macro expansion system for R7 RS small. +There's the macro expansion system for R7RS small. 00:08:24.200 --> 00:08:27.199 All of these scheme implementations @@ -471,11 +491,13 @@ if somebody can help me get it to work on chicken team, 00:08:52.440 --> 00:08:56.599 I'd really appreciate it. +NOTE Q: Can this emacs lisp implementation be used by Guile's emacs lisp "mode"? + 00:08:56.600 --> 00:09:01.799 -Can this implementation be used by Guile's Emacs Lisp mode? +[Corwin]: Can this implementation be used by Guile's Emacs Lisp mode? 00:09:01.800 --> 00:09:08.199 -Guile's Emacs list mode. Okay. Yeah, good question. +[Ramin]: Guile's Emacs Lisp mode. Okay. Yeah, good question. 00:09:08.200 --> 00:09:10.919 I did mention this last year in my presentation. @@ -535,10 +557,10 @@ it's necessarily going to be not reliant on anything that's inside of the Guile library, 00:10:19.120 --> 00:10:21.479 -including the Emacs LISP interpreter that's there. +including the Emacs Lisp interpreter that's there. 00:10:21.480 --> 00:10:24.959 -Maybe I could replace the Emacs LISP interpreter in Guile +Maybe I could replace the Emacs Lisp interpreter in Guile 00:10:24.960 --> 00:10:29.599 if Andy Wingo would be interested. All right. @@ -558,8 +580,10 @@ quickly try to make my text a little bigger 00:10:40.680 --> 00:10:42.799 so I can read a question that came here. +NOTE Q: I wonder if we could do some sort of programmatic analysis on popular Emacs packages to see what list of functions they tend to depend upon, follow function calls down to the lowest level + 00:10:42.800 --> 00:10:48.479 -I wonder if we can do some sort of pragmatic analysis +[Corwin]: I wonder if we can do some sort of pragmatic analysis 00:10:48.480 --> 00:10:49.959 on popular Emacs packages @@ -571,19 +595,22 @@ to see what list of functions they tend to depend on while a function calls down to the lower level. 00:10:54.800 --> 00:10:57.209 -Yeah, that would be good. +[Ramin]: Yeah, that would be good. -00:10:57.210 --> 00:11:02.251 -Somebody please do that for me. Awesome. +00:10:57.210 --> 00:10:59.382 +Somebody please do that for me. -00:11:02.252 --> 00:11:05.439 -Somebody's raising their hand. Divya. +00:10:59.383 --> 00:11:05.439 +[Corwin]: Awesome. Somebody's raising their hand. Divya. 00:11:05.440 --> 00:11:08.799 -Let's see. Yeah, can you hear me? +[Divya]: Let's see. Yeah, can you hear me? + +00:11:08.800 --> 00:11:11.734 +[Corwin]: Yes, we can. Yeah, go ahead. -00:11:08.800 --> 00:11:12.359 -Yes, I can. Yeah, go ahead. Hello, thank you. +00:11:11.735 --> 00:11:12.359 +[Divya]: Hello, thank you. 00:11:12.360 --> 00:11:14.079 Yeah, this is really awesome. @@ -612,17 +639,19 @@ Because I know a lot of people do not consider Racket 00:11:32.960 --> 00:11:36.639 as a sort of scheme thing, because it grew out of it. +NOTE Q: Do you think there is an opportunity to use Racket? + 00:11:36.640 --> 00:11:39.519 -Do you think you'll take something from Racket? +[Divya]: Do you think you'll take something from Racket? -00:11:39.520 --> 00:11:42.119 +00:11:39.520 --> 00:11:40.424 Because I think Racket has -00:11:42.120 --> 00:11:44.519 +00:11:40.425 --> 00:11:42.090 a lot of good ideas that can be used. -00:11:44.520 --> 00:11:48.439 -Yeah, I briefly looked at Racket's GUI library, +00:11:42.091 --> 00:11:48.439 +[Ramin]: Yeah, I briefly looked at Racket's GUI library, 00:11:48.440 --> 00:11:51.879 but it's very, very heavily dependent @@ -640,40 +669,40 @@ is extremely complex for Racket, and I don't think it's possible to port it to any other scheme, 00:12:02.160 --> 00:12:07.679 -as far as I know. But Racket is based on SheaScheme. +as far as I know. But Racket is based on Chez Scheme. 00:12:07.680 --> 00:12:14.479 -And I am making an effort to port my code to Shea's scheme. +And I am making an effort to port my code to Chez's Scheme. 00:12:14.480 --> 00:12:18.639 I mentioned this earlier, 00:12:18.640 --> 00:12:22.159 -but there's the Gwen Weinholdt Aku system, +but there's the Gwen Weinholdt Akku system, 00:12:22.160 --> 00:12:25.439 which allows you to translate R7RS to R6RS. 00:12:25.440 --> 00:12:28.519 -And since Shea is an R6RS compiler, +And since Chez is an R6RS compiler, 00:12:28.520 --> 00:12:33.919 I did at one point get the Emacs Lisp interpreter 00:12:33.920 --> 00:12:34.919 -to compile for Shea, +to compile for Chez, 00:12:34.920 --> 00:12:38.239 -although I think There's been a change +although I think there's been a change 00:12:38.240 --> 00:12:40.479 -either to Aku or somewhere in my own code base. +either to Akku or somewhere in my own code base. 00:12:40.480 --> 00:12:42.879 It doesn't build anymore, and I'm not sure why. 00:12:42.880 --> 00:12:47.039 -But I would also very much like to run this on Che. +But I would also very much like to run this on Chez. 00:12:47.040 --> 00:12:54.679 And I guess in that sense, we'll be able to work on Racket as well. @@ -697,40 +726,45 @@ But that would be something interesting. Yes, I would like to try that. 00:13:12.920 --> 00:13:13.919 -Yeah, it'll be interesting. +[Divya]: Yeah, it'll be interesting. 00:13:13.920 --> 00:13:15.839 -I do have some experience with chairs. +I do have some experience with Chez. 00:13:15.840 --> 00:13:17.479 So, uh, if I can find some time, -00:13:17.480 --> 00:13:21.239 -I'll, I'll, I'll certainly like to, I would appreciate. +00:13:17.480 --> 00:13:20.006 +I'll, I'll, I'll certainly like to, + +00:13:20.007 --> 00:13:21.239 +[Ramin]: I would very much appreciate. 00:13:21.240 --> 00:13:24.039 Yes. Yeah. Go ahead. Yeah. +NOTE Q: Shouldn't it be enough to just implement the builtin functions? Most of the commands are written in Emacs Lisp, right? + 00:13:24.040 --> 00:13:26.079 -Another question I have is, like, +[Divya]: Another question I have is, like, 00:13:26.080 --> 00:13:29.199 what exactly is sort of, like, the, the approach is that 00:13:29.200 --> 00:13:31.479 -you'll 1st want to do the interpreter +you'll first want to do the interpreter 00:13:31.480 --> 00:13:33.799 -and then have enough list functions. +and then have enough Elisp functions, 00:13:33.800 --> 00:13:36.479 -Uh, getting the max list functions + getting the GNU Emacs Lisp functions 00:13:36.480 --> 00:13:38.119 -interpreted or interpretable. +interpreted or interpretable, 00:13:38.120 --> 00:13:40.999 -And then go for GUI or do you want +and then go for GUI, or do you want 00:13:41.000 --> 00:13:42.759 to sort of like go hand in hand @@ -742,10 +776,10 @@ is like we have the interpreter working on and we have also the GUI 00:13:46.960 --> 00:13:53.199 -and we sort of use one for the other. +and we sort of use one for the other? 00:13:53.200 --> 00:13:56.479 -Yeah, I consider the two tasks to be parallel. +[Ramin]: Yeah, I consider the two tasks to be parallel. 00:13:56.480 --> 00:13:59.639 So I'm actually doing the GUI separately. @@ -802,10 +836,10 @@ In Schemacs, using the Emacs programming language, I think that's something that we should worried about 00:14:59.320 --> 00:15:03.399 -after we have enough of the Emacs list implemented. +after we have enough of the Emacs Lisp implemented. 00:15:03.400 --> 00:15:04.919 -Yeah, that makes sense. +[Divya]: Yeah, that makes sense. 00:15:04.920 --> 00:15:06.679 There are sort of, I'm a bit worried. @@ -829,7 +863,7 @@ And essentially one of the issues that I'm up against is that Emacs's display system 00:15:20.360 --> 00:15:25.439 -is sort of very let's say, not flexible. +is sort of very... let's say, not flexible. 00:15:25.440 --> 00:15:31.839 When trying to analyze where this inflexibility comes from, @@ -838,7 +872,7 @@ When trying to analyze where this inflexibility comes from, I don't think it's just the display architecture. 00:15:35.760 --> 00:15:38.319 -I think parts of eLISP itself +I think parts of Elisp itself 00:15:38.320 --> 00:15:43.599 are connected to the display architecture. @@ -856,13 +890,13 @@ how the re-display architecture works. So I think you'll have to sort of figure out 00:15:57.200 --> 00:16:00.679 -what exactly you can salvage from ELISP +what exactly you can salvage from Elisp 00:16:00.680 --> 00:16:05.199 without taking the display architecture baggage. 00:16:05.200 --> 00:16:08.001 -That's right. I do anticipate +[Ramin]: That's right. I do anticipate 00:16:08.002 --> 00:16:09.876 that's going to be fairly challenging. @@ -886,28 +920,31 @@ that will somehow translate down to the React-like protocol that I've written. 00:16:30.040 --> 00:16:32.719 -But yeah, I don't I haven't that's nice. +But yeah, I don't... I haven't... That's nice. -00:16:32.720 --> 00:16:36.319 -No, this is this is very exciting. Yeah. Oh Yes, it is. +00:16:32.720 --> 00:16:35.256 +[Divya]: No, this is this is very exciting. Yeah. + +00:16:35.257 --> 00:16:36.319 +[Ramin]: Oh, yes, it is. 00:16:36.320 --> 00:16:39.559 -Yeah, I'm glad so like a lot of people have told me +Yeah, I'm glad. A lot of people have told me 00:16:39.560 --> 00:16:41.679 -that they really Are excited to see this project +that they really are excited to see this project, 00:16:41.680 --> 00:16:42.719 and this really helps me 00:16:42.720 --> 00:16:46.399 -You know keep focused on this project +keep focused on this project, 00:16:46.400 --> 00:16:48.319 because a lot of people are very interested. 00:16:48.320 --> 00:16:50.359 -So It's so I'd like to move on +[Corwin]: I'd like to move on 00:16:50.360 --> 00:16:52.159 to a couple of questions from the past. @@ -916,16 +953,18 @@ to a couple of questions from the past. We're starting to build up a good backlog. 00:16:54.480 --> 00:16:59.719 -Thank you for that. Yeah Next question from the pad I have. +Thank you for that, Divya. Next question from the pad I have. + +NOTE Q: Tell us more about this show-stopping bug! How to squash it? Can people help? 00:16:59.720 --> 00:17:02.239 -Can you tell us more about the show stopping bug? +[Corwin]: Can you tell us more about the show stopping bug? 00:17:02.240 --> 00:17:04.159 How to squash it? How can people help? 00:17:04.160 --> 00:17:08.799 -OK, well, that one, unfortunately, I think, +[Ramin]: OK, well, that one, unfortunately, I think, 00:17:08.800 --> 00:17:11.679 unless you're really a scheme genius @@ -1059,20 +1098,22 @@ You never know with bugs. 00:19:17.240 --> 00:19:21.759 They're always a little bit tricky. Okay, next question. +NOTE Q: Are there performance concerns with implementing certain C primitives in pure scheme? + 00:19:21.760 --> 00:19:23.119 -Are there performance concerns +[Corwin]: Are there performance concerns 00:19:23.120 --> 00:19:28.479 -with implementing certain C primitives in PeerScheme? +with implementing certain C primitives in pure Scheme? 00:19:28.480 --> 00:19:32.879 -So who is it? The famous computer scientist that said +[Ramin]: So who is it? The famous computer scientist that said 00:19:32.880 --> 00:19:35.879 premature optimization is the root of all evil. 00:19:35.880 --> 00:19:39.799 -I think it was the guy who invented the A star algorithm. +I think it was the guy who invented the A* algorithm. 00:19:39.800 --> 00:19:42.719 His name escapes me at the minute. @@ -1084,7 +1125,7 @@ But yeah, I'm not concerned about performance yet, although most of the scheme compilers that I have seen, 00:19:52.120 --> 00:19:56.999 -especially Shea and Gambit +especially Chez and Gambit 00:19:57.000 --> 00:20:02.039 have extremely good performance characteristics. @@ -1120,7 +1161,7 @@ maybe for a Wayland implementation or something. But I don't know. It's not a concern for me, performance. 00:20:29.080 --> 00:20:32.079 -Okay, there are a few more questions. I do want to mention +[Corwin]: Okay, there are a few more questions. I do want to mention 00:20:32.080 --> 00:20:33.839 that the stream has cut away at this point, @@ -1141,7 +1182,7 @@ So, I appreciate all the enthusiastic questions and you're kind of tanking through them all. 00:20:47.800 --> 00:20:52.799 -Me too. I love how many questions I'm getting. +[Ramin]: Me too. I love how many questions I'm getting. 00:20:52.800 --> 00:20:54.039 This is very encouraging @@ -1161,8 +1202,13 @@ I think you should be receiving. 00:21:01.440 --> 00:21:04.159 This is a fantastic project. Thank you so much. -00:21:04.160 --> 00:21:08.439 -I'll just say so myself. If the project is successful, +00:21:04.160 --> 00:21:07.051 +I'll just say so myself. + +NOTE Q: If this project is successful, are you worried about a possible split in the community between Schemacs and GNU Emacs users? + +00:21:07.052 --> 00:21:08.439 +[Corwin]: If the project is successful, 00:21:08.440 --> 00:21:11.479 are you worried about a possible split in the community @@ -1171,7 +1217,7 @@ are you worried about a possible split in the community between Schemacs and GNU Emacs? 00:21:15.600 --> 00:21:18.959 -Oh, I have thought about that. +[Ramin]: Oh, I have thought about that. 00:21:18.960 --> 00:21:24.039 And I really don't know what's going to happen. @@ -1272,11 +1318,16 @@ Oh, Cairo, like Cairo. 00:23:01.040 --> 00:23:07.599 Oh, Cairo, yeah. Absolutely. I spelled that poorly. +NOTE Q: The dream of never even needing to change to the web browser - would schemacs bring us closer to that? + 00:23:07.600 --> 00:23:12.519 -The dream of never needing to change to the web browser. +[Corwin]: The dream of never needing to change to the web browser. -00:23:12.520 --> 00:23:18.376 -Would schemacs bring us closer to that? I hope so. +00:23:12.520 --> 00:23:17.818 +Would schemacs bring us closer to that? + +00:23:17.819 --> 00:23:18.376 +[Ramin]: I hope so. 00:23:18.377 --> 00:23:21.709 That's also a dream of mine. @@ -1294,7 +1345,7 @@ is so that I could, you know, we could write apps like, you know, 00:23:34.880 --> 00:23:38.759 -they have a mastodon client written in Emacs Lisp. +they have a Mastodon client written in Emacs Lisp. 00:23:38.760 --> 00:23:42.199 that would be so nice to have this, you know, @@ -1338,11 +1389,13 @@ And so I hope that that's where we end up in a couple of years. 00:24:20.080 --> 00:24:29.999 The sooner the better. Anything, just double checking. +NOTE Q: Anything specific other than minimalism that made you choose Scheme over Common Lisp? + 00:24:30.000 --> 00:24:33.319 Anything specific other than minimalism 00:24:33.320 --> 00:24:35.799 -that made you choose Scheme over Commonwealth? +that made you choose Scheme over Common Lisp? 00:24:35.800 --> 00:24:40.199 Oh, yeah, it's kind of a philosophical question. @@ -1354,7 +1407,7 @@ So a couple of things. First of all, it was a conversation I had with William Byrd, 00:24:47.400 --> 00:24:50.519 -and he's a guy who makes the Mini Conran framework for Scheme. +and he's a guy who makes the miniKanren framework for Scheme. 00:24:50.520 --> 00:24:52.879 It was his PhD thesis. @@ -1447,7 +1500,7 @@ a fraction of what it can do. That's why I've chosen scheme. 00:26:22.400 --> 00:26:24.719 -Divya, I see you've got a bunch more comments. +[Corwin]: Divya, I see you've got a bunch more comments. 00:26:24.720 --> 00:26:26.679 I think we're just about close to our time here, @@ -1459,7 +1512,7 @@ but if you wanted to jump back in, I'm sorry, I had to cut you off a little before. 00:26:30.520 --> 00:26:33.959 -No, it's fine. No, it's fine. +[Divya]: No, it's fine. No, it's fine. 00:26:33.960 --> 00:26:36.599 I think I agree with most of what he said. @@ -1467,11 +1520,13 @@ I think I agree with most of what he said. 00:26:36.600 --> 00:26:40.679 So, yeah, thank you so much. +NOTE Closing thoughts + 00:26:40.680 --> 00:26:45.159 -Um, closing thoughts, Ramin. +[Corwin]: Um, closing thoughts, Ramin. 00:26:45.160 --> 00:26:51.639 -Yeah, I guess everybody, please, if you're interested, +[Ramin]: Yeah, I guess everybody, please, if you're interested, 00:26:51.640 --> 00:26:56.719 keep watching my Mastodon and keep watching my Codeberg. @@ -1504,7 +1559,7 @@ and I think we're pretty close to getting something that we can all use together. 00:27:29.120 --> 00:27:31.719 -Thank you once again for your amazing talk, +[Corwin]: Thank you once again for your amazing talk, 00:27:31.720 --> 00:27:34.039 for your exceptional work, @@ -1516,7 +1571,7 @@ and for jumping in, doing the live Q&A, rolling with us here as we have yet another 00:27:40.040 --> 00:27:42.079 -We'll See How It Goes conference. +"we'll see how it goes" conference. 00:27:42.080 --> 00:27:44.279 It's been just amazing so far, @@ -1525,7 +1580,7 @@ It's been just amazing so far, and this talk is no small part of that. Thank you. 00:27:46.840 --> 00:27:50.279 -Oh, thank you so much. Yeah. OK, cool. +[Ramin]: Oh, thank you so much. Yeah. OK, cool. 00:27:50.280 --> 00:27:51.834 And thanks for all the questions, everyone. |
