0xfaded
13 hours ago
To any Linux users, I recently bought a fully loaded M4 MacBook pro to replace my aging Lenovo and strongly regret it. I thought I would use it for playing with LLMs, but local dev on a Mac is not fun and I still don't have it fully set up. I'll probably replace it with a framework at some point in the near future.
Edit: okay, that garnered more attention than I expected, I guess I owe a qualification.
1. Everything is just slightly different. I had to split all my dot files into common/Linux/Mac specific sections. Don't expect to be able to clone and build any random C++ project unless someone in the project is specifically targeting Mac.
2. Not everything is supported natively on arm64. I had an idea and wanted to spin up a project using DynamoRIO, but wasn't supported. Others have mentioned the docker quirks.
3. The window manager. I'm not a fan of all the animations and needing to gester between screens (and yes, I've been down the hotkeys rabbit hole). To install a 3rd party window manager you need to disable some security setting because appearantly they work by injecting into the display manager and calling private APIs.
So my person takeaway was that I took the openness of the Linux ecosystem for granted (I've always had a local checkout of the kernel so I can grep an error message if needed). Losing that for me felt like wearing a straightjacket. Ironically I have a MBP at work, but spend my day ssh'd into a Linux box. It's a great machine for running a web browser and terminal emulator.
lholden
7 hours ago
I ended up doing something similar a few years ago. Picked up a MacBook Pro M1 Max back when the M1 stuff was new to replace an aging Lenovo running Linux. I actually really loved my Lenovo + Linux, but the M1 was new and shiny and I desperately wanted better battery life.
The hardware was great, but life on a Mac always felt a bit convoluted. Updating the OS was especially frustrating as a software developer because of all the interdependent bits (xcode, brew, etc) that often ended up breaking my dev environment in some way. It also always amazed me at the stuff that was missing. Like, how isn't the default terminal app fully functional after all these years? On the plus side, over the time I used it they did add tiling and the ability to hide the notch.
Finally at the start of the year I moved back to Linux and couldn't be happier. Had forgotten just how nice it is to have everything I need out of the box. The big thing I miss is Affinity Photo, though that looks like it's in the middle of dying right now.
stevage
2 hours ago
The one that always surprises me is that there is absolutely no image editor of any kind.
But really, I just don't use that many desktop apps (or at least, not generic ones) so I don't have much of an issue on MacOS.
snowwrestler
2 hours ago
I frequently edit images in Preview on my Macs.
stevage
an hour ago
Yeah, you can resize and change format and that's about it. No drawing tools of any knid.
snowwrestler
an hour ago
It does have drawing tools, as well as tools for working with exposure, sharpness, color, text, shapes, selection, etc. I’d suggest exploring the features in Preview. It can do a surprising number of things with images.
SlightlyLeftPad
an hour ago
Preview is also great for saving and applying wet signatures.
linehedonist
2 hours ago
What’s missing in the terminal app?
skydhash
5 hours ago
I have an M1 air and 8th gen intel Dell (openbsd) and I’m much happier wit the Dell for hacking on stuff. MacOS is pretty much a nightmare if your workflow is not apps and IDE centered.
abrookewood
5 hours ago
Pretty sure you can run Asahi on that? Might have been worth the effort instead of swapping out the machine as it's still pretty capable.
coldtea
12 hours ago
>I thought I would use it for playing with LLMs, but local dev on a Mac is not fun and I still don't have it fully set up.
Sounds more like a you problem, probably due to unfamiliarity. There are endless options for local dev on a Mac, and a huge share of devs using one.
heavyset_go
8 hours ago
I've used Macs for 20 years starting on the day 32-bit Intel Macs were released, and agree with the GP. Linux and Plasma spoiled me, going back to macOS and its windowing system feels like a step backward, especially for development, where using multiple windows is a must. Task switching is.. not good? I don't get window previews I can switch through when I hover over the dock, but I do on Linux.
Yes, I know about Yabai and the other things that modify the existing window manager. The problem is the window manager itself.
Outside of the windowing system, running native Linux if you're deploying to Linux beats using an amalgamation of old BSD utils + stuff from Homebrew and hoping it works between platforms, or using VMs. The dev tools that are native to Linux are also nice.
When it comes to multiple monitors, I want a dock on each monitor. I can do that in Plasma, but I can't in macOS, unless I use some weird 3rd party software apparently.
0x457
6 hours ago
When you use linux as desktop, sometimes you get into a customization-hole and make everything "just right" because on linux everything is customizable.
Then you switch to macOS or Windows or even (not your) linux setup and hate it. When I manage to contain myself entirely to the terminal it's okay, but the moment I have to interact with GUI I start to miss those "just right" things.
I can relate. macOS hilariously sucks on certain GUI and terminal aspects. Not much you can do about GUI, just have to adapt to the way macOS wants to be used. For terminal, I use home-manager to manage my $HOME. It not space efficient and public caches are sub-par, but it's better than searching "sed in-place repace macos and linux cross-platform" for the 9000th time.
heavyset_go
3 hours ago
The irony is that I set up my Plasma desktop to mimic macOS' layout in terms of positioning buttons, menus, widgets and docks, and just leave the default settings and themes. Just what you get for free by default with Plasma is great vs macOS even with customizations.
I do nerd out when customizing the shell, though.
> It not space efficient and public caches are sub-par, but it's better than searching "sed in-place repace macos and linux cross-platform" for the 9000th time.
When onboarding new devs, it's like Groundhog Day, where I will inevitably have the "did you use GNU sed or BSD sed" conversation at some point if they have Macs.
I'm going to have to look into home-manager
sotix
6 hours ago
I'll echo the sentiment about being very familiar with macOS but being spoiled by Linux and KDE Plasma. I put up with my work MacBook. My personal Linux setup just works and gets out of the way as a machine.
Sharlin
7 hours ago
> Task switching is.. not good? I don't get window previews I can switch through when I hover over the dock, but I do on Linux.
That just sounds like being accustomed to one way of switching tasks, honestly. If I want previews, I use Expose (three-finger swipe up/down or ctrl-up/down). But mostly I just use cmd-tab and haven't really needed to see previews there. Because macOS switches between applications, not windows, often there isn't single window to preview, and I'm not sure showing all the windows would work well either. For Expose it works well because the it can use the entire screen to show previews.
heavyset_go
3 hours ago
If I wanted to use gestures, three/four finger swipe up and down shows all of the windows and all of the desktops with windows respectively. If I'm switching using the keyboard, I get window previews. If I'm switching using the dock, I get window previews.
Going back to macOS where I don't get window previews forces me to think in terms of app icons, instead of the UI I've been staring at and will instantly recognize. And if I use the dock, I have to remember the window title's name to switch windows using the context menu.
afandian
5 hours ago
The app switching behaviour is really infuriating. Selecting a window and having all the app’s windows come to the fore, obscuring the window from another app is still annoying, 20 years on.
And then when you full-screen a window, switch to another app for a moment, and then you can’t find it without delving into the ‘window‘ menu.
First world problems. But daily annoyances.
duskwuff
2 hours ago
> Selecting a window and having all the app’s windows come to the fore
... would only happen if the application you switch to is enforcing it for some reason. Ordinarily you can interleave windows all you want.
Switching to an application by clicking on it in the Dock or Cmd+Tabbing to it will bring all its windows to the front, though.
seg_lol
4 hours ago
You can put a dock on each monitor on the mac.
Syntaf
12 hours ago
Agreed, as a software engineer of ~8 years now Mac is actually my _preferred_ environment -- I find it an extremely productive OS for development whether I'm working on full stack or Unity game dev in my free time.
deaddodo
12 hours ago
I don't agree with OP's sentiment that macOS is a bad dev environment, but surely I prefer Linux+KDE as an overall dev environment. I find that all the tools I need are there but that I'm fighting the UI/UX enough to make it a hassle relative to KDE.
robenkleene
11 hours ago
> I don't agree with OP's sentiment that macOS is a bad dev environment, but surely I prefer Linux+KDE as an overall dev environment. I find that all the tools I need are there but that I'm fighting the UI/UX enough to make it a hassle relative to KDE.
This sounds like you think macOS is a good dev environment, but that you personally don't like the UI/UX (always safer to make UI/UX judgements subjective ["I don't like"] rather than objective ["it's bad"], since it's so difficult to evaluate objectively, e.g., compared to saying something like Docker doesn't run natively on macOS, which is just an objective fact).
deaddodo
7 hours ago
I literally started off my comment saying that it's not bad. That means it's neutral-good, by definition.
I can easily develop on both, I prefer developing on Linux. Thus, it is "more good" (IMO), if you prefer.
robenkleene
7 hours ago
Sorry, you're 100% right, I misread your comment.
rtpg
3 hours ago
Stuff like the containerisation story on Macs is so miserable. The fact that so many devs use Docker and on Mac and pay the orders of magnitude file costs (or do a bunch of other shenanigans) really makes for an unfun experience.
Really wish someone could have figured out something a bit better in that space in particular. Docker compose is a "least worst" option for setting up a project with devs when many are uncomfortable with other solutions, but it really takes the oxygen out of anything that might "work"
SomeUserName432
12 hours ago
I've been on a mac for ~4 years now.
It was a bit of a struggle to get used to it, coming from windows.
The only thing I really miss now is alt-tab working as expected. (It's a massive pain to move between two windows of the same program)
WXLCKNO
12 hours ago
You know you can use CMD+backtick (CMD+`) to cycle between windows of the same app? Add shift to go in reverse.
Or otherwise you can enable the app exposé feature to swipe down with three fingers and it will show you only windows of the same app.
metabagel
8 hours ago
This usually doesn't work for me.
For example, if I open a new Firefox window, the Mac seems to force the two Firefox windows onto different desktops. This already is a struggle, because sometimes I don't want the windows to be on two desktops. I find that if I try to move one window to the same desktop as the other, then Mac will move the other desktop to the original desktop so they are both still on different desktops.
OK, got sidetracked there on a different annoyance, but on top of the above, CMD-backtick doesn't usually work for me, and I attribute it to the windows typically being forced onto different desktops. Some of the constraints for using a Mac are truly a mystery to me, although I'm determined to master it eventually. It shouldn't be this difficult though. For sure, Mac is nowhere near as intuitive as it's made out to be.
godelski
7 hours ago
> two Firefox windows onto different desktops
My favorite is how it'll force move your workspace if you get a popup.To reproduce, get a second monitor, throw your web browser onto that second monitor (not in full screen), and then open a application into full screen on your laptop's screen (I frequently have a terminal there). Then go to a site that gives you a popup for OAuth or a Security Key (e.g. GitHub, Amazon, Claude, you got a million options here). Watch as you get a jarring motion on the screen you aren't looking at, have to finish your login, and then move back to where you were.
> Mac are truly a mystery to me
Everyone tells me how pretty and intuitive they are yet despite being on one for years I have not become used to them. It is amazing how many dumb and simple little problems there are that arise out of normal behavior like connecting a monitor. Like what brilliant engineer decided that it was a good idea to not allow certain resolutions despite the monitor... being that resolution? Or all the flipping back and forth. It's like they looked at the KDE workspaces and were like "Let's do that, but make it jarring and not actually have programs stay in their windows". I thought Apple cared about design and aesthetics but even as a Linux user I find these quite ugly and unintuitive.arccy
6 hours ago
I'm truly annoyed at it reordering the desktops even when i have just a single screen (the built in one). I expect my programs to be in certain order, so switching between them is predictable.
Or sometimes it just decided to open a link in a new chrome window instead of just opening a tab.... and not even consistently.
godelski
2 hours ago
That gets extra weird with a second monitor. I really cannot predict where a workspace on that monitor will land when disconnecting. It could be prepending or appending. I think it orders based on last active but my lack of confidence should even say something. I mean just because you interact with a program doesn't mean that was the last active program... crazy that I can scroll or type into a window and it not be considered the active window
dapperdrake
8 hours ago
Full-screen windows (little green button at the top) seem to get "their own desktop". Has tripped me up a few times.
godelski
7 hours ago
Or just put a program onto a second monitor then open a second window for that program. Usually it will not open in the same monitor. This is especially fun when you get pop-ups in browsers...
ilikepi
11 hours ago
> Or otherwise you can enable the app exposé feature to swipe down with three fingers and it will show you only windows of the same app.
If you have an Apple keyboard, CTRL-F3 (without the Fn modifier) will do the same. Not sure if there are third-party keyboards that support Mac media keys, but I'm guessing there are some at least...
roryirvine
11 hours ago
That has terrible ergonomics for anyone using a non-US keyboard, though - the backtick is immediately above the option key so to hit together with CMD requires clawing together your thumb and little finger.
GNOME does this much better, as it instead uses Super+<whatever the key above Tab is>. In the US, that remains ` but elsewhere it's so much better than on MacOS.
KORraN
9 hours ago
> That has terrible ergonomics for anyone using a non-US keyboard, though - the backtick is immediately above the option key so to hit together with CMD requires clawing together your thumb and little finger.
That's true, hence why I remap it to a "proper" key, above Tab with:
$ cat ~/Scripts/keyboard_remapping.sh
#!/bin/bash
hidutil property --set '{"UserKeyMapping":
[{"HIDKeyboardModifierMappingSrc":0x700000064,
"HIDKeyboardModifierMappingDst":0x700000035},
{"HIDKeyboardModifierMappingSrc":0x700000035,
"HIDKeyboardModifierMappingDst":0x7000000E1}]
}'
happymellon
6 hours ago
Hey guys, Linux is rubbish because you have to default to the command line just to get it to work properly...
eitland
10 hours ago
Only sometimes it doesn't work. (For me on a Norwegian keyboard it is CMD+<)
Specifically, sometimes it works with my Safari windows ans sometimes it doesn't.
And sometimes when it doesn't work, Option+< will work for some reason.
But sometimes that doesn't work either and then I just have to swipe and slide or use alt-tab (yes, you can now install a program that gives you proper alt-tab, so I do not have to deal with this IMO nonsense, it just feels like the right thing to do when I know I'm just looking for the other Safari window.)
I'm not complaining, I knew what I went to when I asked $WORK for a Mac, I have had one before and for me the tradeoff of having a laptop supported by IT and with good battery time is worth it even if the UX is (again IMO) somewhat crazy for a guy who comes from a C64->Win 3.1->Windows 95/98->Linux (all of them and a number of weird desktops) background.
lostlogin
12 hours ago
I’m a lifelong Mac user and didn’t know this.
Shame on me.
alwillis
11 hours ago
And there's more from where that came from: https://support.apple.com/en-us/102650
mholm
11 hours ago
Apple really doesn't tell power-users about a lot of these features. You can really gain a lot by searching for Mac shortcuts and tricks. I still learn new things that have been around for over a decade.
robenkleene
11 hours ago
I'd argue if you need to be told about keyboard shortcuts, then you're not a power user. (I.e., knowing how to find keyboard shortcuts I'd consider a core trait of power users).
metabagel
8 hours ago
Keyboard shortcuts should be exposed in some fashion. IMO, Microsoft is typically better at this.
robenkleene
8 hours ago
What specifically does Microsoft do that Apple should do?
xpe
4 hours ago
Another tip: lots of useful characters are only an option press away. You can find them by viewing your keyboard [1], which is easy if you have you input source on your dock. Some of my favorites:
⌥k = ˚ (degree) ⌥e a = á
⌥p = π (pi) ⌥e e = é
⌥5 = ∞ (infinity) ⌥e i = í
⌥d = ∂ (delta) ⌥e o = ó
⌥8 = • (bullet) ⌥e u = ú
⇧⌥9 = · (middot) ⌥n n = ñ
⇧ = shift; ⌥ = option[1]: https://support.apple.com/guide/mac-help/use-the-keyboard-vi...
xpe
an hour ago
> which is easy if you have you input source on your dock.
correction: on your macOS menu bar (at the top-right of the screen along with WiFi, time/date, etc)
debunn
11 hours ago
As a hybrid macOS / Windows user (with 20+ years of Windows keyboard muscle memory), I found Karabiner Elements a godsend. You can import complex key modifications from community built scripts which will automatically remap things like Cmd+Tab to switch windows, as well as a number of other Windows hotkeys to MacOS equivalents (link below):
https://karabiner-elements.pqrs.org/
https://ke-complex-modifications.pqrs.org/?q=windows#windows...
superjose
12 hours ago
staindk
10 hours ago
I don't think I could survive on MacOS without AltTab.
jablala
3 hours ago
Well I have some good news, look up the AltTab MacOS tool. It does exactly what you're after and it has been a life saver for me.
afandian
5 hours ago
I’ve not used windows since XP, but the one thing I missed was the keyboard menu navigation with alt and the underlined single letters. Still in my muscle memory, and I always felt like it was at least as good as keyboard shortcuts.
91bananas
12 hours ago
Play with your keyboard, alt, ctrl, cmd + tab or ~ or combos of those will do wild things for ya
whycome
12 hours ago
Apparently i'm the only one who didn't know about cmd+`
xpe
4 hours ago
Poking around System Settings > Keyboard > Keyboard Shortcuts… > Keyboard is a pretty good place to browse if you haven't. There are default keybindings that can changed and switched on/off. For macOS Sequoia 15.6:
[ ] Change the way Tab moves focus ⌃F7
[ ] Turn keyboard access on or off ⌃F1
[ ] Move focus on the menu bar ⌃F2
[ ] Move focus on the Dock ⌃F3
[ ] Move focus to the active or next window ⌃F4
[ ] Move focus to the window toolbar ⌃F5
[ ] Move focus to the floating window ⌃F6
[*] Move focus to next window ⌘`
[ ] Move focus to status menus ⌃F8
[ ] Show contextual menu ⌃↩
I only have one checked currently; I'm not feeling adventurous.sator-arepo
12 hours ago
You know about Cmd+Backtick, do you?
wiseowise
12 hours ago
CMD + ~.
neya
6 hours ago
Wow, this account's recent comment history is just full-on blasting with pro-apple opinions and attacking anyone who posts even a tinge of negativity about Apple or its recent product(s). I find it amusing we'd become so defensive about for-profit companies and their products..
godelski
7 hours ago
> Sounds more like a you problem
I'm sorry, I just really hate this Apple Fanboy rhetoric. It's frequent and infuriating. Don't get me wrong, I hate it when the linux people do it too, but they tend to tell you how to get shit done while being mean.The biggest problem with Linux is poor interfaces[0] but the biggest problem with Apple is handcuffs. And honestly, I do not find Apple interfaces intuitive. Linux interfaces and structure, I get, even if the barrier to entry is a big higher, there's lots of documentation. Apple less so. But also with Apple there's just things that are needlessly complex, buried under multiple different locations, and inconsistent.
But I said the biggest problem is handcuffs. So let me give a very dumb example. How do you merge identical contacts? Here's the official answer[1]
Either:
1) Card > Look for Duplicates
2) Select the duplicate cards, then Card > Merge Selected Cards.
Well guess what? #2 isn't an option! I believe this option only appears if you have two contacts that are in the same address book. Otherwise you have the option "Link Selected Cards". Something that isn't clear since the card doesn't tell you what account it is coming from and clicking "Find duplicates" won't offer this suggestion to you. There's dozens of issues like this where you can be right that I'm "holding it wrong", but that just means the interface isn't intuitive. You can try this one out. You can try this out. Go to your contacts, select "All Contacts" and then by clicking any random one try to figure out which address book that contact is from. It will not tell you unless you have linked contacts. And that's the idiocracy of Apple. Everything works smoothly[2] when you've always been on Apple and only use Apple but is painful to even figure out what the problem even is if you have one. The docs are horrendous. The options in the menu bar change and inconsistently disappear or gray out, leading to "where the fuck is that button?".So yeah, maybe a lot of this is due to unfamiliarity, but it's not like they are making it easy. With Apple, it is "Do things the Apple way, or not at all". But with Linux it is "sure whatever you say ¯\_(ツ)_/¯". If my Android phone is not displaying/silencing calls people go "weird, have you tried adjusting X settings?" But if my iPhone is not displaying/silencing calls an Apple person goes "well my watch tells me when someone is calling" and they do not understand how infuriating such an answer is. Yet, it is the norm.
I really do want to love Apple. They make beautiful machines. But it is really hard to love something that is constantly punching you in the face. Linux will laugh when you fall on your face, but it doesn't actively try to take a swing or put up roadblocks. There's a big difference.
[0] But there's been a big push the last few years to fix this and things have come a long way. It definitely helps that Microsoft and Apple are deteriorating, so thanks for lowering the bar :)
[1] https://support.apple.com/guide/contacts/merge-contact-cards...
[2] Except it actually doesn't
mercutio2
2 hours ago
It’s rare that I get feedback like this about a feature I owned for a decade.
1) The vast majority of users have only one contact-sync account, so it’s not an issue for them, merge works fine
2) For users that have multiple contact-sync accounts, they almost never want a feature to silently choose one account’s contact and delete the other account’s contact. So linking is really what these users want if the contacts live in different accounts.
It’s interesting feedback that a combined “link or merge” command would be what you’d expect. That’s a reasonable request; in my day we generally steered clear of combining destructive operations (merging) with non-destructive (linking).
I was more focused on the fact that the macOS implementation of “look for duplicates” is pretty broken; there’s a decent iOS implementation we never got around to migrating to macOS.
godelski
9 minutes ago
Don't get me wrong, I don't have an issue with linking. I think that's the correct solution.
In fact, it's kinda the only solution unless you can push info upstream, and you shouldn't assume you have those privileges or even know their data structure. But that doesn't matter because what the user cares about is how the information is displayed.
It is primarily a display issue. No deletions needed
The critical issue is I, the user, can't identify if these two contacts are in the same address book or not. The only way I can find this out is to guess and check. I have to guess the address book and then search that name, then repeat. That's not a reasonable solution nor does it scale. It's trivially solvable too. Just tell the user what address book a contact belongs to!
That's what leads to the confusion. All the program is telling me is that there are two contacts with the same name, nickname, phone number, and birthday. But the contacts differed on email and notes. The UI feedback tells me "Apple doesn't know how to do a trivial database query" not "Apple doesn't want to destructively merge these contacts because they are in different address books." That is actually not an obvious thing and I chased multiple other issues first. This is especially bad because in my calendar I had 3 entries for this person's birthday and 3 contacts. 2 were linked to my iCloud address book and 1 to Google (by ctrl clicking on the date, but maybe (in hindsight) that's not actually accurate). I somehow got it down to two, which resulted in 4 birthdays on my calendar! That actually created a false flag because now the icons showed as of 1 was from google and now 3 from iCloud, with all 3 no longer linking to a contact. The feedback the programs are giving me is "Apple can't merge tables", right? Or at least that's a reasonable interpretation.
I think theres a relatively simple solution to this. 1) indicate on the contact card which address book the contact belongs to. 2) "Find duplicates" queries across address books. Present the option "link contacts" instead of "merge". It's obviously reasonable that a user would want this as you have that capability for a reason. I honestly think "merge" could be "link" in most cases, because depending on the data structure those will be equivalent (you reference a node. That node has children pointing to the different tables). I agree, you shouldn't delete data, but there's also likely no reason to (yes delete if you have duplicate pointers pointing to the same object unless these pointers are aliases)
The same idea applies to calendar events. I missed a ton of events when I first switched to an iPhone because I'll look at my calendar and see 3 copies of "Columbus Day" and 1 "Indigenous People's Day" (Apple does both!) and not what I had scheduled for 10am. The only solution I have is to disable the holiday tables from my Google calendar and outlook. Effectively that's "deleting" data. This looks like a fine solution but those calendars aren't identical. As a user I want the union. I want deduplication. Because who wants redundant information? It's clearly not something the user is intending (at least in this case). That's going to be true for things like birthdays too (which I'd be happy to import). Apple doesn't even distinguish that as a separate table for my Google calendar so I'm stuck with dupes.
Effectively it is a display issue. As a user that's what's critical to me because that's what makes the program useful. As a programmer, yeah, I care about details but my tech illiterate parents don't.
Tldr: who said anything about deleting data?
nicoburns
7 hours ago
> With Apple, it is "Do things the Apple way, or not at all".
Well kinda, you don't have to use all that much Apple software on macs though. If you can live with the window manager / desktop environment then you can use whichever apps you choose for pretty anything else.
klardotsh
5 hours ago
Which would be less of a problem if the window manager and desktop environment weren’t some of the absolute worst parts of the entire OS.
godelski
6 hours ago
I'm not sure this is true, especially if you're a "power user"[0]. Here's an example: I want to modify `~/.ssh/config` to define a machine's alias depending on the SSID I'm on. So I want this logic
If on MyHomeSSID:
Host FooComputer
Hostname 192.168.1.123
Else If tailscale-is-running
Host FooComputer
Hostname 100.64.0.123
The reason you might want to do this is so that you can have your ssh connection adapt to the network you're using. You can just always write `ssh FooComputer` and get the connection you want. This can get much more complicated[1], but is incredibly useful.How would you accomplish this? Well actually, I don't know ANYMORE[2]. The linked thread had a solution that worked, but `ipconfig getsummary en0` now redacts the SSID (even when running sudo!). Though `system_profiler SPAirPortDataType` still works and I can get the result in 4 seconds... So not actually a solution. Yet it shows the idiocracy and inconsistency of Apple's tooling. There was a solution, then Apple changed it. wtallis helped me find a different solution, and well... then Apple changed it. YET `system_profiler` still doesn't redact the SSID so what is going on? Why is it even redacted in the first place? I can just throw my cursor up to the top right of the screen and see the SSID information. If it was a security issue then I should not be able to view that information in GUI OR CLI and it would be a big concern if I could see it in some unprivileged programs but not in others.
And that's the problem with Apple. If I write some script to do some job, I don't know if that script is going to work in 6mo because some person decided they didn't want that feature. So I can find some other command to do the exact same thing and end up playing a game of Wack-a-mole. *It is absolutely infuriating.* This is what I mean by "constantly punching you in the face". The machine fights you and that's not okay.
[0] I put in quotes because the example I'm about to give is to some "complex" but others "dead simple". I'd actually say the latter is true
[1] https://news.ycombinator.com/item?id=41596818
[2] https://news.ycombinator.com/item?id=41633547
[side note] I've used a similar SSID trick to write myself a "phone home" program in termux for Android and other machines. I can get my GPS coordinates and other information there so you can just write a <50 line program to ping a trusted machine if your device doesn't check in to trusted locations within certain timeframes. Sure, there's FindMy, but does that give me a history? I can't set an easing function to track if my device is on the move. Can I remote into the lost machine? Can I get it to take pictures or audio to help me locate it? Can I force on tailscale or some other means for me to get in without the other person also having technical knowledge? Why not just have a backup method in case one fails? I'm just trying to give this as an example of something that has clear utility and is normally simple to write.
thewebguyd
11 hours ago
> The window manager. I'm not a fan of all the animations and needing to gester between screens (and yes, I've been down the hotkeys rabbit hole). To install a 3rd party window manager, you need to disable some security setting because appearantly they work by injecting into the display manager and calling private APIs.
Specifically for this, there's Aerospace (https://github.com/nikitabobko/AeroSpace) which does not require disabling SIP, intentionally by the dev.
For using the vanilla macOS workspaces though, if you avoid using full screen apps (since those go to their on ephemeral workspace that you can't keybind for some stupid reason), if you create a fixed amount of workspaces you can bind keyboard shortcuts to switch to them. I have 5 set up, and use Ctrl+1/2/3/4/5 to switch between isntead of using gestures.
Apart from that, I use Raycast to set keybindings for opening specific applications. You can also bind apple shortcuts that you make.
Still not my favorite OS over Linux, but I've managed to make it work because I love the hardware, and outside of $dayjob I do professional photography and the adobe suite runs better here than even my insanely overspeced gaming machine on Windows.
nextos
10 hours ago
Mac laptop hardware is objectively better, but I am on the same camp as the parent post. For most development workflows, Linux is my favorite option. In particular, I think NixOS and the convenience of x86_64 is usually worth the energy efficiency deficit with Apple M.
It will be interesting to see how this evolves as local LLMs become mainstream and support for local hardware matures. Perhaps, the energy efficiency of the Apple Neural Engine will widen the moat, or perhaps NPUs like those in Ryzen chips will close the gap.
sanswork
9 hours ago
I develop using a MacBook because I like the hardware and non-development apps but all my accrual work happens on a Linux server I connect to. It's a good mix.
foxandmouse
3 hours ago
Thanks for sharing Aerospace, can’t believe I overlooked it! It’s like finding out someone fixed half the things that make macOS feel like a beautiful prison .Somehow it makes the whole OS feel less… Apple-managed.
radley
11 hours ago
Is there a HN bingo card? Because we always get a top comment for Linux user who tries Mac and decides they prefer Linux.
disgruntledphd2
10 hours ago
I kinda agree with the OP, but then I was a Linux user for well over a decade. I do think that C/C++ libraries are much, much more of a pain on Mac as soon as you go off the beaten path (compiling GDAL was not pleasant, whereas it would be a breeze on Linux).
Some of this is probably brew not being as useful as apt, and some more of it is probably me not being as familiar with the Mac stuff, but it's definitely something I noticed when I switched.
The overall (graphical) UI is much fluider and more convenient than Linux though.
tannhaeuser
9 hours ago
I have to agree. The loss of sense of reality among Linux fanboys is really annoying.
I had been a Linux notebook user for many years and have praised it on this board years ago. But today the Linux desktop has regressed into a piece of trash even for basic command line usage while providing zero exclusive apps worth using. It's really sad since it's unforced and brought upon Linux users by overzealous developers alone.
Mac OS trounces Linux in absolutely every way on the desktop it's not even funny: performance, battery life, apps, usability, innovation. Available PC notebook HW is a laughable value compared to even an entry level Apple MacBook Air. Anecdata but I have no less than five "pro" notebooks (Dell Lattitude, XPS, and Lenovo Thinkpad) come and go with basic battery problems, mechanical touchpad problems, touchpad driver issues, WLAN driver issues, power management issues, gross design issues, and all kind of crap come and go in the last five years so I'm pretty sure I know what I'm talking about.
The one thing Mac isn't great for is games, and I think SteamOS/Proton/wine comes along nicely and timely as Windows is finally turning to the dark side entirely.
metabagel
8 hours ago
> Mac OS trounces Linux in absolutely every way on the desktop it's not even funny: performance, battery life, apps, usability, innovation.
performance - I don't agree battery life - absolutely apps - absolutely usability - I don't agree innovation - I don't agree
One significant annoyance associated with Linux on a laptop is that configuring suspend-then-hibernate is an arduous task, whereas it just works on a Macbook.
But, the main thing is commercial application support.
pas
7 hours ago
hardware and basic OS reliability is really good when it comes to MBPs, unfortunately the rest of the software stack is maddening
delbronski
11 hours ago
As a long term Mac user who works on ROS a lot I hear you. Most people here think local dev means developing a React app. Outside of mainstream web frameworks Mac sucks for local dev.
lavp
10 hours ago
I’ve found Macs to be good for most dev stuff with the exception of non-Dockerized C++.
Unfortunately I do a lot of C++… I hate the hoops you have to go through to not use the Apple Clang compiler.
devilsdata
6 hours ago
I have a pretty good cross-platform dotfiles setup for both Mac OS and Linux that I use Chezmoi to provision. I try not to repeat myself as much as possible.
Here's my repository: https://github.com/lkdm/dotfiles
I use Linux at work and for gaming, and Mac OS for personal stuff. They both build from the same dotfiles repository.
Some things I've learned is:
- Manually set Mac's XDG paths to be equal to your Linux ones. It's much less hassle than using the default system ones.
- See my .profile as an example on how I do this: https://github.com/lkdm/dotfiles/blob/main/dot_profile.tmpl
- Use Homebrew on both Linux and Mac OS for your CLI tools- Add Mac OS specific $PATH locations /bin, /usr/sbin, /sbin
- Do NOT use Docker Desktop. It's terrible. Use the CLI version, or use the OrbStack GUI application if you must.
- If you use iCloud, make a Zsh alias for the iCloud Drive base directory
- Mac OS ships with outdated bash and git. If you use bash scripts with `#!/usr/bin/env bash`, you should install a newer version of bash with brew, and make sure Homebrew's opt path comes before the system one, so the new bash is prioritised.
I hope this is helpful to you, so feel free to ask me anything about how I set up my dotfiles.
skopje
an hour ago
So basically you're a linux user who is mad macOS isn't linux? Don't get me wrong, Tahoe is the worst GUI upgrade ever, but the last time I had problems with lack of native Mac-Arm support was ... 2021? I think your arguments are topical and don't point to a significant problem with the build ecosystem. Yes, rare niche packages haven't all migrated to Arm, but ... that's all you got?
saltcured
10 hours ago
I can relate. I've spent almost 30 years working primarily on Linux. I moved Windows to be under VM when I needed it around for occasionally using MS Office, first under vmware and later under kvm. Now I don't even use it as a VM, since work has Office 365.
My work got me a similar M4 MacBook Pro early this year, and I find the friction high enough that I rarely use it. It is, at best, an annoying SSH over VPN client that runs the endpoint-management tools my IT group wants. Otherwise, it is a paperweight since it adds nothing for me.
The rest of the time, I continue to use Fedora on my last gen Thinkpad P14s (AMD Ryzen 7 PRO 7840U). Or even my 5+ year old Thinkpad T495 (AMD Ryzen 7 PRO 3700U), though I can only use it for scratch stuff since it has a sporadic "fan error" that will prevent boot when it happens.
But, I'm not doing any local work that is really GPU dependent. If I were, I'd be torn between chasing the latest AMD iGPU that can use large (but lower bandwidth) system RAM versus rekindling my old workstation habit to host a full size graphics card. It would depend on the details of what I needed to run. I don't really like the NVIDIA driver experience on Linux, but have worked with it in the past (when I had a current gen Titan X) but also did OpenCL on several vendors.
kristianp
7 hours ago
Speaking of the P14s, I have an Intel version from 2 years back and battery life is poor. And I hunger for the mac's screen for occasional photography. The other thing I found difficult is that there's no equivalent of the X1 Carbon with an AMD chip. It's Intel only. The P14s is so much heavier.
1-more
13 hours ago
> I still don't have it fully set up
Highly recommend doing nix + nix-darwin + home-manager to make this declarative. Easier to futz around with.
unshavedyak
13 hours ago
Seconded. I have a mostly CLI setup and in my experience Nix favors that on Mac, but nonetheless it makes my Nix and Linux setups a breeze. Everything is in sync, love it.
Though if you don't like Nixlang it will of course be a chore to learn/etc. It was for me.
1-more
12 hours ago
drop $20/month for any LLM and you don't even have to learn it!
mauflows
9 hours ago
LLMs are uniquely bad at writing nix configs I've found. The top models all regularly hallucinate options
Really useful for debugging though
1-more
8 hours ago
Really? This surprises me. I've used them for projects and for my home-manager setup and it's always been amazing at it. The best example I can come up with is packaging a font I needed into a nix package for a LaTeX file. It would have taken me a month of trying various smaller projects to know how to do that.
unshavedyak
11 hours ago
Honestly it helped quite a bit. There are a lot of obscure (imo) errors in Nix that LLMs spot pretty quickly. I made quite a bit of progress since using them for this.
1-more
11 hours ago
Yeah it's like 99% responsible for all of my flake files; I wasn't being facetious!
root_axis
10 hours ago
Yes, macOS sucks compared to Linux, but the m chip gets absolutely incredible battery life, whereas the framework gets terrible battery life. I still use my framework at work though.
acomjean
2 hours ago
The AMD chips I'm using with integrated graphics have 6+ hours of battery life (system76 pangolin) and the newer intel ultra chips are decent on battery too. +/- a bit depending on how hard you end up pushing them machine. Huge improvement over my frist linux laptop, though it had a nvidia chip set but would go only 2-3 hours per charge.
ElijahLynn
9 hours ago
Yes, there is a dilemma in the Linux space. But is running Linux on a MacBook a viable option these days? Is Ashahi Linux solid enough?
I much prefer a framework and the repairability aspect. However, if it's going to sound like a jet engine and have half the battery life of a new m series Mac. Then I feel like there's really no option if I want solid battery life and good performance.
Mac has done a great job here. Kudos to you, Mac team!
zdragnar
6 hours ago
If you don't need a dedicated graphics card, there's plenty of laptops that get 12 or better hours of battery life (8 under heavy load such as you're compiling things), which is perfectly fine for me. LG gram was my most recent one I was using, and that required zero tweaks to any power management or battery or ssd or any other settings to get.
jay_kyburz
9 hours ago
Oh, I have that tab still open from when I was reading the other thread. Here is the feature support from Asahi. Still a way to go unless you are on an old M1 looks like?
https://asahilinux.org/docs/platform/feature-support/overvie...
martypitt
13 hours ago
I appreciate this comment!
I'm often envious of these Macbook announcements, as the battery life on my XPS is poor (~2ish hours) when running Ubuntu. (No idea if it's also bad on Windows - as I haven't run it in years).
Thanks for the heads-up.
coldtea
12 hours ago
Not that useful as a heads up.
MacOS is great for development. Tons of high profile devs, from Python and ML, to JS, Java, Go, Rust and more use it - the very people who headline major projects for those languages.
2ish hours battery life is crazy. It's 8+ hours with the average Macbook.
theodric
12 hours ago
> It's 8+ hours with the average Macbook.
Did I get a dud? I rarely get over 2.5
leakycap
12 hours ago
If you are on a M-series MacBook and aren't running a 3D Benchmark the entire time, your Mac is broken if it is dying after 2.5 hours.
Have you checked your Battery Health?
If you have an intel-based Mac, it's the same expected battery life as Windows and 2.5 hours on an intel MacBook battery sounds decent for something 5+ years old.
avtar
11 hours ago
8+ hours sounds about right. I have a M1 Macbook Pro and even 5 years later I can still use it (a million browser tabs, couple containers, messaging apps) for an entire day without having to charge it.
tverbeure
11 hours ago
Yeah, you have a dud. Or you have some processing running in the background that's gobbling up all the energy.
brokencode
11 hours ago
With Apple Silicon? Yes, that is very low for typical dev usage.
Gaming is another story though, or any other uses that put a lot of stress the GPU.
freeqaz
11 hours ago
Use Aerospace for window management. No animations. No disabling of security. It just works. https://github.com/nikitabobko/AeroSpace
konart
13 hours ago
>but local dev on a Mac is not fun
What are the differences though? I have mbpr and a pc with Fedora on it and I barely see any differences aside from sandboxing in my atomic Kinoite setup and different package manager.
People often hating on brew but as a backend dev I haven't encountered any issues for years.
leakycap
11 hours ago
The issues I see people struggle with on a Mac is that development often needs things in a non-default and often less-secure setup.
There isn't a "dev switch" in macOS, so you have to know which setting is getting in your way. Apple doesn't like to EVER show error alerts if at all possible to suppress, so when things in your dev environment fail, you don't know why.
If you're a seasoned dev, you have an idea why and can track it down. If you're learning as you go or new to things, it can be a real problem to figure out if the package/IDE/runtime you're working with is the problem or if macOS Gatekeeper or some other system protection is in the way.
ruszki
8 hours ago
I can tell you in one sentence: try to have a DNS server when mDNSResponder sits on port 53 (for example because you use the new virtualization framework).
And there are a lot of such things, which are trivial or non problem in Linux.
woodruffw
4 hours ago
I'm sympathetic to all of this except the part about DynamoRIO: I've barely seen people compile DynamoRIO successfully on Windows and Linux, so struggles on macOS don't seem that unusual. It seems like a marginal case to ding the Mac on.
(I have a handful of patches in DynamoRIO.)
LeoPanthera
6 hours ago
> Everything is just slightly different. I had to split all my dot files into common/Linux/Mac specific sections. Don't expect to be able to clone and build any random C++ project unless someone in the project is specifically targeting Mac.
This seems like a very unfair complaint. macOS is not Linux. Its shell environment is based on Darwin which is distantly related to BSD. It has no connection to Linux, except for its UNIX certification.
yoavm
5 hours ago
Why is it unfair? The OP literally stated "To any Linux users". They aren't saying it's worse, just that if you're coming from Linux it can be hard to adapt. Sounds reasonable to me.
As a Linux user, I sometimes dream about the Apple hardware, and I tell myself "How hard can it be to get used to MacOS?! It has a shell after all!". The OP reminded me that it can be quite difficult.
Philpax
5 hours ago
That can be true while still being a genuine irritant. Windows and POSIX shells are different enough that you'd never assume that a script would be compatible between them - but the same is not true between your average Linux distro and macOS, which leads people to repeatedly get bit when trying to write a script that supports both.
foxandmouse
8 hours ago
I thought the same thing when I saw the M5 in the news today. It’s not that I hate macOS 26, hate implies passion.. what I feel is closer to disappointment.
The problem is their philosophy. Somewhere along the way, Apple decided users should be protected from themselves. My laptop now feels like a leased car with the hood welded shut. Forget hardware upgrades, I can’t even speed up animations without disabling SIP. You shouldn’t have to jailbreak your own computer just to make it feel responsive.
Their first-party apps have taken a nosedive too. They’ve stopped being products and started being pipelines, each one a beautifully designed toll booth for a subscription. What used to feel like craftsmanship now feels like conversion-rate optimization.
I’m not anti-Apple. I just miss when their devices felt like instruments, not appliances. When you bought a Mac because it let you create, not because it let Apple curate.
Panzer04
7 hours ago
Usually there's an accessibility option of some kind that disables animations; at least it exists in android and I feel like it existed in iOS (though I haven't used that in ages). I'm surprised Mac doesn't have something similar.
pm2222
11 hours ago
I hear you. Apple hw and Linux combination would be have been great for me.
uaas
10 hours ago
How about Asahi Linux, or a Fusion/Parallels VM on macOS?
JadeNB
10 hours ago
Can't you literally install Linux on Apple hardware?
botanical76
10 hours ago
Yes, with major tradeoffs. Asahi Linux is an amazing project, but they have not yet figured out how to get anywhere close to a Mac's power efficiency when it is running MacOS. For example, you will lose a lot of battery life[0][1] with the lid closed, whereas on MacOS you lose pretty much nothing.
Also, note that thunderbolt not yet supported[2].
[0] https://web.archive.org/web/20241219125418/https://social.tr... [1] https://github.com/AsahiLinux/linux/issues/262 [2] https://asahilinux.org/docs/platform/feature-support/overvie...
achandlerwhite
13 hours ago
What are the quirks with local dev that make it not fun?
jayd16
13 hours 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
13 hours 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.
jayd16
11 hours ago
They're basically things along those lines. They're more nefarious when background services quietly error out and you need to dig to find it was a newly required permission.
EvgeniyZh
11 hours ago
Launching unsigned app now requires to go to settings manually and allow it there instead of just allowing on launch
asdff
5 hours ago
Right click > open no longer works?
coldtea
12 hours ago
I use macOS, with all kinds of languages locally, plus vms, kubernetes, LLMs, etc and seen no such issues.
What "permission headaches"?
watermelon0
11 hours ago
Launching unsigned apps is a problem, especially if an app bundle contains multiple binaries, since by default you need to approve exception for each of them separately.
I know that it's possible to script that since Homebrew handles it automatically, but if you just want to use a specific app outside of Homebrew, experience is definitely worse than on Linux/Windows.
mholm
11 hours ago
There are a lot of annoying hurdles when allowing some types of application access. Needing to manually allow things in the security menu, allowing unrecognized developers, unsigned apps. Nothing insurmountable so far, but progressively more annoying for competent users to have control over their devices.
Zizizizz
12 hours 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
12 hours 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.
platevoltage
10 hours ago
I'm a lifelong Mac user, so obviously I'm used to using CMD instead of CTRL. Inside the terminal we use CTRL for things like CTRL-C to exit a CLI application.
What messes me up when I'm working on a linux machine is not being able to do things like copy/paste text from the terminal with a hotkey combo because there is no CMD-C, and CTRL-C already has a job other than copying.
IMO apple really messed up by putting the FN key in the bottom left corner of the keyboard instead of CTRL. Those keys get swapped on every Mac I buy.
tracker1
10 hours ago
Ctrl+Shift+(X,C,V) tends to work for many/most terminals in Linux and Windows (including Code and the new Terminal in Windows)...
I agree on the Fn key positioning... I hate it in the corner and tend to zoom in when considering laptops for anyone just in case. I've also had weird arrow keys on the right side in a laptop keyboard where I'd hit the up arrow instead of the right shift a lot in practice... really messed up test area input.
platevoltage
10 hours ago
I knew there must be some extra hot key, but like you said, muscle memory.
It's the same thing when switching from a Nintendo to a Western game where the cancel/confirm buttons on the gamepads are swapped.
saltcured
10 hours ago
As a very long-term Linux user, I'm still aggravated when implicit copy and middle-click paste doesn't just work between some apps, since it is so deeply embedded in my muscle memory!
vel0city
10 hours 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.
jtbaker
13 hours ago
docker being nerfed is pretty much the only thing I can think of.
cbm-vic-20
12 hours ago
Have you tried Apple's "container" tool?
jtbaker
5 hours ago
I saw the announcement, and it looks like a cool tool. But I don't think it supports docker compose specs, which a lot of my projects use for running services (like postgres) locally when developing. And doesn't seem like there is any support for kubernetes - e.g. still needs to run through Colima etc.
sofixa
13 hours 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
12 hours 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.
astrange
11 hours ago
IIRC many of the built-in tools were updated from FreeBSD in the last release, but they'd still be different from GNU.
sofixa
8 hours ago
Brew is pretty terrible though. It's slow, and doesn't handle updates/versions/dependencies all that well.
I've had it make major (with breaking changes) updates to random software when asked to install something unrelated.
inkyoto
5 hours ago
HOMEBREW_NO_AUTO_UPDATE=1
HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK=1
export HOMEBREW_NO_AUTO_UPDATE HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK
brew is fine. Not the best package manager, not the worst one either.craigds
9 hours 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
13 hours 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.
skinnymuch
9 hours ago
Very interesting. I’m going to start using Nix it seems based off skimming how it works and can replace docker.
CjHuber
10 hours ago
I also like the multi desktop experience on KDE more, but I‘ve recently found out you can at least switch off some of the annoying behavior in the Mac settings, so that e.g it no longer switches to another desktop if you click on a dock icon that is open on another desktop
karmelapple
6 hours ago
> To install a 3rd party window manager you need to disable some security setting
Depends what you mean by window manager, but an app like Magnet does not require disabling security settings.
wingworks
9 hours ago
I get the comment about Docker. Not being able to share memory with docker makes it a pain to use to run things alongside mac, unless you have mountains of ram.
mike-cardwell
8 hours ago
I've been forced to use Macbooks for development at work for the past 7 years. I still strongly prefer my personal Thinkpad running Debian for development in my personal life. So don't just put it down to lack of familiarity.
kgc
8 hours ago
Try Aerospace. Completely solved window management for me.
Also for dev, set up your desired environment in a native container and then just remote into it with your terminal of choice. (Personally recommend Ghostty with Zellij or Tmux)
bonsai_spool
13 hours ago
I recommend looking at Lima for setting up deterministic build environments on a Mac! I use it with Ansible to provision testing environments:
TranquilMarmot
6 hours ago
> I'll probably replace it with a framework at some point in the near future.
I kind of did the opposite. I have a first-gen Framework and really enjoy it, but WOW that thing runs scorchingly hot and loud. Too hot to put on your lap even doing basic workflows. Battery life is also horrible, maybe ~4 hours if you're doing any sort of heavy work, ~6 hours if you're just browsing the web. Did I mention it's loud? The fans spin up and they sound like a jet engine. The speaker on it is also substandard if that matters to you - it's inside the chassis and has no volume or bass.
Last year I replaced it with an M4 Pro Macbook and the difference is night and day. The Macbook stays cool, quiet, and has 10+ hour battery life doing the same sort of work. The trade-off is not being able to use Linux (yes, I know about Asahi, the tradeoffs are not worth it) but I have yet to find anything that I can't do on linux.
I also _despise_ the macOS window manager. It's so bad.
aftergibson
8 hours ago
Hello! Yes! Writing this from my commute home using my companies M3 Pro and I hate it. I'm waiting for a new joiner so I can hand this off to a new starter who has a different brain to me.
I can write up all the details, but it's well covered on a recent linuxmatters.sh and Martin did a good job of explaining what I'm feeling: https://linuxmatters.sh/65/
lexarflash8g
6 hours ago
Big fan of the podcast Late Linux Linux btw
AlexeyBrin
11 hours ago
macOS has a different dev culture than Linux, but you can get pretty close if you install the Homebrew package manager. For running LLMs locally I would recommend Ollama (easy) or llama.cpp. Due to the unified memory, you should be able to run larger models than what you can run on a typical consumer grade GPU, but slower.
sebiol
12 hours ago
For me a VM set up via UTM works quite well on my Mac. Just make sure you do not virtualize x86, that kills both performance and battery life. This way I get the nice battery life and performance in a small packge but am not limited by MacOs for my development.
stevenwalton
8 hours ago
> To any Linux users,
I have a Macbook Air and I pretty much use it as an ssh machine. It is definitely over priced for that, but it at least beats the annoyance of having to deal with Windows and all the Word docs I get sent or Teams meetings... (Seriously, how does Microsoft still exist?)Since I mostly live in the terminal (ghostty) or am using the web browser I usually don't have to deal with stupid Apple decisions. Though I've found it quite painful to try to do some even basic things when I want to use my Macbook like I'd use a linux machine. Especially since the functionality can change dramatically after an update... I just don't get why they (and other companies) try to hinder power users so much. I understand we're small in numbers, but usually things don't follow flat distributions.
> I had to split all my dot files into common/Linux/Mac specific sections
There's often better ways around this. On my machine my OSX config isn't really about specifically OSX but what programs I might be running there[0]. Same goes for linux[1], which you'll see is pretty much just about CUDA and aliasing apt to nala if I'm on a Debian/Ubuntu machine (sometimes I don't get a choice).I think what ends up being more complicated is when a program has a different name under a distro or version[2]. Though that can be sorted out by a little scripting. This definitely isn't the most efficient way to do things but I write like this so that things are easier to organize, turn on/off, or for me to try new things.
What I find more of a pain in the ass is how commands like `find`[3] and `grep` differ. But usually there are ways you can find to get them to work identically across platforms.
> Don't expect to be able to clone and build any random C++ project unless someone in the project is specifically targeting Mac.
But yeah, I don't have a solution to this... :([0] https://github.com/stevenwalton/.dotfiles/blob/master/rc_fil...
[1] https://github.com/stevenwalton/.dotfiles/blob/master/rc_fil...
[2] https://github.com/stevenwalton/.dotfiles/blob/master/rc_fil...
[3] https://github.com/stevenwalton/.dotfiles/tree/master/rc_fil...
surfingdino
7 hours ago
Can you not install Parallels and use it to run Linux under Mac OS X?
thehamkercat
12 hours ago
local-development has been fine for me on m4 pro sequoia (i switched from archlinux), not much different
but i absolutely hate MacOS26, my next laptop won't be a macbook
It's a shame what they did to this awesome hardware with a crappy update
skinnymuch
9 hours ago
My issue is how much I care about looks. If it’s not pretty, I have a harder time using stuff outside the CLI/TUI.
Linux is too ugly for me to use as my main device. Same with what I’ve seen of Android.
godelski
9 hours ago
I suggest you head over to /r/unixporn, and you'll probably be presently surprised. Contrary to popular belief, most of this stuff is not very hard to setup. Of course, there are people also showing off custom tooling and the craziest (and sometimes silliest) things they can pull off, but a beautiful interface is usually something you can do in under an hour. It is customary to include a repo with all configurations, so if you wanted to direct copy paste, you can do it much faster than that.
Unless you're talking about the look of the physical machine. Well then that's an easier fix ;)
yoavm
5 hours ago
In my opinion, Apple is the one doing very poorly on (software) looks recently. Liquid Glass looks like a joke. Both KDE and GNOME look better. The new Expressive Material 3, on Android, actually looks great.