With just two fingers
Counting to two fifty-five
Joined with seven friends
When I was first learning about computers and the idea of binary numbers was introduced, I was lost. This was around 1985 and I was just a fledgling technologist. Seriously, though, what’s so wrong with the decimal numbers that we all know and love?
It wasn’t until high school (and my first programming class) that I truly began to understand the concept. “Began” is the key word here. There I was, sitting in computer science class learning to program in Pascal. I decided to go “off book” and write my own character generator for Dungeons & Dragons in my free time. For my character generator, I needed to track several Boolean values (true/false). I thought to myself, "If I happen to have an array of these, how is that any different than a binary number ( [TFTTTTFF] =  = 188 )?" It was my first eureka moment.
Fast forward about five years and I’m trying to understand the whole concept of “networks.” Subnet masks were (and in some ways, are) the bane of my existence. Thankfully, I found tools which could help me out (https://www.solarwinds.com/free-tools/advanced-subnet-calculator). [Sidebar: this was my first introduction to SolarWinds]. These resources gave me a better understanding of how addressing worked and because of that, how binary worked in practical information systems management.
Binary is integral to all computing, but it’s been hidden by layer upon layer of abstraction… and that’s okay. The levels of abstraction make it easier for humans to interact with computers. But many computer users aren’t programmers, nor do they want to be. That being said, thinking in a binary fashion is still useful.
So, what does binary mean to me? Honestly, it revolves more around troubleshooting than anything else. As many of you, I spent some time working on a help desk. I realized that most issues we investigated were binary in nature.
What’s the first thing you ask yourself when troubleshooting an issue? For me, it’s “Is it the network or is it the server?” This is a binary question: one with only two answers. After that initial test, you halved the possible troubleshooting you need to do. So, it’s the network (this time), so the next question is “Do you have a valid IP address?” Again, based on the answer, half of your possible troubleshooting is no longer valid. If you put yourself in this mindset, it should aid you troubleshoot any issue you encounter.
In my opinion, you can look at binary in two ways (see what I did there?): as the underpinning of the entire computing framework or used when thinking about how you interact with said framework.