Stupid, Stupid, Stupid!!

For the past two days I have been banging my head against the wall with an ASP.Net problem.

I created a custom WebControl composite class, meaning that it contains other WebControls.

I overrode its render method and used the provided HtmlTextWriter to spit out the code specific to my WebControl and the HTML code of the child WebControls which, by the way, were dynamically created in my WebControl’s Init event handler.

Anyway, what counfounded the heck out of me is that if I would push a button on the ASPX page, thereby triggering a PostBack event, the ASPX page forgot all of its dynamically created controls. In other words, a richly populated page became a blank page just by me hitting the submit button!

After a lot of research on this problem, I stumbled across an article at that didn’t directly provide the answer but proverbially slapped me across the forehead and jumbled the facts into place. I needed to add these child controls to my parent control’s Controls collection! Stupid, stupid, stupid!

I removed my custom render method and added the controls to the Controls collection, and it works like a charm. View state is preserved!

Outlook’s Search Folders

I am trying something new with Outlook at work.

Before Friday I had a ton of rules that would sort messages into folders. Emails from coworkers got sorted into folders representing major groups in my workplace. Emails on certain listservs got shoved into listserv boxes.

This approach isn’t perfect. If a coworker sent a message to a listserv, Outlook puts a copy of message in both the coworker’s folder and a listserv folder. Physically dividing up the messages sometimes makes searches more cumbersome. It is sometimes difficult to track my responses to messages; I have to rifle through my Sent Items folder.

Now I have turned off most Outlook Rules, and I am instead trying out Outlook’s Search Folders. Search folders “filter” messages based on a criteria I choose. For example, I have a search folder just for the ITS Systems group. This Search Folder provides an alternate view into my email, but it only includes emails to or from coworkers I have defined as ITS Systems Group workers.

Because this is a “filter”, there are no duplicate copies of messages. This Search Folder is simply an alternate view into my message store. If a message shows up as unread in the inbox, it will also show up as unread in the corresponding search folder. If I “read” the message in the search folder, it gets marked as read in the inbox. If I delete the message from my inbox, it no longer shows up in the search folder.

I no longer have to worry where messages are stored. Most messages now just end up in my Inbox folder. (I kept the message moving rules for certain listservs such as SMU’s bulk announcements spam.)

Since this view shows all messages “to” and “from” identified people, I am able to easily trace discussions on a particular topic. Thanks to this enhanced grouping, Outlook’s nifty “sort by conversation” feature is very useful.

It is possible to create search folders whose criteria are about as refined as the Advanced Search feature. This could open up some interesting possibilities.

I have a search folder just for messages flagged for followup.

This Search Folders feature isn’t perfect. It is not possible to nest search folders. Outlook only sorts the folders alphabetically. There is no “catch all” search folder; messages not represented by a search folders just show up in the Inbox.

I’m committing myself to using this feature for at least a few weeks.

Linksys Drivers and Web Folders

I have to take a work break to whine about two things.

First, the drivers for Linksys‘s WMP11 802.11b PCI wireless cards suck. I was banging my head against the desk at a client’s house for upward of half an hour with this card. I went to the client’s main computer and checked the web for solutions. I stumbled across a discussion forum thread at with the solution. The WMP11’s drivers added a registry key that loaded the card’s main .SYS driver from a CD! This means that unless you had the installation CD in the drive at reboot, the card was not going to work. Hacking the registry fixed this problem. Whew! I was afraid the client’s Windows XP install was corrupted!

Second, Microsoft‘s Web Folders technology is way too fragile, and when it breaks it is nearly impossible to get it working again.

In Windows XP, Web Folders is what you get when you go to My Network Places on the Start Menu. Any time you open a web site over HTTP in FrontPage, the opening action “passes through” Web Folders. If Web Folders gets corrupted, FrontPage can’t open web sites!

My XP’s Web Folders feature was so corrupted that even a Microsoft-endorsed 3rd party hack, Jimco Open Web, couldn’t open this web site!

So last night I reinstalled Windows XP, installed Office 2003 and its Service Pack 1, and installed Windows XP Service Pack 2. Argh, after all this work I still had the same problem! Even though this was a true reinstall, not simple a Windows “refresh,” the same problem still happens! I wonder if not deleting the Program Files tree is the problem?

Tonight I am going to disconnect my primary drive, make my slave drive my primary, and install Windows XP on the slave drive. That may make sense anyway since the slave drive is only about 2 months old. The primary drive is about 3 years old. Plus the slave drive has no Windows, Program Files, or any other traces of a Windows install. It just has backup files.

Back to making UML class diagrams for a project at work.

Aftermath of Netsky

I downloaded and ran Symantec’s Netsky removal tool and found that Netsky had left droppings all over my system. After about 30 minutes it found and deleted a few hundred files, almost all of which were creatively named EXE files waiting to reinfect my system should I accidentally click on them. (Well, technically, the McAfee on-access scanner deleted the file just as the removal tool “touched” them. McAfee’s tool found hundreds of droppings, but it missed three .tmp files that Symantec’s tool actually deleted.)

Now my computer is returned to its normally demented state: .

First Ever Computer Virus

I have regularly worked with Windows computers since 1990 when my family was given an IBM PC Model 5150. I had never gotten a virus, ever, until last night.

I got this email with a ZIP file. I knew it was a virus, but I opened the ZIP file anyway. (Simply opening the ZIP file typically will not give you a virus; you have to open a file in the ZIP to get it.) Inside the ZIP was one file that appeared to be named something.txt. Before I double-clicked on it I should have immediately noticed all the space after the .txt in the filename. It turns out that the file was named something.txt___________________________.pif (where _ is a space). There were so many spaces that you can’t see the .pif on the end unless you went to Details view.

By doing that I got the W32/Netsky.p@MM and W32/ virus.

I didn’t realize I had a virus until my wife checked her email. She got a message from a friend with a virus payload. Knowing how those viruses work, I immediately checked the headers and did a nslookup on the originating IP (as reported by our ISP’s SMTP server). It was a DSL IP address! I logged in my router and found that it’s my DSL address!

My Windows XP box is fully patched with all latest Windows Updates and Office Updates. The one thing I was lacking was the virus software. I had to redo my computer due to a hardware failure about two weeks ago, and I neglected to reinstall my virus scanner. It’s on now, and it caught the virus very quickly.

I hate the way virus scanners slow down your system, but now I definitely see why they are a necessary evil.