In 1991, the Company of Science & Art created a music video for Phish. It featured richly colored pastel drawings by Scott Nybakken with just a little bit of vector art and compositing that was likely done in Photoshop 1.0.

The Esther animation (below) was recorded in real-time from Apple Macintosh IIfx running PACo a software-based animation engine developed by The Company of Science & Art

At the time that this music video was made, CD-ROMs were new and Apple Macintosh computers had recently started supporting color monitors. The IIfx was the high-end of the Mac product line, and I remember that computer had 8MB of RAM, which was the most of any Mac in the office.

The sound file had to be annotated with sync points, which were produced by importing the audio into SoundEdit and then adding labels using the graphical user interface and then I think the labels could be exported as its own file (or maybe it was embedded in the sound file, I don’t remember). We used HyperCard as the original user interface for PACo, so we could experiment with new features quickly. The software would combine the labels, audio and a folder full of images, and also allow you somehow to specify transition between the images.

Images were 8-bit color, which means that each pixel was stored as a number which was an index into a color palette. Some of the color shifts in the Esther flying sequence were animated by a specific animation technique that was accomplished by rotating the color palette while leaving the pixels on the screen unchanged. This allowed for faster transitions and smoother animations than would otherwise have been possible. Even the fastest personal computer at that time was too slow to redraw the full screen at the framerate required for animation to look smooth. Notice that where elements are animated only a portion of the screen changes at any one time, such as with the church window sequence (2:07) and the spinning girl (3:40).

It was really fun to work with Scott Nybakken and John Greene who created effects that seemed to stretch beyond what was possible with the software and hardware.

“You can’t do that, it’s illegal,” was a common response to our attempts to bring modern tech practices to the US government. I worked for the Smithsonian Institution in 2013, then for the General Services Administration (GSA) from 2014-2016. First as a Presidential Innovation Fellow, then at 18F, I was part of a large group of industry experts who were recruited to transform government in partnerships with a few talented and experienced civil servants who understood policy and law.

I think it was Stephanie Rivera who first coined the term, full-stack bureaucrat. She had a much more formal title in real life, but this informal moniker helped me understand the work of policy makers through the lens of a software engineer. Whenever we were blocked by someone telling us something was illegal, it was important to find out what rule or law was actually causing the perceived or real conflict. This was akin to debugging the source of a software problem, isolating a bug to a specific place in the “stack.”

Layers of Rules

I think of the bureaucracy stack with practice at the top and the constitution at the bottom, even though the whiteboard photo I saved from one of the full-stack bureaucrat tech talks (below) lists them in the opposite order. In the list below, the top of the stack is the part that is most easy to change.

  • Practice is what people do, which is designed to be within the law. It’s actually rather easy to accidentally break the law by doing something outside of your job description as a civil servant. This is the easiest place to change things if you can establish trust and do some research to show precedent or get a manager, someone from senior leadership or the general counsel to confirm that the new thing is legal. You often find helpful documentation from lower down in the stack…
  • Guidance comes in the form of a memo or documentation that explains some nuanced point. Senior leaders, usually in consultation with general counsel, can issue new guidance when a new practice needs to be established. Sometimes you can find guidance that supports the change you are trying to make, or at least
  • Policy is written by an agency for itself or for all agencies by a few special agencies like the Office of Management & Budget (OMB) or Office of Personel Management (OPM).
  • Regulation is sometimes specific to an agency and sometimes applies to the whole government. Whatever governing body wrote the regulation is the same one who needs to modify it. Sometimes regulations are written into law. By the time you get here in the stack, and below, you are working in an entirely different realm.
  • Law requires an act of congress.
  • The Constitution

It was a little scary at first, when someone would tell me that what I wanted to do was illegal. After a while, I became adept at asking for more information. Meeting opposition with curiosity is a powerful technique. “Really?” I would ask “Could you tell me more about that?” or “Who could explain this to me in more detail?” Usually the policies and laws weren’t actually designed to prevent what I was seeking to do, and it was just a matter of changing the words that I used to allow me to create the change that I needed.

Notes on Terminology

The term full-stack bureaucrat is a nod to 18F’s staff of full-stack developers. The term “full-stack” describes software engineers who are capable of writing code at any level in the “stack” — from HTML that runs in the browser, to middle tier ruby, python or java to SQL that runs in the database (the bottom of the typical web app “stack”). In the early days of 18F, having a staff of full-stack developers was essential for the technical work, where a small staff needed to be prepared to hack anything.

As it turned out, we also needed to learn how to hack bureaucracy. Just like in debugging software, in order to isolate the problem and come up with a fix that will work, we need to figure out where in the stack the source of the problem lies. Understanding the “stack” that composes the legal framework of our government helped us navigate and modify the processes that sometimes prevented us from doing the technical work that was needed.

On a whiteboard from top to bottom:  Congress-Law, OMB/Agency:Regulation, OMB/Agency:Policy, Agency:Guidance, Agency:Practice

When Dr. Martin Luther King, Jr. accepted the Nobel Peace Prize in Oslo, Norway, December 11, 1964, his speech was an inspiring call to “make brotherhood, freedom, and justice realities in the United States of America.” The speech could have been written about the United States of America today.

While celebrating and honoring the high and joyous moment of receiving the award, he also provides a rare assessment of how this work profoundly affects the individuals who take action — the “devotees of nonviolence who have moved so courageously against the ramparts of racial injustice and who in the process have acquired a new estimate of their own human worth.”

The following direct quote from the speech entitled The Quest for Peace and Justice provides a simple guide to non-violent resistance.

The nonviolent resisters can summarize their message in the following simple terms:

  • We will take direct action against injustice despite the failure of governmental and other official agencies to act first.
  • We will not obey unjust laws or submit to unjust practices.
  • We will do this peacefully, openly, cheerfully because our aim is to persuade.
  • We adopt the means of nonviolence because our end is a community at peace with itself.
  • We will try to persuade with our words, but if our words fail, we will try to persuade with our acts.
  • We will always be willing to talk and seek fair compromise, but we are ready to suffer when necessary and even risk our lives to become witnesses to truth as we see it.

I’ve highlighted a few parts of the speech below that feel particularly relevant today, where our complex technology is simultaneously empowering and disempowering.

Modern man has brought this whole world to an awe-inspiring threshold of the future. He has reached new and astonishing peaks of scientific success. He has produced machines that think and instruments that peer into the unfathomable ranges of interstellar space…

Yet, in spite of these spectacular strides in science and technology, and still unlimited ones to come, something basic is missing…

Our problem today is that we have allowed the internal to become lost in the external. We have allowed the means by which we live to outdistance the ends for which we live…

We must still face prodigious hilltops of opposition and gigantic mountains of resistance. But with patient and firm determination we will press on until every valley of despair is exalted to new peaks of hope, until every mountain of pride and irrationality is made low by the leveling process of humility and compassion; until the rough places of injustice are transformed into a smooth plane of equality of opportunity; and until the crooked places of prejudice are transformed by the straightening process of bright-eyed wisdom.

Every day corporations accidentally or intentionally use machine learning and automated processes that operate at scale in ways that cause direct harm or incite violence. And in much more subtle ways, we participate in systems that oppress. The civil rights movement succeeded in changing laws, and now we face the challenge of changing our society.


via @TheKingCenter: “thread of #MLK speeches and sermons in which he speaks truth to power, shares about his philosophy of nonviolence and expounds on issues of injustice and what our righteous, rigorous response should be. Relevant. Revelatory. Revolutionary.”