Day 55: The Experiment Ends

54 days ago I decided to set myself a goal to work on during my period of unemployment and social isolation: I would publish a blog post every day, and spend at least 30 minutes on each. I’m proud to say that I was able to achieve that goal!

Tomorrow I start my new job at NVIDIA, so I don’t anticipate having the copious amounts of time on my hands as I have had these past few months. I will still blog occasionally, but only when I have something to write about, and time to write it.

What have I learned by doing this experiment? Well, to start off with, I learned that it’s very difficult to let go of something without polishing it to death. That is my normal mental state when I write, and as a result I end up not publishing a post if it doesn’t feel perfect. But setting the one-edit rule helped a lot. At first I would examine every single character to make sure I didn’t have any mistakes, or could have used different words for better clarity, or… the reasons go on and on. But after doing that for a few days, and realizing that the world didn’t collapse around me, it got much easier.

Another thing that made it easier is realizing how few people actually read these posts. I have tools that generate daily stats for number of visitors, and how many times any given post was read, and believe me, they were pretty low. The one exception was the post about finally getting a new job: that got over 300 views! I find that encouraging: that people were truly happy for me, and interested in how I was doing.

One other thing I learned is that writing any particular piece gets easier once you start. Most days I didn’t have a clear idea about what I would write, and would procrastinate until I either had to start something or break my streak. I’d start by writing whatever I could think of on the topic, and it was usually crap. But after a bit it would start to flow, and I’d end up deleting the first few paragraphs whose focus meandered aimlessly, and post the rest.

I’ll close this with a caterpillar update: Lazarus is still in his/her chrysalis, but so far 9 of the new brood have emerged as adult butterflies! Unfortunately, one of the 9 had deformed wings and couldn’t fly.

I took this picture this morning of one of the enclosures: you can see butterfly #9 up at the top getting ready to leave, several pupas attached to the stick assembly I made (and one pupa attached to the enclosure itself in the top right), and two caterpillars crawling on the cup of parsley, with their little poops dotting the paper towel flooring. It’s a butterfly production line!

Day 54: Honoring an American Hero

The word “hero” gets tossed around so much these days. Someone joined the military? They’re automatically a “hero” before they have done a single thing. It dilutes the word until it’s almost meaningless.

True heroes are few and far between. Yesterday we lost one of those heroes, Rep. John Lewis. For those who don’t know him (shame on your teachers!), he was an icon of the American Civil Rights movement. In fact, he was the last surviving speaker from the March on Washington in 1963, the event in which Martin Luther King, Jr. gave his “I have a dream” speech.

In 1965 he led the march to demand voting rights that was to start in Selma, Alabama, and go all the way to the capital, Montgomery. However, as they were leaving Selma and crossing the Edmund Pettus Bridge, they were met by 150 state troopers, who demanded that the march disband. The marchers stopped advancing, and stood in place. About a minute later, they began to be attacked by the state troopers with club, whips, and tear gas. Lewis himself suffered a fractured skull at the hands of the troopers. This attack became known as Bloody Sunday, and was the subject of a Federal investigation, in which Lewis testified about the events. Here is an excerpt from that hearing:

Lewis: . . . a State Trooper made announcement on a bullhorn or megaphone, and he said, “This march will not continue.”
Hall: What happened then; did the line stop?
Lewis: The line stopped at that time.
Hall: You stopped still?
Lewis: Yes, sir.
Hall: You didn’t advance any further?
Lewis: We stopped right then.
State Troopers stopping the marchers
Hall: Then what happened?
Lewis: He said, “I am Major Cloud, and this is an unlawful assembly. This demonstration will not continue. You have been banned by the Governor. I am going to order you to disperse.”
Hall: What did you then do?
Lewis: Mr. Williams said, “Mr. Major, I would like to have a word, can we have a word?” And he said, “No, I will give you two minutes to leave.” And again Mr. Williams said, “Can I have a word?” He said, “There will be no word.” And about a minute or more Major Cloud ordered the Troopers to advance, and at that time the State Troopers took their position, I guess, and they moved forward with their clubs up over their—near their shoulder, the top part of the body; they came rushing in, knocking us down and pushing us.
Hall: And were you hit at that time?
Lewis: At that time I was hit and knocked down.
Hall: Where were you hit?
Lewis: I was hit on my head right here.
Hall: What were you hit with?
Lewis: I was hit with a billy club, and I saw the State Trooper that hit me.
Hall: How many times were you hit?
Lewis: I was hit twice, once when I was lying down and was attempting to get up.
Hall: Do we understand you to say you were hit . . . and then attempted to get up, and were hit—and was hit again.
Lewis: Right
Alabama State Troopers attacking the marchers. John Lewis is the man in the foreground being beaten.

This event marked a turning point in the civil rights struggle, and six months later President Lyndon Johnson signed the Voting Rights Act into law. Johnson gave Lewis one of the pens used to sign that act, and Lewis proudly displayed that pen on the wall of his office in Congress, where he served for nearly 34 years until his death.

So imagine my surprise when I was returning from a conference in Atlanta a few years ago and saw him in the airport! I approached him, shook his hand, and thanked him for all he had done to make this country a better place. He was very gracious, and I didn’t keep him any longer. I immediately texted my wife to tell her my exciting news, and while she shared my excitement, she chastised me for not getting a photo. I really didn’t want to bother the man at the time, so I was fine with just meeting him in person.

A little while later I was heading to the men’s room to empty my water bottle before going through security, and I saw him in front of the entrance, taking a selfie with a custodian (who was clearly thrilled). So I approached him once more, blaming my wife for shaming me into taking a selfie. He was more than happy to do so, and…

Ran into one of the great American heroes, Representative John Lewis, in the Atlanta airport. He was gracious enough to let me take this photo. I was too excited to hold the phone still!

I’m not ashamed to admit that I was so in awe of meeting him that I rushed the shot, and the result was a blurry photo. Me, the big-shot photographer, screwing up an easy selfie!

Thank you once again, John Lewis, for all that you’ve done. You truly are a hero.

Day 53: An Engineering Mindset

I have spoken out many times about how much I dislike software developers granting themselves titles that include the terms “engineer” or “architect” in them. Those are titles that are earned through years of hard study and certification, just like doctors and lawyers.

Software development is not engineering. If I want to build a vaulted ceiling in my home, there are tables of the properties of materials that give the acceptable spans for any given size of component. If I have a 20-foot span, I can look at those tables and determine what I would need with steel beams, engineered wood beams, or plain 2×10 lumber.

Engineered Lumber & Beams | NICHOLS LUMBER AND HARDWARE
Each of these engineered wood beams has a known maximum span.

There’s no need to debug this; these are known values, along with gravity, weight, and all the other things that go into building design. And you could use a table for materials from 100 years ago, and it would still work today. Knowing how to apply these values in the structure behind the design of buildings takes years of study before one can legally call themselves an architect or an engineer.

The most apt term I’ve heard for a software developer is “gardener”. It’s accurate, as gardens take up-front planning, and like software, they need to be maintained. Both also have their share of bugs!

So while I won’t call myself an engineer, I do have an engineering mindset. What I mean by that is I strive to be methodical about things like program structure, testing, code review, version control, and the like. I enjoy working with teams who are like-minded in that regard.

An engineering mindset isn’t limited to software development, though. I find I do that with every task I do. Take washing dishes, for example. We don’t have a dishwasher, so they all need to be washed by hand. Nor do we have a drainboard, so they have to go on a towel by the sink. I don’t just wash them in the order that they are piled in the sink; instead, I re-arrange them so that they are stacked in the order to be washed in the left sink basin, with the right sink basin empty. Why? Because the drying area is on the right, and this makes for a neat left-to-right flow. First the flat dishes get washed and placed in the right sink. They are then rinsed off, then placed vertically leaning against the wall to help them dry evenly and quickly. Then the bowls and other things with depth are washed, with the eventual placement in the drying area determining the order. Finally the small things like utensils are washed and placed in any available spot left on the towel. This allows the most efficient use of the limited drying area while still allowing things to dry fully.

The other thing I try to optimize for is to minimize the use of hot water. I’ve come up with some routines for group wetting and rinsing that has cut the amount of hot water usage. I’ve even played around with how an item is handled while being rinsed in order to get the most efficient rinsing of all surfaces.

I have been developing this process over the 4 years since we moved into this small house, and I believe I have it down to as efficient a flow as possible. I’ve mentioned this to people, and their reaction is along the lines of “wow, you’re pretty OCD!”. But this isn’t anything like OCD: people who suffer from that condition say that they are perfectly aware that their actions are silly or even harmful, but are unable to stop doing them. I choose every one of these steps because it makes sense. If someone were to show me an even better way to do it, I’d switch in an instant.

That’s an engineering mindset: taking a process, even one as mundane as washing dishes, and always thinking of ways to optimize it. It doesn’t feel like work, though, it’s more like solving a puzzle. Some people like crossword puzzles or jigsaw puzzles; I like solving dish washing puzzles!

Day 52: Happy 10th Birthday, OpenStack!

I just saw this announcement from the OpenStack Foundation about OpenStack’s 10th birthday! Yes, 10 years ago this week was the first OpenStack Summit, in Austin, TX, with the public announcement the following week at O’Rielly OSCON. Yet most people don’t know that I played a very critical role in the beginning!

OpenStack began as a joint venture between Rackspace (my employer at the time) and NASA. I was on the team at Rackspace that developed and supported its aging cloud compute services, and we were looking to develop something from scratch that could be much more scalable than our current system. Around that time Thierry Carrez saw an announcement from a group at NASA about their development of a compute virtualization system, and suggested to the powers that be at Rackspace that this might be a better way to go instead of developing the whole thing ourselves. From that followed a lot of discussion among the executives at Rackspace, as well as some conversations with NASA, and the conclusion was that we would team up. One of the first things to do was to get the developers for both groups together to discuss things from a more technical perspective. And this is where I believe that I made a critical decision that, had I chosen wrong, might have resulted in OpenStack never happening.

The NASA team was a consulting group, Anso Labs, and they were arriving in San Antonio, and we had plans to take them out to dinner, but no idea where. It was then that I suggested The Cove, a local place with lots of outdoor seating, a relaxed atmosphere, good beer, and delicious food. We had a great time that evening, and we all got to know each other. Had we been in a more conventional restaurant, people may have only gotten to know the people sitting next to them, but since The Cove is open seating, we moved around a lot, talking about both the technical stuff and personal stuff.

Over the next few days we began reviewing the code and exchanging idea on what needed to be developed next, and those discussions went very smoothly, getting a lot done in a short period of time. I still maintain to this day that without that first night having beer and food at The Cove, OpenStack might never have become the success that it did.

You’re welcome.

Day 51: Adaptation

I’ve written before about my hearing loss. Years ago, I was about 5 feet away from a tree that got struck by lightning, and lost my hearing for a couple of days. When it returned, it only returned partially. I permanently lost some of my high-frequency response. I was 18 when that happened, and over the years the loss of the ability to hear high frequencies has gotten worse. I began to notice that I was having a hard time understanding women and children speak, as their voices are more in that high-frequency range.

hearing test results
My hearing test results.

The above is my hearing test from 3 years ago. For normal hearing, the lines should all be within the grey area at the top of each chart. Note that I’m pretty close for frequencies below 2000Hz, but that it drops precipitously past that. Typical age-related hearing loss has a more-or-less flat response that is evenly lower than the grey area.

I had tried hearing aids a while ago, and they just weren’t advanced enough to help my specific issue. Three years ago I read about improvements in the technology, and liked what I found. I brought my wife to the fitting session, and it was obvious how much better I could understand her when she spoke. I was thrilled!

But it wasn’t easy, especially at first. My brain had been used to processing the sound levels my ears could hear, and all of a sudden they were wildly different! Many times things sounded screechy, almost painful. I was in the supermarket and an announcement came over the loudspeakers, and it hurt so bad I had to pull the hearing aids out. The same thing happened when I went to wash dishes: the sound of the water running from the faucet was uncomfortably hissy-sounding.

My wife has worked with many hearing-impaired and deaf kids who have had cochlear implants, and mentioned that many times the kids tear them out because the sensation is so unpleasant to them. If they’ve never had the ability to hear, their brain can’t interpret the nerves being stimulated (irritated, more accurately) by the implant, so it doesn’t come across as useful information, just irritating noise. I never really understood that until that day in the supermarket when I had to remove my hearing aids because the sound was very irritating.

It wasn’t all unpleasant, of course. I am now able to hear birds chirping and singing! It’s really odd to be listening to them, and then remove the hearing aids – the chirping just stops! It’s not quiet chirping; it’s not there at all. Then I replace them in my ears, and once again I can hear the birds singing.

Within a few months my brain largely re-wired itself to better balance the sounds it was receiving. What’s funny is when I forget to put the hearing aids in, say, after a shower, and start speaking with my wife: she sounds like she has a pillow over her mouth! That just shows how adapted my brain has become to having those high frequencies available.