An interview with Solderpunk about the inspiration and the creation of Gemini!
In a previous article, I’d talked a bit about the small internet including a really cool corner of the internet called geminispace. Gemini is a protocol, a way of communicating across the internet, that’s kind of like a simplified version of the hypertext transfer protocol that makes all the web sites you visit every day work. Gemini, in addition to being more limited than the web to make it more private, is made to be an easy protocol to understand & implement. Geminispace has its own little community of privacy conscious programmers, writers, and thinkers. It’s practically a right of passage for people to make their own gemini servers or browsers once they get into the community.
Gemini was started by just one person, who goes by the handle Solderpunk online. Solderpunk made all the original clients and servers, including the reference examples in multiple languages that are under a hundred lines of code each. As someone who’s active in geminispace myself, I wondered what kind of person would just decide to make an entire new way of talking over the internet, and so I reached out to ask them some questions about themselves. What follows is a slightly edited version of my questions and their answers. There are some things they talk about that you might not have heard of before. I provide links at the end of this article covering some of the things they’re referencing obliquely.
Q: So Solderpunk, how’d you get into programming and computer things to begin with?
Solderpunk: Like a lot of people my age, I was introduced to computing through 8-bit home computers. These started to appear a few years before I was born, so by the time I was old enough to do anything with them they were everywhere. My parents bought a used Commodore 64 when I was very young – actually, going to pick it up is one of my earliest memories!
I didn’t start to develop serious technical skills until later, around the age of 15. At that point I started using pocket money to buy old 486-era PCs which were being sold cheaply by people who had upgraded to Pentiums. I started installing Linux on these machines, and taught myself to code in both C and Python.
Q: So before Gemini you were involved in Gopher, an old protocol for serving text only pages on the internet. Given that the web “won” over Gopher, what got you interested in it? Why not just use the modern web?
I first learned about Gopher in the late naughties, by studying the Python standard library, which back in those days had a (now removed) gopher module in it. I was immediately charmed by its simplicity, compared to HTTP which I had learned out of a book just a little earlier.
Over the next ten years, the computing scene became increasingly bleak from my perspective. The web became a lot more centralised and a lot more commercialised. Smartphones and similar devices started to displace what I thought of as “real computers”, giving users less control over the machines they owned. And, of course, the full scale of internet surveillance was made clear to us. This didn’t go entirely unnoticed, but I felt like relatively few people seemed as bothered by it as I was, and even people who complained seemed to have a sense that these trends were somehow inevitable and couldn’t be stopped.
In 2017 I got back into Gopher. For the first time in a very long time I felt like I was once again amongst like-minded people, and people who didn’t just complain about aspects of computing they didn’t like, but who opted out of them and built alternatives. I haven’t looked back since.
Of course I still use the modern web for some things. It’s almost impossible to avoid. But I’m actively trying to reduce the role it plays in my daily life. I don’t like don’t like how powerless the modern web user is over the experience, compared to the host of web content. Visiting websites is basically a matter of downloading and running software, without any way to know in advance what that software might do, and very little ability to pick and choose which things you let it do.
Q: I know you care about sustainability in general. How do you see the role of computers and our computing infrastructure as part of that, both in terms of how they help and hurt?
I’m really quite worried about the environmental impact of computing, and consumer electronics in general. It’s easy to feel good about it, because devices are getting more energy efficient all the time, in terms of how much power they consume while actually running. Running a RaspberryPi or an iPad for one hour takes a lot less energy than running one of the beige box desktop computer and CRT monitor combos I grew up with for the same time. But the devices take a lot of energy to make in the first place—more than they need for years and years of daily use—and they’re built out of many kinds of materials that have to be mined and refined, which are environmentally destructive processes. From this perspective, it’s important that we build fewer and fewer devices, and use the ones we do for as long as possible.
Q: Gemini: what made it occur to you? What was the moment that made you think “why not make a new protocol”?
I started thinking about the design of Gemini with almost no expectation that it would ever become a real, actual thing. The motivation really came to me after I had noticed that more and more people were starting to get into Gopher for the same reasons that I did, but some of them were struggling to adapt to some of the differences between Gopher and the web.
I also wondered how many people wouldn’t consider Gopher as a serious option due to the lack of support for encryption, something which many people became really radicalised about after the Snowden revelations. It eventually became clear that addressing some of the shortcomings of Gopher would require a new protocol, but I was very aware that I just wanted to make minimal changes, and to maintain the “spirit of Gopher” while making a slightly more feasible alternative to the web.
Q: Would you encourage kids to experiment with making protocols and things like that?
I would always encourage young people to experiment! Especially in a computing context, where even the simplest computer offers an almost infinite scope for experimentation.
Edward Snowden and issues of privacy
Cobalt and sustainable batteries
A Look back at Gopher
Ultimate guide to green computing
Five ways to practice green computing
Also In The February 2021 Issue
Low code and no code software makes it possible for non-technical people to create software.
Learn how to program through a series of fun and dynamic activities in Patricia Foster's book!
Learn how to make a contact microphone for picking up the vibrations in your sonic experiments!
If you can't go out to an art museum, then bring the art museum to you using Sketchup!
Find out how people are saving classic games through restoration and archiving!
Rediscover the fun of some of the first video games with Inform 7!
Tackling the issue of ethical app design in this Parent Teacher Corner.
Find out what a giant wooden horse and your cyber security have in common!
Learn how 5G is helping surgeons perform surgery from the other side of the globe!
Zip Zop Zoom! Learn the super cool logic behind 'ZIP' Files!
Learn about some of the ways people use to communicate before the internet!
An interview with Solderpunk about the inspiration and the creation of Gemini!
Forks are used in software development to describe how projects and software work.
Computer science unplugged teaches how computers and computer science works, without the use of computers.
Links from the bottom of all the February 2021 articles, collected in one place for you to print, share, or bookmark.
Interesting stories about science and technology for February 2021.