588: PGP Alternatives

588: PGP Alternatives

Released Thursday, 5th December 2024
Good episode? Give it some love!
588: PGP Alternatives

588: PGP Alternatives

588: PGP Alternatives

588: PGP Alternatives

Thursday, 5th December 2024
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:01

This week on BSD Now we

0:03

are depriving deployment of

0:06

PNFS while sharing the

0:08

sharing the free BSD as a to

0:10

use instead of what to

0:12

use instead of PGP this or

0:14

background in this or opinions. The also slow

0:16

of the FOS of the

0:18

foster plus iconic consoles of

0:20

the IBM System of the

0:22

IBM years later 55 week

0:24

on BSD. week on BSD now.

0:43

BSD now, episode 588 PGP alternatives, recorded on the of November

0:45

on the 25th of November now

0:47

is brought to you by episode of BSD

0:49

Now is brought to you

0:51

by slash BSD to tarsnap .com backup for

0:53

find online backup for truly paranoid

0:55

people. support you want to support

0:57

this show in one way

0:59

or the other, out check out

1:01

our Patreon page at patreon .com BSD

1:03

bsd now. And we thank

1:05

you in advance for that. Hi, I'm

1:08

I'm your host, Erik Treuschling.

1:10

And I'm Tom Jones. And

1:12

I'm everyone. Hey We have, well, surprise,

1:14

surprise, surprise, a a new show

1:16

for you today. Where's Benedict? Where's the

1:18

year going? How is it How

1:21

is it Remember what? How is

1:23

it November? November? How is it November?

1:25

Oh, time passes? I passes? I

1:27

think it... No, I thought I thought we got some

1:29

got some control over that. When

1:32

was the last time you recorded? recorded,

1:34

was It might have been September.

1:36

It might have been September. September even, okay. That be

1:38

why time is disappearing, because

1:41

I'm not experiencing it. It's

1:43

just a continuous. flow

1:46

no, not a flow of, a flow flow of,

1:48

just just every day is the same? No,

1:50

that can't be. be. day is differently the

1:52

same. the same. It's unpredictably, unpredictable,

1:54

but that's the same

1:56

but that's the same. Yeah, that's the

1:58

same for me, me, but. least I

2:01

have schedules and stuff planned.

2:03

Why make plans when they

2:06

will change? Failing to plan

2:08

as planning to fail? I

2:10

mean, I was on the

2:13

way to a planned hospital

2:15

appointment on Friday and we

2:18

managed to schedule an unplanned

2:20

hospital appointment from the journey.

2:23

Like, what's the point of planning? It's

2:25

all just going to fall apart. Having

2:27

no schedule is just chaos. But it's

2:29

already chaos with a schedule. Yeah, I

2:31

mean, I'd rather do a schedule that

2:34

deviates rather than having no plan what

2:36

I'm doing this week or the next.

2:38

I'd like to live my life via

2:40

a crontab. I could just like set

2:42

up a crontab on my watch and

2:44

vibrate and be like... So you have

2:46

these at-report entries? Yeah, repeat for everything.

2:48

Or at random, like open BSD has,

2:50

where you can say, ah, whatever. Yeah,

2:53

we don't have that random freebie. We

2:55

should have, this is a nice feature,

2:57

like do a random prototype execution. I

2:59

have a lot of computers, as I

3:01

might have said before. The last two

3:03

computers I set up, one of them

3:05

is a backup mirror, and the other

3:07

one is just a test bench machine,

3:09

like it's plugged into a serial console

3:11

and a J-tag adapter and loads of

3:14

stuff. And for both of those they

3:16

come up via DHCP and I'm not

3:18

sure where they'll be or I'm not

3:20

sure when they will come back up

3:22

or if they will because who knows.

3:24

And the backup machine I need to

3:26

put in disc pass phrases for the

3:28

ZFS volume but at least it will

3:30

boot so I don't have to go

3:33

to the attic. And for both of

3:35

those I put in a reboot directive

3:37

with Nifty so it sends a message

3:39

via pushover. But I was speaking to

3:41

DCH, they've called Huber about this and

3:43

he's like, it didn't work. Like it's

3:45

really inconsistent. Like you might not get

3:47

it if the network's not they were

3:49

after a reboot. And as far as

3:51

I can tell, because obviously I don't

3:54

know when the machines restart, when they

3:56

restart, they tell me. Then maybe you

3:58

put it in ETC, ETC, RC. because

4:00

by that time the network might

4:03

be up. So maybe, I mean,

4:05

one of these is on Wi-Fi

4:07

and it's come up fine. The

4:09

other one is wired into the

4:11

Wi-Fi. But yeah, there must. People

4:15

talk a lot about system D

4:17

and they complain about system D.

4:19

And yeah, it's definitely a big

4:21

model with it. It's got a

4:23

lot of problems. But free BSU

4:25

is definitely lacking a system layer

4:27

where like on MacOS, you can

4:29

have launch D run a job

4:31

once a day or once a

4:33

period and it will deal with

4:35

suspend. So you can suspend overnight

4:37

and it will do something sensible

4:39

or you can spend overnight and

4:41

it will reboot. And I don't

4:43

think we have anything like that.

4:45

Like I want this to run

4:47

once when the machine starts, once

4:49

there's networking, because part of this

4:51

part of the pushover message tells

4:53

me the IP address of the

4:55

machine. And if there's not networking,

4:57

it doesn't matter if it's booted

4:59

or not, because I can't SSH

5:01

into it. And that's the sort

5:03

of stuff we get from a

5:05

system layer, but I think we're

5:07

still lacking it. I have a

5:09

similar thing where I have like

5:11

the raspberry pie with the ZFS

5:13

storage on it and I of

5:15

course do add monthly to a

5:17

ZFS scrub. But the thing is

5:19

not on all the time, so

5:21

it could be that it's missing

5:23

the spot where the month happens.

5:25

So what I did, I installed

5:27

anachron, which is anachronous, anachronous, anachronistic,

5:29

that picks up, oh, a month

5:31

has passed and I should run

5:33

the ZFS scrub, or Zepul scrub.

5:35

But so if you had a

5:37

machine with a bunch of daily

5:39

jobs like that and you turned

5:41

it on, would they all just

5:43

run it once, right? It's

5:46

hard. Like, I don't think it's an

5:48

easy, easy solution. But it's, yeah. Okay,

5:50

we'll let our users decide. Please send

5:52

us emails. Like, I want to know

5:54

how you handle this. How do you

5:56

get machines to tell you they've reboot?

5:58

And if the answer is, um... Monitoring?

6:00

I'm not going to do that. I

6:02

want the machine to tell me. I

6:04

don't want to set up monitoring for

6:06

the stuff in my house. I mean,

6:08

I do want to set up monitoring

6:10

for all the stuff in my house.

6:13

I don't have time to set up

6:15

monitoring for all the stuff in my

6:17

house. I don't have time to set

6:19

up monitoring for all the stuff in

6:21

my house. So I need to stop

6:23

monitoring for all the stuff in my

6:25

house. So I need to set up

6:27

monitoring for them. Okay

6:32

we're all already knee deep into

6:34

our daily daily problems but we

6:36

also have headlines for you this

6:38

week and this one starts off

6:40

with a chloro article about deploying

6:43

PMFS files or file sharing with

6:45

freebie. What is PMFS you ask?

6:47

That's the parallel NFS. So we

6:49

get into this. The article starts

6:52

with the venerable network file system

6:54

NFS, has been expanded with distributed

6:56

capabilities. PNFS version 4.2 allows distributing

6:58

data across multiple servers to increase

7:01

performance and fault tolerance. Learn how

7:03

to deploy high speed resilient storage

7:05

system quickly and easily with 3BST.

7:07

So that's the new part, the

7:09

parallel part. So it's distributed, not

7:12

a single server. It's over multiple

7:14

such NFS servers. Okay, let's start.

7:16

Previously supports a variety of protocols

7:18

for sharing files over a network.

7:21

The most common ones are NFS.

7:23

and SMB, which is a server

7:25

message block, NFS originally came from

7:27

some microsystems and is widely used

7:30

between UNIX systems, comparatively SMB comes

7:32

to us from the Windows world.

7:34

So SMB is a good fit

7:36

when sharing files with end-user systems

7:38

and when relying primarily on user-based

7:41

authentication. NFS is more appropriate in

7:43

the following ways. First, where client

7:45

machines are trusted. Second, tied tightly

7:47

to the local infrastructure. And third,

7:50

We have a one-to-one mapping of

7:52

file ownership and permissions between the

7:54

client and server. Okay, with the

7:56

ability to map identities and the

7:58

optional use of NFS

8:01

version 4, offers more flexibility than

8:03

the earlier versions of NFS did.

8:05

As a non-proprietary protocol, that is

8:07

widely supported by many operating systems,

8:09

NFS remains a popular choice for

8:11

network file sharing. And here, one

8:14

of the newer innovations in NFS

8:16

is P-NFS. The P lowercaseP stands

8:18

for parallel. That is what we'll

8:20

introduce in this article. This article

8:22

is, by the way, written by

8:24

Oliver Kittle on Clara Systems.com, if

8:27

I haven't mentioned that yet. So

8:30

what is the P&FS part? Traditional

8:32

network file systems typically rely on

8:34

a single server to handle all

8:36

data storage requests that causes a

8:39

limit to how far they can

8:41

scale as the volume of data

8:43

and the number of clients increases.

8:45

P&FS enables operations to be distributed.

8:47

across multiple servers in a parallel

8:49

but coordinated manner. This distributed architecture

8:51

allows for increased data throughput. There

8:54

are other solutions that take a

8:56

similar approach, such as the luster

8:58

file systems. However, PMFS can leverage

9:00

existing NFS infrastructure and supporting technologies.

9:02

The fundamental concept behind PMFS involves

9:04

separating the control and data plane,

9:07

so that is in both, so

9:09

separation of control and data plane.

9:11

While the control plane remains responsible

9:13

for managing metadata and coordinating access

9:15

to the distributed file system, the

9:17

data plane handles actual data transfers.

9:19

By decoupling these two functions, PMFS

9:22

can support parallelism with multiple clients

9:24

able to access data simultaneously from

9:26

different back-end storage devices. Clients access

9:28

data directly from the data servers

9:30

by passing the controlling metadata server.

9:32

This allows for a significantly greater

9:34

scale. The metadata server does remain

9:37

as a single point of failure

9:39

and a bottleneck for metadata operations,

9:41

however. That's good to know. The

9:43

NFS protocol standard allows for a

9:45

variety of possible back-end storage layouts

9:47

for the NFS, including block-based storage,

9:49

like disks, fiber channel, or ice-gazi.

9:52

Then there's object-based storage and files

9:54

stored directly onto a traditional. system.

9:56

And PMS exposes aspects of how

9:58

the data is stored and distributed,

10:00

such as mirroring, to the clients

10:02

as layouts. The client gets via

10:04

a request to the metadata server,

10:07

and the metadata server can delegate

10:09

control to an area of storage

10:11

to a client and recall it

10:13

at any point if needed. The

10:15

metadata server can also decide to

10:17

degrade to a normal NFS operation.

10:19

This is either to improve performance

10:22

for a particular request or to

10:24

support an older client. And how

10:26

do I configure this with our

10:28

free BSD in particular? So previously

10:30

12 and later support file-based layouts

10:32

of both the server and clients

10:35

and the metadata server and all

10:37

data servers need to be free

10:39

BSD systems but the clients can

10:41

run any other operating system. What

10:43

to do is you add the

10:45

following lines to your RC.conf, NFS

10:47

server enabled equals yes, NFS4 server

10:50

enabled equals yes, NFS4 underscore server

10:52

only equals yes, and NFS server

10:54

flags is dash T minus dash

10:56

n32. So these are the ones

10:58

you need. The metadata server needs

11:00

to have the dash map route

11:02

equals root option, but this can

11:05

be skipped for other clients. And

11:07

here's an example in your ETC

11:09

exports. So here they have slash

11:11

data with dash map road equals

11:13

root and NFS dash MDS. and

11:15

the rest is a regular NFS

11:17

share as far as I can

11:20

tell. Okay, in the NFS server

11:22

was already running, restart Mount D,

11:24

for the changes to be activated,

11:26

and if it isn't already running,

11:28

start with the service NFSD Start.

11:30

You should then be able to

11:32

see the exported file system listed

11:35

in the output of Show Mount

11:37

minus E. and

11:39

the data directory, so they

11:41

create a couple of data

11:43

directories from zero DS0 to

11:46

DS19, and these directories include

11:48

the top level needed by

11:50

the root owner, the actual

11:53

number of subdirectories can be

11:55

configured on the metadata server

11:57

with VFS.NFS.0 deersize CISCTL. Okay.

12:01

So the criteria for that depends

12:03

on how many files in the

12:05

sub-directory, the underlying file system can

12:07

handle before performance, the grades, and

12:10

this is less problematic on modern

12:12

file systems. It can also be

12:14

increased respectively if you only anticipate

12:16

a moderate number of files, the

12:18

default may be sufficient. So how

12:20

to configure the PMFS metadata server?

12:23

The metadata server needs to mount

12:25

the file systems from each of

12:27

the data service on itself using

12:29

NFS 4.2. Demand page is very

12:31

specific about the amount options and

12:33

what you say there is in

12:36

ETCFS tab, one example NFS 4

12:38

dash data 0. Mount to data

12:40

zero, NFSRW options, NFS version 4,

12:42

minor version equals 2, soft and

12:44

retrans equals 2. So, and they

12:46

have the same entry for data

12:49

1, 2, and 3. So

12:52

they also enable NFS at RC.conf on

12:55

this client as we did on the

12:57

data server. We also add the dash

12:59

P option in FS server flag. So

13:01

all of these examples are provided in

13:04

the article of course and they go

13:06

through configuring the server part as well

13:08

as the clients where they also say

13:11

in the mount option for example providing

13:13

a PNFS option. Otherwise it doesn't recognize

13:15

that it's running on PNFS. So data

13:18

mirroring for storage data, data mirroring can

13:20

be configured so that each data store

13:22

file is on two or more data

13:25

servers, which is important for redundancy. The

13:27

PMFS service as a whole can be

13:29

resilient to failures as a single data

13:32

server in the configuration. However, mirroring may

13:34

defeat some of the benefits of PMFS

13:36

as data rights need to be sent

13:38

to multiple servers. The app so reading

13:41

will be quicker, but writing needs to

13:43

be slower because you need to write

13:45

the copy to all servers involved. So

13:49

when using P&F as mirroring there

13:51

are two utilities to control the

13:53

cluster run from the metadata server

13:56

P&FSDS kill allows a particular data

13:58

server to be brought offline and

14:00

P DS copy MR which is

14:02

used to restore files onto the

14:05

repair data server or onto a

14:07

repair data server. There

14:10

are a little section about local file

14:12

access as well, but the conclusion is,

14:14

with the P&FS functionality, 3BSD gains support

14:16

for a distributed file system in the

14:19

form that builds on the stable and

14:21

familiar base of the existing NFS implementation,

14:23

and while there are some notable limitations

14:25

stemming from the separation of data in

14:27

control planes, P&FS offers improved performance and

14:29

scalability, and provides a useful additional tool

14:31

for organizations wishing to optimize the storage

14:33

infrastructure. That's cool. Have

14:36

you ever used this Benedict? I tried

14:38

to because I was also looking at

14:40

writing an article for the journal, but

14:43

I was lost in the documentation a

14:45

bit so that didn't happen. So I'm

14:47

glad to have this article from Clara

14:50

now to kind of try it out

14:52

on my own. So when you have

14:54

multiple mirrors, you get better read performance

14:57

and worse write performance. So if you

14:59

run PNFS on top of ZFS mirrors,

15:01

Would you just get the worst right

15:04

performance possible? Yeah. That would be fun.

15:06

That would be fun. That would be

15:08

a great article to put together, like,

15:11

how to get the worst right performance?

15:13

So I can definitely see the benefits,

15:15

like I have a couple of read-only

15:18

things that I export via NFS. That

15:20

will be beneficial for reading, but since

15:22

I have these I read only, I

15:25

will probably have no problem there. And

15:27

if one server goes down, then the

15:29

other one can still provide the files.

15:33

But in different scenarios, that needs

15:35

to be considered. I just always

15:37

fascinated the idea of making the

15:40

worst possible things. More layers, more

15:42

layers. Well, you get all the

15:44

important lessons. Like if you set

15:47

out to do something terribly, you

15:49

have a great standard, right? Like.

15:51

Then make it fast again by

15:54

removing stuff or optimizing it. There's

15:56

like a really famous tail scale

15:58

blog post about. and

16:01

the first line is like going

16:03

on social media again right now

16:05

and the first line is like

16:07

oh and I used K8 to

16:09

scale up to 500,000 requests per

16:11

day and they're like but that's

16:14

point two requests per second and

16:16

I saw this yesterday and I

16:18

was like my my 386 free

16:20

BSC mission could do 22 requests

16:22

a second yeah scale without all

16:24

the other difficulties you get by

16:26

using Kubernetes or complexity So,

16:29

talking of complexity that leads us

16:32

into the next article, this comes

16:34

from, oh I don't know how

16:36

to say this name, Sautok, Sautok,

16:39

Sautok, please tell me how to

16:41

pronounce your name, send us an

16:43

email, it'd be great. At Sautok,

16:46

they wrote me how to pronounce

16:48

your name, send us an email,

16:50

it'd be great. At Sautok, they

16:53

wrote this on the 15th of

16:55

November this year, and I refuse.

16:59

They write, he writes, it's been more

17:01

than five years since the PGP problem

17:04

was published and I still hear from

17:06

people who believe that using PGP, whether

17:08

Gannu Piji, or open PGP implementation, is

17:11

a thing we should be doing. It

17:13

isn't. I don't blame individual internet users

17:15

for this confusion, but there is a

17:18

lot of cargo culting around communication tools

17:20

in the software community and the evangelists

17:22

for the various projects muddy the waters

17:25

for the rest of us. in

17:28

between like every I can say

17:30

paragraph but it's not not true

17:32

every paragraph there are Pictures from

17:34

their furry sticker collection which are

17:37

great to see, always wonderful to

17:39

see art. The part of the

17:41

free and open source software community

17:43

that thinks PGP is just dandy

17:46

and therefore evangelize the hell out

17:48

of it to unsuspecting people are

17:50

the same kind of people that

17:53

happily use XMPP and O Memo

17:55

matrix or weird signal forks that

17:57

remove forward secrecy and think it's

17:59

fun. to Mintz words, the same

18:02

people who believe PGP is good

18:04

are also famously not great at

18:06

cryptographic engineering. If you're going to

18:09

outsource your opinions on privacy technology

18:11

to someone else, make sure it's

18:13

someone who's actually found vulnerabilities in

18:15

cryptographic software before, most evangelists have

18:18

not. This is bold. I'm not

18:20

here to litigate the demerits of

18:22

PGP. The latter core article

18:24

I looked above makes the same arguments

18:27

I would make today and is more

18:29

entertaining read. It is of my opinion

18:31

that a security engineer who specializes in

18:34

applied cryptography that nobody should use PTP

18:36

and there's virtually always a better tool

18:38

for the job you want to use

18:40

PTP for. And for the uncommon use

18:43

cases offering a secure purpose but replacement

18:45

is a work in progress. Note, I'm

18:47

deliberately being born in this post because

18:50

literally more than a decade of soft-spokenness

18:52

from cryptography experts has done nothing to

18:54

talk with users off the PGP cliff.

18:56

Being direct seems more effective than being

18:59

tactful. If you want a gentler touch,

19:01

ask your cryptographer. If you don't have

19:03

a cryptographer, hire one. Did it? Okay,

19:06

yeah, cool. I don't have one. If

19:08

you can accept that every billionaire is

19:10

the result of a failed system, that's

19:12

how cryptographers feel about people using PGP.

19:15

Instead, let's examine the use cases of

19:17

PTP and what you should be using

19:19

instead. Some of this is redundant with

19:22

the latter core article, but I'm also

19:24

writing it five years later, so some

19:26

things have changed. I'm focusing on the

19:28

what in this blog post, not the

19:31

why. If you want to know the

19:33

why, read the Latin or a blog

19:35

or the Matthew Green blog, both linked.

19:38

If you're curious about the credibility of

19:40

my recommendations, read my other blog posts

19:42

or ask your cartographer or hire one.

19:44

Instead of PDP, use this. This selection

19:47

contains specific tools to solve the same

19:49

problems that PDP has tried to solve

19:51

but better. What makes these recommendations better

19:54

than PDP, simply they don't make cartographers.

19:56

people are forced to use PGP because

19:58

they work for a government that legally

20:00

requires them to use PGP. In that

20:03

quarter case, your hands are tied by

20:05

the lawyers, so you don't need to

20:07

bother with what cryptographic cryptographic... with what

20:10

cryptographers recommend. On that note, the hackerspace

20:12

of which I started, and I'm still

20:14

a director of Dunno why, I can't

20:16

escape, until last year in our articles

20:19

of association, so the laws of the

20:21

company, we were required to PGP sign

20:23

things to ask for money. Which is

20:26

really funny because basically nobody knows how

20:28

to use PGP, including several directors who

20:30

have gone through, never figured it out.

20:33

One time, just to see if anyone

20:35

was paying any attention, I just reused

20:37

someone else's signature on a message to

20:39

acknowledge it. I just copied and pasted

20:42

the plain text blob around it. So

20:44

it just, it did the ex-KCD check

20:46

of like, is this signed? Well, it

20:49

starts with PGP, it must be, it

20:51

must be, it must be correct, this

20:53

idea. Someone checked, they totally called me

20:55

out, I was like, I was like,

20:58

it, I was like, it, it, it,

21:00

it, it, it, it, it, it, it,

21:02

it, it, it, it, it, it, it,

21:05

it, it, it, it, it, it, it,

21:07

it, it, it, it, it, it, it,

21:09

it, it, it, it, it, it, it,

21:11

it, it, it, it, it, it, it,

21:14

it This is your article then. I

21:16

didn't write this, but like... Yeah, you

21:18

will see yourself in there many times.

21:21

And there's also solutions in there, not

21:23

just... So it's 2024. So I'm going

21:25

to 38C3. This is also 10 years

21:27

since the first CCCC2, C3, because of

21:30

a global event. And

21:32

things were very different in 2014.

21:34

There were crypto parties and that

21:36

was not anything to do with

21:38

blockchain. There was a big key

21:40

signing party which I refused to

21:42

go to because it just seemed

21:44

like utter nonsense to me, which

21:46

is very funny because a key

21:48

signing party you signed people's PGP

21:50

keys by looking at their passport,

21:52

which is just insane. But it

21:54

was also before the release of

21:56

Let's Incrypt and Let's Incrypt popped

21:58

up. soon afterwards, but there was

22:00

an organization there who would take

22:02

your legal ID and give you

22:04

a free SSL certificate. Eventually, I

22:06

never got my SSL certificate because

22:08

let's encrypt happened before I could

22:10

do this. But like the world

22:12

has changed a ton. And yet

22:14

we're still here telling about PGP

22:16

and how to get rid of

22:18

it because it's like you go

22:20

to be direct sometimes. It really

22:22

needs to go away. Yeah,

22:24

and have alternatives that are usable

22:27

and secure, of course, and all

22:29

that. For context, right? So Benignon,

22:31

the editorial board of the free

22:34

BST journal, and we were looking

22:36

through the back catalog on Friday

22:38

in our normal call, and one

22:40

of the issues we looked through,

22:43

which was missing on the archive,

22:45

but she'll hopefully be fixed, was

22:47

the arrival of MIPP's in free

22:49

BSD. That was 2015. Mips left

22:52

for BSD last year and yet

22:54

PDP still everywhere and there's been

22:56

no progress. We removed an entire

22:59

processor architecture, added and removed. I've

23:01

also added more since. Anyway, I

23:03

promise I can focus normally. It's

23:05

just time of day. Like

23:11

who is the idea or

23:13

authority on PGP? Like is

23:15

there is a software behind

23:17

it or a company that

23:19

manages it? It's kind of.

23:21

And there's also GPG, like

23:23

it's... Okay, so you... What

23:25

needs changing if we want

23:27

to have something else? Like

23:30

for free BSD, we probably

23:32

just need to pick a

23:34

tool, right? Like open BSD

23:36

uses Signify, which is a

23:38

tool they wrote for signing

23:40

distribution releases. They mentioned in

23:42

the article something like Mini

23:44

Sign. Yeah, so there's other

23:46

stuff available. I'm not the

23:48

person to ask. Someone... I'm

23:52

not the present to ask about cryptographic properties,

23:54

but I use computers a lot and I

23:56

have a lot of opinions. I am very

23:58

annoyed at computers right now. I

24:01

installed iOS 18 and it

24:03

changed stuff and I'm not

24:05

happy about it. That's a

24:07

different podcast. But I know

24:10

what usability is like and

24:12

GPG, the tools are not

24:14

usable at all. They are

24:16

a nightmare. I have a

24:19

friend who does. He

24:21

works in providing software to activists in

24:23

seriously dangerous places, and he could not

24:26

figure out how to get GPG to

24:28

show the dialogue you type your password

24:30

into. Too much for hours, he couldn't

24:32

figure out, like it just wouldn't work.

24:35

And there was no, there's nothing there.

24:37

And the software shouldn't be in this

24:39

complex. It's too much. As we'll see,

24:41

and we'll go serious. always

24:44

write to the show like feedback at

24:46

base you know dot TV because um

24:48

engagement content there's no algorithm we don't

24:51

need to engage we're gonna do a

24:53

show no matter what but it's good

24:55

to hear from people because so much

24:58

to get lost in here so in

25:00

the early 90s the cipher punks mailing

25:02

list which you can acquire was like

25:05

a home for a lot of cryptography

25:07

and strong cryptography was illegal to export

25:09

from the US there's lots of like

25:12

um It was a place

25:14

to build up a strong community and

25:16

people had very strong opinions and a

25:18

lot of software was being invented. And

25:20

GPD was one of these things and

25:23

it escaped the US by being published

25:25

in a book so it became free

25:27

speech so the constitution protected it and

25:29

so it was exported this way. So

25:31

you could sit and you could type

25:33

in all of the source code and

25:36

there was a check on the end

25:38

of it line. And

25:40

this is a wonderful story and it's

25:42

great fiction, but it's 2024. It's not

25:44

90-94 anymore. It's been 30 years. We

25:46

don't need to use this. We can

25:49

use tools which work well. Yeah. And

25:51

all the security things that are happening,

25:53

the every day you hear something, data

25:55

breaches and stuff, is that part of

25:57

the problem? No. doesn't have to be

25:59

attributed, right? Like it doesn't need to

26:01

be a failure with GPG or tools

26:03

like this. The fact that they're difficult

26:05

means they're not used. And so we're

26:07

missing good tooling. Or used wrong, yeah.

26:09

But it's not that they're used wrong.

26:11

It's just they're not used at all

26:14

because people like was too hard. Or

26:16

they just pick another default. Or what

26:18

people really do is they just. Bacon,

26:21

whatever, like they just use what

26:23

someone else recommends them to do.

26:25

And the recommendations being GPG and

26:27

it's really easy to use wrong.

26:30

And these recommendations are things which

26:32

you can use right. And so,

26:34

software, signing, software distributions. Use six-store.

26:36

Note that this is an ecosystem-wide

26:38

consideration, not something that specific individuals

26:40

must manually opt into for their

26:42

hobby projects. The only downside to

26:44

six-store is it what isn't widely

26:46

adopted yet. If you're a Python

26:48

developer, you can just use PEP

26:51

740 to get attestations with trusted

26:53

publishers, which gives you Six Store

26:55

for free. For most developers, this

26:57

is as simple as setting up

26:59

a GitHub action to publish to

27:01

Pi-Fi. This is a developing trend.

27:03

Other programming languages and package management

27:05

ecosystems are following suit. I expect

27:07

to see Six Store attestation attestations,

27:10

baked into NPM before the next

27:12

US presidential election. This is November

27:14

24. With any luck, your favourite

27:16

programming language could be on the

27:18

list list too. Sigstore doesn't just

27:20

give you a signature that you

27:22

check with a long-lived public key,

27:24

nor does it require you to

27:26

do the web of trust rigmarole.

27:29

Rather, Sigstore gives you a lot

27:31

for free. Sigstore was designed around

27:33

ephemeral signing certificates rather than long-lived

27:35

private key. It was purpose built

27:37

for preventing a supply chain attacks

27:39

against open source software. combined with

27:41

reproducible builds, Sigstore involves the triangle

27:43

of secure code delivery. I wonder

27:45

what the third part is. I'm

27:48

not going to read this though,

27:50

I've been very distracted. Alternatively, use

27:52

mini-sign. If your package ecosystem doesn't

27:54

support Sigstore yet, you can get

27:56

it get by with mini-sign, which

27:58

is Signify, compatible to thing on

28:00

BSD uses, until the modern. can

28:02

use SSA signatures, you'd prefer more

28:04

than that below. Signing get tags

28:07

and commits, use SSA signatures with

28:09

ED 25519. Stop using RSA. Signing

28:11

files between computers. Use magic wormhole.

28:13

You can use SSA and RNSH

28:15

and R sink, that's fine too.

28:17

Encrypting backups. Tar SNAP is the

28:19

usual recommendation here. Tar SNAP is

28:21

what we would recommend for BSD

28:23

now because we're paid to. The

28:26

author of this article then says

28:28

there are a lot of other

28:30

encrypted backup tools that work fun.

28:32

If you don't want to give

28:34

Colin Percival your business, I don't

28:36

have a financial stake in any

28:38

of them, nor have I ordered

28:40

them thoroughly. I do want you

28:42

to give Colin your business. You

28:44

should give Colin your business. He's

28:47

great. There are worse situations than

28:49

letting Colin your data. It's, it's

28:51

great. There are worse situations than

28:53

letting Colin your data. It's such

28:55

a funny. There's really good. It's

28:58

been a long time since anyone's time. Our own

29:00

experience and having that good experience, we recommend it

29:02

to other people. Part of the quality of tar

29:04

snap is that the client is open, but the

29:06

server isn't. But there's been a really thorough review

29:08

of the client. I mean, it used to be

29:10

a talking point in the BSD now ads, but

29:12

I think it stopped being interesting, so we still

29:14

talking about it. So being more code review, code

29:17

review, code review is good. Everyone loves code review.

29:20

Or, other than Tarsap at Borg uses

29:23

reasonable cryptography, but I haven't had time

29:25

to review it carefully. Copia looks fine.

29:27

I really hate that they misuse zero

29:29

knowledge to describe an encryption protocol rather

29:32

than a proof system. We should not

29:34

reward this behaviour by marketers. The point

29:36

is you've got options. Too many options

29:38

to sell for PGP. Incrypting

29:41

application data, use Tink or

29:43

Lib sodium, avoid open PGP,

29:45

open SSL and its competitors,

29:47

yeah, encrypting files, use Age.

29:49

Age is what PGP file

29:51

encryption would be if PGP

29:54

didn't suck shit, and it's

29:56

probably going to be be

29:58

beeped. It's in the. yeah.

30:00

Age has two modes, public key encryption

30:03

and password based key derivation. Here's a

30:05

quick comparison table. I'm not going to

30:07

read a table to you. If you

30:09

want, you should go and look at

30:11

it. Some PDP proponents

30:13

will insist that AED is possible now,

30:16

but as long as the install-based PDP

30:18

remains backwards compatible with the lowest common

30:20

denominator, that's what your software uses. Just

30:22

use age or rage if you're a

30:24

rust enthusiast, and if you have concerned

30:26

about which age key should I trust,

30:28

and we're ready planning an age v1

30:31

extension for the public key directory project,

30:33

more in that below. Private

30:35

messaging use signal. Security teams around the world

30:38

insist that they need PDP for bug bounty

30:40

submissions or security operations, but signal does this

30:42

job better than PGP ever did. Once upon

30:44

a time, you needed to give people a

30:47

phone number to use signal. That hasn't been

30:49

the case for a long time. Still many

30:51

people have missed that memo when they think

30:54

it's a requirement. My signal username is so

30:56

talk.45. Go ahead and message me. You won't

30:58

learn my phone number that way. In

31:01

the near future I plan on developing

31:03

end-to-end encryption for direct messages on the

31:05

Fediverse. This is what motivated me to

31:07

work on public key directory to begin

31:09

with. But it's not a signal competitor

31:11

by anyway. It's a bar raising activity,

31:14

nothing more. I understand why some people

31:16

don't like her trust signal for whatever

31:18

reason, but every single alternative that's been

31:20

suggested to signal has offered inferior cryptography

31:22

to signals, so I'll continue to recommend

31:24

signal. Miscellaneous PGP

31:26

alternatives, this section contains things people

31:28

think they need PGP for, identity

31:31

verification. I'm working on something better,

31:33

but it's been worked on. And

31:35

there's this ex-case CD comic of

31:37

P signed message. If you want

31:39

the ability to say If you

31:42

want the ability to vend a

31:44

transparently verifiable public key for a

31:46

given user, that's one of the

31:48

use cases of the public key

31:50

directory I'm designing in order to

31:53

build end-to-end encryption for the Fediverse.

31:55

Although this is purpose built for

31:57

the Fediverse, I've deliberately included support.

31:59

auxiliary data messages whose formats will

32:01

be specified by protocol extensions. Rather

32:03

than trying to grow up the

32:06

web of trust, you can simply

32:08

have your software check that multiple

32:10

independent key directories have verified the

32:12

record, since its inclusion is published

32:14

in an append-only transparency log secured

32:17

by a murkle tree. Some people

32:19

know what that means. I

32:22

know what it means, but some people

32:24

are like shouting at the podcast. My

32:26

design doesn't preclude any manual key verification

32:28

or key signing parties or other PGP

32:30

cultural weirdness you want to do with

32:32

these weird public keys. It just establishes

32:34

a baseline trustworthiness even if you're not

32:36

a paranoid computer nerd. If you want

32:38

to have a key signing party, you

32:40

could just have a normal party where

32:42

you talk about computers. Or we could

32:44

have an assembly party, library, just to

32:46

look at some assembly together. It was

32:48

great fun at BSD. but you don't

32:50

have to have a key signing price.

32:53

It's just nonsense. My project isn't finished

32:55

yet. In the meantime, you can manually

32:57

check public keys when using other recommendations

32:59

on this page. Encripted email. Don't encrypt

33:01

email. No,

33:03

I'll call it, I'll read the

33:05

description. Email is insecure. Even with

33:07

PGP, its default plain text means

33:10

that you can do everything right.

33:12

Some totally reasonable person, you email,

33:14

doing totally reasonable things, will invariably

33:16

see the quoted plain text of

33:18

your encrypted message to someone else.

33:20

We don't know what PGP email

33:23

user who hasn't seen this happen.

33:25

PGP email is forward insecure. Email

33:27

metadata, data, including the subject, which

33:29

is literally message content, or always

33:31

plain text. There

33:33

isn't a recommendation for encrypted email

33:36

because it's not a thing people

33:38

should be doing. There exists a

33:40

minority of extremely technical computer user

33:42

for which signal is a non-starter

33:44

because you need a smartphone and

33:46

valid phone number to roll in

33:48

the first place. Because these people

33:50

are generally not the highest priority

33:52

of cryptographers who are commonly focused

33:54

on the privacy of common folk,

33:56

including people in foreign developing countries

33:58

where smartphones are more common in

34:01

the desktop computers, there presently isn't

34:03

a really good recommendation. private messaging

34:05

that meets their constraints. Not matrix,

34:07

not X-N-P-P-P-P-P-P-E-M-O. Certainly not P-G-P either.

34:09

What P-G-P offers here is security

34:11

theatre, the illusion of safety, and

34:13

a lot of difficulty, but it's

34:15

not actively a robust private communication

34:17

mechanism as latter core argues. I

34:20

insist that I need encrypted email. If

34:22

you find someone insisting what they need

34:24

encrypted email, read up on the X

34:27

by problem, in a lot of cases

34:29

that's what's happening here. Do they ipso

34:31

facto need email, as in specifically the

34:33

email protocols and email software? And do

34:35

they care more about this constraint or

34:37

the privacy of their communications? Because if

34:40

their goal is to communicate privately, look

34:42

above, If the tool they're using being

34:44

email is more important than privacy, they

34:46

should consider sending empty messages with an

34:48

attachment and use age to encrypt the

34:50

actual message before attaching it. That's serviceable.

34:53

Just be aware that everything using, that

34:55

everything lacquera about encrypted email still applies

34:57

to your use case to expect someone

34:59

to CC or forward your message as

35:01

plain text. Unless you're legally required to

35:03

use PBPP. Finally, miss

35:05

me with the, but someone can

35:08

screenshot signal a genre of objection.

35:10

As Latin worded people accidentally fuck

35:12

up PGP all the time. It's

35:14

very easy to do. Conversely, you

35:16

have to deliberately leak something from

35:18

signal. There's no plain text mode.

35:20

And then they have a watch

35:22

of the space. Yeah, this is

35:24

a great article. Thank you for

35:26

writing it. Oh, there was an

35:28

update the next day. And with

35:30

more, someone tried to use their

35:33

fettera for a comment to this

35:35

blog post, so I've added more

35:37

furry art to it. Yeah, there's

35:39

a lot of further on this,

35:41

but it's a great blog post.

35:43

You should go and read it

35:45

and you shouldn't send us really

35:47

negative stuff about this. Check out

35:49

the tools and try them out

35:51

as alternatives. You can send us

35:53

comments on the things I've said.

35:56

I don't mind. I can not

35:58

read email. I'm really good at

36:00

not reading it. encrypted email benefit.

36:02

I think I did once and

36:04

then the key expired and then

36:06

they couldn't do email anymore years

36:08

later and then they were like

36:10

can you still decrypt this or

36:12

forward me that message which is

36:14

exactly what they were talking about

36:16

and yeah I don't even read

36:18

your own messages anymore. Yeah of

36:21

course not. If you didn't see

36:23

it to yourself encrypted with your

36:25

own key then it's not it

36:27

but then Yeah,

36:29

madness. It's a mess. Okay. The

36:31

slow evaporation of the fossil surplus

36:33

is what we also have in

36:36

the headlines. from Baldur,

36:38

Biena son. And that goes free open

36:40

source has been on my mind lately

36:43

more than usual. So far as in

36:45

this case or OSS for short the

36:47

distinction matters a lot but for the

36:50

purpose of this post we are two

36:52

different they are too similar enough to

36:54

lump together. So this was triggered by

36:56

reading a couple of posts the other

36:59

day. The first is is the open

37:01

source bubble about to burst and the

37:03

other one is the post that links

37:06

to it but adds their own thoughts

37:08

okay. So they have been worried about

37:10

the state of open source software in

37:13

general and having read these two posts

37:15

is a good excuse as any of

37:17

them to getting the rudimentary outline for

37:20

the worry out of the page. So,

37:22

short version. Their mental model of FOS

37:24

is that it's a function of industry

37:27

and labour surplus. First, industry. The software

37:29

industry has extremely high margins, products that

37:31

are both non-rivalers and non-excludable will do

37:33

that, and historically easy access to investment

37:36

because of both low interest rates and

37:38

the pervasive belief among the financial class

37:40

that successful tech companies grow exponentially for

37:43

extended periods. And the second is labor,

37:45

even though coders come from varying backgrounds,

37:47

once they have a career, many, if

37:50

not most, become relatively high-income middle class

37:52

with significant spare time. A non-trivial number

37:54

of coders in California also have moderate

37:57

wealth from being secondary or tertiary beneficiaries

37:59

of industry. events which

38:01

let them work on FOSS as

38:03

much as they want. This is

38:05

what keeps a surprising number of

38:07

FOSS projects afloat. So industry surplus

38:09

also leads to a labor surplus

38:12

in that companies let coders work

38:14

on related FOSS projects during work.

38:16

They derive FOSS surplus generates billions.

38:18

There are trillions of dollars of

38:20

value for the economy and most

38:22

of the costs, cost of creation

38:24

and opportunity costs and the FOSS

38:26

competition with your more lucrative proprietary

38:29

products. Where it appeared were the

38:31

surpluses that the false surpluses derived

38:33

from are decreasing. Why? Because first,

38:35

high interest rates decreases available investment.

38:37

Second, less investments in any software

38:39

that isn't AI which itself doesn't

38:41

really do real open source. And

38:43

the third is COVID growth reverting

38:46

to the mean triggering reassessment or

38:48

reassessment of tech industry growth. Fourth

38:50

is industry management pop culture as

38:52

fixated on layoffs as a magic

38:54

cure and increased coder unemployment leads

38:56

to less time for OSS. Fifth

38:58

is OSS burnout. Very few frost

39:01

projects are lucky enough to have

39:03

grown a sustainable and supportive community.

39:05

Most of the time it seems

39:07

to be a never-ending parade of

39:09

angry demands with very little rewards.

39:11

When the software labour market was

39:13

growing steadily, maintainers often got replaced

39:15

by fresh-eyed graduates or coders who

39:18

relieved or relied on the project

39:20

at work. And number six is

39:22

companies and many sectors are cutting

39:24

costs of the years of overspending.

39:26

So as the surplus decreases, the

39:28

costs associated with FOSS participation become

39:30

less tenable to most organizations. Why

39:32

compete with AWS or similar services

39:35

that will offer your own FOSS

39:37

projects at a dramatically lower price?

39:39

Why subsidize projects of little to

39:41

no strategic value that contribute anything

39:43

meaningful to the bottom line? or

39:45

why spend on OSS when other

39:47

work is likely to have higher

39:49

ROI? Or why give your work

39:52

away to an industry that treats

39:54

you as disposable? Anecdotally, Fos also

39:56

seems to be losing users. funding

39:58

for non-A-I software are

40:00

usually very heavy

40:02

OSS users. OSAs users. Some

40:04

reaching for LLM generated code before

40:06

even look for for an OSS project, both disconnecting

40:08

those those projects from opportunities to

40:10

grow a sustainable community and

40:12

nullifying the strategic advantage of having

40:14

made an OSS solution for OSS

40:16

solution for a problem. Note trained on are originally

40:18

trained People OSS. are unemployed or

40:20

jaded by the software industry have

40:23

fewer site projects side let's be

40:25

honest, let's be there are healthier hobbies

40:27

available. available. Best scenario seems to is that

40:29

that open for software and has

40:31

a period of decline. After all,

40:33

that's generally what happens to

40:35

complex systems with less investment. Worst

40:37

case scenario is a vicious cycle

40:39

to a collapse. collapse. First, declining

40:41

surplus and burnout leads to maintainers

40:43

increasingly stepping back from their projects. Second,

40:45

many of these these projects either bitrod, bugs

40:48

or get taken over by malicious actors

40:50

who are highly motivated because they they

40:52

rely on pervasive memory bugs bugs exploits. exploits.

40:54

The third is OSAs increasingly gets a

40:56

reputation to serve deserved or being unsafe

40:58

and unreliable. And the fourth is

41:01

that is in users leads to

41:03

even more leads to stepping back. So

41:05

this is an inevitable correction.

41:07

The The JSPM PM ecosystem, for

41:09

example, is almost certainly unsustainable

41:12

in its current form form and

41:14

has coasted. of years of O

41:16

investment in useless startups and

41:18

Microsoft's to own the entirety

41:20

of software development. But a

41:22

correction is still destructive if you're

41:24

unknowingly relying on an unsustainable system. We

41:27

don't yet know which parts of

41:29

the yet know which parts of the fast system is

41:31

and which is and which is on the

41:33

hot air of startup funding, the

41:35

funding, the past of startup employees of startup

41:37

believe that Microsoft for all of this

41:40

shit helps them. this should make money

41:42

somewhere else. else. And we don't know,

41:44

it's hard not to worry about all

41:46

of it. all of it. Okay, Okay,

41:48

interesting points. I think I

41:50

think the BSD

41:52

ecosystem has demonstrated sustainable.

41:54

Over the years. And I the years.

41:56

And I think been has been

41:58

demonstrated sustainable. and it would

42:01

be great, I don't expect someone

42:03

to listen to our podcast, just

42:05

to have an argument with them,

42:07

maybe I will send you a

42:09

larger and email, but no, like,

42:11

I mean, what criteria would it

42:13

take to understand if an open

42:15

source project is sustainable? And, oh,

42:17

there's an effort working in this,

42:19

because Alice Southerby, Southernby, yeah, the,

42:22

the new project manager, the previous

42:24

issue, she talked about this at

42:26

the, at the, vendor

42:28

summit, EuroBSTCon, EuroBSTCon, like having,

42:30

I mean we can say

42:32

that the JavaScript NPM ecosystem

42:34

is not sustainable and I

42:36

don't think anyone would argue

42:39

because a joint put a

42:41

lot of money into this.

42:44

There isn't a lot of money going into

42:46

free BSD and there's definitely not a lot

42:49

of money going into Debbie, even if they

42:51

can buy a lot of pizza. They buy

42:53

pizza for many debit cups. But what about

42:55

other projects? Because I mean, we have pretty

42:57

good experience with free BSD. We have an

43:00

understanding of the availability of money. There's the

43:02

free BSD foundation. There's definitely a lot more

43:04

work happening than this being paid for. There's

43:06

a lot of volunteer work and a lot

43:08

of shirt burnout. And a lot of bus

43:10

factors were the number of people that need

43:13

to get hit by a bus is several

43:15

and they're already missing. But it's definitely got

43:17

a sustainable model, right? We could reduce scope

43:19

drastically and keep the project going for a

43:21

long time. I still have releases and yeah.

43:24

It'd be good to hear more opinions about

43:26

what's sustainable as well. Hang on. I've read

43:28

a lot of notes on this BSD now

43:30

for things to follow up on, which is

43:32

weird. I never normally do that I never

43:35

normally do that. I think it's the time

43:37

of the recordings to the recordings to the

43:39

recordings to the recordings to the morning. Could

43:44

very well be. Yeah, and this

43:46

is an interesting talking point because

43:48

it kind of affects all these

43:50

open source projects and it comes

43:52

down to a how much money

43:55

and talent can they attract to

43:57

continue and is the one required

43:59

for the other like. you don't

44:01

have money, can you attract talent

44:03

or if you don't have talent

44:06

and money? I think that that

44:08

side, we've a lot of evidence

44:10

for it. So there's a lot

44:12

of open source projects where there's

44:14

definitely no money. There's no money

44:17

in nine front. Like no one

44:19

is leveraging off working on nine

44:21

front and starting a career from

44:23

there. There's not money in most

44:25

open source operating systems at all.

44:28

There might be paths, but in a

44:31

lot of cases, the more need you

44:33

get as soon as you get away

44:35

from a BSD, which is already very

44:37

obscure, but it's a BSD podcast so

44:40

we don't feel like that. Once you

44:42

get away from a BSD, then it

44:44

feels like, what are your steps? I

44:46

spoke to some of the developers of

44:49

artems. It's a real-time operating system. It

44:51

happens to... include

44:53

the whole freebie network stack. It's a real-time

44:56

operating system runs in a flat address space

44:58

and everything without virtual memory. So everything is

45:00

addressable. And one of the people in that

45:02

project, he works for a company that does

45:05

a lot of the funding behind our times.

45:07

So maybe that's not really sustainable because it's

45:09

one company driving it. But he said that

45:11

they try and hire people. And he has

45:14

to argue with the people he interviews that

45:16

they have experience working on real-time systems. Like

45:19

they interview like students coming into the

45:21

industry because they at least in 2018,

45:23

2019, that was like how we was

45:26

trying to hire people and you had

45:28

conversations with them that they have experience.

45:30

Yeah, I mean, real-time operating systems or

45:33

real-time systems in general, that's probably in

45:35

the university that I can oversee. Like,

45:37

you've done some art doing our programming

45:39

and that is enough real-time experience for

45:42

us because you have experience of bare

45:44

metal. Okay, so not a specific course

45:46

they took? Yeah, no, but genuinely genuine,

45:48

like that's the level he was breaking

45:51

it down to. And that is a

45:53

very niche operating system, right? If you

45:55

went and worked on our Thames, it

45:58

wouldn't be obvious how you would... progress

46:01

from that into a job

46:04

somewhere else, else. You would need to cross

46:06

to right? Like if you yourself, knew

46:08

right? times you you went looking for jobs

46:10

you went looking for jobs you

46:12

for be you would always

46:14

be explaining what this is and

46:16

why your experience is relevant. And that

46:18

happens as you go more niche.

46:20

And so, yeah, I yeah, I think without

46:23

money and an obvious path of

46:25

the money, there is a lot of

46:27

continued work on open source. source. There's

46:29

maybe middle grounds where it where it doesn't

46:31

work. It's probably a lot smaller possibility of going

46:33

to work for somewhere where you would

46:35

earn work for from where you live

46:37

is a big draw you live working in

46:39

open source. working course, yeah, because it's

46:41

yeah, because it's people talented people. been involved in

46:43

GSOC for a very long time a

46:45

very from the or watched from the edges, that doesn't

46:47

lead to contributors that hang around. around.

46:51

Yeah, it's a a guarantee at

46:53

least. Okay, yeah, it's a great Yeah, it's

46:55

a great article. gonna email a

46:57

to and we'll see if I

46:59

get any response. I will

47:01

not tell you off I will not

47:03

tell you I'll next recording will

47:05

be like recording will be like January. So yeah,

47:07

who knows? Okay. Well, yeah. Okay,

47:18

next up we have a blog

47:20

post from Cullen Smith Cullen his

47:22

blog blog at Sacred Hearts, heartsc.com or Sacred Heartc.com, or Previously

47:24

14 on the the desktop. We've got a lot

47:27

of got a lot of stuff

47:29

from November. It's very confusing.

47:31

We're normally very far very far behind. After

47:33

Cullen writes, after much after much deliberation,

47:35

I finally decided to migrate my

47:37

entire infrastructure from Rocky to FreeBSD.

47:40

Why FreeBSD? Perhaps

47:42

you yearn for a

47:45

simpler time config configured your

47:47

network interfaces when when ETCMOTD didn't

47:49

download didn't download advertisements. also

47:51

has Yeah, but it

47:53

also has Benedict in

47:56

it. It's very confusing. When

47:58

adults adults their package their

48:00

software of of shipping 400

48:02

megabyte flat packs that make cis

48:05

over debo. eerie, weary netizen while the teenagers

48:07

busy themselves with system-d resolved to the net

48:09

plan and other horrors, you can still find

48:11

peace in the tranquility of ETCRC.com. The enemy

48:13

ensnared by Yamalt Harpet is not yet at

48:16

our gates. Sick, transient, Gloria Monday, etc. Sorry.

48:19

Anyway, let's build a previously desktop

48:21

system with KDE. This guide will

48:23

assume you're using Intel graphics with

48:25

X11. Don't at me. On my

48:27

five-year-old think pad X1 carbon and

48:29

getting six to seven hours battery

48:31

life for Frubiously, not too bad.

48:33

And there's a screenshot. I'm going

48:35

to skip through a lot of

48:37

this because it's like a set

48:39

up blog post and... You

48:41

know, is it tutorial? Yeah, it's a

48:44

tutorial. Just if you want to install

48:46

for a BSA, go read it or

48:48

some other documentation. Grab a free BSA

48:50

image from the download. FreeBSA.org. Oh, no,

48:52

this free BSA.org/wear. And deed it to

48:54

a USG stick. But also don't deed

48:57

it over your hard drive. That's a

48:59

common for me. I have a friend

49:01

who did deed a hard drive three

49:03

times. Like in one year. It was

49:05

very... Funny? Not funny. It

49:07

was like the first time it

49:10

was probably funny. Every time for

49:12

me it was funny. Yeah for

49:14

you. None of the times for

49:16

him it was funny. I think

49:18

the first time he could reforce

49:20

it only got like the first

49:22

sector of the disk and so

49:24

he recovered it. For me it

49:27

was very funny. Follow the installation

49:29

wizard. Devices drivers in tuning. In

49:31

this section we'll configure device drivers

49:33

and make various tweaks to get

49:35

optimum and performance. Anyone following us

49:37

should be very careful about tweaks

49:39

the device drivers and how they

49:42

change over time because you're changing

49:44

defaults and defaults get changed over

49:46

time but your tweaks will still

49:48

be there. You should always right

49:50

next to your tweak what it

49:52

does and why it's there so

49:54

you can stop doing it. Okay,

49:56

all boot delay equals three. I

49:59

prefer one. Do you change the

50:01

all boot delay on things Benedict?

50:03

three? Oh, it's the magic number.

50:05

Yeah, okay. Um, PDF load equals

50:07

yes. Um, CPU control load. I

50:09

don't know what that does. What

50:11

CPU? CTL. Yeah, I wouldn't know

50:13

out of the top of my

50:16

head. Cool. I don't have any

50:18

space on my piece of paper.

50:20

Always something to learn. Doing a

50:22

podcast. I'll

50:27

show Benedict, no one can see this. So

50:29

I take a piece of A4 paper, and

50:31

fold it in half, and then I write

50:33

on one side, and then the next side,

50:36

and then I fold it over, and then

50:38

I write on the one side and the

50:40

next side. They've

50:42

fallen into the burn bag, but there's

50:44

a lot of them. I thought about

50:47

just binding them together. I think you'd

50:49

make a really funny scene, like. Oh

50:51

yeah, to remember or to collect. No,

50:53

like, I take it, like, hear all

50:55

the notes from porting VP or something.

50:57

I mean, the VP wants already burnt.

51:00

Are you reviewing those occasionally or? It's

51:02

right only. Like, it's aid to memory,

51:04

but the actual written words are unimportant.

51:06

I probably never look at them. I

51:08

mean, I come back to my desk

51:11

today and I've come back to my

51:13

desk today and I've got like, and

51:15

I've got like, I've done everything on

51:17

this piece of paper, there's no help

51:19

at all. And I've not forgotten the

51:21

thing I had to do. If I

51:24

need to remember things, I put it

51:26

in the code so it doesn't compile,

51:28

and then I have to deal with

51:30

it when I get there. Like to

51:32

do something? Or fix me's? Yeah, I

51:34

need to write about this, but it's

51:37

very embarrassing. Like, God. Jason, I'm sorry,

51:39

I have no focus. I don't know,

51:41

I don't know where you're going to

51:43

do this show. It's very funny. Yeah,

51:45

I thought about binding them together. I

51:47

thought it would be very funny, like

51:50

BST and our patron benefit will send

51:52

you Tom's gibberish notes about porting VP.

51:54

But it would take a lot and

51:56

you'd have to read my handrai. It

51:58

might be a funny. interrupt

52:01

source in the house. Cortamplode equals

52:03

yes, okay. Allow destructive detrace equals

52:05

zero. I didn't know about the

52:07

saying. Yeah, I wouldn't say this

52:09

because I use detrace, but other

52:11

people should. I guess we don't

52:13

need to go through all of

52:15

these. They're well-downed. But they're interesting,

52:17

right? Because he's changing like shared

52:20

memory sizes for desktop usage and

52:22

Max Prock. And maybe they're useful.

52:26

If your system supports Intel

52:28

speed shift, set this to

52:30

zero, so you might want

52:32

to, I don't know if

52:34

you want to do that,

52:36

that's an interesting piece of

52:38

advice. Things change, right? I

52:40

fixed the driver that was

52:42

crashing to do with power

52:44

management, API, like this, and

52:46

when it gets fixed, if

52:49

you're hack still there, you

52:51

might have worse power management,

52:53

and I-915, you are in

52:55

DS, C-C-C-T-T-C-T-C-C-T-C-C-T-P-C-C-P-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S- If

52:57

you don't know what you're doing,

52:59

don't change the TCP congestion control.

53:02

Expert. Those very small field of

53:04

expertise I have. Yeah, don't just

53:06

change stuff like this if you

53:08

don't know what it is. Be

53:10

very careful with network tuning advice

53:12

if it's like core things like

53:15

this. Especially if this is a

53:17

desktop article, we're not sure how

53:19

the benefit will be for a

53:21

desktop. So I don't know what

53:23

HDCP is. I've seen it. I

53:25

could go and read an RFC,

53:28

like it's, I don't, so that

53:30

I can't learn. I don't know

53:32

off the top of my head

53:34

what it is and what the

53:36

benefits are. It's not been relevant

53:38

in congestion control for the last

53:41

10 years. This module probably isn't

53:43

very well maintained. I, every two

53:45

weeks, I am on the 3BSD

53:47

transport protocol meeting call where we

53:49

talk about improving the transport stack.

53:51

And I'm saying I don't really

53:53

know what the benefits of this

53:56

would be. So that should give

53:58

you enough criteria of what it

54:00

is. I have published two RFCs.

54:02

I sat in the TCPM meetings

54:04

many times. I exposed to this.

54:06

And yeah. have no idea. It

54:09

might help, it might not. We've

54:11

changed, we're changing the default congestion

54:13

control to be, oh, brain at

54:15

rack base, which gives you very

54:17

measurable benefits. And this would stop

54:19

that. This will have, yeah, yeah,

54:22

who knows, like defaults are dangerous.

54:24

You should be really careful. ISR

54:26

limits, not sure. ZFS TXG turnout

54:28

and then more our 9-5 stuff

54:30

and load the think pad ACPI

54:32

buttons. Yeah, you should have that.

54:35

But when you move the system

54:37

to another one, you should maybe

54:39

get rid of it. There's a

54:41

bunch of SIS control tweaks, all

54:43

poking at TCP. It makes, yeah,

54:45

okay, more poking at TCP. Oh,

54:48

hey, cool. They turned on Abe.

54:50

There's like a. Understanding a lot

54:52

of these is a lot of

54:54

work. There's like a PhD worth

54:56

of knowledge in all these CIS

54:58

controls about TCP. Maybe the defaults

55:01

are worth it. VFS user amount

55:03

is great. Suspense which equals zero.

55:05

Wi-Fi. Wi-Fi is not where Freebie

55:07

shines, but people are working on

55:09

it. First, you'll need to figure

55:11

out which driver supports your card.

55:13

For Intel cards, it'll likely be

55:16

IWR, IwL Wi-Fi. Check the M

55:18

pages. I have AC wireless 8265,

55:20

which is supported by I-W-M. Make

55:22

sure it loads. use

55:24

SRC to set stuff, install the

55:27

way it's microcode, install the Intel

55:29

graphics driver which is loaded earlier,

55:31

turn on Linux binary compatibility if

55:33

you're going to use Linux binaries,

55:35

configure webcam D, so you can

55:38

have a webcam if you want

55:40

a webcam, I have the hard

55:42

shutter switch on my laptop to

55:44

not have the webcam there or

55:46

the microphone, configure SND, if you

55:49

want to. default

55:51

device permissions via DevFS, DRM,

55:54

backlight, video and USB. I

55:56

don't know if you need

55:58

to change the backlight. permissions.

56:01

I think they're default

56:03

to operator already. I've

56:05

never done that. Or

56:07

maybe being the video

56:09

group will get you

56:11

there. There's recommends changing

56:13

for USB to be

56:15

060 for group operator,

56:17

which allows anyone of

56:19

the operator group to

56:21

directly access USB devices.

56:23

It might be good.

56:25

It might be bad.

56:31

If you're using a laptop

56:34

you want to power down

56:36

inactive USB devices to save

56:38

battery life, add the following

56:41

to EDRC or C. Local,

56:43

USB config, Grap, Print1, Exorgs,

56:45

USP config power save, I

56:48

don't know what that does.

56:50

Thinkpad backlight controls, PF firewall,

56:57

It's sensible to block unexpected

56:59

incoming connections. Doesn't PF just

57:01

do this by default benedict?

57:03

Do you know? The default

57:05

rule set? Probably. It's like

57:07

the default rule set is

57:09

keep state block all, which

57:11

allows outgoing connections keeping state

57:13

because there's a staple firewall.

57:16

Yeah, that's it. I

57:18

have on all my desktop machines

57:20

internal NAT and a bridge so

57:22

I can have jails and virtual

57:24

machines without ever having to think

57:26

about it. And I create a

57:28

bunch of interfaces for that because

57:31

it is really helpful. There's a

57:33

big list of periodic scripts to

57:35

disable. I'd be careful, but they

57:37

also might just run whenever. Who

57:39

knows? I mean, that's what we

57:41

talked about earlier. Add users, set

57:43

locale, enable NTP. There's also RC.com

57:45

for NTP update at boot, so

57:47

you get a timesink at boot,

57:49

which if your clock drifts a

57:52

lot while your machine is turned

57:54

off, will shut NTP up so

57:56

it's not spamming your console. They

57:58

moved to Open SSH Portable. for

58:01

Business is heavily patched with stuff

58:03

I don't use. I prefer to

58:05

use within open SSH Portable from

58:07

ports. You might want to check

58:09

that assertion. I'm not sure how

58:11

true it is. Root certificates. We

58:13

now ship a root certificate bundle

58:16

in the base system, so you

58:18

shouldn't need to do this. And

58:20

install Desktop Environment, fonts, default, configure

58:22

SDDM, which has never worked for

58:24

me. Finally, known issues.

58:26

What doesn't work on free BSD is

58:28

the potential workarounds. User switching is broken.

58:31

There's a longstanding console kit to bug

58:33

that prevents user switching from working reliably

58:35

in free BSD. There is another bug

58:37

that results in broken graphics acceleration when

58:39

VT switch is performed. Therefore, it's best

58:41

to just disable user switching. Processes aren't

58:43

killed on logout. I think this is

58:46

all a KDE stuff. I didn't know

58:48

that. I've never logged out. Blue creates

58:50

a gazillion. NFS files. Yeah, I turned

58:52

BALU off because it just drowned the

58:54

machine to a halt. Harderoe acceleration has

58:56

broken in chrome and there's screen tearing.

58:58

I use KDE and free BSD as

59:00

my desktop every day. Not for this

59:03

cult, but every day. And I have

59:05

wobbly windows turned on because I think

59:07

it's very funny. I was so much

59:09

screen tearing. Whenever I show anyone my

59:11

Windows wobble, they're like, wow, there's a

59:13

lot of tearing. I'm like, but that's

59:15

not what I'm showing you. The Windows

59:18

wobbled. It's really sad being on a

59:20

Mac and the Windows don't wobble. Thank

59:22

you, Colin, there's a great article. I

59:24

just want anyone that if you're changing

59:26

defaults, you need to review the defaults

59:28

in the future. And if you don't

59:30

know what the change does, maybe you

59:32

don't do it. it's hard. You have

59:35

to learn. Only change them when you

59:37

like use the defaults and only change

59:39

them when there's a need to, like

59:41

slow performance or something, because otherwise you're

59:43

making tweaks and have no idea what

59:45

they do. So like this the scientist

59:47

Emmy says that you should leave defaults

59:49

alone and if you change defaults you

59:52

should measure before and after to some

59:54

level of confidence because yeah. change might

59:56

not actually do the thing you expect.

59:58

It might not help in your use

1:00:00

case. Your hardware might be different. But

1:00:02

this is too much of a bar,

1:00:04

right? Set the defaults you need to

1:00:07

set based on your knowledge and how

1:00:09

much time you have, like work to

1:00:11

your own capacity. And if it doesn't

1:00:13

work, it doesn't work. But yeah, if

1:00:15

you use the computer more and become

1:00:17

more of a computer person, you'll get

1:00:19

more knowledgeable about what the defaults might

1:00:21

do and how to work out what

1:00:24

they should do. But just be careful,

1:00:26

like write down if not what they

1:00:28

do at least where you found them

1:00:30

so you can check again in the

1:00:32

future. And a lot of the articles

1:00:34

about changing defaults, especially on TCP are

1:00:36

more than a decade old now and

1:00:39

not up to date. Okay,

1:00:41

in this last article we have,

1:00:43

we have iconic consoles on the

1:00:45

IBM System 360 mainframes, 55 years

1:00:48

old. And wow, that is a

1:00:50

lot of history in one article.

1:00:52

So I just read the beginning

1:00:54

so that we went to appetite

1:00:57

for the whole article which is

1:00:59

linked from our show notes. And

1:01:01

this goes, the IBM System 360

1:01:03

was a groundbreaking family of mainframe

1:01:06

computers announced on April 7th 1964.

1:01:08

Designing the System 360 was an

1:01:10

extremely risky bet the company project

1:01:12

for IBM costing over $5 billion.

1:01:15

Although the project ran into severe

1:01:17

problems, especially with the software, it

1:01:19

was a huge success, one of

1:01:21

the top three business accomplishments of

1:01:24

all time. System 360 was, or

1:01:26

set the direction of the computer

1:01:28

industry for decades in popularized features

1:01:30

such as the byte, 32-bit words,

1:01:33

microcode, and standardized interfaces. The S360

1:01:35

architecture was so successful that it's

1:01:37

still supported by IBM's latest Z

1:01:40

architecture mainframes, 55 years later. And

1:01:42

prior to System 360, IBM, the

1:01:44

most... Like the most computer manufacturers,

1:01:46

produced multiple computers with entirely incompatible

1:01:49

architectures. System 360, on the other

1:01:51

hand, was a complete line of

1:01:53

computers sharing a single architecture. The

1:01:55

fastest model in the original lineup

1:01:58

was 50 times as powerful as

1:02:00

the slowest, but they could all

1:02:02

run on the same software. The

1:02:04

general purpose system 360 handles business

1:02:07

and scientific applications at its name

1:02:09

symbolize 360 degrees to cover the

1:02:11

entire circle of possible uses. And

1:02:13

the article goes into all kinds

1:02:16

of details about the development, details,

1:02:18

history, with a lot of pictures,

1:02:20

of course, to kind of relive

1:02:23

those memories if you're that old.

1:02:26

and we definitely recommend you the

1:02:28

whole thing. It's too long to

1:02:31

read and it's full of pictures

1:02:33

from good old days. The pictures

1:02:35

are beautiful and they show a

1:02:37

world where the computers had a

1:02:40

room but it wasn't a day

1:02:42

center for themselves. It's just a

1:02:44

nice room. Yeah, that is certainly

1:02:46

classic. Okay, that I think

1:02:48

pretty much covers all we have for

1:02:50

you this week with the time that

1:02:52

we have available. So check back next

1:02:54

week where we have another episode for

1:02:56

you as always. BSD now is sponsored

1:02:58

by Tar Snap. Everyone needs backups and

1:03:00

Tar snap ensures that your backups are

1:03:02

not only safe but also secure. Your

1:03:05

data is encrypted on your device before

1:03:07

being sent to the cloud. You can

1:03:09

be sure that only you have the

1:03:11

ability to read your data. Tar snap

1:03:13

takes your data and works out what

1:03:15

is duplicated. It then assembles the data

1:03:17

into compressed blocks and creates them with

1:03:19

your local private key and this key

1:03:21

never leaves your system. The data is

1:03:23

then uploaded into the cloud. Even if

1:03:25

someone is able to obtain your data

1:03:27

in the cloud, they will not be

1:03:29

able to decrypt it and access your

1:03:31

files. Tar Snap is easy to use.

1:03:33

If you can use Tar, then you

1:03:35

can use Tar Snap. Tar Snap is

1:03:37

prepaid, so you never have to worry

1:03:39

about an unexpected bill. Tarsnap is fully

1:03:41

open source allowing you to inspect the

1:03:43

code and make sure it does what

1:03:45

we say it does. Tarsnap has bug

1:03:47

advantages so that if you find errors

1:03:49

in the code you can get paid

1:03:51

for helping make the software better. With

1:03:53

clients and all major platforms there's no

1:03:55

excuse not to have good backups. Go

1:03:57

to tarsnap.com to learn more.

Unlock more with Podchaser Pro

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