💾 Archived View for gemi.dev › gemini-mailing-list › 000322.gmi captured on 2023-11-04 at 12:41:16. Gemini links have been rewritten to link to archived content
-=-=-=-=-=-=-
Hi Folks, I'm new to this list, to Racket, and to Gemini, but I am quite happy to be here because I have an interesting project to share. I have built a simple Graphical Gemini client using Racket, it should run in any platform Racket runs (I have tested it on Windows, macOS and Linux). The most interesting parts of it are the fact that it supports tabs, which is a feature I don't think is yet common among the clients, and that it converts gemtext into a cute s-expression based representation. At the moment it doesn't pass all the 51 tests in the client torture list but IIRC it passes more than 40 of them. Anyway, I need to fix redirecton loops and I can't support some of the TLS stuff because Racket is shipping TLS 1.2. So far I have written two blog posts about it: https://andregarzia.com/2020/05/toying-with-gemini.html https://andregarzia.com/2020/08/fafi-browser-a-racket-based-gemini-client.html The source code and issue tracker are in sourcehut: https://git.sr.ht/~soapdog/fafi-browser https://todo.sr.ht/~soapdog/racket-gemini Hope to hear from you all and excited to be here. A. -- https://www.andregarzia.com <http://www.andregarzia.com> Want to support me? Buy me a coffee at https://ko-fi.com/andregarzia
On 12-Aug-2020 23:57, Andre Garzia wrote: > I'm new to this list, to Racket, and to Gemini, but I am quite happy > to be here because I have an interesting project to share. I have > built a simple Graphical Gemini client using Racket, it should run in > any platform Racket runs (I have tested it on Windows, macOS and Linux). > > The most interesting parts of it are the fact that it supports tabs, > which is a feature I don't think is yet common among the clients, and > that it converts gemtext into a cute s-expression based representation. > > At the moment it doesn't pass all the 51 tests in the client torture > list but IIRC it passes more than 40 of them. Anyway, I need to fix > redirecton loops and I can't support some of the TLS stuff because > Racket is shipping TLS 1.2. Welcome to the ecosystem! Its great to see another client. There are a couple of other clients that support tabs like Kristall and amfora (that I know of). Others take the approach of forking the browsing session with a new window (like my own, GemiNaut). Personally I like to be able to use the normal OS features to manage application windows, and each fork of the browsing session feels more to me like a separate thread through Geminispace to be independently minimised, maximised, etc. Some folk seem to prefer tabs though. On a slightly separate note, I saw from your profile you have a background in FirefoxOS. I know it had its ups and downs, but it does live on in KaiOS which is gaining a wide user base particularly outside Europe and North America. I have a a Nokia 2720 which I love as a flip phone, for its relative simplicity and for its battery life. There is a simple marketplace of apps. So a quick question - do you think it could be possible to write a gemini client for KaiOS? Personally, it would be great to be able to check a few pages when on the move. And more importantly, it would open gemini up to a wide and diverse range of potential new users who may have a lot to contribute. Best Wishes - Luke
On 8/15/20 1:21 PM, Luke Emmet wrote: > Its great to see another client. There are a couple of other clients > that support tabs like Kristall and amfora (that I know of). Others take > the approach of forking the browsing session with a new window (like my > own, GemiNaut). If I recall Alrisha and Deedum also do tabbing. diohsc handles this in an interesting way by letting the user create and manage a queue. Not exactly the same thing as having multiple sessions at once, but it's good in a single session when are using tabs as just a "read later" function. Links can be added either to the top or the bottom of the queue (or inserted), allowing you to branch as you will. Ben -- gemini://kwiecien.us/
Hi Luke, Thanks a lot for the kind words. I am brand new to the ecosystem. I started writing Fafi just from reading the protocol specs, I had no exposure to other browsers and content. Now, I am getting to know more about apps and content and am liking it very much. It is an impressive coincidence that I checked out GemiNaut a bit before sending my first email to this list. I took a tour of Gemini Browsers and saw that your browser had REBOL code in it and that made me smile. I used to work with REBOL in the early 2000s and it is a language that is very dear to my heart. I think that a Gemini browser using Red should be a fantastic project, maybe I'll try that as well. As for Firefox OS, that is a little flame in my heart that will never be extinguished, I really liked it and still do. I think that a client is possible but you won't be able to support all the status codes and use cases as you won't be able to generate certificates (unless you write a pure JS TLS implementation). I'm not sure which version of OpenSSL KaiOS is linked against but you should be able to open a raw TCP secure socket to port 1965 and read and write from it using "mozTCPSocket": https://developer.mozilla.org/en-US/docs/Archive/B2G_OS/API/TPC_Socket_API Another thing that put a smile on me was the surprise I got when I was researching to write the reply to you (it has been a while since I last touched FirefoxOS code). If I remember correctly in 2013 I took some time adding FirefoxOS samples to MDN and the sample linked to that article is a Telnet client I wrote: https://github.com/soapdog/firefoxos-sample-app-telnet-client You should be able to pick that telnet client and just tweak it a little to test it against a Gemini server. Be aware that KaiOS has a different keyboard based navigation system and you'll need to check their dev docs: https://developer.kaiostech.com/ I don't have any KaiOS device but I am intrigued by it. Some months ago I had a meeting with their DevRel to talk about the old days of FirefoxOS and how community was handled and encouraged, it was a fun meeting and I hope they are investing more in building a community now. Kind Regards A. > Welcome to the ecosystem! > > Its great to see another client. There are a couple of other clients > that support tabs like Kristall and amfora (that I know of). Others take > the approach of forking the browsing session with a new window (like my > own, GemiNaut). Personally I like to be able to use the normal OS > features to manage application windows, and each fork of the browsing > session feels more to me like a separate thread through Geminispace to > be independently minimised, maximised, etc. Some folk seem to prefer > tabs though. > > On a slightly separate note, I saw from your profile you have a > background in FirefoxOS. I know it had its ups and downs, but it does > live on in KaiOS which is gaining a wide user base particularly outside > Europe and North America. I have a a Nokia 2720 which I love as a flip > phone, for its relative simplicity and for its battery life. There is a > simple marketplace of apps. > > So a quick question - do you think it could be possible to write a > gemini client for KaiOS? Personally, it would be great to be able to > check a few pages when on the move. And more importantly, it would open > gemini up to a wide and diverse range of potential new users who may > have a lot to contribute. > > Best Wishes > > - Luke > -- https://www.andregarzia.com <http://www.andregarzia.com> Want to support me? Buy me a coffee at https://ko-fi.com/andregarzia
I'm discovering so many new browsers in this thread. It is very inspiring. Thanks a ton for sharing these projects with me. I think I'll experiment with some of these approaches as well. On Sat, 15 Aug 2020 at 11:49, Ben <benulo at systemli.org> wrote: > On 8/15/20 1:21 PM, Luke Emmet wrote: > > Its great to see another client. There are a couple of other clients > > that support tabs like Kristall and amfora (that I know of). Others take > > the approach of forking the browsing session with a new window (like my > > own, GemiNaut). > > If I recall Alrisha and Deedum also do tabbing. > > diohsc handles this in an interesting way by letting the user create and > manage a queue. Not exactly the same thing as having multiple sessions > at once, but it's good in a single session when are using tabs as just a > "read later" function. Links can be added either to the top or the > bottom of the queue (or inserted), allowing you to branch as you will. > > Ben > > -- > gemini://kwiecien.us/ > -- https://www.andregarzia.com <http://www.andregarzia.com> Want to support me? Buy me a coffee at https://ko-fi.com/andregarzia
On Sat Aug 15, 2020 at 12:48 PM CEST, Ben wrote: > diohsc handles this in an interesting way by letting the user create and > manage a queue. Not exactly the same thing as having multiple sessions > at once, but it's good in a single session when are using tabs as just a > "read later" function. Links can be added either to the top or the > bottom of the queue (or inserted), allowing you to branch as you will. Ah, this is nice. I have been meaning for a long time to tweak the `tour` command in AV-98 (and VF-1) to allow you to insert links at the front of the queue rather than the end. This would make the mechanism a lot more flexible. Cheers, Solderpunk
Hi Andre thanks for your reply On 16-Aug-2020 18:24, Andre Garzia wrote: > I took a tour of Gemini Browsers and saw that your browser had REBOL > code in it and that made me smile. I used to work with REBOL in the > early 2000s and it is a language that is very dear to my heart. I > think that a Gemini browser using Red should be a fantastic project, > maybe I'll try that as well. Yes REBOL/Red is very nice, but largely under-appreciated, and somewhat niche now I suppose. A Red client would be cool - I think the TLS is WIP in Red, but apparently it is being developed. There is also a fork of REBOL which is being actively maintained and seems to include TLS. I've not investigated it much yet though. https://github.com/Oldes/Rebol3 > > As for Firefox OS, that is a little flame in my heart that will never > be extinguished, I really liked it and still do. I think that a client > is possible but you won't be able to support all the status codes and > use cases as you won't be able to generate certificates (unless you > write a pure JS TLS implementation). I'm not sure which version of > OpenSSL KaiOS is linked against but you should be able to open a raw > TCP secure socket to port 1965 and read and write from it using > "mozTCPSocket": > > https://developer.mozilla.org/en-US/docs/Archive/B2G_OS/API/TPC_Socket_API > > Another thing that put a smile on me was the surprise I got when I was > researching to write the reply to you (it has been a while since I > last touched FirefoxOS code). If I remember correctly in 2013 I took > some time adding FirefoxOS samples to MDN and the sample linked to > that article is a Telnet client I wrote: > > https://github.com/soapdog/firefoxos-sample-app-telnet-client > > You should be able to pick that telnet client and just tweak it a > little to test it against a Gemini server. Be aware that KaiOS has a > different keyboard based navigation system and you'll need to check > their dev docs: > > https://developer.kaiostech.com/ > > I don't have any KaiOS device but I am intrigued by it. Some months > ago I had a meeting with their DevRel to talk about the old days of > FirefoxOS and how community was handled and encouraged, it was a fun > meeting and I hope they are investing more in building a community now. Thanks for these links - I shall add this to my todo list and investigate further. It would be interesting to see how far it can go. I think the client generated certificates is only a minor limitation, as the overwhelming majority of content in geminispace is freely accessible. Best Wishes - Luke
---
Previous Thread: Go 1.15 requires changes to TLS code for Gemini!