20 Sep 2025 ------------ Thoughts: Linked Learned some new words along the way of using Gopher - smolnet. I still don't really understand the definition of smolnet, but sounds like more places to go to. After writing the first "mole" - more terms used in the Gopher settings, in essence a CGI script that run in a Gopherspaces - I kept thinking what kind of other things Gopher protocol can do while not a text replacement of what the modern web technology can do better. The first "mole" is just a game, at the "Experiments" section. It was actually a game on an old Casio watch, if I remember correctly, the JG-10 Infrabeamer. The user manual referred it as "galactic defense game", otherwise I would have named it "Space Defense Force" a.k.a. "SDF". The main challenge was to maintain "session", which doesn't exist in Gopher. I am sure that many of the experienced Gopher users have already implemented different ways to solve this problem. From observation I have seen using IP. But to play it on sdf.org, I definitely don't want to wait when another member SSH-ed into the same server as me is playing the game. Another problem that session was invented to solve. It may not be perfect, but in the end I decided to try out a room concept - to create a room that form a loop from the first page of the game to the last page of the game, then back to the first. Another problem that session solves hands-down is the state of the game, i.e., which round is it now. I was pretty much inspired by event sourcing in Domain Driven Design, so basically a playback system that simply fast-forward to the current state by replaying all historical events fits quite well with this 5-round game. I felt natural to use C for the game engine, and the time spent writing was absolutely enjoyable. In the end, the game worked but immediately reminded me that I could just make a web app which has graphics and less hassles. Felt a bit empty but I guess that's just why we have AJAX, session management, many things that were invented to solve these problems. Cool, but I was still thinking. I thought about a plant game, so everyone has their own plant and they have to take care of it everyday. But then the problem goes further - that just means a way to pick up your own stored data. That means account or passphrase, even more complicated. I thought about making a news app, but what's the point of transferring web content to Gopher content... I was thinking what is the most convenient thing about Gopher. I guess what I came to is the plain text nature itself. It means a lot, it means the response to a request needs no parsing - the response body itself is the content, the information in its purest form. Slowly exploring the Gopherland, I noticed those monthly questions and answers type of phlogs. Before I felt "oh, very old school blogging". But since I thought about the above point, I was thinking wouldn't Gopher protocol with CGI be a very encouraging collaborative creation tool? I was thinking that it is really quite hard to know who is whose buddy in the Gopherland, so why not we build a chain that actually tells us who befriends with who? But then it would be quite silly and begs question like why should it not be a relationship graph as someone might have more than one friend? I then thought about a collaborative story, like with a title "The Prince and The Gopher", and each person just write one sentence, leave the rest to others and we have a complete story when there are enough people playing. The risk will be it takes forever to finish the story, and what if someone wants to write some more? The next idea is more like Pictionary, or any guessing game they call it that the first player draw something, then the next player guess what it is, after that draw their own and let the next next player guess, and so on. It must be exciting to guess from ASCII arts. However, it would take again forever to scroll to the bottom, and how do we reveal the answers? Regular update? All these ideas make me feel that it has many possibilities. Although the mechanism may fail. I think it may be possible to form loops, or if someone's Gopher server goes offline the chain will break, etc. Well, if people want to do bad things they have many ways to do that so I think we can use a bit of trust. But it is likely something that a lightweight protocol like Gopher excels at, while the HTTP just wouldn't be as efficient. The very last one, after considering effort and, hm, age range of average Gopher enjoyers, instead of drawing of making stories, a simple answer then next question type of approach may be less demending to participate. So that's why I put the idea into the "Experiment" section, called "Propagate". Couldn't think of a better name. I think that's the thing - Popular people suggest something, we call it a new trend; Unpopular people suggest something, they call it social experiment. I think it is a social experiment and I just would like to see what it would become. It needs not to be with/from me, but I have put a simple script and some get-started like instruction into the propagate's landing page, so if any one and your friends are curious, I would like to see how you form your chain of interactions in this place of no trace.