Friday, December 17, 2010

Attended Martin fowler's event in Chennai

Lucky to attend event organised by thoughtworks featuring Martin fowler in chennai. I never thought in my life I might get a chance to attend a event having Martin Fowler as a speaker. He gave a talk similar to suiteoftalks that he has been following of late. The areas he covered in his talks include Continuous Integration/Delivery, Strategic and Utility projects and Domain Specific languages, none of this is new if you have been following his blog closely. I was just happy to hear him talk probably this was the first time I am meeting someone in person who has made great contribution to the software community. After the talk I got a chance to have a personal chat with him and raised question about my dilema of whether to move forward to DVCS (git, mercurial) rather than the current source control (Borland StarTeam) that we have, his direct answer was "Depends on the maturity of the team, if the team is mature, DVCS is the way to go".

Hope I get a chance to meet more people like him in the future (Anders Hejlsberg ranks high on that list).

Explaining things effectively

I have always been fascinated how people come up with good visual ways of explaining complex things, this video is one such appreciative work on explanation of quicksort algorithm (link got from blog of my friend Santhosh Ahuja). Being in the software field and involved heavily in recruitment of people at various levels, what I have learnt is it's easier to find people with sound knowledge but difficult to see them possess the art of explaining things effectively (which unfortunately is a key trait needed in a personnel not only in the software field but in other fields as well).

Quicksort Explanation Video

Monday, October 25, 2010

Attended Jean Paul Boodhoo's NBDN Remote program

Couple of weeks (October 11th - October 15th) ago I had the opportunity to attend JP Boodhoo's Nothing But Dot Net remote course. I was very interested to learn more about TDD and getting myself comfortable with some of the advanced concepts in C#.

I wouldn't classify this course as advanced course in C#, rather it was advanced basics in C#. The first day JP gave us a simple task of filtering/sorting sample, JP had created test cases for each of the filtering/sorting scenario and we were writing code to make the test case pass. We went from creating a simple for loop to all the way of creating generic delegates to handle most of the collection related activities, we learnt how we could use delegates and generics effectively.

The next couple of days we created a the fictitious web application that has a shopping catalog and JP taught us about using FrontController architecture for building the application.

The final day JP discussed about the Inversion of Control Container and showed us how to create a container from scratch. I always understood the concept of dependency injection but didn't have a good idea of containers, after this session I was not only able to clearly understand the need of containers but understand the inner workings of container since we created one from scratch.

JP's style of teaching is awesome, he starts by giving us a simple code piece and takes the code of the team that completes the task first and starts refactoring the code from there. His inspirational talks all along the course was an added bonus.

A cool added knowledge I got from the course was the knowledge of DVCS (usage of git and github) for coding purpose, I understand how effective DVCS is over the traditional source control repository and how to use it effectively in the current projects where we do quite a lot of branching.

I would seriously recommend this course to anybody who has been doing OOPS development (not necessarily c#) for atleast 5-6 years to take this course and understand what the real OOPS development is all about. I don't think anybody would walk out of the course and say that they are an TDD expert or anything of that sort (and JP doesn't expect you to say that as well), the course makes you understand where you stand and gives pointers on where to go from here and how to achieve your goals. I certainly think the course would have profound impact in my professional as well as personnel life. Since I was from India and JP has never been to India for taking NBDN courses, I had no choice but to take NBDN remote course, given a choice I would advice people to take NBDN direct course rather than remote course since you would be interacting with JP and your fellow developers directly which would be even more awesome. JP has promised to come down to India some time soon and I am looking forward to attending the NBDN direct course once again.

The only difficult part for me was I was attending the course from Chennai, India the course timing for my time zone was from 9 PM to 9 AM India time. I tried to get as much sleep possible during my day time, but it was not possible to get good amount of sleep and I was mentally exhausted by the end of the week.

Even though I paid for the course myself, it was money well spent. Now I am off to read through the books suggested by JP. I have successfully completed my first objective of reading through "Refactor with Wetware" by Andy Hunt. Now comes the difficult part, applying it in real life :)

Friday, February 19, 2010

Cool SQL tool - SQL Heartbeat

I have lived many a days watching performance of SQL queries using SQL Profiler (Claims Inquiry??? - for people who knew about it) . Finding ways to improve the time taken and optimizing the same was a fun exercise; I always hate the idea of using SQL profiler, I always thought it was probably one of the worse Microsoft tools without good user interaction, I agreee that it was one of the powerful tools available to monitor SQL Server but not the best tool in terms of user interaction.

Anybody who feels the same way should try (free) tool SQL Heartbeat, it gives the information of your database in a visual way so it makes it easy to grasp the data.
Processes grow larger as they use more resources. Red balloons appear when locking occurs. Download it from: sqlsolutions

Thursday, January 21, 2010

Interesting Video on "What stops population growth"

While reading bill gates new website The Gates Notes stumbled upon a good link for a presentation by Hans Rosling on What stops Population Growth, it gives a totally different thinking on population growth in world. I liked the way Rosling uses very little time and excellent charts/graphs to convey the points effectively across to the audience.

While in the gapminder website, take a look at the various statistics they have to compare countries and how they stack up against the world. Excellent usage of charts and graphs to compare countries !!