Our great sponsors
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
> Honestly I think you could be a little more respectful of the project that inspired yours.
I do. I had a lot of great "Huh? That's clever!" moments while reverse engineering the format and formed a mental image of a clearly brilliant programmer who managed to squeeze the last bits out of some data structures using really clever tricks that I myself probably wouldn't have come up with. During that time I gained a lot of respect for the project and the author.
Also, please don't forget: the whole project is the filesystem, the tools are just a part of that. I care about this project, which is why I decided to start this effort in the first place. Which I explicitly did not advertise as a replacement, but an augmentation (see [2]).
> I'd be angry too ... Definitely understandable.
Yes, I agree! And I can understand why in the heat of the moment you might write something angry and threatening. But certainly not if you've had a few weeks time to calm down and think things over.
> And you plagiarized part of his readme.
https://github.com/plougher/squashfs-tools/blob/master/RELEA...
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin...
https://github.com/AgentD/squashfs-tools-ng/blob/master/READ...
Oh yes? Which part?
> ... calling it spaghetti code (which isn't immediately verifiable)
Here you go, have fun: https://github.com/plougher/squashfs-tools/blob/master/squas...
However, I cannot blame anyone here, I totally get how those things happen and have witnessed it myself in action:
You write a simple tool supporting a larger project. It's written by the seat of your pants without much planning, since it's not big and does one simple job. Then it gets used in production, eventually requirements change, other people pile on patches, but try to keep the diff small, so it's reviewable and it receives maybe a little less care than the actual project it supports. Nobody bothers to overhaul it or write documentation because, hey, it works, and any large changes might risk breaking things.
Even if nobody is to blame for it, the end result is still the same: an undocumented mess that is hard to wrap your head around if you aren't the original author, who is the only one with the bigger picture.
I tried for roughly a week to pull the code (there are some more files than this and some of the inter dependencies are nasty) apart into stacked utility libraries and a pure command line parsing front end, with the hopes to maybe get this upstream once it is done. I gave up and decided that at this point I understood enough about the format to start afresh and not touch what I believed to be an unmaintained mess.
> Honestly I think you could be a little more respectful of the project that inspired yours.
I do. I had a lot of great "Huh? That's clever!" moments while reverse engineering the format and formed a mental image of a clearly brilliant programmer who managed to squeeze the last bits out of some data structures using really clever tricks that I myself probably wouldn't have come up with. During that time I gained a lot of respect for the project and the author.
Also, please don't forget: the whole project is the filesystem, the tools are just a part of that. I care about this project, which is why I decided to start this effort in the first place. Which I explicitly did not advertise as a replacement, but an augmentation (see [2]).
> I'd be angry too ... Definitely understandable.
Yes, I agree! And I can understand why in the heat of the moment you might write something angry and threatening. But certainly not if you've had a few weeks time to calm down and think things over.
> And you plagiarized part of his readme.
https://github.com/plougher/squashfs-tools/blob/master/RELEA...
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin...
https://github.com/AgentD/squashfs-tools-ng/blob/master/READ...
Oh yes? Which part?
> ... calling it spaghetti code (which isn't immediately verifiable)
Here you go, have fun: https://github.com/plougher/squashfs-tools/blob/master/squas...
However, I cannot blame anyone here, I totally get how those things happen and have witnessed it myself in action:
You write a simple tool supporting a larger project. It's written by the seat of your pants without much planning, since it's not big and does one simple job. Then it gets used in production, eventually requirements change, other people pile on patches, but try to keep the diff small, so it's reviewable and it receives maybe a little less care than the actual project it supports. Nobody bothers to overhaul it or write documentation because, hey, it works, and any large changes might risk breaking things.
Even if nobody is to blame for it, the end result is still the same: an undocumented mess that is hard to wrap your head around if you aren't the original author, who is the only one with the bigger picture.
I tried for roughly a week to pull the code (there are some more files than this and some of the inter dependencies are nasty) apart into stacked utility libraries and a pure command line parsing front end, with the hopes to maybe get this upstream once it is done. I gave up and decided that at this point I understood enough about the format to start afresh and not touch what I believed to be an unmaintained mess.
Related posts
- Getting the maximum of your C compiler, for security
- The Byte Order Fiasco
- What's the most pratical solution for someone who wants to use Linux as their primary OS but often has to deal with Windows-exclusive software and services?
- [PSA] If you are having problems running EAC enabled games on Steam, try running Steam through conty
- Help! Does anyone know how to install johncena141 games on linux?