💾 Archived View for nytpu.com › gemlog › 2022-11-05-2.gmi captured on 2023-06-14 at 14:05:34. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2023-03-20)
-=-=-=-=-=-=-
Okay now that I've finished the bulk of Lasso, I'm currently pondering what features I absolutely want in a smallnet client I'd like to write. I've assembled an incomplete list, more for my reference than for anybody else. (although I'd love somebody backing me up that they want features like these as well!)
Must support:
Should support:
Would be nice to support:
separate distinct "identities" for various Gemini services
verifying certificates with DANE or a CA as well as the standard TOFU
I fully admit that of these are just features taken from other extant clients, many of them being features of my favorite client Lagrange. I'm not too creative at coming up with original ideas, but if there is one thing I'm good at its taking existing good ideas and mashing them together into a homunculus that does everything I want instead of just most of what I want. Combine that with a very strong case of Not Invented Here Syndrome and we've got a fresh new client in the works!
https://gmi.skyjake.fi/lagrange/
⁂
Right now I'm debating writing it in Ada or Common Lisp. It's 1000% narrowed down to those two programming languages because they're the only programming languages I ** really enjoy writing; and the ones I'd want to choose for a semi-large-ish project. Up until now I'd planned to use Ada and I've spent quite a bit of time writing various support libraries for a Gemini client in Ada. However, after writing Lasso in Common Lisp and having it be so quick, easy, and legitimately fun to write, it's really made me reconsider. I still feel like Ada will result in a better and more maintainable final product, just because it's explicitly designed to basically force writing well-organized and understandable code, with an emphasis on large codebases; while in CL even something as small-scale as Lasso requires a lot of genuine effort to keep the code organized and clean. But it's so hard to ignore the literal breeze that ** initially developing anything in Lisp is…
Requires a lot more thought.
Announcing the Lasso Read-it-Later Service
The only thing I know for sure is that I'm going to plan as much as possible in advance, as I typically do. Should write a post about that and the other programming ideals I practice sometime too…
⁂