content/wiki/internet.org
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