Surfing the Gopherspace(charlieharrington.com)
charlieharrington.com
Surfing the Gopherspace
https://charlieharrington.com/surfing-the-gopherspace/
32 コメント
Check out Lagrange, it's actually a browser for Geminispace but works perfectly well for gopher: https://gmi.skyjake.fi/lagrange/
Thanks for giving my Gopher client a shout-out! :)
Thank you for making free software!
These kind of interactions are why I love HN.
Yay for Gopher! I've been running one for a few years now and get several hundred (human) visitors a week - not bad for an "obsolete" protocol. The speed and freedom from ads is a real plus!
Share a link! I’d love to check it out.
Sure! It's gopher.petergarner.net or if you want to see the file collection on the web (it's the same file area) go to https://petergarner.net/gopherspace/index.php
Very cool! I'd like to set up something similar myself one of these days.
You can even play solitaire on gopher: gopher://worldofsolitaire.com/
Blog post about it: https://cosmicrealms.com/blog/2019/06/14/solitaire-over-goph...
Blog post about it: https://cosmicrealms.com/blog/2019/06/14/solitaire-over-goph...
gopher://worldofsolitaire.com/
This gopher hole is a good example of how Gopher doesn't have an notion of cookies. You can see what is either gamestate or some sort of session id encoded in the URL.
Another way to do this kind of thing is to generate "parallel universes". It involves generating enough gopher "directories" AKA "pages" to encode every possible game state and then link them together like you would a "Choose Your Own Adventure". Essentially trading dynamic page generation for hard drive space.
You can see an example of the "parallel universes" approach used in the easter egg text adventure game located at:
gopher://GiantGopher.com:70/--/Winnifred_Huck
This gopher hole is a good example of how Gopher doesn't have an notion of cookies. You can see what is either gamestate or some sort of session id encoded in the URL.
Another way to do this kind of thing is to generate "parallel universes". It involves generating enough gopher "directories" AKA "pages" to encode every possible game state and then link them together like you would a "Choose Your Own Adventure". Essentially trading dynamic page generation for hard drive space.
You can see an example of the "parallel universes" approach used in the easter egg text adventure game located at:
gopher://GiantGopher.com:70/--/Winnifred_Huck
Definitely going to try this next!
The Gemini protocol is also pretty cool and worth checking out.
https://gemini.circumlunar.space/
https://en.m.wikipedia.org/wiki/Gemini_(protocol)
https://gemini.circumlunar.space/
https://en.m.wikipedia.org/wiki/Gemini_(protocol)
He remembers the Old Ways.
[deleted]
Is there a reasonable use for gopher nowadays, or is it just 'retro cool'?
I think that as people get older there's an increasing desire for things to be simple again. This will never happen of course, but it can be useful to have a small island of simplicity to go back to every so often.
[deleted]
Very perceptive and I tend to agree.
Personally speaking .. with a perceived growing trend towards using low(er) power hardware - planning for dystopian power shortages etc - I know that I can host a reasonable server on a Raspberry Pi and still have it working effectively. I had mine running on a Pi2B for quite a while, but with the introduction of the Pi Zero 2 and the addition of an ethernet HAT, that's also a viable device. The size of the gopher files library will be determined by the USB stick you can afford.
Browsing text files online without needing a browser that eats up gigabytes of memory for javascript sandboxing.
Is there other non-web streamable UI software besides gopher?
Besides Gopher we had WAIS, Archie, and Veronica. There were also sites with multiple directories of text and binary files via (often anonymous) FTP. BBS systems with text clients or even reachable over Telnet or SSH were once popular and some are still available. We also had talkers (and MUDs, and MOOs, and MUSHes) where one could connect to a text-based environment to play games, chat, build the environment collaboratively with others, or some mix of those.
I remember back before my area had a local phone number for any direct Internet access, there were a few choices. One could get SLIP or PPP by calling long distance. There were per-minute toll-free access numbers. One could use a local echo on a dial-up BBS and wait several hours to a few days for the content. We thankfully had a public library in one of the bigger cities that had a web browser (Lynx) set up as a shell on a VMS system via a getty on a toll-free line. Several of us would rent a shell account somewhere, dial into the library, and use the browser to telnet to our shell accounts. Then we could use a text-based web browser, gopher client, WAIS client, Archie/Veronica client, FTP, or whatever from there. If we wanted to download a file back to our desktops, we'd download it to the shell account then use Kermit or Zmodem through the telnet connection back to our local systems.
I remember back before my area had a local phone number for any direct Internet access, there were a few choices. One could get SLIP or PPP by calling long distance. There were per-minute toll-free access numbers. One could use a local echo on a dial-up BBS and wait several hours to a few days for the content. We thankfully had a public library in one of the bigger cities that had a web browser (Lynx) set up as a shell on a VMS system via a getty on a toll-free line. Several of us would rent a shell account somewhere, dial into the library, and use the browser to telnet to our shell accounts. Then we could use a text-based web browser, gopher client, WAIS client, Archie/Veronica client, FTP, or whatever from there. If we wanted to download a file back to our desktops, we'd download it to the shell account then use Kermit or Zmodem through the telnet connection back to our local systems.
I think the shift from WAIS, Archie and Veronica resulted from the idea of a web site, complete with rendering, catching on. People didn't want a universal directory of files. I remember navigating Gopher felt very similar to navigating the old dial-up BBS. Whereas WWW connected the entire web together into a singular entity replete with rendering. I recall that being the primary reason WWW won.
I'm not sure it was so much the web, which with Lynx, Links, w3m, or some others looked a lot like Gopher. I think it was that the early graphical browsers (Mosaic and Netscape for example) embedded the linked graphics into HTML documents over HTTP but didn't do the same for other document formats on other protocols. That is, the presentation is what mattered more than the underlying platform being presented.
There's also Gemini, which is like a modern version of Gopher.
https://gemini.circumlunar.space/docs/faq.gmi
https://gemini.circumlunar.space/docs/faq.gmi
Gemini ecosystem is quite active. There other smaller protocols as well, all part of the "small web" or "small internet" movement. I wrote a bit about Gemini recently[2]. If you're curious about it, you might want to give it a read.
I've implemented some of them in my little toy browser Fafi[1].
If you want a browser with more features and more polish you can check Lagrange[3], it also supports Gopher and Finger besides Gemini.
[1]: https://git.sr.ht/~soapdog/fafi-browser [2]: https://andregarzia.com/2022/01/gemini-is-a-little-gem.html [3]: https://gmi.skyjake.fi/lagrange/
I've implemented some of them in my little toy browser Fafi[1].
If you want a browser with more features and more polish you can check Lagrange[3], it also supports Gopher and Finger besides Gemini.
[1]: https://git.sr.ht/~soapdog/fafi-browser [2]: https://andregarzia.com/2022/01/gemini-is-a-little-gem.html [3]: https://gmi.skyjake.fi/lagrange/
Love that you implemented Fafi in Racket. Seems like a perfect use!
Gemini seems to be the land of broken clients. I tried amfora recently, and it gave a fatal error. I futzed around with other clients in the past, and they all seemed to have problems of their own.
I suggest trying Lagrange https://github.com/skyjake/lagrange
Thanks for that. I found an AppImage, and hey presto, it works. It's so beautiful, too.
There aren't a whole lot of good Gopher browsers out there for Windows. I use http://jaruzel.com/gopher/gopher-client-browser-for-windows with the text color set to green and the background set to black. From what I hear there is also a Gopher chrome plugin that isn't too bad.
For those interested in playing around with gopher development in addition to the tools that are mentioned in the the article there is an old abandoned yet serviceable gopher version of flask kicking around out there that is quick and easy to get going.