• seaQueue@lemmy.world
    link
    fedilink
    arrow-up
    73
    arrow-down
    1
    ·
    7 months ago

    Gentoo users would be really mad about this if they weren’t still building their web browsers and could get online

  • henfredemars@infosec.pub
    link
    fedilink
    English
    arrow-up
    26
    ·
    7 months ago

    Why does this option without specifying a number of threads even exist? It might as well be footgun mode.

    • seaQueue@lemmy.world
      link
      fedilink
      arrow-up
      18
      ·
      7 months ago

      I’m pretty sure it’s “run as many threads as there are cores” mode, though if you’re running it in a terminal I always find it best to use nproc-1 or -2 so the machine actually stays usable.

    • Artyom@lemm.ee
      link
      fedilink
      arrow-up
      8
      arrow-down
      1
      ·
      7 months ago

      I don’t think I’ve ever used -j without specifying as many cores as I have, so it sounds completely reasonable.

    • palordrolap@kbin.social
      link
      fedilink
      arrow-up
      4
      ·
      7 months ago

      One of Perl’s design principles was the Robustness principle, though it probably wasn’t known by that name at the time. (The name came about around the same time Perl was becoming a thing, something something zeitgeist something.)

      Perl can be locked down and made to complain (with at least a couple of levels of pedantry) when things are wrong, but unlike most other languages, it doesn’t do so by default.

    • MajorHavoc@programming.dev
      link
      fedilink
      arrow-up
      29
      ·
      edit-2
      7 months ago

      I believe the left hand is a shell fork-bomb, on the assumption that anything that zany is probably malicious.

      And the right hand is a way to tell Make to use up all available system resources:

      "-j [jobs]’ ¶
      ‘--jobs[=jobs]’
      Specifies the number of recipes (jobs) to run simultaneously. With no argument, make runs as many recipes simultaneously as possible. If there is more than one ‘-j’ option, the last one is effective. See Parallel Execution, for more information on how recipes are run. Note that this option is ignored on MS-DOS."
      

      Edit: I think the make command is technically only a problem when run for a Makefile that tries to do too many things, and has at least one mistake in dependency controls. So… for every Makefile I ever encountered (or that I ever wrote!)

      Yeah. They’re the same picture

      • Voroxpete@sh.itjust.works
        link
        fedilink
        arrow-up
        16
        ·
        edit-2
        7 months ago

        You are correct, left hand is a fork bomb. Specifically, it creates and then runs a function named “:”. What this function does is pipe its output into itself while running in a background process, which instantly spawns infinite copies of itself. Technically I believe the : character could be any character as its just a name. The creator just picked a colon for aesthetics.