5 ms·
I (forcibly) switched to Mac's about 9 months ago. Here's my thoughts: (1) It just works is total bullshit. Multiple times a day I accidentally move my dock
by treis 4y ago
I (forcibly) switched to Mac's about 9 months ago. Here's my thoughts:
(1) It just works is total bullshit. Multiple times a day I accidentally move my dock to a different one of my monitors and have to go into settings and move it back. At least once a week I turn it on and it doesn't detect one of my monitors.
(2) Its a different work flow. It expects one window open per monitor and for you to switch windows. It doesn't natively support snapping or tiling.
(3) Docker is unusuably slow. Our tests natively take a few seconds to load the app and start running. In Docker it was 2-3 minutes.
(4) Compatibility is a pain in the ass. Yes you can run things emulated but then everything is emulated within that terminal session. Switching back and forth is annoying.
I could go on but the bottom line is that Linux is way better. It may be more fiddly to get running right but once it does it stays running right. At least in my experience.
IMHO there's no point to a mac as a developer. These days everything I use is electron or web based. Similarly the code you write is almost always going to run either on Linux or in an electron like cross OS environment.
All that said, the M1 Macs are a fantastic piece of hardware. Silent, the battery lasts forever, and the design is on point.
- codegeek 4y ago"Docker is unusuably slow". Is that a Mac thing or Docker thing ?
- shmoogy 4y agoIt's worse on mac than others something with the io iirc
- notreallyserio 4y agoI've been thinking about moving from Docker for Desktop to minikube (but just for the docker part). I hear it's better although it still uses hyperkit.
- Wowfunhappy 4y ago"Docker on Mac" is not a thing. When you run Docker "on" a Mac, you are actually running the Linux version of Docker inside of a hypervisor. Docker tries to make this as transparent as possible, but there is a performance penalty. If you're on an M1 Mac and using an x86 container, you're also doing CPU translation. And unlike Rosetta, it's emulating a full CPU, not passing to native libraries.
- treis 4y agoIt's more of a file system issue. At least in my case it is. For reasons I don't know Docker interacts with the file system much much slower on Macs than natively. All of the time I mentioned is loading a Rails app before it can run the first test. That takes 100 times longer through Docker. Once it's up and running performance is fine.
- efrecon 4y agoOn Windows, it is more or less the same. I ended up having all my files in the VM and keep windows as a shell around everything. That way, it all feels almost native Linux. Can you do the same on Mac?
- Wowfunhappy 4y agoYou can run Linux VMs on Apple Silicon Macs, yes, using a kernel hypervisor framework built and supported by Apple. I’d feel remiss to not also mention Asahi Linux, which runs on bare metal. It’s not quite ready for prime time yet, but I’d be surprised if it wasn’t within a year, at most. But, I also wouldn’t make a purchase based on that.
- Wowfunhappy 4y agoMy understanding is that the “file system issue” is a direct result of Docker running in a hypervisor rather than natively. Virtual Machines can achieve near-native CPU performance, but they get bogged down by other important details such as file sharing.
- markus_zhang 4y agoCan relate about the dock part. I really hope it is the Windows taskbar.
- blairbeckwith 4y agoJust a tip on the dock moving from monitor to monitor – this is most likely intended behaviour that you're triggering by accident. I agree with you, it's annoying, and it shouldn't work like this, but it does. That being said – the dock will move between monitors if you take your mouse cursor and move it to the very bottom middle of a monitor and hold it there for a few seconds. If it's jumping from one monitor to the next, it's likely that you're triggering this accidentally in the course of doing something else. You can move the dock back to your intended monitor by doing the same deliberately on the monitor you want it to be on.
- treis 4y agoAh good to know. When I'd go in to move the dock back the settings would still show it on my main monitor so I figured it was a bug.
- bick_nyers 4y agoI don't have my M1 yet to test this out but I think I remember reading that you can get around the Docker performance issue by setting up a Linux VM and running Docker inside of that. If I'm not mistaken, "Docker on Mac" does this under the hood, but there's something about their implementation that is slower than just pre-allocating your own VM. Not sure if distribution matters or not, I think there are Linux distros being worked on that run natively on M1, so you won't need to translate instructions to x86.
- jseliger 4y agoIt doesn't natively support snapping or tiling Not natively, but I use Rectangle (https://rectangleapp.com/ https://rectangleapp.com/) and I believe there are a few other popular window managers. As others have said, the moving the dock to a different monitor is peculiar. At least once a week I turn it on and it doesn't detect one of my monitors I've had strange behavior with a 4K LG external monitor and a MBP: the MBP wakes up instantly, and the monitor takes 5 - 7 seconds, and the computer often forgets the correct placement of windows. So something is amiss and buggy there.
- andromeduck 4y agoThere are tilling extensions.