Kriya of the Month: Kirtan Kriya


I have been practicing Kundalini Yoga on and off for almost two decades. I started because I heard Madonna did it – so I figured if I did Kundalini Yoga I too would have rock hard abs. Over the years I have done a number of other yoga practices. I also practiced Tai Chi, Kung Fu, and Ba Gua. My favorite practice (and the one that gave me rock hard abs) became the now disgraced Bikram Yoga. It fully exhausted me, and every day I was thrilled to leave the studio alive.

In Q3 of 2018 I started obsessively practicing Kundalini Yoga at a place near my office in Union Square. I was sick the entire time, but I forced myself to go. I loved the teachers, the practitioners, it seemed somewhat diverse relative to other practices, and I felt qualitatively different after each class.

When I went to visit my in-laws in winter, I continued to practice a daily Kriya – ie a yoga posture.  I started contemplating doing the kundalini yoga teacher training.  I am a systems thinker, and kundalini for me was another type of system.  Often times the instructors refer to particular breaths or kriyas as ‘tech’- this could be technique or technology.  I am slightly cynical about credentialing and yoga teacher training in general.  I am concerned that I would not be able to devote myself fully to a yoga teacher training.  I have a lot on my plate (family, kids, work, side hustles, classical guitar, conscious computation, getting conscious in general). However, I would want to teach, or integrate this into my larger work on conscious computation, or perhaps education in general regarding breath and body work.

So it happened I was in Union Square this weekend with some free time after a meeting fell.  This gave me the chance to attend the  kundalini yoga teacher training open house. I expressed my concerns: that if I made a commitment I would want to be able to honor it. I said that I gave myself a test – I had to do one kriya every day for 30 days (really it should be 40 – i think that is what resets your something or other). The other folks chuckled knowingly and then the teacher said – well we know what we have to do – give you a 3 min kriya!  Once of the graduates suggested Kirtan – and so here I am.

I am a few days in to the Kirtan Kriya. It is really about 12 min total. If I can commit to 12 minutes a day to do yoga then I can commit to a teacher training.



Git Ontology


Last Friday at end of the day and I was attempting to push my changes to our team repo when I was hit with a ton of merge conflicts. I shut down my computer and went home, although thoughts of the merge haunted me over the weekend.

So when I got in today I sat with one of my coworkers, who is a git magician, and we did some trouble shooting. What I learned was that my git conception was completely wrong.

So what is git? As I understood it, it was a repository which stored ONLY FILE CHANGES tagged by a hash (a long string of numbers and letters.  This makes it useful when you work, either alone, or with a team, to change documents or code.  You have a clean audit trail of the list of changes. This, I think, is even more valuable than the ability to roll back changes.

On git there is a notion of a branch. I always thought that a branch was an organized list of commits. That branches did not know about each others commits and that branches were the fundamental unit of git.


The commit is the fundamental unit of git – the change.  Git could be conceived as a linked list. With each commit pointing to its parent. The hash of a commit, in fact, encodes the parent of the commit.  The branch is just a pointer to a particular commit.

Since the basic unit in git is the commit, you have a lot of flexibility to re organize the commits either within a branch or between branches.  When you rebase two branches in git, two lists of linked lists, git tries to preserve the timeline (the dates) of each commit.

My hairy git nightmare started with a rebase. The parent I was trying to rebase on two was missing my commit as well as three other commits and this caused git to think I needed to merge files since it detected changes in these 3 intermediary files.  In order to fix this what I did was move the one  commit I wanted to add on the parent branch and then move the branch name pointer to this new commit so this was now the head of the linked list.   I did this via the cherry pick command.

It is good that we keep our commits small at my company, and that we keep commits on individual branches. It makes it easy to move around individual commits.  But it also gives me a lot of confidence that even if I want to rebase (or re order ) a list of commits I can do this since each commit is its own atomic unit.

Porras-Kim Whitney Biennial

Whitney Biennial – Art Etc


Yesterday Lian and I went to the Whitney Biennial.  We did not discuss much of the work after, and I asked Lian why he did not want to talk about it.

He said that most of the works did not resonate with him (my words not his). That he can understand modern or contemporary art within the context of art history, but most of these works did not seem to be in dialogue with that history.

This to me was an interesting statement. It made me think about concepts like fracture, fragmentation, and order. In “The Thought of the Heart and the Soul of the World” , James Hillman talks about the greek word kosmos as meaning order, arrangement, and adornment. He connects the greek kosmos with the English word cosmetic, a word that keeps this etymological sense more than the English word cosmos.

There is something in art or beauty that is about adornment and arrangement. This is both the surface arrangement for our sense perception, but also I also think we can talk about adornment and arrangement in terms of a lineage.   How does an artwork fall into an order or arrangement of other artworks.   We talk about a great work as a ‘crowning’ achievement – a description about adornment. What is a crowning achievement for an artwork as standing in its lineage.

A lot of the work was conceptual in nature in that the idea in many respects drove the production and was perhaps more important than the production. The work was an index into the idea, rather than an idea that could only be expressed through matter, adornment, or what we would call art.  My favorite pieces were the works that seemed to create a new material language: the sculptural works of Ragen Moss and Daniel Lind-Ramos and installation of Gala Porras-Kim(who i saw last year talk at the Guggenheim and blogged about as well).  These were pieces that created worlds of their own that did not have analogs in simple conceptual descriptions.  There was a generative power to these works, a certain aliveness, that perhaps all creations have but the richness of the material representation makes it easier to construct more (and more intense) sites of communion.

A lot of the work reminded me of the Duchamp ready made, the act of an artist that disintegrated the category of art, like Wittgenstein removed the category of metaphysics from philosophy (and Kant before him did as well).

But we still have art – although this sort of cynical capitalist consumerist art is something I think about in relationship to the image of the Magician. It is a trick. The art of the Renaissance I think about in terms of the Priest or the Church – a mode of devotion.  The art of the industrial age (impressionism, cubeism, dada, everything upto the readymade) I think of in terms of the sun, as illumination, art as science, as an alternate mode of perception. What is next art after its ready made turn, once it has been valorized at the cost of content?

When I ask this question I imagine the wheel of fortune. A monte carlo simulation, an engine, or a mechanism that powers possible choices.  It is the creation of domain spaces from which we can build our reality.  Hopefully it is not a bunch of junk that we buy from cvs.



The Unconscious and Space of Consciousness


I was going to write on an indie game we discussed during lunch, but during dinner with Lian we decided to do a book swap. I said I would read Men are from Mars and Women are from Venus, and he would read the Creation of Consciousness. As you can tell we are both becoming more consciousness  – insert crazy face emoji here.

But as we were talking, we started talking about the unconscious. If we are trying to live as conscious a life as possible what is the point of the unconscious?

As I wrote the other day, it is about be intentional.  In this sense we can think about the unconscious as urges and motivations that the individual is unaware of in the conscious mind. But this is an impoverished explanation.

If I am intentional about every choice, then that means I options to choose from.  But where do these options come from? If this option space is small what does it mean to even have choice.  So, it is the unconscious that fills out the possible options from which I can choose how to live my life.   Through dreams, active imagination, analysis, prayer, or other means to facilitate communication with ‘that which is not the ego’ (ie the unconscious). This is what provides the options for the conscious to choose from.

As we become more conscious, perhaps we also cultivate our unconscious and the space of possible options from which to make our choices.

Earlier I was thinking of consciousness as different sorts of transcendental idealism grids. Like bats perhaps dont think in terms of space time, but magnetism or something. Building out the space of all possible consciousnesses in this sense is building out different matrices for processing and parsing perception.

With this notion of the unconscious as perhaps the source of categories or perhaps the source of reification, then what does building out all possible consciousnesses mean if it also involves building out the correlate – the unconscious (the source of the options available to consciousness).


The Creation of Consciousness


I read this thin book, like 100ish pages, over the weekend and it BLEW MY MIND. Yes I had to put it in all capital letters.  It is about the creation of a new myth, the role of consciousness in the creation of that myth, and Jung.

Ever since childhood I have been obsessed with mythology, and more broadly, with stories that ground our lives.  (I also listened to a lot of  Joseph Campbell and the power of myth as a young girl.) When I applied to grad school, before iphones, my application essay was about the lack of mythology in our age and the need for a new myth.  I used the example of multiple listserves as sort of multiple consciousnesses that pulled my attention, as multiple myths if you will.  Today it is even worse. The mythology of instagram is different from the mythology of github, or the mythology of daybreakers.

Even the new myths, like detective stories or westerns are unsatisfactory. They no longer satisfy a wide range of people who are excluded by this mythology (Like in the case of westerns, non white males, first nations people, non-americans). In the past there would be no choice but to submit to this mythology, but today there is an ability to exercise freedom of thought, if not freedom of action (although many places do have freedom of action as well).

There is a popular conception that our new age will not have one overriding myth, but instead we will have multiple myths that will accommodate the myriad possible freedoms that many people in liberal democracies can enjoy with how they choose to live their lives.  Although I wonder if that is the case.  Is there still not an overarching myth?

In this book the myth positied is the myth of consciousness. That the goal of every individual life is the creation of a fully conscious Self. That would mean, that I no longer act out of habit, or instinct, that every single moment, every move I make is the product of intention.  The book also posits that Jung has lead the most conscious life ever – for what its worth.

If this is our new myth, to become conscious, it coincides well with the current focus on the self, and self improvement (perhaps narcissism). There is also an eternal return aspect to this myth.  We are able to deposit moments of consciousness into the collective unconscious. This is what great art/literature/etc is supposed to represent.  We can live forever, perhaps not in heaven, but in the collective unconscious. It is a bit out there. I would ask my shrink what he thinks, but he is on vacation.

To me this is fascinating.  That our goal in life is to be as conscious as possible, and through this we can get that elusive metaphysical dream: everlasting life.  This is not a myth of our past, of where we come from, but a myth of our future.








Shaders in Elm


This morning I sat down to draw and develop an intuitive sense of rgb/time (think sin/cos), and shaders. I was promptly hit by a massive anxiety attack (which is not my go to form of mental illness), and after two podcasts, two books, a nap, I still had the residual effects hours later.

I decided to pour a half bottle of Guinness into a nice mason jar and refocus.

So what do I mean by time and what the hell am I doing anyway, and why is this blog post entitled shaders in elm??? It will all come together –but perhaps not in one blog post.

As a recap, I think I write about this elsewhere, a shader is a piece of code that renders all pixels in parallel because it runs on the GPU. So if you have code that says something like

color_of_pixel = rgb(sin(current-time),sin(current-time),0)

it will be executed on all the pixels at the same time.

Great we can set colors, how can we make this animate, or how can we make the colors change.

This is where time comes in because animation is change over time and the way that we can change the pixel colors is by using current time as a variable.

A common way to use time to create an abstract animation is to use sine and cosine with the current time as the input. The reason this works so well is that these functions follow a regular pattern and are bounded. If you want to quickly create a shader animation set the color to something generated by a trigonometric function based on the current time. I realize that this is perhaps not the best explanation so I did some googling and found this great article.

So what I want to investigate is how does a continuous cyclical number (which i am calling time), when used as an input for generating a color, work on an intuitive level?

How does the color change when it is the format rgba? When you use time to alter r,g,b,and the alpha layer, one at a time, or all together, or staggered.

To answer this question i thought that instead of doing sketches maybe i should study functions in R. But then I thought – just do shader studies – but in ELM (because why use a language I actually am familiar with?).

So that is where I am now. I just installed elm-webgl, as well as the linear-algebra package, I took the shader example code and ran elm react and  I am all set running shaders on elm.  Tomorrow shader studies begin:

shader screenshot

shader screenshot


Another level of complexity I think about is the pixel location.  What happens when we use the current pixel location a variable, and how we can develop intuition about that.. Some thing like:

color_of_pixel = rgb(sin(current-time mod pixelx),sin(current-time mod pixely),0)

or something equally nuts, hopefully I can tackle it in my shader studies.


Meditations on blit


So I’m teaching a python game development class and I am using the pygame library.  There are so many options these days to develop games – unity, unreal, twine, phaser. I was thinking why am I using pygame??

Well I am teaching a “python” class, so there is that, and we can publish our game to the steam store, so that is cool. But pygame is a pretty easy to use and robust. For the class we are using the pygame book at Invent with python.

The core of pygame is a loop that monitors events and updates the screen. It is a while True loop that monitors events, updates the display object and then updates the display.  To draw an image, like a jpg, on the surface you use the blit method:

DISPLAYSURF.blit(img, (x,y))

Blit is an ancient command, as I tell my students You look in all sorts of graphics frameworks and languages and you see blit!  Blit originally stood for bitmap graphics terminal and it was a different type of computer terminal that could draw bitmap graphics.   In graphics programming it also refers to  “bit-boundary block transfer”, this is where you transfer a block of memory from one location to another.

In graphics programming you can optimize your library by having a sheet of sprites of graphics that you then draw (blit) to the screen. This is an example of one of the sprite maps from the legend of zelda 1:

First we blit the image from the spritemap, then we blit that image to the pygame surface:

import pygame

spritesheet = pygame.image.load(filename).convert()
rect = pygame.Rect(rectangle)
image = pygame.Surface(rect.size).convert()
image.blit(spritesheet, (0, 0), rect)

DISPLAYSURF.blit(image, (x,y))

With this sort of framework I think there is interesting work to be done to sort of remix and reinvent existing games. What would a mashup between zelda and mario look like? What would a game version of fan fiction look like? We are playing with the graphical elements but we can use new different game mechanics and create a new story.


Cryptography as a personal practice


I gave this talk a few months ago, and it is something that came out of working through cryptopals at RC.  I was drafting the powerpoint into a conference proposal that sort of encapsulates my thinking right now.

I am going to look at encryption broadly – as a process that undergirds all technological knowledge. Anything from compression (e.g., a JPEG) to cryptography (e.g., PGP), to the binary system on which all computers run, I consider a form of encryption. Almost all current encryption protocols, while mostly open source, are monolithic and centralized. The structure of knowledge can be construed as depended on the structure of encryption protocols. How do we create our own personal practices and systems of encryption and cryptography to restructure knowledge?

Personal practices are at the forefront of today’s life-hacking movement(s). The cultivation of the self, once a matter of character, is now a matter of capital. Today we ask, how can I optimize myself and become the most efficient self that is able to contribute to capitalist production and consumption? There is a history of using personal practices as a bulwark against commodification, in practices from anarchism to veganism.

It is in this vein that I want to consider personal practices of encryption and the broader question of how can we rethink technological production and consumption in terms of a personal practice? This is particularly urgent when we consider our engagement with technology as part of the feedback loop of knowledge production. Even for something as banal as using a search engine, creates usage data that turns into knowledge, which then structures our next search.

When we extrapolate this to mapping and sensors, as well as the use of energy and physical space for manufacturing servers and microcontrollers, we are directly in the physical realm – the realm of nature.

Technology practices contribute both to the practical use case of data collection in the creation of AI, and the theoretical consideration of cybernetic impact of culture on nature.  As the LAMP stack was an innovation critical to Web 2.0, encryption and cryptography is an innovation critical to the rise of AI and its dependence on our data.

There is a rich history of personal practices of encryption from DaVinci to Anne Lister. In the past it was to keep thoughts radical thoughts private.  Now we need it to keep thoughts non-commodified.

How do we bring back a craft culture of encryption? What is knowledge produced and codified through personal encryption? What happens when our encryption systems are ‘artisanal’ instead of commodities? How can we engage in personal practices of encryption and what sort of knowledge organization will this create?

Thinking about Sortition and Discovery


I have been toying with an idea about generating a piece of work and documentation around discovery based on sortition. Please excuse the jargon that is also one of the things I am toying with.

Sortition/Protocol project is an experiment in culture creation through
restructuring and preserving network topologies on the principles of
sortition. It is an exercise in taking ideas from anarchist and Marxist
notions of personal practice and extrapolating them to activities that are
now controlled by algorithms, professional taste-makers, and influencers.

Lets talk about instagram, twitter, facebook, or any social network where
people attempt to communicate and connect. These networks originally
promised a many-to-many topology, where everyone communicates with
everyone else. To use an overused phrase – it was heralded as democratic. The reality of the network topologies that we see in social media is more of a
one-to-many relationship, with a small number of influencers communicating to a
large number of individuals who have exponentially less connections. The
communication is asymmetrical in its content and impact.

There is also the matter of surfacing this content, how is an influencer or individual ‘seen’ is largely regulated and controlled by opaque algorithm. I call this the hidden layer, analogous to the hidden layer of a neural network that creates the weighting and vectors determining the structure of the network. This hidden layer in conjunction with the network topology assist in creating a certain epistemic and interactive regime that we are going to overthrow.

How are we going to overthrow it? Sortition.

What is sortition? Sortition is a method of governing by selecting leaders
based on random selection or lottery. It was the way that the ancient
Athenians selected political officials. Although, the pool of potential leaders in Athens was exclusionary and limited to the small number of landowning men of leisure, the idea that anyone could rule, or make important decisions is a stark contrast to today. In our society algorithms and influencers guide and create the world of our possible virtual experience.

The idea of sortition has not disappeared. Theorists such as the Marxist
scholar CLR James have proposed sortition as an alternative to current
governing electoral paradigms. What does it mean to select people by lot
to make decisions? It is anathema to the contemporary emphasis on
democracy and meritocracy, but perhaps the meritocracy is a fiction and we
should replace it with a different narrative.

The Sortition/Protocol project randomly selects, every few days, a new group of people to post to the Sortition/Protocol social media account for a short period of time. I will refer to these people as leaders. The code for this selection is open source so anyone can change, fork or submit pull requests. This is the engine of our new network topology; a constantly shifting nexus. But what does this mean for creating a framework or fiction around what we are doing?

The traditional algorithmic and influencer networks persist in time, but they have no history. The eternal construction and mediation of a persona is their narrative and their mythology. The history of these networks are quantitative measurements of success in getting people to click, friend, like, or buy. What are the metrics for a network on a sortition topology? What do the temporary leaders have as a record of their tenure? Does it matter that they have a record? What does it mean to have a record for this sort of network topology, or in other words, how is history related to a network topology based on sortition?

A sortition topology does indeed have a history in a way that a topology
based on algorithmic or influencer decision making does not. Each set of
leaders represent a different epistemic regime. I am intentionally
referencing Foucault and the notion that a network represents a
power-knowledge system. The ground of that knowledge, in the case of
sortition, changes with each new group of leaders who create a new
knowledge regime.

Another question becomes, how to create a narrative for a topology in constant change and epistemic flux. Can we even create a narrative or a mythology? A sortition network is a discontinuous network and in order to find continuity and a sense of communal responsibility we should strive to create this base level of meaning. This is the document. The act of leading, of being selected and posting content, and managing the Sortition/Protocol account, is the performance. The documentation is the artwork and the codification of a symbolic regime or episteme.

We can also consider the document in phenomenological terms as the
condition for phenomenological bracketing. The notion of bracketing in a
phenomenological context is to suspend judgement and experience a phenomena without cognitive biases. In the context of Sortition/Protocol, there is a question as to whether we should suspend our personal judgement and act as
Sortition/Protocol, or if we should act as our personal selves. The history of Sortition/Protocol documentation provides a meta-narrative for Sortition/Protocol against the personal proclivities of the temporary leaders. Bracketing in this sense is bracketing personal personal judgement, experiencing the historical document, and when acting as the Sortition/Protocol.

The sort of documentation that we create, like the program for selecting
and running sortition itself, is public and open-source. Initially it is
conceivable as a LaTex program run over the history of items shared and
activity generated on the social media account. The LaTex generation and
object selection is itself an algorithm, but rather than using the
algorithm to surface data, we are using the algorithm to create a past
narrative – a construction of what it means to exist in this new topology.

It is a step away from real-time posting, sharing and exchange, but a
moment of reflection and historicizing. Since the documentation structure
is open source we can extend the documentation to include video, web
documentation, sound, or a multiplicity of representations. With all the
code open-sourced, different communities can implement their own sortition
network topologies on a variety of networks such as instagram, twitter,
mastodon, or scuttlebutt.

Let’s subvert the existing trend toward algorithmic obfuscation and
consolidation of power. It’s no longer about narrative but about
structure. Let’s change the structure and create a narrative around that
structure. Let’s promote historicism and ephemeral media and turn it into mythology.

Code Scaffolding

Code Scaffolding


Did you know, internet friends, that Michelangelo had to construct a special scaffolding system to paint the sistine chapel?? Its true. So my meditation on scaffolding is not with out historical precedence.

One of the things I wanted from my time at  RC was to build better coding habits. This included things like consistently posting projects to github, having a good dev environment (ie tricking out my vim conf), but also structuring my projects in a less idiosyncratic way. And that means scaffolding!

This week was hack week at my job, where we hack on personal projects. I was working on a machine learning project – more to come on that in another post. Since my code was going to be in its own repo, and not part of the monolithic code base, I was wondering what sort of code scaffolding I should use. The code in question is python code – fyi…

What do I mean by code scaffolding?  These are the files and documents that every software project has.  Frameworks like Rails, and Django automatically scaffold projects because they are very opinionated in how things need to work. Node also has some great scaffolding libraries thanks to yeoman. Rust and Haskell also have good project generators – but what about python, just plain ole python??

I posted this question to our corporate internal slack … do we have any corporate python project structural requirements?? Crickets. Although one person did point me to a nifty command line parsing library called click. I was going to say I used this in Rust but really I used the clap library -I just cant think straight because 5 planets are in retrograde and I just got off an airplane.

In any case, after a quick google I found this sample module repository, by Kenneth Reitz. It’s nice. The directory structure is set up well with licenses, readmes, documentation (sphinx), and testing (node). I forked one, and will probably modify this for our internal corporate usage, and also for my own personal usage. Maybe I’ll add some functionality for selenium 🙂

Getting into the habit of setting up my projects in a standard and organized way, helps focus my mind on the task of just writing code and it gives me confidence that the code I share will not be arranged in some bizarro manner. Sometimes bizarro is good, but if you are writing corporate code, or code that has to be  reused, best to take your ego out of it and write something clean, functional, and understandable.