Links to .NET books

This is a recommended list of books for those programmers working on technologies related to Microsoft .NET platform.

I will be adding the .NET books as well as those related interview questions as a handy reference for me and friends. The list will be updated on a regular basis. Feel free to comment if you know of a good book that is not present in the list.

C# complete Reference 3.0

C# complete Reference 4.0 (new version)

C# Pocket reference – a short and handy reference guide

ASP.NET MVC Interview questions

ASP.NET MVC Interview Questions and Answers

Douglas Crockford’s book “JavaScript: The Good Parts” is a must read for a developer working on front-end.

JavaScript in 10 mins

More free programming books at

Happy Independence Day

On the eve of 67th independence day, I wish you all a happy Independence day. But lets not stop by just wishing each other.
Lets a go a step further and do a bit of our duty to truly get freedom for what each one ought to do.

So, lets
1) vote candidates who will make India a better place to live.
2) elect officials who will minimize government interference in our lives
3) be aware of our rights and duties (at least to some extent),_Directive_Principles_and_Fundamental_Duties_of_India

What do you think? Feel free to add more in the comments.

Concatenate multiple rows for a column using LINQ

Note: I wrote this post after I encountered a programming problem.

Lets say I have 4 columns in DB2 table called “Table1”-

Id (int)

Code (varchar)

SequenceNumber (int)

Message (varchar)

Id, Code and SequenceNumber act as a unique key for this table.

Data is stored in this table using following condition:

For each Id and Code, if message size exceeds column MAX size,

then the message is split and stored in multiple rows using SequenceNumber in incremental form.


Consider this table has following data:

Id Code SequenceNumber Message
1 ABC 1 test1
1 ABC 2 test2
2 XYZ 1 message1
2 XYZ 2 message2
3 PQR 1 hello

The requirement is to concatenate messages for all sequence numbers in Message column, for each row which has unique combination of {Id and Code}.

So my required table should have following columns-



Message (concatenated messages)

Id Code Message
1 ABC test1 test2
2 XYZ message1 message2
3 PQR hello

Please note that SQL CONCAT function concatenates two strings or two column values. Here we want to concatenate column values across rows.

I am not sure if this requirement can be programmed using SQL query. We had this exact requirement in our project and I used LINQ to implement it.

Here are the steps I used in VB.NET (it being the programming language used in our project)-

1) Connect to DB2

2) Fetch all data from Table1 and store it in DataTable called “dt”. This DataTable has 4 columns – Id, Code, SequenceNumber and Message.

3) Write LINQ query to concatenate data as per the requirement. Here is the VB.NET code

Dim query = From r In dt _

Order By r.Field(Of Short)(“SequenceNumber”) Ascending _

Group r By ID = r.Field(Of String)(“Id”), _

Code = r.Field(Of String)(“Code”) _

Into g = Group _

Select New With { _

Key ID, Code, _

.MESSAGE = String.Join(“”, g.Select(Function(a) a.Field(Of String)(“Message”)).ToArray())}

Note that grouping is done on columns “Id” and “Code” and rows are ordered in ascending order for column “SequenceNumber”.

I used String.Join to concatenate the values in Message column.

4) “query” object is an IEnumerable collection. I can iterate over it using “for each” loop and extract the data or perform further processing.

I would be delighted to see a better/improved approach to implement this requirement.

Alone together

I prefer talking face to face rather than texting and chatting. I remember discussing about over-selves and our surroundings and any other topic that made sense at that point of time during school and college days. These discussions were mostly with friends rather than family members as family thought that I was too young to participate in their discussions.

As time passes, face to face discussions are being overtaken emails, texting and chatting. and we are hooked to it! Of course there could be reasons for not being in person at that point of time or place, but are we losing the human touch?

As we expect more from technology, do we expect less from each other? Sherry Turkle studies how our devices and online personas are redefining human connection and communication and (in this video) asks us to think deeply about the new kinds of connection we want to have.

New Year resolutions and other upadates

First of all, a very happy new year to all the readers. I know its been 19 days post-New year, to be exactly. I have been keeping busy lately, especially from the start of the year! I want to take this opportunity to give you some updates (yes, yes, manager’s style of starting a meeting ;))

New Year resolution

The tradition of new year resolutions started as a moral favor- mostly to be good to others. In the course of time, these moral intentions were replaced by prayers and fasting. And now they are replaced by TODO list!

Every year I used to make New Year resolutions, only to find them being forgotten within some days. So this time I decided not to make any. Yes you read it rightJ. As Akshar has said, only thing that changes in the new year is the CALENDER; nothing else.

I am hoping to have a fantastic year ahead, both personally and professionally. Instead of resolutions, I am taking concrete steps to contribute to bridge the digital divide, work on tutoring and start working on a product/service.

Spoken Tutorial

This is an initiative by MHRD to pass on the knowledge of technology and free and open source software (FOSS) through the website to the masses that do not have the access to learn any software. This site provides videos and notes on FOSS in Indian regional languages.

I have actively started contributing to this project. I would urge you to participate/contribute in this effort to take software education to the masses and to bridge the digital divide!


I love tutoring/teaching. I am not sure how, but that’s something in my blood. I have been helping my brother, sister, cousins and neighbor’s kids in their homework. It might sound very easy but its easier said than done, when compared to giving advice to others. Just ask a parent and you would know!

During college days, I wish I knew how to prepare myself before entering the industry. I want to help the current students to make them aware of the industry, be prepared and mould themselves accordingly. I hope this would bridge the industry-academia divide to some extent.

To practice myself, I have started technology sessions for team members. Soon I would be starting giving sessions on technology and programming to students; I am sure this will help the students immensely while starting their career.

New Product/Service

These days I have been thinking, discussing with friends and colleagues, brainstorming about creating a product or a service. Being in the IT industry, my thinking (and I am extrapolating this from my experience, that others in the industry too are thinking this way) has been restricted to creating only software products/services. But there are many possibilities/opportunities out there that are yet to be tapped. If you are thinking of creating a start-up and are want to have some ideas, do visit these articles written by Paul-

I would like to hear about your ideas for new products/services/startup and engage, if possible.

I am currently accessing a possibility of creating a software product/service and its in the very early stages. More will follow as the idea materializes.

Swami Vivekananda

12th January marked the 150th birth anniversary of a person who dared to say “Give me 100 youths and I shall transform India”. Despite many odds and poverty, he visited America in 1893 to participate in the Chicago Parliament and got a standing ovation there.

I revere Swami Vivekananda, whose life and works remains an inspiration to me and the many.


I will be going back to Pune within weeks. It was a good time spent here in the Maximum City.

QnA site for patents

You must have heard of the recent patent infringement case between Apple and Samsung, which Apple eventually won. From the recent developments related to patent cases it appears that, the patents are used by the inventor or assignee to sue their competitors, rather than for new inventions.

Being from a software background, I have distanced myself from this area, especially because of the jargon used and the process involved. However, now its much easier to learn about it, thanks to StackExchange (a community-driven Q&A site) which has come up with a site for patents – in association with US Patent and Trademark Office.

Go and check out about the patents and the prior art.

Thank you Teacher!

When he became President, some of Dr. Radhakrishnan’s students and friends requested him to allow them to celebrate his birthday, 5 September. He replied,

“Instead of celebrating my birthday, it would be my proud privilege if 5 September is observed as Teachers’ Day.”

His birthday has since been celebrated as Teachers’ Day in India. (Reference

An authoritative of comparative religion and philosophy, he wrote critical interpretation of India’s religious and philosophical literature for the English speaking world. He was the first Indian to speak at the Hibbert Lectures; the only other Indian to speak here was Rabindranath Tagore.

I remember – during school days, our seniors (10th class students) used to take the responsibility of taking classes for the juniors, on the teachers’ day. When I was in 10th class, the senior students organized the full-day events along with conducting the classes for the juniors. It was a wonderful experience.

I would like to take this opportunity to thank each and every teacher who has been a part of my academics and life, in general.

BTW, Hindus and Buddhists have another day to commemorate teachers i.e. Guru Pournima.