# I am the Watcher. I am your guide through this vast new twtiverse.
# 
# Usage:
#     https://watcher.sour.is/api/plain/users              View list of users and latest twt date.
#     https://watcher.sour.is/api/plain/twt                View all twts.
#     https://watcher.sour.is/api/plain/mentions?uri=:uri  View all mentions for uri.
#     https://watcher.sour.is/api/plain/conv/:hash         View all twts for a conversation subject.
# 
# Options:
#     uri     Filter to show a specific users twts.
#     offset  Start index for quey.
#     limit   Count of items to return (going back in time).
# 
# twt range = 1 13
# self = https://watcher.sour.is/conv/zm5qtpq
I can't believe software developers are still trying to get people to do curl | sh. It's easy to miss the problem if you're still in the mindset of Windows software distribution, but these people are writing software on GNU/Linux, for GNU/Linux. You would think they'd realize that this is *never* a good idea.
@mckinley I think we (as in “the free software community”) have largely given up on that. curl foo | sh is basically equivalent to running precompiled binaries or the huge dependency mess that we have these days (simple programs pulling in 47289 libraries). We run completely untrusted code all the time and nobody cares anymore. The idea of eliminating distributions (which at least provide *some* layer of quality control) pops up again and again. A curl foo | sh is probably the *least* harmful thing these days, because it’s the easiest issue to fix.

(Meh: Rust’s curl https://sh.rustup.rs | sh downloads a 15 MB binary that does god-knows-what.)

Or am I missing the point? 🤔
@mckinley I think we (as in “the free software community”) have largely given up on that. curl foo | sh is basically equivalent to running precompiled binaries or the huge dependency mess that we have these days (simple programs pulling in 47289 libraries). We run completely untrusted code all the time and nobody cares anymore. The idea of eliminating distributions (which at least provide *some* layer of quality control) pops up again and again. A curl foo | sh is probably the *least* harmful thing these days, because it’s the easiest issue to fix.

(Meh: Rust’s curl https://sh.rustup.rs | sh downloads a 15 MB binary that does god-knows-what.)

Or am I missing the point? 🤔
@mckinley I think we (as in “the free software community”) have largely given up on that. curl foo | sh is basically equivalent to running precompiled binaries or the huge dependency mess that we have these days (simple programs pulling in 47289 libraries). We run completely untrusted code all the time and nobody cares anymore. The idea of eliminating distributions (which at least provide *some* layer of quality control) pops up again and again. A curl foo | sh is probably the *least* harmful thing these days, because it’s the easiest issue to fix.

(Meh: Rust’s curl https://sh.rustup.rs | sh downloads a 15 MB binary that does god-knows-what.)

Or am I missing the point? 🤔
FWOW I don't think I've ever once run such a shell pipeline in my life. who da fuq knows wtf that thing is even doing 🤣
FWOW I don't think I've ever once run such a shell pipeline in my life. who da fuq knows wtf that thing is even doing 🤣
FWOW I don't think I've ever once run such a shell pipeline in my life. who da fuq knows wtf that thing is even doing 🤣
@mckinley Yep, so wrong on so many levels.

@movq I just don't want to run such crapware. Browser, mail client and video player aside, I think I don't do too bad on that regard with my private stuff. Yeah, definitely ignoring the situation at the dayjob.

@prologic Only for Rust. Otherwise I stay away from that for sure.
@movq It's possible for a Web server to detect whether or not you're piping the output into a shell and change its output based on that, which makes curl | sh so much worse in my opinion.

https://web.archive.org/web/20240311094552/https://www.idontplaydarts.com/2016/04/detecting-curl-pipe-bash-server-side/
@mckinley That certainly doesn’t help, yeah. 🥴

(In the case of the Rust installer, I still wonder why they go through the trouble of having a shell script (POSIX, portable, even runs on Windows apparently), when all it does is download a binary and run that. Is that super useful to people, yeah? I’m sure there’s some reason, I just don’t see it.)
@mckinley That certainly doesn’t help, yeah. 🥴

(In the case of the Rust installer, I still wonder why they go through the trouble of having a shell script (POSIX, portable, even runs on Windows apparently), when all it does is download a binary and run that. Is that super useful to people, yeah? I’m sure there’s some reason, I just don’t see it.)
@mckinley That certainly doesn’t help, yeah. 🥴

(In the case of the Rust installer, I still wonder why they go through the trouble of having a shell script (POSIX, portable, even runs on Windows apparently), when all it does is download a binary and run that. Is that super useful to people, yeah? I’m sure there’s some reason, I just don’t see it.)
@movq Maybe it's just a cargo cult thing (pun intended) because it's somehow an accepted way to install a piece of software.