content/wiki/internet.org

0b2895a90c7751ce06e4b26d4db41005ea2f40a9
cleberg.net/content/wiki/internet.org rendered · source · history · blame · raw

98 lines · 3776 bytes

 1#+title: Internet
 2#+date: <2024-05-02>
 3
 4** Gemini
 5The [[https://geminiprotocol.net/][Gemini Protocol]] is a network of interconnected plaintext documents. If
 6you've used [[https://en.wikipedia.org/wiki/Gopher_(protocol)][Gopher]] before, Gemini will feel very familiar.
 7
 8Instead of web sites, Gemini uses the term "capsules" that can be access via
 9=gemini://= links.
10
11In order to browse Gemini capsules, you will need a client capable of supporting
12Gemini. The Gemini Protocol website has a [[https://geminiprotocol.net/software/][Gemini software]] page with a list of
13clients for each platform.
14
15*** Gemtext
16[[https://geminiprotocol.net/docs/cheatsheet.gmi][Gemtext]] is a plaintext syntax, very similar to Markdown.
17
18To quote the Gemini Protocol's documentation:
19
20- Long lines get wrapped by the client to fit the screen.
21- Short lines /don't/ get joined together.
22- Write paragraphs as single long lines.
23- Blank lines are rendered verbatim.
24
25#+begin_src md
26[//]: <> (Headings)
27# Heading
28## Sub-heading
29### Sub-subheading
30
31[//]: <> (Lists)
32-   Mercury
33-   Gemini
34-   Apollo
35
36[//]: <> (Quotes)
37> I contend that text-based websites should not exceed in size the major works of Russian literature.
38
39[//]: <> (Links)
40=> gemini://geminiprotocol.net/docs/cheatsheet.gmi
41=> gemini://geminiprotocol.net/docs/cheatsheet.gmi Gemtext cheatsheet
42
43[//]: <> (Preformatted text)
44Any line starting with three backticks (```) will tell the client to toggle to
45"preformatted mode", which disables the client's logical checks to render links,
46headings, etc. and will render the text as-is.
47#+end_src
48
49** Gopher
50The [[https://en.wikipedia.org/wiki/Gopher_(protocol)][Gopher Protocol]] is a communication protocol, similar to Gemini, that allows
51for browsing of any ones of [[https://datatracker.ietf.org/doc/html/rfc1436#section-3.8][the 14 supported item types]]:
52
53#+begin_src txt
540   Item is a file
551   Item is a directory
562   Item is a CSO phone-book server
573   Error
584   Item is a BinHexed Macintosh file.
595   Item is DOS binary archive of some sort.
60    Client must read until the TCP connection closes.  Beware.
616   Item is a UNIX uuencoded file.
627   Item is an Index-Search server.
638   Item points to a text-based telnet session.
649   Item is a binary file!
65        Client must read until the TCP connection closes.  Beware.
66+   Item is a redundant server
67T   Item points to a text-based tn3270 session.
68g   Item is a GIF format graphics file.
69I   Item is some kind of image file.  Client decides how to display.
70#+end_src
71
72*** Simplicity is Intentional
73Gopher is [[https://datatracker.ietf.org/doc/html/rfc1436#section-4][meant to be simplistic]].
74
75#+begin_src txt
76As far as possible we desire any new features to be carried as new
77protocols that will be hidden behind new document-types.  The
78internet Gopher philosophy is:
79
80    (a) Intelligence is held by the server.  Clients have the option
81    of being able to access new document types (different, other types
82    of servers) by simply recognizing the document-type character.
83    Further intelligence to be borne by the protocol should be
84    minimized.
85
86    (b) The well-tempered server ought to send "text" (unless a file
87    must be transferred as raw binary).  Should this text include
88    tabs, formfeeds, frufru?  Probably not, but rude servers will
89    probably send them anyway.  Publishers of documents should be
90    given simple tools (filters) that will alert them if there are any
91    funny characters in the documents they wish to publish, and give
92    them the opportunity to strip the questionable characters out; the
93    publisher may well refuse.
94
95    (c) The well-tempered client should do something reasonable with
96    funny characters received in text; filter them out, leave them in,
97    whatever.
98#+end_src