Podchaser Logo
Home
102: NixOS is a bit Flakey

102: NixOS is a bit Flakey

Released Friday, 28th July 2023
Good episode? Give it some love!
102: NixOS is a bit Flakey

102: NixOS is a bit Flakey

102: NixOS is a bit Flakey

102: NixOS is a bit Flakey

Friday, 28th July 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'm really curious to know what your process is when something

0:03

dies in your home automation

0:05

setup. You know, one of these annoying

0:07

things like a controller going out or a

0:09

light bulb stopping working or you

0:11

know something like that where it just falls off the wi-fi

0:13

for no reason and and you're just like oh

0:16

I've got to go and investigate this. What now?

0:19

Yeah that is inevitable

0:21

when you have more and more devices

0:24

and of course these days

0:26

if I was going to deploy like an led

0:28

light strip or a temperature sensor

0:31

I would get a little ESP, put

0:33

ESP home on there, you know I

0:35

would build it modularly and then I would

0:38

just replace like the light strip if that died or just the

0:40

controller if that died but you

0:42

know past Chris didn't

0:45

really think that way and I'll give

0:47

you an example that just happened to me recently. I love

0:49

these LIFX light beam bars.

0:52

They're these bars that are magnetic and you can connect

0:55

like up to multiple pieces and make shapes

0:57

and whatnot and they're great for the bedroom, they're great

0:59

for the living room, they're just

1:01

great products except for they

1:03

have a proprietary controller and I don't

1:05

think they even make it anymore so

1:08

go figure one of ours died recently. I had

1:10

to go onto like eBay and go buy a

1:12

used controller so I could replace mine

1:14

and of course I've got this light because it's our it's our

1:16

headboard. I've got this light in a

1:19

couple of different scripts, multiple automations,

1:22

I don't want to like come up with a new name and then go change

1:25

everything so I have to go through this

1:27

process with the LIFX stuff where

1:29

you join to its Wi-Fi on your phone, you use their

1:32

little app to set it up initially, you get it on

1:34

your Wi-Fi network, then Home Assistant

1:36

will detect it if you have the LIFX integration and

1:38

what I do is before I take that

1:40

step

1:42

and I'm curious to know if the audience out there has a better way to do

1:44

this, I go rename the dead

1:46

one so I'll do like old

1:48

underscore headboard light

1:51

or whatever it might be

1:52

and I'll make sure I update that and sometimes

1:54

I'll even restart Home Assistant because I've noticed

1:57

when I rename devices it's not necessarily represented

1:59

everywhere right.

1:59

And so I'll sometimes even restart

2:02

Home Assistant. Then I will at that point, when

2:04

it detects the new light bar controller,

2:07

I then

2:07

go in there and add it and I give it the name

2:10

of the old one.

2:11

And that seems to work.

2:13

I don't do it a lot. So I don't know if I could recommend

2:15

it as the official process. Maybe there's

2:17

a better one. I would love just to like

2:19

a replace device option because these

2:21

things inevitably die. Or

2:24

I'd like to like have like a hide when device

2:26

doesn't respond because another

2:28

one is, I have smart plugs for

2:31

Christmas decorations.

2:32

I don't leave them plugged in throughout

2:34

the year when we don't have Christmas decorations

2:37

up. So I just, in my main dashboard

2:39

where I have all my devices, I just have these hairs.

2:43

You know, things are airing out. It just drives me crazy

2:45

to see it. I'd love a hide when inactive

2:47

kind of thing. But yeah, that's my

2:49

process. I don't know if it's great, Alex.

2:52

Well, whilst you were talking, I was sort of thinking, wouldn't

2:54

it be great if there was just a single pane

2:56

of glass with all of my entities in it?

2:59

But then I got thinking that exists,

3:01

that must exist in the interface. So I went digging.

3:05

And on the integrations page at the top, there

3:07

are four little buttons. And one of them

3:09

turns out is devices. Another

3:11

one is entities.

3:13

So under that menu, there

3:15

are, there is an easy way to get into

3:17

all of the different names

3:20

and sensors and all the rest of it that you've

3:22

got. However,

3:24

you know, if I just take, for

3:27

example, our Mazda is a 2022 model.

3:30

So it's got

3:33

a modem in it for some reason. And I

3:35

connected it into Home Assistant. So I could look at how much

3:38

petrol was in the tank. And if

3:40

I look at this thing, it's got, it

3:42

must be at least 15 or 20 entities, all

3:47

part of this same vehicle or

3:49

the same connected service. And

3:52

when you go in and try and figure out

3:54

which of these entities, because I mean, you

3:57

know, a Phillips hue motion

3:59

sensor, for example, also has a temperature and

4:01

humidity sensor in it. So it's

4:03

not uncommon for one entity to actually

4:05

have five or 10 related

4:08

things. So if I just click on one of

4:10

these items, I can of course go

4:13

to the related option in

4:15

the Home Assistant interface and look

4:17

at all of the related entities, but it's

4:19

not an editor that I'm in there. So

4:22

I guess what I'm kind of pitching here is

4:24

some kind of spreadsheet-esque

4:27

entity editor that I

4:29

could just actually go in and update in real time all

4:32

the device names and get everything just

4:34

formatted correctly. Right,

4:37

that was one of the reasons, one of the times I had

4:39

to redo Home Assistant. I was sort

4:41

of

4:42

reluctantly grateful because the

4:44

first time around using Home Assistant, I just

4:46

took all the default names that it just auto-generates

4:49

for stuff. And that was a nightmare

4:51

when I had six or seven sensors that all

4:53

essentially have the same name with a one, two, three,

4:56

four affixed to them. And

4:58

my life was so much easier when I realized I could go in there and

5:00

name them something that made sense to me. But

5:03

it was, like you said, so many

5:05

entities, so it's my sensors,

5:07

each sensor has seven or eight entities,

5:10

maybe nine entities that it adds to Home Assistant. It

5:12

was a nightmare. And so some way

5:15

to just, if you could go to that entities

5:17

or device screen and just go into mass edit mode, and

5:19

you're right, if it just turned into editable fields

5:21

where you could go in there and just change names and it would update,

5:24

that would be magic. One nice thing they've

5:27

added in the last year or so is

5:29

if you go to the device and you rename

5:31

it at its main device screen,

5:33

it will prompt you if you wanna rename all

5:36

the entities too. So you can do it one off

5:38

like that, which is what I do when I'm renaming

5:40

them to like the old device.

5:42

Well, that's what I've been messing around with these last few days,

5:45

but you have news of another variety,

5:47

don't you? I do. I am unemployed

5:49

officially as of this recording. I

5:51

have no current employer. Yeah,

5:56

I mean, I think for as long as I've made, you

5:58

were just getting the job at Red Hat maybe.

5:59

when I met you? Was that how it was?

6:02

Something right around then. So it's been five

6:04

and a half years if you can believe it. Yeah.

6:07

Obviously this show has only been going what,

6:09

four or so? Coming up to four in September

6:11

I think.

6:12

So yeah, I guess that

6:15

year that you and I first met Texas Linux

6:17

Fest the year before that, I was

6:19

probably fairly new in my first year or

6:21

so.

6:22

Okay, okay.

6:23

But yeah, it was just time for a change really,

6:26

you know, five and a half years at the same company.

6:28

I started as an infrastructure consultant in

6:30

the UK and that was

6:33

fine but there was just too much travel in

6:35

that role. And we were looking to emigrate anyway

6:37

so it was actually a perfect excuse. And

6:41

I found an open shift TAM job

6:43

dealing with commercial customers so

6:46

that meant that we moved to Raleigh even though

6:48

it was a fully remote position. Just

6:50

having the Red Hat Tower just there, HQ

6:53

there, I figured would be a good career move. Whenever

6:55

anybody came to the tower for a meeting or whatever

6:57

I could hang out and get FaceTime and all

7:00

the rest of it. And, you know, with

7:02

COVID that actually, I mean, for the first

7:04

year or two it was a really, that

7:06

bore out to be fairly

7:08

true. But after COVID

7:11

I've been to the tower, I don't know,

7:13

twice this year maybe, three times

7:15

at most. And I'm not alone. They've

7:18

closed a few floors of the building. It's

7:20

just a shadow of what it was

7:23

before COVID. So

7:24

being in Raleigh for Red Hat, lost

7:27

a lot of its benefits, I suppose.

7:31

So I wandered around within that role for a little while. I

7:33

was made senior and then I moved over to the

7:35

partner account team from the commercial

7:37

side. But more recently I took a cloud

7:39

success architect role and

7:41

that was to aid customers adopting open

7:44

shift in the cloud and that kind of thing.

7:46

However, right around that sort of time, three or four

7:49

months ago, was when Red Hat announced

7:51

the first round of layoffs.

7:53

The mood in the company really changed after

7:55

that. I can't, if you're not a

7:57

Red Hatter, it's hard to explain.

7:59

but people talk about the IBMification

8:03

of Red Hat and stuff like that. And for

8:05

the most part, it's just hype in

8:07

the media. It doesn't really exist. Of course,

8:09

there are higher level objectives from

8:12

financial targets and stuff like that that will

8:14

come down from upon high. But

8:17

in the day-to-day side of things, we've been largely

8:19

left alone

8:21

until these layoffs.

8:23

Now, I'm not saying IBM had anything to do

8:25

with them. In fact, we've been told categorically

8:28

that they did not.

8:30

However, for me, it was just a

8:32

shot across the bowels to say, OK,

8:35

let's see what else is out there. And I actually

8:37

posted on Twitter to say, hey, is

8:39

anybody hiring? And someone

8:42

from Tailscale reached out and said,

8:45

yeah, we're hiring. You should apply to come work

8:47

at Tailscale. So

8:49

that's what I'm going to go and do. That's

8:52

pretty great. I mean, we're huge fans of Tailscale.

8:55

So there's a handful of companies. I'd

8:58

be up for working for. And Tailscale is probably one of

9:00

them. And it's a totally

9:02

different kind of shift for you, right? Red

9:04

Hat's a very large company, tens of tens of thousands

9:07

of staff and contractors. And Tailscale

9:10

is at a totally different end of the spectrum there. Well,

9:12

when I joined Red Hat, it was around 11, 12, 13k,

9:14

something

9:17

like that, employees. I think

9:19

they were at like 22, 23,000 now. So

9:22

I mean, the growth has been spectacular. And

9:25

I don't know if it's true, but I've heard it's north

9:27

of 40 if you add contractors.

9:29

I couldn't comment on that. But in

9:32

terms of Red Hatters, certainly it's almost

9:34

doubled. I guess it pretty much has doubled

9:37

in the last five years or so. Yeah, crazy. But

9:39

Tailscale is a team of about 100 people. So

9:42

it's about as different as it could possibly be

9:44

if it was just me and someone sat in a room with a laptop.

9:47

Do you know if anybody else works in Raleigh? There is

9:49

a chap who is just moving from DC

9:52

locally. I'll spare his identity for now

9:54

in case he doesn't want me to say. Yes,

9:56

there is someone else in Raleigh, so that's nice.

9:58

I just wanted to say as well.

9:59

Well, I've had folks ask me on Twitter and stuff

10:02

like that if I was laid off. Nope,

10:04

not at all. It was completely my decision.

10:06

More so that this was just an opportunity that was so

10:09

good, I couldn't really pass it up. So I'm

10:11

gonna be working over there as a developer

10:14

advocate. So writing blog posts, dealing

10:16

with YouTube stuff and videos

10:18

and documentation and outreach

10:21

to various different teams and stuff like that.

10:23

And it's basically taking

10:26

what I've been doing

10:27

as a side hustle and turning it into

10:30

jobby job.

10:31

And I'm really excited to exercise

10:34

that creative muscle professionally.

10:36

It's not something I've done before, so.

10:38

And just totally selfishly, but you're probably going

10:40

to get more opportunities to meet up with self-hosted

10:42

audience, too. I will, starting almost

10:45

right away. Because DevOps

10:47

stays in Chicago is coming

10:49

up on August the 9th and 10th. And

10:52

I will be there with Tailscale. So

10:54

if you're in the area, I don't know

10:57

what the details are going to look like for a last minute

10:59

meetup. But it will either be the Tuesday or

11:01

the Wednesday evening. I need

11:03

to actually start working for the company next

11:05

week before I can find out those details.

11:08

And then I'll post something on the meetup page and

11:11

we'll mention it in various shows that we

11:13

can. I don't think this show will be out again before

11:15

then, maybe. I don't know. But

11:18

yeah, keep an ear to the ground for that one. And maybe

11:20

we'll just go to find a bar and get a couple of beers

11:22

or something. Nothing crazy.

11:24

Oh, I wish I could be there. Well, congratulations.

11:27

That's exciting news. And

11:29

I am

11:31

really looking forward to see where things go. Because

11:33

I think Tailscale's got a bright future ahead

11:35

of them. You're going to be riding that wave, Alex. Startup

11:37

life, baby. I am basically Ehrlich

11:40

Bachman personified. Yeah.

11:44

Yeah, all right. Well, let's talk about a company

11:46

that is in a different phase of

11:49

life where things aren't going so well. Some

11:51

of us are just running away from Reddit these days.

11:53

I don't know about you, but it's just not the same

11:56

anymore. And there's perhaps better self-hosted

11:58

ways to replace Reddit.

12:00

Yeah, we've all known. We've all been using

12:03

Reddit for years and thought, what

12:05

happens when this goes away?

12:07

And for me, the iOS

12:10

client Apollo stuff and the boot and, you

12:12

know, the API debacle that we've talked

12:14

about before, that was enough

12:17

of a push for me to be like,

12:19

okay, I am done investing time

12:21

and energy into this platform. It's still

12:23

obviously useful as a resource of human

12:26

knowledge, but

12:27

that's going to decay pretty fast if people start

12:29

leaving the platform. So it's going

12:32

to be interesting,

12:33

but that has left me with a hole to

12:35

fill, you know, the poop time.

12:37

You've got to have something to read or do. You know,

12:40

there's only so many times you can text Brent and say, Hey,

12:42

how you doing, bud? How's Berlin this week? And

12:45

we came across Wallerbag,

12:46

which is an offline article

12:49

reader in the style of something like

12:51

pocket or insta paper. And of

12:53

course

12:54

you can self-host it. They do actually offer

12:56

a hosted

12:59

version. It's MIT license though. There

13:01

is some Docker compose instructions available

13:04

and they make an API and

13:06

remote connection method available for apps

13:08

like

13:09

Android or iOS apps, browser

13:11

extensions. It's everything you

13:13

would expect from something like pocket, but

13:16

perhaps more of a power user version of it. Right?

13:18

Because,

13:20

because you get this API, there's

13:22

a gnome read it later app that plugs in with

13:24

it. It feels like, feels

13:28

like it's both replaces pinboard

13:30

and pocket for me, which I use both. I don't know if you're familiar

13:32

with pinboard, but I use both those right now. It's kind

13:34

of a way to save content for getting to later.

13:37

The nice thing about Wallerbag is how it presents

13:39

the articles to you just as basically

13:42

tiles. You can also change the interface

13:44

to be a list view and that kind of stuff, but

13:46

it downloads things to be offline. So

13:49

it saves the text of these articles. You

13:51

can add things like tags. You

13:53

can mark them as starred, you know, refetch

13:56

the original content is another option that's in

13:58

there. So if,

13:59

if it's a heavy updating

14:02

blog or something else, you

14:04

could update the content that way. It's also

14:06

got a jump to random button, which I really

14:08

appreciate. So if you're not quite sure what

14:11

you want to dig into at the moment, you just press the random

14:13

button and off you go.

14:14

So it works really nicely in the browser, no

14:17

complaints there at all. But obviously

14:19

the mobile experience is a huge part of why

14:21

I'm looking to do this kind of stuff. So

14:23

I ended up coming across a

14:26

tangentially related project called Fresh

14:28

RSS. And the reason I mentioned

14:31

this is because Wallabag exposes

14:34

the articles that you add to it as

14:36

an RSS feed. So I can then

14:39

bring that into my RSS reader, which

14:41

is actually spelled R-E-E-D-E-R,

14:44

the client on iOS.

14:44

I can bring in my Wallabag

14:47

feed as an RSS feed, as

14:49

my read it later queue. And so then

14:52

I've got one place to go for all the tech

14:54

blogs and all of the software

14:56

updates and GitHub release notes that

14:58

I want to follow as part of the

15:00

different feeds, as well as my

15:03

cultivated list of read it later articles.

15:06

That is really nice that it pulls it in there. Fresh

15:08

RSS is my favorite

15:11

of the self-hostable RSS applications

15:13

out there. It turns 10

15:14

this year,

15:16

which is really amazing. You can pop

15:18

podcast feeds in there too, which I really appreciate

15:20

because there's some podcasts I kind of follow

15:22

a little more casually. And so it's kind

15:24

of a great spot for it. And I suppose if you're on

15:27

mobile, you could probably just play it right there.

15:29

And of course, you can just pop in your OPML feed. So

15:31

if you're using something like Feedly

15:33

or another RSS app, you

15:35

can throw it in there. And

15:38

I seem to recall that the Linux server IO

15:40

folks have a fresh RSS

15:42

image. I'm thinking that's probably the one

15:44

I deployed the last time I tried it. You know,

15:46

what's funny is as part of all this, you

15:49

know, let's leave read it behind idea. I

15:52

started looking at the awesome

15:54

self-hosted list. And for some reason, I picked out

15:56

TT RSS, which is tiny, tiny RSS

15:59

reader. Right.

15:59

I've used that too. And I spent, it must have

16:02

been three

16:03

hours going through

16:05

the deployment of this thing. There are, it's just,

16:08

it's so opinionated. It's,

16:11

this developer has basically said, unless

16:13

you do things exactly my

16:16

way, including using the hard coded container

16:18

names,

16:19

this stack ain't gonna start.

16:22

And it's like, dude, the whole

16:24

point of containers is to remove

16:26

that it works on my machine problem.

16:29

And apparently I posted on a

16:31

Master Donald a little bit about it, had a bit of a rant. It

16:34

turns out that developer has some,

16:37

shall we say strong opinions about

16:39

the world. And he is not necessarily the

16:42

most friendly approachable chap.

16:44

So I haven't personally

16:47

dealt with that, but that's the reputation that the project

16:50

has, unfortunately. So it

16:52

was really a breath of, no pun intended,

16:54

fresh air when I started using

16:56

fresh RSS because I used the Linux server

16:58

image and within literally two minutes, I

17:01

had the instance up and running. It's

17:03

just so nice when stuff like that works. That

17:06

is the peak

17:08

self hosted Docker compose experience.

17:10

You set up your compose file, you do your

17:12

Docker compose up. And I

17:15

always, the first time I run it, I always just leave

17:17

the logs, the output right there on the command line and

17:19

just to see if there's any errors. And when it's

17:22

something simple and it fires right up, you're just, well,

17:25

wall bag is a little bit more involved. It's

17:27

not as bad as tiny, tiny RSS, but

17:30

it's, and it's not as simple as fresh RSS and

17:32

you don't necessarily need wall bag to use

17:34

fresh RSS. You could just throw an OPML file in

17:36

there and look at feeds, but the two together,

17:39

I think are a really compelling combination

17:41

because you can use one to capture

17:43

an archive stuff and the other than to review

17:45

it later in an application

17:47

of your choice that, you know, where developers

17:50

spend a lot of time just refining that

17:53

application to really view those feeds nicely

17:55

and clever. And you can point pretty much any

17:57

of those at fresh RSS. And so,

18:00

like the stack you've created here is like it's

18:02

three layers, right? Because you got wall beg for the capture.

18:04

You got fresh RSS for reviewing that and

18:07

other stuff. And then you need a really good

18:09

mobile RSS application.

18:12

But there's plenty of those on both Android

18:14

and iOS. So I mean, it's a pretty

18:16

clever stack. Now out of the box, I

18:18

ended up deploying both of these, I think,

18:20

with the SQLite database. You

18:23

can change that back end, particularly

18:25

on Wallabag. It supports Postgres and MySQL

18:27

as well.

18:28

With fresh RSS, the deal is the same thing.

18:31

SQLite by default, particularly in the Linux server

18:33

image, just for ease of setup. But if you

18:35

want to go in there and tune the Postgres or

18:38

MySQL databases as well,

18:40

you can also do that. So what you could potentially

18:43

have is just one database container shared

18:45

between these two apps, maybe, if you want to do that.

18:48

Although the overhead of having a second container

18:50

is so small,

18:51

I might just do that anyway. But they do

18:53

link really nicely together.

18:55

The big thing that I'm missing at the moment from

18:57

the Reddit days is not

19:00

the quality of comments, I will just say, because it's

19:02

been a real shock to my system, going back

19:04

to

19:05

purposefully written

19:07

articles and blog posts. You

19:09

think someone's put some time into crafting

19:12

this thing versus a comment

19:14

that someone's literally just s*** it out onto

19:16

Reddit that's given three seconds thought.

19:19

I mean, there are the odd exception on Reddit,

19:21

of course, but the majority of it

19:23

is just brain dumps into random

19:26

comments and arguments and that kind of stuff.

19:29

But along with that kind

19:31

of brain dump, low-quality comments

19:33

comes a lot of discovery,

19:35

which I'm really missing from this

19:38

solution at the moment. I'm having to actively go and

19:40

seek out blogs and go and

19:42

seek out content and stuff like that in a way I

19:44

haven't had to for a decade.

19:47

So if you have a list of

19:50

your favorite blogs or something like that, I've

19:53

been considering putting together a list

19:55

on the self-hosted wiki of your favorite

19:57

blog posts, of your favorite blogs and things.

19:59

that you follow in categories and

20:02

that kind of stuff. I'm not quite sure the format it will take

20:04

yet but I'll sort of I'll try and seed

20:06

that before this episode airs on Friday just

20:09

so that we can all get an idea of what to do. Open

20:11

a PR, open a merge request and we'll

20:14

take a look at it and get it merged into the wiki.

20:17

Linode.com slash SSH head on

20:19

over there to support the show get $100 in

20:21

60-day credit and check out the exciting

20:23

news. Linode's now part of Akamai. All

20:26

the developer-friendly tools like the cloud

20:28

manager that's beautifully built, the API

20:30

well documented with lots of libraries ready to go and

20:32

the CLI I use on the daily. The stuff

20:34

I've used and you've used to build, deploy and

20:36

scale in the cloud that's all still available

20:39

but now

20:40

it's combined with Akamai's power and global

20:42

reach. They are the top tier network

20:45

and they're expanding their services to offer more cloud

20:47

computing resources and tooling but making

20:49

sure you still get that reliable affordable

20:52

and scalable solution for yourself or

20:54

a business of any size and as part of Akamai's

20:57

global network of offerings their data centers

20:59

are expanding worldwide giving you access

21:01

to more resources so you can grow your project

21:03

or your business and serve more customers

21:06

and more clients.

21:07

So why wait?

21:08

Go experience the power of Linode now Akamai.

21:10

Visit linode.com slash SSH. Go

21:13

there to learn how Linode now Akamai can help

21:15

scale your applications from the cloud to the edge and

21:17

you'll get $100 in 60-day credit while

21:19

you support the show. It's a pretty sweet deal

21:21

and you can really kick the tires. Linode.com

21:24

slash SSH.

21:27

Anybody know Dust?

21:30

This is an old one that's an old sort of deep pull

21:32

for some of the UK audience there but

21:35

I found an app recently called Dust

21:37

and this is a this builds itself as a more

21:39

intuitive version of DU

21:42

in Rust of course. We need the theme tune

21:45

at some point.

21:46

Wes is going to come riding over the sun

21:48

over the horizon. That'd

21:52

be so great that'd be so worth it. I

21:55

like the the visual layout of this I mean first of all

21:58

these are really handy on the command line because

21:59

because I'm often SSH-ing into my file

22:02

server or my media server, trying to figure

22:04

out what folders I can

22:06

go trim from. And so this gives you a really

22:09

nice tree layout

22:11

on the left-hand side. And on the right-hand

22:13

side, it gives you a bar graph. It's

22:16

a nice way to lay it out.

22:17

It is, and the way that I've been doing

22:19

it for the last several years has been

22:21

using NCDU. And

22:23

it's kind of slow to index

22:26

files. You get the impression it's actually reading every

22:28

single file one at a time, which

22:31

leads me on to my next pick, which is

22:33

an app called DUF, Duff. This

22:36

is disk usage free utility,

22:38

which also builds itself as a better

22:41

DF alternative. So DF and DU,

22:43

those two tools are pretty much interchangeable to

22:46

find out different amounts

22:47

of file system usage.

22:49

And the thing about Duff is it's unbelievably

22:53

fast.

22:54

And it outputs to JSON,

22:56

which I wouldn't use, but

22:58

I know there's guys out there that could actually,

23:01

if you could take that storage data output it to JSON,

23:03

you could feed that into something useful.

23:05

Well, some kind of alerting server or something like that,

23:08

maybe Prometheus would chew

23:10

that in and be like, hey, bud, you've only got 10% left

23:12

on this disk. You should probably

23:15

do something about that soon. Hey, bud. Hey,

23:17

hey, hey. Hey there, bud. You know, it's a funny thing to

23:19

say, and you're gonna have to just accept it. These

23:21

command line apps have beautiful interfaces. This

23:24

is a great example of super

23:26

easy to read, glanceable information

23:29

that anybody new or experienced

23:31

could look at this and understand what it's telling you. And

23:33

it's crazy fast, like you're saying. Yeah,

23:35

yeah, it is. And one of the issues that I

23:37

have with DF typically is, and

23:40

I've written a Bash alias, which removes

23:43

a lot of these tempfs devices and all the

23:45

Docker volumes and that stuff. But

23:47

when you type DF-H typically,

23:50

is it DF-H? Yeah, for human

23:52

readable. You get this list of like 500

23:54

devices. I'm

23:56

like,

23:57

no, dude, calm

23:59

down. I just want to see how much

24:01

free space I've got on

24:04

one of my hard drives. It's so

24:06

bad if you've got snaps too. If you've got a few snaps

24:08

running, it's...

24:09

Yeah, really bad. Now

24:13

I mentioned NCDU a couple of minutes ago. This

24:15

app, dua-cli,

24:18

dua-cli, is a disk

24:21

usage analyzer tool, which

24:23

is...

24:24

I know I said the last one was fast in terms

24:26

of glanceable information, but when you run this,

24:29

compared to NCDU, it literally

24:31

feels like...

24:32

How could it possibly be done already?

24:35

Yeah, it's like, does it already know some... Yeah,

24:37

I use this one on the regular because it

24:39

is so dang fast, dua,

24:41

and also 90% written in

24:45

Rust. So these Rust apps are

24:47

just ludicrous fast. Yep, they

24:50

really are. Now I came across these things

24:52

whilst I was browsing through, and this

24:54

is going to be a trigger topic maybe. We'll

24:56

see. We'll see how it goes. But

24:58

whilst I was browsing through Wimpi's world,

25:01

he has posted his NixOS

25:04

config. Oh

25:05

really? Okay. I looked at a bunch

25:07

of the packages that Wimpi was using and I found these apps

25:09

in there and I was like, oh hey, I

25:11

should try these things out. Oh, I

25:13

do that too. I look at people's Nix config and I find

25:15

the apps and I try them out. So

25:18

I think I've seen the light in the last week or so

25:20

with Nix. Now tell me what the

25:22

breakthrough is. Right. I'm going

25:24

to cut Nix a bit and I'm curious to know what the shift

25:27

was.

25:27

I can define my entire system

25:30

in one file.

25:33

Two technically, if you include the hardware config

25:35

file. But I can read it and

25:38

it's glanceable.

25:39

Almost like some of the command line tools

25:42

that we just mentioned. You

25:44

know, I can say, well, what are my users?

25:46

What is my static IP configuration?

25:49

You know, what are all the packages on this

25:51

box? The reproducibility

25:53

angle doesn't really bother me that much. It's

25:56

certainly not to the degree that

25:58

I

25:58

would. Nick's because

26:01

of the reproducibility.

26:03

But if I was a developer building development

26:06

environments and that kind of thing,

26:07

oh my goodness, this is like the best

26:10

thing ever. This is what containers promised,

26:13

but the the entropy of,

26:15

you know, apt repos even.

26:18

You can't guarantee that building a

26:20

ten-year-old software package is going to build today

26:22

because some of the upstream dependencies

26:25

will have gone away. And

26:27

with Nick's, they solve that by having a huge,

26:30

what they call, mono repo with

26:32

over 80,000 packages

26:35

in a single repo. And

26:37

they have every version of that package

26:40

that's ever been made stored

26:42

in that repo. It just boggles

26:44

the mind how expensive that storage must

26:47

be. I know. And what I love about

26:49

it is it's allowed

26:51

me to experiment with mixing

26:53

stable and unstable versions. So, for example,

26:56

if

26:57

you wanted to, you could run a sort

26:59

of rolling Nick's OS by going completely

27:01

unstable. But you could then

27:04

say, but always give me plasma

27:06

that's stable, or always give me stable

27:08

Firefox. And you could also do the flip. You could have

27:10

a completely stable system, but

27:12

always have the unstable version of some of your

27:14

favorite packages. And you can mix it, and Nick's

27:17

just totally manages it. And as you know,

27:19

and this is true for other systems as well, but what

27:21

I love compared to say apt

27:23

or DNF

27:25

is if something's going to break, and I'm not

27:27

just talking like at a package resolution

27:30

dependency level, I'm like talking the

27:32

configuration of the service that you're about to deploy

27:35

as well. Like if something's wrong in the config,

27:37

it will stop and it'll give you the line number

27:39

to go fix it. And so you catch stuff

27:42

before you actually deploy it. And that

27:45

is, to

27:46

me, so nice, because I can

27:48

sit there, I can tweak it. Okay, does it build now? Oh,

27:50

no. Okay, I gotta go fix. Okay, does it build now? Okay,

27:52

I got it. All right, now I know. And then when I'm

27:54

working on my desktop, because I have it running on my desktops

27:57

and laptops too. I

27:59

love using

27:59

I'm using VS Code to edit my Nix config because

28:02

I've got the Nix language extension.

28:04

And I just fire up VS Code,

28:07

change a line, save it, it

28:09

prompts me for the sudo password, and I

28:11

hit rebuild and I'm done. It's

28:13

such a slick way once you learn

28:16

to live in that Nix config. And I

28:18

know I could break it out more, but like you, I just put

28:20

it in the main file plus the hardware file, and

28:22

everything that describes my system is there. This

28:25

last week, Alex, I was reviewing the InfinityBook

28:28

Pro 14 from Tuxedo, and

28:30

I wanted to try Tuxedo OS for a bit,

28:32

and then I wanted to put Nix OS on there. And

28:35

I loaded a bare Nix OS system on there, just

28:37

a real basic kind of install, just command

28:40

line,

28:40

and

28:41

SSH'd over a Nix config, changed

28:44

the hostname, changed a couple

28:46

of the bootloader things, and that was it. Rebuilt

28:49

the system, rebooted, and I had a full

28:51

working desktop system with all my applications.

28:54

It is kind of crazy, and I think the

28:57

use case really for me is

28:59

as a somewhat, you

29:02

know,

29:02

educator on the internet of

29:05

some description anyway, you know,

29:07

perfectmediaserver.com,

29:09

I've often struggled with the

29:12

fact that, you know, compared to something like,

29:14

say, Unraid, which is flash

29:17

this image onto a USB key and boot,

29:20

you've had to go through the process,

29:23

and admittedly it's gotten a lot easier over the

29:25

last decade, but you've had to go through the

29:27

process of installing Linux from an ISO

29:29

on the bare metal hardware.

29:32

Then once you've done that, you know, if you

29:34

were to follow my dog food all the way through, you

29:36

then have to go and learn Ansible and configure

29:38

these complex playbooks and understand

29:41

SSH and just all this stuff

29:43

that

29:44

I don't think is

29:46

unreasonable to learn for

29:48

someone who's in the industry, but if

29:50

all you want to do is just set up a simple file

29:52

server that's got some TV shows and

29:54

some movies on it, for example,

29:57

honestly, it's a bit much, whereas

29:59

if we tell people to install Nix

30:02

OS for example and then I say oh by

30:04

the way you just copy pasta this exact

30:07

Nix configuration and by the

30:09

way you'll get ZFS out of the box you'll

30:12

get hardware acceleration for your iGPU

30:14

out of the box and you can just set

30:16

your static IP here and your users

30:19

and you can install a desktop if you want to.

30:22

There is no downside there

30:25

is no downside and that's really what hit me

30:27

this week. It feels like we

30:29

it's finally a version of Linux that's fully managed

30:32

and controlled the way Linux should be. Like

30:34

a lot of times on a system

30:36

that's RPM based or dev based

30:39

not 100% of the time but most the

30:41

time I don't uninstall software I

30:44

just install software because uninstalling

30:46

software every now and then goes

30:49

awry and I've got I've got Ubuntu

30:51

systems that I've been running since 2018

30:53

and

30:54

I'm probably underestimating if I say

30:57

three times a year I end up having to break

30:59

down to like a TTY and

31:01

like resolve a boot issue or solve some

31:03

sort of broken package problem and dash

31:06

dash fix broken install or whatever

31:08

it is yeah yeah and then of course

31:10

you gotta you gotta go do the auto remove stuff

31:12

and you gotta make sure like you don't fill up the boot part

31:14

like all these silly things that

31:17

Nix just takes care of ahead of time and

31:19

catches it before it does things and

31:21

you just follow that

31:24

which is essentially like YAML in the Nix config

31:26

and it it's just easy to read and it makes sense and it

31:28

doesn't take a very long

31:30

time to pick up

31:31

if you're willing to just take it a little bit at a time and the

31:34

fact that there's so many good and yours you'll

31:36

have it linked in the show notes is a great clean

31:38

example there's there's a lot of really complicated

31:41

Nix configs out there but what I like about yours is it's

31:43

just right you know and I think it's a good example

31:45

for people to look at and this defines a system

31:48

it's 115 lines

31:50

with some comments in there and stuff like that and

31:53

it defines the entire environment that's

31:55

just it now if you

31:57

are looking to get more complicated

31:59

Oh boy, will Nick's

32:02

OS let you?

32:03

I thought, you know, I was watching

32:06

some YouTube videos about it and doing some research

32:08

and I started going down the rabbit hole of flakes.

32:12

Now these things are,

32:15

to quote Douglas Adams, big. So

32:18

mind-bogglingly big that you won't believe

32:20

just how big slash complex they

32:22

are. They must be a software

32:25

developer's wet dream because they are

32:27

just unbelievably difficult

32:29

to get started with. And I really

32:32

tried. I really did. I spent two or three evenings

32:35

and

32:35

a good chunk of my weekend trying to

32:38

implement these flakes.

32:41

And the idea behind them is as part of this

32:43

reproducibility problem, they

32:46

create a .lock file. So

32:48

you have a flake.nix file that you put some stuff

32:50

into and then alongside it you have a flake.lock

32:53

file. And that creates a

32:55

hermetically sealed timestamp

32:58

for all the dependencies in that

33:00

.nix flake file to say

33:02

on this exact moment in history, this

33:06

flake must always be built against this

33:08

.lock file and you will always use

33:10

this exact version of these packages

33:12

forever, no matter what.

33:15

I understand that that is actually

33:17

amazing and it solves a lot of problems for

33:19

a lot of people.

33:20

For me, it doesn't solve a problem that

33:22

I have. What it does do is

33:25

it creates a whole plethora

33:27

of unbelievably complicated,

33:30

like that house of cards just

33:33

trying to understand how the

33:35

Nix OS language works. Okay, that's fine.

33:38

It's not that complicated really to

33:40

understand. I mean, I'm used to Python.

33:42

I'm not used to Haskell

33:45

or anything like that that's a bit more close

33:48

to the Nix OS language. But I think if

33:50

you're rooted in the world

33:52

of being a software developer,

33:54

maybe like Wes, then Nix

33:56

OS and flakes will just

33:58

be right up your street. but for me

34:01

it's just so difficult

34:03

to understand what the concepts even are.

34:06

I mean

34:07

I understand the hermetically sealed part,

34:08

that bit's easy to understand, but

34:11

everything else is just like,

34:14

okay so I need to inherit this from here

34:16

and then I need to recreate Nix packages

34:19

over there with this syntax and then I import

34:21

it over here and like before you know it you've

34:23

got 15 files in a directory and you're

34:25

like

34:26

well the whole drawer

34:28

of this thing was the single config

34:31

file of beauty, of simplicity

34:34

and I understand you know looking at wimpies

34:36

config for example he's

34:39

got one flake file that can define like 15

34:41

systems.

34:44

Okay that is that is cool

34:47

but I could just have 15 files

34:49

that define 15 systems without all

34:51

of the complexity. I don't know

34:53

if that makes me a Luddite or what but

34:56

I've really tried with flakes but they're just

34:59

they're just too hard. I feel like this

35:01

is the number one sentiment I hear when the audience

35:04

tries out Nix and it's exactly how I feel too Alex

35:06

and I think the way I describe it is

35:09

all of the language that talks about flakes

35:11

sort of presumes a bunch

35:14

of tribal knowledge already and

35:16

so you almost have to spend a day

35:19

learning how to speak flake and ease

35:21

before you can even kind of start to wrap your

35:23

head around it and that's such a huge barrier

35:25

and I've tried to I've tried to explain to

35:27

the folks like we have a Nix nerds matrix chat

35:30

room which is a great chat room a great resource

35:32

and the folks in there know it so well they're just like oh what are

35:35

you talking about you do this this that and there's no big problem you've got three

35:37

other ways you can do it it's easy. It's

35:39

like when you go to a mechanic shop and you're like well I've

35:41

got this issue and he's like oh well you just need to replace

35:44

the Regina Phalange flux

35:46

capacitor and you're like okay.

35:48

Once

35:49

you got a lift just put on your lift and

35:52

I look at it as I already feel

35:54

like Nix is so far exceeding

35:57

my expectations like I've got not only do you have

35:59

what you

35:59

can define in the

36:01

Nix configuration. But one of the things

36:03

I love as somebody who's just trying stuff out all the time is

36:06

Nix shell dash P package name and Nix

36:08

just builds a temporary environment

36:11

with that application. And then when you close it, it's

36:13

ephemeral, it's gone. And so I can just

36:15

pull down any old package for a few minutes and

36:17

use it. And that combined

36:19

with what I can do with the just configuration

36:22

already, I'm just like, I

36:24

don't yet have the need for flakes because I

36:27

never had that on any other distribution. And it's already

36:29

doing more for me than any distribution already has

36:31

done. So I've been happy. But

36:34

I do feel like a bit like you're like, am

36:36

I, let I hear my missing out on something? Because

36:38

the thing I always hear about flakes

36:40

is well, then you get home manager. Yes. And

36:43

home manager is really where the like

36:45

power tools are at. And I do feel

36:47

that draw.

36:48

Me too. And I will

36:50

keep plugging away at flakes, but there

36:52

just came a point where I'd spent maybe

36:55

three or four days

36:56

trying to understand it. And I was

36:58

like, this is beyond me. And it's not

37:00

toot my own horn. It's not often that that

37:02

happens with Linux and stuff these days.

37:05

So it's kind of a deflating feeling to

37:08

realize that and then admit it publicly in a podcast

37:11

as well. So I spoke

37:14

to a few people on Mastodon about

37:17

trying to get some help and some example flake

37:19

configs I could understand. And I think

37:22

another part of the issue to build on everything

37:24

you've just said

37:25

is everybody does it slightly

37:28

differently.

37:29

And so there isn't like a recipe

37:32

and because they're still officially an experimental

37:34

feature in the Nix world,

37:37

the official documentation

37:40

doesn't really cover flakes at all, even

37:42

though they are, everybody says, the

37:45

future. So

37:46

for me, for now, I'll be sticking to

37:48

configuration.nix because it's something

37:51

my simple brain can comprehend and

37:53

understand nice and easily. And

37:55

I'll probably migrate perfect

37:57

media server maybe by the end of the

37:59

year.

37:59

I'll rewrite that a little bit, just

38:02

towards NixOS because it really, for

38:05

most people, is going to do everything

38:08

that you need.

38:10

Tailscale.com slash self-hosted.

38:13

Go check it out right now and get a free personal account

38:15

for up to 100 devices and it's a great way

38:17

to support the show. So it's tailscale.com

38:19

slash self-hosted. Now, Tailscale is

38:22

a solution for a team of any size. An individual

38:24

or a large enterprise that just doesn't want

38:26

to have to deal with the annoying old-style

38:28

VPN systems that are costly

38:31

and complicated to maintain.

38:33

What Tailscale does is it uses

38:35

WireGuard to create a mesh network between

38:38

your resources.

38:39

It lets you easily build out, in

38:41

minutes per device, a network that's

38:43

flat and talks directly to each other using

38:46

WireGuard's noise protocol. It's perfect

38:48

for those of us that like to self-host. You can put

38:50

your services all on your tail net and

38:52

you don't need to bother with port forwarding on your firewall

38:55

if your ISP doesn't allow a certain inbound

38:57

port because it's all private traffic now.

38:59

And each device, like your phone

39:02

or your tablet or a VPS or your desktop

39:04

computer, which doesn't matter what the OS is because they support

39:07

ARM and Intel and just the whole range out there.

39:10

And they give you great tooling too, like Tailscale

39:12

Send, which is sort of like AirDrop,

39:14

I guess, but for all of your devices

39:16

on your tail net. Doesn't matter their OS.

39:19

Or Tailscale SSH, which lets you log in

39:21

to all of your Tailscale devices. There's a lot more

39:23

too. Alex and I use it to share resources

39:26

between our networks. So when we're trying something out

39:28

for the show, we share it over Tailscale. And

39:30

then I just put his DNS domain

39:32

name in, put his port in, and boop, goes over Tailscale,

39:35

all protected by WireGuard. It's so elegant

39:37

and so easy. It's going to change your networking

39:39

game. So support the show and try

39:41

it for 100 devices for free on a personal

39:44

account. Just go to tailscale.com

39:46

slash self-hosted. That's it. And

39:48

you get started for 100 devices right there. Tailscale.com

39:51

slash self-hosted.

39:59

But we did jelly fin January and for

40:02

the most part it's been going pretty well. There was a couple

40:04

of rough edges that we touched on back

40:06

in February. But

40:07

I've been having a great time over there on the jelly

40:09

fin source. But

40:12

you had a dad fail the other day. Oh,

40:14

it was embarrassing Alex. Worst

40:17

case. Worst case. One

40:19

of those days where

40:21

literally all day long the

40:23

wife and the kid are talking about how

40:25

we're going to watch Dune tonight. We're going to have dinner.

40:28

We're going to pop popcorn. We're going to sit down and we're

40:30

going to watch the whole Dune movie, which is a long movie.

40:34

I think great. I have a cache locally on my jelly fin

40:36

server here in the RV.

40:38

Plenty of charge in the batteries. We're

40:40

good to go. I fire up infuse

40:43

and it's

40:45

going great. You know, it's a long movie. We're an

40:47

hour and 25 minutes into it and

40:50

I accidentally bump the Apple TV remote.

40:52

And this thing, if you fart on this Apple TV

40:54

remote, it triggers stuff.

40:57

And it closed the app.

40:59

Okay. So I relaunched

41:01

the app and it resumes the app and it tries to start resuming

41:04

the video,

41:05

but it fails and it goes back to the main screen and airs

41:07

out with the generic air.

41:09

And it says, okay, would you like to resume in an hour and 25 minutes?

41:12

I say yes. And

41:14

after it waits and it waits and it waits,

41:16

it resumes the movie at like six minutes. Then

41:20

I pause and I wait and I wait and it resumes

41:22

at like 25 minutes. It's having a buffer

41:24

at each time. And so

41:26

we wait about 10 minutes trying to figure

41:29

out what's wrong with it. And when we finally just decided

41:31

to wait and let it buffer and then try to get to our time,

41:33

it's playing just fine for about 10 more minutes.

41:36

And then it crashes.

41:38

It stops. The stream just stops. So

41:41

I check the server. Everything's looking okay. I

41:43

think, all right, we're going to leave infuse. Let's

41:45

go use Swift fin. You know, that's a newer

41:48

app built for Jelly fin. Let's use

41:50

Swift fin. So I go over

41:52

to Swift fin, get it all configured

41:54

again because for whatever reason it lost the config. That's

41:57

fine. So I set it all up again, get it connected to my Jelly fin

41:59

server.

42:00

Hit play and

42:01

it's the same exact

42:04

experience It it's exactly

42:06

what like what happened in fuse where it plays six minutes

42:08

instead of an hour 25

42:10

We gave up with 20 minutes left on the movie

42:13

Ultimately, we gave up because we were having

42:15

so many problems once that remote got

42:17

bumped We never were able to really get going

42:19

again. And man is that embarrassing,

42:22

you know Made your dad fail

42:24

and then the thing that really stung

42:27

Is I opened up the Plex app which is configured

42:30

to connect to the Plex instance I still have running back

42:32

at the studio. So over my star link and

42:35

Opened up Dune just

42:37

to see and fast-forwarded and

42:39

went to the hour 25 mark

42:41

15 seconds or so after buffering it

42:44

played just fine same file. Yep same

42:46

file

42:47

Same file cuz I copied it from that server

42:49

to my local copy because that's where my mind went immediately

42:52

And it's not even a necessarily it's not a big file. It's a

42:54

1080p file It's you know, it's like 13 gigs.

42:57

I didn't get it. I didn't get a super high res version

42:59

either

43:01

As you combine that with the fact that Wes

43:03

and Brent want to do watch along

43:05

with Star Trek strange new worlds And I think the Plex

43:08

feature sets just a lot more

43:10

robust there for the watch

43:12

along stuff I'm feeling

43:14

like the Plex siren after like six months

43:16

of being really happy with jelly fin Yeah,

43:19

what I mean, we both still keep them knocking around

43:21

anyway

43:22

You know prologue on iOS is the

43:24

premiere audio book Client

43:27

and you will not convince my wife otherwise even

43:30

though audio bookshelf has had a lot of improvements

43:32

over the last year or two

43:35

Yeah, I mean for me if I open up Plex

43:37

or jelly fin on the client side, I mean, it's not

43:39

it's not a big deal Is it as

43:41

long as I guess you still try and default to jelly

43:44

fin then? Everything's

43:46

okay ish. What

43:48

about all of our concerns of You

43:51

know Plex as a company in their direction and

43:53

scraping data and they just laid people

43:55

off So clearly, you know, they're gonna have to find

43:57

a revenue stream from somewhere. I

43:59

still will I still maintain those concerns.

44:02

I also I think I just think jelly fin is

44:04

a better experience offline I mean, yes, I know

44:06

I can go allow the land access and all that kind of

44:08

stuff in Plex, but it's a workaround I don't like

44:10

it. I don't like any of that. I don't like having to have

44:12

a Plex account You know, even

44:14

though I'm a lifetime past subscriber I still

44:16

just just want to play my local files and

44:19

I don't want anybody to know anything about what I'm watching

44:21

Yes, the tin foil has approach

44:24

but then you know you're sitting there trying to watch a movie

44:27

and You're in the last 20 finally

44:29

you make it the last 20 minutes and you give up

44:32

That is almost a disqualifier. You know

44:34

that moment.

44:35

Well, do you want me to ruin it for you? Hmm.

44:37

Okay, everybody lives Or

44:40

dies. I don't know I'm

44:45

I don't have the time right now. So I'm probably not gonna swap

44:48

out but You

44:49

know, I guess to finish the movie We're gonna watch it off Plex

44:52

remotely instead of watching my local copy over

44:54

the layer you filthy Proprietary

44:56

garbage supporting man you I know

44:59

it's not even local It's my own cloud but

45:01

still somebody else's computer right just my computer

45:04

somebody it's another place I actually had a listener

45:06

right in just sent me a message in discord

45:08

this week to say because

45:10

of you I was going to put

45:12

something in Trello the other day and

45:15

Then I was thinking

45:17

do I trust this company with my data?

45:20

No, I Don't and

45:22

so they went and found a self-hosted alternative the name

45:25

escapes me right now

45:26

But I think it's a very important principle this

45:29

kind of guilt of using

45:31

the non perfect solution

45:34

Plex is the perfect example.

45:36

We know there are flaws with their business

45:38

model with them as a company and

45:40

all the rest of it

45:42

but sometimes it just gets

45:44

the job done and I

45:46

don't know if I don't know if Just

45:48

simply by the fact that we're using something like

45:50

Plex puts us in the top 1% of media

45:54

consumers anyway So

45:57

people probably aren't looking at us, but you

45:59

know there is this sense of guilt for any

46:02

self hosted for any hosted

46:04

service that we should be doing

46:06

the most pure, the most technically, you

46:09

know,

46:10

perfect approach. And I think

46:12

one of the things I've always tried to do on this show is

46:14

kind of lean into the pragmatism angle.

46:18

It's a fine line to walk. I'd love

46:20

to hear what you think. So please write in at self

46:22

hosted show slash contact.

46:24

Yes. And speaking of the feedback, Jericho

46:27

wrote in. He wanted to share something called

46:29

Post Moogle. He says it's

46:31

a program after you get a self hosted mail server.

46:34

It'll let you set up an email server that is also

46:36

a

46:36

matrix bridge. Why

46:39

would I want to do that, then? I would. You know what? Well,

46:42

if I could have

46:44

it's kind of like RSS in a way, if I could have

46:46

my emails output to a room, if

46:49

you're already living in element, let's say.

46:52

You know, or maybe it's Slack, whatever it may be, but if you're already living

46:54

in this case, an element, then it's kind of

46:56

nice to have a room that collects notifications

46:59

because I can I can get so busy. I can, you

47:01

know, go a day without checking my email and then

47:03

I get a bunch of upset people in there. So I could

47:05

kind of see it.

47:06

I don't know. I can kind of see it. Moogle Post

47:09

Moogle.

47:09

So we'll put a link in the show notes. I just wasn't sure

47:12

of quite what the use case was, but that makes sense.

47:14

Yeah. Or maybe like in our case, right? If like

47:17

people wrote into the self hosted show and

47:19

we had a shared room between us, then we would

47:21

both get a notification in that shared room about an email. That

47:23

could be cool. Martin writes in, it

47:25

says, hey, Chris and Alex, longtime listener. I've

47:28

been on the search for a note app and I know Chris was

47:30

too lately. I've been finding a lot of value out of

47:32

notion like note apps. I

47:34

stumbled on any type. It's open source

47:37

and encrypted and has mobile and desktop

47:39

clients.

47:40

Mm hmm. Any type dot I. Oh,

47:42

and they offer a self hosting set up. It is an alpha

47:45

right now. Well,

47:46

that's awfully helpful.

47:48

We have a bunch of really good recommendations that

47:50

come in like on stuff to try.

47:53

And it's hard to know which one to pull the trigger

47:55

on. But there's a few in here

47:57

this week that look really good. You know, the.

48:00

really, it's not frustrating, but

48:02

it is a little bit frustrating, is

48:05

at some point you've just got to stick a pin in it and actually

48:07

pick one. And I feel like I just

48:09

picked Obsidian

48:11

as my de facto,

48:13

you know,

48:14

personal knowledge system,

48:16

replacing TiddlyWiki from before

48:18

then.

48:19

And then AnyType comes

48:22

along with this beautiful looking

48:24

application and crazy

48:26

fast load times and secure

48:29

and decentralized sync as part of the product.

48:31

You know, it's like,

48:33

oh, I just got it right.

48:35

And I'm not going to help too, because Jin from Mateek,

48:38

Jin from Mateek this week says he

48:40

found an agile tool that he loves that replaces

48:43

things like Jira for him and some

48:45

ticket tools. It's called Taiga, T-A-I-G-A-I

48:49

dot IO. And then on top of that,

48:51

he has found a killer outlining application,

48:54

which I've been checking out since Coder Radio, and it's called

48:56

GetOutlined.com.

48:58

And you can also self-host that.

49:01

So those are a couple of,

49:02

well, we have some really good, this is like an app pick

49:05

extravaganza episode.

49:07

I'll tell you what. We'll make sure to put links to

49:10

all of these things in the show notes, just

49:12

in case you want to check them out.

49:16

Fortyfivehomelab.com. It's

49:18

happening. Big, strong, fast storage servers

49:20

with high performance, high capacity,

49:23

and affordable

49:24

for all data requirements. Personal grade

49:27

solutions that are ideal for your business or

49:29

your homelab. Go learn more at FortyfiveDrives.com,

49:32

right? That's where you get your enterprise drives. Everybody

49:34

knows about Fortyfive Drives. And you might

49:36

remember episode 98 of the Self-Hosted

49:38

Podcast, their mission, where they talked

49:40

about the way they see the storage market and the vision

49:43

for future products. That, it clicked

49:45

with us. The homelab opportunity to us seems

49:47

immense. They listened to the feedback from the

49:49

podcast and they're cooking up FortyfiveHomelab.com.

49:53

I think it's going to be right up your alley. So go check it out.

49:55

I think you guys will also like that Fortyfive Drives

49:58

maintains an open design and ongoing.

49:59

in relationship with the open source community.

50:02

And we love the dedicated engineering team

50:04

that's ready to help you should you ever need

50:07

it. So go learn how 45 Drives does

50:09

things differently and visit 45drives.com. And

50:11

when you get a chance, tell them the self-hosted podcast sent

50:14

you. And remember, they're cooking up something

50:16

great just for our audience at 45homelab.com.

50:19

You're gonna love it. That's where you go, 45homelab.com.

50:24

And we got some great boost coming into

50:26

the show. Everybody's been really, really supportive

50:28

since episode 100. And LegitSalvage

50:31

came in with 75,000 sats. He's our

50:33

baller booster. He's been catching up. And

50:35

he has a brand new, beautiful baby girl.

50:39

And, well, soon, in about 12 weeks. And

50:41

he is on the hunt for a proper

50:43

baby monitor solution. He has IP cameras

50:45

for his home with a DVR. And

50:48

he's thinking about just adding a new camera to

50:50

her nursery. So that would be a normal solution.

50:52

However, since she's a preemie baby,

50:55

lung development and breathing will be a factor when

50:57

bringing her home. So for peace of mind,

50:59

I've been looking at video monitors that include visual

51:02

sensors to monitor breathing, like

51:04

the NAMP Pro or Eufy Space View. These

51:07

don't appear to have non-connected options.

51:09

Or if they do, it's not clear these features would work without

51:12

phoning home. I would suspect that

51:14

as well. Given all the incidents

51:16

of baby monitors being hacked, he's concerned

51:18

about it. And he wants to know if we have any suggestions.

51:21

He says he appreciates the content. It's a welcome

51:23

distraction from the recent chaos in life. Yeah, man, that's

51:25

gotta be...

51:27

That is not an easy time. Well,

51:29

speaking from experience, my daughter arrived

51:33

seven, eight weeks early, not quite 12,

51:37

like you, good sir. But what

51:39

I will say is now she's two and a half,

51:41

fully healthy and perfect, and

51:44

running about with baby shark towels on her head,

51:47

and will not eat her dinner without her flamingo

51:49

hat on. So it does

51:51

get easier. Yeah, 12 weeks before due date

51:54

is pretty serious, right?

51:55

Yeah, 12 weeks is not, you

51:57

know, it's no trifling matter.

51:59

So what I will say is first of all, if you

52:02

wanna reach out personally to me and

52:04

have a chat about someone who's gone through it recently,

52:06

the HoldnQ thing, you know,

52:09

it's a lot to process. So please feel free

52:11

to reach out. But secondly, what

52:13

I will also say is that we've

52:16

had a huge amount of success with the

52:18

Wyze cameras.

52:20

We've put them into a black hold

52:23

VLAN so that they're offline, they can't reach

52:25

the internet, but the, obviously the initial

52:27

registration they have to, but after

52:29

that they don't. And I can

52:31

connect to those cameras. I'm not running

52:34

a special firmware or anything like that over

52:37

the LAN. It does the discovery over the LAN and then

52:39

does a peer-to-peer

52:40

video stream from one device to

52:42

the other. Now, another piece of advice

52:44

for you, you mentioned

52:47

having sensors to check things like breathing

52:50

and all the rest of it.

52:51

The advice we were given, and in

52:53

hindsight, I really am glad

52:55

that we were given it, was don't fall

52:58

into the trap of getting these socks that measure

53:00

heart rates and apps,

53:03

because they just cause a lot of false positives and a lot

53:05

of anxiety and that kind of stuff. If

53:07

you're really worried about breathing and that

53:09

kind of stuff, you can put like vibration

53:12

things under the mattress, but

53:14

honestly, from my

53:16

personal opinion, the

53:19

medical staff won't send the baby home

53:21

until they're completely confident that the baby

53:23

is ready and healthy. So

53:26

from my perspective, I wouldn't,

53:28

I know it's difficult not to want to do something

53:30

as a new parent, everything

53:33

you can.

53:34

It's very difficult to just close

53:36

the door on the nursery and say, hey, right, I

53:39

will see you in the morning and

53:41

not sleep with the phone wide

53:44

open all night looking at the screen, that

53:46

kind of thing. But

53:48

it does get easier. I will say that as well.

53:51

The first

53:52

six months are the hardest. And so far, everything

53:54

after that has been downhill for us,

53:56

so hang in there, bro. And like I

53:58

say, reach out if you are.

53:59

If you want to chat some more. Yes. And thank you

54:02

for the support as well. Hurricane

54:04

Hernandez comes in with 51,273 sats. Longtime

54:09

listener, first time booster. He's

54:11

been around for a long time. In fact, he says he goes way back

54:13

with you probably since 2014 when you guys were

54:16

regulars on the Lime Tech forums. Does that ring

54:18

a bell? Yes, it does. Hurricane Hernandez.

54:21

I think, I think we first met

54:23

when we were trying to stream Formula

54:25

one. Like I was going to get a Sky Sports

54:27

subscription in the UK. This well before

54:29

F1 TV was a thing. And I was

54:32

going to get a Sky TV subscription in the UK,

54:34

figure out how to strip the DRM from it and

54:36

then stream it to his house using

54:37

TV head end. And we were going to split the

54:39

cost that way. That never happened. But that was what we were

54:41

talking about back then, I think. It

54:44

gives you a hard time too, for being a VM believer

54:47

when he was pushing containers back

54:49

in the day. There was, there was a time

54:51

before Alex used containers. You

54:53

know, that was a thing. Yeah.

54:56

I was a VM user myself. Still at VMs. Come on. And

54:58

he also continued with another boost. He says, I wrote

55:01

a blog post as to why I'm leaving Ansible

55:03

for Nix. You can find it on my blog. We'll put

55:05

a link. It's goodbye Ansible.

55:07

I'm here to challenge you to take the Nix OS challenge.

55:09

You'll find I have replicated parts of the perfect

55:12

media server in my Nix repos. Have a look. Stand

55:14

by my decision to use containers over VMs, just

55:16

like I stand my decision on my decision to

55:18

use Nix over Ansible. All

55:21

hail from the great white North in Alberta.

55:24

You know, I know we just talked about Nix earlier in the

55:26

show, but it does feel like

55:28

I'm seeing Nix everywhere at the moment.

55:30

I know, I

55:31

know I'm, I'm contributing to that

55:34

problem by talking about it on this here show, but you

55:36

know, Chris, you've been talking about it for a, what, a year

55:38

or more now. Yeah. I definitely

55:40

noticed it's been picking up. Yeah. Yeah.

55:43

I think it's solving more and more problems

55:45

as people get comfortable with container technology

55:47

and they get comfortable with all these other kind of concepts,

55:50

it's not that much more of a leap to then

55:52

start wrapping your head around Nix. Well, why

55:54

do I need a, an

55:56

operating system that I can build up a ton

55:58

of cruft in?

55:59

not just have it be declaratively

56:02

configured, you know, all that stuff. So,

56:05

you know, you're right Hurricane Hernandez, as usual,

56:08

turns out you're ahead of the curve there, good sir, and

56:11

Nix is the only way, apparently. This

56:14

is the way. Of course not, of course not. There

56:16

are situations still, of course, where one

56:19

is better than the other, but. You know,

56:21

it's a lot of fun, it's putting the old Nix package manager

56:23

on macOS, get rid of Brew and go to Nix

56:25

on macOS. See, I do have a brand

56:27

new 16 inch MacBook

56:29

Pro downstairs for

56:32

my stuff with Tailscale next week.

56:35

And so I will start with Nix on there. I will

56:37

be, I've been using Brew forever,

56:39

but this is the chance. Greeno

56:41

comes in with 24,543 sets. Long

56:44

time listener since 2019, first time booster

56:47

he's been catching up. He had some downtime recently and

56:49

heard the discussion about backups for the wives. I've

56:51

been waiting until I got caught up to see if anybody else mentioned a

56:53

solution.

56:55

He says, I think I'll give it a go.

56:56

We all know that 95% of our home labs would

56:59

be left to dust should anything happen to us.

57:01

Even the best documentation would be wasted in the end.

57:03

And let's be honest, nobody wants to take on

57:05

someone else's kit.

57:07

So I have a separate backup drive just for

57:09

the wife

57:10

that gets updated during maintenance tasks once a

57:12

week. I update my lab, my hose, my

57:14

containers, et cetera. And the last thing I have on the list

57:17

is I plug in the wife's drive and I run a script

57:19

to update with only what she cares about.

57:21

Things like photos, important documents,

57:23

the home viges and things like that. The files

57:26

get set to read only afterwards to ensure that nothing

57:28

accidentally gets deleted. The drive is encrypted

57:30

with Lux. And to make sure it all works,

57:33

she uses this to access files and photos she needs

57:35

to get from her elementary OS laptop.

57:38

All her files are accessible on the network, but

57:40

making sure she checks the backup drive keeps me feeling

57:42

warm and fuzzy knowing it works. Congrats

57:45

on self-host to 100 guys. And here's

57:47

to many more to come. That's such a great

57:49

idea. It's so

57:51

blindingly, obviously simple.

57:54

And just uses all

57:56

of the technologies that are

57:58

free and available.

57:59

to us anyway, like Lux and all

58:02

the rest of it. So that's a great idea.

58:04

Just a couple more boosts to round us out.

58:06

Thank you everybody who does BoostIn. We'll try to fit a few

58:08

more in. Bleetube comes in

58:10

with 21,007 sats from Podverse. Hey,

58:13

you teased your Noster end pub at the end of the last

58:15

show, but I don't see it in the show notes.

58:18

I know, I got that a lot from the emails

58:20

and the boosts. I don't know how to link

58:22

a Noster pub. I

58:24

took a crack at it and I couldn't

58:26

figure it out. And when I tried linking, because

58:28

I tested with somebody, this isn't a real

58:31

active profile. I'm like, okay. So

58:33

until I'm really getting serious about it, I probably won't

58:36

worry about it too much, I suppose. Is

58:38

it not just x.com at

58:40

Chris Lass?

58:41

Too

58:43

soon, Alex, too soon. I

58:46

don't even like thinking about x.com. And

58:48

you notice it's the X11 logo too. Like,

58:50

come on, man. Come on. I

58:53

think we got a boost from Jared in Amelia,

58:56

Idaho. No, Idaho, Ohio,

58:58

Ohio. I'm just checking right now on the map,

59:00

Ohio. He sent us 10,001, seven

59:03

sats and he gives us a zip code so we could kind of

59:05

figure out where he's at. He says, he's been a long time listener.

59:08

And I like that, thank you. And Panicked

59:10

Ketchup, which is one of the best usernames out there. 13,000 sats

59:14

is our last booster this week. Cause you know, we

59:16

got runtime here. He says, I've

59:18

been running a self-hosted Unifi controller on an old

59:21

NUC with Ubuntu. I always kind of

59:23

get nervous to do an update on the Ubuntu

59:25

or the controller software. I was thinking about getting

59:28

the Unifi Cloud Key Generation 2 with

59:30

the hard drive. I'm not sure if a dedicated

59:32

device is the best option other than the option

59:35

of doing a Ubiquiti hosted, but

59:37

I don't think I want to go that route. What

59:39

do you guys think?

59:41

If you're deploying this commercially, so you're

59:43

running an MSP or something like that, you're charging

59:46

people money.

59:47

Absolutely. Cloud key all the way

59:49

and just don't worry about it. For

59:53

home use though, I would say a self-hosted controller

59:55

is

59:56

more than adequate. You can back up the

59:58

configs, you can export.

59:59

them. I forget what the format is off

1:00:02

the top of my head but for example

1:00:04

when I did the 10 gig network upgrade in the spring

1:00:06

I exported all of

1:00:08

my devices from one site and

1:00:11

imported them to another controller

1:00:13

that I hosted in this building. So I used to only

1:00:15

have a couple of Wi-Fi access points and then I went all

1:00:18

in on the Unify ecosystem and went to like 20

1:00:20

devices here so I figured let's pull

1:00:22

it out of the cloud and bring it in-house and

1:00:25

that process was really painless. Don't

1:00:27

fix what ain't broke you know just

1:00:29

make sure

1:00:29

you've got regular backups and use you know

1:00:32

ZFS data sets for the app data and you'll

1:00:34

be fine.

1:00:35

And maybe this is a

1:00:36

something you just feel more comfortable running in

1:00:39

a VM and you can take snapshots before

1:00:41

major software upgrades. And

1:00:44

since we've gone so hard on Nix this episode I'll

1:00:46

make one more Nix mention and

1:00:48

that is just that this is one of the things you don't

1:00:51

worry about in Nix anymore is these upgrades

1:00:53

breaking things. If it does

1:00:55

by some chance

1:00:57

build and still break you just select

1:00:59

the last version and grub and go back to the way it

1:01:01

was. That's really nice but

1:01:03

you can replicate that with any distribution with file

1:01:05

system snapshots or maybe even more simply VM

1:01:08

snapshots.

1:01:09

Good luck Panicked I think that's a good project

1:01:11

to take on though. Thank you everybody

1:01:13

that boosted in I am sorry we did not get to all of them

1:01:15

but we do read all of them we share them in our team chat

1:01:18

and we store all of them in the show docs

1:01:20

so this episode's doc will have your boost forever. We

1:01:22

had 31 boosts

1:01:25

across 22 boosters totally. Awesome

1:01:28

amazing thank you everybody some of you sending

1:01:30

multiple messages with nice long messages

1:01:33

and we got a total of 239,313 sats. You guys are absolutely

1:01:38

the best and we appreciate your support. You

1:01:40

can boost into the podcast by getting

1:01:42

a new podcast app at newpodcastapps.com

1:01:45

or

1:01:46

just go get Albi and boost from the web getalbi.com

1:01:48

then head over to the podcast index and you'll find self hosted

1:01:50

over there. We got links to all of it in the show notes.

1:01:53

Yes we do and of course we need

1:01:55

to thank our site reliability engineers

1:01:58

the SRE subscribers you are a

1:01:59

another part of what makes this show possible.

1:02:02

You can go to selfhosted.show slash SRE.

1:02:05

And we've got an ad-free feed over there for you with

1:02:08

a post show. What are we going to talk about this week? I

1:02:10

got a couple of ideas out here in the woods, hunting

1:02:12

animals. No, not really. But I do have a few ideas.

1:02:15

Smoking those meats, I hope. Smoking

1:02:18

the meats and grilling. Thank you to our site reliability

1:02:21

engineers. We really appreciate it. Alex, where can

1:02:23

they find you on the internet? Well, don't forget about the

1:02:25

Meetup coming up in Chicago as well. Potential

1:02:27

Meetup, I will say, around DevOps

1:02:30

Day, Chicago, probably the Tuesday or the

1:02:32

Wednesday evening.

1:02:32

Maybe the Thursday evening. Who

1:02:34

knows? Because I fly out on Friday morning.

1:02:37

But you can go to selfhosted.show

1:02:39

slash contact to send in your feedback

1:02:41

directly to the show. And you can find

1:02:43

me over at alex.ktz.me. And

1:02:46

come join us in the matrix, jupiterbroadcasting.com

1:02:49

slash matrix. We've got a big old matrix server

1:02:51

we self-host with lots of rooms in there for

1:02:54

every type of discussion, including self-hosting.

1:02:56

And you can find me in there as well, at Chris LAS.

1:02:59

Thanks for joining us. This is episode 102.

Unlock more with Podchaser Pro

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