praefatio

    “It’s still magic even if you know how it’s done.”

Programming is magick: ‘the Science and Art of causing Change to occur in conformity with Will’; modern sorcerers conjure and manipulate realities through compulsions issued in code. The first programmer, known as the Enchantress of Numbers, would call it a ‘poetical science’.

The Black Geas systema is a metamagickal programme. It transcends programming languages and their grimoires.

It is for those who aspire to the empowerment of electronic wizarding by designing their own self-regulated study regimens.

The human mind drives—and constrains—cultural evolution, optimizing technologies for our use, making them more learnable, and the schema set forth here places the learner in the best position to further this.

Caveat lector. Learning this model may forever change your perception of how to learn to code.

blvk./geSH/ will be refactored continuously as research proceeds. In the future, the model itself may change as well. At present, Python 2.x is the exemplar used here, though the principles are language independent. For a ‘clean’ rationale for Black Geas, see this post.

systema godai

The godai are the five interlinked elements of Earth, Water, Fire, Wind, and Void.

Drawing on learning research and developed according to the properties of magick, the Black Geas systema is organized thusly:

  • Earth (地) - The essential forms, such as magickal phrases and gestures. This firmament also involves learning the basic theory and language of magick: the terms of Art used in computing Science that are required to comprehend the esoteric texts adepts have obscured.
  • Water (水) - This emphasizes adaptation to the topography of magick as it emerges through usage and design. It requires fluid understanding of intention and execution, and a flexible grasp of the tricks and styles of magick users. This is attained through reading the sources and expressions of their power.
  • Fire (火) - The black Art of programming is about effecting change through the imposition of the mage’s Will. This galvanic strand represents that creative expression. It is casting, archiving, and refining spells to accomplish magickal feats.
  • Wind (風) - This element reflects the spontaneous nature of wisdom that comes with piecewise, progressive mastery. Skills are refined ‘in the wild’, under pressure and in a playfully competitive yet cooperative way.
  • Void (空) - Void magick represents all that transcends and integrates coding and beyond. Including (non-exhaustively): blvk./geSH/ and any other system of organization, the programmer, and programming. Void magick is channeled through metacognition and other forms of self- and cross- referential awareness.

void( 空 )

    “By knowing things that exist, you can know that which does not exist.”

As stated before, Void magick subsumes everything. Your metacognitive awareness is your guide in this complex adaptive system, which optimizes you as you optimize it, always evolving.

Typically, human beings use transactive memory, offloading our information to people and external technologies such as Google, rather than memorizing it. This increasingly applies to programming, as well, in part due to the wonders of ‘open sorcery’. In contrast, in the ancient past, magickians such as druids invested large amounts of time to extensively memorize content, using mnemonic techniques such as the method of loci.

This brings us to one of the most powerful Void resources: Anki, spaced retrieval freeware.

anki.percipio( 空 )

Black Geas assumes the use of Anki. We do not learn with or in Anki, we learn through it. If you wish to remain ignorant of its benefits and refrain from using Anki or similar software, simply convert the schema and exercise templates to your inferior method.

To begin your magickal training, you should find a resource or group of resources that progressively explain the fundamentals, with examples, as ‘learning by doing’ is the best course of action. Anki becomes a supplement to these resources.

anki.praxis( 空 )

  • Codecademy is excellent, as are the books Invent Your Own Computer Games with Python, How to Think Like a Computer Scientist, and Learn Python the Hard Way. Each of these tomes has their own preferred wizard’s laboratory setup, in terms of IDEs.
  • Using Rainlendar or similar task managers is recommended. Manage your time wisely, study consistently, and evaluate your progress regularly.
  • Organize your resources in a manner you see fit; the library in your wizard’s tower, such as bookmarks divided by language and type (Python or Ruby books, tools, etc.).
  • You should begin with the Earth element, but every strand is interlinked; exercise self-awareness of your progress to determine how to stagger your studies so that each area complements the other.