hckrnws
Daniel’s a true legend in the community. If only we all could make something even 1% as useful as curl, the world would be a better place!
Thanks Daniel!
Edit: my comment is not intended to disparage the rest of us. Clearly there is an element of luck to making something tremendously useful. That being said, Daniel is an amazing steward of a useful tool. Sometimes the job can seem pretty thankless for him (cough Apple) so I wanted to thank him!
You often can't know in advance what will be useful and what won't.
You can often know what will be useless tho
Rust is still popular ... so I wouldn't trust at least my future prediction skills.
This is getting downvoted but that's a neat self-deprecation joke!
> I have thought about a HDMI/keyboard switch to allow me more easily switch between my different spare computers into the left “backup screen” to make it a lesser hassle to alter between those machines, but I haven’t yet decided nor found a product that would be suitable.
Personally I love the Level 1 KVMs but they only do DisplayPort now.
https://store.level1techs.com/search?q=kvm
I have this 2 monitor 2 PC one https://store.level1techs.com/products/14-kvm-switch-dual-mo...
Still the KVM market is “all over the space” both in available configs and actual build quality too.
It would be extremely niche but an open source modular KVM is a dream of mine.
Holy shit, that's exactly what I was looking for last month... As a two screens user, could not find one that supported Display Ports.
I'm hoping to chain it to a dock station so I can easily switch between a laptop and a desktop, using the same monitors/ peripherals.
$299 for a two PC, single monitor kvm? Expensive.
Actually not - it's capable of 120hz @ 4k. Your typical chinesium $49 amazon KVM won't do that.
I work from home and every day I switch my cables to my work computer which takes 10 seconds. I don't want to pay $300 to shave 20 seconds off of my day.
You only say that because you are not monetizing your 20 seconds! (It is a joke)
Comment was deleted :(
How many days have you left?
Pretty chaotic for my taste! I find that having clutter on my desktop distracts me and makes me feel uneasy. I'm wondering what the difference between Daniel and me is. Could it just be a personality trait?
I too like a clean desk. But a clean desk doesn't stay that for long. So all clean desk lovers like me tend to have a cluttered desk.
The clean desks you see in pictures are obviously staged, or maybe people are really able to do serious work without ever putting a pen, or a cable, or a phone, or a mug on, sooner or later.
It's like doing the dishes. One of the things I hate the most in life, because you clean stuff so you can dirty it later. A clean desk is one that nobody uses, while your favourite cup is always in the washer.
Right, it's a constant process of getting messy and cleaning it up again. Speaking of which, brb ... cleaning my desk now haha. But the main difference is: I have my keyboard, mouse, closed macbook, a plant, and a big curved ultra-wide monitor on my desk. The rest is temporary clutter. Daniels desk however is full of "full-time tenants". I guess that's the difference.
[flagged]
Well, you’re a CTO (going by your handle) and Daniel is an open source engineer, so I’d say personally probably has something to do with it.
Steve Jobs was even a CEO and known for no-nonsense taste, but look what his desk looked like:
https://www.pinterest.ch/pin/305048574748887722/
There's a working desk, and there's the work that's being produced there. They don't have to have the same amount of structure.
I was referring to the personality question, not desk tidiness.
How is my job my personality? Lol ... I do code a lot in my free time, started coding at 14 years old and I contribute to open source as well. Pretty closed minded thinking to be honest.
I didn’t say your job is your personality, don’t be so melodramatic.
The fact that you took offense to my post rather than seeing it as a benign observation says a lot more about you than it does me.
You tried to project your expectations onto me and I corrected you. No drama nor offence taken here.
I immediately recognised the Cambridge Audio subwoofer under the desk. I had the same set on my PC from about 1998-1999 along with an Aureal Vortex. I loved that setup.
https://i.ebayimg.com/00/s/NjgzWDEwMjQ=/z/djQAAOSwtgNeUSYW/$...
His HW configuration is very similar to mine. One linux desktop, one laptop, one Mac Mini. Interesting.
But where's your Commodore 64, Bagder? We know it's hiding somewhere.
That made me check if he really has a C64 port. No, not yet https://daniel.haxx.se/blog/2022/11/25/89-operating-systems/
Is curl the single most widely ported piece of software? I could imagine that being the case.
I guess that would be Doom.
Really nice article. Curious, are there more folks running Debian Unstable as daily driver?
It’s not uncommon for people who like Debian overall but want to be less out-of-date.
KDE ? Simon Stålenhag wallpapers ?
Hmmmm :).
It says the desk is homemade, but it looks like a standard Ikea desk
IKEA was originally a Swedish company and still does their design in Sweden, so perhaps it’s not surprising that a homemade Swedish desk looks a lot like an IKEA desk.
IKEA doesn't have a 3 meter desk last time I checked. I'm guessing he bought a 3 meter wood counter top and screwed IKEA desk legs to it. That's what I did at least.
Both Daniel and Ikea are Swedish, so it's not beyond the realm of possibility that Daniel makes Ikea desks himself.
[flagged]
And how many of those have >10 billion installs?
https://daniel.haxx.se/blog/2021/10/15/curl-installations-pe...
I'm going to ask a really silly question, how do open source maintainers make a living, compared to the commercial MS Windows world?
how do open source maintainers make a living
Most who make a living out of it work on the project as part of their jobs at larger tech companies or universities. A few manage to start a company around that project and make a living selling various licenses and support. A tiny number manage to (at least temporarily) scrape together a living from donations.
For a large number of them however being an open source maintainer is an unpaid hobby they do on their evenings and weekends.
You can read it in the words of Daniel Stenberg himself:
it was simply developed at the right time to become the de-facto command-line utility.
But it should be a solved problem by now. No need for continuous full-time work.
It isn't a solved problem because standards are evolving. The most noticeable ones are related to encryption, but there are also HTTP2, WebSockets, QUIC and other protocols you need to speak on the web.
WebSocket isn't supported by curl.
HTTP 2/3 are mostly bad ideas (slightly less bad in the case of 3, but still overkill) pushed by Google to optimize an edge case no one but web browsers care about.
curl doesn't fully support HTTP 3 regardless.
> WebSocket isn't supported by curl.
Not yet in command-line, but libcurl has support. Besides, that's the task to work on full-time :)
https://curl.se/docs/websocket.html
> to optimize an edge case no one but web browsers care about.
I'd argue there are no reasonable use-cases for HTTP except web browsers.
Yes. By curl.
Every time comments like yours come up I'm just thinking "yeah, the fucker have no idea how much handling of edge cases comes up with libs like that"
I have implemented many networking applications from Ethernet to application protocols. I am also particularly aware of how HTTP and all the related stack works.
So your thinking appears to be inaccurate.
Isn't that just one side of the coin? The other being hardware compatibility.
There is nothing hardware-specific here.
Is not the solution called curl :)
> No need for continuous full-time work.
Probably not full-time, but some software are never done
"I work for wolfSSL doing commercial curl support. If you need help to fix curl problems, fix your app's use of libcurl, add features to curl, fix curl bugs, optimize your curl use or libcurl education for your developers... Then I'm your man. Contact us!"
From his website. They wouldn't give him a full-time position if there wasn't enough to do.
I think you are all overlooking the prevalence of libcurl
While the curl CLI is ubiquitous in our world, libcurl is embedded and used all over the place. Given that it has always been well maintained and enhanced I do not see a lot of reason to create alternatives or for someone to look to replace it.
What is the better http client? I thought most HTTP clients piggybacked on libcurl :)
I once saw him at a conference and he said curl even has an option to emit the C code to call libcurl and do the curl request you did.
I wish I had known this before.
However I mostly use wget from shell, and since I mostly work with python aiohttp/standard library/just writing the request on the socket.
Comment was deleted :(
curl is basically a cli for libcurl.
"It's just one HTTP client. There are better ones."
Why don't you stop being intentionally vague and tell us which ones, and what makes them better?
Because if there is something better than curl, with its enormous scope in protocols and platforms, and free of charge to boot, I would surely like to know.
Curl's installed base is enormous. If everyone who uses curl had to switch to some other solution tomorrow, that would mean millions of developer hours wasted. If anything, the author of curl should be paid more.
> It's just one HTTP client.
curl supports 28 transfer protocols [1]
> There are better ones.
curl has 60 language bindings, runs on 89 operating systems across 24 CPU architectures [1]
So what is that mythical better client (that only does HTTP)?
[1] https://daniel.haxx.se/blog/2022/11/25/89-operating-systems
a better HTTP client is one that does exactly what you want, nothing more and nothing less.
Yes, that's fine.
cURL isn't a HTTP client.
It's a command line tool and library for transferring data with URLs :-)
Still no name or this mysterious better client.
And what happens when I need something more, or something else? I need to find a different "better client"?
I still type wget when trying to download stuff... not sure if better, except for default behavior.
I usually use curl. wget does have one feature that curl doesn't (or at least I'm aware of), namely recursive downloading. So you can easily somewhat download an entire site.
I've run into weird situations where either curl or wget wouldn't be installed by default, so I use... whatever :)
But usually curl.
I already explained, what's better is what fits your needs exactly.
Without knowing your requirements it would be difficult to say.
Say for example your main concern is latency, you only need support for MTU-sized payloads, you want ro guarantee that the TCP connection is always established ahead of time and your requests always follow the same pattern with a few bytes to tweak.
You can easily write something that can do those things much better than curl in a couple of hours.
Oh right, and if your need is to open a specific site only, your best choice would be to write your own browser heavily optimized just for this particular site, instead of using Chrome. Nonsense.
Crafted by Rajat
Source Code