One wouldn’t normally make an association between the magickal practice and software development. After all, they’re vastly different fields. In the former you have candles, rituals, invocations, and tarot cards, while the latter is mathematical and systematic in nature. To start to bridge this gap, we turn to the esoteric writer and philosopher, Robert Anton Wilson. Wilson employs the metaphor of a computer to describe human experience, with the hardware being our physical bodies and brains, with the software being our belief systems, ideas, and models which determine how we define ourselves and see the world. While our hardware sets limitations on our basic processing power and how we operate, software defines how we interpret the information we take in, how we solve problems, and the solutions we come to.
Proper software engineering practices ensure that an application is well built, is free of bugs, and that it actually solves the problem that it’s meant to solve. With the recent explosion of this field we’ve seen revolutions in everything from how we consume entertainment to how we do our taxes. We’re able to complete work in a fraction of the time it would have taken only a few years ago. We’ve also seen major advances in the software development technology itself, allowing us to accomplish what would have not been possible beforehand.
If we apply this same logic to our metaphor of the human experience, we come to the conclusion that our experience can be altered and improved by reprogramming our own beliefs, habits, and mental models. Much of the same rules apply; these models should be internally consistent so that they produce a legible workable understanding of the world. They should also provide us with useful solutions to challenges we confront in life. These are the meta-processes by which we comprehend the world around us and solve problems that we’re confronted with. They define how we experience what we experience.
The question then becomes, how can we implement software development best practices in terms of our first-person experience? Can we engineer a better life for ourselves and others? To answer these questions we need to employ both coding and magick.
Coding can teach us to effectively develop our mental maps so that they’re effective and bug free. Standard best practices instill the need to keep code organized and easy to read, as well as using version-control so that risky development doesn’t bear the risk of taking down the whole application.
Magick then becomes the programming language in this metaphor. It is how we write the code that shapes our experience and its the means by which we execute it.
Using this model, my goal is to explore how to quantify the mechanism of magick in the language of code as well as implementing systems which execute this magick-code. The possibilities here are vast and I’ve just begun to explore them. As such, I’ve begun working on developing a magickal version of Javascript (Magickscript) which can store and execute these meta-programs. The challenge here is creating a language which can both quantify these internal models and alter them, as well as developing a framework for executing them without any need for a separate magickal procedure.
By exploring this eclectic intersection of fields I hope to deepen my understanding both of programming and of magick, and increase the determination I have over my own experience so that I may improve my life and those of whom I come into contact.