Charles Max Wood (00:00.523)
Hey everybody, welcome back to another episode of the Ruby Rogues Podcast. This week on our panel, I guess it's just me, I don't know where the other guys are. We got a special guest though, and that's Bear Kessels. Do you wanna introduce yourself again, let people know who you are and why we keep having you back on?
Bèr Kessels (00:23.298)
So yeah, I'm Bear, I'm freelance software developer, higher, and I, yeah, I'm at the moment a little bit in between some jobs and we discussed the Fedifers and Mastodon last time and I did work a lot, I did do a lot of work on that. So we thought that's a nice and interesting topic to discuss.
Charles Max Wood (00:51.391)
Yeah, absolutely. Valentino also just joined us. Valentino, you want to say hi?
Hey there, how's everybody doing?
Charles Max Wood (00:59.143)
All right, doing great. Now you're in Netherlands, aren't you?
Bèr Kessels (01:05.249)
I am. Yeah.
Charles Max Wood (01:06.071)
there. So are you going to be at Railsworld?
Bèr Kessels (01:11.87)
I don't unfortunately. No, I didn't have a time at this one when it was around. So, yeah.
Charles Max Wood (01:20.383)
Well, if you are around, I'd love to meet you when I come out, so.
Bèr Kessels (01:24.882)
Okay, you are there. Oh, maybe I'll hop on the chair.
Charles Max Wood (01:27.763)
Yeah, I'm going to be there. Ruby Rhodes was selected as one of the podcasts that.
Charles Max Wood (01:36.368)
Buzzsprout paid for our hotel, Railsworld gave us a ticket, and we gave away a ticket on a lottery, and anyway, it's cool stuff. Anyway, yeah, we're going to talk about Mastodon and the Fediverse, and it's kind of interesting because you're talking about the Fediverse like you can use it for more than just Mastodon, because I kind of assumed that...
Mastodon kinda had its own Fetiverse, and then maybe you could create like a distributed something else that also has its own Fetiverse. So is that the way it works? Is it all independent? Or is the Fetiverse something that you can kind of build different kinds of things on the back of?
Bèr Kessels (02:20.93)
So it's actually both. So that's the best non-answer you can always give. But no, Masterron is by far the biggest player in the Fedifers. And there's a lot of other software that are interoperable with Masterron. And then within the Fedifers, there is some software that isn't interoperable. We might remember Diaspora, another Ruby Rails project from a while ago.
Charles Max Wood (02:33.141)
Charles Max Wood (02:48.137)
Bèr Kessels (02:50.946)
That's also part of the Fedifers, but they don't federate, as that's called, with Mastodon. So you can guess your messages from Diaspora onto Mastodon very easily. And recently a new player on this whole thing is BlueSky. They don't have any federation.
Charles Max Wood (03:09.672)
Oh, is Blue Sky Federated?
Bèr Kessels (03:12.374)
They don't have it, they have promised that it's there and their whole protocol is federated, but it's not implemented yet. But the moment that they're going to put it on, they will be in some way part of the fedifers, but they won't be federating directly with Mastodon. So you won't get your messages on that very easily.
Charles Max Wood (03:39.291)
Okay, so what kinds of things can you do and what kinds of things can't you do on the Fetiverse? And Mastodon is probably an example that people understand fairly easily.
Bèr Kessels (03:53.674)
Yeah, so what's currently at this state is that a lot of existing social networks that we know, like Instagram, Twitter, maybe Facebook, what's it called? Reddit. All these kind of things, they are replicated or recreated on the Fedifers. So Mastodon is by far the biggest and the most famous ones, and it kind of resembles Twitter. Short messages.
one or two images, maybe a video. And then there's PixelFed, which is not a quite big project and that's resembling Instagram quite well. So they have stories, they have video uploads. And then there is, what's it called? Lemmy, which is kind of like Reddit.
Charles Max Wood (04:37.173)
Bèr Kessels (04:48.974)
There is something that resembles YouTube so you can share videos. There's a lot of software and the cool thing is that on your Masterdon account you can actually follow someone who is on a PixelFed account. So to take it to the world of the big social media networks on Twitter you could just follow people on Instagram.
Charles Max Wood (05:06.355)
Charles Max Wood (05:11.423)
That makes sense. I mean, you kind of get a bit of a blend with Instagram and Facebook, just because they're both owned by Meta, and so they have some interplay, but it's not perfect, and they don't make things super automatic, but yeah. Okay, so let's say that I wanted to build a...
Bèr Kessels (05:20.812)
Charles Max Wood (05:36.211)
some kind of federated thing, right? Let's say I wanna build a federated podcast, something, right? How do I get started connecting it up to the Fediverse?
Bèr Kessels (05:49.794)
So the first thing is that you should connect with Adam Curry because he is actually working on this. But the second best thing. OK, very good. Yeah, so he's big into this. But the second thing is, below all this is an official W3C protocol. As I said, it's published by W3C.
Charles Max Wood (05:58.97)
I was just listening to him actually.
Charles Max Wood (06:05.3)
Charles Max Wood (06:16.189)
Bèr Kessels (06:18.57)
Yeah, and that's called Activity Pub. So that's a protocol. They have it all described. And the first thing would be to just go and read that protocol. It's kind of dense as W3C stuff tends to be, but it's pretty straightforward to start implementing it in the end. And basically that's doing all the backend stuff. So that says, this is how all the federated
instances as they are called, so the servers on the web, how they can communicate with each other.
Charles Max Wood (06:55.299)
Awesome. Yeah. I just found the Fediverse cat podcast. Things called cast a pod.
Bèr Kessels (07:01.918)
Okay, yeah, I didn't know the name, but yeah, very good.
Charles Max Wood (07:06.903)
So, yeah, so I kind of get the idea, right? So I put my podcast on Castapod, right? And then it federates and somebody on Mastodon can follow my Castapod account, right? So how does that actually work, right? Because if I'm, does it just show up as a post? Is that effectively what you're sharing around?
Bèr Kessels (07:23.531)
Bèr Kessels (07:31.618)
So that also depends a little on the implementation details of this. So Mastodon doesn't have a very good audio player. So it will probably just show up as a link. And if you click that, you'll go to your Castapod server where it starts playing, probably something like that. But if it's just an image, Mastodon can handle images.
Charles Max Wood (07:56.469)
Bèr Kessels (08:01.078)
just well and all the master on clients, your mobile phone apps and so on, they all can handle images very well. So they'll just show up natively.
Charles Max Wood (08:10.365)
Charles Max Wood (08:16.395)
So yeah, so I'm kind of glancing through the spec here, but I kind of want to ask you and let you explain it and then I can just ask deeper questions. So let's say that I post my podcast to Castapod. How does it wind up in Mastodon then? Like, what does that protocol look like? What do I have to put together?
Bèr Kessels (08:40.29)
So first, people have to follow you. When someone follows you, their server announces to your server that I'm following you. So my server announces to your server, hi there, this guy over at that point is following you. And then the moment that you post a new, make new post online, it's basically just pushed.
by post requests onto all the servers that have said, okay, there's people following you here. So my server will then just receive a post from your server and will handle it internally and deliver it to me over push notifications or whatever.
Charles Max Wood (09:28.667)
Okay, so then there's gotta be some kind of protocol or some part of the spec here that says, so if I follow Bear at your federated service, if I follow you, then my server tells your server that I'm following you so that it knows to notify me when you post.
Bèr Kessels (09:40.663)
Bèr Kessels (09:52.43)
Charles Max Wood (09:54.171)
Okay, and then my system is smart enough to know, okay, this is how I handle these kinds of messages, be it text or images or audio or video or something else.
Bèr Kessels (10:07.338)
Yeah. So basically it just, it says, okay, I have something of type or class, whatever type post or type, um, audio, and I'll push it on to the other servers and then let them decide whether they want to handle it or can handle it.
Charles Max Wood (10:27.447)
I've kind of gotten into the nitty gritty of how this works and I think it's fascinating, but I think some people are probably wondering why. Why build federated applications? Why not just go build YouTube 2.0 or podcast host 2.0 or whatever, or Twitter 2.0, Blue Sky? Why go to all the trouble of federating it? I've heard different reasons, but I'm curious what...
Bèr Kessels (10:33.795)
Charles Max Wood (10:59.551)
what you think the reasons are or why this would appeal to people.
Bèr Kessels (11:03.918)
So there's a lot of reasons indeed, and they range from very political to very technical. But in the end, if you look at it very pragmatic, the web was actually built a long time ago, was built to be federated. And I think the only federated part that we have actually left is email, which is pretty popular.
And I won't say that email works very well, but it still works. And it's federated because I can email someone from my Gmail to someone on Hotmail. And someone on Hotmail can send someone to an obscure, self-hosted email server somewhere. And that's fascinating that it works. And we kind of lost that when all the FANG big tech...
Charles Max Wood (11:35.191)
Ha ha ha!
Bèr Kessels (11:59.882)
monopolies came along. And that's the political side of it. A lot of people want to move out from that, want to get away from these big tech companies and just want to do it themselves again. So and everything in between that.
Charles Max Wood (12:14.39)
Yeah, and usually that's what I'm hearing is more along the lines of, hey, we want to get out from under these big tech monopolies. And some of the reasons are I've heard accusations, I think some of them are well-substantiated and some of them are less well-substantiated regarding censorship. So, you know, Twitter and Facebook shadow banning people. Um, I've heard, uh, you know, some people get bothered, you know, so they say something about the COVID vaccine.
Bèr Kessels (12:34.751)
Charles Max Wood (12:45.579)
and they get a warning on their stuff, right? And it's like, hey, look, you know, I just want a neutral player that just lets me post whatever I want. And hopefully people are smart enough to figure out that I'm right. Or if I'm wrong, hopefully they're smart enough to figure out that I'm wrong and come tell me, right? Instead of having Facebook decide what's right and wrong or Twitter or whoever. I've also heard concerns over privacy. So, and that's like...
Bèr Kessels (12:46.957)
Charles Max Wood (13:13.311)
that's down to like Google and Gmail and stuff, right, is if I'm using a third party or a federated system, then only the people who run my server will actually be able to see anything go by. And so if I'm really concerned about it, I set up my own server, and then the only thing anybody else sees is what gets federated out to the rest of the Fediverse. And so there's a certain level of independence and control that people get when they can run their own thing.
Bèr Kessels (13:45.014)
Yeah, no, that's exactly right. And without getting too deep into the politics, a lot of people when they see Mastodon, they accuse it of being very leftish. But Trump with his social network of through social is actually one of the first big people who took Mastodon and joined the Fed-averse. So that's on the Fed-averse. It's, the servers don't communicate that well, but.
Charles Max Wood (14:00.747)
Bèr Kessels (14:14.238)
Yeah, it's interesting there that people who are pushed off other networks, which you just said, they can just say, okay, well, you know what? I'll just run my own and I'll make the rules. So there's something to be said for that.
Charles Max Wood (00:02.688)
So we were talking about kind of the, you know, you said it was kind of a people flag at his left wing and, you know, without getting too deep into the politics. Honestly, the politics are kind of interesting on this because I saw a lot of people moving off to Mastodon because they didn't like Elon Musk's politics. And so that's where it was getting
Charles Max Wood (00:34.069)
But I know a whole bunch of people on the right wing that, at least in the US, that they moved off of Twitter and stuff a long time ago because they felt like they were being censored on Twitter or not being treated fairly on Twitter. And so they created their own little servers and then basically people who wanted to follow them, they could join up other servers. One of the podcasts I listened to is called No Agenda and they have their own Macedon instance. And that's another thing that...
is interesting is they've talked about how some of the other Mastodon instances won't federate with no agenda with theirs. So it looks like that's a thing too, right? If you don't want an association or if you don't want people from one server to have stuff showing up on your server or vice versa, apparently you can block them.
Bèr Kessels (01:14.521)
Bèr Kessels (01:26.727)
Yeah, so you can do that on... Yeah, exactly, you can do that on personal level, just like you can just put on filters and blogs and so on. Maybe you don't wanna see certain words. I try to avoid most politics and news because it's, I mean, especially on social media, it doesn't really add anything to my life. So I just filter it out. So whenever it just...
Charles Max Wood (01:27.004)
So there's all kinds of control here.
Charles Max Wood (01:51.89)
Bèr Kessels (01:53.851)
Whenever there's certain words in there, I'll just, okay, it'll just be blocked, not necessarily blocked, but it just won't shut up. So that's filters, but you can also block accounts. So when someone is bullying you or just being someone you don't like, then just block them and they won't know, but then you don't see them and they don't see your stuff anymore.
But also servers can block other servers. And that's where it gets interesting. So quite some servers, they'll say, OK, we don't want any servers who allow hate speech, whatever they define as hate speech. They say, we don't want to. So we'll just block these servers outright. And then everyone on our server, whether they like it or not, won't, by default, see stuff on the other servers.
I mean, people on that server often can still follow someone if they really want. So they can go look up someone somewhere and follow them. And that content will still reach them. But also not always, because it's also a spam measure. If servers, there's also a lot of servers which is set up to spam, just like with email. They'll just do nothing then send.
Viagra stuff around or whatever currently the spam is. I think it's NFTs now. The thing is they'll block and that stuff just won't reach any servers. But there's a lot of politics in this indeed. So servers will block other servers and then based on politics they will... So and often they'll say, okay, server A for example, maybe they allow a true social. And server B...
Charles Max Wood (03:29.417)
Bèr Kessels (03:44.443)
They have a very strong policy against anything doing with that. So they'll block truth social entirely. But then the question becomes, should they block server A as well? Because server A still allows it. And that's where kind of a rift comes up in this whole Fedifers. Servers will start blocking servers who don't block other servers. And then you get kind of like big camps.
big walls or big gaps, whatever you call them. I don't really like that, but that's the way it is, I think.
Charles Max Wood (04:22.768)
Yeah. Yeah, I'm not a big fan of the, hey, let's cut off this end of the internet. I definitely see the spam measures, but yeah, I think more people talking about what they think or what they believe, you know, in a well reasoned manner, it's like, hey, at least because I talk to people a lot that I just don't agree with politically or whatever.
You know, and some of that's just down to the way that I'm involved. I'm actually running for state legislature right now. Um, but you know, we can have it, we can have a discussion and come to understand each other and not necessarily have to, you know, come at each other with big sticks. So, um, anyway, it's, it's interesting, but I don't know if, if you, if you run the server, I guess you can block people. So, um,
Bèr Kessels (05:16.215)
Yep. And that's the cool thing about it all. Sorry. It's all.
Is all of that stuff published?
Charles Max Wood (05:21.8)
Like the blocking, like is all of the privacy aspects.
Charles Max Wood (05:26.588)
I don't know, were the block lists published?
Bèr Kessels (05:30.495)
Some do. Some of the servers will publish their block servers as a service to their potential new users. So that if you want to join that and you're like, I want to see what they're blocking. For example, if you are part of a minority who is bullied or you've had some bad experiences in the past and you want to save space, then you look up servers that have very tight and very big block lists.
Probably. But if you're more into free speech or don't really mind, you might look to a server that has a very small block list. So that's the reason why some of these servers do publish it. Yeah. But it's all on their own. If they do it, then they put it on some Wiki somewhere or something.
Charles Max Wood (06:23.624)
Makes sense. So if I'm working with apps that are on the Fediverse, I could conceivably have in my feed, like videos. I found a list here somewhere of like the different.
Charles Max Wood (06:45.876)
the different Fediverse apps or servers or whatever. But yes, you could have videos from, there was a video one and you could have Instagram stuff show up from the Instagram one that you mentioned. You can have podcasts show up from Cast a Pod. You can have them from all over the place and have all kinds of different stuff show up. Whereas with most of these others, you get a certain.
Bèr Kessels (06:57.425)
Charles Max Wood (07:14.89)
set of things that they do and that's it.
Bèr Kessels (07:21.371)
Yeah, that's exactly right. So for example, one of the big players currently in on the Fediverse is Nextcloud. It's a bit of an outlier because it's a file sharing system. It's like you host your own Dropbox kind of thing for people who don't know it. And you can run it on your own. But Nextcloud allows you to connect to the Fediverse and then your files, the ones that you share,
publicly will be shared with anyone who follows you. And I don't really see how useful that would be to have my MasterDOM app show me a file, just like maybe a PDF that I could download, but it doesn't have a PDF viewer or something like that. So it's useful, but not very useful to have that federated across types of networks.
Within Nextcloud, it's probably very useful. Yeah. And then there is Beartube, which is the big video service hosting thing. And because their videos are really big, they also don't push the videos over the whole network. Because sometimes it's gigabytes of video and then all the servers will receive the videos and start saving them locally, that won't work. So there too, there is some, the content isn't distributed.
entirely but mostly it is.
Charles Max Wood (08:53.192)
Yeah, but I could see like PeerTube, like they don't have to send the whole video, but they could send like an embed or, you know, something like that so that you can play it, right, or a URL for the video.
Bèr Kessels (09:04.975)
Yep. Yeah. Exactly. Yeah. That's exactly what they do currently. Yeah. And then you stream it from their own server.
Charles Max Wood (09:19.996)
Yep, makes sense.
Charles Max Wood (09:25.78)
So what have you done with the Fetiverse? Like what have you worked on? You said you worked on Macedon. What kinds of things did you build into that?
Bèr Kessels (09:34.259)
I'm currently working on a pull request in Mastodon to have the search system. So it has a search feature. When you host it yourself. So Mastodon is a Rails project. And it uses Elasticsearch if you want search, or it falls back to Postgres internal search, like just basically like queries and stuff like that. That just doesn't perform.
And the other side, Elasticsearch, I mean, that performs very well, but it's really hard to set up. If you're just hosting it for you and two friends, then setting up an entire Elasticsearch cluster is probably not something you want to do. So I'm building an adapter system in there that people can just plug in other search adapters. And for me myself, I want MileySearch to be in there, but there might be other small...
easy to host search services, indexing services that people want to use for that. So that's what I'm working on in my spare time in Mastodon currently. Yeah, and beside that I worked a long time on what was called Flockenberg. Flockenberg aimed to be kind of a LinkedIn, so professional social networking on the Fedverse.
Charles Max Wood (11:05.056)
Bèr Kessels (11:06.972)
Charles Max Wood (11:08.98)
So I've heard a lot of people talk about how terribly difficult it is to prop up an instance or a server for Mastizan specifically. Have you experienced the same pain kind of like plugging into the Vetaverse?
Bèr Kessels (11:28.235)
I have, certainly. So, so, Masterlon is Rails and Rails is, well, most of us are probably experienced Rails developers and I've hosted a lot of Rails apps, so it's not that hard. But compared to other software, it's really hard. And if you're not familiar with Rails or Ruby at all, which many of the server admins will be, they just don't have any experience with Ruby or Rails, then it's really hard to get...
to get it running and to keep it running. So there are quite some alternatives and the one that I'm really happy with and I'm running myself, it's called GoToSocial and it's written in Go and it's just like a small binary that you plop on a server and boot up and it deals all with its SSL certificates and everything itself. So it's really neat small project aimed at people want to self-host this thing but don't want to deal with scaling up a big...
Rails system. Yeah, it's hard. And I've helped... And how did it go?
Charles Max Wood (12:31.324)
Yeah, I set up a Mastodon server as well.
Charles Max Wood (12:40.608)
So I think I started with a pre-built image on my hosting platform. I don't remember whether it was when I was on DigitalOcean or Linode, but it was like figuring out what all the configs were was a nightmare. So like setting up the hosting, like that was done, right? I can't remember if it was Puma or.
Bèr Kessels (13:05.477)
Charles Max Wood (13:06.364)
um, passenger or whatever. I just don't remember, but yeah, it was just this huge, you know, it's like, oh, I can't run and I'm, I don't have good error messages for which con config you don't have yet. And yeah, so that was the problem. Um, I think I finally found like a walkthrough that showed me how to do it. And then I just followed the step by step and yeah, the Ruby app hosting stuff was familiar, but
Yeah, it was like, you have to set up this, and you have to set up this, and you have to set up this. Right, so I had to have email sending and a bunch of other things, and it showed me where to put all that stuff so that it would run. But yeah, you all can go sign up for a topendevs.social Mastodon account if you want.
Bèr Kessels (13:51.235)
Oh, very nice. Yeah. That's really cool. Yeah. And indeed, it drinks very, very familiar that it's hard and that there's a lot of moving parts. Masterone leans very heavily on sidekick, which is quite familiar to most of Ruby devs, but it's another moving part that you have to tune and tweak. It's Postgres database is pretty complicated.
So it's not very straightforward, just some tables and some models. It has quite some materialized views and stuff in there. And so there's a lot of moving parts and that makes it really hard. But also it's fun. I help with mastodon.nl, which is the Dutch mastodon server, by tuning and tweaking their server. Basically just keeping it float. If there's another increase of users, then everything starts creaking and we have to...
crank up some sidekick workers and stuff like that. Yeah, that's fun.
Charles Max Wood (14:53.728)
I wanted to talk about, you have this article on how the Fediverse never forgets. I thought it was pretty interesting. You talk about a lot of the privacy aspects of posting on the Fediverse, right? Because it's distributed, managing the cleanup of deletion requests as an example. On Twitter, you could say, oh, I'm gonna delete my account.
Bèr Kessels (15:10.389)
and Twitter will retroactively go through and clean everything up and kind of, you know, ghost you on their platform, right? But when it's distributed, it's a little harder to do, right? Do you wanna talk a little more about how maybe that works and how people can kind of be mindful of, you know, that aspect of it?
Bèr Kessels (15:57.679)
Yeah. So, so the thing is that Macedon and most of the Fedifers software, they, they market themselves as being very privacy focused and they are in a sense, but there's quite some aspects on this Federation stuff that makes privacy really hard. And if you just look at the Federation of email, if I send an email from my Yahoo account through a Gmail inbox,
And I then delete the email on my site because I put some really awkward photos in there or whatever. I mean, they're still on your server, on your Gmail server. They're there. And there's no way that I, from my Yahoo server, can force that the Gmail server is going to delete that email. And that exactly the same works with Mastodon and all the Fetifers. If you post something there, it's out there. It's published. It's out of your hands. And
A lot of people, they don't really understand that that's the case. And also the UX and UI of Mastodon doesn't really help with that because they have a button which just deletes. I mean, it's a kind of a false advertisement, I'd say, because you can delete something. You can maybe ask to delete something and then a deletion request is federated over the network saying like...
Hi, dear server, if you want, please could you delete this thing? And if the server is online and not down or anything at that time, then they might choose to delete it, but they also might choose to not delete it.
Charles Max Wood (17:40.548)
Interesting. So, I guess that's another thing that I'd be interested in knowing is, yeah, I was just thinking about posts, but yeah. Do deletion requests just look like regular messages or do they come in a different way?
Bèr Kessels (17:59.651)
No, they're just regular messages. So everything is just a message and a message might have something attached to it. So there's a, the activity protocol has quite some messages and basically it's just create, read, update, and delete. And then the thing which is attached to it says, okay, create this or update this or delete this. Um, and those are federated over the network, but the server might not have implemented.
For example, the updates, they might say, okay, that's too difficult for us. We don't want something is in, that's it. And if there's an update request, we just ignore it. Or they might ignore the deletion requests. Yeah.
Yeah, you do mention though that there are like, you do have a little bit of control over the distribution of your messages and how you can limit the reach of the post and choose not to deliver content to certain servers as an example.
Bèr Kessels (19:03.443)
Mm-hmm. Yeah, no.
So yeah, no, that's exactly right. Actually, the server has that. So technically seeing your server or my server, it can decide to what other servers it's going to publish something. And I can just tweak and set the privacy of a message. I can do that even in the UI of my Macedon instance. And then it say, OK, just only distributed this to the people that I mentioned in the post, for example.
then it acts kind of like a private message because it's only delivered at the servers of the people that I mentioned in the posts and not to just any of my old followers.
I see. So this is probably like why a lot of people are starting to create their own servers, right? So they have a little more control over that distribution. That makes a lot of sense.
Bèr Kessels (20:02.671)
Yeah, no, exactly.
Charles Max Wood (20:02.836)
Well, the other thing is that I've seen some folks that they create it and they're trying to create a way for their community to come together. And so then if you can make these kinds of distributions just on your server or out to specific areas, then, right, then you can use it as a communication channel for your group. And then it just has the added benefit since it's federated.
that, hey, I can go follow people in other groups, or I can go participate with people on that server from this other server.
Bèr Kessels (20:40.783)
Yeah, no, that's exactly right. So one of the cool features that Mastodon has that's quite unfamiliar from Twitter is that it has a tab which is called local. So it's a local tab and that's basically just all the messages of all the people on your server. And if you, for example, are grouped around beekeeping and you're a bunch of beekeepers talking about beekeeping stuff, then that's a very interesting
Charles Max Wood (20:52.351)
Bèr Kessels (21:07.679)
a tab to follow because you'll just see all the topics of all the stuff going on your own server popping up there. So that's just vanilla basic mastodon. And then there is a fork of mastodon. I forgot its name, but I can look it up later. But it's a fork and it's focused entirely on this. So they put the local tab for a foremost so that it's your home screen even, I think. And that's so that makes it
a pretty need for local communities or targeted focus communities like for example beekeeping or gardening or whatever hobby is of people that they can gather around.
Charles Max Wood (21:59.988)
That's funny, I did a Google search for mastodon fork and it's showing me, I guess there's a brand of bicycle forks for the front of your bike with suspension on them.
Charles Max Wood (22:18.12)
Hometown, is that the one you're thinking of?
So what's next here?
Bèr Kessels (22:20.923)
Yeah, it's some home something. Yeah, yeah, that's a one.
Charles Max Wood (22:25.268)
Hometown, yeah. Anyway, what was your question again?
Bèr Kessels (22:27.725)
I'm curious, like, yeah, like what's on the horizon? Like, where is this heading?
Right, like it's.
Charles Max Wood (22:37.472)
They're gonna put it on the blockchain. That's where they're going.
I, it's hard to, I'm on Mastodon. I really like it. I like the, you know, the federated aspect of it and how it's like encapsulates the communities, right? Like there's a lot, a lot of great stuff. It almost reminds me of like, you know, Google groups or something, you know, like one of the, one of these ancient, you know, basically forums, that's just more, a little more interactive, but there's a lot of, you know.
Charles Max Wood (22:51.541)
There's Discord, as an example, that to me competes similarly. Not that it's federated as much, but people create their own instances and can plug into the overall Discord network. And then you can join those individual servers in a similar way. I mean, it's not quite the same idea as a
the decentralized system that the Fediverse is. But what's the next value here?
Bèr Kessels (23:47.187)
So yeah, one of the cool things is that a lot of big software and even smaller software of existing projects who don't really have a social network or never had it or don't have it anymore that much, they all announced that they're going to join the Fedover. So for example, Flickr, Tumblr.
All these kinds of things, they say, OK, we'll just go and join it. And that's an interesting prospect, because if you just start off as a new startup and you have to build a social network, you start with zero people. But if you start off with a social network that connects to the Fedifers, you start off with several million of users already right from the start. So that's interesting. And on that topic, there's also a meta.
they have this new app called Threads. I think it's called Threads. They announced that somewhere this winter, but they promised it would be connecting to the Fedifers as well. So there's some big players moving in this space as well. That's interesting, I think. Also the smaller and the newer ones are joining, but also the big giants are looking into federating.
Charles Max Wood (24:43.712)
Yeah, that to me seems like so strange. Right, like if you have a commercial product, where's the value in federating your distribution?
Charles Max Wood (25:20.253)
Bèr Kessels (25:24.951)
Yeah, it's difficult. It's a difficult issue, I think. Business value isn't there, but a lot of people say that Meta does this so that they can, at one side, they can just be more vigilant in their own censorship.
Because if people feel censored, they can just move off and go somewhere else. So if you have to censor, for example, the next president of the United States, that's going to be a tough decision, but it's much less tough decision if that president can just move to their own server and continue there. So that's one thing. And the other thing is that there's a lot of suits.
And especially the European Union is looking very much into antitrust issues with all the social networks. And if they are federated, they can just say, OK, well, no, we're not we're not a monopoly. You see, we federate. You can you can set up your own server.
Charles Max Wood (26:24.128)
Charles Max Wood (26:34.62)
Charles Max Wood (26:38.676)
The other thing that's kind of interesting is that, because I thought about, oh, well, what would it take, right? Because I heard people complaining about the way that the social networks treated them, right? I'm going, okay, well, what would it take to have like a parallel one, right? A parallel Facebook or parallel Twitter? And the problem is, is that getting my mom to switch off of Twitter or off of Facebook, sorry, you know, to interact with her friends and.
see pictures of my nieces and nephews and stuff like that. It's a hard sell, right? It's hard to get people to move that way. But if you federate, then I guess it cuts both ways in that you may have people move off to a federated platform, but you may also attract people in from the federated platform. Or if you're putting up threads and you're not tying deeply into
the network that already exists in Facebook, then by federating you give people more opportunities to connect with people they wanna be connected to. So the flip side is, yeah, it doesn't matter as much than which platform you're on. You'll go wherever they have the features that you want. So I don't know. I think there are some trade-offs. It makes them look good, right? It's like, hey, we wanna be...
part of the community and nice to everybody too.
Bèr Kessels (28:13.007)
Yeah, there is a lot of hype in this as well. I think a lot of people and companies announced this just to jump on the hype train, like back with the blockchain stuff. Everyone suddenly was doing blockchain, even if they never really did anything. And I have a feeling that that's the case here as well. But on the other hand, it's steadily growing and sometimes it's rapidly growing, this whole entire Fedifers. So there's still...
Charles Max Wood (28:24.221)
Bèr Kessels (28:41.631)
there's still growth and there's still life there so it's going strong I think.
So if you're getting started or somebody is getting started and you wanted to like recommend, where do you point people at, right? To either start their own server or learn more about it. Like, do you have a go-to list? Or is it kind of just like, hey, like figure it out.
Bèr Kessels (29:10.063)
So I would really advise against running your own server. Unless you're really into all this and you're already running a lot of servers and stuff, and you really like that, but then that's the hobby. And that's more of the thing is running servers than actually being part of a social network. But if you just want to be part of a social network and want to get started, I'd say just go to joinmasteron.org and there's one server picked out, which is like kind of the main server.
by the developers of Mustadon itself. And that's good enough. You can always move. So that's another thing. You don't really need to think too hard about what server to pick, where to go. You can always move. Unless you really plan on misbehaving, whatever misbehaving might be from the get-go, then it's better to look for a service where you're allowed to misbehave.
otherwise she'll be kicked off immediately like within minutes probably.
Charles Max Wood (30:16.148)
Very cool. Anything else that we should be talking about when we talk about the Fediverse or Mastodon?
I had one more question. When you mention, okay, if you have a network already and you want to bring it to the Fediverse, just high level, what is involved in that process?
Is it really just a matter of like propping up your own server?
Bèr Kessels (30:40.443)
Yeah, so you need to put a server somewhere which talks ActivityPub, the protocol, which is basically just HTTP, but kind of specialized HTTP, as in the payload of the HTTP is specialized, and it's all described, and that's basically it. You just need an endpoint where other servers can post and put and delete requests to, and your server has to post and put and delete requests to all the other servers.
all you have to do. And there's a lot of open source software which just does this. I mean, it's a Fedifers, as in an activity backend, and you can connect your own business logic or types or whatever to it.
So as a organization that has their network already, you would basically be creating users for your server, like proactively. How does that like user aspect of it work?
Bèr Kessels (31:43.815)
So a user is actually not really a thing. They call them actors on the activity pub. But an actor is basically anyone who has what is called an inbox. And an inbox is an endpoint where something can be HTTP-posted to. So they can just deliver messages to your inbox. Anyone with an inbox is a user on the Fedverse. That's basically all you need.
So this is more of like, okay, you know, Facebook creates this app threads that's on the Fediverse. And they're just like, they send an email out to everybody and say, hey, come join the Fediverse. And they have to join their network, basically, their server in order for them to get like registered and post in that aspect of it. Or are they posting on behalf of actors?
Bèr Kessels (32:28.367)
Yeah, no, exactly. Yeah.
Charles Max Wood (32:32.34)
So on Mastodon, for example, you can just go sign up for your own. Well, you have to turn it on, but then you can allow people to just sign up as a user, right? And so then that user is effectively an actor with an inbox on that server. And so a lot of that just gets turned on by default, right? Automatically. And so then when they post, it goes in the outbox and gets sent off to everybody else.
Bèr Kessels (32:33.048)
Charles Max Wood (33:02.396)
when they follow somebody, then that person's stuff just starts dropping into their inbox.
Gotcha. So they create their server and all the inboxes for their users so that they can post.
Bèr Kessels (33:26.215)
Charles Max Wood (33:30.696)
So if you sign up for threads, then they'll create an inbox for you. And then when you follow someone on the Fetaverse, that stuff will show up. Go ahead.
Bèr Kessels (33:35.055)
Yeah, and your handle, yeah. And the handle is, it's a bit of a complicated thing as well because people are used to, for example, on Twitter being at a bear cast that used to be my name there. But here, like on the Fediverse, the server is an important part of your identity because it's not just.
someone on Twitter, it's someone on a certain server. So I'd be at Berkes at, and then the server name or for example, mastodon.nl or one of the other ones where I'm around. But so basically it's just a URL, but they flipped it a bit around to make it recognizable. But in the end, if you look at the Activity Pub protocol, it's just a URL, that's all.
So do you have any recommended servers for people to join? And are there some highly active Twitter-style servers out there that are comparable in content?
Bèr Kessels (34:49.623)
Yeah, so the general one, mastodon.social, which is the biggest one by far, and it's managed by the developers of mastodon itself. That's a really neat one. One that I like, personally really like, is Hucky Derm. Set up by Chris Nova.
sadly passed away recently, but she's big in open source and she set up a server and it's a really friendly, nice, nicely run server as well. Yeah, so basically that. That's one. Then I'd say just go look for, maybe for niches if you're really big into whatever to chew horn, there's probably a master server for that where you're allowed to post about that.
Charles Max Wood (35:43.964)
Yeah, there's actually one for Ruby. It's ruby.social, I think.
Bèr Kessels (35:47.735)
Exactly. Yeah, sorry. I forgot about that. Yeah. I follow a lot of people on ruby.social.
Charles Max Wood (35:56.416)
I've also seen people set it up so they have like a mastodon.social or a hackyderm.io or whatever and then they post all their personal stuff and political stuff and everything else there, and then they have a ruby.social account as well where they post the Ruby stuff, right? Because they're connecting with people on other things in the other spaces.
So what about clients? Do you just use the browser or do you have a particular app used to connect and look at all the posts?
Bèr Kessels (36:40.067)
So yeah, there's a lot of really neat clients. So part of the activity protocol is also client server interaction. So basically what the API of the server should look like for mobile apps and so on. But unfortunately, Mastodon never implemented that. And so everyone currently implements the Mastodon API, which isn't an official standard.
but might become one, I don't know. But so, and that's also a very well described open API. And there's a lot of really cool Android apps, iPhone apps. Ivory is, for the iPhone is really good. And personally, I use Elk.zone, which is a web app.
It runs in the browser, but it connects to all of the servers. Then I have all my accounts grouped into one tab on my browser. It has a little bit nicer interface, I think, than MasterDOM itself.
Charles Max Wood (37:56.564)
That's cool. Yeah, I posted a link. We'll get in the show notes for Mastodon apps. There are a lot of them out there.
Bèr Kessels (38:04.403)
Charles Max Wood (38:08.436)
Alright, good deal. Well, I think I'm going to start pushing us towards wrapping up and picks. Bear, if people want to connect with you or they have questions about this stuff, how do they connect to you?
Bèr Kessels (38:22.831)
think the easiest for now is on Mastodon. So at berges at mastodon.nl is my main account. Just sent me a DM message whatever and I blog about quite some stuff related to Mastodon and the Fedifers as well on my personal website berg.s
So that's where people can find me.
Charles Max Wood (38:55.072)
Awesome. All right, well let's do some picks and then we'll wrap it up. Volantino, do you have some picks for us?
Uh, sure. Uh, I have this, uh...
I know you can't probably see it from the podcast, but it's a literal dumpster. That's graffiti. And every once in a while I'll set a fire in there, you know. I use it to store all my, you know, electronics that I want to work on. And so I'll keep filling it up. And if it gets full, then I have to pull some out and use them. So I have a ton of microcontrollers that.
Bèr Kessels (39:23.997)
Charles Max Wood (39:24.636)
just need to be used and so it was just kind of like a fun little desk toy. It's called the dumps.
Charles Max Wood (39:53.78)
I'm gonna throw out, I have game pick first. I don't remember, cause like last week, I had something come up very last minute, couldn't make it. And it's been a few weeks since I played this, so I'm just gonna put it out there. And if I picked it before, apologize. It's a game called Canvas. And what it is you have cards with sleeves on them, clear sleeves. And so you...
You get to pick other cards that are transparent, and you slide them in front of the sleeves is the way that you build your painting, and you make three paintings. There are rules about how they're judged, right? So you get ribbons, and the ribbons are worth a certain number of points. So yes, you can draw cards out of the supply and put them into your hand. And
Charles Max Wood (40:55.524)
If you don't want the first one, you can use a palette to skip it, but you only have so many palettes. And then if you pick up a card, you get all the palettes that are sitting on it. I mean, that's basically the entire game. Some of the fun elements to it are that you get kind of bizarre combinations, and there's a line there with words on it. So it'll name your painting for you, right? And so part of the game is when you complete a painting.
So once you have five cards, you have to use three of them to complete a painting or you can complete it early if you're ready. But yeah, when you complete a painting, you have to explain to everybody else why it's named what it's named and why you put those elements into it, right? As if you had painted it. And that was always fun. You don't get any points for creativity except for laughs, which is totally worth it. But yeah, it just has a bunch of symbols on the bottom. And so...
however those symbols go together according to the rules. That's what you get your ribbons for. Let me look it up on board game geek real quick.
Charles Max Wood (42:04.692)
I forgot to do that before we got going. But yeah, it came out in 2021. Board Game Geek ranks it at a, or weights at a 1.64. So it's kind of an easy party game. It says 30 minutes. It was the first time for a few of us, it took a little longer. And some people really agonize over picking the cards from the supply. So, you know.
I think our game took a little longer. There were six of us. And so I think somebody teamed up with somebody else because it's a one to five player, but it was fun. It was a lot of fun. So I'm going to pick Canvas.
Charles Max Wood (42:51.256)
And then, yeah, I'm excited to go to Railsworld. And yeah, I've already set up an interview with DHH. We're gonna be talking about Kamal, which was MERSC. I don't know why they called it MERSC, but apparently there was something else called MERSC and they had a copyright collision, so they changed it. So we'll be talking about that and I'll be asking them about it. It just went to 1.0 like two days ago, so.
That should be really good. I am looking at setting up other podcast or other interviews. So if you're there and you have something interesting to talk about, let me know. And then finally, one other thing that I'm offering is I'm offering free one-on-one face to face coaching if you are in or near Amsterdam. So if you want to talk about podcasting and you want help with that, or if you want to talk about your career, those are kind of the things that I've been helping people with the most lately.
No sales pitch. You know, I, I am offering coaching, but I'm, you know, I'll just help you. And then if you, if you ask me about coaching, then I'll, you know, then we'll see what we can line up on a more permanent paid setup, but otherwise I'm not going to push you to sign up. Um, but yeah, there's a, um, I just set up a calendar. You can email me, chuck at top end devs.com and I will send you a link to the calendar. Um,
I only have like nine spots and so I'm a little concerned that they'll fill up if I just put the thing out there. So I want people who are serious enough to email me. One last thing related to Amsterdam. So two things, maybe I should pick them after I go, but no, I'm just going to pick them now. So there are two things that I've been wanting to go see or do on my last trips to Amsterdam. One of them is Anne Frank's house. Last time I was in Amsterdam.
It turned out that they open up the tickets like four weeks or something in advance. When they're gone, they're gone and they were gone. Somebody had already paid for all of them. So I couldn't go, so I made sure to get them this time. So I'm excited for that. And then the other thing is, I'm going to Leiden. Bear, I'm guessing you know where that is. I have no idea.
Bèr Kessels (45:15.841)
Yeah, my sister-in-law lives there actually.
Charles Max Wood (45:17.399)
So, Leiden, what was that?
Bèr Kessels (45:21.592)
My sister-in-law lives there. She has a boat. She lives on the boat.
Charles Max Wood (45:23.898)
Yeah, that was fun doing the canal tours and seeing, yeah, people legit live on the boats on the canals. But anyway, so Leiden is where the American pilgrims lived before they left Europe and came to Plymouth. And I had four or five ancestors that came over on the Mayflower. And so I just...
going to go over there and just wander the town. I think there's a museum there too for the American Pilgrim. So I'm going to go check that out. Just kind of a family history thing for me and a patriotic thing for me. And I'm pretty excited about that. So those are the things that I'm doing and then do a bunch of coaching and hear about awesome stuff with rails. So yeah, those are my picks. Bear, what are your picks?
Bèr Kessels (46:22.107)
One, I recently found out that a book which is written by someone who lives in my village, and it plays in my village. It's originally a Dutch novel. It's called Hex. And it was translated to English. It was actually rewritten for the American market. It was a very big book, as in big as in very popular. And even Spielberg himself was very excited about it. So it's a cool book. And
I found out recently that it had been translated to English for the American market. I started rereading it and it's still as much fun, but it's not as much fun as reading about your own village and about the supermarket in your own village and so on. It's kind of a horror thriller thing. It's a really neat book.
Charles Max Wood (47:15.864)
Awesome. All right, well, I think we've covered it all, so let's go ahead and wrap up. And until next time, max out everybody.