• sugar_in_your_tea
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    8 months ago

    Yes, it’s personal preference, but I can’t realistically use an external keyboard and mouse on an airplane or whatever. I like my ThinkPad way more than my MacBook Pro for actually getting work done. It feels nicer to type on, and my hands don’t need to leave the home row to press mouse buttons. Apple’s trackpad is nicer, but I think it’s solving the wrong problem.

    That said, I have a very keyboard-driven workflow. I use:

    • ViM for editing
    • terminal for searching (macOS’ open is nice)
    • shortcuts for switching apps (alt+tab and `alt+`` mostly)
    • tmux for terminal window management

    That mostly maps to macOS decently well, but there’s also random differences I need to work around.

    use Homebrew

    I use macports, which I much prefer.

    Rant about homebrew

    Homebrew feels bolted on, macports feels more like an actual package manager. Stuff keeps working across macOS releases, which is nice because o use fish as my shell and don’t want to fix that every time I do an upgrade.

    Rant about macOS as a dev

    But it feels like putting lipstick on a pig. I constantly have to fight builders that grab the system version of something instead of my macports one (I think I’ve resolved everything now?), especially Python. I can’t do system upgrades through it. And so on. It’s just an add-on package manager, and while it’s nice, there’s friction at the edges.

    That said, I very much prefer macOS to Windows, but I prefer pretty much anything else to macOS. I would prefer FreeBSD if it had better hardware and docker support.

    I use docker on both Mac and Linux and can’t really tell the difference.

    Do you have Docker Desktop or CLI-only? Because IIRC Docker Desktop on Linux runs in a VM like on macOS, whereas CLI Docker ruins directly on the kernel, so it’s way faster.

    Here’s some practical issues I have with Docker Desktop on macOS:

    • random breakage where I have to restart Docker (the VM, not an individual container) - i.e. “API version doesn’t match…” like every other week
    • uses way more RAM - containers are just processes on Linux
    • disk space is separated and needs to be adjusted if I forget to run a prune - docker on Linux just uses my regular disk
    • rebuilding is kinda slow - assuming a Docker Desktop issue because “sending tarball” takes forever

    We have a bunch of docker containers, and I’m regularly running 10+. I feel like I’m constantly fiddling with Docker on macOS, whereas it’s mostly transparent on my Linux machines.

    So to me, it’s just a crappier experience. I honestly can’t think of a single upside, other than the pretty GUI, but learning a few CLI commands is a small price to pay IMO.

    And that is also my general experience with macOS. It looks pretty, but it just feels like I’m interacting with the system way too much, whereas on Linux the system gets out of the way.

    Rant about macOS

    Some specifics:

    • “snapping” Windows - macOS kinda has this now, but Linux has had it for as long as in remember (15 years?)
    • launcher (Alt+F2 or Meta) on KDE Plasma is unobtrusive
    • the system updates when I tell it to, not overnight randomly
    • Steam actually works for most games
    • Flatpak and Appimage are nice
    Rant about work policy

    If my work let me pick whatever computer I wanted, it would probably be a Framework or Lenovo laptop with Linux. But my options are locked down, crappy Windows (IT box) or MacBook Pro (no IT nonsense), so I pick macOS.

    In fact, I think only 2 of my coworkers prefer macOS, but we use them to get around IT policies and the outside team that started the project convinced the uppers that we need it. However, as a lead, I need to be the support for our team, which means I should probably use the same devices as them.

    My last job let me pick my OS, so I ran Arch for 5-ish years before switching to openSUSE Tumbleweed, which I still run today (like 5+ years now). I’m not going to leave because of Linux vs macOS and I love my team and boss, but I do prefer Linux.

    Anyway, I’m kinda excited because I’ll be getting an upgrade soon. I’m on an Intel Mac, but I could get an M3 if I push, or maybe I’ll wait for the M4. I’d much rather run Linux on that hardware though.

    • olympicyes@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      8 months ago

      It sounds like you want to have a mobile server, which makes sense too for some use cases. I just switched from 2018 Intel to M1 Pro Max and the difference is absurd. They were giving them away at MicroCenter refurb so I got one with overkill specs. Sometimes you can throw hardware at your problem and in this case it worked. It is faster, quieter, cooler, longer battery life, etc. I use BetterTouchTool to address some of the UI issues you noted and forget I have it until I use someone else’s Mac.

      I initially set up the new machine via Thunderbolt and copied the apps, which was a mistake. That said every homebrew installed app worked. It was not too hard to purge the Intel homebrew and reinstall the Apple silicon version, and battery life got much better after doing so. Apple Silicon is a game changer. Everything I’ve seen about M4 says it’s supposed to be on TSMC N3E. Personally I’d go with whichever generation lets you get the most ram and ssd.

      • sugar_in_your_tea
        link
        fedilink
        English
        arrow-up
        2
        ·
        8 months ago

        I’m a fullstack engineer that mostly focuses on backend, so yeah, I basically want a copy of our production app running on my work computer. I have Docker configured so it only uses 4GB or so, but when I add our frontend (1-2GB), web browser (1-2GB), Microsoft crap (1-2GB), etc, the RAM adds up, and that’s just running half of our backend infrastructure.

        The silly thing is that almost all of my job is on Linux services, except our mobile app, which is React native and largely targets iOS (though we also support Android). I work across the stack so I need to be able to run all three (backend, web, and mobile).

        But I have to pick and choose what I run because my 16GB system is barely enough. So yeah, I wish we would’ve gotten 32GB at the outset, because swapping to disk is by far the biggest performance issue.

        So yeah, get more memory than you think you need.

          • sugar_in_your_tea
            link
            fedilink
            English
            arrow-up
            1
            ·
            7 months ago

            A couple things to start:

            • I don’t need x86 compatibility - we run native aarch64 on M-series Macs, and x86 on older Intel macs; prod is x86, but we’re considering moving to aarch64
            • our app is more memory intensive than CPU intensive - basically a bunch of Python microservices

            That said, after some research into colima, it looks like it wins on I/O. So if you workload is relatively heavy on I/O, then it’s probably worth trying out.

            My issue is memory. I just need so many Python interpreters running Flask, FastAPI, and Django (we use all three). On macOS, I need to reserve the memory for the VM, which means I need to balance how much I can run vs what other stuff I want to run on my system. On Linux, there is no VM, so I benefit from all of the disk caching that the kernel does and can get a much better experience, even when running a lot of services (most of those services are idle most of the time).

            So switching to colima probably wouldn’t solve my problem, but maybe it would solve yours.