Podchaser Logo
Home
103: Archiving the Internet

103: Archiving the Internet

Released Friday, 11th August 2023
Good episode? Give it some love!
103: Archiving the Internet

103: Archiving the Internet

103: Archiving the Internet

103: Archiving the Internet

Friday, 11th August 2023
Good episode? Give it some love!
Rate Episode

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.

Unlock more with Podchaser Pro

  • Audience Insights
  • Contact Information
  • Demographics
  • Charts
  • Sponsor History
  • and More!
Pro Features