Archive for October, 2006

IE 7 is back on my machine

October 23, 2006 7:06 pm

With some help from Peter Gurevich, one of the IE 7 Performance PMs, I tracked down what caused IE 7 to basically lock up on my machine. Turns out it were the IE Developer Toolbar and IE DOM Explorer add-ons that were to blame. I disabled all but these two add-ons and saw no lockups any more.

I’m going to properly uninstall these add-ons so they’re completely gone and then I’ll be a happy IE 7 user!

Thank you Peter G for getting in touch!

So much for IE 7

October 18, 2006 9:14 pm

I installed the offical IE 7 release a few minutes ago, ran it, and it immediately started consuming 50% CPU time. The part of the UI where the Tabs get rendered (and the address bar / stop / refresh / search) was frozen and I couldn’t get the Favorites area to pop up.

Not good. Looks like I’m going to stick with IE 6 / Firefox for a long time.

Uninstalled.

My experience with offshore outsourcing software development

7:52 pm

I’m testing the beta version of the New York Times Reader (which I have a few beefs with, but I’m sure lots of people are already finding the same problems, so there’s little point in elaborating on those here). Beta testing it forced me to open a free account at the nytimes.com site. During the last few days the Reader happened to bring me this article about the challenges India faces in the software technology sector.

It got me thinking about my own experience with offshore software development outsourcing. Grossly simplified, what I see as the biggest problem is that the engineers you outsource the work to are good a cranking out code once they have a stable and very detailed requirements specification. But when it comes to testing and independent, creative work they fall quite short on what may be desired. If you don’t have detailed requirements, but loose goals, you’re in for a very bumpy ride in my experience.

Add to that the challenges of communicating clearly across time zones and cultures and you usually end up with delays and projects going over budget. Not to mention quality issues. It seems as if some coders don’t take responsibility for the initial quality they produce, but rely on testing at receiving end.

I’ve seen this personally in the last few months, and I’ve had reports from people I work with who have experienced pretty much the same thing. I know of several projects where the outcome was much much worse than expected.

I’m not saying that offshore outsourcing in general doesn’t work, but my experince tells me you need to be very very careful about who you pick as your contractor and you need to be even more careful about tracking the work on a week-by-week basis, possibly even a day-to-day basis.

The weasel way of doing Internet business

October 13, 2006 9:48 am

This just dropped in my mailbox yesterday.

 Weasel solicitation

I hate this tactic of attempting to get customers. 

I’m sure some unsuspecting people would think this is something they signed up for and have to pay. I know it says on there that it’s a solicitation, but making it look so much like an invoice is sure to fool some people. Which is what weasel companies like this count on. I mean, it even has a “Customer Number” on there for crying out loud.

Don’t be fooled. Don’t do business with these weasels.

News.com reviews Vista RC2 – are they off the mark a little?

October 12, 2006 9:24 pm

The review from news.com mentions several problems with RC2 that seem like steps backwards from RC1.

That may actually be the case, since, as far as I understand it, RC2 is built from what’s called the “RTM branch” in the source control system Microsoft uses to keep their code neat and orderly.

The thing about the way Microsoft uses source control is that they create “branches” of source code at certain points in time. This is documented at http://www.usenix.org/events/usenix-win2000/invitedtalks/lucovsky.ppt. Granted, this presentation refers to Windows 2000, but I doubt the principles have changed much.

The point that I want to make is that the RC2 source code (from the “RTM branch”, according to http://www.istartedsomething.com/20060901/windows-vista-beta-features-vs-content/) may have been branched off from the main trunk some time after the RC1 branch, but may not have had some of the RC1 code integrated back into it. Some code from the RC1 branch may not make it into the RTM branch at all, if it’s judged to be of dubious quality.

Branching 

Judging by the fact that what Microsoft terms the “RTM branch” started with build numbers at 5700, and that RC2 has a build number of 5744, calling it “RC2″ is a bit of a misnomer, really. It would more accurately be called an “RTM preview”, but since lots of folks have been screaming for an “RC2″, that’s what Microsoft probably decided to give them.

It would be interesting to hear some Microsoft folks comment on that news.com review or my little commentary here.

I’m debt free!

October 9, 2006 7:31 am

This is a momentous occasion and reason to celebrate!

I paid off my student loans with a balloon payment today. It was the last loan in my life so far. I don’t have a mortgage (rent the place we live in), the car (our one and only car) is paid off, and the only other thing you could describe as debt is what I run up on the credit card, but I pay that off every month.

It’s a truly liberating day! Now on to FI.

How did I end up working with Windows Presentation Foundation?

7:20 am

In one of my past posts, I talked a little about my impressions of Vista as a platform for software developers. Here’s the story of how I got involved with WPF.

My last two projects before starting on WPF were built around hosting IE in “something”.

The first “something” was an exe hosting IE and adding a bunch of window.external functionality. I took the lead in moving a somewhat old, pretty static UI infrastructure for presenting internet-updatable content to the XML/CSS/XSLT age. That involved a lot of using dynamic expressions to enable reflowing of the UI for different monitor sizes (the app was a fullscreen app). Towards the end of that project I started hearing about an XML-based application development thing coming from Microsoft, and I remember thinking “How cool! No more need for the mess of HTML / CSS / XSLT and JScript/dynamic expressions to glue it together.”

 The second “something” was an application for Windows Media Center, which at the time only offered hosted IE as its application development model (with a bunch of window.external functionality thrown in to get at the Media Center stuff, similar to how our exe had worked). Three of us wrote a pretty interesting little application that shipped for about a year and then was discontinued when circumstances changed on us drastically. Around the time this happened, the XML-based app development thing from Microsoft, better known then as “Avalon”, took more shape.

I was lucky enough to get to experience the energy that Microsoft projected at PDC05. It felt like an explosion of enthusiasm around the newly re-christened “Windows Presentation Foundation”. My eyes were popping at Greg Schechter’s talk. Manuel Clement’s talk was chock-full infectious excitement. I wanted to work with this new stuff.

Luckily the project(s) we were given to work on next required a level of “polish” that I doubted we could achieve using HTML, WinForms or any other technology we were proficient in. I advocated strongly for using WPF, and for some reason management went along. One of the requirements for one of the projects was that it had to run under Vista and more specifically under Media Center to get a great user experience. The level of “polish” that was required pretty much ruled out using HTML. We could have done all ActiveX controls, I suppose, or an HTML/Flash hybrid, but none of us had the required expertise to implement that, and the time frame was extremely tight to begin with.

To me the only way to solve the problem was using the incredible leverage of WPF to “get things done”, even with the steep, steep initial learning curve. I worked on some throw-away applications just to show my manager that this new platform had incredible potential and that I would be able to pick it up quickly enough to work with it seriously. He liked what he saw. The rest is material for another post. Let me just say now that the devil is in the details, and we had lots of challenges on the project overall. Once it’s out there I can talk more about it, but not yet.

If only I could work in an environment like this

7:08 am

http://joelonsoftware.com/articles/BionicOffice.html

Here’s a guy who gets it regarding office space for software developers. But you kind of figured that, didn’t you? I mean, it’s Joel Spolsky.

I used to work for a startup that had an open office space for eXtreme programming (specifically pair programming), and I just loved working in that environment. It was easy to walk over to someone else’s desk, yet at the same time quiet enough to get work done. And there was space, ah wonderful space.

Big corporations don’t seem to get it. We’re about to move into another building where I work, and it looks like we’ll have less space than where we are now. I remember III talking about how personal space for software developers is the number one productivity enhancer miles ahead of anything else.

Sigh.

Vista has a new Reliability and Performance app

October 5, 2006 10:50 pm

The coolest thing in it is the Reliability Monitor:

It tells you about crashes that happened in the past, applications that installed or uninstalled with failures, hardware failures, windows failures and so on, and then it compiles all that data into a nice visual to give you an impression of how stable your system is / was.

If you click on a graph point in the past, you get a report of what exactly happened on that day. In the graph above, I was playing around with getting OneNote 2007 Beta 2 TR installed after I had upgraded an Office 2007 Beta 2 install that didn’t include that particular component originally. I had lots of installer crashes and app crashes that day, and it shows in the dip in the graph.

Of course, the Performance graphs are not too shabby either:

It finally includes a hard drive monitor as well, not just CPU, memory and networking!

You can find it in Performance Information and Tools – Advanced Tools (or by typing “rel” into the Start Menu Search Box):

The WPF developer’s toolbelt

10:32 pm

This is a collection of tools that should be in every WPF developer’s toolbelt, if you ask me:

XAMLPad (from the Windows SDK [Full ISO|Express Web Download])
Snoop (from Pete Blois)
Perforator (from the Windows SDK) (Don’t forget to turn on the required debugging setting in the registry - mentioned in the article)
CLR Profiler
.Net Reflector (from Lutz Roeder)

If you’re a designer / developer you also want:

Microsoft Expression: Interactive Designer
MOBIFORM Aurora XAML Designer
Electric Rain Zam3D

And of course the staples:

.Net Framework 3.0 September 2006 CTP (I usually pick the complete installer to avoid download problems – it’s hidden a few paragraphs down under a link that says “for x86″)
Visual Studio 2005 / Visual Studio 2005 Express
“Cider” / “Orcas Preview for WPF”

Did I miss anything?