Allow me to introduce #trurl 0.10: github.com/curl/trurl/releases…
Your favorite URL parser and manipulation tool.
Release trurl 0.10 · curl/trurl
trurl 0.10 Changes since previous release o add --replace Bugfixes since previous release o fixed buffer overflows on %00 use o support compiling with old versions of Visual Studio o enable more C ...GitHub
daniel:// stenberg:// reshared this.
Jason Parker (he/they)
in reply to daniel:// stenberg:// • • •daniel:// stenberg://
Unknown parent • • •Shell
in reply to daniel:// stenberg:// • • •Camdon
in reply to daniel:// stenberg:// • • •I promise I'm not trolling. This seems like a new project that handles something that humans (or at least humans not named Daniel Stenberg) get wrong a lot: URL parsing. Did you consider Go or Rust for this project?
For context, in my professional capacity I end up having a lot of conversations about moving to memory-safe languages, and there seems to be an assumption that it will be intuitively obvious when a new project shouldn't be started in C - an assumption that I think is probably wrong. I think based on my personal biases, I probably would have identified this as a likely candidate. Since you wrote it in C and Perl, and since you literally wrote some of the duct tape (or do you prefer super glue) that holds the internet together, I'm hoping to get your thoughts. I'm sure you get a lot of "just write Curl in Rust over a long weekend" type of messaging, and I really hope this doesn't come across that way.
CC: @joshbressers and @kurtseifried because they're cool
kurtseifried (he/him)
in reply to Camdon • • •@camdoncady @joshbressers please go read joelonsoftware.com/2000/04/06/… and then think about the context of @bagder having copious knowledge and access to expertise for url related shenanigans and C. Implementing this in rust is extremely non trivial and would likely result in a lot of fun new problems.
In other words, sometimes you gotta work with the tools that you’re most experienced with. Also, in the hands of an expert, even dangerous tools can be reasonably safe and effective. There’s a cost to making people switch their tools and learn new things, and they may or may not be a payoff that makes it worthwhile. #Economics.
Things You Should Never Do, Part I
Joel on Softwaredaniel:// stenberg://
in reply to kurtseifried (he/him) • • •@kurtseifried @camdoncady @joshbressers I think you nailed it exactly.
I'm a rust rookie, I couldn't do this in rust without spending enormous amounts of time. I did not want to do that - I just wanted to crank out a useful tool and I know my way around C. Also, the tool uses the libcurl URL API (as a fundamental part) so it would rely on that (C code) anyway.
kurtseifried (he/him)
in reply to daniel:// stenberg:// • • •daniel:// stenberg://
in reply to kurtseifried (he/him) • • •Josh Bressers
in reply to daniel:// stenberg:// • • •daniel:// stenberg://
in reply to Josh Bressers • • •daniel:// stenberg://
in reply to kurtseifried (he/him) • • •kurtseifried (he/him)
in reply to daniel:// stenberg:// • • •daniel:// stenberg://
in reply to kurtseifried (he/him) • • •Ariadne Conill 🐰
in reply to Camdon • • •Josh Bressers
in reply to Ariadne Conill 🐰 • • •@ariadne @camdoncady @kurtseifried
Is not a troll, it’s a very real question and I think the answer from Kurt and Daniel were very reasonable and informative
Kevin Granade
in reply to Josh Bressers • • •@joshbressers @ariadne @camdoncady@infosec.exchange @bagder @kurtseifried you can answer troll questions with reasonable answers, that doesn't make the question reasonable.
Asking someone announcing the release of a piece of software to reconsider their design decisions without knowing a thing about the project isn't reasonable.
Ariadne Conill 🐰
in reply to Kevin Granade • • •@kevingranade @joshbressers @kurtseifried i have to agree here. the questioner first acknowledges that daniel is a domain expert in regard to URL handling, and then implies that he might make a mistake.
yes, sure, even an expert might make a mistake (nobody is perfect), but the implication followed up by the suggestion to use Go to prevent mistakes is not a legitimate argument, and there have been mistakes made in Rust URL parsers before, so clearly Rust does not give a magical protection against mistakes either.
this makes the inescapable conclusion that the questioner is trolling.
Ariadne Conill 🐰
in reply to Ariadne Conill 🐰 • • •kurtseifried (he/him)
in reply to Ariadne Conill 🐰 • • •@ariadne @kevingranade @joshbressers this is a good example of you are an expert in something for example, you know that you or else have a stable grammar and are not magic. But the fact that you know that they actually have a grammar, let alone a stable grammar put you in zero point a lot of zeros one percent of the population of technologists. I would point out that Google took URLs away from the address bar because nobody knew what they were and they were just confusing.
How many components does a URL have (no cheating and checking Google):
kurtseifried (he/him)
in reply to kurtseifried (he/him) • • •daniel:// stenberg://
in reply to kurtseifried (he/him) • • •