Curl 8.0.1
daniel.haxx.se
daniel.haxx.se
> Replace this text with the error page you would like to serve to clients if your origin is offline.
Just like roads. Nobody forces people to use them, you know; sure, some people might want to use them, to go for some place for some other non-road-related business but that's just their problem.
On a more serious note: people complain about "stuff" when they try to use that "stuff" to do something and it doesn't work no matter whether it's free or not, it's just human nature. As for "forced to use"... if you need to make a network request from command line, the options are basically curl or wget. Neither of them support your use case? Well, you can always just give up and not do whatever you intended to do, nobody forces you to achieve things anyhow.
Open source software is not a public utility and not paid for with tax money, therefore your analogy is flawed.
https://github.com/curl/curl/commit/c2df780a97d9913eb20a55d4...
Maybe it is a sign of bigger and more stable source code, that individual commits influence each other less.
If your git history looks like a work log, you're not writing atomic commits.
And people should get comfortable with git commit --amend and interactive rebase.
> Apart form the little bug that caused it to crash in several test cases. (...)
> Exactly why this was not discovered in our tests and CI jobs before the release we have yet to figure out, but it is certainly more than just a little disturbing.
Some software developers are just cursed.
Also funny that you wonder if people would take the hurdle to send an email instead. In this particular case, the author has in fact written about the torrent of email abuse he faces on multiple occasions, for example here [1]. Is his 2021 post evidence that email is a thing of the past?
https://daniel.haxx.se/blog/2021/02/19/i-will-slaughter-you/
It's not only about the comments we can see, but also about those comments that get filtered out by the moderator
> Also funny that you wonder if people would take the hurdle to send an email instead.
Of course you also get non-friendly emails. I was wondering if the people that leave those comments would send an email instead.
If that's what he left in and responded to, what do you think he's taking out?
> wondering if the people that leave those comments would send an email instead
The evidence presented is that he gets abusive emails with a comment section...why would he get less emails if he closed the comment section?
Dropping support for a group of platforms is definitely something I'd consider a breaking change.
I think that's a breaking change by most definitions.
This is particularly nasty when it happens in mostly stable, rarely-updated internal projects because what was supposed to be a 5-minute, 3-line update turns into a several hours long wrangling match. Apparently, the code does rot and rust or something.
https://github.com/grpc/grpc-go/issues/3798#issuecomment-670...
See the discussion on semver and experiments: https://github.com/semver/semver/issues/238
If you want this project to use a particular versioning scheme then you should just argue for that directly.
[1] Other than this snippet :) : “on curl’s 25th birthday made it extra fun”
Definitely a sane policy on the internet.
Ofcourse we wish everyone would use semver...
Solaris tried something like this for a while. While their competitors were releasing versions 4, 5 and 6 of their OS, Solaris was releasing version 2.4, 2.5 and 2.6. This made it look like they were just doing minor updates to Solaris, when they were in fact major new versions. Eventually they gave up and renamed solaris 2.7 to Solaris 7 just to keep up with the version numbering.
¹ https://git.savannah.gnu.org/cgit/emacs.git/tree/etc/NEWS.1-...
Yep:)
> So what's the point for semver?..
Exactly that: To trumpet it to the world - this project never broke compatibility, accept no substitutes.
> The Linux ABI definition is both fuzzy and controversial. Some ABI breaks are unavoidable. [1]
[1] http://she-devel.com/Chaiken_LinuxABI.pdf
Ultimately it sounds like the policy is actually 0 “reallly bad ABI breaks” where “bad” is a subjective evaluation of how many bug reports they get or breaking something foundational (eg pulse audio). It’s just not possible to freeze the ABI because people may have found kernel bugs and worked around them and the fix for the kernel bug breaks the workaround. That’s what Hyrum’s law means and the Linux kernel doesn’t have a unique solution here. Don’t get me wrong. They do a fantastic job all things considered. But the “never break ABI” is more marketing than a hard and fast rule (but yes they generally get as close as is feasible to sticking to it)
“Public api never breaks” as OP posted, for example, is a reference to the Linux ABI policy
Quite a few engineers has seen the sharper side of his tongue for not taking that mantra seriously enough
Oh, just because the tests can't imagine what the environment on all those hundreds of millions of client machines is :)
Update: Based on comments from @xorcist and @stabbles:
alias wget="curl -fLsS --no-clobber --remote-name-all"
--remote-name-all
instead of -O (--remote-name) to download all arguments files. It was in my opinion a mistake in the curl cli that remote-name works like output and needs to be repeated for each url. Remote-name-all is what rename-name should have been all along.Also, --no-clobber is very recent (v7.83), so unlikely to work in general.
So `curl -fLOsS ...`
But when you want to recursively download a website, of course, nothing better than wget. curl doesn't support that, and you'll need to parse and fetch the urls recursively yourself with a script.
> The reason there isn't a "Copy as wget" option, I think, is the level of control that curl allows so the request can be tailored to exactly mimic the browser.
That's not true. You can read the code that generates the curl command, it's pretty straightforward:
https://github.com/ChromeDevTools/devtools-frontend/blob/c9a...
The arguments it uses are --url, --data-raw, -X/--request, -H/--header, --compressed and --insecure, all of which Wget has an analog of. I think the reason is that they don't care to do it and/or they don't want to make that "Copy" dropdown too long.
It allows you to repeat a request that the browser did, but in your own terminal. It only downloads data, but doesn‘t run downloaded scripts.
curl https://example/file >file