Arrogance vs. Stupidity – does it matter?

April 22, 2004

Don Box asks which is more harmful to a business — arrogance or stupidity?

When I first read this, I thought that it was an impossible question to answer. It seemed to me that Don was asking us to compare levels of arrogance against levels of stupidity. While it is possible to compare one stupid act against another and say which act was more stupid, this is an impossible task when comparing an act of arrogance to an act of stupidity. It’s like the classic apples vs. oranges problem.

Then I thought of a different perspective. Which is harder to make amends for — an act of stupidity or a an act of arrogance? I think the answer is clear that stupidity is easier to overcome than arrogance. The answer comes from putting yourself in the perspective of the customer.

When somebody commits an act of stupidity, they have made a mistake. We all make mistakes. We have all had to apologize for our mistakes. Sometimes we have to make amends for our mistakes. In more serious cases, we have to do some more work, such as explaining to the aggrieved what we are doing to prevent that mistake from happening in the future. Sometimes we can’t make amends, but that is the exception to the rule.

When we commit an act of arrogance, we have also made a mistake. However, arrogance connotes a sense of disrespect. We can try to do all the things that we did when we made a stupid mistake. We can apologize. We can make amends. We can explain what we’ve changed to prevent the problem again. But even with all these actions, there is a good chance that a wounded pride is involved. No matter what we do to apologize, we treated somebody with an attitude that said “You don’t matter to me.” That becomes a personal attack, and that is much more difficult to resolve.


Good programming books

April 16, 2004

Eric Gunnerson writes about some programming books that are on his bookshelf.

Based on the reviews at Amazon, I may buy some of these books. My programming library is relatively small. I’ve been using various Borders stores to read through Martin Fowler’s book, Refactoring: Improving the Design of Existing Code. Unfortunately, the last time I’ve been to Borders, they didn’t have it on the shelf. I may have to break down and actually spend money on it.


Memory prices up 70%? What’s the big deal?

April 15, 2004

ZDNet is reporting that memory prices are up more than 70% when compared to projections by industry analysts. I particularly liked this sentence:

The price of a 256-megabit DDR DRAM chip, the industry standard, stands at $6.53, according to microchip broker DRAMexchange.com. That compares with $3.70 at the start of this year. At the end of last year, analysts had been expecting prices to fall to as low as $3.30.

[sarcasm]
We have to pay $6.53 for 256 MB of DRAM? This is outrageous! I’m already paying $4000 for my dual XEON server with SCSI RAID 5 and 2 gig of RAM!! Now I’m going to have to pay $4060!!! If this keeps up I’m going to go out of business!!!! Somebody needs to do something about this!!!!!
[/sarcasm]


BackgroundWorker in Visual Studio.NET 2003

April 13, 2004

This entry is mainly a reminder for myself to check out Juval Lowy’s implementation of the BackgroundWorker component in VS.NET 2003.


Mini quizzes

April 9, 2004

So people periodically forward links to little quizzes that categorize you. Programmers have a reputation of possesing poor spelling and grammar skills. Not all programmers! Take this quiz and see if…

Grammar God!
You are a GRAMMAR GOD!

If your mission in life is not already to
preserve the English tongue, it should be.
Congratulations and thank you!

How grammatically sound are you?
brought to you by Quizilla


Free standalone debugger that integrates with SourceSafe

April 8, 2004

Korby Parnell posts that a new beta version of a free debugging tool from Microsoft has the ability to integrate with Visual SourceSafe (VSS). I am not familiar with this tool, but it sounds like it could be very useful for our internal debugging when we have to deal with tricky VB issues that only our testers seem to be able to reproduce.

Some of the trickiest bugs to track down have to do with timing. When you’re trying to debug in the IDE and you’re using any kind of breakpoints, this can make a bug based on a multi-threaded timing issue impossible to reproduce. This might also come in handy with debugging some of our COM+ components.


Rocky speaks on SOA

April 8, 2004

Rocky Lhotka opines about SOA.

I want to add a related link to this discussion. SOA is an architecture to solve a problem that has been around a long time. That problem is getting disparate applications to talk to each other. This problem crops up all time, especially for companies that fall into the Fortune 500, 1000, etc. categories.

Rocky makes the point that SOA is dealing with trust boundaries. Roger Sessions has been preaching this philosophy for quite a while now. Roger doesn’t use the term “SOA”. Instead, he uses the term “Software Fortresses”. I think Software Fortresses are the end, and SOA is the means. Roger publishes a newsletter, and he discusses SOA here and here


Spontaneous combustion in Sicily

April 8, 2004

It appears that a town in Sicily has been spontaneously combusting for a while. On the surface, it appears to defy explanation, but some people are trying to figure out the cause.


Semantics cause bugs

April 7, 2004

An interesting discussion is going on in the CSLA.NET forum. In message 5 of the discussion, Tom Leylan points out that the discussion is getting bogged down in semantics. I would agree with Tom’s assessment. I was going to post a response of my own to his original entry. However, I realized halfway through my response that there could be multiple interpretations of the term “parent”. I canceled my response and elected to seehow others interpreted it.

I think semantics is the root cause for a significant percentage of software bugs. I also believe that these kinds of bugs are harder to detect. The main problem is that human language is very inexact. Programming languages are the exact opposite. We try to build computer programs by translating the inexactness of human language into the exactness of a programming language. Translations of this type are very, very, difficult, even for the most powerful computers on earth — our brains.

Conversely, translating from one exact language to another exact language is very easy. There are hundreds of programs to translate code from one programming language to another. In a sense, every compiler is simply a translator, since a compiler is translating a higher-level language to a lower-level language. Compilers are introduced at the undergraduate level, so they can’t be considered a terribly difficult concept. :-)

An assembler is translating assembly language to machine language. In the .NET environment, two translations are taking place. There is a compiler that translates VB, C#, J#, etc. into IL. A second compiler translates the IL into machine language.

The task is not so easy when one wants to translate English to Spanish. In fact, it’s not so easy translating from relatively similar languages. Many American jokes don’t translate very well when told in the UK, even though both countries use English as their primary language. Try using Babelfish to translate this page into French.

If you are interested in how the best and brightest are dealing with this issue, check out the Proteus project.


Happy birthday from Dr. Seuss

April 1, 2004

Eric Gunnerson posts a cryptic blog entry. I don’t know if it’s his birthday or somebody else’s birthday, but Dr. Seuss wants to wish a Happy Birthday To You!

You can buy the book here.