Learn Python with Talk Python's 270 hours of courses

#390: Mastodon for Python Devs Transcript

Recorded on Monday, Nov 14, 2022.

00:00 Wondering what Mastodon is all about?

00:02 More importantly, what does it offer Python developers and other open source folks compared to Twitter?

00:07 There's a huge amount of interest in the tech community about what's happening at Twitter

00:12 and about whether people should expand to or even entirely move to a new location.

00:16 So I decided to put together a set of experienced Python developers who have been Mastodon inhabitants for a long time

00:23 to discuss what this unexpected shift means for one of our most important online watering holes.

00:28 On this episode, you'll meet Gina Houska, Simon Willison, Carol Welling, and Juan Luis Cano Rodriguez.

00:34 We're going to have a great time talking about the technology and the culture of Mastodon from this Python perspective.

00:40 This is Talk Python to Me, episode 390, recorded Monday, November 14th, 2022.

00:57 Welcome to Talk Python to Me, a weekly podcast on Python.

01:03 This is your host, Michael Kennedy.

01:05 Follow me on Mastodon, where I'm @mkennedy, and follow the podcast using @talkpython, both on fosstodon.org.

01:13 Be careful with impersonating accounts on other instances.

01:15 There are many.

01:17 Keep up with the show and listen to over seven years of past episodes at talkpython.fm.

01:21 We've started streaming most of our episodes live on YouTube.

01:25 Subscribe to our YouTube channel over at talkpython.fm/youtube to get notified about upcoming shows and be part of that episode.

01:33 This episode is sponsored by the AWS Insiders podcast.

01:37 AWS is changing fast.

01:39 Listen in to keep up over at talkpython.fm/AWS Insiders.

01:43 It's also brought to you by Microsoft for Startups Founders Hub.

01:47 Get early stage support for your startup without the requirement to be VC backed or verified at talkpython.fm/foundershub.

01:56 Transcripts for this episode are sponsored by Assembly AI, the API platform for state-of-the-art AI models that automatically transcribe and understand audio data at a large scale.

02:07 To learn more, visit talkpython.fm/assemblyai.

02:10 Hello, Carol, Gina, Juan, Simon.

02:14 Awesome to have you here.

02:15 Hi there.

02:15 Hello.

02:16 Hi.

02:16 Good to be here.

02:17 Hey, Michael and everyone.

02:19 Good to be here.

02:20 I don't know if you all have heard, but there's a bit of a turmoil over at Twitter.

02:23 And I think you could hardly hide under a rock and see that.

02:29 Even the people who are living under a rock.

02:31 Like, oh, yeah, I heard about the Twitter thing.

02:32 Because every news channel is just like they bring on the expert that talks about interviews and various things that are going on.

02:40 And I want to kind of start this episode just with a comment about Twitter real quick before we talk about maybe the alternative or destination or parallel universe.

02:50 Twitter's been a really important community for me.

02:53 And I don't want to, if I say anything negative about what's happening at Twitter, I don't want people who have been really great members of my community to feel like that's any way directed to them.

03:03 It's been a really positive experience to be with so many people over there.

03:07 And it's only with concern and worry that I would lose that community that maybe something might happen to Twitter.

03:14 Either it gets wrecked and it's a place that people don't like or advertisers flee and it goes out of business or who knows what the future holds.

03:20 But that's sort of what got me interested in alternatives.

03:25 And Mastodon turned out to be a pretty interesting alternative.

03:28 So maybe we could kick this off with just a really brief introduction and your perspective on that.

03:34 Carol, we'll go down the video list here.

03:37 Yeah.

03:38 Hello, everybody.

03:38 I'm Carol Willing.

03:39 I'm a longtime contributor in the Python and Jupyter ecosystems.

03:44 Right now, I'm a deep engineering at Notable, which is a SaaS-based notebook platform.

03:51 Yeah, I've been a longtime user of Twitter and it's been great for community stuff, but I am concerned about the future.

03:59 So I'm interested in hearing what everybody else has to say as well.

04:02 Yeah.

04:02 Well, welcome, Carol.

04:03 Gina?

04:03 Thank you.

04:04 Hi, my name is Gina Häuske.

04:06 I'm a full-time open source maintainer of my own project, Octoprint, now for almost 10 years.

04:11 And I think my Twitter account was created in April 2009 and my Mastodon account was created in January 2020.

04:19 So I've been a longtime Twitter user.

04:23 It was my go-to social network after Google Plus went down.

04:28 And I've met a lot of amazing people on there.

04:31 And I really hate to see this community maybe go down now or something.

04:37 I don't know.

04:38 But in any case, that was also the reason why I jump chip quite early.

04:42 And yeah, not jump chip, but just try to establish a new home, a new ground base,

04:48 and gather my friends around me there again, so to speak.

04:53 Gina, my feeling is sort of my terminology I'm trying to use right now is sort of Mastodon first,

04:57 but not I'm deleting my Twitter account and I'm out of there.

05:00 That's the way I'm thinking of it.

05:01 Exactly.

05:02 I'm absolutely not deleting it, but I'm now...

05:05 I switched the cross-poster direction and also the cross-poster...

05:11 Yeah, I switched it from opt-out to opt-in.

05:15 Juan, hello.

05:16 Hello, everyone.

05:17 My name is Juan Luis.

05:19 I'm from Spain.

05:21 And since the past two years, I've been working as an advocate.

05:24 So the social media aspect has been really important also for my work.

05:29 Even though I've had a long-term love-hate relationship with Twitter in particular, right?

05:35 So I don't remember when I first signed up because I have removed my account and then signed up again at least two or three times.

05:42 But I very vividly remember lots of political things happening and following elections and important stuff happening in not only my country, but everywhere in the world through Twitter and getting the news from there.

05:57 So for me, it's been a very important part of who I am as a member of the society and as a person concerned about the problems of the world, of course.

06:06 And I'm also very sad to see it go that way.

06:09 I have a story of working in the space industry as well.

06:13 So I know how the new boss of Twitter operates, perhaps better than other people.

06:20 At the same time, I'm very hopeful for the future of not only Masterdom, but the whole Fediverse.

06:26 Because in a way, it seems like the very first time that we're trying this idea for a massive audience, not just like seemingly small number of people very concerned with free and libre software and so on.

06:41 But we are experimenting with how this looks like for many more users than we could imagine two weeks ago and probably much larger audiences than what we can moderate as well.

06:55 Yeah.

06:55 And two weeks from now, it's going to be crazy different than now as well.

06:59 There's so much action that people are going to find out, I think.

07:02 Yeah.

07:02 So you're in an interesting situation where as your job as an advocate, dev advocate, you've got to be on social.

07:08 You don't get to choose.

07:09 And so you've got to go where people are and where the action is.

07:12 Yeah.

07:13 It's a whole conversation, like whether advocates should be on social media or if it's a requirement or not.

07:18 But yeah, staying where the community is, is part of the job.

07:23 Yeah.

07:23 And you've also been on Mastodon.

07:25 You're one of the old timers, the old guard, as they say over there.

07:30 So that's excellent.

07:31 Been like a year and a half.

07:33 So I wouldn't consider myself old timer, but I've been concerned for about the Fed.

07:38 Fediverse and alternative social media stuff for a very long time.

07:42 Awesome.

07:43 I can count how long I've been on the Fediverse on my fingers in days.

07:47 So excellent.

07:48 Simon, welcome.

07:50 Sure.

07:50 So hi, I'm Simon.

07:51 I'm a full-time open source developer in Half Moon Bay, California, working on data set tools for data journalists and others to share and publish data.

08:00 But I've been on Twitter for 16 years, it turns out.

08:03 I signed up in November 2006.

08:04 I'm user number 12,497.

08:08 Because back then, Twitter had incremental IDs for their users, so I can tell you exactly where I was.

08:13 And actually, I ran a startup built on top of the Twitter APIs for three years, which was then acquired by Eventbrite and moved us out to California.

08:22 So Twitter is responsible for a major piece of my career at this point.

08:27 And yeah, I had ignored the Fediverse entirely for five years because I understood the usability challenges around being decentralized and so forth.

08:38 I'm like, you know what, Twitter works fine and it's a public company.

08:40 What could go wrong?

08:41 It turns out what can go wrong is the world's richest man can buy the company in a fit of narcissistic whimsy and everything falls apart.

08:50 So right now, I'm trying to find the alternative to Twitter, which cannot be bought by the world's richest man or bought by anyone else.

08:56 And Master's on appears to be in exactly the right state and exactly the right point in its development for this crazy moment in time right now.

09:05 I was staying there.

09:07 Like I said, I have this sort of, I'm going to kind of be Mastodon first.

09:10 I'm certainly not deleting my account.

09:11 So staying is, I guess I'm still in a sense staying.

09:13 But I was mostly focused there because my people were there.

09:17 But as over the last week or so, what I've come to realize is, wow, Mastodon is way more in tune with open source, free software, unaffiliated tech organizations than any of the corporate big tech sites are in a very interesting way.

09:36 Yeah. It's the growth of Mastodon in the past week has just been astonishing.

09:41 Like it's hockey sticking and it's all people I like.

09:44 I'm finding people on Mastodon who I didn't know who are great.

09:47 I'm finding people on Twitter.

09:52 I'm finding people on Mastodon.

09:53 I'm finding people on Mastodon.

09:53 I'm finding people on Mastodon.

09:53 I'm finding people on Mastodon.

09:53 I'm finding people on Mastodon.

09:53 I'm finding people on Mastodon.

09:53 I'm finding people on Mastodon.

09:54 I'm finding people on Mastodon.

09:55 I'm finding people on Mastodon.

09:56 I'm finding people on Mastodon.

09:57 I'm finding people on Mastodon.

09:57 I'm finding people on Mastodon.

09:57 I'm finding people on Mastodon.

09:57 I'm finding people on Mastodon.

09:57 I'm finding people on Mastodon.

09:57 I'm finding people on Mastodon.

09:57 I'm finding people on Mastodon.

09:57 I'm finding people on Mastodon.

09:57 I'm finding people on Mastodon.

09:57 I'm finding people on Mastodon.

09:57 I'm finding people on Mastodon.

09:57 I'm finding people on Mastodon.

09:58 I'm finding people on Mastodon.

09:59 I'm finding people on Mastodon.

10:00 I'm finding people on Mastodon.

10:01 I'm finding people on Mastodon.

10:02 I'm finding people on Mastodon.

10:03 I'm finding people on Mastodon.

10:04 I'm finding people on Mastodon.

10:05 I'm finding people on Mastodon.

10:06 I'm finding people on Mastodon.

10:07 I'm finding people on Mastodon.

10:08 I'm finding people on Mastodon.

10:09 I'm finding people on Mastodon.

10:10 I'm finding people on Mastodon.

10:11 I'm finding people on Mastodon.

10:12 I'm finding people on Mastodon.

10:13 I'm finding people on Mastodon.

10:14 I'm finding people on Mastodon.

10:15 I'm finding people on Mastodon.

10:16 I'm finding people on Mastodon.

10:17 I'm finding people on Mastodon.

10:18 I'm finding people on Mastodon.

10:19 I'm finding people on Mastodon.

10:20 I'm finding people on Mastodon.

10:21 I'm finding people on Mastodon.

10:22 I'm finding people on Mastodon.

10:23 I'm finding people on Mastodon.

10:24 I'm finding people on Mastodon.

10:25 I'm finding people on Mastodon.

10:26 I'm finding people on Mastodon.

10:27 I'm finding people on Mastodon.

10:28 I'm finding people on Mastodon.

10:29 I'm finding people on Mastodon.

10:30 I'm finding people on Mastodon.

10:31 I'm finding people on Mastodon.

10:32 I'm finding people on Mastodon.

10:33 I'm finding people on Mastodon.

10:34 I've had a bunch of filmmakers and journalists.

10:38 Screenwriters are showing up.

10:40 Yes, it's amazing.

10:41 It's really, really great.

10:42 Let's see.

10:43 Real quick question.

10:44 This one goes to Juan first.

10:46 David, an audience.

10:47 So you weren't concerned with Twitter previously, only when Elon took over?

10:51 Or I guess it's more of a group question.

10:53 Yeah, David said it was kind of directed to me, but I will others say their opinion.

10:58 Yeah, kind of what Simon said already.

11:00 I was also concerned about the idea of a whole entity, a whole media site being bought by a single person,

11:11 which might happen, I don't know, for Facebook, it's already bought by a single person, right?

11:17 In a sense.

11:18 But it might happen to your favorite social network at any day.

11:21 And the fact that now the Fediverse is gaining traction, it's distributed, puts some barriers to that.

11:29 But apart from that, like Twitter has, in a sense, been a victim of its own success in the sense that the algorithm,

11:36 the famous algorithm that puts more famous tweets up front or things that you might engage with and so forth.

11:45 In the end, it ends up favoring maybe things that make you angry because the algorithm knows that you're going to engage with.

11:52 Oh, they really respond well to this one here.

11:55 Where the one about Nazis is so popular.

11:58 Let's share that.

11:59 Or Python versus Ruby.

12:01 I don't know.

12:02 Like all sorts of things making you angry.

12:04 But, or maybe just silly memes that happen to be fun to watch, but I don't know, like making you lose some neurons.

12:12 So I think like my quality of life improved a lot when I switched to the chronological timeline.

12:19 So when I disabled the algorithm, but I had to put lots of measures like a browser extension

12:25 that hides the trending topics and blocking people like there's no tomorrow.

12:30 I don't know, like I had to develop my own habits to make Twitter sustainable for me.

12:36 And Elon Musk buying it was just the icing in the cake.

12:40 So it pretty much went the same for me, I gotta say.

12:43 So I started taking extended Twitter breaks, especially over the weekends when the pandemic started.

12:50 And then even more so when the war started.

12:53 And just because of all this negativity that got, that constantly got flooded into your timeline.

12:58 And I already was on the chronological one and it still got flooded into there because obviously people who weren't in the,

13:05 on the chronological one, got it, got it via the algorithm.

13:08 Then they, I was about to say boosted it.

13:10 Now they retweeted it.

13:12 And that way then it ended up in mine.

13:15 And I had to mute so many people.

13:17 I had to add so many filters to my, to my experience and all of that.

13:22 I mean, in the end I got a very filtered and very tame version of Twitter, but it was still way before that guy bought it.

13:30 It was way before that already, just another sink of my energy actually.

13:36 And, and with Mastodon, I never so far have had, I've been very active on there ever since the first, Hey, I'm going to buy Twitter thing.

13:43 A broad, yeah, happened.

13:46 I think April or so this year.

13:48 And it was just like a completely, utterly different kind of experience.

13:54 Like I met a number of people that I would never have found on Twitter who I now interact with a lot because they are just genuinely interesting and do very, very amazing stuff.

14:05 And, there are capybaras and squirrels in my timeline way more than there were before on Twitter.

14:11 So I enjoy that stuff.

14:12 And there is still the, the bad things and still the, the, the, the, the serious stuff and still the news, but they are tamed.

14:20 They are not amplified to a thousand and that is really, there's not an algorithm boosting it even more.

14:25 Yeah.

14:26 This portion of talk Python is brought to you by the AWS insiders podcast.

14:32 When was the last time you ordered a physical server to host your functions as a service, your latest API or your most recent web app?

14:40 I remember the last time I did that was around the year 2001.

14:44 And yes, it was quite the odyssey.

14:46 Of course we don't do that anymore.

14:48 We run our code in the cloud with near instant provisioning and unparalleled data centers.

14:54 And the most popular cloud provider is AWS.

14:57 But for all the ways that AWS has made our lives easier, it has also opened a massive box of choices.

15:04 Should you choose platform as a service, or maybe it's still VMs with IaaS.

15:08 What about your database?

15:10 Maybe you should choose a managed service like RDS with Postgres or is DynamoDB better?

15:15 Maybe Aurora?

15:16 Maybe Aurora?

15:17 No, wait.

15:18 I hear good things about Amazon DocumentDB too.

15:20 And that's where the AWS insider podcast comes in.

15:24 This podcast helps technology leaders stay ahead of Amazon's constant pace of change and innovation.

15:29 Some relevant recent episodes include Storage Wars: Database Edition, Microservices or Macro Disaster, and Exploring Computer Vision at the Edge with AWS Panorama.

15:41 They bring on guests to debate the options and the episodes are vibrant and fun.

15:46 So if you want to have fun and make sense of AWS, head on over to talkpython.fm/awsinsiders.

15:53 Yes, I know you probably already have a podcast player and you can just search for it there, but please use the link so that they know you came from us.

16:01 Thank you to the AWS Insider podcast for keeping this podcast going strong.

16:09 I'm going to say something controversial.

16:10 I love the algorithm.

16:11 The thing I miss most from Twitter on Amazon is that I don't have the algorithm because the reason I love the algorithm is I realized that it gave me the freedom to follow a lot of people.

16:19 I'm following four or 5,000 people on Twitter and the only way you can do that is you make sure you don't even pretend you're going to read everything and you trust that the algorithm will boost up a mixture of interesting things so that you can.

16:32 And so whenever somebody says anything interesting at all on Twitter, I'll follow them and then I'll hope that future things they say that resonate will bubble up.

16:39 And for the most part, that works really well for me.

16:42 But it really it came down to the fact that I trusted the sort of core concept of Twitter, right?

16:47 I trusted that there were enough people at Twitter who understood why it works and what's important about it that even while they play with NFT avatars and fleets or whatever they call them, all of that kind of stuff, the fundamentals were solid.

17:00 And the reason I, the thing that made me lose faith was when Elon a week in fired half the company, like all of the people I know at Twitter who understood what Twitter was, they're gone.

17:09 You know, he's, he's, he's completely, he's, he's, he's gutted that sort of institutional launch of what this thing is.

17:16 And then his first big change that ludicrous selling verified checkmats rate dollars exhibited a complete failure to understand what this thing was and how this thing works.

17:25 And at that point I lost all faith.

17:27 I'm like, no, this, this thing I've trusted for 16 years to keep on working in a way that is useful.

17:32 And that means that I can follow my 4,000 people in weird different spaces.

17:36 That's not going to hold.

17:37 It's not going to work anymore.

17:38 And, that was it.

17:39 That was the point at which I switched my energies to mastermind and found that most of the stuff that I loved on Twitter was, was happening that in a much more pure, non-commercialized format.

17:49 Like the commercial models are super worth, worth talking about.

17:52 But yeah.

17:52 So, so my, my biggest mastermind project when I plan is I want to build myself an algorithmic timeline.

17:57 That's just for me.

17:58 And it means that it essentially takes everything from people I'm following and randomizes them a bit and looks at things that I might not have seen recently.

18:05 It just tries to give me a little bit of that magic back.

18:08 I kind of like that a lot.

18:09 You're going to open source that, right?

18:11 Oh yeah.

18:12 I hope so.

18:13 It's going to be a mess.

18:14 SQL queries.

18:15 It'll be lovely.

18:16 Yeah.

18:17 Yeah.

18:18 I'm sure.

18:19 I'll run on SQLite.

18:20 It'll be amazing.

18:21 Oh yeah.

18:22 You know, I have to say I kind of took Simon's approach.

18:23 I didn't use any tools when I was using Twitter.

18:26 It was whatever came up in my feed.

18:27 It was the news of the day.

18:29 And what was great is, you know, I would see what Simon was up to and somebody else's cool bird pictures and whatever was going on in science.

18:38 And, and so I had a very casual relationship with it, but it was something I looked at, you know, a couple of times a day and, you know, really learned a lot from.

18:48 And so there was also the other side of Twitter, which is you get a community of people together where there's some anonymity and from like a core Python development standpoint and things where there was controversy, maybe within, you know, technical decisions that the language was making.

19:06 Twitter could be a really yucky place, yuckier than mailing list and Slack and, and IRC.

19:14 Does anybody still use that?

19:16 Probably, you know, but all of the other channels that we also follow.

19:21 And I guess, you know, what I was seeing was more and more of my friends going to Mastodon and the people that I respect and like their opinions on.

19:31 And I was like, you know, I've never been happy with the moderation side of Twitter.

19:36 So let's see, let's see how this goes.

19:39 But, you know, I'm like Michael, very new.

19:42 I count on my two hands, like how many days I've been part of Mastodon.

19:45 But so far I'm, I'm super, super happy with it.

19:48 So.

19:49 I'm as well.

19:50 And I was glad to see you show up over there.

19:51 That was great.

19:52 Cool.

19:53 This whole conversation is going to be part sort of the, the, the culture of tech communities, but also part technical as well.

20:00 And I think understanding how Mastodon fits well with open source and those types of communities has a bit to do with understanding how it's deployed, how it connects together, how it works.

20:11 Who wants to talk about what the fediverse is and how do you create an account?

20:15 Like, why are there so many weird different places I can go create an account?

20:18 Like what, what is this new world?

20:19 Why is it not mastodon.com?

20:21 And I just go in and create my account.

20:22 And it's like the new Twitter.

20:24 In a way, Mastodon is a bit like email, right?

20:27 Yes.

20:28 Like, you have, you have a, you have an open, more or less well-defined protocol.

20:33 That is actually a W3C standard called activity pub and activity streams.

20:39 In email, we have SMTP and IMAP and stuff.

20:43 And you have servers on the internet that speak that protocol.

20:46 Those are mastodon.social, fosterdon.org, chaos.social, and anything that you want to set up on Masterhost and whatever.

20:55 And the thing now is that just the same way that if you write an email from your Gmail account to someone who has their email hosted at Fastmail or on their own domain, you can also do that with Mastodon because you can write a toot.

21:10 And we call these toots and not tweets to, to someone.

21:14 So I can, I can toot to Mike.

21:16 Mike is on fosterdon.

21:17 I am on chaos.social.

21:18 That works just fine because there is a common protocol shared that both servers speak.

21:23 There is even in the activity pub spec, a concept of an inbox and an outbox.

21:27 So it is very email-like in that regard.

21:30 And that just works.

21:32 And that doesn't just work for a micro blogging service like Twitter or in this case, Mastodon, because when we talk about Mastodon, we also have to talk about the fatty wars.

21:42 And Mastodon is just a part of the fatty wars because there is other stuff.

21:48 There is an Instagram alternative called Pixel Fed.

21:51 Same thing, open source software you can install on your server and then put your pictures on there and share them across to other Pixel Fed or even to other Mastodon instances because it's the same protocol.

22:02 There is stuff like a YouTube alternative called PeerTube.

22:11 Same protocol, again, cross-compatible, can talk to each other.

22:13 We have Bookworm that is a bit like Goodreads.

22:15 By the way, Witten and Python.

22:16 Very interesting to look into the source if you want to get an idea how to implement activity pub.

22:21 And yeah, there's a ton of other stuff too.

22:25 So currently Mastodon is very big in focus because of this Twitter alternative thing.

22:30 But when you start looking into this whole fatty wars and this whole thing that powers Mastodon and how Mastodon works, then you realize, hey, there is a big, big world there beyond just sending toots and talking about squirrels.

22:43 And it's crazy how these different alternatives can communicate together because have you seen when people share a tweet that contains a screenshot of an Instagram post that it's itself like a screenshot of something they saw on TikTok?

22:55 So it turns out that you can communicate through all these alternatives with the same protocol.

23:02 It feels surreal that you can, from Twitter, so to speak, follow an Instagram account and get their pictures on Twitter.

23:10 It's like nothing we've ever dreamed of.

23:13 And it's currently possible with the technology.

23:15 Of course, it has like quirks and whatnot.

23:18 But in a sense, it's like prohibiting world gardens for good and just interacting with any sort of social media with a unified protocol.

23:29 Yeah, there's nobody who controls whether you have a blog or not on the internet.

23:32 Not really.

23:33 I want to try to say exactly.

23:35 Mastodon here where I think the fact that this works as well as it does is a miracle.

23:40 It is absolutely phenomenal.

23:42 Like people have put, Mastodon itself is six years old.

23:45 The activity pub standards are even older than that.

23:47 A huge number of incredibly hardworking, incredibly smart people have sweated over this stuff for years and years and years.

23:53 And I feel like that we're getting one of those overnight success moments right now where overnight successes are always like five years in the making.

23:59 You know that two weeks ago, we all started leaping onto this thing and it hasn't sunk.

24:05 Like the fact that it's actually managing to scale up with this amount of activity with a few glitches and some things are a little bit slow occasionally.

24:13 No, I think this is an absolute miracle of software engineering.

24:16 I could not be more impressed by what these people have built for us.

24:20 This thing that we're diving on right now.

24:22 It's just, it's just, but this is an incredibly difficult technical problem, incredibly difficult social problem.

24:28 The design problem, like designing community software is extremely hard and they've put, they've done such a great job of this.

24:35 And so you see people sort of complaining about little details and things and they say, no, come on.

24:39 Like we, we all just got here and I cannot believe what an amazingly rich and vibrant world they have created and something that technically works so well.

24:48 And I'm just astonished by it.

24:49 Yeah.

24:50 I love that perspective.

24:51 And I totally agree with you.

24:52 It should also maybe be added that some of the things that people complain about missing are actually intentional stuff, intentionally left out.

25:00 So for example, a lot of people come on Mastodon for the first time.

25:04 And the first thing that they miss is where's the quote feature.

25:07 Why can I not quote this, this truth and, and set my, my opinion on top.

25:11 And that is intentional because the idea is that on Mastodon, you should not talk about people.

25:16 You should talk with people.

25:18 So comment on that thing, interact with the thing.

25:21 You are free to just boost.

25:22 So retweet your, your, your, your response.

25:25 So that's, that it gets more, more widespread visibility maybe.

25:30 But the first thing that you should do is interact with the person who wrote something that you want to discuss or want to add to instead of just trying to be like, Hey, look what I found.

25:41 And all of this is now about me.

25:43 And the other thing is that people miss a search.

25:45 And I can totally understand that because the only thing that you can currently search is your local instance and maybe the federated timeline.

25:51 And that is also intentional because the idea is that if you are on Twitter and you are a very, very bad person who wants to target a marginalized group, then you enter some keywords and you add those keywords as a safe search.

26:04 And then you constantly and constantly and constantly just abuse the people who pop up with this keyword search.

26:12 And you cannot do that on Mastodon.

26:13 It's simply, that is not possible.

26:14 It goes a long way to humanizing and rehumanizing the tools that we work with.

26:21 Because it does give you this sense of, hey, I'm not going to be as targeted for something I say or do that is just part of my normal open source everyday world.

26:35 But like Simon said, I mean, I think, you know, you've got these brilliant people coming together out in the open to manage a service that I have much more questions whether or not Twitter is going to fall over in the next month than I do next month.

26:51 I mean, just, you know, and I guess some of that's the experience that I had with, you know, the federated version of my binder dot org and how we went from a small group of people, you know, hosting notebooks for free for the academic world and, you know, federated it out to other institutions to handle the capacity.

27:11 And it's worked out really well over the last few years.

27:14 So, you know, I give a lot of credit to the folks that have been working hard for the last several years on Mastodon.

27:22 I feel like we should talk about the business model because Twitter, it's ads and selling your data and all sorts of stuff.

27:29 The thing I love about one of the things I love about Mastodon, the business model is just so open.

27:33 It's like there are volunteers who are doing this stuff.

27:35 They are volunteers.

27:36 They are spending their time moderating.

27:37 They're spending their money running instances.

27:39 You should support them.

27:40 Obviously, you should, right?

27:41 There's no ad.

27:42 You can't use the thing for free and expect it to be paid for because then there are ads.

27:46 There are no ads or anything.

27:47 And I feel like Elon has set us the price, right?

27:50 The price is $8 a month, right?

27:52 That's what he wants us to pay on Twitter.

27:54 If everyone who's using Mastodon and can afford to do so puts an $8 a month towards their local server they're running on, it's going to be fine.

28:02 It's just going to work.

28:03 And we should all be committed to doing that, I think.

28:05 I absolutely do.

28:06 Let's talk about the instances because I think the cultural aspect of the norms, especially that Carol was talking about, are really important here.

28:14 And that also has a bit to do with the deployment.

28:16 Now let me track down.

28:17 There's an interesting place to begin finding an instance.

28:22 There's how many instances are there now?

28:24 4,000?

28:25 Something like that.

28:26 These are basically hosts for little communities, little islands of Mastodon.

28:32 And there's this place called instances.social.

28:35 And you can say, well, I want to, what language do I want to speak?

28:37 Do I care how many people are there?

28:39 Because you might want a small community or a large.

28:41 And you can say about what you, you know, the type of content that you would like to be blocked.

28:46 And then you could go search.

28:47 I'm interested in open source.

28:49 And what do you get?

28:50 You get all these different, you know, Faucet on, for example, NixNet and so on.

28:54 The one that I think is pretty interesting that I just recently learned about is Hackerdom.

29:00 You know, Carol, I know that you're on there, right?

29:02 Absolutely.

29:03 And they have a great, you know, Nova, very seasoned open source contributor who's done tons of work in Kubernetes and other communities.

29:13 And they have a really open model.

29:15 It's on GitHub.

29:16 You know exactly what they're doing in terms of the community standards.

29:21 And, you know, I started seeing friends of mine go there and I was like, hey, they're doing it right from the start.

29:29 And I think that's something that to me is really important.

29:34 Like, hey, I know this is going to be about as safe an open space that one can get.

29:39 Easy to know how to contribute back to them financially, in code, whatever.

29:45 And, you know, you know what the rules are and the direction is.

29:49 And, you know, I couldn't be more happy to be part of that.

29:52 My favorite thing about this server, you can see it on Twitch.

29:56 So Chris Nova streams on Twitch and in the background is a rack lit up.

30:01 And that rack is Hackyderm.

30:03 Hackyderm sits in the basement.

30:05 It's got a fiber optic cable plug coming into it.

30:07 It's a real thing, right?

30:09 It's really exciting.

30:10 You can touch it.

30:11 Yeah.

30:12 It's not in the cloud.

30:13 It's in the ground, actually.

30:14 It's in the basement.

30:16 This portion of Talk Python to Me is brought to you by Microsoft for Startups Founders Hub.

30:25 Starting a business is hard.

30:27 By some estimates, over 90% of startups will go out of business in just their first year.

30:32 With that in mind, Microsoft for Startups set out to understand what startups need to be successful and to create a digital platform to help them overcome those challenges.

30:41 Microsoft for Startups Founders Hub was born.

30:44 Founders Hub provides all founders at any stage with free resources to solve their startup challenges.

30:51 The platform provides technology benefits, access to expert guidance and skilled resources, mentorship and networking connections, and much more.

31:00 Unlike others in the industry, Microsoft for Startups Founders Hub doesn't require startups to be investor backed or third party validated to participate.

31:09 Founders Hub is truly open to all.

31:12 So what do you get if you join them?

31:13 You speed up your development with free access to GitHub and Microsoft cloud computing resources and the ability to unlock more credits over time.

31:21 To help your startup innovate, Founders Hub is partnering with innovative companies like OpenAI, a global leader in AI research and development, to provide exclusive benefits and discounts.

31:31 Through Microsoft for Startups Founders Hub, becoming a founder is no longer about who you know.

31:36 You'll have access to their mentorship network, giving you a pool of hundreds of mentors across a range of disciplines and areas like idea validation, fundraising, management and coaching, sales and marketing, as well as specific technical stress points.

31:50 You'll be able to book a one on one meeting with the mentors, many of whom are former founders themselves.

31:55 Make your idea a reality today with a critical support you'll get from Founders Hub.

32:00 To join the program, just visit talkpython.fm/foundershub, all one word, the links in your show notes.

32:06 Thank you to Microsoft for supporting the show.

32:08 Yeah.

32:09 So when you come to these different instances, you can use instance.social to search and then they each have, you know, this one, there's 6000 active participants.

32:18 However many users and it has a mission statement.

32:21 And that matters because they can control who can be on that instance.

32:26 If you don't like it, go somewhere else.

32:28 When you have conversations, there's a way to say, I want to see the conversations instead of happening on all of Mastodon.

32:33 I just want it on the people who belong on this small group, no matter how many others there are.

32:38 I think it's really neat.

32:40 It's tricky, though.

32:41 Like this is, I think the biggest barrier to joining Mastodon is that on the moment you join, you have to make that decision.

32:47 And it's a really difficult decision to make if you don't know your way around, you know.

32:52 And it's like, I couldn't make the decision.

32:54 I ended up running my own instance.

32:56 I'm paying a company for me because I didn't want to have to choose.

33:00 I'm like, no, I'm interested in everything.

33:01 And I want to align myself with the free software people or these people.

33:04 I'm paralyzed by indecision.

33:07 So, yeah.

33:08 So I ended up running my own server.

33:09 It's cool that you can do that.

33:11 But it is, I feel like when you're trying to encourage people to Mastodon, it is, this is the thing people need the most help with is this particular process.

33:18 Because you're going in with no idea what makes a good server, but you have to pick before you can even start engaging with it.

33:24 Yeah, it is tricky.

33:25 Harley out in the audience says, could someone invite me to the one where the Python peeps are on?

33:30 Yeah, it's not, I'm not so sure you can get an invite, but you know, Fosstodon, the free and open source software, hackerdom.

33:37 I think there's five of us in this call and we have five different servers, right?

33:41 Or almost.

33:42 Perfect.

33:43 Yes, I think.

33:44 Yeah, that's right.

33:45 We are.

33:46 Yeah.

33:47 I think we're all on five different servers.

33:48 But we still talked and organized this through Mastodon, right?

33:50 Exactly.

33:51 Exactly.

33:52 That's a huge proof that the system works.

33:54 I, in fact, I started on Fosstodon because it was, I don't know, more aligned with my interests at the time.

34:00 But Fosstodon has a moderation policy at the moment that they don't allow non-English posts.

34:06 And sometimes I just want to toot in Spanish.

34:10 And so, yeah, I went on and created my own instance.

34:13 And now I'm like spreading my content everywhere in any language I like.

34:18 But I think the moderation challenge is quite interesting.

34:21 And I'm looking forward to someone to set up like a graph of people in a sense like, okay, you can invite someone.

34:28 But if that someone does something nasty, then I'm going to ban them.

34:31 And I'm going to ban you as a result.

34:33 Gotcha.

34:34 And those things.

34:35 Someone to keep track of the social structure of the network so that there's mutual accountability.

34:40 I think that would be a super interesting watch.

34:42 Yeah.

34:43 And these instances can ban other instances.

34:45 Like, for example, I haven't looked at Hackadom, but I know that Fosstodon is banning certain other instances for various reasons, because it's spam or there's people who've done things that are unwelcome.

34:57 So it's not just one person is banned, but like this whole community.

35:00 We just don't want them to be part of it.

35:01 Yeah.

35:02 I'm not sure if that says, it doesn't say there.

35:04 Yeah.

35:05 This one found racism and questionable other badness.

35:08 Violation, violation, racism.

35:10 One of these I saw just said Nazis.

35:12 Like, okay, that's clear.

35:13 Like, okay, that's clear.

35:14 Obviously.

35:15 We don't want that.

35:16 And then limited.

35:17 Yeah.

35:17 So I think this is really important, right?

35:19 Like this is, this goes to choosing your home base, right?

35:23 Because it's more than just what hosts your content.

35:26 It hosts your norms and morals and stuff.

35:29 Yeah.

35:30 I think there's, it should be made easier for people to migrate to other instances because

35:34 at the moment, for some technical reason, I don't know, you cannot migrate your posts.

35:38 You can only like migrate your followers and stuff.

35:41 So if people can just move around freely, it's not that much of a big issue.

35:45 There's some nice articles about choosing your own instance.

35:48 There's that, that app, I guess.

35:51 One of the thing where we're kind of on the culture side, Simon, you talked about the value

35:55 of the algorithm.

35:56 And I agree with that, you know, acknowledging the filter bubble aspects of algorithms.

36:01 There is some real value when you post messages here, because there's no algorithm, it becomes

36:07 like tailing a log of a super busy website, just stuff screaming by.

36:11 And it becomes really hard to just interact in the general stream of information.

36:15 Masadon has ways to say like you reply, but it's not really a public reply.

36:19 It's sort of a semi, people can discover it, but it's not announced.

36:23 And I asked people, what is the right way in which to, you know, what's the default way

36:28 to reply to somebody?

36:29 And most people said, I'll just hit reply in public.

36:31 And to me, that seems, that seems like it's going to kind of overwhelm the system.

36:35 If every conversation.

36:36 I believe replies in public will only get delivered to people who follow both you and the person

36:41 you're replying to though.

36:42 I think that's how that works.

36:44 Okay.

36:45 So I don't know.

36:46 Am I wrong about that?

36:47 I think public goes into the public outbox of the, of the local timeline as a local server

36:53 as well.

36:54 And so it also ends up on federated servers.

36:57 So, the general recommendation is for example, for bot accounts to, to always set them to, to

37:04 unlisted.

37:05 So they don't spam timelines, but can still be found, naturally, through hashtag

37:12 searches, for example, which by the way, I think contrary to, to full text searches

37:16 unlisted is the thing where, it still pops up in your followers timelines automatically, but

37:22 it doesn't pop up in the public timeline on your instance on the local one.

37:26 So maybe we should say we have a local one, which is just the stuff on your server.

37:30 And then we have the federated timeline, which is the stuff on your server plus anything and

37:35 anyone that interacts with people on your server.

37:39 So that is a bit complicated and I have not fully understood yet what exactly goes in there, but,

37:45 right.

37:46 That is the, that is the two things.

37:48 I thought federated was anyone who's followed by at least one of the users on your server, but it's

37:53 not because on my personal server, that's just me stuff shows up in federated.

37:58 That's not from people I'm following.

37:59 There's no one else in my service.

38:00 So yeah, it's, it's complicated.

38:02 I think if you follow me and I boost someone else or, or, or like a post from someone else,

38:09 that is maybe a better example.

38:10 If I'm like, if you interact with it in any way, yeah.

38:13 I interact with that.

38:14 And that also means it will show up on your server, even though you are only following me.

38:18 Okay.

38:19 Okay.

38:20 I think it was like, I, I read into the activity spec, but yeah.

38:23 The fact that we need to analyze it so much and we still don't fully understand it.

38:27 For me, it's a UX problem.

38:29 I don't know if it can solve it, if it can be solved by the technology, but no doubt it's

38:35 a problem and no amount of per stack fairy tips is going to, fix a UX problem.

38:41 Like there, there has to be someone working on it.

38:43 I think sensible defaults would be nice.

38:45 Yeah.

38:46 I set my default visibility to unlist it and I have to opt into public on my world.

38:50 So, speaking of changes that might be coming in a UX thing.

38:53 So I did want to point to that Mastodon itself is open source.

38:58 Obviously Juan and Simon running your own.

39:00 You're probably deeply familiar with this code over here.

39:03 And they're, they just announced that they are about to release version 4.0.

39:08 I, I don't know what great features that's going to include, but hopefully some of these

39:12 things get a little bit ironed out as well.

39:14 I don't know if you'll have any visibility into that.

39:16 so it's a, it's a very active open source project.

39:19 You can see it's got 2.6,000 issues.

39:21 There's a lot of, and it's, it, it's been well-made.

39:24 It's got people working on it full time or at least one person working on it full time,

39:29 which, and again, they'd be amount of, the amount of impact they're having from a

39:34 very tiny sort of team of contributors is, is truly extraordinary, but it does seem to be

39:38 something where you can get like very actively involved with it.

39:42 there are also lots of interesting alternative versions out there.

39:45 Andrew Godwin is spent last two days, picking together his own custom Mastodon on Django thing, which I'm really excited about

39:53 because, his signature feature is going to be, that it'll be easier to point custom

39:57 domains to it.

39:58 Right now you have to run a separate Mastodon for every custom domain that you want,

40:02 which is very inefficient.

40:04 This way you'll be able to run one of Andrew's things and have your, your, all of your friends

40:07 with their own custom domains can still share the same instance.

40:10 but yeah, the, I also get, get a feeling from looking at it that there are inefficiencies

40:15 in the way that it works, which are basically because it hasn't needed to scale that much before

40:20 now, you know, the, the way it distributes posts using sidekick queues and Ruby requests worked fine.

40:26 Two weeks ago, suddenly that's beginning to strain at the edges, but it means that if you want to help

40:31 make this stuff more efficient, there are, this is a great time to be getting involved in helping fix

40:35 some of the UI things and improve some performance.

40:38 And there's, there's just so much work to be done and so many available people to help do that.

40:42 So I'm expecting some very healthy activity around all of these different open source projects

40:47 to be coming up pretty soon.

40:48 I was going to say, because we're pulling in a bunch of different groups of people, I think the likelihood

40:54 of getting more folks that are really into user experience and UI and, and, you know, how to run

41:01 asynchronously things, you know, more efficiently.

41:04 You wind up with these expertise coming into the ecosystem, which I think is, is going, going to continue

41:11 to kind of energize it.

41:12 At least that's my hope.

41:13 Well, we've got really good bones to build on.

41:16 Like all of the decisions made so far are very, like it's a very high quality product.

41:21 It's a very high quality code base.

41:23 It's not like it needs fixing.

41:24 No, not at all.

41:25 It will definitely benefit from, from more people able to help it take on these newer challenges that are emerging

41:30 just as the entire world leads on it in one go.

41:32 Yeah.

41:33 And I think it's sort of that you plug in user experience kind of side of things where you're going to see the real growth.

41:39 And about the, the new things in Maslow 4.0, actually, if you go to the release notes of 4.0 release candidate one,

41:46 you can see that there's lots of new features that got added things to some funds from the European commission.

41:51 And then they're working on things like being able to translate posts or having like more granular control on roles inside servers

42:00 so that bigger instances can have any moderation roles that they want.

42:06 And I don't know, like there's lots of exciting stuff coming for Maslow in particular.

42:12 And I'm sure like it's going to affect the whole Fediverse as a whole.

42:18 A lot of new technologies being brought in here.

42:20 Like, no, this little, this little scheduled background worker thing.

42:23 We should maybe choose a different technology to make it go fast.

42:26 Simon, you mentioned Andrew Godwin's.

42:28 Takahe, I think. Yeah.

42:31 In which language is this, this word written?

42:33 Is there any explanation of that? I'm curious.

42:35 I don't. I was, I was guessing Hawaii, but I don't know.

42:39 It seems like that to me too, but I don't know either actually. Yeah.

42:41 I don't know. I mean, to me, the bird evokes like fanning out their wings and what, you know, the distributed nature where he talks about.

42:50 It's a New Zealand bird. It's the sapo.

42:52 New Zealand.

42:53 Yeah.

42:53 New Zealand.

42:54 Lightless hen.

42:55 Lightless hen.

42:56 Yes. I love New Zealand flightless birds.

42:59 Generally. I might have to call mine.

43:00 I do.

43:01 I do a mastermind implementation just to keep Andrew's name convention going.

43:05 But yeah, I'm developing this entirely in the open.

43:08 I I'm finding this useful because I may have plans to do build my own code around this.

43:13 I'm going to steal his implementation of like the site, the H to be signing and all of the difficult bits that he's figuring out.

43:19 That's it's it's it's this, this looks very exciting.

43:22 Sure does.

43:23 The signing is actually fairly, fairly simple.

43:25 The problem is how do you address anything that you're supposed to send out?

43:30 Oh, I yeah, I have a little pet project brewing now since the start of this year or rather like the end of the last one.

43:37 And that is activity park focus.

43:39 So I was also working on that stuff a bit in the background.

43:43 And it is a lot to take in, but it is fairly clever.

43:48 All in all.

43:49 The, if you want to see how the stuff works.

43:51 So I'm, I'm running my own instance.

43:53 I'm playing masto dot host to do all of the work, which is great.

43:56 Like I don't have to figure out the Docker containers and so forth.

43:59 But, when you have an instance of your own, you get access to the admin panel.

44:03 And one of the things in there is the sidekick queue and view, which shows you what's been queued up to go out.

44:09 And it turns out anytime you send a toot, it needs to be sent to every server that at least one of your followers is on.

44:16 I've got like 5,000 followers who have spread across 580 servers.

44:20 So if I toot that's 580 deliveries that need to be made, which is on the one hand, that sounds like a pretty giant and intimidating amount of traffic.

44:29 and if you watch, if I, if I get into a conversation and send a bunch of toots, my queue can grow to like 10,000 items and take like 20 or 30 minutes for it to fully drain through.

44:38 but I started thinking about it and thinking, you know what?

44:40 If I load a webpage and open up the network pane, it makes a hundred requests, right?

44:45 Pages are pretty inefficient these days.

44:47 So actually sending 600 requests because I tooted by modern web standards, that's not really an enormous amount of traffic.

44:53 And this is where I feel like there's some low hanging fruit here, just in terms of more efficient sending of these, of these, of these, requests that, but this is where Andrew built using Python asyncio, which feels to me like the right kind of technology to apply here.

45:07 Yeah.

45:08 But yeah, it's, it's, it's really interesting just having those little insights into, into what's going on under the hood.

45:12 And there is, this is not, it's a lot more complicated than running a blog.

45:16 You know, if you're hosting your own blog, there aren't that many moving parts.

45:19 If you're hosting a master's on server or an activity server, there is a lot more activity that has to go on under the hood for all of this work.

45:25 What on GitHub, right here on GitHub, it's a 66 requests to pull up a, a read me.

45:30 So that we got, so, so something like that, right?

45:33 One thing I want to talk about, if we go over to the various profiles and I'll pull up mine for just a sec.

45:39 One of the things I guess, one of the things that's a little bit annoying here is if you search for yourself, you're going to find multiple ones of you.

45:47 Look, there's three of me.

45:48 And if I look for like jet brains there, there are many, none of these are real accounts.

45:53 They're all, all fake.

45:54 Right.

45:55 And yet there's many Twitter barrels actually.

45:58 Yeah, exactly.

45:59 Yeah.

46:00 If I search for Carol, oh, there's only one Carol.

46:02 Amazing.

46:03 So good.

46:04 Yeah.

46:05 Thanks for that.

46:06 Thanks.

46:07 No, it's great.

46:08 I mean, look, there's four Simons.

46:10 And, and so the reason I bring this up is you have to do a little bit of work, not to pay $8 to get a red, a blue verified sticker, but to establish your presence and show that you're a real person.

46:22 So for example, on my profile, I have one well-known domain that's verified.

46:27 And then it links over to like talk Python and Python bytes.

46:30 And those are both, if I were to go to them, they also have, you know, verified by verified, not paying money, but go through the protocol or the conventions and talk about that.

46:40 Like talk about this, this sort of creating a verified account here.

46:44 So I think it's a very smart technique.

46:45 It's very similar to how you verify a site on Google search.

46:49 For example, you say, okay, so let's configure some DNS with a special record that only you know.

46:55 And then when you do that, then Google knows that the site belongs to you.

46:59 Right.

47:00 And the way you go and do that here is that you go to these URLs that you control, and then you add a backlink pointing to your masterstone profile.

47:11 And somehow the system does this update for you and those links appear as verified.

47:18 And I think it's really interesting first that you don't need any technical special thing.

47:24 You don't need any blockchain or anything like that for it to work.

47:27 Like as long as you trust that talkpython.fm is by Michael Kennedy, then you can assume that the Postadon account is going to be properly verified.

47:37 And at the same time, it sets a very good precedent for news outlets, for example, to create their own instance and say, look, we're going to verify our instance.

47:47 And you know that anybody with an account here is either like a journalist of ours or it's us, our official voice and so forth.

47:55 So it provides a way of doing this distributed, inexpensive verification.

48:00 And I think that's really, really interesting.

48:02 And there's no central authority that says, we hereby confer upon you this check mark, right?

48:08 It's here's the evidence I present that I am me or that talkpython is talkpython or whatever.

48:14 And that gets verified and people can decide how much they trust that.

48:17 I just love this because it's such an elegant solution.

48:20 And it's so funny with Twitter verification being this complete trash fire for the past two weeks.

48:26 And it was bad.

48:27 And now it's really bad.

48:28 Yeah, right.

48:29 And then on Mastodon, it's like, oh, no, you put a rel equals me link on your site back and you highlight the plane and that's done.

48:34 And I think it's beautiful.

48:35 I mean, it's a really clever.

48:37 So there are some interesting tricks with it.

48:39 So like I've got a GitHub account and GitHub will use rel equals me only on the about URL field on your profile.

48:48 So and you only get one of those.

48:50 So you can link back to your account from GitHub and get a verified thing.

48:53 But then I wanted that to point at my regular site.

48:55 So I edited it back again, which actually breaks because my server knows that I'm verified because it happened to check while that link was there.

49:02 But then other people's servers don't show that verification because they all check independently as they should.

49:07 Right. Nobody should trust my server about the verified links.

49:10 They all need to do their own little verification step.

49:13 Also, when you look at the activity queues, there's a whole lot of activity efforts just checking these verified links from each server to make sure that they're back.

49:22 But I do think it's a beautifully simple and elegant way of solving this problem.

49:26 And then of course, you can add like a blue check bar next to your name.

49:29 Just to do the joke, right?

49:31 Nobody prevents you from doing that.

49:33 I actually did that.

49:34 I'm very proud of it.

49:35 There's a ton of people who have colon verified.

49:37 I don't know if I could pull it up.

49:38 But yeah, they're like this.

49:39 Oh, yeah.

49:40 That's server specific though.

49:45 Oh, is that right?

49:46 Emojis.

49:47 Yeah.

49:48 I think that doesn't work on mine.

49:50 Or at least I haven't seen it on accounts online yet.

49:53 But it's okay.

49:54 Axe Wax out there says you can put it in the location field and get up as well.

49:58 Do you have an example of that?

49:59 That'd be great to see what you're talking about.

50:01 I can pull up.

50:02 I don't think you can put URLs in the YouTube chat.

50:04 They will be filtered out.

50:06 Yes, you're right.

50:07 Of course, they will be filtered out.

50:08 I was probably the geographical location field.

50:11 Maybe on your user location field and GitHub, maybe.

50:15 I just hope that GitHub will see the light about the importance of Mastodon verification

50:19 and allow us to either add a Mastodon account there or just, you know, like more than one homepage link with an well equals me thing there.

50:29 And I've poked them a bit, but so far, sadly nothing.

50:32 But I'll keep poking them.

50:33 There's an open issue about that or a conversation somewhere, right?

50:36 I saw that the other day, but I don't, I didn't collect the URL.

50:40 So.

50:41 Yeah, I pinged them on the internal Slack.

50:43 And Axe Wax said, yes, the location field.

50:46 There's a couple other things I want to follow up on here before we go.

50:51 And Gina, this one might be particularly relevant to you.

50:55 Here, let me put this in.

50:57 So apparently the German government has set up its own Mastodon server.

51:02 You probably know more than I do about this.

51:04 Yeah, they created this social.bund.de and yeah, more and more ministries and official places.

51:10 So what you see there in the screenshots is the, or was the, so the BME Bund, which is, which is our ministry of, of inner security and such.

51:20 And then yeah, data protection, freedom of information, my own county, as I just said also, or rather my own state actually also is apparently now there.

51:30 The Hessische Landtag.

51:31 So, hey, cool.

51:32 And yeah, they, they started doing that around the time that Elon bought the thing.

51:36 So two weeks ago or three weeks, I don't know.

51:38 Maybe the, the server is older, but the influx of a ton of official accounts started.

51:45 Yeah.

51:46 Something around that time.

51:48 And what I also recently learned is, so we have this international emergency broadcast thing that is not SMS based, but rather an app.

51:57 I don't know how official that is, but there is also a server dedicated to just subscribing to the so-called NINA notifications for your location so that you get a mastodon notification when there is some kind of emergency, like, like really bad weather, or I don't know, some, some, some, some bomb that was found from World War Two again, which also happens all the time here.

52:18 And that is kind of neat that they integrated that.

52:21 So I immediately followed my local one.

52:24 It's a little terrifying though, because that means make matters on a safety critical system.

52:29 You know, when my queue is backed up for an hour, suddenly I'm getting nervous that these messages really do need to be delivered in real time.

52:35 As you're looking at the rubble warning earthquake coming.

52:38 True.

52:39 Oh, wait.

52:40 Yeah.

52:41 But no, this is, this is really, really cool.

52:43 I absolutely love this idea.

52:45 And I think other governments should, should also consider this seriously.

52:48 Now, two more areas.

52:50 We're getting short on time.

52:51 I want to make sure we focus on first, a little bit of programmability.

52:54 There's a thing called toot and a Python library, which you can program called toot.

52:59 So toot, the toot CLI, is that what it's called?

53:03 Yep.

53:04 And it's a mastodon in the terminal, right?

53:07 Which is pretty interesting.

53:08 But it has a Python library.

53:10 Has anyone done anything with this?

53:11 Not yet.

53:12 No.

53:13 I've been playing with the API directly because mastodon, your local, your server has an API.

53:18 It's super, super, it's a very clean, very well designed API.

53:23 One of the things it can do is it's got a streaming API.

53:26 So you can hold open a connection to a URL.

53:28 And every time a new toot comes in, it gets fed to your script.

53:32 I've got a, I wrote, I have a little script in the gist, which I've just pinged to you in the private chat, which listens to my server and writes to a SQLite database every time something happens.

53:42 And then I can analyze it in data set and run SQL queries.

53:45 And so I put, this is going to be the basis.

53:47 And you scroll down.

53:48 So you went python stream.py and give it a database.

53:50 That's the schema.

53:51 And this is the whole thing.

53:52 It's what, like 30 lines of code.

53:54 Because all you have to do is stream against that feddy.signwinson's and that API v1 stream in public.

53:59 And then every time a new line comes in, treat it as JSON and writes the database.

54:03 So when I talk about building my own algorithm, this is how I'm going to do it.

54:07 I'm going to be sucking all of that data down into a little SQLite database and then running SQL queries against it.

54:12 I was really impressed at how easy this was.

54:15 No, because I don't even need an API key for this one.

54:17 This is just a publicly available endpoint.

54:20 Interesting.

54:21 But it has authenticated APIs for following and tooting and all of that kind of stuff.

54:25 So yeah, this is very, very hackable.

54:27 And one thing I find exciting is, so I've built Twitter bots in the past, and it always feels like you're in a ask permission or ask forgiveness situation.

54:34 You launch a bot and you're always crossing your fingers that somebody, the powers that be might not go, no, that's a bad bot and turn it off for you.

54:41 Mastodon, there are no, like you can run a bot on your own instance.

54:45 If you misbehave, the worst that can happen to your instance will be defederated, which is bad.

54:49 So don't do bad bots, but you can build a bot that does absolutely anything.

54:53 And especially if it only interacts with people who follow it, what's the harm, right?

54:57 Nobody's going to get upset with your bot spamming people if people have to follow it to get alerts from it.

55:02 But I think we're going to see so much innovation around bots on this platform because it's so easy and liberating to start writing these auto-signments.

55:10 I checked out toot.

55:12 If you look at the PyPI listing, it just gives you a description.

55:16 And if you click on take me to the documentation, it takes you to the documentation for the UI thing.

55:22 It's really not clear how to use it.

55:25 But I ended up just doing basically what you said.

55:28 And I used toot to create the OAuth registration and the access keys and all that.

55:34 And then I just wrote some straight Python code using HTTPX against the API.

55:38 And now on my stream deck, I have a little button I can press right here.

55:42 Every time I want to announce that a live stream is starting, click that thing and off it goes.

55:46 And so programming, like you said, is pretty hackable.

55:48 This is just so cool.

55:49 Yeah, this is fun.

55:50 This is real fun.

55:51 I'm looking for a little dataset plugin for this because I think that would be pretty darn cool.

55:56 And congrats on the five year in a birth rate.

55:59 Thank you.

56:00 Yeah, it was the project's birthday yesterday.

56:02 Yeah, no, I want to do a plugin.

56:04 I'm waiting for Andrew in Tag Tech.

56:07 I pronounced it correctly earlier and I've forgotten.

56:09 I'm waiting for Andrew to solve all of the problems.

56:11 And I'm just going to copy and paste code after that and build a plugin based on the things that he's already figured out.

56:16 But yeah, I want Dataset to be able to both ingest from ActivityPub and publish to ActivityPub, all via plugins.

56:23 It feels like it would be a really natural fit, definitely.

56:26 I guess maybe let's close this out with, well, not that yet.

56:30 Though I want to close this out talking about funding and how, Simon, you mentioned the business model.

56:37 I think it's so transparent.

56:38 It's like there are no ads.

56:40 This is volunteer run.

56:41 It's volunteer money.

56:42 If you can afford, you can, you should pay.

56:44 And I think we should all be paying $8 a month for this on prints.

56:47 If we can afford to do so, I think that's the right amount to commit.

56:51 There's an instance called social.coop, for example, that works as an open collective project.

56:56 So to become part of it, you have to pay and it becomes a collective effort that way.

57:02 And I think that's really interesting too.

57:03 That is very interesting.

57:05 I only read this about the faucet on.

57:07 So, you know, look at your instance of interest, I suppose.

57:11 And if you look at this, they have a funding page over here and they actually have open numbers about how much it costs to run, how, how much scaling they've had to do recently.

57:21 So it said two weeks ago, we paid $100 a month and now we pay $1,000 a month.

57:27 And here's how much money.

57:29 So how much runway we have at this current rate.

57:31 They also talked about how many users they had in here somewhere.

57:35 It went from something like 2000 to 40,000 in a week, which is pretty interesting.

57:41 But if you think about this, like, so they need $1,000 to run this server and this infrastructure, and they actually break it down by piece of infrastructure, like CDN versus servers.

57:51 And you take 40,000 and a thousand divided by 40,000, you know, that turns out to be like 2 cents a month to run this.

57:58 We can have a world that's not infested with ad companies and algorithms that are trying to manipulate us to buy things or to vote this way or that way or to be angry about this cause or that cause.

58:10 For 2.5 cents a month.

58:12 That's insane.

58:13 Right.

58:13 We, we should absolutely be doing this.

58:15 The old cliche is if, if, if, if, if something is free, you're if the, if the product is free, then you are the product.

58:21 You're the thing being sold.

58:23 This is our chance to show that we understand that lesson, right?

58:25 This is right now.

58:27 We want to use the software.

58:28 We have the option to pay for it.

58:29 We should pay for it.

58:30 And like I said, not everyone needs to pay for it.

58:32 I like the $8 thing, because if you can afford it, then throw in that $8.

58:36 People who can't afford it, we want them around anyway.

58:38 So, so let's cover the costs for them.

58:40 But yeah, I, I, I'm not worried about the financial sustainability of this, of this thing.

58:44 If we, if, if even a small minority of us do the right thing and help pay for it, I think it's going to be fine.

58:50 I think it makes good sense for the ones that want to be sustained long-term to be very transparent with the finances.

58:57 I know we did that with my binder.org and that really helped either grant money or bringing on other, you know, federated instances.

59:06 And I think it gives people like, Hey, you know, people are putting in their time as well as the financial resources.

59:14 I, for one, I'm happy to pay for that.

59:16 I would pay more than $8 a month just so that, you know, there's no ads.

59:20 There's no ads.

59:21 In fact, I do on certain services.

59:22 So, but I, you know, I think the other thing to maybe keep in mind is given how quickly it's growing and the fact that there are maintainers of Mastodon itself.

59:32 Be kind to those maintainers as you want new features and things, because having been on the other side of, Oh, you don't have this.

59:42 This was a stupid way of doing that.

59:44 You know what?

59:45 They made good decisions.

59:46 Those were the decisions they made and, you know, support them as they learn how to scale even more.

59:53 So don't forget that there's people behind the efforts.

59:56 Just because they have more money than it costs to run at the current moment.

01:00:01 Mike and I don't remember the other person who runs faucet on and this goes, you know, for all the servers, these people are taking a lot of their time.

01:00:07 They, they said there's been so much of an influx, you know, a 20 X growth in users and servers and so on.

01:00:13 It's been almost like a second full-time job.

01:00:15 So I think we should consider, you know, how do we make it something that is not a tremendous unwanted burden for these people who put together these places for us.

01:00:24 So, right.

01:00:25 It shouldn't just go, well, they need a thousand.

01:00:26 They got a thousand.

01:00:27 They're good.

01:00:28 There should be something more than that to help them.

01:00:30 And we are technically minded people.

01:00:32 We can volunteer our time.

01:00:33 People like volunteering to help with moderation, volunteering to help with, with systems administration.

01:00:38 These are all things that we should be ready to do as well.

01:00:40 Yeah.

01:00:41 And at the same time, I think like the technology will only improve, right?

01:00:44 Like Andrew Godwin just created a jungle asynchronous Fediverse server in what, seven days.

01:00:52 That's completely astonishing.

01:00:54 But the more the technology evolves.

01:00:55 And I think it's happening now that the human problems are going to become more and more apparent.

01:01:00 And probably some instances will have, will want to have full-time moderators or even part-time and they will want, I don't know, like marketing people, graphical design, communications.

01:01:10 They will want to coordinate with other instances.

01:01:13 They will want to, I don't know, fund progress in the activity pub, protocols that it's more robust and more feature complete, whatever.

01:01:22 So, like the more money we pour into the ecosystem, I think it's going to be good.

01:01:27 If there's like good accountability of how this money is spent and so forth.

01:01:32 And if it's as cheap as two cents a person, let's just go for it.

01:01:36 Yeah.

01:01:37 Yeah.

01:01:38 I, why, why not?

01:01:39 Right.

01:01:40 They have Patreon and also not just your entrance, but instance, but Mastodon, the bigger org also has a funding option.

01:01:47 I, for one, think this is a really lovely place to be.

01:01:50 I'm excited by what I found.

01:01:51 I saw a lot of comments in the live stream here that people found the noise, signal to noise ratio much higher over in Mastodon.

01:02:00 People felt very welcome there.

01:02:02 The kindness was really apparent there.

01:02:04 So I didn't end up here for the reason that I expected.

01:02:07 As Juan pointed out, some narcissistic guy went, banged around on Twitter for a while, tried to break it.

01:02:14 We'll see how that turns out, but I'm really glad that I ended up here.

01:02:17 So, yeah, it's, it's very cool.

01:02:19 Yeah.

01:02:20 Maybe we'll go top to bottom sort of, yeah.

01:02:22 Final thoughts on this, Carol.

01:02:24 I think it's a great alternative to have in our ability to communicate.

01:02:28 I hope somebody who knows it well, writes a good onboarding experience for those of us that are relatively new.

01:02:37 it wasn't hard to get started, but there were a lot of decisions that maybe aren't quite apparent when you first started.

01:02:44 Yeah.

01:02:45 I think we will probably see some changes maybe here and there as more and more people go in there and need to first get, yeah, get, get into the, into the way that we talk there into the way this, how, how this all works, how the community rules are and all that.

01:03:01 So I think there might be some bad things that will happen sooner or later, the bigger this, this stuff gets.

01:03:08 But I think, the community as a whole so far has shown that in theory, it should be, ready for that and should be able to solve that.

01:03:18 And it, yeah, big, big, big parts of how to solve these situations are in the issues are already built into the very protocol into the very concept.

01:03:26 So I have high hopes that this is here to stay.

01:03:30 Yeah.

01:03:31 It feels like Twitter back in 29 or even, I don't know if anyone else still remembers this, but before there was Twitter, I was on identica, which also was something like, like Mastodon basically also federated.

01:03:45 If I remember correctly, I'm not 100% sure.

01:03:48 And, so yeah, it feels a bit like the internet used to feel, and I really enjoy that as an old timer.

01:03:55 Yeah.

01:03:55 So same as you, Michael, I'm so glad that the pediverse and the Mastodon community so far is so friendly in general.

01:04:03 At the same time, I'm looking forward to having more conversations about what's next, what are the current challenges, what are the bottlenecks that are perhaps limiting adoption somehow.

01:04:13 Are we prepared for the next influx of users?

01:04:16 Like, I don't know where if Twitter collapses effectively next year, is the pediverse ready to take that amount of users in?

01:04:24 Do we want that sort of thing?

01:04:27 I think there's lots of questions to be asked, but at the same time, it feels so exciting that we're in a position to do that from a community perspective, with a distributed responsibility way of doing things.

01:04:41 Well, I'm not deleting my Twitter account just yet.

01:04:44 I will keep it around just in case.

01:04:46 But definitely, I'm Mastodon and the Fediverse first.

01:04:49 Now, I really want to have all my favorite people, all my favorite projects tooting from the Fediverse, whatever instance they land on.

01:04:59 And yeah, we're excited about the future.

01:05:00 Yeah, I completely agree with you.

01:05:01 Thanks, Simon.

01:05:01 I've got a call to action for people.

01:05:03 Toot about nice things.

01:05:05 Something I've been doing every day, I try and put up a message about one of my projects, which I do hash projects on, and I'm encouraging other people to do exactly the same thing.

01:05:17 It's like, like, celebrate things that we've built.

01:05:19 I try and if you click on media, I try and post a wildlife photo every day as well, tag with wildlife photography, because who doesn't want to see a photograph of a pelican in their feed?

01:05:30 Does your dog have a Mastodon feed?

01:05:33 Not yet. No, I haven't moved. She hasn't moved over to Twitter yet, but she should do.

01:05:37 She's not upset yet. She's still just sticking with that group. She's not upset.

01:05:40 She's a bit old fashioned on that front. Yeah.

01:05:42 But yeah, host nice things.

01:05:44 Reply to people. Get involved.

01:05:46 One of the things that we're all enjoying about Mastodon is that people are nice to each other and talk about interesting things.

01:05:52 So get on there and talk about interesting things and be nice to people.

01:05:55 That's the best thing that we can be doing right now.

01:05:57 I love that message.

01:05:58 Thank you, Simon, for the project hashtag because I have had a blast reading through that and also participating in that.

01:06:04 Excellent. Fantastic. It's really fun. Yeah.

01:06:07 Yeah, totally.

01:06:08 And I'll be sure to link to everybody's Mastodon profile so you can follow all the guests as I always do.

01:06:15 But I think that's especially relevant now.

01:06:17 Everyone's coming over. It's a little bit different to find folks and connect.

01:06:20 But my experience is Mastodon is very active, very full of Python people who are friendly and excited to be there.

01:06:29 And so it's a great place. It's not just a couple of people who are there.

01:06:32 It's a great community and folks should check it out.

01:06:35 Carol, Gina, Juan, Simon, it's been great to have you all here.

01:06:38 Thank you so much for being part of this.

01:06:40 Thanks for hosting us.

01:06:41 Thank you for having us.

01:06:42 Thanks to you for the bite.

01:06:44 Thank you for having me.

01:06:45 You bet. Bye, all.

01:06:46 Bye.

01:06:47 This has been another episode of Talk Python to Me.

01:06:50 Thank you to our sponsors.

01:06:52 Be sure to check out what they're offering.

01:06:53 It really helps support the show.

01:06:55 Starting a business is hard.

01:06:57 Microsoft for Startups Founders Hub provides all founders at any stage with free resources and connections to solve startup challenges.

01:07:05 Apply for free today at talkpython.fm/foundershub.

01:07:10 AWS is the lead cloud for developers, but with over 250 services, it's an overwhelming set of choices.

01:07:17 That's where the AWS Insiders podcast comes in.

01:07:21 Their job is to help you make sense of all those AWS options.

01:07:24 Listen to an episode at talkpython.fm/awsinsiders.

01:07:29 Want to level up your Python?

01:07:31 We have one of the largest catalogs of Python video courses over at Talk Python.

01:07:35 Our content ranges from true beginners to deeply advanced topics like memory and async.

01:07:40 And best of all, there's not a subscription in sight.

01:07:43 Check it out for yourself at training.talkpython.fm.

01:07:46 Be sure to subscribe to the show, open your favorite podcast app, and search for Python.

01:07:50 We should be right at the top.

01:07:52 You can also find the iTunes feed at /itunes, the Google Play feed at /play, and the direct RSS feed at /rss on talkpython.fm.

01:08:01 We're live streaming most of our recordings these days.

01:08:05 If you want to be part of the show and have your comments featured on the air, be sure to subscribe to our YouTube channel at talkpython.fm/youtube.

01:08:13 This is your host, Michael Kennedy.

01:08:15 Thanks so much for listening.

01:08:16 I really appreciate it.

01:08:17 Now get out there and write some Python code.

01:08:19 I'll see you next time.

01:08:20 Bye.

01:08:20 Bye.

01:08:20 Bye.

01:08:21 Bye.

01:08:22 Bye.

01:08:23 Bye.

01:08:24 Bye.

01:08:25 Bye.

01:08:26 Bye.

01:08:27 Bye.

01:08:28 Bye.

01:08:29 Bye.

01:08:30 Bye.

01:08:31 Bye.

01:08:32 Bye.

01:08:33 Bye.

01:08:34 Bye.

01:08:35 Bye.

01:08:36 you you you you Thank you.

01:08:40 Thank you.

Back to show page
Talk Python's Mastodon Michael Kennedy's Mastodon