1. 12

Computers are hard.

  1.  

  2. 6

    Yet more material to confirm my existing bias that environment variables lead to trouble.

    See, if all state passing to subprocesses were explicit (perhaps not for interactive use, but at least in the sense that programmatic invocation needed to opt in to each variable), then it wouldn’t be necessary for Perl to sanitize its environment. Then its behavior wouldn’t have wound up changing based on a noisy heuristic…

    Oh well. :)

    1. 4

      Plus this was like a perfect storm of troublemaking. You have a script in the global profile setting TMPDIR environment variable, you have emacs being invoked via multiple tools instead of being invoked directly, and you have escalated privileges on one of those tools.

      1. 2

        I guess - but every software failure is a coincidence of similar apparent absurdity. :) And none of those things are that rare, except maybe the capabilities part.

    2. 4

      I found that it was being set by /etc/profile.d/ziprecruiter_environment.sh, which the sysadmins had installed.

      zip…

      …recruiter!

      1. 2

        You laugh, but most recruiters can be compressed really effectively.

      2. 2

        Interpret command-line arguments as patterns

        Find files matching those patterns

        Present a menu of the files

        Wait for me to select files of interest

        Run emacsclient on the selected files

        vim -o $(grep -rIl "pattern" directory)

        No menu, but this accomplishes the same thing using vim and grep.