Well I know now why I kept putting off the integration of QuickHash with SQLite! It started in October, and has taken me 4 months to finish! To say the work has been quite monumental would perhaps be putting it mildly.
Don’t get me wrong – the user won’t notice an enormous difference in terms of the interface. On the whole, its still very much the same, but the number of changes, fixes, improvements and its integration with SQLite have meant enormous re-writes of existing code and writing of several new units.
In addition, I’ve tried to get round to fixing some long standing issues that have either been commonly requested or commonly reported. The user can now import existing hash lists and see if the computed hashes are in their list which is perhaps the most commonly requested feature. See the user manual for more information. Linux users of modern Debian based distributions like Ubuntu, Mint and Zorin OS can now use the disk hashing module, whereas they couldn’t before because it was originally coded a couple of years ago when udisks was common in Linux, before it got superseeded by udisks2 (needs root privileges).
There’s lots of small changes like the addition to switch the case of generated output in the text and file tab, allow the user to then compute the hash of the hash in either upper or lower case circumstances.
But the biggest thing has to be the new use of SQlite. In theory, this will allow QuickHash to better cope with large volumes of data but moreover it wil allow the user to more easily and quickly review the generated data. For example, sorting by numeric ID (based on its number, not the string representation), filename, path, hash value, hash import values (by Yes or by No), duplicates, delete duplicates and much more besides.
One of the biggest headaches was cross-platform coding. I have always tried very hard to make QuickHash work the same, or as much as possible the same, on all three operating systems on the desktop. With SQlite integration, all three have a different place to store their SQLite binaries. Add CPU architecture into the mix and it doubles the trouble. Windows seems not to come with SQLite at all, and then one has to make sure that there’s a 64-bit version for the 64-bit version of QuickHash, and likewsie for the 32-bit version. For Linux, it comes with SQLite by default but the path varies depending on whether it’s a 32-bit or 64-bit architecture. And then there are further differences between whether it’s a Debian based system (Debian, Ubuntu, Zorin OS, Linux Mint etc) and otherwise (Fedora, RedHat, Suse) etc. I’m sure you don’t have to be a genius to work why just that aspect was a lot of work in itself…and that was just getting QuickHash to start and check it has SQLite at it’s disposal!!! We’re not even taking about how the data itself is put into it and retrieved or the database created and then removed.
Once I neared completion of v.3.0.0, there was just one small issue remaining….compiling it for all three operating systems for the last time, and then re-writing the user manual!! No small feat either. Those of you who may have read the manual perhaps realise it is also not a small undertaking. But re-write it I have and I hope it is of use. It is now available both within the main downloads and also as a standalone download.
I released two beta version for Windows before the final v3.0.0 release. One just before Christmas and one at the start of 2018. It was downloaded over 1K times, and I didn’t receive one bug report. But the bugs I kept finding all my lonesome. That said, most would not have impacted most users. I hope you will understand that with such a big change, there are bound to be things wrong with v3.0.0 which even I have not discovered yet having just released it. There’s only so much testing I can do myself. If you find a problem, please do file a bug report including as much information as you can. It has been tested (as in briefly run and a few tasks conducted) on the following platforms :
Windows 7 32-bit
Windows 7 64-bit
Windows 10 32 Bit
Windows 10 64 Bit
Zorin OS 12 Core – 32 Bit
Zorin OS 12 Core – 64 Bit
Linux Mint 17 32-bit
Linux Mint 17 64-bit
Ubuntu 17.04 32 Bit
For the Linux version of QuickHash, make sure you allow it to be executed as a program by either right clicking the binary or executing chmod +x QuickHash-Linux-xXX at the command line. Also ensure you only run the 64-bit version of 64-bit distributions, and the 32-bit version on 32-bit distributions. It will try to use the appropriate SQLite for your system.
For the OSX version, you should just be able to double click the downloaded DMG file and then the copy the app file to the Applications folder or desktop. But if not, copy it to your local user folder and also ensure it has executable permissions. You will also need to ensure your security settings are set to “allow programs downloaded from anywhere” to run via your security preferences. I hope to make a digitally signed version available soon (more on that in an up and coming blog post in the next few days) which will make the security demons a bit quieter.
For Windows, the 32-bit version will work on both architectures. The 64-bit version will only work on 64-bit Windows systems.
Anyway, that’s it. I’m going to have a short rest now! Happy data hashing. Oh, there are some screenshots below showing QuickHash working on Linux Mint, Zorin OS, Ubuntu, Windows 10 and Windows 7 and Apple Mac OSX. The worlds most truly cross platform data hashing tool that I know of.
Don’t forget – donations are welcomed!! Running this website is costing an increasing amount each month and I’ve just forked out over £250 for a code signing certificate (not got it yet though!!) so donations are needed. If you think this project is an achievement worth recognising and supporting, then you can send a donation via https://www.paypal.me/quickhashGUI