marcopon / seqbox Goto Github PK
View Code? Open in Web Editor NEWA single file container/archive that can be reconstructed even after total loss of file system structures
License: MIT License
A single file container/archive that can be reconstructed even after total loss of file system structures
License: MIT License
I saw your SeqBox on /. I think it's great! I am just starting to learn about how filesystems work, because I'm playing around in x86 assembly writing a bootloader (because that's everyone's idea of fun, right?). Right now I only know how to read sectors from a floppy disk into memory, and reading up on FAT12 and even more advanced systems seems overwhelming. (Pretty much anything in assembly seems like an enormous task to me.) But with this, I could easily format the floppy as [whatever] and then use a for loop in my MBR bootloader to:
P
P
to some fixed location plus that offsetTo start, I would probably not worry about the checksum or even the UID since I only have one file. By the time the for loop has read the entire floppy, the kernel would be in memory!
Then I'd potentially be able to "drag and drop" kernel.bin files onto the floppy drive like a "real" disk! (Currently, I use dd
every time to write the MBR+kernel to the floppy, and Windows complains every time I insert it asking to format it.)
In other words... I could write an assembly program that can read SeqBox files from a disk without having to write a file system driver!
I wonder how much resilient SeqBox is to different "corruption vectors" e.g. in comparison with https://github.com/ttsiodras/rsbep-backup (which shall need just an approximate offset of the file and corrects up to 65280 consecutive bytes including all metadata)?
Some typical issues with FEC (forward error correction) schemes are outlined in https://www.thanassis.space/rsbep.html (especially metadata FEC is often flawed or the number of consecutive errorneous bits/bytes/chunks is very limited - typically to 1 or 2 or the ratio between errorneous parts and the whole data size is highly insufficient for long-term storage etc.).
A FreeBSD port has been created for SeqBox. Its status can be found here: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=218962
When reading the project description the only though I had in my mind was about use SeqBox as a filesystem format focused on reliability and data recovery (I like this kind of things :-) ), later I see that you had it also as a posible use case so hope to see it soon! :-D
It's marked as not working due to 488B sectors, but since both systems use the same concept, probably the metadata fields of OFS could be used by SeqBox format changing this last one to use the same positions (like a "extension" of the OFS format).
Neat idea, although if you want it to get used you need a native C library (reference implementation) under a liberal license.
jfyi: sha256 < sha512(-256) < blake2b for 64bit cpus.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.