Crisis? What Crisis?

In a comment, Kent asks:

Doesn't it bother you that MS doesn't see the current state of VB.Net as a problem?

No, Kent, it doesn't bother me, because I don't see the current state of VB.NET as a problem, at least not a major one. Here's why:

Microsoft has always positioned VB as a RAD tool. By definition, RAD applications are meant to be developed rapidly. So while I agree that it would be nice if VB6 code could port effortlessly to VB.NET, I don't think the fact that it doesn't will present a huge problem to the vast majority of VB users: Most VB apps were written in a few days or weeks, and/or were written to solve very specific problems. Many of these apps can be maintained in VB6 for the remainder of their useful lives. If they do need to be rewritten, doing so will not require a great deal of effort -- they were developed rapidly to begin with, remember?

Most of the angst I see regarding the lack of compatibility between "Classic" VB and VB.NET comes from people who have used VB not as a RAD tool, but rather to develop large, complex applications. They have made a large investment in VB code, and expected to be able to collect dividends on that investment for many years. If I were in their position, I'd probably feel similarly frustrated. But I don't think their frustration equates to a major problem for the "state of VB": Their situation is an exception, rather than the rule.

permalink 25 Aug 03 5:44 PM · Comments (3) · Tags: Rants, VB
Celiac Chicks

I've been helping some friends of mine set up a weblog using Movable Type. I'm very impressed with MT; I may switch to it when my Radio license expires. I found a great hosting plan for my friends: $50/year (or $4.95/month), including free MT installation. mtvHosting's service has been top-notch; if your site doesn't require Windows, I highly recommend them.

permalink 25 Aug 03 10:50 AM · Comments (0)
...and boy, is my butt tired!

This is what I did today. I rode the "65-mile loop" (according to my cycle computer, it was closer to 71 miles). It was a beautiful day, and I felt surprisingly good for the first 40 miles. But then we turned into a headwind for the next 20 miles, and I struggled a little. I ended up averaging about 15 mph, which isn't too bad for an old fat guy. ;-)

permalink 16 Aug 03 6:34 PM · Comments (2) · Tags: Cycling
I have a dream...

Julia Lerman laments the VB.NET stigma and C# elitism being perpetuated by the trade press. In particular, she refers to this editorial in asp.netPRO magazine. I found that editorial troubling as well. In it, Elden Nelson writes:

Whether it's just or not, C# developers make more money, get work more easily, and enjoy more prestige than VB developers.

He then recommends that VB.NET developers learn C# at their earliest opportunity, presumably to cash in on the cachet.

Now, I don't disagree that it's a good idea for VB developers to learn C#. But I do object to asp.netPRO's tacit endorsement of language bigotry. What if the editorial had said:

Whether it's just or not, white developers make more money, get work more easily, and enjoy more prestige than minority developers

(Or, as one of the commenters on Julia's blog suggests, "...male developers make more money, etc. than female developers")? If the situation is 'not just,' as Nelson implies, why isn't he working to change it?

permalink 15 Aug 03 9:22 AM · Comments (1) · Tags: .NET, Rants, VB
PADNUG News

A couple of months ago, I volunteered to serve as speaker coordinator for PADNUG, the Portland Area .NET User Group. (Apparently, group president Chris Goldfarb was feeling a bit overwhelmed. ;-) As it turned out, we didn't have a speaker lined up for the rapidly-approaching July meeting, so I coordinated myself to give the talk, Create Great .NET User Interfaces. This is a reprise of a presentation I gave several times at VSLive! conferences a few years ago.

I was pleasantly surprised to meet several fellow .NET webloggers during and after the meeting: Scott Hanselman and Microsoft's Jim Blizzard kibitzed from the front row. And though I didn't recognize him at the time, Rory Blyth, a shoo-in for the title of "Most Entertaining .NET Weblogger," stopped by my table at the Buffalo Gap Saloon several times to steal french fries.

Before the meeting, I reviewed Scott Hanselman's tips for a successful presentation. The one thing I wish I had done differently is create links in a single location to all of my sample projects; I fumbled a bit trying to locate my sample code. Overall, though, the talk seemed to go OK. I look forward to presenting again the next time I can't find a speaker. (If you'd like to speak to our group, please don't hesitate to drop me a line.)

permalink 14 Aug 03 4:25 PM · Comments (0)
Upgrade Cheers and Jeers

My aging desktop system (333 MHz Celeron, circa 1999) is ripe for replacement. I would have purchased a new computer months ago, but I promised my wife I won't buy a new machine until I've filed our overdue tax returns (we're due refunds on all of them, so it's not as dire a situation as it sounds. Still, they are quite late, and I needed some motivation to move the task higher on my list of priorities, so this is what we came up with.) In preparation for converting my existing system into a home media server, I purchased a 120GB hard drive and installed it this weekend.

Trouble is, the ancient BIOS on this machine doesn't recognize anything over 32GB! So, after futzing with master/slave settings and figuring out that I had to disconnect my internal Zip drive (I now have five IDE devices -- the Zip drive, DVD-ROM, CD-RW, and two hard disks -- which is one too many; I'll transplant the Zip drive into my new machine, if I ever get our taxes done), I discovered that I'm now the proud owner of a new 32GB drive.

Next stop: the ABIT Web site, to download the most recent BIOS update. Thankfully, flashing the BIOS was easy (I had never attempted it before) and came off without a hitch. Unfortunately, however, it didn't solve my capacity problem.

Finally, I decided to try running the hard disk setup utility from DOS rather than from within Windows. Success! The utility recognized the full capacity of the drive, and installed a dynamic drive overlay to work around the BIOS limitation. So now I have oodles and oodles of disk space; this must be how owners of the original IBM XT felt when they contemplated the seemingly limitless potential of their new 10MB hard drives! Only took me five hours to install...

I also bought a 128MB Secure Digital card for my Palm Tungsten T. No drama there: I popped it in, and It Just Worked™. But when I tried to use HotSync Manager to copy some music files to the card, it crawled along at a glacial 1MB per minute. That's when I discovered this amazing utility: It allows you to treat the storage card as a removable disk on your Windows PC! I used Windows Explorer to drag-and-drop files to the card in a matter of minutes. Well worth the $20 registration fee.

Update: Turns out updating my BIOS had solved the capacity problem, I just didn't see it because I had installed the capacity limitation jumper in order to get the original BIOS to recognize the new drive. I removed the jumper and had the updated BIOS autodetect the drive: Primary Slave: 122GB! Next, I re-ran the hard disk setup utility to remove the dynamic drive overlay, and held my breath while I rebooted: Everything works!

permalink 10 Aug 03 10:18 PM · Comments (0) · Tags: Tech
MSN Search Site Preview

While checking my referer logs today, I discovered this. Cool, huh? Why didn't Google think of that?

permalink 10 Aug 03 9:28 PM · Comments (0)
New Look

I grew tired of that sad little calendar staring back at me from my weblog, silently berating me over the fact that I've been writing only about once a month (or less!) -- and besides, does anyone actually use the thing for navigation? -- so I replaced it with links to monthly archives. Much better!

One minor wrinkle that made the change more challenging: Radio Userland (the software I use to produce this masterpiece) names its index pages "index.html". This site, however, is hosted on a Windows server configured to look for default pages named "default.aspx/asp/htm". Now, I could have simply included the file name in my archive links, or asked my ISP to add "index.html" to the server's list of default pages. But what I really wanted was for Radio to generate archive pages named "default.htm". Here's how I did it:

First, I went into user.radio.prefs.indexFileNames (in radio.root) and changed fname2 and fname3 to "default.txt" and "default.htm", respectively. Then I modified "on getArchiveFilePath" in system.verbs.builtins.radio.weblog.publish so that it returns a file named "default.txt", rather than "index.txt". That's it!

The downside, of course, is that the next time Userland updates the code in question, my changes will be overwritten. Wouldn't it be nice if Radio exposed the default filename as a preference?

permalink 10 Aug 03 3:15 AM · Comments (0)
Quote of the Day

Will Durant: "One of the lessons of history is that nothing is often a good thing to do and always a clever thing to say."

permalink 10 Aug 03 2:08 AM · Comments (0)