Rsbep
rsbep by Thanassis Tsiodras is a modification of the original rsbep0.0.5 by Phil Karn, et al that creates a 'shielded' version of a file by interleaving the data and adding Reed-Solomon parity data, allowing errors to be recovered, even if they span multiple sectors
Storage media are of course block devices, that work or fail on 512-byte sector boundaries (for hard disks and floppies, at least - in CDs and DVDs the sector size is 2048 bytes). This is why the shielded stream must be interleaved every N bytes (that is, the encoded bytes must be placed in the shielded file at offsets 1,N,2N,...,2,2+N,etc): In this way, 512 shielded blocks pass through each sector (for 512 byte sectors), and if a sector becomes defective, only one byte is lost in each of the shielded 255-byte blocks that pass through this sector. The algorithm can handle 16 of those errors, so data will only be lost if sector i, sector i+N, sector i+2N, ... up to sector i+15N are lost! Taking into account the fact that sector errors are local events (in terms of storage space), chances are quite high that the file will be completely recovered, even if a large number of sectors (in this implementation: up to 127 consecutive ones) are lost.
It also comes with 'Reed-Solomon FS', a FUSE-based 'filesystem' where all files written to /strong actually get saved to /reed-solomoned-data as originalFilename.frozen.RS