Vanguard Coder

Simple Life of a Keen Developer

Am I Arab?

leave a comment

I can usually tell if someone is a Pakistani, Indian, or a Bengali (unless they are Roma). However, I’ve been confused many times by South Asians as being an Arab. Maybe I can be one:

The Arab Kashan

The Arab Kashan

Written by zkashan

November 29th, 2008 at 9:13 am

Posted in Personal

Tagged with , ,

Moving Forward with C#

leave a comment

Reflecting back after using C# for 6 months, I remember “environment hell” I faced in Java with conflicting jar versions as well as going on a goose hunt for missing jar – when I found one, there was yet another one that was required but not packaged. I never faced such an issue in C#. Here is a Rails Envy video which accurately describes my feelings:
[youtube=http://www.youtube.com/watch?v=PQbuyKUaKFo]

Written by zkashan

November 29th, 2008 at 9:06 am

Posted in Comparative

Tagged with , , , ,

What is the difference between an MVC and MVP

leave a comment

M – Model, V – View, C – Controller, P – Presenter

Many if not most of the people do not know the difference between the MVC and the MVP pattern. Recently, when someone asked me to describe the MVC pattern, they said that it seems like I’m talking about MVP. Most of us thought that there indeed was no difference, but in fact there is – and its very small.

In MVC, the Controller and View can talk to each other, and both can send messages to the model. In MVP, all communication is directed via the Presenter, and the Ms and Vs do not communicate directly, but only the P can send data to the M, and the View and/or its Interface (decoupling!).

Written by zkashan

November 23rd, 2008 at 6:28 pm

Posted in Coding Practices,Comparative

Tagged with , ,

New Job, New Life, New Career Path

leave a comment

As I begin new work, I encountered an interesting post on job hunting.

Watching one of the current affairs programs, here are some strong words which I remember (in an economy where over 2000 people are loosing work every day):

“I’ve been crying through the nights,

and I’ve been up all hours

keep looking what I can’t believe how the markets have gone down

I’ve had the Internet running til 2-3 O’clock in the morning,

having a look,

hoping that just perhaps the markets around the world have picked,

jobs are being created again,

that there are new openings once more.”


“Its just not fair – big banks gambling and getting billions,

but they’re not helping us, we just have to suffer through it.”


“Every morning I hear the postman coming,

and you just know that it’s going to be another bill.”


In response to government increasing their savings guarantee of £34,000 to £50,000:

“I’ve been affected by financial problems 5-6 years now.

It’s not just over the last few days, few months that’s had a problem.

I mean I’ve always been on a low income and struggling with rent, bills, expenses and inflation.

Savings up to 50k – anyone with that much saving is in a very fortunate position.

It doesn’t affect me too much, or my family because we’re not in that position

where we can worry about our savings, 50k is a bit of a dream for us.”


Written by zkashan

November 22nd, 2008 at 11:30 am

Posted in choices

Tagged with , , , ,

Goodbye Java, Welcome C#

leave a comment

Jay Fields talks about Language Specialisation( or Generalisation). I think that would be making life more difficult for someone in the early stages of their career because:

1) When job hunting a lot of recruitment agencies look for “5 years experience Java” and discard C# altogether.

2) Impossible to learn the more fun stuff in different languages in sufficient detail. E.g. the different frameworks (One can only become a Generalizing Specialist with time, and not in “boot camp” mode).

3) Perhaps one might be sufficiently proficient in Java before considering taking a plunge into C#, but a person will nevertheless have one strong point at any stage rather than be fully depth-oriented in both.

I’ve come to the end of the road in Java, and now I am pursuing C# which is more to do for commercial reasons. My personal experience has sown me that there are more C# jobs (about 65/35 ratio) than Java. C# offers are more concentrated opportunity to  learn and contribute as a lot of work is being done under one roof by Microsoft, with strong open-source community involvement. I’ve done a lot of Java, now its time to do some C#. Time might be cyclical, but it might not be this time.

Good bye Java. Welcome C#. *Mem Reset*

Written by zkashan

November 22nd, 2008 at 11:24 am

Posted in Career

Tagged with , , , ,

Are we a Full Microsoft Shop?

leave a comment

Quiet frequently, talking to people in small or medium sized companies one of the most common question I ask is the technologies they are using. I get the common response that they are a full Microsoft shop and use  Microsoft products only.

Probing furthur I usually discover that it is usually because they are using C# and .NET technologies. More commonly Cruise Control, SUbversion, NANT, and NHibernate are frequently being using and are not attributed to being Microsoft product, but rather open source software developed in C#. Microsoft has its own version of Source-Control, and testing framework that is not commonly used yet.

The only place I would truly consider as being Microsoft Shop are many of the Gold Partners. Many exist, especially in the Guildford area that say that they don’t use anything unless it is developed by Microsoft. Even though it has the benefit that the development effort is more concentrated, however, there is an issue of group-think.

When there is group-think, new idea is not necessarily created, but rather if the group starts going in the wrong direction, there is no turning it around. Whereas in open source communities the audience and wide and has direct to access to the inner workings of the software, thus is likely to be high of creativity and adoption of principles.

Written by zkashan

November 22nd, 2008 at 10:55 am

Posted in Java vs C#

Tagged with ,

Scope Changes: Burn-up or Burn-down

one comment

Many agile projects adopt different variations of XP and Scrum to what they deem fit in their environment. One point which is hard to understand is when companies design reporting tools, how do they decide on if they want to use burn up or burn down charts.

I am a strong supporting of a burn up chart as it gives a more accurate picture of a long running extensible project. In a burn down chart it always seems that we are aiming for a zero but can’t quiet ever seem to reach it.

Lets take a scenario:

Project A
Points: 100

After after 5 iterations 50 points are complete, and new requirements come in.

Points completed: 50
Points remaining: 50
New points: 50

Total remaining: 100

So now, in a burn down it is not visible that we are now aiming for 150 requirements, but rather that we are back to where we were at the start of the project – 100 points to do.

In a burn up we would clearly be able to see that we finished 50, 50 more came in, and our new target is 100 points. Burn down is not suitable for scope changes, thus does not seem very agile.

Written by zkashan

November 22nd, 2008 at 10:53 am