 The talk tonight is rocking the web blout, modern gopher, Gemini, and the small internet. So Tomasino is going to present for you. The web is a mess, bloated with data gathering trackers, predatory UX, massive resource loads, and it is absorbing everything it touches. The small internet is a countercultural movement to wrangle things back under control by minimalism, hands-on participation, and good old-fashioned conversation. Tomasino, take it away. Hi. All right. Hey, there we go. And there we go. Thanks, everybody, for coming out. I want to talk to you a little bit about the places on the internet that don't suck. There's not a lot of it, but it's okay. We don't need a lot of it to have fun. So this is the small internet. This is a countercultural movement that has been around since the beginning, but it has a new name now in the face of what has become this monolith, this capitalist, overwhelming entity that has taken over and become my day job. So I am a marketer. I spend all my days doing all of those horrible advertising things that we hate so much, and when I'm done that, I like to go to my small corners of the internet where I can have conversations with friends, where I can be at peace, not be tracked, and remember the good old days when I was young. For me, that was BBSs. I had just gotten dial up, and I wanted to explore this new world out there, and I dialed into my local BBS and found forums, found people that I could chat with, and that essence is still there, it's still on the web. It hasn't been taken completely over by Facebook, but in order to get to it and to feel safe doing it, people bend over backwards. We are faced with this overwhelming entity now that is this modern web, and it's intimidating. So today I'm going to talk to you a little bit about what that small web looks like, where you can find it. We're going to talk about the technical details of some of the protocols that you can use to get there, and we're going to talk about the sociological aspects of why people are coming to it. Yeah, so let's dive right in. At the end, we should have time for Q&A. If I run long and if we don't, you can find me at the quarantine arms tent. It is that way in Lamar field with lots of inflatable things. Really easy to spot. All right, so I'm not going to spend a lot of time on this because I'm pretty sure this crowd knows very well what the state of the web is today, but I just wanted to run through a few highlights. It is run by very few companies. The vast majority of the data online, your data, our data, is running through very few narrow ports of entry, and it's being harvested. It's being watched. It's being used. It's being monetized. This is not news, but it's our reality. Moreover, people are embracing it. We see overwhelming numbers of people diving into these individual monolithic platforms thriving there, moving on to the next one, thriving there, but they've lost something. They lost that sense that we had of small community. You can be a tiktoker. You can be a YouTuber, but you can't be your local neighborhood tiktoker. You can't be your local neighborhood YouTuber. This data is from the U.S., but it speaks to, I think, a worldwide feeling of lack of control. Knowing that those trackers are there, people feel helpless. They feel overwhelmed. They feel like there's nothing they can do about it. Why care? Even if they do care, right? Try to dismiss it. Try to move on. Now, some of this crowd, I'm sure, has taken really rigorous steps to mitigate this, but the vast majority of people don't. This is the most aggressive stats I could find of just ad blockers. In these most aggressive stats, we see in our youngest audience not even half of people are using an ad blocker. It's kind of shocking, really. I know you're all, let's see, show of hands. How many people here use an ad blocker? Right. Right. Apparently, 51 or 50.8% of males, 16 to 24. Now, the reason I bring this up is because the audience that participates in these small internet, those people who have self-selected to do so, are a lot like this crowd. I ran a survey recently where I asked people that consider themselves part of the small internet a series of questions. One of those questions was, what technologies do you regularly use in browsing the web? We have over 90% use of ad blockers, or pie holes, or some other rigorous method of blocking heads. But also, we have some, oh, hey, look at that, I've got a mouse. We have some other things that are in common use. Over 25% of users of the small internet are comfortable using a text browser. How many people here have used a text browser in the last year? Yeah, this is my audience. That's right. There you go. Now, what I do want to point out here, just before we move on, you'll see somewhere between 25 and 50% of people disable JavaScript. This comes up over and over again. As we get into the whys and hows and what a small internet user looks like, there is not a common definition amongst everybody. There are some people that are very adamant that to be small internet, you can't have JavaScript. There are others that, well, don't care so much. There's other things that are more important. What are the motivations for people? This was an open-ended question in that survey, and I got 100, well, 331 responses. This is a word cloud based on those responses. You'll see some things trickling to the surface here, although there are different reasons that drive people to the small internet to participate in these small communities and avoid surveillance capitalism, at least for some of their time online. The motivations vary from community and people, simplicity, to specific protocols. You might notice Gopher is named there. The Internet, a little more specifically, I gave them categorized responses and said, what is the main motivation for this? And interestingly, the number one was the technologies. The actual tech itself, being off of the web and on something like Gopher or Gemini, which I will discuss in a little bit. These were major drivers, also the idea of community, though, a major driver as well. So I've talked a lot about it, but I haven't actually spelled out what the small internet is, so let's do that real quick and then we can dive into some of the specifics. Asking our users of the small internet who all say they are members of it, asking them what it is, I got a ton of answers, and some of them will go beyond the scope of what we're going to talk about tonight. Overwhelmingly, Gemini was a leading one, and we're going to talk in depth about that. Gopher had its presence, but we also saw a lot of people that consider mailing lists, part of the small internet. IRC servers, Usenet, or NetNews protocol, not necessarily tied into Usenet. The Fediverse popped up a lot and Mastodon popped up a lot, but always with caveats, some corners of the Fediverse. Not everything. So it's interesting to see what people consider it, but if you kind of take a step back and blur your eyes a little bit, what all of these things have in common is that they're defined by being oriented toward that individual experience. The individual is not treated as a customer to be sold something. The content is the individual. It is our interactions. Also, all of the people that responded were looking somehow to avoid a centralized system or a corporate system, and they were looking for deeper connections, conversations, connectivity. A lot of the same kind of philosophies that you see from slow movements, slow textiles, slow cooking, the way that we can intentionally be with whatever we're engaging with, that's what they're looking for. So being a participant and not being tracked and not being commercial. Now I put an answer on this because, well, before we got too far in here, a common thing that pops up before we get in to go for Ingem and I, a common thing that comes up is, can't I just do that on the web? And the answer is yes. Everything we're going to see here tonight, we can do on the web. But what you can't do on the web is click a link and know that where you're going isn't going to track you. It's always a possibility. Somebody else's site might have something. And so there's an unknown factor. There's a lack of safety there that your browsing, which is small and cozy, could all of a sudden end up somewhere foreign. Yeah, we're back. All right. So these same small internet users ask them, where do you go? Where do you spend your time? Go for Ingem and I, big ones. Self-hosted individual websites, the ones that they control, big time. Who here runs your own website? All right. Who here has links on your website to other websites you find interesting? All right. Who used to? All right. So that mentality of that circle of friends, that circle of trust, that circle of this is interesting stuff, is prevalent heavily in this community. And so the people that are still doing it, you're already participating in the small internet already. You might not have that name to it. But we're going to talk a little bit more focused on the technologies that you might not be spending all your time on. All right. What makes it small internet? We've talked about this. All right. Hello. How much total time do people spend in these little conversational areas with people in IRC, with people on the Fediverse, or in Go for Ingem and I as part of their total internet usage? This is kind of a pie chart breakdown of percentages. So what you'll notice here is, you like that? What you'll notice here is that the small number, the less than 5%, represents a relatively small portion of the pie. Most people that are on the small internet are using the small internet. I try to think of the most horrible way to visualize this, and that's about it. All right. All right. So let's talk about it in practice. A website, creating it, having it hosted for yourself, it's nothing I need to cover here. Instead, we're going to talk about two major protocols that are in use right now that are the backbone of these communities, Go for Ingem and I. Starting with Go for. Who is familiar with Go for? Yes, lots of hands. Okay. Let's try that the other way. Who has not heard of Go for before? Okay. All right. Cool. Cool. Cool. We have a couple. So what is Go for? Well, this is from a presentation that came out in 1992 by the creators of Go for introducing Go for. It is a distributed document search and retrieval protocol. It supports browsing the hierarchical collection of menus. If this sounds at a glance like FTP, it's because it kind of is. This was a protocol developed at the University of Minnesota. Golden Gophers named after their school mascot. And it was developed pretty much in a weekend. The school had been asking them to come up with a method for creating a browsable system where they can kind of bring all of the offerings of the school together. And the team had this crazy idea. Instead of making a mainframe app that people connect into, what if they just ran it on simple hardware, and they created a server client system that could talk to each other. And the school hated the idea and then told them to shut it down. So they built it really quick and put it on FTP. And it was a huge success. It took over the internet. It was the internet for a short time. It released in 1991 a few months before Tim Berners-Lee put out, well, the web. In fact, the web was announced on Gopher. So how does it work? It's a simple TCP connection on port 70. And you send a selector. It is a string. And the server takes that string and uses it to look up something and return it to you. And that's the whole protocol. That's it. It's amazing. You guys could probably build it while you're sitting here. Right? Yeah. All right. So a simple go for session back in 1992 looked like this. It is very, very similar to an FTP experience. There is hierarchical data that you can browse through. You could click on different types of documents. It might be a text document that you download. It might be a binary file you download. You could link you to a telnet server or to a dictionary file or to a CCSO name server. It was a precursor to LDAP. There's a limited number of options about what you could have connected to. But at the time, it was everything. Everything on the web was accessible through one simple system. What you're seeing now is the web or is the Gopher space being browsed today. This is on the links. If you have links installed, you already have a Gopher client. If you connect to something with Gopher, colon, colon, or colon slash slash whatever, you're on Gopher. There are other better designed clients like Fetch, which is about to pop up here, that support some extra things like UTF-8 and even terminal color codes to make your Gopher session look really sexy for text in the terminal. Now the spec was built in 1991, and it never really got an update. There was a try for a Gopher Plus that didn't take off. In fact, by that time, the web was already on its hockey stick rise to fame, and Gopher was petering out. There were some poor decisions from the university trying to charge for servers that were going to run it. They were trying to make a commercial product out of it at a time when the internet was still very much about free. It was about freedom. It didn't go over well, and it kind of tanked. As a result, Gopher slowly dissolved away, and it nearly disappeared. In 2007, there was fewer than 100 Gopher servers left online. Before we get into what's happened since, I do want to address some issues. This came out in 1991, and it never really had any major updates like we've seen with the web. There are some issues. One, it's plain text, which is either a good thing or a bad thing for you. If you are running, if you're a kind of person that likes to run vintage hardware, this is great. It makes it really easy. You can run Gopher on an NES. I've seen that. It's really cool. There's no support for small device screens. Things designed to be a fixed column or a fixed width and displayed as such. The original Gopher specs said less than 70 columns. These days, people try to stick under 80, but even so, it's not comfortable on your phone. Finally, the index format that we were seeing browsed through in those sessions is awful. It is a criminally bad format. They're called Gopher maps, and it is a line-based format with a leading fixed column. There is one column at the beginning that is one character long that tells you what that line means. Then everything after that column is tabbed or lineated, including a description of select or a host name and port. What kind of item types can you have in that first column? Here they are. The top list is what was released with Gopher when it came out in 1991. Text file, that's still relevant. Gopher submenu or directory, that's still relevant. Binary file. There you go. You could use Gifile, although these days, people would probably just serve you binary. Basically, it's dated itself out of being useful, this item type thing. At the bottom, these are some of the other item types that evolved into Gopher through common usage. The type I is a descriptor line that lets you put text in a menu, kind of describe what's happening and give some structure to your page. That was released within a year of Gopher showing up. The others came rather later, Sound and the HTML being one of the latest additions that lets you link to URLs. At the bottom is what an actual Gopher map file looks like in practice. That is a literal tab character there. You can't have spaces for your tabs or it won't work. But what you're seeing on the top is kind of the sections of that file broken up for reference. A file description, the path, domain and port. I will note the path and file name part, it's commonly used as a path and file name. But Gopher defines it as a selector, it's a random string. If you want to do a random string that matches something in a database, you can do that. Some people do wikis instead. So there is no path structure, it's just all kind of flat. It is really awkward to work with. If you wanted to do some cool messages, they look like this. This is my Gopher site as seen through Curl. You will see the same thing at a net cat if you pull down port 70, it is atrocious. One rendered through a client, it's nice, but working with this is troublesome. If you are looking to get into Gopher, it's really, really an easy protocol to work in, but I'm sure you, like just about all of us, will start by making yourself a little script that builds this instead of having to do it by hand. So, without in mind, oh, yes, Gopher is still going strong. I mentioned in 2007 there was fewer than 100 servers. Today, there are 329 servers, we've come back up. Of those 329 servers, there are over 5 million individual selectors, those are different files or resources available. Gopher doesn't have a lot of servers, it's not very wide, but it's very deep. If you're into archaeology of the web or archaeology of the internet, check out Gopher, whatever you lost is probably there. So, Gopher, how do we fix it? Well, a common griping about three, four years ago was we need some sort of encryption. And there are some people that have experimented with throwing a TLS wrapper on Gopher, using a different port instead of 7070. And you can do that pretty easily just with a, you know, with literally a wrapper. But the line wrapping on mobile is a problem, right? Everything is designed for this fixed width. It would be nice if we had an adjustable thing so we could use it on the devices that are in our hands all the time. The item types are kind of useless, and we developed MIME types later and they are much more flexible, that would have been cool. We really need to get rid of the Gopher map. If we could replace that with something that was a little more intuitive, that would be really good. But we don't want to lose track of what made Gopher great, right? We don't want to get lost in the web's vision of improve it, improve it, improve it until nobody can build a client anymore, because it's too complex. So let's keep it simple. Let's avoid the extensibility. That would be really cool. So let me tell you about Gemini. Gemini is this. We've taken Gopher. We've stripped that plain text connection and wrapped it in TLS. We figured out how to do some line wrapping. Let's use MIME types, give it a markup. You know what? Here we go. We will use TLS and in order to keep it easy to implement, we're not going to use centralized authorities for kind of validating that. We're just going to use tofu. Trust them first to use. So the first time you hit it, you've got to assert, boom, it's good. I trust you. Next time, if it changed, though, I'm going to do a warning or something. You can handle it. Soft wrapping will be the default. We want to support mobile devices, but we really liked ASCII art. So we're going to put a preform added block that you can use in there. Everything in Gemini will use MIME types. You can use any MIME type you want, but in order to make this protocol usable and not immediately fall into the trap of it's just web under another name, we're going to create a basic format that all Gemini servers and clients need to be able to speak at a minimum. And we called it gem text. It looks a lot like Markdown, but it is line-based. There's no inline semantics. So you have headers, you have bullet, single, not nested bullet. You have, quote, these are things that you're used to from Markdown. There's a couple other little options, but everything is line-based. So the first three characters of the line in Gemini will tell you what it is, what it can do. And then the last two things are kind of a philosophical aspect of the spec. The first one is that any interaction you do in Gemini, whatever you click on, you're allowed as a client one request to the server. That was what you just initiated. There is no chaining. There is no secondary resource loaded. Certainly no JavaScript getting loaded. No CSS. The styling of Gemini content is up to the client. If you don't like the styling of your client, you're free to use another client because the whole idea of this was we wanted to have something that you could build a client in less than 100 lines of code. You could build a server in a weekend. And as a result, that's what people have done. There are just tons of clients and servers available for Gemini. Now, this philosophical aspect I want to talk about, this is something that probably doesn't fly in an IETF spec doc, but it was really important that Gemini, when it was created, it had a vision of not going down the path that the web did. It's not designed to replace the web. It's not designed to replace Gopher. It's designed to provide an alternative, a place where people that like simple text content can browse safely, but they can do it from a more modern device. They can do it from their phone. It's not going to track you because there's no mechanism to. In fact, it's incredibly difficult to build in tracking and impossible to build in what you would consider like super cookies. You could track people on your site if you dynamically rewrite every single link every time they click on one and follow that pathway through. But the second they leave your site, that information's gone. As a server, you're provided the selector, it's sent to you, and the TLS handshake. Now, TLS is awesome because it allows us to do some things that we don't do on the web that are available. We can create client certificates in Gemini. And good Gemini clients are built to do this. So if you need to log into a website, if you wanted to have an account on a website, maybe Astro Botany, which is a really popular Gemini site, you can connect your client certificate that you've created for that site, and it will send the signature across. There's that validation going on. The server ends up with a hash of your cert, and that hash becomes your ID. And that's as simple as that. You didn't need to sign up for anything, and you can revoke it. You can create those on the fly if you want, or you can create long-lived ones. It's really quite flexible. And building applications in this is really easy. It's as simple as a CGI script. So what you're seeing here is a Gemini browser called Crystal. It's built with QT, and I've got a nice dark mode styling that I've put on here. But the links that you see are equal sign, greater than sign. And that's kind of it. That's how you link to things. There's no inline linking. There's no underlines. There's no bold. There's no styling. It's just information. There's hierarchy. On the left-hand side, you see these document outline that's being generated automatically based on headers. So you can jump around. And that's it. It's very, very simple. Cosmic Voyager just came up. This is one of my servers. People can sign up here and write little mini sci-fi stories. And this gets to the heart of the why. Talking about the how, here's some jump text code. You can kind of see the markdown-ish looking stuff happening, two different articles left and right. The how becomes quite easy, compared especially to a go for map. Writing in something that looks vaguely like markdown. There are syntax files for major editors available as well, if you want highlighting. But authoring content becomes really easy. And the active styling is taken away. You don't need to worry about it. The ecosystem to host this is something you could roll your own. Or it takes incredibly low resources to put on to an existing server. Jump text, line-based. First three characters determine the line type. And there is the total amount of options that are available to you. You can have an unordered list, three levels of headers, no fourth level, links, quotes, and there's a basic input. You can enter small strings. So that could be used for search. It could be used for comments. Some people have used it to create entire blog systems. You can just type it in. The design, completely left to the client. We have, I think it was the third client that was built for Gemini, was an auditory client. This is incredibly good for accessibility. The only element on here that's, by its nature, not designed for accessibility is the preformatted blocks, which could contain ASCII art. There was some discussion over the first couple years of the project, and there is a method now to include an alt text in that as well. A lot of times the preformatted blocks are used for code snippets, in which case it would be unnecessary that content could be read. But in cases where we want to avoid somebody using an auditory display, getting read a bunch of periods and spaces and quotes, the alt text suffices. Now, Gemini launched in 2019. By 2021, it had 1,200 servers. As of two days ago, there was 2,560 servers. It has been growing very quickly. But you'll notice the total selector is available on Gemini, only 400,000 or so, compared to Gopher's 5 million. So while Gopher is small, it is deep. Gemini is wide. Both are very exciting places. Gemini is quickly, quickly growing. And the big challenges it faces right now are awareness. It doesn't have the longevity, the long history. So the people that are coming into the small internet that do so from nostalgia may harken back and be like, I wonder if Gopher is still around and stumble in. Or they might discover a site like SDF, the Superdivential Fortress, and realize, hey, there's Gopher available. Gemini doesn't have that. It's hit hacker news a few times and gotten some influx from there. But generally, it's word of mouth that's been spreading it. So awareness continues to be a challenge. Authoring of content is a challenge for non-technical users. There is no really simple system yet in place for somebody who can just sign up and create their Gemini site without having to know how to code a little bit. That's a problem that's being overcome by some people that are creating web interfaces for the authoring part of Gemini, which is an interesting kind of workaround. The content's only browsable through Gemini, but you can author it through a web page. And then finally, the philosophy itself of Gemini is a challenge for Gemini. Gemini grew out of a hacker community from people that were like, we like Gopher, we wanna hack on it and make it better. And now it's filled with hackers that wanna hack on it and make it better. But its philosophy is don't hack on it and make it better. We want it to stop now. And that is constantly butting heads. If you check out the mailing list archives, there's actually a Usenet channel for Gemini. It's the first new Usenet group that was approved in like a decade. There is a Usenet group and if you look at that, you'll see tons and tons of stuff of people saying, I love Gemini, I just wish it had X. And X is always different. And if we add it all together, you have the web. So we have to draw the line in the sand somewhere. And the author of the original spec, Sotrpunk, I think he did a good job. I personally would have loved underlines, but okay. So now when we talk about the small internet, not just Gopher and Gemini, but all of it, what issues does it face? This is more word soup from that survey. So a lot of people talking about the drawbacks of discoverability, odd protocols, entry, lack of content is a big one. How do we get more content on Gemini? One of my age old complaints is, we need more content on Gemini that's not about Gemini. So if you do decide to check it out and create yourself a Gemini capsule and you wanna write about stuff, write about anything that's not Gemini. We need it. We wanna browse it, we wanna read it. A lot of tech people right now, we would love to see more diversity in that community as well. It is a small community, but it doesn't need to be a gate-kept community. We can be welcoming and have a variety. There's always new and interesting stuff popping up, but I would love to see more and more. Now, the communities, I did mention them a few times and I think I talked about one, but what else is a part of the small internet? It's not just the protocols themselves, but it is the communities where these people spend time. So two of the main ones are, well, it's kind of the same thing, Tildes or Pubdix's. Who knows what a Pubdix is? Awesome, okay, Tildes? Anybody heard of a Tildes? Tildes? Yes, all right. Tildes or Pubdix's, they are public access systems that are basically like you used to use 20 years ago. When you needed an account somewhere, you got an account on a server that somebody ran. It might have been a school, might have been a community, but you got a login, usually a shell login, and that's what these are. They give you a home, a tilde on the internet. They're run by individuals like me and usually they are free. I don't know of any of them that are charging currently. And it's for fun, it's for community. So some Tildes are geared towards a specific topic and they try to attract people around a common interest. For instance, there is breadpunk.club, which started up during COVID and if you have an interest in baking and baking hacking, you might check it out. They are very interesting. I mentioned cosmic.voyage, that's the one I write or that's the one I've created. It is for sci-fi writing. We have a very loosely shared universe where you can kind of write mission logs from your own weird space story and see as it's relayed back to Earth in old text form communication. Some Tildes and some Pubnixes are general purpose and they will just create a shell account for you and you have access to programming tools, you have email. And for some people, it's stuff that they already have, but they want anyway because it comes with a community. When you log into that system, there are other people there and there are shared things you can do. Sometimes it's games. Tilday.town has a interactive graffiti wall that is a virtual graffiti wall in the terminal that is endless. And if you keep panning, it keeps going and it is just chock full of random stuff. Some of them are art projects. Some communities have put together mixed CDs of their own original work. But the heart of it is community. You can find more about Tildays at tildiverse.org, Tildayverse, or just Google Tilday. There's a bunch to pop up. Now, Usenet and the NNTP protocol, Usenet itself is not in great usage, 10 minutes, OK. But NNTP, the protocol behind it, is getting a small resurgence in the Tilday communities. So if you're into that kind of forum thing, you can find it. There's a new version of it called NNCP that has just been released. Anybody heard of NNCP? It's really impressive. Yeah, I don't have time to go into it, but it deserves some solid looking into. Finger. Everybody knows Finger protocol? Finger. There are whole social networks built on finger these days. Poke around. And some parts of the Tildiverse, yes. The superdimensional fortress I mentioned, this is their little join page, stf.org. You can join them for a free shell account, get access to go for right away. Here's the Tildiverse.org as well. Now, what does the small internet solve? It didn't fix surveillance capitalism, but it gave us an alternative. You don't have to spend all your time on Facebook. You can go spend greater than 5% of your time elsewhere. It also embraces this concept that we don't need to scale to be successful. You can have 350 go for servers online, and that's cool. There's 5 million selectors there, right? Go browse. You will not finish browsing go for today if you start. It's deep. And other stuff, it's just fun. So with that in mind, I'll open up the questions. Any interest? We have a mic there. We've got a few minutes. And if you're uncomfortable talking there, again, find me at the Quarantine Arms. I'd love to chat about it with you. And make sure to come line up behind these microphones in the middle. Go ahead. I started at Tildiverse recently and got in the community about two or three years ago. And I'm now talking to Ben, the admin of Tildy.town and Tildy.team. Yes. And we're starting a new Tildy first called delta.tux.nl. Oh, nice. That's great. Is anybody else on Tildy already? Anyone? Any hands? One in the back. All right. This is good. This is good. I'm sorry. Was there any other questions you had about it? You just want to share? Yeah. OK. That's awesome. Thank you. Thanks. Yeah, thanks for sharing. Please restrict the questions. But then also follow the instructions from earlier to go and spend time with Tom Sino later. Go ahead. Hey, yeah. The web has kind of turned web 2. Obviously, the original web was just kind of publishing stuff. And then web 2 brought in the collaborative stuff. I mean, obviously, this is the antithesis of that. But has anyone tried to make a chat site on Gifu or Gemini? Yeah. So one of the things I didn't get into a little bit, there's an accidental feature of Gemini that came out. Because it's line-oriented and the way the spec was written, it actually supports streaming accidentally. And so if you were to do like a guy named Maz did and create an endpoint that just constantly feeds the contents of the chat, you can connect in another tab to the part where you can give input to the chat. And now you have a chat room. So yes, those exist. There's gopher versions as well. They're kind of hokey. And a lot of them are playground experiments right now. But one of the things the designer of Gemini dreamed about when he was musing about the protocol at the start was, it doesn't need to just be clients that are generally browsing Gemini space. We can create specific clients that are designed to work with specific endpoints to create an entire application. And absolutely, do it, share it. I'll use it. Yes, wait. Cool, thank you. Thanks. And is there any message over signal? Go ahead. Oh, we have signal. No. Oh, I should check IRC. That means it's part of the conference. OK, go ahead, please ask Chris. What kind of encryption would it use? And is it vulnerable to men in the middle attacks? It uses TLS. And currently, it is vulnerable to men in the middle attacks if you are men in the middle before your first connection, if you're relying on tofu. Now, that being said, tofu can avoid that if you also have TLSA in place. If you have DNSSEC and you're using Dane Records, you can validate that that connection is indeed who it's supposed to be with tofu. It has not been implemented in any client yet. I have it running on cosmic voyage, though. So if you want to build the client, you can test it. All right. So whole Gopher and Gemini, they're text-oriented. And sometimes it's really cool to share images. Yes. What's the philosophy, the approach that's encouraged for images in artwork sharing? Yes. There are a number of galleries that are on Gemini. The difficulty there is, typically, in the gallery view, you expect to see the images. But because of the one-click, one-response nature, what you'll end up with is links. So you could post, here's my photo gallery and give text descriptions of each of those. And then people can then click them. Now, some Gemini clients like Lagrange, a very, very, very popular one, written in SDL, they choose to expand images in place in the document when you click on them. So it's just a client creative choice. So a gallery looks great in there. Instead of clicking to a picture and then coming back, you kind of expand as you go. But it's certainly there. And it needs more exploration of how to make it work while trying to maintain those limitations of the protocol. And images are loaded through the Gemini protocol? Yes. Yeah, Gemini does support, theoretically, any MIME type. The downside of it is there is no file resuming and there's no compression on the actual transmission. So sending large files is fine if you're on a fast connection, but probably not otherwise. We have, we do currently have audio streams, 24-7 audio streams on Gemini. We do have podcasts on Gemini. And there are a couple of video experiments, but they are not so hot. But yeah, you can serve anything with the MIME type. A lot of times what client authors do is, if they haven't written something explicitly, handle it, they'll pass it off to the OS. Thanks. So we have time for just one more question. If it's somewhat clear, thank you. Client certificates expire. So after a year or so, you get a new hash and you compute in the server. Is there a solution for that? Right now, the solution is the recommendation is actually to create long live certs, unlike what we've been doing in let's encrypt with lots of changes. Now, if you are of the type of person who likes to renew regularly, you can do so by keeping the same key and renewing and that will update just fine. If you change keys though, you're gonna get a warning on the client. Now, I hope when we do see more DNS sec hit across the internet and we can start using Dane, that all goes away. You can change it all the time. Client, Dane, couple to a domain, and my score is indeed, yeah. Exactly, thank you. Well, thanks everybody. Yeah, let's all thank Thomas here again. If you wanna remind them of where they can... The giant inflatable flamingo is your marker. It's the quarantine arms tent. It's in Lamar field that way. If you have any more questions.