https://medium.com/@yashmarathe21/understanding-reed-solomon-erasure-coding-with-a-practical-python-example-fd983e225f9c