| |
Posted on: Wednesday, November 29, 2006
For the past couple of years my desktop ran on a Windows 2003 Server which was tweaked to make windows look like a Mac. I loved my desktop, but I also loved everything that had been going on the Windows Vista side and had been trying things out on VMWare instances and other non-work machines since the Beta 1 days. I had always stated that I would move to Vista as soon as Microsoft comes out with a Released version. Just wasn't adventurous enough to run a Beta version of an Operating System on my primary work machine. Yesterday, I finally made the move to Vista. As a developer / geek, there were a few minor hiccups in 'getting up and working' and I'll probably post about all of those and their workarounds in other posts but this post is focused on getting Visual Studio 2005 to run with F5 / Play based Debugging on ASP.NET 2.0 Web-sites. I thought I would post about and document this, since this was the most tricky part and 'almost' kept me awake all night, trying to figure out what the heck was going on. The Vista Install itself was a Smooth install. Minor hiccups here and there. Surprisingly, there were no drivers issues (things have come a long way since the Beta 1 days, when I had a bad time with the drivers). I didn't have to install a single driver manually. It detected everything on my Dell 700m and pretty much installed it, automatically. Sweet! Most hiccups were compatibility issues with 3rd Party tools, which is expected anyway, because of the enhanced security. Workarounds and alternate tools that work in Vista were pretty easy to find. Yes, there were some very minor issues with the default display drivers - which work fine with extended monitors but somehow, will not let me run on a external projector. I think I can live with that till Dell comes out with their own drivers. [This was resolved. If you googled to this page, in search of Intel-Adaptor-on-Dell Display Driver issues for Vista, see update at the end of the post.] The real "Opps!" moment however, came when I was done with installing IIS 7.0 and started installing Visual Studio 2005. This is when I was warned that Visual Studio 2005 has known compatibility issues with Vista. I ignored the warning and the installation continued smoothly. Finally I decided to test my installation by making a simple ASP.NET 2.0 Hello-World website. Apparently, Studio would not let me open a website from the Local IIS. The Warning Said: "You must be a member of the Administrator group on the local computer to access the IIS..."; This however, is a known issues and has to do with the Vista's On-Demand Administrator (i.e. UAC) feature. Installation of additional IIS components, A right click on Studio's Shortcut, followed by a "Run As Administrator" fixes this issue. There's a detailed post on this both as Scott Guthrie's Blog and MSDN. Both of these are pretty helpful and elaborate; So I won't repeat that information here. After I did everything mentioned in the MSDN / Scott's Post, I could now open web sites from the local IIS. But wait, that was not the complete Fix. Once those steps were applied there were issues with Visual Studio which wanted me to have Integrated Windows Authentication in the Virtual Directory. Now this is something that is not installed by default with IIS 7.0. Which means that I had to explicitly go to "Turn Windows features on or off" and install Integrated Authentication for IIS. (I went ahead and installed all three since I am used-to and use all three - Integrated, Digest and Basic, in different projects. With this done I configured the virtual directory to use Integrated Windows Authentication using IIS Manager.) So, was that it? Not Really. I still wasn't able to Debug my website. This time Visual Studio showed a security Dialog Box telling me that wasn't able to start debugging on the web server: The workaround for this is to configure the site / virtual directory (depending on what you're trying to debug from Visual Studio) to run under the "Classic .NET Pool". To Do this just right-click the site on the new IIS Management console and click "Advanced Settings". In the Property Pane that opens up, change the Application Pool Setting to "Classic .NET AppPool" instead of "DefaultAppPool". With this done I opened my sample site in Visual Studio.NET 2005 and clicked the Play button (F5 key) and the Debugging worked, just like it should! Yet another tricky Gotcha here is that changing the Application Pool for the website to Classic .NET pool doesn't seem to change the pool for all virtual directories under it. In other words, if you moved your entire site to DefaultAppPool but are trying to debug a specific virtual directory, you still need to go ahead and manually change the Advanced settings of that Virtual Directory to run Classic .NET AppPool, to enable debugging on it. There were some 'really convincing' posts out there, that I came across, in a couple of Forums (I can't seem to find the link to those) where people suggested that F5 / Play and Debug is something you cannot do in Vista. I guess, that information is either old (from early beta builds) or just inaccurate. I would have liked to post a reply there and clear this up, but I can't seem to find the link again after reaching the right answer. So, I'm going to post this article here and hopefully Google will index it and help others who're trying to get this to work. Update [12/29/2006]: If you are looking for more details and other approaches, Mike has recently provided detailed step-by-step instructions on various approaches you can take and has described several tradeoffs associated with each approach. His detailed post is available here. Update [02/07/2007]: Even though this post is not directly related to Dell 700m Intel Display Cards and Vista drivers for these cards a lot of people seem to be googling their way to this page in search of similar answers. This update might help. If you are running Intel(R) 82852/82855 Graphic Adaptor on Your Dell 700m and are having problems switching to clone mode with Dual Monitors or running on a Projector by pressing Fn-F8 key, start your Add New Hardware Wizard on Vista, select the manual driver installation process, choose Display Adaptor in the type of device and from the list of drivers Vita offers, choose Intel as Manufacturer, and "Intel(R) 82852 / 82855 GM/GME Graphics Controller (Microsoft Corporation - XDDM)" as your driver, even if Vista had detected your driver successfully during installation. Complete the Wizard and Reboot. Once the reboot is complete, you should be able to see two display adaptors with the same name installed in your Device Manager. Now disable Extended Desktop and should be able to switch to a projector or clone your desktop on your second monitor using the Fn-F8 key.
Posted on: Tuesday, November 21, 2006
If you feel that typing "Start / Run / Notepad.exe" is faster than clicking on the Notepad icon or if you spend more than 15 minutes on the Command Prompt everyday you probably know a lot about Monad / Powershell by now. I fell in love with this one the day I saw it in it's Pre-Release versions. Of course I didn't see the light instantly, but it grew on me - slowly - over time. I won't waste a lot of your time posting about the things that can make you fall in love with this tool - for example - the fact that it returns objects instead of strings, or the fact that it could change the world (No kidding!), or the fact that you can access .Net DLLs from within PowerShell. I won't even state the fact (ok, personal opinion :)) for example, that it's way cooler than any Linux console I've ever worked with. I could write tons of posts on PowerShell because I've been hooked on to it, but then in all probabilities, if you're here (and are still reading this), you're hooked on to it too and you probably know all that stuff already. And if you aren't hooked and you're just the curious type, go ahead, click some of those links I mentioned above and read a little. The learning curve will be a little steep at first but I guarantee that you'll "see the light" soon. Honest! I can go on and on about Powershell basics, for a very long time. But then, I've been busy, and now I realize that I'm a little late on posting about that. People everywhere have been doing an awesome job at writing about PowerShell and most of the basic stuff anyone wanted to find out about, is already out there. People have been building Utility Scripts, Powershell Analyzers and some are even developing Sharepoint Providers for PowerShell (neat idea!). But being the stupid guy that I am, for the past couple of months that I've been playing around with PowerShell, there's just one thing that has been pinching me: "Okay, All this is cool and I get-it, but on a slightly different note, How do I Skin this thing and make it look nice so that I can show-it-off to everyone else while I am working inside a Powerhsell window?" | And then there were others who were asking similar questions. On the Powershell team blog there are remarks like: "Absolutely no improvement over the ugly looking command window. With the name change if someone in your group maybe can push for tabbed Power shell?" | And the reply is pretty much a shout to the 3rd Parties to build-this-thing that lets you Skin PowerShell: "We share your pain. We Really do. This just fell into the 'to ship is to choose' category. We designed it so that 3rd parties could do this. (3rd parties - do you see how many people would be interested in a great PowerShell Host?)!" | That's how most of us are - aren't we? We just want to see the Dancing Banana in our Development IDEs! What the IDE or the Product does is just so irrelevant! If it can't show the dancing banana we just aren't happy! :) And I've been looking for this thing, because this-thing-that-lets-me-customize-PowerShell-Look-and-Feel is something that "has to be developed" by someone! I mean, come on! People have written IDEs for this thing! Somebody must have written something that let's me skin Powershell! Since Google started crawling this site I'm seeing a jump in visitor counts from around the world which is kind-of interesting and fun. So, If you've landed on this page from Google just because you were looking for a similar answer you're in luck! Yes, it's possible to skin PowerShell and make it look like the way you want it to look like. Turns out, there is, in-fact an Uber-cool free and open source application that let's you do just that. It's called Console and even though I've used console before, for quite some time, I didn't quite figure out that Console is NOT just a Command Prompt replacement. Console works with Virtually anything - CMD.EXE, Cygwin and a host of other Shells. So basically, there's no reason what-so-ever why it shouldn't work with Monad / Powershell. Since I like the Mac look so much - Let's make Powershell have some background-transparency so that we can see my Mac'ish wall-paper behind it. Long story short, Let's make Powershell look something like this: The steps are pretty simple and straight-forward: - Get Console.exe (Don't get the 2.0 "Demo" version because that's WIP and doesn't do much. Get the stable release instead.)
- Go to Control Panel / System / Advanced Tab / Environment Variables and create a new variable called "COMSPEC". Set it's Value to "Powershell.exe" (Assuming you have PowerShell installed already. You can also do this from Console Configuration Files, but this is the easy way).
That's it. You're Done. Start Your Console and it starts up by skinning Powershell instead of the usual command prompt. You should now be able to skin it and theme it using all the rich options Console provides in it's configuration files. And if this isn't enough, go ahead, see if you can have The Dancing Banana in PowerShell! :)
Posted on: Sunday, November 12, 2006
A few months ago, I was presenting in a New Employee Orientation Seminar. I was expected to speak about my professional experiences in past 7+ years of software development and 4+ years of work @ eFORCE. It was the last presentation in a three day program and everyone looked a little tired and bored so I decided to speak about my stupidities in the past 7+ years of software development and 4+ years at eFORCE instead. It was all about all the stupid mistakes I had made in the past 4+ years and what I had learnt from them. It was fun giving that presentation and the audience was great.
During the presentation I asked a few fundamental questions to the audience:
- What do you do?
- Why do you do it?
Answers like - "I'm a Tester", "I am an Engineer" or "Because it's what my job requires me to do" were not allowed. It's always interesting to hear some other answers. Some of the other answers I've heard are quite interesting. Once you remove the standard answers out, the question becomes as interesting as "Why do people write open source software?" (ok, that post is for some other day :)).
Michael Hunter seems to answer the first question right on his blog title. What does he do? He has been Making Developers Cry since 1995. That's the kind of answer that makes my day! :) Seriously!
People writing / testing / coding / designing and analyzing software today, are here for different reasons. I've discussed this with friends, strangers, colleagues, acquaintances and pretty much anyone who has anything to do with Software, that I've had a chance talk to. What do you do? And Why do you do what you do?
Most answers are interesting. Not all sound as interesting as Hunter's blog line, but I "get them". They make sense. I've been lucky. I have never met a programmer, tester, technical architect, project manager or business analyst who is really sorry that he is, what he is. Most of the ones I've met or talked to, like what they are doing.
Some haven't really thought about it. That's ok. But I've not yet met a software-person who's sorry or apologetic about being a programmer or what-ever he / she is. Maybe it's just because of the place I work at. Maybe it's because our interview process kind-of makes sure you like what you're doing before you get in!
So, long story short - I don't know any programmer who's pathetically sorry about being a programmer and I don't know what it would be like to meet one.
A couple of days ago however, I received this email forward which had been sent by a Senior Engineer I know. This was just a casual forward of a random poem he had found somewhere on the web. It was sent to a dozen other good developers, good testers, good business analysts and other people who were pretty good at what they do. You know, the kind of forwards that you get, and then you forward them to others because you find something in it interesting, funny or casually amusing. Yes I did find it a bit funny which is why I guess it was sent to all of us so that we could get some kick out of it! Here is the poem from the email which was signed by the name of "Author Unkown":

If I could meet the guy who wrote this poem, I would have a lot to say to this "Author Unknown". Here's how it would go:
"Wow! You sound so pathetically helpless, you're almost funny!! Dude! You joined Software Development for all the wrong reasons! Actually, you would have written similar poems for anything else that you might have done in life.
Let's Analyze the above lines a bit, shall we? On one hand you claim that the software world has made you wealthy and on the other you 'need' the money this profession pays you! Even you poem lacks logic, I'm sure your code is no better.
You need to stop everything else and start learning how to code. Now! But I don't think you'll do that, because you don't seem to like anything that requires any form of hard-work anyways. Which kind-of explains why you can't get away and find something else to do.
You're just a good for nothing, confused little cry-baby. But don't worry, if you keep composing contradicting poems like these, which we all find funny, and can forward to each other, we'll all have a charity fund for you so that you can go out and have fun with your honey and not have to work too hard!
On a side-note: I think there are plenty guys in India who could genuinely use that charity fund. So cancel that idea. You don't deserve it, you depressing insect who doesn't even have a name!!" :) |
Jokes apart, that just sounds like a mean and controversial thing to say and I'm not a mean person. And of course, there was no way I could meet this "author unknown" guy and fix him like a major bug resulting out of bad design should be fixed. So I decided to pack my objectivism in a box and not even try to think about what I would say to this guy if I could meet him. It was nearing Friday and I had builds to push and work to do!
It was within a few hours, yet another email dropped from in my inbox. Apparently, I was not the only person who had problems with this poem. This was from a mentor, who also happened to be in that list of all people who just happened to have received that email. He had seen the poem, and had hit the reply-to-all button.
His email was a really motivating poem he had composed in a short span of time (I'm not sure if he would be ok, with me posting his poem on my blog. So, I'll just wait till he says it's ok to post it here or till he posts it on his blog or something and then I'll update this post with the text / link or something more about it.)
Okay, now that we had a discussion going, and my build had been pushed, it was time to hit a reply-to-all and post my very own personal version of this poem, which would have otherwise remained in my personal journal. Here's how my poem / email went:
After seeing the poems, this one was mostly composed for my personal journal. But since we have 2 versions of the same poem already – here’s mine. It’s a little long though… I get carried away when I write for myself :)
I start my mornings Thinking about last night's error-codes and warnings
It's an hour's trip to the workplace. The streets are like a mad rat race. But I am happy, a smile on my face Because last's night bug... Oh, that was just the database!!
I figured it out!! I'm a better coder now. When I see the same bug again, I'll know the “why” and the “how”.
With 32 new emails, my laptop is finally on. Good! I say. 32 new battles that can be won. Time is short; I must pick the wars I fight, And just like my life, keep my code, Processes and philosophies light :)
I must manage, I must learn, Make mistakes, and definitely earn, No, not money! The money will come! Let me chase something that's chased by none.
The crazy day moves on, I take a pause. To look back at the day that "was". Teachers, Friends and strangers say, That I should follow their way.
But I took a turn I wanted to take For No-one else, but my own sake. I think It was the monitor's light, Or maybe the curly brackets and the semi-colon’s might :) But it felt, and still feels like, love at first sight.
With no big degrees and no big college names to write, I knew it would be a difficult fight, But why do easy crap, I thought... I'll simplify and get the difficult stuff right!
Then I snap out of reflections and stop thinking about the past. It's time to get up and move ahead. Steady, yet fast. Mustn't think way too much, Just solve anything, that’s thrown my way, as such!
Give Presentations, Contribute, Argue, Write Blogs, Articles, Code, Document, Design stuff and be an Analyzer. The day moves on and I'm just a little wiser.
Its late at night and the street-dogs bark at my car. As it speeds towards my home that's far, I wake my family up at midnight, And on their faces, I see a smiling light.
We laugh, we joke, we eat and talk. The weekend's near, we’re planning a long walk.
The day finally ends… With a tired body, a heavy head, I go to sleep and sleep like the dead.
But the sleep brings me bliss. Because doing my karma, is what I didn’t forget or miss. Tomorrow is going to be another day, And if you've got a thousand new battles for tomorrow… well, bring them on, my way!
The way the divine and me choose together, And at times, it’s a little bumpy just like bad weather. But fighting the bad weather is just a part of the game. If I did anything else I would go insane. Little, but Quality time, spent with the ones I Love, tell me that my efforts aren’t in vain.
(Ok, that was the philosophy part – now, just like life, let’s have some raw objectivism… :))
And then there are guys that say – “But you work for money and fame” “Yes”, I say – I bloody well do! Money, fame and a big fat name, And I wish anyone, who loves what he does, just the same! :)
It’s not “just a profession”! It’s who I AM!
And It goes on and on for many more lines… but I think I’ll stop here! At the end of the day it’s all about the perspective :)
Cheers, Rajiv.
P.S. – I think I’ll blog this! :) |
And then I received more than one emails telling me that I should in fact, seriously, blog this. I’ve seen other poems in the past that are a little depressing, (some of them are even cute or funny in their own way and they mean no harm) but this one was just way too depressing to not criticize blatantly. So, here it is. Officially blogged. My poetic reply, thoughts, views and stand on the so called, Programmer-Poetry from Mr. "Author Unknown" who is nowhere close to being a programmer. Something that would otherwise go to my personal journal, published live.
This poem, which started as a fun-email-forward, helped. Becuase it gave a chance to everyone in the mail trail, to take a pause, and ask themselves the two important questions, which I'm going to ask again, to everyone reading this post.
So, what do you do? Why do you do it? Have an interesting answer? Drop me a comment poem! :)
Posted on: Saturday, November 04, 2006
Since the rest of the Software, Hardware (and Nothing-To-Do-With-Both-Hardware-And-Software guys too), seem to be talking about this I thought I might as well chime in and put in my insignificant two cents. This is the picture of my desktop:

A couple of years ago I worked on a Mac for an hour or two. I liked a thing or two about the UI and went searching for utilities and tools that would let me tweak my windows and let me have the parts of the Mac's UI that I liked. I came pretty close to the Mac. Then In a few months I missed my start button. So I changed the skin, tweaked a couple of things, and a little bit of the Windows flavor started showing up again on my Windows desktop which was now looking pretty close to a Mac.
After about two years, the desktop of my work laptop is a perfect Hybrid that looks somewhat like Mac but is 100% PC (running on 100% Windows). For me that's going to stay like that (At-least till Microsoft throws a Vista Release at me. Not running Beta and RC Versions of an OS on my work machine. Just not that adventurous, anyways, I digress... so I'll come back to the point!).
There was a time when Mac Ads used to have a little bit of "something" in them. Remember the "Here's to the crazy ones" Ad? Ok, I'll admit, I never figured out what that Ad had to do with Apple but I kinda liked it. I was always into Microsoft Tools and Technologies so I wasn't going to spend cash on anything which doesn't run Visual Studio (or QuickBasic at that time)! But to an outsider like me, who has nothing to do with the Apple world, Apple looked like it was decent company making good products (that had nothing to do with my life) and good Ads.
Recently, Mac seems to have a sequence of Ads which the entire world seems to be talking about. Why? You have to see them to figure out why. Go ahead, click on that link! But if you just want a quick one line description of these Ads, the most accurate one I've found till now is Rory's comment on his own Blog:
"The ads aren't witty. They aren't clever. They aren't creative... with such a small market share, I suppose they have to be careful with their marketing budget, eh?" |
Some of these Ads try to depict that a Mac never crashes. Honestly, I've never used one long enough to figure out the truth, but Greg Riaz shows a Screen shot of the Blue'ish Screen of Death on a Mac.
Rory explains his reactions to this Ads using his Artistic Skills. Hilarious! But Not as funny as some of the other Reactions out there. He says, he's trying to be the "Nice" Rory instead of the "Mean" Rory. He keeps his Artistic Skills objective and makes a perfectly valid point, quite elegantly and humorously. Well, others haven't been as Nice on Apple as Rory and Greg have managed to be.
Take a look at this spoof for instance. I was a little confused about this spoof though, It starts off with Mac being better at PodCasts and PC's being better at Pie-Charts and then turns into a confusing fight between... well, are Pie-Charts more important or Pod-Casts. None-the-less, it's two minutes of completely insane entertainment worth wasting your time and Bandwidth on. And if you have more than 2 minutes, go on, read the comments under the spoof. You might see a couple of Zealots - both from the Apple and the PC side (you'll be able to spot them easily).
Entertaining? Wait, there's more! There's a whole host of spoofs at YouTube. For Example, there's one on Gaming on PC Vs. Gaming on Mac. No Offence to the Linux guys (I was one, almost for a year) but the inclusion of Linux in this spoof is "Sofa King" (to be read very fast, three times over) Hilarious! If you've made it this far you just have to waste some more time and see it to understand what I mean.
So you thought that's the end of it? No way! Follow the links on the Connected Video or just search for 'Mac Ad Spoof' on YouTube and you'll find tons of them. Some of them seem to be as good as the Originals (only much more funnier). In fact, with Linux and BSD in there for the added humor (example: this one), some of them seem to have a bigger Marketing Budget than Apple's Advertisement which just have the Mac and PC. :)
And I'm sure by this time, if you're into humor that's completely void of sense but really funny you would have found some Spoofs like this one. Keep browsing on YouTube. There are more!
In one of his comments Rory remarks:
"They make me embarrassed to be a Mac owner... I've still spent about $10,000 on Macs over the past several years, and these ads have actually strongly negatively impacted my capitalist-driven consumer joy... It's just Apple throwing its own feces at the other side of the fence, and it's ridiculous." |
But then, every action has an equal and opposite reaction. And if you want to get some kick out of some of this feces being thrown back into Apple's backyard go visit YouTube and see the spoofs! It's a Mad Mad Mac Mac World!!
And Btw, I'm keeping my slightly Mac'ish Desktop till I move to Vista. Why? Because I like mixing the best of all world when-ever I can. If there's a Mac Zealot somewhere who feels that Mac is better just because I used some UI tools and skins that look like Mac, go ahead, get happy! I won't make a spoof! Honest! :)
|
|
|