1. 54
    Bye-bye, Apple hardware openbsd rant blog.cretaria.com
  1. 15

    Nice to see the wave of defectors from OSX back to more open platforms continue!

    I agree I’ve always found XCode frustrating to use and obscenely ponderous to set up as well. It’s not so much that it’s a GUI or that it’s complicated, I think you could say the same for VIsual Studio Code or Pycharm both of which I love, it’s that it gets in the way of what I’m trying to do 100% of the time.

    And yeah, the MagSafe connector was a thing of beauty. My wife is clinging to her 2012 Macbook Pro for dear life :)

    You also didn’t mention keyboard, although I realize I’m more sensitive to that than most. I find it interesting that the keyboard on my $200 Pinebook Pro is several orders of magnitude better than the one on my work issued 2018 Macbook Pro which feels like typing on squishy oatmeal.

    1. 7

      Sadly, in my social bubble, I see more people moving from OSX to Windows/WSL than to Linux/BSD.

      1. 3

        That doesn’t surprise me at all, and I assume that’s the largest migration direction between the “three” platforms. Most average Joe developers are already using Windows for most of their computing needs (games) and probably only used macOS because they “had to” because work involves either a Linux server or an iOS app.

      2. 6

        I’m not sure where you get the idea that there is a “wave of defectors from OSX”, the post was most likely written to be posted specifically here. I like the community and I don’t want to be that guy but this community is a small, irrelevant echo chamber in terms of world-wide OS adoption.

        1. 3

          I totally agree. There HAS been a wave of people leaving the OSX platform for various reasons, but as another poster wrote they’re not all migrating to FLOSS environments.

          A number of them are choosing Windows instead. I myself dual boot and enjoy the best of both worlds :)

          Also, nobody other than Apple actually has hard numbers on this.

        2. 5

          I just bought the 2020 Macbook Pro and the keyboard is from the different planet than 2018’s, I really like it! The price was painful but there are music softwares I need daily that don’t run in Linux so I don’t really have a choice.

          1. 1

            Which one? The one with no Esc key? No thanks.

            1. 4

              They brought back the escape key :)

              1. 1

                The new one has physical Esc-key.

          2. 10

            Many times I tried duct-taping a Linux install on my various Macs, but things were ‘just not there.’ There was always an issue with this or that, and it was truly painful.

            I worked out of a VirtualBox Fedora LXDE VM for years, while using Mac for stuff it was good at: audio, video, and fast web browsing. I think more people should try this. If you’re just writing code, even IntelliJ will run pretty fast inside that VM.

            It’s the best of both worlds, and you get environment separation between dev and appliance environments, and you get perfect snapshots for your dev environment.

            1. 11

              If you’re just writing code, even IntelliJ will run pretty fast inside that VM.

              A few months ago, I built a Ryzen 3700X machine with pretty much the same specs as the Mac Pro for 1/6th of the price. In comparison, my MacBook feels very slow, especially when compiling larger Rust projects or working in JetBrains IDEs. The difference is really like day and night. I do not want to imagine how bad it is in a VM. Unless you are using a Mac Pro or a heavily upgraded iMac, I cannot see how it this could be a pleasant experience.

              I currently use my Ryzen Linux machine for nearly all my work, because it is so much faster. Though it’s nice to have my Mac around for the occasional OmniGraffle, Affinity Designer, etc. work. (Basically anything the FLOSS ecosystem is not very good at.)

              It’s the best of both worlds, and you get environment separation between dev and appliance environments, and you get perfect snapshots for your dev environment.

              I get separation of all environments, including between projects thanks to Nix/NixOS. Of course, that works on macOS too ;).

              1. 4

                Perhaps we have different thresholds of speed or usability. :) I was using a MacBook Air 2011 until earlier this year, and it chugged along just fine with JetBrains inside the VM. It was a maxed-out-for-2011 i7 with 4GB of RAM.

                1. 3

                  You mentioned Rust, but I wish people would clarify which JetBrains product and what language they’re talking about. Believe it or not, I find working on my Kotlin code base in IDEA to be pretty sluggish and slow. I thought “JetBrains” was just going downhill until I opened AppCode and it was very snappy on our Swift code.

                  1. 1

                    I use IntelliJ Community Edition, primarily with HTML, Perl, JavaScript, with a bit of PHP, Bash, CSS, and SQL in the mix.

                2. 3

                  And if Virtualbox is not fast enough, or a bit too clunky, then try Parallels or Fusion; they actually are faster [0], and really not that expensive in the scheme of things.

                  [0] From my comparative testing with Windows VMs, not Linux (but also Linux, when I tested that way back in ~2012). But, like, measurably significantly faster.

                  1. 2

                    I used xhyve to run FreeBSD on my Mac. It does the tiny minimum that I actually wanted: give me a VM that has a console, block, and network device that I can then ssh into. XQuartz was there for anything graphical if I needed it. The things that I wanted to do were faster on FreeBSD on xhyve on macOS than on macOS, so I never had any complaints about xhyve performance and the resource overheads were a lot lower than anything else I tried.

                3. 8

                  That magnet power interface was a real win with the Apple laptops. I miss that, in addition to speakers that could be maxed out to their potential.

                  it’s a bit of a hit and miss in terms of which features survive, but the best I’ve found after going through 5-6 different ones is “Magnetic USB C Adapter, HOGORE” - search around for it. Slightly more bulky than the old magnetic connector, but just as sweet.

                  1. 7

                    More things to look forward to:

                    • Reliable, durable keyboard that can work outside a cleanroom.
                    • Never having to upgrade to Catalina.
                    • Being able to install gdb!!!1!

                    I’m jealous! Curious to hear how the trackpad compares, though.

                    1. 3

                      Trackpad works great, not as great as macOS’s. But on thinkpad you get the track point and on bsd systems, you may rely less on the mouse anyway.

                      1. 2

                        The current MBP keyboards are back to the ones that were on the original pre-retina Air/MBP, which is to say they’re fantastic. This is no comfort to the people who bought the last 2 or 3 gens, though.

                        1. 1

                          Huh, good to know! I hadn’t been able to find a straight verdict on them on the internet.

                      2. 7

                        For what it’s worth (not much), I jumped from open source platforms exclusively to the Apple garden some 2 years ago, and I’m still happy with pretty much everything. My gaming box still runs Ubuntu, or sometimes Windows if I get tired of things not working yet.

                        When I got to FOSS in 1996ish, I was mostly looking for quality. The proprietary world was in pretty bad shambles back then, and almost everything Linux promised a teenage me was strictly superior to DOS and Windows. Apple wasn’t even on my radar back then. I’m still looking for quality, but now with work and family, quality mostly means “the lowest amount of time possible to kludge things for them to work”.

                        Ubuntu’s Gnome has become quite an excellent thing in these three years. I could easily imagine going to that some day. And i3 hasn’t been beaten anywhere yet, as we all know :)

                        1. 6

                          The universe must balance, just switched to hackintosh on lenovo from arch, like brew, like xcode, LOVE application APIs, I can now script sending text messages, and I love the connection to my phone. Dont love app store rules, love breaking them.

                          I assume theres a bsd user who switched to arch lurking.

                          1. 1

                            Also what the hell is cretaria

                            1. 1

                              Cretaria is the solution for busy people to sync’ calendars over text/SMS.


                          2. 6

                            Getting a weird vibe from the comments here, like Linux isn’t kvlt enough for former OSX users and they need to drink straight shots of NixOS/BSD to cure themselves of the shame of having been mainstream for too long.

                            Just use a fully featured Linux distribution (e.g. Fedora).

                            1. 3

                              OSX is related to BSD and Nix has nix-darwin integration for OSX. As a result, transitioning from OSX to BSD is easier than OSX to Linux, and NixOS is more familiar than Fedora.

                              1. 1

                                Can’t run docker on *BSDs.

                                1. 3

                                  That’s a feature :-)

                                  1. 2

                                    Looks more like a tombstone if I’m being honest - and that’s being kind, assuming they’re not already dead.

                            2. 4

                              I really want to abandon Apple OSes, and I’ve entirely left iCloud due to privacy/security reasons, as most of it isn’t end-to-end encrypted, including mobile device backups. It’s terrifying.

                              The one thing that keeps me on macOS, however, is Little Snitch. Almost all software these days phones home constantly, either for explicit spying, or update checks, the latter of which serve as de facto telemetry even if the developer didn’t intend it as such. There are certain software packages I simply will not run on systems that don’t have Little Snitch installed, because I consider them entirely unsafe without entirely denying them network access.

                              I haven’t found anything comparable for Linux; opensnitch seems to be abandonware. I rather love KDE Plasma and would actually do my best to switch if not for Little Snitch.

                              (It’s also a bummer that fonts are still ugly on Linux, on every single distro/configuration I’ve ever tried.)

                              1. 1

                                unsafe without entirely denying them network access

                                I think you can do that on OpenBSD by creating a dummy user (e.g. “offline”) and denying him all network access in /etc/pf.conf (e.g. “block out from self user offline”). Then run your program with “doas -u offline <program>”.

                                Or, instead, create an “online”-user and deny all network access for your default user. Then run programs needing network access, e.g. firefox, with “doas -u online firefox”.

                              2. 4

                                I’m finding that the platform I run locally is less and less important. I used to use OS X predominantly and connect to remote or local FreeBSD and occasionally Linux VMs. I now mostly use Windows locally and connect to local and remote FreeBSD and occasionally Linux VMs. I prefer Mail.app to Outlook and Thunderbird, I can’t really tell the difference between Safari and Edge. I miss one feature of the macOS terminal (the fact that it restores session UUIDs for each window / tab on restart, so I can automatically reconnect to my remote ssh sessions after a local reboot) but that’s probably going to be fixed soon. PowerPoint and Word are the main things keeping me from a fully open platform (the iOS / Android versions of Word are probably fine for what I need. The Mac and Windows versions of PowerPoint are both good enough, annoyingly the Mac version is slightly better - drag and drop works properly).

                                1. 2

                                  I’ve been in IT for 20 years now, and I have met tons of people who go through these phases.

                                  I inevitably see them again in 3, 6, or 9 months in the future with a Mac, and I’m like, “Hey, you’re on a Mac again. What happened with that whole OpenBSD on a Custom Thinkpad Running Virtual QNX” thing?

                                  They usually can’t wait to change the subject.

                                  Compared to Macs, Windows, and other mainstream products, using fringe stuff is WAY harder than it looks. Even after a week or two. It takes a few weeks or a couple months before you finally realize that, yes, you were getting quite a bit with the mainstream rig.

                                  1. 2

                                    Funny reasons. I hope people realize that you never have to use the Finder or even Xcode. You can totally be a terminal user on macOS. You would barely notice the difference between OpenBSD and macOS if you work in the terminal.

                                    1. 2

                                      Ok I need advice. I used to exclusively use a Macbook Pro (and still use it frequently), I generally agree with this article, I have a lot of experience (and LOVE) running FreeBSD servers, I write a lot of C code and have no problem porting software, I like the MIT/BSD license over GPL, and I run Ubuntu now on my Thinkpad/desktop (which I use more frequently than my Macbook), is it worth it to switch to OpenBSD?

                                      OSes I’ve used so far (clientside):

                                      • OS X, easy, gets out of your way, lots of nice proprietary stuff. Quality is slowly degrading over time though. And brew sucks. Maybe the arm laptops will change my mind.
                                      • Ubuntu, I love APT/dpkg and know it like the back of my hand, installing proprietary stuff is pretty easy, sane defaults, easy to Google stuff, most software with linux compatibility usually has a Ubuntu .deb or a ppa, and generally gets out of my way. Only real con is the warts that come from Linux and the occasional weird decision by Canonical
                                      • Slackware, it was nice but lack of a package manager is kind of annoying
                                      • Arch Linux, it was fun when I was in high school but now I don’t really care what WM I use and I hate the rolling release model
                                      • Jailbroken iOS, my favorite OS by far, apt/dpkg + BSD base + Mobilesubstrate = amazing

                                      And just to be clear I don’t care about Free as in Freedom™ when it comes to my personal computers. I just want a well designed OS that will make me as effective as possible, and can run proprietary Linux binaries. And I want to do VFIO and play games in a Windows VM in QEMU

                                      1. 4

                                        is it worth it to switch to OpenBSD

                                        I should probably say this with a nixpkgs contributor hat on, but:

                                        Maybe you should add NixOS and Guix to your candidates. Most of the OSes that you have used, use traditional package managers. Nix and Guix provide a lot over that: declarative system configurations, per-project virtual environments, atomic upgrades/rollbacks, and the ability to have multiple versions/build configurations of a program/library on the system. Given your requirements, you would probably like Nix more, because it also packages proprietary software (so e.g. installing CUDA is not a problem) and provides stable releases besides the rolling unstable.

                                        You can also install Nix or Guix on an existing Linux distribution to test the waters (macOS too, but it has issues more regularly).

                                        It may not be for you, but it’s at least worth considering.

                                        1. 3

                                          +1 to NixOS. :)

                                          I love the culture of people putting up their entire system configurations, defined end to end, up on public repos. Here is mine: https://github.com/shazow/nixfiles

                                          When something doesn’t work, it’s very easy to find examples of other peoples’ setups as a reference. If we have the same hardware, you can use my configurations (or subsets) to replicate my experience precisely. If something breaks, it’s easy to get help on a problem by pointing to my configuration. Not to mention how easy it is to roll back!

                                          I don’t think I can ever go back to a “traditional” operating system without these mechanics.

                                          1. 1

                                            Yah I’ve heard of Nix and it looks cool but I never really found APT/dpkg lacking or restrictive. I’ll probably try it out in a few years

                                          2. 1

                                            I would like to point out that choosing NixOS as a daily driver has the downside of requiring you to learn an entire new ecosystem to be able to figure out why something went wrong, or how to make it do what you want.

                                            This means that you end up having to learn both nix the language, which is relatively easy, as well as nixpkgs the packaging library, which I’ve found to be ridiculously and immensely difficult. The documentation is still lacking (for example, but has improved over time), as is any easily accessible tooling for discovering what can be done that isn’t “read the entire source for this package and trace how it would get built”.
                                            (There’s also the NixOS configuration library that I have not yet needed to understand the internal workings of.)

                                            However, the community is pretty much always happy to help out, and asking people has always resulted in useful (and sometimes explanatory) answers.

                                            So in the end NixOS is what I use. Perhaps it’s just that I’ve gotten used to digging through nixpkgs to fix my problems and don’t know how other packaging systems work, or maybe I’m hoping that one day I’ll actually rely on all of the benefits that I’ve supposedly been given, but I’m sticking with it for the time being.

                                            Additionally, I would assume that Guix needs a similar commitment to use, but at first glance (from a while ago, when I last looked at it) it seemed there was more effort put into documentation. However, I’m not well versed in Guix to any extent, and so I don’t have anything knowledgeable to say about it.

                                          3. 3

                                            I just want a well designed OS that … run proprietary Linux binaries.

                                            Then you are not a match for openbsd.

                                          4. 2

                                            This reminds me of this post (bit longer, more in-depth, but same reasoning) https://sive.rs/openbsd

                                            1. 2

                                              I’ve seen multiple blog posts on Lobste.rs about people switching to OpenBSD, which has actually inspired me to try OpenBSD myself. I figure that switching to OpenBDS is more ‘interesting’ than switching to Linux, because it’s more obscure (like, less well-known). But what’s the reasoning for doing so? I feel like Linux offers such a strong ecosystem, with hardware support, Docker/LXC which is all the rage. I’ve always understood the advantage of OpenBDS as being minimal, and thus limited surface area for attacks, meaning a great OS for something that is exposed to the tides of the internets, but not necessarily a great productivity thing?

                                              1. 2

                                                OpenBSD “just works” so much better than any Linux distribution I’ve ever used, including ones designed for beginners. Some things such as the window manager might be an acquired taste, but it’s the parts underneath that mean the most. The sound server, for example, never gave me any trouble, as opposed to all the distros I’ve used.

                                              2. 2

                                                As an OpenBSD observer but not-yet convert, the thing that I find most off-putting about the setup on laptop is editing byzantine config files to connect to wifi like I’m on early 2000s Linux. Is there a “pull-down menu, discover visible networks, choose, enter key” GUI to make that more convenient?

                                                1. 8
                                                  join WiFiHome wpakey secretSupersecret
                                                  join WiFiWork wpakey lesssecret

                                                  Seems pretty simple to me :P

                                                  It’s also all done via ifconfig. One single command to manage network interfaces.

                                                  On linux there is (was?): ip, iw, iwconfig, ifconfig, iwctl, iwd.. probably others I can’t remember..

                                                  That complexity didn’t vanish, it’s just been hidden by NetworkManager.

                                                  1. 4

                                                    Having done this on macOS, Linux, and OpenBSD, I like OpenBSD’s setup the best for anything network related. It is well documented, and consistently works the way it should.

                                                    I would greatly prefer to use OpenBSD’s wifi setup to the mess that is NetworkManager/netplan/etc. Since I switched to Ubuntu 20.04, I’ve had no end of trouble with getting networking to work reliably, where it all just worked on OpenBSD on the same hardware. Sadly I need Ubuntu to run certain proprietary packages, so I’m stuck with it for the time being.

                                                    I think this is a really enjoyable aspect of OpenBSD – there is no “secret sauce”. Usually the config files you are editing fully define the behavior of whatever they configure, there isn’t some magical daemon snarfing things up and changing the system state behind the scenes (looking at you, NetworkManager, netplan, systemd-resolved, etc.).

                                                    That said, because OpenBSDs tools tend to be well documented, simple, and consistant, they tend to be easy to wrap. I did this for mixerctl.

                                                  2. 1

                                                    How has this changed your overall workflow? One of the things I’ve found from moving from Ubuntu/Manjaro to OSX is that the overall flow with Spotlight Search / Alfred is very smooth. When I tried to go back to Linux everything just felt clunkier. Do you have a similar experience (albeit with BSD)? Are there any tricks that you feel that you have which come from wanting the OSX-like feel?

                                                    1. 6

                                                      I’m making the transition from Macbook to Thinkbook + Linux in a few weeks. I’ll miss the trackpad, but I’ll have a better keyboard, faster CPU, faster GPU, more ports, more expandability and repairability, for 1/2 the price of a new Macbook Pro.

                                                      Over the past number of years, I’ve seen Mac OS become increasingly developer hostile (from my perspective, writing open source, portable software). Meanwhile, Linux keeps getting better. My friend transitioned from years as a Windows and MacOS power user, and swears that the PopOS desktop is the best designed and most productive environment he’s ever used. I’m told it has an exquisitely tuned, developer centric UI with excellent keyboard shortcuts, with minimal customization required to be productive. So I’m going to start with PopOS and see if I like it.

                                                      @helithumper: Most of the innovation in desktop environments is happening in Linux these days, so Linux should be more productive, but the problem is that there are so many choices, and it’s hard to find the DE that best fits your style. Elementary OS is touted as the best distro for people who want a Mac-like experience (I haven’t tried it, but I might if PopOS doesn’t live up to its hype).

                                                    2. 1

                                                      As someone who switched back to a linux laptop 18 months ago (lobsters): I’m still swimming, and the water’s fine!

                                                      1. 1

                                                        What about bluetooth, audio and video?

                                                        1. 4
                                                          • bt is not supported
                                                          • audio is great
                                                          • video is limited by hardware support, intel recommended
                                                        2. 1

                                                          After using FreeBSD (for desktop/laptop) for many years I tried the Macbook Pro at work for a year while still using FreeBSD at home. That allowed me to get real ‘feel’ of the Mac ecosystem and their hardware (and philosophy). But after I switched back to FreeBSD system at work it just felt better. I used Terminal.app on Mac a lot but the xterm(1) at FreeBSD just felt more natural.

                                                          I had/have very similar thoughts as author of the post. Macs/macOS are not bad, but if you really want to know what is happening under the hood and like everything tweaked your way then BSD UNIX is the way.