1. 29
  1.  

  2. 5

    Nice bit of investigation but I can’t help but feel like the author is too eagerly laying sticks of TNT under every post of Chesterton’s fence to save 7 seconds maybe once a week.

    1. 3

      There’s some magical threshold where things are trivially slightly broken where they really shouldn’t be… so the issue is really insignificant yet extremely annoying. I’ve definitely done things like that in the past - workaround a 2s delay where it really shouldn’t happen, because it annoys me more than a 2min “actually broken” process would.

      Just today I was about to dive into debugging whytf does wordle website freeze for ~4s every few days, because it’s extremely infuriating. People’s behaviours are weird.

      1. 5

        I absolutely get the frustration. Everyone has the point when they stand up to death by thousand papercuts. I’m just objecting to casually suggesting disabling SIP without as much as linking to what it is and what it does. From the OP it looks a bit like its only function is to be annoying and make git slow twice a month.

      2. 3

        It reads to me like an recreational investigation into the shitshow of complexity that modern computer systems and OSes are.

      3. 5

        I enjoy Jeff’s investigations but I fear any month now he’s going to snap and sell his mac forever.

        1. 6

          Honestly, he’s very much a self-hating Mac user - I don’t know what value he’s getting out of the platform based on how much he actively fights it and dislikes the direction it’s going in. He’d probably be a lot happier if he did just snap and buy a Surface or whatever. (I speak as a Mac user mostly satisfied with the platform.)

          1. 3

            I kind of get it. I spent a while doing more or less the same thing, only on Linux. It’s hard to throw away twenty years’ worth of muscle memory, knowledge and intuition (even if some of it is wonky because it’s been technically ported from FreeBSD :-P). It’s also hard to justify it: you can be super productive on a bad platform that you know really well, especially if knowing it well allows you to bypass the things that don’t work well. I’m a blissfully indifferent Mac user now. He’ll snap, too, and it’ll all feel better eventually :-D.

        2. 4

          This delay was bothering me with manpages on the CLI to the point where I had to install man from MacPorts and hardcode Apple’s Xcode paths into my MANPATH. But, once set up, has been working great.

          1. 4

            Seems considerably easier to just use crontab to do git status in some repo on reboot and have that ten entire second delay happen out of sight.

            1. 5

              crontab

              used to work, but the last time I tried I ran into enough problems that the consensus was “suck it up and use launchd“.

              Honestly, possibly unpopular opinion, but I hope OS X jettisons their vestigial userland. It’s the uncanny valley of POSIX right now. I’d rather install everything from ports and live that way.

              1. 1

                Exactly. I’ve never waited for a MacOS reboot because it’s always just happened when the machine has been idle overnight, so this wouldn’t even be something I’d notice. Would be nice if Apple could trigger it without us having to look at workarounds.

              2. 1

                I found this article when was looking why is a big number of binaries on macos, like clang++, python3 and make - are all the same hard-linked file of 138Kb. The explanation didn’t disappoint.

                1. 1

                  Hmm, sometimes fish takes forever to do tab completion. I wonder if this is connected because I usually use the Homebrew version of git, but I bet fish uses the system version… Needs further investigation.

                  Here’s an error message during a slow tab:

                  $ run2022-08-12 16:16:55.841 xcodebuild[87674:4250484] Requested but did not find extension point with identifier Xcode.IDEKit.ExtensionSentinelHostApplications for extension Xcode.DebuggerFoundation.AppExtensionHosts.watchOS of plug-in com.apple.dt.IDEWatchSupportCore
                  2022-08-12 16:16:55.842 xcodebuild[87674:4250484] Requested but did not find extension point with identifier Xcode.IDEKit.ExtensionPointIdentifierToBundleIdentifier for extension Xcode.DebuggerFoundation.AppExtensionToBundleIdentifierMap.watchOS of plug-in com.apple.dt.IDEWatchSupportCore
                  
                  1. 3

                    You can find out what is taking so long by profiling the completion. If the tab completion for foo is slow, just run

                    > fish --profile fish.log -c "complete -C'foo '"
                    

                    or, if the completion of a -- switch to foo is the problem:

                    > fish --profile fish.log -c "complete -C'foo --'"
                    

                    Then take a look at fish.log

                    1. 1

                      Thanks. It’s not reproducing now, but I at least have a log of things to look at.