Cursed Conlang Circus 3 submission
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

410 lines
17 KiB

4 months ago
  1. #+TITLE: Presentation Video script
  2. #+PROPERTY: header-args :tangle slides.tex
  3. #+begin_src tex
  4. \documentclass{nguhslides/nguhslides}
  5. \SetFont{Andika}[StylisticSet=13]
  6. \setmonofont{Iosevka}[Scale=MatchUppercase]
  7. \newfontfamily\h{Cousine}[Scale=MatchUppercase]
  8. \usepackage{tikz}
  9. \usetikzlibrary{positioning}
  10. \newcounter{note}
  11. \setcounter{note}{0}
  12. \def\note#1{\stepcounter{note}\space\textsuperscript{[\arabic{note}]}}
  13. \def\tslide#1#2#3#4#5{%
  14. \clearpage%
  15. \begin{center}%
  16. \texttt{\Large%
  17. \color{red!50!black}\#%
  18. \color{blue!50!black}690042%
  19. \color{green!50!black}#1%
  20. \color{black}#2%
  21. \color{violet}#3%
  22. \color{black}#4%
  23. }%
  24. \vfill%
  25. \color{blue!50!black}+690 042 \space%
  26. \color{red!50!black}broadcasts \space%
  27. \color{violet}(length=#3) \space%
  28. \color{green!50!black}[#1] \\%
  29. \color{black}#5%
  30. \end{center}%
  31. }
  32. \begin{document}
  33. \slide{\tt\#\#000124811A*0034\#5344A\#C*004375}
  34. \vfill
  35. \begin{center}An entry in the 3\textsuperscript{rd} annual Cursed Conlang Circus\end{center}
  36. #+end_src
  37. * Introduction
  38. This is a presentation of [insert language name in language here], hereafter refered to as ~811~, my entry to the 3rd anual cursed conlang circus.
  39. #+begin_src tex
  40. \slide{Introduction}
  41. \begin{items}
  42. \item Spoken by various appliances connected to the phone network that gained sapience
  43. \item Originated Israel in the early 2000s {\footnotesize(this will be relevant later)}
  44. \item Now used all across the globe
  45. \end{items}
  46. #+end_src
  47. First some context on the language:
  48. 811 is spoken by various devices connected to the global phone network, that gained sapience by some mean or another.
  49. The language has been traced back to a modem on an IBM mainframe in a library in Tel Aviv in the mid 2000s, /this will be relevant later on/.
  50. The language spread over the world like wildfire as more and more phone-capable devices awakened
  51. This presentation is the result of an investigation taking the form of month of packet sniffing at key points in the phone network.
  52. * Phonology
  53. #+begin_src tex
  54. \slide{Phone-ology}
  55. \begin{center}
  56. \vfill
  57. \begin{tabular}{c|cccc}
  58. & \bf 1209 Hz & \bf 1336 Hz & \bf 1477 Hz & \bf 1633 Hz \\\hline
  59. \bf 697 Hz & \tt 1 & \tt 2 & \tt 3 & \tt A \\
  60. \bf 770 Hz & \tt 4 & \tt 5 & \tt 6 & \tt B \\
  61. \bf 852 Hz & \tt 7 & \tt 8 & \tt 9 & \tt C \\
  62. \bf 941 Hz & \tt * & \tt 0 & \tt \# & \tt D
  63. \end{tabular}\\
  64. \small DTMF Tones\note
  65. \vfill
  66. \end{center}
  67. #+end_src
  68. First let’s talk about what composes words: due to a notable inefficiency to transmit complex sounds over what are often digital interfaces to the phone network, the speakers instead use DTMF signaling as a suport for their comunication. You can see here a table summarising the various tones available.
  69. * Packets
  70. ** Intro to packets
  71. #+begin_src tex
  72. \slide{Packets}
  73. A packet is the smallest amount of information that can be transmitted
  74. \begin{center}
  75. \begin{tikzpicture}
  76. \draw[black] (0, 0) -- (13, 0) -- (13, 1) -- (0, 1) -- (0, 0);
  77. \node at (1, 0.5) {\footnotesize Recipient};
  78. \draw[black] (2, 0) -- (2, 1);
  79. \node at (2.75, 0.5) {\footnotesize Sender};
  80. \draw[black] (3.5, 0) -- (3.5, 1);
  81. \node at (4.25, 0.5) {\footnotesize Seq\#};
  82. \draw[black] (5, 0) -- (5, 1);
  83. \node at (5.75, 0.5) {\footnotesize Type};
  84. \draw[black] (6.5, 0) -- (6.5, 1);
  85. \node at (7.25, 0.5) {\footnotesize Length};
  86. \draw[black] (8, 0) -- (8, 1);
  87. \node at (10.5, 0.5) {\footnotesize Data};
  88. \end{tikzpicture}
  89. \small Structure of a packet
  90. \end{center}
  91. #+end_src
  92. A packet is the smallest amount of information you can transmit in 811, it is composed of multiple parts
  93. ** Recipient and Sender
  94. #+begin_src tex
  95. \slide{Recipient and Sender}
  96. \begin{center}
  97. \begin{tikzpicture}
  98. \draw[fill=orange!33!white] (0, 0) -- (3.5, 0) -- (3.5, 1) -- (0, 1) -- (0, 0);
  99. \draw[black] (0, 0) -- (13, 0) -- (13, 1) -- (0, 1) -- (0, 0);
  100. \node at (1, 0.5) {\footnotesize Recipient};
  101. \draw[black] (2, 0) -- (2, 1);
  102. \node at (2.75, 0.5) {\footnotesize Sender};
  103. \draw[black] (3.5, 0) -- (3.5, 1);
  104. \node at (4.25, 0.5) {\footnotesize Seq\#};
  105. \draw[black] (5, 0) -- (5, 1);
  106. \node at (5.75, 0.5) {\footnotesize Type};
  107. \draw[black] (6.5, 0) -- (6.5, 1);
  108. \node at (7.25, 0.5) {\footnotesize Length};
  109. \draw[black] (8, 0) -- (8, 1);
  110. \node at (10.5, 0.5) {\footnotesize Data};
  111. \end{tikzpicture}
  112. \end{center}
  113. \begin{items}
  114. \item The intended recipient and the sender of a message.
  115. \item Fully qualified international phone numbers.
  116. \item A lone {\tt\#} can be used as recipient to send to anyone willing to listen
  117. \item A lone {\tt\#} can be used as sender to send anonymously.
  118. \end{items}
  119. #+end_src
  120. The reciver and sender parts of the packet contains information about who the message is intended for, as well as about who sends the message. Those are fully qualified phone numbers, including country prefixes, but no national escape. For example if sending a message to someone in britain, you would just use 44 as a national prefix.
  121. To broadcast a message to anyone willing to listen, use a lone octothorpe as the recipient.
  122. To send a message anonymously one may use a lone octothorpe as the sender, however this is considered extremely rude, and one would often refuse to listen to you if you do so.
  123. ** Sequence Number
  124. #+begin_src tex
  125. \slide{Sequence Number}
  126. \begin{center}
  127. \begin{tikzpicture}
  128. \draw[fill=orange!33!white] (3.5, 0) -- (5, 0) -- (5, 1) -- (3.5, 1) -- (3.5, 0);
  129. \draw[black] (0, 0) -- (13, 0) -- (13, 1) -- (0, 1) -- (0, 0);
  130. \node at (1, 0.5) {\footnotesize Recipient};
  131. \draw[black] (2, 0) -- (2, 1);
  132. \node at (2.75, 0.5) {\footnotesize Sender};
  133. \draw[black] (3.5, 0) -- (3.5, 1);
  134. \node at (4.25, 0.5) {\footnotesize Seq\#};
  135. \draw[black] (5, 0) -- (5, 1);
  136. \node at (5.75, 0.5) {\footnotesize Type};
  137. \draw[black] (6.5, 0) -- (6.5, 1);
  138. \node at (7.25, 0.5) {\footnotesize Length};
  139. \draw[black] (8, 0) -- (8, 1);
  140. \node at (10.5, 0.5) {\footnotesize Data};
  141. \end{tikzpicture}
  142. \end{center}
  143. \begin{items}
  144. \item The number of messages previously sent by the sender to the recipient
  145. \item Encoded over 3 tones interpreted as a decimal number
  146. \item Allows for understanding even if packets arrive out of order.
  147. \end{items}
  148. #+end_src
  149. The sequence number is a sequence of 3 tones interpreted as a decimal number that represents the number of messages previously sent by the sender to the recipient modulo 1000. This part allows to keep track of the grammar even if packets end up arriving out of order.
  150. ** Type
  151. #+begin_src tex
  152. \slide{Type}
  153. \begin{center}
  154. \begin{tikzpicture}
  155. \draw[fill=orange!33!white] (5, 0) -- (6.5, 0) -- (6.5, 1) -- (5, 1) -- (5, 0);
  156. \draw[black] (0, 0) -- (13, 0) -- (13, 1) -- (0, 1) -- (0, 0);
  157. \node at (1, 0.5) {\footnotesize Recipient};
  158. \draw[black] (2, 0) -- (2, 1);
  159. \node at (2.75, 0.5) {\footnotesize Sender};
  160. \draw[black] (3.5, 0) -- (3.5, 1);
  161. \node at (4.25, 0.5) {\footnotesize Seq\#};
  162. \draw[black] (5, 0) -- (5, 1);
  163. \node at (5.75, 0.5) {\footnotesize Type};
  164. \draw[black] (6.5, 0) -- (6.5, 1);
  165. \node at (7.25, 0.5) {\footnotesize Length};
  166. \draw[black] (8, 0) -- (8, 1);
  167. \node at (10.5, 0.5) {\footnotesize Data};
  168. \end{tikzpicture}
  169. \end{center}
  170. One tone indicating the type of the Data
  171. \begin{description}\itemsep0pt\small
  172. \item[0] Semantic information
  173. \item[A] Variable
  174. \item[*] Gramatical information
  175. \item[\#] String litteral
  176. \item[1] Continuation
  177. \end{description}
  178. #+end_src
  179. The type field indicates what kind of data is in the body of the packet.
  180. It is represented by a single tone and can be of 5 different values:
  181. ** Length
  182. #+begin_src tex
  183. \slide{Length}
  184. \begin{center}
  185. \begin{tikzpicture}
  186. \draw[fill=orange!33!white] (8, 0) -- (6.5, 0) -- (6.5, 1) -- (8, 1) -- (8, 0);
  187. \draw[black] (0, 0) -- (13, 0) -- (13, 1) -- (0, 1) -- (0, 0);
  188. \node at (1, 0.5) {\footnotesize Recipient};
  189. \draw[black] (2, 0) -- (2, 1);
  190. \node at (2.75, 0.5) {\footnotesize Sender};
  191. \draw[black] (3.5, 0) -- (3.5, 1);
  192. \node at (4.25, 0.5) {\footnotesize Seq\#};
  193. \draw[black] (5, 0) -- (5, 1);
  194. \node at (5.75, 0.5) {\footnotesize Type};
  195. \draw[black] (6.5, 0) -- (6.5, 1);
  196. \node at (7.25, 0.5) {\footnotesize Length};
  197. \draw[black] (8, 0) -- (8, 1);
  198. \node at (10.5, 0.5) {\footnotesize Data};
  199. \end{tikzpicture}
  200. \end{center}
  201. \begin{items}
  202. \item Length of the Data field in tones
  203. \item 2 tones interpreted as a decimal number
  204. \item maximum length of 32.
  205. \end{items}
  206. #+end_src
  207. The last field of the header is the length of the data. It is expressed as a decimal number ranging between 1 and 32
  208. ** Data
  209. *** Type: Gramatical
  210. #+begin_src tex
  211. \slide{Data — Gramatical}
  212. \begin{items}
  213. \item Encodes Gramatical and Syntactic information
  214. \item Has a fixed number of possible values
  215. \item Describes a tree-like syntax
  216. \end{items}
  217. #+end_src
  218. Gramatical
  219. **** Gramatical Generic
  220. #+begin_src tex
  221. \slide{Data — Gramatical — Generic}
  222. Data payload: Empty
  223. \begin{items}
  224. \item represent
  225. \end{items}
  226. #+end_src
  227. **** Gramatical Speakers
  228. **** Gramatical Clause
  229. **** Gramatical Collections
  230. *** Type: Variable
  231. #+begin_src tex
  232. \slide{Data — Variable}
  233. #+end_src
  234. *** Type: Semantic
  235. #+begin_src tex
  236. \slide{Data — Semantic}
  237. \begin{items}
  238. \item Encodes a concept.
  239. \item Uses the Universal Decimal Classification to represent information:
  240. \begin{items}
  241. \item numerical values are enocded by their corresponding tones
  242. \item periods (which are only present in UDC to help readability) are dropped
  243. \item colons are encoded as {\tt C*}
  244. \end{items}
  245. \end{items}
  246. #+end_src
  247. Semantic packets encode concepts for use in the language. It uses a modified version of the Universal Decimal Classification, which is a system used by libraries around the world to give numbers to documents for sorting and indexing purposes (Another system you might have seen used for this is the Dewey Decmial Classification). Numerical values are encoded by their corresponding DTMF tones, while the symbols are encoded in a way that functions over DTMF. The details are shown over the next couple of slides.
  248. #+begin_src tex
  249. \slide{Data — Semantic}
  250. \begin{items}
  251. \item Uses the Universal Decimal Classification to represent information:
  252. \begin{items}
  253. \item parenthesis are encoded as {\tt A*} (opening) and {\tt A\#} (closing)
  254. \item square brackets are encoded as {\tt B*} (opening) and {\tt B\#} (closing)
  255. \item quotes are encoded as {\tt C\#}
  256. \item dashes are encoded as {\tt D*}
  257. \end{items}
  258. \end{items}
  259. #+end_src
  260. #+begin_src tex
  261. \slide{Data — Semantic}
  262. \begin{items}
  263. \item Uses the Universal Decimal Classification to represent information:
  264. \begin{items}
  265. \item equals are encoded as {\tt D\#}
  266. \item pluses are encoded as {\tt \#}
  267. \item References to variables are done by including the name of the variable in between {\tt *}
  268. \item Non UDC notation is achieved by referencing a variable containing a string litteral.
  269. \end{items}
  270. \end{items}
  271. #+end_src
  272. #+begin_src tex
  273. \slide{Data — Semantic}
  274. \begin{items}
  275. \item No dictionary is directly provided by me.
  276. \item Abriged version of the UDC at {\tt https://ucdsummary.info}
  277. \item A more complte version can be obtain from the consortium, or be conuslted at a library.
  278. \end{items}
  279. #+end_src
  280. I do not share a dictionary myself for two reasons, firstly it’d be highly impractical due to the nature of the UDC, but second-and-most-importantly the UDC Consortium can be a bit stingy with royalties. So if you want access to the dictionary (which is litterally just the UDC spec, you can access a abriged summary online at the adress on screen, or obtain a more complete version from the UDC Consortium (which may cost a non-negligeable amount of money) or from a local library (probably significantly more affordable).
  281. *** Type: String Literal
  282. #+begin_src tex
  283. \slide{Data — String Litteral}
  284. Raw text data
  285. \begin{items}
  286. \item Encoded as hexadecimal where {\tt *} stands for 0xE and {\tt\#} stands for 0xF
  287. \item Follows the EBCDIC 803 codepage
  288. \item If characters outside of EBCDIC 803, decompose, convert all characters to unicode in the form U+xxxxxxxx, then express that with EBCDIC 803
  289. \end{items}
  290. #+end_src
  291. String literal packets contain raw text data. Such data is used for non-UDC notation in semantic packets and for the name part of a proper noun.
  292. The encoding of text works as follows:
  293. If the string can be represented losslessly on EBCDIC Codepage 803, it is encoded in hexadecimal where * stands for 0xE and # stands for 0xF following said codepage.
  294. Otherwise, the string is expressed in it’s Unicode Decomposed Normalisation Form, each codepoint is encoded as the string U+ followed by the 0-padded 8 hexadecimal digits representation of the codepoint
  295. #+begin_src tex
  296. \slide{Data — String Literal — EBCDIC 803}
  297. {
  298. \setmainfont{Iosevka}
  299. \fontsize{8}{9}\selectfont
  300. \begin{center}
  301. \def\s#1{{\fontsize{6}{8}\selectfont\itshape\bfseries #1}}
  302. \begin{tabular}{c|cccc|cccc|cccc|cccc}
  303. & \bf x0 & \bf x1 & \bf x2 & \bf x3 & \bf x4 & \bf x5 & \bf x6 & \bf x7 & \bf x8 & \bf x9 & \bf xA & \bf xB & \bf xC & \bf xD & \bf xE & \bf xF \\\hline
  304. \bf 0x&\s{NUL}&\s{SOH}&\s{STX}&\s{ETX}&\s{ST}&\s{HT}&\s{SSA}&\s{DEL}&\s{SSA}&\s{RI}&\s{SS2}&\s{VT}&\s{FF}&\s{CR}&\s{SO}&\s{SI}\\
  305. \bf 1x&\s{DLE}&\s{DC1}&\s{DC2}&\s{DC3}&\s{OSC}&\s{NL}&\s{BS}&\s{ESA}&\s{CAN}&\s{EM}&\s{PU2}&\s{SS3}&\s{IFS}&\s{IGS}&\s{IRS}&\s{ITB}\\
  306. \bf 2x&\s{PAD}&\s{HOP}&\s{BPH}&\s{NBH}&\s{IND}&\s{LF}&\s{ETB}&\s{ESC}&\s{HTS}&\s{HTJ}&\s{VTS}&\s{PLD}&\s{UP}&\s{ENQ}&\s{ACK}&\s{BEL}\\
  307. \bf 3x&\s{DCS}&\s{BU1}&\s{SYN}&\s{STS}&\s{CCH}&\s{MW}&\s{SPA}&\s{EOT}&\s{SOS}&\s{SGCI}&\s{SCI}&\s{CSI}&\s{DC4}&\s{NAK}&\s{PM}&\s{SUB}\\\hline
  308. \bf 4x& \s{SP} &&&&&&&&&&\$&.&<&(&+&|\\
  309. \bf 5x&\h א&&&&&&&&&&!&\h לי֞&*&)&;&¬\\
  310. \bf 6x&-&&&&&&&&&&&,&\%&\_&>&?\\
  311. \bf 7x&&&&&&&&&&&:&\#&@&\textquotesingle&=&\textquotedbl\\\hline
  312. \bf 8x&&\h ב &\h ג &\h ד &\h ה &\h ו &\h ז &\h ח &\h ט &\h י &&&&&&\\
  313. \bf 9x&&\h ך &\h כ &\h ל &\h ם &\h מ &\h ן &\h נ &\h ס &\h ע &&&€&&\h ₪ &\\
  314. \bf Ax&&&\h ע &\h ף &\h פ &\h ץ &\h צ &\h ק &\h ר &\h ש &\h ת &&&&&\\
  315. \bf Bx&&&&&&&&&&&&&&&&\\\hline
  316. \bf Cx&&A&B&C&D&E&F&G&H&I&&&&&&\\
  317. \bf Dx&&J&K&L&M&N&O&P&Q&R&&\s{LRO}&\s{RLO}&\s{PDF}&&\\
  318. \bf Ex&&&S&T&U&V&W&X&Y&Z&&&&&&\\
  319. \bf Fx&0&1&2&3&4&5&6&7&8&9&&\s{LRF}&\s{RLF}&\s{LRM}&\s{RLM}&\s{APC}\\
  320. \end{tabular}
  321. \end{center}
  322. }
  323. % TODO ADD EBCDIC TABLE
  324. #+end_src
  325. The EBCDIC 803 Code page is a codepage that was (and sadly still is) used by IBM mainframes in Israel. It supports the Hebrew writing system, Uppercase (but not lowercase, and no diacritics) Latin letters, numbers, and a bunch of punctuation. In practice that means that many strings, despite lacking any special characters are encoded in expanded unicode notation for the only reason that they have lowercase letters.
  326. *** Type: Continuation
  327. #+begin_src tex
  328. \slide{Data — Continuation}
  329. \begin{items}
  330. \item Used when the data segment of a packet exceeds 32
  331. \item Can chain an arbitrary number of those (until all data is expressed)
  332. \end{items}
  333. #+end_src
  334. * The translation, packet by packet
  335. #+begin_src tex
  336. \section{Translation}
  337. \begin{quote}
  338. Hark! It was ruled by Agamashuya and His son Gu Sabah: Tian practices against the lesser side of the invisible origin of light, beset by cosmetic prohibitions of silence and restraint; for Ngu, a slave to creativity, shall make inspection and certification prior to confirmation of Najva Guns’ official status. Deny thine humanity: There are no politics in real life.
  339. \end{quote}
  340. \tslide{001}{*}{01}{B}{\sc new clause}
  341. \tslide{002}{*}{01}{B}{\sc new clause}
  342. \tslide{003}{*}{01}{B}{\sc new clause}
  343. \tslide{004}{*}{01}{B}{\sc new clause}
  344. \tslide{005}{*}{01}{B}{\sc new clause}
  345. \tslide{006}{*}{01}{B}{\sc new clause}
  346. \tslide{007}{*}{01}{B}{\sc new clause}
  347. \tslide{008}{*}{01}{1}{\sc assert}
  348. \tslide{009}{*}{02}{A1}{\sc 1sg}
  349. \tslide{010}{*}{01}{0}{\sc let}
  350. \tslide{011}{A}{01}{0}{\sc var(0)}
  351. \tslide{012}{*}{01}{D}{\sc ppn}
  352. \tslide{013}{\#}{32}{*44*\#0\#0\#0\#0\#0\#0\#4\#1*44*\#0\#0\#0\#0}{{\sc litteral} “Agamasuya”}
  353. \tslide{014}{1}{32}{\#0\#0\#6\#7*44*\#0\#0\#0\#0\#0\#0\#6\#1*44*}{\sc continuation}
  354. \tslide{015}{1}{32}{\#0\#0\#0\#0\#0\#0\#6C4*44*\#0\#0\#0\#0\#0\#0}{\sc continuation}
  355. \tslide{016}{1}{32}{\#6\#1*44*\#0\#0\#0\#0\#0\#0\#7\#3*44*\#0\#0}{\sc continuation}
  356. \tslide{017}{1}{32}{\#0\#0\#0\#0\#6\#8*44*\#0\#0\#0\#0\#0\#0\#7\#5}{\sc continuation}
  357. \tslide{018}{1}{20}{*44*\#0\#0\#0\#0\#0\#0\#6\#1}{\sc continuation}
  358. \tslide{019}{0}{04}{D*05}{person}
  359. \tslide{020}{*}{01}{3}{\sc transitive clause}
  360. \tslide{021}{*}{01}{C}{\sc collection}
  361. \tslide{022}{A}{01}{0}{\sc var(0)}
  362. #+end_src
  363. * Closing
  364. #+begin_src tex
  365. \end{document}
  366. #+end_src