Musical City Techno

Fanny’s Music, East Nashville

Cicada, cricket, grasshopper, frog. However that particular indeterminate carpet of sound occurs, it is a permanent feature of the American South. I grew up in this soup, so hearing this familiar symphony again after nearly two decades of being away felt surreal and magical.

It is the sound that framed my stay in Nashville, Music City, for three mini-conferences all held at once at the Nossi College of Art: Music City Agile, Music City Code, and Music City Data. Although tickets were sold separately, it was all mixed together, so all attendees had access to everything. I recall being initially impressed by their high-quality social media campaign, and getting to the venue the conference Crew did not disappoint.

art on the walls at Nossi

Music City Tech was well organized, well-staffed, expertly choreographed (at least from my vantage point, whatever demons they found were hidden well), and thoughtfully planned. The personal attention given to speakers made it special. The organizers were friendly, helpful, thoughtful, and courteous. Southern Hospitality was at its pinnacle here.

I would say that this all made it feel like a well-oiled, small event… except that 900 attendees and nearly 200 talks and workshops over three days isn’t exactly small. Not only that, it was the most diverse group I’ve seen yet at a tech conference, which really made me smile, as did the attention to including Music-themed talks!

I have written a few things related to my talk, The Music in Resilience (aka The Practice of Practice), so I won’t really go into it here (blog version, soon enough). Instead, what I want to embolden is this thread of confluence between musical and sociotechnical systems that I see showing up in other peoples’ thinking.

instruments on the show floor!

Before jumping into the other talks, it helps to underscore a central theme from mine that was strongly emphasized in all: being on a technology team is like being in a band. An important tool for a collaborative team to maneuver the challenges of complex systems, software or musical, is to build group intuition.

The Sounds of Software

Brett Berliner (@brettberliner)
Principal Software Engineer, Insight

Right away Brett made the connection that many people make and that I’ve heard all my life: musicians make excellent computer people and computer people love music (he has personally attended 500+ live shows). He started off by drawing a clear parallel between great team communication and people getting together as a band and practicing.

geeks geek out to the afterparty band

I felt a bit like I was lounging in a levitating gondolier, floating low above the surface, with our guide pointing out topography below of how music and coding intersected. Using himself as Exhibit A, we were shown early listening devices (boom box, portable CDs, mp3 player pioneers), logos of usual suspects in online music services (props for Bandcamp mentioned), and even headphone recommendations. He explained the methodology for choosing songs for his shared playlists, crafted for various moods and temperament while working.

Lastly was an introduction to live music coding, including something I’ve used before called ChucK, but mostly featuring a (successful!) live demo of Sonic Pi. This came before my talk on Friday, and although I normally never go to talks before I give one, I wanted to make sure I saw this because I had a feeling I could relate.

Does Your Team Groove?
What You Can Learn from a Bass Player!

David Gentry
Scrum Master, Agile Coach

A good deal of the sponsorship appeared to revolve around Agile practices and general team organization and efficiency. Part of the Agile conference track, this talk was my favorite. He even brought a copy of The Music Lesson by Victor Wooten – source material and inspiration for his subject – to give away. You know I grabbed it.

Good Groove is everything but the notes, Good Agile is everything but the process.

Right away the familiar motif returned, and “playing with other people” underlined everything, again making the astute observation that collaboration in teams is the real action of playing with people. I think he and I share the same view that this is not strictly allegorical. As such, David more strongly resonated with the subject matter of my talk, really digging into specifics, not being satisfied merely by comparison and simile.

Like I do with idiomatic improvisation and complex systems, so does David link bass playing and the Scrum Master, believing in that deep connection, feeling it himself. These relationships aren’t only useful because of being relatable to the prevalence of Music in the lives of humans, they also tickle the same cognitive space as collaboration in software engineering.

David and his bass came to play!

He covers six territories of overlap: 1) Servant Leadership as a Scrum Master is akin to the place of the bass in a band, a foundational but often not obvious carrier of the ground; 2) Congruence as the rhythm and harmony holding things together, not noticed until incorrect or missing; 3) Cadence as tempo, synchronization, pulse, and timeboxed structures; 4) Conflict as dissonance that eventually balances to illuminate resolution and discovery; 5) Space as one of the greatest things to give or receive, with characteristics of trust, self-organization, psychological safety, and freedom to innovate; 6) Groove as everything about music but the notes, or in Agile as anything except the process.

His electric bass was at the ready, playing along with simple accompaniment through a single amplifier, giving examples of each of these six in its musical context, while also showing common language used in the sociotechnical one. Triplets against dotted rhythms for Congruence and walking jazz bass for Conflict were especially good, and hey we were even ‘Journey-rolled’ once he made it all the way to Groove. Don’t stop believin’ in Agile, I guess? 😉

What is Kafka?
TicketMaster’s Data Streaming Journey

Pooja Rallabhandi (@pzralla)
Software Engineer III, TicketMaster

defunct PC store, East Nashville

What I liked about this was its connection to Music through a mature, massive, and borderless sociotechnical system that has grown in complexity over nearly half a century. After steering any hecklers away from TicketMaster’s pricing model, Pooja flew at a high level about Kafka‘s pillars, giving a brief overview of the value in persistent Commit Logs and the relationship of producers and consumers with brokers.

The T.M. Core database surely isn’t the same technology in use 43 years ago, right? Although … [queue time travel sequence soundtrack] … I fondly remember operating the TicketMaster VAX terminal at Tower Records 15 years ago, itself reminding me of the VAX at Virginia Tech we used for email 10 years before that … ok, so maybe it’s not that unbelievable. She explained that attempting to solve their problems with normal queue products like ActiveMQ simply didn’t work, ultimately choosing Kafka to front the read layer of their access model for ticketing.

Ticket order transactions go directly to T.M. Core, maybe through some other logistics prior, but nothing touches Kafka yet. That happens when the data gets aggregated and prepared for display – for example on your phone for scanning right after you bought it or for resellers, where immediate updates would be needed – and a near-real-time stream of data is required. That’s where Kafka’s speed and durability comes to the rescue, which they bolster even further with their own strong consistency guarantees by performing snapshot comparisons. It is an elegant example of the tried-and-true separation of reads and writes so familiar to efficient database usage.

afterparty jugglers and geeks converge

DevOps
Philosophy vs Practice

PJ Hagerty (@aspleenic)
Founder, DevRelate.io

This one had nothing overtly to do with Music but neatly supports our central theme. The reason I wanted to check this out was not only that PJ was basically the one other speaker there I even remotely knew, not because he recommends the CI/CD tool I have most recently experienced (GoCD), not due to his self-proclaimed musicianship (I’m sure he’s a fine singing saw player), not even because he called out Chaos Engineering with a Netflix tale, but because the general topic touches an exposed nerve of mine.

The key is that teams work together, the most important part of DevOps is communication.

Nevertheless, his presentation attempted to move us away from the catchphrases so often associated with DevOps, instead dialing-in on how modern tooling supports a cross-disciplined cooperative environment. I am particularly interested in this perspective because Chaos Engineering plugs directly into concepts of group learning in a sociotechnical complex system, especially Game Days (outlined in my talk as ‘The Practice of Practice’).

He also gave a shout-out to another sociotechnical subject near and dear to my heart: SRE. Only he called it Site Reliability Expert. I think my tweet on this sums it up nicely:

This ‘mistake’ actually fit into the talk perfectly, because eschewing the buzzwords really helped make it all about practical combinations of tool and theory, and PJ readily handed out toolset recommendations by continuously relating their practicality to the overreaching philosophy of DevOps.

What is that philosophy, you ask? It’s pretty simple, and it was refreshing to hear someone else say so. Above all, the key is that teams work together. The most important part of DevOps is communication. In fact, it makes sense to think about DevOps as something that needs multiple perspectives to exist at all. Maybe DevOps is everything about software engineering except the code.

Music City

The Gambling Stick BBQ

It felt good spreading the word of Chaos Engineering and Resilience to more ears, and it was spectacular to be a part of the conference. Having been at a few conferences lately that happen on the (US) coasts, it is striking that trends and conversations around the resilience of complex systems and new ways of thinking about safety aren’t being as heavily preached in more landlocked locales. At both here and Texas Linux Fest earlier this year, the number of hands going up for the question “who has heard of Chaos Engineering” was one or less, even in casual conversations. I am finding that this subject seems to get a lot less attention in so-called ‘flyover’ areas than it would at a coastal conference. This needs to change, and my team at Verica is in the game to help make that happen.

I decided to stay over in Nashville a bit afterward to experience some of the city (and sorely missed southern BBQ), fortunate to have a friend and coworker there with whom I also wanted to spend time. So imagine my joy when she surprised me on Saturday with a message that “Duet for Theremin and Lap Steel” from Atlanta (@duetonline) would be performing that night at a sake distillery downtown.

Of course, without a moment’s hesitation, I said yes.

DFTALS at Proper Sake, Nashville

Meta Workshop Jam

Me at the Palace of Fine Arts, workshop eve

Walking late one afternoon after a day deep in Cognitive Systems and Resilience Engineering workshops, chatting with one of the eminent researchers in the field, the conversation circled around common ground in joint activity and sociotechnical systems sharing qualities with music ensembles. I remember agreeing how some uncategorizable thing exists on both sides as an outcome, where a result far greater than merely the sum of its parts occurs.

Music isn’t just the combination of the instruments, it’s the way in which humans push their operation forward through time both creating and adapting to the music and each other simultaneously. I feel like adaptive capacity in a resilient system works much the same way, and this workshop helped confirm my thinking. Here are some reflections about how it forged new connections between my Ops mind and my Musical one (which are not that far apart already).

What is this thing?

I’ve learned that I have latched onto bits of information when discovering. Something will catch my eye or ear and make a little meerkat synapse in my brain stand up and look around and go, “hold up, what’s that?” It’s probably the element of my psyche that drives my vinyl record store diving. I am not sure I would have never become the Paul Bowles fanatic I am without first hearing “Tea in the Sahara” by The Police in the ’80s. Never would have come across the thinking of Gilles Deleuze while studying music if I didn’t ask myself “why is this record label called Mille Plateaux?”

A Thousand Plateaus (1980) is a tome Deleuze penned with Félix Guattari that discusses artists, musicians, psychoanalysts, historians and all sorts of other things having to do with asking questions about reality. It’s heady, as metaphysics and social philosophy tend to be, but one takeaway I like is that ‘experience’ necessarily includes the novelty of ideas and actions. That means newness. Discovery! An expansion of knowledge, an unbounded dimension of insight, an openness to adapt, embracing the unknown and the unexpected.

In fact, later that workshop evening, as a bunch of Human Factors geeks had drinks in a hipster place with fake wood stoves, I learned of someone who has done recent research on cognition in jazz improvisation. Wonderfully adjacent to my own interests, and I may have never heard about it under other circumstances. I love these tendrils of discovery, and it’s those veins of potentials that Deleuze is suggesting belong to a Body without Organs.

Real Work

Regardless of whether Deleuze speaks of art, philosophy, or science, his view emphasizes that we are the most interested in how something works. In fact real work – the things you and I do every day to complete our job titles – cannot be separated from the surprises and adjustments that lie therein. Any number of virtual possibilities potentially describe our engagement with a complex system beyond its components, beyond its recognizable organs and their describable arrangement.

I’m no philosophy student, so an evaluation of metaphysics isn’t my goal here. Nevertheless, when I perceive new angles of thinking about things in different ways, I jump on them as opportunities to discover something about a topic through following a different, sometimes oddball, perspective of that topic. Again, the latch-and-tendril effect. In the spirit of Mille Plateaux, I will proceed dutifully Postmodern and arbitrarily decontextualize a bit I can latch onto!

I have already mentioned the Body without Organs (BwO). It is a strange concept, and not one that I immediately grokked (the wikipedia entry may help). However, on that day of Cognitive Systems workshops, I learned that there was actually an entire discipline built around the indeterminacy that I loved to see in nature and society and the things we build and operate. Suddenly, I knew the BwO better. The uncertainty of the world practically describes it, so I began to wonder how it relates and connects things outside of metaphysics. Like musical improvisation and resilience engineering.

The Non-Thing?

The BwO is one way to think about the thingness of complex systems beyond their components, where effects and outcomes may be more interesting than systemic organ function. That sounds like the opposite of a thing, but that’s the point; it’s not the thing, but beyond the thing. The thing has limited, if any, control over what its BwO looks like.

For my purposes, it resembles inherent Chaos. For instance, it is not that outside agents cause this of their own unpredictable accord (“our users/jr.engineers give us this already”), but that combinations of all factors create unpredictable outputs at the boundaries of competence. There’s just no way of knowing, but there are potential possibilities.

When the thing is a complex socio-technical system, we already know that diversity and collaboration help understand it well beyond its organs. More expansive than just a “whole that is greater than the sum of its parts”. The result of the complex system is a condition that only exists in real-time, and is ultimately empirical and practical in application; it simply cannot exist contained within a theory or design.

This is “the practice of practice” that guitarist Derek Bailey ascribes to the music in his book Improvisation. It does not exist outside of its practice, it is beyond just musicians and any score. The music itself is not a combination of elements and not more than the sum of its parts, indeed that implies a linear relationship and a known quantity! Instead, it is expansive along the various potential faultlines of novelty and experience set before it.

!Theory

My mentor and musicology professor in grad school would always pronounce that word like “thhheeeaoryy” and we’d laugh and go about our day putting screws between piano strings. So keep in mind that these examples are not so much about the metaphysical concept of the Body without Organs, but rather how I’ve recognized its qualities in other disciplines, outside of theory.

  1. The Cognitive Systems workshop introduced me to a wonderful talk by another researcher in Resilience Engineering, Dr. Richard Cook (Adaptive Capacity Labs), titled Bone is Resilience. He shows how adaptive capacity among interoperable body systems continuously regenerate and strengthen bone as the result of a complex system. It involves everything from diet and vitamin intake to blood circulation and bone marrow operation, not to mention each of those systems, in turn, all cooperate with other systems that would seem to have nothing to do with bone growth. These are all quite literal organs. What’s not codified as an organ, or otherwise described as one, is the result of what happens when bones build robustness along lines of stress, heal fractures, or even just grow in a world dominated by gravity. Bone system adaptation along the axis of time is descriptive of a Body without Organs.
  2. Another example that comes to mind is the notion that work-as-planned is never work-in-practice. Rather than say “all models are false”, maybe it makes more sense that all models aren’t models unless they contain a BwO, or the real work of the system, its potentials. Which of course requires the existence of a ‘non-static model’ to differentiate it from the system-as-designed (i.e. work-as-planned). If the system-as-designed is the organs, elements of putting these organ-ic systems into practice comprise the non-static model, which includes its Body without Organs.
  3. A crucial lesson from the workshop is the idea that what we’re studying when we analyze why a complex system fails is the same domain as what happens when it succeeds. Bob Edwards (Human & Organizational Performance Coach) taught and talked about this, putting it beautifully: “To understand failure, study success. The same things that are there when failure happens are the same things that are there when success happens.” Including all potentials on the same stratum, success or failure, is descriptive of a Body without Organs.
  4. Finally, improvisational music is squarely in this realm. The obvious answer is, well of course it is! Mental models and Bailey’s “practice of practice” are quintessentially BwO domains. They are defined by the novelty of their creation in each individual, and when combined with other individuals create a much greater understanding of the whole. The ongoing collaborative understanding of a complex system as it changes and adapts is descriptive of a Body without Organs.

Practical Postulating Virtual Potentials

What I’ve been describing in these examples that include virtual potentials (i.e. indeterminacy or unknown unknowns) is described by Deleuze as a ‘Healthy BwO’. They are non-static planes of existence, fluid and open to reframing and adaptation. Not necessarily bad, not necessarily good. Just all bits of the same virtual potential, creating new knowledge.

The goals behind adaptive approaches to managing complexity consider this. A central workshop motif was our everchanging, adaptive world. My interests over the years have resonated with this, I am fascinated with discovery and change, and realize a lot of my art – visual and sonic – reflects that.

My current work interests follow the same themes, most certainly Chaos Engineering. Its goal is not to cause damage or create chaos, but to employ careful experimentation to examine what Dr. David Woods calls the system’s graceful extensibility, and how it is exposed during the loss of integrity at an operational boundary. These distributed systems we build quickly corporate a Body without Organs almost merely by their variable nature alone, any observation is one in the past, we cannot know the state of the system. As they begin operating at boundaries of competence, they encounter novel modes of potential, whether it be an outage or a surprise efficiency. Chaos Engineering experimentation really becomes a window into the BwO, not an element of it.

The Equality of Immanence

When you think that this thing has both good and bad stuff in it, and they’re both as variable as the other, it comes pretty close to another feature of Deleuze called the ‘Plane of Immanence’. That sounds lofty, but it’s the opposite. It simply means one thing: life, death, consciousness, spirituality, all of it is equal in the same metaphysical flux. None of it ‘transcends’ any other bit of it. This struck me as similar to the ‘new view’ of safety espoused by Sydney Dekker, where there is no such thing as a transcending root cause explanation like human error. The alternative is what Deleuze might call a ‘Cancerous BwO’: petrified regeneration of static patterns, recursive and stuck in linearity. I would certainly say the ‘5 Whys’ and ‘Root Cause Analysis’ are elements of a pathologically cancerous Body without Organs.

The Healthy BwO concept, even as an allegory, makes sense in our adaptive world. The way to survive an environment that is constantly changing isn’t to create barriers and simplifications, but to embrace its Immanence and maneuver complexity with diverse perspectives instead of fighting it, because virtual potentials will happen whether we like them or not.

The most memorable lesson I got from the workshop is that there is a simple answer to complexity: Let it happen.

Welcome to the Verified Machine

Imagine for a moment that you’re a software team, pushing new versions into production. You’re working on multiple pieces independently, so as you make changes automation pulls it all together in orderly Continuous Integration. At the right moment, your team’s work is pushed and Continuous Delivery does the job. Five deploys a day? No problem. Y’all have written, collaborated, tested, and published your glorious stuff. Job well done!!!

Just kidding, you’re not done. Does anyone write software that will suddenly just stop? Ok, maybe Y2K mitigation. But most of us in this industry want to see our stuff keep running into the unforeseeable future. That’s where Continuous Verification enters the picture. In operations, we’ve been given the ball to ensure the reliability of the software you write, but we want to be as invested in running it into the future as you are in writing it.

So, long story short (and trust me it’s long), that’s what I’m doing now at a company called Verica. We are a Continuous Verification company. It’s an area closely aligned with Human Factors Engineering, Resilience Engineering, Safety, and Chaos Engineering. In fact, Chaos Engineering is central to what we do. We are here to help the enterprise get a leg up on Continuous Verification for the complex distributed systems they run. Tested in production, like the glass says.

At Verica, I’m still doing ops. I am SRE, I am Sr. Infrastructure Engineer, I am IT, I am NetEng, I am Purchasing, I am UAT. When we get some, I’ll be DataOps. Nevertheless, I’m beginning to traverse a lot more of the software stack than I ever have before (Golang and service meshes, reluctantly Python, you can rip my Zsh from my cold dead hands). I am excited to teach and speak and collaborate on all things Chaos Engineering, especially how it intersects with my musical proclivities. I will be speaking at Texas Linux Fest at the end of May about this very topic!

Most of all I’m excited to work with a stellar team. These are people I’ve changed up my life and taken great risks to work beside. Five years ago I discovered there was a close similarity between indeterminacy in distributed systems and the things I have studied in music. Verica is the next amalgamation of my love for musical improvisation and operating complex systems. It’s about time I wrote an opera, isn’t it?

MusiCirTechUs

Plenty of people who work in technology are musicians. Plenty of humans are musicians, and all of us are listening, even those who cannot hear. In my travels through datacenters and software, I have come across musicians like myself who have not only done double-duty with their computer science and creative lives but also relate and interweave them. If they’re like me, they cannot break them apart. There are hundreds, if not thousands, of us. We all have different stories, came into the worlds of music and of technology from different angles and different backgrounds.

I’ll hazard a guess that when you think about the words music and technology together, it’s likely you’re thinking about music technology. This isn’t surprising, a great deal of music technology surrounds the production, performance, and recording of music. Musical Instrument Digital Interface (MIDI), studio recording, guitar pedals, analog control voltage synthesizers, DJ decks, Ableton Live, Max/MSP, Joe Armstrong running Erlang on Sonic Pi… the list goes on and gets fractally esoteric. All great examples of technology facilitating the art of music, but I’m interested in what’s happening the other way around.

The original impetus for this post was a comment someone made that raised an eyebrow… it made me briefly question the ideas I have about the field of resilience in distributed systems somehow relating to music. But humans share such an indisputably organic relationship with music and musical training that I knew I wasn’t just some crazy person, the connection was there and it was real. How else do I have the job I have now? This pushed me to want to find others that share my views on the close relationship music has with software and operational reliability.

Take Chloe Condon (Dev Advocate at Microsoft), a self-described recovering musical theatre actress. Now, my musical theatre training and tastes are preeetty specific, but I can relate. She pulls her theatre training into her work unforgivingly, and that is awesome because I fear that. Inspiringly passionate about the connections between her performing arts expertise and working in tech.

Recently chatting with her at SCaLE, Chloe clued me in about someone close to my wheelhouse: “Opera Singer turned Software Engineer” Catherine Meyers. Her Mozart could’ve been an Engineer talk correlates music theory and counterpoint to building software. She emphasizes the similarities of pattern recognition between the two disciplines, especially as it relates to learning. Preparing a new piece or constructing a score interpretation is 100% relatable to the software engineer learning a new language or building in a new framework. I especially love how she emphasizes the importance of having different types of minds together in one group, in other words, don’t be afraid to hire a music major.

These folks that are trained in synchronizing common ground through the experience of playing in musical ensembles carry a distinct advantage. Diversity and communication are the trademarks of both successful musical groups and software teams. Establishing common ground through shared learning is crucial to the modern team building and operating distributed software. It is obvious to me that ensemble music not only relates to complex systems but also to highly coordinated teamwork, to wit:

I’ve conducted marching bands, wind ensembles, and jazz bands... They are complex, highly interdependent systems.

Tanner Lund (SRE at Azure)

This couldn’t be more true! I have been in an experimental vocal trio, a free improv quintet, a blues band, a jazz group, an early music ensemble, a 330 piece marching band, uncountable operas with full orchestra and cast, chorales of few to many, piano accompanists by the dozen. There is nothing in any of these situations that doesn’t require common ground and shared experience.

In her blog post, The Origins of Opera and the Future of Programming, Jessica Kerr (Lead Engineer at Atomist) introduces the concept of symmathesy, a state of collaboration that is integrated with learning, all as part of the system (even the tools are team members). She does so by taking us back to the foundations of modern opera in Italy, adeptly adopting the term ‘camerata‘ from the Florentine Camerata example she uses, applying it next to social circles of painters and artists in later centuries, and then to teams creating software. She considers how our mental models evolve and how common ground is reached through the shared experience of a varicolored team from all sorts of different backgrounds, ultimately making the team more powerful. “We are developing whole new ways of being human together” she states, and to me, that’s nowhere more clear than with multi-disciplinary collaboration.

The CS / Math / Music crossover is clearly one I have encountered a lot, from early on. While I was studying voice and music technology in undergrad, I vividly remember walking with a good friend in downtown Blacksburg, and her saying to me “I could never major in music, there’s too much math.” I used to laugh at this because there’s really only as much math as that you wish to encounter. Want to dive into tempered tuning and Kepler’s mathematical ratios for perfect fifths? Go for it. But you know, these days I look at that statement through different lenses. Yes, there is just enough math! And if you study music, you may run the risk of studying computer sciences. * Please be aware that some practitioners of both have reported sudden bouts of inspiration and lightheadedness due to euphoric discoveries that cross disciplines.

On the subject of cross-discipline study…

I find a lot of what of I learned in music performance transfers directly to public speaking.

Amy Tobey (SRE at GitHub)

As a student of opera, I couldn’t agree more. Long ago I had a theatre teacher tell me “you will never be happy not onstage.” I didn’t know what she meant until I myself experienced exactly the same kinds of challenges and rewards with giving talks and public speaking as I did singing Mozart or Fauré in front of large audiences. I discovered that my experiences onstage presenting music are exactly the same headspace as when I’m talking in front of a room of computer people about distributed systems.

When I gave my talk Measuring Distributed Databases Across the Globe at Southern California Linux Expo 13x (2015), a very enthusiastic artiste-cum-techie approached me afterward. They had decided to move into software engineering after art school and said my talk, which combines theories and ideas in music with those of observing and operating huge distributed databases, was inspiring. They had been trying to reconcile their internal ‘artistic identity and self’ with their passion for coding, and I had opened their eyes to a new way of considering it.

I will never forget this. It was exactly like having someone come up after one of my experimental music performances (which are also heavy with technology) being blown away and asking how things worked. Even if one mind out of a thousand is influenced by what I’m doing, whether it’s music or technology, I’m building the camerata through sharing.

Eureka! The audience contributes to symmathesy, too. There are tons of examples; the feedback of a crowd during a DJ set, participants of David Tudor’s Rainforest, someone opening a candy wrapper at the symphony. There’s no getting away from the audience, however small. John Cage preached throughout his career as an avant-garde composer: listeners are participants. Every performance is something new because there are different people in different places every single time. The title of this piece is a play on Cage’s Musicircus, an amalgamation of disciplines and performers occupying the same large space together with the audience.

So consider the sheer experience of music and how it feels oddly in-step with how we think about technology, and take it one step further. Many of us trained in the practice of music consider it so much a part of our bones that it seeps into our work, we don’t have a choice, the pattern recognition pathways seem to match up. They fit into our psyches in a comfortable way, share the same affinity for abstractions, incorporate complex and overlapping systems that stretch the human capacity for comprehension.

Do I have an aptitude for music because I’m successful in understanding the practical application of complex things? Or do I have an aptitude in technical operations because I have been trained in music and theatre arts? Doesn’t it make sense that the diversity of music is a human quality, not a disciplinary one? Why should our work as computer scientists, software engineers, database operators, and network gurus be any different?

Temple Grandin talks about the world needing all kinds of minds. In her view, different people fall amongst three “categories” of thought: Picture (common on the autistic spectrum), Pattern (code, math, music), and Verbal (writers). It resonates with me a great deal because I always feel like I’m thinking in ways others are not. More specifically, though, it underlines how different styles of thinking can bring entirely new perspectives on a particular question, and how crucial diversity is to human endeavor, if not evolution itself.

This post started out as me being passionate about a subject and wanting to search for others who were. I had some bullet points of my own to insert, but as I searched and connected with others in the field, I learned new things and this blog transformed from a list of Twitter handles to real human relationships. I have grown to understand what Kerr means when she says that ideas are for sharing and collaboration, not hoarding and heroism. I for one am claiming my spot in the camerata that pushes us forward through a New Renaissance.

Weirdness of Experiment

My job in ops has always been to keep things running. I never considered myself “working in software”, but have recently begun embracing the fact that I do. What I accomplish as an operations and infrastructure engineer is part of the system, it isn’t dislocated from its composition.

Relatedly, I have been considering the nature of the experiment in Chaos Engineering. How continuous verification is becoming a crucial part of the complex systems we build because there really is no end. Developing a software system isn’t just about writing it, it’s also every bit as much about running it. Unless there is some kind of evil catastrophic end-game planned from a volcano island hideout, most of us want to keep them running.

I’m big on experimental music. You probably know what I mean when I say that, but you might not because genres, in general, are horrible overgeneralizations. Similarly, after the composer John Cage had written his “silent piece” in 1952 (see also Living 4’33”), he seemed to have a struggle with the concept of calling the music composed by him and others he admired experimental.

In science, we often think of an experiment as a method to (dis)prove a hypothesis. We perform experiments to answer a question or assertion, often during the process of reaching an end goal. To Cage, this implied that calling something an “experiment” meant it was not complete, not finished. That there is a final state determined by products of the experimentation, and he thought that his (and others’) music was complete when performed. There was no “final state” that was decided as a result of an experiment either succeeding or failing, if it was itself called experimental.

Cage revised this view, however. He began embracing the term and actually ended up preferring it. The reason for this is the way he evolved to think about the context of sound. At the beginning of the decade, he experienced an anechoic chamber (an “echoless” room) and the non-presence of total silence, because he could hear both high and low sounds — explained to him by the engineer as his nervous system in operation and blood circulating, respectively. Whether or not that is physiologically probable, he had the now famous revelation that it is impossible to remove sound completely. 4’33” and an entire philosophy about the nature of sound and silence in music was not far behind.

To him then, the moniker experimental came to mean that which is undiscovered, because even if a piece of music requires certain sounds, environmental sounds are impossible to predict. This experimental music isn’t about the search for failure or success, but an experience of discovery, where questions become more interesting than answers. When applied to composition, each performance of a musical work is always new and different due to its context and sonic environment. Indeed, it is impossible to know ahead of time any structure of the interpenetrating sounds both intentional and not, themselves independent and unique (whether or not they are consonant). It is in fact in a total state of chaos, each and every time.

When complex systems run, they do so at the hand of indeterminacy and randomness. There certainly is a “steady state”, but it is continuously in need of verification. Just like Cage observing that no performance of a musical work is a repeat, the nature (structure and form) of distributed systems we operate cannot in truth be predicted with any kind of regularity.

So while it is useful to be very specific in defining and running our Chaos experiments, the nature of what we’re doing is more about asking questions and making discoveries, not testing for answers we already think we know or think we can guess. The “breaking things in production” mantra implies we are interested in failure when what we’re really interested in is what was determined and what questions arose, good or bad.

Appendix

Here are a couple of PDFs taken from Cage’s writing that highlight his viewpoint on the subject of “experimental music” as a title of what he did.

  • Experimental Music: Doctrine (1955) ::: This article, there titled Experimental Music, first appeared in The Score and I. M. A. Magazine, London, issue of June 1955. The inclusion of a dialogue between an uncompromising teacher and an unenlightened student, and the addition of the word ”doctrine” to the original title, are references to the Huang-Po Doctrine of Universal Mind.
  • Experimental Music (1957) ::: The following statement was given as an address to the convention of the Music Teachers National Association in Chicago in the winter of 1957. It was printed in the brochure accompanying George Avakian’s recording of my twenty-five-year retrospective concert at Town Hall, New York, in 1958.

The photo above is the album cover from a release by Craque called Meat Hacker.

To Build or To Buy, That is the Contradiction.

It’s dead simple. Focus on your team and product.

Yes! An easy tweetable answer! Except that it’s loaded with questions and assumptions. Instead, what I will talk about here are technology decisions. Those that really matter are about things that elevate your ability to build what you are building at the velocity you need.

In Operations and SRE, we are not only tasked with evaluating and testing technologies, we are often requested (or sometimes instructed) to support the decisions others make. This isn’t an ideal situation, and in some cases, impractical because it feels like a policing. In fact, it might sound a little selfish to think that SRE needs the ability to say “yay” or “nay” to a decision. If you think that feels slightly siloed, you’d be right. I prefer working with all vested parties to come up with a solution that fits the problem, not just make blind leaps of faith on a particular platform. Flexibility and cooperative evaluation work really really well, believe it or not.

In my experience, it takes a minimum of six months for a team to work up a brand new (to them) technology or platform and have it be supportable in production. Even then, if the software team building it won’t be permanently oncall for it (which is something else I believe), they should at least be on the hook for a minimum of six months further as the kinks are worked out. This seems fairly straightforward for something like a development framework or a particular platform specific to operating the software system in question. For example, adopting Redis as a DBRE-supported platform in production. There are clear reasons why the software needs this kind of ultraspeedy k/v store, and building up widespread support in SRE for it means other software teams benefit. That is a highly opinionated decision and one that’s fairly easy to make especially because it’s free!

But is it? In contrast, what happens when you need to fulfill the needs of infrastructure? This is where Operations tires really hit the road. This doesn’t mean it’s a siloed decision, for example introspecting the system is as important to reliability engineering as it is to the folks developing the software. The Redis example above shows how technology decisions become a crucial part of the collaboration among everyone involved building your product, whether it be dev or sec or ops or everything in-between. However, it doesn’t quite reflect the reality of infrastructure requirements, particularly tooling that supports the needs of reliability. “We need monitoring and we need it yesterday!”

So, I posit: There is no “Build or Buy”. There is only Buy.

I build electronic instruments. My product is the music I make, and one the central philosophies in my approach to improvisation and performance is the concept of “original sound”. What music does a plucked cactus make when amplified, or how can a mercury tilt-switch and photoresistor create sound from electrons? The top picture here is of a breadboard, a prototype of a device that will eventually drive something called a “Voltage Controlled Oscillator”, or VCO. To the left is a photo of a professionally designed, tested, and built VCO. I have no need to design and build a VCO, even though fun, it is a distraction – both in time and money – from my main purpose: the creation of a new kind of analog synthesizer controller. I’d rather buy the VCO and the accompanying support of the experts who not only built it but are passionate about its success. Then I can focus resources on my creativity.

The technology decision to be made is heavily informed by what kinds of resources you want to spend on it. Building a platform in-house, using your own people, is sometimes only feasible with very large companies that have the ability to staff for this, and often have custom circumstances. It’s not hard to notice that a few very successful software platforms come out of organizations in this position. These teams also must deal with all the infrastructure costs, maintenance, reliability, and complex aggregations of data and transports. These problems have indeed been solved many times over by third party SaaS/PaaS/IaaS solutions, but sometimes the amount of customization required demands it. Or the development of these systems may be so clearly aligned with the company objectives that it is a non-question (e.g. Netflix pioneering Chaos Engineering or Google producing Borg/Kubernetes).

These days, such cases are the exceptions. Most of us are with companies where this luxury and concentration of engineering ability aren’t present. It may make a ton more sense to choose an expert in the field, whose company mission is specifically to provide this need. The argument that Ops Is A Cost Center is underlined, because the focus should really be on the product. “We’re good enough we can run a custom log aggregation stack at the same time we’re developing this completely dependent but orthogonally related product” is probably an approach that should be questioned, unless of course you are prepared to buy those resources through hiring and operational expenses.

Either way, you’re building something. Recall the decision to choose Redis, and how long it took to enable that system in production. The same will apply to any in-house platform or tooling. Nevertheless, it’s a tradeoff. To buy resources for building in-house or buy a third party SaaS, each have their own layers of complexity, complication, and frustration. Yep, it might be fun to build, but is embarking on such a project really the right choice for the team and the product?

Like many in Ops, I once considered the “Elastic Search / Logstash / Kabana” (aka ELK) stack for datacenter log aggregation. All its various pieces are a fun complex thing to put together, and it’s an extremely useful resource for gathering and displaying events. All these pieces are freely available things, but our SRE teams were already pretty busy with the task of running our own product and other custom bits of infrastructure. It would take at least a single SRE’s full time and attention to keep the stack running across multiple server farms of 10,000+ nodes. Not to mention training and documentation for others. Maintained, tested, resilience-hardened, budgeted, the list goes on. I’m definitely going to be “buying” a lot here, and it’s a messy looking BOM. ELK’s competitors at the time ranged from fairly entry-level cloud-based SaaS to “Enterprise” packages, but one vendor, in particular, would be a great solution. Was there a cost and the administrative toil of negotiating a contract and keeping a vendor relationship going? Yep. It’s also a single invoice, takes much less time from the SRE team to manage, and is much simpler to integrate with the farm.

Would you rather focus on building the instrumentation into your software and have a team of external experts guide, consult, and ultimately provide the intelligence platform to which they have dedicated their careers? Or would you rather split focus and build your own customizations into the infrastructure? It’s not black and white, either. One method may outweigh the other depending on whether you’re bare-metal or in the cloud. There may be security reasons to do one over the other. As the software product matures, these needs may blur. What needs to be bought may be simple and small or complex and large, and grow in either direction.

So let’s be clear: a third party platform isn’t automatically “more expensive” than creating an equally performant service or fulfill a particular infrastructure reliability need in-house. Do the research and compare, make the investment that makes the most sense for your team.

Don’t be fooled, though. Either way, you’re buying it.

Musical Intuition meet Technology and Chaos

Today I read through the InfoQ eMag on Chaos Engineering, and was struck by John Allspaw’s (@allspaw) contribution because it reminded me of something I jotted down on a sticky at my desk a few days ago:

Intuition is valid because it is learned like jazz changes.

I’m pretty stubborn and refuse to accept that music is merely a hobby of mine. When people ask me if electronic music or singing is my “hobby”, I am wincing inside. So a question often on my mind is: how does the intuition I have when performing and composing music connect with the work I do as a technologist?

Some musicological background might help. One concept in learning how to improvise (jazz or otherwise) is that you have developed an intuition built around internalizing the materials and form of the piece (or genre) – like scales, chord changes, or rhythm structures. This is different from the more lizard-brainy concept of instinct. Think about a blues progression, the foundation of music you hear every day, everywhere. You know intuitively the chord progression and timing is “right”, even so much that anomalies and departures come across as emotionally significant. The rest is pop history.

But you, homo sapiens, do not have this chord sequence pre-programed in your DNA, it isn’t something that is instinctual. By the same token, great technology leaders develop good intuition (expertise over hundreds of interviews) when hiring engineers but never rely on instinct (oh I just have a good “gut feeling”). The best DBAs have an intuitive understanding of their platform (you want to do X, but did you think of Y+Z?), but there’s nothing instinctual about it.

It is not a stretch, then, to recognize that intuition in improvised music can be directly compared to how Allspaw writes about the “mental map” that engineers develop. They each have their own subjective view on relevant (but overlapping) parts of the system and are challenged when relating each substrate to theirs. For instance, a phenomenon known as “fundamental common-ground breakdown” (Woods & Klein: Common Ground and Coordination in Joint Activity) happens when what I describe as intuitions (accumulated individual learnings about the system) are assumed knowledge among participants, good or bad. Part of the game is learning how to harmonize these separate threads of experience, avoiding costly coordination surprise and re-synchronization… and trust me, I have been in plenty of rehearsals and narrowly saved performances that fit this description!

The important point here is that a system becomes more complex as it grows dimensions, shrinking the capacity of any one person to comprehend the whole thing. Therefore we rely on shared and discovered knowledge to fully grok these fascinating systems. Take any ensemble of musicians: as it grows in membership, individuals gradually lose the ability to contain its myriad relationships in their mental map, so coordination and integration become a matter of listening and rehearsal experience (both modes of communication). Oh and it characterizes the music, too. Building intuition about how to play a part in an opera is much different than in a free improv vocal trio. Orchestrating ten thousand linux containers in a cloud provider doesn’t compare to managing two rows of server racks at the datacenter downtown.

Technologists grapple with the task of building and sharing intuitions about a system because understanding an entire system contributes to what we know about making it more resilient. Communication is key in either musical or engineering teams, collaboration on understanding the whole is no exception. Our mental maps should be adaptable to constant updates, and practices like Chaos Engineering that make discoveries in complex system behavior are supported by this kind of cross-pollination and proliferation of our combined understanding.

A quote from Allspaw’s article highlights it well:

Maybe the process of designing a chaos experiment is just as valuable as the actual performance of the experiment.

– John Allspaw, Recalibrating Mental Models through Design of Chaos Experiments

The use of the term “performance” is apt. We’re familiar with this concept: practice makes perfect. Taken further, the experience of practice is necessary such that the result is merely an extension of practice. It takes meticulous work to understand a piece of music to the level of having an intuition about how it operates, and the same goes for building experimentation that challenges what you think you know about complex software. The results of the “performance” can be enhanced by a focus on understanding the system’s design and steady state (i.e. nominal condition), what we would call the language of the musical work. It is as if the performance of the event naturally evolves from learnings gained preparing for it.

Imagine you are a jazz musician, you have gone through years of studying scales and changes and charts and recordings of a particular artist, and have built a capability for understanding how the language of their music works. One evening at a local club, your dreams are fulfilled, you’re in the audience and invited up for a set with them. You intuitively know how this person plays their music, as it has been a guide for your own. But when you’re jamming together, they do something indeterminately that informs your intuition in a way you would have never discovered yourself. Not only has the process of designing your inevitable collaboration been valuable to understand what you thought you needed to know to play like your biggest influence, but it also served as the basis for learning something new and unexpected.

Whether it is free improvisation or interpreting a through-composed piece of music (and everything in between), there is a certain amount of experience and training informing the performance. Eventually, when we’ve practiced enough, the music itself steps out of the way and intuition takes over. I think this is where my musical performance connection with technology starts: once you understand the fundamentals of the system, let the presentation of the system get out of the way, and you’re in a better place to evolve your mental map and gain further intuition through disciplines like Chaos Engineering.