Gopher Protocol (2020)
mncomputinghistory.com
mncomputinghistory.com
I actually setup a new service on Gopher recently, a lightweight Google News reader[1] and it works better than I could have really hoped.
Then you might enjoy reading your own thoughts, since it's possible to read HN via gopher.
Sorry I don't have the address right now. It's bookmarked on my TRS-80.
I haven't really put the effort into it necessary to generate a "following," which in the Gemini world really seems to just mean people emailing each other. That hits a nostalgia vibe for me.
A few things I've built:
- Kennedy - a search engine
- Gemipedia - A wikipedia proxy
- A clone of Worlde, a geography game
- A weather lookup service
I find the limits of it refreshing.
gemini://gemi.dev/
And it looks like Kennedy has indexed my gemlog, so that's pretty neat.
gemini://dungeonhack.net
How does Kennedy work? I thought Gemini was read-only.
> Status codes beginning with 1 are INPUT status codes, meaning:
> The requested resource accepts a line of textual user input. The <META> line is a prompt which should be displayed to the user. The same resource should then be requested again with the user's input included as a query component. Queries are included in requests as per the usual generic URL definition in RFC3986, i.e. separated from the path by a ?. Reserved characters used in the user's input must be "percent-encoded" as per RFC3986, and space characters should also be percent-encoded.
mid-90's web embraced weirdness and creativity. Primarily recognizing that we get so much info visually.
Gemini says: no, it's only text, no creativity or weirdness allowed. While I sort of understand where the authors are coming from, I think they threw the baby (or some of the baby) away with the bathwater.
Yes, some of this can be rectified by clients (like the insistence that images must be external), but clients can only take it so far.
I wonder if you're limiting yourself there.
Space Jam website it won't be https://www.spacejam.com/1996/
I built an entire geography guess game in Gemini. It uses images.
If I'm permitted a little plug: gemini://tozip.chickenkiller.com/ . I also run a gemini to gopher bridge, so the site can be assessed via the url gopher://tozip.chickenkiller.com/ Its works via a perl script I knocked together using inetd on FreeBSD. So if you like gemtext, but can't be bothered with the hassle of setting up security keys, then the bridge may be the way to go.
One idea for a cool project for Gemini that no-one seems to have done is a Twitter clone. What's interesting about it is that Gemini has the concept of an identity baked in, so you wouldn't need to register for an account to start posting.
more reading: https://thedorkweb.substack.com/p/gopher-gemini-and-the-smol...
pros: CLI, nice interface, quite intuitive, smol :-), neat. good use of colors and nice centering in the terminal. <3.
cons: actually has/suggest dependencies, but not their versions. i did some trial and error attempts to install stuff, and for example after installing readability package with the current version, it just crashes on startup. after uninstalling it, I adore the ability to view a picture on a linked HTML page though!
Thanks a lot!
https://git.pleroma.social/pleroma/pleroma/-/blob/develop/li...
The linked article is from 2020, the protocol is from 1991.
Imagine HTTP with only GET, no headers, no request bodies. RFC 1436 explicitly says:
> No state is retained by the server.
Reminds me that in 1996-7 we were also usually paying for items by mailing checks on eBay's AuctionWeb.
https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_...
Gopher is extremely simplistic to implement because it basically can only do GET requests (but without all the header overhead).
All you need to do to retrieve a document is open a TCP connection and send the path you want to retrieve suffixed by CRLF. The server will then just return the requested data. For full text search (the only serverside expected feature for type 7 documents), add a tab character and then the search string.
The only other special feature on the client are Gopher menus which are a dedicated response type (type 1). They're basically the closest you get to rich text on Gopher - they're formatted text files which contain reference links to other addresses on Gopher.
It's all in all easy to see why Gopher got replaced. That said, I still recommend experimenting with it. It's very much a relic of a different time period, but that doesn't have to be a bad thing. HTTP and the general web stack has become rather bloated over the years due to its versatility. Gopher is laserfocused in its simplicity which gives it its own charm.
For sending data a Gopher server would need to be paired with an FTP server.
I say "I was building" rather than "built" because two things happened: someone showed me a graphical web browser that actually was usable, and whomever owned Gopher wanted to charge money for using v2 of the protocol (I think?). So I ditched all the gopher code I had written and made an HTTP-server instead.
update: I think it was Goper+, not Gopher v2 which was the new version