Back to the Basics

docred
5 min readMar 24, 2018
Another from my collection. The Model 100 ran on 4 ‘AA’ batteries, with a whopping 21.5K memory available

Sometimes it seems as if we are tripping over ourselves to stay current with whatever the next bit of technology might be on the horizon, whether it is hardware, software, or something in between. There is always something bigger, better, or faster either newly available or poised to be released in the near future. More features, more complexity (not to mention more cost).

I generally believe that users of anything, not just technology, need to be empowered at least a little. As I have mentioned before though, there is a fine line between ‘knows enough to help troubleshoot and be comfortable with the basics’ and ‘knows enough to be very dangerous’. I have worked with both types of people. The former can be a great asset in certain situations. The latter can be a nightmare.

I include those of us who work with technology as well. With the pace at which things move, I wonder sometimes if any of us really cover the basics properly and fully understand them.

To be clear, I am not advocating that someone who does web development should know x86/x64 assembly language inside and out, or that someone who installs networking hardware should know the RFCs for the protocols and standards involved by heart (though either one is very cool if you do). The flip side is that just because we are putting more layers of abstraction and insulation on all our tech, the more we black box it, does not mean that things like binary, the electron and the switch, or bare metal cease to exist.

Danielle Ormshaw recently did an article on a couple of basics coders may want to know. I think it is a great example, and she got me thinking about some of the other basics involved with technology that we often take for granted.

It illustrates to me how a gentle introduction/reminder of some basics could be beneficial to almost anyone, whether they are new to the field or someone with more experience. Sometimes we encounter more complex challenges that can be broken down into their simpler components to make them easier to understand or work through.

The basics are in everything we do. I know that sounds rather obvious, but it bears repeating precisely because of the layers of abstraction I mentioned above.

Electrical signals turning on and off? That is down at the bare bones of the electronic systems we work with, though you could drill down to the physics and chemistry involved in electricity and magnetism. The binary number system? That is synonymous with computers and programming. We may not see it directly very often anymore, but it is at this point what our current computer paradigm is based on. Boolean logic? Right in there as a companion to binary numbers. If we combine binary numbers and Boolean logic, we can talk about the concept of logic gates. Look for information on George Boole, Lee De Forest, Augustus De Morgan or Claude Shannon among many others to understand when and how some of these concepts were developed, named, and applied to our modern technology.

A Logical Example of Basics

Looking at the idea of logic gates, what is an example of some basic principles? We could look at what is considered the three basic logic gates. The idea of logic gates when combined with the miniaturized semiconductor technology we use today gives us pretty much every computerized device we use. Though there are several symbol sets available to represent these concepts, I will use the IEEE Std 91/91A-1991 shapes.

The three basic logic gates

The idea with the gate representations is that you have X number of inputs, in my chart above A and B, each of which can have one of two states (binary). The combination of states determines what the state of the output is. We can look at this through the lens of our computer transistors and chips if we want — touching on the chemistry and physics of it, the semiconductor materials we construct most of our chips from make this possible when combined with electrical signals. We could just as easily build logic gates out of things like standard light switches, or weighted pulleys, levers and gears, or flowing water in pipes by applying the same basic principles.

With these three logic gates, we can create a number of others. Interestingly enough, if we put an AND gate with a NOT (also called an inverter) gate after it, or an OR gate with a NOT gate after it, we create a NAND gate and an NOR gate respectively.

NAND and NOR are referred to as universal logic gates — what this means is that if you use enough of either one in combination, you can create any other logic gate, including things like XOR (exclusive OR) gates and so forth.

A retired logic training board from a local technical school. We have simpler ways of doing this with simulations now, but the ‘logic’ and principles are the same

Complicated Stuff is Usually Made up of Simpler Stuff

When I am having trouble understanding something new, I often try to take it to a simpler level or break it into manageable parts. How far you take it depends on what your goal is or how much you need to know — taking everything to quantum physics level probably isn’t necessary, though it could be fun :) Sometimes removing just one or two layers from a topic can help.

The logic gates example above is just that — an example. Boiling things down to simpler components can be applied to almost anything you do. I do it when cooking, and when learning martial arts if I am having trouble.

There always seems to be so much to learn, and not enough time to understand it all.

--

--

docred

I work with technology, both old and new. I like heavy music. I practice martial arts.