Fantastic (Life Saving) Software

Here are a couple of outstanding pieces of software that I’ve run across lately.  One is highly recommended because you need it.  The other is highly recommended if you need it.

SyncBackSE from 2BrightSparks

You need to back up your data.  Trust me on this, you NEED to do it.  I’m on the tail end of a horrendous double-drive failure that’s costing me a ridiculous amount of money, time and effort.  SyncBackSE GraphicWhat’s worse is that I DID have a backup (mirrored drives), but the jobs to push the data off to a third location weren’t working. 

One great way to do it is with SyncBackSE from 2BrightSparks.  This one is a bit like Microsoft’s wonderful SyncToy v2.0 Beta, but is more “industrial grade” and has lots of flexibility that SyncToy doesn’t.  It also handles huge, deep directories with aplomb, and can even back up TO or FROM an FTP connection or ZIP drive. 

PC Inspector File Recovery Box ShotPC Inspector File Recovery from Convar

A fantastic little piece of freeware from a German company, PC Inspector File Recovery (despite the “Get Smart” sounding name) is a general purpose data recovery program.  This is useful if you’ve deleted or formatted a disk, but I found it especially well suited to recovering pictures from a digital camera card that had spontaneously formatted itself.  Out of 193 potentially lost pictures, PCIFR recovered all but 2 of them (and I had tried to recover the lost files using other tools to no avail).  Best of all, it’s free!

800a0e78 – Operation is not allowed when the object is closed

More geek stuff.

If you built a stored procedure, and it works beautifully in the Query Analyzer (or in SQL Management Console), but you get an “800a0e78 – Operation is not allowed when the object is closed” error when you run it from code, one possibility is that you left some debugging “PRINT” statements in the stored procedure.  The Query Analyzer can handle it (and will usually sort those out onto a “Messages” tab separate from the “Results” tab), but programmatically calling the stored procedure will cause problems.

I just chased one of these down, and it took the better part of an hour to finally have the “A-HA!” moment where I realized that the debug code was still in there.

Hope this helps you solve it quicker.

New Laptop

Dell Precision Mobile M4300For the first time in six years, I got a new laptop.  After lots of poking around in Dell’s Outlet center, I picked out a Dell Precision Mobile Workstation M4300.  I love it!  Fantastic 1920×1200 graphics, 2GB of RAM, and a plenty-fast Intel Core 2 Duo 2.2GHz processor, plus a big hard drive and fast wireless make this a real step up from my old Dell Inspiron 2300 (1.5GHz Intel Pentium-M, 512MB of RAM, 30GB hard drive, and 1024×768 graphics). 

It was listed as a “Scratch and Dent,” which means that it’s tested to work like a new computer but may have significant cosmetic problems.  I took a chance, figuring that as long as it worked, I wasn’t too concerned with how it looked.  The “scratch” in this case was a couple of small scratches along the bottom of the computer (barely visible to the naked eye), plus some goo left over from a sticker that was removed.  A couple of minutes and some goo-gone solved that, and the scratch is no worst than I’m liable to do in regular use.

On the “works like new” front, though, I did run into a problem.  When running on battery power, the machine would only go for about 15 minutes (at most) before it simply cut off.  No warning, just dead.  You could reboot and usually get as far as loading the OS, but then it would die again. 

Dell’s support was fantastic (an advantage to buying the high-end machine is that all of the support is US-based, and handled by more highly trained techs).  They replaced the battery, but that didn’t solve it, so the next day there was a tech in my office to replace the motherboard and CPU.  Problem solved.

The best part about the “Scratch and Dent”?  Nearly half price for the machine!  This would have priced out to around $2,200 brand new, but I got it for a little over $1,000.  A great deal! 

All in all, highly recommended.  If you’re interested:  Go to the Dell website (Full disclosure: that’s a link to my affiliate account, so I make a couple of bucks if you buy something) and click on the Dell Outlet > Laptops link in the top menu.  You can browse around the available machines and find something that works for you.  I poked around over the course of about three weeks until just the right machine was available; it’s worth taking your time and getting to know the inventory really well.  But you can get some great deals if you poke around a bit and know what to look for.

ROFLMAO!

http://cwflyris.computerworld.com/t/2973495/1517340/104116/2/

NetSol Shenanigans

Scumbags (image from The Young Ones)Network Solutions is up to their old tricks again.  Or perhaps it’s some new tricks.  Regardless…tricks.

Yesterday (Feb 18), I got a call from a partner we work with who does IT/LAN management.  He’s got a new client who is getting an Exchange server and wants a domain name for their email.  He passed along the specific name they want and asked for a quote.

I checked, and TUCOWS (the registrar that we resell for domain registrations) says the name is taken, so I told him that and gave him some alternatives.

This morning he comes back and says “No, it’s available.  I just checked”.

It didn’t take long to figure out what happened:  He did a check through Network Solutions yesterday and they immediately registered the name and are continuing to show it as available today.  Nobody but them can register the name now.  Here’s the WHOIS for it as of this morning (from the registry):

   Domain Name: [some_name_here].COM
   Registrar: NETWORK SOLUTIONS, LLC.
   Whois Server: whois.networksolutions.com
   Referral URL: http://www.networksolutions.com
   Name Server: NS1.RESERVEDDOMAINNAME.COM
   Name Server: NS2.RESERVEDDOMAINNAME.COM
   Status: clientHold
   Updated Date: 18-feb-2008
   Creation Date: 18-feb-2008
   Expiration Date: 18-feb-2009

I’ve said it before and I’ll say it again: SCUMBAGS!  Yet another dirty trick from Network Solutions.  I wonder if ICANN knows about this (or would do anything about it even if they did). 

Netgear WG511v2 Driver Has an Evil Feature

OK, maybe “evil feature” is a little too strong, but this one sent me down a rabbit hole that was far deeper and far darker than I like.  In fact, I can provide a useful title like “Netgear WG511v2 Driver…” only because I have finally emerged from the darkness.  Come with me on a little journey, though, and you can see how I arrived at the “evil feature” conclusion.

First off, let me set the stage for you:  I use a wonderful (free!) service called OpenDNS (and you should, too).  It’s a public DNS server that handles the process of converting friendly names like http://eal.us into the IP addresses that computers actually use when they want to transfer data back and forth.  OpenDNS is wonderful because it’s very stable, it’s very fast, and it provides some cool features like fixing typos and protecting against phishing websites.  I could go on and on about why OpenDNS is cool (which is surprising because DNS is decidedly UN-sexy and utilitarian), but that’s not really the point.

One of the neat features that OpenDNS has is a way to view statistics and see how many DNS queries are being generated from your network.  In this case, my home network, which consists of three computers most of the time:  my wife’s desktop, my desktop, and my laptop.

About three weeks ago, I got a wild hair and decided to poke around in the OpenDNS stats, and what I saw alarmed me.  There was a HUGE volume of MX-record queries coming from our network.  Now, MX records are “Mail eXchanger” records — it’s a way of determining which mail server is responsible for handling mail for a given domain name.  Since none of the computers on my little home network runs a mail server, there should be virtually ZERO requests to resolve MX records through DNS, and yet there it was plain as day: THOUSANDS of MX record queries every day.  I started to get worried that one of our computers had a virus or worm installed and was trying to send out email.

I spent days switching settings on first one, then another computer.  Because my wife had been complaining that her computer was running really slowly, and it certainly was consuming a lot of memory, hers was the natural suspect.  I disabled services.  I ran scans.  I ran more scans.  Everything came back clean.  And no matter what I did, OpenDNS’s stats told the same story: thousands of queries a day.

Then I shut down my laptop overnight one night.

Miraculously, the queries dropped to almost nothing.  AHA!  My laptop must be infected somehow.  So I changed settings.  I disabled services.  I ran scans.  I downloaded new scanners and ran more scans.  Everything came back clean.  So I got serious and did a HijackThis scan.  Clean.  What was I missing?!  I consider myself an expert in this stuff.  Why couldn’t I locate a single rouge virus??

Finally, I made a very difficult decision to wipe out my laptop and start over from scratch.  I carefully backed up everything on the hard drive and formatted the drive…with extreme prejudice.  Nothing survived.  I installed the operating system cleanly (and, in the process, discovered that a fresh install of Windows Vista Business consumes 384MB of RAM immediately after installation, whereas a clean install of Windows XP Pro with nothing more than XP Service Pack 2 uses all of 102MB of RAM…but that’s another gripe entirely).  I installed all service packs and security patches.  I carefully installed only the newest and most up to date versions of every program I use.  I carefully monitored memory utilization and what processes were running.

And then I checked OpenDNS’s stats page.  There was a period of downtime while my laptop was at the office where I was doing the install, but beginning the night I fired it up at home to install all of my work-related programs (Visual Studio, Office, Expression, BlogJet, UltraEdit, and so on) OpenDNS told the story.  Thousands of DNS queries again.

Impossible!  I was certain that I had a virus or trojan that had actually survived a complete reformat and reinstall of the operating system.  I’d never heard of such a thing! 

And so tonight I got serious about tracking it down.  I did Google queries to see what viruses produce large volumes of MX record queries in DNS.  I hunted for any posting about viruses or trojans that survive a reinstall of the OS.  I was willing to read any conspiratorial post on any whacked out message board I could find.  And I found almost nothing that explained my situation.

In desperation, I downloaded a small DNS server called Posadis that will run on Windows XP.  All I wanted to do was to try and log how often the queries were coming in, and perhaps what port they originated on so that I could track down the responsible process.

It took about 2 minutes to track it down.  Every 5 seconds or so three queries for MX records (for www.google.com, www.intel.com, and www.microsoft.com) would pop up.  Curiously, these were completely useless queries…there likely isn’t an MX record for any of those fully-qualified domain names.  Hmm.  Curiouser and curiouser.

Fortunately, Posadis revealed the port number where the queries were originating.  A quick “netstat -ano” revealed the process ID (or PID) that was binding to that port number.  Fire up Task Manager and – BANG! – I’ve got the culprit: WG511v2.exe!

It took another 30 seconds to figure out what was going on.  Netgear’s drivers for my wireless card (a Netgear WG511v2, by the way) have a retarded feature called “Internet Connected Notification”.  It’s nothing more than a little bell that rings when the driver detects that you’re connected to the Internet (and, presumably, something else that whines if you’re not).  Wanna guess how it knows you’re connected to the internet?  You guessed it!  Thousands of DNS queries every day.

But here’s the kicker: Even if you disable the stupid “Internet Connected Notification,” it appears that the driver will continue to do the DNS queries.

So that’s where it stands right now.  I know the queries are (relatively) innocuous and not the rabid virus that I thought they were, but honestly, why is it necessary to fire off DNS queries every few seconds, and why the heck can’t I disable it?  I’m really not so stupid that I can’t figure out when my internet connection is down, and I’d prefer not to be an abuser of the resources that OpenDNS has so benificently made available to me.

I’ll keep digging to see if I can figure out how to neuter this annoying feature, and will post here if I figure it out.  I suspect many others have stumbled AROUND this problem without pinpointing it…at least based on some of the posts I’ve found in various troubleshooting forums.

Do you see now why people think I’m such a geek??

Realtek Linux Driver for RTL8101E and CentOS 5.1

We got a new desktop machine for a client the other day, and I’ve been banging my head against the wall trying to get the right drivers for the NIC card. 

Enter Vincent Verhagen with the perfect solution that even goes above and beyond what I needed.  Sweet! 

I’ve written a small script that checks to see if the correct kernel module exists. If not, it compiles the module and restarts the network services.  It’s compatible with CentOS 4(.5) and 5, but will most likely work with all Red Hat derivates.

The entire post is here:  Realtek Linux driver automatic compile for kernel

Nice work, Vincent, and thanks for sharing!

SyncToy sans UI

Elton passed on a cool link:

“Quietly run Microsoft's SyncToy”
A console application that runs SyncToy quietly by avoiding the user interface.
http://www.codeproject.com/vb/net/SyncToy_Helper.asp

Of particular interest is the code posted in the first comment on this article, under the heading “AutoSync”.  It’s a recipe for setting up a real-time file-watching sync that will keep two servers up-to-date at all times.  Pretty neat. 

My Hard Drive

Now this is supremely geeky.  Below is a graphical representation of all the files on my hard drive, with each block sized to represent the relative size of the files and folders.  Different colors represent different types of files.  Courtesy of a free program called SequoiaView.

EricsHardDrive

Whew! Back in the Saddle

Yesterday, I killed my computer.

Well, not so much killed it as put it in a big hairy coma. 

And all with the best of intentions. 

Acronis True Image 11 HomeI had purchased the latest version of Acronis True Image (an excellent piece of backup software) because the old version I had didn’t play nice with Microsoft Vista.  It turns out that the new version plays nice with Vista, but only so long as you’re using Basic disks and not Dynamic disks.  It can’t see Dynamic disks, and refuses to back them up.  Understand that for 90+% of the population, that’s simply not an issue.  They’re running Basic disks because they wouldn’t know how to convert to Dynamic disks if their lives depended on it.  Dynamic disks are the exception rather than the rule.  But me…well, let’s just say I like to tinker with things.

I had converted to Dynamic disks in the hopes that Vista would support software mirroring (it didn’t, at least not the version I’m running) and the thing with Dynamic disks is that it’s very easy to go from Basic to Dynamic, and it’s very difficult to go from Dynamic to Basic.  So much so that Microsoft’s advice for how to do it is to back up your data, wipe the doggone thing out completely and start over from scratch.  Ick.

HardDiskPlattersSo, I Googled around and found a document that said you could convert from Dynamic to Basic without all of that hullabaloo by running a little program called TestDisk.  Neat program.  Not quite the results I was looking for.

After TestDisk rewrote the partition table on my hard drive, I rebooted to let the changes take effect.  Only there was no rebooting happening.  I got an error complaining that \windows\system32\winload.exe was corrupted.

I knew that wasn’t really true; I could boot with a boot disk and run the TestDisk program, and it would let me wander the directories on the drive.  Winload.exe was definitely there, but Vista wasn’t finding it. 

The solution boiled down to TWO things:

  1. Quick_vistaI had to have the Vista install disk in order to run the built-in repair utilities, and
  2. I had to turn off the power on my secondary (PATA) drive.  The primary, where Vista is installed, is a SATA drive, and I suspected that the PATA drive was getting in the way, mostly because when I booted from boot disks, they would always see the PATA drive as C: and the SATA drive as D:

Once I disconnected the power to the PATA drive and rebooted with the Vista install disk, it figured out what the problem was, repaired the disk partition table, and Vista booted right up.  Then I was able to shut down, reconnect the PATA drive, and reboot and everything is working normally once more.

And that’s the story of how I put my computer into a coma and later revived it with no memory loss at all.

As I said…WHEW!