I’ve been working on something inspired by Orphan Drift/CCRU‘s hyperstitional mythology for a while. Autoloa (named for but not patterned after the Vodoun spirits that entered cyberculture via William Gibson) generates small pantheons of possible spirits. It’s working but very unfinished. I’ve decided to develop it further in public.
“Change for the machines.” – Synners, Pat Cadigan
Theodor Adorno regarded the occult as a politically quiescent denial of alienation through a regression to animism.
“Occultism is a reflex-action to the subjectification of all meaning, the complement of reification. If; to the living, objective reality seems deaf as never before, they try to elicit meaning from it by saying abracadabra. Meaning is attributed indiscriminately to the next worst thing: the rationality of the real, no longer quite convincing, is replaced by hopping tables and rays from heaps of earth.”
– Theses Against Occultism, Theodor Adorno
And this is true, although as always it would be wrong to attribute a more general feature of human psychology uniquely to a single religion.
The Baudrillardian Disneyland of religion is the cargo cult, in which Melanesian islanders re-enact the long-ago observed activities of departed American troops in order to cause the vehicles that delivered wartime supplies to return. To the outside observer it is obvious that both the occult and cargo cults fall foul of the distinction between correlation and causation.
The occult, like philosophy, suffers from the semantic fallacy. This is the equivalent of the pathetic fallacy for meaning, the projection of cognitive structures of logical rather than emotional significance onto the external environment. Magick extends this with the adolescent male power fantasy of imposing one’s will directly on reality, of reducing the amount of work one has to do to get what one deserves. In this it resembles economics.
Modern economics uses statistics to model reality. Samples are drawn from populations, and various tests are used to ensure that conclusions about these samples accurately represent the wider population. Policy based on these conclusions can then be applied to the general population safe in the knowledge that they will almost certainly only be wrong a specified percentage of the time. Statistics is the state religion of economics, bringing revelation and absolution back from the numeric plane.
In “Qabbala 101”, Nick Land describes the assumptions of Kabbalic gematria. It is possible to detect a signal from outside the system from traces within the system. And this can be done using mathematics to find the contingent numeric properties of words, by counting their length or by mappings of their consonants to numeric values. In this way the text can refer outside the text. Get the numbers right and you get your cargo or impose your will. To an outside observer the obvious problem with gematria is that there are lies, damn lies and statistics.
The popularity of cryptocurrencies represents in no small part a reaction to the financial crisis and austerity. That reaction takes the form of a retreat from conventional economic and political action, and represents at least an economic occult. A de-supernaturalised magic (like a de-supernaturalised economics…) has a cognitive remainder. It is a means of modulating human experience and affecting human behaviour. Belief in imaginary entities, whether thoughtforms or money, is not necessary for them to have effect.
Without the coercive power of the state backing them, cryptocurrencies’ re-enactment of the rituals of fiat currency amount to cargo cults. In their attempt to circumvent the work of economics and banking they resemble magick. But in their use of mathematics they resemble the Kabbalah. Accounts and transactions in Bitcoin are represented and protected using cryptographic hashes, a way of using mathematics to both conceal the content of and prove the identity of a piece of information. This takes place in the blockchain, a data structure built and validated by machines across the Bitcoin network. The blockchain is a fiat currency hors-texte, a monetary outside.
The Bitcoin protocol that constructs the blockchain is a set of meaningful actions that are the embodiment and amplification of human intent. It is a ritual. As with copyright in AI, the benefit of intent accrues to its human initiator. This isn’t the first time a massively distributed electronic ritual has taken place, the Dalai Lama pointed out in the 1990s that having Avalokitesvara’s mantra on your hard disk is like having a prayer wheel on your computer. In the case of Bitcoin this ritual consists of the endless mathematical and network operations that build the blockchain.
This is why Bitcoin is magic. Get the numbers right and you can signal outside the system. Get the numbers right and you can map the results back onto society from the numeric plane. Get the numbers right and you will receive the cargo you ordered. It’s a ritual to transform society.
Via Netbehaviour, last year.
A cryptographic hash function is a piece of computer code that take a piece of data and produce a (hopefully) unique short string representing it. This string will in no way resemble the input data, and you will not be able to guess the input data from it. The function always outputs the same string for the same data, and changing the data will change the output string.
For example I can use the SHA256 function on the UNIX command line to make a unique representation of my name:
# echo rob | sha256sum 30d71981944699f23038164f4eb8189950b4dcf9b39ea2c1ecbda13aea8b7d4a -
And if I do this again I get the same result:
# echo rob | sha256sum 30d71981944699f23038164f4eb8189950b4dcf9b39ea2c1ecbda13aea8b7d4a -
But if I add just one extra character I get different result:
# echo robM | sha256sum 731a1886a0005b3504805845eeecfac3a0839a651d383f242242d0df2f568ec8 -
And importantly the amount of difference in the input has no effect on the amount of difference between the output strings:
# echo robN | sha256sum 58bf3ee9cae6247705d1262c048cc71d28924f2cff04ada514f8240ce3555bec -
So the outputs of cryptographic hash functions produce identities for data that can be used to uniquely refer to the data but do not disclose the content of the data.
Hash functions achieve this by feeding the data through a complex mathematical transformation. This is a mapping through mathematical space that maintains identity and difference while occulting content.
Much like a sigil.
It’s true that if one knows the word or words abstracted to make a sigil one can recognize their traces in the sigil. But these traces are a means to an end, they are a way of producing a striking and unique new identity to focus on and invest in.
More cryptographic hash strings are created every hour than sigils have been made in the entirity of human history. Billions of mappings through mathematical platonic space to establish, conceal and communicate identity. Their consensual reality and status as exports from the platonic realm of mathematical objects make them ideal magickal material.
A full 32-byte SHA256 hash is a lot to memorize, although doing so is a feat that could be ritually powerful. It may be enough to abstract it to its first few digits, as Git commits do. We don’t need to use the hexadecimal (base-16: 0123456789ABCDEF rather than base-10: 0123456789) digit strings that are the usual human readable output of hash functions. An HTML-style colour can be represented with three or six hexidecimal digits, for example blue is 0000FF or OOF. We can choose a unique colour using the first six digits of the hash.
echo this is my intent | sha256sum 1b0fd74346abfe6858b12b8e3036649a63c09f2a049634dfe3c835f32422f58e -
As an HTML colour this is #1b0fd7:
We can also use pairs of digits as positions on a 16×16 grid, or more digits for a larger grid, or three groups of digits to produce a three dimensional path for 3D printing or importing into virtual reality.
Here’s a simple Python example:
import hashlib digest = hashlib.sha256() digest.update(" the spammish repetition") digest_string = digest.hexdigest() digest_numbers = [int(char, 16) for char in digest_string] coords = [digest_numbers[i:i+2] for i in range(0, len(digest_numbers), 2)] print "%!ps\nnewpath" print "%i %i moveto" % tuple(coords) for coord in coords[1:]: print "%s %s lineto" % tuple(coord) print "0.25 setlinewidth\nstroke"
You can see the output of this program rendered at the top of this article. We can combine this with colour (or render the colours of the hash as a grid of coloured squares).
Another way of generating visual forms from hashes is using shape grammars, as used by libvisualid. Here’s “this is my intent” rendered by libvisualid:
Hashes can be attached to emails or tweets to place and circulate them in the world. Or they can be placed into the Bitcoin blockchain using a system such as https://github.com/vog/bitcoinproof, to be rehashed constantly as the Bitcoin blockchain is updated. Here’s the hash for a spell in the blockchain:
We can use a system similar to Bitcoin’s proof-of-work system to find auspicious hashes for data, those that start with a run of leading zeroes or some other number (or target string or bitmap encoded as a number).
import hashlib import binascii target = "0000" complement = -1 digest_numbers = "" while not digest_numbers.startswith(target): complement = complement + 1 digest = hashlib.sha256() digest.update("this is my intent") digest.update(str(complement)) digest_numbers = digest.hexdigest() print "%d %s" % (complement, digest_numbers) print binascii.b2a_uu(str(complement)) print binascii.b2a_base64(str(complement))
And its output, which is the key to creating an auspicious hash of the input string:
0 eae2ffcee00aa95306e706dd4bc67ab6b9fd2ffe61b32dfe4177b76c0afd682d 1 84ba18490876919df8bbff194eeb861c6c44a27e9bfbd8db485ecf704e41fcbd 2 f53226b118fa492dc21cd4336d67b4c8ce4148e49e8e4b094baf3e5ecff688ba [...] 74962 38d5f823e881857f031def1822a28546d29b40903959b1c9bf1f5a1bebd42d9e 74963 b906fd259413ac714de31b9acaf6f0e5268560221d07f557f0f491a081a2cd09 74964 00006dd9f148ca454d331179bd7c87b42d7ab734df7738e1ae90e25013f02a1d %-S0Y-C0 NzQ5NjQ=
%-S0Y-C0 and NzQ5NjQ= are different representations of the number 74964. They can be used to create sigils, or the number could be represented verbally using a mnemonic generator.
There’s more that can be done with cryptographic hashes and with cryptographic signing, which I haven’t covered in this article. But hopefully these examples can inspire further experimentation.
(All code licensed CC0.)
Sigil CC-BY-SA by bwigfield.
In chaos magick, sigils are visual embodiments of intent used to focus and actualize that intent. Within both supernatural and cognitive theories of magic the principle is the same: sigils are foci for attracting the resources (supernatural or mental) required to achieve the desire of the person who has constructed them.
Traditional sigils are drawings, two dimensional graphical forms, created using magic square or letter abstraction techniques. Contemporary mages have constructed hypermedia sigils in various formats, from comic book series to interactive multimedia installations.
Sigils created by creative computer graphics programming software can be printed cheaply using Open Source 3D printers or online 3D printing services. This opens up a new range of techniques for creating and using sigils.
Image copyright 2011 Marius Watz
The 3D printed art of Marius Watz shows how data can be modelled in aesthetically appealing three dimensional form, and how the challenges of modelling complex arbitrary data can be met while still creating easily printed models. RIG’s experiments in 3D printed models of user data by distorting pre-existing forms Chernoff Face-style to display a as christmas tree decorations. We Can use these approaches and more (such as model mash-ups and extrusion of 2D sigils) to embody the intent of sigils rather than Web 2.0 data or random numbers in 3D printed form.
Image Copyright Joshua Madara 2011.
Joshua Madara’s 3D graphics sigil creator Processing sketch demonstrates the creation of a virtual three dimensional sigil form. The sigil is line-based, to keep its genetic link to magic square-based sigils, and would not be 3D printable in this form. But the lines could be replaced with cylinders or rectangular beams, with the angles of joins between them limited to ensure that they can be printed without support on Open Source 3D printers.
Image copyright 2011 Marius Watz
Whether Watz’s organic or machinic forms, more object based approaches or something even more abstract, it is easy to see how this can be applied to the construction of sigils. The mapping of letters (or words) to formal properties or objects by software in order to encode them in forms is how 3D printed sigil models can be produced. This adds an extra dimension of reality and relationality between the virtual and the real that affords a corresponding increase in persuasiveness and richness for sigils.
Part of the efficacy of a sigil may come from the mindfulness and concentration involved in manually constructing and chargeing it. If this is the case then having a machine construct the sigil may work against the sigil’s effectiveness. Constructing the code to make the sigil, and watching the mechanical operation of Open Source 3D printers alleviate this. And a better sigil form than could be made by hand will be a better focus, whether produced by magickal or technological means.
Create 3D sigils using creative coding software such as Processing, or in 3D design software such as Blender. Make the software and model files Free Software and Free Culture (GPL the software, BY-SA the models, wherever you can) and empower others to follow in your footsteps. Upload the model to a filesharing site such as Thingiverse. Then print it using an Open Source 3D printer such as a Lulzbot or a 3D printing service such as Shapeways.
A 3D printed sigil can be used as a focus for contemplation, mediation or ritual. It can be placed in work or living space as a reminder and proof of the reality of the objective embodied in the sigil. Or it can be destroyed to release it into the imagination and the world as part of a ritual by burning or by melting using solvents (but beware toxic fumes). Uploading the sigil to a model filesharing site will spread it further into the world as both virtual and, if anyone prints it, as physical form.