Thursday, July 10, 2008

Zero Defect Software Development (ZDSD)

by Steve Pavlina,
Dexterity Software

The basic tenet of ZDSD is this:

Maintain your product in what you believe to be a defect-free state throughout the development process. This sounds simple, but it
is a rare practice. The most common approach is to delay major testing until the final QA phase of software development, where
defects are often discovered for the first time. Most bugs are not detected or fixed until long after their introduction. The
longer a defect remains, the harder it is to fix. On large software products, each stage of development that a defect survives
will increase the cost of fixing the defect by ten to fifty times. A defect introduced in the design phase can cost hundreds of
times more to fix in the testing phase than it would if fixed immediately after its introduction.

By focusing on product quality throughout the development lifecycle, you will actually complete products faster than if you didn't
pay attention to quality until the end of the project. The general rule of software quality is counter-intuitive: Improving
quality actually reduces development time. This is because you eliminate all the time spent fixing bugs and reworking code, which
can account for as much as 50% of development costs on a large project. The typical programmer writes between eight and twenty
lines of code a day; the rest of the day is usually spent on debugging. ZDSD shortens schedules by eliminating most debugging
time. Extensive studies done at NASA, IBM, and elsewhere have shown that better QA leads to shorter schedules.

An IBM study concluded that software projects that make quality a top priority typically have the shortest schedules, the highest
productivity, and even the best sales.

Here are the basic rules of ZDSD:

1. Test your product every day as you develop it, and fix defects as soon as you find them.Apply the daily build and smoke test.
At the end of every day you work on your project, build the current version of your software, and test it for basic functionality.
Microsoft enforces this policy religiously, using large teams to build each project on a daily basis. A programmer whose code
breaks the build may be called in the middle of the night and must go back to work to fix the problem immediately. For shareware
authors working on small projects, this is far easier. At the end of each day, test your program for at least ten minutes. Make a
list of anything you would consider a "defect," and resolve to fix all defects before implementing any new features. Once you find
a defect, fixing it becomes your number one priority, and you avoid writing any new code until the defect is 100% eliminated.

2. Review your code regularly. When most people think of QA, they think of testing, but testing is actually one of the least cost-
effective strategies for finding bugs. The most rigorous testing will typically find less than 60% of all bugs in a program, and
there are certain types of bugs that testing will rarely find. Studies conducted at many large software organizations have
concluded that code inspections are far more cost-effective than testing. A NASA study found that code reading detected almost
twice as many defects per hour as testing. Whenever you've added a few hundred lines of new code to your project, set aside an
hour or two to read over your work and look for mistakes. One hour of code review is equivalent to two or more hours of methodical
testing. As you gain experience, keep a list of the types of defects you find, and run down your list whenever reviewing new code.
To find even more defects, have someone else read your code as well.

3. Assume full responsibility for every bug. 95% of all software defects are caused by the programmer. Only 1% of defects are
hardware errors, and the remaining 4% are caused by the compiler, the OS, or other software. Never dismiss a potential bug; find
out the exact cause of any anomaly. When the Mars probe suffered serious software glitches during its mission, it was learned that
the same glitch had occurred only once during testing on earth, but the engineers dismissed it as a temporary hardware hiccup.
Unless your hardware drinks soda, it does not hiccup.

4. Handle change effectively. You will always think of great new features to add after you have started coding. Carefully consider
how each change will impact your pre-existing code. Poor integration of unanticipated features is a major cause of defects.

5. Set QA objectives at the beginning of every project. Studies have shown that developers who set reasonable QA goals will
usually achieve them. Decide in advance if your product must be fast, small, feature-rich, intuitive, scalable, etc. Then
prioritize those objectives. When designing the interface code for an upcoming game, I decided that my top three priorities were
to make it beginner-intuitive, fast, and fun, in that order. Consequently, my game's interface isn't as graphically rich as other
games, but it is easier to use and faster than any other game of its type. Whenever you have to make a design decision, keep your
objectives in mind. If you do not set clear QA goals, then you are doomed to accept the results of random chance.

6. Don't rush debugging work. Fully 50% of all bug fixes are done incorrectly the first time, often introducing new bugs in the
process. Never experiment by simply changing "x-1" to "x+1" to see if that will do the trick. Take the time to understand the
source of the bug. Years ago when I was a boy scout and had to put out a campfire, the Scoutmaster would sometimes test my
thoroughness by asking me to put my hand in the ashes. I learned very quickly how to put out a fire so well that I had complete
confidence it was 100% extinguished. When you find a defect, it means your code is on fire. As long as the defect remains, any new
code you write will add fuel to that fire. Whenever you find a defect, drop everything to fix it, and don't move on until you are
100% confident that your fix is correct. If you don't take the time to do it right the first time, when will you find the time to
do it over?

7. Learn from every bug; each one represents a mistake that you made. Learn why you made each mistake, and see if you can change
something about your development practices to eliminate it. Over the years I have adopted many simple coding practices that allow
me to avoid common bugs that used to plague me. There are many types of bugs that I now never encounter because my coding style
makes it physically impossible for me to introduce them.

Each of these rules represents a simple concept, but their combined benefits are significant. You will achieve higher progress
visibility, avoiding the situation of being "99% done" for the last 80% of your development time. Higher quality will make your
products easier to maintain and less expensive to support. You will spend less time debugging old code and more time writing new
code. And most importantly, it actually takes less time to write high-quality code than it does to write low-quality code, so you
will save a great deal of time on overall development. If you have never developed products with a zero-defect philosophy from day
one, its adoption can reduce your development time for new products by 30% or more while simultaneously improving product quality


Thursday, June 19, 2008

Mozilla Firefox 3 review part3

Overall, Mozilla has developed another fantastic version of the Firefox Web browser that tops all the rest, including thecompetition. They have included some really nice features that put it way on top over other browser, such as Internet Explorer.Mozilla has included many fixes, especially the memory usage bug, that make Firefox extremely robust and user-friendly. It isdefinitely a must-have download if you are a Firefox user or a user of another browser looking to make a switch to Firefox.

Mozilla Firefox 3 review part2

There's also a new feature called "Smart Bookmarks" which is a menu of a few folders located on the favorites bar. When you clickon the Smart Bookmarks button, you'll see a list of a pop-out menu with Most Visited and Recently Bookmarked. Each one displayseither your most visited sites or recently bookmarked sites for quick and easy access.

Firefox 3 also has a new password manager with a few tweaks from past versions. The most drastic change is the prompt when youused to log into a site. In past versions, when you have typed in user name and password login information and submit it, a littledialog box used to appear asking if you wanted to remember, never for this site, or not now. In Firefox 3, when you visit a sitewith a login field, a new toolbar appears with the same options.

As we mentioned before, previous versions of Firefox have had a very rough reputation with memory management. As the browserstayed open for long periods of time, it would start to consume massive amounts of memory and slow the computer down. However, thenew rendering engine, Gecko 1.9, fixes that issue and improves memory management drastically.

Firefox has always been a very secure browser and with the new version, Mozilla has taken it one-step further. There is a phishingfilter built-into Firefox 3 which helps to detect malicious sites posing as legitimate Web sites by using a blacklist compiled byGoogle and other security firms. In addition to that, there is a SSL verification system also that checks secure site's SSLcertificates for validity and tells you so via a red/green cop logo in the address bar.

Mozilla Firefox 3 review part1

The Mozilla Foundation, the developers of the ever-popular Firefox Web browser, have just released the brand new version of thebrowser, Firefox 3, after three years of development. The new version is based on a new version of their Gecko code platform andit fixes over 11,000 issues with more than 2 million code changes from Firefox 2. Version 3 offers a whole new level of stabilityand security for Firefox because of the newly written code. Special attention has been paid to a few specific issues, such as thememory usage issues that have plagued all previous versions of Firefox.

When you install Firefox 3 on a computer with Firefox 2 already installed, you don't have to worry about losing any of yourpersonal settings and bookmarks because the installer will automatically import them all over to the new browser. The 7MBinstaller works amazingly well and installs quickly on most of today's modern systems.

When you first open the new browser, you'll immediately see a few changes to the user interface, but one will probably stick outthe most. The new "Location Bar" is where the traditional URL address bar is and it takes it to a whole new level. When you entera Web address or a few words into the location bar, Firefox will automatically suggest Web sites that you are either looking foror would be helpful alternatives to the site you are going to. For example, you can enter in a company name that you might notknow their Web address for and Firefox will automatically (and quickly) display below your query give you a few suggested sites,one of which will probably be for that company's Web site. Firefox looks through your history and bookmarks to find what you arelooking for. This saves time and few mouse clicks by skipping right over doing a search via a search engine because now you can doit all from Firefox 3's new location bar.

FREE SMS Services With No Registration

I notice that in google "free sms with no registration" is a popular search term. Are you looking for a free SMS text service that doesn'trequire you to register? First, there are NONE. Second, Why?
Why you'll not Find a Free SMS service that doesn't require you to register:
Every SMS text message has a cost. It may be just a fraction of a rupee, but there is a cost to be paid by the company providing a free SMS service. The legitimate providers of freesms text recover that cost in a number of ways. All of which require the user to be registered and validated.
The most common method of covering the cost of allowing you to sending free sms text is having you agree to receive advertisingmessages. They may also limit the number of messages you can send each day and/or require that both you and the intended recipientregister with their service.I'm of the opinion that all of these are acceptable terms.
Now back to my second question. Why? Why would anyone specifically look for a free SMS text service that doesn't require you toregister?
Am I missing something? I can think only one legitimate reason and that is that the individual simply doesn't want to receivemarketing messages often sent as a condition of providing the service.
That aside, I can only think of slightly sinister reasons for wanting a free sms service that doesn't require registration, andthey're all founded on anonymity. The ability to send a text message with no absolutely no record of the sender being kept, otherthan the IP address of the PC used to access the free sms service.
Planning on becoming an SMS text bully on the cheap? Plotting a terrorist attack? I've gone from one extreme to another there, butyou get the idea. No good can come of a free sms service that doesn't require registration.
Unless you can think of something I've missed or you are into alert automation through sms.

Tuesday, June 10, 2008

Canon Powershot A650 IS

I bought A CANON Powershot A650 as a gift for my dad last month. I tried out the camera for a full week. Then I thought Let me share the imfo I found out about that piece of art.

The Canon Powershot A650 IS is a 12 megapixel digital camera with a 6x optical zoom lens. It includes a number of more advanced features such as manual exposure controls and manual focusing. Image stabilisation has also been added to the Powershot A650 IS. One feature I really like is an LCD screen that you can pull out and twist round. This is great for awkward shooting positions and you can also move the screen away from the sun. This is also one of the few digital cameras with a viewfinder. To increase the flexibility of the lens you can buy a series of conversion lenses for the Powershot A650 IS.

Outdoor 1 (Medium Zoom): Found it hard to cope with the glare from the sun.Taken on a bright day there is still a degree of strength in the sun and the fact that the sun is a bit lower in the skycreates the problem. The Canon Powershot A650 IS does quite a good job of handling the glare without being perfect. This leads toa loss of detail where the sun strikes the target.
There is plenty of good news though. Sharpness levels are clearly better than I am used to seeing. Colours are more or less spoton. A common problem I am used to seeing is the blue lines taking on a strong purple tinge. The A650 IS is able tocompletely overcome this problem.

Outdoor 2 (No Zoom) :Top quality. With the lens zoomed all the way out many camera struggle to focus and also find itdifficult to correctly expose darker areas . The Powershot A650 IS has no such problems and manages to take one ofthe better wide angle shots I have seen.

Outdoor 3 (Maximum Zoom) :The sharpness and definition the Powershot A650 IS manages to produces when the lens is fully zoomed inare excellent. With other brands it often tends to lose sharpness towards the edges. That is not a problem with thiscamera and I am very impressed with the result. My only disappointment is that I would like to have seen a bit more colour in thesky.

Outdoor Portrait: I used the face recognition setting for all of my portrait photos. For the outdoor one I also set white balance tocloudy. The sharpness and detail in this photo are some way above average. I also like the skin tones and colours in general.

Indoor Portrait : setting works very well for me. The Powershot A650 IS manages to produce a very sharp photo. Despite using theflash, colours are not washed away and the lighting is good as well. The original photo showed a small amount of red eye. Thisgave me the chance to test out the red eye correction tool. It worked a treat and is also easy to use.

Lowlight :Rather than using flash for indoor portrait some people prefer the camera to make the most of the light that isavailable. Without using flash my test result has a pink tinge and is a bit darker than I would like to see. The lighting used isnot perfect, but I think in most indoor situations you are likely to be best off using flash.

Colours :Apart from when the zoom lens is fully extended there are no problems colour wise. The colours are punchy and wellbalanced. These are fairly close to my own personal ideal.

Macro :When it comes to clarity it is difficult to beat this range of Canon cameras for close up shots. The Powershot A650 ISproduces one of the very best.

ISO 400 :At higher ISO settings this camera shows an improvement over previous Canon cameras I have seen. In fact at ISO 400 thephoto is quite good with only low levels of noise showing.

ISO 1600 :At ISO 1600 there is a clear loss of detail as noise becomes a more major issue.

Overall :Overall these are an excellent set of photos. I have few complaints and the Canon Powershot range still manage to bejust about the best around.

Shutter Lag: I was able to take a single photo in 0.38 seconds and five photos in 12.34 seconds. Although not desperately slow it would be good to see faster times. With the flash on a single photo took 1.10 seconds and five photos took 19.66 seconds. Again I would like to have seen these times beaten.
Style: The Powershot A650 IS is built along the lines of a mini SLR camera. It has a grip on the front to hold it steady and in my view is a good choice for someone with larger hands. Dimensions: 112.1 x 67.8 x 56.2 mm
Weight: 300g
Batteries: Four AA batteries are required. Canon estimate that a standard set of alkaline batteries should be good for around 300 photos.
Memory cards: A 32mb SD card is supplied as standard. I was able to take seven photos before the memory card was full. The camera is also compatible with SDHC cards.I got a 1GB card free also.
Ease of use rating: Average. With all the features the camera has it is not as simple as a more basic point and shoot. Time spent getting to know the camera will be worth it in the longer term.
Points I like: Picture quality - viewfinder - flip out and twist LCD screen - red eye correction tool Where it could improve:Skies can lose colour when the lens is zoomed in.
Verdict: The Canon Powershot A650 IS is a very smart digital camera. It has a good selection of features and picture quality is among the best you will find from a consumer, compact digital camera. I have really struggled to come up with any negative points about the camera. You will also find the build quality of the camera a step up from most other Powershot models.

Friday, May 16, 2008

Find the Computer Name in a LAN from the IP Address

Finding the IP address assigned to a computer is very simple. All you have to do is open the command prompt and use the IPCONFIG command. If you want to find the IP address associated with a specific computer name, you can use the NBTSTAT command. The syntax for doing so is as follows:
What if you want to find the computer name associated with a specific IP address? The solution is simple. You can once again find the information you are looking for using the NBTSTAT command, only this time with a different switch. Instead of using -a, you will use -A and specify an IP address as shown below:
The results will tell you the computer name that is currently associated with the IP address you have specified.

Thursday, January 10, 2008

World Clock - international meeting co-ordinator

Need to make a call to someone far away? Need to arrange a videoconference, telephone- or net-based meeting with several people spread around the globe? This utility should help you find a convenient time, so that no one has to be up during the middle of the night.

Good utility for scheduling meetings spanning across multiple time zones

Type city name in the text box to get local time.

Try this 1 also :

Wednesday, January 9, 2008

Ever wanted to see the next webpage without clicking?

Cooliris Previews is a free browser add-on that lets you preview links and rich media without clicking or leaving your current page, so you can browse the web faster than ever. Simply mouseover a small Cooliris icon next to the link, and a preview window instantly appears with your content. No more clicking back and forth!
Once I started using this in my firefox, only then I realized its potential. Some of the benefits I think are very good-
1) This preview will go away once you remove your mouse from the preview.
2) If you simply go to the next link while watching one preview, it will show the next preview in the same window. This feature is extremely useful when I need to browse many DDTS listed in hotlist.
3) This is really fast enough to say that it saves my browsing time.
4) You can customize this preview window, this is really amazing stuff.
5) This is available for Internet Explorer also.

You can install this small plugin from
Welcome to the fast and efficient browsing.

thanks robins...

Enable remote services on the 2003 Server

To enable remote services on the 2003 Server:

1. Check if mstsc.exe is available on the Server in some system path.
2. Ensure Terminal Services Service is set to Automatic and started
2. My Computer ->properties -> Remote tab -> Check on "Enable remote desktop on this server"