Thursday, March 22, 2007

Fear of Design Patterns - Let it go!

Many of us shudder when we hear some one blabbering on Design Patterns.

Well, there is nothing to fear, as the beauty of design patterns lies in the fact that we have all used it some where unknowingly. Well, may be not all, but some of them at least. Have you heard of MVC (Model-View-Controller) pattern? Yes? Good. Have you used it? No? Are you sure? The very code-behind architecture in Visual Studio .NET (the idea of separating code (controller) from the presentation (view)) is based on MVC pattern.

Have you heard your OO evangelist yelling : "Code against Interface, not implementation!"? He is referring to Strategy Pattern.

The event handling in .NET is based on the Observer Pattern.

Now you get the picture, right? So dont hold behind. If you are new, get hold of the Head First Design Patterns book and have a wonderful ride!

Disclaimer: No, I don't get paid by O'Reilly! I just love the book!

Saturday, March 03, 2007

An attempt to learn Design Patterns

Months ago I had picked up a Design Patterns book titled Head First Design Patterns. This book took me to ride with the very first chapter. But unfortunately, due to busy work load, I could not continue reading the rest. And every time I see that book in my shelf, I feel guilty.

And again, it would not be my reading habit. It is the subject in itself. Unless and until you get your hands dirty by implementing the concepts discussed in this books, nothing would "remain" in your head. May be its just me.

I have decided to take it slow and get this book chapter by chapter. Read one chapter. Then discuss and share the principles with my peers. There are dudes at work who have similar interests in learning the design principles.

Tuesday, February 27, 2007

User Group Activities


I have been busy lately with my day job, my side projects (some hobby and some real ones) and the user group activities. I haven't blogged much about the user group I attend and in which I am the Speaker Chairman. This title was coined by Judy Calla, our president. It is my responsibility to arrange speakers and discuss (and suggest) topics of interest to them. What could be more fun, eh?


This year began with a bang with John Baird from Philadelphia convincing us about the Test Driven Development. It was great watching him present the topic with such a passion. John Baird had been a regular speaker at our code camps and he is indeed a great speaker.


In February, I decided to take the members for a ride on Generics. There were only 10 members who attended the session due to the bad weather (ice, wind, snow et al). But it was fun for me learning the fundamentals of Generics. Kevin Goff had done an excellent speech in applying Generics in Remoting in our Code Camp 2006. But most of the attendees (including me) had no idea on Remoting and did not appreciate it very well. And I had conveyed this to Kevin also which he took very positively.


Starting March, we have great speakers and titles lined up:


On March, we have Rachel Appel, venturing into the Data Source Controls in ASP.NET 2.0

Robert Green, INETA speaker, is flying to Harrisburg in April, with a much awaited presentation on VSTO (Visual Studio Tools for Office).

May is bringing Scott Allen again to Harrisburg, but for the first time to our user group meeting with ASP.NET AJAX.

June is local boy Brian Myer's. For the first time, we would have a 3.0 topic. Yes, Brian would be entertaining us with WWF and a lab.

Kevin Goff would be presenting on another 3.0 sizzler, WCF (Windows Communication Foundation).

Sahil Malik, another INETA speaker would be coming to us in August with ADO.NET 2.0.


Being Speaker Chairman for the group is an honor indeed. According to Judy, I have taken a huge burden of her, but let me say, I am indebted for giving me this opportunity.


I would be updating this blog on more coming events of our user group. Also, please dive into our web site (http://www.central-penn.net/) for more details.

Monday, January 22, 2007

White Rain

Eventually, a white winter.

After a prolonged wait, we are having a white winter:-)

Yesterday, it started snowing in Harrisburg area. I get depressed when it doesn't snow on Christmas. Having a white Christmas is a feeling which I cannot put into words. Its inspirational, for me atleast.

I have promised my 3-year old daughter that I would make a snow man for her this winter. Hope it snows well!!

Wednesday, December 06, 2006

Web Standards

Hmmm... do we need standards at all??

Ok..Ok... I was just kiddin' alright?

There is a wonderful article on using web standards (read XHTML!) when developing web sites. With ASP.NET 2.0, XHTML validation has been easy as... well you get the point, right?

Well, here is the article on MSDN, I was talking about:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaspp/html/aspnetusstan.asp

Enjoy!

Migrating to VS.NET 2005 - Lessons learned

I have been searching all over the place and talking to people regarding any issues faced during migrating the existing VS.NEt 2003 projects to VS.NET 2005. I have heard about horrifying stories, but I had not made a list still. So I venture out to Joel On Software forum and posted a question. And here are the responses from it:

1. BACKUP! Keep a backup copy.

2. If you have third party libraries, components, DLLs, whatever for your ASP stuff, check with the vendor to see if they're supported in VS2005.

3.Use Web Application Project model (as opposed to Web Site model): Consider using the Web Application Project model which is closer to the VS2003 model:http://msdn2.microsoft.com/en-us/library/aa730880(vs.80).aspx

4. Run the conversion wizard: You should probably also download the update to the Web Project Conversion Wizard: http://www.microsoft.com/downloads/details.aspx?familyid=7CECD652-FC04-4EF8-A28A-25C5006677D8&displaylang=en- or VS2005 SP1 Beta which presumably includes this as well as other hotfixes.

5. Start Early: Branch the code and start working on the conversion early since, depending on the size and complexity of your configuration, it may take a while.

6. Be XHTML compliant. Be prepared to spend some time making the pages xhtml compliant. To merge master pages with the content pages, an xslt happens, and can be problematic if they aren't xhtml compliant.For example, you can't make a
, you have to make it


7. No code on the aspx page. Because the merged page will be in a different context from the content page, code on the aspx page will give surprising results.

I will be updating this section as and when I get more information.

Disclaimer: Please do not consider as a must-do or only-to-do list. These are points I collected from different forums and friends. Please consider speaking to your Architects and Powers-to-be before making any decisions.

Monday, November 13, 2006

Design Patterns - The Why!

They say the term "Design Pattern expert" is a wrong usage. This is because if your developers do not have expertise on Design Patterns, then they do not appreciate whatever patterns you pick to use as a guideline.

During my early years of .NET, I was told to follow certain Design Patterns. But no one attempted to make me understand the concept and philosopgy behind those patterns. I started reading the GoF patterns (the Bible of design patterns!), but I couldn't understand a bit! Take that as my confession, but hey, I was not alone at all! Then later one day, I took the courage to admit that myself and James Avery. James helped me reach the Head First book on the same subject. Let me say, I was hooked onto it!

This month's UG meeting discusses the same topic - Why, What and How of Design patterns. The "Why" part, that is where I am more interested in. "Why should a developer be concerned about a Design pattern?"

My colleague, Vijay Cheleenhalli, a design pattern expert (oops!) is going to present the topic.

For registering for the event, please visit http://www.central-penn.net

Cookies, anyone?

  Our application started having integration issues early March this year. Did I say that was intermittent? To add to our confusion, we coul...