Linux, Asus M2V, Attansic Ethernet and SATA hard drive problems.

At work, I got a shiny new Linux development machine -- And AMD 64 Dual Core 3800+ processor running on an Asus M2V 1.xx motherboard.

After installing Fedora Core 6, I ran into two problems. First, the built-in Attansic L1 Ethernet adapter wasn't recognized. Google research revealed that an Attansic L1 driver will probably appear in the mainline Linux kernel in a few months. Rather than wait, I plugged in a supported Ethernet card.

Second, the SATA hard drive driver timed out. Occasionally, the system froze up without many error messages showing up in the system log. I logged in at the console as root and ran "exec tail -f /var/log/messages" (redirecting syslog to a remote machine is a better solution). The next time the system froze up, I saw more output in syslog. It contained approximately the following:

ata1.00 exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2 frozen
ata1.00 BMDMA stat 0x4 timeout
ata1.00 qc timeout (cmd 0xec)

Google helped me stumble on the following workaround, which seems to work. I don't know what it does. Edit /etc/grub.conf. Find the lines that say "kernel" and add "acpi=force irqpoll noapic hda=noprobe" to the end, and reboot.

title Fedora Core (2.6.19-1.2911.fc6)
        root (hd0,5)
        kernel /vmlinuz-2.6.19-1.2911.fc6 ro root=LABEL=/ rhgb quiet acpi=force irqpoll noapic hda=noprobe
        initrd /initrd-2.6.19-1.2911.fc6.img

Useful commands (helpfully documented on this blog):

  • dmidecode - tells me what motherboard I have
  • lspci - Tells me what built-in ethernet adapter I have
  • cat /dev/cpuinfo - Tells me about my CPU

Best of Breed, or Best of Mediocrity?

Having worked for some time as a software engineer in the enterprise security software world, I know that customers (enterprises) look for "best of breed" software. For a large company customer, this usually means that a software solution distinguishes itself in some way that makes it work well in their environment. Often, this translates to reliability, cross-platform support, person-to-person support and the ability to function beyond what is advertised.

As many are aware, there is "consolidation" going on in the security market. Big fish are swallowing smaller fish, and it's lucrative, in the short term, for everyone except customers. Supposedly, the consolidation means that two separate products can be "integrated", or unified. Never mind the previous competitive relationship that may have existed between the product teams and their management. For some reason, people seem to think that competition evaporates and that the two product teams will happily work together to build the next generation "Best of Breed" software solution.

Not so.

In any big corporation or software company, there are constant power plays being made. You could call this "decision making", and if you have uncommonly good leaders, you might even say good decisions are being made. Unfortunately, it is human nature for most people to misuse and abuse positions of power. Instead of making product decisions that are best for their merged customer base, they make decisions that keep themselves in a position of power.

So, we have two best of breed products: Overdog and Underdog. Underdog is easier to manage, but isn't as complete in its offerings. Overdog is more complete, but is more expensive to deploy and manage. Overdog has the advantage of being used in Fortune 500 companies. Underdog, on the other hand, is trying to break into that market space.

Enter Big Fish -- a.k.a. Consolidator. Consolidator buys Overdog, and a few years later, buys Underdog. We take two products, both "Best of Breed" in different ways, and expect to see them merged together to make something "next generation" -- better, faster, stronger, and easier to use.

Whenever there is a consolidation, talented people get fired, and their creative ideas and abilities are lost. Product integration never happens as easily as anyone would like to believe (if it happens at all). And in the end, customers end up with a product that we can best label as "Best of Mediocrity". Consolidation means that customers lose their "Best of Breed" solutions.

What can you expect from Software Consolidators? Mediocre solutions. Look elsewhere for excellence.

Overtime Considered Harmful

I just read "Overtime Considered Harmful" by Basil Vandegriend. Sometimes, overtime can result in increased productivity and success. However, "Working regular overtime (more than a week or two) has a significant negative impact on a person. Factors such as increased stress, strains on family and personal relationships, less sleep, and less exercise all add up over time to affect an individual's mental, emotional and physical health. Over time, this can result in increased physical illnesses, lack of motivation, and eventually complete burnout."

I believe that everyone is different in their capacity to handle overtime. I've seen some people that can handle working 60 hours a week for months at a time, with little apparent loss in productivity. Other people can't handle overtime for more than a few days. Those who work 70 or 80 hours a week to meet a deadline almost always burn out and switch jobs when the death-march ends.

A colleage of mine (I'll call him Brian) refused to work mandatory overtime in order to meet a deadline. Brian's coworkers became stressed and tired, and made more mistakes. In contrast, Brian came to work each day refreshed, with a sharp mind. He tackled and solved tough problems, fixed other's bugs, and smoothed out rough edges. His efforts made it possible for the team to meet their deadline. Without his courage and self discipline, the team would have failed.

We owe it to ourselves, our families, our peers, and our employer to work at a sustainable rate; a rate that will maximize productivity and foster teamwork in the long run; a rate that will allow us to lead happy, balanced lives.