Funnily, I have been that guy at the last 3 places I've worked at. Every place has some amount of cruft code, and I love sniffing it out and deleting it.
Uhh. No. That's a common misconception held by people that don't actually read their T&Cs. Your worth authorization is tied to "a" employer for the first two years. The employee is completely free to quit and enter into a contract with another employer. All you have to do is go get the name of the employer updated. It's just a formality and nothing else.
Yes, you have three months to find a new job if you're fired, but it's Europe, you most likely got at least a 3 month notice as well.
I applied to one of those positions at Canonical. Their hiring process is so bad, I noped out. No wonder they have open positions all the time, since serious engineers are not going to put up with those shenanigans.
What does my high school GPA and traits have to do with my work as a senior kernel engineer? It reeks of cliques and I want nothing to do with it.
That's a very nice summary. But you're missing one crucial point. These are GNU tools and if you use them within that ecosystem, you also often use gnulib.
Gnulib is effectively the GNU Portability Library. Your fancy, new, auto generated configure script can find all the differences, but someone still needs to account for them and write alternative code to support the various platforms. This is where gnulib comes into play. It reads all the configure checks and plugs in replacements / stubs for whatever is different. This allows you, the developer to simply target GNU/Linux in your code while gnulib handles everything else (and pretty automatically) making is portable across all the unices and even non UNIX systems.
The point of the anecdote is to supplement the parent poster by stating that their hypothetical scenarios are already happening.
We should have better testing and more eyes on incoming code for projects we depend on. But my point I guess is that vetting maintainers is not an option.
This exact thing happened to me. I maintain a fairly popular free software project. A few years ago, I received an email from a nasa.gov domain claiming that they want to use the project internally and are auditing all their suppliers.
They wanted documentation on me and on how I audit my supply chain for the project. Not cool. I don't have time for these shenanigans in my personal time.
That used to be a fairly common standard. You'll notice nearly all the old GNU / BSD tooling use this paradigm. It is even codified in GNU's coding principles. In fact, when you do that, you can even merge all the single character flags together. For example, I can type, `ls -lah` instead of `ls -l -a -h`. Pretty handy.
My pet peeve is commands not supporting -h for help and making me write --help. This is especially worse when the command already supports single character arguments.
Specifically in the case of paperless-ngx, I use their export facility from a cron job. The export is plaintext and contains all the information needed to recreate the postgres db and the learned identifiers. In case of a disk failure (and I've had one with my paperless store), I just reimported the previous days backup from my offline backup of paperless' export.
The only hard dependencies are Redis and Postgres. The official stance is to run them from the provided docket compose and the container for paperless-ngx itself is kept updated and working for the stable containers of redis and postgres.
Tika and Gotenburg are additional features for scanning and converting MS Office documents to PDF. Not necessary and I don't use them in my setup at all. Same with sftpgo. I'm not sure for its usecase. But paperless doesn't directly depend on it in anyway.
A new option to strip query parameters from the output filename would be interesting. But its not so simple. When combined with recursion, one will often see a lot of pages with the same name but different query parameters. How should they be stored on disk? There's a couple of different issues I can think of.
However, if the potential issues can be resolved with sane defaults, I think this would be a great new switch to add.
Wget will give you an equivalent with the --content-dispisition flag. I would like for it to be the default, but it would likely break backwards compatibility with some scripts that except a different output filename.
If you like the timestamp function, this is available as a tool in the `moreutils` package as `ts`. You can simply pipe the output of any command to ts and have a timestamp prepended to each line it outputs. Extremely useful for streaming logs