December 30, 2004

Some Questions, Answered...

I had mentioned it before that I follow Michael Hunters blog pretty religiously. A while back I sent him a few questions about some issues which needed a higher opinion. He was pretty quick in getting back with a reply, which happened to be in form of a blog post.

Definitely worth a read. You could find the post at:

Updated 8th Jan 2005, another post to a question I had asked Michael.

Thanks Mike!!

Also, check out his blog titles. Always found them innovative.

December 25, 2004

Hats off to Dr. Fawcett

Its the season to make merry, enjoy, have fun, overeat... u name it! With this I thought let me veer off to a different topic and talk about one person who is been instrumental in introducing me to the area of Software Dev. & Testing. Altho' I used to be a lot into programming during my undergrad years in Bombay and had an internship which was programming oriented I got a real taste of what things are at Syracuse University under the guidance of Dr. Jim Fawcett. As a matter of fact I just got a mail from him today and had a few comments about my blog. And it struck me that I should have a post acknowledging the person who has a big hand in what I am today. I took a lot many courses under him and also had my Masters Project under his guidance.

Dr. Fawcett provides as many as 7 courses in Software Development at Syracuse University. One of the courses which I cherish is Software Design Studio (CSE 784). The Software Foundry Project we worked on will live in my heart forever. It was this project where I worked as a pure "Software Test Engineer" and since then there is been no looking back.

You could visit Dr. Fawcett's web page at:
And the first pic that you see, thats me sitting right in front of the PC next to Dr. Fawcett. It was during our Software Foundry Qualification Test. You could also check out the Foundry web page at:
One more thing which the courses indirectly gear you up for is how to go on without a few days of sleep. Oh well, its not that bad, but for someone like me who has various activities besides coursework.... I enjoyed those sleepless nights.

Dr. Fawcetts courses not only thought me C++, C# etc. but a good methodical approach to any given language. Recently at work, where I initially worked off Microsoft based stuff and slowly learnt up other languages (eg. SAS), the learning process was quick. As a matter of fact, my new job is more based off SAS and little off .net. The courses taught me an approach to design in a way I could have only dreamt of. And more so, tight deadlines, learning new things on the fly and incorporating them in your projects have given me a good sense of how to approach anything new.

Anyone who considers Syracuse for CE/CS has to pick up a few courses under Dr. Fawcett, else you have not had a taste of Syracuse. Hats off to Dr. Fawcett.

Now, a little bit of a pop-quiz for you likely testers. Directing you to Michael Howards blog (who I believe is the author of Writing Secure Code and also works at Microsoft). The blog is on the evils of strncat and strncpy. Try to answer it without looking at the answers page. Just to let you know, I didnt get some of them!

Also worth checking out is Sara Fords blog, with its entry on test case code and identifying false negatives

You guys have a Merry X-mas and dont over eat! Time for me to see Heat taking on the Lakers!! I hope Shaq and Kobe put up a good face off!

December 17, 2004

Catch 'Em Young!

At Syracuse, I was Teaching Assistant to Prof. Plumley. It was an engineering course to High School Students and we did a wide variety of things, from building rockets to physics, civil engineering, robotics, windfarm reports and lots of other crazy stuff. On the whole it was a fun course which the students and teachers, both enjoyed. I have continued this teaching habit from time to time. Myself and Prof. Plumley would work on most things together but the C/C++ programming part (lecturing the students) was left completely to me! Probably the most difficult time these students had during the course was learning C/C++ (and no, its not because I was solely incharge).

The course was an introduction to Engineering, so we touched most aspects of engineering and science. It gave the students a good idea which discipline of engineering they would like to get into. But finally I had students I could fit into 3 catagories. Those who end up in love with programming (and some actually read this blog), those who know programming is not their cup of tea, and those who are still confused.

An interesting incident I remember when I was intoducing the course to them. We were talking about algorithms, and I went about giving them a simple example. Their assignment for next week was to get me an algorithm which could add any two numbers between 0 and 99. I got the regular answers from all of them, except one. The one which stood out went about as:

Step 1: Pick a Calculator
Step 2: Enter a number between 0 to 99
Step 3: Press the "+" key
etc. etc.

I found this to be highly amazing. And this is where a good tester comes into play. He needs to fill in the boots of the regular users (most of the students above) and of the not so regular user (the one student who thought of a different manner in which the algorithm could be written). And those who are wondering, I did not penalise him for his approach, but just called him up to my office, told him I loved his approach and asked him if he could tell me another way to do it. He did have an answer to it and he got his high grades!

As we move ahead in the course, I ask the students to program the addition of 2 numbers using C/C++ and once they are done, students exchange programs and they are asked to test the others program. Finding bugs gets them bonus marks. And the student whose program is bugged, if he can tell me how to resolve it, he doesnt lose out on too many marks. Everyone found this exercise very entertaining and when I presented some test cases no one had thought about, it had them thinking.
All I did was give them some scent of the prey and those who were really hungry would hunt it down.

Testing is not only about sitting at the PC and banging away on code, trying to break it down. Its about spreading awareness on how to make the world a more secure place. Its not about improving only your testing skills but about improving the skills of your co-workers or for that of your own organization. Its about setting (and living) high standards that other people will look up to. And try to emulate.

Are you there yet? I feel I have just started!!

On a lighter note, a sweet answer for "Why do we test our code?" by one of the students was, "To improve our grade".

December 14, 2004

Put these on your car

Harry Robinson is Test Architect for Microsoft's Engineering Excellence Group. Here is an interesting article he wrote up:

Check it out!!

And sorry for not posting anything concrete in a while. Am working on a few articles and should get them up by the end of the year (hey, thats not too far!!)

December 03, 2004

Google v/s MSN

As of now, Google is the mother of all searches. Smart hires and difficult interviews to get through into Google (at least the US locations).

Microsoft is warming up on the search front and altho BillG admits that Google is miles ahead, promises Microsoft will produce a much better search engine few years down the line (maybe 5?). The problem is just like how almost all people expect Windows on their PC, most people expect Google in their search. Just like its impossible (almost) to change laymen from Windows to Unix/Linux, its going to be difficult to change people from Google to MSN Search. Create a better engine, but how do you change the mindsets of the people? Marketting? Maybe... but nothing beats good quality.

Anyways, just a funny thing I found out... I was just trying MSN Search and comparing it to Google Search. So I type up "Apoorva Joshi" (yeah yeah, I am in love with myself) in both.

Google gives me 37 hits. But there is no mention of this blog or my personal blog.

MSN gives me 6 hits, and it does count in (my personal blog).

Interesting! I never expected my blog to show up really. With Google it was out of question, since its spiders would find no links. But it makes me wonder, what is MSN using that it missed out on 32 links which Google caught up, but got through into this one link which Google did not. I am no search engine expert so sorry if this question sounds like an average dumbass one to you.

Irony of things, I have posted on many MSDN blogs about stuff and it shows up in Google, but not on MSN. Whereas blogger is a Google based software and it shows up on MSN and not Google. How about searching your own house before you look into your neighbours buddy?