The battle to lose Stuff

As I mentioned in a previous post, I am trying to minimize the “stuff” in my life. It was something that I have been wanting to do for a little while now, but the decision to go ahead with it came after reading The Power of Less , by Leo Babauta, the second time. The first time I read it, I found the concept attractive and in sync with my thoughts. But I got distracted and I forgot about it. I came across it after later while I was browsing the library and this time I decided to atleast give it a try. As the first step I gave away quite a few of my books. I also sold some on Amazon. It wasn’t much compared to what I had but still it was a good start. Then I gave away many clothes and shoes with I don’t use anymore. It felt good on two levels – the joy of giving as well as being able to get my foot in the door of a new way of living.

I am ashamed to say that I made a splash starting from last Friday. I bought 2 new books from Borders on Friday. I had a copy of one of them from the library but I still wanted to have my own copy. I rationalized that this was a book that requires multiple readings and that it was a very good book and worth owning. I am still not sure whether this a good move. The 2nd book was one that I really wanted to get but considering my current situation I don’t think I would be able to get to reading that book for the next 6 months. Maybe I should have waited to see whether I would actually get time to read it.

On Sunday we went to Seattle Premium Outlet Mall in Tulalip and I bought quite a few new clothes. The primary reason we went to the mall was to get a pair of sunglasses for Rija and maybe some new clothes for her. When we were done, I had bought more clothes than Rija and also a pair of shoes. I have lots of clothes, I didn’t need to buy any new clothes but I gave in to the shopper’s impulse and as a result I have increased my Stuff. I am not very proud of this incident.

On Monday I was browsing through Amazon (I should really stop browsing through Amazon) and I stumbled on Set Theory and Continuum Problem by Raymond Smullyan. I thought this would a good book to buy as I had read other books by Smullyan and I have great respect for him. Also Binil had convinced me that learning some maths is good for anybody. The book was not expensive so I didn’t give much thought about it and decided to go ahead and buy the book. While ordering the book, Amazon showed me other books by Smullyan and I fell for end. All said and done I ordered 7 books. 7 books ! I am not sure whether I would ever get to read them, but I had to order it. Some part of me just craved for the transient high of obtaining new Stuff.

To top all this, yesterday we went to Walmart to get some medicine for Rija and I ended up with 3 new shirts ! How bad am I ?

Actually the books that I bought are very good and it will surely be fun and beneficial if I ever read them. The clothes that I bought are good and I look forward to wearing them. But did I need these ? I don’t think so.  I could have bought the books when I have the time to read them and I could have bought the clothes when I have worn out my existing clothes or given them to the needy.

I have to be more aware of my thoughts, emotions and impulses. I should avoid the temptations if I can’t resist them. My first steps faltered, but I am not giving up. I am going to try my best to minimize the Stuff in my life, instead I am looking forward to experiencing more of life’s little pleasures such as spending more time with friends and family, going for walks, playing games, long drives with my wife, visiting places, etc. In general enjoying the experience of living rather than that of having.

The Checklist Manifesto – Book Review

This is a review for The Checklist Manifesto: How To Get Things Right (Hardcover) by Atul Gawande.

Dr.Atul Gawande is one amazing dude. Let us deviate for a moment to see what his biography on the book sleeve says:

Atul Gawande is the author of The Checklist Manifesto, Better and Complications. He is also a MacArthur Fellow, a general surgeon at the Brigham and Women’s Hospital in Boston, a staff writer for The New Yorker, and an assistant professor at Harvard Medical School and the Harvard School of Public Health, he also leads the World Health Organization’s Safe Surgery Saves Lives program.

How can one person do all that ? He must be The Dude.

I haven’t read Better and Complications but both books have good reviews on Amazon. However, The Checklist Manifesto falls short of expectations set by the author’s previous achievements. The reason for this is that the book’s message is really thin – checklists are good, they can even save lives. The book is full of anecdotes from the author’s life. It is fun to read those anecdotes but in the back of my mind I kept looking for the author’s insight into creating a good checklist or a sample of one he made or any other kind of advice. But the book just kept on making cases to prove that having a checklist is good and they work (especially in the context of medical profession).

One of the strength of the book is the excellent writing style of the author.

Tangentially this book is an eye opener regarding the working of the surgery room and emergency room in hospitals. Things could go wrong in hundreds of ways. Dr.Atul sums it up very well in his book with this:

we (medical care professionals) are as apt to harm as we are to heal

I also respect him in writing about a surgery he did when the patient almost died because of his “fault”. It requires great strength to admit one’s mistake.

Bottom line is that this book is worth reading for people in medical profession (although checklists could useful in a lot of other situations, this book is probably most useful for medical professionals). I would rate the book 3 out of 5 and would recommend reading Better and Complications.

Advanced .NET Debugging – Book Review

This review is for: Advanced .NET Debugging (Paperback) by Mario Hewardt.

If you program for the .NET framework you need this book. It helps to take your debugging skills (as well as understanding of the platform) to the next level. How many times in the past have we tried to nail down a particularly tricky bug, and after hours (or days) of pulling at your hair, given up in despair and doubted our worth as a good programmer ? Well, if you have trodden down that path, then I am sure this book will help. I wish to warn you that this is not a book for a beginner nor for the faint-hearted. It will show you the tools, it will show you the way, but you will have to walk that path which begins by buying this book and reading it.

If you already have Advanced Windows Debugging by the same author and have read it, then you should be in good shape to tackle this one. But if you haven’t, fear not, you can still make it.

The book is soft-bound, neatly printed in about 500 pages and contains 10 chapters divided into 3 parts. It doesn’t weight much and can be easily carried around.

Part 1 consists of 3 chapters. In the first chapter the reader is an introduction to the tools. The 2nd chapter – CLR fundamentals – contrary to its name, is not a high level overview for the newbie. Instead it is a wealth of information for all .NET programmers. No matter how senior a programmer you are, I will bet that you will still learn something (probably a lot) from this chapter. The 3rd chapter – Basic Debugging Tasks – is a bit lengthy (I don’t mean that in a bad way) at about 100 pages, helps you get acquainted with the tools and commands.

Part 2 consists of 4 chapters – Assembly Loader, Managed Heap and Garbage Collection, Synchronization and Interoperability. As you might guess from the names, it is pretty advanced. It is hard, but you will emerge with a much better and clearer understanding of the platform. The chapter on interoperability might not be useful for everybody, but for those who have felt the pain of COM interop or PInvoke this chapter pays for the price of the book many times over.

Part 3 consists of the advanced-advanced topics. There is a chapter named Postmortem debugging which includes debugging problems when you have no access to the live machine and you cannot reproduce the problem locally. It consists of taking a dump file and analyzing it off-site. Not an everyday topic for most programmers, but you will surely be thankful for this chapter if you ever come across it. It also explains how the Windows error reporting works. The second last chapter is called PowerTools which includes discussion of PowerDbg which allows you to control native debuggers using powershell (how cool is that !). There is also information on Visual Studio integration with SOS and on CLR Profiler. The last chapter, a small one at about 15 pages, is on .NET 4.0 (based on Beta 1 release though).

The writing style is very clear and precise. There are plenty of samples and some good diagrams to help your understand the concepts better (i loved them, a picture is worth a thousand words). In short, this is book worth purchasing and worth reading and worth reading again (which is what I am going to do).

There is a support website for the book here.

New Books

I got a 40% off coupon from Borders so I decided to indulge myself a bit. Unfortunately the coupon could not be used on Borders.com which meant I had only a limited choice that the stores offered. The Redmond store is a little better than other Borders stores I have been to, but still the choice of technical books is still very limited. When I get a 40% off coupon I usually try to get the higher priced books but most of the time they are not available in stores. They usually allow only one coupon per customer but it is not tracked in the system it so you can come back later when another store clerk is at the counter or even the next day (if the coupon is valid for the next day) or you can go to another store and use the same coupon (all customers get the same coupon). I took my wife with me and she has a Borders membership card too so I managed to get two books at 40% off:

The Art of Strategy: A Game Theorist’s Guide to Success in Business and Life

and

Metaprogramming Ruby

I have been reading The Art of Strategy from a copy I borrowed from library, but I loved the book so much that I thought I should have a copy of my own (I know, it goes against the philosophy of minimalism that I am trying to practice). I decided to buy the book anyway because it is a book that I will have to read multiple times. I believe it is a book worth buying. It is a book on Game Theory, a branch of applied maths, and is quite an interesting read. I have not completed reading it and when I do, I intend to post a review here. But I recommend you get a copy for yourself and start reading immediately. Borrow a copy from the library if you are not sure whether Game Theory will hold your interest.

I love Ruby. It is the programming language for programmers with aesthetic sense. The name couldn’t be more apt because you can write “beautiful code” in Ruby. But that is not Ruby’s only strength. One of the biggest selling point of Ruby is its Metaprogramming capabilities. I have played a little with Ruby and I have a few Ruby books on my shelf but I haven’t taken the effort to move my Ruby knowledge to the next level. Becoming a master in any programming language involves understanding its underlying philosophy and its strengths. Moreover it should be useful to learn metaprogramming concepts even though I may never get to program extensively in Ruby. The book has good reviews on Amazon and it looked very readable when I flipped through it in the book store. If I don’t find it very useful I can return it within 30 days – one of the best things about America :)

I have borrowed quite a few books from library recently and I think most of them are very good. More details and reviews of those books in a future post.

Ladies and Gentlemen, this is *the* F# book !

Programming F# Front Cover

It has been a long time since I got excited about a programming book as much as I did with Programming F#. I have all the books on F# available in the market today. But I should say that this is the best book for learning F# if you have no experience with functional programming. I am not sure how this book would be for a person who is totally new to programming (chances are they would find this ahead of their curve). But for a person who has good experience with imperative programming this book would get you up and running with F# in specific and functional programming in general.

The book by Don Syme Expert F# (Expert’s Voice in .Net) (who invented F#) is also good but not as good as Programming F# for new functional programmers. But once you have read this book, Don Syme’s book might be a good follow up.

The strongest point of this book is the clarity with which concepts are explained and the choice of good examples to explain a concept. They are concise and to the point. It also made the book surprisingly small (at a little less than 400 pages). But no worries, everything that you need to get a firm footing in F# is in here.

This is truly a 5 star book. Highly recommended.

The table of contents:
Part I. Multiparadigm Programming

Chapter 1. Introduction to F#
Chapter 2. Fundamentals
Chapter 3. Functional Programming
Chapter 4. Imperative Programming
Chapter 5. Object-Oriented Programming
Chapter 6. .NET Programming
Chapter 7. Applied Functional Programming
Chapter 8. Applied Object-Oriented Programming

Part II. Programming F#

Chapter 9. Scripting
Chapter 10. Computation Expressions
Chapter 11. Asynchronous and Parallel Programming
Chapter 12. Reflection
Chapter 13. Quotations
Appendix A. Overview of .NET Libraries
Appendix B. F# Interop

Salary increase for 2010 in India is the highest in Asia Pacific

Silicon India reports that India has the highest increase in salary for 2010 in the Asia Pacific region. It was 6.6% in 2009 and now it increased to 10.6%. These kind of hikes are unheard of in the USA where 4-5% are considered good hikes and the normal range is 2-3%. And I don’t think many people got any hike at all in 2009 (except maybe those got a promotion). In fact many people might have got a salary reduction or maybe lost their job.

When reading the comments to the Silicon India article, it becomes clear that people are not satisfied with the 10% hike. I am getting the feeling that salaries in India will increase to a level where the competitive advantage in terms of cost will be lost and the outsourcing might move on to greener pastures.

Filling in the blanks

Towards the end of the last year I had bragged about some new year resolutions. One of them was that I would be posting more frequently here. Well it has been about 2.5 months since my last post. Not good going. The status of the rest of the resolutions are very similar, if not worse. I am taking solace in that it seems to be a universal problem :-)

One of the reasons for me not being able to keep with any of things that I wanted to do was my illness. I have been having a series of throat infections starting from mid December of last year. After the first infection subsided I got an even worse condition known as peritonsillar abscess (PTA), which is much rare compared to tonsillitis but far more painful and serious. The condition consists of infection on the backside of the tonsils which forms an abscess which is filled with puss. If not treated, there is a chance that it might even lead to death. I was put on antibiotics which did not help. So the doctor gave me steroids and stronger antibiotics which seemed to work. But I got another infection as soon as the current infection subsided. This time even antibiotics and steroids weren’t helping. So the doctor had to make a small cut into the throat and drain the puss. It was extremely painful and I almost fainted. I think it was the incompetence of the doctor that caused most of the pain. To top it all, when I was standing dazed from all the pain and blood oozing down my mouth, he was trying to persuade me to do a tonsillectomy as soon as possible. I wanted to kick his balls so hard that he would spit them out.

I decided to switch doctors and I really have to thank God that I found a very good doctor (Dr. Sunil Ummat from Northwest Face in Kirkland). He had to do another draining but this time the it was almost painless. This is one of the times where I recognized the importance of seeing a good doctor, I swear that the difference is like night and day. The problem with peritonsillar abscess is that once you get a PTA, the structure of your tonsils have forever changed – they are never the same again. There is a good chance that you can another abscess and there is no way to prevent it other than staying healthy and making sure you don’t get a throat infection. That is like trying to prevent a common cold. You can only do so much. Many doctors suggest a wait and see approach while others recommend a tonsillectomy. Usually it is up to the patient to make the decision and Dr.Ummat did the same. I was not sure. I did not want to go through a PTA again but I was quite afraid of doing a surgery. Dr. Ummat was very patient and explained all the pro and cons to me. After a couple of weeks of deliberation I decided to do the tonsillectomy. I had it done last thursday. Today is the 8th day after the surgery and I am doing pretty well now. I haven’t fully recovered yet, but the pain is mostly gone (I am still on pain medication though) and I have started eating soft foods. Cant talk much either. One of the (positive) side effects of the surgery is that I lost 14 pounds in less than a week :-)

I am not making any more promises now about frequent blogging and reading books and learning technologies. I am going to take life as it comes because if there is one thing that I have learned so far from 31 years of life it is that you can’t really expect life to go the way you want it to (that is not to say that I am not in a bad position today, but I have had so many deviations from where I expected to go in life). I am starting the see the value of the Zen approach of going with the flow and taking it easy and enjoying life while I can.

These thought are not caused by the bitter experience of my recent illness or because I believe I have achieved enlightenment but these are thoughts that have been shaping up for several years now. I have been reading a book called Power of Less recently and I very much like the idea of minimalism. I have hundreds of books. More than I can read in my lifetime, but I just keep on buying more. Now I think what I love is not the books, but the experience of buying them. Just the way women love to shop for clothes. I used to scour over Amazon for several hours a day for books that I don’t have, all the while having on my shelf several hundred books that are in the “must read” category. Now that I have identified a problem, I have decided to fix it buy not buying more books but by reading the books that I already bought. I think that having a few good things and enjoying them is far better than having lots of good things but never being able to enjoy them. I have decided to experience less number of things but to experience each more deeply. Let us see how it goes.