top | item 45594081

(no title)

achandlerwhite | 4 months ago

What are the quirks with local dev that make it not fun?

discuss

order

jayd16|4 months ago

There are surprisingly a lot of permission headaches and rug pulls in the last few big OS updates that have been really annoying.

konart|4 months ago

Any examples? I've been using mbpr since 2014 and haven't seen any changes recently except you have to hit "allow" button a few times.

coldtea|4 months ago

I use macOS, with all kinds of languages locally, plus vms, kubernetes, LLMs, etc and seen no such issues.

What "permission headaches"?

Zizizizz|4 months ago

For me, who came from linux the only thing I don't like is the overview menu's lack of an (x) to close a window. The way slack stacks windows within the app so it's hard to find the right one. Pressing the red button doesn't close the app from appearing in your CMD+Tab cycle between apps, you also have to press CMD+Q. (Just a preference to how windows and linux treat windows, actually closing them. Rectangle resolved the snap to corner thing (I know MacOS has it natively too but it's not too great in comparison).

Things I prefer: Raycast + it's plugins compared to the linux app search tooling, battery life, performance. Brew vs the linux package managers I don't notice much of a difference.

Things that are basically the same: The dev experience (just a shell and my dotfiles has it essentially the same between OS's)

tracker1|4 months ago

I think the hardest part for me, is getting used to using CMD vs CTRL for cut-copy-paste, then when I start to get used to it... in a terminal, it breaks me out with a different key for Ctrl+C. I got used to Ctrl+Shift for terminals in Linux (and Windows) for cut-copy-paste, etc.

It may seem like a small thing, but when you have literal decades of muscle memory working against you, it's not that small.

vel0city|4 months ago

I'm only a recent MacOS user after not using it for over 20 years, so please people correct me if I'm wrong.

But in the end the biggest thing to remember is in MacOS a window is not the application. In Windows or in many Linux desktop apps, when you close the last or root window you've exited the application. This isn't true in MacOS, applications can continue running even if they don't currently display any windows. That's why there's the dot at the bottom under the launcher and why you can alt+tab to them still. If you alt+tab to an app without a window the menu bar changes to that app's menu bar.

I remember back to my elementary school computer lab with the teacher reminding me "be sure to actually quit the application in the menu bar before going to the next lesson, do not just close" especially due to the memory limitations at the time.

I've found once I really got that model of how applications really work in MacOS it made a good bit more sense why the behaviors are the way they are.

sofixa|4 months ago

Docker works very weirdly (it's a desktop application you have to install that has usage restrictions in enterprise contexts, and it's inside a VM so some things don't work), or you have to use an alternative with similar restrictions (Podman, Rancher Desktop).

The OS also has weird rough edges when used from the terminal - there are read-only parts, there are restrictions on loading libraries, multiple utilities come with very old versions or BSD versions with different flags than the GNU ones you might be used to coming from Linux, the package manager is pretty terrible. There are things (e.g. installing drivers to be able to connect to ESP32 devices) that require jumping through multiple ridiculous hoops. Some things are flat out impossible. Each new OS update brings new restrictions "for your safety" that are probably good for the average consumer, but annoying for people using the device for development/related.

coldtea|4 months ago

>The OS also has weird rough edges when used from the terminal - there are read-only parts, there are restrictions on loading libraries, multiple utilities come with very old versions or BSD versions with different flags than the GNU ones you might be used to coming from Linux, the package manager is pretty terrible.

You use nix or brew (or something like MacPorts).

And they are mighty fine.

You shouldn't be concerned with the built-in utilities.

craigds|4 months ago

Dovker on mac has one killer feature though: bindmounts remap permissions sensibly so that uid/gid in the container is the correct value for the container rather than the same uid/gid from the host.

the workarounds on the internet are like "just build the image so that it uses the same uid you use on your host" which is batshot crazy advice.

i have no idea how people use docker on other platforms where this doesn't work properly. One of our devs has a linux host and was unable to use our dev stack and we couldn't find a workaround. Luckily he's a frontend dev and eventually just gave up using the dev stack in favour of running requestly to forward frontend from prod to his local tooling.

anajimi|4 months ago

I suggest trying Nix on Macos, it is very nice as a package manager but also it can be used as a way to replace Docker (at least for my needs, it works very well). This days I don't even bother installing brew on my Mac, I only use Nix.