No, no, my love, these are not tears you see. Sleep, only sleep, has dimmed the kohl of my eyes. At the pale break of night you watch the dew lie on the lotus leaf, and you suppose the flower has blossomed out of grief. This is no more than a winter cloud brushed by a false and treacherous mist, an illusion risen wide awake. No rain has come. Why, poet? For nothing, nothing at all did you make yourself the grit in every eye? Setting out to bring another to tears, you have wept, in the end, for yourself alone.
Whenever I try to explain how a piece of software works, I hit a library whose insides are off-limits. But to understand programming, looking at the libraries is sometimes the most important thing.
Let’s say you’re reading Martin Kleppmann’s Designing Data-Intensive Applications. It discusses B-trees and log-structured storage, Bloom filters, consistent hashing, snapshot isolation, vector clocks and CRDTs. What if you want to look at a database application where such features are implemented in a transparently visible library?
This is the kind of problem Orpheus is meant to solve. It runs on Ubuntu (and probably other distros). First install Rust and glibc. Open a graphical terminal and run:
git clone https://github.com/thoriumrobot/orpheus
cd orpheus
sudochmod+x ./latte
(enter your root password when prompted)
./latte
Orpheus is a small but complete computing environment that lets you understand it all the way down, making it convenient to teach from.
Orpheus has a persistent state. All actions get written down as an event in an append-only log. To find the current state, you replay the log from the start, folding each event into the one before. Because the replay is deterministic, the same events always rebuild the same state.
This state can persist across machines. Each machine keeps its own copy of the log. They keep each other current over a network. A machine tells the others which events it has, asks for the ones it lacks, and passes along new ones as they happen. Every machine replays the events in one fixed order. Two machines that have seen the same set of events end up in exactly the same state regardless of the order those events arrived in.
Inside the environment, high level apps are written in a simple language resembling a functional fragment of Rust combined with Lisp. Expressions are like Lisp. E.g. (add 2 3) is 5. Underneath, there are only numbers and pairs, written [a b]. Everything else is made of pairs. A list is a chain of pairs that ends in a 0, so [1 2 3 0] has three elements. Every piece of a program is an expression that produces a value.
You write a function with fn. A definition is a name, the arguments in brackets, and the expression it returns:
sq = fn [x] -> (mul x x)
So (sq 3) is 9.
Libraries are lists of such definitions. You can select a function name and click the Def button on the top bar to display the function definition in the system log.
I plan to use this system to create a free course where every algorithm can be traced down to first principles.
Oh maiden from a far-off island, I know you, I know. Stranger from the land of cinnamon, so sweet, soft-spoken. On the calm Pacific sea, through typhoon and the storm, I heard your restless tune. Do you play a wild flute of mountain cane? The woods are washed all over in a spring-gold smile. Deep in the coils of your hair fresh cardamom blossoms sway, oh flower-loving maiden.
An ex-member of Hindutva talks about his experience:
There is so much right-wing propaganda because right-wing propaganda outlets are hiring in massive numbers. The Indian right hires “IT cells”, which are exactly what they sound like.
Right-wing propaganda paints those crushed by the system as losers. The pressure generated by the system triggers the effects of Terror Management Theory, causing the masses to cling to their institutions. These institutions are in turn led by right-wing propagandists. The right buys off every community leader who attains popularity and silences any resistance they encounter. It’s a downward spiral.
As a STEM student, even I was offered multiple jobs in research and IT (not in propaganda) associated with right-wing organizations, which I declined. Leftists are currently not creating a comparable number of jobs programs associated with ideologically left-wing institutions. Until this changes, the world will keep looking the way it does right now. In order to change this, I propose Accountable Planning as the way forward:
The external world and the human mind operate by the same physical laws. The functions of the brain like perceiving, reasoning and calculating are done as physical processes. Experiences inherit the mathematical describability of physics: to the extent that natural laws are formulated mathematically, the experiences shaped by the laws are the same. Experiences cannot differ without an underlying physical difference. The explanatory framework that applies to the rest of nature applies equally to the events inside a head.
Mathematical concepts are features of physical structure that have been isolated from surrounding details. This is clear for elementary mathematics and for logic, which can be understood as generalizations over physical regularities. These generalizations are reached by ignoring low-level features and keeping only the structural relations that recur across many systems.
Counting, ordering, equality, conjunction, and the rest do not require Platonic abstractions to be intelligible. They are patterns that physical systems instantiate, and that humans, as physical systems themselves, can detect and manipulate. Physical devices such as computers, abaci, and brains can manipulate mathematical concepts at all by arranging matter so that its dynamics mirrors the relevant pattern of relations. The result is a substructure within physics that is causally relevant at the scale of human experience.
As elementary mathematics is extracted from structural features of physical law, its fit to that law is a consequence of how the abstraction is constructed. Advanced mathematics such as group theory in particle physics and Riemannian geometry in general relativity were developed in greater generality than physics required. Physics, when it was formulated precisely, found among them the substructures that fit. In either case, the underlying mechanism is structural correspondence sustained by the selection and refinement of those structures that prove apt and the abandonment of those that do not.
Once abstraction is understood this way, the relationship between physics and higher-level structure becomes familiar. A physical computer can be arranged so that its low-level dynamics simulate Conway’s Game of Life, a two-dimensional cellular automaton whose rules are vastly simpler than those of the underlying transistors. Conversely, a Game of Life configuration can be made to simulate logic gates, a Turing machine, or even another instance of the Game of Life. Both directions of the relation reflect the substrate-independence of computation: the Game of Life is Turing-complete, and so is the general-purpose computer that runs it. Either can implement any computable function.
The abstraction at each level is causally efficacious at that level: gliders collide, signals propagate and computations terminate, regardless of what physical substrate ultimately implements them. This is what philosophers of mind call multiple realizability: the same higher-level structure can be realized by many distinct lower-level physical setups.
The same logic applies to experience. Experiential setups like counted objects are targets for mathematical analysis. This is no different in kind from arranging a computer to run the Game of Life. In both cases we are selecting a substructure of the physical world that supports a particular high-level description. The description is no less real for having been selected.
Edit: When I say the laws of nature are “mathematical”, I only mean they are regular and proportion-preserving. Human mathematical language emerges from low-level dynamics that doesn’t resemble it very closely. Here’s an example:
Olympian is an Indo-European language spoken by the barbarian overlords who ruled Mount Olympus. From there, they launched raids that ravaged the surrounding countryside. Later ages deified them as gods. The name Zeus derives directly from the Olympian word ʒīw, meaning “god”.
Olympian is a genderless language with a default SOV word order. OSV word order is used to topicalize the object, and historical cases have decayed into clitics. The language is directly descended from the Titanic language Othryian.
In some ways, Olympian is a very archaic language. In other ways, it has been radically simplified.
Phonology
Stops: p, b, t, d, k, g
Fricatives: v, ð, ʒ, ɣ, h, ʁ
Nasals: m, n, ɲ
Liquid / glides: l, ʎ, w, y
Short oral vowels: i, a, u (e and o are rare, occurring almost exclusively in diphthongs or as nasals)
Long vowels: ī, ū, ē, ō
Nasal vowels: ĩ, ẽ, ã, õ, ũ
Front-rounded vowel: ü (< iu)
Diphthongs: ei, ou, au, ai, ia (including nasal variants)
Phonotactics and Stress
The maximum syllable structure is CCVCC, though syllables are typically smaller. Permitted onsets include stop+liquid (pʁ, bʁ, tʁ, vʁ), stop+glide (tw, dy, kw), and palatal sonorant clusters (ʎ, ɲw). Three-consonant onsets have been eliminated entirely. Codas allow for a single consonant, a glide+sibilant cluster (such as wʒ or yʒ), a nasal-vowel+obstruent, or a sonorant+obstruent.
The Ghost of the Sibilants: Historical sibilants underwent debuccalization and eventual deletion. When this occurred word-medially before a consonant, it triggered compensatory lengthening of the preceding vowel (e.g., *\*VsT* > *\*V:T*). However, when sibilants dropped word-initially before a stop (e.g., PIE *\*st-*), there was no preceding vowel to lengthen; instead, it resulted in bare fortis stops (t, p, k) that resist voicing assimilation in modern Olympian.
Prosody: Stress is fixed by weight on a four-tier scale: long vowel (4) > diphthong / nasal (3) > closed-short (2) > open-short (1). Ties resolve to the leftmost heavy syllable. Critically, a word-final closed-short syllable is demoted to light status. This stress system explains why every Othryian -u ending reduces and apocopates: the stress is pulled rightward to the heaviest non-final syllable, leaving the grammatical case suffix weak and vulnerable to erosion.
From Othryian to Olympian: the Ordered Sound Changes
The transition was rapid by historical standards, perhaps four or five generations, and the changes interacted in a strict feeding order. The most consequential are listed below in the order they applied.
Initial /t/-drop. Word-initial /t-/ before a vowel deleted unconditionally (tiku > iku > ika “craftsman”; tealu > ealu > iaw “standing-stone”). The /tr-/ cluster was protected by its onset partner (triyi > tʁi “three”).
Geminate simplification. /tt, dd, kk, pp, bb, gg/ collapsed to a single segment, but the resulting stop continued to behave as fortis under apocope (see §6).
Prosody-conditioned vowel reduction. Stress was assigned by the four-tier weight system above. The final unstressed vowel reduced to schwa (/-ə/, or /-ə̃/ if originally nasal); medial unstressed long vowels and diphthongs centralised toward their first element.
Palatalisation. Coronals and dorsals palatalised before an unreduced front vowel: t,k → tʃ; d,g → dʒ; θ,x → ʃ; ð,ɣ → ʒ. Before /i, ī/ specifically, n → ɲ and l → ʎ. Crucially, this rule fired after reduction, so a final /-i/ that had already become schwa did not trigger palatalisation. This is why iti “is” surfaces as ia (no palatalisation) while viriθi “carries” surfaces as viʁi (medial /θ/ before unreduced /i/ does palatalise).
Debuccalisation. All voiceless fricatives merged with /h/: f, θ, x, ʃ → h.
Lenition I. Word-initial /h/ before a vowel dropped. Intervocalically: /h/ → ∅; /ð/ → ∅; /v/ → /w/; /y/ → ∅; /g/ → /y/ between front vowels, /w/ otherwise. Adjacent identical short vowels then contracted.
Nasalisation. A vowel before a tautosyllabic /n, m/, whether word-final or pre-obstruent, absorbed the nasal: /Vn/ > /Ṽ/, /Vm/ > /Ṽ/.
Apocope. The final schwa was resolved by context. After a sonorant (or nasal vowel) plus stop, both the stop and the schwa dropped (murt-ə > muʁ; liwk-ə > ʎiw). After /h/, both /h/ and the schwa dropped (/h/ is not a legal coda). After an obstruent, the schwa strengthened to /a/ (tikə > ika; viaʒə > viaʒa). After a sonorant alone, the schwa dropped (iru > iʁ; inu > in). In vowel-vowel hiatus, the schwa dropped unless the prior syllable was a bare short vowel (iə > ia; triə > tri).
Final stop drop. A word-final /p, t, k, d/ deleted in monosyllabic stems (up > u, nut > nu, poud > pou) and after a homorganic nasal coda (unp > un). Stops were retained after a nasal vowel (pĩp “five”, ʒiãt “ten”) and within /-rd/, /-rt/ clusters (eiʁd “heart”).
Uvularisation. All /r/ became /ʁ/.
L-vocalisation. Coda /l/ before a consonant or word-finally became /w/; palatalised /ʎ/ was unaffected.
Diphthong realignment. Stressed /ea/ raised to /ia/ (ealu > iaw; peati > piā). Stressed /iu/ in a final monosyllable became the front-rounded /ü/ (niu > ɲü); before a coda, /iu/ became /ia/ (wiur > wiaʁ).
Lenition II. A second wave of intervocalic weakening reached newly exposed stops: p → b, t → ∅, k → ∅, b → w (iku > ika > ia via this rule, but the irregular form tiku > ika shows the morpheme boundary blocked the deletion).
Hiatus smoothing. Where two oral vowels remained adjacent without a separating consonant, /y/ was inserted in front contexts and /w/ in back contexts (iūlu > iyūw; cf. the modern clitic boundary rule).
The interaction of stress assignment (3), apocope (9), and final stop drop (10) is responsible for the dramatic morphological shape of Olympian: nouns lose their case suffixes wholesale, while finite verbs in -θi retain the /-i/ as a vestigial finiteness marker (palatalisation+debuccalisation+Lenition I yields a regular /-Ci/ that survives the apocope.)
Nouns and Plurality
Nouns occur in a single invariant form. Historically, the Othryian Direct (nominative) -u was prosodically weak and reduced to a schwa, then either dropped completely (e.g., dīwu > ʒīw), strengthened to -a when its onset was an obstruent that needed support (e.g., tiku > ika, viaʒu > viaʒa), or fed irregular contractions (e.g., uni > ũa). The Objective (accusative) endings -un and -um nasalised into a final nasal vowel (e.g., umtun > ũã). The Possessive, Dative, Instrumental, and Vocative endings all reduced or dropped. Olympian speakers eventually reanalyzed these resulting variant surface endings as lexical accidents.
Number is unmarked on most nouns. When necessary, plurality is indicated by numerals, the quantifier muʁya (“many”, from Othryian muriyo), or the enclitic =a in a partitive construction (“of the _”). A fossilized plural -ou survives in a few archaic and ritual forms, such as dīwou (“the gods”), which is used in formal invocations.
Clitics and Case Markers
All five clitics are unstressed and bind phonologically to the preceding word. They participate in the host’s stress domain but do not themselves attract stress. Hiatus across the clitic boundary is resolved by a glide-epenthesis rule: inserting y after front vowels and w after back vowels. The clitic itself maintains a fixed surface form, similar to the Persian ezafe -e/-ye.
Genitive (=a): Derived from Othryian i (relative). Marks possessor, adnominal modifier, and compound head-marking.
Differential Object (=nã): Derived from Othryian an (definite marker). Marks specific direct objects, typically definite, human, or otherwise prominent referents, mirroring the Persian -rā and Hindi -ko systems. A bare object is non-specific or indefinite (ʒīw aũ “he sees a god / gods”) versus a marked definite object (ʒīw=nã aũ “he sees the god”). Applies to definite/animate direct objects only.
Instrumental / Comitative (=miu): Derived from Othryian me (“with”). Indicates instrument, means, or accompaniment.
Locative / Dative (=ẽ): Derived from Othryian en (“in”). Indicates location, goal, or indirect object.
Ablative / Source (=aw): Derived from Othryian au (“from”). Indicates source, origin, partitive, or “than”.
Examples:
uʁeiʒ=a eiʁd (king=GEN heart) “the king’s heart”
ũa=miu ʒweiʁ vĩ (sword=INS wild.beast strike-3SG) “with a sword he strikes the wild beast”
ðeʒã=aw piawʁ oua (earth=ABL fire rises=swift) “from the earth fire rises swiftly”
Pronouns
Form
1st Sg.
2nd Sg.
1st Pl.
Proximal (PROX)
Distal (DIST)
Direct (DIR)
iʒou
tū
wiy
i
u
Objective (OBJ)
mei
twei
nou
ĩ
ũ
Possessive (POSS)
miɲ
iw
uya
(Uses =a clitic)
(Uses =a clitic)
The proximal i (from Othryian i, from Ouranian še) is a demonstrative, relativizer, and the source of the genitive clitic =a. The distal u (from Othryian u, from Ouranian so) is grammaticalizing toward a definite article in formal narrative contexts: u uʁeiʒ “the king (we were speaking of)”.
Olympian requires overt subject pronouns in most contexts. This is the direct structural consequence of verbal syncretism. Because a single present ending -i covers the 2sg, 3sg, and 2pl forms, recovering person from context alone became unreliable. Therefore, pronouns placed directly in front of the verb carry the necessary grammatical weight.
Verbs
Othryian iθi (3sg, and 2pl) and -ī (2sg) both yielded Olympian -i after undergoing palatalization, deaffrication, and apocope. The response, mirroring the evolution of French and Middle English, was to promote subject pronouns to an obligatory status.
Modern Olympian Conjugation: viʁi- “carry”
Person
Present
Past
1st Sg.
viʁou
viʁã
2nd Sg.
viʁi
viʁ
3rd Sg.
viʁi
viʁt
1st Pl.
viʁum
viʁã=wiy (Periphrastic)
2nd Pl.
viʁi
viʁã=tū-wiy (Periphrastic)
3rd Pl.
viʁũ
viʁũt
Because the present 2sg, 3sg, and 2pl are identical (viʁi), they must be disambiguated by the subject pronoun: tū viʁi “you (sg) carry”, u viʁi “he/she carries”, tū-wiy viʁi “you (pl) carry” (using the innovative plural-marking clitic -wiy). The “finite marker” -i has effectively been reanalyzed as a general present-tense inflection. Similarly, -t (from the old 3sg past -it) has generalized as a past-tense marker carried by most persons.
The Periphrastic Plural Past: The historical 1st and 2nd person plural past forms were lost during the apocope shift. To fill this gap, modern speakers developed a periphrastic construction fusing the active participle with the plural enclitic. Thus, “we carried” is rendered as viʁã=wiy (literally “carrying-we”) and “you all carried” as viʁã=tū-wiy.
Historical Etymology
Person
Othryian Ancestor
PIE Ancestor
1st Sg.
virou / virun
*-ō / *-om
2nd Sg.
virī / viri
*-esi / *-es
3rd Sg.
viriθi / virit
*-eti / *-et
1st Pl.
virumu
*-omos
2nd Pl.
viriθi
*-ete
3rd Pl.
virunti / virunt
*-onti / *-ont
Imperative: The 2sg is the bare stem: viʁ! “carry!”, vĩ! “strike!” (< vin-), ʒnou! “know!”. The 3sg imperative survives strictly in archaic ritual commands: viʁü! “let him carry!” (< Othryian viriθu, with iu monophthongizing to ü).
Participles: The active participle is -ã (< Othryian -unt), producing forms like viʁã “carrying, one who carries”. The passive participle is a zero-morph -ø (< Othryian -tu), producing forms like viʁ “carried, borne”, which is homophonous with the 2sg past.
Syntax
SOV word order is required in neutral discourse: wiy ʒweiʁ=nã vĩum (1PL beast=DOM strike-1PL) “we strike the beast”. OSV is employed to topicalize the object.
The noun phrase is strictly head-final. Modifiers precede the head: adjective + noun (muʁ wīʁ “dead hero”), numeral + noun (tʁi ʒweiʁ “three beasts”), and genitive + head via clitic (uʁeiʒ=a eiʁd “king’s heart”). A demonstrative + noun uses the distal u in a weak-article role: u uʁeiʒ “the (aforementioned) king”.
Relative clauses are head-final, using i as the relativizer. The relative clause precedes its head noun: [i vĩ] wīʁ “the hero who strikes”, translating literally to “[who strikes] hero”. This structure mirrors the Persian pattern ([ke mizanad] pahlavān).
Yes/no questions are formed by sentence-final rising intonation with no overt marker. Content questions use interrogative pronouns (kwa “who?”; kwi “what?”) in situ, fronted only for emphasis.
The negative particle ɲi (< Othryian ne < PIE *ne, palatalized before the front vowel) precedes the finite verb: u ɲi vĩ “he does not strike”. Clause-initial ɲi delivered with emphatic stress expresses absolute denial: ɲi! kwa ʒnou “No! Who knows?”.
Sample Text
nu=a ɲiw=a ueiʁ, “Star of the night, of the cloud-sky,”
uʁeiʒ=a uyha ia. “the king’s oath stands firm.”
ʎiw unmuʁ ia, ʒīw ia. “glory is immortal, the sacred endures.”
Olympian Lexicon (Alphabetized by Category)
Note on Semantic Shifts: As the Olympians established their rule, older terminology shifted to reflect administrative and theological concepts. For example, ʁiw (raw flesh) became a derogatory term for mortal subjects; uʁyun (war-chief) shifted to mean a sovereign judge; and ʒeimã (custom) formalized into the concept of divine law. Conversely, words like u (life-force) adopted connotations aligned with entropic decay.