Transcript: Interview with Boyter about Mastinator

from Ep2 28 Dec 2022

Across the Fediverse: It’s important our community contributes stories to across the Fediverse and one that came into our Lemmy instance last night was one about Masternator. Masternator appears to be a Fediverse aggregator. It’s developed by Boita and Boita is joining me today to chat about it. Welcome Boyter.

Boyter: G’day.

Across the Fediverse: So tell me what is Mastinator?

Boyter: So in a nutshell, Mastinator was something that I created while I was learning about Activity Pub. So I don’t know if people know of the website Malinator, which is a disposable email website where every email box existed. Basically, I was playing around with Activity Pub and figuring out how it all worked. And then I realized that I didn’t have an implementation to test everything against. And so I thought, well, I’ll create that. And then once I realized I created that, it was a short step to go, well, I could just create every possible inbox and put this online. And then I could test this. And then I realized, well, I could make this potentially useful for other people by giving everybody the ability to write, test their implementations against it. And then I just created the name Mastinator based on Malinator, put it online and yeah, woke up to some very interesting responses the next day.

Across the Fediverse: So some of the concerns folks are raising is the aggregation of their content under, or, you know, appearing a different domain which gives some folks some concerns for block evasion and for some other aspects of the Fediverse. Can you address those concerns?

Boyter: Yeah, so it’s only working within the specs of Activity Pub itself. So the way it works is when somebody goes to one of the accounts that exists, and I should mention every account exists on the website, they can then subscribe to any other activity pub server and receive the posts that go out. So it is working entirely as any other, Mastinator, lemmy or other instance is working. It has to have the content pushed to it. It’s never reaching any grabbing content from anybody. So if you don’t allow the follow, you won’t ever be able to consume the content.

Across the Fediverse: Yeah, so you’re unequivocally stating there. It’s not a proxy of content. It is a aims to be a standards compliant, um, I’m not sure you’re fully standards compliant yet. We can talk about that in a moment. I know you’ve certainly in some of your posts addressed the parts of the standard that are suggestions and the parts that are required. Can you tell me, I noticed some of the posts were specifically around deletions. Can you address that one?

Boyter: Yeah, so it doesn’t quite do deletions yet. I do have code to push out and that’ll happen sometime in the future. The way it works is that all of the content that comes in exists only in memory. So there is a limited amount of memory. I’m not going to run this with unlimited memory. It’s not going to keep everything all time. As new things come in, all things go out. There’s limited memory. By nature, everything is deleted eventually through the system. Once I do get the deletes working, of course, respect that as well. But as you said, yes, that’s a should do part of the activity pub specification. It’s not a must do. So I think there’s no expectation that you will actually do this beyond community involvement. And yes, absolutely. I do want to implement that because I want that on my own individual instance in the future.

Across The Fediverse: What would you say to the instance admins out there that are cautious or have some doubts about the ethical use of this tool?

Boyter: I mean, if you’ve got doubts, block it. I don’t really mind. It’s no skin off my back. If you block it by your name, block it, go for it. But keep in mind that maybe while I was the first to do this, I certainly won’t be the last. This was literally a few days worth of development work and I’m a pretty average developer. It was not that much to build something like this. I’m just being very public and happy to talk about what I did, why I did it and respond to feedback. So, for instance, I’ve already gone and added, by the way, this can never post anything. The original post belonged to the original poster. Here are all the links to it. Everything’s there for you. It’s literally just something I needed in order to test my own implementations.

Across the Fediverse: Do you intend to publish this source? And what is the stack you’re using as a dev myself?

Boyter: So the first question, am I going to publish it? Based on what I got this morning in terms of responses, I don’t think that’s a great idea. That said, it’s not much to implement. So I may end up building a very limited subset of it in the future, along with notes of how do you have suggestions on how would you go about defeating this sort of a problem? Because this is a problem that exists within activity. What’s been done here, it’s going to happen again. Somebody else will do it. In terms of the stack, it’s just a bit of custom go code that I wrote running on a very small virtual private server in Sydney. There’s really not much to it.

Across the Fediverse: It’s good to hear more golang out there, maybe I will catch you at a Sydney golang meet up at some point in the future. I have been known to attend them. So look, thank you very much for your time today, Boyter. We really appreciate you taking the time out to explain a little deeper what this Mastinator tool is about and hopefully address some of the concerns out there.

Across the Fediiverse: Folks - you heard it from Boyter himself just then, if you do have concerns go ahead and block it. Thank you for your time today.

Boyter: Thank you very much.

Transcribed with OpenAI Whisper