Post A1BCgReVBA3BHLVXX6 by amdt@mastodon.social
 (DIR) More posts by amdt@mastodon.social
 (DIR) Post #A1BCgQo2KE5Cecxdku by amdt@mastodon.social
       2020-11-14T03:40:35Z
       
       0 likes, 0 repeats
       
       I recently saw a toot marveling at the usefulness of ‘tar’ in a pipeline to recursively copy the contents of one directory to another in Plan 9.
       
 (DIR) Post #A1BCgQzNe39nDoGhRA by amdt@mastodon.social
       2020-11-14T03:41:17Z
       
       0 likes, 0 repeats
       
       (Plan 9’s ‘cp’ doesn’t support recursing into sub-directories and this often trips up newcomers to the system.)
       
 (DIR) Post #A1BCgR6pCN6zatke2a by amdt@mastodon.social
       2020-11-14T03:45:32Z
       
       0 likes, 0 repeats
       
       It seems Plan 9’s developers were reticent to implement tree-walking algorithms in the core utilities more than a few times, so they left its practical uses as a problem for the user (or as an intellectual challenge, for some); this is classic UNIX culture (which BSD and GNU thankfully didn’t inherit).
       
 (DIR) Post #A1BCgRFKgjuw1HjRIm by amdt@mastodon.social
       2020-11-14T03:50:20Z
       
       0 likes, 0 repeats
       
       The community offers several solutions to the problem of wanting to recursively copy the contents of one directory to another: the first is to just not do that; the second, to just bind the contents of one directory into another; the third, since it’s apparently trivial — is to implement it yourself as a shell script.
       
 (DIR) Post #A1BCgRNqB6isRfiEYy by amdt@mastodon.social
       2020-11-14T03:55:09Z
       
       0 likes, 0 repeats
       
       If its implementation as a shell script is trivial, then it should be implemented as a shell script… and then added to the standard distribution!
       
 (DIR) Post #A1BCgReVBA3BHLVXX6 by amdt@mastodon.social
       2020-11-14T04:01:27Z
       
       0 likes, 0 repeats
       
       This is not a thread about Plan 9; it’s just an example of something I have difficulty with about the UNIX culture: the endless academic jostling about whether something should be implemented, or left as an exercise for the user, and if it is implemented, whether it’s done with core utilities, or as a shell script etc.
       
 (DIR) Post #A1BCgS8zLoR8ntlt3I by amdt@mastodon.social
       2020-11-14T04:04:56Z
       
       0 likes, 0 repeats
       
       There are also non-UNIX examples: the Multics community argued about whether line and text editing features should be implemented by Multics at all, or left to be implemented by manufacturers of video terminals.
       
 (DIR) Post #A1BCgSHUqBF5EHkgJU by amdt@mastodon.social
       2020-11-14T04:20:46Z
       
       0 likes, 0 repeats
       
       Alacritty, a very recently developed terminal emulator, for years had absolutely no ability to scroll the output because its author believed its implementation should be left to terminal multiplexers, such as ‘screen‘ or ‘tmux’.
       
 (DIR) Post #A1BCgSQiHucBgs42gC by amdt@mastodon.social
       2020-11-14T04:34:00Z
       
       0 likes, 0 repeats
       
       There are few things I care less about than the arguments UNIX fans have about where something should be implemented. It’s of absolutely no interest to me. It’s as interesting as two neighbours arguing over the position of the fence between their houses, or schoolboys playing football and arguing about the distance of their sweaters as impromptu goal posts.
       
 (DIR) Post #A1BCgSetRBxQOqhMmW by amdt@mastodon.social
       2020-11-14T04:40:19Z
       
       0 likes, 0 repeats
       
       The degree to which our current thinking about how computer systems should be composed is restricted by the (perfectly valid for the time) architectural decisions made for a multi-user time-sharing system for 16-bit minicomputers with a couple of megabytes of memory… is frustrating!
       
 (DIR) Post #A1BCgSqajhJaz8Ai12 by amdt@mastodon.social
       2020-11-14T04:45:28Z
       
       0 likes, 1 repeats
       
       All of this to say that I have considerably more affinity and longing for the Lisp and Smalltalk machines, where there was no distinction between kernel- and user-space, and the address space wasn’t cordoned-off between processes.