Posts by admin

Hardware, Firmware, and Software – Biology, Culture, and Behavior 

Hardware, Firmware, and Software – Biology, Culture, and Behavior 

This article is part of larger context I e been documenting about my study of Anthropology and Computer Science, and how it changes the way you think. For example….

Hardware & Biology

I have always thought of Biology as quite similar to hardware. In fact, in the context of evolution, I use the words almost interchangeably. You get new hardware when you purchase a server, and new genotype/phenotype when you are born. In the case of hardware, this might represent the next generation of HP Server, in Biology this is your offspring. Repairs and augmentations can be made, but you ain’t getting new hardware until the next generation comes out. Generations change based on Darwinian evolution – variation and natural selection.

In hardware this means that with each generation, Product Managers and engineers choose what variation is available in a product line, then customer select which ones they want. The servers that sell well often go on generation after generation, whereas the lines that don’t sell are deprecated. If you know hardware, you will know the HP DL380 sold well for years and years producing models from G1 to G10 over a period of nearly 20 years. The complete history is interesting.

In biology, we don’t have so much control over the product lines, at least not ethically, as CRISPR Baby Scandle shows and Eugenics experiments of the early 1900s demonstrate. Instead, we leave the variation to non-deterministic, biological processes – aka sex and procreation. Then, mother nature, through competition decides who lives dies and finds a mate. Your line might succeed for many generations, it might not.

It’s interesting to note that every single one of us living today has a string of roughly 20,000 ancestors which succeeded in producing offspring. Every generation, twenty thousand times in a row, without fail. This is powerful. Long story short, biology and hardware are governed by Darwinian rules of engagement – we live and die, generation by generation.

Firmware & Culture

Firmware is different, it can be updated during the life of a server, albeit with some fiddling around. Historically, you needed special utilities to load the firmware, though the tools are getting easier. Honestly most people only updated it a few times, if ever, during the lifetime of a server.

Culture is similar. It can be changed, but it’s not easy. It requires large groups of people to make a conscious effort, typically involving verbal stories and books. Like firmware though, the tools are getting easier and the velocity of change is probably increasing. Now days cultural change happens through media like TV, movies and even YouTube.

Firmware is different than hardware though. Many of you have probably forgotten about Lamarck’s theory of evolution which competed with Darwin. Lamarck thought that if a Giraffe stretched it’s neck a lot during it’s lifetime, it would get longer (so far so good animals do grow and change). He also believed this “longer neck” could be passed down to it’s children (this ain’t how biology works – contwbtious epigenetics aside). Firmware is similar – updated versions may live on for multiple generations of servers, slowly having bugs fixed and features added over time.

While that doesn’t work with hardware and biology, it does work with culture – it changes during the creatures lifetime and it is passed on to their offspring in the changed state. It is Lamarckian in nature – who’d a thought.

Software & Behavior

The behavior of any specific program or individual can have wild variation specially (between instances – copies of software and individual creatures) and temporally (over the lifetime).

Software can be changed in memory while it’s running (temporal) – some programs self modify. It an also chabge spatially, as people copy and distribute it.

The same is true of individual behaviors, that is to say they change temporally, based on the age of the creature, and spatially, based on who the person is interacting with (style shifting in linguistics).

The study of this individual behavior is more the realm of Psychology than Anthropology, but the survival mechanisms within this individual behavior (Evolutionary Psychology) is of particular interest to the study of human evolution.

Suffice to say software and individuals are quite malleable.

Conclusion

A Server lives and dies in the market place based on the capability of it’s hardware, firmware, and software to function together as a unit which provides business value. Primates such as humans do the same, competing for resources as a single unit containing biology, culture and individual behaviors – the unit lives and dies together. All of the units, tied together as a product or creature is a powerful concept.

Next time you are at a coffee shop, look around – next time you are arguing with somebody on Facebook or Twitter, remember this framework. Each and everyone of us is the product of every generation before us. Every last one of our ancestors produced at least one successful offspring, with one hundred percent success, over the last 330,000 years, using almost identical hardware (brain, arms, legs, back, etc) – generations and generations of firmware – and 20,000 different copies of software. We are pretty amazing creatures, each and every one of us. We often focus on our differences without noticing what we have in common.

While this analogy, like all analogy, is imperfect, I love it because it helps put so many problems in context, quickly.

Read More

Injury is an Opportunity for Growth, Not Just Recovery

Injury is an Opportunity for Growth, Not Just Recovery

A few weeks ago, I injured my back boxing – badly. My left hand is numb and feels like I hit my funny bone – all the time, all day and night. It kinda sucks. I can’t squat, deadlift, run or ride a bike. These are things I really miss, but it’s going to be a few months, at best. That said, I have learned some very interesting things from this injury.

  1. I had to completely change my mindset – quickly. The week I injured my back, I still squated 310lbs three times. Then, three days later, I failed getting my deadlift to 350lbs – only made it to 275lbs. Lighting pain was shooting up my back in two places, but I was in a growth mindset. I was in a heavy week of training where my mind thought I was going to break person records. But, I figured out quickly that if I kept this mindset, I would become even more injured. I couldn’t walk right for two days. I had to take a step back and create new goals. That was very difficult mentally – depressing even.
  2. I had to learn to experiment again. I have mentioned this before, but when you simply can’t do something, you have to change your mindset. I almost killed myself squating 310lbs (three times I might add) with my back this way. To continue is madness and will genuinely cause me more injury, so I had to go back in the gym and experiment with things I didn’t ever want to do, like leg presses.
  3. I had to rethink strength training. I am a fairly strong advocate of the Mark Rippetoe method of Squatting. It moves the most weight with the most muscle mass over the biggest range of motion. Thus, it is the most efficient time splent in the gym. That said, I can’t do it. But, I can leg press 410lbs, ten times, do back extensions as a separate exercise, and do pull-ups without bothering my back. This gets me close, but moreover it gets me thinking differently. This leg press is WAY more weight than I can squat. It is stimulating more quad growth, which is useful in Jiu Jitsu with my guard. Coincidentally, we are focused on guard for the next 6 months. Growth, not just recovery.
  4. When I hear guys at the gym talk about injuries, my ears perked up. I am a lot more empathetic. It wasn’t that I wasn’t sympathetic, but injuries just didn’t interest me that much. For that, I feel like a bit of an asshole. I also feel a bit wiser now. Probably, I will be a better day for this 🙂

I am not going to stop training because of this injury. In fact, everything I have read says you need the strength training to recover faster and better. I am still doing:

  • Strength training 2/week
  • Jiu Jitsu 2/week
  • Yoga 3/week

Power lifting may be out for a while and I may never do boxing again (we shall see), but I am using this as an opportunity to strengthen my back (pull-ups, back extensions), up my Jiu Jitsu game (leg presses), and learn 🙂

Read More

Explaining Race Conditions to Non Programmers

Explaining Race Conditions to Non Programmers

A few weeks ago, I was down in Columbus at a coffee shop. This place happened to have a bathroom which needed a key to use. I went to the counter to ask for the key because mother nature called, but the key was nowhere to be found. Somebody was already in the bathroom and had the key with them.

No problem, I stood outside the bathroom door and soon enough, a gentleman appeared. In a knowing manner, he offered me the key. In a moment of self admiration for my wit, I declined the key. I grabbed the door before it shut. We both smiled, knowing that I was fine getting in the bathroom without the key.

I felt proud of my efficiency. I didn’t need to hold up use of the key. As a sat down, as Gandolf would say, “things were put into motion which could not be undone.” But, it was only then that I realized this bathroom didn’t have stalls. I was exposed.

This was a race condition waiting to happen….

At any minute, somebody could walk in and I was trapped. The key was now happily laying on the counter with the Baristas. Any unknowing customer could grab the key and head toward the bathroom.

This had all the making of a classic race condition in programming – self admiring wit, gloating thoughts of efficiency, and a lack of foresight.

So, the next time you use a public bathroom which needs a key, remember to take the key. For those of you that do program, remember to do proper file locking, or lock management in a distributed system.

Remember the bathroom rule!!!

Read More

Body Hacking – While Being a Road Warrior

Body Hacking – While Being a Road Warrior

I recently read Road Warriors – Healthy Tips for Staying ‘On Plan’ by Steve Katasi and thought it was really good. We have developed a lot of the same strategies. I wanted to point people towards it and add a few additions:

  • 1.1: Snacks: there are a TON of good options for protein bars, and powders. Also, many gas stations have Muscle Milk or other protein drinks. Just pay attention to nutrition labels. A lot of them are more junk than food. Remember macros, macros, macros.
  • 2.2: Make Hotel Gym a Must Have Criteria: Calisthenics can be done at any gym. There are progressive overload techniques for calisthenics, so for a day or two trip, this can work.
  • 2.3: Better Still – Access to Commercial Gym: I would go a step further than Steve does. Not only are external gyms better equipped, they can be destinations in and of themselves. I love working out in other countries. Japan, Belgium, and Czech Republic have all been extremely interesting – each country has it’s own gym culture. Also, many major cities have amazing old school gyms. In Dallas once, I went to Doug’s Gym (see picture) – it was an old gym opened in the 70s after the owner won the lottery. It reminded me of Rocky I. Find an awesome gym, it’s totally motivational.
  • 2.4: Lower Workout Expectations: I don’t completely agree on this one. Generally, I find having a keel to your workout programming helps keep you on track. For me, that is Wendler 5/3/1. I also have days for conditioning, Yoga, running, and other accessory work. I prefer to program the flexibility into my routine. Then, when traveling it makes it easier to stay on the program. Even a 20-30 minute run mixed in can help, bu that’s part of my program. I don’t recommend lowering your expectation, I recommend having harder and lighter days. Count the travel days as lighter days in the program.
  • 5.4 Avoid Crappy Sandwiches: I COMPLETELY disagree with this point. Food is Protein, Carbohydrates, and Fat. While, I can absolutely feel it when I eat high glycemic index foods (I can feel the hunger strike harder), this is nothing more than an optimization. Also, when you eat a sandwich, just drink a protein shake, and maybe a high fiber bar (there are plenty). As long as you mix a high protein source and some fiber (which is a carb), you will feel fine and be totally fine. Also, there is NO evidence that Gluten is universally inflammatory. In fact, it’s recommended that you should eat gluten, unless you are sensitive to it. Read more here and here.
  • 5.4: Good Protein – Rich Breakfast: Again, a mix of science and fact. I absolutely agree that breakfast is the meal to get things going in the right direction and in fact, it’s the best one to start with a strong protein macro count. That said, there is NO factual evidence that skipping it matters for calorie control. That is a myth. In fact, the latest science basically says that meal timing is irrelevant. Three medium sized meals, five, small meals, 47 tiny snacks. It all works. See more here and here.

My few disagreements aside, I think his article has some really great tips and tricks…. Good luck, and keep hacking…

Read More

Netflix – Technology Wizards or Good Content?

I love the content they produce like Orange is the New Black, Narcos, Stranger Things, and House of Cards. But, remember back to before Netflix produced this content? They were struggling with subscribers, under attack from cable companies, and their future looked very, very uncertain. So, how did they turn the ship around?

They started producing their own content. And, let’s be clear – software engineering at Netflix did not make that decision. This is a quintessential “business decision.” This was a decision to create value for their market – people who watch content through the Internet. They were a content distributor and they decided to enter an adjacent market – content creation.

Yet, time and time again Netflix is referenced as some kind of technology wizards, contributing the OSS Stack, moving to the cloud for almost everything, hiring only the best and the brightest.

They are held in high regard for “disrupting” the cable industry – but, for the wrong reasons. It’s not their technology that is their differentiated value proposition to the market. It is their cunning move to create content akin to HBO. At the same time, this places them in a stronger position to negotiate better contracts for their distribution business.

I would argue that they have succeeded, not because of their technology, but despite it. Their end user experience is rather lacking, yet they keep attracting and retaining subscribers. Here’s a few examples.

1. They finally, just recently added the ability to download movies and watch them offline. Even now, not all content can be downloaded, even some they produced, which makes no sense to me. Google Play and Amazon Prime have had this since almost the beginning of their service, yet nobody hails them as some great innovators.

2. It takes forever when you rewind or fast-forward. Again, Google Play and Amazon Prime both have smoother, better experiences.

3. Subtitles get blocked when the video is paused. Something thst is just really annoying when the reason that you paused it is so that you can read it slower.

So, the next time you hear somebody call Netflix a technology company, just quote their own CEO:

We spend money more like a media company than a tech company

Read More