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

you are viewing a single comment's thread
view the rest of the comments
[–] 57 points 2 days ago (4 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 8 child comments
  • [–] 2 points 1 day 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
  • [–] 12 points 2 days ago (1 child)

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

  • source
  • parent
  • hideshow 2 child comments
  • [–] 12 points 2 days ago (1 child)
  • [–] 3 points 2 days ago (2 children)

    What if I write a program that checks argv[0] to decide which part of the code to run, and makes a bunch of symlinks

  • source
  • parent
  • hideshow 4 child comments
  • [–] 11 points 2 days ago (2 children)

    Trying to comprehend. Can’t any function be broken up to limitless sub functions? Doesn’t writing email fall under the function of sending email? Where can I read the docs about this?

  • source
  • parent
  • hideshow 4 child comments
  • [–] 3 points 1 day 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 2 child comments
  • [–] 2 points 1 day 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
  • [–] 2 points 2 days ago* (2 children)

    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 4 child comments
  • [–] 3 points 1 day ago (1 child)

    Can writing writing a word and formatting it bold and underlined not be considered three separate functions, requiring three different programs? That's what the comment above was talking about

  • source
  • parent
  • hideshow 2 child comments
  • [–] 16 points 2 days 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 2 child comments