Why I hate TFS?

August 19, 2008


I wanted to make few changes to the build script in our TFS build server and i thought it would be similar to CruiseControl, just modify the build scripts and you’re good to go, but hey i forgot that i am in a different world – where any customization should be just a pain in the ass!

Why the hell do i need to learn a bunch of properties some stupd.build.targets file?

I mean seriously, isn’t MSBuild from Microsoft? Why can’t you guys hook-up a custom logger and let TFS create the build reports from that instead of doing this really stupid-dumbass way?

Oh sorry i forgot…making customizations painful is core part of their design!



Namepaces in Powershell

December 6, 2007

I was wondering, how we can organise the functions within namespaces in powershell.

I thought since we can create key-value pairs  in powershell, we should be able to use that for organising namespaces and with help of the powerful “&” we can evaluate the values of the corresponding keys.  so in the end the code we get what looks more javascripty.

so, we can organize the functions and variables in powershell within namespaces in the following manner :


wow….I love this….looks more javascripty to me.. 🙂

I was also thinking that since “&”  is jus like an “eval” function in javascript, we can do something like this in powershell:


I’ve not thought where exactly can i use them, but they look promising and at times could be very  handy 🙂

Now, i’m thinking how we can simulate polymorphic behavior 🙂

[updated: code formatting was messy, so i had to put that in an image for ease of readability.]

Memory leaks, Firefox, Flock and Opera

November 25, 2007

Moving from IE to Firefox

*Update: This is a old post that i wrote when Firefox 3 was still in early days of development and before the performance improvements were done.*

I switched from IE to Firefox 1.5 because of its amazing features like tabs, better session saver, add-ons and most of all its developer friendly tools like FireBug which to me came as a breather for web-development. And needless to say i never missed IE.

But then, as i became addicted to the tabbed browsing, like many others even i cultivated a bad habit of opening the links that i would like to read and come back later when i had time. so usually i had i atleast 15-20 tabs in each window and atleast 2-3 windows open. see it was just convenience…!!

Memory leaks in Firefox and moving onto Opera

But because of my bad habit of having so many tabs open, the memory hogging in Firefox was *ahem* unbearable…and lo…to add to that it also started crashing…and at times i
would restart the Firefox manually when the memory usage was very high and i was hoping that this would be fixed in the future versions, but nothing much happened on those lines and i was looking for some alternative, and then i tried Opera (without the ads 😉 and it had all the features that i wanted except for the FireBug. But hey..that was okay..when i had to test my sites, i would go to Firefox, but for normal web-browsing, i never missed Firefox, just the way i never missed IE when i switched to Firefox. Opera was just freakin…awesome..!!! and i loved it for the memory footprint that it occupied and it never crashed for me (though, YMMV 😉 and to add to that, Opera had lot more features like integrated mail client, newsgroups, saving multiple sessions, needless to say i loved it 😉


So when i came across the beta release of flock, i was just curious to try it out and my first thoughts were, oh its a replica of Firefox with few more functionalities, primary among those being a integrated access to various social networking sites from its sidebar. well..which was not bad..*ahem* quite good, just like you don’t want to open different mail clients for each and every mail account that you have, you would like to have an integrated access to all these social networking sites instead of logging into each one of them. so this integration was quite a welcome feature given the fad for social networking sites. But, hey…is that reason enough for altogether a new browser..? i don’t think so..but to be fair, Flock also has other features like Web Clipboard, Blogging client, Media bar, and obviously the sidebar.

But another interesting point that i came across was regarding the memory usage comparison of Flock vs firefox 3.0. well just to double check on this, i fired up all my tabs in Opera in Flock and also in firefox 3.0 and boy Opera beats them all and Firefox crashes as usual :), but though, Flock initially used more memory footprint than Firefox, it never crashed :), which was interesting and i’m just curious what tweaks did Flock guys do to the Firefox engine and why is firefox still not fixing it? i see that firefox 3.0 has loads of features but why are they not fixing this serios issue of frequent crashes..? what will we do with those features when the browser would crash anyway..? well in that sense , kudos to Flock and i hope to see how flock catches up with the new versions of the firefox 3.0 engine. And if they do manage to catch up, then i wouldn’t see why people who wants to move to firefox 3.0 should not move to Flock if not my fav browser Opera 🙂

But hey..i am not going to switch my loyalty from Opera to this new browser for just the side-bar 😉

Opera ROCKS!!!

Redgate – Is any publicity good publicity?

November 17, 2007

Red Gate Software‘s article on ANTS Profiler in this Code Project article, has got a lot of flak in Slashdot, in the article’s comments section,  and in reddit, not just for the article per se, but because of some tom dick and harry’s submission to slashdot and reddit with an attention-grabbing yet conspicuous titles.

Even though few people have raised the credibility of the article, i guess the article has this warning…”This is a showcase review for our sponsors at The Code Project. These reviews are intended to provide you with information on products and services that we consider useful and of value to developers.”  and also mentions that it has only posted how the ANTS Profiler helped the university graduate in spotting the bug in his c# code….”A Princeton University graduate relates his story as a participant in the Darpa Grand Challenge race, where driverless cars have got to make it to the end of the course without human intervention. Read the full story and find out why he wished he had used ANTS Profiler earlier.

It again raises the question about the attention-grabbing yet conspicuous submissions in slashdot , reddit and digg. But whatever the outcome may be Redgate has managed to arouse the interest in its profiler. But i guess iit would have been a lot better if they could have instead come up with articles on how ANTS Profiler is different and better in its own league.

Why can’t a HUGE services company grow and retain the best talent in the industry, just the way a HUGE product company could?

November 8, 2007

In the services/consulting space, people prefer and enjoy working for small companies rather than the BIG one’s – which mostly rely on GIGO (GARBAGE-IN and GARBAGE-OUT).
So when a niche company starts growing, they find it hard to retain their best talent – the very people who made the company a NICHE.
We all know that at the end of the day a company is only as good as the people working in it.


Lets see what issues we face when a niche C/S company (a company in Consulting/Services space) starts growing.
But hold on, what do we mean by “growing”? Growing how? Financially or in terms of number of people or in terms of space..?
hmm…isn’t it a no-brainer..? The core motive for the company is to grow financially…just make more profits..but because its a C/S company,
it can’t grow financially without adding  more people and hence more space. If it would’ve been a Products company, they could have addressed growth in a different manner.
Slogg the hell to release the next KILLER APP . And do a good job of selling it and voila, with the same number of people, they could make more money.

But as i said earlier, for a company in the c/s space, this will not apply. they can increase their rates, but its not as sustainable a model for growth as coming out with a next KILLER APP is.
so what happens instead is they are pressurized to get new people onboard who are not as good as the people they currently employ. What can we do – we wanted to grow, so we got new projects, and we are short of people now and the client is breathing down our neck to complete the project. And getting good people is always a bigger challenge. so for now lets just get someone who’s half good as the people we already have and you know *SCALE* these new people to greater heights, hmm…which i reckon is a good thought. Isn’t it..? Well lets say YES for now.

So what happens now? hey..we are growing. we have more projects. we have more people. And more money. hey but there’s one issue.
When we started out, all our developers were top-notch. but as we grew we now have a ratio of say 1:2:4  (top notch:average joe: worse-than-our-average-joe). you know we follow this whole philosophy of scaling people to greater heights. and lets also assume that we reached this ratio of 1:2:4 say over a period of 3 years. Not bad. Our revenues have grown 100 times more and we’are still growing.

So as we keep growing, one of the best talented people working in that so-called NICHE company had enough of it. He Quits.
WTH, now we see a series of exits lined up one-after-another. Almost half of our niche people are leaving.ahh…for the management thats okay..you know nothing much to worry about. they say, the new people have SCALED up to their levels and its an opportunity for them to fill the void of people who’ve called it quits.
so there we go…over a period of time we see that the so-called NICHE company has no more niche people and its more of living over its past reputation. But then for how long. Lets not answer that now.
In the  mean while some new people are paranoid about the attrition and question the management about the retention policies and dispute the management’s theory that the void can be filled by the new people. hmmm…the management gets worried and then comes up with certain measures about addressing it. so they come up with guidelines/policies/councils for addressing  it.
And people take respite in this by thinking that the management cares about the issue and has acted upon it.

Well so over a period of time, we see that among halft the  best talented people we had, half of them call it QUITS. But how come, we had those guidelines/policies/councils etc..for handling attrition. Didn’t we..? Yeah, but you know every person has different reasons for quitting. And as always the management is trying its BEST to address this issue. Just that on the other end, we are getting more projects (which are again yet-another-run-of-the-mill-uninteresting projects) and hence more new people and more money and in terms of money/growth we are doing tremendous. Just that some developers are unhappy with the work they are doing and they want to do some cool-stuff. but the managements asks them “hey but who’s gonna *pay* for the cool stuff…?”…the developers are awestruck… and the management comes says “so you know we can’t do the cool stuffs. But you can do cool stuff on your own at your home…*pet projects* you see!!! ”

hmm…so gradually we see that almost all the best talented people leave the company. And this time when someone raises the concern, the management says, we tried our best, we had so and so policies blah-blah..but you know everyone have their own reason to quit. and then we may ask…is that true..??? aren’t we seeing a pattern here..as we grow, more and more good people leave and this company just becomes yet-another-GIGO.

so what can we do to retain the best talented people…?what do they need…? what does the quality of work has to do with the attrition…?so basically, how can we retain these people and still grow at this pace..? do we have a silver bullet..? how can we feed the ego’s of these niche people who thrive just on the technical challenges..?hey but aren’t we consultants (consultants  – a euphemism for a developer who has to face and handle politics, bureaucracy and less of the technical challenges.) yeah…but the niche people are programmers at their heart and they want to do cool stuff – not just waste their energies on these stupid politics. By doing this, they learn nothing new, hell – they get tired and bored of doing this mundane thing time and again!!! there’s nothing interesting to solve. just to talk to a buch of fools and try to get a lowest common denominator  which will help them do a small part of that yet-another-run-of-the-mill-uninteresting project. that’s all. So at the end of the day, they feel…”to hell with consulting, I CALL IT QUITS!!!”

Programming Texts and Tutorials

November 4, 2007

Found a good site on Programming Texts and Tutorials . If you have some good sites, please drop in your comments.

OpenSocial Application Hacked

November 4, 2007

OpenSocial Hackerd

Soon after Plaxo released an application based on Google’s OpenSocial, it has been hacked within 45 mintes. For more details have a look here.

The application has been taken down for now and Joseph Smarr, Plaxo’s Chief Platform Architect thanked Techcrunch for pointing it out and said that “While I suspect it’s benign, e.g. some of the rockyou code not distinguishing between the “owner” and the “viewer” of the gadget (this stuff is not always easy to keep straight), I want to err on the side of caution, so I’m going to de-white-list the gadget for now.”

It would be interesting to see these development in the next few days, and how other applications based on OpenSocial learn and the platform itself evolves.