Sunday, March 15, 2009

IT Myths

The IT, world like many other environs, is full of urban legends. We sometimes call them FUD and sometimes we call them "commissioned studies". Some are older than others, but every now and then they come around to haunt us in one form or another.

Linux is Free
This myth is spread by many well-intentioned free software advocates unaware that such blatant lie only harms its chances of adoption. Like with most myths there is some truth to this one: Linux is free for individuals who wish to experiment with it, but not for enterprises.

Even if a company decides to download free binaries from the Internet, switching to Linux will have its costs. The question to ask is how much less will it cost than choosing the alternative. Linux is a fix-and-forget kind of OS solution whose cost of adoption is biggest upfront — but with reduced maintenance over the life of its deployment. This fact sometimes leads many to conclude that it's adoption is costlier when it might in fact be significantly lower than a competing deployment whose upfront costs are nominally lower.

Windows OSs Have The Highest ROI and/or Lowest TCO
This one has been expressed by a number of "consulting" firms in their "commission studies" and is the result of creative number crunching. I don't mean necessarily that Windows OS costs are the worst in the business, just that they are not the shoo-ins many suggest.

For one, it is patently dishonest to suggest that all Microsoft to Microsoft transitions are friction free and require little or no re-training — wake up and smell the Vista, man! This is also an issue with Office 2003 and Office 2007 — fortunately there is third-party software to help with that one.

Another bit of dishonesty occurs when "consultants" fail to work into the Windows OS TCO/ROI the labor costs of things like Patch Tuesday as well as the high cost of antivirus software.

Macs Are Expensive
Again, the only way one can make such an assertion is to only factor in the sticker price. However such an assertion is the equivalent of suggesting to the police department that they could save on costs by dropping the training requirement from their recruits.
Macs may have a higher sticker price, but have lower maintenance costs than PCs and have a longer useful life. This needs to be factored into any serious study.

Now That We Have Java/C#, Who Needs C/C++?
Back in the 80s there were those using this same kind of logic to predict the demise of the different flavors of Assembler. Now the the tunnel visionaries have set their sites on virtual machine code. Please, guys, stop embarrassing yourselves. Another similar claim is the prediction made almost yearly that UML will replace all computer languages — please!

Relational Databases Are On Their Way Out
I think I've been hearing this one for the past 10 years. The telling part is that those who usually say such things have never had to setup a data store. Relational databases not only reflect the way we think about things, but they also allow us some of the best ways to scale massive amounts of information.

Open Source Software Is Not Fit For The Enterprise
This is one is usually spread by some well-know very ridiculous actors. The interesting part is that one of the most important professions in the world, Civil Engineering, follows pretty much an open source model. Anyone wants to say that Civil Engineering is not fit for the enterprise?

The Bottom Line
Information Technology is supposed to be based on science. Heeding rumors leads many companies to burn large amounts of money on useless pursuits. In the business world the most successful companies make solid IT investments and the losers fumble in this area. Success means not only thinking outside the box, but listening outside the echo chamber as well.

Wednesday, March 4, 2009

Errata and More Musings On Open Source

In my last posting I pitted open source developers against "commercial software developers." Then, someone pointed out to me that many open source projects are commercial and their developers are no less competitive than the cube dwellers at Adobe or Microsoft. So, I apologize for using such imprecise language.

Back to coding. I don't think I emphasized enough in my last post how much eating of one's own dog food goes on in the open source world.

A shining example is the Apache Foundation. Their product is rock solid because they pound it probably more than their most demanding users — I guess their deal with IBM didn't hurt either, but they were good long before that.

Some proprietary software companies have tentatively gotten some of their developers to go into the trenches and observe their users in a natural setting and/or become users themselves.

No only do I think this is a nice "year on the farm" experience with incalculable returns in social currency, but I think it really makes developers better at what they do. Could it be that civil engineers are so good because they have to drive on their work to get to their offices?

Imagine how much insight you would gain on the quality of your POS software if you were to spend a week operating the checkout machine a local retail outlet. Such an experience is so richly textured and layered it almost defies description, except to say that it benefits all the parties involved.

Sadly, I have seen so many times cases where developers are not only not required to use the products they play a part in developing but they are almost forbidden to do so.

I am afraid we many times hurt our business through too much specialization. Not-my-department-ism is making us myopic and leading us down a path where barely have a theoretical grasp of what our software does.

In my work I have run into applications with very obvious bugs that only emerge during real-world use but are elusive to QA scripts.

Speaking of QA, we need to understand that Quality Assurance is an inexact science. As software becomes more complex and usage scenarios become more varied, the predictive nature of QA scripts becomes all the more lacking in reliability.

Real world testing, eating our own dog food, living off the land, whatever we call it is a necessary part of quality work. We need to use our products as users if we are to develop truly best-of-breed software.

Monday, March 2, 2009

Why You Should Watch Open Source Even If You Don't Care For It

Although most of the software I have written is what could be characterized as proprietary, I have followed many open source projects with interest and have come to admire not just the quality of the code but the process whereby it comes into existence.

Developers whose disdain for open source prevents them from coming into contact with it cheat themselves. This is hardly new knowledge; however, my deductions and learning from open source &0151; in as much as they reflect my unique circumstances and propinquities— may prove useful to you, so I invite you to read on.

Refactoring
People who write commercial software, even those who are the staunchest advocates of refactoring, do not give refactoring its dues. Even in the most refactoring-friendly shops, this is done as a one-off process and never acknowledged as benefitting more than the project at hand.

In the open source world however, refactoring is given more attention because, to paraphrase the famous saying, refactoring anywhere is boost to good code everywhere. My favorite example is how the Linux kernel code has been systematically rewritten even when, as a product, it has consistently outperformed its nearest competitor for a very long time.

So, why do open source developers refactor more? DaVinci-like artistic pride in their work (which is always open for the world to examine) is a prima facie motive.

However, I think there is also a realization among these developers that by improving on earlier work, they improve on their skills as developers and hence their chances of writing better code in the future.

This, I think is a philosophical stance that any development team would profit from. Granted that there are release cycles and deadlines to satisfy, developers can still plan for refactoring. This might be achieved by regularizing schedules and avoiding, in as much as possible, the extremes that make developers go from consecutive all-nighters around release date to WOW-ridden time-killing days.

I know overtime and comp time are sometimes inevitable, but they should be the exception to the rule. A good project manager or head developer should plan for professional development during bench time with as much care as he/she would budget project-earmarked time. Under such circumstances, enhanced refactoring can be worked in quite easily. Google's 20%-time rule is perhaps the most creative way to achieve this.

Code Review
In the commercial software world the very phrase code review has almost the same connotation as administrative leave except that the latter is less tedious. This is very unfortunate especially since it hurts quality and promotes more bugs than any other practice I can imagine.

Agile shops have helped to remove some of the stigma associated with the phrase, but it is the open source world that has led the way. Open source developers welcome code review the way painters prepare to display their work in a swanky gallery. Why is this?


After monitoring discussion threads for couple open source projects, I have to come to realize that the reason for this confidence might stem from the following factors I've observed :


  1. bad code and its correction is viewed as a learning experience for all as opposed to an embarrassment to the originator

  2. there is no shame in needing correction and a developer whose code was corrected is still allowed to or encouraged to correct the code of others if necessary


  3. there is a pervasive sense of ownership in and responsibility for "the application" as opposed to one's piece alone

  4. open source developers use their continuous code-review process as a means to collaborate — not recriminate





QA and Testing

Sometimes, inevitably so, despite the best efforts to separate testers from developers, there is pressure on the QA team to certify software too quickly. Understandably, this pressure to ship or release by a certain date is due to the fact that delays cost money.

However, a better practice would be to prioritize QA reports and provide graded certifications so that a product can still ship on time with an assurance given to customers that there will be reasonable number of updates included with the original price of the software product. Besides, updates and downloadable patches are quite inexpensive to provide over the Internet.

One reason many open source products have far fewer bugs than their commercial counterparts is that, in the open source world, bugs are sought feverishly and expected as part of the process. In the commercial world, however, I am afraid bugs are seen as nuisances and departures from "the original plan."

This transparency might seem self-defeating on the surface, imagine how devastating it would be if a disgruntled ex-employee were to leak the truth to the press!

Before anyone mentions Windows Vista, let me hasten to say that I do not condone the release of incomplete products to paying customers. Buyers have a right to expect a certain finish and polish to commercial software products, but they might be more likely to accept certain limitations with the understanding that there are a few minor fixes pending — remember the "we owe" sheet you had to sign at closing when you bought your last home?

Division of Labor
Project managers for both commercial and open source software projects subscribe to the principle of labor division. However, open source projects seem to benefit more from its application. Why is this?

It appears that open source projects are a lot more flexible in how they are structured. In other words, people are willing to drop previously assigned action items and take on new ones as circumstances dictate. Egos seem to be less hypersensitive and players are more flexible.

The reason commercial shops are so inflexible has less to do with IT that with HR. It is a shameful display of incompetence on the part of IT managers that they have not realized that HR titles don't always fit an individual's true capabilities or the specific needs of a project. I would be more forgiving of IT managers if there weren't other fields in which the same issue is handled in a much better way.

In the movie industry, for example, the director may play parts in a scene which, in turn, might be directed by another person. The finished movie is more important than nominal titles and no one feels cheated by such practical reassignments. Likewise, in the software industry, we need to be able to reorganize a team as many times and in as many ways as we need to create a truly best-of-breed product — titles be damned!


Bottom Line
Regardless of whether you see open source as the enemy or as a complement to commercial software, you stand to gain from learning the secrets to the success of projects that have bested competing teams with a lot more resources. These are true code gladiators whose work bears some examining.

I encourage all developers to look at some of the code out there. Every SourceForge project has a link to the code; and the home pages of the projects listed may have links to their respective discussion boards. Failing that, a Google search or the Wikipedia entry for the application in question will do the trick.

Code on!

Wednesday, February 25, 2009

Geothermal Heating/Cooling

Geothermal heating/cooling systems use the earth as a heat exchanger and thereby provides better climate control at a reduced cost.

It is clear that such systems cost less to upkeep and appear to be less prone to failure that traditional climate control. However, the cost of acquisition is steep and these systems do not work in all geographic regions. Yet, these systems are worth looking at it would be well worth it if builders familiarized themselves with them.

I am however uncomfortable with a trend that has become increasingly prevalent among proponents of "green technologies." They tend to factor in Government subsidies or tax credits into the economics of their justification. This approach, while tempting, is a little like bribing your son to take his sister's best friend to the prom. The bribe invalidates all other value propositions and makes suspect the subject of promotion, be it a plain-looking prom date or a "green technology."

No matter the cost, any worthwhile technology will have first adopters. If it proves itself its use spreads and its cost goes down; this is how the market has always worked. Remember how PCs spread despite there being not subsidy or tax break for them form most of their history? Did Bluetooth or USB require subsidies to spread?

The Year of Living Digitally

2009 being the year of the digital transition, I think this might be a good time to pick a few bones with companies (mostly media firms) whose corporate culture has not kept up with the times.

HBO

HBO's issue with the 16x9 aspect ratio bothers me to no end. It's hard to imagine that America's premium cable network sends out a signal designed for people who bought their television sets before the turn of the millennium. What kind of preview monitors do these people use?

Anyone who tries to watch the HBO HD feed is in for a very amateurish viewing experience. Not only does HBO not know how to transition from programs or spots with a 4x3 aspect ratio, they seem unable to produce HD spots for HD shows.

As a result, instead of enticing me to watch whatever show they are trying to promote, I am infuriated by the ridiculous letter-boxed, pillar-boxed, jagged-edged, sub-par image displayed in the middle of a huge black background. Its a crying shame that HBO's promotional department seems unable to produce video whose quality is worse than what a teenage geek can produce in his/her parents' basement.

Maybe HBO should send their producers to intern at ESPN. They have done an excellent job with transitioning from the 4x3 to the 16x9 aspect ratio and output a consistent, high-quality HD signal.


History Channel, CNN, Fox News, and others

These other networks deserve calling out simply because they give HD and/or the 16x9 aspect ratio a bad name. The last time I checked, Fox News appears to have an issue with providing any HD or 16x9 aspect ratio programming.

CNN and the History Channel, on the other hand, think that it is okay to stretch their 4x3 images to fake 19x9 HD video. Let me begin by saying, there is nothing wrong with pillar-boxing provided it is done right. In fact, these services could use the extra screen real estate for crawlers and even ads. Whatever they do, they should stop presenting distorted video — this used to be a sign of a broken TV set.

All these cable outlets need to realize that a significant chunk of their audience is watching their signal on newly bought HD screens with a 16x9 aspect ratio and that nobody wants to watch a crappy signal after forking out large sums of money for the experience.

I doubt I am alone in my practice of reserving my 60-inch HD screen for only material that justifies the viewing experience. As a result, my viewership of these networks has decreased not in small part due to how jarring their images appear on a high quality screen.

Monday, February 2, 2009

Why The Digital Transition Must Not Be Delayed

The latest figure I have for TV stations in the US is 1773 — not including low power outfits. Even assuming average transmitter output of 10,000 watts, the impact of such consumption is considerable : well over 20 megawatts at least. This is by no means a trivial power requirement.

Now imagine if we doubled the amount — which is what we have to do to account for the fact that all commercial stations are currently broadcasting both analog and digital signals. As costly as this is, commercial television broadcasters have had plenty of time to incorporate into their budgets the dual power requirement of parallel broadcast transmissions. However, an unplanned extension of the deadline is likely to bankrupt smaller TV operators — the kind most likely to hire locally — and cause further unemployment in smaller markets. The other victims of such a delay would be the tower and transmitter service companies that were looking forward to drumming up some business around transition time.

So, in order to accommodate a lackadaisical and markedly small segment of the market we are willing to continue to weigh down on the power grid and further jeopardize an embattled industry? Come on Congress, that wouldn't be smart at all.

It is true that there appear to be some 6.5 million homes unable to receive digital television. However, we do not know with any certainty whether this deficiency is caused by poverty, disinterest or procrastination. Although the government has run out of coupons, many people have allowed their coupons to expire. I think these people would be a lot more motivated if they could not get any signal on their TV sets and found out from their friends what they need to do. As for the converter boxes, I believe their prices will drop making the coupons unnecessary.

I remember reading on an online forum that in Europe,where there was no coupon program, comparable boxes are sold for the equivalent of almost half the $40 US sticker price. Besides, if the government is so concerned about these households they could allocate some money for low interest loans to people wishing to buy the cheaper digital sets and/or converter boxes. Considering that the alternative is so costly to TV broadcasters, I think even they would welcome an alternative that would involve them pitching in to a fund to upgrade analog homes in their respective markets.

Look at cell phones. Look how we have migrated from analog to digital cellphone service without coupon programs or anything like them. To quote President Obama, "yes we can."

Superbowl Snafus

NBC regaled the nation with a few glitches in the broadcast of the Superbowl. After so many years of the roster, they were a little rusty putting on the show.

Comcast's dubious technical credentials were once again highlighted by 30 seconds of full frontal nudity it served its non-digital subscribers in parts of Arizona. This reminds me of two of my gripes with the cable giant:


  1. Non-digital package subscribers are treated as second-class citizens.

  2. There is no attention paid to customer service -- even the DMV beats them in this area.



My question to Comcast is, whatever happened to quality control? It is true that their digital service is slightly better than their analog feed, but not by much. I remember seeing snow in my HD feeds. Plus the hu m bars in their inDemand offerings render many of them unwatchable on a big screen.

Along the lines of Q.O.S. (Quality of Service), considering that most subscribers use the analog feed, some for their primary receivers and some for secondary units, wouldn't it make sense for Comcast to persuade them to upgrade through quality offerings.

This is a lesson satellite providers like DirectTV and Dish have learned. The reason their subscribers happily upgrade from a $29 basic package to an $80 enhanced lineup or even $400 sports pass, is that users are habituated to associated the service with high quality images and sound.

When dropped cable for DirectTV, my biggest surprise was how much more local television I was watching. The reason was that even local channels were more watchable. DirectTV manages to give me a better signal from my local stations than locally-based Comcast -- imagine that!

And Service, Comcasts continues to offer limited telephone support with some of the least cooperative operators. I hope this latest x-rated snafu causes more people to abandon their service and cause the company to shape up. My main complaint with Comcast is that, by being the largest cable operator, they give all cable providers a bad name. The truth is that there are some pretty good cable companies out there I've had positive experiences with the likes of Cox and Adelphia.
Although, I still have some bones to pick with industry effort known as CableLabs, I believe the problem with sub-par players like Comcast is their corporate culture and lack of commitment to service. Shame on you, Comcast!