1. 2

    No one should ever read this book cover to cover. That would be just silly.

    I actually did exactly that last Sommer and I intend to do it again the next one.

    1. 1

      Wow, that’s awesome. May I ask why you did that? The book is so sprawling.

      1. 2

        No particular reason, I’m just interested in everything. I work as sysadmin full time and, not having a formal education, I feel like I have a lot to catch up on. I will probably never use many of the technologies described in the book, but it’s just good to know they exist and what they are for in case I need them someday. Also, knowing more about the infrastructure behind the stuff that I use everyday makes me a better user I think. That said, I admit I have skipped some section here and there :)

    1. 10

      Relevant discussion on the Apple developers forum, where the developers of Little Snitch, TripMode and Radio Silence, among others, express their concerns:

      https://forums.developer.apple.com/thread/79590

      Apple official position is for them to file an “enhancement request”. Good luck with that…

      1. 2

        And all of that was in 2017. Really unlikely that Apple is going to do anything given it’s been almost 3 years.

        1. 6

          Right. I was never fan of the theory that Apple was iPad’ifying macOS. But it looks like we are heading that direction, even if accidentally. I can understand Apple’s motivations for the individual changes. In principle SIP is great, it protects against many malware attacks. In principle user-space drivers are also great, a vendor’s crap drivers should not run in our ring-0 [1]. Signed applications were great, but the mechanism was somewhat sensitive to stolen developers keys. No we have notarization, which puts makes Apple de gate keeper, even outside the App Store.

          With many of these steps, there are accommodations for more advanced users, but they are all half baked. The do user-space drivers, but never complete the APIs necessary for developers to actually restore the old functionality in user-space. They make the system volume read-only, but come up with a half-baked mechanism for users who actually need a top-level directory. E.g. installing Nix in Catalina requires creating a new volume, creating an entry in synthetic.conf, and creating an entry in fstab. And then it doesn’t really work well if you encrypt the volume, because encrypted volumes are only mounted upon login, which means that applications that rely on the store could be started before the Nix store is mounted. How about just providing a menu item in Disk Utility that says “Create a top-level mounted volume”.

          The thing is that advanced users were just a gateway in the early 2000s for Apple to gain a foothold in the market and bootstrap a developer ecosystem. Now that the vast majority of Mac users are not advanced users, it’s just not their focus anymore. Their focus is providing a system that is as easy and secure as possible for the large majority of users and avoiding diverging from the iOS ecosystem to avoid maintenance costs. That’s a perfectly fine direction to take, but we as developers/advanced users should not expect much more than the occasional nice ‘back door’ that Apple developers manage to smuggle in, such as synthetic.conf.

          [1] The situation is really different compared to Linux, because in Linux virtually all drivers are open source and upstreamed, so one can verify that they don’t do stupid stuff.

          1. 0

            As of lately I’ve been a bit dissatisfied with MacOS. It used to be great IMO. I really hope they won’t completely dumb down MacOS.

      1. 2

        that goes a long way to making Unix as powerful as a full-blown IDE.

        And here is the conceptual flaw in the article in my opinion.

        The title is unfortunate click-bait. UNIX is an incredibly powerful paradigm and philosophy that can be leveraged to do just about everything an IDE can do provided you’re willing to be clever in your use of its tools and have mastered enough of the minutia around how each tool works to combine them in the necessary way.

        But UNIX is not in any way, nor should it be compare to an “Integrated Development Environment”.

        1. 11

          But UNIX is not in any way, nor should it be compare to an “Integrated Development Environment”.

          How is it not? The article lists several reasons why for all intents and purposes UNIX is an IDE, and that there’s no point moving all these tools into a text editor when they’re already right there at your fingertips.

          Your response here doesn’t amount to much more than “Nuh uh!”

          Furthermore, first you say UNIX “can be leveraged to do just about anything an IDE can do”, but then you say the two should not be compared. Didn’t you just compare them yourself?

          1. 4

            I think what I was going for was that UNIX is indeed a superlative development environment, but from my perspective it is not “integrated” in the same way that tools like IDEA or Visual Studio are - bundled in one giant binary.

          2. 12

            The title is unfortunate click-bait.

            It’s really not. It’s a good title that conveys the point of the article, which is that you can use Unix to replace an IDE. Here the term IDE is used because everyone knows what an IDE is and will get what the author is meaning immediately, just from reading the title. Stringent and effective doesn’t mean clickbaity.

            But UNIX is not in any way, nor should it be compare to an “Integrated Development Environment”.

            Why not. Unix is a development environment. It’s also the title of that book by Kernighan and Pike, “The UNIX Programming Environment”. You said yourself, Unix “can be leveraged to do just about everything an IDE can do“ — that’s really the whole point, the article just shows you how. This article and this whole blog are great reading material and the author is a very talented technical writer. Save your criticism for the actual clickbaity, low-quality content, because this is not it.

            1. 4

              Perhaps you’re right. I think what I was indexing on was the word “integrated”.

            2. 4

              UNIX is not in any way, nor should it be compare

              Even assuming the former (which I disagree with strongly), why should it not even be compared to an IDE? They’re clearly at least comparable.

              1. 2

                They’re not comparable. Unix tools don’t give you all the semantic knowledge an IDE has (unlike LSP, which is all about the semantics of a language). How do I jump-to-def with Unix? How do I ask for the type, or documentation, of a symbol? How do I reindent a region of code (not the whole file)?

            1. 1

              Bummer. I’m waiting for delivery of a new 16” MBP, and while I’m excited about getting the hardware, being forced into Catalina does not fill me with joy.

              1. 1

                Don’t worry, Catalina is fine. People get … enthusiastic whenever there’s anything negative about Apple.

                1. 0

                  Catalina is pretty damn far away from being fine. Your experience might differ of course, but that doesn’t mean much — there’s a multitude of different use cases out there. Just read the article.

                2. 1

                  I would downgrade to Mojave as soon as I get it.

                  1. 1

                    I don’t think it’s possible to downgrade to a version of macOS before the version your machine came with?

                    1. 0

                      Of course it’s possible, I do it literally all the time at work. Every new Mac we buy goes straight back to Mojave. You just need to create a bootable USB stick, erase the drive and reinstall the OS.

                1. 20

                  I knew four. I feel cheated by a clickbait title.

                  And about the one I didn’t know, I think it’s better to understand how to paste from the system clipboard using the verb for paste and the noun referring to the system clipboard.

                  1. 6

                    This gives me a post idea: “At least two things in vim you don’t know.” The post covers 30 different things. Statistically speaking, you don’t know at least two of them!

                    1. 2

                      Might steal that idea from you.

                      1. 1

                        I’d bet money that this llama would know all 30.

                      2. 1

                        I kinda feel cheated too. Actually, I feel mocked. Showing the line numbers? Seriously?