Several years ago I started to design a new operating system with the idea of trying to rethink how everything was done.
I spent some time debating whether to start at the lowest levels and build it from the ground up. But I was worried that starting from nothing would take a significant amount of time and I would not have anything useful for years (the irony being that it has taken me years anyway). Furthermore, if there were any flaws in my ideas at a low level they may not be apparent until a significant part of development was done and then it would have to be scrapped.
I finally decided that I would take the approach of testing my ideas on top of an existing operating system and determine which ideas worked and which didn't work. So I started a package called 'Objectify' under the New World OS project on SourceForge.net. (I later created a separate Objectify project on SourceForge.net, but the CVS and Downloads are still under the New World OS project. The Feature Requests are under the Objectify project.)
While working on Objectify, I decided that there is of course information that you want stored that is private. But there is also a lot of information such as definitions of words, phone numbers and addresses of businesses, track listings of CDs, and specifications of computer motherboards this is public and could be shared with everyone. So I designed Objectify to store private data in an encrypted form and have it link to and use public (unencrypted) data that is shared with everyone.
Unfortunately, the development of all this is taking far longer than I ever imagined. I have been working on it since 2004 and it is only doing a fraction of the things I want it to do. One of the things it is doing now is recording the checksums of files. And as part of the public data (Public Objects) it stores the MD5, SHA1, SHA256 and SHA512 checksums of files. (I couldn't decide which would be the best message digest to use for the future, MD5 is so common and yet it may be superceded by SHA1, SHA256, or SHA512. I decided to hell with it, I'll just store them all. And as a bonus it seems to me that even if all of them eventually get cracks that it would be virtually impossible to have a crack that worked on all of them at the same time.)
If you have the Objectify programs on your system you could list the various checksums of files using the
'list_files' program:
list_files --public "ubuntu*"
Or you could verify the files you just downloaded using the 'verify_file' program:
verify_file --public *.iso
Finally I set up the http://www.worldwide-database.org web page to allow anyone with a web browser to access the public data stored in the Objectify public objects.
QRW Software
New World OS
Objectify
Downloads
SourceForge.net