-- Leo's gemini proxy

-- Connecting to scrollprotocol.us.to:1965...

-- Connected

-- Sending request

-- Meta line: 20 text/gemini; lang=en

Publish Date: 2024-05-17T13:20:34Z

Modification Date: 2024-05-21T08:21:55Z

2024-05-17 Protocol Update: UDC and Code Blocks


Scroll Protocol Homepage


I am preparing a major update to the Scroll Protocol that utilizes the two-digit status codes to provide document categorization in the second digit of success status codes, based on the UDC (Universal Decimal Classification) system. UDC was chosen as the basis because it was simple and intuitive, has 10 main classes, was designed to be universal, and is well-known. It is also an improvement over Dewey Decimal, and is very similar, but more compact, than LCC in how it divides and groups categories.


The goal is to facilitate document categorization and categorization systems, like search engines, directories, and aggregators. Status codes were used to limit the need to add more fields to responses, which decreases the "attack-vector" for extensibility. It also fills all of the available second digits for success codes, limiting any more extension to success codes (unless one switches to hexadecimal or other number bases for response codes).


I have made a couple of small changes to the UDC system, especially the use of the vacant class (4) for unclassed content, scrolltext menus/indexes, and Miscellaneous. I have also expanded class 0 to include documentation and protocol rfcs, clarified class 7 to include music, gaming videos, fictional movies & animation, photography, and other entertainment, and expanded class 8 to include blogs and art/entertainment reviews. Finally, non-entertainment media (usually non-fiction) should be placed in their correct category, even if they are video or audio. For example, a Theology Documentary should be placed in class 2.


Main Classes


0. General Science, Knowledge, Documentation (books, writings, authorship, software, software repository info), Reference works *as subject* (Encyclopedias, Dictionaries, Translators, etc.), Computer Science, News, Protocol RFCs, Data, software development logs, computer technology

1. Philosophy (Ethics, Epistemology, Metaphysics, Metaphilosophy, etc.), Psychology

2. Religion, Theology, Scripture

3. Social Sciences (Law, Politics, Economics, Sociology, Education, Gender & LGBTQ+ Studies, etc.), Military affairs

4. - Default, General menus/indexes/directories/aggragator lists to internet resources, Misc., Unclassed media/software

5. Mathematics, Natural Science

6. Applied Science, Medicine, General Technology, Engineering

7. Arts (Photography, Culinary, Painting, Fashion, Beauty, performance, etc.), Entertainment (Music, Gaming Videos, Fictional Movies and Animation and TV Shows, etc.), Sport, Fitness

8. Linguistics, Literature, Literary Criticism, Memoirs, Personal Blogs/gemlogs/scroll-logs, Book/Movie/Video reviews

9. Geography, History, Biography


Media or documentation *about* software should be in class 0, whereas software (binaries, zips, packages, internet apps) itself should be based on the topic that software covers. Document readers, browsers, chat or social media, etc. should be placed in class 4, along with any other software that doesn't fit in any of the other classes.


Computer Science (class 0) includes information *about* computer architecture, hardware, software, human-computer interaction, AI, etc.


Code Blocks


Gemini used "preformatted blocks" in its document format (gemtext), with an optional alt text that the author can use to describe the block. This is the one bit of presentational markup that gemtext has, but there are several problems with it:

You cannot easily distinguish between code, ascii art, poetry, or other preformatted text

The alt text is not parseable for crawlers and browsers without natural language processing

The alt text field is unnecessary when one could place the alt text within the textual content of the document and reserve the preformatted toggle field for something more useful.


For the above reasons, I have decided to change scrolltext so that preformatted blocks are now designated as "code blocks" and the alt text field is replaced by an identifier of the content of the code block:

> Code blocks define a block within the scrolltext that should be distinguished from the rest of the document as a textual format. They may be used for code blocks, ASCII Art, plain text, or other textual formats. They are usually presented visually in fixed-width fonts. Audal presentations should distinguish them from the surrounding text and should present the format tag to the listener.

>

> Code blocks' visual presentation should not be word-wrapped or justified, but they may be character-wrapped. Code blocks are toggled with three backticks (```) on the start of a line. This toggles the start or end of a code block.

>

> The starting toggle of a code block may include an optional tag just after the three backticks that describes the format. Mimetypes starting with `text/` are permitted, but the `text/` prefix should be excluded. Therefore, `text/plain` should be written `plain`.

>

> Examples of code block tags include:

> * ascii-art

> * plain

> * a programming language name

> * `samp` for sample software input/output


Most importantly, code blocks are now defined as semantic descriptive markup rather than presentational markup. As in other descriptive markups, the presentation is a function of the descriptive markup.


Since code blocks are viewed as an integral part of the document itself, the alt text should now be placed within a paragraph above or below the block to introduce or summarize it in the context of the rest of the document's text.


Updating Servers and Clients


The reference scroll server implementation is getting an update today that will default status codes to "24" as unclassed. Soon after I will release another version that will allow users to classify their documents.


Profectus and scroll-term will be updated today to account for status codes 20-29 as success.


AuraGem and the Scroll Protocol scrolleries will get an update tomorrow to classify all of their pages. After this is done, the reference client implementations will get another update to display a document's classification to the user.


P.S. TIL the DNS server Antenna uses takes forever to update, longer than the one mozz.us uses.

-- Response ended

-- Page fetched on Sun Jun 2 11:33:58 2024