Thursday, January 10, 2008

A Few Home Truths About Programming and I.T.


Gentle reader,

Let's don our propeller-tipped hats, grab some powerful flashlights (with fresh batteries!) and shine them right up the anal cavity of the world of Information Technology. We'll be destroying some silly myths about I.T. and computer programming along the way.

Ready? All together now, PUBLIC! STATIC! VOID! MAIN! Let's go!

Myth Number One - Hire Only the "Very Best" Programmers

Counter-Argument 1: The pragmatic argument

We hear all the time how companies should focus on hiring the programmers who are 10 or 20 times more productive than the others. By definition then, the vast majority of programmers are just "regular programmers". By "regular programmers" I mean programmers who can get the job done in a reasonable timeframe without necessarily doing it in the 100% smartest or quickest way. If most of your programmers are regular programmers then what good is trying to create a system that is so sophisticated that most regular programmers cannot understand it? What if your superhuman programmers leave and all you have left is regular programmers?
An organization doing this is violating the DTBSTY principle of programming (pronounced with an Irish accent, "dat beasty"): "Don't Try to Be Smarter Than Yourself". That's exactly why Yahoo! rewrote Mr. Smarty-Pants Paul Graham's Viaweb application using technologies that mere mortals could understand.

Counter-Argument 2: The human argument

OK, assume it's true that there are a few programmers who are super-productive and gifted. Does that mean that all the remaining regular programmers shouldn't be allowed to work? Well, no, that doesn't seem like a good idea. Do we deny employment to plumbers who may take a little longer than others, or mechanics who get most things fixed but may have difficulty diagnosing the very toughest problems? Nope. At the end of the day, most of us need to work to put food on the table for our families and try to do it in the best way possible, while working around the constraints that we all have. In the end, programmers are cogs in the capitalist system like anyone else. We all have our parts to play, whether or not we use Common Lisp or Haskell or o-frigging-Caml. How would the world be if we eliminated all but the best three or four specimens of every species? As well as programming prowess, it's important to consider other skills such as who can work well with others, and who isn't an elitist twat and who can you have an intelligent conversation with about something other then monads or closures.

Myth Number Two - The teaching of Java "Poison the Minds of New CS Students" and "Makes it hard to Find Good Programmers"

Let's pause for a second and give those propellers another quick spin...

Guest what? Most students of reasonable intellect will take java for what it is worth and then move onto other languages on their own, if and when they need to. If a person is "poisoned" by learning java then I say that person probably never had the intellectual capacity to move on to other languages in the first place. Most programmers worth their salt are auto-didacts (that's one for the old wikipedia). And here's a message to corporate America and I will type this slowly:

Stop saying that you find it too difficult to find good programmers.

You need to offer more money, moolah, $ for the skills you are looking for. Economically, if there is a huge demand for programmers who can perform amazing feats of intellectual prowess then our supposed free-market economy will reward that. If it does, they will come. Some of our best and brightest who today go into law, or medicine, or to Wall Street WILL migrate to IT if the pay is there. Here's the truth: the well of reasonably priced, high quality home-grown IT labor has been poisoned by corporate greed and outsourcing. It is fear of unemployment and stagnant wages that has led to a decrease in America's talent pool. Not the teaching of Java.

Myth Number Three - We Need to Fix the Shortage of Women in Programming

OK, we're going to crank up the amperage on that flashlight a bit because we've reached a particularly dark area.

Oh look it's a News Flash: Programming is boring to most women (and, believe it or not, most men). Boring, boring, B-O-R-I-N-G, Sidney. Women avoid programming for the same reason they avoid plumbing, fixing cars, football and most men. They really aren't that interested. If it interested them they would already be all over it. It's not discrimination that is keeping women away from programming and I.T., it is boredom and lack of interest. I hate to bring up the sordid topic of money again, but clearly, the pay and benefits aren't enough to overcome the boredom factor. So, beyond addressing any egregious cases of discrimination (are there any these days?), let's stop fretting about how to lure women into becoming programmers and let them do the things they'd prefer to do.

Time for today's quote:

Sometimes a scream is better than a thesis.
~ Ralph Waldo Emerson


Until the next time, gentle reader, I remain,

Your friend,

Buford Twain

Saturday, January 5, 2008

Cell Phone Lifehack


Gentle reader,

I have a tendency to try to get as much value as possible out of everything I own. For example, I keep my cars a long time and even my jacket is getting a bit worn. Last week my 3 year-old cell phone was on its last legs. Part of the fascia had come off and the numbers were getting hard to read due to my keeping the phone in my pocket together with my scratchy keys. That wasn't the issue though - the problem was that it was almost impossible to charge the phone because I had to jiggle the power adapter after plugging it into the phone until it was *just right* before the phone would charge. I had developed the fine art of finding the charging sweet-spot but finally the phone gave up the ghost and refused to charge at all.

What to do?

Well, one option would have been to re-up my Verizon plan for another 2 years and get a "free" phone. However, I have a psychological block with signing anything that involves a monthly payment for any length of time. It makes the hairs on the back of my neck stand up.

Well, a quick trip to eBay later, I had located a very lightly used phone that was the exact same model as my current phone. The price? $17 including shipping. Now, I knew that I liked this phone. It is a basic Kyocera model 414, nothing fancy, it just lets me, of all things, make and take phone calls. No camera or any of that other new fangled bullshit. Before buying the phone I called Verizon with the ESN number to be 100% sure that they could activate the phone once I purchased it. No problem, they said, after trying to convince me that it would be better just to renew my contract (fat chance).

So I went ahead and bought the phone on eBay. The icing on the cake? It came with a free charger. Want to know what Verizon charges for a wall phone charger? $29.95. So I ended up with a good used phone AND a charger for about half the cost of a phone charger from Verizon. Since it was the same brand as my old one I had no problem figuring out how to use and program the phone. Finally, since I purchased a used phone, I am being kind to the planet.

As we say in the UK, "Result!".

Time for today's quote:

I do not read advertisements. I would spend all of my time wanting things.
~ Franz Kafka

Until the next time, gentle reader, I remain as always,

Your friend,

Buford Twain

Wednesday, January 2, 2008

Leadership = War ?

Gentle reader,

Having traveled to a few different places in the world (I have worked in the UK, Israel, Italy and the USA and have visited Egypt, Slovenia, France, Mexico and many other countries in Europe) I have noticed one thing. People are, for the most part, decent, sane, helpful, wise, intelligent and above all else, human. People are NOT generally evil.

Of course, you come across the occasional asshole. However, assholes seem to be, more or less, equally distributed across countries, in my observation.

As far as I am concerned then, we have a serious paradox that could be the very key to survival of the human race. The paradox is as follows: given that people are basically civil, how come we have so many wars?

I think the reason comes down to one thing: leaders, whether voted into office or not, are as a general rule pathologically insane. The whole leadership phenomenon (by which I mean, people seem to need a leader) is nothing but a filter that selectively picks people who are predisposed to mischief and destruction. If we could somehow invent a better system of government, that was more in tune to the wishes of the general population, then I postulate that we could eradicate a large fraction of human suffering.

Time for today's quote:

I may not agree with what you say, but I will defend to the death your right to say it.
-Voltaire

Until the next time gentle reader I remain,

Your friend,

-Buford Twain