💾 Archived View for thelambdalab.xyz › phlog › 2020-05-13-Finger.txt captured on 2023-05-24 at 17:43:48.
⬅️ Previous capture (2020-09-24)
-=-=-=-=-=-=-
Finger ------ It's fun to see ideas flitter like leaves across distinct and highly niche communities. The last few days has seen Gemini hit the front page of Hacker News twice, one of which was a post reporting the existence of the Castor [1] client directed at the "small internet" and hence additionally supports the old Finger protocol. Of course this immediately had me reminiscing. One of my earliest interactions with this protocol is solidly etched in my memory for all the wrong reasons. Back in 1994 or so I was a young teenager excitedly exploring the internet via various door software made available by my local BBS. One of these doors allowed you to send finger requests, and for some reason I requested the finger directory of AusCERT: an Australia anti computer-crime organization. This led to a then highly-terrifying and now highly-embarrassing series of emails between some scary people at AusCERT, the poor SysOp of the BBS, and me, while the whole thing was sorted out and explained away as a silly kid pressing buttons he shouldn't have pressed. Shaun: if you happen upon this, I'm so sorry - you should know that I still feel terrible about this! :-( Erm yeah, so Finger. Turns out I wasn't the only one reminiscing: Mozz took the hint [2] from Castor and added a new finger server to his machine at finger://mozz.us/michael. Furthermore, he listed several other servers still running scattered around gopherspace/geminispace. Now that there are finger:// URLs popping up with apparent regularity, I had to go and add finger support to Elpher, so that these links resolve. (Which they now do, as of version 2.6.) Stupidly, I only realized/remembered after finishing this that finger and gopher fit together quite neatly, meaning that I could have simply interpreted finger:// addresses as gopher:// addresses with a selector type of 0 instead of implementing a simple-yet-dedicated handler. However, now that it's done, I think the way I chose is semantically cleaner as it means that Elpher is always able to distinguish between gopher and finger pages. (One fun thing about elpher, and I suspect it shares this with many other text browsers, is that because it turns any and all URLs in plain text into clickable links, it's absolutely possible to have an easily navigable web-like experience composed entirely of plain text finger pages.) Of course, I've also hacked together the worlds stupidest fingerd by copying Michael's systemd socket approach in combination with a 4 line bash script: finger://thelambdalab.xyz/plugd. Don't get too excited though, it lacks even the most basic ascii artistry. Anyway, that's enough navel-gazing for one evening! Okay, maybe just one final comment - I've started to notice people taking the text flow parts of the text/gemini mimetype spec seriously. To this point I've been completely ignoring this in Elpher as much of this seemed to be in a constant state of flux. For instance, I've completely lost track of the numerous deep threads on the gemini list discussing when/when not to re-flow text. However it looks like things are starting to settle in ways that make text rendered using Elpher's default Gemini renderer difficult to read, as it produces long lines with non-word-sensitive wrapping. Enabling visual-line-mode can alleviate this, but things go back to ugly when following links. If you happen to be one of the courageous few who are using elpher as a tool for gemini exploration, expect some improvements in this area shortly. Tschüss! --- [1]: https://git.sr.ht/~julienxx/castor [2]: gemini://mozz.us/journal/2020-04-29.gmi