Archive for the ‘General’ Category

Favourite Text Editor

This week’s poll results on CodeProject:

CodeProject Poll Results

Unbelievable !

BTW, my favourite text editors are Textpad & Emacs.


Read Full Post »

Most of the hits on my blog come from people searching about salary for jobs in the US. So finally, here is a list created by Salary.com from the data collected from the top 20 metros in US.

Read Full Post »


I started to write this post immediately after reading Dreaming In Code. The book forced me to think why developing software is hard and I decided I need to write a post about it.

Frankly, even after reading that book I couldn’t figure out what really went wrong with Chandler. Was it too much up-front design ? Was it going for a desktop application instead of trying to develop Chandler as a web app ? Was it lack of initial time pressure? Was it some internal politics not documented by the book? I cant say for sure.  After writing a little on this I saved it for future elaboration. I wanted to collect my thoughts and analyze the data which I got from the book. After several weeks I still don’t have any additional point worth writing about. So I just posted it.

Here you go :

 Why is software development hard ?

I think it is a tad unfair to think that Software Development is the only thing that we don’t know how to do. A lot of people, mostly management assholes, seem to get all fired up when talking about software development. Why aren’t we delivering on time? Why are there so many bugs? Why isn’t our zero defect program not working? Why isn’t the CMMI process(or insert your favorite software development process here) helping us do better? Why is all this so hard? Haven’t we doing software development for years? Why aren’t we learning from our mistakes?

After working in the software industry for 5 years, I really don’t know why software development isn’t getting any easier. Certainly the tools have improved. But the increasing complexity of applications, security issues, the development model in a flat world, an increasing amount of people choosing to be developers just because there is more money in it, etc might be reasons why there is so much bad software out there.

People have been raising kids since time immemorial. Still we haven’t figured out the best way to raise our kids. Should we let them be or should we discipline them as we wish ? Should we let them make the decisions or should we make it for them ? Should we teach them life’s lessons or should we let them learn it on their own? A similar argument can be made for the field of personal achievement. What makes a person successful? His genes ? His environment? Can the traits of a successful person be cultivated? Can I copy a successful person and be successful myself? Successful people come from well-to-do background and also from ghettos. There are hard workers and then there are take-it-easy types. There are short ones and tall ones. There are PhD s and high school drop outs. If we really think about it, there are no easy answers and no reliable patterns for this.

If we cant figure out the answers to one of life’s most common happening repeating itself over every generation from the beginning of human life, then why are we so frustrated about being unable to know how to develop useful, quality software on time?After all, software development is only a few decades old.

If you think that the above mentioned cases are not science or engineering related, I should say that the most critical parts of software development are not really Science but Art. Team co-ordination, Estimation and Design are examples.

Read Full Post »

I bought a Sansa Sandisk MP3 player just before my trip to India so that I could have a little more entertainment than staring out of the window and eating the healthy and tasty food served on the plane. I found the player to be pretty good and I had got a pretty good deal on it. There was a free subscription to Rhapsody To Go, worth $14.99/month, for 30 days. This was a pleasant surprise and I immediately used the coupon to start an account with Rhapsody. They do have a brilliant collection of mp3 and worked flawlessly with Sandisk.

On my return from India, I decided to check out their collection. I like to listen to music at work, so I decided to try Rhapsody at work. Unfortunately they dont support Windows 2003 and I have Windows 2003 on my office machine. I did some search on Google and found that they dont support Windows 2003 because some Digital Copyright management components are not available on Windows 2003. Urrgh !

So I decided to cancel the Rhapsody account. I went to their website and clicked the “Cancel Account” link, which took me to a page where it said I should call a particular number to cancel the account. I hate it when they do this. Their aim is to try and do some brainwashing and persuade the user to continue the subscription. Why cant I cancel my account when I want it to? I find it very irritating when the Customer Service Rep tries to ignore your pleas to cancel the account and goes “But Sir, this is a very good option. You should not cancel it. Please try it got a couple of months before you cancel the subscription…. Pleeaaasee…”.

I couldnt find any other option to cancel the subscription, so I called the number and waited. I was put on hold saying that “we are experiencing unusually high call volumes currently. Please call at a later time or continue to hold”, followed by the crap, “Your call is very important to us…”. I think their strategy is to put people on hold until they quit and decide that keeping the account and paying $14.99/month would be less painful than trying to cancel the account.

Having nothing else to do, I started to write this blog. I am still on hold 🙂

Update :

I was put on hold for approximately 45 minutes before I was able to talk to a Customer Service Rep who did the canceling for me, but not before trying all tactics to make me continue the subscription.

Read Full Post »

Justin Rudd works at Amazon. He has written about his interviews at Microsoft and Amazon on his blog.  Pretty interesting read.

Read Full Post »

As you can see from here, I am reading quite a few books lately. I am not a speed reader and so I dont get to read all the books that I want to. The reading list has changed after I wrote this page – i finished a couple, moved some to future reading list, stopped some in the middle and added quite a few to the list. I hope to update the list to reflect the changes soon.

I just completed reading a book called “The Best Software Writings I – Selected and Introduced by Joel Spolsky”. As the name implies, it is a collection of articles relating to software selected by celebrity blogger Joel Spolsky from submissions by his blog readers. He gives a brief introduction to the author and the topic of the article at the beginning of each chapter. Sometimes the introduction is better than the actual essay. A few of the articles are excellent, some are good and a few are mediocre. The quality forms the Bell curve of standard normal distribution. Nobody can get it all right. Not even Joel. All except one of the articles in the book are available online. So I intend to post the links here so that you can read them for free (sorry Joel).

  1. Style Is Substance by Ken Arnold
  2. Award For The Silliest User Interface: Windows Search by Leon Bambrick
  3. The Pitfalls Of Outsourcing Programmers – Why Some Software Companies Confuse The Box With The Chocolates by Michael Bean
  4. Excel As A Database by Rory Blyth
  5. ICSOC04 Talk by Adam Bosworth
  6. Autistic Social Software by danah boyd
  7. Why Not Just Block the Apps That Rely on Undocumented Behaviour ? by Raymond Chen
  8. Kicking the Llama by Kevin Cheng and Tom Chi
  9. Save Canada’s Internet from WIPO by Cory Doctorow
  10. EA: The Human Story by ea_spouse
  11. Strong Typing vs. Strong Testing by Bruce Eckel
  12. Processing Processing by Paul Ford
  13. Great Hackers by Paul Graham
  14. The Location Field is the New Command Line by John Gruber
  15. Starbucks Does Not Use Two-Phase Commit by Gregor Hohpe
  16. Passion by Ron Jeffries
  17. C++ – The Forgotten Trojan Horse by Eric Johnson
  18. How Many Microsoft Employees Does It Take to Change a Lightbulb? by Eric Lippert
  19. What to Do When You’re Screwed by Michael “Rands” Lopp
  20. Larry’s Rules of Software Engineering #2 by Larry Osterman
  21. Team Compensation by Mary Poppendieck [Not Available Online]
  22. Mac Word 6.0 by Rick Schaut
  23. A Group Is Its Own Worst Enemy by Clay Shirky
  24. Group as User: Flaming and the Design of Social Software by Clay Shirky
  25. Closing the Gap, Part 1 by Eric Sink
  26. Closing the Gap, Part 2 by Eric Sink
  27. Hazards of Hiring by Eric Sink
  28. PowerPoint Remix by Aaron Swartz
  29. A Quick (and hopefully Painless) Ride Through Ruby (with Cartoon Foxes) by why the lucky stiff

I should say Joel saved the best for the last. All in all, this was an interesting read. I would surely buy Part 2 if and when it comes out.

Currently I am reading Dreaming in Code by Scott Rosenberg which is about the development of Chandler.

Read Full Post »

Here is the story of a guy who worked as an intern at Microsoft and Google and is now working at Yahoo full-time. He describes his experience at the 3 companies and compares the work atmosphere.

Read Full Post »

Older Posts »