💾 Archived View for gemi.dev › gemini-mailing-list › 000920.gmi captured on 2024-08-19 at 02:34:30. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2023-12-28)
-=-=-=-=-=-=-
I suppose I should come up with a use case I want and then ask if they can be done we I really don't feel in my depth on technical aspects. I just know serve scripts are possible, but I don't know what is realistically doable and it of that what actually works within the protocol's strengths.
Andrew Singleton <singletona082@gmail.com> writes: > I suppose I should come up with a use case I want and then ask if they can > be done we I really don't feel in my depth on technical aspects. > > I just know serve scripts are possible, but I don't know what is > realistically doable and it of that what actually works within the > protocol's strengths. You can do almost anything that involves a request-response cycle. With something really hacker-ish you can also do things slightly interactive that leverages the 10/11 responses (I read somewhere that someone was building a REPL over Gemini) and possibly client certificates to manage the session. Realistically, it also depends on the clients. One cool thing that may be done over Gemini, but I'm not sure about client support, is streaming text/gemini pages. One could, for instance, build a "Feed" (or a "Notification" page) that keeps the connection open and sends the updates to the client on the fly. Anyway, without something more specific to discuss, scripts (that may be either functions loaded *into* the server, or CGI/FastCGI scripts, or something else entirely) can do anything the protocol allows, that is, sending any type of content (not only text/gemini, but images, video, audio, ...), require input and manage the session with client certificates. There are some examples at awesome-gemini[0], but it's not comprehensive (stuff like station isn't mentioned AFAICS). Cheers, [0]: https://github.com/kr1sp1n/awesome-gemini#services
On Sat, 5 Jun 2021 at 08:12, Omar Polo <op@omarpolo.com> wrote: > Realistically, it also depends on the clients. One cool thing that may > be done over Gemini, but I'm not sure about client support, is streaming > text/gemini pages. One could, for instance, build a "Feed" (or a > "Notification" page) that keeps the connection open and sends the > updates to the client on the fly. Lagrange even supports streaming audio files, Internet Radio over Gemini is a possible thing to do :) The main issue with streaming content over Gemini is that alot of servers don't send TLS close¹, and so there's no easy way to know if some has or hasn't ended. (I may have the details slightly wrong, as I don't know much of the details) => ¹ https://gitlab.com/gemini-specification/protocol/-/issues/2 > [0]: https://github.com/kr1sp1n/awesome-gemini#services Didn't know this existed, neat repo! -- -Oliver Simmons (GoodClover)
Andrew, Here is a list of things that are on my site. searchable Bible in both Greek and English Weather forecsts News Random jokes Random quotes Saint of the day. You can do about anything. gemini://frrobert.net On June 4, 2021 10:39:42 PM EDT, Andrew Singleton <singletona082@gmail.com> wrote: >I suppose I should come up with a use case I want and then ask if they >can >be done we I really don't feel in my depth on technical aspects. > >I just know serve scripts are possible, but I don't know what is >realistically doable and it of that what actually works within the >protocol's strengths. -- Sent from my Android device with K-9 Mail. Please excuse my brevity.
Oliver Simmons <oliversimmo@gmail.com> writes: > On Sat, 5 Jun 2021 at 08:12, Omar Polo <op@omarpolo.com> wrote: >> Realistically, it also depends on the clients. One cool thing that may >> be done over Gemini, but I'm not sure about client support, is streaming >> text/gemini pages. One could, for instance, build a "Feed" (or a >> "Notification" page) that keeps the connection open and sends the >> updates to the client on the fly. > > Lagrange even supports streaming audio files, Internet Radio over > Gemini is a possible thing to do :) > The main issue with streaming content over Gemini is that alot of > servers don't send TLS close¹, and so there's no easy way to know if > some has or hasn't ended. (I may have the details slightly wrong, as I > don't know much of the details) > => ¹ https://gitlab.com/gemini-specification/protocol/-/issues/2 I wasn't talking about streaming audio (which is cool and I didn't knew was a thing in the gemini space), but raw text/gemini files. For instance, one could build a gemini interface for the fediverse, and provide a feed page which will print the toots of the people you follow as they are posted. Something like the infinite scrolling featured in some website, except without the bloat :) As for the importance of the TLS close notify, it's indeed important to distinguish a connection that was properly closed and one that was interrupted. Don't know much about the percentages though, but my server operates correctly :P >> [0]: https://github.com/kr1sp1n/awesome-gemini#services > > Didn't know this existed, neat repo!
On Fri, Jun 04, 2021 at 09:39:42PM -0500, Andrew Singleton wrote: > I suppose I should come up with a use case I want and then ask if they can > be done we I really don't feel in my depth on technical aspects. > > I just know serve scripts are possible, but I don't know what is > realistically doable and it of that what actually works within the > protocol's strengths. You can basically do any sort of CGI scripting you want, in python, shell, etc. I wrote a very simple Python script here that simply proxies the tilde wiki over gemini: gemini://tilde.team/~remyabel/wiki.cgi It's not very advanced but it gets the job done. To start off, all you need to do is print the correct response code and content type. So a hello world would look like: printf "20 text/gemini\r\n" printf "hello world" I would look at the specification or other CGI scripts for more examples.
I assume you mean the Gemini equivalent of CGI scripts? Well you can do almost the same things that you can do with CGI in the WWW! - Just a little less fancier and more focused on content than visual effects. Some examples from my server: * Linux man-pages and Perl documentation: gemini://h2903872.stratoserver.net/OnlineDoc.gmi * Ascii-"Art" with the figlet and the boxes program and other tools: gemini://h2903872.stratoserver.net/DevToolBox.gmi * You can capture the output of any command line tool and print it as a gmi document, see my lab-page: gemini://h2903872.stratoserver.net/CGI-test.gmi I hope that helps. Best regards from Charleston (WV), Frank/2 On 2021-06-04 22:39, Andrew Singleton wrote: > I suppose I should come up with a use case I want and then ask if they can be done we I really don't feel in my depth on technical aspects. > > I just know serve scripts are possible, but I don't know what is realistically doable and it of that what actually works within the protocol's strengths. -- ------------------------------------------------------------------------ My Gemini capsule orbits at gemini://h2903872.stratoserver.net/ ------------------------------------------------------------------------
---