- “It's so thick, you could kill someone with this thing. And if you master what's inside, you just might kill everyone with it.”
- — Alterniabound description
~ATH is an esoteric programming language found on both Earth and Alternia.
John Egbert and Karkat Vantas are both beginner programmers attempting poorly to learn this language; either all programming languages in Homestuck are similarly impenetrable, or they've both made poor choices for a place to start. Sollux Captor and Roxy Lalonde, in contrast, are both skilled hackers who are quite proficient in ~ATH.
Etymology[]
~ATH is "tilde ATH"; a play on the phrase "till death", referring to the programming language's dealings in lifespans and mortality. In some object-oriented programming languages, most notably C++, a tilde prefix is also used for declarations of destructors, a function called when an object is destroyed; this seems to be loosely similar to the tilde's function within ~ATH itself.
Within the Hayes command set, a language used within internet modems, the command +++ATH0
is given to force a modem to hang up; when used maliciously, this is sometimes called the ping of death.
Specification[]
~ATH is an apparently insufferable language to work with. Its logic is composed of nothing but infinite loops, or at best, loops of effectively interminable construction.
Below is the simplest legal ~ATH program, which loops forever and does nothing. Any code deviating from this pattern will not compile.
~ATH(THIS) { // ADDITIONAL GRAVES... } EXECUTE(NULL); THIS.DIE();
The only straightforward way to get anything done with ~ATH is to use the EXECUTE statement. However, EXECUTE statements may only be placed at the end of the eponymous ~ATH loops. The loop's life is bound to that of a specified object, and will not terminate until that object dies. In the above example, the loop is bound to the program's life, so there is no way to break the loop and continue execution. However, ~ATH allows the user to import other objects from a rather large library, such as the author and the universe. Like Sburb, it is capable of interacting with reality. As Karkat notes, this might be useful for posthumously releasing a will or a deadly virus, but not much else. Anything with a short lifespan, such as a rapidly decaying particle or a fruit fly, is conveniently absent from the library.
Without short-lived objects present in the library, the only way to get anything done in a timely manner is to trick ~ATH into doing what you want. How one does so is not clear, as the only example we've seen is this program written by Sollux Captor, which defies analysis. However, that program includes the syntax ~ATH(!U2)
, which seems to reference "the death of the absence of U2", i.e. the creation of U2; as such, perhaps this issue can be relatively easily worked around by tying code execution to the creation of long-lived, but easily accessible, objects.
The Mobius Double-Reacharound Virus (check_thii2_2hiit_out.~ATH)[]
The first ~ATH program that was seen to be executed is the Mobius Double Reacharound Virus (titled "check_thii2_2hiit_out.~ATH"), written by Sollux Captor and sent to Karkat Vantas. Karkat compiles and runs the program in a fit of frustration and stupidity.
bifurcate THIS[THIS, THIS]; import universe U1; import universe U2; ~ATH(U1) { ~ATH(!U2) { } EXECUTE(~ATH(THIS){}EXECUTE(NULL)); } EXECUTE(~ATH(THIS){}EXECUTE(NULL)); [THIS, THIS].DIE();
This shows that ~ATH code is apparently color-sensitive, a fact of which Karkat was skeptical.
The program, when run, causes the computer to explode and places a curse on its user, everyone he knows, and everyone he will ever meet; as with the ~ATH language in general, whether the execution of the virus actually caused events to transpire or merely foreshadowed them is not clear. While Karkat and Sollux believe the code is what caused the lusii to die, Kanaya Maryam expresses doubts.
The program is "bifurcated" into red and blue sections - possibly referencing the complete phrase 'til death do us part - relating to two universes; according to Andrew Hussie's Formspring, U2 in blue is the trolls' universe, and U1 in red is the humans' universe. Presumably, given the nature of ~ATH, the red code waits for the death of the kids' universe, and the blue code waits for the death of the opposite (!) of the trolls' universe, perhaps referring to the universe's birth; the code's inscrutable mix of colors and indentation are unlike any conventional programming language on Earth, and seem to suggest that the code cannot finish until U1 and !U2 both die at the same time. What this possibly has to do with cursing all of Karkat's acquaintances and their lusii is not entirely clear, though [THIS, THIS].DIE seems to reference the circumstantially simultaneous deaths of both universes in Cascade.
It may be noted that a "universe" is an established concept in mathematics, referring to the set of everything being worked with in a given mathematical theorem. Fittingly, in conventional computing, the death of a universe could be seen as referring to the death of every single thing in the equation.
unhackable.~ath[]
Another working ~ATH program seen so far is "unhackable.~ath", which was copied by Sollux Captor from an obscure server, far beyond the Alternian global network. This file always struck Sollux as quite odd.
It is an extremely simple ~ATH program. Its main loop is tied to the lifespan of the universe. When the universe dies, a mysterious subprogram, represented by an image cyclically displaying pool balls, will be executed. Unfortunately, none of the characters, not even Sollux, have any way of knowing what that subprogram does, as the subprogram runs on a protected part of the server. It is completely unhackable. After seeing Karkat abuse his other program, Sollux deletes the file, though it doesn't do much good, as the program is already running elsewhere. Luckily, whatever harm it will do probably will not occur for many billions of years.
It is later revealed that, when executed, the subprogram summons an indestructible demon into the recently voided universe. This monstrous being has the power to travel through time, and will use this power to go about assembling followers through various epochs, even going so far as to personally establish the parameters for his future summoning, largely through the actions of his officer, Doc Scratch. The execution of the code eventually comes to pass in Intermission 2, after the destruction of the trolls' universe in [S] Cascade, causing Lord English to manifest through the body of Doc Scratch.
As Lord English can travel through time, he already exists within the universe and therefore the program itself is essentially just a formality—something Sollux could never have known.
SBURB CLIENT.~ATH[]
In addition, one ~ATH program has been shown so far in the post-scratch universe, which Roxy Lalonde sent to Jane Crocker as a pirated version of Sburb. However, the program turned out to be merely a series of short, cryptic warnings from Roxy to Jane, followed by the explosion of Jane's computer in what seems to be an attempt to assassinate her, yet again. She is saved, however, by Gcat. As it was revealed, Roxy coded this version herself and sent it to Jane because she wasn't ready to play the game yet, and the real client was never sent to her—furthermore, the client she sent was actually the cause of Jane's computer explosion, in an attempt to prevent her from playing. However, Lil' Seb downloaded the client to Dad's computer to play it, and Jane became some sort of "action girl" instead, just like John did when Dave copied his server disc and connected to Jade.
Trivia[]
- Caliborn's shirt symbol, as well as the countdown timer on his cruxtruder, are composed of a ~ and a U, which would ultimately signify the end of the universe, in terms of this programming language.