Skip to main content
LawHub
Search

Automated Love Crunch

Mar 15, 2026
Listen to this episode

We each spent the week on our own projects, breaking then fixing things. Now we're back to compare progress, and a few lessons learned.

Sponsored By:

Support LINUX Unplugged

Links:

Transcript

WEBVTT 00:00:11.249 --> 00:00:15.909 Hello, friends, and welcome back to your weekly Linux talk show. My name is Chris. 00:00:16.129 --> 00:00:16.829 My name is Wes. 00:00:17.029 --> 00:00:17.789 And my name is Brent. 00:00:18.009 --> 00:00:21.989 Hello, gentlemen. Well, we are back from our trip. And, well, 00:00:22.049 --> 00:00:25.589 as soon as we landed, we each got heads down on our own projects. 00:00:25.829 --> 00:00:29.329 Today, we're back to compare progress and catch you all up on what we've been 00:00:29.329 --> 00:00:33.209 up to. Then we'll round out the show with some great boos, picks, and a lot more. 00:00:33.349 --> 00:00:36.569 So before we get into that, let's say time-appropriate greetings to our virtual 00:00:36.569 --> 00:00:38.689 lug. Hello, Mumble Room. Hello, hello. 00:00:39.249 --> 00:00:41.729 Hello. Hey, Chris, and hello, Brent. 00:00:42.249 --> 00:00:45.089 Hello. We have a few up there in the quiet listening. Shout out to you, 00:00:45.089 --> 00:00:48.529 too. We're starting a little late today, so it's nice to have a crew in there. 00:00:49.009 --> 00:00:53.129 Also, good morning to our friends over at Defined Networking. 00:00:53.229 --> 00:00:55.329 Go check out Manage Nebula. 00:00:55.949 --> 00:01:01.069 Defined Networking is a decentralized VPN company built on top of the open source Nebula platform. 00:01:01.269 --> 00:01:04.369 And what I love about this is there's no big tech dependency, 00:01:04.649 --> 00:01:07.909 no control plane that might go down, and it is built for speed, 00:01:08.049 --> 00:01:10.129 simplicity, and very serious security. 00:01:10.289 --> 00:01:13.989 They started back in 2017 for Slack, and they had to hit the ground running 00:01:13.989 --> 00:01:17.689 for a global enterprise that had to protect the world's largest company's data. 00:01:17.889 --> 00:01:23.889 It's really robust. And unlike traditional VPNs, Nebula's decentralized design 00:01:23.889 --> 00:01:25.969 makes your network more resilient. 00:01:26.129 --> 00:01:29.589 Whether you're running a home lab or a big infrastructure at scale, 00:01:29.769 --> 00:01:32.069 you can optionally self-host Lighthouse nodes. 00:01:32.629 --> 00:01:36.409 So you get more control, more flexibility, and more reliability, 00:01:36.449 --> 00:01:40.769 you can dial it up and down as you want, and the entire thing is based on a free software project. 00:01:41.069 --> 00:01:44.589 You can get started and support the show with up to 100 hosts for free. 00:01:44.769 --> 00:01:48.309 No credit card required. Just go to defined.net slash unplugged. 00:01:48.369 --> 00:01:53.469 That is defined.net slash unplugged. And by the way, Android and iOS apps now 00:01:53.469 --> 00:01:56.869 have always-on VPN mode. Been going for a little bit now. Just wanted to shout it out. 00:01:57.449 --> 00:01:59.829 Defined.net slash unplugged. 00:02:03.468 --> 00:02:06.208 Well, we really have been building, boys. We have been building. 00:02:06.328 --> 00:02:07.068 Brentley's been building. 00:02:07.228 --> 00:02:10.408 Wes has been building. But I think we should start with Brent because he's been 00:02:10.408 --> 00:02:13.268 getting me a little warmed up, if you know what I mean. 00:02:13.608 --> 00:02:15.328 I know what you like. I know what you like. 00:02:15.448 --> 00:02:16.788 So what have you been up to, B-Rent? 00:02:18.048 --> 00:02:21.148 Well, over the last couple of months, you've been complaining on air, 00:02:21.308 --> 00:02:25.288 on the show, about how I broke your diesel heater and it stopped working. 00:02:25.588 --> 00:02:25.988 Wow. 00:02:26.168 --> 00:02:30.648 It's been, what, two years you've been using that to heat your home? 00:02:31.765 --> 00:02:35.685 And you've loved this thing, right? You've been even convincing me to get my own in the van. 00:02:36.285 --> 00:02:41.065 I did not pull the trigger on one, but I did a ton of research because I think I agree with you. 00:02:41.205 --> 00:02:47.665 These little Chinese diesel heaters, which are really clones of a really good 00:02:47.665 --> 00:02:51.145 Webasto heater, which is, I think it's German and it's excellent, 00:02:51.345 --> 00:02:53.465 excellent build. It's been around forever. 00:02:53.725 --> 00:02:55.665 But the beauty of it is its simplicity. 00:02:56.185 --> 00:02:59.665 They just kind of trickle through fuel. They're very easy to understand. 00:02:59.665 --> 00:03:03.105 Anybody can take them apart and build them again. 00:03:03.385 --> 00:03:06.785 Well, I shouldn't say anybody because it takes away the credit from what I did this week. 00:03:07.265 --> 00:03:09.505 But if you're willing to do the work and the research. 00:03:09.705 --> 00:03:09.945 Mm-hmm. 00:03:10.045 --> 00:03:10.245 Yeah. 00:03:10.385 --> 00:03:13.625 They're also relatively inexpensive to get. So. 00:03:13.905 --> 00:03:18.925 Yeah. They're plentiful, but they're very proprietary by nature in a weird way 00:03:18.925 --> 00:03:23.485 because they're all scamming each other's protocols and communication methods, 00:03:23.665 --> 00:03:25.545 but they don't document any of it. 00:03:25.545 --> 00:03:29.725 And so it's a proprietary way in like the old school sense. 00:03:29.925 --> 00:03:32.645 They're all doing the same thing. They haven't taken advantage of the proper, 00:03:32.645 --> 00:03:35.505 just share the foundation, sort of open sense. But in practice, 00:03:35.705 --> 00:03:37.845 for practicality, it kind of ends up being the same. 00:03:37.985 --> 00:03:42.005 Yeah. And for controls and things like that, they can like modify one of the 00:03:42.005 --> 00:03:43.805 common standard protocols. 00:03:44.525 --> 00:03:48.405 So that's really a tricky thing for somebody who wants to have as much open 00:03:48.405 --> 00:03:52.145 source and control over something as possible. It's bugged me for two years. 00:03:52.305 --> 00:03:57.865 Yeah. And in this particular area of reverse engineering these really nice Webasto 00:03:57.865 --> 00:03:59.845 heaters, it's just a race to the bottom, right? 00:03:59.905 --> 00:04:04.265 So in our research to see, well, how can we possibly, because Chris wants this 00:04:04.265 --> 00:04:07.645 for everything in his life, how can we possibly connect the diesel heater to 00:04:07.645 --> 00:04:09.685 Home Assistant so that you can automate... 00:04:10.794 --> 00:04:15.834 the heating of the whole front side of your home, how do we do that with this 00:04:15.834 --> 00:04:18.194 particular heater? And the answer wasn't that obvious. 00:04:18.294 --> 00:04:21.054 As I've come to say now is like, how do we put some more open source in this? 00:04:21.174 --> 00:04:22.554 This thing needs a little more open source. 00:04:22.554 --> 00:04:23.414 Open source injection. 00:04:23.934 --> 00:04:24.774 Open source and automation. 00:04:25.114 --> 00:04:27.214 Yeah. Put some open source in it and call it good. 00:04:27.354 --> 00:04:31.774 So we've been thinking about how to do that for months. And I think this week, 00:04:31.974 --> 00:04:37.154 since I'm here in studio and near the farm, it was the time to finally put it 00:04:37.154 --> 00:04:41.534 in action. And I was afraid the weather would be too nice, but it turns out it snowed. 00:04:41.634 --> 00:04:45.234 So it was just perfect to have the incentive to get this heater back up and running. 00:04:45.394 --> 00:04:48.814 I assume you locked him in the milkshed and said that he gets heat when he fixed the heater? 00:04:49.034 --> 00:04:51.414 Yeah, exactly. And let me tell you, is that not a motivator? 00:04:51.494 --> 00:04:52.074 Yeah, it is. 00:04:52.154 --> 00:04:52.834 It gets a guy to hustle. 00:04:53.014 --> 00:04:57.254 The issue was the heater completely stopped working and you couldn't use it at all. 00:04:57.374 --> 00:05:01.654 You had a little trick weeks ago of kind of flooding the thing so that it would 00:05:01.654 --> 00:05:04.634 clean itself and then run for a bit. I think you got a couple of weeks out of that. 00:05:05.434 --> 00:05:07.594 and then and then it just gave up. 00:05:07.594 --> 00:05:11.114 So inevitably they have just parts that will expire 00:05:11.114 --> 00:05:14.014 because the way the thing works it carbs up and 00:05:14.014 --> 00:05:16.814 it has a screen in there that atomizes the fuel and when that fuel 00:05:16.814 --> 00:05:22.514 burns it leaves residue behind and just by using the thing it inevitably will 00:05:22.514 --> 00:05:25.914 fail just the design of it and so especially when they're a hundred dollars 00:05:25.914 --> 00:05:28.814 right they're not really making these things to last but like brent was saying 00:05:28.814 --> 00:05:31.274 if you're willing to service on the thing you can open it up you can replace 00:05:31.274 --> 00:05:36.434 these little parts there's kits for 15 online and then it's right back to new again. 00:05:36.434 --> 00:05:40.534 Yeah and they're actually extremely serviceable you can service them in place 00:05:40.534 --> 00:05:42.554 with a couple small little tools. 00:05:42.554 --> 00:05:43.354 That come. 00:05:43.354 --> 00:05:44.934 With these rebuild kits. 00:05:44.934 --> 00:05:48.614 It's kind of incredible so i mean the funny thing right is that brent took that 00:05:48.614 --> 00:05:52.794 on and he had the actual diesel heater probably fixed within two hours once 00:05:52.794 --> 00:05:56.514 he started working on it it was simple mechanical really really so it was great 00:05:56.514 --> 00:05:59.934 because oh like after two weeks of this thing being busted we've got heat again 00:05:59.934 --> 00:06:01.874 and so brent looks at me and he says, 00:06:02.629 --> 00:06:03.869 All right, well, let's take it apart again now. 00:06:05.449 --> 00:06:07.209 Well, you can't stop there. Come on. 00:06:07.309 --> 00:06:09.969 So you got it working, and your first instinct is to just rip it apart? 00:06:10.149 --> 00:06:12.729 And I'm like, whoa, whoa, whoa, whoa, slow down. It's like, no, 00:06:12.769 --> 00:06:14.729 no, I think we can do this. Just take a couple hours. 00:06:15.589 --> 00:06:17.089 It always starts with that, doesn't it? 00:06:17.089 --> 00:06:18.149 So which day was this? 00:06:19.629 --> 00:06:20.829 A couple days ago. 00:06:21.789 --> 00:06:24.289 We were working on it until after the show was supposed to start. 00:06:24.829 --> 00:06:27.609 Yeah. Let's say we were inspired. 00:06:27.929 --> 00:06:28.009 Yeah. 00:06:28.769 --> 00:06:32.849 So the diesel heater is great. We got it back up and running as it was, 00:06:32.849 --> 00:06:35.669 but I mean, being Chris's dear 00:06:35.669 --> 00:06:39.529 friend, I can't just let him suffer with a simple on-off diesel heater. 00:06:39.969 --> 00:06:41.609 No. We got to put some open source in it. 00:06:41.729 --> 00:06:43.829 Exactly. We wanted to get this thing connected home assistant. 00:06:43.829 --> 00:06:46.749 It was an opportunity since we were down and dirty with the diesel heater to 00:06:46.749 --> 00:06:48.129 just make a couple of modifications. 00:06:50.049 --> 00:06:52.929 Luckily, we are not the only ones in the world who want to do this. 00:06:53.089 --> 00:06:58.069 So there are many projects, people reverse engineering the protocols for these 00:06:58.069 --> 00:07:02.829 diesel heaters, seeing how they can modify them to try to connect them using 00:07:02.829 --> 00:07:06.729 ESP32s, which is PJ's dear favorite computer. 00:07:07.169 --> 00:07:12.889 And that led to us being inspired by how we can do this and pushing the envelope a, 00:07:14.672 --> 00:07:16.272 tools we had in our toolbox. 00:07:16.272 --> 00:07:19.552 Thankfully we still to this day had 00:07:19.552 --> 00:07:23.552 a few leftover uh node mcu esp32s 00:07:23.552 --> 00:07:26.572 and a couple of different parts and we found a board that 00:07:26.572 --> 00:07:30.112 you can slot the esp32 in and 00:07:30.112 --> 00:07:32.972 then all of the gpios are exposed as 00:07:32.972 --> 00:07:36.632 just a screw-in wire so you can just you don't have to solder everything and 00:07:36.632 --> 00:07:42.072 that sounds great it makes for troubleshooting and um really learning much faster 00:07:42.072 --> 00:07:44.612 because you're just oh i can connect to white here real quick okay i'll connect 00:07:44.612 --> 00:07:49.672 to this gpio and so we had some of that stuff ready to go kind of we were positioned 00:07:49.672 --> 00:07:52.092 for this project really waiting to happen. 00:07:52.092 --> 00:07:57.552 Then the decision was well how do we get this to happen because we've got these 00:07:57.552 --> 00:08:02.212 projects some of them are written in python most of them are using esp home. 00:08:02.212 --> 00:08:03.572 Yep yep uh. 00:08:03.572 --> 00:08:06.352 But they're not all doing what we want to 00:08:06.352 --> 00:08:11.232 and the hardest part is that these chinese diesel heaters they all have different 00:08:11.232 --> 00:08:16.672 control boards they all have different ecus which control all the logic of you 00:08:16.672 --> 00:08:20.312 know the actual burning of the heater and safety protocols and all that there's 00:08:20.312 --> 00:08:24.272 different like permutations of how those two are connected so some have one 00:08:24.272 --> 00:08:26.252 board but the other control etc so so. 00:08:26.252 --> 00:08:28.592 You can't just flash some generic image. 00:08:28.592 --> 00:08:31.372 It kind of needs to be a pretty good match but there are a couple of 00:08:31.372 --> 00:08:34.272 universal truths yes there are power buttons that we 00:08:34.272 --> 00:08:37.112 know we could short and there is this 00:08:37.112 --> 00:08:39.952 ur protocol that they're likely using but maybe 00:08:39.952 --> 00:08:43.012 slightly modified and maybe they're using a different baud rate 00:08:43.012 --> 00:08:46.052 than the standard bar like there's certain things we can know that are common 00:08:46.052 --> 00:08:50.432 and so we knew at the end of the day we could at least short the power buttons 00:08:50.432 --> 00:08:56.472 but we what we really want is engine data fan speed data chamber temperature 00:08:56.472 --> 00:09:01.492 data it can get all of that the thing's constantly aware of all of that and we wanted to extract it. 00:09:01.492 --> 00:09:06.252 So sort of like a two-pronged mission, you want better control from Home Assistant. 00:09:06.452 --> 00:09:08.232 And then you also want to pull as much info as you can. 00:09:09.253 --> 00:09:14.213 So we settled on using a couple of projects to get started after reading way too much. 00:09:14.833 --> 00:09:21.913 One of them is Pablo Vitaso's ESPHome-Cinbasto, which is, you know, a Chinese webasto. 00:09:22.473 --> 00:09:27.473 That had most of the components we wanted, including how to short the on-off 00:09:27.473 --> 00:09:32.013 button if we couldn't possibly get it working with the serial protocol that's 00:09:32.013 --> 00:09:33.553 built into some of these Chinese heaters. 00:09:33.733 --> 00:09:38.313 And that's the dream, right? Use the data protocol to both control the heater 00:09:38.313 --> 00:09:43.313 and get all of the data from the heater, including whether it's on or not and all the safety. 00:09:43.533 --> 00:09:46.773 So that's the dream, but we had to work our way towards that. 00:09:47.213 --> 00:09:54.073 Luckily, there was a bunch of work by Ray Jones who did some deconstructing 00:09:54.073 --> 00:10:00.613 of the protocol, basically hacking it and learning how this UART protocol on 00:10:00.613 --> 00:10:01.813 these Chinese heaters works. 00:10:01.813 --> 00:10:06.153 not all of it is there however including how to turn it on and off from this 00:10:06.153 --> 00:10:09.853 protocol but you can get a bunch of information and some people have gotten 00:10:09.853 --> 00:10:11.953 this protocol to work with, 00:10:12.553 --> 00:10:19.013 ESPHome and these ESP32s so that was a fabulous place for us to start the trouble is, 00:10:20.340 --> 00:10:26.400 Well, we're just still ESP beginners and, you know, it's not just plug and play. 00:10:26.600 --> 00:10:29.160 So Chris, you had a brilliant idea to bring in a little bit of help. 00:10:29.500 --> 00:10:31.740 Yeah, because, you know, again, like you're saying, we don't really know what 00:10:31.740 --> 00:10:37.620 we're doing. So I thought to myself, if we could establish basic communications 00:10:37.620 --> 00:10:40.200 with the thing, then, you know, over USB, 00:10:40.560 --> 00:10:43.180 then we could at least see if the GPIO ports are turning on and off. 00:10:43.280 --> 00:10:45.100 Maybe we get an idea if the voltage is working. 00:10:45.560 --> 00:10:48.440 You've got a debugging loop you can make some progress on. 00:10:48.440 --> 00:10:54.800 Yeah, and so we got it flashed using ESPHome web connected to my laptop over 00:10:54.800 --> 00:10:56.720 USB, which is super simple now. 00:10:56.720 --> 00:11:00.960 As long as you have Chrome and your user is in like the dial-out group, 00:11:01.020 --> 00:11:04.920 I think it is, then you pretty much have everything you need to flash these 00:11:04.920 --> 00:11:06.880 devices just from a Chromium-based web browser. 00:11:07.100 --> 00:11:11.440 So I went to the ESPHome site, and I got the basic ESPHome image flashed on 00:11:11.440 --> 00:11:16.380 this thing and got it booting with some Wi-Fi, basic Wi-Fi credentials and whatnot. 00:11:16.380 --> 00:11:21.320 And once it was running ESPHome, and it was still connected to my laptop, 00:11:21.700 --> 00:11:26.260 I decided to open up OpenCode, which again is just a fantastic app, 00:11:26.480 --> 00:11:30.660 and took advantage of the Hunter Alpha model, which is available right now, 00:11:30.740 --> 00:11:32.420 which is like a 1 million context model. 00:11:33.600 --> 00:11:36.220 And maybe it's DeepSeq 4, and I don't know. 00:11:36.500 --> 00:11:40.320 We don't know. It's a masked model out there for a review. They train on the 00:11:40.320 --> 00:11:43.000 data. They're kind of, you know, workshopping it before the public release. 00:11:43.000 --> 00:11:46.520 And not something I would use for private information, but when you're just 00:11:46.520 --> 00:11:48.520 hacking on an ESP board, perfs. 00:11:48.520 --> 00:11:50.980 Especially stuff you probably would open source or whatever anyway. 00:11:51.180 --> 00:11:57.060 Yeah. And so it immediately, immediately locked into what we were doing. 00:11:57.080 --> 00:12:01.020 And it started communicating and controlling the ESP32 system. 00:12:02.044 --> 00:12:04.984 Instantly and from that we 00:12:04.984 --> 00:12:07.964 were able to just derive all kinds 00:12:07.964 --> 00:12:10.744 of information like we realized that the baud rate wasn't 00:12:10.744 --> 00:12:14.144 what we expected the communications protocol wasn't we expected we discovered 00:12:14.144 --> 00:12:18.104 a voltage issue because there was a bug in the upstream project like it just 00:12:18.104 --> 00:12:21.804 started opening up all of these problems that we could just start working through 00:12:21.804 --> 00:12:28.524 bit by bit and it would it would uh it would rebuild custom esp home and esp 00:12:28.524 --> 00:12:30.924 troubleshooting firmware Like at one point, 00:12:31.124 --> 00:12:34.204 it built a signal analyzer firmware for us, 00:12:34.524 --> 00:12:39.704 reflashed the ESP device with a signal analyzer so we could start monitoring 00:12:39.704 --> 00:12:42.284 like the voltage and the other information, not just the voltage, 00:12:42.424 --> 00:12:47.744 but the data stream from the diesel heater in real time. 00:12:48.084 --> 00:12:51.104 And then it realized, well, we were getting so much data, it was overloading 00:12:51.104 --> 00:12:55.444 the memory on the ESP home. So then it created a more efficient version of a 00:12:55.444 --> 00:12:59.324 loop and it's out there and sampled the data and it started it started giving 00:12:59.324 --> 00:13:01.444 us so much like direction. 00:13:02.264 --> 00:13:06.384 It was really it was really interesting way because you're sitting there in open code. 00:13:06.644 --> 00:13:11.064 It's talking to an LLM that is then sending commands back down to command line 00:13:11.064 --> 00:13:13.224 tools that are working with the ESP. 00:13:13.644 --> 00:13:18.064 And then it's rebuilding firmware, compiling that to C++ and flashing it. 00:13:18.064 --> 00:13:22.424 And then as we went on, because the context window on this thing is so freaking 00:13:22.424 --> 00:13:25.404 huge, it was remembering, oh, this is a major breakthrough. 00:13:25.544 --> 00:13:29.304 I'll update their agents MD or, hey, if we enable this on the command line, 00:13:29.404 --> 00:13:33.004 we also and even though we would forget, it would remember, I also need to make 00:13:33.004 --> 00:13:37.344 sure it's working in the MQTT layer and it would keep catching stuff that we would forget. 00:13:38.603 --> 00:13:46.683 And we used this for hours, 12 hours maybe, and we got to 21% of the context window. 00:13:46.803 --> 00:13:51.983 So it was so useful. It was bonkers because it took the little bit of knowledge 00:13:51.983 --> 00:13:54.263 we had and extended it away further. 00:13:54.463 --> 00:13:58.103 And we got to a point where this thing was originally we had the upstream image 00:13:58.103 --> 00:14:01.583 wasn't fully functional. It was a bit broken. It had the voltages reversed. 00:14:01.923 --> 00:14:04.983 Instead of not sending voltage, it was sending. 00:14:05.123 --> 00:14:08.663 Instead of not, it was, et cetera. It had it backwards. it fixed 00:14:08.663 --> 00:14:11.783 that but additionally the ability to swap between the different images super 00:14:11.783 --> 00:14:14.883 quick and then figure out where the mistake was 00:14:14.883 --> 00:14:19.583 patch the upstream project recompile 00:14:19.583 --> 00:14:22.563 the image and reflash it it's really helpful 00:14:22.563 --> 00:14:25.363 was it was bonkers the progress we started 00:14:25.363 --> 00:14:28.283 making once we got there because we went from just guessing and guessing 00:14:28.283 --> 00:14:31.883 and guessing to actually being able to work 00:14:31.883 --> 00:14:35.063 with the thing and then it would develop like test 00:14:35.063 --> 00:14:37.743 sequences and it would say okay are you ready 00:14:37.743 --> 00:14:40.863 i'm gonna and then it would it would get your multimeter out we get the multimeter 00:14:40.863 --> 00:14:45.123 out and it would run through test sequences and test sequences and then we realized 00:14:45.123 --> 00:14:49.263 we could do it even more efficient because we kept thinking you know we are 00:14:49.263 --> 00:14:52.743 the slow point here we have to like we have to go get the multimeter and we're 00:14:52.743 --> 00:14:56.523 holding it here and then we're telling the machine what the readings are you're. 00:14:56.523 --> 00:14:57.183 Being its hands. 00:14:57.183 --> 00:15:01.183 And so one of the nice breakthroughs we had was we could actually get the machine 00:15:01.183 --> 00:15:03.763 to read its own voltage levels you want to talk about that a little bit i. 00:15:03.763 --> 00:15:04.903 Was it was such a. 00:15:04.903 --> 00:15:09.543 Bonkers realization esp32 pros they know all this already but yes. 00:15:09.543 --> 00:15:13.603 We are learning thank you for your patience with us uh it was late last night 00:15:13.603 --> 00:15:18.423 and i'm holding this volt meter on these esp pins so that we could try to interpret 00:15:18.423 --> 00:15:22.143 you know how much voltage is on the pins and relay that back to the machine 00:15:22.143 --> 00:15:25.303 who's helping us you know fix all the problems and, 00:15:26.394 --> 00:15:28.994 And I was like, Chris, my hand is getting sore. And he's like, 00:15:29.094 --> 00:15:33.134 I'm tired of like having to give it input the whole time because it was really 00:15:33.134 --> 00:15:35.334 slowing down the feedback loop. 00:15:35.634 --> 00:15:38.694 It was doing great when it was rebuilding ESP to get it working. 00:15:38.814 --> 00:15:42.734 But then when we had to provide it voltage values, everything just slowed to a crawl. 00:15:44.114 --> 00:15:48.094 So it turns out, I don't know how you found this, Chris, but thank you. 00:15:48.234 --> 00:15:51.494 It turns out you can just use the ESP to tell you the voltage. 00:15:51.734 --> 00:15:54.874 So you just do a little jumper to a different pin. And then all of a sudden, 00:15:55.054 --> 00:16:01.534 OpenCode had the ability to modify its software and then do the testing by itself 00:16:01.534 --> 00:16:03.414 and cut out the human completely. 00:16:03.594 --> 00:16:07.414 So the feedback loop was very fast and it was able to work through some of the 00:16:07.414 --> 00:16:09.034 bugs extremely quickly. 00:16:09.274 --> 00:16:11.154 I think Graham's going to be real proud of you boys. 00:16:11.994 --> 00:16:15.554 And Chris and I were just looking at each other with these massive grins, 00:16:15.554 --> 00:16:17.854 just thinking, this is fabulous. 00:16:17.854 --> 00:16:23.234 And it's exactly, Wes, what we saw Graham doing last episode when he described 00:16:23.234 --> 00:16:29.714 that he had a bunch of hardware that he was reverse engineering with microcontrollers to get them, 00:16:29.914 --> 00:16:36.014 like, to make that connection between artificial intelligence helping you with actual real hardware. 00:16:36.134 --> 00:16:40.854 And we accidentally ran into building the same type of machine, 00:16:40.854 --> 00:16:44.614 let's call it, through this diesel heater. It was really, really fun. 00:16:44.614 --> 00:16:49.194 And the reason why it was great to get this voltage information back automatically 00:16:49.194 --> 00:16:53.214 is because the way you can tell if the heater has been triggered or if it's 00:16:53.214 --> 00:16:56.534 shutting down is by reading the voltage levels on one of the pins. 00:16:56.754 --> 00:17:01.514 And so once it could read the voltage level itself, it was able to determine 00:17:01.514 --> 00:17:03.294 if what it had tried had worked or not. 00:17:03.474 --> 00:17:08.574 So the loop of like, try this, does it work? Nope. It would just start speeding up. Yeah. 00:17:09.702 --> 00:17:10.642 You guys had a lunch? 00:17:10.882 --> 00:17:13.982 Well, it was tough. It was like 10.30 last night. We're like, 00:17:14.082 --> 00:17:17.102 we got to pause because we got to go to bed because we got a show to do tomorrow. 00:17:17.262 --> 00:17:18.862 The humans need to rest. It was ready to keep going. 00:17:20.922 --> 00:17:26.402 Another thing it helped with is that we were trying to trigger the heater to 00:17:26.402 --> 00:17:30.242 turn on and off just by shorting one of the micro buttons. 00:17:30.682 --> 00:17:35.122 So it's a little micro switch, and that's what you push your thumb on the controller 00:17:35.122 --> 00:17:38.182 to turn this thing on and off. But we wanted to do that programmatically. 00:17:38.922 --> 00:17:43.822 and so the advice in many of these projects was to use a transistor and i had 00:17:43.822 --> 00:17:48.642 never used a transistor before we on the show have used relays uh turns out 00:17:48.642 --> 00:17:53.302 it's just a itty bitty little relay kind of ish west um yeah. 00:17:53.302 --> 00:17:55.442 Just with more uh quantum physics helping you out. 00:17:55.442 --> 00:18:01.242 Exactly yeah it's more sophisticated yeah i could see jeff now just like i know i know you're. 00:18:01.242 --> 00:18:04.222 Catching up you're getting from like the 1910s to you know yeah. 00:18:04.222 --> 00:18:08.242 Well the thing is i would have never 1960s i would have never tried this without 00:18:08.242 --> 00:18:11.542 like a helping hand so one of the helping hands was these projects having done 00:18:11.542 --> 00:18:16.022 it before and providing a little bit of guidance but the other one was working through, 00:18:16.622 --> 00:18:21.802 my mistakes of implementing the wiring because uh the computer can't do the 00:18:21.802 --> 00:18:25.262 wiring so i had to do the wiring unfortunately but i was learning much doing 00:18:25.262 --> 00:18:28.642 it but you got to water it correctly so that. 00:18:28.642 --> 00:18:30.222 Does help wiring it correctly does help. 00:18:30.222 --> 00:18:37.342 So i was like hey computer um help me diagnose if i did the transistor properly. 00:18:37.342 --> 00:18:42.722 I'm just going to do another jumper to another pin and you tell me if it's firing 00:18:42.722 --> 00:18:44.422 properly by reading more voltage. 00:18:44.642 --> 00:18:49.642 So we had the ESP, you know, give some feedback again to make sure the human 00:18:49.642 --> 00:18:52.442 put the transistor in the right place and the little wires in the right place. 00:18:52.502 --> 00:18:52.962 It's useful. 00:18:53.122 --> 00:18:57.702 And it turned out then it could also know if it pushed the physical button for us. 00:18:57.762 --> 00:19:01.222 So it just made tons of progress and brought us, 00:19:02.294 --> 00:19:06.054 Learning about ESPs in ways that I don't think we would have ran into had we 00:19:06.054 --> 00:19:10.614 just been sitting there like we did a couple of months ago, just tinkering on the ESPs. 00:19:10.774 --> 00:19:14.954 It's such a it's such a fun project because it's a little bit it's like real 00:19:14.954 --> 00:19:21.854 baby electrical stuff and it's a little bit building and it's a little bit of this ESP coding stuff. 00:19:22.983 --> 00:19:26.943 And that in itself is such an educational, rewarding experience that even if 00:19:26.943 --> 00:19:29.743 it didn't work with Home Assistant afterwards, and even if I wasn't automating 00:19:29.743 --> 00:19:32.003 this thing now, it's like I would still do this. 00:19:32.223 --> 00:19:32.363 Yeah. 00:19:32.663 --> 00:19:36.003 You know, it's a lot of fun because you take something that was this total proprietary 00:19:36.003 --> 00:19:41.883 black box, you physically wire into it, and then you begin controlling it with an open source stack. 00:19:42.083 --> 00:19:47.243 It felt like a superpower. It really does. Finally regaining control over what 00:19:47.243 --> 00:19:51.223 was otherwise just a black box that you had an on-off button, and that's about it. 00:19:51.223 --> 00:19:55.343 And it stands out to me like any time in like software development or projects 00:19:55.343 --> 00:19:58.843 that you can have like a short feedback loop where you can try stuff and get 00:19:58.843 --> 00:20:02.963 actual feedback on did that work or not really helps. And it sounds like that's 00:20:02.963 --> 00:20:04.443 exactly what you guys got for yourselves. 00:20:04.623 --> 00:20:07.363 And we just learn more about the device itself. You learn more about how the 00:20:07.363 --> 00:20:10.183 device operates, more about its safety features, which I actually was walked 00:20:10.183 --> 00:20:11.903 away fairly impressed with after this. 00:20:12.123 --> 00:20:15.723 And its simplicity and its design, which is just before it was literally a black 00:20:15.723 --> 00:20:17.043 box. It's really something. 00:20:17.283 --> 00:20:20.203 And the superpowers to be able to kind of work through it and iterate. 00:20:20.203 --> 00:20:23.903 age you know we went from something that initially we thought this is too far 00:20:23.903 --> 00:20:27.803 from the upstream projects we're not going to get this to before we left like 00:20:27.803 --> 00:20:30.743 it was working it was firing up the heater now we just need to get the data 00:20:30.743 --> 00:20:32.243 and stuff like that and sort it out but yeah. 00:20:32.243 --> 00:20:34.323 I was gonna ask what is the where did you leave it exactly. 00:20:34.323 --> 00:20:35.823 Yeah we. 00:20:35.823 --> 00:20:37.463 Just before the show like literally. 00:20:37.463 --> 00:20:43.443 Yeah well probably before the show had started yeah we were running late it was worth it yeah uh. 00:20:43.443 --> 00:20:49.903 Or you tell us audience, was it worth it? We had the ESP, well basically open 00:20:49.903 --> 00:20:51.943 code, was turning the heater on and off. 00:20:52.063 --> 00:20:52.183 Yeah. 00:20:52.523 --> 00:20:56.503 So the ESP was able to turn the heater on and off, transistor worked as expected, 00:20:56.983 --> 00:21:00.903 so that was shorting the little physical button to turn the heater on and turn 00:21:00.903 --> 00:21:06.523 it off with the appropriate amount of push button delay, because as humans we're slow, 00:21:06.643 --> 00:21:10.143 so you push the button for one second and it turns it on, you push it for three 00:21:10.143 --> 00:21:12.203 seconds and it turns it off, it was handling all of that. 00:21:13.682 --> 00:21:16.902 Basic button pushing, check, right? That's completed. 00:21:16.902 --> 00:21:19.382 And that works for anything. Your furnace, fan. 00:21:19.822 --> 00:21:22.242 Think of everywhere there's a microswitch, which is everywhere. 00:21:22.422 --> 00:21:24.302 Anywhere there's, yeah, like all those buttons you have to press, 00:21:24.382 --> 00:21:28.922 you now can remote control. Crazy. You know, a water kettle, like it's crazy. 00:21:29.042 --> 00:21:29.882 Everything. It's so bonkers. 00:21:29.882 --> 00:21:32.942 It's such an unlock at the basic level. It's really exciting. 00:21:33.062 --> 00:21:36.302 Especially when you consider the diagnosis part of it. 00:21:36.622 --> 00:21:41.782 If you can also use an ESP to diagnose electronics, then this takes it to a whole other. 00:21:42.002 --> 00:21:43.562 Yeah, your whole test bench is upgraded. 00:21:43.682 --> 00:21:45.522 Mm-hmm. So we got to the- You know. 00:21:45.582 --> 00:21:49.322 What's funny is not how we expected this to go. No. Did not expect it to go this direction. 00:21:49.482 --> 00:21:49.602 No. 00:21:49.822 --> 00:21:50.102 It was just. 00:21:50.102 --> 00:21:53.102 Totally- You started off very analog, right? Just torn apart regular diesel heater. 00:21:53.222 --> 00:21:55.842 With a, yeah, and a VU meter and some wires, and yeah. VU meter. 00:21:55.842 --> 00:21:57.742 It started very analog. Very dirty. 00:21:57.902 --> 00:21:59.022 It's a multimeter, Chris. 00:21:59.022 --> 00:22:00.142 Yeah, how much diesel did you spell? 00:22:00.282 --> 00:22:02.302 It's a VU meter, and you know it. That's what we call it around here, 00:22:02.422 --> 00:22:03.382 and we're sticking with it. 00:22:03.782 --> 00:22:08.602 Soundboard guy. So we're in the state where it can be turned on and off, which is fabulous. 00:22:08.902 --> 00:22:12.442 I mean, if, Chris, you could live with just that, I think you'd be happy. 00:22:12.642 --> 00:22:12.762 Yep. 00:22:12.762 --> 00:22:15.022 But, you know, we've got to push it a little bit. 00:22:15.222 --> 00:22:16.102 We'll get the data. 00:22:16.222 --> 00:22:20.642 We want this UART protocol to be able to be read in Home Assistant as well. 00:22:20.942 --> 00:22:25.122 There seems to be a little bit more reverse engineering work to do there, 00:22:25.142 --> 00:22:28.962 but OpenCode is sitting there waiting for us when we get back from recording 00:22:28.962 --> 00:22:31.582 the show so that we can continue that reverse engineering. 00:22:31.582 --> 00:22:34.502 It's like a 21% context or 24%, something like that. So, yeah, 00:22:34.622 --> 00:22:35.602 we're good to go for a while. 00:22:36.422 --> 00:22:37.422 Jeff had a question. 00:22:37.542 --> 00:22:37.662 Yeah. 00:22:39.029 --> 00:22:42.069 Uh, well, it turns out it's not answered yet because you're not finished. 00:22:42.729 --> 00:22:44.649 Oh, I think we're, yeah, go ahead. 00:22:44.889 --> 00:22:48.629 Okay. I was wondering, uh, where, where do you finish? 00:22:48.729 --> 00:22:53.009 Like what, what, what, what do you think you end up using as a base on the ESP? 00:22:53.129 --> 00:22:57.529 Are you going to try to integrate this into ESP home or something else? 00:22:57.709 --> 00:23:01.049 You know, what, what's the connection point between the ESP and home assistant? 00:23:01.309 --> 00:23:02.409 How's that going to work? What do you think? 00:23:02.689 --> 00:23:06.649 Yeah. My goal is, is once we kind of get it basically operational to do like 00:23:06.649 --> 00:23:09.189 an ESP home takeover, I'm hoping, you know, that I'll be able to, 00:23:09.289 --> 00:23:12.549 it'll show up in my ESP home dashboard and then I'll just do a takeover and 00:23:12.549 --> 00:23:15.769 control it from there and just do updates as I do them. 00:23:16.449 --> 00:23:19.229 And then, of course, it'll show up, all those will just show up as inputs, 00:23:19.449 --> 00:23:23.649 sensor data and controls to Home Assistant, which is really going to be the big deal. 00:23:24.149 --> 00:23:28.609 You know, I'm in bed and it's cold, hit a button and the heater turns on. I'm going to love that. 00:23:29.129 --> 00:23:32.369 And also it'll be interesting to get, once you have this, I'll have usage data. 00:23:32.369 --> 00:23:36.529 So I'll know how long it runs and those things and maybe even what gear it ran 00:23:36.529 --> 00:23:38.289 in for how long, which is important with these things. 00:23:38.429 --> 00:23:43.369 I was just thinking the exact same thing as we drove from the farm to the studio 00:23:43.369 --> 00:23:47.509 past when the show was supposed to have started because we were playing with this. 00:23:48.329 --> 00:23:51.949 All these ideas of what we could be recording, like you said, 00:23:52.169 --> 00:23:56.049 like hours of service. That's not a piece of data you have currently, but that's trivial. 00:23:56.469 --> 00:23:57.689 It has it. It just doesn't share it. 00:23:57.869 --> 00:23:58.269 Yeah. 00:23:58.549 --> 00:23:59.269 Until now. 00:23:59.569 --> 00:24:02.969 It's so trivial to get in, right? Right. So your maintenance cycle, 00:24:03.069 --> 00:24:05.169 you won't have to wait till it breaks next time. 00:24:05.309 --> 00:24:09.509 You'll kind of have an idea of when you should invite Brent over to rebuild it. 00:24:09.609 --> 00:24:13.229 We really need our society to get to a point where everything is like this. 00:24:13.329 --> 00:24:16.309 And you don't have to use it as a consumer, but it's there if you want to, 00:24:16.369 --> 00:24:20.229 because you put a little open source in it and it just gets so much more useful. 00:24:20.929 --> 00:24:23.849 And honestly, I'm going to maintain the thing better if I have this data, too. 00:24:24.329 --> 00:24:27.849 So that was pretty neat. I have no idea what you've been working on this week, 00:24:27.929 --> 00:24:29.769 Wes. Why don't you regale us with your tails? 00:24:31.194 --> 00:24:33.714 Well, yeah, actually, you're to blame with this. 00:24:33.934 --> 00:24:34.414 Oh, God. 00:24:34.594 --> 00:24:37.834 You know, we have a setup behind the scenes so we can kind of track what the 00:24:37.834 --> 00:24:40.154 rest of us are looking at and share links that we were following. 00:24:40.334 --> 00:24:44.614 You know, most, some, anyway, don't make it to the show, but some of them become segments. 00:24:44.874 --> 00:24:49.314 And this one did. Now, I've been using Firefox primarily. 00:24:49.994 --> 00:24:50.454 A while now. 00:24:50.614 --> 00:24:51.534 Yeah, a long time. 00:24:51.674 --> 00:24:52.314 Before it was cool. 00:24:53.334 --> 00:25:00.894 It's always been cool. but i saw you tag that chrome was working on like a sort 00:25:00.894 --> 00:25:03.854 of native mcp server for itself i. 00:25:03.854 --> 00:25:04.834 Think they've shipped it too. 00:25:04.834 --> 00:25:08.614 They have oh really yeah so that's what i got up to okay. 00:25:08.614 --> 00:25:14.774 So a native mpc npc npc no uh an mcp model context protocol in other words a 00:25:14.774 --> 00:25:17.314 way to remotely connect and communicate with chrome. 00:25:17.314 --> 00:25:20.734 Yeah and you know there's already these things like there's selenium and like 00:25:20.734 --> 00:25:25.034 the newer version of web driver bitty stuff and puppeteer so there's lots of 00:25:25.034 --> 00:25:27.214 ways to like connect to and drive browsers but. 00:25:27.214 --> 00:25:28.814 This is a vendor blessed method really. 00:25:28.814 --> 00:25:31.434 Uh yeah and the other part we should kind of 00:25:31.434 --> 00:25:34.274 like differentiate on is what you're trying to do so i've also 00:25:34.274 --> 00:25:37.914 played with some stuff like just this morning brent was looking at agent 00:25:37.914 --> 00:25:41.534 browser protocol deterministic browser automation uh 00:25:41.534 --> 00:25:44.494 this is another agent in the space uh we had previously 00:25:44.494 --> 00:25:48.174 kind of looked at camo fox which is kind of another player and these are more 00:25:48.174 --> 00:25:52.794 projects in like give your agent its own browser often headless like for its 00:25:52.794 --> 00:25:57.294 own automation use where at least right now i mean you could do either of these 00:25:57.294 --> 00:26:03.074 but what i was interested in is like bringing the agent into your existing current browser. 00:26:03.902 --> 00:26:07.262 Because then I guess it has your credentials, it has your user session information. 00:26:07.462 --> 00:26:09.822 Yeah, and I don't need to do maybe everything, but like there might be some 00:26:09.822 --> 00:26:12.402 stuff I want to automate or some page or just even be able to, 00:26:12.462 --> 00:26:14.562 you know, take a look, double check things. 00:26:14.982 --> 00:26:18.582 I mean, I'll tell you, I don't know if this is a use case you would use, 00:26:18.662 --> 00:26:23.042 but I could see a valid use case being you want to automate some job searches or something like that. 00:26:23.382 --> 00:26:23.662 Totally. 00:26:23.802 --> 00:26:25.442 And you're trying to just create a list of possible job searches. 00:26:25.562 --> 00:26:28.622 I could see that as a very valid use case for this that isn't necessarily abuse. 00:26:28.662 --> 00:26:30.762 And it's just something you're personally doing. You're not doing it at scale. 00:26:30.962 --> 00:26:34.282 Well, and like, yeah, exactly. Right. You could talk about, like, 00:26:34.562 --> 00:26:38.002 scraping at scale and all kinds of stuff that have their own issues, but... 00:26:39.356 --> 00:26:43.956 What you were doing in the last segment, it's kind of like letting a lot of 00:26:43.956 --> 00:26:45.756 these LLMs sort of be your hands, right? 00:26:45.836 --> 00:26:50.176 Like now the agent is the interface and you're still doing the same stuff you would do. 00:26:50.356 --> 00:26:53.456 It's just kind of executing the individual steps and you give it a higher level. 00:26:53.656 --> 00:26:53.876 You've delegated. 00:26:54.216 --> 00:26:59.116 And what is like one of the primary interfaces that we use for like almost all of our tasks every day? 00:26:59.276 --> 00:26:59.776 The web browser. 00:26:59.916 --> 00:27:02.816 That's right. And so to me, it's sort of like extending that where now I can 00:27:02.816 --> 00:27:08.216 talk to the web browser and get tasks done that I would do manually myself anyway. 00:27:08.336 --> 00:27:09.396 Okay. Sounds fair. 00:27:09.876 --> 00:27:14.736 So as an experiment, I often place, pick up grocery orders for myself. 00:27:14.876 --> 00:27:18.436 You know, I go out, I take a dog walk, and it's pretty easy if I've placed an 00:27:18.436 --> 00:27:21.216 order, I can just pick that up on the way back home, then bring it out to the car. 00:27:21.336 --> 00:27:23.776 Works well. And not as many fees as delivery. 00:27:25.276 --> 00:27:29.656 But while the vendor website isn't horrible, it's still kind of a pain to do. 00:27:29.856 --> 00:27:30.396 I can imagine. 00:27:30.536 --> 00:27:34.476 I was looking, they have an API. I just hadn't had time with the trip and all 00:27:34.476 --> 00:27:35.976 that to really look into doing that. 00:27:36.456 --> 00:27:37.956 Your grocery store has an API? 00:27:37.956 --> 00:27:41.896 They do, actually. So props there. Yeah, props. That's nice. 00:27:42.036 --> 00:27:42.996 So that did seem feasible. 00:27:43.276 --> 00:27:45.556 You couldn't place the order, but you could at least build a cart, 00:27:45.716 --> 00:27:48.156 which is probably more than good enough, right? That's the hard part. 00:27:48.776 --> 00:27:53.296 So I thought, you know, Brent and I like this Love Crunch granola. 00:27:53.356 --> 00:27:53.776 Yeah, we do. 00:27:53.936 --> 00:27:57.756 So I've already logged into a Chrome browser here, the latest version, 00:27:57.816 --> 00:27:59.456 which is already in the Upstream Nix packages. 00:27:59.996 --> 00:28:02.816 Yeah. And you could already do this. you 00:28:02.816 --> 00:28:06.236 do need like a little sidecar that's in npm that 00:28:06.236 --> 00:28:10.196 you run that kind of connects and translates mcp so you can drive it with any 00:28:10.196 --> 00:28:16.636 standard ai agent that can do mcp and connects to like the chrome remote debugging 00:28:16.636 --> 00:28:20.716 protocol okay what's new in the current version is that's made much more seamless 00:28:20.716 --> 00:28:25.716 now you turn on remote debugging in chrome and then when you start up, 00:28:26.468 --> 00:28:30.048 If you're using OpenCode, say, and you define in your config the MCP server 00:28:30.048 --> 00:28:34.388 you want to run, when it starts, it can automatically request from Chrome permission, 00:28:34.388 --> 00:28:37.708 and it just pops up a box and you hit OK, and then it's connected. 00:28:39.308 --> 00:28:42.728 And really, if you haven't messed with MCP, it's really just a standard protocol 00:28:42.728 --> 00:28:49.368 that is emitting standardized JSON back and forth that can be done over standard I.O. or over HTTP. 00:28:50.128 --> 00:28:53.568 It's just a way to send requests, and agents can use it to talk to a variety of servers. 00:28:53.588 --> 00:28:56.868 And which method is Chrome using? http i guess. 00:28:56.868 --> 00:29:01.368 Uh no in this case it's a standard io it is using http i believe then to do 00:29:01.368 --> 00:29:04.388 the remote debugging so you could probably do it either way interesting but 00:29:04.388 --> 00:29:07.508 in this case it was easy enough to just run it right from npm did. 00:29:07.508 --> 00:29:09.728 You uh task it to do something interesting or. 00:29:09.728 --> 00:29:12.468 Yeah so i've got it building me a cart here so i thought like. 00:29:12.468 --> 00:29:14.208 Oh you actually had to go through and do the shopping. 00:29:14.208 --> 00:29:17.808 Yeah so i have a started cart and i thought maybe i could see if it would add 00:29:17.808 --> 00:29:19.808 me some granola right here live for us oh. 00:29:19.808 --> 00:29:20.788 Yeah get some granola in there. 00:29:20.788 --> 00:29:21.628 Yeah especially. 00:29:21.628 --> 00:29:22.428 In case Brent visits. 00:29:22.428 --> 00:29:27.828 He loves that so I told it to um to search we'll see if it can manage that it's 00:29:27.828 --> 00:29:31.008 supposed to go search for the granola and so do you see chrome. 00:29:31.008 --> 00:29:33.908 Actually oh so you see it you see chrome actually doing it on the. 00:29:33.908 --> 00:29:36.248 Screen it's the real live oh my god. 00:29:36.248 --> 00:29:40.068 That's so crazy to watch it's typing it out right now in the search box, 00:29:41.509 --> 00:29:45.949 That is, of course, no suggestions came back. It did a perfect search, love crunch canola. 00:29:46.209 --> 00:29:49.669 But no, the search didn't return anything, but that's on the... 00:29:49.669 --> 00:29:51.629 Now it's continuing to the search page, though. 00:29:52.029 --> 00:29:55.969 So it's continuing. It realizes it didn't get results, and it's continuing to troubleshoot. 00:29:56.009 --> 00:30:01.069 Yeah, it's able to take snapshots, which give it sort of like text and what's on the page. 00:30:01.309 --> 00:30:02.069 Like actual pictures? 00:30:02.329 --> 00:30:05.169 Well, so that's like one version. And then, yes, it can take a screenshot. 00:30:05.469 --> 00:30:09.949 So it's getting a version that it can process, some sort of text version it can process. 00:30:09.949 --> 00:30:12.609 Yeah, from the Chrome DevTools sort of setup. 00:30:12.809 --> 00:30:14.889 And then if it needs to, it takes a screenshot. Wow. 00:30:15.169 --> 00:30:17.049 And then from that, it can find stuff to click. 00:30:17.229 --> 00:30:21.809 Does that just litter your file system with screenshots? That's the future West Browse. 00:30:21.849 --> 00:30:22.629 Yeah, that's a good question. 00:30:23.729 --> 00:30:25.449 Security breach. Security breach. 00:30:25.509 --> 00:30:33.149 I am using another testing-free model, Healer Alpha, because it's like a multimodal 00:30:33.149 --> 00:30:36.289 model that includes vision. So it's good at processing the screenshot. 00:30:36.469 --> 00:30:39.529 Oh, interesting. Okay. Right, I guess that would be a thing you'd need. 00:30:39.529 --> 00:30:42.849 Yeah, okay. Added successfully, cart now shows three items, and the Lovecrunch 00:30:42.849 --> 00:30:45.289 shows quantity controls with one in cart. 00:30:45.869 --> 00:30:51.869 And then I could ask it, take me back to the cart and show me my total. 00:30:52.029 --> 00:30:56.049 And now it's going to just connect to the browser and go back to the cart, shopping cart. 00:30:57.349 --> 00:31:00.149 That's pretty fun. I mean, you could definitely see that would be very useful 00:31:00.149 --> 00:31:02.149 also for testing, web testing. 00:31:02.329 --> 00:31:06.989 Oh, sure. Yeah. It's kind of like a puppeteer or a playwright on steroids. 00:31:07.149 --> 00:31:10.669 But now that they've built more of this into Chrome, you're going to see a lot 00:31:10.669 --> 00:31:12.929 of tools standardized around that, I would think. 00:31:13.009 --> 00:31:16.689 So I was curious, like, am I limited to Chrome? I think it might be slightly 00:31:16.689 --> 00:31:19.769 more well built out. But there is another option for Firefox. 00:31:20.009 --> 00:31:20.329 Oh, there is. 00:31:20.489 --> 00:31:26.849 Firefox DevTools MCP, MIT license. Now, I don't think right now this one lets 00:31:26.849 --> 00:31:30.149 you connect to a running instance, or at least that wasn't in their docs. 00:31:30.169 --> 00:31:31.149 You might be able to make it work. 00:31:31.449 --> 00:31:36.009 So right now you can point it at your existing profile, but it launches its own Firefox instance. 00:31:36.269 --> 00:31:39.169 Okay. And it's not upstream from Mozilla. 00:31:39.309 --> 00:31:39.589 Correct. 00:31:39.729 --> 00:31:39.949 Uh-huh. 00:31:40.669 --> 00:31:45.409 But the one I did end up trying, and it didn't quite have, like, 00:31:45.489 --> 00:31:48.529 I think right now it can do stuff with different tabs, but it couldn't make 00:31:48.529 --> 00:31:51.209 or close tabs, which the Chrome one can do. 00:31:51.449 --> 00:31:53.609 But something called LittleFox MCP. 00:31:54.429 --> 00:31:57.749 This one's kind of interesting. So it's, you actually just, I just cloned it 00:31:57.749 --> 00:31:59.909 down and built it locally with NPM. 00:32:00.349 --> 00:32:06.009 And then you set up some sort of Firefox native messaging, a little JSON file 00:32:06.009 --> 00:32:08.149 you copy to your Firefox configuration. 00:32:08.669 --> 00:32:13.269 And then you can, it has an extension that you load as a temporary extension 00:32:13.269 --> 00:32:15.449 in the about debugging area of Firefox. 00:32:15.789 --> 00:32:19.649 And then that's an extension running in Firefox that exposes Firefox's debugging 00:32:19.649 --> 00:32:23.909 capabilities as an MCP server directly. And then you can just connect to it. 00:32:24.667 --> 00:32:28.327 And that actually worked great. I think it was maybe not quite yet as fully 00:32:28.327 --> 00:32:32.567 capable as the Chrome version, but it did also, it was able to take pretty clever advantage. 00:32:32.747 --> 00:32:37.047 It has an inject JavaScript feature. So then the LLM can write its own JavaScript 00:32:37.047 --> 00:32:40.507 that gets run in the context of the page, which you can do a lot with. 00:32:41.107 --> 00:32:43.467 Whoa. Yeah, you could. Huh. 00:32:43.647 --> 00:32:47.947 So it isn't quite as like native and upstream quite as the Chrome version, 00:32:48.147 --> 00:32:50.327 but Firefox isn't totally left behind. 00:32:50.567 --> 00:32:53.367 This is going to be huge for testing. And I hope, you know, these options to 00:32:53.367 --> 00:32:56.927 Firefox, at least you got some options. It's not so bad. That little fox is adorable. 00:32:57.267 --> 00:33:01.007 And, you know, even if you don't want to have, like, it works great with LLMs 00:33:01.007 --> 00:33:03.547 driving it, but even if you don't want to, MCP is a totally standard protocol 00:33:03.547 --> 00:33:07.307 that you can call from regular scripts or CLIs as well. 00:33:07.907 --> 00:33:11.167 Well, that's fun. Thanks for digging into that, Wes. I was very curious about that. 00:33:11.267 --> 00:33:13.207 And, yeah, it's really easy. You don't even need any flags anymore. 00:33:13.367 --> 00:33:17.227 You can just get the latest Chrome and then go into their debugging config, 00:33:17.787 --> 00:33:19.007 remote debugging and turn that on. 00:33:19.707 --> 00:33:24.967 All right. I have a question. I want to ask the audience, what is the most underpowered 00:33:24.967 --> 00:33:27.267 hardware that you're using for something right now? 00:33:27.707 --> 00:33:31.047 And it doesn't have to be this exact moment, but something that was way underpowered 00:33:31.047 --> 00:33:35.007 for the job, but you kept on using it for longer than you should have or something like that. 00:33:35.507 --> 00:33:39.707 Boost in, tell us. It shows a very audience supported at the moment, 00:33:39.727 --> 00:33:41.567 and that could be a great excuse to support us with a boost. 00:33:41.807 --> 00:33:45.847 Your most underpowered hardware you used for the job, boost in and let us know 00:33:45.847 --> 00:33:48.827 because I have a sense it's going to be a great conversation. 00:33:52.027 --> 00:33:56.127 Well, you can help the show reach lucky 13 years old by becoming a member or 00:33:56.127 --> 00:34:00.687 sending a boost, linuxunplugged.com slash membership or support the whole network at jupyter.party. 00:34:00.767 --> 00:34:04.627 You get access to an ad-free version of the show, which that may be of interest 00:34:04.627 --> 00:34:07.907 to you, or you get the bootleg version, which is a lot more show, 00:34:08.067 --> 00:34:09.707 more beginning and after. 00:34:09.947 --> 00:34:13.387 The show keeps on going, did you even know? So you get access to either one 00:34:13.387 --> 00:34:17.567 of those if you become a Jupyter Party member or a Linux Unplugged core contributor. 00:34:17.747 --> 00:34:20.367 You can also support each production. If there was something you liked or you 00:34:20.367 --> 00:34:22.787 want to contribute a little additional value, You can boost in. 00:34:23.227 --> 00:34:26.727 Fountain is making it very, very easy these days. And there's a plethora of 00:34:26.727 --> 00:34:29.407 options over at newpodcastapps.com. 00:34:29.567 --> 00:34:34.547 And the direct audience support will help us get to 13 years of the Unplugged program. 00:34:37.918 --> 00:34:41.418 Well, while I was taking apart your diesel heater and then putting it back together 00:34:41.418 --> 00:34:45.018 again and taking it apart again, you were working on a migration. 00:34:45.298 --> 00:34:49.698 Yeah, a bit of an urgent migration, you might say. So just a quick, quick recap. 00:34:50.118 --> 00:34:55.038 I have been using my custom Hypervibe distribution for about seven months, 00:34:55.038 --> 00:34:59.378 and it now expands across three systems. It's a multi-host Hypervibe, 00:34:59.458 --> 00:35:01.218 and it's worked well for me. 00:35:01.298 --> 00:35:03.558 Some sort of, almost like a Zerg base, it sounds like. 00:35:03.558 --> 00:35:08.278 Yeah. And like a Zerg base, it has a tendency to grow and grow. 00:35:08.618 --> 00:35:11.838 And affect. Maybe it's the user. I'm not quite sure. 00:35:12.038 --> 00:35:16.758 But it had drifted over time, and I started incorporating more server-in-server 00:35:16.758 --> 00:35:23.138 stuff because my B-Link was one of my more robust systems, and it had an AMD, a GPU of types. 00:35:23.378 --> 00:35:28.778 And so I just kept doing more stuff, like local LMs and databases and all kinds 00:35:28.778 --> 00:35:32.418 of little services. And it just was getting way, way out of scope. 00:35:33.138 --> 00:35:36.338 And that's fine. You know, I could deal with it. Didn't really, 00:35:36.438 --> 00:35:40.038 Hypervibe kind of drifted from its purpose as a desktop and had become sort 00:35:40.038 --> 00:35:43.778 of this local desktop server conglomerate. 00:35:44.098 --> 00:35:46.658 I was going to leave it like that for longer than I really should, 00:35:46.858 --> 00:35:48.658 but fate had forced my hand. 00:35:48.958 --> 00:35:49.018 Oh. 00:35:49.338 --> 00:35:54.758 Right before, well, okay, about three months ago, I started having file system issues. 00:35:55.478 --> 00:36:02.298 there was a block on my mvme that butterfs determined was bad but yet the disk 00:36:02.298 --> 00:36:06.678 had not marked bad yet so there was maybe a bit of aggressive precaution on 00:36:06.678 --> 00:36:11.718 butterfs's part and the mvme's firmware had not yet decided i'm going to declare this section bad, 00:36:12.538 --> 00:36:16.338 but it doesn't matter if because or butterfs decided it was that it was and 00:36:16.338 --> 00:36:20.498 so the way around it was to mirror the file system so that way i and then it 00:36:20.498 --> 00:36:24.638 would actually mark that sector bad in the mirroring process. 00:36:24.878 --> 00:36:25.858 And then read from the other... 00:36:27.433 --> 00:36:31.373 This is like another disk, physical solid-state disk? 00:36:31.553 --> 00:36:34.593 So I got an MVME in there, and then I put another, which is one terabyte. 00:36:34.913 --> 00:36:38.573 And then on the bottom, you can install a 2.5 SSD. 00:36:38.953 --> 00:36:42.873 And so I put a 2.5 one terabyte that I had laying around, which at this point 00:36:42.873 --> 00:36:46.753 is precious. So I'd actually had plans for other things. But this way it goes. 00:36:47.613 --> 00:36:52.393 Mirrored it, and I got myself through the holidays to basically right before 00:36:52.393 --> 00:36:53.973 our trip to scale in Planet Nix. 00:36:54.913 --> 00:36:57.833 And I was doing some updates to make sure everything was stable before I left. 00:36:58.613 --> 00:37:01.073 And I started getting read-only file system errors again. 00:37:02.073 --> 00:37:05.433 And the only way to clear it is to reboot. And then just, if you aggressively 00:37:05.433 --> 00:37:08.573 use the system, you know, update packages and really use the hell out of the 00:37:08.573 --> 00:37:12.493 thing, it marks the file system read-only. And then you got to reboot again. 00:37:13.553 --> 00:37:19.113 So you have like a time basically ticking down to when you can't use your system anymore. 00:37:19.113 --> 00:37:20.353 A window of max usage. 00:37:20.513 --> 00:37:20.873 Wow. 00:37:21.153 --> 00:37:22.233 So while we were on the trip. 00:37:22.253 --> 00:37:25.393 That's a good stress test, really. You know, if you can make a system robust 00:37:25.393 --> 00:37:27.933 enough for that, then you'll probably work in any situation. 00:37:28.153 --> 00:37:31.293 So while we were on the trip, I did the right thing and I left it alone and 00:37:31.293 --> 00:37:34.033 just logged out of the desktop, didn't run any desktop apps, 00:37:34.213 --> 00:37:36.673 minimal usage. So the server stuff would still work. 00:37:36.873 --> 00:37:39.033 Wait, but didn't we do some upgrades while we were on? 00:37:39.153 --> 00:37:41.953 Yeah, then we went and did some upgrades because I needed some stuff to work. 00:37:42.033 --> 00:37:43.133 And then it flipped into read-only. 00:37:43.313 --> 00:37:46.633 I was going to say, there was at least one Airbnb night where we were just upgrading open class. 00:37:46.893 --> 00:37:50.493 Yeah, and it forced my system into read-only mode. And then I had to reboot 00:37:50.493 --> 00:37:52.613 this thing remotely when I wasn't sure what state it was in. 00:37:52.613 --> 00:37:53.273 Danger zone. 00:37:54.513 --> 00:37:59.713 Oh, so I had to fix this when I got back. So that was one of my priorities is 00:37:59.713 --> 00:38:02.313 to get working on migrating off this thing. 00:38:03.013 --> 00:38:07.613 And the problem was is this is one of these things like I actually wanted to 00:38:07.613 --> 00:38:12.013 do the right way and not like the sarcastic right way, but the real right way. 00:38:12.213 --> 00:38:14.933 And so I wanted to set up a new host. 00:38:15.893 --> 00:38:21.833 Take all these all these server side services I'd set up, migrate them to the new host and. 00:38:23.084 --> 00:38:27.644 And then start with a fresh, sort of divorce the configurations from Hypervibe 00:38:27.644 --> 00:38:32.344 and start with a new configuration that removes all the desktop and the Wayland 00:38:32.344 --> 00:38:35.224 and all of the desktop applications and is fresh. 00:38:35.404 --> 00:38:37.904 It's like open heart surgery performing over there. 00:38:38.044 --> 00:38:41.604 And so that took a little bit to just kind of, you know. 00:38:41.604 --> 00:38:45.264 I'm thinking it's more like, you know, that Voyager episode where B'Elanna Torres 00:38:45.264 --> 00:38:47.224 is infected with an alien parasite. 00:38:47.364 --> 00:38:47.544 Mm-hmm. 00:38:48.004 --> 00:38:49.064 Sounds kind of more like that. 00:38:49.164 --> 00:38:49.764 Yeah, I think you're right. 00:38:49.944 --> 00:38:52.624 It was. It was like that. And then extracting that took, you know. 00:38:52.624 --> 00:38:56.484 They've kind of grown codependent on things. They're sharing some of the same base infrastructure. 00:38:56.844 --> 00:39:00.064 And much like the doctor, I performed a miracle and saved the day. 00:39:00.364 --> 00:39:04.484 And I'm very proud of it. So I did. I actually, I took the time. 00:39:04.904 --> 00:39:08.584 I started, I think, was it Thursday, Brent? I don't remember now. I think it was Thursday. 00:39:08.944 --> 00:39:14.404 I started at 9 a.m. and I finished at 1130 p.m. And I don't even think I stopped 00:39:14.404 --> 00:39:16.304 for lunch or dinner or anything like that. 00:39:17.104 --> 00:39:20.964 Food was brought to me and I just worked that whole window of time, 00:39:21.504 --> 00:39:25.344 created the new separate configuration a different git repo for it got a clean 00:39:25.344 --> 00:39:29.204 good solid base went through it and tidied up the configuration because there'd 00:39:29.204 --> 00:39:32.764 been a lot of duplicate and drift over time made it really tight you. 00:39:32.764 --> 00:39:34.504 Mean your existing one or the new one. 00:39:34.504 --> 00:39:37.584 Well the new one was based it was forked from the okay i wasn't sure. 00:39:37.584 --> 00:39:38.264 Yeah so you like. 00:39:38.264 --> 00:39:41.804 Then i had to go back afterwards and clean that one up too so that. 00:39:41.804 --> 00:39:43.464 Was that your method was do a fork. 00:39:43.464 --> 00:39:45.064 And then remove. 00:39:45.064 --> 00:39:47.324 The other the complimentary hands from each one. 00:39:47.324 --> 00:39:52.364 Basically yes exactly okay that took a while there's a lot of little edge cases 00:39:52.364 --> 00:39:58.124 and small stuff my own my own fault letting it go this long but it was i was 00:39:58.124 --> 00:40:03.284 using the uh the sync set the think sentry mq970 i think it was a leader yeah 00:40:03.284 --> 00:40:05.444 920 thank you which already. 00:40:05.444 --> 00:40:06.644 We had nicks on and. 00:40:06.644 --> 00:40:08.224 Like a test setup yeah that. 00:40:08.224 --> 00:40:09.644 Uh came from a listener i think right. 00:40:09.644 --> 00:40:13.504 It did ah thank you oh my gosh came in as the kids would say clutch, 00:40:14.414 --> 00:40:19.774 So I got that all working. And then it was really a matter of migrating the data over, 00:40:20.094 --> 00:40:25.594 figuring all that stuff up and then going through and changing paths and fixing 00:40:25.594 --> 00:40:30.274 all that little stuff and trying to stabilize it out and then get the services 00:40:30.274 --> 00:40:33.114 working the way they should again and connecting to the right things. 00:40:33.114 --> 00:40:36.494 um but while i'm 00:40:36.494 --> 00:40:40.114 doing sort of the last phase of the data migration just 00:40:40.114 --> 00:40:43.174 copying like the files and the services 00:40:43.174 --> 00:40:48.374 and just getting all that over the disk on the b-link starts flipping in a read 00:40:48.374 --> 00:40:53.194 only mode on me and keeps interrupting the migration and i'm like come on i'm 00:40:53.194 --> 00:40:57.974 barely i'm like i'm like these are the last 10 of the migration i'm so close 00:40:57.974 --> 00:41:00.494 and it's fighting me the entire time. 00:41:00.734 --> 00:41:03.854 And I'm like doing everything I can. I'm like booting it into minimal mode with 00:41:03.854 --> 00:41:06.314 no graphical environment, just SSH going. 00:41:06.454 --> 00:41:09.734 And I'm trying to do like an SCP to get the last few files off this thing. 00:41:09.874 --> 00:41:13.794 And it made it, the last two hours take so long. 00:41:14.734 --> 00:41:15.674 But when I was done, 00:41:17.648 --> 00:41:21.868 I got it all working on the new, well, the new to me, Lenovo, 00:41:22.508 --> 00:41:24.588 working really great with a good, tight configuration. 00:41:25.808 --> 00:41:30.088 And when I stopped harassing the machine that I was migrating from and stabilized, 00:41:30.428 --> 00:41:35.088 I went back through, cleaned up all the configs, so it's just a Hypervibe-focused desktop again. 00:41:35.088 --> 00:41:35.768 That must have been nice. 00:41:35.788 --> 00:41:36.248 Oh, it is nice. 00:41:36.248 --> 00:41:38.808 You probably dropped so much from your next store. 00:41:38.808 --> 00:41:42.628 It does feel a little bit faster. Now it's dedicated again, and all that stuff's 00:41:42.628 --> 00:41:46.148 on its own isolated, dedicated hardware, which we have KVM set up for so I can 00:41:46.148 --> 00:41:47.868 fire up a few VMs. It's not going 00:41:47.868 --> 00:41:51.908 to be the final server home of all my stuff, but it's a good stopgap. 00:41:52.888 --> 00:41:57.368 And, you know, now if my desktop does fail on me and goes into permanent read-only 00:41:57.368 --> 00:42:01.088 mode, I don't lose all the server-side stuff when I go to nuke and pave and 00:42:01.088 --> 00:42:04.008 then stand it back up again. Like, all of that's been isolated out. 00:42:04.248 --> 00:42:07.768 But the timing of it, like, it couldn't have been crazier because I had that 00:42:07.768 --> 00:42:11.568 trip, and I didn't want to disrupt before I left, and I could tell it was going 00:42:11.568 --> 00:42:15.548 downhill. And then as I'm working on just, you know, it was a it was a fast 00:42:15.548 --> 00:42:16.888 copy, you know, it's a gigabit network. 00:42:17.028 --> 00:42:19.968 So it's not like it's slow, but like even just getting to the point of reading 00:42:19.968 --> 00:42:21.608 the file system was pushing it. 00:42:22.068 --> 00:42:24.208 So that's rough. Yeah. 00:42:24.508 --> 00:42:25.428 So it was time to move. 00:42:25.868 --> 00:42:29.348 Just in time. I couldn't believe how down to the wire that that became. 00:42:29.688 --> 00:42:32.768 How do you feel about data integrity of your clone? 00:42:33.128 --> 00:42:39.068 Good. I'm very happy with the process because it gave me a chance to recover. 00:42:39.068 --> 00:42:43.788 I have been using Restic to back up to an R2 storage bucket. 00:42:44.068 --> 00:42:45.528 And then so it gave me a chance to do some of that. 00:42:46.208 --> 00:42:50.888 And I found a bunch of like legacy config stuff that was from versions of projects 00:42:50.888 --> 00:42:55.908 that start with one name and then changed or upgraded or have a new image on whatever. 00:42:56.828 --> 00:43:00.048 Like it gave me a chance to go through and find all that stuff that had kind of drifted. 00:43:00.688 --> 00:43:04.628 So at the end of it, it was totally worth it. But always I sore. 00:43:04.828 --> 00:43:06.828 You know, because when you sit there at the computer like that hunched over 00:43:06.828 --> 00:43:08.488 for 12 hours, just like fever hacking. 00:43:09.657 --> 00:43:12.677 You end up like with a sore, at least I do. I ended up with like a sore back and all of that. 00:43:12.797 --> 00:43:16.297 It's especially rough because you sort of like get back to where you were before. 00:43:16.677 --> 00:43:19.737 In a better way, ready to build again, but just, you know. 00:43:19.997 --> 00:43:22.397 Yeah. Yeah, there is that aspect to it. It's. 00:43:23.137 --> 00:43:24.417 It must be done, right? 00:43:24.417 --> 00:43:29.417 It must be done. Yeah. And that Lenovo was the perfect machine for what I'm doing. 00:43:30.357 --> 00:43:33.417 It does have that PCI expansion slot. And so I am pondering, 00:43:33.557 --> 00:43:36.717 could I like drop an external GPU if I could get my hands on one? 00:43:37.797 --> 00:43:41.617 and now I still need to replace my Odroid with something else and I'm thinking 00:43:41.617 --> 00:43:42.957 maybe another ThinkCenter. 00:43:43.217 --> 00:43:46.597 All you need is another disk, Chris. That machine is fantastic. 00:43:47.537 --> 00:43:54.777 Yeah I am running a little baby Olama model on it and when it works it really pushes all the cores. 00:43:55.777 --> 00:43:59.097 There's no room. It's really pushing it. 00:43:59.177 --> 00:44:03.157 Although So you just refurb that to Brantley and then you get the new one leader. 00:44:03.297 --> 00:44:06.897 I have to be honest with you it 00:44:06.897 --> 00:44:09.797 really this hardware the ThinkCenter what is it the 9 00:44:09.797 --> 00:44:12.537 it's the M920Q thank you 00:44:12.537 --> 00:44:15.617 and it's got I think the best thing about it it's got 00:44:15.617 --> 00:44:23.057 32 gigs of RAM and it has two separate disks it has an NVMe for the system and 00:44:23.057 --> 00:44:29.757 a SATA it's kind of like my B-Link did it has a SATA for the VM images and the 00:44:29.757 --> 00:44:34.117 language models and what not and that's on a compressed BcacheFS file system, 00:44:34.757 --> 00:44:36.417 So it's really snappy and great. 00:44:37.057 --> 00:44:42.097 And it will load, but with 32 gigs of RAM and an i5 8500T, 00:44:43.452 --> 00:44:46.332 It really pushes the limits of what this thing can do. 00:44:46.512 --> 00:44:50.932 But I have to say, you would not know sitting right next to it. 00:44:51.012 --> 00:44:53.372 It doesn't make a bunch of noise. It's totally silent still. 00:44:53.872 --> 00:44:58.692 While I was tinkering with all these electronics and soldering various things 00:44:58.692 --> 00:45:03.172 to Chris's diesel heater, it was right there on the table next to me. 00:45:03.412 --> 00:45:08.712 And it was virtually silent. Like you were pushing that thing like crazy and you would never know it. 00:45:08.812 --> 00:45:15.312 And it was like a foot in front of my ear holes. So it, I think, really impressed me. 00:45:15.752 --> 00:45:19.452 Now, for the listeners that are sick of the AI stuff, I put this just in this 00:45:19.452 --> 00:45:20.652 section. I'll mention it really quick. 00:45:20.812 --> 00:45:23.932 One of the things I've been taking advantage of is an ACP. 00:45:24.602 --> 00:45:27.822 and open code so i can control open code remotely 00:45:27.822 --> 00:45:30.782 and so part of the migration when i had to step away i was literally doing 00:45:30.782 --> 00:45:33.742 through telegram and having to execute bits and 00:45:33.742 --> 00:45:36.402 to check like the scripts to make sure all the paths were updated and when 00:45:36.402 --> 00:45:39.382 we were doing stuff i could just keep working and then i came back for 00:45:39.382 --> 00:45:42.082 a bit and it was not so i could step out go take care of something with 00:45:42.082 --> 00:45:45.322 the kids come back sit back down and i never stopped the migration 00:45:45.322 --> 00:45:48.342 process ever like so the like total 00:45:48.342 --> 00:45:51.582 of two hours i was probably away from the screen i was still working on it and 00:45:51.582 --> 00:45:54.502 and being able to do this where i am delegating to 00:45:54.502 --> 00:45:58.302 a machine this and delegating to a machine and then it's just a matter of coming 00:45:58.302 --> 00:46:02.102 back and checking the work and making sure it all finished and it it really 00:46:02.102 --> 00:46:05.262 made it sort of like a con something i could continually do throughout throughout 00:46:05.262 --> 00:46:08.442 the entire day so that was really neat too and i just thought i'd mention that 00:46:08.442 --> 00:46:13.562 because why not let you step away let me step away and keep the process going which was and. 00:46:13.562 --> 00:46:16.262 Maybe means you could you know on a day you knew you'd be busy you might have 00:46:16.262 --> 00:46:20.002 a little more gumption to take on that task because you know like it can kind 00:46:20.002 --> 00:46:22.322 of run while you're off taking care of necessary things. 00:46:22.322 --> 00:46:25.662 Yeah we had brent at the farm you know you got to keep an eye on him kids are 00:46:25.662 --> 00:46:29.482 running around chasing brent usually usually chasing brent yeah it's. 00:46:29.482 --> 00:46:30.222 All the other way around. 00:46:30.222 --> 00:46:36.102 Yeah but it's pretty it was it was pretty neat to at the end of it be like it's 00:46:36.102 --> 00:46:39.522 totally done you know like a lot of times you do these kinds of projects and 00:46:39.522 --> 00:46:44.462 there's a few things that hang out there for a week or two but kind of doing 00:46:44.462 --> 00:46:47.282 that loop of okay check these paths check these files and doing all that it 00:46:47.282 --> 00:46:49.782 was when i was done at the end of the, at the marathon, 00:46:50.062 --> 00:46:52.542 it was totally done. Job finished. 00:46:52.962 --> 00:46:55.862 Oh, Chris, don't you know nothing around here is totally done? 00:46:56.042 --> 00:46:57.062 Yeah, I probably shouldn't say that. 00:46:58.434 --> 00:47:03.514 Well, we should mention that LinuxFest Northwest is just 40 days away. Just 40 days. 00:47:04.654 --> 00:47:09.874 Bellingham Technical College, the beautiful Pacific Northwest that time of year. April 24th to the 26th. 00:47:10.774 --> 00:47:12.694 So soon. So, so soon. 00:47:12.794 --> 00:47:14.074 We need to talk about our live show. 00:47:14.414 --> 00:47:18.274 Oh, yeah. We're doing a talk. Collective talk. It's not a talk. We're talking. 00:47:18.514 --> 00:47:19.614 Is that the plan? Is that what we're doing? 00:47:19.774 --> 00:47:21.974 Mm-hmm. We signed up. 00:47:22.574 --> 00:47:26.994 Yeah. So here's the thing. We got to decide if we want to do it in a room again 00:47:26.994 --> 00:47:29.674 or a booth. And I kind of vote booth, but then we have a booth. 00:47:31.454 --> 00:47:36.214 But, you know what I mean? But the thing is, is like the room thing hasn't been a great vibe. 00:47:36.754 --> 00:47:40.774 The trick with the room is all of a sudden we have to like filter in there and 00:47:40.774 --> 00:47:44.774 stand up our entire infrastructure, which is hard to do before a talk. 00:47:45.254 --> 00:47:48.114 They're not designed for people at computers. They're designed for people standing 00:47:48.114 --> 00:47:51.694 and doing a presentation. So when we're sitting, nobody can see us and we can't see them. 00:47:51.814 --> 00:47:55.334 But what they do have is loudspeakers. So we'd have to figure out. 00:47:55.614 --> 00:47:55.714 Yeah, and screens. 00:47:56.054 --> 00:47:57.154 That's also true. 00:47:57.154 --> 00:48:01.014 But if we got a booth at the TV screen and we brought a speaker we might be 00:48:01.014 --> 00:48:01.934 able to I don't know well you. 00:48:01.934 --> 00:48:03.074 Should ask the audience what. 00:48:03.074 --> 00:48:04.354 Do they want are you. 00:48:04.354 --> 00:48:07.634 Joining us LinuxFest Northwest just north of Seattle. 00:48:08.034 --> 00:48:10.834 And if so what do you want and if you've been to one what have you preferred 00:48:10.834 --> 00:48:12.054 at the booth or in the room. 00:48:12.814 --> 00:48:13.694 We're not doing both. 00:48:13.694 --> 00:48:18.054 No either one although it's one or the other although I also think it'd be really 00:48:18.054 --> 00:48:21.754 awesome if the weather was great to do it outside just saying wow. 00:48:22.414 --> 00:48:23.414 You're getting ambitious. 00:48:23.414 --> 00:48:27.174 Right just hook up use jupes for power I think that'd be pretty great Anyways, 00:48:27.354 --> 00:48:31.894 LinuxFest Northwest, if you want more details, it is LinuxFestNorthwest.org. 00:48:32.134 --> 00:48:35.054 We hope to see you. We'll be there with our bells on. 00:48:40.684 --> 00:48:43.504 Oh wow while we were busy working a bunch of boosts came 00:48:43.504 --> 00:48:46.624 in including a baller boost here from spooky set 00:48:46.624 --> 00:48:58.624 com two boosts came in for a total of 60 663 sets thank you for the readback 00:48:58.624 --> 00:49:03.324 of scale and planet nix last week sounded like a great time for you guys here's 00:49:03.324 --> 00:49:05.744 some value for your time there Thank you. 00:49:06.464 --> 00:49:12.384 We appreciate that. You know, it's a burden, but somebody has to do it. 00:49:12.464 --> 00:49:17.184 No, they're both actually a bit of a burden, I guess, but also we really enjoy it a lot. 00:49:18.084 --> 00:49:20.524 So we appreciate that. Also, Wes, get yourself ready. 00:49:21.444 --> 00:49:23.784 Grab your map because it is time. 00:49:23.844 --> 00:49:24.944 It's a zip code? 00:49:25.104 --> 00:49:29.684 I know. It's been a minute. There you go, buddy. There you go. 00:49:30.364 --> 00:49:32.984 Okay. So we got two seven... 00:49:34.784 --> 00:49:36.524 We've got to add an ESP to that thing. 00:49:37.404 --> 00:49:42.564 27330. That looks to be Sanford, North Carolina in Lee County. 00:49:42.884 --> 00:49:45.924 Hello, North Carolina. Thank you for boosting in. 00:49:45.984 --> 00:49:48.524 Tell me if I got that right. I feel rusty. It's been a minute. 00:49:49.284 --> 00:49:51.844 Also, I don't think there was any math in this zip code boost. 00:49:51.884 --> 00:49:52.544 It's so nice. 00:49:52.864 --> 00:49:53.944 It does make it easier. 00:49:54.224 --> 00:49:58.424 I love math. Something about show math. It's a whole other type of math. 00:49:58.664 --> 00:50:03.164 It is. It is. Outdoor Geek comes in with 50,000 SATs. 00:50:06.055 --> 00:50:11.055 Thank you for your coverage of scale in Planet Nix. Guys, thank you for recognizing the work there. 00:50:11.175 --> 00:50:15.695 I don't mean to sound weird about it, but it is a ton of ebbing work, 00:50:15.795 --> 00:50:18.715 and you have to schedule your life and travel, and it's hard on the body. 00:50:18.795 --> 00:50:21.435 It's hard on the family. So thank you very much, Outdoor Geek, 50,000 sats. 00:50:21.715 --> 00:50:23.955 And thank you, Spooky, for that as well. 00:50:24.735 --> 00:50:28.915 Turd Ferguson boosts in with 22,222 sats. 00:50:31.875 --> 00:50:35.755 Sending a McDuck-sized value for your coverage of Planet Nix and scale. 00:50:36.155 --> 00:50:38.375 Thanks for going for those of us who can't. 00:50:40.855 --> 00:50:44.715 Thank you, turd. Again, thank you. We appreciate that very, very much. 00:50:45.395 --> 00:50:49.955 Also, it was wonderful to see all of you who did make it. Seeing our own listeners 00:50:49.955 --> 00:50:51.535 at events like that is always our favorite. 00:50:51.615 --> 00:50:55.615 Names and faces. Names and faces. And it changes it for us. It probably changes 00:50:55.615 --> 00:50:58.035 it for them, too, in a weird way, but for us in a better way. 00:50:59.115 --> 00:51:03.295 Well, Morak boosted in 2,385 Zadoshis. 00:51:04.915 --> 00:51:07.015 long time listener first time 00:51:07.015 --> 00:51:11.375 booster love the show wish i could give more but thank you for what you do. 00:51:11.375 --> 00:51:16.615 Hey first time booster thank you thank you welcome aboard appreciate you very 00:51:16.615 --> 00:51:23.195 much gene bean is here with 4444 sats yeah that was two rows of duckos, 00:51:28.368 --> 00:51:32.088 Okay, guys, who was that extra person on the show for LUP657? 00:51:32.968 --> 00:51:35.948 Although apparently I didn't boost last episode enough, I thought about it several 00:51:35.948 --> 00:51:37.508 times. So here's a little bit extra. 00:51:37.628 --> 00:51:38.408 Oh, sweet. 00:51:38.868 --> 00:51:44.488 So we introduced producer Jason in the pre-pre-show, I believe. 00:51:44.668 --> 00:51:45.328 Classic us. 00:51:45.668 --> 00:51:47.088 Otherwise known as the members feed. 00:51:47.288 --> 00:51:53.068 Yeah. And so that was our bad. I think maybe the best way to get familiar would 00:51:53.068 --> 00:51:54.668 be to check out an old brunch with Brent. 00:51:54.928 --> 00:51:58.168 We do have a brunch with Brent. And if you look up Brunch with Brent, 00:51:58.348 --> 00:52:02.948 that's brunch.show, you can look for the dear old Jason Spizak, 00:52:03.048 --> 00:52:05.608 who we did a split episode. There's two episodes there. 00:52:06.268 --> 00:52:12.048 And Jason is a dear friend of the show and a dear friend of mine and also happens 00:52:12.048 --> 00:52:15.608 to be a professional voice actor, if you didn't notice. 00:52:15.908 --> 00:52:17.608 And part of the fun for us, right, is when we're down there, 00:52:17.688 --> 00:52:21.648 we get to see friends that we don't get to see otherwise. And he was in the 00:52:21.648 --> 00:52:22.648 area and was able to stay with us. 00:52:22.648 --> 00:52:26.928 I also might have been talking to him on the phone on the drive to the show 00:52:26.928 --> 00:52:30.728 today and got a tease that he might join us for LinuxFest Northwest. 00:52:31.088 --> 00:52:31.628 Oh, that'd be great. 00:52:31.848 --> 00:52:32.568 That'd be awesome. 00:52:32.708 --> 00:52:37.308 So we might have some live boost sounds for our live show at LinuxFest. 00:52:37.488 --> 00:52:43.408 Yeah, so we, I guess in our minds, we had checked that box and I apologize about that. 00:52:44.128 --> 00:52:47.128 And it's something we try to be better about. But when we're live and there's 00:52:47.128 --> 00:52:49.948 a lot going on, I think it was a little bit easier for us to lose track. 00:52:50.368 --> 00:52:53.828 Thank you, Gene. I'm glad you asked. and it's good to hear from you. Missed you. 00:52:54.288 --> 00:52:56.808 Magnolia Mayhem's here with a row of ducks. 00:52:58.215 --> 00:53:01.375 I may not be sitting on a pile big enough to send a million sats, 00:53:01.495 --> 00:53:03.275 but I hope this helps you recover from the trip. 00:53:03.415 --> 00:53:06.955 A row of ducks to celebrate the first eggs from our new ducks on the farm. 00:53:08.075 --> 00:53:08.695 That's sweet. 00:53:09.055 --> 00:53:12.095 I saw him in the chat room while we were talking about the ESP32 saying, 00:53:12.115 --> 00:53:13.895 I've got to do something like this for a chicken coop. 00:53:14.195 --> 00:53:16.535 I think that'd be really cool. Thank you for the row of ducks. 00:53:16.695 --> 00:53:18.475 Appreciate it. Thank you, everybody who boosted the show. 00:53:18.815 --> 00:53:22.455 We really do appreciate you. 2,000 sats is the cutoff to get it read on air. 00:53:22.855 --> 00:53:25.695 And, of course, thank you to those of you who stream sats just as you listen. 00:53:25.695 --> 00:53:31.375 And collectively, all of you stacked 36,532 SATs stream it. So it's a pretty 00:53:31.375 --> 00:53:32.275 good boost for this week. 00:53:33.095 --> 00:53:39.835 Really, thank you very much. That brings us to a grand total of 178,568 SATs. 00:53:44.317 --> 00:53:47.117 Not too bad. Thank you, everybody who supports the show. We really, 00:53:47.217 --> 00:53:50.097 really do appreciate it. Of course, shout out to our members as well. 00:53:52.897 --> 00:53:56.757 All right, we have a trifecta of picks to leave you with. And the first one, 00:53:56.757 --> 00:54:00.717 I feel bad. I should have mentioned this a while ago. 00:54:00.917 --> 00:54:03.137 I've been using this app a lot. 00:54:03.657 --> 00:54:06.837 And when you need it, you really need it. Do you know what I'm talking about? One of those? 00:54:07.117 --> 00:54:07.997 Well, I have an admission. 00:54:08.337 --> 00:54:08.777 What's that? 00:54:08.897 --> 00:54:11.857 I really needed it about two years ago and installed it on my system. 00:54:11.857 --> 00:54:14.197 And it's still installed. I forgot to tell you guys about it. 00:54:14.197 --> 00:54:14.337 What? 00:54:14.617 --> 00:54:15.317 Two years? 00:54:16.257 --> 00:54:17.797 What else is he hoarding? 00:54:17.877 --> 00:54:19.957 I'm like two months, and I'm feeling bad here. 00:54:20.237 --> 00:54:22.977 You didn't even have the van there, so where are you hiding all this stuff? 00:54:23.197 --> 00:54:31.097 Unbelievable. So Lossless Cut is a simple, super fast tool to trim and cut video without any loss. 00:54:31.677 --> 00:54:35.957 You want to cut a segment out. You want to cut audio out. You have GoPro footage, 00:54:36.077 --> 00:54:40.997 camera footage, a YouTube clip, a movie. whatever FFMPEG can read, 00:54:41.257 --> 00:54:45.277 it can cut without making any re-encode. 00:54:45.457 --> 00:54:49.917 So not only is it super fast, but you lose zero quality. So that's why it's called lossless cut. 00:54:50.357 --> 00:54:53.777 I also think it has the ability for times when you might have like keyframe 00:54:53.777 --> 00:54:56.637 issues where you might not be able to make a clean lossless cut, 00:54:56.797 --> 00:55:00.577 the ability to just re-encode to like interpolate between those parts. 00:55:00.877 --> 00:55:04.997 I'd say it's even a little more powerful than AvidMux, which is also really great in this category. 00:55:05.717 --> 00:55:09.397 For those of you that maybe you want to cut commercials out of TV shows that 00:55:09.397 --> 00:55:13.537 you've recorded with a DVR or you want to remove an audio or video track and 00:55:13.537 --> 00:55:15.977 discard the other either or it'll do that. 00:55:16.097 --> 00:55:18.757 Or you want to add music without having to re-encode the video or you want to 00:55:18.757 --> 00:55:20.957 add subtitles without having to re-encode the video. 00:55:21.697 --> 00:55:28.837 It will do that. It can read chapters. It can change format of an H.264 TV recording 00:55:28.837 --> 00:55:31.477 to TS or to MP4, whatever it is you might need. 00:55:32.117 --> 00:55:36.257 If you recorded something on the wrong orientation and you need to fix the rotation 00:55:36.257 --> 00:55:39.897 of the video, it can do that without re-encoding. I mean, the list goes on and on. 00:55:40.417 --> 00:55:43.637 It's a great application and GPL2 licensed. 00:55:44.726 --> 00:55:49.326 Now, our next pick, this is not a silver bullet for this problem, 00:55:49.346 --> 00:55:54.946 but you'll hear us talk about local LLMs and local AI from time to time. 00:55:55.306 --> 00:56:01.066 And there is an app on the web that lets you test your system to see what models you could likely run. 00:56:01.486 --> 00:56:05.026 And it's called CanIRun.ai. 00:56:05.926 --> 00:56:11.266 CanIRun.ai. And it's a quick WebGPL test to see which models would most likely 00:56:11.266 --> 00:56:12.706 operate on your hardware. 00:56:14.309 --> 00:56:17.609 And it ranks them for you and tells you what kind of tokens you could expect. 00:56:18.029 --> 00:56:22.849 And if you go to the tier list, it tells you, oh, this machine does better than 00:56:22.849 --> 00:56:23.949 my workstation upstairs. 00:56:24.269 --> 00:56:26.909 All of the models are in the F tier on this station. 00:56:27.849 --> 00:56:31.269 Yeah, so it's able to use WebGPU to detect your graphics card. 00:56:31.489 --> 00:56:33.889 And then from that, it just kind of knows what's going on. And then, 00:56:33.969 --> 00:56:37.589 of course, there's a dropdown here so you can specify if you want to override it, which is great. 00:56:37.769 --> 00:56:41.309 Yeah, but the idea is, now this isn't, like I said, this isn't accounting for 00:56:41.309 --> 00:56:49.149 everything because simply they can't do that with WebGPU and WebGL. 00:56:49.389 --> 00:56:49.789 WebGupu. 00:56:49.889 --> 00:56:52.709 Goopu. They can't really get all of the features and functions, 00:56:52.709 --> 00:56:56.029 but they can tell you this model that supports tools that you can run locally, 00:56:56.029 --> 00:56:58.709 you can expect about this token output at this speed. 00:56:59.149 --> 00:57:02.609 So you get a rough idea if it's even worth it or not. And what I like about 00:57:02.609 --> 00:57:04.909 the tier list is it really puts it in perspective. 00:57:05.289 --> 00:57:08.269 You get S, A, B, C, D, and F tiers. 00:57:09.089 --> 00:57:10.689 And for me, I'm all in the F tier. 00:57:11.289 --> 00:57:11.729 Yeah. 00:57:12.049 --> 00:57:13.009 Oh, I don't even really. 00:57:13.029 --> 00:57:17.309 Or you can see, you know, oh, I can only ever even get to see on models I don't even want to run. 00:57:17.629 --> 00:57:18.569 Yeah. Yeah. 00:57:19.189 --> 00:57:19.629 But. 00:57:19.989 --> 00:57:20.449 Good to know. 00:57:20.609 --> 00:57:21.629 Someday it'll change. 00:57:21.869 --> 00:57:25.609 Yeah, maybe. Maybe. Can I run dot a I. 00:57:25.929 --> 00:57:29.489 And on this same line, if you hate web apps and you want something with more 00:57:29.489 --> 00:57:31.629 detail and more insight into your system. 00:57:32.889 --> 00:57:37.369 LLM fit hundreds of models and providers. One command to find what runs on your 00:57:37.369 --> 00:57:43.449 hardware. a terminal TUI that finds the right-sized LM model for your system's RAM, CPU, GPU. 00:57:43.689 --> 00:57:47.229 It detects your hardware, scores each model across quality, speed, 00:57:47.389 --> 00:57:52.949 fit, and context dimensions, and tells you which ones actually run on your machine. 00:57:54.449 --> 00:57:56.069 And has a flake. 00:57:56.169 --> 00:57:57.449 Okay, okay. 00:57:57.869 --> 00:57:58.689 MIT licensed. 00:57:59.109 --> 00:58:02.649 So I can just run this, and then it'll go tell me info? 00:58:02.849 --> 00:58:05.249 Yeah, and it's a really nice TUI as well. 00:58:06.600 --> 00:58:10.200 And you can search, so it has a search field, so if you know which model you're 00:58:10.200 --> 00:58:12.320 looking for and you just want to go right to that, you can put it in there. 00:58:12.500 --> 00:58:14.540 Written in Rust, a little Python in there. 00:58:14.620 --> 00:58:20.300 The other thing that's really fun is it gives you just a handle on how many 00:58:20.300 --> 00:58:23.740 open source LLMs there are. 00:58:23.840 --> 00:58:27.240 I think in my head there's four. Oh, no. 00:58:27.900 --> 00:58:29.460 Have you ever even been to Hugging Face? 00:58:29.680 --> 00:58:34.560 Yeah, Hugging Face does put it in perspective. But seeing it broken down by 00:58:34.560 --> 00:58:39.420 what my machine could possibly run still, there's so many options for various different jobs. 00:58:40.220 --> 00:58:44.980 It's way broader than I really appreciated. So anyways, you know, 00:58:45.100 --> 00:58:46.480 web app, TUI, whichever you want. 00:58:46.640 --> 00:58:49.560 I think the TUI is a little better. LLM fit. Did you get a chance to try it? 00:58:49.980 --> 00:58:51.600 I think I'm building it right now. 00:58:51.740 --> 00:58:54.280 Oh, you have to build the rest stuff, I imagine. 00:58:54.860 --> 00:58:55.800 But I'm happy to. 00:58:56.000 --> 00:58:59.680 Yeah, yeah. So there you go. We'll have the links in the show notes for all 00:58:59.680 --> 00:59:02.300 of that. Big shout out to the lossless cut project. 00:59:02.920 --> 00:59:08.160 They have really been handy because we deal with large, large recordings and 00:59:08.160 --> 00:59:11.240 we don't want to have to re encode them. That would just make them look more like garbage. 00:59:11.420 --> 00:59:14.040 So the lossless cut project has been fantastic. 00:59:14.240 --> 00:59:18.740 Links at Linux unplugged.com slash six, five, eight. 00:59:19.780 --> 00:59:23.280 Whoa, that's really close to the big seven. Oh, that's really close. 00:59:23.460 --> 00:59:23.800 We're not ready. 00:59:24.180 --> 00:59:29.640 We are not ready. Also, just a reminder, we'd like you to boost in with the 00:59:29.640 --> 00:59:33.060 most underpowered hardware you're using for any particular job. 00:59:33.260 --> 00:59:36.800 Could be a web machine, or maybe it's something in the wall. 00:59:37.060 --> 00:59:40.980 Maybe it's something running actually critical workloads. Fake NAS. 00:59:41.840 --> 00:59:45.260 Oh, fake NAS. You know, that kind of thing. I just think that'd be fascinating 00:59:45.260 --> 00:59:48.200 to see what people are getting out of older hardware these days, 00:59:48.400 --> 00:59:51.120 especially with the prices of things. So do let us know. 00:59:54.926 --> 00:59:57.806 We are back into the groove, and I promise we'll try to be, you know, 00:59:57.866 --> 01:00:01.686 we will be on time next week. So make it a Linux Tuesday on a Sunday. 01:00:01.906 --> 01:00:06.186 Join us Sunday, 10 a.m. Pacific, 1 p.m. Eastern, over at jblive.tv. 01:00:06.826 --> 01:00:12.066 And Wes Payne, before they go, we should let them know there is extra data they could get. 01:00:12.366 --> 01:00:15.566 Oh, yeah. Some of it's even magical structured data. 01:00:15.626 --> 01:00:15.886 JSON. 01:00:16.266 --> 01:00:17.466 Yeah, computers love it. 01:00:17.566 --> 01:00:17.686 JSON. 01:00:17.986 --> 01:00:19.226 Uh-huh, chapter information. 01:00:19.466 --> 01:00:19.686 That's right. 01:00:19.806 --> 01:00:23.606 Yeah, the precise time codes for you to jump right to the content that you want. 01:00:24.186 --> 01:00:28.046 or if you want the entire show as text, we have that too. 01:00:28.266 --> 01:00:33.686 Yep. It's available in our feed. You can get it from there or just get a podcasting 2.0 app. 01:00:33.906 --> 01:00:38.066 Don't forget about our Matrix Room, a huge community going 24-7 and that mumble 01:00:38.066 --> 01:00:41.266 room live during the show before and after as well. 01:00:41.466 --> 01:00:44.646 Thank you so much for joining us on this week's episode of Your Unplugged Program 01:00:44.646 --> 01:00:46.846 and we'll see you right back here next Sunday. 01:01:28.319 --> 01:01:30.019 All right. Did you get it working, Wes? 01:01:30.199 --> 01:01:36.319 I did. Like a madman. I probably have NixLD enabled, which would do it for me, 01:01:36.359 --> 01:01:37.619 but I disabled it for my talk. 01:01:38.359 --> 01:01:41.119 And I could have made a custom plate for it, but I decided to just YOLO, 01:01:41.219 --> 01:01:44.679 and I told OpenCode to use PatchElf to fix it, because it's a Rust binary, 01:01:44.719 --> 01:01:48.079 so it really only needed the dynamic linker part updated to use the Nix one 01:01:48.079 --> 01:01:49.579 and not the standard place for it. 01:01:50.719 --> 01:01:54.539 And in about 10 seconds, it was done. It's working? It's working, yeah. 01:01:54.859 --> 01:01:55.899 It looks great, doesn't it? 01:01:55.939 --> 01:01:56.759 Yeah, it really does look great. 01:01:56.759 --> 01:02:00.839 It's a good UI. It's a good little TUI. And what does it say the best candidate 01:02:00.839 --> 01:02:03.279 for your ThinkPad T480 is there? 01:02:03.359 --> 01:02:07.819 That would be the Microsoft Fi tiny mixture of experts instruct. 01:02:08.659 --> 01:02:13.819 But I would get 140 tokens per second. 01:02:13.879 --> 01:02:15.279 All right. Oh, well, there you go. 01:02:15.419 --> 01:02:17.559 I do think actually they have, I don't know if it's all of them, 01:02:17.619 --> 01:02:21.859 but they have some Fi models that are like trained from, I think like fully 01:02:21.859 --> 01:02:26.039 licensed stuff or as well as like a bunch of kind of curated synthetic data. 01:02:26.139 --> 01:02:26.619 That's cool. 01:02:26.799 --> 01:02:28.579 Yeah. So there's some progress on that front, too. 01:02:28.759 --> 01:02:29.479 The ethical model.
Previous episode Next episode

Related episodes

Search

Search