« February 2005 | Main | April 2005 »

March 31, 2005

re: Overheard in the halls on the hill above Redmond:

Fortunately you wrote "1 April" on the bottom line... GREAT JOKE! :-)

re: Petitions and other Silliness

It's not about developer support. It's about customers who wrote applications using VB6 who can't sell their programs because MS has (apparently) walked away from VB6. Most developers can take care of themselves. It's their customers who are worried that the programs they have developed over the last decade are no longer salable. They're concerned that a year or two from now their applications won't work or be supported on later versions--true or not.

Overheard in the halls on the hill above Redmond:

  • It seems that the the C# language is to be redesigned to be more palatable to Visual Basic developers—especially those whose first name is Mortimer. Microsoft plans to make the base font larger and make the language case insensitive—but only if developers use all lower case. In addition, the C# language’s optional semicolon will be disabled by default. As developers type Dim, Visual Studio will automatically beep (loudly) and convert the declaration to proper C# syntax. There is no truth to the rumor that if Visual Basic developers attempt to use C#-only features that 110 volts be routed to the mouse. It’s really just 90 volts (except in Japan and the UK where it’s slightly higher.
  • We also heard that plans to “sim ship” the localized versions of Visual Studio 2005 have been abandoned. Apparently, the current schedule would force the User Education team to ship the documentation next week—ready or not. This eliminates the plans to mark out last-minute changes using big black pens sometime late in the production cycle. The final decision to abandon the sim ship concept was precipitated by the understanding it was going to take three additional months to translate the doc into French, Kurdish and Louisianaian. The red-state versions are also expected to further delay shipment because of unanticipated changes required by the politically correct police. For example, many of these states require that all code samples that use “foo” or “bar” (or combinations thereof) be expunged as the post “Saving Private Ryan” public now knows what the acronym means. It was suggested that the more appropriate word “Fred” be used but that term has also been tainted through its association with a discredited version of Visual Basic. No, Microsoft has not decided to stop shipping documentation altogether and refer customers with questions to their support sites in Afghanistan—it seems they could not get enough phone lines installed.
  • We've seen plans to release a new $12.95 PCI adapter card that permits PC systems to run Xbox games. Retailers were assured that sales of Xbox consoles would not be adversely affected as the price of the Xbox is going to be reduced to $9.00 (Canadian)—they hope to make up the loss per unit in volume.  
  • An undisclosed member of the SQL Server team announced that they are going to actually begin speaking to the Visual Studio team. Apparently this decision was made after the data engine team discovered that the Visual Studio team had renamed ADO classic to ODO (old data objects), and ADO.NET to NDA (new data objects) and then again to ADAOL (another data access object layer). At this point they decided to open a permanent teletype link to ensure that the two teams are better coordinated. This will be implemented as soon as they decide on a network protocol.
  • In an effort to get in touch with more small offices worried about security, Microsoft has released their new USB 2.0 shredder. The new and improved version is capable of shredding up to eight documents a second (staples and all). Unlike the previous version that balked at pages longer than 800 words or documents that contained too many sticky similes, the USB 2.0 version chews up documents faster than accessing that web site referred by your cousin from Cleveland.   

-30-

1 April, 2005

 

Some people should feel ashamed of themselves

Petitions and other Silliness

            I just got back from the Developer Connections conference in Orlando. If I had gone for the weather, I would have been sorely disappointed as we were virtually trapped in the hotel the whole week ducking one tornado watch or thunderstorm after another. The lobby at the Hyatt (a very nice hotel) was closed for awhile as the roof leaked and got the parrots wet. Except for one dinner at the White Horse (the sports bar), the food and service were stellar—even that (truly terrible experience) was mitigated by the management who tore up the bill without hesitation. Now that’s service.

When I visited the speaker’s lounge I felt like a caged bear with kids poking me with sharp sticks. It seems that the Microsoft folks in attendance took exception to the Visual Basic 6.0 petition that I signed along with a number of other MVPs. A couple implied that I would be lucky to keep my MVP status because I chose to speak up. Sadly, I think these Microsoft folks just don’t get it. When Microsoft decided (quite some time ago) to “drop support” for Visual Basic 6.0 I don’t think they realized the impact this would have on the companies that used Visual Basic to create commercial applications. Let me put it this way:

Sam starts his day by cruising the internet—he’s looking for new car as his 78 Dodge Dart is getting hard to start—not to mention the smell of dead cat in the backseat. Liking the looks and features of the new Ynhoi, he does a bit of research and discovers that the car uses well-respected and well-understood technology. It’s visually a bit basic on the looks side, but it’s easy to maintain and he knows lots of places where he can get it serviced. Ah, but then he discovers that the engine is built by another large well-respected company—but that company has decided to drop its support in favor of the new hydrogen powercell engine. On top of that, it seems this company supplies engines for most of the cars he’s interested in buying—at least the ones he can afford. He read that the dealer can pay extra for support, but the engine company has already moved its engineers on to perfect the new hydrogen technology.

Sam’s not sure what that means, but he doesn’t want to get stuck with a car that he can’t get serviced a few years from now. He reads all about how the new technology is very cool but wonders if he’ll need a special refueling station or some special changes in his garage framework--he's just not sure. He wonders if it would be foolhardy to choose a car based on apparently dated technology. He doesn’t want to have to convince his wife (who watches the budget like a hawk) that he should buy this new car that has an engine that won’t be around that much longer. He decides to talk to the dealer anyway. The salesman assures him that the car does everything he needs and more and that they intend to support it for years to come. They say that the engine is very reliable as they have had more than ten years to perfect it and match it to the latest XP transmission.  “But what if something goes wrong with the engine in a few years, say in 2008? Will you still be able to get parts?” The dealer turns a bit red, and shuffles as he does not know the answer to this question—one that he’s been getting a lot lately. He knows his own company is years away from creating a hydrogen powercell model and he’s not really sure he’ll be in business in 2008.

Sam decides to wait on buying a new car for awhile. He wants to see how the new hydrogen engines hold up under real driving conditions and until there are more people out there that can service them. Who knows, perhaps by the time he’s ready to buy, the technology might have changed again. He remembers hearing about that new Longhorn transmission but he’s not seen any of the new hydrogen engines work with it. When Sam calls the dealer a week later to ask another question he finds they’ve closed their doors as have some of the other car dealers in town. He feels lucky that he didn’t buy that car after all—and then his old clunker starts to make that noise again.

I think it's too bad Microsoft can’t take back their decision to stop support—the dye is cast. It’s probably too late for the tens of thousands of software vendors who sell Visual Basic 6.0-based applications as many of these companies can’t afford to retool—not in these hard times--even if they knew how. I expect that it will take some pretty serious back-peddling and fence mending to get the market to trust Visual Basic again—in any form.

March 22, 2005

The Worst of the .NET 1.x Years

re: A Chat with Eric Rudder and a Response

Actually, it's bad for authors and trainers too. All of this technology churn means we have to constantly rewrite our books and training materials. Consider that books don't ususally stay on the bookstore shelves more than a couple of years. There always seems to be a newer version, an SP3, an upgrade that makes them obsolete. My Hitchhiker's Guides were revised six times in about eight years.

March 21, 2005

re: A Chat with Eric Rudder and a Response

Well said as usual Bill. Your "real-world" perspective is always nice to get. I think that sometimes the air over at MS might get a little thin inside and they forget what the real people are dealing with. Businesses _can't_ afford, and average developers _don't_ want to be re-learning the latest technologies every five years. Perhaps this is good for authors, speakers and the like, but real folks just aren't so enthusiastic about it; especially when they have deadlines, no money or time for training as it is, and a family waiting at home for them.

re: A Retired Coder's Contribution

Having only seen you speak live once, I am compelled to listen to you. You manage to bring the boring world of techno-babble to light.

Do you think your military experience has aided your management?

March 20, 2005

re: The Life and Death of VB6

Sitting in a traffic jam watching the new train go by with lots of empty seats.

This is the best description for VB6 developers that I've heard. :)

Hope you're well and good to see that you're fighting the good fight.

Graham.

March 18, 2005

A Chat with Eric Rudder and a Response

We had a chat this morning with Eric Rudder. He gave us a few promises regarding the future of the Visual Basic 6.0 runtime. I don’t know how many folks from the development team are considering switching to the Halo group after this… Oh, another interesting point. For the first time, we were attacked by several spammers. Thankfully the moderator was able to get them off, but geeze, cant’ we get anything done in this industry without these mindless twits disrupting people trying to carry on a conversation?

 

Not long there after, I was asked by a member of the press to comment on the public chat this morning with Eric Rudder.  This is how I responded:

 

Let me start by saying that I think that Microsoft is really interested in the welfare of the developer community. If they were truly arrogant as some would have you believe, they would not open themselves up for comment and shield people like Eric Rudder from the outside world. However, as I see it, they’re between Iraq and a hard place (so to speak). On the one hand they want to get away from COM-based DLL-hell-ridden application architectures but they have created a whole world of developers that use Visual Basic 6.0 to create them. On the other hand they have a cure for the issues raised by COM-based architectures: the .NET Framework. The problem is they can’t seem to find a good formula to get existing Visual Basic 6.0 “developers” to migrate despite the stories of miracle cures.  

 

It’s hard to put a finger on what a Visual Basic developer really is. It’s not like C++ that requires a degree in abstract thinking to understand. Consider that Visual Basic in its many forms is easy enough for virtually anyone to use—regardless of the consequences or the skill level. In the hands of some developers I see Visual Basic as a poor-man’s Jurassic Park home cloning kit—before long there are velociraptors eating the neighborhood kids and chewing up your data. No, Visual Basic is not the culprit, but in the hands of what I call “paradevelopers”, VB can cause lots of unintended side-effects and support nightmares for IT professionals. A paradeveloper is typically a professional person that does not program for a living, but writes programs in their job. These folks can be doctors, lawyers, receptionists and janitors, moms, dads, kids and cousins as well as hobbyists and nerdowells. Visual Basic is also a serious tool used by millions of serious developers—those that know how to build safe, fast and efficient applications and know how to work around and with the issues. These folks work for or in companies large and small all over the planet. Thanks to over a decade of building up Visual Basic as the language of choice for these customers, Microsoft has to figure out how to get them to convert so they all can start creating applications that won’t cause as many problems, won’t leak data like a sieve, and will work with (dare I say it) Longhorn.

 

When Microsoft introduced Visual Basic .NET they assumed that once the “new and improved” language hit the streets that the hordes of developers would adopt it. They didn’t. This new language they called “Visual Basic” .NET was different enough that many of the paradevelopers and the pros didn’t want to invest in the new version. The other problem was that in the early days Microsoft kept saying that .NET was all about Web Services and ASP development. Not everyone (by far) was building web sites and they had no idea how a web service could help them. This put a damper on the momentum to migrate as much as the sour economy. Lots of companies simply didn’t (and still don’t) have the money to invest in yet another new technology. They think that as long as their old gas-guzzler is still running, they can afford to pay a bit more for gas—as long as their application is still working, they don’t see the need to convert. They figure that they should wait until Longhorn anyway—it’s just another few months away (or so they think). When it comes they’ll reevaluate the impact and whether or not it makes sense to migrate. Who knows, by then there might be yet another technology entirely different from .NET and they will save money by skipping this wave.

 

What should Microsoft do? Perhaps if Microsoft had named the new language something else (like “Visual Fred” or “B#”), they could have kept Visual Basic alive and made the transition smoother for their customers—but that’s water under the bridge. I don’t see Microsoft doing much more with Visual Basic 6.0. They simply don’t have the resources to do both.  However, I think they need to focus on what’s best for Visual Basic 6.0 developers—the people they convinced that this was the best long-term solution for their application requirements. I think this means keeping the product alive by making sure it works in XP, Longhorn and beyond. This means keeping their staff working on bug fixes and compatibility issues as these new platforms evolve. I think we heard today in the chat that Eric has committed to this. I would like to hear this from Bill (the other one). Remember when Steve said “OS/2 OS/2 OS/2”? I would like to see continued support for Visual Basic 6.0. They have agreed to provide this (for a fee) but does this mean they pass this off to people overseas that don’t know the product?

 

I also think that Microsoft needs to take a hard look at the disruption they’ve caused in the industry as they constantly churn the technology. They can’t expect to reinvent the wheel every five years or so and expect the world to adopt the new technology just because it’s new and improved.

 

 

March 15, 2005

re: The VB6 Petition

Hey Russ, leave some feedback on the link for my name, and we'll get you straightened out. Be sure to include an email I can contact you at. Thanks!

Re: The VB6 Petition

Hey Bill,

"The world is full of developers with a wide range of skills and talents. Many are (what I call) â??paradevelopersâ?â??those with other interests or professions that simply want to write a simple Windows program. "

Well said. that's a point a lot of people seem to overlook.

re: The VB6 Petition

Russ: I have no control over the petition or those that manage it. I would take up your issues with them.

re: The VB6 Petition

I don’t agree with Steve that Visual Basic 6.0 should go. The world is full of developers with a wide range of skills and talents. Many are (what I call) “paradevelopers”—those with other interests or professions that simply want to write a simple Windows program. These doctors, lawyers, receptionists, students, moms and dads have a tough enough time as it is with the fundamentals of programming. To force them to use OO programming disciplines is arrogant.
I expect that many of the issues you’re seeing in the healthcare industry (where I worked while at EDS) have to do with the data store many hospitals and providers are using—JET. No amount of OO discipline will help protect a JET database from being compromised or damaged by inept users.
Nope, Visual Basic 6.0 might not be right for Steve’s shop and I think that disciplined programming is a good idea. I just don’t want to kill the language because it does not seem to meet the needs of an OO purist. There are plenty of serious developers using disciplined coding techniques creating safe applications with Visual Basic 6.0.

re: The VB6 Petition

i can not sign the petition because the web filter is blocking it.

re: A Retired Coder's Contribution

Second that! Been a fan since the early VB hitchhiker guides and I still keep the "old" copies on my bookshelf. Just can't get myself to throw them out. I always take your writings and "real-world" advice to heart.

Keep up the great work Bill! You are "helping"!!

March 14, 2005

re: The VB6 Petition

I take a hard line where this issue is concerned. Having been a developer for over twenty-three years, I've seen a lot of languages come and go. Some that came should have stayed but others definitely should have gone. In my opinion VB 6.0 is one of those that should go. Because of its undisciplined nature it allowed for sloppy coding practice. And in today’s world of intrusions, regulatory compliance, etc., sloppiness and inattention to detail cannot be tolerated. I know in the healthcare industry we are continuously being impacted by government regulation such as SOX and HIPPA. So I am glad that I have all of the power of VB.NET and the .NET framework to help me cope with the increasing amount of sophistication that our software requires. Around my shop as a Senior Architect I will not allow another line of VB 6.0 code to be written.

re: A Retired Coder's Contribution

Bill,

I hope that you didn't infer from my comments that a project manager should only be one who codes. I was trying to suggest that a program manager should know both - coding and managing.

But, if it was my post that made you write your response, then great!

I've been reading, listening, and learning from you for years. If one student's praise is enough to make you feel like you've made a difference, then let me tell you...

You have and you do. I know there's many more Vaughn fans out there. Your work has helped and continues to do so.

It was you who brought be out of the Microsoft Jet realm and into database servers. It was you who first taught me ADO when I was using DAO.

Most importantly, it was you and your work that helped me be a better programmer and manager.

Your hopes have turned into actions, and your actions have made me better. I'll be singing your praises till they tell me to shutup.

March 12, 2005

re: The VB6 Petition

Bill, I definitely agree with you.
And I have a question for the next VB6 developer who try to be right with the petition: How many other languages do you know? How many of those have you used in the last 5 years?
I suspect many of them will answer "zero".

re: The VB6 Petition

I am closer to your views than I am to Rockys. True parents need to make hard decisions, but I simply don't think the upgrade wizard is enough.

But hey this means work for us to do .. so who am I kiddin ;)

March 11, 2005

re: The VB6 Petition

This is the most reasoned comment I've seen on the topic since it started.

March 08, 2005

Breaking Change? Missing server times out

I tripped across a problem that I hope is just a bug. When I opened a connection with a bad server name I got a timeout (number -2). I expected a "SQL Server not found or..." exception (17) because that's what we've been getting since the dawn of time with ADO classic and ADO.NET 1.0 and 1.1.

Dim Cn as New SQLConnection
Cn.Open()

For those that can't read Visual Basic .NET...

Data.SqlClient.SqlConnection Cn = New SqlConnection("Server=fred;Integrated Security=SSPI;");
Cn.Open();

These throw a timeout (-2) exception--not a SqlException 17.

 

I'm testing the FebCTP Visual Studio 2005 with SQL Server 2005 in the same VPC.

 

Incidentelly, we now know why ADO.NET 2.0 is behaving like this. I can't reveal the reason (NDA), but I'm on top of the issue. I'll post something once we figure out what to do. Stay tuned.

March 04, 2005

Customer Support: A Success Story

March 4, 2005 • Vol.27 Issue 9
Page(s) 21 in print issue


My Microsoft wireless router now paperweight went south for the winter. Because its range was about as far as I could throw it in the living room, I decided to upgrade to a router-bridge rig that could get me better connectivity. My house is pretty ordinary by U.S. standards—wood frame and not much that would block the 2.5GHz signal. I had already switched away from my Siemens 2.5GHz two-line phone system because it (according to Siemens) "used up" the entire band (and then some). I replaced it with a Uniden 5.8GHz phone that theoretically wouldn't fight as much with the wireless 802.11 network.


I had a tough time finding a suitable wireless access point and repeater that would work together, even after researching. Most of the rigs warned that they only bridge between their own proprietary units and are not compatible with other brands. The other factor I considered was past experience with the company and its support team. While I'm not exactly a village idiot when it comes to installing hardware, sometimes I need a bit of help working out the kinks. As you know, I'm also partial to people that don't read scripts and speak in gerunds to answer my questions.

Installing The Buffalo G54

While browsing at CompUSA, I stumbled upon a Buffalo G54 AirStation and Repeater kit. This wireless router and separate (very small) repeater are designed and preprogrammed to intercommunicate to permit a much wider 802.11 coverage area. The price was right (about $125), so I asked around and found it was little known but pretty well respected. I was warned that setup was tough but support was good. It was also touted to have excellent range. I'd be happy to be able to span the house (about a 120-foot radius), so this seemed like a good deal.

The G54 was hard to set up. (Ominously) the problems started with the documentation; apparently, it's in Chenglanish. You know, English translated from Danish translated from Chinese. When you connect to the units via HTTP, the text for some of the dialogs was almost comical. Yes, the G54 had every option imaginable: three different types of security and the ability to set every possible 802.11 option you ever heard of (and probably several you haven't). The next problem was figuring out how to deactivate many of the features. Sure, I wanted WEP security and MAC filtering, but I didn't need the DHCP functionality or the myriad other security and configuration features. By the time I got done tinkering, I couldn't connect, but I did get it to flash the LEDs like a Christmas tree.

How Customer Support Sites Can Be Run

In desperation, I called the Buffalo Tech 24/7 support line and almost immediately was connected with an intelligent-sounding gentleman who (in American English) patiently walked me through the configuration. (He must have been on Valium.) What was especially nice is that he adapted his instructions to my skill level. Instead of saying, "Press the Green Start button with your left mouse button; now click Run and type cmd," he said, "Start a command prompt."

He was very well trained and understood just what to do and what I would expect to see at each stage. This is no small feat. It's really (really) hard to visualize the user's system and operate the system by remote verbal control. I know: I've had to do it. He was also smart enough to know that my A21p 3Com laptop LAN card had failed (again) and how to get around that. After about 45 minutes, we were able to resurrect the router and bridge so they could be deployed.

The only beef I have with Buffalo is that it doesn't have a "turn-around" RMA system. That is, if I wanted to send the units back for an exchange, I would have to send them to Buffalo first; it would then (and only then) send me replacement units after a "short" two-day turnaround. That means I would be wireless for about 10 days. Not acceptable! If we hadn't been able to reconfigure the units, they would have gone back to CompUSA.

After mentioning offshoring customer service in an earlier editorial, I have received one anecdote after another from readers, friends, and family who have had similar confrontations with offshore customer support centers. I'm convinced that American companies can't afford to send their customer service departments offshore. The question is, how many American jobs and customers are lost because of this short-sighted attitude toward customer service?

Buffalo Technology goes the extra mile in providing good customer service. I hope they can afford to keep it up. I would hate to have them go the way of the American Bison.

Update: (May 30, 2006) I retired the Buffalo wireless router today. It too was unable to broadcast through the electronic clutter in my house...

re: Setting up a VPC for use with CTP and other TLAs (or, setting up a Virtual PC to use with the Community Tech Previews)

I've seen this in the ASPNET 2.0 roadshow. I'm gonna introduce the best new features of ASPNET 2.0 and the team system next week in my company, but it seems that i can't download the team system and the team foundation server anywhere? Isn't it available for MSDN subscribers?

I really want to give a demo on unit/webtesting and checkins <-> shelves... Can anyone help me on this? I only need the developer.

March 02, 2005

It makes it all worth it...