Tuesday, October 31, 2006

Portable App Week - WinAudit

Today's portable application comes to us from Parmavex Services. It took me a while to figure this company out. If I understand it right they have two main functions. They provide network services, software development, web hosting and IT services. And also, they supply spare parts for construction plant equipment. Kind of like a Barber shop that sells socks.
Despite their questionable lack of business direction, they have put out a pretty cool free-ware utility called WinAudit. WinAudit scans your machine and gathers up all the information it can find into a neat html report. Here is the description off the web site.


"The programme reports on virtually every aspect of computer inventory and configuration. Results are displayed in web-page format, categorised for ease of viewing and text searching. Whether your interest is in software compliance, hardware inventory, technical support, security or just plain curiosity, WinAudit has it all. The programme has advanced features such as service tag detection, hard-drive failure diagnosis, network port to process mapping, network connection speed, system availability statistics as well as Windows® update and firewall settings."


And when they say every aspect, they really mean it. It even read the serial number off my motherboard. You can save the results to an html file, a pdf, a chm, several flavors of text and XML. I wish I had this when I was still doing network support. It will come in handy the next time I'm troubleshooting on someone else's machine.

Monday, October 30, 2006

Portable Apps Week - Smart Undelete

I've been really keen on the idea of portable applications lately and last weekend I picked up a few more for my USB drive. So, I'm declaring a portable app week here at Mack the # implement. Let's get started with the only application that actually cost me any money.

I was tidying up some folders on my desktop at home, got a little 'Shift+Delete' happy, and accidentally deleted all the digital pictures from my son's first trip to the Georgia Aquarium. This is a bad place to be. My mind began calculating the odds that my wife would just forget that the pictures ever existed. Of course, NASA would have a hard time coming up with that number. Then it hit me, they aren't really gone. They're just marked as deleted.

After a quick search (on another machine), I found several recovery tools. I finally opted for Smart Soft's Smart Undelete. It was cheap, had a small footprint(<1mb) and could be used from a USB drive. It also has a 100% money back guarantee.

The UI is simple and easy to use. Just tell it where to scan. It also gives you the option to only scan for certain file types. In my case, .jpg files. I was able to get everything back. I even justified to expense to my wife by explaining how I could use it the next time one of our many relatives deletes something important. Yeah... that's the ticket. ;)

Monday, October 02, 2006

Pausing a PowerShell Script

I was having an issue while running my watir scripts where if I ran a script that saved information to the database on two or more machines at the exact same time, failure was sure to follow. This is really annoying and not likely to happen in the real world. However, in the alternate universe where I do my testing, this happens all the time. Alternate universes are cool.

We now have a lot of Watir scripts, and it is really tedious to run them individually. So I wrote a script that calls each one sequentially using PowerShell . With my new batch script, I am able to kick off all the Watir scripts from all of my test boxes at the same time and walk away while the website gets put through its paces. This works great until New York and DC try to save changes to the same story at the same time. One of the watir scripts will fail. Usually New York wins. Stupid New York.

I'm sure that there is a great solution, which involves messing with the database, but I don't have that kind of time, or patience or attention span. For the time being, I just wanted to put a pause in the execution of my PowerShell script that waited for me to press enter to continue. So here you go:

Code of Power:


[System.Console]::ReadLine()

Awesome!