Friday, September 29, 2006

Optimization Or Compatability ... Hard Choice!

I was reading an interview held with Shannon Hickey, the technical lead for the Swing toolkit team at Sun Microsystems. He was asked about his dream project which he would like to make one day. The answer was so impressive:

" ... As an engineer, I'd love to be able to clean up old and unused parts of the Swing toolkit and the Java programming language without having to worry about backward compatibility. It's just a dream though, because compatibility is very important to our customers and is something we take seriously. For instance, every time I fix a bug, even if I'm correcting completely wrong behavior, I must be careful not to break something for someone who is relying on that wrong behavior.

For example, I modified JTable a while back to ensure that the focused row was set to the first row whenever the table gained its first data and was then set back to -1 when the table became empty. The goal was to ensure that tables showed focus whenever possible but to correctly use -1 if they are empty. This solved numerous open bugs.

Unfortunately, within a couple of weeks, two bugs were filed against my change. It turned out that modifying the focused row fired events, and some existing client code wasn't prepared to deal with these events. Although I strongly want code to "do the right thing," I understood that we must try not to break existing code. Unfortunately, I had to pull this perfectly good code in favor of something less optimal. Now, the focused row always stays at -1, until either the developer or the user changes the selection. The funny thing is, I've seen bugs filed on this behavior since ..."

You see. It is really hard to take care of all this issues when you developing technologies others will widely use.

I like this Article - Digg it

RSS Feed Available Now!

You can keep uptodate with any post sent on this blog through the blog RSS feed. This is an XML-based file that you can use to display the blog posts in any RSS feed enabled softwares. Simply you add the blog RSS Feed to your software feeds and any new post will be displayed there.

For example, if you use Gmail, you will find a "Web Clip" bar in the top of your mail client, showing your favorites feeds. You can add all favorite feeds from different URLs and all will be dispayed in this web clip.

My Weblog RSS Feed is:

Microsoft Visual Studio 2005 SP1 Showing Up

Microsoft has released the Visual Studio 2005 Service Pack 1 (SP1) Beta. Visual Studio 2005 shipped in November of 2005 and this Service Pack incorporates fixes that Microsoft have addressed since that release. You can test this beta and inform Microsoft about any bugs you may find. The beta program will run until October 30th.

The fixes were mostly related to some reliability and security issues found in the last release of Visual Studio.

You can participate in the beta program by visiting: Click Here

For more information, visit: Microsoft Site

Tuesday, September 12, 2006

Google Code Jam 2006

Google Code Jam 2006 Qualification Round was started in the last 5th, September. This competition is supported by google and aims to create an international competition in programming and problem solving. Depending on the round, you got a set of problems and you will have to solve it in a certain time.

The qualification round consists of 2 problems - 250 point and 750 point problems - and you will have to solve these problems in 60 minutes. CodeJam gives you a great option to choose your favorite programming language to program with (Java, C#, VB.NET, C++ and Paython), which supports the idea of not giving much importance to the programming langauge and free the minds to solve the problem itself.

Qualification round will filter the participants to 1000 coders who will be qualified to continue to Round 1. The 1000 coders then will be filtered to be 100 who will get the prices and go to New York, USA to challenge again.

Egypt existance in Google Code Jam this year was not enough. I am sure we have so many skills out there who need to be encouraged to participate and challenge.