Mike Levin SEO

Future-proof your technology-skills with Linux, Python, vim & git... and me!

Getting Into The Technical State of Mind

by Mike Levin SEO & Datamaster, 06/10/2011

The first step for an adult to become technical is to get in the right state of mind. There’s nothing you can’t know or do. As an animal, there is very little difference between you, Albert Einstein and Benjamin Franklin. Reading Franklin’s autobiography, you see that he seems to have willed himself into brilliance by immersing himself in good habits and systems. But we’re not trying to become a world-changing obsessive personality—merely more capable, so only a fraction of that effort will be required.

20110610-120836.jpgThat being said, you have to make yourself at least as intelligent as an auto mechanic. We like to look down on them, but they have the diagnostic procedure down—a skill that underlies all technical endeavors. When something breaks, you start eliminating possibilities until you zero in on what’s broken. That’s all there is. That’s the big trick of being a technician.

However, you can’t know the nuances of every car, so you look up what you need from manuals. Over time, you can service more cars, find your favorites, get a job that favors them, rely on manuals less, and somehow just know what’s likely to be wrong with the car from how it sounds when it drives in. So in time, you get to be a skilled and masterful technician—to all appearances, a veritable magician. You become so good and skilled that you are now in-demand for your specialty, and you can now ignore those things that fall outside your domain of expertise, because you’ll never go hungry. All things technical are exactly like that.

All crafts are similar. They seem hard at first, require practice, and you eventually master them and can eventually do a great deal of things that befuddled you at first without even thinking. This is true from a master glassworker to a violinist to a marital artist, or even to you tapping away at a keyboard. Spontaneous mastery frees you up for the bigger challenges within your field, while all the basics are just automatically tended to in the background by your body’s subconscious muscle memory.

Herein lies the trap to which most people fall victim. In the field of technology, things change so quickly that you can hardly master a single tool before it goes obsolete. How can one obtain the same artistry as a master violinist if the shape of the violin keeps changing? Programming languages go in and out of style. Computers change. Their very operating systems change—and in the ultimate act of insult to your muscle memory, the very shape of the keyboard itself changes—becoming smaller and flatter. We’re lucky they’re not rearranging the keys on us!

So then, how can you master technology, and I’m not just talking about knowing facts. Sure, you can become an encyclopedia of buzzwords, and track it all as one would sports statistics, and it is about as useful. Maybe it would help you as a Jeopardy contestant, but it’s not useful for getting projects done. To really get work done, you have to zero in on a small set of tools that have that zen-like musical instrument mastery, which are valuable in the job market and are useful against a wide array of problems, and which you feel are going to be around ten, twenty or even fifty years into the future.

Yeah, given how much computing has changed over just the last twenty-five years, you are about as likely to find such tools as you are Bigfoot or aliens, right? Not so! It’s just that the wrong team prevailed in a debate over THIRTY-five years ago, epitomized by nothing better than Bill Gate’s fateful “Open Letter to Hobbyists” (no hyperlink for you–Google it). Happily, thirty-seven years later, the other side, being the Free and Open Source Community, is catching up, and computing technology is as commonplace as plumbing. Windows in comparison is downright kooky and proprietary in comparison. It’s much more important for your career for all the parts to fit together right and your knowledge to have a VERY long shelf-life, then for your OS to be pre-installed and run the latest games. That’s where we are today.

A handful of tools have weathered the storm over all those years (some much longer), and with just a few enhancements, are as useful and relevant today as the day they were born. And that is the Unix commands. Yep, Unix in it’s many various forms has become plumbing, in everything from Macs and iPhones to ChromeOS and Android, to microwaves and cars and routers and wristwatches. Even remote-contol helicopters are sporting Linux. While purists might argue, Linux for all intents and purposes is Unix. Learn how to get around in the Linux Shell, and you know a lot of what you need to get around in everything, except for ridiculously proprietary systems (Windows).

Yep, I’m saying learn Linux. And not the Windows-wannabe desktop Linux like Gnome or KDE which are windowing interfaces to try to bring Linux to the masses in same way as Macs and PCs. No, instead, I’m talking about the type-in command line user interface that you see hackers use in the movies, known as the Shell—or more precisely, the Berkley derivative that is the default on nearly every Unix system known as BASH, and your first introduction to Unix-geek humor, because it stands for the Bourne Again SHell—because the original version was called Bourne. Grrrroan, yeah, I know. Get used to it. Wait until you hear what GNU stands for.

Okay, so using the Linux shell sounds intimidating, right? Well it is. It’s a lot like learning to walk or write. There’s going to be a lot of falling down, and things will be slow going at first. But once you mastered the basic skills, you will hardly be able to imagine living in a world where you couldn’t walk or write. Yeah, it’s a lot like that, but as an adult. Only this time, I’ll be your guide, instead of some myopic book that isn’t putting their lessons in life-context, or some asshole tech you know who really doesn’t want you to succeed deep down, because it diminishes the exclusivity of his club.

There is one very special command within the Unix industry-standard, known as vi, which is the defacto-standard text editor pre-installed on every Unix and Linux machine. Nothing epitomizes the steep learning curves and vast rewards of the *nix platform better than this humble little text-editor that started it’s life FOURTY-five years ago (1976), written by Bill Joy years before he co-founded Sun. Vi is the perfect example of like violin-like muscle memory in tech, and with it, you acquire nearly telepathic control over your text.

The dominant incarnation of vi is called vim, for vi Enhanced, and has a special place in my heart, because it first appeared on the Amiga Computer, and I was the computer club the day it was first distributed on Fred Fish 591. The Amiga was highly proprietary personal computer hardware back in the late 80’s that played video games like high-end arcade machine while the Mac was still black and white.

The Amiga shared much in common with Unix, and even though it sadly went away—it was my first true computing love—a lot of what I learned still applies today, like command-piping. Conversely, in the years since the Amiga’s demise, I spent a lot of time moving over to the path of least resistance, VBScript on Windows, and POOF! Irrelevant! Little of what I knew carried over to other platforms. I tried .NET and hated it. I tried Java and hated it. But even worse than hating it, the ground under my feet felt insecure. I needed rock-solid footing, and determined to do it right the next go-around, and here we are.

Enhanced by Zemanta