Archive for June, 2005

Software Economics

Thursday, June 30th, 2005

Traditional Economics
You have two cows.
You sell one and buy a bull.
Your herd multiplies and the economy grows.
You retire on the income.

Software Economics
Client has 2 cows and you need to milk them

1. First prepare a document when to milk them (Project kick off)

2. Prepare a document how long you have to milk them (Project plan)

3. Then prepare how to milk them (Design)

4. Then prepare what other accessories are needed to milk them (Framework)

5. Then prepare a 2 dummy cows (sort of toy cows) and show to client the way in which u will milk them (UI Mockups & POC)

6. If client is not satisfied then redo from step 2

7. You actually start milking them and find that there are few problem with accessories. (Change framework)

8. Redo step 4

9. At last milk them and send it to onsite. (Coding over)

10. Make sure that cow milks properly (Testing)

11. Onsite reports that it is not milking there.

12. You break your head and find that onsite is trying to milk from bulls

13. At last onsite milk them and send to client (Testing)

14. Client says the quality of milk is not good. (User Acceptance Test)

15. Offsite then slogs and improves the quality of milk

16. Now the client says that the quality is good but its milking at slow rate (performance issue)

17. Again you slog and send it with good performance.

18. Client is happy???

By this time both the cows aged and can’t milk. (The software got old. Get ready for next release! Repeat from step 1!!!)

Super PJ…

Wednesday, June 29th, 2005

Once upon a time, in a village, there came a lion & started troubling the villagers. Getting frustrated because of the lion, the people decided to take
some action. They decided that after 6:00 o’clock in the evening everybody will return home and lock the doors from inside. The trick worked. The lion came and found nothing. Next day also it came and saw the same thing everywhere! It happened for 2-3 nights. Then finally one day, the frustrated lion came and locked all the doors from outside and went back into the forest.

The title of the story?

Sherlock Homes

Great Quotes

Wednesday, June 29th, 2005

Three of man’s greatest quotes…

‘ - Single Quote
” - Double Quote
` - Back Quote

Su|Do|Ku

Saturday, June 25th, 2005

Sudoku never really caught my interest until today morning, when the power went out and I had no other means of entertainment. I picked up today’s paper and managed to solve the puzzle. Intrigued, I went to the paper heap and dug out the older papers and began solving all the Sudoku puzzles.

That’s when it struck me, why not create a software to solve these puzzles? Sure, there are millions of sudoku puzzle solvers out on the net already, but the programming challenge that it provided was too great to pass up. By the time the power came back, I had a basic layout in mind for the program.

Now I have completed the program, which is capable of solving puzzles of levels 2 to 5, that is, puzzles with 2×2 boxes (easiest) upto 5×5 boxes (hardest) by determing which number can go to each cell. I managed to verify the output of some of the puzzles with what I had solved by hand. It still can’t solve those very hard puzzles yet, and I’m looking for a way to implement that section.

Engineers

Thursday, June 23rd, 2005

One day, a Mechanical Engineer, Electrical Engineer, Chemical Engineer and Computer Engineer were driving down the street in the same car. The car broke down.

The Mechanical Engineer said, “I think a rod broke. We can check the rods.”

The Chemical Engineer said, “The way it sputtered at the end, I don’t think it’s getting gas. We shall check the gas tank.”

The Electrical Engineer said, “I think there was a spark and something is wrong with the electrical system. We shall check the circuitry.”

All three turned to the computer engineer and said, “What do you think?”

The Computer Engineer said, “We shall get out of the car and get in again!”

Turing Test

Saturday, June 18th, 2005

Guru had complained early this week that he was receiving a lot of comment spam on his Movable Type installation. It seems that a lot of these popular blog software are susceptible to it. On Guru’s article, Sathish had suggested a Turing test, which most bots are not capable of solving, but a human could in a flash. This prompted me to create my own Turing test as suggested by Sat and it is up here for testing. Folks, the ball is in your court now…

PS. I don’t intend to add this into my commenting system. Not just yet anyway…

Mom Online…

Friday, June 17th, 2005

My mother has finally jumped onto the blogging bandwagon. Visit her site at http://shanthima.blogspot.com/

Many Thanks

Tuesday, June 14th, 2005

Many thanks to Ramya, who’s great article on bloggers came in the Sunday magazine of The Hindu.

The presence of my site URL as an active link in the story not only boosts traffic to my site, but also exposes the shortcomings of Yakkerati 0.1 beta. Look out… 0.2beta coming soon…

Update: This also marks the presence of the 8000th visitor to this blog. Thank you all…

Bangalore Traffic

Friday, June 10th, 2005

I’m beginning to see Chennai in a new light now. After two days of Bangalore and it’s crazy traffic, I’m ready to come back home for some rest and relaxation. But not before visiting Madhu’s restaurant

Mulbagal

Thursday, June 9th, 2005

The Hanuman temple in Mulbagal (locally called Mulabagilu) is a standard visit whenever we drive from Chennai to Bangalore and back. Sadly, the temple’s maintenance isn’t quite what I expected. Apart from the main two shrines, which are amazingly beautiful, the rest of the temple is pretty much in stark contrast. I went around for the usual pradhakshanam and was pretty stunned. Overgrown weeds, people walking around with slippers inside the premises, dirty footpaths, and even a guy peeing inside the compound. Sad, isn’t it?

Unlimited SMS

Wednesday, June 8th, 2005

This is one record that our Harish would like to beat, but won’t, atleast not now…

Off to Bangalore…

Wednesday, June 8th, 2005

I’m leaving early tomorrow morning for Bangalore and should be back on Sunday evening. I hope to meet quite a few new faces in the Bangalore Blogger Circle.

F e r r a r i & Vikkki, you know what to do…

QA C Source Code Analyzer

Saturday, June 4th, 2005

WARNING: This is a technical post…

I don’t know how many of you would have heard of the (in?)famous QAC software program that analyzes your C code for quality. I had the privilege of running it a couple of days ago on a few of the driver modules and among the errors thrown up were a few gems.

  1. C++ Style comments not allowed: OK, I’ll accept that. Some people say that it is preferable to use the standard block comments (/* … */) instead of the single line comments (// …) and I’m not about to counter that.
  2. Conversion between a pointer and integer is implementation defined: This particular error came up more than a few hundred times. The hardware I use contains configuration registers that are memory mapped and so I have to use a pointer to address them. QAC starts complaining… :(
  3. Conditions to be made explicit: In C (or C++), any expression evaluating to a non-zero quantity is treated as true in a condition. Similiarly, a zero value is treated as false. We had made use of this feature more than once, and once again, QAC began to complain…
  4. Every condition should have a block: (OK, this was not the actual text.) What this actually meant was that if I had a single statement to be executed if a particular condition was valid, I still had to enclose it with the curly braces. I’m actually for this kind of coding practice as it helps to trap quite a number of bugs. Where this really threw rocks at me was on a line like this: while (<condition>);. We had a few lines where the software waits for a particular condition to happen (like a register bit getting set or reset). What QAC expected was more of the following:

    while (<condition>)
    {
        ;
    }

This actually sounds crazy to me. I believe that there is no point in putting a null statement within curly braces while waiting. I also think that this kind of a statement would actually hinder the readability.

Now don’t get me wrong. I think QAC is a great tool for quality checks, but then again, some of those warnings can just be ignored…