WEBVTT

00:00:11.333 --> 00:00:15.953
<v Chris>Hello, friends, and welcome back to your weekly Linux talk show. My name is Chris.

00:00:16.113 --> 00:00:16.793
<v Wes>My name is Wes.

00:00:16.973 --> 00:00:17.693
<v Brent>And my name is Brent.

00:00:17.853 --> 00:00:21.993
<v Chris>Hello, gentlemen. Well, coming up on the show today, I'm going to talk about

00:00:21.993 --> 00:00:27.473
<v Chris>the self-hosted app that turned me into a family time lord and the perfect mobile

00:00:27.473 --> 00:00:29.873
<v Chris>server we found just a little too late.

00:00:29.993 --> 00:00:32.533
<v Chris>Then we're going to round it out with some boosts, some great picks,

00:00:32.673 --> 00:00:35.253
<v Chris>and I mean some great picks and a lot more.

00:00:35.413 --> 00:00:39.013
<v Chris>So before we get to all of that, let's do the right thing and say time-appropriate

00:00:39.013 --> 00:00:41.093
<v Chris>greetings to our virtual lug. Hello, Mumble Room.

00:00:41.093 --> 00:00:42.873
<v Mumble>Hey, Chris, hey, Wes, and hello, Brent.

00:00:43.173 --> 00:00:43.553
<v Brent>Hello, hello.

00:00:43.673 --> 00:00:45.473
<v Wes>Hello, handsome mumble room.

00:00:45.633 --> 00:00:49.553
<v Chris>Yeah, and shout out to that packed, quiet listening, too. Nice to see you all up there.

00:00:50.153 --> 00:00:55.973
<v Chris>Whew! It's going to be a big show. And good morning to our friends over at Defined Networking.

00:00:56.113 --> 00:00:59.913
<v Chris>Go to defined.net slash unplugged and meet Managed Nebula.

00:01:00.233 --> 00:01:04.153
<v Chris>Defined Networking has Managed Nebula, and it's a decentralized VPN built on

00:01:04.153 --> 00:01:05.853
<v Chris>top of the open-source Nebula platform.

00:01:06.173 --> 00:01:11.873
<v Chris>We love it, and you're going to love it, too. And what really sells me is the long term story.

00:01:12.093 --> 00:01:15.733
<v Chris>This isn't like something to just shove away.

00:01:15.853 --> 00:01:18.093
<v Chris>Like you should think about when you're building infrastructure,

00:01:18.093 --> 00:01:21.373
<v Chris>what really it looks like for you long term.

00:01:21.653 --> 00:01:24.613
<v Chris>Critical infrastructure shaped by endless VC rounds, you know,

00:01:24.693 --> 00:01:28.873
<v Chris>or shifting priorities to try to make the free version of funnel to the enterprise

00:01:28.873 --> 00:01:33.553
<v Chris>version that come with big tech log in dependencies, all of these things.

00:01:33.553 --> 00:01:36.553
<v Chris>It's not what I want when I'm building my infrastructure.

00:01:36.813 --> 00:01:40.393
<v Chris>And Nebula gives you real control, operational, self-hosted lighthouse nodes

00:01:40.393 --> 00:01:42.153
<v Chris>that you can make sure your network is reliable.

00:01:42.993 --> 00:01:46.853
<v Chris>And they have the resilience that you can stack on top of, build on top of,

00:01:46.853 --> 00:01:50.733
<v Chris>and run for years. And you can get started with 100 hosts for free at Define Network.

00:01:50.853 --> 00:01:53.373
<v Chris>You can go to defined.net slash unplugged.

00:01:53.833 --> 00:01:59.633
<v Chris>Redefine your VPN experience today and support the show at defined.net slash unplugged.

00:02:01.094 --> 00:02:05.994
<v Chris>Big thank you to our king chief sponsor of the show over there.

00:02:06.394 --> 00:02:06.834
<v Wes>Yes.

00:02:07.154 --> 00:02:08.334
<v Chris>Really, really big thank you.

00:02:08.434 --> 00:02:09.814
<v Wes>Keeping our packets flowing.

00:02:10.434 --> 00:02:14.614
<v Chris>So I want to talk about becoming a Time Lord. So I'll back up a little bit.

00:02:14.874 --> 00:02:16.854
<v Chris>Some people may be able to relate to this problem.

00:02:18.194 --> 00:02:18.874
<v Wes>You hope.

00:02:19.054 --> 00:02:23.574
<v Chris>I have too many calendars. You know, like, first of all, I've got accounts that

00:02:23.574 --> 00:02:28.274
<v Chris>have been around for 200 years that have got calendars on them. And then I've got, like,

00:02:29.169 --> 00:02:31.629
<v Chris>My personal calendar that has

00:02:31.629 --> 00:02:35.349
<v Chris>also shared with some family members and my ex-wife for the kids stuff.

00:02:35.489 --> 00:02:39.129
<v Chris>And then I've got a calendar with my wife and then my wife has her calendar.

00:02:39.309 --> 00:02:41.969
<v Chris>And then I've got the JB calendar and then I've got the show calendars.

00:02:42.529 --> 00:02:43.329
<v Wes>Live streams.

00:02:43.949 --> 00:02:48.109
<v Chris>It's actually, it's something like 12 or something. I don't know. It's a lot of calendars.

00:02:48.269 --> 00:02:53.469
<v Chris>And what inevitably happens is I'm checking one or I've got a couple of configured

00:02:53.469 --> 00:02:57.109
<v Chris>on a device or somebody books on one calendar, but somebody also books on the

00:02:57.109 --> 00:02:58.969
<v Chris>other calendar and the two conflict.

00:02:59.449 --> 00:03:03.209
<v Chris>and then I've got to sort it out if I even notice it, which sometimes I don't.

00:03:03.549 --> 00:03:06.749
<v Wes>Well, that's the other part, right? It's like really most of your time is focused

00:03:06.749 --> 00:03:08.509
<v Wes>either on your family or- The shows.

00:03:08.669 --> 00:03:12.449
<v Wes>The shows, right, yeah. You don't really have a lot of sort of admin office

00:03:12.449 --> 00:03:13.789
<v Wes>time built into this schedule.

00:03:13.989 --> 00:03:18.529
<v Chris>And so over the years, I've tried like having great calendar apps where I like

00:03:18.529 --> 00:03:22.109
<v Chris>pull in all the feeds from the various calendars and then I have one big meta calendar.

00:03:22.869 --> 00:03:26.009
<v Chris>That's sort of how I've solved this for a long time, but it doesn't solve it

00:03:26.009 --> 00:03:27.509
<v Chris>for the people that are trying to book with me.

00:03:28.069 --> 00:03:30.809
<v Wes>Right. It gives you a single pane of glass, but they don't necessarily get the

00:03:30.809 --> 00:03:32.969
<v Wes>like, oh, nope, he's reserved here. Sorry. Yeah.

00:03:33.249 --> 00:03:37.029
<v Chris>So also when you're trying to build like automations or you're trying to just

00:03:37.029 --> 00:03:40.729
<v Chris>look at your calendar in one snapshot, like it's never really easy outside this

00:03:40.729 --> 00:03:42.169
<v Chris>one meta calendar app that I've set up.

00:03:42.409 --> 00:03:47.809
<v Chris>So this is where it's kind of a newer app. They just hit version 2.0. It's called Keeper.sh.

00:03:48.289 --> 00:03:51.749
<v Chris>It's a simple self-hostable open source calendar syncing tool.

00:03:51.809 --> 00:03:57.169
<v Chris>It allows you to pull events from all your different iCal or ICS feeds and then

00:03:57.169 --> 00:04:01.349
<v Chris>push them into one feed with all of the details.

00:04:02.009 --> 00:04:06.529
<v Chris>And the app also has a self-hosted version, or I mean a hosted version,

00:04:06.529 --> 00:04:07.889
<v Chris>if you would rather just use their service.

00:04:07.989 --> 00:04:12.029
<v Chris>I think it's pretty cheap, but they also offer multiple ways to host it, which I'll get into.

00:04:12.409 --> 00:04:17.049
<v Chris>And it's got a very simple UI. The app itself is not a calendar app.

00:04:17.449 --> 00:04:22.869
<v Chris>It's a feed management app, and it creates a source of truth for your calendars.

00:04:23.009 --> 00:04:26.089
<v Chris>So instead of having a calendar app where I have a ton of feeds now,

00:04:26.329 --> 00:04:32.729
<v Chris>I have all my calendar apps with one feed. and it all comes from Keeper.

00:04:33.755 --> 00:04:38.715
<v Chris>And Keeper makes it simple now because when somebody books on one of my different

00:04:38.715 --> 00:04:42.655
<v Chris>calendars, I can now identify the conflicts and catch them quickly.

00:04:42.995 --> 00:04:50.455
<v Chris>And I can also provide my family a synchronized feed so they don't book or mistake

00:04:50.455 --> 00:04:52.995
<v Chris>gaps of time or whatever because of its cross calendars.

00:04:53.115 --> 00:04:56.875
<v Chris>It gives my family one source of truth or you guys, people I work with,

00:04:56.955 --> 00:05:01.715
<v Chris>a single source of truth. And so it's so, so much a game changer when it comes

00:05:01.715 --> 00:05:03.855
<v Chris>to just planning and looking at availability.

00:05:04.295 --> 00:05:07.275
<v Chris>And then the other thing that if you want to push it even further that I really

00:05:07.275 --> 00:05:10.675
<v Chris>appreciate is it also provides a model context protocol server.

00:05:10.775 --> 00:05:15.215
<v Chris>So if you do the claw thing or whatever, it also gives you agentic access to

00:05:15.215 --> 00:05:17.375
<v Chris>your calendar. And that can be really powerful, too.

00:05:17.715 --> 00:05:20.755
<v Wes>Yeah, right. Then you have a chat interface to go make new appointments.

00:05:21.155 --> 00:05:24.215
<v Chris>And so the app itself is surprisingly straightforward. forward

00:05:24.215 --> 00:05:27.115
<v Chris>it keeps track of the different time slots and

00:05:27.115 --> 00:05:29.855
<v Chris>things like that uh it does i'd say there's the

00:05:29.855 --> 00:05:33.935
<v Chris>big limitation is it only supports iCal and ICS for

00:05:33.935 --> 00:05:37.655
<v Chris>ingest it does support a range of

00:05:37.655 --> 00:05:41.615
<v Chris>cloud accounts as well for publishing those so if you have a google calendar

00:05:41.615 --> 00:05:45.595
<v Chris>an outlook calendar or a bunch of other vendors you can have keeper published

00:05:45.595 --> 00:05:50.375
<v Chris>to those calendars which is not import yeah it just uses ICS or iCal for import

00:05:50.375 --> 00:05:54.415
<v Chris>um and they do have a hosting offering and if you read through their GitHub

00:05:54.415 --> 00:05:57.155
<v Chris>readme document. They have a discount code in there. It's already cheap.

00:05:57.315 --> 00:05:59.555
<v Chris>But with the discount code, just read their readme and you'll find it.

00:05:59.855 --> 00:06:00.975
<v Chris>But I wanted to self-host.

00:06:02.082 --> 00:06:05.982
<v Chris>There's seven different options for self-hosting. Did you see this?

00:06:06.602 --> 00:06:09.662
<v Wes>Not only is there like just a lot of containers involved in general,

00:06:09.802 --> 00:06:11.902
<v Wes>but then there's different versions of containers depending.

00:06:12.062 --> 00:06:13.622
<v Wes>It's almost like the next class situation.

00:06:13.982 --> 00:06:18.062
<v Chris>That's a good, that's a good equivalent. What is it about calendaring and all of this that requires?

00:06:19.182 --> 00:06:21.802
<v Chris>It is a hard problem to solve, I guess. I mean, here we are.

00:06:22.442 --> 00:06:26.122
<v Chris>So there are seven images available, but two of them are really sort of the

00:06:26.122 --> 00:06:28.882
<v Chris>all-in-one kind of everything's included in a single stack.

00:06:29.022 --> 00:06:34.242
<v Wes>Keeper standalone, everything you need. or if you want just redis and the database

00:06:34.242 --> 00:06:38.242
<v Wes>outside okay that's that's kind of nice actually so keep the stateful bits yourself

00:06:38.242 --> 00:06:40.582
<v Wes>this will run the rest of the app side okay yeah.

00:06:40.582 --> 00:06:43.742
<v Chris>They're trying to accommodate people's different various hosting setups.

00:06:43.742 --> 00:06:45.822
<v Wes>Or you can run the pieces yourself.

00:06:47.901 --> 00:06:50.021
<v Chris>And then, of course, there's the MCP server in there as well,

00:06:50.081 --> 00:06:50.921
<v Chris>if you want, which is optional.

00:06:51.421 --> 00:06:54.421
<v Chris>So instead of going the Docker route with an environment file,

00:06:54.441 --> 00:06:59.621
<v Chris>I decided to kind of go the one really big Nix config route.

00:06:59.741 --> 00:07:03.381
<v Chris>This was kind of a monster, I'll admit. It ended up being a 234-line Nix config,

00:07:03.521 --> 00:07:04.701
<v Chris>which is one of my biggest ever.

00:07:05.721 --> 00:07:09.741
<v Chris>But it generates system-to-unit files. It sets up a Podman network.

00:07:09.801 --> 00:07:14.621
<v Chris>It sets up the NGINX virtual host, the TLS certification, and it manages all

00:07:14.621 --> 00:07:18.621
<v Chris>of the secrets from one declarative source of truth. So that's really, really nice.

00:07:18.761 --> 00:07:21.941
<v Chris>And so instead of doing it with Docker Compose, I'm doing it with declarative

00:07:21.941 --> 00:07:26.821
<v Chris>Podman containers and then wiring it up through Nginx to do the reverse proxy

00:07:26.821 --> 00:07:28.421
<v Chris>to put it behind a nice pretty URL.

00:07:29.121 --> 00:07:32.461
<v Chris>And it's working really well because then it's a memorable URL.

00:07:32.461 --> 00:07:35.401
<v Chris>And so when I need to put the calendar feed into one of my calendar apps,

00:07:35.481 --> 00:07:37.401
<v Chris>it's really easy to boop, boop, boop, slash ICS, boom.

00:07:38.221 --> 00:07:44.541
<v Chris>That's been fantastic. So I kind of went totally a different direction than

00:07:44.541 --> 00:07:47.521
<v Chris>the project, but used it as kind of a base.

00:07:47.861 --> 00:07:53.321
<v Wes>And I guess since their coordination point was containers, that's all you needed,

00:07:53.341 --> 00:07:55.301
<v Wes>and set the right end vars or whatever else.

00:07:55.741 --> 00:08:01.261
<v Chris>Yeah. And so the other, I'd say, limitation to be aware of this app is the MCP

00:08:01.261 --> 00:08:02.581
<v Chris>server is also read-only.

00:08:03.281 --> 00:08:08.001
<v Wes>Oh. But the API is not just the MCP?

00:08:08.161 --> 00:08:11.241
<v Chris>I haven't tried that because, for my age, and I can just also write to all the

00:08:11.241 --> 00:08:13.861
<v Chris>source calendars. So I've solved it already.

00:08:14.261 --> 00:08:18.621
<v Chris>The agent already has that. I just prefer a single source of truth feed for the actual calendars.

00:08:19.181 --> 00:08:22.721
<v Chris>But man, is this not just one of the small things you can do that's totally

00:08:22.721 --> 00:08:25.521
<v Chris>transparent in a way to the family, but just makes things so much nicer.

00:08:25.741 --> 00:08:29.641
<v Wes>I do see that there are also some modules coming, applications coming through

00:08:29.641 --> 00:08:33.361
<v Wes>maybe, including CLI mobile and SSH.

00:08:34.689 --> 00:08:36.209
<v Brent>Even more ways to use it.

00:08:36.289 --> 00:08:38.209
<v Wes>Don't know what that means, but SSH into your calendar?

00:08:38.389 --> 00:08:38.509
<v Chris>Yeah.

00:08:38.509 --> 00:08:39.189
<v Wes>I don't know. I love it.

00:08:39.249 --> 00:08:41.429
<v Chris>And also CLI. It's great.

00:08:41.729 --> 00:08:42.889
<v Brent>I do have a usage question.

00:08:42.969 --> 00:08:43.309
<v Chris>Uh-huh, yeah.

00:08:43.449 --> 00:08:46.989
<v Brent>Like you need family approval more than just wife approval this time,

00:08:46.989 --> 00:08:49.129
<v Brent>and maybe you even need approval from the two of us.

00:08:50.389 --> 00:08:53.929
<v Brent>From their perspective, let's say they have right access.

00:08:54.149 --> 00:08:58.069
<v Brent>Let's say Wes has right access to the JB calendar, but you're providing him

00:08:58.069 --> 00:09:00.149
<v Brent>with Chris's everything calendar.

00:09:00.149 --> 00:09:04.809
<v Brent>Now, is he getting duplicate entries because you have the JB calendar on there

00:09:04.809 --> 00:09:09.149
<v Brent>and then he also has write access to it and all of a sudden you have double calendaring?

00:09:09.829 --> 00:09:15.629
<v Chris>That's a good question. So you can generate feeds for folks.

00:09:15.749 --> 00:09:17.649
<v Chris>I'm trying to see if I can. I don't know if I can pull it up here at the studio

00:09:17.649 --> 00:09:19.329
<v Chris>because I don't know if I have. Oh, I do.

00:09:20.069 --> 00:09:22.829
<v Chris>You can generate feeds that exclude certain calendars.

00:09:23.049 --> 00:09:24.609
<v Brent>Ah, that's brilliant.

00:09:24.869 --> 00:09:29.829
<v Chris>But I actually find it really for everyone else. I don't really need to have them make any changes.

00:09:30.149 --> 00:09:32.389
<v Chris>They're just writing to the calendar they've always written to.

00:09:32.589 --> 00:09:35.069
<v Chris>They just have access to that calendar, which is fine.

00:09:35.529 --> 00:09:37.669
<v Chris>They don't, like, you guys don't really need to know when my kid appointments

00:09:37.669 --> 00:09:39.569
<v Chris>are. You just need to know if I'm available.

00:09:39.689 --> 00:09:40.909
<v Brent>Uncle Brandon needs to know sometimes.

00:09:41.409 --> 00:09:46.489
<v Chris>Well, yeah. So it's sort of, you can slice and dice it depending on how you want to use it.

00:09:47.249 --> 00:09:47.969
<v Brent>Very nice.

00:09:48.169 --> 00:09:52.429
<v Chris>Yeah. And they just hit version 2.0. It's been out, I think they're just over,

00:09:52.449 --> 00:09:53.709
<v Chris>like, maybe six, seven months.

00:09:54.729 --> 00:09:58.889
<v Chris>I can't quite recall. But it's very active. The developer, this is a Sunday morning.

00:09:58.889 --> 00:10:04.369
<v Chris>and the developer just committed uh something two hours ago uh it's agpl 3.0

00:10:04.369 --> 00:10:09.789
<v Chris>and uh it's uh mostly written in typescript and then of course there's javascript

00:10:09.789 --> 00:10:13.349
<v Chris>in there and a little bit of shell and stuff but mostly a typescript application.

00:10:13.349 --> 00:10:17.929
<v Wes>It does sound like um the developer was scratching an itch that the same one

00:10:17.929 --> 00:10:22.489
<v Wes>you had which is kind of funny it's had this working on some project three calendars

00:10:22.489 --> 00:10:24.349
<v Wes>across business work and personal and.

00:10:25.376 --> 00:10:28.156
<v Brent>How did you find this, Chris? And why did you solve this problem?

00:10:28.216 --> 00:10:30.556
<v Brent>Because you've had this problem for a very long time. Why this week?

00:10:30.616 --> 00:10:38.876
<v Chris>I was trolling GitHub and Reddit and X for a solution and came across.

00:10:39.016 --> 00:10:39.316
<v Brent>Nice.

00:10:39.556 --> 00:10:43.956
<v Chris>Yeah. And then I tracked down the developer's post on our self-hosted for the new 2.0 release.

00:10:44.256 --> 00:10:46.696
<v Chris>I was like, oh, it just came out. What a great time to talk about it now that

00:10:46.696 --> 00:10:50.156
<v Chris>the new 2.0 is out. And he just released 2.914 an hour ago.

00:10:51.996 --> 00:10:53.396
<v Chris>I already got an update, boys.

00:10:53.496 --> 00:10:54.876
<v Brent>Wait another day to get 3.0.

00:10:54.956 --> 00:10:58.236
<v Chris>Yeah. Yeah, it's not a big update. It's just a calendar off fix, which I didn't run into.

00:10:58.416 --> 00:11:03.376
<v Chris>But really nice. I mean, a guy's clearly dedicated to it as well. So very cool to say.

00:11:03.376 --> 00:11:04.336
<v Brent>Let's not burn them out.

00:11:04.496 --> 00:11:08.736
<v Chris>I'm not sure. It's Rita. I'm not sure. R-I-D-A is the developer's first name or handle.

00:11:09.096 --> 00:11:13.316
<v Chris>But great project. And if you've had this problem, I definitely recommend it.

00:11:13.376 --> 00:11:16.296
<v Chris>And if you solve this another way that you think might be even better,

00:11:16.856 --> 00:11:22.996
<v Chris>please do post that or boost us or emails because totally willing to even solve

00:11:22.996 --> 00:11:26.196
<v Chris>this a better way. It's been good, but perhaps a better solution exists.

00:11:29.376 --> 00:11:32.216
<v Chris>No sponsor right here, so we'll just say thank you for being a member.

00:11:32.396 --> 00:11:36.076
<v Chris>And if you're not a member yet, you can go to linuxonplugged.com slash membership

00:11:36.076 --> 00:11:39.836
<v Chris>and become a core contributor or support the entire network at jupyter.party.

00:11:39.996 --> 00:11:43.256
<v Chris>You get access to the bootlegs, which is a lot more show. We're clocking in

00:11:43.256 --> 00:11:46.396
<v Chris>at 54 minutes, almost 55 minutes right now for the members.

00:11:46.756 --> 00:11:48.036
<v Wes>We have so much more to go.

00:11:48.216 --> 00:11:51.316
<v Chris>Yeah, yeah. And there's often really good conversations about making the main

00:11:51.316 --> 00:11:54.516
<v Chris>show, not intentionally it's just because it's a really organic discussion kind of.

00:11:54.516 --> 00:11:55.596
<v Brent>It's a hangout.

00:11:55.596 --> 00:11:58.296
<v Chris>Yeah it's a hangout and so we've gotten in some really good conversations there and

00:11:58.296 --> 00:12:02.456
<v Chris>it's additional content and uh you also uh you also could get an ad-free version

00:12:02.456 --> 00:12:05.376
<v Chris>so when we do get some advertising support if you don't like it there's an ad-free

00:12:05.376 --> 00:12:09.136
<v Chris>version of the feed as well of course the ads aren't in the bootleg either but

00:12:09.136 --> 00:12:12.656
<v Chris>uh either way we appreciate your support it's linuxunplugged.com membership

00:12:12.656 --> 00:12:17.616
<v Chris>or jupiter.party for the whole gosh darn thing.

00:12:22.216 --> 00:12:26.456
<v Wes>Well, you two have been up to a lot of things this week. I've only been getting

00:12:26.456 --> 00:12:28.396
<v Wes>little snapshots here and there.

00:12:28.536 --> 00:12:33.156
<v Wes>So last I heard, y'all have been working on not one, but I think two diesel heaters.

00:12:33.756 --> 00:12:37.276
<v Wes>And clearly, Brent must have the itch for embedded development.

00:12:37.276 --> 00:12:42.956
<v Wes>Because when I got to the studio today, he walks in and hands me a little black box with the radio.

00:12:43.976 --> 00:12:45.676
<v Wes>From CubeSail? What is this?

00:12:45.876 --> 00:12:50.116
<v Chris>Ah, there's quite a story behind that. There is quite a story.

00:12:50.296 --> 00:12:52.716
<v Chris>So how would you describe that, Wes? What would you?

00:12:52.856 --> 00:12:56.876
<v Wes>An industrial-looking sort of like professional metal case.

00:12:56.996 --> 00:13:00.456
<v Wes>It's got what I assume is a Wi-Fi antenna, good connectivity,

00:13:00.656 --> 00:13:02.816
<v Wes>USB-C for power, Ethernet, HDMI.

00:13:03.196 --> 00:13:03.676
<v Chris>Full HDMI.

00:13:04.036 --> 00:13:07.736
<v Wes>On the front, it says PiBox. And it's got that little screen.

00:13:07.776 --> 00:13:10.596
<v Wes>It's also got nice little indicators for disk CPU and power.

00:13:10.716 --> 00:13:14.036
<v Wes>It feels heavy, well-built. Is that a Noctua fan in there?

00:13:14.196 --> 00:13:15.496
<v Chris>Yes. Good eye, Wes.

00:13:15.576 --> 00:13:18.756
<v Brent>So, Wes, now you can just like kind of slide it like a clamshell.

00:13:18.916 --> 00:13:19.096
<v Wes>Oh.

00:13:19.096 --> 00:13:23.396
<v Brent>And it'll reveal itself. So maybe you can try to decipher what's in there.

00:13:23.556 --> 00:13:27.436
<v Chris>I'd say it's as thick as like two, three and a half inch disc stacked, but shorter.

00:13:28.016 --> 00:13:31.956
<v Chris>So it's not, it's not particularly thin. You would notice it in the bag,

00:13:32.056 --> 00:13:35.976
<v Chris>but it's not huge either. And then Wes is now, Wes has taken the, uh, the back off.

00:13:36.056 --> 00:13:38.976
<v Wes>Oh, okay. This looks like a Raspberry Pi.

00:13:39.296 --> 00:13:40.336
<v Chris>Yeah. It's a CM4.

00:13:40.696 --> 00:13:46.096
<v Wes>Oh yeah. The compute module four. And then with, um, a larger carrier board. Yeah.

00:13:46.516 --> 00:13:46.616
<v Chris>Yeah.

00:13:46.796 --> 00:13:49.376
<v Wes>Cube sale hat compatible GPIO. Ooh.

00:13:49.376 --> 00:13:53.776
<v Chris>Yeah, that carrier board is very interesting. That's why you get the larger HDMI.

00:13:54.496 --> 00:14:01.576
<v Chris>You get a few additional features in there, including a backplane for SATA disks.

00:14:02.496 --> 00:14:03.696
<v Brent>Yes, it's so great.

00:14:03.876 --> 00:14:04.356
<v Wes>Proper storage?

00:14:04.476 --> 00:14:06.336
<v Brent>Yes. In a tiny little box.

00:14:06.356 --> 00:14:10.416
<v Chris>It has room for two 2.5 SATA SSDs.

00:14:10.696 --> 00:14:11.716
<v Wes>Oh, and there's one in here.

00:14:11.796 --> 00:14:17.576
<v Chris>Yes. So we did scrounge up a precious 480 gig SSD and stuck it in there.

00:14:18.425 --> 00:14:23.505
<v Wes>Okay, CM4. So that's like Pi 4 era, but was the CM4 like slightly better?

00:14:23.985 --> 00:14:27.865
<v Chris>Yeah, yeah, yeah. Slightly better. Depending on the model you got at the time,

00:14:28.025 --> 00:14:33.205
<v Chris>it came with up to 8 gigs of RAM and 32 gigabytes of eMMC storage built in.

00:14:33.205 --> 00:14:35.125
<v Chris>So you're not fussing about with an SD card.

00:14:35.245 --> 00:14:38.065
<v Chris>It's got built-in EMCC storage, eMMC.

00:14:38.485 --> 00:14:43.425
<v Chris>It has a gigabit Ethernet port. It has two USB 2.0, like you mentioned, a Type-C.

00:14:43.425 --> 00:14:46.225
<v Chris>It's also got a micro SD card slot on there

00:14:46.225 --> 00:14:50.185
<v Chris>and then on the front of the box We'll put a link if you want to see this it

00:14:50.185 --> 00:14:56.265
<v Chris>has three LEDs and a little LCD screen as well as a GPIO connector on there

00:14:56.265 --> 00:15:01.185
<v Chris>and That lets you see what the system is up to while it's working away and then

00:15:01.185 --> 00:15:05.545
<v Chris>it has these two powered SATA SSD slots and at launch,

00:15:07.135 --> 00:15:09.595
<v Chris>The PiBox CubeSale was $299.

00:15:10.035 --> 00:15:10.375
<v Wes>Whoa.

00:15:10.735 --> 00:15:14.375
<v Chris>Yeah. It was initially a Kickstarter, which I think is maybe how I caught this.

00:15:16.995 --> 00:15:21.415
<v Chris>Unfortunately, they are no longer around. And it's one of these where we were

00:15:21.415 --> 00:15:23.315
<v Chris>both really disappointed when Brent and I discovered this.

00:15:23.395 --> 00:15:28.435
<v Chris>In 2025, they said so long and thanks for all the pods, and they announced they shut down.

00:15:28.555 --> 00:15:31.795
<v Chris>And they did the good guy thing, and they open-sourced their code.

00:15:31.935 --> 00:15:32.935
<v Chris>They open-sourced a lot of stuff.

00:15:32.995 --> 00:15:33.515
<v Wes>Including their OS.

00:15:33.515 --> 00:15:33.715
<v Chris>Oh, that's great.

00:15:34.055 --> 00:15:35.895
<v Wes>I mean, sad, but best case, I guess.

00:15:35.895 --> 00:15:38.415
<v Chris>The cube sale comes from they were using Kubernetes.

00:15:38.615 --> 00:15:43.215
<v Wes>I was going to ask. Was this meant to be like a host to run Kubernetes on the Pi platform?

00:15:43.635 --> 00:15:47.435
<v Chris>Yeah, and then deploy applications and install SSDs and have a tiny low power NAS.

00:15:48.915 --> 00:15:52.635
<v Chris>And looking back at it, they were just early. It's a really good idea.

00:15:52.875 --> 00:15:56.435
<v Chris>They started in 2019 and I think they just couldn't make it work.

00:15:56.555 --> 00:15:57.215
<v Wes>How long do they go?

00:15:57.795 --> 00:15:58.195
<v Chris>2025.

00:15:58.575 --> 00:16:00.255
<v Wes>Oh, wow. So you just missed them.

00:16:00.395 --> 00:16:04.715
<v Chris>Yeah. So they don't make it anymore, which is such a shame because we love it. It's neat.

00:16:04.715 --> 00:16:10.415
<v Brent>The just hardware quality, I would say, and the thoughtfulness in their design,

00:16:10.675 --> 00:16:12.535
<v Brent>especially even of their PCB.

00:16:12.915 --> 00:16:17.155
<v Brent>They wrote like docs on their PCB about how to use this thing.

00:16:17.275 --> 00:16:19.215
<v Wes>It's very well labeled. Yeah. What is this?

00:16:19.295 --> 00:16:20.295
<v Brent>Oh, it's so nice.

00:16:20.655 --> 00:16:23.355
<v Wes>It also has this, what's this switch on there?

00:16:23.515 --> 00:16:25.475
<v Chris>Yeah. So that's on the carrier board.

00:16:25.615 --> 00:16:28.795
<v Wes>One says normal. The other side says RPI boot.

00:16:29.055 --> 00:16:29.755
<v Chris>There you go.

00:16:29.755 --> 00:16:35.235
<v Brent>Well, this gets us into a fight that Wes had to break up between Chris and I

00:16:35.235 --> 00:16:37.055
<v Brent>about how to deploy to this thing.

00:16:37.195 --> 00:16:41.715
<v Brent>Because we have this big-brained idea of how to use this fancy little box that

00:16:41.715 --> 00:16:43.455
<v Brent>we somehow found in the corner of the studio.

00:16:43.595 --> 00:16:45.515
<v Chris>We should talk about that and then talk about the fight.

00:16:45.695 --> 00:16:50.555
<v Brent>Yeah, okay. Let's talk about the goal. So we've had a problem to solve for years now.

00:16:50.655 --> 00:16:50.835
<v Chris>Yeah.

00:16:51.055 --> 00:16:53.655
<v Brent>And just having come back from scale...

00:16:54.283 --> 00:16:58.503
<v Brent>It is obvious we still have this problem, despite my, let's say,

00:16:58.623 --> 00:17:01.583
<v Brent>efforts to solve it with the wrong hardware.

00:17:02.443 --> 00:17:07.543
<v Chris>Yeah, Airbnb TVs suck. They suck so bad. And we're often there for a week,

00:17:07.583 --> 00:17:09.163
<v Chris>and we just want to watch Star Trek.

00:17:09.243 --> 00:17:12.323
<v Wes>I feel like Hisense must be paying them to put these TVs in.

00:17:12.323 --> 00:17:13.343
<v Wes>It's the only reason you do it.

00:17:13.363 --> 00:17:17.023
<v Chris>And Hisense just announced that these TVs are now going to, while they're booting,

00:17:17.103 --> 00:17:20.483
<v Chris>which takes forever, they're going to play advertisements.

00:17:21.483 --> 00:17:25.343
<v Brent>Don't solve the problem of making a boot faster. Just take advantage of the

00:17:25.343 --> 00:17:26.503
<v Brent>slowness to sell you stuff.

00:17:26.743 --> 00:17:30.823
<v Chris>And listeners, you need to understand that priority one, when we arrive at an

00:17:30.823 --> 00:17:32.523
<v Chris>Airbnb, is to get Star Trek going.

00:17:32.683 --> 00:17:36.403
<v Chris>A bench of an Airbnb, a benchmark is how fast can you get Star Trek?

00:17:36.703 --> 00:17:40.083
<v Chris>Because what you're actually, you're benchmarking the quality of the television,

00:17:40.323 --> 00:17:43.083
<v Chris>the quality of the Wi-Fi, the wiring job.

00:17:43.183 --> 00:17:44.503
<v Wes>The instructions from the host.

00:17:44.703 --> 00:17:47.903
<v Chris>Yeah, it's an interesting benchmark immediately. And so really before we've

00:17:47.903 --> 00:17:50.923
<v Chris>unpacked, before we've even picked rooms, we've got Star Trek going.

00:17:50.923 --> 00:17:56.023
<v Chris>and we want to get the window of time down on that and remove the frustration.

00:17:56.323 --> 00:18:00.683
<v Chris>And then additionally, Airbnb Wi-Fi is terrible, always terrible.

00:18:01.023 --> 00:18:06.143
<v Chris>I would say every other time the Wi-Fi is in the other building and we're getting scraps of signal.

00:18:06.383 --> 00:18:09.743
<v Wes>Or this time we had one where the actual speed and signal was great,

00:18:09.883 --> 00:18:13.463
<v Wes>but they did client isolation. So we couldn't actually talk to anything else.

00:18:14.043 --> 00:18:18.283
<v Chris>Yeah. And we've had one where the Wi-Fi went out and it was in the owner's house,

00:18:18.423 --> 00:18:21.323
<v Chris>which was next door, and the owner wasn't there. And so then we just didn't

00:18:21.323 --> 00:18:24.443
<v Chris>have Wi-Fi when we needed to do the show on Sunday at our night at our last

00:18:24.443 --> 00:18:28.403
<v Chris>Airbnb, which is right next to L.A., right next to Pasadena.

00:18:28.763 --> 00:18:33.583
<v Chris>The Wi-Fi was so bad from the area in the Internet that we did the show off of our cell phones.

00:18:34.178 --> 00:18:37.218
<v Chris>So that's a problem we need to solve. So we want this device to be a media server

00:18:37.218 --> 00:18:43.898
<v Chris>as well as an AP that will either extend the Airbnb's Wi-Fi or connect to an LTE network.

00:18:44.058 --> 00:18:49.538
<v Chris>But the goal is, is that all of our client devices always are just attached to the same SSID.

00:18:49.818 --> 00:18:53.358
<v Chris>So when we arrive and the Wi-Fi becomes available, we don't have to play this

00:18:53.358 --> 00:18:55.858
<v Chris>game of, hey, what's the password? What's the password? Hey,

00:18:55.918 --> 00:18:56.678
<v Chris>did you get the password?

00:18:57.778 --> 00:19:01.498
<v Chris>We all already have the Wi-Fi set up on our devices. It connects to this box.

00:19:01.738 --> 00:19:03.718
<v Chris>And then this box handles the actual Internet.

00:19:04.178 --> 00:19:09.258
<v Chris>And it has, on top of that, a jellyfin server with storage on this SSD that's

00:19:09.258 --> 00:19:10.598
<v Chris>built in now or slotted in.

00:19:10.878 --> 00:19:15.378
<v Chris>And maybe it runs a Samba server. Maybe it runs ersatz TV or tunar or something

00:19:15.378 --> 00:19:16.738
<v Chris>like that, which we'll come back to.

00:19:17.218 --> 00:19:23.378
<v Chris>And it becomes essentially a media NAS Wi-Fi repeater that gives us consistency everywhere we go.

00:19:23.738 --> 00:19:28.018
<v Chris>But you want something that isn't as big as even a one liter PC is too big because

00:19:28.018 --> 00:19:29.398
<v Chris>it's going in the bag or the backpack.

00:19:29.618 --> 00:19:34.098
<v Brent>It has to be super travel friendly. I started trying to investigate this problem

00:19:34.098 --> 00:19:37.978
<v Brent>by thinking, well, maybe a cell phone is an interesting way to solve this because

00:19:37.978 --> 00:19:40.458
<v Brent>you can have independent internet if you need it.

00:19:40.758 --> 00:19:43.318
<v Brent>You can throw up a hotspot.

00:19:43.638 --> 00:19:47.598
<v Brent>You can throw it in a bag anywhere. It's so gosh darn portable.

00:19:48.278 --> 00:19:52.798
<v Brent>And modern cell phones maybe can run like Linux containers.

00:19:53.318 --> 00:19:55.978
<v Chris>And they have HDMI out through USB-C.

00:19:56.058 --> 00:19:57.378
<v Brent>Also true. That's also true.

00:19:57.518 --> 00:19:58.438
<v Chris>And you have a Jellyfin app.

00:19:58.618 --> 00:20:00.698
<v Brent>And everybody's got a used cell phone in their closet.

00:20:00.918 --> 00:20:02.498
<v Chris>It was not a bad idea.

00:20:02.778 --> 00:20:06.078
<v Brent>Yeah, the problem is I picked the absolute worst device to showcase it at our

00:20:06.078 --> 00:20:08.238
<v Brent>last Airbnb. Wes will...

00:20:09.241 --> 00:20:15.801
<v Brent>I think, agree with me that we took a listener's device. It was a Bind phone,

00:20:16.101 --> 00:20:20.181
<v Brent>which turns out ancient, even when it was made first.

00:20:20.661 --> 00:20:24.861
<v Brent>But it ran Linux, which is, I thought, going to solve a lot of problems. So I deployed it.

00:20:24.981 --> 00:20:29.561
<v Brent>I worked many, many days and then deployed it at our Airbnb.

00:20:30.501 --> 00:20:31.641
<v Chris>And how'd that go, Brent?

00:20:32.461 --> 00:20:33.941
<v Brent>Well, it was very entertaining.

00:20:34.121 --> 00:20:35.261
<v Chris>Yeah, it was. Yeah, it was.

00:20:35.621 --> 00:20:37.021
<v Brent>It didn't go very well.

00:20:37.301 --> 00:20:38.801
<v Wes>You may have harmed your...

00:20:39.241 --> 00:20:43.801
<v Chris>Friendship with producer json yeah yeah that's true it started when you it took

00:20:43.801 --> 00:20:47.941
<v Chris>you 20 minutes to get it on the wi-fi there was that that was sort of a bad sign yeah.

00:20:47.941 --> 00:20:49.041
<v Brent>I still don't know.

00:20:49.041 --> 00:20:49.981
<v Chris>Why that was but.

00:20:49.981 --> 00:20:55.061
<v Brent>Anyways it was a means of starting this wheel going and then having us solve

00:20:55.061 --> 00:20:59.921
<v Brent>this problem we've had for years and i think having that failed experiment got

00:20:59.921 --> 00:21:02.101
<v Brent>us to a point where i think maybe we got this.

00:21:02.101 --> 00:21:06.821
<v Chris>Yeah so now we had the pie box we discovered it in the studio's archive and

00:21:06.821 --> 00:21:08.441
<v Chris>it was time to give it a little love.

00:21:08.541 --> 00:21:12.061
<v Chris>I probably talked about it years ago when it was brand new, but dusted it off

00:21:12.061 --> 00:21:13.921
<v Chris>and actually had a real use case for it now.

00:21:14.201 --> 00:21:17.201
<v Chris>And it really came down to, well, how do you deploy on this thing?

00:21:17.829 --> 00:21:21.129
<v Chris>I would love to see the Pi get a little easier to deploy on.

00:21:21.329 --> 00:21:24.669
<v Wes>I assume you didn't even try to get the KubeSail software in Kubernetes running?

00:21:24.929 --> 00:21:28.229
<v Chris>No, no, because it's also pretty old now at this point, Debian and whatnot.

00:21:28.409 --> 00:21:28.529
<v Wes>Yeah.

00:21:28.889 --> 00:21:33.829
<v Chris>And once you have an OS flash to the EMMC, it's a lot harder to just boot off external media.

00:21:34.149 --> 00:21:37.649
<v Chris>Because the way you change the boot order and whatnot is you modify the boot

00:21:37.649 --> 00:21:38.729
<v Chris>order on the installed OS.

00:21:39.329 --> 00:21:42.069
<v Chris>And you change hex codes in the boot order and stuff like that.

00:21:42.169 --> 00:21:43.309
<v Chris>And I just didn't want to play it.

00:21:44.029 --> 00:21:46.949
<v Brent>Just the expression on your face, Chris, when you found out that's what you

00:21:46.949 --> 00:21:52.549
<v Brent>needed to do. So where we came to, where Chris and I were holding up fists and

00:21:52.549 --> 00:21:56.589
<v Brent>Wes had to solve us tearing each other's hair up.

00:21:56.589 --> 00:21:57.369
<v Chris>There may have been some yelling.

00:21:57.609 --> 00:21:58.869
<v Brent>Was how do you deploy to this thing?

00:21:59.029 --> 00:21:59.169
<v Chris>Yeah.

00:21:59.309 --> 00:22:04.309
<v Brent>So Chris had a method and I had an experimental method that I wanted to try

00:22:04.309 --> 00:22:06.109
<v Brent>because I read it on the PCB.

00:22:06.569 --> 00:22:09.709
<v Chris>The irony is we probably should have reversed our attempts.

00:22:10.289 --> 00:22:11.749
<v Brent>Really? But I'll get to that.

00:22:11.789 --> 00:22:18.129
<v Chris>I'll get to that. So I advocated for just pulling down existing ARM binary images

00:22:18.129 --> 00:22:21.929
<v Chris>and flashing them to a USB stick and booting the thing with that.

00:22:22.149 --> 00:22:25.109
<v Chris>That was my approach, and I figured that would probably be a 20-minute gerb.

00:22:25.189 --> 00:22:26.089
<v Brent>That's far too reasonable.

00:22:26.369 --> 00:22:30.909
<v Chris>Brent over there wanted to go the route of, like, pulling down all the ARM packages

00:22:30.909 --> 00:22:34.989
<v Chris>on his x86 machine, spinning up an ARM VM, building them in the ARM VM,

00:22:35.069 --> 00:22:37.509
<v Chris>and then deploying a fully ready ARM image.

00:22:38.284 --> 00:22:43.784
<v Chris>as an image to the MMC, using this RPI boot mode that you can flip the carrier board into.

00:22:44.144 --> 00:22:48.024
<v Chris>So you've got to install the RPI boot app, and then it can flash and write.

00:22:48.164 --> 00:22:53.544
<v Chris>So the board, the carrier board for this and the CM4, they come out of the unit.

00:22:53.644 --> 00:22:57.604
<v Chris>You have to unplug them from the SATA backplane, and then you connect them to

00:22:57.604 --> 00:22:59.904
<v Chris>your laptop or whatever over USB-C.

00:22:59.984 --> 00:23:03.044
<v Chris>So now it's getting powered from your laptop, and when it's in RPI boot mode,

00:23:03.104 --> 00:23:06.444
<v Chris>when that toggle switch is flipped, it shows up as a mass storage device of types.

00:23:06.604 --> 00:23:06.884
<v Wes>Oh, interesting.

00:23:06.884 --> 00:23:11.004
<v Chris>Not a regular mass storage device. But A-type. Yes. And then RPiBoot can write to it.

00:23:11.204 --> 00:23:16.704
<v Chris>And so what Brantley is going to do is build all these on his X86 PC in an ARM VM.

00:23:16.864 --> 00:23:17.304
<v Brent>Sounds great.

00:23:17.384 --> 00:23:20.064
<v Chris>And then flash them using RPiBoot.

00:23:20.064 --> 00:23:23.424
<v Wes>To- This isn't his sort of factory assembly line that he turned your RV into?

00:23:24.044 --> 00:23:30.424
<v Chris>You are not kidding. My wife's been out of town for a week. And if she was in town, my goodness, boy.

00:23:30.444 --> 00:23:33.524
<v Brent>I would have never attempted to take over an eighth of the RV.

00:23:33.884 --> 00:23:40.044
<v Chris>Oh, boy. Anyway, so my approach was pull down the images that are already built and flash them.

00:23:40.164 --> 00:23:44.684
<v Chris>But the irony was is that I was on an ARM laptop and Brent's on an x86 laptop

00:23:44.684 --> 00:23:48.164
<v Chris>and I'm doing the prepackaged route and he's doing the package build route.

00:23:48.324 --> 00:23:51.864
<v Brent>Yeah. You should have been building the packages on your ARM laptop.

00:23:51.984 --> 00:23:56.584
<v Chris>Although I did kind of want you to win. I think Wes ultimately sided with me a bit here.

00:23:56.744 --> 00:23:59.704
<v Chris>He didn't really take a side, but he's like, well, the prebuilt packages makes

00:23:59.704 --> 00:24:01.864
<v Chris>the most sense if you're on x86. That was good.

00:24:01.864 --> 00:24:06.644
<v Wes>Well, I remember I tried the cross-compile path way back when I first tried getting NixOS on a Pi.

00:24:06.784 --> 00:24:06.924
<v Chris>Yeah.

00:24:07.184 --> 00:24:10.904
<v Wes>And just remembered that unless you had a fairly beefy rig, it was kind of painful.

00:24:11.484 --> 00:24:14.884
<v Chris>Yeah, so I wanted to see it work, so Brent gave it a go.

00:24:15.244 --> 00:24:19.264
<v Brent>Well, the reason I thought this might work more than you both seem to have any

00:24:19.264 --> 00:24:24.804
<v Brent>faith in me was that I deployed to a Raspberry Pi previously using this method.

00:24:25.468 --> 00:24:29.308
<v Brent>And then when I saw that nice little switch on the board, I thought,

00:24:29.548 --> 00:24:31.348
<v Brent>okay, this is the way they want this to be done.

00:24:31.488 --> 00:24:33.848
<v Brent>Maybe not the cross-compiling stuff or the cross-building.

00:24:34.548 --> 00:24:38.168
<v Brent>But I really wanted to try plugging this in and just having it be a mass storage

00:24:38.168 --> 00:24:39.188
<v Brent>device that I could write to.

00:24:39.308 --> 00:24:43.188
<v Brent>Because, Chris, you ran into an issue of you had the image.

00:24:43.368 --> 00:24:46.368
<v Chris>Yeah. I'd have to edit the OS to boot from the USB stick.

00:24:46.408 --> 00:24:49.168
<v Brent>Yeah, and so it didn't seem necessarily that much simpler.

00:24:49.368 --> 00:24:49.508
<v Chris>Yeah.

00:24:49.748 --> 00:24:54.288
<v Brent>So I went down the crazy path and did the cross-building. and it turned out

00:24:54.288 --> 00:24:58.148
<v Brent>with a little bit of, you know, finessing that totally worked.

00:24:58.508 --> 00:25:04.248
<v Chris>It did with one thing I would say people need to watch out for is the config

00:25:04.248 --> 00:25:06.808
<v Chris>that ended up in the image, which was great because Brent was able to set it

00:25:06.808 --> 00:25:08.808
<v Chris>up with user accounts and whatnot. So it just worked.

00:25:08.908 --> 00:25:12.948
<v Chris>But the downside, the first one, like you got to watch yourself because it'll

00:25:12.948 --> 00:25:16.168
<v Chris>do key-based SSH login. And if you don't set that up right, you can't get in.

00:25:16.268 --> 00:25:17.268
<v Wes>You're locked out.

00:25:17.268 --> 00:25:21.348
<v Chris>But the second gotcha is that now when it builds, even locally,

00:25:21.688 --> 00:25:26.148
<v Chris>it's like configured to do a remote build, but it's doing a remote build on itself.

00:25:26.428 --> 00:25:26.808
<v Brent>Yeah.

00:25:27.108 --> 00:25:28.908
<v Chris>So it's SSHing into itself and building.

00:25:29.128 --> 00:25:34.528
<v Brent>Be careful which config you deploy to this thing. You can't just take what's

00:25:34.528 --> 00:25:36.328
<v Brent>on your laptop and send it over there.

00:25:36.488 --> 00:25:43.168
<v Chris>Yeah, right. But that aside, we do have a provisioned system with Jellyfin and

00:25:43.168 --> 00:25:45.448
<v Chris>Samba and that 480 gigabyte drive.

00:25:45.628 --> 00:25:47.728
<v Chris>And Wes, get ready for this.

00:25:47.828 --> 00:25:47.968
<v Brent>Hmm.

00:25:49.427 --> 00:25:50.367
<v Chris>I went with XFS.

00:25:51.187 --> 00:25:54.447
<v Wes>You know, I wonder, because I walked in the studio, and I guess this thing was booted up.

00:25:54.487 --> 00:25:57.247
<v Wes>I didn't know it at the time, but I just, I hadn't realized,

00:25:57.367 --> 00:26:00.187
<v Wes>because I guess I haven't watched the kernel boot XFS.

00:26:00.367 --> 00:26:02.227
<v Wes>It still says SGI XFS.

00:26:02.407 --> 00:26:05.067
<v Chris>Yes, it's great, isn't it? Yeah, I don't know.

00:26:05.147 --> 00:26:10.867
<v Chris>It just, we had a moment, and Brent claims that he is a Bcache FS hater now.

00:26:11.227 --> 00:26:15.147
<v Chris>No, I'm kidding. No, I just wanted to try it, I guess. We could always reformat.

00:26:15.207 --> 00:26:20.227
<v Brent>We tried Bcache FS first, and there was, I guess, an error in the current builds in NixOS.

00:26:21.487 --> 00:26:24.347
<v Brent>Yeah. So we just skipped over it. But it'll come.

00:26:24.647 --> 00:26:29.027
<v Wes>I mean, you got NixOS, so you don't strictly need it unless you have plans for

00:26:29.027 --> 00:26:30.447
<v Wes>around what you need to snapshot.

00:26:30.627 --> 00:26:31.407
<v Brent>Wes will fix it.

00:26:31.687 --> 00:26:35.947
<v Chris>So what we're going to do is we're going to seed that thing with all like my

00:26:35.947 --> 00:26:39.187
<v Chris>Blu-ray rips of Star Trek and my DVD copies and put it on the hard drive.

00:26:39.327 --> 00:26:41.747
<v Chris>So we'll always have Star Trek. I think we'll put like season one or two of

00:26:41.747 --> 00:26:45.147
<v Chris>Baywatch on there. We should have put some staples that we always watch at Airbnbs.

00:26:45.647 --> 00:26:51.507
<v Chris>And then Brent found a usb adapter that you can plug an mvme disc into that

00:26:51.507 --> 00:26:52.907
<v Chris>we took from an old busted laptop,

00:26:54.067 --> 00:26:58.147
<v Chris>um and so we're going to use that for like the more current stuff like the updated

00:26:58.147 --> 00:27:00.947
<v Chris>stuff so you want to just you just swap out right you plug it in your machine

00:27:00.947 --> 00:27:03.627
<v Chris>you update it and then when we boot that thing up you plug it in and you've

00:27:03.627 --> 00:27:06.247
<v Chris>got your extra new shows as well jellyfinal index oh.

00:27:06.247 --> 00:27:07.947
<v Wes>I love this classics and currents.

00:27:07.947 --> 00:27:10.867
<v Chris>The thing that's missing that we're working on and i don't know because brent

00:27:10.867 --> 00:27:13.347
<v Chris>was up till 2 a.m working on this i don't know how far he got well.

00:27:13.347 --> 00:27:14.967
<v Wes>We're gonna need to join it to a Nebula network.

00:27:15.267 --> 00:27:15.947
<v Brent>It's so true.

00:27:16.107 --> 00:27:18.607
<v Chris>It is going to be, we're going to have it. We'll have a Nebula network for all

00:27:18.607 --> 00:27:21.447
<v Chris>of this. So it'll be able to route. That thing will become a Nebula router for

00:27:21.447 --> 00:27:23.167
<v Chris>us. That is definitely part of it.

00:27:23.567 --> 00:27:26.827
<v Chris>But you think about the big component that's missing that we haven't talked about yet.

00:27:27.705 --> 00:27:31.885
<v Chris>We'd need this thing to be able to actually plug into a television and display jellyfin.

00:27:32.745 --> 00:27:33.825
<v Wes>Yeah. Can it do that?

00:27:33.965 --> 00:27:38.905
<v Chris>Well, it's got a full-fledged HDMI port, and the docs say it supports up to 4K resolutions.

00:27:39.745 --> 00:27:42.765
<v Chris>So I bet, you know, all the TVs we go to are like 1080p crappers.

00:27:42.985 --> 00:27:43.125
<v Brent>Yeah.

00:27:43.565 --> 00:27:48.605
<v Chris>And, you know, worse. So, like, we just have to figure out how to do a super

00:27:48.605 --> 00:27:52.245
<v Chris>low-key, probably Wayland, I would imagine, on that hardware,

00:27:52.645 --> 00:27:56.065
<v Chris>like kiosk almost. So where did you get to on that?

00:27:56.105 --> 00:27:59.545
<v Brent>Yeah, I found a little project. Kind of last minute, so I haven't told you about it yet.

00:27:59.625 --> 00:27:59.765
<v Chris>All right.

00:28:00.665 --> 00:28:05.725
<v Brent>Something called Cage or Cage Kiosk, which is a Wayland-based kiosk,

00:28:05.765 --> 00:28:08.525
<v Brent>which is fairly minimal, so good for these little compute modules.

00:28:09.205 --> 00:28:13.905
<v Brent>And it just gets you a Wayland session with the application that you want to run.

00:28:14.852 --> 00:28:18.692
<v Chris>So we could just have it essentially start up and launch a Firefox? Yeah.

00:28:19.312 --> 00:28:24.372
<v Chris>Oh, and then if we had the Firefox homepage set to the Jellyfin web interface.

00:28:24.852 --> 00:28:25.292
<v Brent>Exactly.

00:28:25.472 --> 00:28:27.632
<v Chris>We could even have it probably launch with a flag for full screen.

00:28:27.892 --> 00:28:28.212
<v Wes>Yeah.

00:28:28.532 --> 00:28:30.392
<v Chris>Oh, boys. Oh, boys.

00:28:30.532 --> 00:28:33.592
<v Wes>I think it does a single maximized application already. I don't know.

00:28:33.712 --> 00:28:36.872
<v Brent>It's like the exact thing that we need to solve this problem.

00:28:36.872 --> 00:28:39.532
<v Brent>And it still looks like it's in active development.

00:28:41.472 --> 00:28:45.832
<v Brent>And I think we should just go with this plan. unless someone has a much better

00:28:45.832 --> 00:28:47.912
<v Brent>idea because I seem to be. Yeah, I choose a client.

00:28:47.912 --> 00:28:51.312
<v Wes>I think the one thing we don't, I mean, Jellyfin gives you, it has like the

00:28:51.312 --> 00:28:54.452
<v Wes>cast sort of functionality, so we could control it from a phone or a laptop

00:28:54.452 --> 00:28:58.632
<v Wes>pretty easily, but we don't necessarily have like a remote style interface.

00:28:58.952 --> 00:28:59.952
<v Chris>Yeah, we do need to.

00:29:00.032 --> 00:29:02.692
<v Wes>I don't know if we care about that. Maybe we don't. We're all very technical savvy.

00:29:02.892 --> 00:29:05.372
<v Chris>Well, but we think, I think we want a remote, man. We want to make this really

00:29:05.372 --> 00:29:09.692
<v Chris>easy. We want this to be a casual, low friction thing or like if my wife's with

00:29:09.692 --> 00:29:12.592
<v Chris>us, it's easy for her. We have a, you know, we want to make it hard for PJ.

00:29:13.032 --> 00:29:18.452
<v Wes>We could use the get a better version of that um kind of janky presenter remote i have that is.

00:29:18.452 --> 00:29:20.012
<v Brent>Fun that thing was so hard to.

00:29:20.012 --> 00:29:21.352
<v Wes>Use yeah.

00:29:21.352 --> 00:29:25.532
<v Chris>I would actually like listener input on a great remote control device one that we could travel with.

00:29:25.532 --> 00:29:28.872
<v Wes>That's the thing ideally it would still work like on a plane even if we didn't drive so.

00:29:28.872 --> 00:29:33.152
<v Chris>Here's my other question this cage wayland kiosk thing does look really good,

00:29:34.881 --> 00:29:38.181
<v Chris>But is there a kiosk mode for Plasma? Now, hear me out, because Plasma can be

00:29:38.181 --> 00:29:42.341
<v Chris>pretty lean, and there could be, I don't know, situations where maybe we want

00:29:42.341 --> 00:29:45.741
<v Chris>to bust out a full desktop to do something that we didn't think of.

00:29:45.821 --> 00:29:48.361
<v Brent>We are always doing things we never thought of.

00:29:48.521 --> 00:29:52.461
<v Chris>So if we could have, like, a Plasma session that's, like, kiosk mode by default

00:29:52.461 --> 00:29:55.961
<v Chris>single app, but we could, with a, like, if we hooked up a USB keyboard,

00:29:56.081 --> 00:29:59.061
<v Chris>we could break out, that might be also really nice.

00:29:59.121 --> 00:30:02.141
<v Chris>But I don't know if that's a thing or not. Or I don't know. Maybe you can do that with GNOME.

00:30:02.401 --> 00:30:04.621
<v Chris>I have no idea. Maybe that's another thing listeners could tell us.

00:30:04.881 --> 00:30:08.101
<v Brent>I've got the feeling this might be a long-term project because we'll be taking

00:30:08.101 --> 00:30:11.581
<v Brent>it with us and changing it every time we use it, it seems, because we can't help ourselves.

00:30:11.801 --> 00:30:14.301
<v Chris>Yeah, I think the other thing we're going to be spending time figuring out is

00:30:14.301 --> 00:30:18.841
<v Chris>what does this thing do DNS-wise and how do we set that up, especially with

00:30:18.841 --> 00:30:21.221
<v Chris>split networks and all of that.

00:30:21.521 --> 00:30:22.221
<v Brent>It's a great point.

00:30:22.301 --> 00:30:25.301
<v Chris>And then, like, where does it pull the media from if we want,

00:30:25.581 --> 00:30:27.541
<v Chris>say, maybe to connect to another Jellyfin server?

00:30:27.821 --> 00:30:30.841
<v Chris>That probably needs—we need to make sure Nebula's running on the other Jellyfin server.

00:30:30.981 --> 00:30:34.861
<v Chris>So there's a few more things. So I guess the big ask to the audience would be,

00:30:34.961 --> 00:30:38.541
<v Chris>what would you use for kiosk mode would be up there?

00:30:39.481 --> 00:30:42.501
<v Chris>I guess I'd be up to x86 versions of this that are cheap, too,

00:30:42.561 --> 00:30:43.821
<v Chris>but we're kind of down this route now.

00:30:44.861 --> 00:30:46.321
<v Brent>Use the hardware you have, I say.

00:30:46.801 --> 00:30:48.661
<v Chris>Yeah, really. Tis the season, right?

00:30:48.701 --> 00:30:53.041
<v Wes>How did you even – was this just on a shelf somewhere? How did this happen?

00:30:53.201 --> 00:30:58.801
<v Brent>So this has been beside the fish tank in the living room, which we spend quite a lot of time in.

00:30:59.661 --> 00:31:05.481
<v Brent>for about the last four years i've had my eye on it and uh decided to just dig in.

00:31:05.481 --> 00:31:11.461
<v Chris>Mm-hmm i mean it's pretty dang neat it is pretty dang neat so uh and it's i

00:31:11.461 --> 00:31:14.821
<v Chris>i think if we get the kiosk thing solved i think that's going to be a winner

00:31:14.821 --> 00:31:18.841
<v Chris>i think the question is can you do that in plasma that's another you know or

00:31:18.841 --> 00:31:22.361
<v Chris>is there a better route as long as we can get a full desktop that's lean and

00:31:22.361 --> 00:31:25.041
<v Chris>mean but we like to use west.

00:31:25.041 --> 00:31:29.121
<v Brent>Might be a little disappointed because i also tried to upgrade our process because I don't want to,

00:31:30.345 --> 00:31:34.745
<v Brent>We always wanted to deploy to this thing remotely. So deploying to it with NixOS

00:31:34.745 --> 00:31:38.525
<v Brent>Anywhere and using Disco would be nice, especially if we changed to a different device,

00:31:39.205 --> 00:31:43.485
<v Brent>to just have a NixOS config that we can put on any device, really,

00:31:43.645 --> 00:31:45.745
<v Brent>or share with the audience so they can do it.

00:31:47.605 --> 00:31:54.045
<v Brent>But apparently, or at least I ran into this error, KExec does not work on the CM4.

00:31:54.965 --> 00:31:59.965
<v Wes>It has been more hit or miss on ARM. I think there are definitely ARM devices

00:31:59.965 --> 00:32:02.025
<v Wes>that can do it, but I don't know which ones.

00:32:02.265 --> 00:32:05.885
<v Brent>A KExec list device might not pass the OS sniff test.

00:32:06.385 --> 00:32:11.145
<v Wes>I mean, this one's pretty cool, so I'm willing to have a minimal sort of exceptions list.

00:32:11.525 --> 00:32:14.825
<v Wes>There's probably a limit on the number on the size of the list.

00:32:14.905 --> 00:32:18.505
<v Chris>But... Okay, maybe we can sort that out after the show.

00:32:18.525 --> 00:32:19.085
<v Wes>Yeah, I think so.

00:32:19.185 --> 00:32:20.885
<v Chris>All right, so we have one other question.

00:32:20.885 --> 00:32:21.925
<v Wes>Maybe get Brent's lawyer involved.

00:32:22.085 --> 00:32:26.965
<v Chris>While we're bringing up questions for the audience, so we want to talk about

00:32:26.965 --> 00:32:31.545
<v Chris>the technical side of some of the age verification stuff that's moving and i've

00:32:31.545 --> 00:32:35.165
<v Chris>been looking into this a bit we had a really great conversation on the pre-pre-show,

00:32:36.065 --> 00:32:39.025
<v Chris>25 u.s states now have enacted laws requiring age

00:32:39.025 --> 00:32:41.865
<v Chris>verification usually government id or a third party age assurance

00:32:41.865 --> 00:32:44.585
<v Chris>to get access to adult websites most of

00:32:44.585 --> 00:32:47.465
<v Chris>these have been passed and went into effect in the last 24 months and now

00:32:47.465 --> 00:32:50.245
<v Chris>we have two states that aim to enforce age verification at the

00:32:50.245 --> 00:32:53.065
<v Chris>os level california ab 1043 which

00:32:53.065 --> 00:32:56.165
<v Chris>was signed into law october 25th and goes into effect january 1st

00:32:56.165 --> 00:33:02.005
<v Chris>2027 and then colorado sb 26051 which is in the works and slated to be on the

00:33:02.005 --> 00:33:07.085
<v Chris>schedule in 2028 the team at systemd has a patch in the works that adds a birth

00:33:07.085 --> 00:33:11.305
<v Chris>date field to the json user records which would be essentially a standardized

00:33:11.305 --> 00:33:14.845
<v Chris>age related logic that distributions could adopt,

00:33:16.321 --> 00:33:18.961
<v Chris>And there is a group that is behind this that seems to be pushing it.

00:33:19.081 --> 00:33:24.641
<v Chris>We had a good conversation that seemed to indicate that this is also underway in New York.

00:33:24.661 --> 00:33:27.861
<v Chris>There is an early version in Washington State that hasn't gotten very far.

00:33:28.421 --> 00:33:29.601
<v Wes>Some efforts in Illinois.

00:33:30.481 --> 00:33:32.941
<v Chris>More and more widespread. And when you zoom outside the states,

00:33:33.101 --> 00:33:36.301
<v Chris>there's countries outside the states like Brazil and others that are also passing

00:33:36.301 --> 00:33:40.081
<v Chris>similar acetation requirements by the operating system.

00:33:40.081 --> 00:33:47.301
<v Chris>So we are very quickly as a community finding ourselves between an awful rock and an awful hard spot.

00:33:47.581 --> 00:33:52.221
<v Chris>And I think we're essentially there now. So System D might have a technical solution here.

00:33:52.421 --> 00:33:56.341
<v Chris>Do you think distributions, and I'm asking you, listener, do you think distributions

00:33:56.341 --> 00:34:00.141
<v Chris>should adopt it or remain out? Should they opt out?

00:34:00.361 --> 00:34:05.841
<v Chris>Now, consider if they opt out, they are likely not going to be valid in certain

00:34:05.841 --> 00:34:08.141
<v Chris>markets, not without fines and legal process.

00:34:08.141 --> 00:34:11.441
<v Chris>and consider who pays for their development where the

00:34:11.441 --> 00:34:14.521
<v Chris>money comes from in free software development it's often from enterprises who

00:34:14.521 --> 00:34:18.821
<v Chris>have contracts with government or companies that have contracts with government

00:34:18.821 --> 00:34:23.301
<v Chris>that have to make certain requirements so is this a line in the sand or should

00:34:23.301 --> 00:34:28.481
<v Chris>we have a technical solution for places that need to implement it is it something

00:34:28.481 --> 00:34:31.941
<v Chris>that all distributions should patch out should we fork system d.

00:34:34.098 --> 00:34:38.498
<v Chris>Or does it make sense to implement? And if it doesn't make sense to implement,

00:34:38.658 --> 00:34:41.458
<v Chris>if you're against it, what real options do you think are out there right now?

00:34:41.578 --> 00:34:45.258
<v Chris>We'd like to have that conversation in next week's boost segment, so please do boost in.

00:34:45.458 --> 00:34:49.598
<v Chris>And we'll have some details about the systemd birthdate field, if you're curious.

00:34:49.978 --> 00:34:54.978
<v Chris>It's essentially a JSON user record that the distribution and the software that's

00:34:54.978 --> 00:34:56.638
<v Chris>on top of that would then read from.

00:34:56.798 --> 00:34:59.118
<v Chris>At this point, no distribution has announced support for that,

00:34:59.138 --> 00:35:04.658
<v Chris>but you would imagine if they were forced to legally, then they would probably adopt that.

00:35:04.838 --> 00:35:10.458
<v Chris>There's some other options as well including the Debian project has looked at

00:35:10.458 --> 00:35:12.718
<v Chris>a potential route to solve this outside of Systemd.

00:35:13.578 --> 00:35:16.178
<v Chris>So it's a conversation that's happening and we want to know where you stand

00:35:16.178 --> 00:35:19.198
<v Chris>on it. We want to take your temperature. So please boost in and let us know.

00:35:19.278 --> 00:35:20.938
<v Chris>I think it'd be a great way to get a conversation going.

00:35:23.058 --> 00:35:27.838
<v Chris>I also want to mention that LinuxFest Northwest 2026 is just around the corner,

00:35:28.178 --> 00:35:32.818
<v Chris>33 days away as we record April 24th through the 26th at the Bellingham Technical College.

00:35:33.258 --> 00:35:36.198
<v Chris>We'll be doing a live show there. We are on the Sunday schedule,

00:35:36.198 --> 00:35:38.838
<v Chris>so you can join us for an in-person Linux unplugged.

00:35:40.158 --> 00:35:41.018
<v Brent>Usually a riot.

00:35:41.258 --> 00:35:44.778
<v Chris>It is a lot of fun. We don't know all the details yet. And then,

00:35:45.258 --> 00:35:46.878
<v Chris>let's just put it out there.

00:35:47.018 --> 00:35:49.498
<v Chris>You never know. You put something out in the universe, Brent,

00:35:49.598 --> 00:35:54.078
<v Chris>and sometimes the universe answers. and we thought, wouldn't it be interesting?

00:35:54.358 --> 00:35:58.858
<v Chris>Wouldn't it be fun if somebody out there in the audience is sitting with a van

00:35:58.858 --> 00:35:59.998
<v Chris>that needs a little rescue?

00:36:00.418 --> 00:36:05.298
<v Chris>Maybe it's in a rescuable state, needs a little love and get somebody out there

00:36:05.298 --> 00:36:06.118
<v Chris>to get it off your property.

00:36:06.238 --> 00:36:08.478
<v Chris>Well, Brent and I are itching. So let us know.

00:36:09.038 --> 00:36:12.458
<v Chris>Email the show linuxunplugged or unplugged at jupiterbroadcasting.com or send

00:36:12.458 --> 00:36:15.698
<v Chris>us a boost. Maybe we'll put you on the schedule this year and go do a van rescue.

00:36:15.878 --> 00:36:16.718
<v Brent>That would be amazing.

00:36:18.138 --> 00:36:20.818
<v Chris>We do this thing now when we're out driving around. We're always spotting vans.

00:36:20.818 --> 00:36:23.318
<v Chris>It's like, oh, we should stop by and ask them. We should stop.

00:36:23.418 --> 00:36:26.118
<v Chris>I look at that van. It's just sitting there rotting away. We should ask them.

00:36:26.158 --> 00:36:26.318
<v Brent>Yeah.

00:36:26.598 --> 00:36:27.398
<v Chris>We could get that running.

00:36:27.438 --> 00:36:28.038
<v Brent>Put it on the road.

00:36:28.138 --> 00:36:28.418
<v Chris>Come on.

00:36:28.698 --> 00:36:29.898
<v Wes>Someone could be using this.

00:36:30.018 --> 00:36:32.738
<v Chris>Yeah. I don't know. I know it's crazy. Let us know. But we'd like to tech one

00:36:32.738 --> 00:36:36.058
<v Chris>out. You know, if we can get it running, it would be such an awesome tech project.

00:36:36.518 --> 00:36:40.018
<v Chris>Home Assistant, sensors all over that thing, leveling sensors,

00:36:40.218 --> 00:36:42.018
<v Chris>mobile internet, all of it.

00:36:42.098 --> 00:36:45.398
<v Wes>You know, maybe we tweak it out. We install a super duper recording studio in

00:36:45.398 --> 00:36:49.638
<v Wes>there and then you just sell it to van influencers. Ready to go.

00:36:49.838 --> 00:36:50.518
<v Chris>Yeah, there you go.

00:36:50.518 --> 00:36:54.838
<v Brent>You know, Wes does need an RV solution. He's the only one of us that doesn't

00:36:54.838 --> 00:36:56.418
<v Brent>currently have sleeping on wheels.

00:36:56.418 --> 00:36:58.618
<v Chris>Oh my God, we could go on a road trip together.

00:36:58.818 --> 00:36:59.678
<v Wes>That would be pretty killer.

00:36:59.978 --> 00:37:01.538
<v Chris>All right, so you see, let us know, okay?

00:37:02.238 --> 00:37:02.618
<v Brent>Help us.

00:37:04.702 --> 00:37:08.522
<v Chris>Well, we got some feedback. Brentley, would you like to read Nix's,

00:37:08.602 --> 00:37:10.342
<v Chris>which is NYX? He wrote into the show.

00:37:10.502 --> 00:37:16.382
<v Brent>Yeah, someone knows our taste. Nix, NYX says, Hey, you'll ask for the most underpowered

00:37:16.382 --> 00:37:21.602
<v Brent>thing in my stack, and I think the award probably goes to my Pentium 2 box.

00:37:21.802 --> 00:37:22.402
<v Chris>Ho-ho-ho!

00:37:22.822 --> 00:37:27.162
<v Brent>I got it for free from my doctor. He had it collecting dust in the office,

00:37:27.162 --> 00:37:31.282
<v Brent>and I brought it home, swapped out the old spinning drive for an SSD.

00:37:31.582 --> 00:37:31.902
<v Chris>Whoa.

00:37:32.102 --> 00:37:32.462
<v Wes>Nice.

00:37:32.762 --> 00:37:34.462
<v Brent>Oh, no, sorry. I read that.

00:37:34.462 --> 00:37:35.322
<v Chris>Oh, SD card.

00:37:35.582 --> 00:37:37.802
<v Brent>Yeah. Swapped it out for an SD card.

00:37:38.082 --> 00:37:42.402
<v Chris>Yeah, yeah. 64 gigabyte SD, still probably better than the spinning rest, though.

00:37:42.782 --> 00:37:47.322
<v Brent>Yeah, and hosting a Luanti or MindTest server over on it.

00:37:47.562 --> 00:37:52.802
<v Brent>It's been hooked up to my tail net, and it can handle about five players with

00:37:52.802 --> 00:37:54.402
<v Brent>limited draw distance pretty well.

00:37:54.622 --> 00:37:54.962
<v Chris>Wow.

00:37:55.482 --> 00:38:01.942
<v Brent>Also use it as an MPD server. It's a bit stuttery if I try to do both at the

00:38:01.942 --> 00:38:05.462
<v Brent>same time. But for a zombie of tech, I'm pretty happy with it.

00:38:05.962 --> 00:38:09.162
<v Chris>That's so great. And he's coming in from Ecuador, too. So hello, Ecuador.

00:38:10.122 --> 00:38:11.882
<v Wes>Oh, yeah. We got a zip code here.

00:38:11.982 --> 00:38:13.522
<v Brent>This is a binary zip code.

00:38:13.582 --> 00:38:16.882
<v Chris>Do you want to go for it, Wes? Because, you know, I always think that zip codes

00:38:16.882 --> 00:38:19.182
<v Chris>are a better option if you want to go for it.

00:38:19.302 --> 00:38:19.642
<v Wes>I do.

00:38:19.802 --> 00:38:22.382
<v Chris>I do. All right. Let's break it up. Let's find where he's at.

00:38:25.620 --> 00:38:29.200
<v Chris>All right, so this is a unique one. It looks like something from the binars here.

00:38:29.360 --> 00:38:32.380
<v Wes>I know, right? Binary, postal code, what is this?

00:38:32.400 --> 00:38:33.380
<v Chris>What's going on, Wes?

00:38:33.380 --> 00:38:36.960
<v Wes>Okay, so I could be wrong. We did obviously get the Ecuador hint, so that's a big helper.

00:38:37.180 --> 00:38:37.320
<v Chris>Yeah.

00:38:37.380 --> 00:38:43.660
<v Wes>I couldn't find 010100, but it does look like if you sort of interpret it subnet

00:38:43.660 --> 00:38:47.000
<v Wes>style where that last zero means like the first sort of digits.

00:38:47.040 --> 00:38:47.600
<v Wes>I love where this is going already.

00:38:47.800 --> 00:38:51.420
<v Wes>Then that kind of makes sense with how it seems like Ecuador's postal structure

00:38:51.420 --> 00:38:58.080
<v Wes>is, or postal code is structured. So I think it is in the Asue province and

00:38:58.080 --> 00:39:02.100
<v Wes>then maybe near the capital Cuenca or the province around there.

00:39:02.200 --> 00:39:07.200
<v Wes>That's my guess, which has stuff like, let's see, it's got like a beautiful

00:39:07.200 --> 00:39:10.540
<v Wes>looking park in here, which seems really nice. Yeah.

00:39:11.000 --> 00:39:11.240
<v Chris>Let's go.

00:39:12.140 --> 00:39:16.920
<v Wes>El Cajas National Park, which is in a mountainous region. It's got some,

00:39:17.060 --> 00:39:19.940
<v Wes>the capital looks like it's got some pretty dope architecture going on.

00:39:20.260 --> 00:39:21.680
<v Chris>Sure does. Wow. It's beautiful.

00:39:21.680 --> 00:39:24.380
<v Wes>So I don't know if I found the right place. I'm sure I pronounced the names

00:39:24.380 --> 00:39:26.560
<v Wes>wrong, but either way, I want to visit.

00:39:26.900 --> 00:39:30.280
<v Chris>Yeah, for sure. It's also really impressive that he can actually sustain five

00:39:30.280 --> 00:39:33.780
<v Chris>players. MineTest, for those that don't know, is like a Minecraft-free software implementation.

00:39:34.280 --> 00:39:39.520
<v Chris>And so for five players, that's really great. An MPD server would be a media server.

00:39:39.700 --> 00:39:42.700
<v Wes>Yeah, I like seeing MPD still being used. That's a good solution.

00:39:42.820 --> 00:39:44.960
<v Brent>When's the last time either of you used Appendium 2?

00:39:47.040 --> 00:39:47.580
<v Chris>Really long.

00:39:47.720 --> 00:39:48.440
<v Brent>I know.

00:39:48.720 --> 00:39:51.320
<v Chris>That's what's so great about this is it keeps these things out of the landfill.

00:39:51.320 --> 00:39:55.700
<v Chris>they still have valid uses obviously here they maybe are you pay for it on the

00:39:55.700 --> 00:39:59.880
<v Chris>power but that depends on everybody's individual area so that's really neat

00:39:59.880 --> 00:40:04.100
<v Chris>thank you nix uh i think we i think we're pronouncing it nix let us know if we got that wrong.

00:40:04.100 --> 00:40:13.580
<v Brent>Well we have a couple boosts here starting with a baller free go lay,

00:40:17.737 --> 00:40:21.677
<v Brent>Frigol A sent in 67,011 satoshis.

00:40:21.937 --> 00:40:22.637
<v Chris>Oh, thank you, sir.

00:40:23.657 --> 00:40:26.537
<v Brent>They simply say, great coverage with a thumbs up.

00:40:26.857 --> 00:40:26.937
<v Wes>Aw.

00:40:27.877 --> 00:40:31.217
<v Chris>Thank you very much. And I feel like 67,011 might be a message.

00:40:31.817 --> 00:40:34.297
<v Chris>I feel like it might be, but I'm not sure. Thank you very much,

00:40:34.557 --> 00:40:35.977
<v Chris>Frigol A. I really do appreciate that.

00:40:36.537 --> 00:40:40.177
<v Chris>It is your, you are our baller. Thank you, sir.

00:40:41.757 --> 00:40:44.497
<v Chris>KRHill94 comes in with 10,000 sats.

00:40:46.177 --> 00:40:49.697
<v Chris>Support if my AlbiHub node is working I'm having some troubles It works!

00:40:49.957 --> 00:40:53.657
<v Chris>We got it You got it! Congratulations on self-hosting an AlbiHub.

00:40:54.697 --> 00:41:00.757
<v Wes>It's a big step And we're proud of you Mm-hmm Mm-hmm And our final boost today

00:41:00.757 --> 00:41:03.897
<v Wes>Spooky Satcom comes in with 2,000 sets,

00:41:05.577 --> 00:41:10.317
<v Wes>Brent, your splits is killing my transactions Uh-oh Boost!

00:41:10.917 --> 00:41:12.277
<v Chris>We have to look into that I.

00:41:12.277 --> 00:41:14.797
<v Wes>Think Satcom here has, you know, a good spirit about it.

00:41:14.837 --> 00:41:15.257
<v Chris>Yeah, yeah.

00:41:15.277 --> 00:41:16.117
<v Wes>And we appreciate that.

00:41:16.237 --> 00:41:16.377
<v Brent>Oopsies.

00:41:16.597 --> 00:41:18.997
<v Chris>Yeah, sorry about that. We'll have to look into that. Okay, so it's a light

00:41:18.997 --> 00:41:21.897
<v Chris>week. It's a light week. I guess, does that mean anything to we?

00:41:22.317 --> 00:41:23.437
<v Brent>That's Signal? Not Signal?

00:41:23.737 --> 00:41:24.837
<v Wes>I don't know. The world's on fire.

00:41:24.997 --> 00:41:25.397
<v Brent>March break, right?

00:41:25.577 --> 00:41:28.057
<v Chris>That's true. That's true. That's true. We're going to, we'll move on.

00:41:28.477 --> 00:41:31.717
<v Chris>But we got, we did get some stream stats as well. We had 90 a stream.

00:41:32.777 --> 00:41:36.497
<v Chris>4,876. It almost makes me think there's a technical issue. That's so low. That's so low.

00:41:36.617 --> 00:41:39.917
<v Wes>Well, maybe we can blame Brent. his splits causing everyone to give up on boosting I'm fine.

00:41:39.917 --> 00:41:41.617
<v Chris>With that yeah maybe we I'll.

00:41:41.617 --> 00:41:43.397
<v Brent>Yell at my administrator his name's Chris.

00:41:43.397 --> 00:41:48.637
<v Chris>Oh Captain Chris dang it that doesn't that doesn't do me well and when you combine

00:41:48.637 --> 00:41:55.677
<v Chris>it together we had 83,887 sats for this episode thank you everybody who supports us,

00:41:57.257 --> 00:42:01.397
<v Chris>it is a very light advertising season and you can support each individual episode

00:42:01.397 --> 00:42:06.357
<v Chris>and your boosts go directly to me Wes Brent Editor Drew and the podcast app,

00:42:07.497 --> 00:42:10.737
<v Chris>But it really supports all of us and gets your message on the show when you

00:42:10.737 --> 00:42:12.597
<v Chris>boost above 2,000 cents.

00:42:12.837 --> 00:42:14.937
<v Chris>We'll read your message, and it's always a great conversation.

00:42:15.137 --> 00:42:18.777
<v Chris>You can also support us with a membership at linuxunplugged.com slash membership.

00:42:23.970 --> 00:42:27.710
<v Chris>We have some really great picks. Let's start with a nerdy one,

00:42:27.750 --> 00:42:30.330
<v Chris>and then we'll get to a listener-contributed one.

00:42:30.470 --> 00:42:33.270
<v Chris>But you found FQ this week, Wes.

00:42:33.470 --> 00:42:36.530
<v Chris>I know about JQ, but that's for JSON.

00:42:37.150 --> 00:42:40.290
<v Wes>Yeah, that's right. And it turns out there's more in the world than JSON.

00:42:40.590 --> 00:42:45.830
<v Wes>So enter FQ. The F is for file. It aims to be JQ, Hexdump, DD,

00:42:46.070 --> 00:42:50.250
<v Wes>and GDB, four files combined into one. It's written in Go.

00:42:50.610 --> 00:42:57.150
<v Wes>It's already in Nix packages, and it's MIT-licensed. And it supports a ton of different formats.

00:42:57.450 --> 00:43:01.270
<v Wes>Apple Bookmarks, ASN1, AAC, MP3, CSV,

00:43:01.690 --> 00:43:05.930
<v Wes>FLAC files, LuaJit, a bunch of stuff for Postgres protocols,

00:43:06.190 --> 00:43:12.970
<v Wes>RTMP, SafeTensors format, which is used, VP9, WASM, WebP, ZipFiles, YAML, JSON, JPEG.

00:43:13.570 --> 00:43:17.790
<v Wes>And so basically it gives you, you know, like with JQ, you can do like dot key

00:43:17.790 --> 00:43:21.350
<v Wes>or like get the third item from a list and then get a key out of that and kind

00:43:21.350 --> 00:43:25.550
<v Wes>of easy syntax for manipulating JSON structures. So the idea is the same thing here.

00:43:25.690 --> 00:43:28.950
<v Wes>So I downloaded our most recent episode, and it has MP3 support.

00:43:29.130 --> 00:43:29.810
<v Chris>Oh, cool.

00:43:29.990 --> 00:43:34.590
<v Wes>And so I can do FQ, and then you do dot frames, and then sort of the bracket

00:43:34.590 --> 00:43:39.470
<v Wes>zero to get the first frame, and then dot tag, and that gives me a bunch of the tag information.

00:43:39.990 --> 00:43:44.550
<v Wes>And I can do, from there, dot encoder, and it tells me it was encoded with flame.

00:43:44.790 --> 00:43:48.710
<v Chris>I can see also you could do that same thing with a PNG or an MP4, whatever, really.

00:43:48.750 --> 00:43:51.770
<v Wes>And of course, there's better dedicated, right? Like if you're just doing MP3s,

00:43:51.790 --> 00:43:55.010
<v Wes>there's tools for that. But the handy here is one tool to explore,

00:43:55.290 --> 00:43:57.310
<v Wes>work with, basically make it PDFs.

00:43:57.981 --> 00:44:02.321
<v Wes>json files exactly make binaries more accessible queryable and sliceable it

00:44:02.321 --> 00:44:06.161
<v Wes>does nested formats and bit oriented decoding it shows it to you in a nice sort

00:44:06.161 --> 00:44:10.121
<v Wes>of hex viewer style along with a more structured data format on the right hand

00:44:10.121 --> 00:44:12.081
<v Wes>side so something to add to your tool belt.

00:44:12.081 --> 00:44:17.961
<v Chris>Very cool nice find wes and it's mit licensed our next pick this week.

00:44:17.961 --> 00:44:21.701
<v Wes>Is one thing oh go ahead uh they have given very the author has given a few

00:44:21.701 --> 00:44:24.361
<v Wes>different presentations about it too including at Fostum 2023,

00:44:24.541 --> 00:44:27.841
<v Wes>so if you are curious, there's a bunch of ways to find out more nerdy teats.

00:44:28.161 --> 00:44:32.001
<v Chris>Our next one is under early development. It's called File Fridge.

00:44:32.141 --> 00:44:36.741
<v Chris>It's Apache 2.0 licensed, and it's created by one of our very own community members.

00:44:37.101 --> 00:44:40.081
<v Chris>Martino writes, Hey guys, I remember a couple of episodes back you were talking

00:44:40.081 --> 00:44:44.521
<v Chris>about storage, price supply issues, and what you were doing to try to use other

00:44:44.521 --> 00:44:45.601
<v Chris>methods to store your media.

00:44:45.721 --> 00:44:48.381
<v Chris>I was, and I still have Blue Vault to back up to Blu-ray.

00:44:48.681 --> 00:44:52.421
<v Chris>I was thinking about this very thing. I worked on a tool that runs in my home

00:44:52.421 --> 00:44:55.021
<v Chris>lab to move media that isn't accessed as often.

00:44:56.173 --> 00:44:59.313
<v Chris>To an external drive, and then drops a sim link to the file.

00:44:59.533 --> 00:45:03.373
<v Chris>I did use AI to code this with two kids I don't have as much time as I used to for projects.

00:45:03.533 --> 00:45:06.793
<v Chris>So check it out when you have time. It is under active development,

00:45:06.833 --> 00:45:08.193
<v Chris>and it's called File Fridge.

00:45:08.773 --> 00:45:12.993
<v Chris>And the idea is, I love this, and I wonder if there's other things out there,

00:45:13.153 --> 00:45:17.853
<v Chris>where you have, obviously, your more precious hot storage that's fast and available,

00:45:18.033 --> 00:45:22.053
<v Chris>but maybe you're archiving things that you haven't accessed for a very long time.

00:45:22.053 --> 00:45:26.513
<v Chris>Instead of buying more expensive fast storage, you kind of, you know,

00:45:26.593 --> 00:45:32.033
<v Chris>you have cloud storage, you have disks around the house, a little more colder storage, right?

00:45:32.413 --> 00:45:35.913
<v Chris>Higher capacity. And that's the idea of FileFridge here.

00:45:36.233 --> 00:45:39.093
<v Chris>And I just think it's brilliant. I'm wondering if there's other projects out

00:45:39.093 --> 00:45:43.413
<v Chris>there like this. You can set up rules and let FileFridge handle the cleanup on a schedule.

00:45:43.793 --> 00:45:46.853
<v Chris>The assembling thing is a really great idea. Then it'll also give you reports

00:45:46.853 --> 00:45:49.753
<v Chris>back on how much space you've saved. You can stay organized by using different

00:45:49.753 --> 00:45:53.713
<v Chris>tags and automated rules to categorize data across storage locations for,

00:45:53.813 --> 00:45:55.993
<v Chris>like, this goes to cloud, this goes to another disk.

00:45:56.153 --> 00:46:02.973
<v Chris>And it has a FileFridge progressive web app, so you can use it on mobile or desktop. FileFridge.

00:46:03.093 --> 00:46:03.813
<v Wes>I love the name.

00:46:04.333 --> 00:46:04.713
<v Chris>Yeah.

00:46:05.013 --> 00:46:07.373
<v Wes>Put your files in the fridge. Keep them good for later.

00:46:07.493 --> 00:46:11.393
<v Chris>It's a nice project, open source, by a community member of ours who's working

00:46:11.393 --> 00:46:13.153
<v Chris>our way on this. Looks like it's mostly Python.

00:46:13.453 --> 00:46:16.673
<v Brent>I have a sneaky app I'd like to throw in here.

00:46:16.693 --> 00:46:19.153
<v Chris>Ooh, a last-minute sneak? Go ahead.

00:46:19.393 --> 00:46:24.193
<v Brent>It's an app pick I've been using all week to continue the project we talked

00:46:24.193 --> 00:46:25.793
<v Brent>about last week on your diesel heaters.

00:46:27.093 --> 00:46:28.433
<v Chris>Reverse engineering the signal.

00:46:28.873 --> 00:46:33.813
<v Brent>Reverse engineering the protocol that the diesel heater of unknown make and model.

00:46:34.193 --> 00:46:38.033
<v Chris>Which could be any device. It could be a thermostat. I think people are sick

00:46:38.033 --> 00:46:39.613
<v Chris>of us talking about the diesel heaters. That's why I mentioned it.

00:46:40.033 --> 00:46:43.653
<v Chris>It's not specific to a diesel heater. It's any kind of proprietary device that

00:46:43.653 --> 00:46:46.073
<v Chris>has a communications protocol that you want to build a control.

00:46:46.553 --> 00:46:46.753
<v Brent>True.

00:46:47.073 --> 00:46:48.553
<v Chris>Thank you. All right. Just want to inject that.

00:46:49.625 --> 00:46:53.665
<v Brent>So I use the tool that is actually really great because we flash some logic

00:46:53.665 --> 00:46:56.865
<v Brent>analyzers to an ESP to try to break down that protocol.

00:46:57.285 --> 00:47:03.445
<v Brent>And this one is called SIGROC. And I think it's quite well known in those circles.

00:47:03.745 --> 00:47:09.225
<v Brent>But for those of us who are new to it, great tool. You could just flash it to an ESP.

00:47:09.645 --> 00:47:13.165
<v Brent>And it has something called a sub tool here called PulseView.

00:47:13.665 --> 00:47:18.885
<v Brent>And Chris, remember, I was able to show you the visual representation of the

00:47:18.885 --> 00:47:23.005
<v Brent>signal that was coming in on the data line on your diesel heater.

00:47:23.025 --> 00:47:25.785
<v Chris>Well, this is the part where I was like, this should be a pick.

00:47:26.365 --> 00:47:31.665
<v Chris>So you got the ESP doing the analysis and the whatnots, but then it's got a

00:47:31.665 --> 00:47:36.725
<v Chris>GUI for the Linux desktop to actually give you a visual of the signal.

00:47:36.865 --> 00:47:37.465
<v Wes>That's so great.

00:47:37.685 --> 00:47:41.525
<v Chris>So you could actually see like the boop, boop, boop, boop in the actual signal.

00:47:41.525 --> 00:47:46.845
<v Brent>Oh, which we didn't need. Like, we could do it itself, but it was so nice.

00:47:47.145 --> 00:47:48.565
<v Chris>It was really cool.

00:47:48.765 --> 00:47:53.025
<v Brent>And it has, like, the ability to auto-decode specific protocols.

00:47:53.025 --> 00:47:58.685
<v Brent>So then you could see the translated bits and bytes and messages that are being sent. Very cool.

00:47:59.025 --> 00:48:05.825
<v Chris>Pulse view, sometimes abbreviated as PV. And then the GUI part is a cute-based application.

00:48:06.145 --> 00:48:09.765
<v Wes>Logic analyzer, oscilloscope, and MSO GUI for Sigrock.

00:48:09.785 --> 00:48:14.705
<v Chris>That's cool. The GUI is licensed under GPL 2, I believe.

00:48:14.805 --> 00:48:18.045
<v Chris>So I think maybe the other side of it is – I'm not positive on that part.

00:48:18.643 --> 00:48:24.583
<v Chris>Oh, my goodness. So cool to walk up. And I mean, it's a it's a full on technical.

00:48:24.843 --> 00:48:28.843
<v Chris>Well, of course, I'm a noob. What the hell do I know? But you listeners,

00:48:28.923 --> 00:48:31.863
<v Chris>you got to check out the link in the show notes because the visualization it

00:48:31.863 --> 00:48:34.603
<v Chris>gives you is so neat to be able to.

00:48:34.963 --> 00:48:39.543
<v Chris>And then once you've once you've unlocked this, it's no longer proprietary for you.

00:48:39.723 --> 00:48:43.223
<v Chris>Right. It is under your no one else. Right. Well, you can publish it, I suppose.

00:48:43.383 --> 00:48:46.823
<v Brent>But our goal here, because we made quite a lot of progress is now Chris can

00:48:46.823 --> 00:48:49.483
<v Brent>just hit a button in his home assistant. Turn it on, turn it off,

00:48:49.583 --> 00:48:50.863
<v Brent>turn the heat up, turn the heat down.

00:48:51.003 --> 00:48:54.503
<v Brent>And we're working on getting other things like chamber temperatures and stuff like that.

00:48:54.663 --> 00:48:55.923
<v Chris>Which could be good for safety reasons.

00:48:56.123 --> 00:48:56.343
<v Wes>Totally.

00:48:56.583 --> 00:49:01.263
<v Brent>Very true. And for automations. And it's not done quite yet. We're sorry.

00:49:01.423 --> 00:49:05.123
<v Brent>But we will publish this to the JBE GitHub just to share it with the world.

00:49:05.283 --> 00:49:10.303
<v Chris>Yeah, maybe you've got an AC unit that you've wanted to be able to control or

00:49:10.303 --> 00:49:11.983
<v Chris>a garage door that has proprietary.

00:49:12.163 --> 00:49:15.403
<v Chris>Like there's all these things. Now, there's certain levels it won't be able to defeat.

00:49:16.243 --> 00:49:20.303
<v Chris>But there's a lot that it will and can. it really opens up a whole new world

00:49:20.303 --> 00:49:23.163
<v Chris>of like, just open it up and put some open source in it and make it better.

00:49:23.463 --> 00:49:26.663
<v Chris>You know, like they didn't ship it that way, but we can make it that way.

00:49:26.883 --> 00:49:29.363
<v Chris>And this opens it up to a whole new world of hardware, you know,

00:49:29.423 --> 00:49:33.383
<v Chris>pretty much anything that has control buttons and an LCD screen and with some

00:49:33.383 --> 00:49:35.343
<v Chris>power, you, I mean, that's what this thing's working with.

00:49:35.483 --> 00:49:37.663
<v Wes>And that's kind of been the missing link in a lot of ways, right?

00:49:37.763 --> 00:49:42.363
<v Wes>Like I remember in years past you, you know, giving tips of like,

00:49:42.503 --> 00:49:45.723
<v Wes>buy the dumbest thing you can, so you can do the automation with just a power

00:49:45.723 --> 00:49:46.623
<v Wes>or whatever your mechanism.

00:49:46.623 --> 00:49:49.603
<v Wes>So this may be unlocked stuff that you want a better device,

00:49:49.723 --> 00:49:52.383
<v Wes>but it comes with more, doesn't have simple analog controls.

00:49:52.563 --> 00:49:55.443
<v Chris>So much stuff now has like a digital control or soft buttons.

00:49:56.043 --> 00:49:58.803
<v Wes>Maybe remote, but proprietary with their own little thing.

00:49:59.003 --> 00:50:04.283
<v Chris>Yeah. Yeah. And no more. It is such an unlock when you start thinking about

00:50:04.283 --> 00:50:05.383
<v Chris>it. It's really been exciting.

00:50:05.583 --> 00:50:09.343
<v Chris>And so then to be able to see it work and see it graphically represented,

00:50:09.343 --> 00:50:12.363
<v Chris>it's like, oh, this is something else. And it's all free software.

00:50:12.943 --> 00:50:16.963
<v Chris>Pretty, pretty freaking cool. All right. We have some questions for you.

00:50:18.206 --> 00:50:22.346
<v Chris>So please do boost in on your thoughts around like the system D or technical

00:50:22.346 --> 00:50:26.486
<v Chris>implementations for age gating and verification, or if it's a hard line for

00:50:26.486 --> 00:50:27.746
<v Chris>you and what the alternatives are.

00:50:27.926 --> 00:50:31.326
<v Chris>And we're also looking for your ideas for kiosk mode for this thing and kind

00:50:31.326 --> 00:50:34.466
<v Chris>of anything you got, anything you picked up in that segment that we could make this better.

00:50:34.866 --> 00:50:37.806
<v Chris>Please do boost in. It'd be a great way to maybe make next episode a banger

00:50:37.806 --> 00:50:41.546
<v Chris>since this one was such a sleeper and also help us advance this project.

00:50:41.906 --> 00:50:43.526
<v Wes>And boost in with any good Vans.

00:50:44.106 --> 00:50:44.966
<v Chris>Yeah, let us know.

00:50:45.166 --> 00:50:47.926
<v Brent>Yes, please. That's actually the priority for all the other questions.

00:50:49.166 --> 00:50:51.466
<v Chris>Of course, you can always make it a live Tuesday on a Sunday.

00:50:51.686 --> 00:50:54.006
<v Chris>Join us Sundays at 10 a.m. Pacific, 1 p.m. Eastern.

00:50:57.066 --> 00:50:59.806
<v Chris>And if you want more show, remember that LUP plug gets together every single

00:50:59.806 --> 00:51:04.126
<v Chris>Sunday while we're streaming. And there is that bootleg version with twice the content.

00:51:04.366 --> 00:51:08.446
<v Chris>And Wes Pano, if they want more metadata information around the show,

00:51:08.526 --> 00:51:09.406
<v Chris>we got that too, don't we?

00:51:09.546 --> 00:51:12.946
<v Wes>Yes, we do. We got JSON chapters hosted in the cloud.

00:51:13.206 --> 00:51:18.186
<v Wes>And for finer grain detail, VTT and SRT files for transcripts.

00:51:18.206 --> 00:51:21.666
<v Chris>How enjoy that getting

00:51:21.666 --> 00:51:24.506
<v Chris>more and more useful every single day also very useful the

00:51:24.506 --> 00:51:28.426
<v Chris>links to everything we talked about those will be posted up at linuxunplugged.com slash

00:51:28.426 --> 00:51:34.746
<v Chris>659 you also find out how to contact us our mumble and our matrix info and a

00:51:34.746 --> 00:51:38.406
<v Chris>bunch of great shows over there at jupiterbroadcasting.com thanks so much for

00:51:38.406 --> 00:51:41.386
<v Chris>joining us on this week's episode of your unplugged program and we'll see you

00:51:41.386 --> 00:51:44.646
<v Chris>back here next tuesday as in sunday.

