[ANN] GemIF - Simple Interactive Fiction engine for Gemini

On Fri, Dec 4, 2020 at 4:28 PM Sean Conner <sean at conman.org> wrote:

  Define "state change", because this link on my server:
>
>         gemini://gemini.conman.org/qotd
>
> literally makes a state change on every request (it pulls up the next
> quote, and it tracks the number across restarts).
>

I'm with Sean here.  There are a large number of very simple services that
Gemini systems could easily provide that would be banned under an
idempotent-only rule.  Historically, quote-of-the-day could be gotten from
a server by connecting on port 17 with either TCP or UDP; see the
/etc/services file and RFC 865.  (Sean, you might want to support port 17
just for hack value; if anybody connects to it, forget TLS: just blast back
the first 512 bytes of the next quote and close the connection.)

Other examples that could be geminized are:

1. The current time in a human readable (including HTTP and ISO) format per
RFC 867 (historically on port 13).

2. The current list of users connected to the server (for some definition
of "users", "connected" and "server"), one on each line per RFC 866
(historically on port 11).

3. An endless stream of characters for testing streaming clients per RFC
864 (historically on port 19).  I once set up a whole lot of workstations
after working hours to connect to this port (using gopher://foo:19/0 via a
test firewall) in order to see how much of this the firewall could take
without crashing.  It held up fine, though the browsers eventually crashed.

4. The current phase of the moon (no RFC).

5. The Really Big ASCII Button That Doesn't Do Anything (see <
https://krystalrose.com/rosewood/library/BigButton.htm>; copies of this
page date back to 1993).

Finally, if you look at RFC 7231, HTTP 1.1, you'll find that all of these

the same "intended effect".  Going to Sean's URL will always return the
quote of the day, even though the quote will be different the next time you
try.  GET is about this kind of conceptual idempotence rather than
byte-for-byte idempotence.  Although GETting the Big Red Button page
exhibits both.    :-)



John Cowan          http://vrici.lojban.org/~cowan        cowan at ccil.org
Consider the matter of Analytic Philosophy.  Dennett and Bennett are
well-known.
Dennett rarely or never cites Bennett, so Bennett rarely or never cites
Dennett.
There is also one Dummett.  By their works shall ye know them.  However,
just as
no trinities have fourth persons (Zeppo Marx notwithstanding), Bummett is
hardly
known by his works.  Indeed, Bummett does not exist.  It is part of the
function
of this and other e-mail messages, therefore, to do what they can to create
him.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.orbitalfox.eu/archives/gemini/attachments/20201204/e290
b4d2/attachment.htm>

---

Previous in thread (30 of 34): 🗣️ Sean Conner (sean (a) conman.org)

Next in thread (32 of 34): 🗣️ Sean Conner (sean (a) conman.org)

View entire thread.