June 2003 - Posts
Michael Kanellos - in a well-reasoned piece titled What happens if SCO wins? - talks about coining the phrase "Engineer's Fatal Flaw" with his college roommate, illustrating it with "the belief that you passed physics, so you think you know everything." His roommate "had an answer for everything, and often it involved the death penalty, a flat tax or some other clean, simple solution that would have been absolutely insane to try in real life." He then goes on to say that "there is arrogance inside the scientific mind, and it rarely knows when to stop."
Pow! Boy, does that describe a lot of software "wizards". I recall a conversation with one of them a few years back. We were talking about the the inelligance of some garbage collection code, and this wiz had come up with an example that failed in a predicted but undesirable manner. So his conclusion was "they cannot ship this product without changing this" even though - if you knew of the potential behavior - there was a simple workaround.
I said, gee, lots of people having been doing stuff with the beta that didn't fall down dead. In fact, nobody could come up with a single manifestation of this "critical flaw". But that didn't matter to the wiz who said that he was going to take this "to the top" to make sure it was changed. I suggested that, before he did that, he try to outline the cost - in terms of extra development, testing, and potentially slipping the product - of implementing his change. His response was "it doesn't matter what it costs, this is wrong". I strongly suggested that he not use the approach that cost doesn't matter because - in virtually any domain, including academia - it does matter.
So, what happened? Nothing, really. He talked up his critical flaw, other bright sparks looked at it and said that, while perhaps it wasn't the perfect solution, there were a lot of other factors to consider and it wasn't worth changing. Which prompted the "wiz" to mutter about wholesale firings.
Sometime I wonder what it's like to live in a world where everything is so black and white.
POSTSCRIPT: In college, I learned that the dorm nicknames for me and my roommate were "jazz" and "rock". For a year or so, I figured that Steve was "rock" because he was a weightlifter and built like a brick, and I certainly liked jazz (Steve was more of R&R guy). Well...it turns out that I was "rock" because nobody could convince me of anything! Ah, the arrogance..and ignorance...of youth.
Jon Box commented in my previous post about name confusion that he was almost checked into Don Box's room. Which reminded me of this story (hotel part comes at the end)...
5 years ago I had just flown into VBITS Orlando all the way from Johannesberg from doing a very interesting developer conference with Phil Weber. After the conference we rented a car and drove something like 6 hours out to a private game park in the Krueger. Phil had booked over the Internet and my only requirement was that they have power so I could write a few articles on my laptop. Of course, there was no power. They had one battery powered camp light. The water for the place was heated over a wood fire under an adobe cistern. So...the camp people took my laptop each night to another camp about 1/2 hour away and recharged it, bringing it back in the morning. Needless to say, that earned them a substantial tip!
Anyway, when it was time to leave, we drove the 6 hours back to Johannesberg where I jumped on a plane to London. Where I had to switch between Heathrow and Gatwick (which caused my luggage to disappear for 3 days) and then fly non-stop to Orlando. It took a while to hassle through the non-appearance of the luggage, and then a shuttle to the Dolphin. Get the picture? I am completely burned out by this point and just want to find a corner to curl up and die in.
So the Dolphin assigns me a room (non-smoking requested) that, when I open the door, is reeking of smoke. OK, a familiar problem. Back to the lobby (fortunately, no luggage to carry except laptop) to get a new room. When I open the door to that room, it contains about a half-dozen guys in a poker game! Hey, I would have stayed but they were smoking too. So, back to the lobby for a 3rd room.
3rd time's the charm, right? No stench of smoke, and no people. But there's some luggage hanging up and some VBITS collateral on the desk. I'm not really thinking clearly any more, but the thought goes through my head "hey, maybe I'm sharing a room with Chris Kinsman again...that's the brand of laptop he uses and that kind of looks like his luggage". So, I decide to take a shower before heading for bed to sleep for 24 hours, but after stripping down I decide to check e-mail (hey, it's been like a week!) so I dial up. While it's downloading, I head for the shower and notice the VBITS attendee badge lying on the desk. Which has the name "Juan Lopez" on it! I'm standing there buck naked - frozen - with the only thought in my mind being what the heck is Juan going to think if he opens the door to his room and sees me standing there!?
So...jumping forward...can you imagine the scene where Don Box finds Jon Box...in his underwear (hey, Jon might even be wearing a pair of "Don's Boxers") in his room? <g>
There's a story in today's Wall Street Journal about United Airlines installing in-flight e-mail by the end of the year. $15.98 per flight, plus $.10 per KB over 2KB. You're going to plug into the phones already on the plane and configure Verizon as a dial-up ISP. Gee, they did such a good job getting power to the seats (industry joke there) that I can hardly wait.
I just got done writing the editor's note for VSLive! Orlando (I'm the conference chair for VBITS and VSLive!), which helped clarify in my own mind something that I observed last week while doing a couple of INETA user group presentations.
First, for Julia's group in Burlington Vermont where I did a presentation on "Architecture and Design for .NET", I was struck by the modest scale of the applications being built there. No 100-person IT departments: In fact, it seemed that many of the members were the entire IT department in their organization! And these weren't just mom & pop operations, but real industrial / distribution / retailing businesses. Mixed in with were a few CS types, including at least one university CS professor, but the feeling I came away with was of people who needed to get a lot done with very little in the way of resources. They were as excited about SharePoint as they were about VS.NET because it was that much more functionality they could leverage.
And in Boston, where Chris Pels allowed me to present on "Resources and Globalization for .NET", the clear majority of the members - at least at that particular meeting - were working on rich / smart / Windows client development, mostly using VB. Lots of larger enterprises represented in industries like finance and insurance. So, while these guys have a bit more to work with in terms of resources, they too were mostly interested in getting their jobs done. Coming after my talk, Jeff Richter - an acknowledged wizard of .NET's internal workings - reprised a talk he did at TechEd that highlighted a few of his favorite technical topics including code obfuscation, native image generation, and theoretical performance improvements of managed code.Talking to the members afterwards, all I heard was "yeah, that stuff was interesting but it's not anything I can use like your system for automating resource builds". Of course, that's what you expect people to say (you never hear directly that your talk wasn't anything but great) but the point that it illustrated for me is that there are people who like technical stuff for its own sake, and those who are mostly interested in applying the technology to build a solution.
In the past, this was a much clearer distinction. C and C++ developers built the Windows platform and libraries of reusable components, but it wasn't until the VB developer - drawn in many cases from the end-user ranks - built solutions that the Windows platform really took off. These two types of developers were at different ends of a spectrum anchored by the business process on one end, and something close to computer science on the other end.
With .NET, the picture has been substantially clouded. Developers are told to pick whichever language they feel more comfortable with, but then all sorts of caveats - some real, some imagined - pop up. And are debated endlessly. With the launching of .NET, the obvious focus has been on the lower-level platform functionality. And so the developers at the business end of the spectrum - who have seen a substantial shrinking of their world - have geared up to move further down the chain towards the platform developer. It isn't so much the language, but rather what they _do_ with the language that distinguishes platform developers. They would rather write an elegant, reusable class library than do almost anything else, particularly interact with users. But people used to building solutions are perceiving that the only way they'll be able to stay competitive in the IT industry is by becoming more technical. In effect, we are marginalizing out those who would rather talk to users in favor of those who would rather talk to the platform.
What seems clear to me, though, is that any particular developer can't optimize for both ends of the spectrum at the same time. What's has been sacrificed so far is the focus on the end-user's needs. Microsoft has talked about re-enabling RAD - and has indicated that the emphasis will be on VB - yet C# developers seem to believe that they'll get all the RAD stuff as well. Can that really be true? Can Microsoft really optimize a programming language & toolset for both solutions builders and platform builders? In my opinion, VB developers transitioning to C# are betting the answer to that question is "yes". And I don't think that - in the long run - that is going to be a good bet to make, particularly if your strength lies in building end-user solutions.
Ever notice that the n-tier samples for developers are not truly intended for tiered distribution? Of course, that's because us devs don't have multi-machine environments to mirror what's actually used by our businesses (or customers). So, while the sample apps don't mirror real world, they do make handy demos. Can you imagine telling your boss / customer / spouse <g> that you need to have a dedicated development and test setup with, say, 4 machines and associated networking equipment? Would you really want to set up, configure, and manage this infrastructure?
What if you had - for example - 3 separate VMWare or Connectix images to simulate those 3 machines? What if you were able to simulate in software - using ISAS - the network firewalls separating those machine? Would that be cool?
So, what would you like to see on those images? Obviously an IIS Server and a SQL Server. And VS.NET installed in a separate image (or on a separate machine) because, after all, who's going to install VS.NET on a production server?
What would this "ideal" configuration really look like? Let your mind run free: Don't worry right now about details like licensing. <g> Let me know in email (email@example.com) or by posting a comment to this entry
Jesse commented to my previous post that the name of new INETA speaker 'Jon Box' was "way too close" to 'Don Box'. (he then went on to mention a BillG confusion). Of course, there are at least a couple of other 'Don's in our small industry - though perhaps none that are commonly referred to as "the Don" - but it does highlight the potential for confusion (not only that, but Jon Box is a coworker of similar-sounding Dan Fox). Maybe, like the Screen Actors Guild, we need more clearly unique names? Maybe Jon should change his name to Johanne. <g>
All of this reminds me of a "Windows-NT Intranet Solutions" (egad, what a name!) conference in Tokyo in 1995. I was walking across the show lobby with a couple of friends about 1/2 hour after Bill'Gs keynote. I was in the center - bloviating about something, to which my friends were listening as if it were truly important - and several Japanese attendees ran up and asked for my autograph! Cool! Nobody's ever asked for that before! Very flattering...
Except...hmm maybe they were confused. I pointed out that I was not Bill - indicating my speaker badge with my own name on it - and they said "oh...yes...we knew that...may we still have your autograph?". They then turned to all the people I was with and asked for their autographs as well. Clearly, they'd made a mistake but they didn't want to embarass any of us by excluding someone.
So, a unique name isn't enough to guarantee uniqueness. You also have to not look even remotely like anyone else. <g>