1
00:00:11,500 -->
00:00:16,015
Hello, friends, and welcome back to your weekly Linux talk show. My name is Chris.
2
00:00:16,015 -->
00:00:16,705
My name is Wes.
3
00:00:16,705 -->
00:00:17,566
And my name is Brent.
4
00:00:18,228 -->
00:00:22,775
Hello, gentlemen. Coming up on the show this week, some of us build dashboards.
5
00:00:22,775 -->
00:00:26,053
Others turn their desktop into a dashboard.
6
00:00:26,413 -->
00:00:30,205
Quickshell is changing the Linux landscape in a massive way,
7
00:00:30,205 -->
00:00:31,417
and it kicked off this summer.
8
00:00:31,893 -->
00:00:35,045
We'll dig into what it is, how you can start having some fun with it,
9
00:00:35,242 -->
00:00:37,565
and what we've built. Then we're going to round out the show with some great
10
00:00:37,565 -->
00:00:41,765
boosts, some picks, and a lot more. So before we get there, let's say time-appropriate
11
00:00:41,765 -->
00:00:43,862
greetings to our virtual lug. Hello, Mumble Room.
12
00:00:44,693 -->
00:00:47,665
Hello, Chris. Hello, Brent.
13
00:00:47,665 -->
00:00:51,136
Hello. Happy birthday, PJ and everybody up there. Thank you for joining us.
14
00:00:51,635 -->
00:00:53,895
Also, look at that quiet listening, too. Hi up there.
15
00:00:53,895 -->
00:00:56,115
On a Sunday, on a Tuesday, no less.
16
00:00:56,115 -->
00:01:01,734
Getting that low latency, Opus. Also, a big good morning to our friends at Define Networking.
17
00:01:02,913 -->
00:01:07,371
Define.net slash unplug. Go meet Manage Nebula from Define Networking.
18
00:01:07,928 -->
00:01:11,215
When there's something as foundational as my network, I want to know I own the
19
00:01:11,215 -->
00:01:14,925
stack end to end, especially over the long term. If I build this thing and I
20
00:01:14,925 -->
00:01:17,286
build stuff on top of it, it's not a two year thing.
21
00:01:17,983 -->
00:01:21,825
It's a 10 year thing. This is what I love about Nebula. It's open source and
22
00:01:21,825 -->
00:01:26,465
it was originally built to secure Slack's massive global infrastructure.
23
00:01:26,465 -->
00:01:28,339
I mean, just think about that one for a second.
24
00:01:28,809 -->
00:01:31,925
And today it's trusted from everybody from Rivian to Home Labs.
25
00:01:31,925 -->
00:01:34,565
I mean, I use it in multiple different ways for small systems,
26
00:01:34,565 -->
00:01:36,918
direct direct to larger mesh networks.
27
00:01:37,580 -->
00:01:42,385
And Manage Nebula, which is define.net slash unplugged, Manage Nebula gives
28
00:01:42,385 -->
00:01:46,415
you the open foundation and peer-to-peer resilience while they handle the certificate
29
00:01:46,415 -->
00:01:48,412
management and some of the operational headaches.
30
00:01:48,679 -->
00:01:50,775
You can also spin up your own lighthouses in that scenario.
31
00:01:51,210 -->
00:01:54,978
You get full control without the busy work, without the big tech login barrier.
32
00:01:55,500 -->
00:01:59,365
Go get started 100 hosts for free, no credit card required, define.net slash
33
00:01:59,365 -->
00:02:04,154
unplugged. Go check it out. Redefine your VPN experience, define.net slash unplugged.
34
00:02:08,478 -->
00:02:12,953
All right, so I will admit it, I wanted to talk about QuickShell this week because
35
00:02:12,953 -->
00:02:15,055
I think something really special is happening here.
36
00:02:15,827 -->
00:02:20,332
QuickShell is a toolkit for building status bars, widgets, lock screens,
37
00:02:21,743 -->
00:02:25,073
other various desktop components, and it's using QtQuick and QML.
38
00:02:25,073 -->
00:02:28,737
And it can be used alongside your Wayland compositor or window manager,
39
00:02:29,480 -->
00:02:31,866
or you can build a complete desktop environment with it.
40
00:02:33,329 -->
00:02:36,731
And it's sort of the ultimate end result, I think, of Wayland.
41
00:02:37,555 -->
00:02:42,373
And it's fascinating because it means you don't actually need a desktop environment
42
00:02:42,373 -->
00:02:45,693
anymore. Now, it's not to take away from the hard work that they do to make
43
00:02:45,693 -->
00:02:46,832
a usable desktop environment.
44
00:02:47,319 -->
00:02:50,744
Yeah, if you want that, we have better options than ever, and it's excellent.
45
00:02:51,058 -->
00:02:55,463
But it does mean that you could mix and match, or you can now completely create
46
00:02:55,463 -->
00:03:00,843
your own environment in a way that's actually achievable to anyone listening to this podcast. Yeah.
47
00:03:02,243 -->
00:03:06,073
And that is remarkable because you don't need to be attached to any particular
48
00:03:06,073 -->
00:03:10,143
desktop vendor anymore or any particular toolkit. It's really fascinating.
49
00:03:10,584 -->
00:03:12,523
So it means, you know, if you want your own desktop widgets,
50
00:03:12,523 -->
00:03:15,443
your own launcher, your own lock screen, or if you want to take advantage of
51
00:03:15,443 -->
00:03:17,417
the many that are out there that have been built, you can.
52
00:03:18,613 -->
00:03:21,893
It gives you the building blocks to create or replace just about all the pieces
53
00:03:21,893 -->
00:03:25,993
of the desktop environment you care about, but still using a standard toolkit,
54
00:03:25,993 -->
00:03:30,182
a standard API, and sort of the best of Qt and modern Qt. You think that's fair? Yeah.
55
00:03:30,633 -->
00:03:32,663
Yeah. I mean, maybe it's worth thinking about where this all sits.
56
00:03:32,663 -->
00:03:37,383
So we talked about Wayland, right? So Wayland ends up being the protocol that
57
00:03:37,383 -->
00:03:40,248
sits at the bottom of things. So you need your actual Wayland compositor,
58
00:03:40,521 -->
00:03:43,733
which could be something like Hyperland or Neary or KWIN.
59
00:03:44,393 -->
00:03:47,603
There's a bunch of options. Sway uses like the WL roots stuff,
60
00:03:47,603 -->
00:03:49,033
which a bunch of them use under the hood.
61
00:03:50,761 -->
00:03:55,083
And then that lets you like draw stuff to the screen, right?
62
00:03:55,083 -->
00:03:57,303
But you actually, you're going to need to do more. And a lot of these provide
63
00:03:57,303 -->
00:03:59,235
some basic like window management and that kind of thing.
64
00:03:59,508 -->
00:04:04,893
But basically after that, nothing else, right? So if you want status indicators,
65
00:04:04,893 -->
00:04:06,673
you want things you can click to like
66
00:04:06,673 -->
00:04:09,858
move windows around or switch which workspace you're on or any of that.
67
00:04:10,049 -->
00:04:13,913
Or if you want to build a widget that has a common interface to talk to network manager.
68
00:04:13,913 -->
00:04:16,543
There you go. Maybe you want to be able to select your Wi-Fi network.
69
00:04:16,543 -->
00:04:17,853
None of that comes out of the box.
70
00:04:17,853 -->
00:04:21,393
So that's where you need this whole shell layer on top.
71
00:04:21,393 -->
00:04:25,273
And QuickShell is an interesting use where they took, I mean,
72
00:04:25,273 -->
00:04:29,573
like when I'm used to thinking about Qt, i think object oriented c plus plus
73
00:04:30,013 -->
00:04:31,813
you know what i mean it's low level uh,
74
00:04:32,329 -->
00:04:35,603
you can do lots of great stuff it's a whole toolkit for you know interfacing
75
00:04:35,603 -->
00:04:38,308
with wayland drawing things creating and managing windows,
76
00:04:38,923 -->
00:04:42,784
um but it involves compiling c plus plus and building c plus plus and kind of
77
00:04:43,068 -->
00:04:45,663
it sounds like something maybe you do if you were building your own plasma but
78
00:04:45,663 -->
00:04:49,353
doesn't really sound like something you want to do for quick you know i'm just
79
00:04:49,353 -->
00:04:53,353
working on trying to build out a cool new widget and that's where qml comes in
80
00:04:53,777 -->
00:04:56,807
and qml which is the cute markup language
81
00:04:57,243 -->
00:04:59,669
uh it's a declarative.
82
00:05:00,661 -->
00:05:04,347
A super simple little programming language, essentially, that lets you describe
83
00:05:04,347 -->
00:05:06,483
the widgets and the interface that you want to build.
84
00:05:06,843 -->
00:05:10,027
And then it can either be ahead of time compiled into C++ or,
85
00:05:10,027 -->
00:05:14,277
and this is the part that makes it super useful to work on, it can just be reloaded
86
00:05:14,277 -->
00:05:16,108
at runtime and drawn on the screen.
87
00:05:16,770 -->
00:05:21,187
And so QuickShell, under the hood you have Qt, and then you have QtQuick,
88
00:05:21,187 -->
00:05:25,337
which is a pre-bundled set of common stuff you can use, like basic drawing blocks.
89
00:05:25,337 -->
00:05:28,537
And the API, you want to be able to put rectangles and circles and all that
90
00:05:28,537 -->
00:05:29,634
kind of stuff on the screen.
91
00:05:30,104 -->
00:05:34,687
and quick shell takes that it sits and runs the cute event loop it's kind of
92
00:05:34,687 -->
00:05:38,045
going to be the thing that actually talks to the whaling compositor and draws things,
93
00:05:38,556 -->
00:05:42,377
and it looks on your file system wherever you tell it and it loads qml from
94
00:05:42,377 -->
00:05:46,294
there and then it can in a loop re-evaluate the qml,
95
00:05:46,799 -->
00:05:51,297
redraw stuff on the screen and it's done a lot of the hard work to build qml
96
00:05:51,297 -->
00:05:55,067
services which are basically extra apis available to you when you're writing
97
00:05:55,067 -->
00:05:56,492
a qml on top of quick shell
98
00:05:56,794 -->
00:06:01,357
that bind to like pipe wire and there's a plugin that handles niri or there's
99
00:06:01,357 -->
00:06:04,557
uh they have a first party plugin for hyperland so now you can get access to
100
00:06:04,557 -->
00:06:06,076
all of the hyperland stat state
101
00:06:06,413 -->
00:06:08,926
right in the qml and then the biggest part that is
102
00:06:09,338 -->
00:06:11,626
wild because this has been in since like q5,
103
00:06:12,659 -->
00:06:18,297
how far ahead it is in some ways is qml is designed to be reactive yes so think
104
00:06:18,297 -->
00:06:21,707
of it kind of like a spreadsheet right where you have linked formulas and cells
105
00:06:21,707 -->
00:06:25,427
yeah yeah and so you make a change in one cell and everything else automatically
106
00:06:25,427 -->
00:06:26,127
recomputes and updates.
107
00:06:26,207 -->
00:06:26,967
Rescales, yeah.
108
00:06:26,967 -->
00:06:31,787
And so you can describe declarative widgets and bars and panels and docs.
109
00:06:31,787 -->
00:06:33,313
And they'll rescale to the appropriate display.
110
00:06:33,574 -->
00:06:37,342
Well, not only that, but like if you update whatever data at the root,
111
00:06:37,562 -->
00:06:41,307
everything downstream, you don't have to handle like manually updating each
112
00:06:41,307 -->
00:06:44,117
part of the widget, right? It's much closer to something like React,
113
00:06:44,117 -->
00:06:47,036
where you describe what you want the final state to look like.
114
00:06:47,545 -->
00:06:51,271
And as long as you're binding in properties from QML...
115
00:06:52,358 -->
00:06:56,944
it all just auto-updates. It's like a differential data flow UI engine that
116
00:06:56,944 -->
00:06:58,912
you get for free just by using QML.
117
00:06:59,063 -->
00:07:01,294
That you can declaratively define.
118
00:07:01,294 -->
00:07:01,894
Exactly.
119
00:07:01,894 -->
00:07:07,167
It sounds like a completely new way to look at how to build desktops. Am I getting that wrong?
120
00:07:07,950 -->
00:07:11,346
No, you're getting it right. And what's new, what's changed,
121
00:07:11,462 -->
00:07:16,254
is in May, version 0.3.0 came out, which added a bunch of stuff,
122
00:07:16,254 -->
00:07:18,968
like PaulKit, Pipewire, Wayland idle timers,
123
00:07:19,784 -->
00:07:23,874
just more control over managing the windows, A lot of multi-monitor fixes went
124
00:07:23,874 -->
00:07:29,829
in, and then it was followed by a 0.31 stability release in late August,
125
00:07:30,340 -->
00:07:34,241
which fixed a few crashes involving multi-monitors and Wi-Fi and things like that.
126
00:07:35,001 -->
00:07:38,252
So it sort of got recognition after these more recent releases.
127
00:07:39,465 -->
00:07:43,914
You can use it alongside Plasma pretty easily. You can also use it on GNOME,
128
00:07:43,914 -->
00:07:46,413
although for full integration, you would need a corresponding extension.
129
00:07:47,829 -->
00:07:55,202
But it's really blowing up on Hyperland and other tiling window managers because
130
00:07:55,329 -->
00:07:59,194
there are projects that are now giving you more of a – I wouldn't call it a
131
00:07:59,194 -->
00:08:01,234
complete desktop because Wes will give me a hard time.
132
00:08:01,234 -->
00:08:04,314
But I would say it gives you like a status bar, application timers,
133
00:08:04,314 -->
00:08:07,555
a control center for like which Wi-Fi network, audio device,
134
00:08:07,978 -->
00:08:13,011
notifications and D&D, calendar integration, Bluetooth controls,
135
00:08:13,974 -->
00:08:17,104
you know, settings, drop down, things like that that are kind of nice to have
136
00:08:17,104 -->
00:08:21,765
on any desktop that don't come inherently with nearly any of these tiling window managers.
137
00:08:21,963 -->
00:08:25,614
Sort of the day-to-day stuff that you'd expect to like run and operate a machine
138
00:08:25,614 -->
00:08:29,492
just from the GUI without having to know a bunch of keyboard shortcuts or stuff like that.
139
00:08:29,811 -->
00:08:33,054
But they're, and it's beautiful. It's also, I don't know if we've touched on
140
00:08:33,054 -->
00:08:34,646
this, but it's gorgeous.
141
00:08:35,198 -->
00:08:38,791
It's, it looks like some of the most modern desktop Linux out there.
142
00:08:39,790 -->
00:08:43,084
And Hyperland really is a nice fit because it's a very smooth desktop,
143
00:08:43,084 -->
00:08:44,154
but it doesn't bring anything.
144
00:08:44,903 -->
00:08:47,451
And really, and so this kind of gives you something to work with.
145
00:08:47,991 -->
00:08:51,712
The other reason it's getting some traction is Amarchi is using it, Amarchi.
146
00:08:52,467 -->
00:08:56,354
They have a Quattro release in the works, and they've kind of built a whole
147
00:08:56,354 -->
00:08:59,020
Hyperland shell around QuickShell.
148
00:08:59,653 -->
00:09:03,270
And the desktop is a QuickShell process called Amarchi shell,
149
00:09:03,734 -->
00:09:07,334
and has a top bar, drop-down control panels, notifications, volume,
150
00:09:07,774 -->
00:09:10,954
brightness stuff, application menu, clipboard, emoji, overlays,
151
00:09:10,954 -->
00:09:12,842
lock screen. Yeah, these are the whole lock screen.
152
00:09:13,765 -->
00:09:15,866
You know, pseudo-prompts, background services.
153
00:09:16,842 -->
00:09:19,556
And because everything is sort of like Gnome Shell, where it's sort of one big,
154
00:09:19,556 -->
00:09:23,116
large process, they can rechange and refresh stuff while it's running.
155
00:09:23,116 -->
00:09:26,594
But they also have a plug-in system, which sits on top of QuickShell.
156
00:09:26,966 -->
00:09:28,136
They've already had over a
157
00:09:28,136 -->
00:09:31,482
thousand different contributions of plug-ins in their quote-unquote store.
158
00:09:31,952 -->
00:09:33,956
They also ran a little bit of a competition,
159
00:09:33,956 -->
00:09:36,286
and they awarded some of the competitions and stuff like that.
160
00:09:37,060 -->
00:09:40,206
Yeah, this is where it kind of gets interesting that it's using QML.
161
00:09:40,206 -->
00:09:43,746
Because at first, it kind of just, you know, you could almost view it like sort
162
00:09:43,746 -->
00:09:46,476
of something like Nix. It's declarative. You set a lot of properties,
163
00:09:46,476 -->
00:09:49,646
right? Like I need to set the width of this piece of the UI or something,
164
00:09:49,646 -->
00:09:51,792
you know, the background color, all those kinds of normal things.
165
00:09:52,350 -->
00:09:56,576
But the properties can also be expressions, which are just JavaScript.
166
00:09:56,576 -->
00:10:00,996
And once you put that there, you can basically do anything. It becomes essentially
167
00:10:00,996 -->
00:10:02,085
a full programming language.
168
00:10:02,566 -->
00:10:05,585
And so that means you can have really self-contained little plugins because,
169
00:10:06,798 -->
00:10:10,806
Quickshell and QML offer stuff like, you know, talking to REST APIs,
170
00:10:10,806 -->
00:10:14,362
reading files on the file system, doing like Dbus and Unix sockets.
171
00:10:14,676 -->
00:10:17,659
you get all kinds of different ways to pull data in. So if you want,
172
00:10:17,955 -->
00:10:20,866
however you want to surface that, an API that runs on your box,
173
00:10:20,866 -->
00:10:25,896
a file from the file system, something else, if you can use those hooks to bring
174
00:10:25,896 -->
00:10:29,416
data into QML, then the rest of the stuff all just applies, right?
175
00:10:29,416 -->
00:10:32,346
So it's the second you've got it in there, you can build a UI with it.
176
00:10:32,346 -->
00:10:35,666
I did, and I'll talk about that in a little bit. I built a couple things.
177
00:10:35,858 -->
00:10:39,474
And so the Omachi setup is,
178
00:10:39,950 -->
00:10:42,826
you can have this top level, it's all just like, you can just have essentially
179
00:10:42,826 -->
00:10:46,166
a big folder of QML, And then because the plugins are mostly self-contained,
180
00:10:46,166 -->
00:10:49,146
then we could rely on like Hyperland specific stuff or whatever,
181
00:10:49,146 -->
00:10:51,490
you know, there's some more specificity in some of them.
182
00:10:51,699 -->
00:10:56,916
But in general, you just drop that folder in the tree and Quickshell is already
183
00:10:56,916 -->
00:11:00,386
set up to reload that anyway. And then the second you reference it anywhere
184
00:11:00,386 -->
00:11:02,954
else or, you know, it can tie up all the strings for you.
185
00:11:03,580 -->
00:11:04,175
And then you're done.
186
00:11:04,175 -->
00:11:07,115
And one of the nice things about that is it keeps a real consistent look.
187
00:11:07,115 -->
00:11:10,215
So all of their plugins for their desktop, for their Quattro desktop,
188
00:11:10,616 -->
00:11:14,625
they all have a consistent theme. And when you change the shell theme,
189
00:11:14,625 -->
00:11:19,215
they all immediately adapt and are consistent. It's very, it's really quite nice.
190
00:11:19,215 -->
00:11:24,735
Yeah. And so internally, they can expose sort of properties inside QML.
191
00:11:24,735 -->
00:11:27,115
And then so when you're building a downstream plugin, if you just reference
192
00:11:27,115 -->
00:11:29,175
that, you automatically get that consistency.
193
00:11:29,175 -->
00:11:32,935
So historically, throughout Linux and all the various distributions that are
194
00:11:32,935 -->
00:11:35,935
out there, we had these boutique distributions where, you know,
195
00:11:35,935 -->
00:11:39,575
a couple of Rockstar developers would or one Rockstar developer or whatever
196
00:11:39,575 -->
00:11:43,955
it might be, would get together and they would create their version of a desktop environment.
197
00:11:43,955 -->
00:11:46,941
We still have versions of these at different scales.
198
00:11:48,045 -->
00:11:51,955
But what I think we're going to see with QuickShell and AI-assisted development
199
00:11:51,955 -->
00:11:55,672
and with bases like Arch and NixOS is you're going to see….
200
00:11:56,973 -->
00:12:02,932
Hundreds and thousands of little teeny tiny micro distros that are their own
201
00:12:02,932 -->
00:12:06,993
composite, like mine. Like Hypervibe is now, it's a base of Nix OS.
202
00:12:08,032 -->
00:12:12,842
The window manager is Wayland Hyperland. And then the entire shell now from
203
00:12:12,842 -->
00:12:16,374
the lock screen, the login screen, everything is all QuickShell.
204
00:12:17,361 -->
00:12:21,703
I've built it all. I've built my entire, my desk over the last three days.
205
00:12:22,318 -->
00:12:26,342
Well, okay, there's a little more. And I've deployed it to all my systems with
206
00:12:26,342 -->
00:12:28,712
multiple different – every system has a different video card,
207
00:12:28,712 -->
00:12:29,777
a different monitor layout.
208
00:12:30,782 -->
00:12:35,762
And it's my desktop shell now. And it really wasn't – it's not like I sat down
209
00:12:35,762 -->
00:12:36,862
and, like, learned how to do C++.
210
00:12:37,816 -->
00:12:41,891
Quick shell is so straightforward, and it's so easy for agents to manage as well.
211
00:12:42,768 -->
00:12:47,835
Or for a person to just do, you know, by hand, all 100% human Greg created.
212
00:12:48,335 -->
00:12:51,062
It's approachable that way too. So it's really going to create,
213
00:12:51,062 -->
00:12:54,362
I believe, because we already have so many great distros, especially like when
214
00:12:54,362 -->
00:12:56,802
you think about the Ublues you could easily rebase on and Silverblue.
215
00:12:56,802 -->
00:13:01,837
There's so many great base distros out there to then just build your own layer on top of.
216
00:13:02,650 -->
00:13:05,993
And you'll just see people will just be hundreds, if not thousands of GitHub
217
00:13:06,115 -->
00:13:10,022
repos and GitLab repos out there of people just running their own distro now.
218
00:13:10,318 -->
00:13:13,962
And I bet, I bet if people boosted in our email, I bet you a lot of people in
219
00:13:13,962 -->
00:13:15,816
our audience are already doing this.
220
00:13:17,035 -->
00:13:20,052
And this is what's being this is what quick shell is unlocking now is this last
221
00:13:20,052 -->
00:13:24,432
layer this last layer of the desktop can now be completely yours or there's
222
00:13:24,432 -->
00:13:28,332
so many cool community spins out there you can take in i just think that's really neat.
223
00:13:28,332 -->
00:13:32,262
Yeah there's like a critical mass factor i like your comparison with nix right
224
00:13:32,262 -->
00:13:36,082
because there's a long time where nix was like okay really cool technology but
225
00:13:36,082 -->
00:13:37,862
if nix packages didn't really have enough,
226
00:13:38,562 -->
00:13:41,152
you're not going to take all the time to reboot strap your whole environment
227
00:13:41,152 -->
00:13:45,022
every time right so and i think that's where we're getting now.
228
00:13:45,022 -->
00:13:45,960
It's like Quickshell has...
229
00:13:47,005 -->
00:13:50,092
QML has been around for a while, right? We've had a lot of these primitives.
230
00:13:50,092 -->
00:13:53,982
QuickShell's now got a rich enough API and we've got so much stuff that's building
231
00:13:53,982 -->
00:13:57,792
on top of it and sort of figuring out some of the quirks of the system and how
232
00:13:57,792 -->
00:14:01,022
to wire it up robustly and it's open source.
233
00:14:01,022 -->
00:14:05,472
So now we just have all of these pieces that even if you can't just exactly
234
00:14:05,472 -->
00:14:09,362
pull the thing, most of it's going to be declared to VUI and maybe you need
235
00:14:09,362 -->
00:14:11,992
to fuss a little with where the data comes in and out or whatever.
236
00:14:12,744 -->
00:14:18,241
But that's it. And you have a bunch of examples of how to do it or reinvent yourself?
237
00:14:19,002 -->
00:14:21,712
This is what I wanted Plasma Widgets to be.
238
00:14:23,092 -->
00:14:27,332
I remember when QML was first introduced and I thought there's real potential here for all of this.
239
00:14:27,918 -->
00:14:31,432
The other thing I think that's moving the needle a little bit is the Omicron
240
00:14:31,432 -->
00:14:35,342
Foundation announced that it has become a premier sponsor of Quickshell and
241
00:14:35,342 -->
00:14:39,802
its lead developer, who's known publicly as Outfoxed, and the sponsorship is
242
00:14:39,802 -->
00:14:42,006
initially set to run for three years.
243
00:14:42,702 -->
00:14:46,272
They're also sponsoring Vaxery from Hyperland for, I believe,
244
00:14:46,732 -->
00:14:48,879
three years, perhaps, with the option to even extend that.
245
00:14:49,273 -->
00:14:53,872
So both the Hyperland component and the Quickshell component now have at least
246
00:14:53,872 -->
00:14:56,268
three years of full-time funding for development.
247
00:14:56,826 -->
00:14:59,763
So they're probably not slowing down because that just happened.
248
00:15:00,082 -->
00:15:02,592
Yeah, that means you can actually, you know, you can take some stuff off the
249
00:15:02,592 -->
00:15:04,422
backlog, you can plan out some
250
00:15:04,422 -->
00:15:07,013
months at a time to figure out what things you're going to be building.
251
00:15:07,449 -->
00:15:07,712
Yeah.
252
00:15:07,712 -->
00:15:09,032
That's an enviable position.
253
00:15:09,032 -->
00:15:12,142
So I feel like you're going to hear more about Quickshell, and one of the ways
254
00:15:12,142 -->
00:15:15,582
you're going to experience it is You'll probably see at least Plasma-based distros
255
00:15:15,582 -->
00:15:17,596
start shipping different QuickShell applications,
256
00:15:18,147 -->
00:15:20,562
not to spoil the picks, but that's another thing that's happening is people
257
00:15:20,562 -->
00:15:24,382
are able to also publish standalone applications using QuickShell,
258
00:15:24,899 -->
00:15:27,139
which is very fascinating. I played with some of those too.
259
00:15:27,546 -->
00:15:30,019
But I think we should talk about some of the stuff we built. Yeah.
260
00:15:40,546 -->
00:15:44,375
So with all that fun, we built a thing, we extended it, and well,
261
00:15:44,375 -->
00:15:45,934
of course, we have some notes.
262
00:15:46,205 -->
00:15:50,925
But before we get there, let's talk a bit more about these community plugins.
263
00:15:51,935 -->
00:15:54,175
I thought this was an interesting way to kind of kick things off.
264
00:15:54,175 -->
00:15:58,015
You know, Omar, she held this community plugin contest and awarded some cash
265
00:15:58,015 -->
00:16:02,460
prizes to some of the number one plugins for their platform.
266
00:16:02,964 -->
00:16:09,542
And can and have been pretty straightforward to just port these to my own setup.
267
00:16:11,035 -->
00:16:14,665
really it's not hard these are not like inherently locked into oma archie they
268
00:16:14,665 -->
00:16:17,655
might be designed around oma archie but they're not inherently locked in.
269
00:16:17,655 -->
00:16:20,715
Which is a great point because from the outside especially if you are coming
270
00:16:20,715 -->
00:16:24,915
from like an ohm or plasma it could be kind of hard to understand like is this
271
00:16:24,915 -->
00:16:29,275
compatible what parts of this can i use or not use and you're not using that
272
00:16:29,275 -->
00:16:31,305
you're using a different shell which we can.
273
00:16:31,305 -->
00:16:32,525
Talk more about yeah yeah so.
274
00:16:32,525 -->
00:16:35,419
I think it's a great test case because it does show like unless it's trying
275
00:16:35,570 -->
00:16:38,505
it helps probably that you're on the same compositor but like unless you're
276
00:16:38,505 -->
00:16:42,095
unless it really needs some sort of hyper specific omachi information.
277
00:16:42,298 -->
00:16:45,785
Or design elements right i mean they have a very unique style i like it i mean
278
00:16:45,785 -->
00:16:50,775
it is it is a good look uh i just it's not the shell i'm using uh but one of the number one uh,
279
00:16:51,595 -->
00:16:55,755
plugins is really cool it's called radio atlas and it is a plugin that allows
280
00:16:55,755 -->
00:16:59,705
you to rotate a globe and then little dots on the map throughout and around
281
00:16:59,705 -->
00:17:04,055
the world and when you click the dot it plays the radio station from that area
282
00:17:04,055 -->
00:17:06,510
around the world it's basically got all the radio stations,
283
00:17:06,992 -->
00:17:10,275
and it's just a really neat thing to have like if you like me i really enjoy
284
00:17:10,275 -->
00:17:14,695
trying especially around the states different local radio local tv,
285
00:17:15,915 -->
00:17:19,615
and it's just really well done and it's like an example of what actually is
286
00:17:19,615 -->
00:17:26,215
a very powerful and very nice user interface very high-end user interface that
287
00:17:26,215 -->
00:17:29,095
is done with this kind of simple quick shell setup.
288
00:17:29,435 -->
00:17:33,135
It gets it much closer to like if you were comfortable building out like a simple
289
00:17:33,135 -->
00:17:38,975
React UI you can now do a similar thing except it's a part of the desktop.
290
00:17:38,975 -->
00:17:39,528
Or you know,
291
00:17:40,602 -->
00:17:45,850
Claude Code can. The other one that I thought was just a great idea that I'll
292
00:17:45,850 -->
00:17:49,547
probably be borrowing is the Home Assistant QuickShell integration.
293
00:17:49,745 -->
00:17:53,910
To just be able to control different parts of your Home Assistant right there in the bar.
294
00:17:54,310 -->
00:17:58,080
Very, very beautifully done. Again, not necessarily locked to one particular
295
00:17:58,080 -->
00:18:01,400
project, which is really great. So they have some really wonderful plugins,
296
00:18:01,400 -->
00:18:04,054
and you can just browse them and get an idea of what people are building.
297
00:18:05,174 -->
00:18:08,332
And I did that. And I found one called SyncShell.
298
00:18:08,594 -->
00:18:10,352
Oh, okay.
299
00:18:10,631 -->
00:18:16,082
Sync Shell is a health and monitoring widget for Sync Thing.
300
00:18:17,144 -->
00:18:20,772
And you can control and install or control service, pause syncing, things like that.
301
00:18:21,022 -->
00:18:24,598
And as we know, you've recently recommitted to our dear Sync Thing.
302
00:18:24,766 -->
00:18:29,040
That's right. So this one was built. Sync Shell is built for Oma Archie,
303
00:18:29,040 -->
00:18:31,830
although the project does stay. You know, we're totally open to expanding in
304
00:18:31,830 -->
00:18:33,740
the future. So I may link them what I did.
305
00:18:34,152 -->
00:18:39,568
Because I have built my shell around Dank Linux, the DMS shell.
306
00:18:39,922 -->
00:18:45,250
Dank Shell is beautiful. So I took a lot of my design from Dank Shell,
307
00:18:45,250 -->
00:18:51,799
which is, you know, it's like a it's a community made desktop for Sway,
308
00:18:52,019 -->
00:18:54,452
really any Wayland, any Wayland desktop.
309
00:18:54,876 -->
00:18:59,860
And it's beautiful. It's so gorgeous. It's so nice. And so I just sort of like
310
00:18:59,860 -->
00:19:04,860
aped all of this and then wanted to create a SyncThing widget that matches that design.
311
00:19:05,191 -->
00:19:08,110
And I'm going to publish this. So if you end up playing around with this listener
312
00:19:08,110 -->
00:19:11,100
and you also use sync thing and you would like a sync thing widget for your
313
00:19:11,100 -->
00:19:14,258
dank desktop, I will publish this in the show notes.
314
00:19:14,653 -->
00:19:20,880
I have made sync shell and it is kind of my, you know, quick copy.
315
00:19:20,880 -->
00:19:23,710
This is a read only version. It tells you the current status of things,
316
00:19:23,710 -->
00:19:26,848
where they're synced, how much space is transferred, where what's left.
317
00:19:27,284 -->
00:19:31,610
You can see I have 73 gigabytes indexed across 11 folders. And I'm currently
318
00:19:31,610 -->
00:19:33,750
updating this week in Bitcoin. And...
319
00:19:35,022 -->
00:19:39,346
It's QML, JavaScript, and a little Nix language so I can get it easily going on my host.
320
00:19:39,590 -->
00:19:42,789
Nice. See, and this is great, too, because you've already tried experimenting
321
00:19:42,789 -->
00:19:44,385
with, like, can I have this?
322
00:19:45,070 -->
00:19:48,349
One thing I'm excited about here is the composability, right?
323
00:19:48,349 -->
00:19:51,019
So you can just sort of publish this. It's just some bits. You don't really
324
00:19:51,019 -->
00:19:53,992
need to compile anything or do any complicated build.
325
00:19:54,521 -->
00:19:57,619
And so you can have a simple Nix package that kind of just puts the bits on
326
00:19:57,619 -->
00:19:59,641
disk and then pull them in the right spot.
327
00:19:59,977 -->
00:20:05,126
And it's really good at handling various monitor layouts and panel size differences.
328
00:20:05,329 -->
00:20:09,029
which has been really, really nice because I have really weird esoteric vertical
329
00:20:09,029 -->
00:20:14,165
monitors and every monitor has a different resolution in some systems. It's really crazy.
330
00:20:14,780 -->
00:20:18,139
So it's been nice to build something because I have one Nix config for all these
331
00:20:18,139 -->
00:20:21,179
hosts. So it's really nice to be able to build something that does work across
332
00:20:21,179 -->
00:20:22,675
multiple hosts but is still adaptive.
333
00:20:22,829 -->
00:20:26,459
You can have customizations but it's not like a crazy thing where you're constantly
334
00:20:26,459 -->
00:20:28,799
duplicating everything and having to do a bunch of jank.
335
00:20:28,799 -->
00:20:33,519
I really like that. It feels like mine too in a way that I wasn't really missing
336
00:20:33,519 -->
00:20:36,059
some of this stuff but now that I have it, I don't think I can go back.
337
00:20:36,929 -->
00:20:40,006
It is still sort of feels early. It is kind of easy every now and then to like,
338
00:20:40,523 -->
00:20:44,809
slip into an accidental like CPU loop where it's like eating a lot of CPU because
339
00:20:45,149 -->
00:20:47,529
something in the bar didn't render correctly. And it takes me a minute to catch
340
00:20:47,529 -->
00:20:50,507
that. But that's my own foot gun. Not inherent to quick show.
341
00:20:51,192 -->
00:20:52,979
Did you have anything you built or play around with?
342
00:20:52,979 -->
00:20:56,318
I did. Yeah. So, okay. One thing I find fascinating here is.
343
00:20:57,160 -->
00:21:01,549
because there's this connection with, you know, drawing UIs,
344
00:21:01,775 -->
00:21:05,467
the flip side of that, which has become quite the study in the web world,
345
00:21:05,751 -->
00:21:07,777
is like you need state management, right?
346
00:21:07,777 -->
00:21:10,680
So like you have the UI, but the UI is displaying state, which could be,
347
00:21:11,045 -->
00:21:13,807
you know, the external state of your sync thing, or it could be like where the
348
00:21:13,807 -->
00:21:15,807
windows are and which windows exist and how many workshops you have.
349
00:21:16,207 -->
00:21:17,047
But what's the source of truth kind of thing?
350
00:21:17,047 -->
00:21:17,417
Yes.
351
00:21:17,417 -->
00:21:17,757
Okay.
352
00:21:17,757 -->
00:21:21,787
And different desktops have taken different paths on some of this, right?
353
00:21:21,787 -->
00:21:22,077
Yeah, yeah.
354
00:21:22,077 -->
00:21:27,247
So like the stuff that this latest Omachi is doing is really like QML QuickShell
355
00:21:27,247 -->
00:21:31,177
native, where it's all there. It's just one tree. The state lives mostly in
356
00:21:31,177 -->
00:21:33,962
that system besides like some config files on disk.
357
00:21:34,450 -->
00:21:38,157
But DankMaterialShell kind of took a different path. They have a separate Go
358
00:21:38,157 -->
00:21:40,527
daemon that sort of does a lot of the stuff under the hood.
359
00:21:40,527 -->
00:21:40,876
Yeah.
360
00:21:41,010 -->
00:21:45,107
And then QML talks to it over two different sockets. One's like a request response.
361
00:21:45,107 -->
00:21:47,796
And then the other one, it sort of subscribes for updates.
362
00:21:48,115 -->
00:21:53,437
And so the Go daemon can kind of own a bunch of the state. and then QML ends
363
00:21:53,437 -->
00:21:55,487
up being used sort of as the presentation layer.
364
00:21:55,650 -->
00:21:59,357
That's one of the things that actually drew me to Dank. I mean,
365
00:21:59,357 -->
00:22:01,727
because you need something that's doing that management and that dispatch.
366
00:22:01,727 -->
00:22:02,867
I thought that was a good way to do it.
367
00:22:02,867 -->
00:22:06,296
Yeah, absolutely. And what's fun is you get various sort of like there's different,
368
00:22:06,459 -->
00:22:10,287
it fits into sort of theoretical computer science because there's just various
369
00:22:10,287 -->
00:22:13,777
ways of managing state and various ways of handling and updating UIs.
370
00:22:13,777 -->
00:22:17,647
And so you get, QML handles a certain amount of it and then everything else,
371
00:22:17,647 -->
00:22:20,767
you get to see this sort of plethora of different open source takes,
372
00:22:20,767 -->
00:22:25,777
right? So there's like Celestia, they compile a C++ plugin that they load,
373
00:22:25,777 -->
00:22:27,170
and that's where the config lives.
374
00:22:28,227 -->
00:22:31,747
There's a bunch of different use cases. Some folks even like Noctalia used to
375
00:22:31,747 -->
00:22:35,233
use QuickShell, but now they're just going C++ native entirely.
376
00:22:35,819 -->
00:22:41,677
Yeah. So I decided I'd build my own shell, kind of inspired by what Dank is doing.
377
00:22:41,677 -->
00:22:44,753
Oh, this is exciting. Brent, what do you think? Okay, Brent.
378
00:22:45,020 -->
00:22:49,827
Brent, what is Wes's desktop shell? What are the key things that Wes has to
379
00:22:49,827 -->
00:22:51,394
have on his desktop shell? What do you think?
380
00:22:52,057 -->
00:22:54,017
app launcher probably maybe you.
381
00:22:54,017 -->
00:22:57,767
Know i think he's gonna hide that i think is he's gonna get to an app launcher
382
00:22:57,767 -->
00:23:00,637
with the keyboard shortcuts but right but i mean and.
383
00:23:00,637 -->
00:23:02,732
I guess you could use another one too you don't have to build one.
384
00:23:03,377 -->
00:23:08,687
He wants a bunch of visibility into like multitasking i think so similar like
385
00:23:08,687 -->
00:23:12,857
pinning your tabs in your you know browser some people do this i hear i bet
386
00:23:12,857 -->
00:23:16,197
you he has like a sidebar or something where you can see the progress of,
387
00:23:16,997 -->
00:23:21,167
everything that's going on at a glance and then you know keyboard shortcuts
388
00:23:21,167 -->
00:23:22,857
to quickly move to them uh you should.
389
00:23:22,857 -->
00:23:23,777
Call it the pain bench.
390
00:23:25,341 -->
00:23:26,057
I like what.
391
00:23:26,057 -->
00:23:27,257
You guys are crafting for me.
392
00:23:27,257 -->
00:23:31,377
Can you write some of this down someone recorded right well.
393
00:23:31,377 -->
00:23:35,417
I'm thinking i'm thinking like uh it depends on how far you want to go right
394
00:23:35,417 -->
00:23:40,260
because oh man you could build one that has like a wi-fi network manager interface you,
395
00:23:42,071 -->
00:23:44,891
Why not have a button that executes K-Exec? You could just have that.
396
00:23:44,891 -->
00:23:48,591
Oh, I don't have that yet. K-Exec on the fly. Okay, so tell us, what is your desktop?
397
00:23:49,211 -->
00:23:52,231
What is it? Well, so right now it's super minimal. I went with Neary as the
398
00:23:52,631 -->
00:23:56,293
scrollable Wayland compositor under the hood. Nice.
399
00:23:56,688 -->
00:24:00,391
And then on top of that, well, naturally because it's me, I have a Clojure Babashka
400
00:24:00,391 -->
00:24:05,161
program, and it's serving the role of that Go program. So it's sort of the state
401
00:24:05,161 -->
00:24:08,118
manager and the brain, and then it subscribes.
402
00:24:08,374 -->
00:24:12,371
Neary has an event socket, And so you talk to that. The first thing is it pushes
403
00:24:12,371 -->
00:24:14,347
the current state of everything it knows.
404
00:24:14,655 -->
00:24:17,851
And then after that, it will send events whenever you do stuff,
405
00:24:17,851 -->
00:24:19,958
right? You click or you move windows or you do whatever.
406
00:24:20,121 -->
00:24:20,661
This guy.
407
00:24:20,661 -->
00:24:21,211
And then so,
408
00:24:23,250 -->
00:24:25,011
the brain just gets those and.
409
00:24:25,011 -->
00:24:28,651
Sort of- So Neri's doing that inherently and you're just writing on top of that?
410
00:24:28,651 -->
00:24:29,741
Yeah, so it subscribes.
411
00:24:29,741 -->
00:24:30,471
Oh, that's great.
412
00:24:30,471 -->
00:24:34,831
So anytime you know, like if I like click a button that takes me to Workshop
413
00:24:34,831 -->
00:24:38,351
2 or Workspace 2, that sends an event that says that, right?
414
00:24:38,351 -->
00:24:42,047
And then so the Clojure program does what's known as like a reduce or a fold.
415
00:24:42,337 -->
00:24:45,351
So every time it gets an event, it just updates state, right?
416
00:24:45,351 -->
00:24:47,661
It says like, oh, I know that what changed. Let me keep track of it.
417
00:24:48,188 -->
00:24:54,371
And then anytime you have an update, you render out now what the state looks
418
00:24:54,371 -->
00:24:56,072
like, right? And so that gets pushed.
419
00:24:56,239 -->
00:24:57,591
You could do it over a socket or
420
00:24:57,591 -->
00:24:59,746
I'm just doing a file right now because I don't have that much in there.
421
00:25:00,135 -->
00:25:03,578
So it has opportunity there to update the state.
422
00:25:03,693 -->
00:25:07,241
It controls that and it can fire off events or whatever and actions that are
423
00:25:07,241 -->
00:25:11,451
needed when you see like, oh this thing changed sure what do I need to do and then,
424
00:25:11,911 -->
00:25:16,331
QML is set up to be the rendering side so it reads the state.json file and then
425
00:25:16,331 -->
00:25:19,211
that has everything it needs to display everything of course and then source
426
00:25:19,211 -->
00:25:23,591
of truth just like a lot of these are doing um QuickShell has an IPC
427
00:25:24,031 -->
00:25:27,541
that you can talk to right so essentially it then triggers things in QuickShell
428
00:25:27,541 -->
00:25:31,031
so like when you click one of the things it had to build was like a little workspace
429
00:25:31,031 -->
00:25:33,951
switcher yeah there's also basic stuff for just being able to click and see
430
00:25:33,951 -->
00:25:35,805
what windows are open and click on those.
431
00:25:36,078 -->
00:25:37,771
Okay so you got a window switcher.
432
00:25:38,291 -->
00:25:39,445
And so that took,
433
00:25:40,350 -->
00:25:45,067
all of that loop to be able to work right um and so i was trying to figure out
434
00:25:45,067 -->
00:25:47,212
like what exactly all do you need
435
00:25:47,600 -->
00:25:51,807
um so that gave me like a very basic i've got my clock i've got my very basic
436
00:25:51,807 -->
00:25:55,167
window controls right everything working there uh and then of course i had to
437
00:25:55,167 -->
00:25:59,367
add basic system monitoring right so like live cpu and disk and networking.
438
00:25:59,367 -->
00:26:02,471
Nice oh i didn't think you'd do monitoring that's cool uh.
439
00:26:02,837 -->
00:26:07,767
And then uh i figured you know because in case brantley wanted to use any of
440
00:26:07,767 -->
00:26:12,727
this i did add a little monitor that tells me the Firefox windows I have open
441
00:26:12,727 -->
00:26:14,077
and how many tabs they have in each of them.
442
00:26:14,477 -->
00:26:15,437
Called it. Good call.
443
00:26:17,233 -->
00:26:21,000
And then I did also build a cute little power profile switcher.
444
00:26:21,198 -->
00:26:21,620
Oh, yeah.
445
00:26:21,620 -->
00:26:23,420
So you can kind of just click that and toggle it.
446
00:26:23,420 -->
00:26:24,160
And you know it works.
447
00:26:24,971 -->
00:26:28,030
And then the fanciest thing I've built so far, because a lot of this was just
448
00:26:28,030 -->
00:26:30,620
trying to get the underlying architecture to work at all and be like an actual
449
00:26:30,620 -->
00:26:36,170
desktop I could use without having to switch back, is a little open code session viewer.
450
00:26:36,170 -->
00:26:37,680
I was thinking about building one of those.
451
00:26:37,680 -->
00:26:42,210
So it tells me I have 11 sessions over the last 24 hours, 32 million tokens,
452
00:26:42,210 -->
00:26:44,350
you know, and then it tells me like how much I've spent. and then you click
453
00:26:44,350 -->
00:26:47,910
it and this took a little bit, you know, to make work. It's not very,
454
00:26:47,910 -->
00:26:52,020
it's not fancy yet, but you click it and it drops down and it shows you like the most recent ones.
455
00:26:52,020 -->
00:26:52,440
Oh, I love it.
456
00:26:52,440 -->
00:26:52,810
Yeah.
457
00:26:52,810 -->
00:26:58,180
And their title. Yeah. That's great. So to sort of double down on that point,
458
00:26:58,180 -->
00:27:01,270
we're talking about a lot like building your desktop and creating a shell and
459
00:27:01,270 -->
00:27:05,031
replacing Plasma or GNOME, but you could just build that widget.
460
00:27:05,350 -->
00:27:05,690
Yeah.
461
00:27:05,690 -->
00:27:08,540
And you could just use it on whatever desktop you'd like today.
462
00:27:08,540 -->
00:27:10,400
You do not need to replace the entire shell.
463
00:27:10,400 -->
00:27:13,250
So if you just want a widget for a thing that's unique to you,
464
00:27:13,250 -->
00:27:15,600
Like I was kind of joking in the intro, you could turn your dashboard,
465
00:27:15,600 -->
00:27:19,190
you could turn your desktop into a dashboard because you could just build like
466
00:27:19,190 -->
00:27:21,313
I built a sync thing. You built an open code thing.
467
00:27:21,626 -->
00:27:23,800
They don't require that you build your whole shell.
468
00:27:24,360 -->
00:27:26,990
You could actually just make them plasma widgets or you could make them a little
469
00:27:26,990 -->
00:27:29,500
application on Gnome or whatever you want to use.
470
00:27:29,500 -->
00:27:35,220
And like you could, like in my version, I'm having the Clojure program go and
471
00:27:35,220 -->
00:27:37,010
fetch the data and then write it into the state.
472
00:27:37,010 -->
00:27:41,330
But the rest of that, like the downstream UI part, you could just take,
473
00:27:41,330 -->
00:27:43,830
right? Because none of that needs to change. You just have to fill in the gap
474
00:27:43,830 -->
00:27:45,200
with how you want to provide the information.
475
00:27:45,200 -->
00:27:46,164
The info, yep, yep, yep.
476
00:27:46,774 -->
00:27:51,980
I feel like with our modern tools, we're starting to see a shift towards deep customization.
477
00:27:52,380 -->
00:27:56,440
If you look at a tool like OpenCode, for instance, you can modify it as much
478
00:27:56,440 -->
00:28:02,035
as you want to be your own very personalized, esoteric workspace.
479
00:28:02,610 -->
00:28:07,400
And this QuickShell stuff and this entire conversation and Wes's beginnings
480
00:28:07,400 -->
00:28:12,540
of his customizations just reminds me that we all get to have our own distinct
481
00:28:12,540 -->
00:28:14,073
computing environments now and it's,
482
00:28:14,584 -->
00:28:16,680
this is what we've always wanted and everybody's always wanted,
483
00:28:16,680 -->
00:28:18,293
it's been too hard to attain, but,
484
00:28:19,083 -->
00:28:21,842
I don't know. This year just feels like everybody gets a desktop.
485
00:28:21,842 -->
00:28:25,596
You get a desktop and you get a desktop. You just get whatever you want. It's great.
486
00:28:26,374 -->
00:28:31,082
It was also really easy to port the widgets I had built for my Waybar over to
487
00:28:31,082 -->
00:28:33,502
QuickShell. It took seconds.
488
00:28:33,502 -->
00:28:36,192
I wanted to ask you about that because you had been using Waybar before.
489
00:28:36,892 -->
00:28:40,482
One version of what you can think of QuickShell is sort of as a Waybar replacement.
490
00:28:40,482 -->
00:28:45,954
On steroids. I also really like the launcher that Dank chose and built. It's really good.
491
00:28:46,392 -->
00:28:48,485
And one of the plug-ins is Nick's Run.
492
00:28:48,955 -->
00:28:52,961
So if I type Nix and the name of a package, it searches Nix packages,
493
00:28:53,164 -->
00:28:56,362
gives me a list, and then I just hit it, and it just runs it from the repository
494
00:28:56,362 -->
00:28:58,000
immediately and launches the application.
495
00:28:58,737 -->
00:29:02,220
It's really next level. So I love it. I love it.
496
00:29:02,992 -->
00:29:05,872
And, yeah, look at that. Oh, Wes just posted a picture. Actually,
497
00:29:05,872 -->
00:29:07,012
Wes, it looks really good.
498
00:29:07,732 -->
00:29:10,782
See, I kind of went for more, like, bubbly kind of pill widgets on mine,
499
00:29:10,782 -->
00:29:14,965
but you went for, like, a clean text bar, which I think also looks really good.
500
00:29:16,080 -->
00:29:18,762
Oh, yeah, that's nice looking, Wes. Clean, minimal.
501
00:29:18,959 -->
00:29:21,882
Yeah, and I want to play more with doing more theme stuff. I just kind of got
502
00:29:21,882 -->
00:29:27,132
it across to like, what's the minimum thing I could actually use today without hating it, right?
503
00:29:27,132 -->
00:29:31,482
Yeah. I think that looks very good. What are you, Brent, right? You impressed?
504
00:29:31,482 -->
00:29:34,572
Yeah, I'm trying to wonder, like, Wes, when are you going to publish this for
505
00:29:34,572 -->
00:29:37,657
us to all play with? Because I feel like there's some real gems here.
506
00:29:38,970 -->
00:29:42,897
It's fun. It's also getting to play with this stuff and just like you were saying,
507
00:29:42,897 -->
00:29:45,495
in a deeper way and building this whole thing.
508
00:29:45,698 -->
00:29:49,518
There's a lot. I've played with tiling window managers over the years.
509
00:29:50,226 -->
00:29:53,927
I've never gone this deep. And it was a great excuse to understand more of what
510
00:29:53,927 -->
00:29:58,327
are some of the options because it opens our software, right?
511
00:29:58,327 -->
00:29:59,491
You dive in and there's...
512
00:30:00,530 -->
00:30:03,055
Like all the good things, there's so much you didn't know you didn't know.
513
00:30:03,542 -->
00:30:07,427
Well, as my kids would say, I'm so cooked now because between Quickshell and
514
00:30:07,427 -->
00:30:11,417
Hyperland, It really is the perfect sweet spot for me now.
515
00:30:11,417 -->
00:30:14,437
I just can't ever, I mean, I love all the desktop environments,
516
00:30:14,437 -->
00:30:16,927
but for like my production systems where I'm working and sitting there doing
517
00:30:16,927 -->
00:30:21,347
show prep, I have built such a workflow around the keybinds and now with the
518
00:30:21,347 -->
00:30:23,412
quickshell stuff, it's so good.
519
00:30:23,986 -->
00:30:28,851
It really is, it is a unique kind of lock-in. I have created my own lock-in
520
00:30:29,251 -->
00:30:30,552
and I love it. I couldn't be happier.
521
00:30:30,900 -->
00:30:34,237
And so even if you just use it to create a simple widget or you use it to try
522
00:30:34,237 -->
00:30:36,877
out a lot of the really neat desktop shells or build your own,
523
00:30:36,877 -->
00:30:39,847
And I think you're going to be hearing a lot more about QuickShell for many,
524
00:30:39,847 -->
00:30:42,696
many reasons. And so it really blew up over the summer.
525
00:30:42,806 -->
00:30:45,807
And we just kind of wanted to give you a heads up and give you a little information
526
00:30:45,807 -->
00:30:49,157
about what's going on. And if you built something or have built or build something
527
00:30:49,157 -->
00:30:50,736
with it, you've got to let us know.
528
00:31:03,169 -->
00:31:08,196
Once again, this week, we have some red hot feedback. This one from definitely not a Mac user.
529
00:31:08,881 -->
00:31:11,708
I don't know what they like, but they definitely don't like a Mac, I guess.
530
00:31:12,236 -->
00:31:17,054
Hey, JB team, too long for just a boost. So I'm yapping here on the email.
531
00:31:17,449 -->
00:31:21,676
My dad and I just finished up a road trip across the country from Columbus,
532
00:31:21,676 -->
00:31:25,094
Ohio to LA for college. Oh, that sounds fun.
533
00:31:25,698 -->
00:31:28,891
And as you do, we realized we needed to plan this trip.
534
00:31:29,477 -->
00:31:34,922
I found a tool called Trek, and it so happens you featured this on episode 680.
535
00:31:36,016 -->
00:31:41,026
Seeing as it has an MCP naturally, my dad and I each hooked up our own clankers
536
00:31:41,026 -->
00:31:43,426
to it, and oh boy, is that the way to do trips.
537
00:31:44,042 -->
00:31:47,276
As if we needed to complicate it further, we hooked up Devarich,
538
00:31:47,276 -->
00:31:53,536
remember the big D, and Imich to make a timeline for our trip on Trek to keep,
539
00:31:54,056 -->
00:31:57,480
the memories after we get there. That's so smart.
540
00:31:58,003 -->
00:31:58,804
String it all together.
541
00:31:58,966 -->
00:32:04,076
We used GPT and Claude models to make the rough skeleton before we left on the trip.
542
00:32:04,396 -->
00:32:07,893
This put in places we wanted to stop and the routes to get there.
543
00:32:08,311 -->
00:32:14,366
But once we left, we used Hermes agents only. Shout out to Quinn 2.7+.
544
00:32:14,877 -->
00:32:18,096
My dad would book a hotel, give his agent the booking confirmation number,
545
00:32:18,096 -->
00:32:22,928
and my agent would send me the Google Map link and suggest a good dinner spot nearby.
546
00:32:23,485 -->
00:32:28,796
Hermes also managed our time so we could visit the Gateway Arch and Arches National
547
00:32:28,796 -->
00:32:30,573
Park. Yes, yes, we like Arches.
548
00:32:31,020 -->
00:32:36,082
While also making tracks across the country to make sure we get to the check-in on time.
549
00:32:36,877 -->
00:32:41,121
This whole trip was made so much easier by combining all of those tools.
550
00:32:41,121 -->
00:32:46,269
Imagine how many people contributed to this trip from the open source community. Wow.
551
00:32:46,942 -->
00:32:51,261
All the time we saved in planning, let my dad start to catch up on Linux Unplugged
552
00:32:51,261 -->
00:32:56,181
episodes, as well as time to argue about the relative merits of supporting legacy
553
00:32:56,181 -->
00:32:59,676
and outdated protocols in the kernel, such as AppleTalk.
554
00:33:00,117 -->
00:33:04,661
Yeah, buddy. So definitely not a Mac user. I have a couple of hot tips for you
555
00:33:04,661 -->
00:33:07,374
because you can probably guess I have done something very similar.
556
00:33:07,948 -->
00:33:12,341
And I would very much recommend, it's free to do, to sign up for the TomTom
557
00:33:12,341 -->
00:33:19,107
developer API because this gives your bot super routing powers. It knows about outages.
558
00:33:19,483 -->
00:33:23,233
It knows about closures. It knows about weather. It knows about traffic.
559
00:33:23,820 -->
00:33:28,151
It also can do route distance and planning and they have an endpoint if you
560
00:33:28,151 -->
00:33:31,586
have an EV. So it can do range calculation as well.
561
00:33:32,109 -->
00:33:36,751
Then if you really want to go nuts, most states or like up in Canada provinces
562
00:33:36,751 -->
00:33:40,840
and areas will have developer APIs for their local traffic information.
563
00:33:41,223 -->
00:33:45,774
So for me, I'm very often in the Washington, Idaho, Oregon or B.C. area.
564
00:33:46,145 -->
00:33:50,708
So I signed up for APIs for each one of those and I can check their particular closures when routing.
565
00:33:51,138 -->
00:33:55,791
Then on top of that, if you really want to go crazy, you can also tie into things
566
00:33:55,791 -->
00:34:00,018
like free campsites.net and other services like recreation.gov.
567
00:34:00,297 -->
00:34:03,205
and it can actually do availability planning and checking.
568
00:34:03,536 -->
00:34:07,751
So you can bring it all together and you can have it produce quite the comprehensive
569
00:34:07,751 -->
00:34:10,264
plan. I just went on a trip to Idaho over the weekend.
570
00:34:11,407 -->
00:34:14,896
The entire thing was generated by my agent. And then for consumption by the
571
00:34:14,896 -->
00:34:19,336
wife, I had to produce a PDF, which she loved. And it just broke everything
572
00:34:19,336 -->
00:34:21,916
down day by day where we're going to stop, where if you wanted to,
573
00:34:21,916 -->
00:34:24,016
if you don't want to stop there, you could stop here. You'll have this much
574
00:34:24,016 -->
00:34:25,502
battery charge when you arrive.
575
00:34:25,827 -->
00:34:27,505
These are the food places nearby.
576
00:34:28,079 -->
00:34:31,951
These are the campgrounds that allow you to stay one night. You can book late.
577
00:34:32,154 -->
00:34:34,703
They let you park and sleep in a car, like all the stuff.
578
00:34:35,289 -->
00:34:38,586
It just does all the stuff. Oh, and it'll even tell me because this is a problem
579
00:34:38,586 -->
00:34:42,576
here. It'll tell me like how close I'm going to get to wildfires along my route
580
00:34:42,576 -->
00:34:45,541
because I'm checking all the wildfire information as well.
581
00:34:46,353 -->
00:34:50,126
And it just produces such an awesome comprehensive. This is coming from somebody
582
00:34:50,126 -->
00:34:52,956
who's a road trip enthusiast, right? I mean, I've been doing this for a long
583
00:34:52,956 -->
00:34:54,283
time and this is all stuff I had to do.
584
00:34:55,156 -->
00:34:59,596
You can even have a check in on cellular coverage. I mean, in other words,
585
00:34:59,596 -->
00:35:03,256
keep going because it just keeps getting better and better. It's really pretty great.
586
00:35:03,256 -->
00:35:07,697
Can we just have an API for everything? Finally, maybe I would book my trips in advance.
587
00:35:09,851 -->
00:35:11,936
Yeah, but then you also have to do what the agent tells you,
588
00:35:11,936 -->
00:35:15,976
and that's the human factor. All right, well, we do have some boosts,
589
00:35:15,976 -->
00:35:17,635
too, so let's get to those, gentlemen.
590
00:35:22,100 -->
00:35:27,789
And Greg, the lawyer, comes in with 40,000 sats. Greg, you're back again. Look at you.
591
00:35:31,104 -->
00:35:35,527
And Greg comes in with one message. He comes in with boost.
592
00:35:35,974 -->
00:35:39,847
Love it, Greg. Thank you very much. Greg, you're often on the top of the list
593
00:35:39,847 -->
00:35:43,799
there, and it doesn't go unnoticed. We appreciate it very, very much.
594
00:35:44,635 -->
00:35:48,972
You, sir, are the baller booster of the show. Appreciate you.
595
00:35:49,552 -->
00:35:52,647
Hey, speaking of PJ and his B-Day.
596
00:35:52,647 -->
00:35:57,667
Oh, we got a birthday booster. Except this was actually a boost from last week's live.
597
00:35:57,667 -->
00:36:01,155
Oh, really? Coming in live so early but late?
598
00:36:01,712 -->
00:36:07,267
All right. Do we have a sound for 8,888 sats? How about that?
599
00:36:07,807 -->
00:36:11,947
Yeah, PJ says, does this thing work? And yes, it does. I guess on a delay this
600
00:36:11,947 -->
00:36:13,717
time because we were not watching live.
601
00:36:13,717 -->
00:36:14,307
But thank you.
602
00:36:14,727 -->
00:36:15,867
It's fun to get live boosts.
603
00:36:15,867 -->
00:36:17,902
Thank you, PJ. Thank you. Yeah.
604
00:36:18,750 -->
00:36:22,076
Well, Colarapha boosts in a row of ducks.
605
00:36:23,736 -->
00:36:25,227
Colaphora? No.
606
00:36:25,547 -->
00:36:26,262
Colarapha?
607
00:36:26,668 -->
00:36:27,507
Colaphora.
608
00:36:27,507 -->
00:36:31,967
That ain't right. No message, just value. We take that. Thank you very,
609
00:36:31,967 -->
00:36:33,257
very much. Appreciate that.
610
00:36:33,791 -->
00:36:38,317
All right. Next boost comes in from Nyquist, which almost sounds like the drive
611
00:36:38,317 -->
00:36:41,267
I used to use. Is that, are you Nyquist? Are you referring to the old Nyquist
612
00:36:41,267 -->
00:36:42,858
drive? Cause that would be awesome.
613
00:36:43,305 -->
00:36:45,517
Also no message though, just the value.
614
00:36:48,884 -->
00:36:51,229
Sir, Omlet comes in with a row of ducks.
615
00:36:51,862 -->
00:36:52,290
Hey!
616
00:36:52,290 -->
00:36:54,980
When I hear SyncThing, I just have to boost in.
617
00:36:54,980 -->
00:36:55,890
All right!
618
00:36:55,890 -->
00:36:56,841
Such a game changer.
619
00:36:57,207 -->
00:37:00,130
Isn't it? Some projects out there just don't get enough love,
620
00:37:00,130 -->
00:37:02,410
and that's where we're like, no, we've got to talk about this.
621
00:37:02,410 -->
00:37:04,890
I know people know about SyncThing, but it just doesn't get enough talk.
622
00:37:05,589 -->
00:37:08,990
At Chris, I enjoyed the irony of recommending it because there's no cloud,
623
00:37:08,990 -->
00:37:12,996
and then pointing a free cloud-hosted LLM at it, but I do agree, the API is great.
624
00:37:14,030 -->
00:37:18,848
On the topic of web and thin clients, Maybe check out a file browser fork.
625
00:37:19,771 -->
00:37:23,190
And then Bearded Tech independently also recommended, I think,
626
00:37:23,190 -->
00:37:26,960
there's like a maintained fork called Quantum File Browser or something like that.
627
00:37:26,960 -->
00:37:30,960
Yeah. Yeah. So because the question was is like, how do we stack like a file
628
00:37:30,960 -->
00:37:32,727
manager or something on top of this?
629
00:37:33,436 -->
00:37:37,000
So that way when you're on a mobile device, you could get to these files or
630
00:37:37,000 -->
00:37:39,220
maybe you're on a computer that doesn't have sync thing installed,
631
00:37:39,220 -->
00:37:40,470
but you're on your machine.
632
00:37:40,470 -->
00:37:42,860
You just want to quickly download or maybe even upload something. Yeah.
633
00:37:42,860 -->
00:37:45,250
So this is File Browser Quantum.
634
00:37:47,548 -->
00:37:53,240
that's pretty cool that's pretty cool mostly Go and it is Apache 2.0 licensed.
635
00:37:53,240 -->
00:37:55,890
Yeah another option would be something like Copy Party which is also in that
636
00:37:55,890 -->
00:37:58,250
space so there's a few different things that maybe we should be.
637
00:37:58,250 -->
00:38:01,270
Trying I need to try something I do because that is going to be that's going
638
00:38:01,270 -->
00:38:04,650
to be one of those things if I don't set it up when I do need it I'm really going to be kicking.
639
00:38:07,310 -->
00:38:11,526
Well speaking of omelets Outdoor Geek is here with 5000 Sats,
640
00:38:14,294 -->
00:38:20,418
here's a psa avoid the hp 840 g9 12th gen intel for linux,
641
00:38:21,144 -->
00:38:26,372
i couldn't get any sort of low power state working on this thing oh sleep battery
642
00:38:26,372 -->
00:38:32,432
drain is more than 10 per hour on linux on windows however it's less than one percent.
643
00:38:32,432 -->
00:38:33,694
Oh that's annoying.
644
00:38:33,839 -->
00:38:38,912
I tried nix os pop os and fedora i put maybe eight hours of troubleshooting
645
00:38:38,912 -->
00:38:42,657
into this thing about two months ago but nothing made this thing better.
646
00:38:43,307 -->
00:38:46,802
Oh well you you definitely tried you gotta give credit for that hp.
647
00:38:47,442 -->
00:38:50,582
840 g9 12th gen intel he says.
648
00:38:51,375 -->
00:38:52,762
Well if anyone knows any tricks.
649
00:38:53,087 -->
00:38:56,252
I just haven't been able to pull the trigger on a used laptop it's just such
650
00:38:56,252 -->
00:38:58,056
a bad time to buy a computer right now.
651
00:38:58,468 -->
00:39:04,602
This is a bit on theme for me this week because i uh as most of you might remember
652
00:39:04,602 -->
00:39:09,282
i just moved recently and so somehow the dev1 came out of box this week and
653
00:39:09,282 -->
00:39:12,612
i plugged it in i was like wait a second this thing's charging 100% all the time.
654
00:39:12,612 -->
00:39:16,400
I need to just set this thing maybe to something lower, because I mostly use it on desktop.
655
00:39:16,969 -->
00:39:17,445
Nope.
656
00:39:17,602 -->
00:39:20,522
Can't do that. Did a ton of research. Nope.
657
00:39:20,881 -->
00:39:26,342
None of the kernel for this thing just can't handle it. There is a PR to allow
658
00:39:26,342 -->
00:39:28,432
it to happen, but who knows how long that's going to take. Yeah,
659
00:39:28,432 -->
00:39:31,023
I was very surprised. Very, very surprised.
660
00:39:32,062 -->
00:39:36,160
Even TLP can't do it on this thing. Nope. Not going to happen for this one.
661
00:39:37,542 -->
00:39:40,562
Okay, I got a suggestion. You set up Home Assistant.
662
00:39:41,216 -->
00:39:44,372
you get a little sensor on there that monitors the battery charge then you put
663
00:39:44,372 -->
00:39:47,722
your charger on a smart switch the smart switch gets toggled by home assistant
664
00:39:47,722 -->
00:39:50,962
when you reach 80% home assistant turns off the smart switch and then when you
665
00:39:50,962 -->
00:39:54,735
reach 60% home assistant turns it back on the digital world fails you?
666
00:39:55,019 -->
00:39:57,622
Go to the analog via the digital control.
667
00:39:57,962 -->
00:40:04,622
MRAM comes in with a row of ducks 2,222 cents first time booster wow that's
668
00:40:04,622 -->
00:40:06,983
awesome thank you for boosting,
669
00:40:08,453 -->
00:40:09,347
I like RAM.
670
00:40:11,466 -->
00:40:12,273
Appreciate the value.
671
00:40:13,132 -->
00:40:17,637
Too Many Accounts comes in with 11,337 sets.
672
00:40:19,099 -->
00:40:23,315
Picking up the Firefox thread here, I'd love your take on how to handle multiple
673
00:40:23,315 -->
00:40:25,145
Firefox profiles elegantly.
674
00:40:25,865 -->
00:40:30,593
Firefox now ships to profile managers, but both lack the ease of Chrome profiles,
675
00:40:31,093 -->
00:40:34,605
for a GUI file like me. I love hate, my foxy friend.
676
00:40:36,585 -->
00:40:40,725
So I just randomly did see that old, like there's like two versions and one
677
00:40:40,725 -->
00:40:45,295
of them look real old. Like the original one from early days of Firefox.
678
00:40:45,295 -->
00:40:47,641
I was surprised that that UI had popped up.
679
00:40:48,865 -->
00:40:54,828
I don't do the profiles thing anymore. I have messed around a bit with containers.
680
00:40:55,170 -->
00:40:56,645
Ah, yeah, I have done that too.
681
00:40:56,778 -->
00:40:59,595
And I do find that to be kind of useful and tab groups.
682
00:40:59,595 -->
00:41:01,855
Right. Yeah, I've used containers, especially for things like,
683
00:41:01,855 -->
00:41:04,885
you know, you have like a day job or a particular account associated for something like that.
684
00:41:05,185 -->
00:41:08,069
That I think works better than individual profiles personally.
685
00:41:08,191 -->
00:41:13,115
But we may not be addressing what you use profiles for. I'm kind of curious what you need them to do.
686
00:41:13,115 -->
00:41:18,525
And have you tried that? that because i i don't know it's it's like you've probably
687
00:41:18,525 -->
00:41:21,008
seen it once before maybe you took it off your menu bar kind of like when you
688
00:41:21,339 -->
00:41:22,825
when they first added it they kept popping up,
689
00:41:23,365 -->
00:41:26,375
every few updates and first i was like i'll get this out of here i don't want
690
00:41:26,375 -->
00:41:29,005
i don't care about this but then i actually like stopped and used it and i actually
691
00:41:29,005 -->
00:41:29,751
found it pretty effective.
692
00:41:30,725 -->
00:41:34,585
I haven't quite used the chrome profile switcher so i'm not sure which features
693
00:41:34,585 -->
00:41:39,085
uh you love about it but i do remember using profiles in the past and i found
694
00:41:39,085 -->
00:41:41,291
the easiest way to use it was to have a distinct,
695
00:41:43,489 -->
00:41:44,545
shortcut icon.
696
00:41:44,545 -->
00:41:46,085
For them that would just.
697
00:41:46,585 -->
00:41:51,285
Launch that one and that seemed to be the easiest way to manage it just outside of the browser.
698
00:41:51,285 -->
00:41:58,075
Itself. Usually it's just a pending, a profile kind of stands at the end of
699
00:41:58,075 -->
00:41:59,731
the executable. It's not really that hard.
700
00:42:00,845 -->
00:42:03,335
And you can usually just play around with it at the command line and see what
701
00:42:03,335 -->
00:42:06,697
works and then make that the launcher. But that would probably be one way to do it.
702
00:42:07,081 -->
00:42:10,765
I guess that we need more information to properly answer this and ask why you
703
00:42:10,765 -->
00:42:13,495
and we're also asking to be honest with you if you're holding it wrong a little
704
00:42:13,495 -->
00:42:17,053
bit but just a little bit like you might not be we might wait you might just need more context,
705
00:42:18,528 -->
00:42:22,428
Bronzer Wing comes in with 11,233 Satoshis.
706
00:42:23,851 -->
00:42:27,554
One vote for a Clanker podcast. Have you guys tried the Pi coding agent?
707
00:42:27,851 -->
00:42:35,345
I'm writing it with Llama CPP with Unsloth QN 3.8 Q4 KXL with MTP and No Vision
708
00:42:35,345 -->
00:42:38,795
MM Pro J for extra speed. Okay, I don't know what that last one is.
709
00:42:38,795 -->
00:42:41,935
Love it. I lost me on the last one. Feels almost frontier-like.
710
00:42:41,935 -->
00:42:42,419
Whoa.
711
00:42:42,523 -->
00:42:46,915
I ditched Hermes and OpenCode as they felt too bloated for local models.
712
00:42:46,915 -->
00:42:49,635
Oh, that is an interesting observation. I could see that.
713
00:42:50,235 -->
00:42:52,605
So I could see maybe why Pi coding would be a little more appealing.
714
00:42:52,605 -->
00:42:55,665
Yeah, if you don't. And, you know, if you are targeting a specific thing,
715
00:42:55,665 -->
00:42:59,741
you don't need a full sort of general assistant type agent. Skip the bloat.
716
00:43:00,037 -->
00:43:02,415
Have you tried? I know you've looked at it, Wes. I know you're familiar with it.
717
00:43:02,555 -->
00:43:05,375
Yeah, I haven't done anything extensive with Pi. I have, yeah,
718
00:43:05,955 -->
00:43:08,395
poked at it a little bit because it's kind of, you know, it was some of the
719
00:43:08,395 -->
00:43:12,795
fundamentals here early, too, and it's just continued on. Maybe we owe it some time.
720
00:43:14,095 -->
00:43:16,695
Thanks for the idea there, Bronzwing, and the report. They're always useful.
721
00:43:16,695 -->
00:43:17,139
I agree.
722
00:43:19,295 -->
00:43:24,290
G Anonymous comes in. 4,500 and 13 sats.
723
00:43:26,618 -->
00:43:33,125
No message found. So I'll take Distro Stew too because Distro Stew sent in 12,345 sats.
724
00:43:33,125 -->
00:43:37,154
You know, it's been a minute since we've had ourselves a Spaceballs boost.
725
00:43:40,503 -->
00:43:42,371
Yikes. 300 character limit.
726
00:43:42,371 -->
00:43:44,251
Oh, yikes. You say. Blessing, we say.
727
00:43:47,031 -->
00:43:50,151
I recently created a hub and spoke module for my sync thing setup.
728
00:43:50,611 -->
00:43:54,171
Two Nix servers. Everything else is a spoke. Phones, laptops, etc.
729
00:43:54,900 -->
00:43:59,251
When I was mesh syncing every host to every ephemeral host, it led to an unnecessary
730
00:43:59,251 -->
00:44:01,012
amount of conflicts over time.
731
00:44:01,378 -->
00:44:03,967
And then we get a little link from Stu here.
732
00:44:05,575 -->
00:44:07,131
Which doesn't seem to be working.
733
00:44:07,131 -->
00:44:09,881
Oh, no, it didn't seem to work. Maybe it got cut off by the 300 characters.
734
00:44:09,881 -->
00:44:10,131
Maybe.
735
00:44:10,571 -->
00:44:13,801
But love it. Thank you for the architecture.
736
00:44:13,801 -->
00:44:18,291
Yeah, the old hub and spoke model. I did it when I, for a long time,
737
00:44:18,671 -->
00:44:23,228
like sort of my main sync thing server was actually a VPS with some attached storage.
738
00:44:23,971 -->
00:44:26,351
And then I would attach everything to that and then have it,
739
00:44:26,467 -->
00:44:29,011
you know, everything obviously because of its high speed would sync there first
740
00:44:29,011 -->
00:44:31,141
just naturally and then it would sort of distribute to everything else and that
741
00:44:31,141 -->
00:44:33,137
worked quite well. It did work quite well.
742
00:44:34,182 -->
00:44:39,597
Well, Gene Bean boosted in a couple rows of ducks for a total of 6,666 sets.
743
00:44:43,190 -->
00:44:49,151
First one here, the hold music from Data in LUP680 is quite great.
744
00:44:51,108 -->
00:44:55,410
As for making up for missed streaming sats, wallet emptied while driving.
745
00:44:57,796 -->
00:44:58,753
On a road trip, eh, Gene?
746
00:44:59,530 -->
00:45:03,467
Do you all have any suggestions for interacting with SyncThing from iOS?
747
00:45:04,878 -->
00:45:09,808
Probably using whatever file manager that ends up being agreeable,
748
00:45:09,808 -->
00:45:13,018
I think. Really, I think it's probably putting a web file manager on a mesh
749
00:45:13,018 -->
00:45:15,842
VPN network is probably going to be my solution for that.
750
00:45:16,377 -->
00:45:20,336
I don't think sync thing as a service is very viable unless somebody knows differently.
751
00:45:21,683 -->
00:45:25,166
If anybody has a solution for that, please let us know because that is something I'd like to solve.
752
00:45:25,967 -->
00:45:31,888
Mr. Mayhem came in with a smoking hot boost right as we got going here. 2001 Satoshis.
753
00:45:33,530 -->
00:45:36,748
Your pre-show song reminded me to boost. Well, thank you very much,
754
00:45:36,748 -->
00:45:38,381
Mr. Mayhem. Appreciate that.
755
00:45:40,148 -->
00:45:46,178
Time for some fiat booze here we go boys well tan comes in with a hundred dollars wow,
756
00:45:57,980 -->
00:46:00,166
Month two, FOSS ad boost.
757
00:46:00,166 -->
00:46:00,736
All right.
758
00:46:00,736 -->
00:46:01,246
Thank you.
759
00:46:01,246 -->
00:46:01,939
Thank you, Dan.
760
00:46:02,165 -->
00:46:05,966
This is for a cool little project I found called the Open Book Touch,
761
00:46:06,406 -->
00:46:10,366
which is everything I've thought an e-reader should be and nothing more.
762
00:46:10,966 -->
00:46:13,427
I've already ordered one and thought I'd spread the word.
763
00:46:14,152 -->
00:46:18,016
Okay, look at this. This is looking good. So it looks like pricing will be between
764
00:46:18,016 -->
00:46:20,816
$150 and $250, depending on options.
765
00:46:20,961 -->
00:46:24,996
A pocketable, front-lit, open-source e-reader for every book in every language.
766
00:46:24,996 -->
00:46:30,316
Looks like a cleaner version of the Kindle. about the size of a large Field
767
00:46:30,316 -->
00:46:32,647
Notes notebook, which is a great visual.
768
00:46:33,239 -->
00:46:35,728
And yeah, it's an EPUB reader.
769
00:46:35,896 -->
00:46:36,726
No physical buttons.
770
00:46:36,726 -->
00:46:37,133
The ink.
771
00:46:37,986 -->
00:46:42,616
Device is a single, perfectly symmetrical 4.26-inch front-lit e-paper touchscreen,
772
00:46:42,616 -->
00:46:44,488
one centimeter thin in its enclosure.
773
00:46:45,097 -->
00:46:46,016
It looks great.
774
00:46:46,016 -->
00:46:49,393
Open book touch slips into a pocket and disappears until you unlock it to read.
775
00:46:50,536 -->
00:46:54,236
All right. Nice find, Dan. Thank you very much. I really would love to know
776
00:46:54,236 -->
00:46:55,866
how you like it when you get it.
777
00:46:55,886 -->
00:46:57,766
Yeah, please do report, because, boy, that looks tempting.
778
00:46:57,766 -->
00:46:58,762
Mm-hmm, mm-hmm.
779
00:46:59,847 -->
00:47:04,155
Well, definitely not. A Mac user comes in again with 20 total fiat. Yeah.
780
00:47:06,773 -->
00:47:11,812
My dad and I just finished a cross-country client-gertriff powered by open source.
781
00:47:12,096 -->
00:47:14,878
Oh, this is his boost to refer. You know, that's a nice way to do it.
782
00:47:15,378 -->
00:47:17,138
If you're going to do a long email, that's really thoughtful.
783
00:47:17,138 -->
00:47:20,438
Thank you, definitely. There's some extra details in here. Track and Devaric,
784
00:47:20,438 -->
00:47:24,398
which we mentioned. Image, we mentioned. Hermes, of course. But there's Nebula in here as well.
785
00:47:24,838 -->
00:47:26,178
Oh, yeah. Nice, dude.
786
00:47:26,178 -->
00:47:29,288
He says, see my email for more fun info. We did, and that was great.
787
00:47:29,288 -->
00:47:32,588
Boosting in to say thanks for being the entertainment on this trip and providing
788
00:47:32,588 -->
00:47:34,638
all the pics to make it happen. Keep it up.
789
00:47:34,638 -->
00:47:38,594
Well done putting it all to practical use, definitely. That's really awesome.
790
00:47:39,221 -->
00:47:43,588
Monty comes in with a free member boost. I support the use ThinkPad plan.
791
00:47:43,588 -->
00:47:46,498
There's never a shortage of good options in that 300 range.
792
00:47:46,498 -->
00:47:46,868
Agreed.
793
00:47:46,868 -->
00:47:50,068
I look for a listing that have several of the same model as a sign that there
794
00:47:50,068 -->
00:47:52,154
are off-lease business units. Yeah.
795
00:47:52,878 -->
00:47:57,098
Yeah, one listing has like 10 or more available. They usually come looking like
796
00:47:57,098 -->
00:48:00,468
new. Then I resell the previous and I get close to half back.
797
00:48:00,468 -->
00:48:01,245
Nice.
798
00:48:01,582 -->
00:48:03,908
Yeah, I guess around $300 if you only use them for a year or two.
799
00:48:03,908 -->
00:48:07,480
They probably don't lose too much more value. Halfback is not bad.
800
00:48:08,008 -->
00:48:12,373
That's kind of what I really want is a ThinkPad, around 14-inch screen,
801
00:48:13,151 -->
00:48:16,692
32 gigs of RAM, and 10th Gen or newer processor.
802
00:48:19,377 -->
00:48:22,434
I think 300 is a little, probably not quite enough at this point.
803
00:48:22,992 -->
00:48:25,406
But that's what I was looking at on eBay, and I just haven't really pulled the trigger yet.
804
00:48:26,591 -->
00:48:30,067
Well, we have another member boost here from Paul. Paul writes,
805
00:48:30,067 -->
00:48:36,677
continuing my member boost streak, do you try local tier models like the 30B
806
00:48:36,677 -->
00:48:39,703
variants of Muse Glimmer, Quen, or Gemma?
807
00:48:41,032 -->
00:48:44,747
I guess you don't have the resources to run them on your own hardware in a meaningful
808
00:48:44,747 -->
00:48:50,198
way, But would you be interested in trying to use small models exclusively for a week as a test?
809
00:48:51,237 -->
00:48:52,207
Ooh, fun idea.
810
00:48:52,207 -->
00:48:56,117
I'm always trying them to see what I can eke out of an old computer.
811
00:48:56,557 -->
00:49:01,137
And that's not much. Wes has done the Rent-A-Gupu model.
812
00:49:01,137 -->
00:49:01,535
Yeah.
813
00:49:01,657 -->
00:49:06,348
And has played with some of the more powerful versions of these self-hosted models on a rented GPU.
814
00:49:06,504 -->
00:49:10,167
Yeah, I've played a little bit with the Muse Glimmer model. That was fun.
815
00:49:10,167 -->
00:49:15,937
I was just playing with the Quen 3827B model.
816
00:49:15,937 -->
00:49:16,286
Yeah.
817
00:49:16,897 -->
00:49:18,916
And a tiny bit with Gamma. I'd like to do a little bit more with Gamma.
818
00:49:19,368 -->
00:49:22,648
But yeah, I haven't done like a whole week long. It's more like,
819
00:49:22,857 -->
00:49:26,377
you know, when new models come out, I usually try to find some time to go at
820
00:49:26,377 -->
00:49:28,757
least put them through some basic paces.
821
00:49:29,237 -->
00:49:31,134
Doesn't always happen, but I'd like to do more.
822
00:49:31,627 -->
00:49:37,281
Yeah. Oh, boy. Are we ready? One day in the distant future, hardware prices,
823
00:49:37,392 -->
00:49:40,757
some at some point will come back to earth and these models will be optimized
824
00:49:40,757 -->
00:49:43,371
for on a local hardware and maybe the two will meet maybe,
825
00:49:44,989 -->
00:49:48,257
A guy from Vienna sent a member boost. Use a rubber duck.
826
00:49:48,577 -->
00:49:51,880
Save the planet. I had this thought yesterday when debugging a network issue.
827
00:49:52,199 -->
00:49:55,670
The solution was quite obvious, but asking the LM first got me into a cul-de-sac.
828
00:49:56,054 -->
00:50:00,877
The rubber duck uses the energy and doesn't talk back. Nice feature sometimes. Yeah, it can be, right?
829
00:50:01,237 -->
00:50:06,085
You know, the rubber duck approach just to kick things around is definitely a valid use.
830
00:50:06,700 -->
00:50:11,227
Rubber duck it, Wes. And plug your laptop in. Wes's desktop environment is using
831
00:50:11,227 -->
00:50:13,881
too much power. Let's plug it in real quick. You want to take Lutra's copy?
832
00:50:14,055 -->
00:50:18,333
Gotta optimize that, Wes. Lucitropy came in with a free member boost.
833
00:50:18,832 -->
00:50:19,529
Lucitropy.
834
00:50:19,959 -->
00:50:25,659
I went to the future and got Wine 99.0, so I don't need to dual boot Windows anymore.
835
00:50:26,477 -->
00:50:30,497
I think we're reaching a point where you can clank any unsupported application
836
00:50:30,497 -->
00:50:35,687
into Wine. I was able to get my clanker to iterate and debug loading a small
837
00:50:35,687 -->
00:50:39,242
proprietary work app with Wine, and now I don't need Windows.
838
00:50:39,671 -->
00:50:48,147
Hmm. It does seem like... Wine compatibility is a softer target than porting
839
00:50:48,147 -->
00:50:49,685
an entire Windows application.
840
00:50:50,190 -->
00:50:53,767
And we have seen a couple of success stories of previously very complicated
841
00:50:53,767 -->
00:50:55,942
Windows applications getting wine support.
842
00:50:56,668 -->
00:50:58,897
So we may be, you might be honest on here.
843
00:50:58,897 -->
00:51:01,457
I mean, you can imagine, right? Just a few, especially if it's just a couple
844
00:51:01,457 -->
00:51:04,067
of spots, like it's not missing a whole giant compatibility thing,
845
00:51:04,067 -->
00:51:07,747
but it's just a few things you need to fix or implement some stub or something.
846
00:51:07,747 -->
00:51:11,697
Yeah. The real trick would be if anybody ever got Mac apps working,
847
00:51:11,697 -->
00:51:14,199
but now that they're on the M platform, I don't think that's ever going to happen.
848
00:51:14,745 -->
00:51:18,067
Thank you, everybody, who boosted the shows. We have those of you who streamed
849
00:51:18,067 -->
00:51:23,087
them stats, 15 of you, collectively stacked 26,303 Satoshis.
850
00:51:26,586 -->
00:51:31,733
I guess that's the Texas amount. There you go. 26,303. That's not too bad.
851
00:51:31,733 -->
00:51:32,635
Thank you, SatStreamers.
852
00:51:32,925 -->
00:51:36,143
When you combine that with our Fiat Boosters and our SatBoosters,
853
00:51:36,143 -->
00:51:44,465
and we'll just kind of convert it all to sats, the show this week stacked 292,102 Satoshis.
854
00:51:45,417 -->
00:51:46,288
Not too bad at all.
855
00:51:48,192 -->
00:51:51,135
And, of course, thank you to all of our members who put your support on Autopilot.
856
00:51:51,605 -->
00:51:55,673
Don't forget you get that free member boost as a reward at boost.jupiterbroadcasting.com.
857
00:51:55,673 -->
00:52:00,253
and you can support each individual episode as well by going to boost.jupiterbroadcasting.com
858
00:52:00,253 -->
00:52:03,146
or in your podcast app. The memberships are pretty neat, though.
859
00:52:03,564 -->
00:52:07,209
Jupyter.party gives you access to the entire network's special features,
860
00:52:07,540 -->
00:52:11,543
like bootleg editions of the show, which right now, the bootleg edition of Linux
861
00:52:11,543 -->
00:52:15,487
Unplugged is almost an hour and 54, 55 minutes long at this point.
862
00:52:15,870 -->
00:52:19,153
Lots of content, really good discussions in those bootlegs, sometimes develop
863
00:52:19,153 -->
00:52:22,423
into full segments, but sometimes it only ever lives in the bootlegs.
864
00:52:22,423 -->
00:52:24,460
If you want more content, there's a whole other show.
865
00:52:24,849 -->
00:52:30,497
and jupyter.signal, or you can support just this humble show at linuxunplugged.com slash membership.
866
00:52:32,604 -->
00:52:37,104
I'm kind of excited about these picks, boys. Let's start with Dank Calendar
867
00:52:37,104 -->
00:52:40,414
because it's the one I told you about that kind of proves that these quick shell
868
00:52:40,414 -->
00:52:45,566
applications don't have to be tied to an individual desktop environment or individual shell.
869
00:52:46,019 -->
00:52:49,614
They can actually be spun out into their own applications. And I present you
870
00:52:49,994 -->
00:52:52,892
Dank Calendar, which is also available on Flathub.
871
00:52:53,374 -->
00:52:55,974
So you can just install it on any distro of choice.
872
00:52:55,974 -->
00:52:57,174
Yeah, look at this.
873
00:52:57,174 -->
00:53:02,054
Now, it's a simple, clean, local calendar that can connect to Google,
874
00:53:02,054 -->
00:53:05,727
Microsoft, CalDev, and iCloud calendars and pull it into one app.
875
00:53:07,174 -->
00:53:10,294
And I use it in coordination with my Keeper application, which is already syncing
876
00:53:10,294 -->
00:53:14,951
all of my calendars to one iCal feed. So then I can just plug that into Dank Calendar.
877
00:53:15,427 -->
00:53:19,854
And, well, Richard is your mother's brother. I now have not only a great desktop
878
00:53:19,854 -->
00:53:21,609
calendar app, but a great calendar widget as well.
879
00:53:21,922 -->
00:53:26,026
Yeah, and you can tell how it's made. I mean, one, it's got a flake.next. Love to see it.
880
00:53:26,854 -->
00:53:30,334
it's 49% go and 45% QML.
881
00:53:32,394 -->
00:53:35,308
The other one, you know, Wes, you were talking about sources of truth.
882
00:53:36,058 -->
00:53:40,038
And I think when you're thinking about agentic network management or you're
883
00:53:40,038 -->
00:53:45,037
just thinking about human network management, having a visual home lab map,
884
00:53:45,652 -->
00:53:49,848
diagram that is live and represents your actual living network.
885
00:53:49,848 -->
00:53:52,918
Oh, not like the way it was six months ago when I last thought to update it?
886
00:53:52,918 -->
00:53:56,918
Yeah, is pretty useful. And I've always kind of loved experimenting with these.
887
00:53:56,918 -->
00:53:59,480
And I think I have found the apex predator in the space.
888
00:53:59,968 -->
00:54:04,257
It's called Home Label. It's a visual home lab manager mapper kind of a dealio.
889
00:54:04,559 -->
00:54:09,795
It's self-hostable, and it visualizes an interactive diagram of your network with live monitoring.
890
00:54:10,602 -->
00:54:15,310
It provides a network integration for like your IP network, your Zigbee devices,
891
00:54:15,554 -->
00:54:16,965
and your Z-Wave devices.
892
00:54:17,359 -->
00:54:22,495
So you can also bring your smart devices into this diagram, which is really, really powerful.
893
00:54:22,821 -->
00:54:27,548
It also supports importing Proxmox. So if you use a Proxmox server,
894
00:54:27,548 -->
00:54:31,174
you can connect to it, and it understands the architecture of your Proxmox VM
895
00:54:31,290 -->
00:54:35,578
and pulls that into the diagram for you as well, including the networking setup and all of that.
896
00:54:36,098 -->
00:54:41,868
It's great. It produces a canvas layout that you can export as Markdown or you
897
00:54:41,868 -->
00:54:46,830
can export as a PNG, or you can make available to agents over at MCP.
898
00:54:47,300 -->
00:54:51,458
And then they can use this as a source of truth for how your network is actually
899
00:54:51,458 -->
00:54:54,655
physically laid out and what services run on which device.
900
00:54:55,061 -->
00:54:57,838
So this goes back to what Wes was saying about having a source of truth.
901
00:54:57,838 -->
00:54:59,932
This could be a source of truth in that scenario.
902
00:55:00,147 -->
00:55:02,528
So again, it's called home label. And one of the things I love about it is even
903
00:55:02,528 -->
00:55:09,548
if you never had any plans to use the MCP or whatever, it produces this great
904
00:55:09,548 -->
00:55:12,608
visual diagram system of your network –.
905
00:55:13,846 -->
00:55:18,925
That you can use as a human being. And they've just recently announced a Hacks
906
00:55:18,925 -->
00:55:22,595
plugin so it'll integrate with your Home Assistant if you use the Home Assistant
907
00:55:22,595 -->
00:55:24,531
stack and pull in that information.
908
00:55:25,083 -->
00:55:28,717
Every device, one canvas, your switches, your routers, your cameras,
909
00:55:28,960 -->
00:55:31,306
your VMs, your NAS device,
910
00:55:31,835 -->
00:55:35,549
any electric smart devices that are reading electricity usage,
911
00:55:35,840 -->
00:55:39,792
your ISP information, Wi-Fi stuff, like I said, ZigBee and Z-Wave,
912
00:55:40,210 -->
00:55:43,655
all of it into this, and then it diagrams it all up for you and then gives you
913
00:55:43,655 -->
00:55:47,996
nice little status lights about what services are active, you could literally...
914
00:55:49,261 -->
00:55:53,297
Diagram your network rack if you want with this thing and end of down to the
915
00:55:53,297 -->
00:55:55,101
individual port level if you so care.
916
00:55:56,239 -->
00:56:00,577
And the ability to pull in the Zigbee and the Z-Wave networks so you can map
917
00:56:00,577 -->
00:56:05,467
your IoT network along with the rest of, so you now get the full picture of
918
00:56:05,467 -->
00:56:07,263
the network, not just your IP network
919
00:56:07,634 -->
00:56:10,677
and not just the Zigbee network and not just the Z-Wave network off on their
920
00:56:10,677 -->
00:56:14,153
own islands, but the whole thing and all of it monitored by the system available
921
00:56:14,554 -->
00:56:16,984
as an API, a web interface or an MCP.
922
00:56:18,156 -->
00:56:24,304
homelabel.net it's fantastic I set it up this weekend I've been loving it.
923
00:56:24,791 -->
00:56:26,677
This is so crazy it's very.
924
00:56:26,677 -->
00:56:31,947
Impressive wow it's great I'm really really happy with it I had it scan,
925
00:56:32,907 -->
00:56:38,737
both my hen network and my main network and the proxmox how did it do what did
926
00:56:38,737 -->
00:56:42,467
you learn all diagram nice it's MIT licensed so,
927
00:56:43,187 -->
00:56:49,187
have at it you can run it via docker or whatever you like I'm doing Docker compose for this setup and,
928
00:56:50,627 -->
00:56:52,946
easy peasy. Really? It wasn't, it was, it was nothing.
929
00:56:53,590 -->
00:56:56,220
And the results are great. The scan is great too. It has, um,
930
00:56:56,899 -->
00:57:00,457
by default, you have to review the results and then approve them,
931
00:57:00,457 -->
00:57:03,117
which is my preferred route because otherwise sometimes these things just get
932
00:57:03,117 -->
00:57:05,508
crazy and then you can just get to diagramming.
933
00:57:06,233 -->
00:57:08,697
Uh, you could likely even just have the agent generated diagram,
934
00:57:08,697 -->
00:57:10,204
I suppose if you don't want to do it yourself.
935
00:57:10,721 -->
00:57:13,557
Um, but it's really neat. It's neat to also see all my cameras in their own
936
00:57:13,557 -->
00:57:16,890
group and stuff like that, that other tools just haven't really properly visualized.
937
00:57:17,291 -->
00:57:20,847
Yeah, it seems like maybe part of the value is that it has a wide array of possible
938
00:57:20,847 -->
00:57:24,567
options and things that it has understanding of and that you can therefore have
939
00:57:24,567 -->
00:57:25,986
them all in one cohesive picture.
940
00:57:26,538 -->
00:57:29,748
Your IP network, your Proxmox, your Zigbee, and your Z-Wave,
941
00:57:31,009 -->
00:57:33,871
is really great. I've never seen that before.
942
00:57:34,353 -->
00:57:37,917
You don't have to bring your own understanding and layers and stuff.
943
00:57:38,108 -->
00:57:39,253
It understands that already.
944
00:57:39,253 -->
00:57:42,753
Yeah, you can. So if you don't use a Hacks integration, then you have to just
945
00:57:42,753 -->
00:57:44,613
connect to like your MQTT server or something.
946
00:57:44,913 -->
00:57:48,081
There's a little bit more work there. But if you use the Hacks integration, it just ties all in.
947
00:57:48,743 -->
00:57:51,123
And then to be able to export it all is really nice. So like you can like,
948
00:57:51,123 -->
00:57:54,995
you know, go flex your network diagram when you get it all pretty as a PNG. That's pretty cool.
949
00:57:55,506 -->
00:57:58,503
And if you do want to hook it up to the MCP, you can just, you can ask your
950
00:57:58,503 -->
00:58:02,313
agent or your cloud code or your open code, whatever it is, what nodes are currently
951
00:58:02,313 -->
00:58:04,163
offline, it gets a list back.
952
00:58:04,163 -->
00:58:09,773
You could say, add a new LXE container named PyHole at 192.168.1.5 running on
953
00:58:09,773 -->
00:58:11,702
this host connected to this virtual VLAN.
954
00:58:11,812 -->
00:58:15,863
And the agent can query this and understand what all of that means and have
955
00:58:15,863 -->
00:58:18,301
a live updated map and understanding of it.
956
00:58:19,322 -->
00:58:22,673
So you're going to reduce not only exploration times, you're going to reduce
957
00:58:22,673 -->
00:58:25,463
your token costs, but you're going to reduce mistakes too. And then that means
958
00:58:25,463 -->
00:58:27,211
you can use models that perhaps aren't, you know,
959
00:58:28,691 -->
00:58:30,798
Fable or something. They don't have to be frontier level.
960
00:58:31,146 -->
00:58:34,399
I noticed it also has a read-only stats API you can get.
961
00:58:34,939 -->
00:58:36,719
So that's kind of nice. You can see how many nodes you've got,
962
00:58:36,719 -->
00:58:40,103
stuff that's offline, unknown devices, and when you last did a scan.
963
00:58:41,259 -->
00:58:44,155
That smells like a little Quickshell widget to me.
964
00:58:44,393 -->
00:58:48,669
You're right, dude. You're right, actually. Well said. I hadn't thought of that
965
00:58:48,669 -->
00:58:51,144
yet, but I mean, I have it all set up. I'm all in on this.
966
00:58:51,603 -->
00:58:54,919
I really like it. And it's really, it's complimentary to some of the other network
967
00:58:54,919 -->
00:58:57,669
monitoring I already use, too. It's fantastic.
968
00:58:58,900 -->
00:59:00,709
Can you hear the plane out there, Brentley? Did you hear the plane?
969
00:59:00,709 -->
00:59:01,797
Makes me want to fly.
970
00:59:02,139 -->
00:59:04,889
We had a banner going by for Home Label as we did the episode.
971
00:59:04,889 -->
00:59:08,049
I don't know. I know it's an audio. Yeah, yeah, yeah, of course.
972
00:59:08,049 -->
00:59:09,499
But that was actually the smoke one.
973
00:59:09,499 -->
00:59:09,796
Oh.
974
00:59:10,539 -->
00:59:14,749
Yeah, so MIT license, link to that in the show notes. And if you forget the
975
00:59:14,749 -->
00:59:19,454
show notes, well, those are at linuxunplugged.com. And this one is slash 682.
976
00:59:22,019 -->
00:59:24,999
It's best not to think about it and just read the numbers without internalizing.
977
00:59:26,529 -->
00:59:31,360
Also, I want to remind you the show is live. We make it a Tuesday on a Sunday over at JBLive.tv.
978
00:59:35,018 -->
00:59:38,432
Yeah, you can get it converted at jupiterbroadcasting.com slash calendar.
979
00:59:38,432 -->
00:59:41,385
The mumble room's always going throughout the week, but really pops during the show.
980
00:59:41,821 -->
00:59:45,712
And then if you want to read more, look at something we said,
981
00:59:45,712 -->
00:59:48,724
or point your clanker at more information, Wes, hook them up with the info.
982
00:59:49,269 -->
00:59:54,442
Well, do you prefer an SRT file or the even more robust VTT file?
983
00:59:54,442 -->
00:59:55,542
I think I'm going VTT these days.
984
00:59:55,542 -->
00:59:59,002
You're a VTT kind of person. Okay, yeah, web VTT, good standard there.
985
00:59:59,002 -->
00:59:59,522
I'm liking that.
986
01:00:01,000 -->
01:00:01,702
But that's not all?
987
01:00:01,702 -->
01:00:01,992
No.
988
01:00:01,992 -->
01:00:07,962
No, there's an upgraded now in two dimensions instead of just one video feed. Yeah, an MP4.
989
01:00:07,962 -->
01:00:10,272
That seems like a lot of work. Huh, that's just in the feed?
990
01:00:10,272 -->
01:00:10,582
Yeah.
991
01:00:10,582 -->
01:00:11,742
Just a regular OSS feed?
992
01:00:11,742 -->
01:00:15,146
Right next to where we keep our JSON file with our Cloud Chapters.
993
01:00:15,512 -->
01:00:19,522
So like structured data that you could just analyze and go right to the section in the show?
994
01:00:19,522 -->
01:00:22,352
It's a little out of vogue. It is XML-based, right?
995
01:00:22,352 -->
01:00:22,402
Oh.
996
01:00:23,142 -->
01:00:25,293
But technically, XML is parsable, yes.
997
01:00:25,427 -->
01:00:27,209
Oh, okay. Can we just do it in Markdown then?
998
01:00:28,468 -->
01:00:30,422
Someday. We probably will.
999
01:00:31,644 -->
01:00:34,482
I don't know about that. So we'd love it if you joined us. Take advantage of
1000
01:00:34,482 -->
01:00:39,161
all those extra features and all that over at linuxunplugged.com slash RSS for the RSS feed.
1001
01:00:39,469 -->
01:00:42,296
And of course, of course, that mumble room.
1002
01:00:42,667 -->
01:00:45,506
Details at jupyterbroadcasting.com. Check out some of the other great shows
1003
01:00:45,849 -->
01:00:48,083
over there as well. The launch comes out on Tuesday.
1004
01:00:49,668 -->
01:00:53,672
Actually, it's live Tuesday. It comes out on Wednesday. Check it out. Weeklylaunch.ru.
1005
01:00:53,722 -->
01:00:55,235
I think there's an RSS feed for that.
1006
01:00:55,380 -->
01:00:56,922
There might be. There might be several RSS feeds.
1007
01:00:56,922 -->
01:00:57,505
More XML, baby.
1008
01:00:57,998 -->
01:01:01,242
Websites are great. I tell you what. All right. Thank you so much for joining
1009
01:01:01,242 -->
01:01:03,414
us on this week's episode of your Unplugged program.
1010
01:01:03,716 -->
01:01:07,825
And we'll see you right back here next Tuesday, as in Sunday.