H2testw - Fix Your USB!

H2testw was developed to test USB sticks for various kinds of errors. It can also be used for any other storage media like memory cards, internal and external hard drives and even network volumes.

The executable file H2testw.exe needs no installation and can be directly run. It was developed for Windows XP and Vista. It should also work under Windows 2000 but was only tested on XP and Vista. Windows 9x/ME is not supported. You can use the older command line program H2test under these operating systems.

The function of H2testw is quite simple: It fills the chosen target directory with test data and then reads it back and verifies it.

H2testw does not overwrite or erase any existing data. It doesn't do any low-level tricks so administrator privileges are not required. If your hardware is working properly H2testw will not harm anyexisting data.

BUT: _If_ the hardware is defective then H2testw is designed to find that defect and might as a side effect damage existing files. Therefore: IF YOU SUSPECT A USB STICK OR OTHER STORAGE MEDIA TO BE DEFECTIVE, EMPTY IT AND TEST IT COMPLETELY WITH H2TESTW. Only empty media can be fully tested with H2testw. In order to be able to reproduce the results we recommend to format the media (quick format will do) and then test it.

H2testw writes files of up to 1 GByte to the chosen destination and names them 1.h2w, 2.h2w, 3.h2w and so on. If the target directory already contains such a set of files H2testw will offer to verify them. If there are any other files named *.h2w it will refuse to work. In that case please erase all files *.h2w and hit the Refresh button.

After it is done the software leaves its test files on the medium. You can erase them if you like or verify them again -- if it's a USB stick for instance with another PC.

The check box "endless verify" does just that: It puts the verify routine in an endless loop that stops only if an error is found. This is meant to be used as a long-time test to find sporadic data transfer errors.

A remark on the estimated time remaining: For intact flash memory the estimate should be pretty exact since it has a constant data rate. With defective media we have seen massive drops in the transfer rate resulting in the estimate increasing instead of decreasing. Hard drives are slower on the inner tracks than on the outer tracks so when testing a hard drive the estimate is never precise.

What to do in case of errors
If H2benchw finds errors while verifying the data it means that the
media has not returned all data exactly as it was written. It is
likely that the media is defective, but there are other possible
causes for data corruption. In case of error you should therefore
repeat the test and
  • Format the media immediately before testing
  • Don't use USB extension cords
  • If testing USB or FireWire devices, try a different port (sometimes USB ports at the back of the PC are better than those at the front)
  • For exteral drives try another cable if possible
Error messages
When the verifying process detects any errors it outputs some statistics differentiating the various error types:
  • sectors that have been overwritten by others due to addressing errors (see above)
  • sectors that have been altered only slightly (less than 8 differing bits per sector)
  • completely corrupted sectors.
In the case of overwritten sectors H2testw tries to find out how much real memory exists in the overwritten area and outputs that amount as "aliased memory" (no guarantee here).

Finally it outputs the offset of the first error with regard to the total amount of test data along with the expected and found value atthat offset.

Hint: You can copy&paste the error message, for instance to send it in an email.

Typical errors
The test data of H2testw is made up so as to be able to discern certain typical errors. There are three types:
  • Addressing errors: When writing a sector its contents are not written to the correct address but overwrite another sector. We have seen this error on certain manipulated USB sticks. It also happens if you use a hard drive larger than 128 GByte on a machine whose BIOS or OS doesn't know about 48-bit addressing. In this case all addresses are taken modulo 128 GByte. When crossing the 128 GByte boundary you overwrite data at the beginning of the drive.
  • Data is not saved at all. We have encountered this with defective USB sticks. Instead of the data written to it a sector returns only ones or zeroes when reading it. This is typical when accessing nonexisting memory.
  • Only few bits of data are changed. That might happen if the connection between the PC and the storage media is faulty.

Technical details about the test data

H2testw writes data in chunks of 1 megabyte. So even if you choose to completely fill the media you will end up with up to 1 megabyte of free space. Although technically not correct H2testw uses the Windows convention that 1 MByte equals 1024 KByte or 1,048,576 Byte.
In order to avoid problems with the 4 GByte limitation of the FAT file system, H2testw begins a new data file after each gigabyte (1024 MByte).

Inside a data file each 512-byte sector begins with a 64-bit word (8 byte) containing the offset with regard to the whole data set. It is stored in little-endian format, least significant byte first.

So the file 1.h2w begins with

00 00 00 00 00 00 00 00,

the next sector with

00 02 00 00 00 00 00 00,

the next with

00 04 00 00 00 00 00 00

and so on. The file 2.h2w begins with

00 00 00 40 00 00 00 00

(offset 1 GByte = 0x40000000).

The rest of each sector is filled with a pseudo random number sequence using the offset word as a seed.


H2testw -- by Harald Bögeholz / c't Magazin für Computertechnik
Data integrity test for USB sticks and other media
Version 1.4, Copyright (C) 2008 Heise Zeitschriften Verlag GmbH & Co. KG

Multi Image Downloader

Multi Image Downloader takes advantage of the magnificent Google Images search engine to seek out and download images without having to work through multiple sites to get at the original images.

This program will parse Google Images pages for source image references and download, in a very short time, up to 5 pages or 100 images. The actual time will depend on a number of factors but with an 8MB broadband and 100 average images it should take about 15 seconds.

Once downloaded, you can then easily scan through the images with a graphics program.

While the program can identify when images cannot be downloaded, it will download any available file that has the correct name. Be aware that it may not be what it claims to be - HTML doesn't care too much about extensions, only content. The graphic extension may well hide a bit of HTML with a script, which is why your graphics viewer can't find the header! It will probably be a message concerning availability of the file but may be something more!


Multi Image Downloader is a single exe file. Extract this file and the exe file to a folder. I suggest you copy the exe file and paste a shortcut on your desktop. Multi Image Downloader creates an INI file to hold program setting in the same folder as the exe file.


Delete all files. No changes are made to the registry.

1.Setting up the search URL.

Multi Image Downloader uses the search URL that is created when you use your browser to search Google Images. Multi Image Downloader is not required until after you set up the search in your browser.

Open Google Images in your browser.

Search for your subject. You will get the first page of images.

Set any options for size, type colour etc, then press Search Images again.

You will now have the first page of images and the search URL in your browser required to run Multi Image Downloader. You can now hide your browser.

2.Open Multi Image Downloader.

Click on Set folder to select the download folder you want if you have not already done so. You can create a new folder. If need be, edit Image formats. The Download button will not be enabled unless you have a folder to download to.

Click on Get URL. Most browsers (IE, FireFox, Opera, Mozilla) will provide the URL and it will appear in the edit box. If your browser doesn't, try dragging the URL from your browser into the box. If that doesn't work then you are left with copy & paste! The Get image links button will not be enabled until you have a URL.

Set the number of pages you want. There is a maximum of 5. ( I thought I should put a limit on it or someone was bound to see just how many images they could download at one time before the search engine objected!). I understand there is a limit on how many images you can download at one time but I don't know how many; 1000 has been suggested.

Click on Get image links. If you have a correctly formed search URL, the program will download and extract image references from the current page shown in your browser and succeeding pages and list the links in the top list box. Each time you click on Get image links, the program will clear the list box and search through the next set of pages for image links.

Checking the Block HTML files box will attempt to filter out non-graphic files by testing for HTML script. It is a crude weapon and will block most non-graphic files but it will slow the download.

Once all links have been found, you can click on Download.

Multi Image Downloader uses threads to download files, in effect all files are being downloaded in parallel - the reason why downloading is normally quick. Successful downloads are listed in the middle list box and failures in the bottom list box. You may find one or two threads not completing as quickly as the rest. There is a time-out on a request and eventually the thread will complete. Try not to terminate the program while there are uncompleted threads.

You can elect to have Multi Image Downloader stay on top or not.

3.That's it.
You can now Open folder and view your downloaded images.

Google and Google Images™ are trademark properties of Google Inc
It is possible that Google will change the search line in the future. In which case this program may no longer work.

As far as I am aware, this program will work with any Google IP address and any language. If it doesn't I'd appreciate an email.


BluetoothView v1.31


BluetoothView is a small utility that runs in the background, and monitor the activity of Bluetooth devices around you.

For each detected Bluetooth device, it displays the following information: Device Name, Bluetooth Address, Major Device Type, Minor Device Type, First Detection Time, Last Detection Time, and more.

BluetoothView can also notify you when a new Bluetooth device is detected, by displaying a balloon in your taskbar or by playing a small beep sound.

Versions History
  • Version 1.31 - Added command-line option for sorting (/sort).
  • Version 1.30 - Added command-line support for saving Bluetooth devices list to a file.
  • Version 1.25 - Added 'Speak the following text when a new bluetooth device is detected' in advanced options. When this option is enabled,BluetoothView will speak the desired text by using Windows SAPI when a new device is detected.
  • Version 1.20 - Added 'Try To Connect' option. (See below)
  • Version 1.15 - New Option: Execute a command when a new Bluetooth device is detected. (In 'Advanced Options')
  • Version 1.11 - Added update rate (low/medium/high)
  • Version 1.10 - Added 'Company Name' column (see below)
  • Version 1.06 - Added new option: Select Another Font.
  • Version 1.05 - Fixed bug: The main window lost the focus when the user switched to another application and then returned back to BluetoothView.
  • Version 1.04 - Fixed bug in saving as comma-delimited file when description or name fields contained comma character.
  • Version 1.03 - Added support for saving as comma-delimited file.
  • Version 1.02 - Added 'Automatically Set Device Description' option.
  • Version 1.01 - Added 'Remove Selected Items' option. (The removed items will be considered as new in the next time that BluetoothView detect them)
  • Version 1.00 - First release.
What can you do with BluetoothView ?

If you have neighbors or family members that use a cellular phone with Bluetooth turned on:
  • You can easily know when they come home and when they leave, by using the 'First Detected On' and 'Last Detected On' fields.
  • Each time that a new device is detected, BluetoothView automatically displays an alert as a balloon in your taskbar. This means that you can detect when your neighbors/friends/family members are coming even before they knock on your door...
System Requirements
  • Bluetooth Dongle and device driver that works with the standard Bluetooth module of Windows XP/Vista/Windows 7.
  • Windows XP/SP2, Windows Vista, or Windows 7. Other versions of Windows don't provide a build-in support for Bluetooth, and thus BluetoothView cannot work with them.
Start Using BluetoothView

BluetoothView doesn't require any installation process or additional DLL files. In order to start using it, simply copy the executable file (BluetoothView.exe) to any folder you like, and run it.
A few seconds after you run it, BluetoothView will start to gradually display all detected Bluetooth around you.

The 'Company Name' Column

Starting from version 1.10, BluetoothView allows you to view the company name of each BluetoothView device. The company name is determined according to the Bluetooth address. However, in order to get this feature, you must download the following external file, and put in the same folder of BluetoothView.exe: http://standards.ieee.org/regauth/oui/oui.txt Be aware that you must save it as 'oui.txt'

The Description Column

In addition to the name of Bluetooth device, you can set your own short description to allow you to easily detect the device in the future. The description that you set will also be displayed in the taskbar balloon, when the device is detected as a new one.
In order to set a description, double-click the desired item, and in the 'Description' field, simply type the description text and click 'OK'.

Connecting To Bluetooth Device

Starting from version 1.20, BluetoothView allows you to connect the desired Bluetooth devices. BluetoothView doesn't send any information to the device, it only tries to connect the device for testing purposes, and then closes the connection.
When you choose the 'Try To Connect' option, BluetoothView automatically send a connection request to the selected devices. On the device, you should get a qesution like "Do you want to accept data from xyz". If you choose yes, the connection will be succeeded. Otherwise it'll be failed. The connection result is displayed in the 'Connection Result' column

More Tips For Using BluetoothView

You can use the 'Hide Main Window' option for hiding the main window of BluetoothView. When you want to show back the main window, simply double-click the tray icon. While the main window is hidden, BluetoothView will display a balloon alert on each time that a new Bluetooth device is detected. If you want to clear all current Bluetooth devices that are currently displayed and start the Bluetooth detection from the beginning, simply use the 'Reset' option.

Command-Line Options

You can use the following command-line options for saving Bluetooth information to a file, without displaying any user interface. Be aware that you have to wait around 15 - 20 seconds until the file is saved.

Save the list of Bluetooth devices into a regular text file.

Save the list of Bluetooth devices into a tab-delimited text file.

Save the list of Bluetooth devices into a comma-delimited text file (csv).

Save the list of Bluetooth devices into a tabular text file.

Save the list of Bluetooth devices into HTML file (Horizontal).

Save the list of Bluetooth devices into HTML file (Vertical).

Save the list of Bluetooth devices into XML file.

This command-line option can be used with other save options for sorting by the desired column. If you don't specify this option, the list is sorted according to the last sort that you made from the user interface.
The parameter can specify the column index (0 for the first column, 1 for the second column, and so on) or the name of the column, like "Address" and "Description". You can specify the '~' prefix character (e.g: "~Major Device Type") if you want to sort in descending order. You can put multiple /sort in the command-line if you want to sort by multiple columns.

BluetoothView.exe /shtml "f:\temp\bt.html" /sort 2 /sort ~1
BluetoothView.exe /shtml "f:\temp\bt.html" /sort "Major Device Type"
/sort "Minor Device Type"

When you specify this command-line option, the list will be saved without
any sorting.

Translating BluetoothView to other languages

In order to translate BluetoothView to other language, follow the
instructions below:
1. Run BluetoothView with /savelangfile parameter:
BluetoothView.exe /savelangfile
A file named BluetoothView_lng.ini will be created in the folder of
BluetoothView utility.
2. Open the created language file in Notepad or in any other text
3. Translate all string entries to the desired language. Optionally,
you can also add your name and/or a link to your Web site.
(TranslatorName and TranslatorURL values) If you add this information,
it'll be used in the 'About' window.
4. After you finish the translation, Run BluetoothView, and all
translated strings will be loaded from the language file.
If you want to run BluetoothView without the translation, simply
rename the language file, or move it to another folder.


This utility is released as freeware. You are allowed to freely distribute this utility via floppy disk, CD-ROM, Internet, or in any other way, as long as you don't charge anything for this. If you
distribute this utility, you must include all files in the distribution package, without any modification !


The software is provided "AS IS" without any warranty, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. The author will not be liable for any special, incidental, consequential or indirect damages
due to loss of data or any other reason.


BluetoothView v1.31
Copyright (c) 2008 - 2009 Nir Sofer
Web site: http://www.nirsoft.net

XLCalendar 1.7.0 Free Calendar Software

Calendar can be set up using application on the computer, so the result can be print out on paper or other application out put. Out put on other application, one of them is Microsoft Excel Spreadsheet format.

To create an output in Microsoft Excel Spreadsheet format we need support application that called XLCalendar. This application is a Calendar Tool base on template that support various calendar type, customize calendar on user needs, support special event information or event or holidays and calendar design on Microsoft Excel.

User can create a calendar on their own language, holidays, format, layout, calendar style and other additional information. Use this application on minimum Windows 98 and Microsoft Excel 2000.