Home
Name Modified Size InfoDownloads / Week
previous 2025-12-06
README.md 2025-12-06 1.8 kB
Calculations.jl 2025-12-06 32.8 kB
COPYING 2025-12-06 35.1 kB
disk_block_transpose.c 2025-12-06 20.5 kB
make_checking_script 2025-12-06 4.3 kB
randomise_text.gawk 2025-12-06 85 Bytes
robust_archive-disk_block_transposed-all_source_code-padded 2025-12-06 127.0 kB
robust_archive-disk_block_transposed-make 2025-12-06 24.6 kB
robust_archive-disk_block_transposed-restore 2025-12-06 20.5 kB
robust_archive_split.c 2025-12-06 12.3 kB
robust_archive_split.jl 2025-12-06 8.2 kB
robust_archive_split.rust 2025-12-06 8.2 kB
Totals: 13 Items   295.3 kB 1

The purpose of this program is to disk block transpose a file so as to near-maximally separate consecutive disk block. An envisaged use-case is BluRay storage of data to enhance error correction systems. Consider 2 common causes of BluRay errors : scratches and the blotchy degredation over time. Radial scratches affect small sections of numerous tracks. Circular scratches affect large sections of a few tracks. Error correction systems can only correct up to a certain number of errors in a block of data. Maximally separating consecutive blocks will greatly disperse the errors over vastly different of the disc and greatly assist error correction systems. Maximum separation would be achieved by striding the data by at least the square root of the number of bits, however, it is CPU expensive to work purely in bits or CPU sized words. Instead, work with disk blocks, specifically with file system block size accessing, in this case a file system block size is 4,096 bytes.

NOTE: These files must be installed in /usr/local/bin

NOTE: Build 'disk_block_transpose' with 'gcc -std=c99 -O3 -lm -o disk_block_transpose disk_block_transpose.c'

NOTE: Build 'robust_archive_split' with 'rustc --codegen lto --codegen opt-level=3 robust_archive_split.rust'

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

Source: README.md, updated 2025-12-06