No edit in DOS on Windows 64-bit

I’ve been working with 64-bit SQL Server 2005 laterly. I just finished setting up a 2-node SQL Server 2005 cluster with SP1 on AMD 64-bit processors with Windows 2003 R2. 64-bit is really sweet.

Anyway, I guess the venerable DOS editor named edit is not ported to 64-bit machines. I figured this out when testing sqlcmd on a 64-bit machine.

As described earlier, the default editor for sqlcmd is edit. However, when you invoke it on a 64-bit machine, you get:
‘’ is not recognized as an internal or external command, operable program or batch file.

See instructions here to set the editor to something else. I guess Microsoft should really change sqlcmd editor to Notepad, which works on 64-bit Windows.

Old computers at Dallas Children’s Museum

We went to Plano, Texas, a suburb of Dallas, for my son’s spring break. My brother’s family just moved there recently. With everybody being new to the area, I didn’t know which place to visit for some fun. Naturally, I started looking for Children’s museums.

Some web search revealed there is a place called Dallas Children’s Museum. It is in Valley View Center, a sizable mall in Dallas. So my son and I drove there for a visit.

Dallas is a big city, one would think a museum bearing its name should be interesting. However, it certainly cannot live up to that big name. The place is very small, occupying one or two rooms with old toys and equipments. If you are expecting exciting and interactive games and activities, you will be disappointed. If you happen to be there, it is all right for pre-schoolers to play a little bit and have some fun, but I would not just make a separate trip to it. Not worth it.

However, all was not lost. I saw computers there;)

Old computer at Dallas Children's Museum

Above is a shot of one of 2 computers that proudly sport Windows 3.1 operating system. Now see if you remember what happens if you do Ctrl-Alt-Del:

Old computer at Dallas Children's Museum

I couldn’t remember exactly when I first saw a computer, but it has to be after 1990, the year I went to Xiamen University. We had an introductory course to PC (IBM PC-XT). The lab was held at a computer center of the university. It seemed that 2 students had to share one PC during lab at the time. The PC is some kind of IBM PC XT based clone. The operating system was DOS, whose version I cannot recall now.

Those PCs were housed in the computer center, which was air-conditioned. Before we enter, we had to take off our shoes and put on quite, soft sandals, as if shoes would somehow disturb those state of the art, expensive machines. All PCs had a reset switch. We quickly learned its purpose and used it many times to get out of trouble. The teacher actually kept an eye on our reset-button usage to gauge our skill level.

Within one or two years, there seemed to be a lot more computers on campus. I started learning Windows 3.1. I can still remember the time when I took a mouse usage tutorial (single-click, double-click, moving around, resizing Windows) on Windows 3.1, and was very impressed and amused by the whole GUI thing.

This is a shot of the desktop, Windows 3.1:

Old computer at Dallas Children's Museum

Below is a shot of Microsoft Word on the museum’s computer. I forgot to check its version. If you ask me, from a usability point of view, I think today’s Word is actually worse than the version pictured here:

Old computer at Dallas Children's Museum

I actually don’t use Word anymore. With the exception of Outlook, I hardly ever use any of the rest of Office Suite applications. Even Outlook is kind of forced on me, because I really have no other choice. Now mind you, I still consider myself a power user of Word, Excel, Access, PowerPoint, and other Office Suite applications if situation calls for them. I know how they work, and I could whip out useful VBA macros without too much trouble.

Finally, you can play Wheels of Fortune on Windows 3.1:

Old computer at Dallas Children's Museum

PS. I love the Dallas area. The big draw is affordable housing. Plus, Plano seems to be very family-friendly with nice parks and lots of community activities.

DotNetNuke 3.1.0 initial setup

My own experience of setting up DotNetNuke (DNN) 3.1.0. Hopefully somebody will find it useful.

1. Installed a standard Windows 2003 server. Through Manage Your Server wizard, chose custom and installed as an Application Server (IIS and ASP.NET). FrontPage extension and ASP.NET were installed. Install media was required during IIS install;
2. Downloaded DNN 3.1.0. Chose this because the site I volunteered to help out in my spare time is this version. Unzipped to a folder called c:\dnn;
3. Installed Sql Server 2000. I didn’t do Sql Server 2005 install, because I know that Sql Server 2005 needs .Net Framework 2.0. And the site I played with has .Net Framework 1. Since this is my first installation, I did not want to complicate things.
4. Created a database called dnn and created a user. I granted the user db_owner role of the database;
5. Made the mistake of adding ASPNET account to have full access to c:\dnn first initially. Instead, Network Service account should be added and have full access to c:\dnn folder. Just type in Network Service in the lookup box. If the OS is Windows 2000, then ASPNET Account is the right account to add;
6. Ran inetmgr, right click on Default Web Site -> New -> Virtual Directory… Created a virtual directory called DotNetNuke and pointed to c:\dnn;
7. Went to c:\dnn folder. Renamed Release.config file to web.config. Updated database connection setting after the file was renamed;
8. Went to http://localhost/DotNetNuke. Installation started and was successful.

Conceptually, this is actually pretty similar to WordPress’s implementation. Not too bad so far.

In other news, I wanted to create separate feeds for the current categories I have. I made it working but the layout was all messed up, so I need to modify my css style sheet first. I heard there is a style sheet edit plugin for WordPress. Any comments on that?

Tunneling http traffic through ssh

James Strassburg gave a great tutorial on tunneling http(s) traffic through ssh with your Linksys WRT-54GL router.

Actually, if you have a server that you can ssh to that has web access, like your web host, you can tunnel all your http(s) traffic through that server from your Windows workstation. It is pretty simple to do:
1. Ignore James’ discussion on how to setup Linksys, unless that is what you want;
2. Download PuTTY client for Windows. PuTTY is a stand-alone Win32 executable. As such, it has no registry change, separate directory creation, and all other garbage associated with a typical Windows application. Get PuTTY.exe and it just works;
3. Follow the rest of James’ instruction on creating a SOCKS proxy (here entering the IP address of your web host), changing your connection setting in Firefox. And you are all set.

I found this to be extremely valuable. Thanks a lot James.

PS. I normally don’t look at calendars at home. But today I happened to look at our Swedish calendar, and noticed tomorrow, 2006/03/15 is the name day for Kristoffer. So happy name day to my Swedish friend Christoffer Hedgate. Somehow picture of tranorna kommer till Hornborgasjön, Västergötland on the calendar caught my attention.

Be careful of .Net Framework hell Microsoft

I have encountered a few instances of application failing to install because of the .Net Framework on the machine is either too old or too new. This happened quite a lot during my testing of Microsoft SQL Server 2005 Beta and CTP. I figured it was ok because, after all, it was Beta, although I wasn’t too happy about it. Simon has a good blog entry about this topic, where Microsoft SQL Server 2005 RTM cannot cleanup older versions of .Net Framework. If you have installed Microsoft SQL Server 2005 Beta or CTP, you really don’t have much choice, short of rebuilding your machine, which is what I did.

It happened to me again within the last couple of months, although I couldn’t remember what application I was playing with. Yesterday, as I was testing SyncToy recommended by my readers, this problem resurfaced. So I decided to blog about it.

During SyncToy installation, I got the message below:

This setup requires the .NET Framework version 1.1.4322. Please install the .NET Framework and run this setup again. The .NET Framework can be obtained from the web. Would you like to do it now? Yes Button No Button

Yes Button will lead you to From here you have the choice of 3 .NET Framework versions to choose from as of this writing, among Service Packs, SDKs, Compact Framework, Redistributable for Windows 2003, and others. And nowhere does it mention version 1.1.4322, which is required according to the message mentioned above.

Now I have .NET Framework 2.0.50727 on my machine. I don’t know enough of the differences among those versions. But it upset me.

During the MTS, COM, and COM+ days, one common problem developers encountered was DLL hell. It was caused by incompatibility among different versions of a same DLL (Dynamically Linked Library) file. You needed to be careful when you register DLLs using regsvr32. Microsoft has touted .Net Framework as a solution to address that problem. Judging from my personal experience so far, I am not convinced. I hope we won’t have a .Net Framework hell in its place.

I know .Net Framework is still relatively new, so I would not be too harsh. But I think it is something that needs to be addressed before it escalates. For example, backward compatibility is something to look at seriously; more robust and reliable .Net Framework distribution needs to be researched; all tools released by Microsoft should be recompiled so different versions would be available for download for different .Net Framework install, etc.

To find out the version of .Net Framework on your Windows PC, check the registry key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\vX.X.XXXXX, where X.X.XXXXX is your .Net Framework version number.

Granted, this does not only happen on Windows platform. Linux sometimes has similar dependency issue. That’s why it is always a good practice to test that before you do an RPM install. Use rpm -i PackageName –-test to find that out, as I learned during my attempts to install some SMTP tools on Linux described here.

By the way, I don’t understand why marketing people invented the .Net lingo. Put it mildly, I am not particularly fond of it. I remember reading somewhere before that Microsoft decided to drop the lingo a while ago. But it is still here today. Or maybe it got scaled back. Maybe Windows 2003 was to be called Windows .Net Server initially. Anyway, I will rejoice if .Net lingo is totally dropped. But it does not look like it is going to happen.