LINUX Unplugged - 366: Linux Server Salvage
Episode Date: August 12, 2020We refurbish a special machine from the Jupiter Broadcasting Hardware Archive and try out Matrix, the one chat platform to rule them all. Plus Dan and Cassidy from elementary OS join us to discuss ver...sion 6.0. Chapters: 0:00 Pre-Show 0:45 Intro 2:25 KDE Neon 20.04 4:17 Mozilla Resturcturing 8:21 elementary OS 6 18:29 Housekeeping 20:00 Matrix 22:33 Silver Salvage 29:43 Matrix Server Punishment Test 33:04 Clients Galore 35:06 Secure By Default 43:56 Outro 45:08 Post-Show Special Guests: Alex Kretzschmar, Cassidy James Blaede, Danielle Foré, Drew DeVore, and Neal Gompa.
Transcript
Discussion (0)
You're not going to believe this, but today's Boeing 747-400s still use floppy disks for loading critical navigation databases.
That's current stuff.
Yeah, that eye-catching factoid, well, something like that, came from a DEF CON video where some pen testers finally got a walkthrough of one of these 747s.
As you can imagine, Chris, most of the time, aircraft manufacturers are not so keen on letting you mess up their planes.
Hey, you know what? If it works, Wes, it works. Sometimes a floppy disk,
a sneaker net, it's the way to do the job.
Hello, friends, and welcome to episode 366 of your weekly Linux talk show.
My name is Chris.
My name is Wes.
Wes, I am really excited today.
We are really playing with something pretty fun.
I mean, besides floppy disks.
Right. Yes, that was also fun.
We have a great show I'll tell you about in just a moment. But first, I want to welcome in Cheese, Drew, and Alex.
Hello, guys.
Hello, internet.
Hello.
Hello there.
Hello there.
Nice to have you all in here, socially distanced with your new plexiglass separators.
I hope you like that gerbil-style watering that Wes installed.
He thought of that.
It was really nice.
There's a little additive, but you won't find out about that until later.
And of course, as always, I have to say time-appropriate greetings to our mumble room.
Hello, Virtual Lug.
Hello.
Hello.
Oh, my goodness.
There is 34 people in there because we have a special episode today. We are load testing something we found in the Jupyter Broadcasting archives with Matrix.
We already have it up and running, and we're going to keep it running for a few days after this episode comes out, too, at matrix.linuxunplugged.com.
And as we were getting ready to go on the air, everybody was getting it loaded up and set up.
And we're going to do some performance testing.
And we'll tell you why this hardware is special in a little bit.
But before we get there, there is some community news I thought we should probably dig into.
Dan and Cassidy are here from the Elementary Project to help us get to some of that.
So hello, gentlemen.
Hello.
Hello.
Hello.
Good to have you here. Before we get to the big elementary OS news, let's round off a couple of quick stories, including the new KDE Neon that has been rebased on Ubuntu 2004.
Ooh, a long time coming. out the fact that the underneath stuff is getting a little old, but it was here and it was quite the
upgrade. It took my machine a solid 45 minutes to just chew through everything. It really did.
It was bad. I thought, oh, it's not going to make it before the show because of course I had to
upgrade before the show, but it did it. It made the upgrade. I did it through the graphical upgrade
manager when it prompted me and I rebooted. And other than a new background at the login manager at SDDM,
it pretty much is exactly the same.
My,
my auto start programs all started.
My background stayed the same.
All of the settings stayed the same.
My theme,
everything is the same,
except I think it feels slightly slower.
Wes,
just a little bit slower.
I think they might just be trolling you.
Maybe it's not a bad rig.
You know, it's got a bad rig, you know.
It's got a 12-core i7 in it, and it's got 16 gigs of RAM.
It's an older GTX 960 graphics card.
I don't know.
Maybe it'll speed up over time.
It just doesn't feel quite as smooth.
You know, I think you need to do more updates.
On my Neon systems, I find that there's like ups and downs, you know.
As things change here and there, there'll be a little regression,
and then it's fixed like a week later.
I think I already actually, I think this, this says there's already packages I need to update actually. I mean, if you're rolling, you better roll.
I'm not sure what I'm doing anymore, but I am very impressed with how smooth it went.
Now I just have the freshest plasma on the system.
This is the last box I run Neon, and it's right here in the studio,
and it just has been running for like two years now.
Just solid.
Really kind of a cool project.
So if you're a Neon user, you haven't checked it out in a while,
now's a great time.
Maybe a great time for a fresh install as well.
Not such a great time for Mozilla today.
We have some bad news.
Today they announced a significant restructuring of the Mozilla Corporation.
They write on their blog,
this will strengthen our ability to build and invest in products and services
that will give people alternatives to conventional big tech.
Sadly, the changes also include a significant reduction in our workforce
by approximately 250 people.
Wow.
Which I think works out to be about 25% of the staff gone.
Some of them were early engineers in the early days of the web.
Some of them were also from the security team, it seems, based on the developers that have been tweeting.
So if you are hiring right now, you might go check out some of these folks on Twitter because they are well credentialed.
They continue to write, as I shared an internal message sent to our employees today,
and this blog post was written by, is it Mitchell Baker? Is that who it is?
Look at me, Wes, with the almost remembering. So Mitchell wrote this. He says, I shared an
internal message sent to our employees today. Our pre-COVID plan for 2020 included a great deal of change already. Our pre-COVID plan was no longer workable.
So going forward, we will be smaller. We'll also be organizing ourselves very differently, acting more quickly and nimbly. We'll experiment more. We'll adjust more quickly. We'll join with allies outside of our organization more often and more effectively.
That does seem like taking what is a disadvantage and trying to turn it to your advantage.
So kudos to them there.
They have a focus and a new structure.
They're going to roll out a new focus on the product itself.
Mozilla must be a world-class modern multi-product internet organization, a new mindset, a new focus on technology. They say
Mozilla is a technical powerhouse of the internet activist movement and must stay that way. A new
focus on community. Mozilla must continue to be part of something larger than ourselves, part of
the group of people looking for a better internet. And a new focus on economics. I don't know how I respond to this. I'm sad to see this news. It's
really unfortunate to see the position that Mozilla and Firefox are in now.
And it seems like it is just a slide that isn't stopping.
Is there a new steady state that we can hit here because i mean they still do so much good firefox is great they've been a good force independent force for keeping you know keeping up
web standards making this this thing continue to not just be google's world right i don't want that
to end yeah that's just as important if not more important than the web browser itself which i
think is why you're seeing them focus on that in this blog post. But as the company becomes more diminished and the browser becomes more diminished,
their ability to affect that change is also diminished.
And so you can't really have one without the other.
Oof. Oof. I don't know.
I'd like to hear what other people think. Let me know.
Linuxunplugged.com slash contact.
Maybe there is a positive side to this.
linuxunplugged.com contact. Maybe there is a positive side to this. So it looks like the people that were let go are getting full base pay through December 31st, 2020. There'll be some
variations. There will be individual bonuses for H1 that will be paid out. There's all kinds of
details that are being posted online from the email from the CEO. They'll also offer six months of outplacement services
and a talent directory that people can opt into.
Cobra benefits through the end of the year as well.
So it's not like they're just cut off completely.
It's a, you know, if you're going to lay off a whole group of people,
it's a pretty gentle way to lay them off, but it's still happening.
Yeah, it's a big change for all of these folks.
Yeah.
You know, my thoughts are with everyone who got laid off,
and I hope you do land on your feet.
Send us an email if you're looking for work,
and maybe we can try to pass that along, see what we can do here.
And, boy, best of luck to Mozilla, huh?
Let's talk about something positive.
I've got to shake that off.
Yes, please.
Let's talk about elementary OS 6,
and Cassidy and Dan are here to do just that.
Cassidy has a ginormous post over on blog.elementary.io. And Cassidy, I want to start
with something that caught my attention. And I'm not sure if I just haven't noticed this before,
or if you guys are doubling down on this language, you write, unlike many operating systems, especially in the open source desktop space, Elementary OS gets frequent feature updates between major versions.
This semi-rolling release cycle means Elementary OS users get the latest features, fixes, and updates to their favorite operating system and apps very rapidly without having to wait around for a new major release. Rolling
releases in there. And I kind of feel like this is new positioning for the distribution. It's sort
of like maybe putting a label on something that's always sort of been the case, but not really
called that way before. Or am I just misreading it, Cassidy? No, you're right. We started this
a little bit with the previous release of elementary
OS. Um, but with elementary OS five, we've really doubled down on this sort of rolling
monthly updates. Um, you always get the latest stuff from elementary ourselves, but also from
our third party app developers on app center. Um, so, you know, while we're built on a stable
foundation of an LTS release, you're also always getting updates to all of your core apps and new features and things. We've used this
language a little bit before, but I think we're being a little more vocal about it because we've
heard people misunderstand our release cycle when they say, you know, oh, elementary OS only comes
out every couple of years. It's like, well, we do have really, really frequent
updates. So it's a little bit of both there. Yeah, I like it. I think it's a good way of
making it clear that even though there's a while between major versions, you're still getting stuff.
And that's definitely been true this release. I noticed, though, that the thrust of this post
is really about elementary OS 6. And Dan, that's not out yet. So what's going on here? Is this related to the App Center
for Everyone sprint? Yeah. So remember way back when, before the event, we did that App Center
for Everyone Indiegogo campaign. And one of the rewards we promised to backers was early access
to elementary OS 6. And we're finally at where it's not ready. It's not a beta, but it boots up and we've got a lot of the
things in place that are going to be major changes. So we're kind of opening up for people who've
backed us through Indiegogo and we've added a GitHub sponsors tier so that people can support
the development of Elementor S6 before it's ready for public release and get access to all the cool
stuff that we're working on before anybody else gets to see it. Well, I happen to be one of those
individuals. And so my GitHub account was blessed with access. So I downloaded it this morning.
And if this is what you're calling a beta, I think this is what most distributions would call a
release. It's looking really, really great. I loved the entire experience because I did a fresh,
clean install from beginning to end. I thought it was the smooth experience because I did a fresh, clean install from
beginning to end. I thought it was the smoothest setup I've done on a distribution yet.
Really nice, really sharp. Love the new looks. Love everything you're doing with the screens
that come up when you first log in. So I think right there, $25 or whatever it was,
whatever I contributed, I think money well spent. This is an interesting
way long term to get people perhaps supporting the project. Would you consider doing something
like this again for elementary OS 7? Yeah, I think we're going to keep going with the early
access model. And it seems people are responding positively to it. And we have some more kind of
experimental images that we want to put here, too, to get some community feedback on before they're ready.
One of those things we're working on right now is images for Pinebook Pro.
Oh, so that's another incentive.
You know, if you want early access backer and help us to be able to get the power together to do some of these more experimental things.
That's that's I think where we're going with this.
Oh, elementary OS on the Pinebook Pro sounds really like a nice pairing. Cassidy, when I had
a chance, this is not a review. I'm just, my initial impressions were that a lot of work had
been put into the selecting the right style for the user interface. And when you guys finally went
dark mode, you really seem to have done it right. Can you talk a little bit about that initial
screen that people are going to see?
I think Dan actually designed that screen specifically, but this is part of why it's considered a pre-release build and not even a beta yet.
We haven't fully decided what the scope of features for elementary OS 6 are or what the scope is.
But the plan is to have at least the system components, like the top panel and the dock and the system settings app and system dialogues that come up, like authentication and things, follow a preference for a darker light style, depending on what the user has chosen.
That screen has to kind of communicate that this is for the system, not necessarily for all of the apps, especially third-party apps that aren't necessarily native to elementary OS. They might not be following this setting. So it's been hard to
kind of figure out where that line is and how to explain that to users while also working on the
free desktop side and try to get something that's going to be supported more widely in the ecosystem.
Sure. It is a great first start with not just dark mode,
but some of the other selections that are in that screen.
So Dan, you created that, did you?
It's really, I love it, Dan.
And I tell you what, when I select what I want it to be,
it feels like it's the smoothest transition
to that theme that I've ever seen.
Like the whole thing is really a great operation.
I'm glad you like it,
but it's going to get smoother, actually. We have a branch for the window manager to do a little transition there
so that all the little animations will just line up real nicely. I love it. The extra smooth branch.
Yep. That's great. All right. I don't want to talk too much about features since things aren't
baked in yet, but the blog post is definitely worth checking out. Pinebook Pro images. How serious are you guys
about that, Dan? We put a decent amount of development time into it so far and the experience
is getting better. I think that it's something that we want to be able to provide. But right
now it's not quite ready yet. We should maybe have some experimental images up on builds.elementary.io
pretty soon. We're getting ready for a little bit of a wider on builds.elementary.io pretty soon we're getting
ready for a little bit of a wider testing there that's great and my feeling is it'll probably be
like less official than the main release like i don't think we'll put a download on the main
website and stuff because they've said you know the pine book pro is its market is linux tinkerers
and and whatnot so you know maybe it's something we can provide, but I don't know.
It's interesting running elementary OS on it with the performance right now.
It's it's, it works better than I would have expected.
I'm running it right now. Really? That's awesome.
Yep. I'm calling in from the Pinebook pro elementary OS six.
That's fantastic.
Does everyone on the team have a Pinebook pro or is it just you guys right now? How's that? So far, I think on the team have a Pinebook Pro, or is it just you guys right now?
How's that?
So far, I think three of us have a Pinebook Pro.
That's not bad.
So I guess my last question is, and the chat room noticed it too, so I wanted to get your
take on it.
Are we breaking email again, guys?
Like, what happened?
I thought Gary finally got in a good state, and now it seems that you're throwing all
that out and starting over with the back end
using evolution you clearly have must have gone just crazy this is actually something we've been
working on for a long time and uh corinth on noel um has been working upstream uh with evolution
and camel for like the last couple years like getting the library in a really good state. And the kind of driving factors here are Geary Engine was originally just built for IMAP only.
And there are other kinds of accounts that people keep asking us about,
like Microsoft Exchange accounts.
And Evolution has just had so much more engineering time put into it.
And it is so much more battle tested and widely used by other
projects. So if we can get it in a place where it's a better base for more types of productivity
suite clients to be using the evolution libraries, then I think it's just a better opportunity for us
to all collaborate on like a really good backend together. Yeah, no doubt about it. And I really,
back end together. Yeah, no doubt about it. And I really actually have enjoyed quite a bit using Evolution. Once I got it all set up, the back end does seem to be the key piece, but the front end,
the Evolution client that people are familiar with, I'd say is actually the roughest part of
it. And once you get it all set up, it's fine. But it takes me a solid three days or so of,
oh crap, I got to change that default. Oh crap. Oh yeah, that's how we used to do this. I got to change that. So the idea of pairing what has become a really nice backend
over the years with a lightweight, simple front end of something like Geary could be like,
I mean, I don't want to get too excited, but it could finally get in that sweet spot of
native email client with a competent backend that integrates with the rest of the desktop
environment and can connect with multiple types of email backends without having to be some crazy monster
front end. Like just really excited about the potentials there. I know it's a boring thing to
get excited about, but I got email problems. Yeah, you do. Finally get you off those webmail
clients. I really like the direction elementary OS six is going in and i'm i'm coming up with less and less excuses not to just
throw it on one of my machines as a daily driver maybe as it gets closer i i just might do that
guys thanks for coming on updating is there anything else we need to touch on anything
else we want to let the peeps know about before we uh move on it's always a great time to to get
involved uh especially if you have early access and want to jump in. So elementary.io forward slash get dash involved.
And we'd love to have your help.
I encourage everyone to do so.
It's a project that just keeps seeming to go in the right direction.
It's great to have you guys on and get us up to date on stuff.
Appreciate you taking the time and you are welcome to hang out as we begin to punish a box we have here in the studio.
But before we get to that, we do have ourselves
a touch of housekeeping, just a piece here. We have a lot going on that will be on the live
calendar in the future. So if you haven't grabbed it yet, now would be a good time
to go over to jupiterbroadcasting.com slash calendar. And you can actually just grab it.
One of my Cal feeds, I don't know how it works. You integrate it into your calendar and boom.
If things start showing up on that calendar
in the future, they just
automatically show up on your calendar and you'd know about it.
I'm just saying it's something worth checking out. JupiterBroadcasting.com
slash calendar. That's a Chris Pro
tip, Wes. Gotta love those Chris Pro tips.
Also, I'd love to have you join us
in the Mumble room. We've made it easier now.
If you go to LinuxUnplugged.com slash
Mumble, we have the quick info there. The full guide's still available if you need it If you go to linuxunplugged.com slash mumble, we have the quick info there.
The full guide's still available
if you need it,
but it's just
linuxunplugged.com
slash mumble,
and you're good.
You got it.
You're good to go.
You can join us on Sunday
for the Luplug
at noon Pacific
and just hang out,
chat with everybody in there.
We've been getting
into some great topics.
There's some really cool stuff
people are working on
project-wise.
No kidding.
And then you're all set for Tuesday if you happen to have a Tuesday where you can join us one day.
You know?
It's really easy.
Once you get mobile set up, you know, just hop on in any time.
IRC is still the official chat of the show, even though we will be talking about Matrix today.
It's IRC is still the official chat.
And you can jump in at bit.ly slash Jupyter chat.
That's our IRC room.
For now.
I don't know.
No, no, no.
What are you suggesting?
Nothing.
It's all good.
It's all good.
And that's basically the housekeeping.
Been keeping it short for the last couple of weeks.
So that way, when we have a nice long one, I don't feel guilty.
They will never suspect it.
So we have a really fun project and we're hoping our live audience will help us production test it a little bit today.
They're already doing so as we talk.
I'm looking down at their channel here on the mix and I can see they're just chatting away over there.
Wes, the little scoundrel, the rogue that he is, has set up a test matrix server that we're going to leave up for a little bit after this show at matrix.linuxunplugged.com.
And we just put out the URL on the pre-show today.
And it is, if you're not familiar, a decentralized chat system.
So on their website, they have many definitions, but the one that I thought might work the best,
if you're not familiar, it's matrix is really a decentralized conversation store
rather than a messaging protocol.
When you send a message in matrix,
it is replicated all over those servers
who users are participating
in a given conversation.
Similarly to how commits
are replicated between Git repositories.
There's no single point of control over or failure
in matrix conversations, which span multiple servers. The act of communication with someone
else in matrix shares ownership of the conversation equally with them. Even if your server goes
offline, the conversation can continue uninterrupted elsewhere until it returns.
That's what's so fascinating about it, I think, because on one hand, right, you've just sort of
specified that you get an experience more like something like Slack, where you have this built
in message history. It's not like IRC where you have to set up a separate bouncer or other system
to keep track of all those messages because, well, it has that history. But it's built with this
much different foundations. That's with an aim to federation, extensibility, and privacy and encryption. And it's also pretty famous for having this bridge capability where it
can connect with other services. There is an unofficial matrix server that already is in
existence for Jupyter Broadcasting, which is not related to what we're doing at all,
but it exists. And for a while, we had a bridge to our Telegram channel. And you can have a bridge to the IRC with varying degrees of success.
It depends on a few factors.
But that is an interesting aspect of it.
I know an individual who bridges every Telegram chat, every IRC room, every SMS message, everything
into Matrix.
They bring all of their communications from every single chat platform out there into
Matrix that they use.
And that's an interesting, compelling way to bring it all together. But what
we were looking at using it is a way to test a kind of special machine that Wes and I found
in the JB archives, completely forgotten machine. This is how I, I know that I've been doing this
for a really long time.
Really long.
Is I have a machine from 11 years ago that we used to use in production that we took out of production a few years ago, put out in the quote unquote studio garage server room.
You know, put out to pasture.
Kind of forgot about it until just recently.
Oh, it's hot in the server garage, Wes.
Like a jungle.
It's time to do our arch-due diligence,
and that means cook out here in the server garage.
I don't know why you put all these ferns in here.
Hey, look at this.
This.
Look at this monster.
This is a little bit of Jupiter broadcasting history right here.
This is the old streaming Mac Pro that we used to use forever ago.
It's just sitting out here.
The Wirecast machine?
Yeah.
Doing nothing.
What does it have in there?
I think it's got at least a six-core Xeon.
It's got an SSD.
It's got like four or five drives.
It might even have like 32 gigs of ECC RAM.
You know what we ought to do?
Put Linux on it.
Yeah.
I think first we got to clean it up and then we should put Linux on this thing.
See what it can do.
So this thing has kind of a special place in my heart because my history was I started with for live broadcasting.
Granted, this was 2007, 2006 timeframe.
The early days.
I started with a Hackintosh because the software I needed didn't.
Of course.
There was no OBS.
The Hackintosh worked for a while but became pretty unreliable.
So I eventually.
Hackintosh?
Never.
After it became a business with like sponsors and stuff, bought a mac pro i got a low end it was a
single processor xeon six core with 16 gigs of ram it's a 2009 mac pro so it's like 11 year old
machine now and i wasn't sure what the process to put linux on this thing would be like and i also
went on ebay and looked this thing, you can get it for around
somewhere low price, $200, high prices, $500 if you get it pretty loaded up. I knew it would be bad.
But after you left that evening, Wes, I opened it up. I sent you a picture of this. It was...
All right. Well, of course, it it's apple so they do everything differently and
it looks like the panel comes off on the right side of the case where's the latch okay here's
the latch oh boy i'm gonna have to take a picture of this oh this is gonna need to be cleaned up um so it's uh it's got a Radeon graphics card that
was updated at some point in the future uh Sapphire graphics and it has um one two three
looks like three no yeah four four spinning rust 10,000 RPM hard drives in it, a single Xeon 6-core,
and the RAM banks that I can see are filled, but it's only, I think, maybe 16 gigs of RAM.
I mean, that was a lot back in the day.
but what it predominantly is comprised of is dust bunnies like legit gross that's this can't be good i'm going to clean this up before we put this back in production or else just thermally this
thing's not going to be very happy so i know what my job is before i even get ubuntu installed
this thing i just tweeted a picture of it at Chris Lass on Twitter. I just posted it.
It was pretty bad. So it gave me a chance to use my new leaf blower. So that was awesome.
And I sat down and I thought, all right, well, this is going to be a pain in the ass to get
Linux on this thing. Let's see what hoops I have to jump through. So I go to get the Ubuntu ISO.
I just go to Canonical's website.
I get the latest version, flash it to a thumb drive.
I put it in the USB port and a hold down option when I power on the Mac Pro.
Didn't even bother going into Mac OS because it's ancient and it would just be complaining.
Oh, come on.
It'd be kind of entertaining.
Go spelunking around the old system.
I didn't delete all the data drives.
So some of the data is still there, so I might.
But the OS, screw it.
So I hold down option, choose the Ubuntu 2004 EFI, whatever it labeled it as, miscorrectly,
and booted it up.
And I forgot how pleasant the Ubuntu server install process is, the non-GUI.
It's nice and simple.
Immediately was just installing it like it was just any other
pc it's all the discs it repartitioned it just fine it's it's fine like it there was zero
difference between installing on it was a mac at all it was like it's not a mac
and uh i mean you were talking about how you could open it up and look inside yeah that's true it is
it's an it's a mac of a different era but for'm like, geez, this isn't actually all of a sudden,
this is kind of becoming sort of a compelling home server.
And now the one I'd probably get would be closer to like $400.
Or maybe I'd buy a base one if I didn't have one,
and I'd consider throwing some disks and RAM in it.
Because this thing is close to silent.
It's not silent, but it's close to silent.
It's got four disk bays in it. It can
take a ton of RAM. You can get used processors off eBay and upgrade them to dual proc machines,
some of them with Xeon CPUs, ECC RAM. It actually makes for a decent server platform.
Right. I mean, it was designed as a serious, you know, serious machine back in the day.
It's kind of silly. Am I silly, Alex? What do you think?
What's the power draw i actually haven't tested it i'm not sure i'm sure it's i'm sure it's probably somewhere close to my super micro but probably not as much um and that is absolutely a factor
i would not it's really it's really kind of a fun experiment to see what linux is like
on an 11 year old mac that is now running Ubuntu 2004.
Because what's notable about this is Apple no longer releases macOS for this hardware.
You cannot put Campo Catalina on there.
I mean, you can, but not officially.
Right.
Yeah, you got to do a little hacking around.
You got to do a little hacky hack.
But 2004 goes on this thing like it's any old PC, and it will be supported for five years.
And something tells me if this machine's still running, it would probably upgrade to the next release too.
Right.
And I'm kind of impressed with the amount of life that has been breathed back into this.
I mean, you worked on it.
It feels very responsive, right?
Yeah, it totally does.
I wouldn't have known anything at all.
It's impressive.
I don't remember it feeling that fast on their macOS.
No.
It doesn't stand out.
And it is nice to see that you can still get real value out of something that works just fine
because the machine, it's built like a tank with Xeons and ECC
and essentially a server-style motherboard.
So it was nice to be able to breathe that life into it.
Oh, man, does it have, like, optical drives?
Yeah, two of them.
Whoa.
I know.
So right now, it's running
Matrix, and what we have done
is we have
forwarded outside connections to
this machine running here in the studio
locally with Matrix
and MongoDB running on
this box supplying
chat services. And do
we have a rough count of how many people we have connected
right now?
Let me see. We got 42 people.
42 people. Yeah. So everybody try to get on there, matrix.linuxunplugged.com.
And I'm going to switch over from the Mumble chat over to the Matrix chat. So I'll switch back for the post show, but just so you know, Mumble, you'll be muted for a bit and I'll be unmuting
the Matrix chat. We'll see how this does.
Hold on to your ears.
This is an interesting little thing they do in Matrix is they essentially outsource this video chat functionality to Jitsi
and then just embed it right there in the Matrix chat.
All right.
Caller, turn down your radio.
All right.
So we'll bring in the Matrix chat, Wes.
I'm a little nervous.
Are you ready?
There's only one way to find out. All right. Matrix chat, are you there? Hello, Matrix chat, Wes. I'm a little nervous. Are you ready? There's only one way to find out.
All right.
Matrix chat, are you there?
Hello, Matrix chat.
Hello, friends.
Hello, hello.
Good to see you on Matrix.
Whoa.
Hey.
That's better than I expected.
Welcome to the Matrix.
Welcome to the Matrix, everybody.
So let's go see how the old server load's doing here.
Going to go over on the old server load's doing here gonna go over on the old
net data here oh four four ish percent on the cpu it's hardly doing anything it's only using uh 16
percent of its 16 gigs of ram yeah it hops up now and again you know it gets a little busier but
really it's not breaking a sweat no this is great because this gives us an idea of how powerful of a VPS would we need if we wanted to deploy Matrix for our community and we wanted to host it ourselves.
And I was thinking maybe one of the higher-end, more expensive VPSs, but this is kind of showing me we could probably go mid-range to even lower-end.
Yeah, I think so. It's worth a shot anyway.
That's kind of fun. It's a great little chat. So Element Chat is pretty nice. I'd say it's not as feature rich as Slack or Discord,
but it's definitely more capable and feature rich than, say, Telegram. You know, actually,
I'm kind of impressed. And if you listen to some of the people behind the project,
I think that was a key observation that, you know, some of these other protocols, XMPP, SIPP,
there's just not like a premier client that gets the focus and all the attention and, you know, gets the most number of features.
Because there's a ton of other clients that you can use with Matrix, which is awesome.
But there is also a default somewhere you can be, you know, maybe not default, but something like that, that you can be pointed to, that you point new users to.
And it creates, you know, a little more of a network effect just right there.
I see something about widgets.
Does anybody know what they are?
So you have like Jitsi is a widget
that is now embedded in the chat,
which is pretty cool.
And they have all the other stuff
that you would come to expect,
like stickers, voice calls,
file attachments, image embeds.
Syntax highlighting for your little code snippets.
Thank you.
Yeah.
By default, out of the box,
it's sort of just like a decent Slack competitor.
But it seems to be that these widgets
and these bridges that you can connect
and then something we haven't even touched on,
the federated aspect of Matrix,
which is truly unique.
And I'm kind of getting excited about it.
The more I talk about it.
There's a twinkle in your eye.
It's pretty neat. So what I see on my screen, for those of you listening at home, is a IRC style
chat room. But at the top of the chat room is an embedded video chat with all the controls that
you'd come to expect. And it's kind of nice because you get both the text chat and you get
the video chat. You could pop the video chat out with some finagling. Basically zero setup.
I mean, I just basically, I said like add this to the chat room and started a video
call and away it went.
And I'm not even part of it anymore.
This is pretty compelling.
If I were starting today and had no chat platforms, you know, we didn't have nearly 2,000 people
in Telegram and IRC and all the other places, this would be my go-to by default.
IRC and all the other places, this would be my go-to by default. I'm trying to reconnoiter what I'm going to do about our overall communications platforms around the end of summer
and fall is kind of what I've been planning to do. And I've wanted to kind of see how Noah's
Adventures and Matrix have gone. I wanted to see how other projects are trying out Matrix. You'll
be hearing more about soon too and see how they kind of go and see what happens with telegram you know just sort of been taking it all in but this is the first go
here to run this on this old box this old mac running linux which feels like a brand new machine
and it immediately with free software and not immediately took some work but with very
like reasonable amount of effort we have a really powerful, encrypted, decentralized chat system now.
Right? No kidding.
You don't have to go pay for a Slack plan or worry about all that.
And, yeah, it is.
It has encryption built in, and it's really easy to control.
There's all kinds of notification settings.
I found the, you know, they have native clients as well as a bunch of other, you know, Flutter and React Native.
But their iOS client is, you know, just in Swift and Objective-C.
And it's in Kotlin for Android.
So there's been a lot of work put into this.
And the web client, also very impressive.
It is.
And you could see how, because it's all open source, it is getting integrated into everything.
You know, you could use Pigeon if you'd like now, which is still around.
It's still kicking, by the way.
Pigeon's still rocking.
The old chat program is still keeping it fresh.
There's one other aspect.
You touched on notifications,
which does seem to be pretty granular in its controls,
even to like what types of thing notify you and all of that.
But something that really impressed me
is when somebody sends you a DM for the first time,
it comes up with a prompt and says,
would you like to accept and start this
conversation? Would you like to ignore? Would you like to block? And those three options are so
fantastic because I end up getting a lot of PMs on Telegram and IRC and I try to read like most
of them, but then kind of like 20, 30 minutes into like reading PMs, I kind of like, I got to move
on. If I could just say, no, not today, right there, right when somebody sends me something,
because sometimes they're a little weird, it would change my game for how I communicate.
And the idea that I could have the matrix chat client and I could pull in telegram,
I could pull in IRC, and then I could manage the notifications in one place using one app
on all these different platforms, one app to check, assuming the
bridge stuff all works pretty well, it seems pretty possible that this could be done.
And it could create a new communications place for our community that could connect easily
with other communities that already exist in the federation.
Yeah, that part is really neat is it is just so open.
You can bridge it to stuff.
The federation concept that's baked in, I think, says a lot about the, you know, the level of thought and design and skill of the people putting this work in.
The other thing is like the chat that I was having with Drew, our DM that we were having back and forth, that's encrypted, which is really cool.
And when you sign up at another machine, you can either use your key to authorize yourself or you can authorize yourself from another machine.
But then that has a matching process you have to go through to verify that you're accepting the login.
And it's kind of neat.
It's a system that feels fairly robust and fairly modern for security.
Yeah, you know, not everything is encrypted.
You can change some of the defaults of when you're using the end-to-end encryption.
And, of course, there are always some caveats with that, but I've been pretty impressed with
just the system to manage it, to have that built in and available, and to have some of the modern
UI features. Because of course, with security, it's always that trade-off. If it's too hard to
use, people just aren't going to use it. And it's nice to see them striking a smart balance with
some of the same tech that things like Signal use. We could be running this with the load this thing's putting on this old mac here this old mac running linux is not even breaking a sweat i'm looking at it
right now uh it's a little higher because people are trying to put a load on it it's spiking between
8 and 13 cpu the used ram is still hasn't even cracked 17 and we're basically using a megabit
yeah, we're hanging around
a megabit for traffic.
That's awesome. We could have put this on a Pi.
You know? Uh-oh.
I think we might now.
No, I think if we were to deploy this
in production, we'd put it up on a VPS, don't you think?
Yeah, just so it's always available.
Yeah.
12% CPU usage. That's not much. It just so it's always available. Yeah. Oh, 12% CPU usage.
That's not much.
Just so happened to coincide with my discovery of the stickers function.
Ah, yes.
Yes.
I didn't need to blow this thing out.
I didn't need to take the old blower and clean it up.
Would have been fine.
There's no thermal issues here at all.
The neat thing about Matrix,
from my mind,
one of them too,
is that it's this like
modern HTTP-based interface
for pretty much everything,
you know?
So like in the old days,
you had like XMPP
or if you are doing things like SIP,
but everything,
you know,
all these webhooks,
all these integrations
with existing services,
everything is just
REST-like APIs and HTTP.
So it seems like
it should be a lot of fun
to start playing with
some of the APIs here too, you know? Like moving a JBot-like thing over HTTP. So it seems like it should be a lot of fun to start playing with some of the APIs here too,
you know, like moving a JBot-like thing over,
probably not that difficult
or all kinds of clever integrations
to send things or receive updates
from wherever you like.
This might seem like an obvious question,
but you can attach files,
presumably that uses local storage
on the matrix instance,
something to watch out for.
Yeah, I believe they have some settings too
to uh you know limit the number of attachments that might be allowed or the size of them
although i set this up last night so i don't know what the defaults are yeah we kind of were like
you know what we really wanted to try this let's just do it let's just do it um there was a question
by noah in the chat room he says the voice chat running on the device or is it cloud-based? It, I believe, is using WebRTC's peer-to-peer solution once the conversation is initiated because earlier today, Wes and I got in a Matrix Jitsi video chat.
restarted the matrix server and our video chat was uninterrupted and then it just reconnected to the chat room just reconnected when the server came back up and we continued chatting while the
server was being rebooted not a blip so it seems to be peer-to-peer based on that which is pretty
nice because if you think about it in a video latency situation why waste the time routing
through a central server when you can go directly to the other participant? It's just the most efficient way to do video chat.
I don't know if there's some Jitsi server on the back end handling signaling.
I believe that signaling is being handled by the Matrix server, but I'm not positive.
That would be something we'd play around with because we could possibly use that.
Jitsi's audio is getting pretty decent, and the latency is pretty good when it's peer-to-peer.
I wonder if we would have the controls we might want.
Something to investigate.
And I know that there's a bunch of work that's coming to, like, the Matrix mobile clients as well.
They're getting better and better.
That's an area I haven't really explored much yet.
But server-side, our setup is pretty basic.
It's an Ubuntu 20.04 system.
And then is MongoDB in a container as well?
Postgres, not Mongo.
Oh, I could have sworn I saw MongoDB on there.
Is that for something else?
MongoDB is installed.
It must just be for something else.
That's late.
It's right there.
I'm pulling metrics on it right now.
Did you install that?
I did install a different chat program for something else.
So it may have pulled that in as a dependency,
and I just didn't realize it.
It was a snap.
So I'm not sure exactly how that works.
So everything's in a container then?
All in one or multiple? We've got one
container for the Postgres database and then
one for Synapse. It's a Python program
so you can just run it if you have Python
dependencies installed. Pip, that sort of
thing, you can do it that way too.
And I believe that Debian has packages. There's probably packages
all over the place at this point. But the container
you used, is that from the project itself?
Yeah, they publish containers.
There you go.
And then they've got an example contributed Docker Compose file available.
They've got some guides for getting things going with Docker.
The first tricky bit is once you've got everything up and running,
it actually won't start until you've configured your home server.yaml
to configure the setup.
But if you follow the docs, which we'll have linked in the show notes,
you just got to go, you know, there's a command to generate your starting file,
then go tweak that to whatever settings you need, restart the containers,
and away you go.
Yeah, the chat room added me.
It was Rocket Chat I was playing with.
I tried out Rocket Chat because it's one of the options when you're installing
2004 at the post-install screen.
Notice that.
Yeah.
They also have SabNZB on there
and a Minecraft server.
They have a couple of things on there.
So I thought, oh, let's try the chat.
And then I never really did much with it.
But I did.
I guess it's still running.
Anyways, if you would like to play on this box,
if you want to jump on this old Mac Pro running Linux
that is matrixed up right now,
the easiest way to join it
would be to grab the Element chat app and change
server to matrix.linuxunplugged.com and just create a burner account because in a week or two,
maybe by the next episode, we're just going to nuke this box. It was just a fun experiment.
I don't know what the hell we're going to do with it now. It's like, I don't need another server.
Well, I guess I could always use another server, gonna we'll use it for something but if we ever get serious about matrix we'll put it up
on a production box somewhere and do a proper install with proper backups and all of that
anyways if you want to play with it it's matrix.linuxunplugged.com and it's element chat
for the chat app yeah let us know we can install stuff maybe we should play with some bridges
just mess with it while it's here then we'll tear it all down yes I would love to do that that's a great unless we mess something up i'd love
to just get an idea of what works and doesn't work with the bridges and stuff it's a good time to
experiment and uh let us know what you think you know i would be curious how that mac would handle
the same torture test that you put the rock pro 64 through with the ASCII Star Wars. Yeah.
We ended up with like
30,000 connections
or something like that
to that Rock Pro.
Think you could do it
before the music's done?
I'll give you a head start
if you want SSH right now.
Then we'll see if it's...
I gotta go find that container again.
Yeah, that's true.
I'll plug this then.
We're not abusing systems every week,
but we're often doing something fun
on the live stream.
And there's a lot more
than just what makes it
in the recording, so if you
can, we'd love to have you join us live over
jblive.tv. We do it
every Tuesday at noon Pacific.
See you next week. Same
bat time, same bat station.
Now, the timer has officially
started, Wes Payne.
Will you get it up and running before the music
ends? Almost certainly not, but
join our temporary Matrix chat to find out what happens.
Nice.
Nice.
You can also get the show on the Twitters.
That's at Linux Unplugged.
The network is at Jupiter Signal.
I'm at Chris Lass.
He's at Wes Payne.
Links to everything we talked about, including that elementary OS news, at LinuxUnplugged.com
slash 366.
Thanks so much for joining us on this week's program, and we'll see you next Tuesday! Uh-oh.
Time's running out, Wes.
I suppose if the music were to keep going, then technically you'd still be...
That is correct, yeah.
One more time, DJ.
All right, Wes Payne.
That's some good thinking.
So what's tricky about this is if it was just getting the container up and going, no big deal.
You know, that's a Docker pull away.
The problem is because we're trying to not expose our public IP address, there is some back-end network plumbing that has to occur to actually make it possible for you to connect.
So there is that additional barrier besides just getting the right container.
How are we doing, Wes?
Progressing.
Progressing.
Uh-oh.
I don't think he's going to make it.
I don't think it's going to happen.
You can do it, Wes.
There's only like 30 seconds left on this loop.
And then you're out.
Anybody want to take odds?
Cheese, you got odds on if Wes is going to pull this off or not?
I'd give him five to one.
Oh, dude, Wes is definitely going to pull this off.
It's like what Wes does.
I don't know.
He doesn't have a confident look.
That's mostly because this laptop is dying.
Oh, no.
It just brought out a battery, too.
Boy, the drama just got amped up even more.
That calls for a different background.
Serious money.
Yeah.
Does not help that the connection to this is going very slowly. Oh, yeah.
It's touch and go here.
I don't think we're going to make it.
Well, the container's running.
What sort of technology are you using to hide your public IP?
Some sort of VPN or
dynamic DNS?
He's behind seven proxies, kiddo.
Yeah, we got early Starlink access.
I look at Matrix
as being like an open source version of
Discord. It does all the things.
Yeah, that's true too.
I think a lot of people will compare it to Discord, but
one of the things
we talked about in the pre-show as well,
that Discord has a huge
advantage of user accessibility
because, well, we were setting
it up before the show, and
It was rocking. Yeah, because
in Discord, you can just click a button, and then you
have a server, right? It's now
set up, and then you can just click a button, and then
you have a link you can send to people.
So if that was a bit easier and a bit more streamlined i think um that that would help the whole thing along a bit but in the in its current state it's it's almost like you you're
basically you know you have to be a sysadmin to know what you're doing basically you have to
mess around with uh domain names and stuff like that. Oh no, Wes!
Here it is. It's the final countdown.
This is for all the money.
Can we get the network connected?
Can we get the container up?
Well, we'll see. DNF is taking its sweet time
right now. Oh no!
There was some Fedora usage.
We did happen to deploy a little Fedora in the mix
here to make all of this work.
That may end up biting Wes as DNF tries to make the right decisions.
Wes Payne runs out of time.
Oh, no.
Ah, sorry, Wes.