Year twentyTwelve = new Year()

It is that time of the year when you sweep some stuff under the rug and decide that they are a thing of the past. It is also the time when you get the feeling that you need a brand new start. The new year is a time of renewing resolutions, forgiving yourself for your transgressions in the past year and facing the future with recharged batteries and optimism. You get the feeling that this time it will be different, although you are not sure how or why. I love the new year day.

For me, the past few new years also meant writing a blog post with new year resolutions. True to the maxim that history repeats itself, I haven’t completed most of my last year’s new year resolutions. But I did a few, and that is an improvement from the previous year where I did nothing. I had 4 items for 2011:

  1. Reduce my weight – totally failed in this one. I am still the same weight. To look at the bright side – at least that is better than gaining weight :)
  2. Reduce my cholesterol – partial success in this one. I reduced my bad cholesterol by 50 points. I am not where I wanted to be but I am happy that I could achieve at least some success on this.
  3. Study algorithms and data structures – this was a vague goal but I would consider that I have succeeded to some extend in this. Could I learn more ? Of course ! but I know way more than I did same time last year.
  4. Study discrete mathematics – total failure. Didn’t even try.

So basking in the glory of these partial successes and total failures I want to announce this year’s resolutions:

  1. Reduce my weight by 15 lbs.
  2. Bring my cholesterol to normal level.
  3. Increase my knowledge of algorithms and data structures. This will be like part 2 of my resolution of 2011. As part of this I will be taking the design and analysis online class from Stanford.
  4. Write at least 12 blog posts. One per month on average. This is the first one.
  5. Increase my volleyball skills. I have registered for a volleyball clinic with my friends and I hope that will help me improve my skills. Also reducing my weight should help me jump higher which will allow me to play better.

That is it, five items to get done in 2012.

Looking back at 2011, I think it was a good year for me.

I have always wanted to learn and work in C++ and to that end I changed teams at work. I am quite proud to say that I am quite comfortable with C++ now. I am by no means an expert but I am not afraid of C++ now.

On the personal side my wife and I visited quite a few places this year. In spring we visited some places in Washington and Oregon. In summer we went to Las Vegas and the Grand Canyon. In fall we toured Washington DC, New York city and Niagara. We had a chance to meet our old friend Ranjeesh and his family while we were at Washington DC and we had a great time together. After Christmas we spent a few days driving along the Oregon coastal area. I immensely enjoyed these trips and I am sure I will always have fond memories of those trips that we made.

We also shifted apartments from Redmond to Issaquah. Initially it was quite difficult and we missed Redmond terribly, but now we love Issaquah. We still miss Redmond but Issaquah is a very nice place to live and closer to work as well.

I guess that is it. Good bye 2011. Welcome 2012.

I wish you, my dear reader, a wonderful and joyous new year !

Coming Home

C++ was my first programming language. We were “taught” C++ in our first semester for our Engineering curriculum. Needless to say it was a nightmare. C++ is too big and too hard as a first programming language. At least it was for me. I didn’t own a computer at that time and I hadn’t really programmed before. So I really struggled in that class. For once I was happy that I didn’t get a seat for Computer Science for my undergraduate studies. The teacher was clueless and the students even more. There were a few students who had studied C++ or some other programming language before and they managed to help us with the assignments and stuff. I barely made the pass mark in the final exam. With all that struggle C++ left some lasting scars.

My professional life as a programmer (Programmer sounds a little lowly, maybe I should say Software Engineer) I started with Visual Basic and then moved to C#. Nine years passed and I was still scared of having to program in C++. But some time back I decided that I should conquer my fear of C++. I moved teams and joined a team that uses C++, COM, ATL and other stuff that scares the shit out of the ordinary programmers. I think I have got my feet wet now and you know what, I believe I can do it. I will share my learning experiences here. And you lucky fellow wayfarer, you will get to read it all – imagine all that reading pleasure – for free. When you read about adjustor thunks and single threaded apartments you might even get a small orgasm. Well, unless I find C++ too hard for me to handle and join another team that use Visual Basic.

A Learning Project

Binil and I have decided to study Computer Systems: A Programmer’s Perspective together. We are going to use the first edition because we both already own that and the 2nd edition is damn costly. Binil is in California and I am in Washington, so it is going to be a long distance combined study. We imagine this would take up the rest of this year, and even then it will be a challenging task (because we intend to do the exercises as well).

One of the challenge would be to maintain the interest in the project. I usually lose interest in any book after reading about 100 pages or so and this book is a little over 900 pages. We have decided that one should help the other maintain the momentum, motivation and interest. Another challenge is that (as I mentioned earlier) we are not in the same location. We decided we would communicate through email during the weekdays and have a telecon on the weekends. We should be able to fine tune the process as we go along. We also expect other challenges to show up as we go along but failing halfway would be better than not doing it at all (this pearl of wisdom may not apply to everything, so reader discretion advised).

For the first week, starting today, we will attempt to read the first chapter (there are no exercises in the first chapter).

P.S. One of the reasons for making this blog post is that making our commitments public will give us more motivation and inspiration to complete it or at least stick with it for a longer period than otherwise.

Starbucks Economics

I am not a big Starbucks fan but today afternoon I was a little bored and I thought I would go for a walk and have a coffee at Starbucks on the way. I had a Chai Tea Latte and including the tip the total came around to $4. I found it a little bit difficult to digest that a cup of tea can cost so much and that quite a lot of people doesn’t seem to mind. From where I come from (India), $4 will buy you about 40 cups of tea (yeah, I know it is not a fair comparison).

Starbucks is not the only place where I find that people are overpaying without complaint. Just drive by any wealthy neighborhood and we find shops and boutiques waiting for their wealthy preys. When I find myself in such circumstances (i.e. goods being sold at a price seemingly more than what it deserves) I usually get a little stressed and angry at the system – “Let us boycott this and teach them a lesson”. But when I thought more about it today (sitting at Starbucks and drinking their latte) I think I was being totally stupid. Nobody should lose any sleep over this.  Such a system can thrive only when a reasonable number of people are willing to buy from them. Otherwise they will have to close down. The simple fact that Starbucks is thriving means that many people think that the coffee (and the environment) is worth the price. Why somebody would pay $4 for coffee is something that I might never understand but I felt a lot more comfortable, a lot more Zen, when it dawned on me that the system is self balancing. No war is required !

P.S. I hate it that Starbucks have a “Small” size but they never advertise it on their menu, I think it is a sleazy tactic.

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.

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.

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.

Plans for 2010 Part 2

As I have posted here, I have made some resolutions for the new year. If nothing, just for the fun. I have to add two more things to the list.

  • Learning F# and
  • Reducing my weight.

I have been trying to learn F# for over a year now (maybe even a little more). I have all the F# books in print now as well as the PDF for the upcoming Manning MEAP – Functional Programming for the Real World. But they been collecting dust on my shelf. Functional programming requires a new mindset and hence requires a little more effort for me than studying a new imperative language. The first book that I bought is Expert F# which is definitely the wrong book for a beginner. It is written by Don Syme et.al. who is the primary designer of the language and is a little dense. It is a good book with a lot of information but it is just not good for somebody new to functional programming. Once you have grasped the main ideas behind functional programming, it is a good book to have. The second edition of this book is coming up soon.

The game changer for me was Programming F# by Chris Smith which, IMHO, is the best book out there today to learn F#. It is a surprisingly small book and is written with such clarity that even somebody with absolutely no exposure to functional programming languages would be able to learn from it. It makes the ideas accessible and has some brilliant examples to showcase some of the features of F#. It kind of feels like an easy-going friend, which is exactly what you need when exploring unfamiliar grounds. I was so impressed with the book that I wrote a review of the book on Amazon giving it 5 stars.

I am not entirely comfortable with F# yet. But I have my feet wet and I plan to make the plunge in 2010.

Another thing that I want to tackle in 2010 is my weight (and fat). I am 190 lbs now. I used to be something like 175 lbs 3 years ago when I came to USA. 15 lbs in 3 years ! I am definitely worried about this. So is my wife. I had taken diets a couple of times previously and had always managed to reduce weight. But it always came back with a vengeance. So I am not sure whether another diet is the solution. Being on a diet is one of the most worst experiences that I have been through. Food is always on your mind and you can’t eat it. You are constantly fighting the sugar craving (I was on a low-carb diet). It is hell.

Although I haven’t made any specific plans, I think I would concentrate more on exercise and less on diet this time. Let us see how it goes.

Happy Holidays !