3 ms·
I'm currently using a Mac for work because I don't have a choice. I know it's going to be flippant, but I'm genuinely surprised people like using Macs for devel
by jchw 4y ago
I'm currently using a Mac for work because I don't have a choice. I know it's going to be flippant, but I'm genuinely surprised people like using Macs for development anymore.
Hardware wise: Apple Silicon is very nice, but my enthusiasm is greatly tempered by a horrible experience with docks. So-called USB 4 docks and even plain USB-C docks work far less reliably on my MacBook Pro M1 Max than they do on PC laptops I have laying around. I can't even get a single monitor to 4k 60hz... Unless I plug any of my adapters into a non-Apple laptop. Weirdly, most of these docks don't seem to work at ALL on the M1 Mac Mini, or only sometimes. I'm genuinely puzzled.
Software wise: Window management on macOS is extremely annoying. I'd try to run one of those i3 style tools, but... Full setup requires disabling SIP. Color me and my company's compliance team very unimpressed. I'm also on two kernel panics, apparently in some Bluetooth related module. Dude, I don't even USE Bluetooth on my work MacBook. I've sent reports to Apple... But I assume they're directed to the circular file. That's as much transparency as I get anyways. Major updates break XCode every time. Bazel runs slower than dirt. Sometimes I get stuck "verifying" binaries I just built. Why do we need to phone home to Apple for ad-hoc signed binaries we just built? Feels more like a Microsoft move.
OTOH, I do get why people don't like Windows and Linux. Linux is unfriendly and requires a large time investment to really take advantage of. It's buggy, and hardware support is poor unless you carefully select it (of course, You Can.)
But the real kicker is this: with Linux, I have the power to fix things. With Windows and macOS, it feels like I'm only renting my computer. Will this problem ever be fixed? "Maybe some day. Probably not." I hate that. There's no transparency and there's nothing I can do about it.
Average users definitely shouldn't go and mess with patching their kernels. But me? I'm happy to. My Surface Laptop 4 is running an unmerged PR to the Surface Linux project kernel right now. And since I'm doing it declaratively with NixOS, I can always boot to before I applied that patch. It's only one line of Nix code, that automatically fetches the PR diff from GitHub and applies it.
I upstream rarely, but the fact that I can triage, report, follow and help along with bugs that matter to me is a huge boost in confidence. If you've used a graphics tablet in Wine, you may have benefited from a couple of my patches.
I understand that it's not for everyone, and I wouldn't recommend it to anyone who doesn't really feel this kind of sales pitch. But: if you already have to invest a large amount of time into programming, I think suffering your way into Linux proficiency is not a bad time investment at all. Even if there's a lot of potential pain, there's even more potential learning and growth.
As far as I'm concerned, I'll be computing on Linux until it's pryed from my cold dead hands, remote attestation and other dystopian bullshit be damned.
- _fjb4 4y ago> But the real kicker is this: with Linux, I have the power to fix things. This is one of the major reasons why I have switched to Linux and never looked back. Obviously this mindset is not for everyone, but for a technical user willing to put effort into it you can end up with a great experience. Even knowing that an issue you reported has been acknowledged or is also experienced by others (and being able to track its progress) is quite reassuring. While it's true that developers are often frustrated with people asking stupid questions if you actually put the effort into writing a proper bug report and trying patches out they are often happy to help you out. The Linux community is a technical community and users are expected to pull some weight in most cases.
- nikau 4y agoRegarding docks, unless you need USB3 speeds for some reason, get a display port 1.2 to HDMI adapter which also has power delivery and a USB2 port. This is the most compatible dock you can get as its just generic display port 1.2 and a passive passthrough of the onboard USB2 controller - no drivers needed. Then buy a cheap 7 port USB2 hub and chain it off the single port of the adapter. This will run you about $30, will do 4K @60Hz, and have enough USB2 ports for webcams, mic, keyboard, mouse etc. which wont come anywhere near saturating a USB2 bus let alone a USB3 bus. I've used this for macs, various Windows laptops, Samsung phones and it works perfectly and reliably for a few years now.