Elpher now supports Gemini -------------------------- This is just a quick phlog entry to point out that my Emacs gopher client, Elpher, now has experimental support for the Gemini protocol [1]. (The new version should hopefully be available from MELPA by the time you read this. You can also grab it directly from the project page [2].) There are a couple of small caveats: 1. The TOFU scheme suggested in solderpunk's speculative specification isn't implemented, so new hosts present a warning regarding self-signed certificates. However agreeing to proceed causes the fingerprint to be recorded, so you shouldn't see it again the next time you connect to the same server. 2. There isn't yet support for client certificates. Integrating Gemini support into Elpher was a bit harder than I believe it would have been to write a basic client from scratch, simply because the former required finding some common logical ground between the gopher and gemini protocols to avoid making the gemini support too much of a "special case". (I.e. I still wanted my source to look nice, without too much duplication.) In the end it all seems to work quite well. You can seamlessly jump between gopher and gemini pages, bookmark, download and inspect gemini pages, and click gemini URLs in plain text just as you would gopher documents. Images etc are handled using the same code as for gopher, gemini map pages reuse most of the gopher map code, and the caching mechanism doesn't care. A huge part of the migration involved switching over from gopher-specific address objects (including things that only gophers care about: types, selectors, etc) to generic URLs objects. This has had numerous happy side effects. No longer do I have to treat gopher selectors of type "h" specially if their selector has a "URL:" prefix, instead I can directly replace them with an address corresponding to the appropriate URL. This simplifies handling of actual HTML documents (the actual intended use of the "h" type). Also, bookmark files now contain a simple list of URLs, not weird '(display-string (type selector ...)) s-exps. Anyway, that rambling is all to say that there've been a lot of changes under the waves, but not many above them - besides the fact that URLs such as gemini://gemini.conman.org now just work. :-) If anybody gets a chance to play around with it and has some thoughts or suggestions, I'd be very keen to hear. Just leave some feedback on the Elpher project page [2] or email me on plugd@thelambdalab.xyz. (Suggested patches are also welcome!) --- [1]: gopher://zaibatsu.circumlunar.space/1/~solderpunk/gemini [2]: gopher://thelambdalab.xyz/1/projects/elpher/ .