|
|
/ Hathaway Weblog / Reed-Solomon Python Extension |
I just put together and released a Reed-Solomon Python extension module. Reed-Solomon is a forward error correction (FEC) encoding method. RS encoding adds efficient redundancy that allows you to recover from data transmission or storage errors.
Only a few weeks ago, I was under the impression that all error correction technology was either extremely application-specific or shrouded by patents. It turns out that RS coding is common and simple to use. It was invented 45 years ago, so any patents are probably expired.
I also studied other FEC methods. Some are probably covered by patents. Some are faster, but less predictable. The failure tolerance for RS codes is a simple equation. Given these factors, I decided RS coding was the best way to get started.
I'm pretty happy with how the module turned out. As I wrote the tutorial on how to use the module (see README.txt), I discovered it was hard to explain some of the details. In most cases, rather than agonize over wordsmithing, I simply changed the code to make it easier to explain. This seems to happen every time I write a tutorial. Writing a tutorial, as agonizing as it can be, seems to be an excellent way to improve code.
Hopefully, others will also find the module useful.
