Let's go back to the statement "I don't understand and trust checksums". That seems unusual to some of us, but I think it's a good educational opportunity.
Let me ask you this... "if 2 wav files contain the same computer data, do they contain the same sound data?". The answer is yes. I'm not talking about compression or checksums or converters, just pointing out that comparing computer files is a simpler and more definitive test than analyzing data. Either the files match or they don't match. You could write a program to open both files, go down through them byte by byte and see if they match pretty easily.
So if I have a wave file, I can compress it with flac, then uncompress it to get another wave file. Then I can compare the first wav file to the second wav file byte for byte and if they match, we didn't lose any data, hence the definition of lossless. That becomes definitive proof. I encourage you to try it yourself. Do it over and over again until you believe it.
The problem with comparing files byte by byte is that it's not very efficient when it comes to transferring large files across the internet. You would need 2 full size copies of data to compare, which means we have to transfer twice as much data. So the math and computer geeks invented checksums. It works something like this... let's say I call you on the phone and give you a bunch of numbers and you write them down... 34511234..... 134142412...... 2634563..... 37634673.... go on for 1000 numbers like that. We could say "read them back to me", and we could double check number for number. Another way to check them would be to say "add them up and you should get 12341412341". If we both get the same result, we probably copied all the data over accurately, and it's efficient because we only had to send 1 extra number instead of all of them. That algorithm isn't very robust, and you could make 2 mistakes that mask each other. So the geeks think deeper and come up with some other math functions, where the odds of not detecting mistakes are "a bazillion to one". The entire internet and everything computer related is based on "a bazillion to one is an acceptable risk". More on checksums here.
http://en.wikipedia.org/wiki/ChecksumSo, if you take a wave file, flac it, unflac it, and compare the checksums they will match. The only way they won't match is if your computer is failing. The odds your computer is failing is a million to one. The odds of not detecting that failure with md5sum are a bazillion to one. If you use Flac Fingerprints (ffp) and md5sums (md5) and flac checksums (st5) all together, the odds are a million times a bazillion cubed. So checksums work, and they are universally accepted as such.
~~~~~~~~
So where did this whole thing about "lossy flac" scare come from? Well, there was once a guy to proposed a "lossy flac" standard. Bad idea. It never took off.
http://www.hydrogenaudio.org/forums/index.php?showtopic=55522Then there was this guy who says "in foobar it says I'm playing at 455kb/s, but it should be playing at 1411kb/s". From there he draws the wild conclusion that Flac is lossy, when the real answer is that foobar is only telling you how much data it has to uncompress on the fly.
http://www.anythingbutipod.com/forum/showthread.php?t=38885The one thing I will concede as a possibility is that streaming flac programs might not be perfect. If I put flac files on my rockboxed H120 and play out the optical to my stereo is that bit perfect compared to wav? I dunno. But that's another issue... that doesn't mean Flac is lossy, just the streaming software.