Andy's Fun House


Stop Calling Me DevOps, I Do DevOps!

I’ve been grappling with a bit of personal reality as of late.  I do technical articles/posts on DevOps topics, I consult on (and perform) DevOps at work, and when I teach people how to program I accidentally teach them a bit of DevOps in the process.  The problem is this: I don’t want to be called DevOps.

“But Andy, why don’t you want to be called DevOps?!  It’s so great!  And it’s just a name.”

I’m so glad you asked, and I’ll do my best to keep it simple.  Let’s all agree that DevOps (as it relates to software development) is the concept of increasing communication and collaboration as well as cross-specialization for the purpose of building better software.  Sounds great, which is why it’s what people have done for decades before the term DevOps was uttered.

Before people had phones more powerful than the things that sent us to the moon, before we could bicker over functional vs imperative paradigms, and before we had operating systems named after furry death machines, people had to create computers.  The ones who did this weren’t computer scientists (and certainly weren’t Rockstars, Gurus, Ninjas, or anything else that absurd).  They were mathematicians, engineers, and maybe sometimes chemists.  They had other jobs and plans, and things that could’ve used automation.

Those people who did the most for our industry were often doing so because programming/sysadmin simply were unfortunate enough to get in the way.  And though I certainly wouldn’t claim I’ve done anything useful or great for the industry, I can at least relate to programming and system administration getting in my way from time to time.

I taught myself how to program, and in the process I had no choice but to learn how to keep an eye on the quality of my software, how to get rid of menial tasks for deployment, and how to communicate what I wanted/needed with my collaborators and clients.  I didn’t do those things because I wanted to expand my areas of expertise, I did them because I was annoyed and was sick of waiting for something or someone to do it for me.

When I say that I don’t want to be called DevOps, it’s really just me being frustrated.  This term, which apparently is a very big deal these days, is yet another industry repackaging of something most great engineers do anyway.

So just remember… I’m not DevOps, I’m just an engineer who has a lot of things in his way on a daily basis.


- Andy


Question of the Month – 2013-11-26 (Archive Repost)

Years ago while working and living in North Carolina, my friends and I attempted to start a series of thought experiments together for tackling purely hypothetical questions. This was the one question we managed to complete, posted in the hopes that we can again try turning this into a monthly occurrence.



“Assuming time is non-linear, what is a better way to notate the age of an entity?”


LS (Liam S), AM (Andrew M), MH (Matt H)



Proposition: give up on measuring time. Time is usually a proxy for experience, or for progression through a known process (like a chemical reaction, or the steady draining of sand through a hourglass). Whenever we forget that, we create rules that end up making very little actual sense. Like the ones that make it illegal to drink alcohol on one day, but perfectly legal a mere 24 hours later (or if you know your exact time of birth, from one minute/second/etc to the next). In fact, time is a truly crappy proxy for deciding how responsibly someone will act in relation to alcohol. It’s a truly crappy proxy for deciding how responsibly a given person will be in relation to just about anything.

Give up on judging things by the proxy of time, and do direct measurements of what you want to know, on the particular case you want to know about. Somebody has been out traveling at very near the speed of light and they have returned? Well, who cares what their clock said or what your clock said. Are they showing signs of being mature enough to engage in whatever your proposed activity is? Did they experience the things they will need in order to react appropriately to a given activity? Note that those two answers might be different for the same person, and the same activity.

Time isn’t just a crappy proxy for human maturity. it’s a crappy proxy for a number of the things we like to think it’s a good proxy for, like the breakdown of unstable nuclei. All you can say about that, is that if nothing unexpected happens, then it will take X time for half the nuclei to decay. But in reality, there are a number of things that can happen to speed or slow the rate of decay from the one expected. So, sure, in a lab’s controlled conditions, you can make assumptions about breakdown given the time, and knowing how much lead shielding you need to keep from giving yourself cancer. But anywhere else, you better not assume anything and instead just measure with your Geiger-counter.


We interpreted the question as asking to devise a scientifically consistent and tangible measure for expressing the duration of a period. Put more simply: what’s another way to measure time without using the made-up construct that is time?

The goal of metrics are to provide understandable and convertible figures by which we can understand things that happen within the universe. Be it how long it has been since an animal has been born, the period which encompasses one object’s passage around another’s in space, or how quickly an object is traveling relative to another distant object. Linear time is, as far as we currently know, not a verifiable substance in the universe. It is an abstract concept we have created to provide common measure when discussing the passage of existence.

There are certainly relative measures you could use for each object. For a human being you could count the number of heart beats they have produced, the number of breaths they have taken, or the amount of steps they have traveled since their birth. Orbiting objects could be measured by both the distance they travel in their orbit and the number of times they have orbited. Finally, determining the speed of an object in space relative to another can be measured in combinations of distance traveled per rotation on the item’s axis.

The problem, though, is that each of these relative measures is fantastic at giving metrics specific to that object, but terrible at translating them into something that is usable for communicating those differences among disparate objects. Just as an example, basing your age off of the number of heart beats fails to communicate to others measuring similarly how different your heart rate is to theirs, how often your heart rate varies based on fitness levels, etc. There are analogous problems with the other measurements for orbiting objects and relative speed. Each measurement on its own is useful but is almost hopeless for making comparisons between even remotely equivalent objects.

Given the above and the circumstance of the question, finding a better way to notate ‘age’ for an object is about finding a common measure for how long the object has existed. In needing it to be common or universal, you are limited to things such as distance and energy. The
system you would create to provide convertible measurements for everything based on something like distance or energy would be extraordinarily complex and likely eventually found to also be just as relative as any other system.

All of that being said, it is important that Liam receive credit for coming the closest to an actual solution with his idea to measure the number of neutrinos that have passed through the object. It is known that the number of collisions experienced with neutrinos is extraordinarily small with known matter, thus making it fairly reliable assuming neutrinos are equally present in all parts of the universe. It’s not a perfect solution, but it’s pretty interesting!