checksum 1.3.6

At long last, the update you have been waiting for..

★ = you asked for it!
~ = change
* = fix

You thought the old version of checksum was the fastest hashing application in the world? Try this!

  • ★ 64 and 32 bit versions now available.

  • Significant increases in the hashing speeds in both 32-bit and 64-bit editions, thanks to the improved compilers (and compiler options) available today, as well as some code tweaks implemented during the 64-bit DLL update (now at v0.6). I have also switched out the SHA1 routines for something faster, for example..

    My DVD-sized "BIG.iso" test file used to MD5 hash (on my current system) in 24.3 seconds. Pretty fast. That time is now under 16 seconds both the 32 bit and 64 bit editions. A SHA1 hash of the same file used to take 41.8s. It now takes less than 24s. As they say, YMMV, but I am looking at speed increases of between 60% for MD5 and 79% for SHA1 <insert exclamation point>.

    Of course, the rate at which your system can get the data off your drive will always be the limiting factor. And though the latest checksum is tuned to deliver maximum disk data throughput, with 300MB/s hashing speeds, no current hard drive can keep up.

    SSD users, enjoy!
  • ★ International file name handling on >= Windows 7; Russian, Japanese, whatever. This change is upstream, so I am keen to hear reports on it working or otherwise on YOUR system.
  • ★ checksum can now optionally store a file's modification date and time along with the checksums, like so..

      #md5#Björk - Hunter.flac#2009.09.26@19.49:36
      fba7b0f424d3c217d312bcd84728ac8f *Björk - Hunter.flac
      00073fa1652f74961c1a9696afa7a992 *Desirée.flac
      5deee1f6ac75961d2f5b3cfc01bdb39c *info.nfo

    Thanks to the extra information, during verification checksum will report files with mismatched hashes as either "CHANGED" (they have been modified by some user/process) or "CORRUPT", where the modification timestamp is unchanged.

    These will show as a different color in your HTML logs (assuming you are using an updated master CSS file).

    You can also now choose whether or not to report (and log) missing, changed, or corrupted files. For example, if you only want to know about CORRUPT files, but don't care about changed or missing files, you
    would set..


    As one commenter on the checksum page pointed out, with this sort of functionality, checksum would become "the only tool against silent data corruption". I believe this goal has now been achieved.

    The chosen algorithm is also stored along with this information, for possible future use (aye, more algorithms!).
  • ★ checksum can now post its completion times in a more readable format, rather than using only seconds..


    This affects not only the message and ToolTip windoid displayed at the end of checksum operations, but the times shown in the logs (if you have that enabled).
  • checksum will now check online for newer versions of itself. This is configurable in checksum.ini - you can set how many days to wait between checks. After installation, it will ask you one time about how regularly to check for new versions. If you want to change it after that, you will need to edit the ini. Feel free to check daily, my server can handle it!
  • £★ Customizable preamble string (the comment at the top of the .hash file)
  • £+ Customizable "licensed to" name in About Box.
  • New software licensing model. From your side of things, the biggest change is that everyone now gets their own specific key. Also it's a lot easier to enter!

    There is a facility for existing Licensed users to upgrade their license key, here:
  • setup now puts icons in the context menu on systems where this is possible. It also installs "Directory Background" menu items (the one you get when you right-click . This almost makes up for the loss of Windows 7 app menu functionality, at least for checksum!
  • ★ Rudimentary queueing system. Rather than warn you about running multiple copies on the same disk, checksum now has the option to queue jobs. If checksum is already running and you launch a second copy (maybe by selecting multiple items in explorer and doing a checksum context command on them), it will add the job to a simple queue file which checksum checks on exit. If there are jobs there, it launches itself with the job, deletes it, and so on. It's nothing fancy, but it works.

    Note: if you do this sort of thing a lot, you will probably want to increase the long_operation time in your preferences.
  • ~ checksum grudgingly now uses plain ANSI for regular .m3u files and enables users to select .m3u8, if required. It's a real pity "they" didn't just keep one extension, but certain music players will balk on UTF-8 .m3u files, so this has been added for maximum compatibility. pls files are still always UTF-8.
  • ~ If you have the ToolTip disabled, left-clicking checksum's tray icon will show the Progress ToolTip, so you can see what's happening.

    Previously, left-clicking the tray icon performed no action.
  • * Fixed an issue where if you had the ToolTip disabled on launch and then quickly enabled it while checksum was in the middle of a long operation (for example, gathering the hashes for a large folder) you would get a blank ToolTip (until the next ToolTip message was posted).
  • * Fixed a minor issue where the one-shot verify options audio alerts setting would initially display the setting for the progress tip!
  • * Fixed an issue where checksum would unhide previously hidden checksum files if checksum hiding was off in the prefs. Now it will leave them alone.
  • ~ The keep_dll setting has been deprecated - now it just stays put in portable mode.
  • ~ The binaries are no longer packed. Originally, it was fantastic, being able to fit the whole lot onto a floppy disk, but you have to ask yourself, "what the hell is a floppy disk?"

    simple checksum 0.8.4 [current release]

  • ~ simple checksum will now strip any white space from hashes in the clipboard when comparing against dropped files. This is useful when the user has copied the hash from a web page with an extra space or line break at the end (usually unwittingly). It is also useful when comparing against hashes which have been presented "split", like so:

    1852 fd05 0afa 3693 2a00 2c4d 08b9 b37b

    Note: simple checksum will not alter the clipboard data in any way, it will simply remove all whitespace before comparing against the hash of the dropped file.
  • simple checksum will now do automatic clipboard compare from initial launch. This is in addition to during all drag and drop operations. Basically, if there's a hash in the clipboard when you hash a file, via any route, simple checksum will attempt to compare the hashes.

    Alt-C gets you the actual hash, if required.
  • A new option has therefore been added to the menu: "Clear the Clipboard".
  • New About Box, more in line with checksum and my other apps (but there's no SysInfo, which would be too much duplication - you can get that from checksum if you really need it).
  • simple checksum will now post an error message if your chosen (ini) editor could not be launched, as opposed to simply doing nothing.
  • By request, I have added a switch to take you directly to the SysInfo box easter egg. That switch is "SysInfo" (no quotes). Enjoy!
  • * Fixed a bug where simple checksum would continue, even in the absence of the hashing library. Now it will post its message and exit.


  • ~ There have also been a few improvements to the installer (setup) app. It is now 64-bit aware, as well as being better at cleaning up after itself (specifically, it will no longer leave an empty top folder in your app data folder after a complete uninstall).

EVERYTHING Version *.**

Yup, at long last it's here, the all-new-all-singing, etc.,

Everything has been updated. Yes, I mean everything!

checksum, check! Batch Runner Pro, check! You get the picture. If I get a chance, I may blog the major updates. In the meantime, the version.nfo link at the top of their pages will get you all the juicy details.

I still have a lot of testing to do with the back-end here, so some pages may change or look weird or not work temporarily, but rest assured it will all settle down soon enough.

See you soon!

Oh! And Merry Xmas!


Parallels & ProFTPD

In preparation for basically replacing every file on-site, I thought it might be a good idea to go take a backup. I notice the Personal FTP Repository Settings are conspicuously absent in my swanky new Parallels backup section. Hmmm. Manual Backups, eh. That won't do.

I vaguely remember leaving a note somewhere to come back to this and so I check my notes. Right enough, there's some issue with Parallels and the login with my local FTP server. Automatic backups are not happening. Old Parallels still works fine on my test server. New parallels refuses. Of course I had Googled this issue, which apparently affects betaFTP as well as ProFTPD.

The gist was that Parallels support were looking into it, and I had cannily decided to shelve the issue for a month or two, come back when they had figured it out. So I googled again. And of course, as its Parallels support, those affected are still waiting. I decide to investigate..

Five minutes later I have the solution, and of course it's a permissions problem. smiley for :roll:

New Parallels in its infinite cleverness begins an FTP session doing stuff like this..

"USER someuser" 331 -
"PASS (hidden)" 230 -
"PWD" 257 -
"CWD upload" 250 -
"PASV" 227 -
"TYPE A" 200 -
"NLST" 226 0
"CWD /" 250 -
"CWD upload" 250 -
"CWD check0" 550 -
"MKD check0" 257 -
"CWD check0" 250 -
"PASV" 227 -
"LIST" 226 0
"CWD /" 250 -
"CWD upload" 250 -
"CWD check0" 250 -
"PASV" 227 -
"TYPE I" 200 -
"STOR test" 226 4
"PASV" 227 -
"TYPE A" 200 -
"NLST" 226 5
"PASV" 227 -
"TYPE I" 200 -
"SIZE test" 550 -
"RETR test" 550 -

OK, basically it logs in and creates a test folder and a test file within. That's fine. Anyone can create anything in the uploads folder. That's the point. By the way, good idea!

But at this point the FTP "communication" fails, and Parallels will tell you that you have messed up somehow and should think twice before once again wasting its time, or more accurately, "FTP connection failed, please check your FTP settings, dimwit!". Okay, I added the dimwit part.

I think twice, and then enable every permission under the sun, restart my FTP server, try again. This is when I realize that Parallels' next move, is this..

"PASV" 227 -
"TYPE A" 200 -
"NLST" 226 5
"DELE test" 250 4
"CWD /" 250 -
"CWD upload" 250 -
"PASV" 227 -
"LIST" 226 124
"RMD check0/" 250 -
"QUIT" 221 -
"USER someuser" 331 -
"PASS (hidden)" 230 -
"PWD" 257 -
"CWD upload" 250 -
"PASV" 227 -
"TYPE A" 200 -
"LIST" 226 62
"QUIT" 221 -

Here we can see the wonderful Parallels goes on to delete the test folder. This is not okay, not in anyone's dropbox! We must assume that Parallels does not like the response it gets from the ftp server when it attempt this highly suspicious action.

Obviously, those who already have insane permissions on their FTP uploads directory do not experience the issue*. And those with normal, sane permissions on their uploads directory will need to enable insane permissions if they want Parallels to work with it!

Whether this is required past the initial setup stage is undefined at the moment - I have another Parallels issue at the server which prevents me from testing this. smiley for :roll:

So it may be possible to work around this by setting insane permissions for only a minute or two. If not, a script that checks for an immediately moves completed backups would definitely be in order!

I'll get back to you on this …

Indeed, it turns out that the insane permissions are only required for a couple of minutes, during setup. Thereafter Parallels will do automatic backups to your ftp repository with normal upload permissions. Problem solved!

While I'm here, I should mention that Parallels (or Parallels + ProFTPD) appears to have a limit on how big a backup it is willing to upload to your personal repository. Remote backups simply failed until I set the backup to split into 200MB chunks. Now it works flawlessly. Good to know.

for now..


* Though probably do experience having their home server used as a dumping ground for 0day w4r3z and other, even less scrupulous content.

Checked your uploads folder lately?

 ©  2024 « » 24.5.20  

Welcome to!

I'm always messing around with the back-end.. See a bug? Wait a minute and try again. Still see a bug? Mail Me!