Updated: January 11, 2012
Note, the misspelling is intentional. Deductive reasoning, the insight into an angry geek's psyche, by Dr. Kackensprecher. Do you know what's worse than being abducted by aliens and anally probed? It's making a mistake in a forum post or a blog article dealing in software. Do you know why? Because the first is highly unlikely to happen, while the second is not only probable and common, it will haunt you forever, until the last proton has decayed and turned into a quark soup.
This article tells the tale of the unforgivable sin - the tiny technical glitch in a software review, which never escapes the vigilante radar of dissatisfied readers. Woe the user who makes the mistake of making a mistake. It's an almost recursive problem. And you'd better be ready for the barrage of hatred that will ensue, for you have justed erred.
So let me give you a typical scenario. You hobble down the Web's dark and unfriendly lanes, searching for some help and/or information to your problems. Or you might be the good Samaritan, trying to offer cheerful advice to people begging for software related assistance. Either way, the path shall take you into forums, where ideas are exchanged. All is well, and you will get along just fine, including bashing the big dog companies like Microsoft and Apple, conspiracy theories, but make sure you don't mistake that version string or the one obscure flag for your favorite Linux commands, because you will be doomed forever. Now, since examples are best demonstrated with examples, let's have some.
It's the one returned by typing uname -r or uname -a or another variation of the command in your terminal. This one is very important for software developers and system administrators, because of the new emerging technologies enabled in more modern versions, deprecated features, performance figures, regressions, security, as well as other details that relate to the functionality backbone. Moreover, the ability to read and interpret the information is also somewhat of a higher task.
# uname -r
So why would anyone normal, i.e. not geek, really care what this number is. The fact your system is running 2.6.38-2.1 is meaningless for all practical purposes. Utterly and completely meaningless. Why would you need this? Why?
And yet, for some reason, this string, one among many that haunt us, is perceived as make it or break it detail in discussions, reviews, forum threads, or help topics. Again, I must ask why? If your ability to use software depends on some 10-letter string, the problem is far more acute than we realize.
I can understand if people talk about Firefox 2 versus Firefox 3.6 versus Firefox 7. Large and big numbers, easy to relate to, with possibly some significant changes that users will actually see and experience. But do they need to know the full developer string version that reads Gecko/XXXXXXXX and so forth? The answer is no.
The same applies to many other programs. OpenOffice 2 versus OpenOffice 3, ok. Thunderbird, Pidgin, and others. Not bad. What about glibc, gcc, gnome, xorg, and others? Hell, no. But for the sake of experiment, do make a forum post somewhere and mention how you're using Python 2.4 on Ubuntu 11.04 or alike and see what happens.
Rather than combat possible failures in design, quality assurance errors, actual bugs and glitches in the software, and alike, many a geek will resort to simply discrediting someone else's work, be it research, comparison, article, review, opinion, or else, by making that person equated with Windows fanboyism. After all, not being able to play a music file in a media player, because some plugin is OBVIOUSLY missing, makes you a noob. And you are probably getting the paycheck from Steve himself.
This is probably the juiciest phenomenon of them all. The fact you might not be inclined to drop into runlevel 3 for updates makes you a noob. If you are not fond of downloading extra 500MB of software to make your distro work as you expect it, you are a noob. If you don't like the design, you are a noob. If the software does not run on your system, because of hardware incompatibilities or bugs in the code, you are a noob. If you complain about missing proprietary software, you are a noob. If you complain, you are a noob. You are a noob.
Errors are always the user's fault. Inability to work out the flow in the software menu is always because the user is inept or failing or deliberately trying to sabotage someone's reputation. Most of the time, people criticizing a product will have a hidden agenda. This includes the tens of millions of covert Microsoft employees who are paid per-forum-post to spoil and besmirch the competition with baseless accusations.
All of these are YOUR FAULT!
Now, if you thought Linux is the bearpit, Apple is a bearpit with claymores and epileptic children wielding chainsaws. The reason for this is probably the scarcity of common user-related errors, but should one surface and should you float it in a forum somewhere, be prepared for the most famous meelee of your life. To clarify, you will be at the pointy end of the lowered lances as your soul is skewered over and over. Of course, you will also be accused of working for Microsoft, since Apple fans are scared of Linux users.
And so it goes, round and round.
Ah, the reason you're reading this article, that is. Indeed, the whole point of this lovely piece is to shed light on the phenomenon of hatred and intolerance in the educated circles, which usually focuses on the tiny details of the narrative at hand, i.e. someone's desire to help someone else, missing the bigger picture completely.
And it's the big picture that you want and need if you are ever to make it big in the society all the way across. Captivating the hearts and minds of people who think and feel just like you takes no effort at all. But how do you convey a message to someone who has the opposite view of what you stand for and believe in?
Back to software. Geeks treat computers and their associated operating systems and programs as a playground. Much BDSM, much abuse, torrents of fun. But there are people in this world, approx. 90% minority if not more, who treat computers as appliances. As such, you don't expect them to vomit errors, to display tons of unneeded miscellaneous messages or put too much choice in your hands. A good example that mirrors the computer world is the car industry.
Once, you had all of the freedom and ability to tamper with your engine, tweak it, improve it, change parts, and whatnot, without voiding the warranty, if there were one in the first place. Today, many car manufacturers won't even let you change the headlights without a quickie at the garage. This runs contrary to the hack-and-tweak nature of the geeks, but most people are content with this lack of choice. They get a single interior with only minimal addons that cost a lot of money. They get a few engine choices, some different colors and tires, but that's all basically. In the end, you play with the external details, but the core remains one and unchanged.
So if you wonder why Apple is making progress in the desktop and tablet and other segments of the market, this is probably because many people feel no desire to tweak their computers. And this does not make them into noobs. Not does that negate your geeky need to tweak and hack and tune and enjoy your ultimate control.
Moreover, car wise, if I may persist with the analogy, enthusiasts and purists will always have their special little machines. Both demands are fulfilled, and everyone's happy. There's no reason why this attitude cannot exist in the software market.
But for some reason, especially in the open-source world that is inevitably entwined with the Linux world, there's too much emphasis on details and tiny versions strings, too little emphasis on the bigger picture.
Sometimes, geek complaints are just and justified, like for instance all of the stuff going on with Firefox, for example. Why? Because 1) it's me complaining 2) because the changes stem from reactionist panic than any true vision. Then, Gnome 3 might also classify as another gem. Again, you may argue that normal people will like the simplified interface. True. But normal people will not want to update their system every six months, wonder what will break next or the subtle differences between ALSA and PulseAudio. Nor is there any real global market picture goal, thus all you end up with is annoying your existing customers.
In the Linux world, in the open-source world, in the geek world, there's so much emphasis on tiny details that there's virtually no hope of seeing the big picture. People swim in unneeded details. Like for example, the version of X you're running. Who cares? Does your graphics driver work well? Good. Do you get all the options and features you need? Good. Do you really need to know the numerical code of the software that brings you all these features? Not at all.
The exact opposite of this is - hide everything, which is wrong too. The real beauty is to understand what your customers want. For example, they don't want Unity or Gnome or KDE. They want a desktop that is aesthetically appealing, consistent and useful. And if you dissect the assorted repertoire and rewind back three or four years and then fast-forward to right now, neither of these choices meet all the three requirements. Why? Because the software is developed for the sake of software and not as a part of a long-term strategy. And this way, you end with half-baked products that do some things extremely well, others that suck totally, and only geeks are either happy or angry, depending on what parts of the desktop they need right now.
If you glance at Windows, then you will find less choice, less candy, less grandeur, less advanced technology, fewer and more toned down capabilities, but you will get the basic requirements met. Is Gnome 2 prettier than Windows? Yes. Is it as consistent? No. Fail. What about KDE? Prettier? Arguably, yes. Stable? Not always. Consistent? No. Fail. What about Gnome 3? Prettier? No. More useful? No. Fail. What about Unity? Prettier? Possibly yes. Useful? No. Fail. And so it goes.
Jack of all Trades is exactly what you need to make operating systems and software useful. You need not excel, you just have to make sure nothing fails. You get more examples above, so I hope we're clear on the message.
Some of you will misinterpret my article as Windows fanboyism or a direct attack against the open-source community. Which again will be missing the bigger picture. The emphasis on tiny details, from verbal attacks in forums reflected all the way to final products shipped in the operating systems and distributions, is the core reason that detracts the said community from having a single unified goal of consistent quality and market need. Looking at the Linux world from outside, it makes no sense. It's complex, fragmented, convoluted, messy, with conflicting ideas and strategies. We find our place wherever it is convenient, but the 100-year war is hardly the business model that we want.
Linux will make it big the moment the kernel strings becomes unimportant in the desktop sphere. If you must know it, you will fail. As simple as that. Once the software becomes agnostic to the point that you can use it any way you want, including not looking at little strings or looking as much as you want or need, then we will have passed to the next level in the game. Till then, we will get defeated by tiny mistakes in the major and minor numbers, and woe the fool to cross a number-strict geek.
If you find the material too somber or difficult to read and follow, you might want to contact me by email for clarifications. Or disregard the message, focus on some tiny detail and spew hatred somewhere. That will work too. After all, it's being done with style for fifteen years in forums worldwide. Party on.