This is super cool. The author is remarkably good at quickly explaining and conveying how all of this works.
I was initially surprised that they were able to get an actual error correcting code running in Python at 100 MB/s to 300 MB/s, but once I saw that it was just XOR all over the place, that made lots more sense.
I think it'd be really cool to see this author write a post explaining some of the more advanced codes such as Raptor codes.
Raptor codes are powerful, but one has to be careful with them, as they are heavily patent encumbered by Qualcomm according to Wikipedia[1]:
"Raptor codes are heavily covered with patents in various jurisdictions. For the specific instances specified in RFCs, statements by patent owners may or may not provide some leeway, depending among other things on whether the device carrying the implementation also implements a "wide-area wireless" specification."
So I encourage people who otherwise work with Error-Correcting codes to tread lightly when considering implementing Raptor and RaptorQ codes.
Do you know of any other fountain codes more powerful than the LT code described in the article, that are not particularly patent encumbered? This seems like a really interesting area, but from reading around a bit, it seems like part of the issue is that because all of the research is so recent, you end up stepping on someone or other's IP.
Online Codes (https://en.wikipedia.org/wiki/Online_codes) are very similar to Raptor codes for rateless erasure coding. The construction consists of an inner an outer code. However unlike RaptorQ, they are not optimized for an entire range of block lengths.
Hi, I'm the author of this article!
I really appreciate your comment, thank you.
I had the idea to continue this "series" with the Raptor Codes but, as it was replied, it is under a lot of patents and I have to admit that it was discouraging. What a frustration for the readers to understand something but no being able to use it freely.
I think due to aggressive patenting many applications never materialized. I know I looked at them several times and the decision was always "not worth the licensing hassle".
I was initially surprised that they were able to get an actual error correcting code running in Python at 100 MB/s to 300 MB/s, but once I saw that it was just XOR all over the place, that made lots more sense.
I think it'd be really cool to see this author write a post explaining some of the more advanced codes such as Raptor codes.