Skip to main content


Showing posts from December, 2008

Hot programming trends for the year 2009

I feel that the following trends might take the center stage (Not in any specific order). Cloud computing - Esp with Microsoft Azure, Google Apps EnginePractical implementation of Green Programming concepts, energy efficient designs etcSocial apps and collaboration tools on top of the Cloud - like Live MeshParallel Programming, High Performance ComputingOnline documentation sharing, productivity - More apps like Microsoft Online Office, Google Docs etcMore focus on determining user trends from social apps - like determining a traffic jam from twitter tweets or from google searchFocus on applications that can run on multiple platforms with same code base, through containers like Silverlight, Adobe AIRWeb 3.0, RDFLocation intelligence in applications, mobile devices.Centralized data storage servicesVirtual environments and browser alternatives - like Second Life

Being Agile - Almost A Necessity

Neither the client, nor the consultant will be fully aware about the requirements, right from day #1. So, you need to follow an iterative process. You need to work with the client, to understand the requirements, and at times, to make him understand what he need.

A good process to follow in such cases is the Scrum process. In Scrum, you interact with the stake holders frequently, and you improve you product through various iterations. So, you can scope your requirements for various iterations, and each iteration ideally should have deliverables.
Everyone knows that you can't build Rome in a day, and any customer will understand this if you communicate in the right manner.

Scrum is an Agile process framework that allows organizations to continuously direct the project toward early delivery of real business value through the frequent and regular delivery of high quality software. In this way, requirement gaps can be caught as early as possible. Of course, I'm not going to detail th…

Few thoughts on WPF Vs Winforms

WPF uses DirectX for rendering (which is much faster) instead of the native Windows GDI. As you might already know, Native GDI is bitmap based. As WPF is vector based, WPF can make use of hardware support, in a much better way when compared to GDI. How ever, the decision to choose WPF or Winforms heavily depends on other factors as well - The flexibility you need in the UI, how much media support your application needs etc. WPF is not a replacement for a Winforms - and it is not a silver bullet for all the problems. With more hardware acceleration features coming up, WPF can deliver much better than your Winform applications. A couple of interesting blogs I read earlier on this John's Post Rob's Post

VS Isolated Shell

A couple of points regarding the Isolated shell.

If you are planning to use Isolated shell, you can't use Microsoft Language Packages like C# and VB.NET inside that. Creating a package for your shell is much like creating any other VS Package. You don't have support for Team Explorer and VS Built in Source Control access, in Isolated Shell 
Also, you if you are using VS SDK 1.1 to develop your packages - remember that the managed package framework is no longer available with the default distribution. So don't get surprised if your old packages can't load MPF files after moving to SDK 1.1.  It has got moved to Codeplex as a separate download.

C# 4.0 Dynamic Extensions - A First Look

About .NET 4.0 Series - I'll be covering various aspects of .NET 4.0 and related technologies in these posts

If you havn't yet watched Ander's video on C# 4.0, watch it here, right now.

For me the most exciting part is the new dynamic dispatching features in C# 4.0. Dynamic dispatching provides a great way for resolving method calls at runtime. The new dynamic keyword can be used to create dynamic objects.

You can use dynamic keyword, if you want your method calls to be resolved only at the runtime.
dynamic invoker=newDynamicInvoker(); dynamic result1=invoker.MyMethod1();