Technomancy 101

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 197

Technomancy 101

Advanced Cybermagic for Beginners

• A Word from Peter J. Carroll


• A New Theatre of Magic
• Introduction

• What Is Technomancy?
• Introducing Scratch
• Meditaid
• VisualAid
• Mapping Exercise

• Enchantment

• Enchanting with Computers


• SigilChant
• SurroundSigil
• Sigilaunch
• SigilShooter
• HipGnosis
• WindOfChange
• SigilPen

• Divination

• Divining with Computers


• ZenerTest
• Thebanet
• Oraskul
• Scrycloud
• Autouija
• AppleOfDiscord
• Löömen

• Evocation

• Evoking with Computers


• SIBOR

• Invocation

• Invoking with Computers


• Elementarea

• Illumination

• Illuminating with Computers


• GlowStone
• What Next?
• The Best Advice
• Appendixes

• Digital Media
• Physical Computing
• Electrical Materials
• Ye Essential Saltes
• The Cyberpunk as Modern Alchemist
• Embodied Cognition
• Frequently Asked Questions
• Recommended Reading
• Scratch 3.0
• Wallpaper

Welcome
The update to Scratch 3.0 has caused most of the projects to break when played online in a
browser, but you can still download and play them using the Scratch 2.0 offline editor.

Designing human-computer experience isn’t about building a better desktop. It’s about
creating imaginary worlds that have a special relationship to reality—worlds in which we can
extend, amplify, and enrich our own capacities to think, feel, and act.
—Brenda Laurel, Computers as Theatre

By adding a physical dimension to an imaginary world, that world gains visual and tactile
dimensions, allowing for the creation of worlds that can be directly perceived by the senses as
opposed to the imaginative faculties. This, correspondingly, strengthens the potential for
interaction.
—David Langdon, “World-Building Tools,” The Routledge Companion to Imaginary Worlds

Technomancy 101: Advanced Cybermagic for Beginners is an introduction to doing magic


with computers and computational (not necessarily digital) media, presented as a collection of
projects demonstrating magician-computer interactions made with Scratch, a visual
programming language for novices. The projects range from quite simple to moderately
complex, but nothing here requires a degree in computer science or electronics engineering to
understand it.
Digital media, physical computing, and electrical materials are the Philosophical Sulfur,
Mercury, and Salt of Technomancy 101, but although some projects feature special hardware,
many function with only digital assets and may be previewed in a web browser. Whatever
technology is within your reach, you should find something here that edifies or inspires you.

No prior computer programming experience is required, however the example projects’ utility
depends largely on your level of magical experience, but do not feel discouraged if you have
never before practiced magic. If you are new to the occult or computational media arts, the
appendix includes several resources including a list of introductory texts, and additional
reading recommendations are given throughout the site. Since there already exist many fine
introductions to magic and computer programming, Technomancy 101 does not cover those
subjects in detail (beyond developing a basic theory of technomancy that supports a
technomantic practice), but rather focuses on bringing them together to trek the path of the
Tinkerer-Sorcerer.

You may use the sidebar menu to navigate the site. The contents are organized like a book but
feel free to jump around (that is what hyperlinks are for; the project names are in oblique type
making them easy to identify should you wish to circumvent my theoretical and philosophical
musings), although please keep in mind that some later content assumes familiarity with
concepts introduced earlier.

I will be adding more projects over the coming months. I am also writing a glossary to be
published by the end of this year, which should help to coalesce many of the diverse topics
presented in Technomancy 101. You may follow me on Twitter or Instagram to be notified as
new content is published. I am likely to edit existing content as new projects are added or new
technologies come to light, or just whenever I feel like it—caveat lector!

I have endeavored to ensure all that is written here is correct and true, but there may yet be
errors, or a link might have broken, or you could encounter problems when running the
projects or following my instructions or suggestions. Most problems installing or
programming with Scratch can be sorted via an internet search, but feel free to drop me a line
(tchnmncr@eldri.tech) if you find something I did that is in need of repair, or if you want to
share how you are getting on or just let me know what a hoopy frood I am.

Joshua Madara
Seattle, Washington
October 24, 2018

A Word from Peter J. Carroll


Magic has a glorious history of hijacking humanity’s technologies and using them for esoteric
purposes to enhance the human adventure in strange and unexpected ways. Over the
millennia, Magicians have subverted the ideas and technologies of Art, Writing, Religion, and
the Sciences to their purposes. As we move into the Information Age, the tradition continues,
and I note with delight the timely appearance of this seminal work by Joshua Madara: a
Cyber-Grimoire, a manual of computer-assisted sorcery.

A few years back on Arcanorium College, Joshua kicked around some ideas on using the new
information technologies for Magic, and showed us some intriguing prototypes. Now, after
some years of research and development, he has appeared with the fully functional resource of
Technomancy. In it you will find resources to aid all the main branches of magical practise:
Enchantment, Divination, Evocation, Invocation, and Illumination. The programs in
Technomancy come on several levels: some come as ready to go for anyone who can use a
keyboard; others come as programs that more experienced users will delight in customising
and developing and even building bits of kit for.

So, with the 21st century still young, consider laying aside the ancient dusty books for a while
and taste the possible Magical Information Technologies of the future.

Peter J. Carroll
October 11, 2018

A New Theatre of Magic


The key word in finding an illuminating path through the technological maze is “interaction.”
These new technologies all have one thing in common: They can aid our interaction with
others, with knowledge, information, and experience, and even the devices themselves. When
we look toward what is known about the nature of interaction, why not turn to those who
manage it best—to those from the world of drama, of the stage, of the theatre?
—Donald A. Norman, foreword to Computers As Theatre

Theatre is the most appropriate term here because the magician is stepping outside what he
normally considers to be reality and creating a malleable universe of his own through his will,
his intellect and his imagination.
—Ray Sherwin, The Theatre of Magick

All play moves and has its being within a play-ground marked off beforehand either
materially or ideally, deliberately or as a matter of course. Just as there is no formal difference
between play and ritual, so the ‘consecrated spot’ cannot be formally distinguished from the
play-ground. The arena, the card-table, the magic circle, the temple, the stage, the screen, the
tennis court, the court of justice, etc., are all in form and function play-grounds, i.e. forbidden
spots, isolated, hedged round, hallowed, within which special rules obtain. All are temporary
worlds within the ordinary world, dedicated to the performance of an act apart.
—Johan Huizinga, Homo Ludens:
A Study of the Play-Element of Culture

The mysterious
magical
creative
comes from beyond
our daily realities
and
will not
or cannot
respond
until you
are in communion
with the as yet
unknown,
your intuition,
your x-area.
The key?
Get out of your head,
into your space
and await
the invisible stranger.
—Viola Spolin, “Into Your Space,” Theater Games for the Lone Actor

In many ways, Technomancy 101 is about space.1 It is especially about the intersection of
cyberspace and magic space.

The word cyberspace (from cyber as in cybernetics) originated in science fiction stories about
the Other Plane, the Matrix, the Grid, &c. Today, it typically denotes the internet or virtual
reality—real technologies, science facts.2 Cyberspace is partially a literalization of spatial
metaphors about computer networks: the world wide web, which we navigate with a browser
(bearing names such as Navigator, Explorer, Safari, and Compass) when we go to a web
address or site. Before the web we had electronic bulletin board systems whose designs were
informed by the metaphor of posting messages on a physical bulletin board.

Such metaphors arise out of our embodied experiences as actors in physical spaces interacting
with other bodies occupying those spaces, but they become their own things conceptually and,
to some extent, somatically. When we enter a chat room (“What’s a ‘chat room’, Grandpa?”
please bear with me), we do not experience physically walking into a room crowded with
people socializing (there are 3D chat applications that simulate this), but rather we press some
buttons on our keyboard and our computer screen responds with signs letting us know we
have become situated in a space wherein messages we send can be read by people “inside” the
“room” but not “outside,” as if there were four walls. We do not scan the room for a bar
(although we might pretend to: /me looks around for the bar) or check out what color
the wallpaper is, but our actions and reactions—our interactions—are still governed by rules
and expectations peculiar to this environment.

Shadowrun Returns video game (© Harebrained Schemes)


[3PC]
We play a kind of pretend when we interact with, and within, a chat room; a sort of
consensual hallucination: con-sensual meaning “to sense together,” and hallucination
meaning “apparent perception (usually by sight or hearing) of an external object when no
such object is actually present” (OED). The chat room is kin to all kinds of virtual reality: it is
hallucination made real. Not really real but virtually real. In VR, our eyes and ears may be
supplied with data that suggest we are standing on the edge of a cliff, but we are not in any
real danger of falling although we might feel like we could. The virtual bodies we interact
with conserve certain features of their physical correspondents while forsaking others.

We sort of make believe also when we cast a magic circle wherein to perform an act of ritual
magic.3 A circle may be cast by physically drawing it with some instrument or simply
visualizing it in the mind’s eye, and performing some activity to activate it.4 However and
wherever the circle is constructed it marks a non-trivial distinction between things within and
without it: magic vs. mundane, sacred vs. profane, microcosmic vs. macrocosmic, &c. The
circumscribed space is transformed into a special place (locus) wherein agents, actions, or
objects become magically efficacious or are magically protected from outside forces. Like the
chat room, this space facilitates certain activities while it forbids others, governed by
perceptions, assumptions, expectations, and permissions that are peculiar to it. The creation of
both chat rooms and magic circles is a kind of experience design. The space is not the thing,
but the thing that gets us to the thing. See also: medium.
In the 1990s, several technnopagans performed rituals within chat rooms where
communications between the participants were text-based. Here is an excerpt from a script
prepared by Christopher Penczak:

LEADER: In this space we create a temple. Our work today is prosperity


magick and the temple is filled with the colors green, blue, and purple, to
bring abundance in all our lives. The temple is filled with the finest of
luxuries, gold and silver fixtures, fine silks, and all the modern
conveniences you could desire. Everything you desire is in this temple.

LEADER: As we do our spell work, each member, in order, will send the group
his or her intention for prosperity and manifestation. As a group, we will
add our energy for a few moments, visualizing the outcome while we work in
this temple together.

PARTICIPANTS: (Each person, in order, sends his or her intention to the


chat room.)

LEADER: We release all these intentions to manifest for our higher good,
harming none in the process. So mote it be.

PARTICIPANTS: So mote it be.5

Here the computer’s role was primarily to coordinate the interactions of the ritual participants
who still employed usual magical techniques such as guided visualization and “sending
intention.” In the subsequent decade, people performed “cyber-rituals” within the online,
virtual worlds of Second Life and World of Warcraft.6 Instead of merely telling each other
what to visualize or what they were doing, the participants could show what their avatars were
doing, interacting together within a graphical representation of a temple or other ritual space.
The temple described by Penczak and shared by the common mental visualization of the
participants guided by its shared textual description, and the Second Life temple shared by the
common viewing of a collection of 3D-graphical objects, are both virtual realities of a sort:
neither temple exists in all the same ways a physical temple does, but they both conserve
certain essential qualities or attributes of a physical temple in order that the ritual participants
may actually perform familiar ritual acts within them.

source)]

The ritual participants are able to map their experiences as embodied actors in a physical
space onto the virtual space according to their familiarity with temple spaces (real or
imagined), but because the virtual temple is digital it is not bound by the same laws as
physical temples. Things such as gravity and impermeability may be simulated in order to
facilitate realistic interaction, but they can also be omitted in order to permit fantastic
interaction. When I intend to enter or exit a “real” temple, I must walk through a doorway to
avoid running into any walls, but in Second Life—as in dreams—I can walk through walls or
fly over them. Because I can fly (or teleport), the temple need not be built on the ground but
may be erected on a cloud or asteroid, or just float by itself in space. It may be configured and
interacted with in ways that are not only impractical in the material world, but impossible.
Such is the freedom afforded by the digital realm.

Although digital media transformed greatly over the decade or so from IRC to Second Life
rituals—just as they had from text adventure games to 3D MMORPGs—the mode of
interacting with these media changed very little: typically sitting in front of a box, staring at a
screen, typing on a keyboard. Motivated by play-ability, some alternatives were invented as
video-game peripherals: joysticks, foot pedals, light guns, wired gloves, haptic suits, &c.,
which lend themselves to different perceptuomotor loops. Virtual reality technology was
originally developed not to simulate (real or imagined) worlds but to involve more of our
bodies more naturally in human-computer interaction: e.g., to change our perspective by
physically turning our heads rather than pushing on a keyboard or joystick with our hands.7
But VR rigs whether commercial or custom-built were prohibitively expensive for most
hackers and hobbyists back then.

Things are quite different today, just a few decades later. Now you can get a 6-DOF VR
setup, brain-computer interface, or hand or arm gesture controller for a few hundred dollars,
and inexpensive microcontrollers and single-board computers, as well as new materials such
as electrically conductive paint, make a variety of mixed-reality applications not only possible
but far more accessible than ever before.

Mixed-reality and blended spaces combine the virtual and physical, digital and material, in
ways that involve more of our bodies in our interactions with computational media, taking
advantage of our perceptual intelligence8 and sense of presence,9 and possibly enriching our
interactions beyond “the poverty of our ocularcentric metaphysical tradition and its
representationalist æsthetics.”10 It is a kind of magic to conjure the imaginal or conceptual
into the perceptual—to reify it, make it real—but without falling into the trap of realism, of
merely imitating what already exists when we might create something new. Although mixed
reality takes advantage of the kinds of physical actions we are used to performing—pushing,
pulling, lifting, grasping, pointing, &c.—the interactions we design need not merely represent
things from the natural world, but may also represent unnatural, preternatural, or supernatural
ontologies. We live in a time of wondrous and unprecedented opportunity for our cyberspaces
and magic spaces to collide and explode in a wonderful myriad of diverse forms.
Heretofore the discourse about doing magic with computers has been dominated by a
conflation of cyberspace and the astral plane, which foregrounds an active mental or subtle
body that is both metaphysically and ontologically distinct from a dormant physical or gross
body, and which privileges ideal forms (including in-form-ation itself). This began with the
first ever mention of something like cyberspace, viz. the Other Plane of Vinge’s True Names,
and proceeds through a long list of exemplars including the Penczak ritual mentioned above.
But cyberspace—computer space—is much more than virtual reality or online spaces such as
the Internet or “the cloud.” It is also: the space between a computer and its user (or rather, its
inter-actor); the space wherein a computer acts on, reacts to, or interacts with the physical
world; the space in which the potential of a computer, computer program, or computational
media is realized; and the space wherein a computational mechanism is conjoined with its
correlated discourse.11

Technomancy 101 takes a different tack by focusing on interaction and interactivity, and
emphasizing the performativity and materiality of artifacts whether physical or digital, over
the virtuality of digital artifacts. It rejects (or at least refuses to privilege) Gnostic and
Cartesian dualism and Platonic idealism, and is instead more aligned with an enactivistic
philosophy of mind (the mental is always already physical). Some of the projects featured
here are indistinguishable from typical computer applications (save their occult themes);
others stand quite apart from how people today usually interact with computers; but in all
cases action is key: doing magic with computers.

As virtual reality pioneer Myron Krueger said: “Whereas the HMD folks thought that 3D
scenery was the essence of reality, I felt that the degree of physical involvement was the
measure of immersion. Instead of being concerned about the stagecraft, I focused on the
play.”12 Play is indeed the thing, and the theater analogy is appropriate. Theatre is the first
virtual reality: stories brought to phenomenal life, to be seen and heard with eyes and ears, not
just played out in the imagination. Connections between ritual and theatre have been explored
by Aristotle, Antonin Artaud, Victor Turner, Antero Alli, et al. An obvious difference
between theatre and ritual is that the former is usually observed by an audience (θέατρον,
théatron: “a place for viewing”), whereas the latter is typically performed in secret and
involves the participation of all who are present, but there are innumerable shapes that haunt
the liminal in-between, from participatory theatre to ritual performance art.

Technomancy 101 is about acting with technology,13 and the programming language we use is
explicitly modeled on theatre: it involves a stage on which one or more sprites act according
to one or more scripts that have been prepared for them. The sprites can sense things about
their environment, including each other and—via various apparatus—the physical “plane” in
which the computer hosting the sprites is situated; and they can be programmed to respond
accordingly. Thus our design of magician-computer interactions involves the coordination of
human and other-than-human bodies (that may connote other-than-human persons) of diverse
kinds—virtual, physical, digital, material, natural, artificial, imaginal, ætherial, strange,
familiar—whose inter/actions converge on the performance of a magic act: a deed of occult
significance. It is therefore kin to the design of magic rituals although ornate rites are not our
focus. There may be elements borrowed from ceremonial, celestial, and natural magics, but
ours is an electrical (or electro-alchemical) magic for the cyborg sorcerer’s Body Electric:
embedded within its blended digital-physical-conceptual space; extended through its attendant
sprites and objects of power; and enacted to transmute (essential change) or transmogrify
(formal change) the sorcerer’s experience—even her very reality—according to how she
engages with the space and its contents.
Technomancy 101 was developed in the spirit of liberation from the mental prisons that
constrain what we think magic and computers are, are about, and are capable of, and it may
require a leap of faith.

Tank, load the jump program.

If the environment permits it, anyone can learn whatever he chooses to learn; and if the
individual permits it, the environment will teach him everything it has to teach.
—Viola Spolin, Improvisation for the Theater

1. Technomancy 101 is to space as my forthcoming robomancy book is to bodies,


although ideas about both spaces and bodies permeate both works.
2. “Cyberspace means (a) the interdependent network of information technology
infrastructures; and (b) includes the Internet, telecommunications networks, computer
systems, and embedded processors and controllers.”—Foreign Economic Espionage
in Cyberspace (National Counterintelligence and Security Center, 2018) 2.
3. I do not mean ‘ritual magic’ in the academic sense of ‘ceremonial’, ‘high’, or ‘learned’
magic, but something much more inclusive. Although not all rituals are magic, and not
all magic involves ritual, I regard ritual as the major component of the praxis of
magic. For more about magic ritual apropos of technomancy, see “Ritual As
Algorithm.”
4. On the subject of magic circles I recommend William Kiesel’s Magic Circles in the
Grimoire Tradition (Three Hands Press, 2012; Ouroboros Press 2015).
5. Christopher Penczak, City Magick (Weiser, 2001) 269–271. There are similar scripts
in Lisa McSherry, The Virtual Pagan: Exploring Wicca and Paganism Through the
Internet (Weiser, 2002) 103–126. The online rituals of McSherry et al. are explored in
Douglas E. Cowan, Cyberhenge: Modern Pagans on the Internet (Routledge, 2005).
6. Many online articles about this have vaporized in recent years, but see, e.g., Morgan
Leigh and Mark Elwell, “Authentic Theurgy: Ceremonial Magic in Second Life,” in T.
Hirashima, A.F. Mohd Ayub, et al. (Eds.), Workshop Proceedings of the 18th
International Conference on Computers in Education (Putrajaya, Malaysia: Asia-
Pacific Society for Computers in Education, 2010) 260–267; and Robert M. Geraci,
Virtually Sacred: Myth and Meaning in World of Warcraft and Second Life (Oxford
University Press, 2014) 119–124.
7. “Today, computer graphics allow us to make this kind of [conceptual] information
perceptual. Virtual reality goes a step further by engaging the machinery we use to
operate in the physical world. Rather than denying the body, virtual reality reconnects
it to the life of the mind. I have always pointed to physical participation as the key
distinction of virtual reality.”—Myron Krueger in “Myron Krueger Live,”
CTheory.net. Also: “Motor activity—not representationalist verisimilitude—holds the
key to fluid and functional crossings between virtual and physical realms.” Mark B. N.
Hansen, Bodies in Code: Interfaces with Digital Media (Routledge, 2006).
8. See Myron Krueger, “Virtual (Reality + Intelligence),” in Cognitive Technology: In
Search of a Humane Interface (Elsevier, 1996).
9. See David Benyon, “Presence in Blended Spaces,” Interacting with Computers,
Volume 24, Issue 4, 1 July 2012, pp. 219–226.
10. Hansen, op. cit., 3. The privilege of sight in both the Western mystery and sorcery
traditions is obvious, and even pervades most of the Technomancy 101 projects
despite my own sensitivity to it (my tactile sense is much stronger than my visual—I
prefer a “third hand” to a third eye). Even those schools that exploit ocular distortion
or subversion require sight in the first place.
11. The last refers to “computational assemblages” as conceived by John Johnston, The
Allure of Machinic Life: Cybernetics, Artificial Life, and the New AI (MIT Press,
2008).
12. “Myron Krueger Live,” op. cit.
13. Incidentally, also the title of a fine book about activity theory and interaction design,
by Victor Kaptelinin and Bonnie A. Nardi (MIT Press, 2006).

What Is Technomancy?
• Magic
• Computers
• High Tech, Low Magic
• Way of the Tinkerer-Sorcerer
• Sleight of Mind

I etch a pattern of geometric shapes onto a stone. To the uninitiated, the shapes look
mysterious and complex, but I know that when arranged correctly they will give the stone a
special power, enabling it to respond to incantations in a language no human being has ever
spoken. I will ask the stone questions in this language, and it will answer by showing me a
vision: a world created by my spell, a world imagined within the pattern on the stone.
—W. Daniel Hillis, The Pattern on the Stone:
The Simple Ideas That Make Computers Work

The word technomancy is a neologism constructed from techno- (Greek τέχνη, tékhnē, “skill,
art, craft”), meaning “relating to technology,” and -mancy (Greek μαντεία, manteía,
“divination”), denoting “a form of divination” (Wiktionary). Like necromancy, however,
technomancy connotes more than divining with technology. It could mean technology so
advanced it is indistinguishable from magic (à la Clarke’s Third Law), e.g., the Technomages
of Babylon 5 and the Technomancers of Mage: The Ascension. Or it could mean a magic-like
ability to control technology, as with the technomancers of Shadowrun. Or it could mean a
weird combination of magic and technology, such as in GURPS: Technomancer, and the
Cybermages of Nightbane.
Starfinder [3PC]

Adeptus Mechanicus Adept from Warhammer


40,000 [3PC (source)]

For the purposes of Technomancy 101, technomancy means performing acts of magic with
modern technology, and people who practice technomancy are called technomancers. This is
akin to technopaganism, although pagan has religious connotations in addition to magical
ones (many pagans practice magic as part of their religion or spirituality). By magic I mean
the stuff that sorcerers, wizards, and witches get up to; not legerdemain (but see below, s.v.
“Sleight of Mind”). Although there are many modern technologies whose use in the magical
arts may qualify as technomancy, Technomancy 101 focuses on computers and computational
media because they are often implied in popular usage of the the word technomancy and
related words such as technoshamanism, techgnosis, and technoetic; and because the
computer is such a wonderfully versatile medium with which to explore the coniunctio of
magic and machine.

As computers are the primary technology through which I shall demonstrate technomancy, I
could also call this cybermagic, hence the subtitle of Technomancy 101: “Advanced
Cybermagic for Beginners” (which is also a nod to Alan Chapman’s Advanced Magick for
Beginners). The cyber- prefix is “used to form words relating to the Internet or cyberspace, or
to computers more generally” (Wiktionary).1 Some people have trouble seeing any connection
between magic and computers; others see different connections than I; so I shall begin by
clarifying what I mean by the words magic and computer.

Magic

Deep underground where no light dared to come, beneath my pyramid, I stood in Hell, a
mortal man, between Belial and Satan, and still before my audience entranced with stark, cold
fear; I cured or struck with sickness, death, or made insane my foes.
—Black Widow, “In Ancient Days”
Magic is a frequently controversial subject that means (sometimes radically) different things
to different people. Unsurprisingly, there are many definitions of magic, from people who
practice it, who study it, or who trivialize or demonize it. Attempts to very rigidly define it
tend to reduce its complexity2 so much as to exclude examples of how magic is actually
practiced here or there in the world.3 There is also a sense in which magical potential (from
potens, “able, potent, mighty, strong, powerful”) is entangled with wonder, and may be
diminished by explaining or demonstrating magic too plainly.

My intention here is to communicate a basic idea of magic that is complementary to


technology in a way that renders technomancy plausible, and to that end the definition I find
most appropriate comes from Jesper Sørensen’s A Cognitive Theory of Magic: “Magic is
about changing the state or essence of persons, objects, acts and events through certain special
and non-trivial kinds of actions with opaque causal mediation.”4 Allow me to unpack that a
bit.
changing the state or essence of persons, objects, acts and events

Magic is always about change, whether that be transformation in the magician herself or of
something in her world. The difference between essence and state is debatable but generally
goes something like this: I am the same person, i.e., my essential character remains, whether I
am standing or sitting or sleeping, which are states I can be in (cf. Aristotle’s substance).
‘Persons, objects, acts and events’ covers many nouns, to which we might add ‘places’, e.g.,
sacred or ritual spaces. There could be more things that are appropriate, but the gist is that
magic changes things.

through certain special and non-trivial kinds of actions

Sørensen’s definition emphasizes action: magic is something people do. A desired or needed
change shapes the intention (see also purpose, goal) that the magical act is about, and the
intention in turn shapes the action. Pick an intention, any intention: consider there are usually
many ways to go about realizing it, but there are always many more ways not to get on with it
(if your intention is to eat a sandwich, there are many ways to do that but there are always
many more ways not to eat a sandwich than there are to eat one). The same is true of magic:
the intent of a magical act shapes how it is performed and what or whom it is performed with.
The selection of an appropriate and efficacious act of magic from the variety of possible acts
is usually governed by a combination of tradition, intuition, and ingenuity, with some
magicians favoring strict adherence to magical “laws,” and others preferring a looser
creativity.

Like many activities, magic is often done with physical objects such as ritual tools and
paraphernalia and other materials. Even the most so-called primitive rituals are a kind of
technology (i.e., applied knowledge, and often technical knowledge, whether esoteric or
otherwise), and some modern magicians have mapped magical activities onto new
technologies such as digital media. Although technomancy as presented here involves
computers, I would not describe it as being chiefly concerned with information technology,
for while that may be true for some applications or at some levels of analysis, the
technomancer is not primarily interested in using computers for data processing per se but
rather for performing magical (often ritual) activities. In this way, the technomancer is more
like a computer, digital, or electronic artist than a computer scientist or electronics engineer.
John Michael Greer said, “[…] although there is more to magic than ritual, the art of ritual
makes up the heart of magical technique in nearly all the world’s traditions. We can define
ritual as symbolic action“5 (his emphasis).6 The idea that ritual is primarily symbolic has been
rightfully challenged; however, in semiotics,7 a symbol is a particular type of sign, and while
not all magical signs are symbols, most acts of ritual magic involve signs, and in many cases
are themselves indirect in quite the same way a sign is. Consider the trite but true voodoo
doll: it is a representation of the magical activity’s intended recipient, and not the recipient
itself, but the act of manipulating the doll is not merely symbolic; it is intended to have an
actual effect on whatsoever the doll represents.

with opaque causal mediation

While magic has been called a “science” and an “art,”8 this bit gets at why magic is occult and
not exactly science or art or any other discipline. The metaphysical, paranormal, supernatural,
or spiritual forces that seem to mediate between an act of magic and its effect remain open to
esoteric investigation but closed, or at least elusive, to materialistic analysis.

Magic is often distinguished from other paranormal activity by involving ritual or ceremony.
There is undoubtedly a psychological dimension to ritual, and many people today see magic
as being primarily a way of communicating with the unconscious mind, a.k.a. the “deep”9 or
“cthonic”10 mind.11 Two modern-day magicians, Isaac Bonewits and Peter Carroll, have both
written about the equivalence of magic and psi (“the unknown factor in extrasensory
perception and psychokinesis experiences that is not explained by known physical or
biological mechanisms”—Wikipedia), and both see the ritual of magic as a means of
transitioning the magician into an altered or extraordinary state of consciousness.
What happens when a magician […] "does magic," is that the magician's state
of consciousness is altered. Sometimes this is done through dancing or
chanting or singing, sometimes through the use of herbal potions, and
sometimes through meditation or other methods. Most commonly, the magician
creates a multimedia psychodrama, which is a sort of theatrical performance
using sounds, sights and smells designed to create a certain mood within
the magician (and any onlookers) and to focus attention on the target and
goal […] of the ceremony. […] The wands, staves, chalices, rings, plates,
swords, daggers, sickles, divining rods, gazing crystals, candles, robes,
funny hats, gestures, written words, geometric designs, etc., are props,
costumes, cues, and scenery designed to help the magician get into and
properly tune a desired state of consciousness. (Emphases in original.) 12

Some would limit the efficacy of magic to psychological or (by extension) sociological
effects, however I am not so quick to constrain the weirdness of sorcery (perhaps I am just
dissatisfied with where the boundary of the mind is ordinarily drawn). My own experiences
and experiments have been too “crowded with unlikely incident.” As I see it, the magician’s
sense of agency, her beliefs, desires, and intentions, her actions, the things she interacts with,
and the mysterious powers or relations those things possess or represent, all together comprise
a network of occult agency the fundamental mechanics of which we may never fully
comprehend (conflating them with quantum mechanics does not satisfy). But just as you can
do things with a computer without complete knowledge of how computers work, we seem to
be able to do magic without necessarily knowing how it functions in the final analysis.

The fruits of magic, then, are “contriv’d by art,” and they bear the duplicity of all things
contrived and artificial: on the one hand, they are deliberately created according to a plan,
often ingeniously or artfully devised, rather than occurring naturally or spontaneously;13 on
the other hand, they may be viewed as forced, faked, or fraudulent.

Enter the world of the digital computer.

Computers

When asked to draw a computer, most people will draw the same elements: screen, keyboard,
and mouse. When we think “computer,” this is the image that comes to mind. In order to fully
explore the possibilities of computing, you have to get away from that stereotype of
computers. You have to think about computing rather than computers.
—Dan O’Sullivan and Tom Igoe, Physical Computing:
Sensing and Controlling the Physical World with Computers

If you ever code something that “feels like a hack but it works,” just remember that a CPU is
literally a rock that we tricked into thinking. Not to oversimplify: first you have to flatten the
rock and put lightning inside it.
—Ben Driscoll (@daisyowl), Twitter

Although people commonly use computers for a variety of non-arithmetical activities, it is not
uncommon to conflate computation with calculation, but as Margaret Boden pointed out, “It is
essential to realize that a computer is not a mere ‘number cruncher’, or supercalculating
arithmetic machine […] Computers do not crunch numbers; they manipulate symbols.”14
Compare that to the Greer quote, above, and also this from cybernetician-cum-magician Heinz
von Foerster:
Harmlessly enough, computing (from com-putare) literally means to reflect,
to contemplate (putare) things in concert (com), without any explicit
reference to numerical quantities. Indeed, I shall use this term in its
most general sense to indicate any operation (not necessarily numerical)
that transforms, modifies, rearranges, orders, and so on, observed physical
entities ("objects") or their representations ("symbols"). For instance,
the simple permutation of the three letters A, B, C, in which the last
letter now goes first—C, A, B—I shall call a computation; similarly the
operation that obliterates the commas between the letters—CAB—and likewise
the semantic transformation that changes CAB into taxi, and so on.15

Like magic, computers transform things. Most people are familiar with personal computers or
workstations, but iPhones and Android phones and tablets are also computers, as are video
game consoles, and many modern appliances (including televisions, video recorders, MP3
players, alarm clocks, microwave ovens, and “smart” appliances such as washing machines
that automatically adjust wash cycles to load sizes) have computers embedded in them, as do
many cars, airplanes, automated teller machines (ATMs), lighted display signs, and robots, to
name a few non-appliances. Special-purpose computers such as microcontrollers and
programmable logic controllers are used to control manufacturing equipment, traffic lights,
home and office automation and security systems, and other things that do not require a
general-purpose computer. Indeed so many things today are computerized that they are
getting an internet of their own.

Continuing to emphasize action, we can think of computers as actors following a script


(program) intended to coordinate a series of inter-actions. To coordinate means to synchronize
or match things; computers match inputs to appropriate outputs, thus producing useful or
meaningful interactions. We can observe this in all the above examples. The ATM‘s computer
matches button presses on the machine’s keypad to text on the machine’s screen or
mechanical movements that dispense cash or return the user’s ATM card. An aircraft’s
autopilot matches data about the aircraft’s speed, position, and rotation, to changes in the
flight control system guiding the aircraft. As with magical activity, the intention shapes the
interaction, informing which inputs, outputs, and relationships between inputs and outputs are
fit to actualize the intent.

We can frame input and output as sensing and acting (what Joseph Decken called the
“sensation/action paradigm” of computing16), such as with robotics and physical computing,
which emphasize greater interaction with the physical world. In order to make a computer
responsive to changes in light, sound, movement, temperature, &c., we must make it sensitive
to these phenomena, which we do by converting (transducing) their energy into electrical
signals the computer can “understand” (such as via analog-to-digital conversion). This is
exactly what sensors do. Actuators, on the other hand, convert electrical signals from the
computer to other forms of energy: light, sound, movement, heat, &c.17
cognitivist model of
HCI. Artificial and virtual reality pioneers such as Myron Krueger and Jaron Lanier sought
emancipation from the harsh constraints of this kind of computing by involving more of the body and
the space in which the body is situated, and embracing a more embodied cognition

the cortical homonculus). O’Sullivan and Igoe have


recently pioneered the physical computing movement, which has antecedents in Krueger’s work with
artificial realities. [3PC]

Computers facilitate a wide range of activities, from word processing or editing photos, to
running scientific simulations or playing video games, to automating tasks or managing
communication networks, to virtual reality or artificial intelligence. Any of these may be
related to magic, but for me, technomancy is more than using word processing software to
write a spell, a paint program to draw a sigil, or a chat application to plan a ritual. The
computer is not just a tool, but a medium,18 and what most distinguishes computers from
other media is interactivity.19 Computers can be programmed to respond to the push of a
button, the utterance of a word, the enactment of a gesture, a change in the weather, &c.
Technomancers learn how to program computers because programming is what makes
computers and computational media responsive and interactive.

Sierra Entertainment) [3PC]

Technomancy 101 focuses primarily on interaction, but other aspects of computing also
present:

• Calculation — Although many computer applications require advanced mathematics, there is


much you can do with very little math. However, the idea of calculation as “a deliberate
process that transforms one or more inputs into one or more results, with variable change”
(Wikipedia) is fundamental to nearly everything a computer does, and is involved in one way
or another with every Technomancy 101 project.
• Animation — (From Latin animāre, “to bring to life,” derived from anima/animus, “soul,”
cognate with Greek ánemos [ἄνεμος], “wind.”) In order for there to be an interaction, the
computer must react in some perceptible way, and moving images are often the response.
Locomotion (movement from one place to another) is only one kind of change that may be
animated. Aristotle recognized several additional kinds of motion (kínēsis [κίνησις]), including
generation, destruction, increase, decrease or diminution, and alteration. We may extend
such movements to audio &c.; a change of sound, e.g., can also bring a computer program to
life.
• Automation — There are two aspects of automation: automatic activity (from Greek
autómatos [αὐτόματος], “self-moving”), i.e, performing a programmed sequence of actions;
and autonomy (from autónomos [αὐτόνομος], “self-governing”), i.e., acting without human
assistance or intervention. Automation is sort of the opposite of interaction with respect to
the magician as inter-actor. However, examples of automation are plentiful in traditional
magics: spells that work “automagically” upon being spoken; talismans, dressed candles, and
prayer wheels; and servitors that operate more or less autonomously on the conjurer’s
behalf.
• Representation — Much like a painting represents a person, landscape, or bowl of fruit,
computer applications represent actions; e.g., Microsoft Word represents creating or
modifying a document, Photoshop represents many ways to alter a photograph, and Grand
Theft Auto represents many ways to commit felonies.20 Such representations are not
necessarily simulations, although they can be. You may paint things that do not exist in the
“real world,” and Photoshop can do things with digital images that would be (actually or
effectively) impossible in a physical editing room. In the same way that Photoshop represents
altering a photo and, by using Photoshop, you are actually editing a photo, so, too, do
technomantic designs represent occult actions and, by enacting them, you are actually
casting the spell, reading the signs, &c.21 Beyond mimesis, art and computers may express a
feeling or idea, which is arguably representative of that feeling or idea within the mind of the
artist or engineer, but the artifact can assume a kind of agency of its own: an ability to affect.

High Tech, Low Magic

Some folks may disdainfully call this approach “low magick.” However, if you compare
magick to computer technology, it’s the low-level coding that is the closest to the source. The
higher you get, the more you are moving away from the source, altering the language to suit
other purposes.
—Laura Tempest Zakroff, Sigil Witchery: A Witch’s Guide to Crafting Magick Symbols

Sorcery, as defined by Phil Hine, “(also known as Results Magic, or Spell-casting) is


generally understood as the use of magical techniques and perspectives to bring about a
change in one’s material environment.”22 One could debate Hine’s use of ‘material’ in this
context, but nonetheless sorcery is typically performed to bring about some change in the
world that should be plainly observable and is usually practical or pragmatic. Typical
sorcerous acts include healing, cursing, binding, attracting love or wealth, and obtaining
information about future events or things hidden. Like witchcraft, sorcery has often been
conflated or identified with maleficium, but magic is like technology in that it is neither
inherently good nor evil but to what ends it is practiced makes it so.

Sorcery is also often associated with so-called low magic vs. high; cf. thaumaturgy vs.
theurgy, natural or image magic vs. ceremonial magic, operative vs. ritual witchcraft, &c.
Different people may mean different things by these distinctions, but usually some difference
between spiritual and practical or material aims is meant. In my experience binary contrasts
do not withstand analysis in most cases, and even the most “down-to-earth” thaumaturgy may
involve something of the numinious. Historically meaning “of or relating to a numen”
(OED)—i.e., divinity or divine will, or a presiding spiritual power or tutelary spirit (from
numen inest: “there is a spirit here”; cf. genius loci)—numinious has evolved to mean also,
“giving rise to a sense of the spiritually transcendent; (esp. of things in art or the natural
world) evoking a heightened sense of the mystical or sublime; awe-inspiring” (OED). The
numinous is a sense of the presence of Other(ness): the strange powers and personalities
populating the daimonic reality that ordinarily goes unnoticed by most people (if for no other
reason than to be persistently consciously situated among numina would be tantamount to
madness). Even magical rituals that do not call on particular numina may involve altered
states of consciousness such as ecstasy, a sense of the sacred, or even just a feeling of wonder
or delight (see religious experience), and there are countless examples of sorcery having
attendant numina, such as when a sorcerer aligns herself with higher or alien powers (toward
apotheosis or transmogrification) in order to reap the material or practical benefits of so
doing, or when a shaman journeys to the spirit world to retrieve medicine for a sick person, or
when a coven of witches invokes their deity to assist them in the casting of their spell.

If numina are where magic and religion overlap, then sorcery is where magic and technology
overlap. As an introduction to doing magic with computers, Technomancy 101 focuses on
sorcery, and the projects are organized by the following categories (not intended as the
definitive taxonomy of magic, but simply a convenient way to organize the projects),
symbolized by the five classical elements and their corresponding instruments:

• Enchantment (Fire, Wand) — eliciting intentional change in the world via occult means
• Divination (Water, Cup) — acquiring knowledge or making decisions via occult means
• Evocation (Air, Sword) — calling forth entities for divination or enchantment
• Invocation (Earth, Pentacle) — calling in entities for divination or enchantment
• Illumination (Æther, Lamp) — eliciting changes to the magician herself

Way of the Tinkerer-Sorcerer

In the beginner’s mind there are many possibilities; in the expert’s mind there are few.
—Shunryu Suzuki, Zen Mind, Beginner’s Mind

Any sufficiently advanced work is indistinguishable from play.


—Seb Paquet (@sebpaquet), Twitter

Like most things, magic and computers both require effort to become adept at them, but no
one need already be an expert in either in order to begin down the path of technomancy, and
even adepts would do well to keep what we call in Zen, “beginner’s mind.” The word tinker
originally denoted an itinerant person who labored at tinsmithing and simple metalworking
such as mending household tools and utensils. It evolved to connote (sometimes pejoratively)
unskilled labor, but as a verb tinker has also come to mean the activity of people (tinkerers)
who repair or invent mechanical devices. Such people often pick up tinkering as a hobby,
motivated by their inquisitiveness about machines.

Massimo Banzi, one of the inventors of Arduino, said this is the best definition of tinkering he
has ever found:

Tinkering is what happens when you try something you don't quite know how
to do, guided by whim, imagination, and curiosity. When you tinker, there
are no instructions—but there are also no failures, no right or wrong ways
of doing things. It's about figuring out how things work and reworking
them. Contraptions, machines, wildly mismatched objects working in harmony—
this is the stuff of tinkering. Tinkering is, at its most basic, a process
that marries play and inquiry.23

Technomancy is similar to alchemy in combining magic and technology. Just as an alchemist


must know her way around a laboratory, must know enough physical science, especially
chemistry, to do the physical part of her Work, the technomancer must know enough
computer science to interact effectively with computers and design effective magician-
computer interactions. But also, just as a neophyte alchemist need not a physics degree before
she can begin distillatio, the novice technomancer may start out with simple things that do not
require a high degree of education in order to begin working with them.

Some people are born into magic, but many of us practice because, allured by its mysteries
and wonders, we dared to try some spell or evocation, and lo! it worked—or something
happened to make us want to do it again. It was an experiment, albeit informally, and the very
notion of experiment implies uncertainty and demands that some things not be known already
but rather discovered through the process of doing the work. Computers are new media, and
technomancy is new territory. Much of it today remains terra incognita, and the technological
landscape is shifting rapidly. Learn what you can from Technomancy 101, but inspiration will
serve you better than imitation. Feel free to copy, riff off, remix, hack, improve, or otherwise
do as you wish with any of the projects given in these pages.

Sleight of Mind

The great Oz has spoken! Pay no attention to that man behind the curtain.
—The Wizard of Oz

We call magic whatever is done by man, by which sense and spirit follow by its action in all
their parts, or by which marvelous things are done so that the senses are led by them,
contemplating and marveling. (That is, magic can either bind the human mind and spirit by its
own subtle power, or the magician can make the appearance of something wonderful and use
that appearance to catch and guide the mind.)
—John Michael Greer & Christopher Warnock (Trans.), The Picatrix

Instead of deducing that we are ‘nothing but’ machines, let us increase the mechanical world
to embrace mystery. […] If I create a machine that can full-bloodedly suffer the agonies of
falling in love, then I have done something wonderful: I have revealed ‘soul’ in the motions of
matter. If consciousness is totally the byproduct of chemical reactions, then the rudiments of
consciousness lie all about us: I can once more say that a flower turns towards the sun because
it ‘loves’ the sun. The universe is now a living being. If, however, someone else chooses to
take the same evidence to prove instead that love is ‘nothing but a chemical reaction’, then I
feel sorry for that person in his smaller world.
—Ramsey Dukes, Words Made Flesh: Virtuality, Humanity, and the Cosmos

The phrase “sleight of mind” is sometimes used in the occult to denote practices that prevent
the magician from thinking consciously about the object of her desire while performing acts
of magic.24 In technomancy it has a similar but even more idiosyncratic denotation: it means
allowing yourself to be carried away by an interaction without thinking about the “real” nuts
and bolts of it. The maker of SIBOR, e.g., knows on some level that when SIBOR nods or
shakes its head, what is “really” happening is that a computer program is changing the
Cartesian coordinates of a digital image displayed on the screen. The motion is an illusion of
sorts, and more so is the intentionality the motion suggests. She also knows the Vital Energy
Accumulator that charges SIBOR with ætheric energy is “really” just a bit of metal attached
to a USB dongle that transmits a “space bar” key sequence to a computer whenever said metal
is touched.

The technomancer-as-tinkerer must know such things, but—cleverness or elegance of design


aside—they are usually more trivializing than enchanting as they reduce the system being
interacted with to “just a machine” (this is really no different from seeing a magic wand as
“just a stick,” a sigil as “just a doodle,” &c.). The technomancer-as-sorcerer must allow
herself to be charmed by the illusion; must be open to and stay with what is apparent to her
senses and what she feels about that. To this end, it helps to engineer the interaction to go
smoothly and not break down lest it become present-at-hand. This often requires an iterative
design process that involves testing the interaction many times and making adjustments to
make it more fluid and robust before it is enacted “for real.” This is especially important for
group interactions. Participants other than the person who engineered the interaction may be
more easily enchanted by it, but they may also more easily become disenchanted by a break in
the flow.

1. Many people know that cyber comes from cybernetics, but not many people know that
cybernetics does not necessarily have anything to do with computers. For more about
cybernetics proper, I refer you to Paul Pangaros’s excellent introduction to the subject.
It should also be noted that my use of the word cybermagic differs appreciably from
Frater U∴D∴’s so-called models (or paradigms) of magic (see High Magic: Theory &
Practice).
2. By which I mean the complexity of its manifold forms. Many of the fundamental
techniques of magic are quite simple—so simple, indeed, that they may require years
of training to strip away the unnecessary complexity that obfuscates them.
3. See Michael D. Bailey, “The Meanings of Magic,” Magic, Ritual, and Witchcraft, Vol.
1, No. 1, Summer 2006, pp. 1–23.
4. Jesper Sørensen, A Cognitive Theory of Magic (AltaMira Press, 2006) 32.
5. John Michael Greer, Circles of Power: Ritual Magic in the Western Tradition
(Llewellyn, 1997) 3.
6. On the subject of ritual magic apropos of technomancy, see “Ritual as Algorithm.”
7. For an introduction to semiotics, see David Chandler’s excellent Semiotics: The
Basics, much of which is available to read online as Semiotics for Beginners. There
have been many articles written about semiotics and magic or ritual, and a few books
including Sørensen’ (ibid.) and Naomi Janowitz’s Icons of Power: Ritual Practices in
Late Antiquity.
8. E.g., Aleister Crowley’s famous definition: “Magick is the Science and Art of causing
Change to occur in conformity with Will” —”Magick in Theory and Practice,” Liber
ABA, Book IV. Indeed, Alan Moore has gone so far as to conflate magic and art, and
Peter Carroll has proposed that science is a really a subset of magic.
9. Paul Huson, Mastering Witchcraft.
10. J. Finley Hurley, Sorcery.
11. N.b., this is not a universally accepted idea, particularly among neo-animists or those
who just reject Freud’s model of the unconscious mind. However, there are other ideas
about the unconscious mind, from Jung to N. Katherine Hayles’ Unthought: The
Power of the Cognitive Nonconscious.
12. Issac Bonewits, Authentic Thaumaturgy (Second Ed., Steve Jackson Games, 1998) 19,
21. Cf.: “It is here to be particularly noticed by us, that, in forming of a charm, or
amulet; it will be of no effect except the very soul of the operator is strongly and
intensely exerted and impressed, as it were, and the image of the idea sealed on the
charm, or amulet; for, without this, in vain will be all the observation of times, hours,
and constellations; this I have thought to mention, once for all, that it may be almost
always uppermost in the mind of the operator, for, without this one thing being
observed and noticed, many who form seals, &c., do fall short of the wished-for
effect.” Francis Barrett, The Magus, 1801.
13. “Often synchronicity comes to us unbidden, but magic is about taking an active role in
the process and creating synchronicity.” Vivianne Crowley, Everyday Magic:
Discover Your Natural Powers of Intuition (Penguin, 2004).
14. Margaret A. Boden, Artificial Intelligence and Natural Man (Basic Books, 1977) 15.
15. Heinz von Foerster, “On Constructing a Reality,” in Understanding Understanding:
Essays on Cybernetics and Cognition (Springer, 2003) 216.
16. “[…] a framework of dynamic contact with the environment, and internal feedback
processes, in which a brain, whether human, animal, or silicon ‘wakes up’.”—Joseph
Decken, The Electronic Cottage (Bantam, 1983) 95.
17. The word actuator has often denoted a motor, but it is increasingly said in the context
of physical computing and interaction design to mean the “output” side of an
interaction even if that does not involve motion in the typical sense.
18. Brenda Laurel, Computers as Theatre.
19. Myron Krueger, “What Should You Wear to an Artificial Reality?”
20. The idea that computers represent action is proposed and examined in Brenda Laurel’s
book, Computers as Theatre.
21. A greater discussion deserves to be had, regarding virtuality, actuality, magic, and
computers. A voodoo doll, e.g., is virtually the thing it represents, but the act of
manipulating the doll is intended to have an actual effect on that thing. The doll is a
kind of model, and we can model many things in computer software, including dolls.
The act of manipulating a material doll is quite physical and embodied. What happens
to that interaction if you replace the doll with a simulation of a doll? What if you
replace the act of manipulating the doll with an automated simulation of
manipulation—would the magic still be effective? Is any expression of intention
enough, or must something more be conserved across waxing abstraction? Can a
representation become too abstract to be magically efficacious?
22. The word sorcery derives from sorcerer, from the Latin sors: lot, share, fortune,
condition, &c. The word’s evolution suggests the sorcerer as someone having an
uncanny ability to alter or determine fate and fortune (cf. wyrd). Historically, sorcery
is not “usually restricted to those operations which rely upon the use of material
bases,” as it is sometimes employed today (see e.g. Andrew D. Chumbley, Opuscula
Magica Vol. 2, Three Hands Press, 2011, p. 57; cf. Peter J. Carroll, Liber Null &
Psychonaut, Weiser, 1987, p. 61). Another modern use I sometimes see is denotation
of working with spirits (bewitchment, fascination, &c., and communication with or
exorcism of spirits, are often found together throughout history). Chumbley conflates
the word ensorcel with encircle (op. cit.), but they are derived from French words
having different etymologies: ensorceler → sorcier → Latin sors (sort, lot, fate, &c.)
→ Proto-Indo-European ser- (“to bind”); and encercler → cercle → Latin circulus
(circle, orbit, &c.) → Greek kírkos (“circle, ring”). However, those earliest roots are
connected by the idea of binding a thing by encircling it (the circle is the fundamental
mark that distinguishes a thing from the Void and brings it into being—see George
Spencer-Brown’s Laws of Form as explained in Yair Neuman’s Processes and
Boundaries of the Mind: Extending the Limit Line, Kluwer Academic, 2003, chapter
12), and of sorting fate or fortune by fixing it, and Chumbley’s definition of sorcery as
“a means of control and influence within the manipulative procedures of Magickal
Power […] [embodying] the technique of ‘Binding’ as the means of controlling
Magical Forces” is cognate with my usage in the present work which may be correctly
viewed as binding magical “forces” to computational media. Sorcery as magic with
spirits, and as magic with materials, are also appropriate.
23. Quoted in Massimo Banzi, Getting Started with Arduino (Make, 2008) vi–vii.
24. So far as I know, the phrase in this context was coined by Peter Carroll in Liber Kaos,
but the essence and importance of the technique were inherited from Austin Spare.

Introducing Scratch
• Getting Scratch
• Extensions & Modifications
• Derivatives
• Resources
• About the Projects

Not too many years ago programming carried the aura of a Black Art, known only to a few
mystical practitioners evoking their powers for a living. As computers slowly permeated our
lives, workers in a multitude of fields found themselves involved with these wonders. And
always there was the programmer performing his magic.
—Neill Graham, Artificial Intelligence

It is no accident that sorcery techniques often resemble certain childhood behavior patterns.
Children often have a natural familiarity with the simple principles of magic even if they lack
the persistence or encouragement to make them work. The adult magician is seeking to regain
that childlike sense of imagination, fluidity, and wishful thinking, and turn it into something
of real power.
—Peter J. Carroll, Liber Kaos

Program or be programmed.
—Douglas Rushkoff

Scratch is a visual programming language developed by the MIT Media Lab’s Lifelong
Kindergarten group for teaching computer programming to children and adolescents.
Scratch’s philosophy is anyone can learn to program, and it is inspired by Seymour Papert’s
Four P’s: projects, peers, passion, and play (see “Give P’s a Chance” by Mitchel Resnick,
director of Lifelong Kindergarten). Rather than typing out lines of code, you build programs
in Scratch by arranging graphical blocks—sort of like programming with LEGO. The
following illustration compares some Java code that when complied and run will display
“Hello, World!” on your computer screen, to a block for doing the same thing in Scratch. You
can see how the block simplifies things.

Here is what that block looks like in a script:

I discovered Scratch circa 2007 while doing some research in anticipation of developing a
graphical system for creating magician-computer interactions, inspired by Pure Data and
similar languages. Scratch could do many of the things I had envisioned and several I had not,
and although the scope of its æsthetics and programmability were limited (ease of use often
restricts variety—compare Windows and UNIX), it was especially well suited to pedagogy:
rather than teaching you a bunch of stuff about discrete mathematics, code syntax, data
structures, and other esoterica computatralia before you ever write a program that simply
displays a static image on your screen, with Scratch I could show you in just a few minutes
how to display a dynamic image in response to your spoken incantation.

Certainly, there is a genuine arcanum to computer science, but just as you can learn and
experiment with the basics of spell-casting without first penetrating the great mysteries of the
occult (for many occultists, our first attempts at sorcery were our first steps into the
mysteries), you can begin programming computers without first obtaining a complete
education in computer science. Do not be put off by Scratch being “kids’ stuff”; plenty of
magic is, really, and in the hands of a capable sorcerer, Scratch is a toolbox for doing
magic with computers that blows away most of what has been written about
technomancy, cybermagic, &c., until now. This is why I call Technomancy 101 “advanced
cybermagic for beginners.” Scratch may also be a gateway to other technologies with which
to make bigger and better technomanctic designs.

Scratch makes it easy to begin multimedia programming with images and sounds, but it also
facilitates introductory physical computing with optional add-on hardware that extends
Scratch with sensors and actuators not commonly found among desktop computers. Several
Technomancy 101 projects feature these and other hardware extensions.

Getting Scratch
At the time of my writing Technomancy 101 (mostly in 2015–17), the current version of Scratch is
2.0, and that is the version the projects were made with. Most of the essential ideas are transferable
to the prior version, Scratch 1.4, but it lacks some of its successor’s functionality. Scratch 2.0 requires
Adobe Flash to run. (I know; sorry!) Scratch 3.0 is being developed in HTML5, but it is different
enough from 2.0 that some projects may not “just work” in the new version.

You can try Scratch by going to scratch.mit.edu and clicking the Create button at the top, or
click Explore to check out projects others have made. Any Scratch project may be opened in
the editor so you can see how it works, which is one of the best things about learning with
Scratch. Its built-in help system includes step-by-step tutorials, how-to’s, and descriptions and
examples for each block; and the website has a Tips page with things to try.

In order to save your projects online and share them with others in the Scratch community,
you would need to create an account there, or you may download your projects to your
computer and later upload them to the website in order to run or edit them.

The online Scratch community is made up mostly of minors, and any projects shared or discussed on
scratch.mit.edu must abide by the Scratch Terms of Use and Scratch Community Guidelines.

There is an off-line editor you can download and install, which is useful when you are
disconnected from the Internet or working with content you prefer not to share online. The
official extensions (v.i.) work in the offline as well as online editors, while some experimental
extensions require one editor or the other. The Raspberry Pi computer’s official operating
system, Raspbian, includes special versions of Scratch 1.4 and 2.0 that have interfaces to the
Pi’s unique hardware.
Extensions & Modifications

In addition to Scratch’s built-in extensions that add special blocks for interacting with devices
such as the PicoBoard and WeDo mentioned above, anyone can write their own experimental
extensions. There are extensions for Arduino, littleBits, Leap Motion, Make!Sense, Twitter,
text-to-speech, a sound synthesizer, and more.

Since Scratch is open-source software, many people have modified it to incorporate additional
or alternative functionality, e.g.:

• SNAP! (formerly BYOB, or Build Your Own Blocks) — a variant created by University of
California Berkley for more high-school and college-level computer science. Includes
extensions for several devices.
• Scribble — for making generative art
• S4A — a mod of Scratch 1.4 for working with Arduino

The Scratch Wiki includes a complete list of Scratch modifications.

Derivatives

Scratch has inspired many similar programming languages. Two of my favorite robotics
platforms can be programmed with blocks: Microsoft MakeCode for the Adafruit Cricket,
and BlocklyProp for microcontrollers and robots featuring the Parallax Propeller multicore
MCU.

Here are a few more:

• Google Blockly for web-based visual programming


• MIT App Inventor for making Android mobile apps
• Modkit for Arduino microcontrollers and Vex robotics

Resources

• Scratch’s greatest resource is its ability to open any project in the Scratch editor to see how
the project works. I encourage you to check out what others have done, and if you see
something that piques your interest, open it up and examine it or modify it—any changes
you make will not alter the original project, although you can save your changes as a new
project.
• Scratch projects may be organized into collections called studios. Here are a few of my
favorites:
o Just Like Real Life — simulators and simulations
o MIDI and such Soundstuff — projects that use Scratch’s sound blocks
o 100% Pen — drawings and animations made using only Scratch’s pen blocks
• The Scratch website has a lot of information, including a Tips page to help you get started
programming in Scratch; an Explore page where you can browse projects others have made;
and a Discuss page where you can interact with the Scratch community to share your work,
get or give help, report problems, or propose solutions or new ideas.
• The Scratch Wiki has a lot of detailed information about Scratch, including examples of how
to use each block, which usually provide more detail than Scratch’s built-in help.
• Learn to Program with Scratch: A Visual Introduction to Programming with Games, Art,
Science, and Math by Majed Marji. There are several Scratch books available, and this one is
my favorite; an excellent introduction to computer programming concepts with Scratch. If
you are new to Scratch or computer programming, I highly recommend reading this book in
order to get the most out of Technomancy 101.
• Scratch 2.0 Game Development Hotshot by Jessica Chiang and Sergio van Pul. Not as
comprehensive as Learn to Program with Scratch, but demonstrates a good variety of
techniques for games, which can apply to other contexts. (Full disclosure: I was a technical
reviewer for a few chapters of this book.)
• Coding for Beginners Using Scratch. In the 1980s, Usborne published several fun books
about programming, mostly games in BASIC. Today they have a book out about programming
in Scratch.
• Scratch for Budding Computer Scientists. A free, online tutorial written by David Malan of
Harvard University. I said earlier that technomancers need not be computer scientists, but a
good grasp of the basics is helpful, just as a painter need not be a physicist or materials
scientist, yet may benefit from basic knowledge about colors and kinds of paint and how they
interact with each other and the world.

About the Projects

The Technomancy 101 projects feature interactions demonstrating various principles and
possibilities. These may be studied, modified, recombined, or incorporated into greater works,
complete rituals, or other facets of the art magical, as you find fit.

All projects were made with Scratch 2.0 unless otherwise indicated. Each project page
includes a link to download the project file, which you can open in the offline editor, or
upload to the online editor if you prefer using that (go to File → Upload from your computer).

All project pages are divided into these sections:

• What It Does — a summary of what the project does, what magician-computer interaction it
demonstrates
• How It Works — a technical explanation of how the project works. Suggested ritual
components or applications are also given here or in the subsequent section.
• Make It Better — suggestions for modifying and improving the project

Any project requiring specialized hardware or software will have a note in the “What It Does”
section, stating what is needed and suggesting alternatives if any are available.

Project: Meditaid
• What It Does
• How It Works
o Conventions
o Building the Project
• Make It Better
• Credits
Meditation and concentration exercises are often the first things a magician learns, and they
continue to benefit her throughout her career. Meditaid is a meditation assistant I will show
you how to make from scratch (no pun intended).

What It Does

Meditaid is a meditation timer that can be set from one second to one hour1, and includes an
image to focus on while meditating. A bell sounds at the end of the countdown to alert you
that the session has ended.

How It Works

There are many ways we could build a meditation timer, with various features. We shall make
Meditaid to do the following:

1. Display an image for us to gaze at while we meditate.


2. Allow us to select a number of minutes and seconds for the meditation session to last.
3. Display an instructional message at the beginning of the session, and a different message at
the end.
4. Play a bell sound at the end of the session.

Conventions

Following are some conventions I use throughout Technomancy 101 when describing
projects:

• Scratch block names are in this style: when green flag clicked.
• Sprite names and variables are in this style: Ball.
When using Scratch, I follow Java naming conventions (because they are consistent with how
I code in Processing):

• Sprite names are in UpperCamelCase and indicate what the sprite is, e.g.: Timer, Card,
Button, StartButton, CloudOne.
• Variable names are in lowerCamelCase and are usually descriptive: i, j (loop indices);
minutes, seconds (representing number of minutes or seconds, respectively); buttonVal,
cardVal (to hold the value of a button or card); scoreShowing, buttonMatchesCard
(Boolean variables representing whether or not the score is showing, or whether the button
value matches the card value).
• Constants (i.e., variables that are set once, usually when the project starts, and then do not
change while the project runs) are in all capital letters with multiple words separated by
underscores: PI (= 3.14159), MAX_ITERATIONS (maximum number of iterations).
• Message names are in lowerCamelCase, indicate what the message is about, and usually
begin with a verb: getNewCard, revealCard.
• Costume and sound names are in lowerCamelCase: title, magicSquare, bellToll.

Building the Project

You may download the completed Meditaid project if you would like something to compare
your own work to.

Begin a new Scratch project by either running the offline editor or visiting
https://scratch.mit.edu/ and clicking the Create button near the top of the screen.

Rename the project to Meditaid (or whatever you want to call it).

We will not be using the default cat sprite, so delete it by selecting its thumbnail and pressing
the Delete key or right-clicking on the thumbnail and selecting delete from the context menu
(if right-click gives you trouble, try left-clicking while pressing the Shift key).
We are going to upload an image to gaze at while we meditate. You may use the same one I
did (save it locally to your computer), or one of your own choosing (Scratch’s aspect ratio is
4:3, and images larger than 480 × 360 pixels will be automatically shrunk to that size; there
are hacks that will allow you to import larger images, but let us ignore those for now). Click
on the Stage in the Sprites pane if it is not already selected, and then click on the Backdrops
tab and then the button to upload a new backdrop. Navigate to the image’s location on your
computer, then select and open the image file.

Delete the default backdrop, backdrop1, by selecting its thumbnail in the Backdrops pane and
clicking the x icon on the upper-right side of the thumbnail, or by right-clicking on the
thumbnail and selected delete from the context menu.
Now we shall create a sprite that will act as a timer for our meditation sessions. In the Sprites
pane, click the Paint new sprite button.

On the Sprite1 thumbnail, click the i icon in the upper-left corner to view the sprite’s
properties, then rename the sprite to Timer.

Before we make any scripts for this sprite, we will add two costumes to display at the start
and end of the meditation session, and a bell sound to play at the end to alert us that the
session has finished. To begin creating the first costume, make sure the Timer sprite is
selected in the Sprites pane, then click on the Costumes tab and select costume1. In the paint
editor, click the Fill with color tool, then click on the image to fill it in black.

In the lower-right corner of the paint editor, click the Convert to vector button. By making the
costume a vector image rather than a bitmap (a.k.a raster) image (q.v.), it will resize properly
when we run the project in full-screen mode.

After converting the costume, click on the foreground color in the color palette to switch the
foreground color from black to white.

Select the Text tool on the right side of the editor, then click on the costume to begin typing
text. Type the following text into the editor: “Use the sliders to set minutes and seconds, then
press the space bar to start the timer.” Insert line breaks where needed to keep the text from
expanding beyond the edge of the costume.

If needed, use the Select tool to reposition the text wherever you would like it to be on the
costume.

Rename the costume to start.


To create the second costume, right-click on the first one and select duplicate, then select the
second costume and use the Text tool to edit the text to: “The session has ended. Welcome
back to ordinary consciousness.” Again, use the Select tool to reposition the text if needed,
then rename the second costume to end. When you are finished, you should have two
costumes that look like this:

Click on the Sounds tab and then the Choose sound from library button, then select the bell
toll sound and click OK.
In keeping with my naming conventions, I renamed the sound to bellToll; that is optional.
You may preview the sound by pressing the play button in the sound editor.

Delete the default pop sound.

Now we shall build the script that will coordinate these images and sounds and make the
project interactive. We begin by creating variables for the number of minutes and seconds we
want our meditation session to last, and we will build the script such that we can specify that
duration at the beginning of each session. Click on the Scripts tab then select the Data
category. Click the Make a Variable button. In the New Variable dialog box, name this
variable minutes, select the radio button for This sprite only, and click OK.

Do the same thing to make a seconds variable (naming it seconds instead of minutes). You
should now see two variables on the stage.
We are going to turn these variables into sliders that will let us select a value between 0 and
59. Right-click on the Timer: minutes display and select slider from the context menu. Then
right-click on it again and select set slider min and max.

In the Slider Range dialog box, leave the Min value at 0 and change the Max value to 59, then
click OK.
Repeat the last few steps to make a slider for the seconds variable (also in the range from 0 to
59), then click and drag the seconds slider so that the sliders do not overlap. They should
look like this when you have finished:

Click on the Scripts tab and then on the Events category, then click and drag the when green
flag clicked block from the block palette to the script area.

The blocks we place beneath this one will run in order when the green flag is clicked (clicking
the green flag causes a Scratch project to start running).

You may have noticed the Timer sprite is not centered on the stage. Scratch uses a coordinate
system to keep track of where each sprite is located. When you add a new sprite, Scratch
assigns it a random starting position. You could click and drag the sprite to where you want it,
or you can edit its x and y coordinate values. I usually explicitly set the starting positions for
all of my sprites in case I move a sprite while editing the project. For the present project, I
want the Timer sprite to be centered, so I set its starting x,y position to 0,0—i.e., the center of
the stage. In the Scripts pane, select the Motion category, then click and drag the go to x: () y:
() block directly beneath the when green flag clicked block until your see a white line appear,
then release the mouse button to snap the block into place. Edit the numbers (called
arguments) in the block to x:0, y:0.

From now on every time Meditaid starts (when the green flag is clicked) the first thing Timer
does is center itself on the stage. The next thing we need to do is set the initial values for the
variables and make sure the associated sliders are showing when the project starts. On the
Data palette, select the set () to () block twice and use the drop-down list to select minutes
for one of the blocks and seconds for the other. Set the argument for the minutes block to 15
and leave the value for seconds at 0. Also drag over the show variable () block twice, and
change one of them to minutes and the other to seconds. When you are done your script
should look like this:

Next we will make the script select the start costume and display it (in case it is hidden,
because we will hide it later). From the Looks palette, get the switch costume to () block and
change it to start (if it is not already), and also get the show block.
We need a way to tell Scratch to start the timer after we have selected our values for minutes
and seconds. As you may have guessed from the wording of the start costume, we will use
pressing the space bar as the event. From the Control palette, get the wait until () block, then
get the key (space) pressed? block from the Sensing palette and snap it into place on the wait
until () block.

When the space is bar is pressed, we need Scratch to hide the sliders and instructions (so we
are not looking at them while we meditate) and then count down the duration we selected with
the sliders. Get two of the hide variable () blocks from the Data palette and make sure one is
for minutes and the other for seconds, then get the hide block from the Looks palette.

To count down the session, we will use the wait () secs block from the Control palette and a
little arithmetic using blocks from the Operators palette. Since the wait () secs block is
expecting an argument in seconds, we need to convert the minutes value to seconds and then
add the seconds value. Since there are 60 seconds in one minute, the formula is (minutes *
60) + seconds. Get the minutes and seconds reporter blocks from the Data menu, and the ()
* () and () + () blocks from the Operators menu, and assemble as so:

Finally, when the count down is complete, we need to display the end costume and play the
bellToll sound. Get the switch costume to (end) and show blocks from the Looks palette,
the play sound (bellToll) until done block from the Sound palette, and the stop (all) block
from the Control palette. Here is the finished script:
Test the project by clicking the green flag, setting the sliders, pressing the space bar, and
noticing what happens. When testing, run a couple of brief scenarios such as 0 minutes and 10
seconds, and 1 minute and 30 seconds. Try running the project in full-screen mode by clicking
the button above the top-left corner of the stage. At any time when the project is running you
may press the stop sign to immediately stop the project, or click the green flag to restart the
project.

Scratch automatically saves your work periodically, but if you want to make sure it is saved,
select Save now from the Scratch editor’s File menu (not your web browser’s menu).

Congratulations! You have written a computer program that does something useful for
magicians, and taken your first steps toward becoming a technomancer.

Make It Better

Meditaid is intentionally very basic to make it an easy first project. Below are some
suggestions for modifying and improving it. Do not worry if you do not immediately
understand how to implement these. I have included them here to inspire you to look beyond
what is to what could be, and to think about how to improve on others’ designs and suit them
to your own needs and tastes. After working with Scratch for a while, you should be able to
return to this project and implement any or all of these suggestions and more.

• Change the focus image (the middle costume) to something you prefer to gaze at while you
meditate. Try sigils or psychedelic imagery, perhaps amplified by one or more graphic effects.
• Include an ambient or hypnotic music track or drum beat.
• Allow a selection from multiple focus images, alarm sounds, or background music.
• Add some transitions, e.g., use the ghost effect to fade the middle costume out and the end
costume in.
• Animate the focus image. One way is to loop through a series of costumes. E.g., if you find an
animated GIF file of a candle flame, you can import it into Scratch and the individual frames
will be automatically added as new costumes for the sprite (instructions for doing this).
Another way would be to draw the focus image as generative art—see e.g. this fractal
kaleidoscope project, or one of the many other kaleidoscope projects.
• Include a way to see how much time has elapsed or remains in the session.
• Add a variable for hours so you can run sessions longer than one hour.
• Add an interval notification, e.g., a chime that sounds every five minutes while the
meditation timer is running. Include controls similar to those for seconds and minutes, that
allow you to choose the interval time prior to running the timer.
• The wait () secs block worked fine for this simple project, but it causes Scratch to literally
wait until the set time has elapsed. If you need Scratch to do something during that time
(such as animate an image), you need a different control structure to keep track of the
countdown. Scratch has a timer block that keeps track of the number of seconds that have
elapsed since the project started or since the reset timer block was last called. You could
replace the wait () secs block with a repeat until () block that loops until the timer value is
greater than (minutes * 60) + seconds.

• Use the video blocks to detect if you move during the session and if so display an image or
play a sound of negative feedback—nicer than getting struck with a keisaku, although with
physical computing that too is possible. Or keep track of the number of times you move and
display it at the end of the session: “You moved 3 times this session; try harder next time!” or
“You moved 0 times this session; aces, chummer!”
• What different kinds of meditation could be facilitated or enhanced by a computer? If you
want examples of various meditation techniques, check out Principles of Meditation by C.
Alexander Simpkins and Annellen M. Simpkins.

Credits

The hamsa (eye-in-hand) graphic was made by Lisitsa_.

1. Technically, from 0 seconds to 59 minutes and 59 seconds.

Project: VisualAid
• What It Does
• How It Works
• Make It Better
• Credits

Download Project or Preview Online

What It Does

VisualAid helps you learn to visualize things in your mind’s eye—traditionally a useful skill
for sorcerers. The project displays a monochrome image of an encircled hand with a triangle
in its palm1 for 30 seconds and then hides it for another 30. Gaze at the image while it is
visible, then when it disappears, concentrate on the afterimage. Use your concentration and
imagination to visualize the image as best as you can while it is hidden.

How It Works

Instead of showing you how to build VisualAid from scratch as I did for Meditaid, I will
explain how the project works and you may download the project and open it in the Scratch
editor to see for yourself how it is constructed. You should get used to learning about Scratch
programming by opening up projects and examining how they are put together.

VisualAid hath been raised by the magic formula: easy peasy lemon squeezy! It has but one
sprite with one costume and one script.

When the project starts, the sprite moves to the center position (x:0, y:0), then goes into a
forever loop of: showing the sprite (using the show block); waiting 30 seconds (using the
wait () secs block); hiding the sprite (using the hide block); and waiting another 30 seconds
(using another wait () secs block), after which the cycle repeats indefinitely or until you click
the stop sign (you can always stop a project by clicking the stop sign or just closing the tab or
browser the project is running in).

Make It Better

I also made a project named VisualAid2 (download or preview online) that adds some
functionality: you can adjust the image size and the show/hide times. Use the Scratch editor to
compare it to the original VisualAid.
Try this with different images. You can use colored ones to get different colors in the negative
afterimage (cf. flashing colors).

You can combine VisualAid with Meditaid to make meditation sessions involving
visualization exercises. One way to do that would be to keep the forever loop and have a
second script keep track of the total meditation time and stop everything when that time is up.
Another would be to replace the forever block with a repeat () or repeat until () block. If
you know the wait time is 30 seconds after showing the image and 30 after hiding it, then
looping through that 30 times will take 30 minutes, so you can place the show, hide, and wait
blocks inside of a repeat (30) block, which will loop through them 30 times.

Credits

In designing the triangle-in-hand, I used the “Hand Silhouette Clip Art” image.

1. This image was inspired by one from Clint Marsh’s The Mentalist’s Handbook: An
Explorer’s Guide to Astral, Spirit, and Psychic Worlds, p. 7.

Mapping Exercise
The crux of technomancy is mapping from a domain of magical activity (i.e., a set of
related agents, actions, or objects that are structural, meaningful, or practical in a
magical context) to a range of activities involving computers and computational media.
In other words, making correspondences between the things magicians do or make use of
when they do magic, and things that can be done with a computer or that computers can do.
The following exercise may help you to discover such correspondences.

On a sheet of paper (or do this exercise digitally, perhaps with mind-mapping software such
as MindMeister), make a mark dividing the sheet of paper in half. Label one half of the paper
“Magic Space,” and the other half “Computer Space.” On the side labeled “Magic Space,”
write a list of things you do when you practice magic, or that you imagine someone else does
when they practice. You might start with something like: “invoke a deity, read Tarot cards,
cast spells.” If possible, extract from those things actions that you do physically, and write
those down on the same half of the paper. When you ‘invoke a deity’, do you move or
position your body in a particular way? Do you speak anything aloud? Do you close your
eyes? Is there a particular sound or song you listen to as you invoke? Do you burn incense?
When you ‘read Tarot cards’, how do you lay out the cards? Do you perform any ritual
actions before or after shuffling or spreading the cards? How do you ‘cast spells’? Are there
any techniques or tools you use frequently? Do you make use of images or sigils or material
links (“blood and hair and sweat and ends of fingernails”)? Do you enact gestures or speak
incantations? &c.

On the other half of the paper, on the side labeled “Computer Space,” write a list of things
that you know or suppose computers can do or that can be done using computers. It will be
especially helpful to include things you have learned about Scratch, but feel free to record
anything you think involves computers.
When you have written several items on both sides of the paper, go back and forth between
elements on opposite sides and see what correspondences you can make between them, ways
in which an interaction can occur when those two (or more) things come together. You need
not yet define what the interaction is; just mark wherever you find a reasonable
correspondence. Not every element needs to correspond to something on the other side. E.g.,
‘burn incense’ might not connect to anything you can imagine a computer doing, or perhaps
you cannot think of a magical application for ‘run web browser’, and that is just fine.

Here is an example pair of lists with lines between them marking what seem to me as
reasonable correspondences:
As you proceed through Technomancy 101, feel free to add or subtract elements or
connections from your own lists. You may also at any time develop any correspondence in
more detail. What might the correspondence between ‘drum’ or ‘intone / incant / chant’ and
‘detect / respond to sound’ actually be like? How would the computer detect the sound (hint: a
microphone), and how would it respond? How would the response matter in the context of
performing a magical act? Do not worry or necessarily dismiss a correspondence if you
cannot answer these kinds of questions right away; something may occur to you later on as
you continue studying the projects and experimenting with your own.

Enchanting with Computers


Functionality of language, as made possible by computers, can hardly be imagined by those
who have not experienced it. The computer does what you say.
—Joseph Decken, The Electronic Cottage

Where a man’s word goes, and where his power of perception goes, to that point his control
and in a sense his physical existence is extended. To see and give commands to the whole
world is almost the same as being everywhere.
—Norbert Wiener, The Human Use of Human Beings:
Cybernetics and Society

Technomantic enchantment involves computers to do magic that effects change in the world.
The magical act seems to cause something to happen that manifests the intentionality of the
act (i.e., the reason the act was performed), which we typically call a result although we may
not be able to plainly show efficient causality between the act and its consequence (recall
Sørensen’s ‘opaque causal mediation’). We might think of enchantment as engineering
synchronicity, i.e., acausal, meaningful connections. A magical result is a sign of magic at
work, and those who recognize the signs are witnesses to magic in the world—not by simply
mistaking correlation for causation, but by embracing something that is profoundly weird.
The word enchant is akin to the Latin incantāre, whence incantation: “The use of a formula
of words spoken or chanted to produce a magical effect; the utterance of a spell or charm;
more widely, the use of magical ceremonies or arts; magic, sorcery, enchantment” (OED). Cf.
spell, which also has linguistic connotations. Verbal magic has been practiced since ancient
times; e.g., the voces magicæ and ritual lamenting in Greek mageía (μαγεία) and goēteía
(γοητεία):

Then [Medea] sang songs of incantation, invoked the dæmons of death, the
swift hounds of hell that whirl around the air everywhere and fall on
living creatures. On her knees she called them three times in song, three
times in prayer. She put herself into a sinister mood, and with her own
evil eye she put a curse on the eye of Talos. She gnashed at him her
devastating fury and hurled forth images of death in an ecstasy of rage. 1

Verbis Diablo in Penny Dreadful [3PC]

The words of such enchantments are sometimes devoid of literal meaning—cf. barbarous
names. Some charms involve material objects, and the word charm, originally from the Latin
carmen, “song, incantation,” has come to mean also “a physical object […] that has naturally
or magically been imbued with a magical power,”2 and synonymous with talisman, amulet,
and fetish, which are often used interchangeably but have different connotations in light of
their differing etymologies.

Some spells and charms involve ritual actions, and may not include words at all, but although
they need not be linguistic per se or entirely linguistic, all are semiotic—being symbols,
icons, or indexes of occult power—and all express or represent the magician’s intention in
ways that are simultaneously distinct from and yet similar to instrumental action, and which
may be related to correlations between language and tool use3 (cf. speech acts). E.g., nailing a
horseshoe to a door frame while saying the magic words in order to ward off evil is not
merely a symbolic activity; it is intended to have an actual effect.
Enchantments can bless, curse, repair or prevent injury, bring luck or good fortune, attract
love, change the weather, &c. Spells and charms may be translated from traditional to
computational media, allowing us to invent new enchantments.

hexadecimal equivalents

In accordance with the theme of enchanting or casting a spell using one’s voice, several of the
projects to follow respond to vocalized sounds, but we need something to interact with,
something to do the responding. What better than one of magic’s most recognizable motifs:
the sigil—itself an enchanting device.

Sigils

A sigil (from Latin sigillum, diminutive of signum, “sign”; cf. Hebrew segula) is “an occult
sign or device supposed to have mysterious powers” (OED), or “a sign, image or symbol
considered to be magical” (Wiktionary). In practice, sigils are typically glyphs or seals that
often incorporate glyphs, which represent one or more occult subjects. The presence of sigils
so connotes occultism that they are often found in popular media in ways that are clearly
specious to actual practitioners of occult arts.
a 1583 manuscript of the Key of Solomon (click image for larger view) [3PC]

John Dee’s Sigillum Dei


source)]
Sigils may be inherited from antiquity or authority, received via dreams or visions, or
constructed according to diverse formuæ. During the last quarter of the 20th century, Chaos
magic helped to popularize Austin Osman Spare’s techniques for sigilizing a sorcerer’s
desired outcome. Although sigils are usually conflated with symbols (many of them actually
are symbols), Spare’s techniques purposefully obscure or omit symbolic or iconic relations
between a sigil and its referent because both interpretation and resemblance facilitate
conscious awareness and rumination of the sigil’s referent.

Sigils may be displayed during magical operations in order to summon or invite the powers
they represent to influence the work, or they may be interacted with as though they are the
things they signify. Computer programming facilitates diverse means to generate, manipulate,
animate, or otherwise interact with sigils, and many of the projects in Technomancy 101
involve sigils in one way or another.

If you are new to sigil magic, here are a few resources to help you get started:

• The first few chapters of Jan Fries’s Visual Magick provide an excellent introduction to sigil
magic.
• Frater U∴D∴’s Practical Sigil Magic
• Spare’s The Book of Pleasure describes his philosophy and techniques of sigil magic.
• Sigil Witchery: A Witch’s Guide to Crafting Magick Symbols by Laura Tempest Zakroff
• Sigil Athenæum — a collection of sigils and FAQ about sigil magic

Following are a few books about charms, spells, and other enchantments, which I have
enjoyed. Try these with the mapping exercise from the introduction.

• Magic Charms from A to Z by The Witches’ Almanac


• Dictionary of Ancient Magic Words and Spells and Traditional Magic Spells for Protection and
Healing by Claude Lecouteux
• The British Book of Spells and Charms by Graham King
• The Wicked Shall Decay: Charms, Spells, and Witchcraft of Old Britain by A. D. Mercer

Most grimoires contain enchantments of various types in addition to protocols for magical
evocation.
1. Apollonius of Rhodes, Argonautica, as quoted in and transcribed by Georg Luck,
Arcana Mundi: Magic and the Occult in the Greek and Roman Worlds, second ed.
(The Johns Hopkins University Press, 2006) 103–104.
2. Graham King, The British Book of Spells and Charms (Troy, 2016) 30.
3. For more about correlations between language and tool use, see this and this.

Project: SigilChant
• What It Does
• How It Works
• Make It Better

Download Project or Preview Online

What It Does

I said in the introduction to Scratch that I could teach you in just a few minutes how to make a
project that will manifest a sigil unto visible appearance in response to vocalized sound such
as chanting or intoning. First, I will make good on that promise with a rudimentary project;
then I will show you a few ways to improve the design.

How It Works

The most basic steps for making a sigil that becomes increasingly visible in response to sound
are:

1. Draw or import an image of the sigil into Scratch.


2. Use Scratch’s ghost effect to make the sigil effectively invisible by making it completely
transparent (ghost = 100).
3. Use Scratch’s loudness sensor (and a microphone) to detect when you are making some
sound.
4. While the loudness value exceeds some threshold, decrease the ghost effect value thereby
making the sigil more visible/opaque (the smaller the unit of decrease, the longer it will take
the ghost value to go from 100 to 0, thus the longer it will take for the sigil to completely
manifest).

SigilChant implements that basic design. You will need a microphone connected to your
computer (if your computer has a webcam built into it, it probably has a mic). After you start
the project running, speak, chant, sing, or intone into the microphone and observe what
happens. (N.b., the sigil used in this project is meaningless; it is just something I doodled as
an example to use in multiple projects. You can easily swap in one of your own making.)

When running projects that require your video camera or microphone, Flash may request your
permission to read data from your device. It is safe to allow this. If you are working in the online
Scratch editor and you are unable to get your web browser to access your camera or microphone, try
downloading the project from the online editor and running it in the offline editor.

SigilChant has but one script:


The ghost effect ranges from 0 (fully opaque) to 100 (fully transparent), so the first thing the
script does is set the ghost effect to 100. Then it goes into a forever loop of checking the
loudness sensor, which also ranges from 0 (complete silence) to 100 (loudest sound the sensor
can measure). If the sensor’s value is greater than 15 (arbitrary; experiment with different
thresholds), the script decreases the ghost effect by 1. If you want the sigil to take longer to
manifest, simply change that 1 to something smaller, e.g., setting it to 0.5 will make the sigil
take twice as long to become fully manifested.

The loudness sensor detects any sound interacting with your computer’s microphone, which
could include talking, coughing or clearing your throat, background noises, &c. For best
results, run SigilChant in an otherwise quiet environment. A headset mic with mute button is
helpful for this sort of thing, but not so when you want to detect the sound of a group of
people chanting together. Also, if you make a sustained vowel sound (try saying a monotone
“aahhh” loudly but slowly for a full exhale) and find the value of your loudness sensor
steadily decreases to 0 even while the volume of your voice remains constant, your
computer’s microphone may be configured for noise reduction and is computing your
persistent, monotone chant as noise. You would need to disable that using your computer’s
sound management software. When troubleshooting, you can view the value of the loudness
sensor on the stage when the project runs (as shown in the animated GIF at the top of this
page) by checking the box next to the loudness block in the Sensing palette of the Scripts tab.
What happens when the ghost effect decreases to less than zero? Visually, nothing; for that
effect, anything less than or equal to (<=) 0 is fully opaque, and anything greater than or equal
to (>=) 100 is fully transparent; but the forever loop keeps running until you manually stop
the project. How about we change the project to detect when the ghost effect has reached 0
and then let us know the manifestation is complete?

Make It Better

SigilChant2 (download or preview online) includes that improvement in the form of a variable
named ghostVal that is set to a value between 0 and 100 just before setting the ghost effect
equal to the same value, therefore we can effectively track the effect’s value over time.
SigilChant2 includes a few additional improvements:

• When ghostVal goes beyond 0, instead of the script continuing for eternity, the sprite’s
costume changes to the word “Finis,” signifying the end of the operation, and then the script
stops the entire project (with the stop(all) block).
• Since the volume of sound for manifesting the sigil could vary by several factors including the
microphone’s input level and the sound source’s distance from the microphone, I have
included a threshold variable that can be changed to lower or raise the required loudness.
• In order to change the value of threshold I use one of Scratch’s own slider controls, and
made another variable, showThresholdSlider, to determine whether or not the slider
displays. showThresholdSlider has two possible values: 0 (off/hidden) or 1 (on/showing).
The value is toggled (changed from 0 to 1 or 1 to 0) by pressing the space bar on your
keyboard.
• In addition to having the sigil become more visible in response to sound exceeding the
threshold value, the sigil will now begin to disappear again if there is insufficient loudness
to manifest it. This is accomplished by changing the if () then block to an if () then, else block:
i.e., if loudness > threshold (is true) then change the ghost effect by -1 else change it by
(+)1. The if (ghostVal > 100) then block is there to keep ghostVal and the corresponding
ghost effect from increasing above 100 in the absence of sound exceeding threshold.

Here are the modified scripts for SigilChant2:

Let us follow the scripts from top to bottom to understand how they work. The first script (on
the left) begins when the green flag is clicked. Its first action is to switch the costume to
sigil in case the costume was finis the last time the project ran. Then the script hides the
threshold slider and sets the beginning values for the variables and ghost effect. Next the
script goes into a repeat loop until the value of the ghostVal variable is less than (<) 0.
Within that loop, the script keeps checking the value of the loudness sensor; if that value
exceeds (>) the value of the threshold variable, then the script changes ghostVal by -1 (i.e.,
decreases by 1) and sets the ghost effect to the new ghostVal value; otherwise (else) the
script checks to see if ghostVal is less than (<) 100 and if it is, then the script increases
ghostVal by 1 and sets the ghost effect accordingly. Once ghostVal is less than 0, the script
exits the repeat () until loop and proceeds with the next step, switching the costume to
finis. Finally, the script waits five seconds before stopping everything.
The second script (on the right) only runs when the space bar is pressed. It checks to see if the
value of showThresholdSlider is 0 (which arbitrarily means “no,” “off,” or “false”), and if it
does, then the script shows the slider for the threshold variable and changes
showThresholdSlider to 1 (which arbitrarily means “yes,” “on,” or “true”). Otherwise, the
script hides the slider and changes showThresholdSlider to 0. Effectively, this script acts as
a switch that shows the slider if it is not already showing, or hides the slider if it is showing.

The variable, showThresholdSlider, here is intended to act as a Boolean variable, i.e., a variable
whose value is either true or false. Boolean variables are useful for recording the the state of
anything having two possible states: on/off, active/inactive, showing/hiding, moving/not-moving, &c.

A common feature of Boolean variables is toggling them using a not operator. Say you have a
Boolean variable named myBoolVar. If the present value of myBoolVar is true then setting the
variable to not true would make it false (and if it is false then setting it to not false would set
it to true). Although Scratch has Boolean blocks and allows Boolean parameters in custom
blocks, Scratch variables created with the Make Variable button cannot be explicitly typed as
Boolean variables, so you cannot plug a variable into Scratch’s not () block in order to flip its
value. There is a workaround, however: you can set myBoolVar to (myBoolVar) = (false)
which will always switch the value from true to false or from false to true (because if
myBoolVar is false then it is true that it is equal to false, but if it is true then it is false that it is
equal to false).

This opens up a different and slightly more efficient way to toggle showThresholdSlider:
This simple operation of changing the visibility of a sigil (or other image) in response to
sound can be the basis of diverse technomantic interactions, as demonstrated by the following
two projects, SurroundSigil and Sigilaunch.

Project: SurroundSigil
• What It Does
• How It Works
• Make It Better

Download Project or Preview Online

What It Does

SurroundSigil extends the basic interaction of SigilChant to a slightly more elaborate


interaction by manifesting the five symbols of the Gnostic Centering Ritual1 one at a time and
then sending them all to orbit around a sigil. Such could be adapted to a variety of magical
operations including protection, confinement, and healing—anything where ensorcelling
involves encircling.

To manifest the five symbols, intone each of the five vowel sounds listed below until you see
the corresponding symbol fully manifested. For each intonation, inhale completely and then
sustain the sound until you are out of breath. The pitch of each intonation should decrease as
you proceed down the list.

1. A high-pitch “IIIII” sound while concentrating on your brow/third-eye area, which manifests
the Chaos Star (Octaris)
2. A slightly lower-pitch “EEEEE” while concentrating on your throat, which manifests the Tellus
3. A mid-range “AAAAA” while concentrating on you chest/heart area, which manifests the
Pentagram
4. A lower “OOOOO” while concentrating on your solar plexus or abdomen, which manifests
the Inverted Pentagram
5. A deep “UUUUU” while concentrating on the peritoneal-genital area, which manifests the
Geosphere

When you pause to inhale at the end of each intonation, the newly manifested symbol will
automatically move into position to form a pentagram. When all five symbols are in position,
the sigil will appear and the symbols will automatically begin orbiting around it.

If your mic is working fine but you are still having trouble getting the symbols to manifest, open the
Scratch editor and try:

• Editing the argument of the if (loudness > (15)) then block. A lesser number will make
Scratch more responsive to the sound detected by your mic; a greater number will make it
less responsive.
• Editing the argument of the change (ghostVal) by (−1) block. Changing that to −5, e.g., will
make the symbol manifest more quickly.
How It Works

SurroundSigil is more complex than SigilChant but is based on the same modality and
mechanism of interaction. The project has two sprites and makes use of the stage, which
SigilChant does not do.

Instead of creating a sprite for each of the five GCR symbols, I made one Symbols sprite that
uses Scratch’s cloning functionality to make five clones of itself, all with similar behavior but
different costumes to display the five symbols, and each going to a different screen position
after being made manifest. The cloneNum variable is local to the Symbols sprite, so each
clone has its own cloneNum (set to 1–5) which determines that clone’s costume and position.

The positions and orbits are calculated with a little trigonometry. The below figure shows
each symbol’s initial position.

The angle between one symbol and the next is 144°, so we can calculate each symbol’s initial
position by multiples of 144, then use Scratch’s sin (sine) and cos (cosine) blocks to
determine the starting x and y positions for each clone.
That 150 is the distance (in pixels) of the symbol’s position from the center of the project. For
more about how those functions work in this context, see this section of the trig lesson on the
Scratch wiki. Instead of using the trig calculations, you could find the x and y positions
manually and store them in lists and then do something such as this:

However, we need the trig functions to make the symbols orbit, so we may as well use them
to determine the initial positions.

After the fifth clone/symbol is manifested, the orbit message is broadcast, which starts the
script that makes the symbols circumambulate the sigil and also tells the Sigil sprite to start
the script that shows itself.

Technically, the symbols do not orbit around the sigil but around the center of the project (position
0,0). If you want the symbols to truly orbit the sigil you would need to do something like this. Here is
how that might look using the objects and data in the SurroundSigil project:

The advantage of this is that if the sigil moves, the orbit moves with it.

Make It Better

As mentioned earlier, this project could be adapted to a variety of magical operations. You
can make the symbols travel widdershins (counterclockwise) instead of deosil (clockwise) by
changing a by -1 in the script beginning with the when I receive (orbit) block.

When decreasing a symbol’s size to 20% in order to fit all five symbols on the screen for
orbiting, the weight of the symbol’s lines is also decreased to 20%, making them quite thin
compared to how they look at full size. You could draw two costumes for each symbol, giving
the second, smaller costume a greater weight so it appears bolder. Then, instead of employing
the set size to () block, you could use the switch costume to () block, and switch to the
smaller costume.

1. The Gnostic Centering Ritual is a later incarnation of the Gnostic Pentagram Ritual.
For a complete description of the GCR, see Peter J. Carroll, The Octavo: A Sorcerer-
Scientist’s Grimoire (Mandrake, 2010) 34–50.
Project: Sigilaunch
• What It Does
• How It Works
• Make It Better

Download Project or Preview Online

What It Does

Sigilaunch simulates launching a sigil into space after manifesting it unto visible appearance
via incantation. It is similar to SigilChant but features a different graphical interface with
several new animations, as well as a smoothing algorithm for the audio input. A numeric
counter displays the sigil’s percentage of visible manifestation. When the sigil is completely
manifested, it shoots off into the distant sky. There is a new, custom-made slider for selecting
the audio input threshold, and a pointer that moves automatically to show how the actual
(smoothed) input level compares to the threshold.

Although you can interact with Sigilaunch while sitting in front of your computer screen and
keyboard, if you are able to, try playing it in full-screen mode on a big-screen television or projected
onto a vertical surface, and standing before the image, speak into a headset microphone.

How It Works

Sigilaunch has a Controller sprite that receives audio data from the microphone and
smooths it (v.i.). Like SigilChant2, Sigilaunch has a slider that sets an audio threshold
variable (threshVal), but instead of using Scratch’s built-in slider interface, I made my own
slider integrated into the screen (assembled from three separate sprites: SliderTicks,
SliderThumb, and SliderPointer). The threshVal is set by mapping the x position of the
SliderThumb sprite to a value between 0 and 100; you can click on SliderThumb and drag it
left or right to decease or increase the threshold. One of the Controller‘s variables, loud, is
set to 1 if the smoothed average is greater than threshVal, or 0 otherwise. The
SliderPointer sprite automatically glides left and right according to the smoothed sound
input value. If loud = 1 then the pointer is green; otherwise it is red.

When loud = 1, the Sigil sprite’s ghost effect decreases, causing the sprite to appear (just
like in SigilChant). If loud = 0, the ghost effect changes in the opposite direction, causing the
sigil to disappear.

The sprites NumDisp001, NumDisp010, and NumDisp100 display the current value of the
Controller‘s manifestPercent variable, which is calculated from the Sigil‘s ghostVal
variable—the ghostVal ranges from 100 (complete transparency) to 0 (complete opacity), so
the percentage of opacity is 100 − ghostVal.

When the percentage reaches 100, the Controller broadcasts the message launchSigil,
which tells the Sigil sprite to run the script that animates the launch. The Sigil sprite’s size
decreases as its vertical position moves up the screen, giving the appearance that it is flying
away, and finally it changes from the sigil costume to the starburst costume and fades
away using the ghost effect.

The Message sprite displays text messages on screen that instruct the operator or inform her
about the state of the project while it is running.

The Controller‘s smoothing algorithm is inspired by ones I have used for the Arduino
microncontroller. Essentially, the last ten values read by the loudness sensing block are saved to a list
(smoothReadings) and then a moving average is computed (smoothAvg). The
smoothNumReadings variable determines how many loudness values are read in order to be
averaged. The more readings, the less reactionary the output but the longer the output takes to
respond to the input. You can see what I mean by changing the value of smoothNumReadings and
observing how the SliderPointer sprite responds.

Make It Better

• As with previous projects, it is trivial to change the sigil costume to one of your own design.
You can either redraw the costume using Scratch’s built-in editor or import an image from
elsewhere.
• The speed of the sigil manifestation is pretty fast. You can slow it down by changing the
ghostVal variable by a value smaller than -1, e.g., try -0.1 or -0.01. You could also change
the value by which ghostVal increases when loud = 0, or you can leave that as is so the
sigil is slow to appear but rapidly disappears again in the absence of sufficiently loud input.
• There are no sounds played in this project but you could add some, e.g., a whooshing sound
as the sigil flies off into cyberspace, or thunder after the sigil changes to a starburst. You
could replace the text messages with a voice that says, “launch imminent,” &c.
• Implement a launch countdown that plays between the time when the sigil is 100% visibly
manifested and when it launches into cyberspace.

Project: SigilShooter
• What It Does
• How It Works
• Make It Better
• Credits

Download Project or Preview Online

What It Does

SigilShooter simulates a futuristic gun that is triggered by speaking a magic word. It is sort of
a cross between a shooting gallery, The Terminator, and the Weirding Module from Dune. A
sigil moves back and forth across the screen, slowly coming closer, and when you have it in
your sights you shout aloud a Magic Word that fires an explosive projectile at the sigil.

Although you can interact with SigilShooter while sitting in front of your computer screen and
keyboard, if you are able to, try playing it in full-screen mode on a big-screen television or projected
onto a vertical surface, and standing before the image, speak into a headset microphone. Many
headset mics have mute buttons; use it like safety. Whereas the previous three projects are suited to
long intonations, SigilShooter is better activated by something short and that packs a punch—like a
martial arts kiai!

How It Works

SigilShooter has six sprites:

• Sigil — The Sigil sprite’s sigil costume may be edited as needed, either in the paint
editor or you can create it in another program such as Inkscape and then upload it to Scratch.
When the green flag is clicked, Sigil is sent to the back of the screen and made small to
make it appear far away, then it goes into a loop where it moves side to side and gets a little
larger every time it touches a side, thus appearing to get closer. You can increase or decrease
its horizontal speed by changing the argument in the move () steps block, or make it appear
to move forward more quickly or slowly by editing the change size by () block. When this
sprite receives the message hit from the Bullet sprite, it plays the sound explosion,
changes its costume to sigilExplosion, and stops the loop causing the sprite to move. It
then fades away (using the ghost effect) before broadcasting the message terminated to
the other sprites.
• Bullet — The Bullet sprite is hidden when the project starts playing. When either the
loudness sensor is greater than (>) 90 (indicating you have spoken the Magic Word) or the
space bar is pressed on the keyboard (for testing purposes), the message fire is sent to
start a script that shows the Bullet and moves it up the screen toward the center of the
Reticle while decreasing its size, thus making it appear to shoot off into the distance. At
the same time it plays a laser sound (so is it a bullet or a laser? we are the music makers,
and we are the dreamers of dreams). If the Bullet sprite touches the Sigil sprite, then it
broadcasts the message hit to the other sprites. To prevent another bullet from firing until
the first bullet is done with this action, the Bullet sprite has an active variable that the
when I receive (fire) script checks when it is run. If active = 0 (false, i.e., not active), then
the script sets it to 1 (true), executes the rest of the script, and then restores it to 0 so the
script can run again. While active = 1, the when I receive (fire) script will not run
anything within the if () then block, thus preventing those blocks from being re-run before
they have finished running.
• Gun — This sprite does not really do anything except contain a costume in the foreground to
represent the barrel of a gun for the Bullet to shoot from.
• Reticle — A forever () loop checks to see if Reticle is touching Sigil and if it is, sets the
touchingSigil variable to 1 otherwise sets it to 0 (false). That variable is used by the next
sprite.
• Text — Has four costumes: one that is blank and three that display various texts in response
to certain conditions. If Reticle‘s touchingSigil variable = 1 (true) then Text changes
to a costume that says, “TARGET ACQUIRED.” When Text receives the message hit or
terminated from the Bullet or Sigil sprite, it changes to a costume that says, “TARGET
HIT” or “TARGET TERMINATED,” respectively.
• MarsData — Has seven costumes that simply loop while the project is running. These are
embellishments to serve the Terminator-vision-like æsthetic of the project, and they have
dual purpose: they are derived from the names of the planetary Spirit and Intelligence of
Mars, thus they secondarily establish subtle occult correspondences within the project.

SigilShooter is best played on a large screen or projected onto a large surface; a big-screen
television should do nicely. A wireless headset with microphone, especially one you can mute
until you are ready to say the Magic Word, may also be an advantage. You may need to
calibrate your microphone to make sure that speaking the Magic Word will activate the
SigilShooter gun but ambient noise will not. If the microphone is far away from you while
you are playing the project, you may need to lower the threshold of the loudness sensor in
order to trigger the gun. If you are using a headset mic that is close to your mouth, you will
probably need to set the loudness threshold high in order to keep the sound of your breathing
or talking from prematurely activating the gun.

The Magic Word used to activate SigilShooter‘s ordnance must be divined by the
technomancer herself while invoked of Martial spirit, which may also be invoked before or
while interacting with the project. It should be barked loudly and forcefully. Interaction with
SigilShooter may also benefit from astrological elections, preparing the ritual space with
Martial incense, &c.
Make It Better

• Add variables for the speed and size of the sigil, and allow them to be adjusted with slider
bars. Program a key or button that toggles the sliders’ visibility (show/hide).
• Add a safety that may be toggled by pressing a key on the keyboard or clicking a button on
the screen. When the safety is on, the gun should not fire even if the loudness exceeds the
threshold for activating it. You can use this safety to prevent the gun from firing if you have
things to say aloud (or do other things that make considerable noise) prior to speaking the
Magic Word.
• Use one of the techniques described here to require a power object such as a talisman to be
connected to the computer in order for the gun to be able to fire. Put something on the
screen to indicate when the object has been connected.
• If the interaction is too easy for you, increase the difficulty:
o Make it so you can “lose the game” if you do not hit the sigil within a certain amount
of time or before it grows large enough that it touches the gun barrel. Or make it so
the sigil shoots back or there are other obstacles to make the interaction more
challenging. You could program hit points for yourself and/or the sigil. What would it
mean magically to lose the game? Perhaps you could try again after taking some
time to meditate and focus.
o Limit the number of shots you can fire. If more than one, put something on the
screen to indicate how many shots remain.
o Make a team effort of it, with multiple people shooting the sigil at the same time,
either by having a group share one microphone to activate the loudness sensor, or
having each participant run her own instance of the project and use cloud data to
track the sigil’s hit points.
• Instead of a flat background, use a webcam with a red gel over the lens to capture a live feed
of the physical space you are in, and animate the sigil, gun, bullet, &c., over that as a sort of
augmented reality.

Credits

The sound files are licensed under Creative Commons:

• Laser—
o Attribution
o License
• Explosion—
o Attribution (not required)
o License

Project: HipGnosis
• What It Does
• How It Works
• Make It Better
• Credits
Download Project or Preview Online

What It Does

HipGnosis demonstrates several audio and visual techniques of inducing trance and altered
states of consciousness:

• a 220 bpm click track mixed with the hissing and popping of a record player (for atmosphere)
• a rotating, black-and-white spiral that ultimately results in a motion aftereffect
• subliminal stimuli
• a repeating mantra
• a sigil

How It Works

HipGnosis has five sprites and uses a global variable named hipgnotizing and the message
hipgnotize to communicate and coordinate the sprites’ actions.

• Controller — This sprite displays the instructions at the beginning, waits for you to click
on the screen to begin, then changes the variable hipgnotizing from 0 to 1 and
broadcasts the message hipgnotize to the other sprites. Then Controller plays the
audio file clickTrack for one minute (you may increase or decrease this time by editing the
argument in the wait () seconds block, but n.b. the clickTrack audio is only two minutes long
in total), after which it switches the hipgnotizing variable back to 0, plays the
electricity audio file until it is done, then stops the entire project.
• Sigil — Displays the sigil.
• Mantra — When this sprite receives the hipgnotize message from Controller, it begins
playing two mantra audio files (one 0.3 seconds behind the other) over and again with a one-
second delay between plays. This repeats until the Controller changes the
hipgnotizing variable back to 0.
• Spiral — When this sprite receives the hipgnotize message from Controller, it
rotates slowly until the hipgnotizing variable changes to 0, at which point it hides to
reveal the sigil.
• SubMssg (subliminal message) — Randomly flashes a red image of the Bowl of Hygieia. You
can make the image appear more or less often by editing the second argument in the pick
random (1) to (50) block.

The mantra is XIQUAL INGOZH PHA LA, which is Ouranian-Barbaric for “phenomenizing
trance.” The audio was generated with a text-to-speech synthesizer and a technique used to
make the weird speech of the Black Lodge in Twin Peaks:1 I had the synthesizer pronounce
the mantra backward (ALL OFF ZOGNI LAW-KEYS), and then I reversed the audio in the
Scratch sound editor.

Make It Better

There are countless ways you could change up this project with different sigils, mantras, or
other mind-bending sounds or images. Experiment with various tones and frequencies, colors,
&c.

Credits

The following third-party media were used in making this project:

• “Ouroboros-simple.svg” by AnonMoos
• “Old Record Scratchy/Popping Effect” by ADPhotoshop2
• “Death cup” by kristino0702
• “Decorative elements, border and page rules” by 100ker

1. See this tutorial for more about how to do that.

Project: WindOfChange
• What It Does
• How It Works
• Make It Better
Download Project

This project requires the LEGO WeDo 1.0 USB hub, motor, and motion/distance sensor, although you
can make something similar using any motor and distance sensor, or by replacing the sensor with
some other means of activation.

What It Does

This project is inspired by a dream I had about a cult named (the) Zephyron who wielded
occult power over technological advancement, and who labored in favor of the Singularity.
They were named after Zephyr, the west wind of the Greek Anemoi (Ἄνεμοι), and they
possessed a magical anemometer that measured the speed of technological progress. Their
meetings were recognized by the presence of hyacinth flowers.

To properly operate the enchanted anemometer, ignite some hyacinth incense and take a
moment to center yourself and clear your space, then imagine a technological change you
wish to see in the world. Pay attention first to whatever you see in your mind: what does this
new technology look like, and what do the changes it has on the world look like? Next, notice
what you hear: what does this technology sound like? Are there noises or spoken words
around this technology? Then, pay attention to what you feel: what does this technology feel
like? Where in your body is this feeling located, and how does it move (if it moves)? Ask
yourself: if this feeling had a color, what color would it have? Amplify the color by making it
brighter and allowing it to extend throughout your entire body until your whole being is
suffused with the color and it extends just beyond the boundary of your skin. Begin pushing it
out of the palm of your hand as your reach out toward the anemometer, which begins
spinning, slowly at first and then faster and faster as you continue amplifying and project your
energy at the anemometer, watching it swirl around and propelling the arcane device
onward…1

Video Player
00:00

00:54

How It Works

WindOfChange is an example of a semi-headless project: although you use a keyboard, video


monitor, and mouse to make the program, none of those is required to interact with the project
once you click the green flag to set it in motion.

The enchanted anemometer is made with LEGO and controlled with a WeDo 1.0 motor and
distance sensor. During the ritual, the action of outstretching your hand toward the
anemometer triggers the sensor and activates the motor. Retracting your hand causes the
motor to decelerate until it stops.

The anemometer may be ritually consecrated prior to use.

WindOfChange has but one sprite, Anmmtr with one script and one variable, speed.

Make It Better

• Replace the LEGO anemometer with one made of wood or metal.


• Add ritual music that gains in volume or tempo as the anemometer spins faster.

1. The technique I just described, of inducing trance by focusing on the visual, auditory,
and kinesthetic aspects of a memory or fantasy, and then associating the feeling of that
experience with a color and amplifying or manipulating it, is an application of one of
Philip H. Farber’s Meta-Magick techniques, “Energy Flow Modeling.” See Brain
Magick: Exercises in Meta-Magick and Invocation (Llewellyn, 2011) 49–50.

Project: SigilPen
• What It Does
• How It Works
• Make It Better
Download Project or Preview Online

What It Does

Constructing sigils from magic squares or other ciphers (e.g., the Rose-Cross) is an early form
of generative or algorithmic art. SigilPen automatically generates sigils from words or phrases
such as statements of intent, using the magic squares corresponding to the seven Hellenistic
planets. You may press the number keys 1–7 to change the magic square used to generate the
sigil: 1=Saturn; 2=Jupiter; 3=Mars; 4=Sol; 5=Venus; 6=Mercury; 7=Luna. You can press the
space key to input new text.

Sigils generated with SigilPen may be employed in any project involving sigils, either by
saving the drawing as-is (right-click on the stage and select save picture of stage), or
redrawing the sigil in the Scratch paint editor or other drawing application.

How It Works

There are many ways to go about doing what SigilPen does. The basic steps SigilPen takes to
generate a sigil are:

1. Get the word or phrase to sigilize.


2. Remove all numbers, punctuation, spaces, and duplicate letters from the inputted text.
3. Convert each letter in the remaining text string to a number (stored in a variable named
cipher) according to the scheme:

1 2 3 4 5 6 7 8 9
-----------------
A B C D E F G H I
J K L M N O P Q R
S T U V W X Y Z
4. Move to each pair of Cartesian coordinates corresponding to where each number appears on
the selected planetary square, drawing lines between the points.

Scratch’s pen feature draws the lines. The pairs of coordinates are actually all stored in a
single list (named positions). This is possible because there are exactly nine x positions and
nine y positions for each square, and only seven squares, so the list is constructed thus:

[…]
10. SATURN_X
11. 0 ← the x position of ‘1’ in Saturn’s square
12. 35 ← the x position of ‘2’ in Saturn’s square
13. -35 ← &c.
14. -35
15. 0
16. 35
17. 35
18. -35
19. 0 ← the x position of ‘9’ in Saturn’s square
20. JUPITER_X
21. 53 ← the x position of ‘1’ in Jupiter’s square
22. -18 ← the x position of ‘2’ in Jupiter’s square
23. 18 ← &c.
24. -53
25. -53
26. 18
27. -18
28. 53
29. -53
[…]
110. SATURN_Y
111. -35 ← the y position of ‘1’ in Saturn’s square
112. 35 ← the y position of ‘2’ in Saturn’s square
113. 0 ← &c.
114. 35
115. 0
116. -35
117. 0
118. -35
119. 35
120. JUPITER_Y
121. 53 ← the y position of ‘1’ in Jupiter’s square
122. -53 ← the y position of ‘2’ in Jupiter’s square
123. -53 ← &c.
124. 53
125. -18
126. 18
127. 18
128. -18
129. 18
[…]

The x position for any number 1–9 of any magic square may be found by multiplying the
number of the planet times 10 and adding the number, and the y position can be found by
adding 100 to that sum. E.g., to find the location of number 4 in the square of Jupiter:
1. Multiply the number of the planet Jupiter, 2, times 10, and add 4: 24 is the item number in
the positions list where the x coordinate is stored.
2. Add 100 to 24: 124 is the item number in the positions list where the y coordinate is
stored.
3. The screen location of the number 4 in the square of Jupiter is: −53, 53.

It may sound convoluted but it lets us go to any position within any square by using just one
block:

(Since the planet variable does not change within the scope of the repeat () loop, it would
actually be slightly more efficient to calculate planet * 10 and planet * 10 + 100 just before
executing the loop, but it would require two new variables to store the results in.)

SigilPen stamps a circle costume in the square where the sigil begins, and a short line
costume in the square where it ends. The custom block point toward x: () y: () (source)
orients SigilPen in relation to the penultimate vertex in the sigil, in order to draw the short
terminal line perpendicular to the final line drawn in the sigil.

Make It Better

• You can save the current drawing by right-clicking on the stage and selecting save picture of
stage. Edit the project so you may select a blank background before saving the drawing.
• Add controls that allow you to change the pen color (hint).
• SigilPen includes a numberFreq list that tracks how many times a given square is used as
a vertex. E.g., if a sigil includes both letters ‘A’ and ‘J’, the number ‘1’ square is used twice.
Can you edit SigilPen to draw something unique in squares that are hit more than once?
N.b., since duplicate letters are removed from the input text, the maximum number of times
any square can be a vertex is three (for number 9, the max is two).
• You can use the glide () secs to x: () y: () block to slow down the sigil drawing animation to
appear more uncanny.

Divining with Computers


• Cleromancy
o Selection, Variety, & Randomness
o Pseudorandomness
• Dowsing
• Scrying
• Dreaming

The art of divination presents us with puzzling problems which I make no pretense to solve. A
certain amount of communication goes on between diviners and non-human powers (whether
living or otherwise or both). It is difficult to know exactly what this is: it might involve the
diviner’s extra-sensory ability, it may involve spiritual agents, it might be telepathy, it might
be sharpened human perception, or a combination of these possibilities.
—John Mbiti, African Religions and Philosophy

There are many forms of magical divination, but they all have one thing in common:
supplementing conscious selection with unconscious selection or variety. Some magicians
attribute the latter to spiritual agents (deities, angels, fairies, dæmons, ghosts, &c.), whereas
others to the unconscious mind of the diviner herself.
Computers and computational media may be employed as sources or amplifiers of variety,
e.g.:

• Sortilege methods where the computer pseudo/randomly selects or assists in the selection of
one or more elements such as rune stones, Tarot cards, pages of a book, web pages, audio
samples, &c.
• Scrying methods where the magician gazes into computer-generated imagery (or other
media) until she sees (or hears, feels, &c.) a response to her query
• Computational fetishes that inform or inspire the magician with dreams or visions
appropriate to her query

A computer could even simply provide a drum beat or other trance-inducing signal for the
magician to spirit-journey or hedge-cross to.

People who believe that Tarot cards (e.g.) are intrinsically a more appropriate tool for magic
than software created for the same purpose fail to understand either sorcery or technology. It
is perfectly fine to prefer Tarot cards over software or computers, but Tarot cards are not the
only means of divination by sortilege, and they were utilized because they were accessible,
not because they were uniquely qualified for occult arts. Cultures that did not possess or
recognize a means for producing picture cards created divination tools out of sticks, stones, or
other media; or they observed the flights of birds, &c. The deck of cards as a medium is not
what is fundamental, nor is any particular symbol set drawn on the cards (as the variety of
decks attests). What matters is that there exist a source of randomness and a special and non-
trivial correspondence between that source and the interpreter such that the variety of states in
the source maps to a variety of meaningful signs in the interpreter.
Randomly or chaotically generated variation is sometimes used in generative art, much of
which is made with computers because of their ability to generate and manipulate such data
and map them to varieties of representations and interactions. Computers can also generate
random data for electronic games (games and chance are old friends). The techniques to
generate variety in computational art or games are interchangeable with those used in
computer-based sortilege applications, and the realization of that opens a new world of
oracular design possibilities from mobile applications to gallery installations. In the same way
that a cup of dice or deck or cards can be used for playing games as well as portending events,
the technology that allows us to play with computers also invites us to divine with them, and
to create novel modes of divinatory play and playful divination.

Cleromancy

Computers are especially well suited to sortilege methods like casting lots. The technical term
for casting lots as divination is cleromancy, and it has been practiced from antiquity to the
present. Some other forms of divination, such as cartomancy (i.e., divination with Tarot or
playing cards), are quite like cleromancy: both involve interpreting a chance assortment of
non-trivial symbols arranged by a mechanism beyond the magician’s conscious control (e.g.,
shuffling). The word sortilege, like sorcery, grows from the Latin sors, or “sort”—also “lot”
or “fate” (the lots that were cast in Roman divination were called sortes)—suggesting
divination is a means of sorting out (i.e., resolving) a situation, and a sorcerer is a person who
takes control of her fate by sorting (i.e., re/arranging) things properly, either according to
some cosmic design, or in harmony with the chaos underlying the drift of things.

Selection, Variety, & Randomness

In connection with art […] we shall indicate two aspects of chance, one where the origin of
images is unknown because it lies in deeper-than-conscious levels of the mind, and the second
where images derive from mechanical processes not under the artist’s control. Both of these
processes have in common a lack of conscious design.

There is no absolute chance or random event, for chance and randomness are aspects of the
way in which we structure our universe.
—George Brecht, Chance Imagery

W. Ross Ashby defined intelligence as “appropriate selection,” and its complement is variety:
given a problem to solve, select the appropriate solution from the variety of available
solutions.1 All tests of intelligence can be understood as requiring an appropriate selection
from many possible selections. A selection’s appropriateness depends on the selector’s end
goal (or multiple, competing end goals, which may be determined in part or whole by
someone else, such as when someone designs an intelligence test for another person and
defines the criteria for passing the test), and may not be the selection that is obvious to
someone else.

When the selector does not possess enough variety from which to make an appropriate
selection, it can add supplemental variety. E.g., if I am experiencing physical illness but I do
not have enough knowledge to diagnose myself, I may consult my physician who has spent
years acquiring information and instruments to have (I hope) ample variety from which to
make the appropriate selection, i.e., the correct diagnosis. One way to supplement selection
(i.e., amplify intelligence) is to add random variety to the system. Indeed, in explaining the
supplementation of selection, Ashby gives classical examples of divination: “The Roman
general, for instance, after having made many decisions, would often leave the remainder to
be determined by some other factor such as the flight of the next flock of birds, or the
configurations shown in the entrails of a freshly-killed sheep.”2

People today sometimes flip a coin to decide matters they cannot decide for themselves. The
coin’s advantage is that it is simple and unambiguous: it is either “heads” or “tails.” Its
disadvantage is that it is only heads or tails; it has only two states (ignoring any indeterminate
states such as if it lands on its edge). In other words, it has very low variety. Thus, the
problems that can be solved by a coin toss must be reducible to two outcomes. By
comparison, using only the 22 Major Arcana of a typical Tarot deck, a simple, three-card deal
yields 9,240 possible permutations, or 73,920 if reversals are allowed (i.e., a card has a
different meaning when it appears reversed or upside-down).3 However, the ambiguity of the
cards’ symbols and their complexity in relation to each other can make them much more
difficult to interpret—to make an appropriate selection from.

Pseudorandomness

The state of a coin is randomized by flipping it, a die by rolling it, a deck of cards by shuffling
it, &c. The randomization process is a combination of physical dynamics between each token
and its environment: neighboring tokens, the surface of a table, the hands manipulating the
tokens, &c. The outputs of flipping, rolling, and shuffling have some things in common:

• They are unpredictable, i.e., they do not repeat with any regularity (which would allow them
to be predicted).
• They are not dependent on previous output. If I roll a ‘4’ on a die, that in no way determines
the next value I roll with the same die.
• They are uniformly distributed, which means that any member of the set of possible values
has an equal probability of occurring as any other member of the set. On a six-sided die, each
of the values (1 through 6) has an equal probability of occurring. This changes if the die is
“loaded,” i.e., weighted so as to tend to fall in a particular way.

Special electronic circuits called hardware random number generators or true random number
generators (TRNGs) produce random data from measuring or sampling physically random
systems such as atmospheric noise (noise is noise because it is random or entropic), thermal
noise in a resistor, or radioactive decay. Psi experiments such as those conducted by Princeton
Engineering Anomalies Research (PEAR) employ TRNGs (PEAR calls them REGs: random
event generators) to test whether people can intentionally influence the devices’ output.

By comparison, computer software can only generate pseudorandom data, which are not
actually random at all. Though they are difficult for an ordinary person to predict, if you know
the algorithm and the seed, you can perfectly predict the data in a pseudorandom sequence,
which is why pseudorandom number generators (PRNGs) are not acceptable for, say,
professional electronic gambling systems or strong cryptography: they are too easy to cheat or
break. Instead, electronic gambling and cryptographic systems use TRNGs.4 PRNGs are also
ill suited for psi tests of intentional influence, because at any moment the PRNG’s current
state determines its subsequent state regardless of what anyone thinks or wills it to do.

A question we must then consider is: when a divination system is randomized, what is really
happening to make the system’s output correspond uncannily to the query being asked of it?
Are occult forces manipulating the tokens’ physical dynamics? Or does the reader possess
some unconscious ability to select the appropriate tokens or know what state the system is
going to be in before it has transitioned to that state? Perhaps humans just find (even
profound) meaning in any jumbled arrangement of symbols when we look hard enough.
Reflecting on the ESP research of J. B. Rhine, Carl Jung developed his theory of
synchronicity, which he called, “an acausal connecting principle.” Jung recognized a
possibility for meaningful but unpredictable coincidences to emerge from the largely hidden
(occult) dynamics of psychic activity.

Technomancy 101 features several projects that use pseudorandom data in different ways.
ZenerTest uses Scratch’s built-in pick random () to () block to generate a pseudorandom
number between 1 and 5 corresponding to one of the five symbols in a Zener card deck.
Oraskul and Autouija do similarly in order to select one of 20 possible answers copied from a
Magic 8-Ball. The Thebanet project attempts to get around the problem of pseudorandomness
by having you select which tokens to read after they have been pseudorandomly resequenced.
It is like shuffling a deck of cards or shaking up a bag of rune-stones and then picking a card
or stone from the concealed set. The computer does not select for you; it merely re-orders the
set of things you select from so that you cannot consciously bias your choice. Another method
that may be employed is to rapidly cycle through a set of tokens (either in series or
pseudorandomly; e.g., by using the next costume block) the diviner cannot see while they
perform some gesture to end the cycling and present whichever token is present at that
moment. You can see this technique at work in the AppleOfDiscord project.

Access to truly random data are possible using experimental extensions (there does not exist
one at the time of publication, so you would need to make your own), but beware: many
things that appear to be truly random are not (there are rigorous mathematical tests of true
randomness). Perhaps the more important question is: are they random enough for magical
divination?

Dowsing

Some divination techniques rely (ostensibly) on ideomotor phenomena: dowsing, using a


pendulum, consulting a talking board, &c. Projects such as Autouija simulate these but
actually rely on something more akin to sortilege, however using a touch screen it is possible
to design interactions similar to an actual talking board.

Scrying

Scrying involves gazing at an object as a means of trance induction anticipating mental


images formed in the mind’s eye (daydreaming), or seeing images in the object itself
(apophenia). Computer-generated images, especially ones involving algorithms that simulate
natural (i.e., not man-made) phenomena, can be applied to such purposes.5 Although Scratch’s
graphical capabilities are limited, you can do some interesting things by importing images
generated outside of Scratch, as the Scrycloud project demonstrates.

Dreaming

Do technomancers dream of electric sheep entrails?

The use of charms, amulets, and other fetishes to induce divinatory dreams or visions may
extend to computational media that are programmed to act at certain times or react to certain
events such as the technomancer’s rapid eye movement (REM) sleep (cf. lucid dreaming
masks).

1. W. Ross Ashby, An Introduction to Cybernetics (Chapman & Hall, 1956) 271–272.


You can read a legitimately free (not-for-profit) copy here.
2. Ibid., 259.
3. Without reversals, there are 22 possibilities for the first card drawn, 21 for the second,
and 20 for the third; 22 × 21 × 20 = 9,240. With reversals, each draw effectively has
two possible states (upright or reversed); 21 × 22 × 23 = 8; 9,240 × 8 = 73,920. Or you
could look at it as (22 × 2) × (21 × 2) × (20 × 2) = 73,920, which is not the same as
simply doubling the original number of cards and then going 44 × 43 × 42, because
each draw removes two future possibilities; e.g., if you draw Death either way, you
cannot also draw Death the other way in the same spread.
4. Sometimes, the TRNGs are used to seed PRNGs. A seed is the value a pseudorandom
number generating algorithm begins with, and restarting the algorithm with the same
seed produces the same sequence of pseudorandom numbers, which can be useful in
music and art when you want to generate something unpredictable but that is also
repeatable at some time in the future.
5. Also, a blank computer screen can make a fine scrying mirror.

Project: ZenerTest
• What It Does
• How It Works
• Make It Better
• Credits

Download Project or Preview Online


What It Does

ZenerTest tests your psychic ability by simulating a Zener card deck. It presents you with the
back of a virtual card, and after guessing whether the symbol on the card is a circle, cross,
wavy lines, a square, or star, you click the corresponding symbol beneath the card and the
actual symbol is revealed to you. If you guess correctly, the revealed symbol is colored green
and your score increases by one point; otherwise the symbol is shown red and your score is
not increased. A couple of seconds after the card is revealed, a new card is selected for you to
guess again. At any time, you may press the ‘S’ key on your keyboard to see your score (in
terms of ‘hits’ and total number of ‘trials’); press the same key again to hide it.

How It Works

ZenerTest has two sprites: Card and Button. The Card sprite represents one of the five
symbols a Zener deck can produce, and has a green and red costume for each of the five
symbols, and one blue costume with no symbol to simulate the back of a card. The Button
sprite creates a row of buttons representing the five possible card symbols, which the player
can click to indicate which symbol she thinks is on the card. It possesses two costumes for
each symbol, one dim and one bright; the bright costume shows when hovering the mouse-
pointer over the button.

When the green flag is clicked to begin running the project, the Button sprite creates five
clones of itself and assigns each a number 1 through 5, held in the buttonVal variable. As
each clone is created, its buttonVal value determines where it is placed horizontally and also
its costume. So, e.g., the first clone has a buttonVal of 1 so it is placed at x position -210 +
(70 * 1), and it shows costume 1. The second clone has a value of 2 so it is placed at x
position -210 + (70 * 2), and it shows costume 2. &c. To make each button display when
the mouse-pointer hovers over it, I use a forever block to see if the button is touching the
mouse-pointer and if it is then switch to costume buttonVal + 5, because the bright
costumes are numbered 6 through 10. The pause variable is used to keep the player from
highlighting or clicking other buttons during the two seconds a card’s value is revealed.

When the Button sprite is clicked, the script checks to see if pause is false (i.e., 0, meaning
not paused), and if it is then:

• set pause to 1 (true)


• check to see if the buttonVal for the Button clone clicked matches the current cardVal
of the Card sprite
• if there is a match, set the match variable to 1 (true) and increase hits by 1
• if there is not a match, just set match to 0 (false)
• change trials by 1
• broadcast the revealCard message, which tells the Card sprite to reveal the actual value
of the card

When the green flag is clicked to begin running the project, the Button sprite broadcasts a
getNewCard message after creating all the clones (i.e., buttons), which tells the Card sprite to
switch to costume 11 (the blank card) and set the variable cardVal to a random number
between 1 and 5, which corresponds to one of the five symbols the card could have. Note that
this number is chosen before the sorcerer guesses the card’s value. When a button is clicked
thus broadcasting a revealCard message, the Card sprite checks to see if match = 1 (true),
and if it does then it switches to the costume corresponding to the cardVal number (the green
card costumes are numbered 1 through 5), otherwise it switches to the costume numbered
cardVal + 5 (the red card costumes are numbered 6 through 10). The Card sprite waits two
seconds after revealing the card, then resets pause to 0 and broadcasts the getNewCard
message telling itself to draw a new card.

Make It Better

• Reduce the number of costumes. Good computer programmers usually try to do things in the
most efficient way possible. This comes from the days when computers had much fewer
resources than they do today, and programmers were required to be clever in order to fit the
most functionality into such constrained systems. While Scratch is more forgiving than earlier
programming languages, its leniency allows you to do things in (sometimes horribly)
inefficient ways, and it is good practice to always be thinking about whether there is a
smarter way to do what you need done. E.g., instead of having five green cards costumes and
five red card costumes for the Card sprite, you could have only the green ones and use the
set (color) effect to () block to change the tint of a green costume to red (or a red one to
green, or a blue one to red or green). Likewise, instead of having dim and bright costumes for
the Button sprite, you could have just a set of one or the other and use set (brightness)
effect to () to change the brightness when hovering over a button (or not).
• Technically, ZenerTest does not precisely simulate a deck of cards. With an actual deck of,
say, 25 cards, five for each symbol, a star (e.g.) could only appear five times before you
would need to shuffle the deck for a star to appear again (assuming you are discarding each
card after it is read). The ZenerTest project randomly selects one of the five symbols, and
then randomly selects another that is in no way contingent on which symbols came before it
(except in the way that all pseudorandom number generating algorithms are), &c. There is no
finite set of cards to draw from, so a star could appear more or less than five times within a
range of 25 trials. If you wish to simulate an actual deck, you could modify the project to
shuffle a list of fives sets of variables ranging 1 through 5. The Thebanet project
demonstrates a shuffling algorithm.

Credits

The Zener card symbols used in this project were adapted from “Cartas Zener.svg” by
multiple authors.

Project: Thebanet
• What It Does
• How It Works
• Make It Better
Download Project or Preview Online

What It Does

Thebanet is a divination tool based on The Theban Oracle by Greg Jenkins. It is an example
of how you can use Scratch to implement divination systems you have encountered in books
or designed yourself.

Thebanet has 24 glyph tokens (letters of the Theban alphabet) + 1 blank “mystery” token,
represented as nodes in a network. A network can have 1, 3, 6, or 9 nodes, and each node’s
position in the network changes that node’s meaning (just like a Tarot card’s position in, say,
a Celtic Cross spread qualifies the card’s inherent meaning). Instead of having the computer
choose the tokens for you, it randomizes their order and then you select from among the set
without consciously knowing what each token is (this is like drawing one or more rune-stones
from a bag of mixed stones, or one or more Tarot cards from a shuffled deck). There are
various options you can toggle on or off to help you select and read the tokens.

How It Works

The basic flow of interaction with Thebanet goes like this:

1. Choose your network size: 1, 3, 6, or 9 nodes.


2. Thebanet randomizes the 25 tokens (using a Fisher-Yates algorithm) and presents them as a
5 × 5 grid for you to select the chosen number of tokens from. You have the option of
viewing a magic square of Mercury to concentrate on prior to selecting your tokens.1
3. When you have selected the chosen number of tokens, Thebanet arranges them as
hexagonal tiles. You may click any token to view a brief description of its meaning (expanded
descriptions are given in Jenkins’s book). You can toggle an overlay that shows the number of
each token’s position, or you may toggle a help screen that shows the meaning of each
numbered position.
Thebanet has ten sprites—the most of any divination project in Technomancy 101.

• NtwrkBttn — Used to select the network size. When the project starts, this sprite creates
four clones of itself, each having a different costume, and then waits for you to click one of
them. Each clone has a different value 1–4, stored in the buttonNum variable; when one of
the buttons is clicked, the layout variable, which determines the size of the network, is
updated to the clicked button’s buttonNum. Finally, the sprite deletes all clones and
broadcasts the message drawGrid to activate the Grid sprite.
• Grid — This sprite randomizes a list of numbers (named randList) from 1 to 25
corresponding to the 25 different Theban tokens, then it draws a 5 × 5 grid of buttons with
each button assigned one of the randomized numbers (stored in the variable, cloneVal).
When you click a button its cloneVal value is saved to the selectedNodes list; also, its
costume changes from a blue square to a green square, indicating that square has been
selected. Each time a grid button is selected, the variable seleCount increments by one,
and when the count reaches the number of nodes in the chosen network size (1, 3, 6, or 9),
the sprite broadcasts the message buildNodePosList to activate the Node sprite, and
then broadcasts the message eraseGrid to itself to delete all 25 grid squares.
• KameaBttn — This sprite is only shown when the Grid sprite is active, and is used to
activate the Kamea sprite.
• Kamea — Displays the magic square of Mercury (as a costume). When the KameaBttn is
clicked, that sprite broadcasts the message showKamea, which when received by the Kamea
sprite, causes the latter to show.
• Node — Draws the network nodes, i.e, Theban tokens. The number of nodes to draw and
their arrangement is determined by the selected network size set earlier in the layout
variable. Which nodes are drawn and the order in which they are drawn are determined by
the selecteNodes list that was built when you selected the squares from the grid. This
sprite has two costumes for each possible node: a dim one and a bright one. The bright one
displays whenever the mouse cursor is touching the node, thus the node appears to be
highlighted. The value of each node (from selectList) is stored in the node’s local
variable, nodeVal. When a node is clicked, the global variable nodeIndex is set to the
clicked node’s nodeVal, and then the message showMeaning is broadcast to activate the
Meaning sprite. If the mouse pointer is then moved away from the node, the sprite
broadcasts the message hideMeaning telling the Meaning sprite to hide.
• Meaning — Shows a brief text description of a selected node’s meaning. This sprite simply
shows when it receives the showMeaning message, and hides when it receives the
hideMeaning message.
• OvrlyBttn — Sends a message to the Overlay sprite telling the latter to turn on or off. The
OvrlyBttn sprite does not show until the stage’s backdrop = 4, which is the backdrop
displayed when the Node sprite has drawn all of the nodes.
• Overlay — Displays a diagram laid over the network, showing the number of each
placement within the network. Like a Tarot card spread, the placement of each token within
the scheme modifies that token’s meaning. The numbers within the network mean different
things depending on the network’s size. If you are not sure what a number means, you can
activate the Help sprite.
• HelpButton — Sends a message to the Help sprite telling it to turn on or off. The
HelpButton sprite is only visible and clickable when the Overlay sprite is showing.
• Help — Displays a help screen that briefly describes the meaning of each node placement
within the network.

Make It Better

• Allow for token reversals, perhaps represented by red tokens.


• The Node sprite has 50 costumes, half of which are just brighter version of the other 25, to
highlight a token when hovering over it with your mouse pointer. The same thing could be
accomplished by keeping only the 25 brighter costumes and using Scratch’s set (brightness)
effect to () or change (brightness) effect by () to dim the tokens a little when not selected.
Adding red tokens for reversals as suggested above would expand the total number of
costumes to 100, but could be accomplished with just the same 25 costumes and using a
combination of the brightness and color effects (you would need to experiment a little to
find the best values for dimming the tokens or changing them from blue to red).
• Add the ability to de-select a square in the selection grid.

1. For more about using the square of Mercury in this context, see Paul Huson’s
Mastering Witchcraft.

Project: Oraskul
• What It Does
• How It Works
• Make It Better
• Credits

Download Project or Preview Online

What It Does

Legend tells of a technomancy adept so devoutly reverent of the Spirit that he acquired (or
was gifted) an uncanny precognitive ability. Upon his death (which he was ironically unable
to escape), his fellows arranged to have his head cybernetically preserved, melding his mind
with machine. Sophisticated though the machine was, it could not adapt to the subtle varieties
and various subtleties of the adept’s soul, and while the hybrid retained his miraculous power
to see into the future, his responses became constrained by the computer’s binary logic. There
are, however, occasionally hints that the oracle still dreams of things beautiful and
wondrous…

Oraskul simulates a computer-terminal connection to the oracle so that he may be queried and
consulted about future events. Magically, it is inspired by oracular heads throughout history.
Æsthetically, it is inspired by the servo-skulls of Warhammer 40,000. Effectively, it is a
glorified Magic 8-Ball, and like the 8-Ball, Oraskul can reply only to yes-no questions.

When you start Oraskul a series of initialization messages prints (that do nothing more than
create the illusion that something more is happening), then you are prompted to input your
query. When you submit your query, Oraskul “thinks” for a moment and then replies with his
answer in text and voice.

Due to its deterministic pseudorandomness, Oraskul‘s value as a genuine oracle is limited.


The project is intended primarily to demonstrate creativity. The narrative of the Tech-Adept
shrouds the oracle’s functionality in myth and mystery, but it could be any narrative.
Oraskul‘s responses are copied from the Magic 8-Ball’s, but they could be any responses (not
only yes/maybe/no), and there could be any number of them. Oraskul‘s audio samples lend
the oracle a voice, but they could be any audio samples. Indeed, you could make an oracle
that responds only in sounds (or to sounds, instead of keyboard input), and not only spoken
words but any sounds you may infer divinatory meanings from.

How It Works

Oraskul has only one sprite, but it has nine scripts, 70 costumes, and 21 sounds. The scripts
are all event-driven to make them modular; each can be called as needed from other scripts.
The image of the robotic skull belongs to the stage as its only backdrop; the stage has no
scripts or sounds.

Several of the scripts have to do with printing text to the screen. There are several ways to do
that in Scratch. Say you want to display the word, “ABRACADABRA”…

1. You could make a costume of the word “ABRACADABRA” and show it. This is how text is
displayed in, e.g., the Thebanet project. You can either draw the text in Scratch’s paint editor
using the text tool, but there you are limited to Scratch’s built-in fonts; or you draw it outside
of Scratch and then import it. The biggest shortcoming of this method is that you need a
costume for every unique set of text you want to display. Let us say you want to use Scratch’s
username block to print the user’s name on the screen; you would need to make a costume
for every possible username! Clearly, that will not do.
2. You can print variable text to the screen using Scratch’s say () or think () block, e.g., say
(username) or think (ABRACADABRA). The problem with these methods is they look
cartoonish and you have little control over how they appear.
3. You can save the text in a variable or list and then show the variable or list on screen, like
viewing your score in the ZenerTest project. As with the say () and think () blocks, you have
little control over how variables and lists appear on screen; they are always orange boxes
with blocky, white text.
4. Use one of the Scratch modifications that includes blocks for printing text to the screen, e.g.,
Scribble.
5. Make your own text printing system. You would need a costume for each character you
might want to print, and then draw each letter on the screen individually. E.g., to print the
word, “ABRACADABRA,” you would need one costume each of ‘A’, ‘B’, ‘C’, ‘D’, and ‘R’, then
for each letter in the word, you would switch to the costume matching that letter, stamp it,
and then move however many steps are needed to print the next character. This requires a
considerable amount of work at the beginning because you need to make a costume for each
letter, number, and punctuation mark you might print, and if you want to use uppercase and
lowercase letters then you need to make two costumes for every letter. This method works
better with monospaced fonts because the characters widths are always the same, so the
number of pixels to move between one character and the next remains constant.

Although Oraskul only has 20 unique responses and so I could have just made a costume for
each response, I chose the last method so I could emulate an old computer terminal printing
text one character at a time. I made a complete alphabet of ASCII characters in a monospaced
font—70 costumes in toto including a cursor block.

When you click the green flag to start Oraskul, the first script initializes several variables
related to printing text; then broadcasts the message clearText and waits for the script for
that event to finish; then broadcasts playintro and waits for that event’s script to finish; and
then goes into a forever loop of broadcasting the message askForQuery and waiting for its
script to finish before broadcasting the same message again.

Before I explain more about the scripts, let me explain some of the variables. START_X and
START_Y are technically variables in Scratch, but I treat them as constants (so I typed them in
ALL_CAPS instead of startX and startY), which just means that once they are set, they do
not change while the project is running. They hold the starting x and y coordinates of the
cursor for any printing to the screen. By making these variables, if I want to change where on
the screen printing begins, I do not need to search through all of the scripts for every place
where the sprite moves to that position; I can simply change it in one place in the when green
flag clicked script. Ditto for SPACING_H and SPACING_V, which hold the the number of pixels
between horizontal and vertical lines of text, respectively. newLineY (which actually behaves
as a true variable) specifies the new y coordinate every time a new line of text is added.
printing is a Boolean variable that is set to 1 when text is being printed to the screen, and 0
when that is not happening; it allows me to prevent certain things from occurring while text is
being printed. phrase holds the string of text to be printed on the current line.
divinationNum is randomly generated every time a new query is asked; it corresponds to the
various possible divination messages kept in the list named divinations, as well as to the
names of the corresponding sound files (e.g., when divinationNum = 5, Oraskul displays the
fifth item from the divinations list, and plays the corresponding sound file that is named
div5—both the text and the sound file say, “You may rely on it”). The i, j, and k variables
are indices for various loops.

The clearText script calls the clear block to erase any text that has been drawn to the screen
before switching the sprite’s costume to cursor and moving the sprite to the starting x and y
positions for printing text.

The playIntro script prints out every line from the list named introText. It calls both the
printText and newLine scripts. The printText script prints whatever text string is recorded
in the variable phrase, which it does by looping through each character in the string,
changing from the costume cursor to the costume named for the current character (e.g., the
costume for the character ‘A’ is named A, and the costume for character ‘.’ — period — is
named .), stamping the costume on the screen, then changing back to costume cursor and
moving to the right by the number of steps recorded in SPACING_H. After printing all the
characters in phrase, the printText script calls the blinkCursor script, which switches
between the cursor costume and the costume for the space character (‘ ‘), thus creating the
appearance of a blinking cursor at the end of the line. The newLine script subtracts the value
in SPACING_V from newLineY (we use subtraction here because the sprite is moving down the
screen as new lines are added, so the y coordinate value decreases, or increases in a negative
direction) and stores the difference in the newLineY variable, then moves the sprite to the
position at START_X (the starting x position of every line) and newlineY (the new y position).

When playIntro finishes, Oraskul resumes the when green flag clicked script, with the
forever block around broadcast (askForQuery) and wait. The askForQuery script prints the
text, ‘WHAT IS YOUR QUERY?’, and plays the corresponding sound file (named query),
then prompts you to type in your question. If your response (which is stored in a special
Scratch variable named answer) equals anything other than the word ‘butterfly’ (which I will
explain in a moment), Oraskul calls the divineFuture script, which is the main feature of
this project. Oraskul randomly selects a reply to your question by generating a random
number between 1 and the length of the divinations list (so, if the list contains 20 possible
messages, the random number is between 1 and 20), then printing the message text and
playing the corresponding sound file. The reason for using the join () () block within the play
sound () block is to demonstrate a way of indexing sounds or costume files that is different
from how we indexed files in earlier projects. Recall that in ZenerTest, costume 1 was also
named 1, costume 2 was named 2, &c. In Oraskul, the first sound file is named query, not 1,
so play sound (1) would actually play the file query instead of the file corresponding to the
first divination message, which is the second sound file, i.e., sound 2. By naming sound 2
div1, and then joining the string ‘div’ with the randomly generated divination number, the
play sound () block plays the file named div1 (or div2, div3, &c.) instead of playing the file
numbered 1 (or 2, 3, &c.). This would be especially useful if, say, in addition to giving
random divinations, Oraskul could sing random songs: you could name the sound files for the
songs song1, song2, &c., and then play a random song with play sound (join (song)
(someRandomNumber)). You would not need to care about the order of the sound files on the
Sounds tab in Scratch.

If you input ‘butterfly’ when prompted for your query, you will see a glimpse of Oraskul‘s
dream. Oraskul calls the drawArt script instead of divineFuture, which prints the contents
of the asciiArt list. (I am explaining this to you so you understand how the project works,
but this sort of thing would do well as a surprise or Easter egg.)

Make It Better

• It is very easy to change the things that Oraskul says, by editing the lists introText,
divinations, or asciiArt. Remember that if you change divinations, the
corresponding audio file(s) will no longer correspond, so you would need to change those
too, or…
• Use the Scratch Text-to-Speech experimental extension to speak Oraskul’s replies.
• Try programming more complex dialogue interactions using techniques featured in text
adventure games or ELIZA.
• Notice how similar the playIntro, divineFuture, and drawArt scripts are. Can you
make one script that does everything that is redundant across those three?
• The project must be stopped manually by clicking the red stop sign. Add something that
allows you to communicate your intention to leave, e.g., a script that responds to you typing
‘goodbye’ at the ‘What is your query?’ prompt. Include an appropriate response from
Oraskul before calling the stop (all) block. Additionally or alternatively, program Oraskul to
randomly “hang up” on you.
• Add a way to mute or change the audio volume from within the project while it is running.

Credits

The backdrop image is “Skull of a human size robot” by svedoliver.

The ASCII butterfly was designed by Jonathon R. Oglesbee a.k.a. JRO.

Project: Scrycloud
• What It Does
• How It Works
• Make It Better
• Credits

Download Project or Preview Online

What It Does

Scrycloud presents an image of shifting difference clouds for you to gaze into for divining
with pareidolia and liminal imagery. There is the usual sigil, which you can change the
brightness of, and an ambient music track that plays in the background. While the project is
running you may press the space bar to view or hide the controls for sigil brightness, delay,
and music volume.
How It Works

The cloud morphing effect is achieved by three sprites (Cloud1, Cloud2, and Cloud3) each
having seven costumes depicting different arrays of solid noise, and cycling through them
while applying Scratch’s ghost effect. The cloud costumes were made in GIMP (Filters →
Render → Clouds → Difference Clouds…), with white turned transparent (Colors → Color to
Alpha…) so the sprites’ active costumes are layered over each other semi-transparently.

Each cloud sprite has its own counter variable that controls the oscillation of the ghost effect.
By having each sprite initialize with different counter and ghost effect values, the costumes
are not all ghosting, reappearing, and switching the same way at the same time; the
differences produce images of varying complexity that do not frequently repeat.

Scrycloud‘s control interface is managed by the stage, which has four variables:

• ghostFxDelay — slows down the transformations (range: 0.0 to 1.0)


• musicVolume — controls the volume of the background music (no surprise there)
• showControls — toggles whether or not the control sliders display
• sigilBrightness — controls the brightness of the sigil backdrop (the whiter the sigil,
the more visible it appears)

The stage has one backdrop, sigil, and one sound track, music, which plays automatically.
The ghostFxDelay value is a decimal between 0.0 and 1.0 that determines how many seconds
(0.5 = half a second) Scratch waits before applying each increment or decrement of the ghost
effect.
Make It Better

• The sigil is really just present so you can experiment with liminal imagery, although having a
real one of your own making may assist the divinatory process. Feel free to experiment with
various images, colors, effects, and music.
• Most of Scratch’s effects range from 0 to 100. Change the ghostFxDelay slider to show in a
range of 0 to 100 without changing the actual range of 0.0 to 1.0 (hint: you will need to
mathematically convert 0…100 to 0.0…1.0).

Credits

The music track is “Beneath the Lights and Salts” by Century of Aeroplanes.

Project: Autouija
• What It Does
• How It Works
• Make It Better
• Credits

Download Project or Preview Online

What It Does

Autouija is an automatic Ouija board.1 When you input your query, Autoija’s planchette
moves around the board to spell out the answer. Instead of inputting a query you may type
“goodbye” to end the session. Like Oraskul, Autouija‘s responses include all those of a Magic
8-Ball, plus a few surprises. Autouija has a button that allows you to play the melody from
“Tubular Bells” (a nod to The Exorcist, which features a Oujia board).
How It Works

Most of Autouija‘s work is done by the Planchette sprite, which uses several lists:

• cList — the capital letters A–Z, a space character, and the numbers 1–0
• pList — all of Autouija‘s response phrases, e.g., “IT IS CERTAIN,” “VERY DOUBTFUL,” &c.
• partings — all the phrases a player may type to indicate her desire to end the session
(“bye,” “goodbye,” “exit,” “quit,” &c.)
• xList — the x (horizontal) positions of the letters and numbers on the board
• yList — the y (vertical) positions of the letters and numbers

When you input your query, Autouija first checks to see if the word or phrase (called a string
in computer parlance) you typed is contained within the partings list; if it is, then Autouija
broadcasts the sayBye message which activates a script to make the planchette glide to
position x:-77, y:-95 and then to x:83, y: -95, so covering the GOODBYE text on the board.
Otherwise, Autouija generates a random number between 1 and 12 (stored in the variable
sayWhat):

• If the number is between 1 and 7, Autouija responds with one of the phrases in pList;
• If the number is 8 or 9, Autouija responds YES;
• If the number is 10 or 11, Autouia responds NO;
• If the number is 12, Autouija responds GOODBYE (effectively, it hangs up on you).

To spell out a string from pList, Autouija first randomly selects which string to spell out,
then it loops through the string from beginning to end one character at a time, looks up the
character in cList to get its item number (i.e., index value), then looks up the xList and
yList values corresponding to that item number. E.g., to spell out “YOU MAY RELAY ON
IT,” Autouija…

1. Finds the first character in the string, ‘Y’.


2. Looks through every item in cList until it finds ‘Y’, and then it remembers the item number
for ‘Y’: 25.

3. Looks up the values for item number 25 in xList and yList 25, and sends the planchette to
that pair of coordinates.
4. Repeats the above steps for the next character (‘O’) in the string, &c., until the entire string
has been spelled out.

Autouija keeps track of the last character used (previousChar) and compares it to the current
character (currentChar) so that if a string has two or more of the same character in sequence
(e.g., the ‘BETTER’ in “BETTER NOT TELL YOU NOW” has two T’s together), the
planchette spins around in a circle to indicate the same letter.

This script…

…causes the planchette to tilt slightly left or right as it glides from one side of the board to the
other, making the movement appear more natural than if the planchette were always oriented
straight up and down as it moved.

The Music sprite uses Scratch’s music blocks to play the melody from “Tubular Bells”
(alternatively, I could have imported an audio file of the song and played that).
Make It Better

• You can modify the contents of pList to make Autouija spell out whatever you like. Just
make sure to avoid punctuation (you can use lower or uppercase letters; Scratch sees ‘a’ and
‘A’ as the same thing when making a Boolean comparison of them: (a) = (A) is true).
• Use a board of your own design.
• As the planchette tilts or spins, its light glare and shadow move with it in an unnatural way.
How could you make the glare and shadow appear more natural? Hint: create separate
sprites for each, and have them move relative to the planchette’s position, with the shadow
changing also relative to the planchette’s orientation.
• The button to toggle the music on/off is located in a bad place: it is blocked from being
clicked when the “What is your query?” input box is showing. Where else could you place the
button, or what are some other ways you could turn the music on or off?

Credits

Ouija Board image from here, and modified by me.

“Tubular Bells” melody by Mike Oldfield; MIDI files here.


1. “Ouija” is a trademark of Hasbro, Inc.

Project: AppleOfDiscord
• What It Does
• How It Works
• Make It Better
• Credits

Download Project or Preview Online

This project is intended for use with Makey Makey Classic or GO, however you may consult Eris just
by pressing the space key on your keyboard.

What It Does

This one is for all you Discordians out there: a divination project that answers your query with
a mystic icon when you touch the Apple of Discord. Here are the basic steps involved:

1. Connect Makey Makey to the computer running Scratch, and verify it is working correctly.
2. Prepare the apple and connect it to Makey Makey using a crocodile clip.
3. Start the Scratch program running.
4. Ask your query (aloud or silently).
5. When you feel ready, touch the apple (thus activating Makey Makey to sends a signal to
Scratch that the space key has been pressed).
6. Interpret the sign that appears.
How It Works

The Scratch program is quite simple, and could be even simpler. All you really need are one
sprite with the possible divination images (as costumes), and this script:

However, I added a focus image and a simple transition for æsthetics, thus AppleOfDiscord
has two sprites:

• HandOfEris — displays the Hand of Eris while the divination is in progress. Hides when he
space key is pressed, in order to show the other sprite.
• Fnord — randomizes costumes until the space key is pressed (touching the apple connected
to the Makey Makey sends a space-key signal to the computer), when it displays whichever
costume is selected at that moment. I use the set size to () % and change size by () blocks to
quickly zoom in on the costume when it is selected.

If you use Makey Makey Classic instead of GO, remember that you need be also touching a ground
(EARTH) wire when you touch the apple. Also make sure you connect the apple to the SPACE contact
on the Makey Makey board.

How you prepare the apple is up to you, but my suggestion is that you wash and dry it;
inscribe the phrase ΤΗΙ ΚΑΛΛΙΣΤΗΙ (“to the fairest”), KALLISTI, or just K onto it; and
perform the Mass of Chaos E1 to consecrate and enchant the apple; all prior to running the
project.
wood panel

Make It Better

• Replace the icons with ones of your own choosing or design.


• Change the transition from the Hand of Eris to the chosen icon.
• Add sound effects.
• Replace the golden delicious apple with one of genuine gold!
Credits

The 23 mystic icons used in this project were made by Utro-na-more.

1. Peter J. Carroll, The Octavo (Mandrake of Oxford, 2011) 162–168.

Project: Löömen
• What It Does
o Controls
o Physical Computing with Löömen
• How It Works
• Make It Better

Download Project or Preview Online

The images generated by this project require millions of iterations, therefore it is best to run the
project using Scratch’s “turbo mode” hidden feature.

What It Does

Löömen combines aspects of divination, evocation, and generative art. Named for loom, “a
tool for weaving,” and lumen, “light,” it is an assemblage for experiments in chaomancy
(χάομαντεία) and xenomancy (ξένομαντεία) with attractors.

As described by Clifford Pickover in his book Chaos in Wonderland: Visual Adventures in a


Fractal World,1 the Latööcarfians are an intelligent and social species native to the Jovian
moon, Ganymede. Their brains resemble eight-bit computers, and they communicate via
intricate light patterns displayed on their heads. The Latööcarfians’ chief occupation is
dreaming about chaotic mathematical patterns generated by a pair of formulæ. They have thus
earned the epithet, “the dream-weavers of Ganyemede,” and each Latööcarfian’s class within
their feudal society is determined by the beauty and symmetry of the patterns they dream.

The two equations are:

xt = sin(ytb) + c sin(xtb)
yt = sin(xta) + d sin(yta)

Where the input variables a, b, c, and d are within optimal ranges: a and b between −3.0 and
+3.0; c and d between 0.5 and 1.5. Plotting these equations over many iterations will do one
of three things:

1. converge on a fixed point


2. enter into a cycle
3. exhibit chaos and gradually fill in some complicated region of the screen

The third result is what the technomancer hopes to encounter. A dream-image so produced
may be read as a divinatory response to a query, or employed as an evocative device to
summon the dreamer for assistance in matters under their dominion. Think of the
Latööcarfians as alien machine færies (cf. machine elves), and Löömen as a kind of
computational shewstone—like gazing into a crystal ball or black mirror.

Along with the four input variables already mentioned, there are several that determine how
the dream-image appears within Löömen:
• x and y offsets — By default, Löömen plots all dream-images by matching the center of the
image space to the center of the drawing screen. This works fine for the highly symmetrical
dreams of the lords, but asymmetrical images dreamed by crofters and cotters may appear in
a region of space not centered at position (0, 0). The xOffset and yOffset variables allow
you to plot those asymmetrical dream-images nearer the center of the screen by translating
the image’s center. You can also use this in conjunction with the zoom variable to magnify
part of a dream-image.
• zoom — Some dream-images are too large or small to fit properly within Scratch’s screen
area. The zoom variable allows you to plot those at a different scale so you can better see
them.
• alpha — The subtle details of the dream-images are obtained by plotting millions of semi-
transparent points that become more visible the more often they are hit. When using zoom
to magnify a dream-image, fewer pixels are drawn to the screen (because more pixels’
positions lie outside the screen area), so it often helps to decrease the transparency of the
plotter pen, which is accomplished by increasing the alpha variable. The range is 0
(completely transparent) to 255 (completely opaque), and the default is 5. Values from 15 to
127 are usually good for magnified dream-images or those drawn with fewer than many
millions of iterations.
• maximum number of iterations — The dream-images are generated by iterating millions of
times through the equations. 10 million is the default numbers of times, but you may
override that during plotting.

Controls

From Löömen‘s main menu there are three ways to go, which, if this is your first time
interacting with the project, I recommend taking in order:

1. View a gallery of known Latööcarfian dream-images. You can use left and right arrow keys to
navigate back and forth through the images, and the space key will return you to the main
menu.
2. Plot one of the known images from the catalog. You can also add or erase newly generated
images from the catalog.
3. Plot an unknown dream-image by generating new values for a, b, c, and d using four vertical
sliders you may manually position or let the program move randomly.

The control panel sliders and buttons may be manipulated with a mouse or, if you have a
touchscreen monitor, with your finger.

There are several keyboard controls available while the plotter is drawing:

• x specify new xOffset value (redraws image)


• y specify new yOffset value (redraws image)
• z specify new zoom value (redraws image)
• a specify new alpha value (redraws image)
• m specify new maxIterations value (redraws image)
• left arrow change xOffset by −10 (i.e., pan left; redraws image)
• rightarrow change xOffset by 10 (i.e., pan right; redraws image)
• up arrow change yOffset by −10 (i.e., pan up; redraws image)
• down arrow change xOffset by 10 (i.e., pan down; redraws image)
• w change zoom by 10 (i.e., zoom in; redraws image)
• s change zoom by −10 (i.e., zoom out; redraws image)
• v show/hide plot variable values
• c show/hide counter value
• t show/hide start and end timestamps
• l save current plot values to the catalog
• e erase an entry from the catalog

When Löömen finishes plotting the dream-image, the counter stops increasing and start and
end timestamps are displayed. You may press the ‘l’ key to log the variable values that
generated this image (so that you may draw the same image again later), or if you wish to
save the image as a PNG file: type ‘c’ to hide the counter, ‘t’ to hide the timestamps, and
right-click on the screen and select save picture of stage.

If you would quickly get a general outline of the kind of dream-image Löömen is going to plot, while
the plotter is drawing, press the ‘a’ key to specify a new alpha value of 255 (fully opaque), which
requires only a few thousand iterations to produce a recognizable image. This also works well in
conjunction with using the arrow and zoom keys to navigate the image space. Once you know you
have what you want to see within the screen’s boundaries, you can type ‘a’ again to specify a lower
alpha value and then let Löömen iterate many millions of times to generate a more complex image.

Physical Computing with Löömen

I originally developed Löömen in Processing, for the Emotiv EPOC electroencephalographic


brain-computer interface. While wearing the EPOC, the sorcerer performs a ritual intended to
establish telepathic contact with the Latööcarfians. At the ritual’s climax, the neuroheadset
takes four measurements of the sorcerer’s psychophysical state, which are mapped to the four
input variables.

For the Scratch version of Löömen, I replaced the neuroheadset with a GUI control panel
having four vertical sliders whose positions map to the input variables. Using a PicoBoard,
you could add four physical slide or rotary potentiometers, which you could divine the
positions of using a stick plate or pendulum. Or, you could program Löömen to generate
random values until you perform some gesture such as touching a magic object connected
with Makey Makey.

How It Works

Much of this was already covered above. Löömen has eight sprites that communicate via
broadcasting and receiving messages.
• Plotter — draws the dream-images, and more
• Gallery — displays the gallery
• SliderA–SliderD — controls to set new input values
• BttnRndm (Button Random) — control to randomize the four sliders
• BttnSbmt (Button Submit) — control to submit input values corresponding to the current
slider positions, to Plotter

The stage controls the main menu and responds to the selected option.

Make It Better

• Pickover’s book gives some formulæ for generating mutations (see Appendix A in Chaos in
Wonderland). Edit the project to include allow for mutations to be generated.
• Having generated some range of dream images that are meaningful to you, modify Löömen
(or make a separate project) so that you may divine from a random selection of one or more
of those images rather than generating new ones.
• The Plotter sprite is bloated: it includes many scripts that are not directly involved in
plotting dream-images. You could separate these out into one or more other sprites that
handle tasks such as adding or removing records from the log lists, and update the plotter’s
local variables with these values when it comes time to draw an image from the log, or
update the log sprite’s local variables with those from the plotter when writing the current
dream-image to the log.

1. Pickover is a prolific author and I recommend reading all he has penned, but of special
interest here are his first four: Computers, Pattern, Chaos, and Beauty (1990);
Computers and the Imagination (1991); Mazes for the Mind (1992); and Chaos in
Wonderland (1994).

Evoking with Computers


• The Ghost in the Machine
• Recommended Reading

As soon as the effect of a metaphor consists in describing things or events in terms of life and
movement, we are on the road to personification. To represent the incorporeal and the
inanimate as a person is the soul of all myth-making and nearly all poetry. Strictly speaking,
however, the process does not follow the course just indicated. There is no question of first
conceiving something as lifeless and bodiless and then expressing it as something that has
body, parts and passions. No; the thing perceived is conceived as having life and movement in
the first place, and such is the primary expression of it, which is no afterthought.
—J. Huizinga, Homo Ludens: A Study of the Play-Element in Culture

The practice of magical evocation typically involves calling forth an occult entity such as an
angel, dæmon, fairy, ghost, or other spirit in order to learn from it or charge it with some task,
propitiate it, &c. Such entities may be received or constructed (e.g., servitors). Various
materials may be employed in an evocation, e.g., oblations may be offered to attract the
entity; or the entity’s sigil might be inscribed on a sheet of parchment or metal disc featured in
the ritual of summoning; or smoke or a mirror, crystal, or other show-stone may convey the
entity’s physical appearance. In addition to any requisite materials, various trance-inducing
prayers and incantations, gestures, &c., assist the magician in attaining to a state of mind
suitable for bearing witness to the subtle visages and other signs by which occult entities
make their presence known.

Mephistopheles (from Doctor Faustus) [3PC]

In the introduction, I mentioned that some people see magic as a way of working with the
unconscious mind, which many situate as the world within the magician. The trick to
evocation is seeing the world without the magician, both in the sense of what is external to
her, and in the sense of what exists independently of her: what is alien, other. Throughout
history, people of every culture have believed in various kinds of spiritual or occult entities.
Modern psychology has tended to frame such things as, well, psychological: hallucinations,
figments of the imagination, projections of the unconscious mind, &c.

Whatever their true nature may be (if anything even has a “true nature”), it is obvious that
occult entities are occult because they obtain differently from how rocks, flowers, cats, ice
cream, and football exist. And yet we know them by their physical characteristics: how they
appear, sound, or feel; what they say and do. That famous grimoire, the Lesser Key of
Solomon, lists 72 demons and gives each one’s name and rank, powers, the quantity of legions
of demons they command, and description of its physical appearance—a most curious
ontology (and also ecology)! Of course, occultism is rife with strange ontological
assumptions: occultists talk of “opening portals,” “doorways,” or “gates” to “other
dimensions,” “planes,” or “realms.” They talk of “energy” in ways that baffle physicists, &c.
Are such things actual or metaphorical, real or imagined? And how much is the real imagined,
and the imagined real?

Whether or not occult entities verily exist as autonomous beings in the world, independent of
the sorcerer’s mind, many people have had the experience that they do, and the practice of
magical evocation usually involves treating them as such either willfully (“fake it till you
make it”), or because that is just how they present. Either way they seem to adhere to the
golden rule of sorcery by evocation:

If at first you don’t succeed, feed it more blood.

The Ghost in the Machine

[O]ur environment, and I mean our man-made world of machines, artificial constructs,
computers, electronic systems, interlinking homeostatic components—all of this is in fact
beginning more and more to possess what the earnest psychologists fear the primitive sees in
his environment: animation. In a very real sense our environment is becoming alive, or at least
quasi-alive, and in ways specifically and fundamentally analogous to ourselves.
—Philip K. Dick, “The Android and the Human”

There are basically two ways of relating computers to magical evocation. The first involves
making computational media to mediate: to become that through which occult entities may
see or be seen, hear or be heard, feel or be felt, or otherwise act or be interacted with; or
which augment our abilities to sense and communicate with such entities. There is some
precedent for this in the Tesla spirit radio, electronic voice phenomena, &c. The techniques of
previous lessons in technomantic divination and enchantment may be applied to evocation,
e.g., a conductive sigil representing the entity may trigger some event when connected to a
computer. Digital or electronic effigies, fetishes, &c. may be programmed not just to act but
to react and interact, responding to diverse events or communicating across various channels,
including the internet. Technomancy does not deny the phantasmal or dæmonic; it houses it
within the Body Electric, wherein it becomes a moving image differentiated from the stillness
of the traditional icon or idol by the changes it undergoes in the physical space, which
telegraph the numinous character of whom it embodies.
Ars Goetia as digital pets

The second way begins by framing the computer’s inputs and outputs as sensations and
actions, and proceeds to recognize computers as things having their own being, and to
speculate about their inner lives. Although usually made by humans for humans, computers
belong to a different phylum than we, and they have their own ways. Not just computers in
general, but each individual instance of a computer. Every computer exists and relates to its
world in ways that not only transcend whatever you or I think a computer is and however we
relate to it, but in ways that are impossible for us to comprehend or relate to. Indeed, the
intersection of human and computer is but a sliver of all the computer’s ways of being and
relating.

Recommended Reading

If you are new to magical evocation, here are a few resources to help you get started.

• “Chaos Servitors” in Hine’s Condensed Chaos (New Falcon version), and his chapter on
“Evocation” in Part 2 of Prime Chaos. Hine’s Aspects of Evocation is available for free on his
website, and his Chaos Servitors booklet (different from the aforementioned section of the
same name in Condensed Chaos) is supposed to be made available in the future.
• Philip H. Farber’s Meta-Magick and Brain Magick contain several evocation exercises anyone
can do, and which I have found to be especially agreeable to technomantic design.
• “Spirits of Nature,” in Jan Fries’s Visual Magick
• “The Conjuration of Vassago,” in Paul Huson’s Mastering Witchcraft presents a traditional,
goetic-style evocation having a witchy æsthetic substituted for the usual Judeo-Christian
elements.
• Franz Bardon’s The Practice of Magical Evocation
• Uncle Ramsey’s Little Book of Demons: The Positive Advantages of the Personification of Life’s
Problems, and How to see Fairies
• Matt Cardin’s A Course in Demonic Creativity: A Writer’s Guide to the Inner Genius is about
knowledge and conversation with one’s own genius, dæmon, or muse, and may appeal
especially to anyone who tends to believe such things are aspects, but not merely figments,
of the unconscious mind.
• Patrick Harpur’s Daimonic Reality: A Field Guide to the Otherworld is not an instructional text
but an excellent survey of occult entities across various times and places.
• Necromancy is a kind of evocation, and Daniel Ogden’s Greek and Roman Necromancy shows
us how it was done in the good ol’ days.

Apropos of the computer as a medium for spirit communication, I recommend Siegfried


Zielinski’s Deep Time of the Media: Toward an Archaeology of Hearing and Seeing by
Technical Means, John Durham Peters’ Speaking into the Air: A History of the Idea of
Communication, and Jeffrey Sconce’s Haunted Media: Electronic Presence from Telegraphy
to Television. Apropos of the hidden lives of computers, see Ian Bogost’s Alien
Phenomenology: Or What It’s Like to Be a Thing, Graham Harman’s Object-Oriented
Ontology: A New Theory of Everything, and Timothy Morton’s Being Ecological.

Project: SIBOR
• What It Does
• How It Works
o Carroll’s Eidolonics
o Mk I
 Charge
 Enchant
 Divine
o Mk II
 Accumulator Construction
• Make It Better
Download Project or Preview Online

What It Does

SIBOR is a general-purpose, cybermagical servitor—a servitron—whose countenance is


inspired by luminous anomalies and arcane artifacts such as the Loc-Nar from Heavy Metal.
The minimalist design also emphasizes how simple animations can suggest intentionality.
SIBOR’s personality is inspired by Bit from Tron.

SIBOR is capable of three operations:

1. Charge — SIBOR is “charged” with magical “energy” by concentrating on its sigil while
projecting ætheric energy at it
2. Enchant — SIBOR responds to sigils you draw and submit to it for “analysis”
3. Divine — SIBOR can respond “yes” or “no” to polar questions

There are two builds of SIBOR. Mk II adds a physical touch devices to enhance the charge
operation.

How It Works

Before I get into SIBOR’s nuts and bolts, I want to take a moment to explain some basic
servitronic theory.

Carroll’s Eidolonics

In his book, Psybermagick, Carroll gives the formula for a “general purpose cybermorph,”1
based on his earlier magical formulæ,2 which were later updated and simplified.3 What these
altogether say is essentially:
1. Magic is the ability to (weirdly) alter probability.
2. Magical power is the product of (g) the sorcerer’s altered state of consciousness; (l) her
magical link to her target or goal; (s) the degree to which she is able to trick her conscious
mind into not thinking about her goal; and (b) her belief in the efficacy of magic.
3. “By profound effort of ritual,” the sorcerer can effectively transfer g, s, and b to “a named
semi-autonomous sentience,” which then needs only an adequate l[ink] in order to work
magic on the sorcerer’s behalf.

Such is Carroll’s theory in nuce, and Chaos servitors that are not explicitly modeled on it tend
to tacitly concur with it. Combined with computer technology, Carroll’s eidolonics (from
eidolon [εἴδωλον], “figure, representation,” whence idol) may inspire a vast array of
servitronic designs of which SIBOR is but one exemplar.

Mk I

SIBOR’s stage manages the menu options and coordinates the selected operations via
broadcasting and receiving messages.

Charge

When the charge operation is selected, SIBOR switches the stage backdrop to show SIBOR’s
sigil, then broadcasts the message ghost that tells the Body sprite to fade in and out. The Text
sprite also changes its costume to display the charging instructions. The charging is
(arbitrarily) complete when the Body sprite has faded in and out five times. The stage then
broadcasts confirmCharge, which just tells Text to change to the costume that says,
“CHARGING COMPLETE,” before the dance broadcasts, telling the Body to move in a little
star shape, and the Text sprite to switch to a costume that says, “AH, THAT FEELS
BETTER!”

Enchant

The enchant operation uses Scratch’s pen feature to let the technomancer draw a sigil on the
screen with her finger, stylus, or mouse, using. After drawing, the analyzeSigil script
performs some sleight of mind, drawing a series of black lines horizontally across the screen
to give the appearance that the sigil is being processed by SIBOR.

Divine

SIBOR’s divination operation uses a unique (among other Technomancy 101 projects) means
of selecting a response: when the query is submitted, SIBOR checks the current value of the
timer block and if that is evenly divisible by two (using a () mod () block)—i.e., the number
is even—then SIBOR responds ‘yes’, otherwise it responds ‘no’. The ‘yes’ and ‘no’ responses
are communicated by animations of SIBOR nodding up-and-down or shaking back-and-forth.

Mk II

SIBOR-II (download or preview online) is served by a Vital Energy Accumulator (sounds


more busy than a mere “receiver”) that collects ætheric energy projected out of operator’s
hands, and stores it to power SIBOR. The accumulator is made to be connected to Makey
Makey GO, but it would be easy to modify the design for Makey Makey Classic (you would
need to cut the metal panel into two halves and leave some space between them, then connect
one half to SPACE and the other to EARTH), or if you have a PicboBoard, you could make a
pair of accumulators and detect the resistance change when you touch them both
simultaneously.

SIBOR-II has two additional sprites that manage the connection to the accumulator and count
the quantity of energy accumulated. When the accumulator panel is touched, Makey Makey
GO sends a ‘space’ key signal to SIBOR, which is detected by the Accmltr sprite that
responds by donning a costume to show the charge is happening, and setting its active
variable to ‘true’. That variable is sensed by the ChrgMtr sprite, who increases its own
chargePercent variable by the chargeRate variable so long as ((active) of (Accmltr)) =
(true). You can increase or decrease the time required to fully charge SIBOR by editing the
chargeRate variable prior to running the program.
Accumulator Construction

The accumulator I made is essentially just an aluminum shingle connected to Makey Makey
through a wire, but there is no need to get fancy. You could do similarly with a cardboard box
and aluminum foil or copper tape. Here is a list of materials I used:

• 6″ × 8″ × 1-1/2″ wood art panel


• 5″ × 7″ aluminum shingle
• Tim Holtz Idea-Ology Foundations Box Feet
• Tim Holtz Idea-Ology Photo Corners Antique Metallic
• isolated panel mount 2.5mm mono jack
• 2.5mm mono plug I had lying around (probably from Radio Shack; this is not the exact one
but it would work)
• crocodile test lead (with one end clipped and stripped for attaching to the mono plug)
• Varathane premium fast dry wood stain, provincial color
• Mars black paint
• 5mm copper tape
• conductive thread
• a common nail
• four escutcheon pins

First I drilled a starter hole for the nail in the center of the 6″ × 8″ panel; a hole in the side of
the panel for the jack to fit into; eight holes in the underside of the panel, to attach the feet
with screws; and then I taped the shingle to the panel and drilled small holes through both to
nail the escutcheon pins into. I sanded the panel then stained and painted it. I affixed the
copper tape around the edge, and then attached all the hardware.

Typically with a DC-power or mono-audio connector, you must wire a positive (“live”) wire
to the tip and a ground wire to the sleeve, but in this case I just need all the metal parts to
touch each other and make a conductive path to the Makey Makey GO, so I wired the
crocodile clip’s lead to both the tip and sleeve of the plug, and added some hot glue to keep it
in place before attaching the housing.

To make the path from the jack to the nail I just used a length of conductive thread (and taped
the excess to the inside of the panel in case I need it for anything later), but wire or any other
conductive medium would have sufficed. The complete path of electrical conductivity is hand
→ aluminum shingle → nail → thread → mono jack → mono plug → wire → crocodile clip
→ Makey Makey GO → computer running Scratch.
Make It Better

There are countless ways you could improve on SIBOR’s basic design, even using techniques
from other Technomancy 101 projects. Following are a few suggestions.

• Make SIBOR’s sigil in conductive paint and edit the program so it only runs when the sigil is
connected to the computer.
• Add a metal panel or coil to use as a magical link input.
• Make a physical body for SIBOR using an LED and a globe of frosted glass (to diffuse the LED’s
light).
• Expand the range of divination responses.
• Store SIBOR’s energy level as cloud data. Edit the program so that enchanting and divining
deplete SIBOR’s energy.
• Use the Scratch Twitter experimental extension to send commands or data to SIBOR from
another machine via Twitter. E.g., you might send SIBOR statements that it automatically
sigilizes and enchants using techniques similar to those implemented in SigilPen.
1. Psybermagick (Chaos International, 1995) 24–25.
2. Liber Kaos (Weiser Books, 1992) 41–51.
3. The Octavo (Mandrake, 2011) 116–121.

Invoking with Computers


• Responsive Environments
• Recommended Reading

Invocation in Technomancy 101 means to call an occult entity into the sorcerer’s body or
personal space, typically that she may identify with said entity so as to act as it or allow it to
act through her.1 Some examples of magical (and magico-religious) invocation include
Assumption of the Godform, Drawing Down the Moon, the Bornless Ritual, and possession
(being “ridden”) by the Lwa.
πρόσωπον) of another. [3PC]

The role of computers and computational media here is typically to assist the technomancer in
becoming invoked or to provide interactions for her while she is invoked. Regarding the
latter, many of the projects for divination or enchantment previously shown may be
employed, e.g., one might take on a Martial persona for interacting with the SigilShooter
project, or invoke the goddess Eris before consulting the AppleOfDiscord.

Responsive Environments

When invoking, it is common to adorn the ritual space with signs appropriate to the entity or
state being called, which may be glyphs, sigils, or seals; colors or lighting; sounds or music;
scents; &c. These function as reminders, anchors, triggers, or inducers of the state the sorcerer
desires to invoke. In other words, she rearranges her space to set the mood of the invocation,
matching the physical space she occupies to the mental space of whatever shall occupy her. If
she is invoking an Egyptian deity, e.g., the magician might fill the space with kyphi smoke
and motifs of ancient Egypt.
Within the theatre of magic, computers may coordinate lights, sounds, images, texts, &c.,
pertaining to the technomancer’s invocation, altering her environment at appropriate moments
via timers, sensors, and switches. Here are just a few things you could do with Scratch’s
PicoBoard (e.g.):

• The sound sensor can detect whether or not you are speaking, chanting, singing, or
screaming.
• The light sensor can detect the ambient light level of the room and so trigger something to
occur when the lights are turned on or off. It can be paired with a flashlight or laser-pointer
to make a simple motion detector that is triggered when something moves between the
sensor and the light source.
• Coupled with force-sensitive resistors or pressure sensors, the resistance sensors can detect
where you are standing or whether or not you are seated, kneeling, &c.

You could go much further than that and program Scratch to respond to your neuroelectrical
activity while invoked (using an EEG headset), but even if all you have is available to you is a
webcam with its built-in microphone, you can design interesting interactions with Scratch’s
sound and video sensing blocks.

Recommended Reading

If you are new to magical invocation, here are a few resources to start you out:
• “Kali in the Disco” in Phil Hine’s Condensed Chaos (New Falcon version), and his chapter on
“Invocation” in Part 2 of Prime Chaos
• Philip H. Farber’s Brain Magick contains several invocation exercises anyone can do, and
which work especially well with technomancy
• “Spirits of Nature” and “Waking the Beasts” in Jan Fries’s Visual Magick
• Ecstatic Trance: New Ritual Body Postures by Felicitas D. Goodman and Nana Nauwald
• Acting and Singing with Archetypes by Janet B. Rodgers and Frankie Armstrong

1. The words invocation and evocation are often used interchangeably and sometimes
conflated with incantation. The distinction between invocation-as-calling-in and
evocation-as-calling-forth, and the association of the former with deities and the latter
with demons, are popular conventions in contemporary magic, but there are many
ways to experience or interact with Other(ness), and some may transgress the usual
categories.

Project: Elementarea
• What It Does
• How It Works
• Make It Better

Download Project

This project requires a PicboBoard and the Scratch PicoBoard Extension. However, you could do
something similar with Makey Makey Classic (v.i., s.v. “How It Works”).
What It Does

Elementarea is a responsive environment for invoking the four classical elements: Air, Fire,
Water, and Earth. As you step on each panel representing one of the elements, a color and
sound corresponding to that element are manifested in the space.

Video Player

00:00

00:43

How It Works

Four force-sensitive resistors are set beneath four 12 in.2 wood panels and connected to the
four resistance sensors of a PicoBoard via copper tape. When nothing is set upon a panel, its
corresponding resistance sensor in Scratch measures 100, but when you step on a panel the
resistance drops. Exactly how much it decreases depends on how much you weigh, how your
panels are attached to the floor (I used Scotch/3M reusable mounting squares), and how hard
your floor is, but responding to anything less than 90 should cover most variables. When the
resistance drops, Scratch responds with an appropriate color and sound.
The force-sensitive resistors beneath the panels. I first laid down black art tape to mark the sensors’
positions, then two strips of copper tape for each sensor, with more black tape to keep the sensors in
place and to fasten their leads to the copper tape.
The other ends of the copper tape, attached to the PicoBoard’s crocodile clips with more art tape to
keep the clips from moving and errantly touching each other or the wrong strip

Elementarea has only one sprite, Elmntarea, with nine scripts. The main script loops through
checking each of the resistance A–D values and when it finds one that has dropped below 90,
it broadcasts a corresponding message. Here is the check for the Earth panel connected to the
resistance-A sensor on the PicoBoard:

When the message invokeEarth is broadcast, two additional scripts are executed:
The costume earth is just a solid green color that fills the entire screen; the other costumes
are similar (yellow for Air, red for Fire, and blue for Water). The ghost effect is used to fade
the color in and out—a nicer transition than having the solid color change abruptly. The
reason for broadcasting the message playSoundEarth is to play the note at the same time as
the ghost transition. If we had replaced the broadcast(playSoundEarth) block with the play
note (61) for (4) beats block, the repeat (100) loop that contains the ghost transition would
not execute until after the note had finished playing.

The notes that play are E# (i.e., F) for Air, E for Fire, G for Water, and C# for Earth. Such are
the notes for the fixed signs of the zodiac corresponding to the elements (per Paul Foster
Case): Aquarius=Air, Leo=Fire, Scorpio=Water, and Taurus=Earth. For more about
astrological and musical correspondences, I refer you to Astromusik by Ezra Sandzer-Bell.

I used a video projector to display the colors, and a wireless speaker placed in the center of
the four panels to play the sounds.1 In the video shown above, I step on each panel briefly to
show the response, but typically you would remain on the panel long enough to sufficiently
invoke the element it represents, and you might strike an appropriate pose or perform an
appropriate gesture such as drawing an invoking pentagram.
If you do not have a PicoBoard but you do have Makey Makey Classic, you can accomplish something
similar to what I have demonstrated above, by using just a pair of copper tape strips for each
element, and stepping on them with bare feet (or shoes having electrically conductive soles). I have
made a separate project for this, Elementarea2 (download or preview online), which assumes the
following connections:

• Earth: one copper tape strip connected to the ‘LEFT ARROW’ input, and the other connected
to ‘EARTH’ (i.e., the common ground strip on the Makey Makey board)
• Water: one strip connected to the ‘DOWN ARROW’ input; the other to ‘EARTH’
• Air: one connected to ‘UP ARROW’; the other to ‘EARTH’
• Fire: one to ‘RIGHT ARROW’, one to ‘EARTH’

Make It Better

• Add animated sigils or other glyphs that display when each color is fully illume’d.
• Play a constant tone when standing on a panel (hint: you will need to interrupt the currently
playing sound when you step off of the panel or step on to another one).
• Do the same as above but with the Scratch Synth Tone experimental extension to generate
the tone
• Use Makey Makey Classic to expand the variety of inputs to the seven classical planets or
twelve zodiacal signs.
• Make an elemental sorcery version of Dance Dance Revolution.

1. In hindsight, keeping the center clear so I could rest there between stepping on panels
would have been a more graceful dance, but I had originally designed this
configuration to have the light projected down on an artifact in the center as I
circumambulated the space and approached each panel from the outside.
Illuminating with Computers
In the province of the mind, what one believes to be true is true or becomes true, within
certain limits to be found experientially and experimentally. These limits are further beliefs to
be transcended.
—John C. Lilly, Programming and Metaprogramming in the Human Biocomputer:
Theory and Experiments

There are no limits. There are plateaus, but you must not stay there, you must go beyond
them. If it kills you, it kills you. A man must constantly exceed his level.
—Bruce Lee, The Art of Expressing the Human Body

The only clear view is from atop the mountain of your dead selves.
—Peter J. Carroll, Liber Null & Psychonaut:
An Introduction to Chaos Magic

Whereas enchantment and divination as previously shown are directed at something in the
sorcerer’s world, illuminatory magic aims to alter the sorcerer herself: to shine a light in the
darkness of her own ignorance or inability. On the “low” end, illumination occurs as sorcery
to alter some practical aspect of oneself; as “high” magic, it approaches the enlightenment of
mysticism, or perhaps just liberation of oneself from the crap she has accumulated.1 Either
may borrow from techniques of enchantment, divination, evocation, or invocation; e.g., a
magician could cast a spell on herself, read Tarot cards for herself, conjure a spirit from which
to acquire a new skill, or invoke an entity possessing some quality she would incorporate into
herself.
γνῶθι σεαυτόν).”
[3PC]

Basic exercises of metamorphosis may be assisted by computational media contributing


positive or negative feedback. E.g., one of the suggested modifications to the Meditaid project
(which is itself an example of illuminatory magic) is to rebuke you if the project detects you
moving during the session.

Another area of illuminatory magic that may be assisted by computers is pathworking, a


technique involving guided meditation, active imagination, or the like to explore the Tarot
trumps, Tree of Life, or a similarly rich system of esoteric symbols.2 While it is common to
do pathwork while sitting or lying still with your eyes closed, you can also do it while
physically moving and interacting with the space or objects or people co-occupying the space.
As to the role of the computer, recall the computer as a coordinator of interactions. You might
record a guided meditation and have the computer play it while displaying images or playing
other sounds appropriate to the meditation at various points along the path. Or, you could
program the script to pause at certain places and wait for you to give a sign to proceed, or
have the computer continue automatically in response to sensing that you are in a certain state
detected by a biofeedback or neurofeedback circuit. You could incorporate within the
meditation interactions with physical media such as were shown in the invocation project,
Elementarea.

To recapitulate, any means of using computers to induce magical states of consciousness or


coordinate interactions while experiencing such states can be illuminatory if applied to
altering oneself. Illuminatory magics not involving computers may become sources of
inspiration for magics (illuminatory or otherwise) that do involve them. Exercises and
techniques of personal transformation can be found in any number of occult books, and many
self-help books include transformative techniques known also to occultists. Following are a
few books having techniques that can be readily adapted to technomantic ritual design, or that
may assist the technomancer in reaching into her deep mind to find things to bring into her
cyber-rituals.

• The Book of Exhilaration and Mastery by Philip H. Farber — Phil also teaches these
techniques in Brain Magick
• The Magician’s Reflection by Bill Whitcomb — a sequel to Whitcomb’s The
Magician’s Companion, a book of magical correspondences, Reflections helps the
magician to develop her own correspondences
• Inner Work: Using Dreams and Active Imagination for Personal Growth by Robert A.
Johnson — Johnson is a Jungian analytical psychologist, and his techniques for
reifying dreams via ritual may be adapted to computational media (as I did with
WindOfChange)
• Towards an Archaeology of the Soul: A ParaTheatrical Workbook by Antero Alli
• Personal Mythology: Using Ritual, Dreams, and Imagination to Discover Your Inner
Story by David Feinstein and Stanley Krippner

1. I am reminded of Jerzy Grotowski’s Towards a Poor Theatre: “The education of an


actor in our theatre is not a matter of teaching him something; we attempt to eliminate
his organism’s resistance to this psychic process. The result is freedom from the time-
lapse between inner impulse and outer reaction in such a way that the impulse is
already an outer reaction. Impulse and action are concurrent: the body vanishes, burns,
and the spectator sees only a series of visible impulses. Ours then is a via negativa—
not a collection of skills but an eradication of blocks.” N.b., however, that what
appears to be liberation could in verity be replacing one kind of crap with another.
2. Phil Hine wrote about pathworking in Condensed Chaos, pp. 66–67. There are many
books written about it, including several by Dolores Ashcroft-Nowicki, and several
books of arcane instruction include pathworkings within them.

Project: GlowStone
• What It Does
• How It Works
o A Little LED Theory
o Dais Construction & Wiring
o Running s2aio
• Make It Better
Download Project

This project requires Arduino and s2aio extension, and also an audio speaker or headphones.

What It Does

Into the solidity of stone, a solidity yet capable of suffused light, the fantasies of bodily vigor,
of energy in every form, can be projected, set out and made permanent.
—Adrian Stokes, Stones of Rimini

The stone symbolizes physicality, concretization, manifestation, and sometimes completion or


perfection: “virtus eius integra est si versa fuerit in terram.” The living stone is a perfect
example of animism; not merely juxtaposing inert matter with vibrant and intelligent activity,
but transcending their contrast. The golem is dead matter brought to life by breath and word—
like the electricity and code that animates robots. The Philosopher’s Stone is the perfection of
the alchemical Magnum Opus, being the utmost condensation of the supreme agent of
transmutation (viz., AZOTH). &c.

GlowStone is a special kind of lamp that anchors a technomancer’s power and helps her to
recall it whenever needed. It involves a selenite crystal tower illumed by an RGB LED
controlled by Arduino, and audio instructions that lead the technomancer through a Meta-
Magick exercise coordinated with the stone’s illumination.1

How It Works

GlowStone was written for the s2aio extension that adds blocks for interacting with Arduino.
The extension should work on Windows, Mac, and Linux including Raspberry Pi’s Raspbian.
If you download and open the GlowStone project file in the editor without s2aio running on
your computer, the project will not run correctly.
There is an Arduino extension for the online Scratch 2 editor, hosted by ScratchX, but it does not
currently work with any up-to-date web browsers. I expect a new extension to be written for Scratch
3, and will add information about that here when it happens.

A Little LED Theory

The most basic law of electronics, Ohm’s law, mathematically expresses the relationships
between electric current, voltage, and resistance. Imagine that electricity moving through a
circuit is like water flowing through a pipe. Current (I) is the flow of electricity through the
circuit; it can be a little (trickle) or a lot (gush), and it can go slowly or rapidly. Voltage (V) is
the force pushing the current along. Resistance (R) is anything that resists the flow, including
the “pipe” (circuit wire) itself. Ohms’s law says that current equals voltage divided by
resistance (I = V / R); voltage equals current times resistance (V = IR); and resistance equals
voltage divided by current (R = V / I). In other words, current is proportional to voltage and
inversely proportional to resistance. You can increase current by increasing voltage or
decreasing resistance, and you can decrease current by decreasing voltage or increasing
resistance. Sorted? Good! If not, fret not, for SparkFun has a proper tutorial on this subject.

A diode is an electronic component that passes current in only direction. A light-emitting


diode (LED) generates light in response to the current it passes. Regular LEDs have two leads
(the wires protruding from the housing): an anode that connects to a positive voltage source
and moves electricity into the LED, and a cathode that connects to ground and moves
electricity out of the LED. The housing typically has a flat edge on the cathode side, and the
anode lead is typically longer or bent, to help you identify which side is which.

A resistor (so called because it resists the current flow) is usually needed in serial with the
LED to limit the amount of current the LED passes. Unlike LEDs which are polarized and
need to be oriented a certain way within a circuit, resistors work the same whichever direction
they are connected in.
Fritzing assets

Now, can mix red, green, and blue light to produce a large range of visible colors. An RGB
LED is a red, a blue, and a green LED in a single housing with four leads: one for each color
and a common cathode or common anode (the longest lead identifies which is common).

GlowStone uses a common cathode LED that is connected to a ground header on the Arduino
board while the red, green, and blue leads are connected to PWM headers via resistors.
Fritzing assets

Pulse width modulation allows us to vary the amount of voltage supplied to each of the three
colored LEDs, letting us control the brightness of each color. The range of 0 to 5 volts
supplied to each colored LED is represented by a PWM range of 0 to 255, so we can use the
well-known web color space to find and specify which color we want the LED to glow. E.g,
the RGB decimal triplet for the color deep pink is (255, 20, 147), so by setting the Arduino
pins for the red, green, and blue LEDs to to values 255, 20, and 147, respectively, the LED
will glow a deep pink color (more or less; variations in LED brightness and resistor values
can cause an LED connected to Arduino to glow not quite the same color you see on your
computer screen).
Dais Construction & Wiring

I made a small dais to conceal the Arduino and LED beneath the crystal tower, prepared much
like the accumulator I made for SIBOR. Here is a parts list:

• Arduino Uno R3 w/ USB cable


• 5mm diffused common cathode RGB LED
• three 270Ω resistors (band colors: red, violet, brown; higher values may be used but will dim
the light)2
• one 4″ × 4″ × 1-1/2″ wood panel
• four decorative feet w/ screws
I cut some cardboard strips and hot-glued them together to make a shim, and hot-glued the
Arduino to that (I like hot glue for this kind of thing because it easy to remove with some
rubbing alcohol or solvent such as Bestine).

A glob of hot glue secures the LED inside the 5mm hole drilled into the panel’s center.
Using round-nose pliers I made small loops in one end of each resistor, to place around the
LED’s leads. I did the same with a bit of 22-gauge wire for the cathode-to-ground connection.
A dab of Bare conductive paint on each connection secures the wires and helps make an
electrical contact (typically I would use solder for this).
Running s2aio

After you have followed the instructions on the s2aio website to install and configure the
extension and your Arduino, and made something to hold the electronics beneath your crystal
tower, connect Arduino to a USB port on your computer and then run s2aio in no-client
mode (which prevents s2aio from opening a new instance of the Scratch editor) by inputting
s2aio -c no-client at a command prompt.
With s2aio running, open the GlowStone.sb2 file in the Scratch offline editor, and start the
project by clicking the green flag. A voice will talk you through the exercise, which includes a
test to verify the RGB LED is connected and working correctly.

You can specify your own color of magic (or whichever color you associate with
technomancy in particular) for the stone to glow during the exercise. The variables magicRed,
magicGreen, and magicBlue record the decimal triplet for your desired color. E.g., if your
color of magic is cyan, which has an RGB triplet of (0, 255, 255), you would set magicRed =
0, magicGreen = 255, and magicBlue = 255, before running the project.

The variables redPin, greenPin, and bluePin identify which Arduino pins are connected to
the red, green, and blue leads of the RGB LED. If you need to change a pin, e.g., swap pin 6
for 9 to use are you blue pin, you can just set bluePin to 6 at the beginning of the initial
script, instead of having to change it everywhere that pin is written to throughout the project.

To fade the LED color in and out requires successively increasing or decreasing the PWM
values written to the R, G, and B pins. Recall the PWM value has a range of 0 to 255, with 0
being the dimmest (essentially off), and 255 being the brightest. The only color that has all
three pins set to 255 is white; all other colors require one or more of the LEDs to be dimmer
than 255. For the color deep pink, which has an RGB triplet of (255, 20, 147), the range for
the red pin to fade in is 0 to 255, but the range for the green pin is only 0 to 20, and for the
blue pin it is 0 to 147. To proportionately adjust all three pins at the same time, we can map
all of them to the maximum possible range, 0 to 255, so that it takes the same length of time
for the red pin to go from 0 to 255 as it does for the green pin to go from 0 to 20, and the blue
pin from 0 to 147.
If you are using a common anode LED instead of common cathode, you must connect the common
pin to +5 volts instead of to ground. Under this configuration, each LED glows brightest when set to
0, and dimmest when set to 255. To keep the math simple, you can simply take all the values you
would use under a common cathode configuration, and subtract them from 255. E.g., to set a
common cathode LED to deep pink (255, 20, 147), you would do this:

To do the same thing for a common anode LED:

Make It Better

• Paint arcane glyphs onto the dais.


• Add a switch to turn the lamp on and off.
• Reprogram GlowStone to automatically turn on or change colors at particular times as
reminders of tasks you need to perform.
• Reprogram GlowStone for divination by assigning meanings to colors or blinks. You could add
multiple LEDs and stones to the project and make them glow different colors or in different
patterns.
• Replace the spoken exercise with one of your own recording. If you have a microphone
embedded in or attached to your computer, you can record your voice right in Scratch.
• Experiment with different interactions. E.g., project your anger into the stone as the color
red, have the stone morph to a cool blue, and then absorb that blue color into your body—
how does that make you feel?
• Replace the Arduino Uno with an Arduino Pro Mini, Arduino Nano, or other compatible
board to decrease the hardware footprint.
• Go bigger! Replace the single RGB LED with three LEDs (one red, one green, and one blue) to
illume a larger stone, or try this project with a light bulb or string of lamps using an Arduino-
controlled dimmer made with a ZeroCross Tail.

1. The GlowStone Meta-Magick exercise combines parts of “Exercise 2.3 Energy Flow
Modeling” and “Exercise 3.1 Simple Evocations” from Philip H. Farber, Brain
Magick: Exercises in Meta-Magick and Invocation (Llewellyn, 2011).
2. A little more LED theory follows. The precise value of a resistor needed in series with
an LED depends on the circuit’s current (measured in amperes), the voltage (in volts)
supplied to the LED, and the LED’s “forward voltage” or “voltage drop,” which is
usually specified by the LED’s manufacturer. The individual red, green, and blue
LEDs within a single RGB LED may have different forward voltages and so optimally
require different resistor values. However, using an approximate value is usually
alright, at least in the short term. If you want to know more, SparkFun also has an
LED tutorial.

What Next?
• Design More Interactions
• Use Cloud Data
• Upgrade Your Hardware
• Learn a New Language
o Python
o Processing
o JavaScript
o C
o MIT App Inventor
o Game Engines

I hope you have enjoyed this introduction to doing magic with computers. For those wishing
to proceed further down the path of the Tinkerer-Sorcerer, I have assembled some suggestions
for what to get into next.

Design More Interactions

The interactions I have shown with these example projects are but a minute set of what is
possible. Survey what others have done with Scratch and see what you can adapt to your own
sorcery. Look at what computational media artists are doing, and if you can imagine an occult
application for something you see, try to do it (or something like it) with Scratch.

Here are a few ideas that did not make it into Technomancy 101 (I may add them later):

• ForcePush — use the WeDo’s distance senor to push (or pull) a sigil (where to or from? into
or out of what?) as you move your hand toward (or away from) the sensor
• LifeBreath — trigger an event by blowing into a microphone or the PicoBoard’s sound sensor
• LeafBoard — combine the leaves of magical plants with MaKey MaKey to trigger a different
event when each leaf is touched
• StaveStrike — use a pressure sensor to trigger an event when you strike the ground (or other
object) with your wizardly staff
• SpiritBox — conceal a wireless speaker inside a wooden box, to speak messages “from
beyond” when consulted

Use Cloud Data

Scratch has the ability to store certain data on the server, called cloud data, allowing for
persistent data or for multiple people running the same project (either synchronously or
asynchronously) to write to or read from the same data set. I did not make use of cloud data in
any of the Technomancy 101 projects because they are made to be run offline, and because
the ability to create cloud-data variables is restricted from scratch.mit.edu accounts having
New Scratcher status, but here are a few things you could do with cloud data if you care to
experiment.

• Modify the SIBOR project to keep track of its “energy” over time, and give a sign when it
requires more. E.g., you could arbitrarily determine that it will perform seven enchantments
before it will need to be “fed” again (or you could make the amount of energy expended
proportional to the (im)probability of the enchantment), or if you are skilled at
communication with spirits, you could ask it for a rate. Then create a cloud-data variable that
increments each time you task the servitor with an enchantment (or that decrements if you
want to start with a “full bar” of “energy” that becomes depleted). You can make a GUI
element in the project that reflects the counter value, such as an “energy bar,” or just display
some notification: “This is the seventh enchantment I have performed for you since my last
feeding. Please make me a suitable offering after this.” You could even make the project
refuse to work for you until it receives the payment agreed upon.
• Make something like the SigilShooter project that involves multiple technomancers in a
coordinated, online cyber-ritual. You could assign the target sigil a number of “hit points”
that are decreased as participants attack the sigil; this variable would be stored on the cloud.
You might make the sigil flash or give some other indication every time it is hit; or keep a
“health bar” on the screen, which reduces in proportion to the falling hit points; or change
the sigil’s costume to show it deteriorating as its hit points diminish.
• You can use the cloud to receive data from or send data to a Scratch project running on a
remote computer. E.g., you could have a computer running a project connected to a
PicoBoard or LEGO WeDo set at home, and run the same project from a remote location
where you read data from the PicoBoard’s sensors or activate the WeDo’s motor. I leave it to
you to imagine the occult applications.

Upgrade Your Hardware

The “Physical Computing” appendix gives many upgrade suggestions. Additionally, there are
several microncontrollers and single-board computers that can be programmed with graphical
programming languages similar to Scratch. Adafruit’s Circuit Playground Express can be
programmed with Microsoft’s MakeCode (as well as CircuitPython—v.i., s.v. “Python”), and
the Crickit robotics board adds several interfaces for physical computing. The Parallax FliP
and Activity Board, which feature the Propeller multi-core MCU, may be programmed using
BlocklyProp. These systems allow you to design more complex circuits than you can make
with Makey Makey or PicoBoard.

Speaking of circuits, another path to better hardware and interactions is learning electronics.
The “Recommended Reading” list includes several books for various levels of experience,
and both Adafruit and SparkFun have online tutorials across the spectrum of experience but
that are focused on hobbyists and tinkerers.

The material artifacts featured in Technomancy 101 were made with pretty simple and
common materials and techniques. Much more is possible with screen printing, chemical
etching, laser cutting, 3D-printing, soldering, &c. Again, some of the titles listed in the
“Recommended Reading” list can help get you started with such tech.

Learn a New Language

Have you tried any of the languages inspired by Scratch?

Scratch is a legitimate programming language that excels at doing certain things such as
making interactive animations quickly. There are many things you can do with Scratch, but
also many you cannot. To do those other things, you need a different language. There are
hundreds of programming languages out there; some are quite general while others are more
specific to certain applications, but they all have different strengths and weaknesses in various
contexts. Following are the languages I use and enjoy the most.

Python

Python is a general-purpose language that is easy to learn but robust enough for a wide variety
of applications. Like Scratch’s extensions and modifications, Python has modules, packages,
and libraries available for various subjects and tasks, e.g., pygame for making video games, or
pyro for robotics. Python is a good first move from block-based to text-based programming,
and there are free, online tutorials to assist with that transition. Python comes bundled with
the Raspbian operating system for the Raspberry Pi, and there are also many tutorials for
programming the Pi with Python.

• Python for Beginners


• The Hitchhiker’s Guide to Python
• Programming for Everybody (Python) @ Coursera
• Learn Python @ Codeacademy
• Automate the Boring Stuff with Python: Practical Programming for Total Beginners by Al
Sweigart — A good introduction to Python and computer programming, although it is mostly
about practical, text-oriented stuff and not the sort of multimedia art and physical
computing I have featured in Technomancy 101. You can read the book online for free at
automatetheboringstuff.com. Sweigart’s other website, Invent with Python, has other
Python books you may read online for free, including Invent Your Own Computer Games with
Python, Making Games with Python & Pygame, and Hacking Secret Ciphers with Python.
• Python mode for Processing—write Processing (v.i.) code in Python
• Python @ CreativeApplications.net

Processing

“Processing is a flexible software sketchbook and a language for learning how to code within
the context of the visual arts” (processing.org). It is the language I first began doing
technomancy with, and I still do much of my work with it. Overall, Processing is my favorite
programming language. It works great for doing things with images, sounds, and video, and
so it is in some ways a natural next step up from Scratch. The Processing IDE was the
inspiration for the Arduino IDE, and Processing and Arduino work well together—like a more
advanced Scratch + PicoBoard.

• “A Modern Prometheus: The History of Processing by Casey Reas and Ben Fry”
• Processing Tutorials
• Processing Libraries — listing of standard and contributed code libraries that extend
Processing’s functionality
• OpenProcessing — an online repository of Processing sketches
• Learning Processing: A Beginner’s Guide to Programming Images, Animation, and Interaction
and The Nature of Code by Daniel Shiffman
• The Coding Train, also by Shiffman (uses a JavaScript implementation of Processing—see
more about JS, below)
• Processing: A Programming Handbook for Visual Designers and Artists — one of my favorite
books, full of examples and explanations, stories about and interviews with computer artists,
informative appendices, and an excellent list of related media
• Introduction to Computational Arts: Processing @ Coursera
• Processing @ CreativeApplications.net
• Introduction to Processing on the Raspberry Pi

JavaScript

JavaScript is used mostly for web programming and especially for interactive elements in a
web page, but it is so popular it has been extended to other applications including as robotics,
physical computing, and the Internet of Things. There are two JavaScript implementations of
Processing: processingjs and p5.js.

• Microsoft MakeCode is a good way to learn JavaScript via a Scratch-like interface. For a
compatible hardware platform, I recommend the Adafruit Circuit Playground Express Base
Kit, which you can also program in CircuitPython if you want to begin learning Python as well.
The micro:bit can also be programmed with MakeCode, JavaScript, or Python, and also
interfaces with Scratch 3.0. Both the Circuit Playground Express and micro:bit have CRICKITs
to extend their functionality.
• Computer Science 101 @ Coursera
• Introduction to JavaScript @ CodeAcademy
• JS @ CreativeApplications.net
• Node-RED is a graphical programming tool for the Internet of Things, which is built on
Node.js, and which comes bundled with the Raspbian operating system for the Raspberry Pi
• A list of JavaScript game engines

C is one of the oldest programming languages, and it is still one of the most popular overall
(usually jockeying with Java for first place). C has a reputation for being “close to the metal”
(though not as close as assembly), and it is widely used for programming embedded systems
and robots. If you really want to understand how computers work, on their own terms, you
would do well to learn some C.

• Learn to Code with C (on the Raspberry Pi) by Simon Long


• The C Programming Language by Brian W. Kernighan and Dennis M. Ritchie is widely held to
be the best C text book
• The C Book by Mike Banahan, Declan Brady and Mark Doran is the other best C book (the
second edition is freely available online here)
• J. Erickson’s Hacking: The Art of Exploitation is one of my favorite introductions to C and shell
scripting

MIT App Inventor

There are many mobile applications one could develop for occult activities, and several of the
Technomancy 101 projects would work well as apps for phones and tablets. You can develop
mobile apps with some of the languages already mentioned, but the MIT App Inventor is a
visual language inspired by Scratch that includes blocks for interacting with common mobile
device sensors.

Game Engines

Game engines are especially well suited to technomancy because computer games usually
involve doing interactive things with images and sounds. Also, making games is a fun way to
learn to code (my first programs were BASIC games in the early 1980s). When I began
learning Python, I found that my experience with making Processing GUIs for Arduino
translated well to PyGame and PyGame Zero (a simpler implementation of PyGame), and
there is even a tutorial for going from Scratch to PGZ (if I were to make a Technomancy 201,
it would likely feature PyGame Zero and a micro:bit or Circuit Playground Express).

Two of the most popular dedicated engines are Unity or Unreal. Both are used regularly to
produce everything from big-budget, commercial games, to independent and experimental
titles. They are also used to develop for virtual and augmented realities, which are currently
undergoing a renaissance. With a mobile phone, a cardboard box, and a free game engine, you
can rapidly make stuff that is in many ways superior to what pioneers were working on during
VR’s first big boom in the 1990s. Both Udacity and Udemy offer courses in VR development
with Unity and Unreal Engine, and some of the beginner tutorials are even free.

If Unity and Unreal are bigger than you need, try a smaller engine or framework, e.g., Godot
or Phaser.

The Best Advice I Can Give You


…is design for action. There is surely a place for speculation in the occult, but so much of
what has been written about magic and technology together suffers from too much hyperbole,
abstraction, or generalization. Here is one example:

High technology and high magic are the same thing. They both use tools from
inner resources and outer resources. Magic from the ancient past and
technology from the future are really both one. That is how we are creating
the present; we're speeding up things, we are quickening our energies; time
and space are not as rigid as they used to be; the belief system isn't
there. Those who did control it have left the plane; they have been forced
out because it no longer is their time. Those of us who know how to work
through time and space are using our abilities to bend time and space into
a reality that will benefit people the most.1

Sounds pretty cool, right? But what does it really say? Certainly not much about how to do
technomancy. Remember this from the first lesson: the computer is a medium, and what most
differentiates it from other media is interactivity. Designing for doing, for action, will
“quicken your energy” as a technomancer much more than conflating magic and technology
in a merely speculative or figurative way. Magicians tend to be pretty good at making
connections between things, so think about connecting the magical with the computational
physically, somatically, ritually; not just conceptually or poetically.

The second best advice I can give you is this:

When in doubt, make it weird.

1. Douglas Rushkoff (quoting Green Fire), Cyberia: Life in the Trenches of Hyperspace
(HarperCollins, 1994).

Digital Media
• Images in Scratch
o Displaying Text in Scratch
• Sounds in Scratch
o Making Music in Scratch
• Web Sources of Images & Sounds
• Making Your Own Images & Sounds

Digital media are images, sounds, text, &c., that can be stored, transmitted, processed, and
accessed by digital computers. Multiple kinds of digital media working together are called
multimedia. The implementation of computers as boxes for presenting multimedia is
contradistinct to physical computing, although there is always a physical component to digital
media, such as the memory cells that store them, or the patterns of light or sound vibrations
that manifest them to the senses. As well, there is always a digital component to physical
computing. Technomancy 101 utilizes both multimedia and physical computing, often
combining them such that physical actions produce changes in the images or sounds Scratch
exhibits.

Due to the textual nature of the command-line interface, most computer programming
languages treat data (as text) first, and images and sounds later if at all. Scratch excels at
doing things straight away with images and sounds, which may appeal to those who might be
inspired to take up multimedia programming but who are incurious about data processing or
other aspects of computing per se (which Scratch can also do).

In this appendix, I explain some peculiarities of digital media in Scratch, and suggest sources
of visual and audio media for use in your own projects. N.b., most of this information is based
on Scratch 2.0 and may apply differently or not at all to other versions.

Images in Scratch

Scratch can display images as sprite costumes or stage backdrops, and generate turtle graphics
with the pen feature. Scratch has a built-in image editor for creating or editing bitmap (a.k.a.
raster) or vector graphics (see this article for more about the differences between them), and
you may import PNG, JPG/JPEG, GIF, and SVG file types.
The Scratch screen area is 480 pixels wide × 360 pixels high. Larger bitmap images are
automatically scaled down when imported; vector images are not. Scratch has a full-screen
mode that enlarges the Scratch screen area while maintaining the 4:3 aspect ratio, which is
great for viewing projects on a large television or projected onto a wall or other surface.
Left: an animated magic circle and sigil projected onto the floor, with spaces for actual candles. Right:
a pentagram and animated caput draconis glyph projected onto a skull.

This mini video projector has a 1/4 inch 20 UNC thread hole to fit on tripods and similar mounts, so it
may be placed in various locations including on high to project down onto the ground.

When Scratch is run in full-screen mode, vector graphics scale to fit the larger size, whereas
raster (bitmap) graphics and graphics drawn by the pen are stretched and become blurred and
pixelated.
You can sneak large bitmap images into Scratch by embedding them in a SVG file and using Scratch’s
set size to ()% or change size by () block to shrink them back down after importing the SVG into
Scratch. When running Scratch in full-screen mode, such images do not pixelate the way bitmap
images do. To see what I mean, compare this project to this one, running both in full-screen mode.

Scratch supports transparency and semi-transparency in GIF, PNG, and SVG image formats,
although the transparency of SVG images is sometimes lost when importing. You can import
SVGs with partial transparency that were made in Inkscape (v.i.) if you do it this way.
Scratch’s ghost effect can also be used to make a sprite transparent or semi-transparent.

There are some known problems with Scratch’s graphic effects in version 2.0. If you are using
any effect other than ghost you can expect performance degradation or vector graphics to
become pixelated (as they are transformed to bitmaps), or both.

Scratch’s graphic effects often behave differently in the online vs. offline editor. E.g, compare
running Technodelic or Technodelic2 online and off; the projects show severe performance
degradation in the offline editor. On the other hand, using any effect other than ghost or brightness
will automatically pixelize vector images in the online editor but not in the offline editor.

Scratch cannot play video files but simple animations are possible by rapidly cycling through
a series of images, and you can also program sprites to move across the screen at various
speeds and in various directions, or rotate left or right. When you import an animated GIF into
Scratch, Scratch automatically creates a new costume for each frame in the file.

While Scratch does not support three-dimensional graphics, there are some projects that
simulate 3D, and an experimental extension that lets you program true 3D graphics in Scratch.

Here are a few Scratch studios related to graphics:

• 2D Pen Projects
• Amazing Art
• Animations
• Blockshade Art
• Lindenmayer Systems! — fractals, recursion, &c., featuring L-systems
• PEN ONLY

Using a touchscreen allows you to interact with Scratch images in different ways:

Video Player

00:00

00:30

Displaying Text in Scratch

You can work with text or string data in Scratch, but Scratch’s only intrinsic means of
outputting variable text to the screen is as cartoonish dialog or thought bubbles, or by showing
the value of a variable or list on screen, none of which bestows any control over typography.
You can draw text into costumes and display it that way; the Scratch paint editor includes six
fonts to draw with, or you may import images made outside of Scratch with whatever fonts
you have installed on your computer. You can even build your own typing system (as I did for
the Oraskul project).

There are Scratch 1.4 modifications, e.g., Scribble, have special blocks for displaying variable
text to the screen using Scratch’s built-in fonts.

Sounds in Scratch

Scratch can play imported MP3 or WAV files, and some musical notes and drum sounds with
the sound blocks. It also has a built-in sound recorder and editor with some basic editing and
effects tools. All audio played through Scratch is monaural; imported stereo files are
automatically mixed and any surround-sound channels are removed.
Prior to version 2.0, Scratch used MIDI sounds for playing notes and drums, but since 2.0 was
developed with Flash which does not support MIDI, the Scratch team made MIDI-like sounds
for playing notes and drums. Thus, the range of available instrument voices was considerably
shortened, however the note numbers are still based on the MIDI architecture. See the Scratch
Wiki page for play note () for () beats, for a list of numbers and their corresponding musical
notes and frequencies (in hertz).

There is an experimental extension that creates sound synthesizer blocks in Scratch. Unlike
regular Scratch audio, these synth tones are stereo and can be panned.

Here are some Scratch studios related to sound:

• Create Music! — an excellent selection of Scratch sound projects including Scratch


Soundpad v1, MIDI Player v2.0-beta (take a minute to load—1909 assets!), and Keyboard
Piano
• ElecTronic Music
• Music Studio

Making Music in Scratch

Versions of Scratch prior to 2.0 used the Squeak MIDI library and included actual MIDI
voices. Since there is no MIDI support in Flash, Scratch 2.0 uses a bank of 21 instrument and
18 drum sounds. The Scratch wiki explains how the notes work. Additionally, several of the
sound files bundled with Scratch are recordings of musical instruments, and you can record or
import your own.
You can make your own keyboards and drum pads with Makey Makey and Scratch’s when ()
key pressed or key () pressed? block. Below are two keyboards I made for playing the
sounds and colors of the seven Hellenistic planets; one is made with electrically conductive
paint, and the other with physical keys that were ritually suffumigated and incanted over at
auspicious hours.

You could also use potentiometers with a PicoBoard to make your own volume and tempo
controls, instrument selectors, &c.

Web Sources of Images & Sounds

There are many online repositories of sound and image files. Some require fees, whereas
others are free to use under certain licenses such as Creative Commons, or because they are in
the public domain. Be mindful that any project you share on scratch.mit.edu is automatically
licensed under Creative Commons Attribution Share-Alike license 2.0 (CC-BY-SA), which
may conflict with the licenses or copyrights of any images or sounds you wish to include in
said project. For licenses requiring attribution, you can include it in the “Notes and Credits”
section of the project’s page, which is also a fine place to credit the source of any third-party
media you have used.

Here are some sources of media that are free to use:


• “Finding Public Domain & Creative Commons Media” by Harvard Law School Library —
teaches you how to identify media licensed for your own use, and also includes links to
several image, audio, and video repositories
• The Internet Archive — my favorite online repository of digital media of all kinds, but n.b.
some of these are copyrighted
• OpenGameArt.org
• Universal-Soundbank.com
• SoundBible
• BBC Sound Effects
• Conserve the Sound

If you have cause to convert an image or sound file from one format to another, I make
frequent use CloudConvert, or some of the editors I will mention next can assist with that.

Making Your Own Images & Sounds

You may obtain your own images and sounds from cameras, scanners, drawing tablets, audio
recorders, &c., and you can get quite artsy with this to create weird, mind-altering
multimedia, or include digital samples of your intended magical effects or targets. Many
professional sound effects are made with common objects, e.g., you can make a laser sound
with a rubber band (check out this guide to creating sound effects for more ideas).

In addition to Scratch’s own paint and sound editors, I use Inkscape, GIMP, and Audacity,
extensively, for generating and editing images and sounds. They are open-source and free to
use. Of course, if you have access to premium editors such as Adobe Photoshop, Illustrator,
Audition, &c., you may rely on those.

Following are some online editors and generators of sounds and images.

• Pixlr Editor — cloud-based photo editor and bitmap drawing application


• Draw SVG — online SVG drawing tool
• svg-edit — Google’s SVG drawing editor
• Paulstretch — Stretches audio over time, turning almost any sound into an ambient drone
soundscape. If you use Audacity, Paulstretch is included as an available effect.
• Soundation, Audiotool, and AudioSana — online music and sound effects studios (try
AudioSauna with Makey Makey)
• Online Tone Generator — just what it says
• P22 Music Text Composition Generator — Translates text into music. You can use it to make
musical “sigils” from statements of intent.
• Musicalgorithms — Tools for composing algorithmic music. Also good for making musical
sigils.
• FastHub.net — online text-to-speech (TTS) synthesizer for personal/non-commercial use
• YAKiToMe — another free TTS tool free for personal/non-commercial use
• Text2Speech.org — TTS free for any purpose including commercial

Physical Computing
• Switches
• Transducers
• Interfaces
o Camera & Microphone
o Makey Makey
o PicoBoard
o LEGO WeDo
o Arduino
o Raspberry Pi
o Others

Personal computers have evolved in an office environment in which you sit on your butt,
moving only your fingers, entering and receiving information censored by your conscious
mind. That is not your whole life, and probably not even the best part.
—Dan O’Sullivan and Tom Igoe, Physical Computing:
Sensing and Controlling the Physical World with Computers

Physical computing is about computers interacting with more of the physical world, and using
more of our physical bodies to interact with computers. “GUI technology allows you to drag
and drop, but it won’t notice if you twist and shout.”1 In this appendix I shall explain two key
ideas in physical computing, switches and transducers, and then show several interfaces for
switching and transducing with Scratch. But first I would communicate some sense of the
bigger picture of physical computing, because I believe it is one of the most important aspects
of technomancy, especially as it is transmitted uniquely via Technomancy 101; and because it
is fundamental to the connection between technomancy and robomancy.

Although the physical computing movement per se began recently, it is closely related to
cybernetic ideas dating back to the early- and mid-20th century. Recall the “sensation/action
paradigm of computing” I mentioned in the introduction; following are some diagrams
showing how physical computing is related to the idea of how entities (whether organisms,
mechanisms, or ???) interact with their environments.

Wikipedia, showing interaction as flows of sensor and actuator


activity between an interactive system and the real world [3PC]
“The feedback loop,” reproduced from Radical Constructivism: A Way of Knowing and Learning
(1995) by Ernst von Glasersfeld. This diagram is turned 90° with respect to the above diagrams: think
of everything above the ORGANISM/ENVIRONMENT dividing line as human, and everything below it
as the cloud—or vice versa. The key addition here is feedback, requiring two parts: the control signal,
i.e., the “observed input condition,” and the comparator, which compares (via the sense organ, or
sensor) the system’s actual output to its desired output (the “reference”) and adjusts the output (via
the action organ, or actuator) accordingly to bring it in line with whatever is desired. This cybernetic
model of feedback was anticipated by the biosemiotics of Jakob von Uexküll.

Roomba—but that is taking us into robomancy territory!

Switches

In electrical engineering and electronics, a switch is a device that can interrupt the flow of
electricity through a circuit or divert electricity from one part of the circuit to another. Perhaps
the most common example is a light switch: in one state (“on”) it passes electricity through
the lamp causing the latter to illume; in another state (“off”) it prevents electricity from
reaching the lamp and so the lamp remains dark.

source)]
Digital computation involves switches in two ways. One is encoding. E.g., you could say that
the switch being open (indicated by the lamp being off) represents logical falsity, and the
switch being closed (indicated by the lamp being on) represents logical truth. If someone were
to ask you a true-or-false (or yes-or-no) question, you could answer by switching the lamp on
or off. All binary data are essentially encoded this way; e.g., the letter ‘A’ in the ASCII
encoding scheme is represented by the binary value ‘01000001’, which you could express
with eight switches (or one switch eight times): the first one open, the second one closed, the
next five open, and the last one closed.

The other way digital computation uses switches is with logic gates, which output a value
dependent on the state of one or (usually) more input values.2 E.g., a simple AND gate has
two inputs and one output; if both inputs are ‘true’, the gate outputs ‘true’; if either input is
‘false’, the gate outputs ‘false’. An OR gate returns ‘true’ if either input is ‘true’, and only
returns ‘false’ if both inputs are ‘false’. A NOT gate has but one input and returns ‘true’ if the
input is ‘false’, and ‘false’ if the input ‘true’. Computers use combinations of logic gates to
make decisions: if a and (b or c) and not d then e, &c. Computer programming statements that
make choices between multiple possible states are like software switches, and some
programming languages even include a switch statement that implements a specific kind of
decision.

Computers and computer software allow us to make complex or unique switches more easily
than by implementing such things in hardware alone.

Without a computer, you can connect a button being pressed to a light


turning on. With a computer, you can make the relationship between the
button and the light more complex. For example, you can make the light's
turning on dependent on the number of times the button was pressed, for how
long it was pressed, or whether it was pressed in conjunction with other
buttons in other rooms or on other continents. You can change the
relationships on the fly; for example, you can make the light come on after
two button presses during the day, and only after one button press at
night. To get the computer to make these relationships between events it
senses and events it causes, you write computer programs.3

Switching allows us to program technomantic interactions that respond to gestures, sounds,


the presence of objects (see “Electrical Materials”), or the actions performed with them.
Examples of switches are observable in many Technomancy 101 projects. The
AppleOfDiscord, e.g., functions quite like a light switch, but instead of a plastic toggle there is
an enchanted apple, and instead of activating a lamp it selects a divinatory sign.

Transducers

Transducers convert variations in one physical quantity to variations in another. The word
‘transducer’ is from the Latin transducere: to lead, bring, transport, or conduct across or over
something. Transduction always occurs across a boundary, such as when the eye receives
light and converts it to electrical impulses that travel to the brain in the act of seeing, or when
electrical signals from the brain activate motor neurons causing hand muscles to move a
pencil along a sheet of paper in the act of drawing. Here the eye and hand are interfaces
between the body and the space it inhabits—interfaces across which interactions take place.

Electronic sensors and actuators do the same thing. A photoresistor, e.g., converts light into
electrical resistance, whereas a loudspeaker converts an electrical audio signal into a sound.
Analog-to-digital converters convert analog electrical signals to digital signals a computer can
understand.

Transducers may be used like switches; e.g., a photoresistor can activate (or deactivate) something
when a certain amount of light is detected. Such is a binary interaction: on/off. But you can also use
transducers in an analog way, which often involves mapping a value from one range to another. E.g.,
the light sensor (i.e., a photocell connected to an ADC in the PicoBoard (v.i.) returns a value between
0 (complete darkness) and 100 (brightest light the sensor can detect). Say you want to move a
Scratch sprite across the screen as the light sensor’s signal changes, from the leftmost side of the
screen in complete darkness, to all the way right in the brightest light. The Scratch screen area ranges
from −240 to +240, for a total of 480 positions—not 100. You need to map the light sensor’s signal
from a range of 1 to 100, to a range of −240 to 240. You can do this using the function:

f(x) = (x − input_start) / (input_end − input_start) * (output_end − output_start) + output_start

Where x is the light sensor value; input_start and input_end are 0 and 100, respectively; and
output_start and output_end are −240 and 240 respectively. Here is a Scratch project I made
that interactively illustrates the mapping function.

Interfaces

There are many devices that can connect to Scratch for the purpose of connecting Scratch to
the physical world. Following are data about the hardware featured or mentioned in
Technomancy 101. These may be combined with electrical materials for a great variety of
technomantic designs.

Camera & Microphone

If you are running Scratch on a recently manufactured computer, there is a good chance that
computer has a webcam with microphone built into it, or you can connect external ones. The
Scratch Sensing palette includes blocks for using your camera and mic as sensors. Here are a
few examples:
Makey Makey

Makey Makey is a set of touch sensors that are interpreted as keyboard or mouse events by
your computer. Since Scratch has blocks for responding to keyboard and mouse events, you
can use Makey Makey to make Scratch react whenever you touch or connect something that is
at least a little electrically conductive. It may be easier to understand what I mean by
observing Makey Makey in action:

You can buy Makey Makey directly from its website, or SparkFun sometimes stocks it.
Makey Makey is based on Arduino (v.i.), and can be hacked and reprogrammed using the
Arduino IDE.

Makey Makey GO is a USB stick that can respond as a single keyboard or mouse event (the
defaults are space-bar and right-click but those can be changed). Unlike the Makey Makey
Classic, the GO does not require a ground connection, which makes it even easier to use. I
like the GO so much I keep one in my sling with my other everyday tools.
There are a few kinds of switches you can implement with Makey Makey. All of the
following examples assume the object you are touching sends a space-bar signal to Scratch,
except the fourth which assumes you are touching two objects: one interpreted as the ‘space’
key and the other as the ‘w’ key (requires Makey Makey Classic).
Makey Makey Classic allows for programming interactions where you connect objects to the
computer and leave them connected for some time, by simultaneously attaching both the
signal and ground wires to the object. E.g., you could make SIBOR function only when its
material sigil, inscribed in electrically conductive paint, is connected to Makey Makey (you
could accomplish this kind of interaction as well with a PicoBoard or Raspberry Pi).

You can use Makey Makey Classic to light an LED or power a small motor when a connected
object is touched, without doing anything in Scratch.

Makey Makey resources:

• Browse all Technomancy 101 projects featuring Makey Makey


• Makey Makey Classic hookup guide and tutorial @ SparkFun
• Makey Makey GO How-To
• 20 Makey Makey Projects for the Evil Genius by Colleen Graves and Aaron Graves
PicoBoard

The PicoBoard was developed by the Playful Invention Company (PICO), and was based on
an earlier apparatus called the Scratch Sensor Board. Today, SparkFun manufactures and sells
this version of the PicoBoard; its functionality is the same. It includes a button that can be in
one of two states (pressed or not pressed); a slider that changes values as it moves from one
side to the other; light and sound sensors; and four electrical resistance sensors.

The PicoBoard works with Scratch 2.0 online or off-line versions, and Scratch 1.4 including
on the Raspberry Pi (v.i.). Its design is open-source, so you can legally modify it or
manufacture your own, and you can sometimes find modified versions online.

The resistance sensors each require a pair of crocodile clips that when connected to an object
measure the electrical resistance of that object. This facilitates programming interactions
involving:

• objects composed of electrical materials


• resistance-based sensors such as photocells (for detecting changes in light intensity),
thermistors (for changes in temperature), reed switches (changes in proximity), and force-
sensitive resistors (for responding to weight or impact)
• buttons, switches, and potentiometers

Here are just a few examples of things you could do with the PicoBoard:

Makey Makey and PicoBoard can both be used to interact with objects made of electrically
conductive materials, e.g., a sigil inscribed in conductive paint, but which one should you use?

Makey Makey is better for when you want something to happen when you touch the sigil,
either with part of your body or with another conductive object connected to Makey Makey.

PicoBoard is superior when you want something to happen so long as the sigil is connected to
the board. The latter can also be accomplished with Makey Makey Classic by attaching the
sigil to signal and ground connections at the same time, but keep in mind that Makey Makey
accomplishes this by repeatedly sending the same keyboard signal to Scratch, which may
interfere if your project requires you to input text at some point; whereas PicoBoard has a
dedicated reporter block within Scratch for returning the value of the sigil’s electrical
resistance.

PicoBoard can also be used to detect temporary contact between two conductive objects, by
attaching each object to one end of the pair of crocodile clips plugged into the board and
detecting the resistance change when they touch, but it is not sensitive enough to detect you
tapping an object with your finger.

PicoBoard resources:

• Browse all Technomancy 101 projects featuring the PicoBoard


• PicoBoard tutorial @ SparkFun — excellent intro to the kinds of things you can do with the
PicoBoard (written for Scratch 1.4 but applies as well to 2.0)
• PicoBoard article on the Scratch Wiki

Here are some Sparkfun products that work well with the PicoBoard (you can get many of
these from Adafruit or other vendors, too):

• big dome pushbutton (available in various colors)


• concave pushbtton (like the ones used on arcade video games; available in various colors)
• momentary button, panel mount (available in various colors)
• toggle switch (add a missile switch cover!)
• rocker switch
• mountable slide switch
• SPDT slide switch
• keylock switch (use with the toggle switch and missile switch cover!)
• LilyPad buttons, switches, and LEDs (these are made to be used with conductive thread)
• rotary potentiometer 10kΩ linear taper (add a knob to it!)
• slide potentiometer 10kΩ linear taper: small, medium, x-large (add a knob to that too: small
and medium, or x-large)
• mini photocell
• thermistors 10K
• force-sensitive resistor: small, round 0.5″, square, or long
• flex sensors: 2.2″ or 4.5″ (make your own power glove!)
LEGO WeDo

source)]

LEGO WeDo is a lower-primary-school STEM education platform that includes a motor,


distance/motion sensor, and tilt sensor, all compatible with the LEGO construction system.
The kits are not inexpensive, but you can acquire the pieces individually from eBay and other
markets. The motor (LEGO part #8883) is the same one found in the LEGO Power Functions
set, and the PF lights (#8870) and extension cable (#8871) also work with WeDo. The
extension cable will also allow you to drive a LEGO Technics 9v mini-motor
(#71427/#43362; out of production but you can still find them for resale), or perhaps a hacked
block for a custom circuit of your own design.

In early 2016, LEGO released WeDo 2.0, which has similar capabilities to the previous
version but features a wireless (Bluetooth) controller with built-in RGB LED and a speaker
that can play tones, and it can interface with all LEGO Power Function 2.0 sensors and
actuators.
Scratch 2.0 and 1.4 include built-in extensions that add blocks for controlling the WeDo
motors and reading data from the WeDo sensors. Scratch 2.0 includes an extension for WeDo
2.0, adding blocks to set the light color and play notes through the speaker

LEGO is highly modular and can be used to rapidly prototype a good variety of machines and
interactions, but it is expensive compared to most of the other tech on this page. If the cost is
prohibitive, do not worry, for anything you can make with WeDo you can make without it; it
just might require a little more work to make it.

• Browse all Technomancy 101 projects featuring LEGO WeDo


• LEGO WeDo Construction Set article on the Scratch Wiki
• Instructions for building the WeDo models
• Instructions for the WeDo 2.0 models
• The LEGO TECHNIC Idea Book Series (Tora no Maki) by Yoshihito Isogawa — an amazing
collection of machines you can build with LEGO, many of which can be animated with the
WeDo sensors and motors. The author also wrote two idea books for LEGO Power Functions:
Machines and Mechanisms, and Cars and Contraptions.
• RoboCAMP has several educational series of models built with WeDo 1.0, including
CityCAMP, SafariCAMP, and StarCAMP — I mention these for inspiration

Following is a list of LEGO part numbers for compatible parts:

• WeDo 1.0 kit: #9580


• 1.0 USB hub: #9581
• 1.0 motor: #8883 (works also with Technic motors #71427 and #43362)
• 1.0 motion/distance sensor: #9583
• 1.0 tilt sensor: #9584
• 1.0 light: #8870
• 1.0 extension wire: is 8″ (20cm) #8886, 20″ (50cm) #8871
• WeDo 2.0 kit: #45300
• 2.0 Smart Hub: #45301
• 2.0 rechargeable battery: #45302
• 2.0 motor: #45303
• 2.0 motion/distance sensor: #45304
• 2.0 tilt sensor: #45305
Arduino

Arduino is an open-source prototyping platform based on the Atmel AVR family of


microcontrollers. There are many different Arduino boards; the one pictured above is the
UNO, the most commonly used board (at the time I wrote this).

Arduino capabilities can be extended with boards call shields that plug into the Arduino’s pin
headers.

Arduino is open-source hardware, so there are legitimate other boards based on its design,
such as the SparkFun RedBoard and Adafruit Metro.

There are a few ways to interface Scratch with Arduino:

• The Scratch Arduino Extension, written for Scratch 2.0, adds blocks for LEDs, servos, buttons,
knobs, and more. You can run this extension in ScratchX.
The Scratch Arduino extension for Scratch 2.0 no longer works in recent builds of Chrome or Firefox. I
do not yet know if there will be a new extension for Scratch 3.0, but I will update this page if that
happens.

• The s2aio, also written for Scratch 2.0


• S4A is a modification of Scratch 1.4, providing new blocks for the Arduino pins. Here is a good
tutorial from Instructables.
• Try mBlock, a Scratch derivative.
• By configuring Arduino as a human interface device (HID), the board can send mouse or
keyboard signals to Scratch.

Raspberry Pi

The Raspberry Pi is an inexpensive, credit-card-sized, single-board computer that can be run


in various configurations including desktop, laptop, video game console, media center, and
embedded system. Raspbian, the Pi’s official operating system, is a variant of Debian Linux
optimized for the Pi’s architecture. The current version of Raspbian includes special versions
of Scratch 1.4 and 2.0 modified to interact with the Pi’s general-purpose input/output (GPIO)
pins. The Pi’s Scratch 2.0 also includes an extension to interface with the Sense HAT
(“hardware attached on-top,” similar to Arduino’s shields; you can also work with the Sense
HAT in 1.4). Scratch 1.4 is able to interface with some older extension hardware for the Pi,
including PiFace and Gertboard.

The Raspberry Pi differs from the other interfaces mentioned here in that it is a personal
computer with the form factor of a sensor board or microcontroller. That means you can run
Scratch on the Pi itself, but operate the Pi in headless or semi-headless mode, i.e., without a
monitor, keyboard, or mouse attached to it. I use RealVNC for remote access to my Pis (I
have several running in various places) from my laptop, tablet, or phone.

Raspberry Pi resources:

• MagPi, the official magazine. MagPi also publishes books about RasPi essentials and projects,
and everything they publish (books and magazines) may be downloaded in PDF for free.
• Scratch 2.0 on the Raspberry Pi
• Creating Scratch 2 Extensions on Your Raspberry Pi — a tutorial on how to write your own
extension for Scratch 2.0 on the Raspberry Pi, which adds several features beyond the
standard GPIO extension
• Scratch 1.4 GPIO
• Raspberry Pi products @ SparkFun
• Raspberry Pi products @ Adafruit

Others

Because Scratch can respond to keyboard and mouse input, any device that can appear to your
computer as a mouse or keyboard, or which has a utility for mapping the device’s data to
keyboard or mouse signals, can interface with Scratch (this is exactly what Makey Makey
does, and the same example scripts for it apply to these other devices as well). This includes
many video game controllers, the Leap Motion controller (which also has a third-party
Scratch extension), the Myo gesture control armband, and the Emotiv EPOC and Insight
brain-computer interfaces. These allow you to program Scratch to respond to your hand
gestures, arm movements, thoughts or emotions, &c.

1. Dan O’Sullivan and Tom Igoe, Physical Computing: Sensing and Controlling the
Physical World with Computers (Thomson, 2004) xvii.
2. This tutorial from Electronics for Dummies illustrates the relationship between
switches and logic gates by showing how to wire two DPDT switches to make AND,
OR, and NOT gates.
3. O’Sullivan and Igoe, op. cit., xviii.

Electrical Materials
• Metal
• Thread
• Paint
• Dough
• Liquid
• Flesh
• Electronics

Electrically conductive materials may be combined with physical computing interfaces to


yield a prodigious variety of technomantic designs. I believe this is one of the greatest
untapped potentials for cybermagic and electric wizardry today; especially for designing
magician-computer interactions that respond to the presence of objects of power or actions
performed with them.

Here I shall loosely define a power object as any material thing imbued with occult dynamis
such that its presence within a ritual or other magical space is sufficient to amplify the magic
therein. Although certain actions may be performed with it, it is usually seen as possessing a
magical agency or potency of its own, either inherent in the shape or materials from which it
is manufactured (by human or nature), or because occult agency or potency was transferred to
it via ritual or other event (such as having belonged to someone special or having existed in a
special place or time—cf. magical contagion). Typical examples of traditional power objects
include jewelry such as amulets and rings; talismans; idols, effigies, and other “graven
images”; and animal fetishes such as are constituted of teeth, claws, bone, fur, or feathers.

Below is a brief animation showing diverse conductive objects interacting with a simple
project via Makey Makey Classic. When an object touches both strips of copper tape, thus
closing the circuit, Scratch responds by changing the red, inverted pentagram to a green,
upright pentagram. The objects include a lock of hair tied with conductive thread; a Mercury
dime; Baphomet ring, play-dough skull; and play-dough hand holding a consecrated bead of
uranium glass (i.e., a conductive object supporting a non-conductive object, like the thread
around the hair).
The circuits described on this page will not shock you to touch them with your bare hands if you use
any of the interface boards described on the “Physical Computing” page. The voltages typically range
from 0 to 5 volts because they are logic-level voltages powered by USB.

Metal

Metals are good conductors hence they are commonly used in electrical wiring. Power
objects—including many traditional ones such as rings, pendants, and daggers—may be
casted or forged in metal, and metal wires and fasteners can connect objects to interfaces.
Although some metals conduct electricity better than others, any should work fine with the
interfaces mentioned in Technomancy 101.

Not everything that seems to be made of metal actually is; e.g., metallic jewelry pieces you find at
hobby or craft stores may actually be plastic or resin with a faux metallic finish. Some actual metals
are coated with non-conductive materials that need to be scraped or sanded off wherever you would
attach an electrical connector.

An ohmmeter, which is included in most multimeters, is helpful for determining whether or


not an object is electrically conductive, by measuring how electrically resistant it is: if it has
low resistance, then it is a good conductor. Check out this SparkFun tutorial for instructions
on using a multimeter.
Thread

Conductive thread made of thin strands of steel of silver is typically more flexible than wire
(steel is a little stiffer, but silver oxidizes which increases its resistance over time), and may
be sewn into paper or fabric. Wrapping a non-conductive object in conductive thread often
suffices to connect that object to an interface.
• Conductive thread tutorial @ Adafruit
• More wearables tutorials @ Adafruit
• Wearable electronics @ Adafruit
• LilyPad Basic: E-Sewing @ SparkFun
• More wearables tutorials @ SparkFun
• E-Textiles @ SparkFun
Paint

SigilPen.

Sigils and other graphical devices inscribed in conductive paint or ink (you can even draw
them with a graphite pencil) have a wide range of creative applications in the occult arts.
Conductive paint may be brushed or screen-printed onto various surfaces, and you can mix in
arcane liquids such as St. Cyprian ink; or dragon’s blood, dove’s blood, or bat’s blood ink; or
small quantities of solid material.

Connecting sigils drawn on paper or parchment to an electronic interface usually requires


attaching wires or conductive thread. If using crocodile clips to connect a sigil to Makey
Makey or a PicoBoard, Book Darts work well to protect the paper (I prefer the stainless steel
ones), but common paper clips work as well (although some have a protective coating you
will need to remove with a blade or sandpaper), and many more ornamental solutions are
possible. You can also just use the paint itself or a conductive glue to fasten wires or thread to
the sigil.

Dough

You can use conductive dough to sculpt figures of people or other things, inscribe magical
words or symbols, or take impressions from various objects. You can make your own or use
the commercial stuff, and mix in small quantities of essential oils or other arcane materials.
Insulating (a.k.a. resistive) dough may be paired with conductive dough to make more
complex circuits. Be sure not to let conductive dough dry too much; its conductivity depends
on moisture.

Scholastic makes a Circuit Clay that does the same kind of thing but holds its shape a little
better than dough. You can also sculpt idols, effigies, and other objects from ordinary clay, let
the clay dry, then insert wire through it, wrap conductive thread around it, coat it in
conductive paint, &c., to make it interactive.

Liquid

Water typically has low conductivity compared to, say, copper wire, but it is more conductive
than air, so you can detect when it has been connected to an interface, typically by
submerging a pair of electrodes into a container holding the liquid.

You can improve water’s conductivity by increasing its salinity, i.e., by adding salt, which
increases the concentration of ions in the water; see “Ye Essential Saltes” for more
information. Amalgamate with oils, herbs, or other materials as appropriate to make elixirs,
potions, philtres, &c., that can interact with the computer, keeping in mind that passing a
direct current through water will produce polarization and electrolysis; again see “Ye
Essential Saltes” for more info.

Flesh

Makey Makey’s capacitive touch sensors are sensitive to many organic materials, even (more
or less fresh) fruits, vegetable, flowers, and leaves. They usually respond well to contact with
skin, although in arid climates you may need to lightly moisten the skin’s surface.

Electronics

Electrically conductive and resistive materials are used in the manufacture of electronic
components, several of which may be used with Scratch’s physical computing interfaces.

The PicoBoard’s resistance sensors use 5 volts of electricity to measure resistance, and that
5V can power an LED. Since you need a resistor in series with the LED, when you connect
the LED + resistor to the board, the resistance change is measurable and detectable in Scratch.
Thus you can attach an LED + resistor to a non-conductive object, and when you connect the
object to the interface, not only will Scratch respond by doing whatever you have
programmed it to do, but the LED will illume giving you an immediate visual sign of the
object’s connectivity. I like the LilyPad LED packages because they have built-in resistors
and work well with conductive wire, tape, thread, and paint.

An LED is a light-emitting diode, and a defining characteristic of diodes is that they conduct current in
only one direction. This means that when you connect a pair of the PicoBoard’s crocodile clips to the
LED, the red (positive) clip must connect to the LED’s anode side, and the black (negative or ground)
clip must connect to to the LED’s cathode side. The resistor can go on either side, between the clip
and the LED. If you connect the clips and the LED does not light up, no big deal; just switch the clips
or the LED around to connect them the opposite way (if the LED still does not illume, then polarity is
not your problem).
Ye Essential Saltes
• Making the Essential Salts
o Obtain the Salt Water
o Transfer the Essence
o Evaporate the Water
o Pulverize and Store the Salt
• Using the Essential Salts
o Electrical Considerations

[This article was originally published on my Hyperritual blog, February 3, 2017.]

This article provides a formula for making essential salts for use in magical arts. I originally
developed (a more peculiar version of) the formula for an ancestral rite inspired by H.P.
Lovecraft’s The Case of Charles Dexter Ward wherein Lovecraft describes an operation for
raising the dead from their ‘essential Saltes’, i.e., ashen remains. It seems Lovecraft got the
idea from Puritan minister and witch hunter, Cotton Mather (paraphrasing Borellus a.k.a.
Pierre Borel):

The essential Saltes of Animals may be so prepared and preserved, that an ingenious Man
may have the whole Ark of Noah in his own Studie, and raise the fine Shape of an Animal out
of its Ashes at his Pleasure; and by the lyke Method from the essential Saltes of humane Dust,
a Philosopher may, without any criminal Necromancy, call up the Shape of any dead
Ancestour from the Dust whereinto his Bodie has been incinerated.1

Lovecraft’s story would have been less entertaining sans ‘criminal Necromancy’, so he
restored a ritual element to the use of the ‘Saltes’, based on Eliphas Levi’s writings on black
magic.2 In any case, the formula may be more generally applied as I will show.
Salt is one of the Three Essentials in Western alchemy; the other two being Sulfur and
Mercury. It is the Body of a living thing, where indwell that thing’s Soul (consciousness) and
Spirit (vital force, animating principle). The spagyric process consists of separating out the
Three Essentials of a plant, purifying them, and then cohobating them. The essential oil
(Sulfur) and alcohol (Mercury) are purified via recurrent distillations; the essential salt is
purified via calcination, i.e., incinerating the dead plant matter that remains following
distillation, until it becomes a fine, white ash, which is then recombined with the purified oil
and alcohol—solve et coagula.

Although my formula is based on attributing spiritual meanings to chemical changes à la


alchemy, it differs from alchemy in an important way. The aim of the art spagyrical is to
release and rarify the already indwelling spirit or essence of a medium, whereas my technique
involves projecting an essence into a medium, viz., a matrix of salt and water, and afterward
evaporating the water to concentrate the essence within the salt. Thus, the sorcerer may
produce essential salts for anything she can evoke within the medium, and she is not limited
to the inherent essences of minerals, plants, and animals (which I concede may be more potent
in certain applications). Such salts so made may be diversely employed in various acts of
ritual magic, including electronic thaumaturgy.
Making the Essential Salts

The formula outlined is as follows:

1. Obtain an appropriate quantity of salt water


2. Transfer the desired essence to the salt water
3. Evaporate the water and calcine the salt
4. Pulverize and store the salt

Obtain the Salt Water

There are various reasons for using saline water as a medium for the essence transfer that
follows, rather than evoking directly into the salt itself. The operation that transforms the
salt’s essence is a kind of magical contagion,3 and while water is often known as a purifier, it
is so because of its ability to dissolve and wash away soil and the contaminants associated
with “dirt.” “[It] is irresistibly the element of memory […] water takes on and retains all that
is washed within it.”4 “As a solvent, water makes solid and tangible substances like earth and
salt lose their coherence and transform into something else, and this becomes a model for the
way that water can carry other kinds of powers and essences that are more arcane, but equally
invisible.”5 Elemental water is commonly understood as being “the most passive, receptive
element, and the greatest receiver and absorber of energy.”6 It also signifies the liquid state
between earth (solid) and air (gaseous), and so makes a fine quick-body into which to
combine the subtle with the gross. The analogy between deep waters and the deep mind
makes evoking into water analogous to implanting an idea in the deep or unconscious mind.
The journey of collecting and then evaporating the water and separating the salt is, like the
spagyric art, a process through (not just by) which the sorcerer produces a rarer and more
potent product.

The best brine is procured from the ocean at an auspicious time such as during a ritual at
midnight when the moon is new or full (i.e., during spring tides; water, especially sea water,
has a strong connection with the moon). If you are unable to travel to the shore, you can buy
sea salt from a grocer and dissolve it in collected rainwater. Salinating tap water with table
salt would work also, I suppose, but I discourage you from using iodized salt.7

The quantity of salt water required for the operation depends on how much salt you wish to
produce and how large a volume of liquid you would transfer the essence to. Contingent on
the actual measure of its salinity (normally between 3.5% and 5%), one gallon of seawater
will usually yield 4 to 4.5 oz. of salt crystals (by weight; 1 oz. of ground salt equals nearly 5
tsp. by volume). If making your own salt water, you should receive nearly the same quantity
of salt as you submitted.

If using seawater, strain it through a sieve or other filter to remove any debris before pouring
it into a vessel for the essence transfer. If making your own salt water, you can heat it just to a
boil to help dissolve the salt, then immediately remove it from the heat source and allow it to
cool to ambient temperature before proceeding.

Transfer the Essence

There are many ways to go about transferring the desired essence into the salt water, and I
encourage you to use those that are familiar. One simple way employs a combination of
sigilization and visualization. Firstly, having contained the salt water in a suitable vessel (I
use a clear, glass bottle that has been consecrated) and identified the thing you will call the
essence of, construct its sigil by one of the usual means, and draw that either on the vessel
itself or on a flat surface beneath the vessel. You may situate said sigil in the center of a
device incorporating additional sigilla or other signs supporting agents, as illustrated below.
Having prepared and arranged all materials for the rite, contemplate the essence until you
determine a suitable color and temperature or feeling for it,8 and then visualize that color
either rising from the sigil beneath the vessel or projecting from your hands if you are invoked
of an agent to assist the transfer. Direct the color to suffuse the entire quantity of liquid,
amplifying it as needed, until you are satisfied of the essence transfer to the water.

The basic formula may be made more elaborate as needed.

Evaporate the Water

You can find instructions in books or online for various means of separating salt from salt
water. Here is the method I use: Boil the solution in a clean pot until about 90% of it has
evaporated (you may collect the distilled water as it evaporates). The remaining water will be
thicker than when you began, and salt crystals will already have begun forming on the sides of
the pot. Pour this condensed liquid into a glass baking dish and place that outside in the sun to
finish evaporating. Do not leave it out overnight if you are in a climate that accumulates
moisture at that time, as the salt will absorb water from the surrounding air (hygroscopy), and
may deliquesce in sufficiently humid environments. If you are working in high humidity, or if
the weather is averse, place the pan in an oven set to its lowest temperature (mine is 170° F),
until the salt has dried.

While the water is boiling and evaporating is a good time to meditate on how the “ghost” of
whatever you evoked vaporizes into the æther, leaving the corpus behind for you to work
with. It is also appropriate to incant prayers or spells or perform ritual acts at this time, which
reinforce the network between the spiritual essence, the material salt, and the magical work
you intend to do with them.

When the salt is dry, you can either grind it immediately or calcine it over a flame or on a
stove thus cremating the body. The latter will make the salt drier still, and more ashy, but
could color it—which might be an intentional effect if you desire grayer ash. Calcining in a
clean and proper crucible is the surest way to avoid introducing impurities to the salt. Heat the
crucible in a bed of sand to help evenly distribute the heat around it and prevent hot spots.

Once solvent and solute have been separated, the salt remains an indexical link to the essence
that was transferred to the original solution.

Pulverize and Store the Salt

Scrape the salt out of the pan or crucible and grind it with a mortar and pestle until it becomes
like fine ash, which is how you should treat it from here on: as being no different than the
cremated body of that which you earlier evoked. This is another opportunity to further
enchant the materia magica.

Move the salt to a dry, glass bottle or other container that you seal and label. Be mindful of
how you dispose of any salt residue on your utensils. I rinse mine in consecrated water at a
crossroads (living in the city, I find that planted traffic circles suffice).

Using the Essential Salts

The enchanted salt may be used as a magical link in any appropriate ritual or magical activity.
Sprinkle some on hallowed ground or on a sigil. Dissolve some in ink or paint, or a
sacramental libation. Keep the salt in an urn on your altar and give it devotions. &c. &c. In
my work with technomancy, robomancy, &c., I use such salts in my electronic circuits either
my mixing them into conductive paints or inks, or by dissolving them in a small vial of
water—thus increasing the electrical conductivity of the water—which I connect to the
circuit. So connected, the salt helps inform the subtle or occult temperament of the circuit or
the magician-computer interaction the circuit is part of.
Electrical Considerations

Most of my circuits are powered by direct current (DC), which has some effects when passed
through water via a pair of electrodes:

• Polarization occurs when positively charged ions accumulate at the cathode and negatively
charged ions gather at the anode, appearing to reduce the aqueous solution’s conductivity.
• Electrolysis occurs when the electric current causes the water molecules (H2O) to split, and
hydrogen gas appears at the cathode while oxygen gas appears at the anode.
• The metal of which the electrodes are composed, or any chemicals coating the electrodes or
the vessel containing the water, or present in the water itself, may react to the electric
current.

I favor Fig. 4 — Robot shaman with vial containing 2 mL of enchanted saline


solution129electrodes made of stainless steel (usually 22 gauge, type 316, although 304 may
work as well for this), which is inexpensive and an inert metal so it does not produce
unwanted effects. When employing the aqueous solution in a circuit involving a
microcontroller, I usually connect it to an input pin and program the microcontroller to
respond to the connection; thus the solution becomes effectively a switch. At 3.3 or 5 V,
neither polarization nor electrolysis is usually a significant problem, but where it may
constitute difficulty there are ways to attenuate or prevent such effects, including adding an
oscillator to the circuit to alternate the direction of current flow.

1. “Sources of Necromancy in Charles Dexter Ward,” CthulhuFiles.com,


http://www.cthulhufiles.com/necro/necromancy.htm.
2. Ibid.
3. For more about this, see “Transformative Magical Action: The Essence Blend” in
Jesper Sørensen, A Cognitive Theory of Magic (AltaMira Press, 2007) 97–111, which
includes e.g. the transformation of bread and wine into the flesh and blood of Christ in
the Eucharist.
4. Gemma Gary, Wisht Waters: Aqueous Magica and the Cult of Holy Wells (Three
Hands Press, 2014) 129.
5. Richard Wilk, “Water Magic,” Academia.edu,
https://www.academia.edu/1526872/Water_Magic.
6. “The Four Elements,” GreekMedicine.net,
http://www.greekmedicine.net/b_p/Four_elements.html.
7. Table salt often has chemicals added to it, but sea salt also contains trace minerals, and
sea salt and table salt contain commensurate quantities of sodium chloride.
8. Philip H. Farber’s Meta-Magick evocations are well suited to this purpose. See Meta-
Magick: The Book of ATEM and Brain Magick: Exercises in Meta-Magick and
Invocation.

The Cyberpunk as Modern Alchemist


This is an excerpt from Timothy Leary‘s “High-Tech Paganism.” If it inspires, I recommend
reading the rest of the essay and also “The Cyberpunk: The Individual as Reality Pilot”; both
can be found in Chaos and Cyber Culture (Ronin, 1994 & 2014).

The baby-boom generation grew up in an electronic world (1960s to 1970s) of turn-on, tune-
in television and personal computing screens. The cyberpunks, growing up in the 1980s to
1990s, develop new metaphors, rituals, lifestyles for dealing with the universe of information.
More and more of us are becoming fuzzy logic shamans and digital alchemists.

The parallels between the culture of the alchemists and that of cyberpunk computer adepts are
numerous. Both employ knowledge of an occult arcanum unknown to the population at large,
with secret symbols and words of power. The “secret symbols” compose the languages of
computers and mathematics, and the “words of power” instruct computer operating systems to
complete Herculean tasks.

Knowing the precise code name of a digital program permits it to be conjured into existence,
transcending the labor of muscular or mechanical search. Rites of initiation or apprenticeship
are common to both. “Psychic feats” of telepresence and action-at-a-distance are achieved by
selection of the menu option.

Young digital alchemists have at their command tools of a clarity and power unimagined by
their predecessors. Computer screens are magical mirrors, presenting alternate realities at
varying degrees of abstraction on command (invocation). The mouse or pen of the digitizing
tablet is the wand, controlling the fire of the CRT/monitor display and harnessing the creative
force of the operator. Spinning disk drives are the pentacles, inscribed with complex symbols,
earthen tablets to receive the input of “air”, resulting in the crackling intellectual electricity of
the processor chip circuitry programming. The RAM chips are, literally, the buffers (“buffer
pools”), the water, the passive element capable only of receiving impressions and
retransmitting, reflecting.

Iconic visual programming languages are a Tarot, the pictorial summarization of all
possibilities, activated for divination by juxtaposition and mutual influence. It is a Periodic
Table of Possibilities, the Western form of the Eastern I Ching. Traditional word-oriented
programming languages—FORTRAN, COBOL, and the rest—are a degenerate primitive
form of these universal systems, grimoires of profit-oriented corporations.

Detailed database logs of the activity of operating systems form the Akashic records on a
microscale. At a macroscopic level, this is the “world net” knowledge base, the worldwide
online hypertext network of information soon to be realized by the storage capacity of CD-
ROM and the data-transmission capability of optical fiber—William Gibson’s cyberspace
“matrix.”

Personal transmutation (the ecstasy of the “ultimate hack”) is a veiled goal of both systems.
The satori of harmonious human-computer communication resulting from the infinite regress
into metalevels of self-reflection is the reward for immaculate conceptualization and
execution of ideas.

The universality of 0 and 1 throughout magic and religion—yin and yang, yoni and lingam,
cup and wand—are manifested today in digital signals, the two bits underlying the
implementation of all digital programs in the world in our brains and in our operating disks.
Stretching it a bit, even the monad, symbol of change and the Tao, visually resembles a
superimposed 0 and 1 when its curving central line is stretched through the action of
centrifugal force from the ever-increasing speed of rotation of the monad.

Embodied Cognition
Cognition is embodied when it is deeply dependent upon features of the physical body of an
agent, that is, when aspects of the agent’s body beyond the brain play a significant causal or
physically constitutive role in cognitive processing.
—”Embodied Cognition,” Stanford Encyclopedia of Philosophy

Together with physical computing, embodied cognition informs much of the technomantic
theory of Technomancy 101. Following are seven key tenets of embodied cognition proposed
by Mark Johnson (for more about these, see his book, The Aesthetics of Meaning and
Thought: The Bodily Roots of Philosophy, Science, Morality, and Art).

1. Consciousness, mind, meaning, thought, and value are grounded in our embodied
engagement with our world, and they are emergent phenomena of the increasing
functional complexity of the organism.
2. These phenomena exist only because mind is, through our embodiment, embedded
within our surroundings that offer affordances for our perceptions and actions.
3. The term enactive captures the way our ongoing transactions with aspects of our
environment reconfigure experience. Meaning and value are enacted in the very
process by which the organism engages its environment.
4. Extended mind recognizes the many ways we off load cognitive processes, resources,
and products into structures in our environment.
5. The emotional character of consciousness, meaning, and mind marks the felt,
qualitative dimensions of our enactive coupling with, and remaking of, parts of our
surroundings.
6. Meaning and cognition emerge through evolutionary development that is continuing
as we speak, and will carry forward indefinitely in the future.
7. Human congition is exaptative—our “higher”-level thought is rooted in and recruits
our sensory, motor, and affective processes to generate abstract concepts and patterns
of reasoning.

Further reading:
• Lawrence Shapiro’s books are a good place to begin: Embodied Cognition and The
Routledge Handbook of Embodied Cognition (you may download the latter’s
introduction for free). Shapiro also wrote the article on embedded cognition for The
Oxford Handbook of Philosophy of Cognitive Science.
• One of the earliest books on embodied cognition, The Embodied Mind: Cognitive
Science and Human Experience by Francisco Varela, Evan Thompson, and Eleanor
Rosch, links embodied cognition with Buddhist groundlessness.
• The New Science of the Mind: From Extended Mind to Embodied Phenomenology by
Mark Rowlands
• Ecology of the Brain: The Phenomenology and Biology of the Embodied Mind by
Thomas Fuchs

Frequently Asked Questions


1. What is technomancy?
2. Is this about robots?
3. What does technomancy have to do with Frater U∴D∴’s “cyber magic”?
4. Does magic really need another “101” lesson?
5. Why don’t you write a proper book about this stuff?
6. Isn’t technology antithetical to magic?
7. Isn’t magic just technology we don’t yet understand?
8. This or that program you’ve written isn’t optimized.

What is technomancy?

My answer. Your magic may vary.

Is this about robots?

Not exactly, although it is not not about robots.

Technomancy 101 grew out of some tutorials I was developing for my forthcoming
robomancy project, combined with parts of stuff I had done earlier such as the Beginning
Interactive Multimedia Ritual Design course. In a sense, robomancy is a subset of
technomancy; it is more specialized. I wanted something with broader appeal and application
to help bridge the gap between magic and robotics. Separating the technomancy stuff out into
a standalone set of examples has allowed the robomancy project to achieve a depth I had not
anticipated when I embarked on it. It is a natural successor to Technomancy 101, and when it
is published I shall update this site with links to it.

What does technomancy have to do with Frater U∴D∴’s “cyber magic”?

Nothing really. U∴D∴ (a.k.a. Ralph Tegtmeier) published a document in 1991 in which he
described a taxonomy of magical models or paradigms that became popular in Chaos magic.
Briefly, the four models are: (1) the spirit model, in which magic works through the actions of
or inter/actions with spiritual entities; (2) the energy model, in which magic works through
manipulating esoteric energy; (3) the psychological model, in which magic works through the
activities of the subconscious or unconscious mind; and (4) the information model, in which
magic works via information transfer (n.b., computers are not at all involved except at a
metaphor for information storage and retrieval in the brain). This last is also called by U∴D∴
“cybermagic (from ‘cybernetics’ or the ‘science of control systems’),” but there ends any
similarity between U∴D∴’s idiosyncratic use of the term and cybernetics as I have come to
know it after many decades of study. For more about U∴D∴’s models see the article
previously linked or High Magic: Theory & Practice (Llewellyn, 2005) 373–287 and 407–
415.

There were some other occult works published around the same time that also use cyber to
refer not to computers but rather cybernetics, including Mike Morgan’s Introduction to
CyberCraft and Frater Choronozon’s (a.k.a. Charles G. Brewster) Liber Cyber; however, none
of these works indicates a firm grasp of cybernetic concepts.

Does magic really need another “101” lesson?

While there are countless introductory books about magic (I include several in the
recommended reading list), very few of them are written about technomancy specifically. I
created Technomancy 101 because I frequently encounter questions and discussions about
technomancy, cybermagic, &c., online, and they are usually dominated by conjecture or
hyperbole and contain very little demonstration of practice. Most published literature about
the subject suffers from the same misfortune, and those that do include didactic content
quickly become outdated (as will my own). William Gibson said, “The future is already here;
it’s just not very evenly distributed.” The world of contemporary computational arts seems to
me largely unknown to the world of people working in the arts magical, and I hope
Technomancy 101 can help bring those worlds together for anyone who seeks their coniunctio
such as I have.

Why don’t you write a proper book about this stuff?

The kind of technology that Technomancy 101 is about advances so rapidly that much of it
soon becomes ephemeral. While some of my technomantic theory might hold up for a while
yet, Scratch and the other technologies by which I put that theory into practice will change,
and likely sooner than later (Scratch underwent two major revisions, and many lesser ones,
just in the few years it took me to make this website). By publishing online I can make
changes to the content as the technology evolves, keeping it current for as long as I am able
to. No need to wait for a second edition to be published. Publishing online also makes the
content accessible to anyone in the world who can get online, and it allows me to embed
hyperlinks and multimedia content.

I see three possible downsides to my decision to publish online:

• Books tend to last longer than online content. The latter is notoriously ephemeral, but
as I already said, so is my creative medium. I am not sure how that will play out in the
long run as more and more things go online (on a long enough timeline, books too
become extinct). More importantly, although a few of my ideas may be timeless in
some sense, the majority are very here-and-now or perhaps near-future, but not likely
to be very relevant to the magic people will be doing one or two hundred years from
now, therefore I have no need of a medium that will endure for two or more centuries.
• Some people might take books more seriously because of the perception that being
published implies you have been vetted and edited by a publishing authority. Frankly,
since I am writing about doing magic with computers, the likelihood of my being
taken seriously is already in considerable peril.
• Some people prefer to read books and may even have difficulty reading online
content. This is really the only disadvantage I am concerned about, and if you are one
of those people who really has a hard time reading on a computer, then I sincerely
apologize to you. Given my subject matter, I expect most people who are going to take
interest in it will be accustomed to reading on a computer screen of some kind. That
said, I give you my permission to print anything I have written here (you just may not
sell it, but you can give it away).

Isn’t technology antithetical to magic?

No, I do not think so. In a sense, magic is technology, in that is an application of knowledge,
and often a technical application. Recall that techno- comes from the Greek tékhnē meaning
“art” or “craft.” Magic is sometimes called the Craft or the Art (Magical), and has often to do
with the manufacture and use of tools or works of art including objets d’art. While some
magicians prefer to work with traditional or archaic tools, there have always been sorcerers
who made use of the technology of their day.

In the modern sense that technology is defined as (from OED)…

a. The branch of knowledge dealing with the mechanical arts and applied sciences; the
study of this.
b. The application of such knowledge for practical purposes, esp. in industry,
manufacturing, &c.; the sphere of activity concerned with this; the mechanical arts and
applied sciences collectively.
c. The product of such application; technological knowledge or know-how; a
technological process, method, or technique. Also: machinery, equipment, &c.,
developed from the practical application of scientific and technical knowledge; an
example of this.

…and by extension, electronic and computing machinery, the merging of this modern
technology and magic—like the merging of technology and art—in some ways transcends,
and in some transgresses, older ways of doing things, ways people sometimes get attached to.
Magic and paganism may be archaic and atavistic, but neither is defined by being archaic or
atavistic, and a computer is no more “unnatural” than a wand, cup, sword, pentacle, or deck of
Tarot cards, if by natural we mean that which was not manufactured by humans. It is
perfectly fine to prefer the forest to the factory, but either can yield enchanted fruit.

I concede that modern technology can have undesirable consequences, such as its
environmental impact. There is also some genuine concern about the possibility of technology
trivializing magic (I use the term trivialize here in the same sense as Heinz von Foerster‘s
distinction between trivial and non-trivial machines), which I address in my reply to the
following question.

Isn’t magic just technology we don’t yet understand?


This is a popular corollary of Clarke’s Third Law: “Any sufficiently advanced technology is
indistinguishable from magic.” I was once asked about Clarke’s Third during an interview for
Disinformation, and so I repeat my reply here.

I suppose that depends on what kind of magic we are talking about. There is something people
who do magic do that is its own thing, its own activity. It has its own jargon, its own laws
(although not everyone who does it shares the same ones), its own culture. And in many ways
it has not changed much for hundreds of years. Look at how much transportation and
communication have evolved in the last century, but today the same person who flies across
the world or talks to people on the other side of it through a computer network, still goes out
into the wilderness, gets naked or puts on a robe, lights a fire and incense, and sings and
dances their intentions to old gods. Which is not to say magic has not advanced at all or there
are not people doing things other than what I have just described, but that magic in this sense
is its own thing. And while some people might see it as primitive, it is not merely a
primitivism. It interacts with technology, and in a sense it is itself technology—an application
of knowledge—but it is not defined by being technology we do not yet understand. It might
be that or it might not, but either way it is more than that.

Magic has always been associated with extraordinary abilities and hidden powers. There was
a time when we had no technology for flying across the world, but we fancied magic carpets
and witches’ brooms, and we dreamed of flying. And today it is still magical to dream of
flying. The fantasy of lifting myself into the air by conscious intention alone, no machine,
continues to be very different from the reality of air travel. Wizards do not suffer layovers in
Chicago. But also, the experience of flying on an airplane can be extraordinary, and it is
something our ancestors could only have dreamed of. We get to actually do it.

Modern technology is largely about trivialization. Complex problems are analyzed and broken
down into smaller problems to be solved algorithmically. We seek efficiencies; we look to
automate processes. We want to reduce the amount of time and effort between intention and
manifestation. I do not want to walk across the room to change the channel on my television
set, so I build a “magic wand” that lets me do it while continuing to sit in my chair. That is
sorcerous in a sense, right? The model sorcerer is someone who can just think something and
it happens like snapping your fingers. So it is interesting to me that the tools and techniques of
actual magic are so often non-trivial—to the point of appearing absurd to someone who
doesn’t practice. Look at how much work is involved in Solomonic evocation: the deliberate
preparation and attention to detail; the cultivation of sacredness. But now some ideas about
technology are influencing magic. Most modern books on evocation strip out much of the
older stuff not because it is become irrelevant due to religious changes, but because it is
inefficient! It takes too long. I use a Tarot app on my phone because it is more convenient
than a physical deck of cards. But success with evocation or divination still requires special
states of consciousness and modes of interaction that I think continue to differentiate magical
activity from any other technology. So my interest is in designing human-computer
interactions that involve those states and modes.

This or that program you have written is not optimized.

That is a statement, not a question, but I will allow it. My response is: I know—sometimes.

It is possible for a program to be functional without being optimal (see spaghetti code).
Sometimes, program optimization requires more abstraction than I like to use when working
with novices, and sometimes I just do not care to optimize a program that functions well
enough as it is. In many instances, the example programs in Technomancy 101 are also not
very well encapsulated, for the same reasons. I tried to strike a good balance between writing
smart and efficient programs and writing programs that novices would be able to understand,
but I am certainly not infallible. If you can think of a better way to do something than I have
done here, please do it better! Just don’t tell me about it; I abhor criticism. Just kidding; I
would love for you to share what you come up with.

Recommended Reading
• Magic & Occult Arts
• Computers & Computational Media Arts
• Tinkering, Hacking, & Making
• Periodicals

Several books are recommended throughout Technomancy 101. The following additional
recommendations range in technicality from beginner tutorials to works of high scholarship.
Titles marked with an asterisk (*) are especially academic in nature, but I would not
discourage anyone from reading them—great challenges yield great rewards!

Magic & Occult Arts

• How to See Fairies: Discover Your Psychic Powers in Six Weeks by Lionel Snell (if you are new
to magic, start here)
• Liber Null & Psychonaut: An Introduction to Chaos Magic by Peter J. Carroll
• Condensed Chaos: An Introduction to Chaos Magic by Phil Hine
• Brain Magick: Exercises in Meta-Magick and Invocation by Philip H. Farber
• The Mentalist’s Handbook: An Explorer’s Guide to Astral, Spirit, and Psychic Worlds by Clint
Marsh
• What Is a Witch? by Pam Grossman and Tin Can Forest
• Witchbody by Sabrina Scott
• A Deed Without a Name: Unearthing the Legacy of Traditional Witchcraft by Lee Morgan
• Mastering Witchcraft: A Practical Guide for Witches, Warlocks, and Covens by Paul Huson
• Arcana Mundi: Magic and the Occult in the Greek and Roman Worlds: A Collection of Ancient
Texts by Georg Luck
• Materia Magica: The Archaeology of Magic in Roman Egypt, Cyprus, and Spain* by Andrew T.
Wilburn
• A Cognitive Theory of Magic* by Jesper Sørensen
• TechGnosis: Myth, Magic & Mysticism in the Age of Information by Erik Davis
• Strange Frequencies: The Extraordinary Story of the Technological Quest for the Supernatural
by Peter Bebergal

While clearly I practice and advocate contemporary forms of sorcery, most of my passion for
magic is kindled by ancient and medieval expressions of the Art. Along such lines, I am quite
a fan of Penn State University Press’s Magic in History series.

I also find much creative inspiration in occult-related fantasy, science fiction, and especially
weird fiction (my mother’s fear came true: Dungeons & Dragons and heavy metal music did
indeed lead me down a dark path to black magic). Among these, my absolute favorite
collection is The Book of Eibon by Clark Ashton Smith, Lin Carter, et al., and Robert M. Price
(Ed.).
Computers & Computational Media Arts

• The Pattern on the Stone: The Simple Ideas That Make Computers Work by Daniel Mills
• Computers as Theatre by Brenda Laurel
• Multimedia: From Wagner to Virtual Reality by Ken Jordan and Randall Packer (Eds.)
• The New Media Reader by Noah Wardrip-Fruin and Nick Montfort (Eds.)
• The Cybercultures Reader by Barbara M. Kennedy and David Bell (Eds.)
• Art and Electronic Media by Edward A. Shanken (Ed.)
• Telematic Embrace: Visionary Theories of Art, Technology, and Consciousness by Roy Ascott
• Spaces of Interaction, Places for Experience by David Benyon
• Digital Performance: A History of New Media in Theater, Dance, Performance Art, and
Installation* by Steve Dixon
• Æsthetics of Interaction in Digital Art* by Katja Kwastek
• Machine Art in the Twentieth Century* by Andreas Broeckmann
• Bodies in Code: Interfaces with Digital Media* by Mark B. N. Hansen
• Making Sense: Cognition, Computing, Art, and Embodiment* by Simon Penny

Some of the titles mentioned above are part of the Leonardo series by MIT Press and the
International Society for the Arts, Sciences, and Technology.

Tinkering, Hacking, & Making

• Make: Paper Inventions: Machines that Move, Drawings that Light Up, and Wearables and
Structures You Can Cut, Fold, and Roll by Kathy Ceceri
• Easy Electronics by Charles Platt
• Electronics: Learning Through Discovery by Charles Platt
• More Electronics: Journey Deep Into the World of Logic Chips, Amplifiers, Sensors, and
Randomicity by Charles Platt
• Tools: How They Work and How to Use Them by Charles Platt
• Physical Computing: Sensing and Controlling the World with Computers by Dan O’Sullivan and
Tom Igoe
• Handmade Electronic Music: The Art of Hardware Hacking by Nicolas Collins
• The Art of Tinkering by Karen Wilkinson and Mike Petrich
• The Big Book of Maker Skills by Chris Hackett
• Programming Interactivity: A Designer’s Guide to Processing, Arduino, and openFrameworks
by Joshua Noble
• Making Things Talk: Using Sensors, Networks, and Arduino to See, Hear, and Feel Your World
by Tom Igoe
• Making Things Move DIY Mechanisms for Inventors, Hobbyists, and Artists by Dustyn Roberts
• Action: Movement, Light, and Sound with Arduino and Raspberry Pi by Simon Monk
• Hacking Electronics: Learning Electronics with Arduino and Raspberry Pi by Simon Monk
• Electronics Cookbook: Practical Electronic Recipes with Arduino and Raspberry Pi by Simon
Monk
• Sensors: A Hands-On Primer for Monitoring the Real World with Arduino and Raspberry Pi by
Tero Karvinen, Kimmo Karvinen, and Ville Valtokari
• Mind Performance Projects for the Evil Genius: 19 Brain-Bending Bio Hacks by Brad Graham
and Kathy McGowan
• Bionics for the Evil Genius: 25 Build-it-Yourself Projects by Newton C. Braga
• Electronic Projects from the Next Dimension: Paranormal Experiments for Hobbyists by
Newton C. Braga
Some of the titles mentioned above are frequently included in Humble Book Bundles. Many
of them are part of the Make: series.

There are several Scratch books available, but the best by far is Learn to Program with
Scratch: A Visual Introduction to Programming with Games, Art, Science, and Math by
Majed Marj.

Periodicals

• 2600: The Hacker Quarterly


• Clavis: A Journal of Occult Arts, Letters, and Experience
• Elektor
• HackSpace: Technology in Your Hands
• Leonardo: Journal of the International Society for the Arts, Sciences and Technology*
• Magic, Ritual, and Witchcraft*
• MagPi: The Official Raspberry Pi Magazine
• Make: DIY Projects and Ideas for Makers
• Neural: Critical Digital Culture and Media Arts
• Nuts & Volts: For the Electronics Hobbyist
• Wyrd: That Which Becomes

Scratch 3.0
The pace of technological advancement is a peculiar challenge for the technomancer.
Although humans have been practicing magic since the beginning of our time, the specific
forms of magic practiced in Technomancy 101 became feasible only in the past several
decades, and widely accessible only in the last few years. I began writing Technomancy 101
in 2015 with the intention to publish it within a year, but then a few major events in my
personal life postponed the release. Meanwhile, the good folks at the MIT Media Lab were
busy working on the next version of Scratch.

The online editor at scratch.mit.edu will be updated to 3.0 in January of 2019. Many
Technomancy 101 projects should work in 3.0, but some will not. Specifically, the PicoBoard
and LEGO WeDo 1.0 extensions are not supported by 3.0 (yet), although 3.0 will have many
new extensions and you can still develop your own. I anticipate adding some projects here
that utilize new features in 3.0, but I have no definite timeline for that.

For more information about Scratch 3.0, see:

• Scratch 3.0 Preview FAQ


• 3 Things To Know About Scratch 3.0

Acknowledgements
It may seem ostentatious to include a section for acknowledgements in a project such at this,
but I am a big fan of showing appreciation and indebtedness, so here we are.

The basic structure of Technomancy 101 was originally developed for my Beginning
Interactive Multimedia Ritual Design course at Arcanorium College in 2010, and many of the
examples grew out of a series of tutorials I had made for my forthcoming robomancy project.
My gratitude extends to everyone who has been involved with or supported those projects.

Thanks to Austin Coppock and everyone who previewed Technomancy 101 and gave me
feedback. Special thanks to Peter Bebergal for including it in his book, Strange Frequencies.

William Kiesel has provided multiple avenues for me to share my technomantic arts with the
public. His kindness shall not go unmentioned.

Gramercy to Kirsten Brown for her painting of the Technomancer, and Peter Carroll for
contributing his endorsement. Pete was my first mentor in Chaos magic, and the first to
propose I materialize occult subjects with my hands rather than just behold them with my
mind’s eye.

I have adapted Philip H. Farber’s Meta-Magick techniques to many of my technomantic


designs (including some not featured on this website). Not only is Phil an “old school”
technomancer (see also), his Meta-Magick is the best implementation I know of the two major
themes that run through Pete’s Liber Null: “that altered states of consciousness are the key to
unlocking one’s magical abilities; and that these abilities can be developed without any
symbolic system except reality itself.”

Most images and sounds that are my own were made with GIMP, Inkscape, and Audacity.
Animated GIFs were made with ScreenToGif, often assisted by Sizer. I use PortableApps and
FastStone Capture every day, and my work would be much more onerous without them.
Technomancy 101 was published with WordPress.

Heartfelt thanks to my daughter, Avery, for being my standard of unshakable faith and for
continually dilating my reality tunnel, revealing opportunities for wonder and compassion;
and to my partner, Stephanie, for deserving so much adoration, radiating so much inspiration,
seeking the mysteries, enduring my peculiarities, and for being the best person with whom to
be chained to a gigantic rock and hurled 30 kilometers per second through space. You two
make everything worth anything.

Praise be to Tron and Robby, my dæmons of technomancy and robomancy, software and
hardware, spaces and bodies.

Technomancy 101 is dedicated to my fellow technomancers: Ferdinando Buscema, Maggie


Buxton, Pablo Cabana, Eddie Garou, Jeff Howard, Tina Hyland, Matt Kaybryn, Howard
Rheingold, Maria Saridaki, Jael Topek, Meghan Elizabeth Trainor, Lua Valentia, Damien
Patrick Williams.

Last but light years from least, GOB FOU to all of you who know who you are. “We really
shook the pillars of heaven, didn’t we, Wang?”

Shout Outs: Jigsaw Renaissance (R.I.P.)

Inspirational Music: Blood Ceremony; Electric Wizard’s Come My Fanatics…; Electro-


Industrial Assassins; Vatic[A.N.]’s Infocalypse; Keygen Church; Mare Cognitum; Master
Boot Record; Old World Radio; Bal-Sagoth’s The Power Cosmic; Shadowrun video game
soundtracks; SomaFM; Gloryhammer’s Space 1992: Rise of the Chaos Wizards; Temple ov
Saturn; Tron: Legacy R3C0NF1GUR3D; Ayreon’s Universal Migrator; The Sword’s Warp
Riders

You might also like