Episode Transcript
Available transcripts are automatically generated. Complete accuracy is not guaranteed.
(00:11):
Hello, friends, and welcome back to your weekly Linux talk show. My name is Chris.
My name is Wes.
And my name is Brent.
Hello, gentlemen. Coming up on the show this week, some of us build dashboards.
Others turn their desktop into a dashboard.
Quickshell is changing the Linux landscape in a massive way,
and it kicked off this summer.
(00:31):
We'll dig into what it is, how you can start having some fun with it,
and what we've built. Then we're going to round out the show with some great
boosts, some picks, and a lot more. So before we get there, let's say time-appropriate
greetings to our virtual lug. Hello, Mumble Room.
Hello, Chris. Hello, Brent.
Hello. Happy birthday, PJ and everybody up there. Thank you for joining us.
Also, look at that quiet listening, too. Hi up there.
(00:53):
On a Sunday, on a Tuesday, no less.
Getting that low latency, Opus. Also, a big good morning to our friends at Define Networking.
Define.net slash unplug. Go meet Manage Nebula from Define Networking.
When there's something as foundational as my network, I want to know I own the
stack end to end, especially over the long term. If I build this thing and I
(01:14):
build stuff on top of it, it's not a two year thing.
It's a 10 year thing. This is what I love about Nebula. It's open source and
it was originally built to secure Slack's massive global infrastructure.
I mean, just think about that one for a second.
And today it's trusted from everybody from Rivian to Home Labs.
I mean, I use it in multiple different ways for small systems,
direct direct to larger mesh networks.
(01:37):
And Manage Nebula, which is define.net slash unplugged, Manage Nebula gives
you the open foundation and peer-to-peer resilience while they handle the certificate
management and some of the operational headaches.
You can also spin up your own lighthouses in that scenario.
You get full control without the busy work, without the big tech login barrier.
Go get started 100 hosts for free, no credit card required, define.net slash
(01:59):
unplugged. Go check it out. Redefine your VPN experience, define.net slash unplugged.
All right, so I will admit it, I wanted to talk about QuickShell this week because
I think something really special is happening here.
QuickShell is a toolkit for building status bars, widgets, lock screens,
(02:21):
other various desktop components, and it's using QtQuick and QML.
And it can be used alongside your Wayland compositor or window manager,
or you can build a complete desktop environment with it.
And it's sort of the ultimate end result, I think, of Wayland.
And it's fascinating because it means you don't actually need a desktop environment
(02:42):
anymore. Now, it's not to take away from the hard work that they do to make
a usable desktop environment.
Yeah, if you want that, we have better options than ever, and it's excellent.
But it does mean that you could mix and match, or you can now completely create
your own environment in a way that's actually achievable to anyone listening to this podcast. Yeah.
And that is remarkable because you don't need to be attached to any particular
(03:06):
desktop vendor anymore or any particular toolkit. It's really fascinating.
So it means, you know, if you want your own desktop widgets,
your own launcher, your own lock screen, or if you want to take advantage of
the many that are out there that have been built, you can.
It gives you the building blocks to create or replace just about all the pieces
of the desktop environment you care about, but still using a standard toolkit,
a standard API, and sort of the best of Qt and modern Qt. You think that's fair? Yeah.
(03:30):
Yeah. I mean, maybe it's worth thinking about where this all sits.
So we talked about Wayland, right? So Wayland ends up being the protocol that
sits at the bottom of things. So you need your actual Wayland compositor,
which could be something like Hyperland or Neary or KWIN.
There's a bunch of options. Sway uses like the WL roots stuff,
which a bunch of them use under the hood.
(03:50):
And then that lets you like draw stuff to the screen, right?
But you actually, you're going to need to do more. And a lot of these provide
some basic like window management and that kind of thing.
But basically after that, nothing else, right? So if you want status indicators,
you want things you can click to like
move windows around or switch which workspace you're on or any of that.
Or if you want to build a widget that has a common interface to talk to network manager.
(04:13):
There you go. Maybe you want to be able to select your Wi-Fi network.
None of that comes out of the box.
So that's where you need this whole shell layer on top.
And QuickShell is an interesting use where they took, I mean,
like when I'm used to thinking about Qt, i think object oriented c plus plus
you know what i mean it's low level uh,
you can do lots of great stuff it's a whole toolkit for you know interfacing
(04:35):
with wayland drawing things creating and managing windows,
um but it involves compiling c plus plus and building c plus plus and kind of
it sounds like something maybe you do if you were building your own plasma but
doesn't really sound like something you want to do for quick you know i'm just
working on trying to build out a cool new widget and that's where qml comes in
and qml which is the cute markup language
(04:57):
uh it's a declarative.
A super simple little programming language, essentially, that lets you describe
the widgets and the interface that you want to build.
And then it can either be ahead of time compiled into C++ or,
and this is the part that makes it super useful to work on, it can just be reloaded
at runtime and drawn on the screen.
And so QuickShell, under the hood you have Qt, and then you have QtQuick,
(05:21):
which is a pre-bundled set of common stuff you can use, like basic drawing blocks.
And the API, you want to be able to put rectangles and circles and all that
kind of stuff on the screen.
and quick shell takes that it sits and runs the cute event loop it's kind of
going to be the thing that actually talks to the whaling compositor and draws things,
and it looks on your file system wherever you tell it and it loads qml from
(05:42):
there and then it can in a loop re-evaluate the qml,
redraw stuff on the screen and it's done a lot of the hard work to build qml
services which are basically extra apis available to you when you're writing
a qml on top of quick shell
that bind to like pipe wire and there's a plugin that handles niri or there's
uh they have a first party plugin for hyperland so now you can get access to
(06:04):
all of the hyperland stat state
right in the qml and then the biggest part that is
wild because this has been in since like q5,
how far ahead it is in some ways is qml is designed to be reactive yes so think
of it kind of like a spreadsheet right where you have linked formulas and cells
yeah yeah and so you make a change in one cell and everything else automatically
(06:25):
recomputes and updates.
Rescales, yeah.
And so you can describe declarative widgets and bars and panels and docs.
And they'll rescale to the appropriate display.
Well, not only that, but like if you update whatever data at the root,
everything downstream, you don't have to handle like manually updating each
part of the widget, right? It's much closer to something like React,
where you describe what you want the final state to look like.
(06:47):
And as long as you're binding in properties from QML...
it all just auto-updates. It's like a differential data flow UI engine that
you get for free just by using QML.
That you can declaratively define.
Exactly.
It sounds like a completely new way to look at how to build desktops. Am I getting that wrong?
(07:07):
No, you're getting it right. And what's new, what's changed,
is in May, version 0.3.0 came out, which added a bunch of stuff,
like PaulKit, Pipewire, Wayland idle timers,
just more control over managing the windows, A lot of multi-monitor fixes went
in, and then it was followed by a 0.31 stability release in late August,
(07:30):
which fixed a few crashes involving multi-monitors and Wi-Fi and things like that.
So it sort of got recognition after these more recent releases.
You can use it alongside Plasma pretty easily. You can also use it on GNOME,
although for full integration, you would need a corresponding extension.
But it's really blowing up on Hyperland and other tiling window managers because
(07:55):
there are projects that are now giving you more of a – I wouldn't call it a
complete desktop because Wes will give me a hard time.
But I would say it gives you like a status bar, application timers,
a control center for like which Wi-Fi network, audio device,
notifications and D&D, calendar integration, Bluetooth controls,
you know, settings, drop down, things like that that are kind of nice to have
(08:17):
on any desktop that don't come inherently with nearly any of these tiling window managers.
Sort of the day-to-day stuff that you'd expect to like run and operate a machine
just from the GUI without having to know a bunch of keyboard shortcuts or stuff like that.
But they're, and it's beautiful. It's also, I don't know if we've touched on
this, but it's gorgeous.
It's, it looks like some of the most modern desktop Linux out there.
(08:39):
And Hyperland really is a nice fit because it's a very smooth desktop,
but it doesn't bring anything.
And really, and so this kind of gives you something to work with.
The other reason it's getting some traction is Amarchi is using it, Amarchi.
They have a Quattro release in the works, and they've kind of built a whole
Hyperland shell around QuickShell.
And the desktop is a QuickShell process called Amarchi shell,
(09:03):
and has a top bar, drop-down control panels, notifications, volume,
brightness stuff, application menu, clipboard, emoji, overlays,
lock screen. Yeah, these are the whole lock screen.
You know, pseudo-prompts, background services.
And because everything is sort of like Gnome Shell, where it's sort of one big,
large process, they can rechange and refresh stuff while it's running.
But they also have a plug-in system, which sits on top of QuickShell.
(09:26):
They've already had over a
thousand different contributions of plug-ins in their quote-unquote store.
They also ran a little bit of a competition,
and they awarded some of the competitions and stuff like that.
Yeah, this is where it kind of gets interesting that it's using QML.
Because at first, it kind of just, you know, you could almost view it like sort
of something like Nix. It's declarative. You set a lot of properties,
right? Like I need to set the width of this piece of the UI or something,
(09:49):
you know, the background color, all those kinds of normal things.
But the properties can also be expressions, which are just JavaScript.
And once you put that there, you can basically do anything. It becomes essentially
a full programming language.
And so that means you can have really self-contained little plugins because,
Quickshell and QML offer stuff like, you know, talking to REST APIs,
(10:10):
reading files on the file system, doing like Dbus and Unix sockets.
you get all kinds of different ways to pull data in. So if you want,
however you want to surface that, an API that runs on your box,
a file from the file system, something else, if you can use those hooks to bring
data into QML, then the rest of the stuff all just applies, right?
So it's the second you've got it in there, you can build a UI with it.
(10:32):
I did, and I'll talk about that in a little bit. I built a couple things.
And so the Omachi setup is,
you can have this top level, it's all just like, you can just have essentially
a big folder of QML, And then because the plugins are mostly self-contained,
then we could rely on like Hyperland specific stuff or whatever,
you know, there's some more specificity in some of them.
But in general, you just drop that folder in the tree and Quickshell is already
(10:56):
set up to reload that anyway. And then the second you reference it anywhere
else or, you know, it can tie up all the strings for you.
And then you're done.
And one of the nice things about that is it keeps a real consistent look.
So all of their plugins for their desktop, for their Quattro desktop,
they all have a consistent theme. And when you change the shell theme,
they all immediately adapt and are consistent. It's very, it's really quite nice.
(11:19):
Yeah. And so internally, they can expose sort of properties inside QML.
And then so when you're building a downstream plugin, if you just reference
that, you automatically get that consistency.
So historically, throughout Linux and all the various distributions that are
out there, we had these boutique distributions where, you know,
a couple of Rockstar developers would or one Rockstar developer or whatever
(11:39):
it might be, would get together and they would create their version of a desktop environment.
We still have versions of these at different scales.
But what I think we're going to see with QuickShell and AI-assisted development
and with bases like Arch and NixOS is you're going to see….
Hundreds and thousands of little teeny tiny micro distros that are their own
(12:02):
composite, like mine. Like Hypervibe is now, it's a base of Nix OS.
The window manager is Wayland Hyperland. And then the entire shell now from
the lock screen, the login screen, everything is all QuickShell.
I've built it all. I've built my entire, my desk over the last three days.
Well, okay, there's a little more. And I've deployed it to all my systems with
(12:26):
multiple different – every system has a different video card,
a different monitor layout.
And it's my desktop shell now. And it really wasn't – it's not like I sat down
and, like, learned how to do C++.
Quick shell is so straightforward, and it's so easy for agents to manage as well.
Or for a person to just do, you know, by hand, all 100% human Greg created.
(12:48):
It's approachable that way too. So it's really going to create,
I believe, because we already have so many great distros, especially like when
you think about the Ublues you could easily rebase on and Silverblue.
There's so many great base distros out there to then just build your own layer on top of.
And you'll just see people will just be hundreds, if not thousands of GitHub
repos and GitLab repos out there of people just running their own distro now.
(13:10):
And I bet, I bet if people boosted in our email, I bet you a lot of people in
our audience are already doing this.
And this is what's being this is what quick shell is unlocking now is this last
layer this last layer of the desktop can now be completely yours or there's
so many cool community spins out there you can take in i just think that's really neat.
Yeah there's like a critical mass factor i like your comparison with nix right
(13:32):
because there's a long time where nix was like okay really cool technology but
if nix packages didn't really have enough,
you're not going to take all the time to reboot strap your whole environment
every time right so and i think that's where we're getting now.
It's like Quickshell has...
QML has been around for a while, right? We've had a lot of these primitives.
QuickShell's now got a rich enough API and we've got so much stuff that's building
(13:53):
on top of it and sort of figuring out some of the quirks of the system and how
to wire it up robustly and it's open source.
So now we just have all of these pieces that even if you can't just exactly
pull the thing, most of it's going to be declared to VUI and maybe you need
to fuss a little with where the data comes in and out or whatever.
But that's it. And you have a bunch of examples of how to do it or reinvent yourself?
(14:19):
This is what I wanted Plasma Widgets to be.
I remember when QML was first introduced and I thought there's real potential here for all of this.
The other thing I think that's moving the needle a little bit is the Omicron
Foundation announced that it has become a premier sponsor of Quickshell and
its lead developer, who's known publicly as Outfoxed, and the sponsorship is
(14:39):
initially set to run for three years.
They're also sponsoring Vaxery from Hyperland for, I believe,
three years, perhaps, with the option to even extend that.
So both the Hyperland component and the Quickshell component now have at least
three years of full-time funding for development.
So they're probably not slowing down because that just happened.
(15:00):
Yeah, that means you can actually, you know, you can take some stuff off the
backlog, you can plan out some
months at a time to figure out what things you're going to be building.
Yeah.
That's an enviable position.
So I feel like you're going to hear more about Quickshell, and one of the ways
you're going to experience it is You'll probably see at least Plasma-based distros
start shipping different QuickShell applications,
not to spoil the picks, but that's another thing that's happening is people
(15:20):
are able to also publish standalone applications using QuickShell,
which is very fascinating. I played with some of those too.
But I think we should talk about some of the stuff we built. Yeah.
So with all that fun, we built a thing, we extended it, and well,
(15:44):
of course, we have some notes.
But before we get there, let's talk a bit more about these community plugins.
I thought this was an interesting way to kind of kick things off.
You know, Omar, she held this community plugin contest and awarded some cash
prizes to some of the number one plugins for their platform.
And can and have been pretty straightforward to just port these to my own setup.
(16:11):
really it's not hard these are not like inherently locked into oma archie they
might be designed around oma archie but they're not inherently locked in.
Which is a great point because from the outside especially if you are coming
from like an ohm or plasma it could be kind of hard to understand like is this
compatible what parts of this can i use or not use and you're not using that
you're using a different shell which we can.
(16:31):
Talk more about yeah yeah so.
I think it's a great test case because it does show like unless it's trying
it helps probably that you're on the same compositor but like unless you're
unless it really needs some sort of hyper specific omachi information.
Or design elements right i mean they have a very unique style i like it i mean
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,
(16:51):
plugins is really cool it's called radio atlas and it is a plugin that allows
you to rotate a globe and then little dots on the map throughout and around
the world and when you click the dot it plays the radio station from that area
around the world it's basically got all the radio stations,
and it's just a really neat thing to have like if you like me i really enjoy
trying especially around the states different local radio local tv,
(17:15):
and it's just really well done and it's like an example of what actually is
a very powerful and very nice user interface very high-end user interface that
is done with this kind of simple quick shell setup.
It gets it much closer to like if you were comfortable building out like a simple
React UI you can now do a similar thing except it's a part of the desktop.
(17:38):
Or you know,
Claude Code can. The other one that I thought was just a great idea that I'll
probably be borrowing is the Home Assistant QuickShell integration.
To just be able to control different parts of your Home Assistant right there in the bar.
Very, very beautifully done. Again, not necessarily locked to one particular
project, which is really great. So they have some really wonderful plugins,
(18:01):
and you can just browse them and get an idea of what people are building.
And I did that. And I found one called SyncShell.
Oh, okay.
Sync Shell is a health and monitoring widget for Sync Thing.
And you can control and install or control service, pause syncing, things like that.
And as we know, you've recently recommitted to our dear Sync Thing.
(18:24):
That's right. So this one was built. Sync Shell is built for Oma Archie,
although the project does stay. You know, we're totally open to expanding in
the future. So I may link them what I did.
Because I have built my shell around Dank Linux, the DMS shell.
Dank Shell is beautiful. So I took a lot of my design from Dank Shell,
(18:45):
which is, you know, it's like a it's a community made desktop for Sway,
really any Wayland, any Wayland desktop.
And it's beautiful. It's so gorgeous. It's so nice. And so I just sort of like
aped all of this and then wanted to create a SyncThing widget that matches that design.
And I'm going to publish this. So if you end up playing around with this listener
(19:08):
and you also use sync thing and you would like a sync thing widget for your
dank desktop, I will publish this in the show notes.
I have made sync shell and it is kind of my, you know, quick copy.
This is a read only version. It tells you the current status of things,
where they're synced, how much space is transferred, where what's left.
You can see I have 73 gigabytes indexed across 11 folders. And I'm currently
(19:31):
updating this week in Bitcoin. And...
It's QML, JavaScript, and a little Nix language so I can get it easily going on my host.
Nice. See, and this is great, too, because you've already tried experimenting
with, like, can I have this?
One thing I'm excited about here is the composability, right?
So you can just sort of publish this. It's just some bits. You don't really
need to compile anything or do any complicated build.
(19:54):
And so you can have a simple Nix package that kind of just puts the bits on
disk and then pull them in the right spot.
And it's really good at handling various monitor layouts and panel size differences.
which has been really, really nice because I have really weird esoteric vertical
monitors and every monitor has a different resolution in some systems. It's really crazy.
(20:14):
So it's been nice to build something because I have one Nix config for all these
hosts. So it's really nice to be able to build something that does work across
multiple hosts but is still adaptive.
You can have customizations but it's not like a crazy thing where you're constantly
duplicating everything and having to do a bunch of jank.
I really like that. It feels like mine too in a way that I wasn't really missing
some of this stuff but now that I have it, I don't think I can go back.
(20:36):
It is still sort of feels early. It is kind of easy every now and then to like,
slip into an accidental like CPU loop where it's like eating a lot of CPU because
something in the bar didn't render correctly. And it takes me a minute to catch
that. But that's my own foot gun. Not inherent to quick show.
Did you have anything you built or play around with?
I did. Yeah. So, okay. One thing I find fascinating here is.
(20:57):
because there's this connection with, you know, drawing UIs,
the flip side of that, which has become quite the study in the web world,
is like you need state management, right?
So like you have the UI, but the UI is displaying state, which could be,
you know, the external state of your sync thing, or it could be like where the
windows are and which windows exist and how many workshops you have.
But what's the source of truth kind of thing?
Yes.
(21:17):
Okay.
And different desktops have taken different paths on some of this, right?
Yeah, yeah.
So like the stuff that this latest Omachi is doing is really like QML QuickShell
native, where it's all there. It's just one tree. The state lives mostly in
that system besides like some config files on disk.
But DankMaterialShell kind of took a different path. They have a separate Go
(21:38):
daemon that sort of does a lot of the stuff under the hood.
Yeah.
And then QML talks to it over two different sockets. One's like a request response.
And then the other one, it sort of subscribes for updates.
And so the Go daemon can kind of own a bunch of the state. and then QML ends
up being used sort of as the presentation layer.
That's one of the things that actually drew me to Dank. I mean,
(21:59):
because you need something that's doing that management and that dispatch.
I thought that was a good way to do it.
Yeah, absolutely. And what's fun is you get various sort of like there's different,
it fits into sort of theoretical computer science because there's just various
ways of managing state and various ways of handling and updating UIs.
And so you get, QML handles a certain amount of it and then everything else,
you get to see this sort of plethora of different open source takes,
(22:20):
right? So there's like Celestia, they compile a C++ plugin that they load,
and that's where the config lives.
There's a bunch of different use cases. Some folks even like Noctalia used to
use QuickShell, but now they're just going C++ native entirely.
Yeah. So I decided I'd build my own shell, kind of inspired by what Dank is doing.
(22:41):
Oh, this is exciting. Brent, what do you think? Okay, Brent.
Brent, what is Wes's desktop shell? What are the key things that Wes has to
have on his desktop shell? What do you think?
app launcher probably maybe you.
Know i think he's gonna hide that i think is he's gonna get to an app launcher
with the keyboard shortcuts but right but i mean and.
I guess you could use another one too you don't have to build one.
(23:03):
He wants a bunch of visibility into like multitasking i think so similar like
pinning your tabs in your you know browser some people do this i hear i bet
you he has like a sidebar or something where you can see the progress of,
everything that's going on at a glance and then you know keyboard shortcuts
to quickly move to them uh you should.
Call it the pain bench.
(23:25):
I like what.
You guys are crafting for me.
Can you write some of this down someone recorded right well.
I'm thinking i'm thinking like uh it depends on how far you want to go right
because oh man you could build one that has like a wi-fi network manager interface you,
Why not have a button that executes K-Exec? You could just have that.
Oh, I don't have that yet. K-Exec on the fly. Okay, so tell us, what is your desktop?
(23:49):
What is it? Well, so right now it's super minimal. I went with Neary as the
scrollable Wayland compositor under the hood. Nice.
And then on top of that, well, naturally because it's me, I have a Clojure Babashka
program, and it's serving the role of that Go program. So it's sort of the state
manager and the brain, and then it subscribes.
Neary has an event socket, And so you talk to that. The first thing is it pushes
(24:12):
the current state of everything it knows.
And then after that, it will send events whenever you do stuff,
right? You click or you move windows or you do whatever.
This guy.
And then so,
the brain just gets those and.
Sort of- So Neri's doing that inherently and you're just writing on top of that?
Yeah, so it subscribes.
Oh, that's great.
So anytime you know, like if I like click a button that takes me to Workshop
(24:34):
2 or Workspace 2, that sends an event that says that, right?
And then so the Clojure program does what's known as like a reduce or a fold.
So every time it gets an event, it just updates state, right?
It says like, oh, I know that what changed. Let me keep track of it.
And then anytime you have an update, you render out now what the state looks
like, right? And so that gets pushed.
(24:56):
You could do it over a socket or
I'm just doing a file right now because I don't have that much in there.
So it has opportunity there to update the state.
It controls that and it can fire off events or whatever and actions that are
needed when you see like, oh this thing changed sure what do I need to do and then,
QML is set up to be the rendering side so it reads the state.json file and then
(25:16):
that has everything it needs to display everything of course and then source
of truth just like a lot of these are doing um QuickShell has an IPC
that you can talk to right so essentially it then triggers things in QuickShell
so like when you click one of the things it had to build was like a little workspace
switcher yeah there's also basic stuff for just being able to click and see
what windows are open and click on those.
Okay so you got a window switcher.
(25:38):
And so that took,
all of that loop to be able to work right um and so i was trying to figure out
like what exactly all do you need
um so that gave me like a very basic i've got my clock i've got my very basic
window controls right everything working there uh and then of course i had to
add basic system monitoring right so like live cpu and disk and networking.
(25:59):
Nice oh i didn't think you'd do monitoring that's cool uh.
And then uh i figured you know because in case brantley wanted to use any of
this i did add a little monitor that tells me the Firefox windows I have open
and how many tabs they have in each of them.
Called it. Good call.
And then I did also build a cute little power profile switcher.
(26:21):
Oh, yeah.
So you can kind of just click that and toggle it.
And you know it works.
And then the fanciest thing I've built so far, because a lot of this was just
trying to get the underlying architecture to work at all and be like an actual
desktop I could use without having to switch back, is a little open code session viewer.
I was thinking about building one of those.
So it tells me I have 11 sessions over the last 24 hours, 32 million tokens,
(26:42):
you know, and then it tells me like how much I've spent. and then you click
it and this took a little bit, you know, to make work. It's not very,
it's not fancy yet, but you click it and it drops down and it shows you like the most recent ones.
Oh, I love it.
Yeah.
And their title. Yeah. That's great. So to sort of double down on that point,
we're talking about a lot like building your desktop and creating a shell and
replacing Plasma or GNOME, but you could just build that widget.
(27:05):
Yeah.
And you could just use it on whatever desktop you'd like today.
You do not need to replace the entire shell.
So if you just want a widget for a thing that's unique to you,
Like I was kind of joking in the intro, you could turn your dashboard,
you could turn your desktop into a dashboard because you could just build like
I built a sync thing. You built an open code thing.
They don't require that you build your whole shell.
You could actually just make them plasma widgets or you could make them a little
(27:26):
application on Gnome or whatever you want to use.
And like you could, like in my version, I'm having the Clojure program go and
fetch the data and then write it into the state.
But the rest of that, like the downstream UI part, you could just take,
right? Because none of that needs to change. You just have to fill in the gap
with how you want to provide the information.
The info, yep, yep, yep.
I feel like with our modern tools, we're starting to see a shift towards deep customization.
(27:52):
If you look at a tool like OpenCode, for instance, you can modify it as much
as you want to be your own very personalized, esoteric workspace.
And this QuickShell stuff and this entire conversation and Wes's beginnings
of his customizations just reminds me that we all get to have our own distinct
(28:12):
computing environments now and it's,
this is what we've always wanted and everybody's always wanted,
it's been too hard to attain, but,
I don't know. This year just feels like everybody gets a desktop.
You get a desktop and you get a desktop. You just get whatever you want. It's great.
It was also really easy to port the widgets I had built for my Waybar over to
QuickShell. It took seconds.
(28:33):
I wanted to ask you about that because you had been using Waybar before.
One version of what you can think of QuickShell is sort of as a Waybar replacement.
On steroids. I also really like the launcher that Dank chose and built. It's really good.
And one of the plug-ins is Nick's Run.
So if I type Nix and the name of a package, it searches Nix packages,
gives me a list, and then I just hit it, and it just runs it from the repository
(28:56):
immediately and launches the application.
It's really next level. So I love it. I love it.
And, yeah, look at that. Oh, Wes just posted a picture. Actually,
Wes, it looks really good.
See, I kind of went for more, like, bubbly kind of pill widgets on mine,
but you went for, like, a clean text bar, which I think also looks really good.
Oh, yeah, that's nice looking, Wes. Clean, minimal.
(29:18):
Yeah, and I want to play more with doing more theme stuff. I just kind of got
it across to like, what's the minimum thing I could actually use today without hating it, right?
Yeah. I think that looks very good. What are you, Brent, right? You impressed?
Yeah, I'm trying to wonder, like, Wes, when are you going to publish this for
us to all play with? Because I feel like there's some real gems here.
(29:38):
It's fun. It's also getting to play with this stuff and just like you were saying,
in a deeper way and building this whole thing.
There's a lot. I've played with tiling window managers over the years.
I've never gone this deep. And it was a great excuse to understand more of what
are some of the options because it opens our software, right?
You dive in and there's...
(30:00):
Like all the good things, there's so much you didn't know you didn't know.
Well, as my kids would say, I'm so cooked now because between Quickshell and
Hyperland, It really is the perfect sweet spot for me now.
I just can't ever, I mean, I love all the desktop environments,
but for like my production systems where I'm working and sitting there doing
show prep, I have built such a workflow around the keybinds and now with the
(30:21):
quickshell stuff, it's so good.
It really is, it is a unique kind of lock-in. I have created my own lock-in
and I love it. I couldn't be happier.
And so even if you just use it to create a simple widget or you use it to try
out a lot of the really neat desktop shells or build your own,
And I think you're going to be hearing a lot more about QuickShell for many,
many reasons. And so it really blew up over the summer.
(30:42):
And we just kind of wanted to give you a heads up and give you a little information
about what's going on. And if you built something or have built or build something
with it, you've got to let us know.
(31:03):
Once again, this week, we have some red hot feedback. This one from definitely not a Mac user.
I don't know what they like, but they definitely don't like a Mac, I guess.
Hey, JB team, too long for just a boost. So I'm yapping here on the email.
My dad and I just finished up a road trip across the country from Columbus,
Ohio to LA for college. Oh, that sounds fun.
(31:25):
And as you do, we realized we needed to plan this trip.
I found a tool called Trek, and it so happens you featured this on episode 680.
Seeing as it has an MCP naturally, my dad and I each hooked up our own clankers
to it, and oh boy, is that the way to do trips.
As if we needed to complicate it further, we hooked up Devarich,
(31:47):
remember the big D, and Imich to make a timeline for our trip on Trek to keep,
the memories after we get there. That's so smart.
String it all together.
We used GPT and Claude models to make the rough skeleton before we left on the trip.
This put in places we wanted to stop and the routes to get there.
(32:08):
But once we left, we used Hermes agents only. Shout out to Quinn 2.7+.
My dad would book a hotel, give his agent the booking confirmation number,
and my agent would send me the Google Map link and suggest a good dinner spot nearby.
Hermes also managed our time so we could visit the Gateway Arch and Arches National
(32:28):
Park. Yes, yes, we like Arches.
While also making tracks across the country to make sure we get to the check-in on time.
This whole trip was made so much easier by combining all of those tools.
Imagine how many people contributed to this trip from the open source community. Wow.
All the time we saved in planning, let my dad start to catch up on Linux Unplugged
(32:51):
episodes, as well as time to argue about the relative merits of supporting legacy
and outdated protocols in the kernel, such as AppleTalk.
Yeah, buddy. So definitely not a Mac user. I have a couple of hot tips for you
because you can probably guess I have done something very similar.
And I would very much recommend, it's free to do, to sign up for the TomTom
(33:12):
developer API because this gives your bot super routing powers. It knows about outages.
It knows about closures. It knows about weather. It knows about traffic.
It also can do route distance and planning and they have an endpoint if you
have an EV. So it can do range calculation as well.
Then if you really want to go nuts, most states or like up in Canada provinces
(33:36):
and areas will have developer APIs for their local traffic information.
So for me, I'm very often in the Washington, Idaho, Oregon or B.C. area.
So I signed up for APIs for each one of those and I can check their particular closures when routing.
Then on top of that, if you really want to go crazy, you can also tie into things
like free campsites.net and other services like recreation.gov.
(34:00):
and it can actually do availability planning and checking.
So you can bring it all together and you can have it produce quite the comprehensive
plan. I just went on a trip to Idaho over the weekend.
The entire thing was generated by my agent. And then for consumption by the
wife, I had to produce a PDF, which she loved. And it just broke everything
down day by day where we're going to stop, where if you wanted to,
(34:21):
if you don't want to stop there, you could stop here. You'll have this much
battery charge when you arrive.
These are the food places nearby.
These are the campgrounds that allow you to stay one night. You can book late.
They let you park and sleep in a car, like all the stuff.
It just does all the stuff. Oh, and it'll even tell me because this is a problem
here. It'll tell me like how close I'm going to get to wildfires along my route
(34:42):
because I'm checking all the wildfire information as well.
And it just produces such an awesome comprehensive. This is coming from somebody
who's a road trip enthusiast, right? I mean, I've been doing this for a long
time and this is all stuff I had to do.
You can even have a check in on cellular coverage. I mean, in other words,
keep going because it just keeps getting better and better. It's really pretty great.
(35:03):
Can we just have an API for everything? Finally, maybe I would book my trips in advance.
Yeah, but then you also have to do what the agent tells you,
and that's the human factor. All right, well, we do have some boosts,
too, so let's get to those, gentlemen.
And Greg, the lawyer, comes in with 40,000 sats. Greg, you're back again. Look at you.
(35:31):
And Greg comes in with one message. He comes in with boost.
Love it, Greg. Thank you very much. Greg, you're often on the top of the list
there, and it doesn't go unnoticed. We appreciate it very, very much.
You, sir, are the baller booster of the show. Appreciate you.
Hey, speaking of PJ and his B-Day.
(35:52):
Oh, we got a birthday booster. Except this was actually a boost from last week's live.
Oh, really? Coming in live so early but late?
All right. Do we have a sound for 8,888 sats? How about that?
Yeah, PJ says, does this thing work? And yes, it does. I guess on a delay this
time because we were not watching live.
(36:13):
But thank you.
It's fun to get live boosts.
Thank you, PJ. Thank you. Yeah.
Well, Colarapha boosts in a row of ducks.
Colaphora? No.
Colarapha?
Colaphora.
That ain't right. No message, just value. We take that. Thank you very,
very much. Appreciate that.
(36:33):
All right. Next boost comes in from Nyquist, which almost sounds like the drive
I used to use. Is that, are you Nyquist? Are you referring to the old Nyquist
drive? Cause that would be awesome.
Also no message though, just the value.
Sir, Omlet comes in with a row of ducks.
Hey!
When I hear SyncThing, I just have to boost in.
(36:54):
All right!
Such a game changer.
Isn't it? Some projects out there just don't get enough love,
and that's where we're like, no, we've got to talk about this.
I know people know about SyncThing, but it just doesn't get enough talk.
At Chris, I enjoyed the irony of recommending it because there's no cloud,
and then pointing a free cloud-hosted LLM at it, but I do agree, the API is great.
On the topic of web and thin clients, Maybe check out a file browser fork.
(37:19):
And then Bearded Tech independently also recommended, I think,
there's like a maintained fork called Quantum File Browser or something like that.
Yeah. Yeah. So because the question was is like, how do we stack like a file
manager or something on top of this?
So that way when you're on a mobile device, you could get to these files or
maybe you're on a computer that doesn't have sync thing installed,
but you're on your machine.
(37:40):
You just want to quickly download or maybe even upload something. Yeah.
So this is File Browser Quantum.
that's pretty cool that's pretty cool mostly Go and it is Apache 2.0 licensed.
Yeah another option would be something like Copy Party which is also in that
space so there's a few different things that maybe we should be.
Trying I need to try something I do because that is going to be that's going
(38:01):
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.
Well speaking of omelets Outdoor Geek is here with 5000 Sats,
here's a psa avoid the hp 840 g9 12th gen intel for linux,
i couldn't get any sort of low power state working on this thing oh sleep battery
(38:26):
drain is more than 10 per hour on linux on windows however it's less than one percent.
Oh that's annoying.
I tried nix os pop os and fedora i put maybe eight hours of troubleshooting
into this thing about two months ago but nothing made this thing better.
Oh well you you definitely tried you gotta give credit for that hp.
(38:47):
840 g9 12th gen intel he says.
Well if anyone knows any tricks.
I just haven't been able to pull the trigger on a used laptop it's just such
a bad time to buy a computer right now.
This is a bit on theme for me this week because i uh as most of you might remember
i just moved recently and so somehow the dev1 came out of box this week and
(39:09):
i plugged it in i was like wait a second this thing's charging 100% all the time.
I need to just set this thing maybe to something lower, because I mostly use it on desktop.
Nope.
Can't do that. Did a ton of research. Nope.
None of the kernel for this thing just can't handle it. There is a PR to allow
it to happen, but who knows how long that's going to take. Yeah,
I was very surprised. Very, very surprised.
(39:32):
Even TLP can't do it on this thing. Nope. Not going to happen for this one.
Okay, I got a suggestion. You set up Home Assistant.
you get a little sensor on there that monitors the battery charge then you put
your charger on a smart switch the smart switch gets toggled by home assistant
when you reach 80% home assistant turns off the smart switch and then when you
reach 60% home assistant turns it back on the digital world fails you?
(39:55):
Go to the analog via the digital control.
MRAM comes in with a row of ducks 2,222 cents first time booster wow that's
awesome thank you for boosting,
I like RAM.
Appreciate the value.
Too Many Accounts comes in with 11,337 sets.
(40:19):
Picking up the Firefox thread here, I'd love your take on how to handle multiple
Firefox profiles elegantly.
Firefox now ships to profile managers, but both lack the ease of Chrome profiles,
for a GUI file like me. I love hate, my foxy friend.
So I just randomly did see that old, like there's like two versions and one
(40:40):
of them look real old. Like the original one from early days of Firefox.
I was surprised that that UI had popped up.
I don't do the profiles thing anymore. I have messed around a bit with containers.
Ah, yeah, I have done that too.
And I do find that to be kind of useful and tab groups.
Right. Yeah, I've used containers, especially for things like,
(41:01):
you know, you have like a day job or a particular account associated for something like that.
That I think works better than individual profiles personally.
But we may not be addressing what you use profiles for. I'm kind of curious what you need them to do.
And have you tried that? that because i i don't know it's it's like you've probably
seen it once before maybe you took it off your menu bar kind of like when you
when they first added it they kept popping up,
(41:23):
every few updates and first i was like i'll get this out of here i don't want
i don't care about this but then i actually like stopped and used it and i actually
found it pretty effective.
I haven't quite used the chrome profile switcher so i'm not sure which features
uh you love about it but i do remember using profiles in the past and i found
the easiest way to use it was to have a distinct,
(41:43):
shortcut icon.
For them that would just.
Launch that one and that seemed to be the easiest way to manage it just outside of the browser.
Itself. Usually it's just a pending, a profile kind of stands at the end of
the executable. It's not really that hard.
And you can usually just play around with it at the command line and see what
works and then make that the launcher. But that would probably be one way to do it.
(42:07):
I guess that we need more information to properly answer this and ask why you
and we're also asking to be honest with you if you're holding it wrong a little
bit but just a little bit like you might not be we might wait you might just need more context,
Bronzer Wing comes in with 11,233 Satoshis.
One vote for a Clanker podcast. Have you guys tried the Pi coding agent?
(42:27):
I'm writing it with Llama CPP with Unsloth QN 3.8 Q4 KXL with MTP and No Vision
MM Pro J for extra speed. Okay, I don't know what that last one is.
Love it. I lost me on the last one. Feels almost frontier-like.
Whoa.
I ditched Hermes and OpenCode as they felt too bloated for local models.
Oh, that is an interesting observation. I could see that.
(42:50):
So I could see maybe why Pi coding would be a little more appealing.
Yeah, if you don't. And, you know, if you are targeting a specific thing,
you don't need a full sort of general assistant type agent. Skip the bloat.
Have you tried? I know you've looked at it, Wes. I know you're familiar with it.
Yeah, I haven't done anything extensive with Pi. I have, yeah,
poked at it a little bit because it's kind of, you know, it was some of the
fundamentals here early, too, and it's just continued on. Maybe we owe it some time.
(43:14):
Thanks for the idea there, Bronzwing, and the report. They're always useful.
I agree.
G Anonymous comes in. 4,500 and 13 sats.
No message found. So I'll take Distro Stew too because Distro Stew sent in 12,345 sats.
You know, it's been a minute since we've had ourselves a Spaceballs boost.
(43:40):
Yikes. 300 character limit.
Oh, yikes. You say. Blessing, we say.
I recently created a hub and spoke module for my sync thing setup.
Two Nix servers. Everything else is a spoke. Phones, laptops, etc.
When I was mesh syncing every host to every ephemeral host, it led to an unnecessary
amount of conflicts over time.
(44:01):
And then we get a little link from Stu here.
Which doesn't seem to be working.
Oh, no, it didn't seem to work. Maybe it got cut off by the 300 characters.
Maybe.
But love it. Thank you for the architecture.
Yeah, the old hub and spoke model. I did it when I, for a long time,
like sort of my main sync thing server was actually a VPS with some attached storage.
(44:23):
And then I would attach everything to that and then have it,
you know, everything obviously because of its high speed would sync there first
just naturally and then it would sort of distribute to everything else and that
worked quite well. It did work quite well.
Well, Gene Bean boosted in a couple rows of ducks for a total of 6,666 sets.
First one here, the hold music from Data in LUP680 is quite great.
(44:51):
As for making up for missed streaming sats, wallet emptied while driving.
On a road trip, eh, Gene?
Do you all have any suggestions for interacting with SyncThing from iOS?
Probably using whatever file manager that ends up being agreeable,
I think. Really, I think it's probably putting a web file manager on a mesh
(45:13):
VPN network is probably going to be my solution for that.
I don't think sync thing as a service is very viable unless somebody knows differently.
If anybody has a solution for that, please let us know because that is something I'd like to solve.
Mr. Mayhem came in with a smoking hot boost right as we got going here. 2001 Satoshis.
(45:33):
Your pre-show song reminded me to boost. Well, thank you very much,
Mr. Mayhem. Appreciate that.
Time for some fiat booze here we go boys well tan comes in with a hundred dollars wow,
(45:57):
Month two, FOSS ad boost.
All right.
Thank you.
Thank you, Dan.
This is for a cool little project I found called the Open Book Touch,
which is everything I've thought an e-reader should be and nothing more.
I've already ordered one and thought I'd spread the word.
Okay, look at this. This is looking good. So it looks like pricing will be between
(46:18):
$150 and $250, depending on options.
A pocketable, front-lit, open-source e-reader for every book in every language.
Looks like a cleaner version of the Kindle. about the size of a large Field
Notes notebook, which is a great visual.
And yeah, it's an EPUB reader.
No physical buttons.
The ink.
Device is a single, perfectly symmetrical 4.26-inch front-lit e-paper touchscreen,
(46:42):
one centimeter thin in its enclosure.
It looks great.
Open book touch slips into a pocket and disappears until you unlock it to read.
All right. Nice find, Dan. Thank you very much. I really would love to know
how you like it when you get it.
Yeah, please do report, because, boy, that looks tempting.
Mm-hmm, mm-hmm.
Well, definitely not. A Mac user comes in again with 20 total fiat. Yeah.
(47:06):
My dad and I just finished a cross-country client-gertriff powered by open source.
Oh, this is his boost to refer. You know, that's a nice way to do it.
If you're going to do a long email, that's really thoughtful.
Thank you, definitely. There's some extra details in here. Track and Devaric,
which we mentioned. Image, we mentioned. Hermes, of course. But there's Nebula in here as well.
Oh, yeah. Nice, dude.
He says, see my email for more fun info. We did, and that was great.
(47:29):
Boosting in to say thanks for being the entertainment on this trip and providing
all the pics to make it happen. Keep it up.
Well done putting it all to practical use, definitely. That's really awesome.
Monty comes in with a free member boost. I support the use ThinkPad plan.
There's never a shortage of good options in that 300 range.
Agreed.
I look for a listing that have several of the same model as a sign that there
(47:50):
are off-lease business units. Yeah.
Yeah, one listing has like 10 or more available. They usually come looking like
new. Then I resell the previous and I get close to half back.
Nice.
Yeah, I guess around $300 if you only use them for a year or two.
They probably don't lose too much more value. Halfback is not bad.
That's kind of what I really want is a ThinkPad, around 14-inch screen,
(48:13):
32 gigs of RAM, and 10th Gen or newer processor.
I think 300 is a little, probably not quite enough at this point.
But that's what I was looking at on eBay, and I just haven't really pulled the trigger yet.
Well, we have another member boost here from Paul. Paul writes,
continuing my member boost streak, do you try local tier models like the 30B
(48:36):
variants of Muse Glimmer, Quen, or Gemma?
I guess you don't have the resources to run them on your own hardware in a meaningful
way, But would you be interested in trying to use small models exclusively for a week as a test?
Ooh, fun idea.
I'm always trying them to see what I can eke out of an old computer.
And that's not much. Wes has done the Rent-A-Gupu model.
(49:01):
Yeah.
And has played with some of the more powerful versions of these self-hosted models on a rented GPU.
Yeah, I've played a little bit with the Muse Glimmer model. That was fun.
I was just playing with the Quen 3827B model.
Yeah.
And a tiny bit with Gamma. I'd like to do a little bit more with Gamma.
But yeah, I haven't done like a whole week long. It's more like,
(49:22):
you know, when new models come out, I usually try to find some time to go at
least put them through some basic paces.
Doesn't always happen, but I'd like to do more.
Yeah. Oh, boy. Are we ready? One day in the distant future, hardware prices,
some at some point will come back to earth and these models will be optimized
for on a local hardware and maybe the two will meet maybe,
(49:44):
A guy from Vienna sent a member boost. Use a rubber duck.
Save the planet. I had this thought yesterday when debugging a network issue.
The solution was quite obvious, but asking the LM first got me into a cul-de-sac.
The rubber duck uses the energy and doesn't talk back. Nice feature sometimes. Yeah, it can be, right?
You know, the rubber duck approach just to kick things around is definitely a valid use.
(50:06):
Rubber duck it, Wes. And plug your laptop in. Wes's desktop environment is using
too much power. Let's plug it in real quick. You want to take Lutra's copy?
Gotta optimize that, Wes. Lucitropy came in with a free member boost.
Lucitropy.
I went to the future and got Wine 99.0, so I don't need to dual boot Windows anymore.
I think we're reaching a point where you can clank any unsupported application
(50:30):
into Wine. I was able to get my clanker to iterate and debug loading a small
proprietary work app with Wine, and now I don't need Windows.
Hmm. It does seem like... Wine compatibility is a softer target than porting
an entire Windows application.
And we have seen a couple of success stories of previously very complicated
(50:53):
Windows applications getting wine support.
So we may be, you might be honest on here.
I mean, you can imagine, right? Just a few, especially if it's just a couple
of spots, like it's not missing a whole giant compatibility thing,
but it's just a few things you need to fix or implement some stub or something.
Yeah. The real trick would be if anybody ever got Mac apps working,
but now that they're on the M platform, I don't think that's ever going to happen.
(51:14):
Thank you, everybody, who boosted the shows. We have those of you who streamed
them stats, 15 of you, collectively stacked 26,303 Satoshis.
I guess that's the Texas amount. There you go. 26,303. That's not too bad.
Thank you, SatStreamers.
When you combine that with our Fiat Boosters and our SatBoosters,
(51:36):
and we'll just kind of convert it all to sats, the show this week stacked 292,102 Satoshis.
Not too bad at all.
And, of course, thank you to all of our members who put your support on Autopilot.
Don't forget you get that free member boost as a reward at boost.jupiterbroadcasting.com.
and you can support each individual episode as well by going to boost.jupiterbroadcasting.com
(52:00):
or in your podcast app. The memberships are pretty neat, though.
Jupyter.party gives you access to the entire network's special features,
like bootleg editions of the show, which right now, the bootleg edition of Linux
Unplugged is almost an hour and 54, 55 minutes long at this point.
Lots of content, really good discussions in those bootlegs, sometimes develop
into full segments, but sometimes it only ever lives in the bootlegs.
(52:22):
If you want more content, there's a whole other show.
and jupyter.signal, or you can support just this humble show at linuxunplugged.com slash membership.
I'm kind of excited about these picks, boys. Let's start with Dank Calendar
because it's the one I told you about that kind of proves that these quick shell
applications don't have to be tied to an individual desktop environment or individual shell.
(52:46):
They can actually be spun out into their own applications. And I present you
Dank Calendar, which is also available on Flathub.
So you can just install it on any distro of choice.
Yeah, look at this.
Now, it's a simple, clean, local calendar that can connect to Google,
Microsoft, CalDev, and iCloud calendars and pull it into one app.
(53:07):
And I use it in coordination with my Keeper application, which is already syncing
all of my calendars to one iCal feed. So then I can just plug that into Dank Calendar.
And, well, Richard is your mother's brother. I now have not only a great desktop
calendar app, but a great calendar widget as well.
Yeah, and you can tell how it's made. I mean, one, it's got a flake.next. Love to see it.
it's 49% go and 45% QML.
(53:32):
The other one, you know, Wes, you were talking about sources of truth.
And I think when you're thinking about agentic network management or you're
just thinking about human network management, having a visual home lab map,
diagram that is live and represents your actual living network.
Oh, not like the way it was six months ago when I last thought to update it?
(53:52):
Yeah, is pretty useful. And I've always kind of loved experimenting with these.
And I think I have found the apex predator in the space.
It's called Home Label. It's a visual home lab manager mapper kind of a dealio.
It's self-hostable, and it visualizes an interactive diagram of your network with live monitoring.
It provides a network integration for like your IP network, your Zigbee devices,
(54:15):
and your Z-Wave devices.
So you can also bring your smart devices into this diagram, which is really, really powerful.
It also supports importing Proxmox. So if you use a Proxmox server,
you can connect to it, and it understands the architecture of your Proxmox VM
and pulls that into the diagram for you as well, including the networking setup and all of that.
(54:36):
It's great. It produces a canvas layout that you can export as Markdown or you
can export as a PNG, or you can make available to agents over at MCP.
And then they can use this as a source of truth for how your network is actually
physically laid out and what services run on which device.
So this goes back to what Wes was saying about having a source of truth.
(54:57):
This could be a source of truth in that scenario.
So again, it's called home label. And one of the things I love about it is even
if you never had any plans to use the MCP or whatever, it produces this great
visual diagram system of your network –.
That you can use as a human being. And they've just recently announced a Hacks
(55:18):
plugin so it'll integrate with your Home Assistant if you use the Home Assistant
stack and pull in that information.
Every device, one canvas, your switches, your routers, your cameras,
your VMs, your NAS device,
any electric smart devices that are reading electricity usage,
your ISP information, Wi-Fi stuff, like I said, ZigBee and Z-Wave,
(55:40):
all of it into this, and then it diagrams it all up for you and then gives you
nice little status lights about what services are active, you could literally...
Diagram your network rack if you want with this thing and end of down to the
individual port level if you so care.
And the ability to pull in the Zigbee and the Z-Wave networks so you can map
(56:00):
your IoT network along with the rest of, so you now get the full picture of
the network, not just your IP network
and not just the Zigbee network and not just the Z-Wave network off on their
own islands, but the whole thing and all of it monitored by the system available
as an API, a web interface or an MCP.
homelabel.net it's fantastic I set it up this weekend I've been loving it.
(56:24):
This is so crazy it's very.
Impressive wow it's great I'm really really happy with it I had it scan,
both my hen network and my main network and the proxmox how did it do what did
you learn all diagram nice it's MIT licensed so,
have at it you can run it via docker or whatever you like I'm doing Docker compose for this setup and,
(56:50):
easy peasy. Really? It wasn't, it was, it was nothing.
And the results are great. The scan is great too. It has, um,
by default, you have to review the results and then approve them,
which is my preferred route because otherwise sometimes these things just get
crazy and then you can just get to diagramming.
Uh, you could likely even just have the agent generated diagram,
I suppose if you don't want to do it yourself.
(57:10):
Um, but it's really neat. It's neat to also see all my cameras in their own
group and stuff like that, that other tools just haven't really properly visualized.
Yeah, it seems like maybe part of the value is that it has a wide array of possible
options and things that it has understanding of and that you can therefore have
them all in one cohesive picture.
Your IP network, your Proxmox, your Zigbee, and your Z-Wave,
(57:31):
is really great. I've never seen that before.
You don't have to bring your own understanding and layers and stuff.
It understands that already.
Yeah, you can. So if you don't use a Hacks integration, then you have to just
connect to like your MQTT server or something.
There's a little bit more work there. But if you use the Hacks integration, it just ties all in.
And then to be able to export it all is really nice. So like you can like,
(57:51):
you know, go flex your network diagram when you get it all pretty as a PNG. That's pretty cool.
And if you do want to hook it up to the MCP, you can just, you can ask your
agent or your cloud code or your open code, whatever it is, what nodes are currently
offline, it gets a list back.
You could say, add a new LXE container named PyHole at 192.168.1.5 running on
this host connected to this virtual VLAN.
(58:11):
And the agent can query this and understand what all of that means and have
a live updated map and understanding of it.
So you're going to reduce not only exploration times, you're going to reduce
your token costs, but you're going to reduce mistakes too. And then that means
you can use models that perhaps aren't, you know,
Fable or something. They don't have to be frontier level.
I noticed it also has a read-only stats API you can get.
(58:34):
So that's kind of nice. You can see how many nodes you've got,
stuff that's offline, unknown devices, and when you last did a scan.
That smells like a little Quickshell widget to me.
You're right, dude. You're right, actually. Well said. I hadn't thought of that
yet, but I mean, I have it all set up. I'm all in on this.
I really like it. And it's really, it's complimentary to some of the other network
monitoring I already use, too. It's fantastic.
(58:58):
Can you hear the plane out there, Brentley? Did you hear the plane?
Makes me want to fly.
We had a banner going by for Home Label as we did the episode.
I don't know. I know it's an audio. Yeah, yeah, yeah, of course.
But that was actually the smoke one.
Oh.
Yeah, so MIT license, link to that in the show notes. And if you forget the
show notes, well, those are at linuxunplugged.com. And this one is slash 682.
(59:22):
It's best not to think about it and just read the numbers without internalizing.
Also, I want to remind you the show is live. We make it a Tuesday on a Sunday over at JBLive.tv.
Yeah, you can get it converted at jupiterbroadcasting.com slash calendar.
The mumble room's always going throughout the week, but really pops during the show.
And then if you want to read more, look at something we said,
(59:45):
or point your clanker at more information, Wes, hook them up with the info.
Well, do you prefer an SRT file or the even more robust VTT file?
I think I'm going VTT these days.
You're a VTT kind of person. Okay, yeah, web VTT, good standard there.
I'm liking that.
But that's not all?
No.
No, there's an upgraded now in two dimensions instead of just one video feed. Yeah, an MP4.
(01:00:07):
That seems like a lot of work. Huh, that's just in the feed?
Yeah.
Just a regular OSS feed?
Right next to where we keep our JSON file with our Cloud Chapters.
So like structured data that you could just analyze and go right to the section in the show?
It's a little out of vogue. It is XML-based, right?
Oh.
But technically, XML is parsable, yes.
Oh, okay. Can we just do it in Markdown then?
(01:00:28):
Someday. We probably will.
I don't know about that. So we'd love it if you joined us. Take advantage of
all those extra features and all that over at linuxunplugged.com slash RSS for the RSS feed.
And of course, of course, that mumble room.
Details at jupyterbroadcasting.com. Check out some of the other great shows
over there as well. The launch comes out on Tuesday.
(01:00:49):
Actually, it's live Tuesday. It comes out on Wednesday. Check it out. Weeklylaunch.ru.
I think there's an RSS feed for that.
There might be. There might be several RSS feeds.
More XML, baby.
Websites are great. I tell you what. All right. Thank you so much for joining
us on this week's episode of your Unplugged program.
And we'll see you right back here next Tuesday, as in Sunday.