Episode Transcript
Transcripts are displayed as originally observed. Some content, including advertisements may have changed.
Use Ctrl + F to search
0:00
I let my Gmail inbox just go
0:02
this weekend. I wanted to see
0:05
just how much junk accumulated
0:07
in just three days. Do you want to guess how
0:10
many emails? Justin Perdue
0:11
Interesting experiment. I really, I
0:13
couldn't, I don't know if I could guess because it's going to be
0:15
so individualized, but
0:17
I mean, it must be at least a dozen or 20, something
0:20
in that range. Aidan McCullen No, no, no, come on. Aidan
0:22
McCullen Much, much, much higher. Justin Perdue Oh, oh, really?
0:25
Justin Perdue It was over 100 in just one weekend? Aidan
0:27
McCullen Well over 100. I got about 210
0:30
emails in three days. Justin
0:32
Perdue Ah, that explains so much because my inbox
0:34
is a disaster and it just feels like it's overwhelming
0:37
every time, even with the different tabs in Gmail. Aidan
0:39
McCullen
0:39
I don't actually have those enabled. I just, I
0:42
just raw dog it and just let
0:44
everything come in at the top and deal with it there. Justin Perdue
0:46
Get the chronological list. Aidan McCullen Yeah.
0:48
So I let it go for a few days. I had an unbelievable
0:51
amount of email and what I noticed was there
0:53
was, because I could see it all in
0:55
front of me, there were five or six
0:58
repeat offenders that sent me at least
1:00
one, if not two emails per day. So
1:03
I just went through and did a few manual click,
1:06
click, click, unsubscribe, unsubscribe. And then
1:08
I started looking for a service that would do it.
1:10
Like, uh, was it unroll.me,
1:12
I think is what it's called? Justin Perdue There must be a
1:14
better way. Aidan McCullen Yeah.
1:16
Well, I mean, the idea behind unroll.me
1:19
is it gives you a cleaner inbox and,
1:21
you know, they
1:23
filter your email for you. There are other services
1:25
that do a similar thing,
1:28
but the problem with that obviously
1:30
is you have to give them full access to
1:32
your inbox, which I don't know about you.
1:35
I'm already uncomfortable with Google having
1:37
that let alone random
1:39
company. What is scanning my inbox
1:42
in it? So I came across a project
1:45
on GitHub called just
1:47
Jake Gmail unsubscribe.
1:50
We'll put it a link in the show notes. I
1:53
have mixed success with this thing. It kind
1:55
of worked. It kind of didn't. It got
1:57
me about half the way there. The issue.
2:00
you with it is that email
2:02
marketers have become sneaky
2:06
mother effers at the moment.
2:08
They call it dark patterns. They have dark UI
2:11
patterns that make it intentionally hard
2:13
or not impossible to unsubscribe.
2:16
It's even got a term now in the industry. Yeah,
2:19
unsubscribables. What's
2:22
frustrating is that a lot of these unsubscribe buttons,
2:25
there's a fairly standard pattern in most emails
2:27
from marketing. You scroll to the bottom. There's a tiny,
2:30
tiny, tiny little word that says unsubscribe
2:32
or manage preferences. Then you go
2:34
to another page and you either have to type your email
2:37
in or you have to unclick a bunch of
2:39
boxes and then realize the one at the bottom says
2:41
unsubscribe from all. Check that box and
2:44
then press submit.
2:45
Basically, the problem is when
2:47
it requires anything other than just
2:50
a click of a single interaction, that's
2:52
where the problem comes. I just
2:54
thought I'd make you aware of this unsubscribe
2:57
project. It's pretty cool. I found it useful. I thought
3:00
you might too.
3:01
Yeah, I mean, even if it only cuts down on half,
3:04
at least it's a private script.
3:06
Yes, exactly. It's all
3:08
private. It's all local. Is
3:11
this a good time to announce our new mailing list or no?
3:13
Just kidding. Sign
3:16
up to our newsletter, please. Yeah,
3:18
right.
3:19
It does feel like it, but no, I actually
3:22
watched the home assistant release so
3:25
that way you don't have to. They're
3:26
long. They try to make them
3:28
about two hours or so, but
3:31
it is getting really, really, really
3:33
exciting
3:34
what's happening with their voice
3:37
efforts. I wanted to check in because they've now reached
3:39
what they call chapter three and they're just beginning chapter
3:41
four. With chapter
3:43
three of
3:45
the year of the voice,
3:47
they've done something that I think is going to
3:49
be a massive enabler for me and
3:51
actually using their local voice
3:53
assistant
3:54
system. They have on
3:56
the Android versions of the home
3:58
assistant app enabled.
3:59
the ability to set assist
4:02
from Home Assistant as your default digital assistant
4:04
on Android.
4:06
So you know most Android phones have
4:08
a way to activate
4:10
their Google Assistant or whatever the
4:12
Samsung one is or whatever, squeeze
4:14
the phone to a swipe, whatever. What do you mean you don't
4:16
like Bixby? Yeah, Bixby, that's right. He'll
4:18
hurt his feelings. That's
4:21
what it is. I was thinking it was Gigsby
4:23
or something. It's so silly right? Bixby.
4:25
In Android you can choose
4:27
the assistant and if you choose the Home Assistant,
4:30
now when you trigger it, however you do trigger
4:33
it, you can just talk directly to your Home Assistant.
4:35
And if you have Whisper and Piper set up, all
4:37
of the processing can be done entirely,
4:40
locally, for
4:41
voice commands. If you're a Nebuchasa
4:44
subscriber, you can also use the Nebuchasa
4:46
cloud, which is insanely fast,
4:48
because they take it as you speak,
4:51
so they're transcribing as you speak the words,
4:53
and then wait for you to stop now. They also can
4:56
detect when you stop and then finish
4:58
that transcription and then execute the command because
5:00
sending the text back is really quick.
5:02
So even if you use Nebuchasa cloud, it's really fast.
5:05
And the built-in assistant
5:07
lets you choose multiple
5:10
Home Assistant instances. So
5:12
I can say if I want to control the studio, if I want to
5:14
control Lady Choops,
5:16
and it lets you do multiple voice
5:18
backend, so you could have one that's on the cloud,
5:21
you could have one that's local only, which maybe that'd be a little
5:23
slower if you got a Raspberry Pi,
5:24
or you could do one that's different language. Like I'm gonna have one
5:27
set up that's local and is in Spanish
5:29
for the wife and kids because they're learning Spanish
5:32
and why not have all of the
5:35
voice commands in Spanish available for them. It's
5:37
a really good idea. It's like Duolingo, but
5:39
it actually has real-world consequences.
5:41
And
5:42
if you have an Android watch,
5:45
like where,
5:46
they've added the ability to invoke voice
5:48
assistant commands on the watch. You can just press
5:51
down the crown, say your command,
5:53
and Home Assistant will execute it, which is
5:55
really nice.
5:56
That's pretty cool, especially given that you daily
5:59
drive an Android Android phone and
6:01
yet you still wear an Apple watch, right?
6:03
Yeah, mostly because I hold
6:05
down the button and I give it voice commands
6:07
and it executes it on home assistant. That
6:10
my message, but for me, because
6:13
I am on graphene OS, I don't really use Google
6:15
assistant.
6:16
So I was kind of assistant lists.
6:18
You can actually install Google assistant if you're
6:20
a maniac, but I just decided not to,
6:22
um, but now I have something that fills that spot.
6:25
And I love it. It's perfect
6:27
for me. It's the 99%
6:29
of the time I use those assistants just for
6:32
controlling homo system, um,
6:34
and with Piper and whisper Piper
6:37
is the text to speech system created by Nebuchad.
6:39
So they, they brought a developer on. You
6:41
could in theory run on raspberry PI, but
6:44
if you put it on an X 86 system and the faster,
6:46
the X 86 system, the faster it can
6:48
process the voice commands. But
6:50
they have, they have that in a whisper and they can auto
6:52
detect each other with this protocol that they've come up
6:55
with.
6:55
And so you could run the backends
6:58
on a different box. Like I can have the processing
7:01
on an X 86 box, but homo assistance
7:03
on an arm system.
7:04
And, um, they've added the
7:07
ability now for Piper to make announcements.
7:09
So in automations, you can have the text to speech
7:11
system, make announcements and whisper
7:13
can take speech in
7:15
and convert it to text. And the
7:17
whole thing is just really coming along nicely
7:19
combined with this little $13
7:22
Adam echo, which is an ESP home device.
7:24
It's the size of a quarter
7:26
and it's got a little microphone and a little button and you press
7:28
it and it becomes
7:31
a voice command box to home assistant. And at $13,
7:35
you could put these all over the house
7:37
and I've ordered two, because
7:40
I'm going to start playing with it. Why not at that price?
7:43
Yeah.
7:44
They're also looking at in chapter four
7:47
wake word detection. So you could say computer
7:49
activate or whatever they're going to say, have it be Jarvis,
7:52
obviously. Sure. Here's a be Jarvis mind of your computer.
7:55
And it's coming along so nicely that
7:57
I think with the August release of Home
8:00
Assistant,
8:01
I'm going to transition to using
8:04
Assistant
8:05
for all of my voice commands,
8:08
all of that stuff that I'm doing, at least on the phone. Well,
8:11
I did say it was the year of the voice and
8:13
they're making good on those promises. They really
8:15
are delivering.
8:16
I think that it's funny because with the parts
8:18
that I'm actually the most excited about are
8:20
Piper and Whisper
8:22
because having open source community
8:24
contributed
8:25
text to speech and speech to text systems
8:28
that are getting models and training from the Home Assistant
8:30
community
8:31
is going to be so beneficial
8:33
to the open source community. Eventually,
8:36
some Linux desktop developer is going
8:38
to realize that this is just sitting out there.
8:41
They could bang it out in a container in 15 minutes and
8:43
they could get a voice assistant built into the Linux desktop.
8:45
Yeah. In a day. Just
8:47
like I have that little Siri orb up in the corner
8:50
of my
8:51
MacBook. Yeah. Why not have
8:53
a Bixby orb? No, it's not Bixby, is it? It's
8:56
a tuxy.
8:57
It's a tuxy. It's a little
8:59
tux assistant, right? He comes up and you
9:01
ask him to do things on your system. I don't know
9:03
what you'd use it for, but it's there. It's low hanging
9:06
fruit and it's something that's available to the open source community.
9:09
And I'm really thrilled about it. And it's just
9:11
so nice to actually see the Mexican on it. I was a little
9:13
concerned when they announced this massive initiative
9:15
that how
9:16
would they pull this off? We've watched the Mycroft people
9:18
fail.
9:19
I mean, honestly, the Google Home
9:22
and the Alexa devices are subpar devices,
9:24
but
9:25
they've really attacked this in a really
9:27
practical way.
9:28
And half a year in,
9:30
we've really got some serious results that are usable now.
9:33
I did a bit of tinkering with Home Assistant myself
9:35
this week. For the longest time, I've been,
9:38
when I drive up the hill by my house, which is
9:40
a dead end, so there's almost never any
9:42
traffic.
9:44
There is a little routine I do.
9:46
I pick up my phone, I unlock my phone,
9:48
and then I press the
9:51
tail scale app to make sure that my
9:53
phone, you know, cause it's just roamed off wifi
9:55
or whatever. Right. And iOS is a turd
9:57
about that. Yeah, is on the tail net.
9:59
Then I opened the Home Assistant app and scroll
10:02
up about two thirds of the way down my primary home
10:04
screen and press the garage door
10:06
button. Yeah, okay. This sounds like
10:08
something I've been doing for a while too.
10:10
And it occurred to me the other day that I've been doing
10:12
this for over a year. Why
10:15
don't I automate it?
10:16
What is wrong with me? Right. So
10:19
then I started going down the rabbit hole of trying to automate
10:21
just a simple button press on iOS. What
10:24
I wanted was just an app on my home screen,
10:26
one button that was always there, no extra
10:28
swipes, no weirdness, just, I
10:31
mean, perfect thing would be for it to show up in CarPlay.
10:34
I haven't quite gotten there yet, but what
10:36
I have done is I've been able to create an iOS
10:38
home screen air quotes app
10:41
using iOS shortcuts.
10:44
So this shortcut triggers a
10:47
Home Assistant script on the backend.
10:49
So you just create a very simple script in the Home Assistant
10:51
UI,
10:52
make a note of the name because we'll use
10:54
that later. So the iOS shortcut
10:57
that I've written is really straightforward.
10:59
There's three steps. The first one
11:01
is connect to your tail scale network. So the
11:04
shortcut does that by default,
11:05
just in the background. It takes about five seconds.
11:08
If it's not connected, it takes about half a second
11:10
if it is. Do you see the tail scale
11:12
UI launch as it's doing that? Nope,
11:14
just all in the background. What you do see, and there
11:16
is no way to,
11:18
there was an iOS 16, but I'm
11:20
running the iOS 17 beta.
11:23
There is no way to hide the notification
11:27
of the shortcut running. You can hide notifications
11:30
for automations.
11:33
This is a shortcut, which is a different thing
11:35
for some reason. I don't know why, but it
11:37
is. And you can't hide the notifications
11:40
for those. So that's kind of annoying.
11:42
But once I've been, you know,
11:44
so that's step one. Once it's connected to the tail
11:47
scale, I then create a
11:49
dictionary object and into that dictionary
11:51
object I put a single
11:54
entity ID. So entity
11:56
underscore ID. And then
11:58
in the, that's the key. And then the value.
11:59
you is script.toggle garage
12:02
door, whatever you call it. Whatever you name the script.
12:04
Okay. Exactly. So step
12:07
two doesn't actually do anything. It just essentially
12:09
creates a variable, a dictionary with
12:12
in this case, one item in
12:14
it. So this is like the shortcuts term for how
12:16
you make it a variable item that you can pass to
12:18
something else. Yeah. Yeah. I mean, you
12:20
could in theory call that
12:22
array and then reference items within that
12:24
dictionary. You know, that's the kind of
12:27
stuff that's going on here. And then the third
12:29
step is the really simple bit. It's just
12:31
call a home assistant service of script.toggle
12:34
garage door with data.
12:37
And that's it. Uh, it just works. And
12:39
then as a button you can press under the share
12:42
sheet, which is add to home
12:44
screen. And then it creates a little app
12:46
icon that just sits on your, on your home screen.
12:49
You push the button and it does the thing.
12:51
I have done something similar using
12:53
the home assistant widget on iOS
12:55
now. And it's one of the buttons in the widget
12:58
is that's, that's nice that you, it's so it's,
13:00
so how do you set the icon or can you set
13:02
the icon? Is it just a system? Yeah. You can.
13:06
So under, let me just have a quick look
13:08
there at the top, there's a little, um,
13:11
UI menu where you can rename it. And
13:13
then another option is choose the icon. So
13:15
you can change the color. You can choose, you
13:17
know, any pretty much any emoji.
13:20
Uh, it's not like a full color emoji.
13:22
It's like a,
13:24
almost like an MDI icon. Emoji
13:27
options and there's things like air pods in there, stairs,
13:30
you know, cows, you know,
13:32
fish. They have garage door. They
13:35
have a car, which is good enough for me. Uh,
13:38
so that's, that's what I picked. Yeah.
13:41
That I need to do the same every morning
13:43
when I'm coming to the studio,
13:45
I turn on the smart plug. I, I, well,
13:48
I do, I
13:49
open up home assistant,
13:50
which is persistently connected. Thanks to Android. I
13:52
open up home assistant.
13:54
I scroll to my office. I turn
13:56
on my workstation smart plug.
13:58
I make sure the temperature.
13:59
correctly and then I close Home Assistant
14:02
and I don't know why I don't just make that a script and
14:04
a button. That's so obvious. I think what I'd like
14:06
to do is in the automation section
14:09
of iOS,
14:10
try and trigger this based on a
14:12
geo zone and make it
14:14
like my neighborhood or something. I mean, the
14:17
issue with that though, and well, I'll
14:19
trigger the automation with a do you want
14:21
to, yes or no option.
14:24
Yeah. Or what about like,
14:26
what about if no motion was detected after a certain amount
14:28
of time it closes the door. Yeah, maybe that
14:31
could be it.
14:31
Cause I mean, sometimes, I mean, I've got an air conditioner in my
14:34
garage cause that's my, where I do all my woodworking. So
14:37
quite often in the summer months I am
14:39
air conditioning that space because it's unbearable
14:41
if I don't. So I, I want the door open
14:44
for minimal amount of time possible.
14:46
Right.
14:48
So, I mean, there's still some, there's
14:50
still some improvements to be made and I
14:52
don't know how reliable the coming home geo
14:55
location of iOS is. It's probably pretty
14:57
good, but yeah,
15:00
it's been very useful for me.
15:03
Linode.com slash SSH. Head on
15:05
over there to support the show, get $100 in 60 day credit and
15:09
check out the exciting news. Linode's
15:11
now part of Akamai, all the developer-friendly tools
15:13
like the cloud manager that's beautifully built,
15:16
the API well-documented with lots of libraries
15:18
ready to go. And the CLI I use on the daily, the
15:20
stuff I've used or you've used to build, deploy
15:22
and scale in the cloud, that's all still available.
15:25
But now
15:26
it's combined with Akamai's power and global
15:28
reach. They are the top tier
15:30
network and they're expanding their services to offer
15:33
more cloud computing resources and tooling,
15:35
but making sure you still get that reliable, affordable
15:38
and scalable solution for yourself or
15:40
a business of any size. And as part of Akamai's
15:43
global network of offerings, their data centers
15:45
are expanding worldwide, giving you access
15:47
to more resources so you can grow your project
15:50
or your business and serve more customers and
15:52
more clients. So why wait? Go
15:54
experience the power of Linode, now Akamai.
15:56
Visit linode.com slash SSH. Go
15:59
there to learn how. Linode, now Akamai, can
16:01
help scale your applications from the cloud to the edge, and
16:03
you'll get $100 in 60-day credit while
16:05
you support the show. It's a pretty sweet deal
16:08
and you can really kick the tires. Linode.com
16:10
slash SSH.
16:13
So in one of my intentional visits to Reddit,
16:16
I still don't have a mobile client on my phone.
16:19
I just go to the
16:21
old reddit.com maybe
16:23
once a day now at most for just a
16:25
couple of minutes. I saw a really
16:27
interesting link for
16:29
an app called LinkWarden. The
16:32
idea behind this thing is it's a fully self-hostable
16:34
open-source collaborative bookmark manager.
16:37
The
16:38
really nice thing about it that sort of piqued
16:40
my interest was that you
16:42
can use it to collect and organize,
16:45
but most importantly, archive web
16:47
pages. And you kick the tires on that,
16:49
Chris. Yeah,
16:50
I wouldn't say it's totally accessible
16:52
to everybody that wants to self-host. You have
16:54
two routes.
16:55
You can kind of build it yourself,
16:58
which is probably the safest, most
17:00
secure way to go. It does take some time
17:02
to build.
17:03
There's also a community member
17:05
out there that has made a Docker Compose. Now the
17:07
project themself, LinkWarden, does plan to make a Docker
17:12
image available, and I would imagine a
17:14
Docker Compose along with that.
17:16
But they don't have it yet. So depending
17:19
on which route you take, there's a couple of
17:21
different paths to get it self-hosted.
17:23
It's not too bad overall,
17:25
and a couple of things struck me that I
17:27
like about it a lot. When
17:30
you feed it a link, you have the option
17:32
to kind of just give it the URL and
17:35
tell it to go ahead and do its thing. Or
17:37
you can provide optional information like
17:39
tags and categories and collection
17:42
and a description and your own custom title
17:44
if you want, and then it'll pull it in with all that extra
17:46
information.
17:47
Obviously it's a good idea if you provide that extra information
17:49
to organize it. Once it's
17:51
pulled that link in,
17:52
what
17:55
I expected, which I would like
17:57
to see, is I click it and
17:59
I get
17:59
a reader view of the contents of
18:02
the website or some sort of cached
18:04
almost like archive.org wayback machine style.
18:07
That's not what you get. There is no viewing
18:10
your saved web pages in Link Warden
18:12
but what you can do
18:14
is view a screenshot that it took at the time you
18:16
saved it.
18:17
You can view it in the app or download it
18:20
or you can get a PDF version
18:22
of the web page.
18:23
And from an archival
18:26
versioning standpoint, I
18:27
really like that because there
18:30
are news stories and there is one that has
18:32
stuck in my craw now for two years
18:34
where a big
18:37
Linux vendor changed their website
18:39
after they found out we were going to report on a story.
18:41
And by the time we went public with the story, they had totally
18:44
updated their website and I kick myself
18:46
to this day
18:47
for not having an archival version
18:50
of the original site that I could link people to.
18:53
Unfortunately, Link
18:54
Warden as of right now doesn't
18:56
really have a way to share
19:00
your saved result outside of just downloading
19:02
the PDF and like I could share the PDF with Alex.
19:05
But in my example I just gave, I would love if I have a public
19:08
instance like I put this up on a Linode,
19:10
I'd love to be able to just give Alex a link to that entry
19:13
and he could have like an archived version that
19:15
he could read in the thing or he could download
19:17
the PDF if he wanted to. And
19:19
then additionally when you're looking at ways to like archive
19:21
stuff that you're working on, this is one of my number one primary
19:24
use cases for something like Vault Warden or Wallbag
19:26
or any of those is I'm processing
19:28
information, I want to save this perhaps for later,
19:31
I want a bookmarklet or I want
19:33
a browser extension that'll just take what I'm reading,
19:35
what I'm doing right now,
19:37
suck it all into something and save the complete
19:39
version. There's
19:40
no Link Warden browser extension
19:42
or bookmarklet yet.
19:44
So there's
19:45
only manually adding URLs
19:47
by hand by loading up the Link Warden UI, logging
19:49
in,
19:51
and then hitting the add URL thing. Which
19:53
is not very quick for like massively
19:56
slamming stuff in there.
19:58
It'd be nice to have those options. I think
19:59
a browser extensions also
20:02
on their to-do list. I imagine it's probably not.
20:05
Super easy. But if you want to collect certain,
20:07
like if you want a bunch of
20:09
car repair collections and you have
20:11
recipe collections and you could put all
20:14
these in here and it does present them in a very
20:16
nice UI,
20:17
if not minimum
20:18
UI at this point. It's a really interesting
20:21
idea, isn't it? Particularly with Twitter
20:24
going away or becoming X
20:27
or whatever. The
20:30
internet archive is an incredibly valuable
20:32
resource, but we can't
20:34
rely on it to be there forever, not necessarily.
20:36
Your
20:37
example of having a
20:40
news story or a company's
20:43
website that changed based on your reporting
20:45
or
20:46
prospective reporting, which
20:48
is pretty shady.
20:52
We don't really have a very good way other than just
20:54
save as print and save as PDF
20:56
right now to archive a website, which
20:59
in this day and age feels
21:01
a little out of touch.
21:04
I had to look for a couple of other options
21:06
in this space as well whilst you were
21:08
busy trying out Linkwarden. Now,
21:10
there's another one called Linkding.
21:13
I tried to search for this. It kept trying to send me to LinkedIn.
21:15
This actually is Link, like
21:19
the bell. There we go. This
21:22
is yet another bookmark manager. It has
21:24
a whole bunch of standard bookmark manager features,
21:26
which I won't bore you with. You can probably figure out and guess
21:29
what they are. But the one for me that really
21:31
stood out was this one has the ability to automatically
21:34
create snapshots of bookmark
21:36
websites on the internet archive way
21:38
back machine. Now that's
21:40
useful. Obviously, it's in terms of
21:43
a data sovereignty and having a locally
21:45
cached copy. You know, it doesn't solve
21:47
that particular problem, but your
21:50
collaborative problem of putting something
21:52
in the show notes and not having link rot
21:54
happen to it over the next decade or two. This
21:57
could be a great solution.
21:59
Yes. And then,
22:00
you know, the nice thing about having something that integrates
22:02
with archive.org is then you make that snapshot
22:04
available to everybody else too. It's not just your private
22:07
little stash somewhere.
22:09
Which for my use case might be fine, but
22:11
if you think about it in a broader context, it'd be nice if everybody
22:13
had a copy. And I did check the archive, and
22:16
it wasn't there. Yeah.
22:19
Okay, so LinkedIn, I
22:22
like that. I think I'm gonna be taking a look at that. And of course,
22:24
they have a very simple Docker composed to get it going.
22:27
I mean, you could, of course, use something like Firefox
22:29
Sync and self-host that and sync your bookmarks
22:31
around that way if you want to. But
22:34
I think my kind of desire here is
22:36
to have that kind of archival aspect
22:39
of, you know, let's say I find a solution in a Reddit
22:41
thread.
22:42
I want to archive that Reddit thread today.
22:44
And then know that I can link to it, say,
22:47
from my Obsidian vault to
22:49
a file path somewhere else and just have
22:51
it forever. Yeah. Now, I found another
22:53
one which looked pretty interesting. It doesn't have
22:55
any archival aspects, which
22:58
is a bit of a ding against it for now, but who
23:01
knows where they'll take the project in future. This
23:03
one's called Flockus. F-L-O-C-C-U-S.
23:08
I swear developers just make names to troll
23:10
people like you and me that have to say them out loud. I
23:12
know. They should all be forced to pronounce them out loud
23:15
and put the recording up on their website if they're
23:17
going to choose a crazy name. It's
23:19
like Flockus, like kind of a
23:21
bit like meet the Fockers, you know? This
23:25
is nice because you can use Nextcloud bookmarks,
23:27
Google Drive or any web dev compatible
23:30
service to sync your bookmarks around between Firefox,
23:33
Chrome, Edge, Opera, Brave,
23:35
Vivaldi and Safari is coming soon
23:37
because it uses web extensions
23:39
to do that. So it has Android apps as well. There's
23:42
a bunch of other stuff that looks
23:44
pretty neat in there.
23:45
That's pretty handy if you already have Nextcloud
23:48
or it says here Google Drive would work or any web
23:50
dev compatible service. It'll sync. Basically,
23:53
it syncs your bookmarks between your browsers
23:56
and any browser that supports
23:58
the standard. web extensions.
24:01
So if you've, I mean, this is me, man. I've got Firefox,
24:04
I've got Chrome, I've got frickin Edge,
24:06
and I got an xCloud Bookmarks app installed.
24:09
So you're nailing it today. Well, we are
24:11
recording this episode a week early because
24:13
next week
24:14
as we record, I'll be in Chicago for
24:16
DevOps days. So I
24:19
hope that we all had a lovely meetup on
24:21
the Thursday night. Yeah, I hope I heard
24:23
a bunch of great stories, Alex, right? I
24:26
bet I did. It was probably a lot of fun. And I
24:28
bet I really wished I was there. Exactly.
24:32
Time travel, hey, time
24:34
maths. I would make a very
24:36
poor Doctor Who. Let's put it that way.
24:40
tailscale.com slash self
24:42
hosted, go check it out right now and get a free personal
24:44
account for up to 100 devices. And it's a
24:46
great way to support the show. So it's tailscale.com
24:49
slash self hosted. Now tailscale is a
24:51
solution for a team of any size an individual
24:54
or a large enterprise that just doesn't want
24:56
to have to deal with the annoying old style
24:58
VPN systems that are costly
25:01
and complicated to maintain.
25:03
What tailscale does is it uses WireGuard
25:06
to create a mesh network between your resources.
25:09
It lets you easily build out in
25:11
minutes per device a network that's flat
25:13
and talks directly to each other using WireGuard's
25:16
noise protocol. It's perfect for those of
25:18
us that like to self host, you can put your services
25:20
all on your tail net. And you don't need to bother
25:23
with port forwarding on your firewall if your
25:25
ISP doesn't allow a certain inbound port, because
25:27
it's all private traffic now.
25:29
And each device like your phone
25:31
or your tablet or a VPS or your desktop
25:34
computer, but doesn't matter what the OS is because they support
25:36
arm and Intel and just the whole range out there.
25:39
And they give you great tooling to like tailscale
25:41
send, which is sort of like airdrop
25:44
I guess but for all of your devices
25:46
on your tail net doesn't matter their OS or tailscale
25:49
SSH which lets you log in to all of your
25:51
tailscale devices. There's a lot more to Alex
25:54
and I use it to share resources between our
25:56
network. So when we're trying something out for the show, we
25:58
share it over tailscale. And then I just put his
26:01
DNS domain name in, put his port in, boop, goes
26:03
over Tailscale, all protected by WireGuard.
26:06
It's so elegant and so easy. It's
26:08
gonna change your networking game. So support
26:10
the show and try it for 100 devices for
26:12
free on a personal account. Just go to tailscale.com
26:15
slash self-hosted. That's it. And
26:17
you get started for 100 devices right there. Tailscale.com
26:20
slash self-hosted.
26:24
Meanwhile, I thought it might
26:26
be a good idea to give you all an app pick to kind of
26:29
bring you back down to earth after that. I
26:31
found an app that lets you browse IMDB
26:34
in the terminal.
26:35
Now, why would you want to,
26:37
well, actually IMDB doesn't have the best website
26:39
anymore.
26:40
This is kind of brilliant. It just turns everything into a big
26:43
N-curses directory.
26:45
Well, that's just it. I mean, some people live in
26:47
the terminal, Chris. Like,
26:49
some people use I3, some people use XFCE.
26:52
You know, some people do some things
26:54
that I don't understand. You exposed that to
26:57
me. I didn't even call you out, but you exposed it to me
26:59
when you showed me your Nix config and I saw XFCE
27:01
in there. I was aghast, but then I thought about it. I
27:04
understand, I understand. I just wanted a lightweight
27:06
desktop for the server.
27:07
Yeah, that's what I figured. I'm not actually going to use
27:09
it. Right.
27:11
But this thing, IMDB for the terminal
27:13
is pretty cool. It's written in Ruby. And
27:15
so I thought, right, I'm on my MacBook. Why
27:17
don't I try this out? Oh, hold on a minute. I've
27:20
got Nix Shell, because I'm now a Nix guy.
27:22
I don't know if I mentioned that
27:24
recently. By the way. Yeah.
27:28
So I went down the rabbit hole of trying to get this app running
27:30
with Nix Shell. So it's very
27:33
easy to do. You just type the command, Nix Shell,
27:36
and then pick your package repo. So in my case,
27:38
unstable, put a hashtag in
27:40
there and then Ruby so that I end up
27:43
dumped into
27:44
almost like a chroot, but not. It's
27:46
like a virtual environment if you're
27:48
a Python guy. It's a bit like
27:51
that. You get dumped into this virtual
27:53
environment, which is a Nix Shell
27:56
with
27:57
whatever packages you requested installed. In
27:59
my case, it was Ruby. Then I
28:01
did gem install IMDB
28:03
terminal.
28:04
It pulled down everything without
28:06
having Ruby installed on my host system, I'll
28:08
just remind you. And then I was able to follow
28:10
the instructions in the application itself. Now
28:12
it does ask you to sign up for a
28:15
API scraping service. So unfortunately
28:18
I
28:18
wasn't able to actually test this out. So I'm
28:20
just relying on the screenshots for this episode.
28:23
Cause the scraping API is 19 bucks a month
28:26
in the cheapest option, which I love
28:28
you all, but that's a lot just to test something out for fun.
28:31
This whole Nick's shell thing, when
28:34
I realized that that app wasn't gonna be the
28:36
one for me, I just pressed control C, control
28:38
D to come out of the environment.
28:41
And then I tried to type Ruby just to see what
28:43
would happen.
28:44
It was as if it never happened. It was amazing.
28:47
We did get lots of feedback on
28:50
my inability to understand
28:52
flakes and some people empathizing with
28:54
me to say, yes, they are really difficult. And
28:57
thank you for saying out loud. Cause I felt like I
28:59
was the stupid one. No, we're
29:01
stupid together. Don't worry. It's all fine. I
29:04
had a few people send me their configs, examples
29:06
and stuff over the weekend. And some
29:09
of those were really helpful actually. Some people on the discord
29:11
helped me out a bunch. And I think I
29:13
just about understand flakes now. I've just
29:16
about got there. It was
29:17
really, really painful to get there.
29:20
Could you explain it like I'm five?
29:22
No. Okay. So that's still
29:24
that step. My
29:26
now vague understanding of them and
29:28
it is very vague
29:30
because I think Nick's probably
29:33
has one of the steepest learning curves in
29:35
all of computer science, genuinely. Maybe
29:38
becoming a software developer in the beginning, learning
29:40
your first programming language is harder.
29:43
But it's- Some of those early BSDs I imagine
29:45
were pretty rough, but modern day computing
29:48
systems, I think it's definitely one of the most complex. Yeah.
29:50
What's been really interesting is I just
29:53
started my new job
29:54
yesterday as we record. And
29:57
I mentioned to my new boss that I'd just taken
29:59
my brand new Mac. out of the box 30 minutes
30:01
before our intro call. Like I
30:04
had nothing installed on it. I had to do all the iCloud
30:06
set up, all that kind of nonsense. I
30:08
ran my Nix install
30:11
command. So I ran the determinant systems
30:13
Nix installer, then downloaded
30:16
the zip file from GitHub
30:18
of my macOS GitHub repo.
30:21
Then I had to run Nix build
30:24
Darwin config, whatever
30:29
it was, about 10 or 15
30:31
minutes later, I came back because it was downloading
30:33
all of my Mac app store apps. It was
30:35
downloading all of my brew apps. How
30:38
does it get the authorization to iCloud to log
30:40
in and get those? It can pull them down without having
30:42
to open up the app store UI. Oh
30:45
goodness, that's so wonderful. There's a binary
30:47
called MAS,
30:48
which lets you interact with the Mac app
30:51
store through the command line. Yes,
30:53
I've seen that going crazy in the background while it's
30:55
updating apps before. Interesting.
30:58
As though, you know, the promise of Nix is
31:00
real. I went from a box fresh
31:03
laptop to all of my apps installed,
31:06
including iStat Menus configuration
31:08
files in place, iTerm configuration
31:10
files in place. All of my
31:12
shell stuff was there. The only things I've
31:15
had to do really was log into a whole bunch
31:17
of stuff, which you can't really automate
31:19
that, I don't think. The promise is real.
31:22
It is amazing when you get there.
31:24
So Nix on macOS sounds like it adds some real
31:27
serious utility to macOS because honestly,
31:29
a
31:30
new Mac can take at least
31:32
a day to get your core stuff set up because
31:34
you got to download, you got to log in to everything.
31:37
It's true. Go through all the settings. Yeah, man,
31:39
that's a mess.
31:40
So how much, I mean, all with the downloads
31:42
and all that, what do you think the total time was? Well,
31:44
I went from box fresh and I joined at 9.05 or
31:48
something when I sat at my desk. And I joined
31:50
the call with my boss at 9.32, just
31:52
two minutes late, who I was panicking a little. So
31:56
what's that? 27 minutes,
31:59
end to end. That makes that makes me
32:01
really really think I
32:02
should try that on the link side too So what I
32:05
do right now is I use nix to just get the base
32:07
system up But
32:08
I like to experiment every build
32:10
so I haven't really wanted to come up with
32:12
like a prescribed installation on Linux
32:15
But
32:15
on the Mac it's such a utility for
32:17
me if I'm using a Mac It's like four
32:20
or five apps tops and
32:21
I could totally see it working there Well, I mean this can
32:23
do stuff like rewrite system default
32:26
preferences So things like moving my
32:28
dock to the left Disabling
32:31
the app icon bouncing in the dock minimize
32:33
into app icon it changes
32:35
screensaver time preferences It changes
32:38
all these little things tap to click it
32:40
enables tap to click all these little things that
32:42
I remember to do over the next Six
32:44
weeks as I settle into this Mac and make
32:47
it my own I've now got in a configuration
32:49
file and I'll never have to remember them ever again
32:52
I just run I
32:53
run my just file I literally all I have to type
32:55
is just when I'm in the git repo and
32:58
it does everything for me just do
33:00
it And I tell you my
33:02
absolute favorite feature besides the you know
33:04
the whole overall holistic solution Fuzzy
33:08
finder integration on control
33:10
R for reverse search. Where has that
33:13
been all my life? Oh my goodness
33:16
Yeah, oh,
33:17
I'm really happy and of course You're
33:20
not just using it on Mac OS to make you clear to the listener
33:23
We've been chatting off air about redoing
33:26
some of the JB infrastructure with Nix
33:28
including Jupiter broadcasting calm eventually
33:30
and
33:31
you know Really kind of using it everywhere And you could you
33:33
could absolutely start using the Nix package manager
33:36
on you know fedora or sentos or whatever
33:38
you're on a buntu today
33:39
But the nice thing I really like about using Nix
33:42
OS as my server platform is it's
33:44
it's a real MVP
33:46
Just a minimum viable platform like
33:48
my ode droid at home. I have
33:50
00 concerns
33:54
about just doing the system updates because
33:56
it's like the
33:57
basic stuff you need to get it It could almost
33:59
just be a container
33:59
itself. It's the basic run times you need
34:02
for a Linux system to manage it
34:04
and containers.
34:05
And the containers are isolated from the system. And
34:08
since the Nix OS updates are transactional,
34:11
and I can roll back,
34:12
I just keep that base minimum rolling
34:15
Linux environment that's always up to date. I
34:18
like to go some of the more newer kernels since I'm on an ODRide.
34:20
And I
34:22
just roll that all the time. And I
34:25
haven't done it yet, but I've considered just sending it
34:27
to automatic.
34:28
And the separation of the two with a secure up to
34:30
date
34:31
declarative base
34:33
that is reproducible instantly.
34:36
And my containerized applications has
34:38
been the ultimate home
34:40
self hosted solution I've ever had. And
34:42
I like it so much. I also am very interested
34:44
in applying to the JB infrastructure.
34:46
Took me a while to get there, huh? I'm
34:49
still not quite at Wes's ninja level of,
34:51
you know, GitHub actions of tearing down
34:53
entire environments quite yet. But I think I'll
34:55
get there. It's funny with Wes because some stuff
34:57
bounces off him, you know, we talk about a lot of things, but
35:00
this one, it's like every week, I can tell
35:02
he's gone further down the rabbit hole. And you've
35:04
probably noticed
35:05
Nix folks come out of the woodwork. They're all out
35:07
there. They do. Yes. First day at
35:09
New Job, I mentioned to my boss that
35:11
I just run Nix and he's like, Oh,
35:14
take a look at my Nix repo.
35:17
And I do a whole bunch of calls. Like he is
35:19
next level from me, which isn't
35:21
difficult, honestly, but he's extremely
35:23
far down the rabbit hole of, of Nix.
35:26
We were talking about how to add nodes programmatically
35:29
with Nix config to your tail
35:31
net for tail scale. Obviously we
35:33
can't do it yet. Well, I can't promise
35:35
anything at all, but we want it to happen at
35:37
some point in the future. You'd be able to just add an auth
35:40
key into your Nix config and that
35:42
will automatically add that node
35:44
to your tail net. Yeah. I could see that being useful
35:46
one day for headless systems
35:49
like Raspberry Pis and, or my old droid,
35:51
which I, it would totally have no one
35:53
at all. GitHub actions. Imagine running a GitHub
35:55
action and then pushing to a remote
35:58
server over your tail net.
37:59
crapped out.
38:01
This is happening to me relatively often.
38:03
Some files just don't seem to seek properly on
38:05
Jellyfin, AVI files for example,
38:08
so I have two backup options.
38:09
Number one, you can copy
38:11
the stream URL from the menu and then open
38:13
in VLC. You have to seek manually to where
38:16
you're at, but that'll work.
38:18
Number two, if all else fails, you could just download the file and
38:20
play it locally. It's a slightly bigger pause
38:23
in the movie, but it's not super bad and
38:25
at least guarantees the movie either plays
38:27
or the file itself is actually broken.
38:29
He says, I don't usually get too much sass from the
38:31
family, but it's rough to be in that spot.
38:34
Do
38:34
you do that thing where when a file
38:36
doesn't play in, let's say Jellyfin
38:39
in this case, you go to Plex and it doesn't
38:41
play there and you're like, right,
38:43
I'm going to try Cody. And if it doesn't play in
38:45
Cody, yeah, God damn it, it's
38:48
broken. It's bad. Yeah, Cody, yeah, Cody,
38:50
you know, is like the go to can play
38:52
everything. Also, like if
38:54
it doesn't play in the web browser, I'll sometimes,
38:57
you know, that'll be a red flag. That's usually where I'll
38:59
pull it down at that point and
39:00
just try a local playback. But you know, in this case,
39:03
I was playing it on the Apple TV
39:05
and there's not a lot of great options.
39:08
There is actually VLC for the Apple TV, but
39:10
I'm not, I don't know how I'd actually get the file in there.
39:12
I thought about this a lot and I decided to turn
39:14
Plex back on. I still have Jellyfin, but
39:17
I decided to also turn Plex on because we're starting
39:19
a new show, 12 Monkeys.
39:21
We also just watch other shows and I still haven't
39:23
gotten adequate intro skipping. And
39:26
I know this sounds silly, but
39:29
we're watching Who's the Boss, for example, just
39:31
like at dinner. It's got a minute
39:33
five intro
39:35
and it's got, you know, you're watching that every time you're,
39:37
it's just, you want to skip that. And Plex has also added
39:40
credit skipping,
39:41
but then the real final kind of nail
39:43
in the coffin for me was
39:46
just about every day or two
39:48
the Swift Fin app, God bless new
39:51
app
39:51
since early days,
39:53
it loses my server entry information
39:55
and all of my login information. And I have
39:57
to go through and re type in my server.
39:59
server address and relog
40:02
in with my account, uh,
40:04
almost every other day or two. That
40:06
kind of stuff is a real paper cut and just
40:09
adds up. Adds up. So
40:12
the TVOS experience is still not quite
40:14
what I want. And then the thing that really put me over
40:16
back for Plex for now, I
40:19
don't know when, but at some point when
40:21
I was on Jellyfun or something, Plex added cross
40:24
Plex server watch
40:26
syncing. My God, Alex, like
40:29
yes, because I have
40:31
a huge cache on one server of
40:33
everything. And I have a subset
40:36
in the RV
40:37
and every now and then I'm down at the studio and
40:39
I want to watch that same show.
40:41
And I have to remember to go between all of them and mark everything
40:43
red. And if I'm watching on Plex and Jellyfun, I'm now
40:46
like doing it in three different places and it's absolutely
40:48
bonkers.
40:49
So the fact that they added watch
40:51
status syncing between Plex instances solves
40:54
a huge problem for me. And I, maybe
40:57
there's a way I could do that manually or with a plug-in on
40:59
Jellyfun, but it's just a checkbox on
41:01
Plex.
41:03
And that's just really nice.
41:04
Convenience is worth something.
41:07
You know, your time is worth something. And,
41:09
uh,
41:10
I think I've, you know, I'm, I still remain
41:13
impressed with, with Jellyfun from
41:15
what we, we tried from earlier in the year, especially
41:18
I think if you're just using the web version,
41:21
no
41:22
complaints really,
41:23
but I'm going to have a bunch more travel coming up, uh,
41:26
soon. And I still didn't figure out a good remote
41:28
access solution other than tail scale,
41:31
which is probably fine. I haven't actually tried to
41:33
stream over tail net video.
41:36
I have on my phone, even over cellular from
41:38
Jellyfun and it worked well.
41:40
It's been really good in a lot of ways. That's why I'm going to
41:42
leave it running. And I'm going to keep using it
41:44
myself to keep tabs on it. And then
41:46
when we're doing it with the family, they're just going to use Plex for
41:48
now.
41:49
Yeah. I mean, Plex, that
41:52
credit skips thing is cool. But
41:54
it's also really annoying the way it kind of just
41:56
minimizes the content in the corner.
41:59
Uh, the way I don't know, Netflix
42:02
style, you know, streaming sites do that. No,
42:04
I would prefer just a little skip credits
42:07
button to pop up. Not the whole UI takeover.
42:09
It does, but yeah, I agree.
42:13
It's neat that it can do it. You know, and it's funny
42:15
cause when you fire a Plex
42:16
and it's been a while since I had Plex running.
42:19
It has to go through everything
42:22
and extract chapter images and detect
42:24
intros and detect credits. Like they,
42:27
they are doing a lot of grunt work there and I
42:29
can understand why jelly fin has been trying to
42:31
come up with the right approach because. You'll bake
42:33
a box
42:34
while Plex goes through and does all that. Well, it's
42:36
not quite as bad as when you, um, batch
42:38
upload a bunch of files to image though. That
42:41
will bake a box.
42:46
45 homelab.com it's
42:48
happening. Big, strong, fast storage servers
42:50
with high performance, high capacity
42:53
and affordable
42:54
for all data requirements. Personal grade
42:57
solutions that are ideal for your business
42:59
or your homelab. Go learn more at 45 drives.com,
43:02
right? That's where you get your enterprise drives. Everybody
43:04
knows about 45 drives and you might
43:06
remember episode 98 of the self hosted
43:08
podcast, their mission, where they talked
43:11
about the way they see the storage market and the vision
43:13
for future products that it clicked
43:15
with us. The homelab opportunity to us seems
43:17
immense. They listened to the feedback from the
43:19
podcast and they're cooking up 45 homelab.com.
43:23
I think it's going to be right up your alley. So go check it out.
43:26
I think you guys will also like that 45 drives
43:28
maintains an open design and ongoing
43:30
relationship with the open source community,
43:33
and we love the dedicated engineering team that's
43:35
ready to help you should you ever need it. So
43:37
go learn how 45 drives does things differently
43:40
and visit 45 drives.com. And when you get
43:42
a chance, tell them the self hosted podcast sent you.
43:44
And remember. They're cooking up something great
43:46
just for our audience at 45 homelab.com. You're
43:50
going to love it. That's where you go. 45 homelab.com.
43:55
Question for you from Anon Bob. He asks, is there a way to get chapter markers
43:57
in podverts? I
44:00
keep trying to switch from Pocket Casts
44:03
and every time I do the other apps just don't
44:05
quite measure up
44:07
Yeah, Pocket Casts is you know, it's been around for a long
44:09
time. It's a good app. What's your
44:11
Alex? What's your podcast app of choice? Yeah, Pocket
44:13
Casts. Yeah. Yeah, it's
44:15
classic. So there is
44:18
two ways to do
44:20
chapters in podcasts right now
44:23
one is kind of a hack that
44:25
the Germans came up with God bless that
44:27
sort of crams it into the ID3
44:29
tag and that works and that's what we've been
44:31
using for years.
44:32
Another is called cloud chapters
44:34
which is a standardized
44:36
sort of JSON file that you put up on an HTTP endpoint
44:40
that allows you to put metadata in there like links
44:42
so a chapter can also be a link you could
44:45
have images for that chapter
44:47
So like when we're talking about home
44:49
assistant We could have the home assistant blog
44:51
post screenshot up there or something like that two
44:53
different standards pod verse follows the ladder Which
44:56
is the more modern standard
44:57
if they had time or a contributor
45:00
They would probably accept a patch that would
45:02
allow pod verse to read
45:05
The old ID3 standard because it just it
45:07
just needs to be scrubbed and parsed properly
45:09
The issue is there is that because there's no standard
45:12
on how that chapter data is actually
45:14
kind of crammed into the ID3 tag space
45:16
It sometimes is formatted in wonky ways that'll
45:18
break the player So you have to do a lot of kind of
45:20
catching there which pocket cast has just had
45:22
years to do But
45:23
pod verse would need somebody to kind of write that code
45:26
and submit it in
45:27
Or we need to get off our butts and
45:30
make podcasting 2.0 chapters That could be
45:32
done overnight if our hosting platform fireside
45:34
just did it properly
45:36
Or it could be done if we started producing
45:38
our own RSS feeds Which inevitably
45:40
will happen if our platform providers don't keep
45:42
up.
45:43
That's a long answer, right? But it's more complicated than you'd think
45:45
I suppose Often is infrastructure
45:47
often is yeah, it is. We got some great
45:49
boost even though we're early into the cycle We
45:52
got a lot of great boosts and JJ style is
45:54
our baller this week with 40,000 sats
45:57
And he was coming in from the podcast index website.
45:59
He says
45:59
Congratulations and good luck Alex with the new
46:02
job.
46:03
We got a lot of that this week.
46:05
Yeah, thank you. He also wanted to send us a
46:07
plus one on fresh RSS. Says
46:09
I've looked at wall bag, but settled for LinkedIn
46:12
in the end. Deployment was simple with Docker,
46:14
it exposes an RSS feed. Oh, that is nice.
46:17
And my favorite thing, it has a browser extension that injects
46:19
and matches alongside the search results on DuckDuck
46:22
or Googz.
46:23
If the search keywords match any of the tags,
46:26
you give an article which is super helpful, or find
46:28
an old blog post stack overflows, and
46:30
you can't remember them or the exact order of words that you
46:32
entered a year ago. Yeah, you still get
46:34
the perfect search results. That's nice. That
46:36
is amazing.
46:37
That is incredible. Have you ever
46:39
run over one of your old forum
46:42
posts when you've been Googling for an issue?
46:44
Yes, it's so funny. And you're like,
46:46
I solved this problem four years ago.
46:49
Why am I solving it again today? So
46:53
this is funny. It's funny but yes. This is protecting
46:55
future Alex from himself. Thank you very much
46:57
for the suggestion.
46:58
Oh, JJ's not gonna be able to make it to Chicago. He's
47:01
gonna be there in October.
47:03
So... Well, you mean he
47:05
was there last night as this airs, next week
47:07
as we record, but last night as it airs. We
47:10
should have thought of a Chicago chat room.
47:12
Didn't even occur to me. Oh,
47:15
also agrees with you on the F1 TV
47:17
DRM. It's no good.
47:20
Okay, next time we do a meetup for something
47:22
like that, we should totally make a chat room.
47:24
This is too late at this point, but lesson
47:26
learned on that one. That is... Well,
47:29
I think we will. I think we have done. We
47:31
have created it, right? Wink, wink. And
47:33
then we're gonna talk about it in
47:35
the lot that aired last week. Oh, this
47:38
time maths is so confusing. Yeah, that can still
47:40
work out. Yeah, okay.
47:41
Yes, you are correct. See,
47:44
you are good at time math. You see,
47:47
maybe you would make a good doctor. Uh,
47:49
maybe. Would I be the Rick and Morty scrotum
47:52
guy, the time cop though? Well,
47:56
maybe better than Rick. Let's think about he's pretty miserable.
47:58
Yep. Hopefully cranky.
47:59
Danny is that he comes in with 20,000 sats
48:02
using fountain dear Chris and Alex
48:04
in the episode last recent in one or
48:06
two, you seem not to be able to find a downside
48:08
for using Nick's OS, but I want to present you with
48:10
a dilemma that I unfortunately can't solve
48:13
in the time of exploits and vulnerabilities
48:15
is the trade-off of not having se
48:17
Linux or app armor really worth it. Same
48:20
dilemma with the less revolutionary immutable
48:22
next-gen systems
48:23
like blend. Thanks for your insights. I'll probably
48:26
boost the symbol up as well. That's
48:27
a good question.
48:29
I would have felt duty bound as a Red
48:31
Hat employee last month to say, yes,
48:33
I see Linux is fantastic and you should
48:35
use it on all the things. But
48:37
the reality is I haven't run out on any of my personal
48:40
systems. Ever.
48:43
I've had to use it at work and, you know, in
48:46
cloud environments,
48:47
it's probably not a bad idea
48:50
and certainly government sort of
48:52
systems typically mandate those
48:54
kinds of access controls to secure
48:57
areas of the kernel and, you know, bit to the
48:59
of the system that
49:00
you maybe should or should not have
49:03
access to the reality is
49:05
though,
49:06
the world of computing
49:08
has moved on in my opinion, significantly
49:10
from when se Linux was created, not
49:12
to say it's not still useful in certain scenarios
49:15
because it absolutely is.
49:17
But these immutable OS is that you talk about
49:19
are the solution. They have read only file
49:21
systems for the most part.
49:23
So, yes, you can still access that
49:25
data. You know, let's let's suppose
49:27
you found some exploit to get onto the shell
49:30
of this box. For example,
49:32
you can still read the file system and still probably
49:34
do a bunch of stuff that se Linux might stop you
49:36
from doing. But the minute that server
49:38
gets rebooted,
49:40
you've lost all of that stuff. And one
49:42
of the solutions I've seen batted
49:45
around from security folks of
49:47
how to sort of work around this is
49:50
just have a policy that rebuilds
49:52
these boxes every seven days, you
49:54
know, have a rolling rebuild policy in
49:56
Kubernetes clusters and just have these nodes
49:58
be genuinely I know some people in the audience
50:00
are gonna be triggered, cattle versus pets,
50:03
all that stuff. Just take the
50:05
VM out the back and shoot it in the head. You know,
50:08
that's the solution here. That is the ultimate
50:11
solution.
50:12
Also, I know it's absolutely
50:14
possible, but I would love, and
50:16
this is something I'd totally be down for doing if somebody
50:18
had some insights on how to pull this off correctly.
50:21
I'd love to expose an Xbox
50:24
to the internet
50:25
and see what people could do to it malware-wise.
50:28
Because if you download a binary,
50:30
a Linux binary, on an Xbox,
50:33
it won't run. You can't execute
50:35
it,
50:35
right? It doesn't know anything about its environment.
50:38
So you'd have to have
50:40
malware or an Infiltrator that was
50:42
familiar
50:43
with Nix OS and how to
50:45
sort that out.
50:46
And I wonder if that complexity in itself
50:48
wouldn't eliminate a good chunk of malware
50:50
that might land on that box.
50:52
I mean, a sufficiently motivated actor, for
50:54
sure. Let's say, you know, it's a financial
50:57
banking system and there are
50:59
stock trades at play. And,
51:01
you know, it's quite popular in
51:03
the FinTech sector, Nix
51:05
OS. You know, if
51:07
you're sufficiently motivated, you could figure out
51:09
how to create your own Nix environment and Nix shell
51:12
and do all that stuff. But
51:13
most of the time, these vulnerabilities
51:16
are targeting the lowest hanging fruit,
51:19
the boxes that have port 3389 left open. Or
51:23
they're replacing a standard binary
51:25
that you might execute, and
51:28
they're adding a root executable bit to it.
51:30
And then you're running that and it's secretly getting
51:32
root privileges and it's actually been a compromised
51:34
version of grep or something like that.
51:37
But again, that wouldn't work in Nix. So
51:39
I would love to just test it.
51:41
So largely my answer is, SELinux
51:43
is still relevant. It's a yes,
51:46
no, but answer.
51:49
You know, it really does depend. And
51:52
for all the reasons we just talked about, it
51:54
does still have a place in the world, but
51:56
I do think its role
51:58
is diminishing.
53:59
of the heart rate because a lot of the PJ
54:02
patterns make the compression algorithm breakdown
54:04
and that lets you know they're okay. You're just
54:06
the movement and detection stuff, yeah.
54:10
I don't know if that's a great solution
54:13
for like the mom. Well,
54:14
I tell you, if you are a podcaster
54:17
or tangentially related to one, you
54:20
could take your nice expensive, sensitive, dynamic
54:22
microphone, put it underneath the
54:24
crib and turn the gain way up and
54:26
listen to that because we've definitely done that on nights
54:28
before. There you go. Yeah, microphone
54:31
is not a bad way to go at all really.
54:33
Yeah. Just get a very long XLR came. Yeah.
54:36
PS Schmidt comes in with 6,969 cents. Listening
54:40
to 102, you mentioned the renaming
54:42
entities in Home Assistant.
54:44
Yes.
54:45
Oh, I'm looking forward to this. He said, it could be made easier.
54:48
It reminded me that I wrote a script a while back
54:50
that renames entities in bulk. It
54:52
supports custom naming formats and filtering
54:54
by manufacturer and integration.
54:57
It's on GitHub under PS Schmidt,
54:59
and he has a link that we
55:01
will include in the show notes. He also says,
55:03
congratulations to you, Alex, for the new trip.
55:05
Thank you very much.
55:07
Thank you very, very much for that. That
55:09
is probably exactly what I'm looking for Schmidt. I appreciate
55:11
that. Smart growth comes in again. 5,000 stats using
55:13
Fountain.
55:16
I think he wants to use tail scale. He seems like it's, he
55:18
says it seems like an incredible solution.
55:21
He's happy to be inside the free tier zone and
55:23
maybe even pay, but he
55:25
is concerned about the single sign
55:27
on options only being major enterprises.
55:30
He doesn't want to have to have a big enterprise account to
55:32
log into tail scale. He wants to meet in the middle
55:35
and use a different solution.
55:38
Then you're looking for the custom OIDC
55:41
providers. This lets you use a custom domain name
55:44
so that tail scale can integrate with providers
55:46
that support OpenID Connect. There
55:48
you go. And they have some documentation on their website about
55:51
that as well. And we'll put a link to a
55:53
blog post in the show notes. How was
55:55
right? Actually schooled me on how
55:57
to link to my noster ID. He did find.
55:59
me so I will be able to put that in the
56:02
show notes.
56:03
And he had a little flakes wisdom he says I've been using flakes
56:05
with nix but
56:06
it did take me a while to feel comfortable with it
56:08
and I've even developed software in the past I just think that flakes
56:11
can be used for the main nix OS with just a
56:13
few files.
56:14
Maybe take a look at how the open ZFS
56:16
nix OS guy does the flake setup. The
56:19
nix OS flake repo isn't as complicated as
56:21
others and he links us to that
56:24
and it's kind of an example I get oh yeah
56:27
oh that's like six seven lines
56:29
of code that's really simple.
56:31
Minimal nix OS root
56:33
on ZFS config that's slick.
56:36
And you know what now that you get that oh
56:38
god that's great.
56:40
Thank you Hal appreciate that.
56:42
It is it is nice but I think you've just got to
56:44
stare at this problem for a while it's one of those you
56:46
know you've got to understand how the data
56:49
gets passed around between the modules
56:51
and you know it's not an
56:53
object
56:54
orientated
56:56
language so yeah things
56:58
just work differently it just takes a while to load
57:00
that into my system memory you know
57:02
yeah and format it properly. You know erok
57:06
boosted in to say that we missed a great title
57:09
nix and match. Oh
57:13
that is a good one.
57:15
And Gene Bean has a boost in 4444 sats
57:17
to say that they use the
57:19
AngelCare movement monitor
57:22
that also track temperature there's no camera
57:24
and
57:25
then later on he added a unified G3
57:28
instant camera
57:29
for his baby monitoring.
57:32
There you go
57:33
that's pretty great thank you everybody those are and he'll
57:35
he also included a link to the AngelCare
57:38
baby monitoring product that he uses that monitors for
57:40
breathing
57:41
with a wireless sensor pad so
57:42
I'll put a link to that in the show notes too
57:45
for you new dads out there.
57:46
We had 14 total boosters 18
57:49
boosts all across though some
57:51
people send in multiple boosts for a total of one hundred
57:53
and thirty seven thousand nine hundred and thirty five sats
57:55
thank you everybody if you didn't hear your
57:57
boost read it was a big one you think why didn't they read it
57:59
It could be because we're recording early, although not every
58:02
single boost makes it onto the show, but we do appreciate
58:04
all of them and we save them.
58:06
All of them in our show notes and in
58:08
our group chat. Thank you everybody. If you want to boost in and get
58:10
a new podcast app and get those new chapter titles
58:12
and stuff like that, new podcast apps.com or
58:15
keep your app. Maybe you want to use pocket cast
58:17
and just get, I'll be get Albie.com, top it off with
58:19
the cash app or directly. And
58:21
then head over to the podcast index website and find us
58:23
over there. And you can just use the web.
58:24
It's pretty easy and
58:26
we appreciate the support.
58:28
And we do get people asking us, can they support
58:30
us with the old school fiat currencies
58:32
as well? If you want to do that, you can go to self-hosted.show
58:35
slash SRE and join up to our membership.
58:38
We do an ad free feed over there with a
58:40
post show as well.
58:42
Yeah, we really love our members.
58:43
You are a rock. Thank you everybody.
58:45
And don't forget about meetups when they're coming up
58:47
and when we're doing pre-records and all that, you can always
58:50
just kind of keep in the loop by joining our meetup page,
58:52
meetup.com slash Jupiter broadcasting.
58:55
And the
58:56
word is I'm going to be
58:58
responsible for a lot of cooking at
59:00
Linux Fest Northwest. So I may have to recruit
59:03
your skills to Alex, cause it's going to be, we're
59:05
going to be the lunch providers
59:07
for potentially thousands of people. Is cheese
59:10
bacon going to be there? I hope so. We got
59:12
to reach out. Yeah. We got to get them booked. We
59:14
need someone to cook those brats at the front of the line. We got to
59:16
get to the front of the line.
59:19
And you can get at self-hosted.show slash contact.
59:22
If you'd like to get in touch with us that way. And
59:24
you can find all of my online places
59:26
at alex.ktz.me.
59:29
You can always chat in our discord. We have that linked
59:31
on our website, or you can hang out on our self-hosted
59:34
matrix.
59:35
That's also linked on the website or with Jupiter broadcasting.com
59:38
slash matrix. You can come and say hi to me in there.
59:41
Thanks for listening everyone. That was self-hosted.show
59:43
slash 103.
Podchaser is the ultimate destination for podcast data, search, and discovery. Learn More