spoilerHopefully it's funny enough to offset that I'm reposting my own post.

A mastodon post from @rustynova.mastodon.social, saying: Due to multiple complaints about "Not following the Unix philosophy", the `alistral sex` command will be removed in the next version.   You will be able to keep it working by keeping the v0.6.9's executable and setting a custom cache database location to prevent conflict with the database version.   Sorry for the inconvenience. Stay tuned for a standalone version under the `alistsex` name.
you are viewing a single comment's thread
view the rest of the comments
[–] 90 points 2 months ago (15 children)

I just spend a couple of minutes researching and trying to understand the joke, but I'm sorry to say my efforts have been unsuccessful. How much ultra-specific information am I expected to know here?

Disclaimer: it's past my bed time and my brain is malfunctioning accordingly, so this might be on me

  • source
  • hideshow 15 child comments
  • [–] 54 points 2 months ago (10 children)

    Unix philosophy is 1 program = 1 function, so if you want to send a email Unix way you use 1 program to write the email (vim of course) and another program to send it. The joke here is that sex is a functionality to the alistra program making it not ok with the Unix philosophy, therefore that functionality is going to move to its own program alistsex

  • source
  • parent
  • hideshow 10 child comments
  • [–] 16 points 2 months ago (1 child)

    I know generally what alistral is, but I've never uses it. What does the "sex' command do or what's the joke about it? The description is blank in the documentation and I'm too exhausted from work to dig into the code repo, lol.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 14 points 2 months ago (1 child)

    So.. tar x should really be a separate program than tar c? They're doing different functions

  • source
  • parent
  • hideshow 1 child comment
  • [–] 1 point 1 month ago

    Naa, tar handles archives, it should know how to archive and unarchive really well. It shouldn't know how to compress or un compress or sort it's output by human readable file sizes. If you add the -z or -j, for example, to your tar command, tar will filter your archive through gunzip or bunzip prior to doing it's job of un archiving all your files. If you use the -f flag, tar will spit out a list of files that were operated on. Adding a sort -h feature to tar would violate the unix philosophy.

  • source
  • parent
  • [+] 10 points 2 months ago (4 children)
  • [–] 3 points 2 months ago (1 child)

    In "The UNIX Programming Environment" from 1984, mail is described like this:
    "Sending mail to someone is straightforward. Suppose it is to go to the person with the login name nico.
    $ mail nico
    Now type in the text of the letter
    on as many lines as you like...
    After the last line of the letter
    type a control-d.
    ctl-d
    $"

  • source
  • parent
  • hideshow 1 child comment
  • [–] 3 points 2 months ago

    This is also why SMTP is such a fucked up protocol. It was designed so that you could just follow the email protocol by hand. HTTP as well followed this philosophy (up to 2.0 at least). A decade or so ago there was a bug in outlook where you couldn't have a line with only a period in it because that's the end-of-email signal in SMTP.

  • source
  • parent
  • [–] 3 points 2 months ago* (1 child)

    Writing an email and sending it are pretty different functions, it's doesn't looks like that because the sending part is just pressing a bottom and all the protocols and sever communication is done in the background hide from the user.

    It's like asking the postal service to also write and package your mail and then open and read it for the recipient.

    I personally like that philosophy and try to use it in my job, with functions that only do one job and programs that only do one job and then just chain them and make calls from each other. My users doesn't know it's like that and they doesn't notice any difference, but it's help me debugging or implementing new functionalities.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 3 points 2 months ago

    I tend to think in terms of 1 function that is meaningful for composability. The point in having small tools is that they can be combined in new ways, not just small programs for its own sake. To me it makes sense if you think of Unix itself as both the IDE and the system carrying out the purpose of the machine. We've gradually moved away from this though.

  • source
  • parent
  • [–] [S] 20 points 2 months ago (3 children)

    From sleepy brain to another, it's a joke that Unix purists will go out of their way to remove a "sex" command just because it's not following the unix philosphy.

    There was 0 actual complaint, however, I will indeed remove the joke command as it won't be the funny number version anymore

  • source
  • parent
  • hideshow 3 child comments