10:51 |
asciilifeform |
$ticker btc usd |
10:51 |
busybot |
Current BTC price in USD: $16558 |
| |
~ 7 hours 8 minutes ~ |
18:00 |
phf |
http://logs.bitdash.io/pest/2022-11-25#1016874 << this line lands particularly well, because i'm reading unixhaters guide at the moment |
| |
↖ |
18:00 |
bitbot |
Logged on 2022-11-25 23:44:37 asciilifeform[jonsykkel|deedbot|crawlerbot]: it worx ok for editing a config on remote box. asciilifeform uses it (for ~20y nao) to upload items to www. |
18:02 |
phf |
feels like one of those mp moments when he discovers that some core tool that he uses is an utter pos, loses his shit, and starts calling for lynching of the specific programmers and the programmer's in general, etc. |
18:02 |
phf |
*programmers |
18:03 |
phf |
i'm also reading unixhaters, and there are some passages there that makes one despair not just for the field, but the humanity in general |
18:04 |
phf |
like the whole section of nntp hate, one the grounds that it's just gigabytes of noise. what will authors say about modern™ internet |
18:09 |
phf |
http://logs.bitdash.io/pest/2022-11-25#1016871 << the braindamage is inherent to fish protocol, |
18:09 |
bitbot |
Logged on 2022-11-25 23:41:17 asciilifeform[jonsykkel|deedbot]: phf: 'fish' is a horrendous hack -- iirc pisses the file over base64, and at snail's pace (and satan help you if you have over9000 files, there's a sometimes ~1s overhead per) |
18:09 |
phf |
“#RETR /some/name Server sends line with filesize on it … then it sends binary data … Note that there's no way to abort running RETR command” |
18:10 |
phf |
which means that a copy of a 10gb file is just that, a 10737418240 followed by control message followed by 10gb worth of firehose |
18:12 |
phf |
https://raw.githubusercontent.com/MidnightCommander/mc/master/src/vfs/fish/helpers/README.fish unix retardation in its pure form |
| |
~ 27 minutes ~ |
18:40 |
phf |
so apparently it try to run a start_fish_server script, if it's available, otherwise it sends these shell snippets on each command |
18:41 |
phf |
actually it sends shell snippets every time, but fish server, if it's there and it runs, is supposed to ignore them |
18:41 |
phf |
of course there's no start_fish_server or anything remotely resembling a server (or anything online either) in the mc package |
| |
~ 23 minutes ~ |
19:05 |
phf |
https://midnight-commander.org/ticket/4232 …and the punchline |
19:05 |
phf |
“Let's forget about the compatibility with FISH command formats. Let's just send shell scripts with arguments that are convenient for us to the remote host and get results of script work. The part of FISH protocol relative to remote host answers will be used as is. |
19:05 |
phf |
|
19:05 |
phf |
” |
| |
~ 27 minutes ~ |
19:32 |
phf |
this is utter trash, because even for a simple connection, during handshake, at baseline, mc sends a shell command, that doesn't have corresponding fish annotation |
19:32 |
phf |
LANG=C LC_ALL=C LC_TIME=C; export LANG LC_ALL LC_TIME; |
19:32 |
asciilifeform |
phf: precisely as summarized by asciilifeform neh |
19:32 |
bitbot |
Logged on 2022-11-25 23:45:28 asciilifeform[4]: prolly could be made faster, but not easily (iirc it uploads a shell turd that decodes the text piss errytime) |
19:33 |
phf |
asciilifeform, not even like that, because your summary is more similar to how emacs tramp does it: upload a perl script, and then let interactions all go over perl |
19:34 |
asciilifeform |
hmm |
19:34 |
phf |
not the case here. instead it supposed to send #CMD ARGS\ncmd equivalent raw shell code\n |
19:35 |
asciilifeform |
barfalicious |
19:35 |
phf |
e.g. https://github.com/MidnightCommander/mc/blob/master/src/vfs/fish/helpers/ls |
19:36 |
phf |
so it's a fish command "#LIST /${FISH_DIR}" followed by a script with all the shit inlined |
19:37 |
phf |
fish_list_perl () |
19:37 |
phf |
{ |
19:37 |
phf |
FISH_DIR=$1 |
19:37 |
phf |
perl -e ' |
19:37 |
asciilifeform |
pretty disgusting, but interestingly does work 100% even with embedded toystore boxen (e.g. 'pogo' with asciilifeform's 5MB incl. trb hand-sewn linux etc) |
19:37 |
phf |
… |
19:37 |
phf |
well, yeah, "works"™ |
19:37 |
asciilifeform |
'light duty worx' |
19:38 |
* |
asciilifeform did wonder, wai not at least ~try~ caching the thing (see if it's still in /tmp) b/w files |
19:39 |
asciilifeform |
why it sends errytime. |
19:39 |
phf |
refer to unixhaters handbook to understand the brain damage |
19:39 |
phf |
i mean don't even need to cache: you can just send perl -e '...' as a first command, which sets up a mainloop server, that responds to your commands |
19:39 |
asciilifeform |
normally asciilifeform would immediately nod, but on surface seems like generic braindamage, rather than unix braindamage |
19:40 |
asciilifeform |
sumbody simply didn't bother baking a separate case for >1 file |
19:41 |
phf |
nah, i'm not even going to nod along. this is not "simply", this is fundamentally retarted on multiple levels |
19:41 |
asciilifeform |
retarded in the usual way where author: 'it worx for me, all i ever do it edit /etc/apache configs' etc |
19:43 |
phf |
send perl -e 'while(my $cmd=<>) { if(cmd=='list') { ... } ... }' as first command, and then send commands one after another. this way also not stuck with idiotic protocol, because if you want to extend ("getchunk /file <start> <end>"), simply add command and add it to your perl script. still overhead, but at least it's per |
19:43 |
phf |
-connection overhead |
19:43 |
phf |
but that requires more than a second of thinking |
19:43 |
asciilifeform |
well and relies on having perl on the other end |
19:44 |
phf |
sh -c '...' |
19:44 |
asciilifeform |
oughta be doable with plain sh |
| |
~ 19 minutes ~ |
20:03 |
phf |
oddly enough there's sftp file system, but i don't have that in menu. i imagine that runs directly of sftp commands? |
20:05 |
phf |
and sftpfs uses libssh2 |
20:11 |
phf |
…except it doesn't want to use config/id_rsa.pub. despite the fact that this https://midnight-commander.org/ticket/3238 claims its implemented |
| |
~ 15 minutes ~ |
20:26 |
phf |
and that's because sftp vfs includes its own ssh/config parser, that uses regular expressions, and expects you to have your configure in a particular format |
20:37 |
phf |
asciilifeform, you might want to look into that, sftp vfs once configured works somewhat better than fish |
20:38 |
phf |
at least large file interrupt is instantaneous |
20:40 |
phf |
there's still ложка дёгтя though: when getting the directory list it inexplicably does echo in the modeline "sftp: (Ctrl-G break) listing... <filename>". where i suspect the terminal i/o actually slows down the listing more than the listing itself being slow. what utter idiocy |
| |
~ 26 minutes ~ |
21:06 |
* |
asciilifeform not infrequently uses (raw, rather than via mc) sftp |
| |
↖ |