Sunday, December 6, 2009

Nice place to quickly check for good deals

http://www.deals2buy.com/home/alldeals.htm

Thursday, December 3, 2009

Please take time to show your 'Appreciation' when it is due ...

Have you ever felt that you could have been appreciated for that big thing or the little thing you have done either because you are obligated to do it or because you volunteered to do it out of your own good will?

Did you take time to stop for a second and appreciate the people that surround your life .. be it your partner, kid, friend or colleague for what they are doing to make your life easier OR more importantly ... what they are NOT doing to make your life more miserable than what you are capable of doing all by yourself?

A little bit of appreciation goes a long way ... some times in ways that you never know could have existed .

Don't believe what I a said !!! then please LOOK at this beautiful example

APPRECIATION MAKES A DIFFERENCE

Monday, October 19, 2009

Word Frequency Counter Facebook App

Asa Dotzler told me the other day that there is no Facebook App that he could find which would provide word frequency count. So, I set on verifying that statement. I could not find any Facebook App that can provide the frequency count of words after a moderate effort. So, I went ahead and created one

http://apps.facebook.com/freqount/

Why need such an App you may ask!! ... If you are an eloquent, expressive and frequent blogger or web-geek, you may some times get curious to know about the frequent use of specific words or the profile of your word repertoire. This little app hopes to fill that niche ...

But the problem is ... I can not publish the App unless there are at-least 5 Facebook users for this App. So, here I am requesting all the friends who have Facebook profile and and also read Mozilla blogs to kindly give it a try.

URL again http://apps.facebook.com/freqount/

Note: The layout of the application looks better once you log-in to your Facebook account.

Friday, October 9, 2009

Different Strokes

Standard Disclaimer : What is written here are author's personal opinions and are not endorsed by any organization to whom the author provides services.

Now that I am done with the standard disclaimer, let me share with you some of my thoughts after reading the following feature @ http://research.microsoft.com/en-us/news/features/nagappan-100609.aspx

I agree with many aspects of the Featured engineer's findings but I have qualms with the way they are presented.

Let me repeat the age old knowledge, 'conventional software-engineering wisdom'  is as nebulous a phrase as 'universal harmony'. There is no accepted dogma in this area. There are 'Microsoft' software-engineering practices,'Google' software-engineering practices, 'Oracle' software-engineering practices and so on ... Just because we read some graduate course text books that talk about software-engineering practices, it does not mean that they are definitive. The article's author claims that Microsoft ESM  group studies the conventional software-engineering wisdom. This is a non-pragmatic statement considering that the group consists of a lot of researchers who know that there is no 'conventional-way'.

In this context, let me share a pertinent story...which is true.

One of my friends did his Ph.D. in physics from Princeton University and during the first year, he saw a brown Squirrel and made a statement 'Squirrels are brown!'. Next year his statement was more contained 'Squirrels on the Princeton campus are brown'. The following year his statement was more measured 'Some Squirrels on Princeton campus are brown'. In the final year of his graduate studies his comment was 'I saw a brown Squirrel on Princeton campus'.

I hope the statement 'Code coverage measures how comprehensively a piece of code has been tested' is article writer's paraphrase [ and not of the featured Engineer ]. In this part of the world, in some companies I worked, like Sun, Oracle and Mozilla, code coverage is not used as a measure of comprehensiveness, not at least in the groups I worked in. Here, every one knows that having 100% code coverage does not mean that you have found all your bugs. But having 20% code coverage means that some thing is seriously amiss! Code coverage does not give good news. It indicates potential gaps that we are not at all testing. If you are trying to disprove the assumption that 'Higher code coverage means lesser post-release failures in the field' , then I humbly advise that it is time to get your tuition fee back [ if only your college offers satisfaction guarantee ] and also please visit https://wiki.mozilla.org/Firefly . I have seen more people who believe in 'Spaghetti Monster' than those who believe in the bug finding-ness of code coverage.

I would have been seriously shocked too ... if Microsoft developers danced to the tune of 'Kumbaya' after learning this triviality.

The other issue that rattled my brain is the emphasis on Test Driven Development [TDD]. If you were a nascent start-up writing your first shopping cart application checking your code into source code control for the first time,  then 'yes' TDD is the new cool kid on the block. But is this the right approach for Microsoft!!

I heard a joke from an industry veteran recently 'Why Microsoft takes years to release a product when the God completed the whole creation in just seven days ? ... Because God does not have to worry about backward compatibility'

What would it take to retrofit the decades worth of legacy code into the TDD model !!

The right approach is in fact 'Change Centric Test Development'.

What is change centric test development ?
  • Identify the extent of code coverage provided by existing test suites
  • Identify the nature of bugs filed/fixed on the code base and weigh it against the coverage effectiveness. If you have 100% code coverage on a module but over the last year 80% of bugs are found by customers, then your test suite is rotten. Throw it our, rinse and restart.
  • Create test-case to source-file/functions/methods mapping .. create test-case to bug mapping ... create bug to source file mapping. Any reasonable source code control system and bug management system and a data base to store mappings would be sufficient.
  • Track daily code changes and check if you have corresponding tests in the test suite from above steps. If not , create a test case and DO NOT check in your code till you have one.
As you see, this is not a simple TDD approach.

Incidentally, Nagappan practically explains the Change Centric testing infrastructure in the 'Proving the Utility of Assertions'  section sans linking it to code coverage data.

Rest of the article deals with Organization Design and its impact on the development process.

While the beginning of the article starts with a sense of universality, the article writer admits [ at the end ] that the findings are derived from studying MS groups and that Nagappan  would like to correlate it to other environments. At the same time, the article also concludes that they have solved the 'software-engineering myth buster' .... perhaps an internal Microsoft one!!





Sunday, October 4, 2009

Dev Helper Bug-Fix Metrics

Damon Sicore maintained a cool set of graphs some time ago that was built using few external frameworks.
  • QGoogleVisualizationAPI by Thomas Schäfer which is a PHP wrapper around Google Visualization APIs.
  • Simplepie.inc package which is a cool feed reader framework in PHP.
  • Couple of nifty home made PHP scripts.
The framework has fallen out of use recently. So, Damon has asked our team to revive it. It is revived now and the graphs are getting generated from the framework.

Please have a look in the "Fixes by Dev Group" section of http://people.mozilla.com/~mnandigama/dashboard.html
to find the number of blocker and non blocker bugs fixed by developers during the last 24 weeks till now [ by week ]. Links are provided by development group. Each link contains graphs by that group's developers.


Happy analysis ...
Murali


Saturday, September 26, 2009

Oracle Open World - Oct 11-15 2009

I am attending the Oracle OpenWorld.... during October 11-15, 2009.

I am excited to attend this for many reasons. I was Senior Release Manager for Oracle 10g R3  Fusion Middleware product line when I left Oracle in 2008. If Thomas Kurian were a stock traded on Nasdaq, I would have fully invested my 401K in that stock. I want to know how he is planning to redraw the middleware  landscape.

I also was the chief QA engineer for the Java Software quality engineering when I left Sun Microsystems in 2005.

I have told many times to my friends at Oracle and at Sun that ... Management team of Oracle coupled with Sun's  Engineering team would create a world class  team.

Oracle is almost about to complete the transfer of control on Sun in few more weeks.

This is going to be an exciting future and I hope Oracle would make good use of Sun's technological stack.



Saturday, September 19, 2009

Why you should NEVER ask for metrics ?

At the risk of sounding pretentious I can say, very humbly, that if you are being asked , by powers that be, to generate a set of metrics ... for any project ... please don't jump at it with headfirst.

I have been living in the world of metrics for more than a decade now and every time I hear some one proposing -- this or that -- metric should be captured, I feel a bit .. well !! I don't know how to word that ...

Let me share a little story which is related to this ...

Long time ago ... there lived a good man in a far remote village in the mid lands. One day he started praying for the lord God to fulfill his wish... and he prayed and prayed for so long with so much dedication that one day, the God relented and traveled from heavens to the earth.

The God spoke to the good man "my dear child !! I am pleased with your prayer and I am here to grant you one wish. Speak !"

The good man bows to the God and says " Dear God .. please grow hair on the ear lobes of my mother-in-law ... "

The God gets puzzled! but he grants the wish any way. Before disappearing, the God asks the good man... "my child ! I am curious to know why you prayed for so long and so hard to ask for such a wish !! "

The good man bows again ... speaks very obediently, "God !! long time ago I read a book that said -- the son-in-law will become very lucky if he gets a mother-in-law with hair on ear lobes. I always wanted to be lucky and so I asked for that boon !! "

And then the God shakes his head,smiles kindly... and speaks "If you wanted to be lucky ... all you needed to do was to ask me for that!! " and the God disappears.

The moral of the story is : What you think you are asking for may not be the right solution to what you want to achieve!

Asking for metrics is just like that !! A metric is a solution that answers a question. Instead of asking the right question, many people ask for a specific solution like a metric with the implicit assumption that they know what they are asking for is the right solution.

Imagine going to a doctor and asking for acetylsalicylic acid instead of telling him that you have an ear pain and you need a medicine to fix it !!

Thursday, September 17, 2009

AMO and SUMO bug metrics

Mozilla Add-ons and Support QA team has asked for a dashboard view for the Add-ons (AMO) project as well as Support (SUMO 1.4) project.

So, I spent a day to come up with these web pages.

Please check these out and let me know...

Your comments are welcome.