Commit 17859ecae5

17859ecae5cdbc220eb54cfd0aef6e33a854ea9f

parent: 7d3b5175f2

Unsigned

cmc <hello@cleberg.net> · 2024-05-02 22:49 UTC

add internet wiki post

Layout: unified · split

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