So, I have finished with the encoder and decoder. I'm a little dissappointed in the abilities of the decoder. Here's the problem that i kept hitting with it.

When I had two paths that produced the same amount of error the decoder couldn't resonably decide which one to choose. Now you might make the mistake of saying that the path doesn't matter, however if this path that mergers happens to be the path with the least error you're screwed. You can't tell if you have say 2 1 bit errors or 1 2 bit error. My solution for this was a very simple checksum function. after running several tests on my code I came to the realization that something like 10% of the decoding attempts had this catastrophic error problem and that when it had to run again more than one time it usually took thousands of iterations to work. This indicates a larger problem with My code than the algorithm. I'm not really worried though because i got it to work.

unfortunately bit 130 is still screwed, poor little guy.

also important to note is that my code handles filesizes divisible by 7. if your file is not divisible by seven, well you get the rest of the file to repeat.
EX:
12345678
|
V
12345678234567
not a good thing, but I did get you the working code. So don't sweat the small stuff.

I will try to comment my code before i post it on my site.
I will be typing up a nice report much like i did for DES encryption.
any questions or comments feel free to post or PM or Email.

tex23bm