I have both a latest generation Thinkpad P1 Gen5 and Macbook Pro 16 inch M1 pro and while it is true that Macbook comes pretty close to being a perfect laptop, I still miss the productivity of a Linux laptop (for backend dev work).
From what hardware POV you are correct, I wish though Apple would adopt Carbon Magnesium chasis that thinkpad uses. For same 16inch size, Thinkpad is noticeably lighter. I can happy lug my P1 Gen5(16 inch) model anywhere, whereas 16inch macbook pro is hefty.
I have Asahi Linux installed on mine, it works great including the GPU, I’m mainly developing for ARM64 AWS Lambdas now as well so it’s nice having the same arch. Some things are still missing like webcam, microphone and speakers, but the headphone Jack works and Bluetooth is OK just a bit choppy, incredible project.
I know this isn't an Asahi Linux thread, but I cannot help to ask about it. Plus I am big fan of Alyssa Rosenzweig's work (and Justine Tunney), so I pay close attention to Asahi Linux (and LibCosmo/politan) progress.
First, it's great to hear from Real World people like you about their Asahi Linux experience. It sounds like the baseline is done and now they will pick away at the remaining pieces.
Real question: What is the driver for Asahi Linux to exist at all? Please don't think I am trolling when I ask this question. At 10,000ft, any sane person would say: "Why? It's Apple. Let them do them: Mac OS X." I expect Asahi Linux folks to reply: "Well, duh: Because."
Is it unlocking the insane performance per watt of Apple Mx chips for Linux?
Is it enabling the world's greatest laptops for Linux?
Is it the pure technical challenge of reverse engineering a closed hardware system?
Because your choice of hardware should be independent of the choice of software that you run on it.
This has been the world we've had since the concept of "IBM compatible" existed. Some people prefer Windows (because of available software, or ease of use) and some people prefer Linux (e.g. for efficiency, customisability or desire to run open source software). Why should that choice be tied to whether you've bought, HP, Lenovo or another manufacturer?
Apple has made some amazing laptop hardware, but Mac OS doesn't suit everyone. So well done to the Asahi Linux team for trying to take us back to that world of choice.
You still 100% should choose your hardware for Linux even on 'Windows' laptops.
Ideally it should run everywhere but in my experience you'll never get a positive Linux Desktop experience unless you tailor your hardware purchases to the Linux world - this usually means choosing a laptop that tons of other linux users are using, so the bugs are getting found and fixed, and documentation exists.
The key here is that it should at least run on the most popular laptop brands. It should run on Macbook Pro because it's incredibly popular hardware choice for software/technical people.
PowerPC was an attempt to standardize (at a least a subset of) the industry on a common RISC processor. There were even two attempts at industry standards for PowerPC motherboards (PreP and CHRP, the latter with Apple's active participation).
I have a ThinkPad with Linux on it that I bought for programming and software development and a 16" Macbook Pro w/ an M1 Pro chip that I bought for photography.
I only use the Macbook Pro. The speed, battery life, coolness (to the touch), and quietness make it extremely difficult to have any desire to pick up the ThinkPad.
A good motivation for Asahi is hardware longevity. Apple supports hardware for a reasonable amount of time while I want to use a system as a primary computer but is obviously the worst among the 3 major operating systems and it curtails the long tail life of a system. In 7-9 years from now Asahi (or some other linux distro) will probably be the best way to keep an M1 Mac on an up to date and secure operating system.
So it works great except half the hardware doesn't work and it's entirely unsupported by Apple, to whom you paid a significant premium for the hardware?
It's a work in progress, users are generally confident that the remaining hardware will gain Asahi support sooner or later.
The fact that Asahi is such a popular project is a pretty strong indicator of how much room for improvement MacOS has, to put it as politely as I can. Personally, I wouldn't even consider buying a new Mac if there wasn't any good alternate native OS available.
iTerm2 and lima [1] with a ARM64 Linux virtual machine w/ Rosetta (so I can still run x86_64 Linux code!) enabled me to fall in love with my MacBook Pro in this regard. i feel more productive than on a Linux machine now. MacOS is not without its developer power tools, if you dig around enough!
For me MacBookPro with M2 chips would be perfect if the 13in model allowed 64GB RAM. My workflow requires me to run Docker (intel images) heavily with several containers. Having a virtualization layer is pretty resource consuming. Usually the Docker + containers I use take around 5GB RAM alone.
Under that configuration I've found 32GB to be just within the limit of usability. 16GB are just not enough. Also, for some virtualized Docker workflows, there is that known issue of slow File interaction through the Mac/virtualized file system, which makes working with say Magento, Drupal or simlar software REALLY slow.
As a comparison, I've also got a 2011 intel MacBookPro with 16GB RAM. That one is running Linux Mint. Docker performance is almost transparent, and the system runs pretty snappy for development.
> For me MacBookPro with M2 chips would be perfect if the 13in model allowed 64GB RAM
The new 14" model is only slightly bigger than the 13" (.4"x.4" bigger and .5lb heavier) and supports up to 96GB of RAM so may be a reasonable consolation if those size and weight compromises are tolerable for you. Additionally, you'd get a better screen, keyboard, more ports, better wifi and bluetooth, and more CPU & GPU capacity. Of course cost will also go up quite a bit.
It would also help if the virtualization story on Macs improved so that you wouldn't need to have all that RAM just to compensate.
There is no M2-series MacBook Pro with a 32GB RAM limit. There is the legacy 13in version with regular M2 which has a 24GB limit (which IMO makes no sense at all - basically everyone would be better with the M2 air over the model). And there is the 14in model with M2 Pro/Max which has both 64GB and 96GB RAM options.
My personal laptop is an M1 Air (16gb)... for anything dev, I use VS Code + Remoting extensions and just work "on" my personal desktop (local or over vpn/wireguard). It means I can't really do much without an internet connection, but that's often the case anyway.
I will say that a lot of the software I run in Docker has an aarch64 bundle... there are a few things that don't. There's now a beta version of Docker Desktop that includes Rosetta support, which should dramatically help for x86_64 images. I also have found that the FS I/O is not great, but getting better.
(prior job was using M1 Max, current is windows+wsl)
What software are you using that doesn't have ARM versions available? I think it goes without saying that a machine with an ARM processor is not going to be ideal if you're frequently working with x86-specific software.
I've needed some scientific software that still doesn't have ARM64 libraries available, so thus are stuck on x86. RStudio, for example, has a lot of dependencies and only recently starting offering experimental support for aarch64 on Linux.
Really don't understand why Apple still selling 13" MBP, as MBP 14 is much better, and you can get it with up to 96GB of memory now. I would assume they keep 13" just for people who still likes TouchBar.
I bought a 13” M2 for work (freelance dev) last week. It’s a weight and size thing for me. The 14” (I’ve had one before) seems to just cross the threshold for what I can comfortably carry when I’m out and about.
My impression is that the air can’t “gun it” for as long because of heat. Sometimes I run intensive stuff and I’d prefer the machine to turn the fans on rather than throttle the processor.
With that said, the air is nice. It’s just not worth it to save 160 grams for my use case.
Chances are Docker would be a dog on that 2011 too, if you were on MacOS. I honestly don't know how Docker got so popular when it sucks so much on anything that is not Linux.
The population that uses Active Directory lives almost exclusively on Windows.
The population that uses FCP lives almost exclusively on MacOS (OSX is dead, long live OSX)
The population that uses Docker does not live exclusively on Linux. In fact, a minority of developers works on Linux laptops, even when they target it for deployment. It's a larger minority than in other sectors, but it's definitely a minority, not even a relative majority. The population of (web) developers is possibly the most evenly-distributed of all, in terms of OS.
> It's not the fault of docker or linux containers that people insist
Obviously, it's the fault of people - as I said in the comment above: I'm surprised it got so popular among people, considering how much it sucks on the platforms lots of them use.
Docker is something that should be cross platform far more than those examples.
The whole idea of using Docker for dev boxes is to eliminate the cross platform dependency issues and make it easier for everyone, without maintaining wikis for each OS version. We don't use Docker at work because of the non-Linux performance issues.
Shameless plug on this topic: I've been working on a new Linux+Docker+Kubernetes solution for macOS recently! Already has quite a few improvements over existing apps including Docker Desktop, Rancher, Colima, etc: fast networking (30 Gbps), VirtioFS and bidirectional filesystem sharing, Rosetta for fast x86, full Linux (not only Docker), lower CPU usage, and other tweaks.
Don't forget about the related project colima[1] that makes it easier to run Docker containers from a Mac command prompt using a lima VM to host the containers. I'm not convinced on using volumes with colima yet, but it does make using dev containers a lot easier with Mac native VS Code.
It would be perfect if Rosetta supported AVX instructions. For instance, I could just install pre-built tensorflow binary packages in a x64 container on Lima then.
Man, I wish Rosetta (or Microsoft's ARM emulation) could support AVX. I understand it might be a patent issue. It's the one significant thing keeping me from running some of the software I'd like to on my MBP.
As a heavy Linux user for two decades I disagree. You can't even talk about Linux vs MacOS because the actual distribution you use matters a lot more than the kernel when you talk about productivity.
Using Mint, Elementary or whichever GUI distribution you would like to use with the Linux kernel has completely different tradeoffs in terms of GUI, which implies different productivity levels.
There is more. Even with the best case scenario you need to customise the GUI much more than you need to customise MacOS, for example energy management is a bit a of problem for most Linux based distros.
This simply happens because Apple owns the whole vertical from HW to GUI and they focus on the user. They have done this for decades. There is no such entity in the non-Apple world and this means there is more work for the user when trying to create a working environment.
And Linux keeps failing because of companies like System76 which cannot seem to build, or partner with a company, to be this competition.
Lenovo would crush Apple if it partnered with the Linux Community and made a cheap (in price!) everyday laptop for the consumer and focused on privacy and no lock in.
“Lenovo would crush Apple if it partnered with the Linux Community”
No it wouldn’t.
Users (the 99%) don’t care about privacy, tech, etc. They happily give their data up to TikTok (the CCP), Meta, Google, Amazon, Apple, etc. The Snowden revelations were met with a shrug or “I have nothing to hide”. This is well beyond established at this point (these platforms have billions of users).
They also don’t care about lock in - they just want stuff that works and adds as much as it can to their lives in as little effort as possible. The Apple ecosystem is incredibly successful because it does this exceedingly well. They view lock in as a positive - “All my stuff just works together - here’s more money Apple”.
The average person cares as much and is as involved in all of this as I am in understanding how my light switch is related to the function and operation of a nuclear reactor. The amount of care, time, thought, and energy I put into that is the cumulative total of the three seconds I spend interacting with light switches everyday.
I’m not disparaging users. I use the nuclear reactor analogy because I don’t care, I don’t need to care, and I shouldn’t have to care. I, (like most people) have only so much bandwidth for time, energy, and passion. I leave worrying and caring about all of that up to everyone from the people who mine uranium to the electrician that wires up the switches.
On HN we're the uranium miners, nuclear physicists, power companies, linemen, and electricians. We're the few people who do know and care about any of this "tech stuff".
"They also don’t care about lock in - they just want stuff that works and adds as much as it can to their lives in as little effort as possible. The Apple ecosystem is incredibly successful because it does this exceedingly well. They view lock in as a positive - “All my stuff just works together - here’s more money Apple”."
Probably the biggest myth about Apple these days, that it just works. Can I tell you the countless hours I have spent helping friends with their Apple and iPhone issues?
And besides, as technicians, our job is to GET PEOPLE to care about this stuff and lead by example. What good is trying to convince someone to not use Apple products if you are buying the latest Apple product?
And in my opinion, Google products "just work" much better and are more open to multiple routes of access to your data. At that, they are way better than Apple.
For another anecdotal datapoint - almost all of the people in my personal and professional circles heavily use Apple products (iMessage is 95% blue).
As the "tech guy" for most non-tech savvy people in my life I can count on fingers the number of times anyone has asked me for help with their Apple products. For the most part I look around and see people easily and happily using their Air Pods, iPhones, iPads, iWatches, and Mac Books.
Yes there are occasional minor issues and bugs but everyone knows to do a little dance of "turn it off, turn it back on", disconnect and reconnect, etc. Just like when I get in my car occasionally, I turn it on, and the infotainment display is wonky. I shut the car off, open the door, turn it back on, and say "Hmm, that was weird". Then I move on with my day. I simply won't accept that these kinds of occasional minor issues don't exist in the Google/Android ecosystem.
In the rare occasion something more significant has come up with Apple products and it's not a five minute or less fix I point them to the Apple Store and let them deal with it. Where's the equivalent for Google, Android, etc? I don't want to get into yet another tired Apple v Android "debate" here on HN but (for me) that's reason enough for me to recommend Apple products for most people.
As far as access to data, again, they don't care. How many GDPR or other requests do you think Facebook has gotten for dumps of people's data? I'm sure it's 1% or less of their user base. Again, as long as people can sign-in to their iCloud account that counts as "access to their data" to them.
It's perfectly fine if you see part of our role is evangelizing these things. For me I don't want to be "that guy" who's a half-step from the cryptobro cousin at Thanksgiving trying to get everyone to buy bitcoin. I'll occasionally drop things like "Oh Tiktok, say hi to China for me" or "If the service is free it's because you're the product" but I avoid harping and evangelizing. To use my power analogy I wouldn't walk into someone's house and start talking about how they should really be using Cree bulbs or Leviton switches. If someone has interest and wants to get into getting big tech out of their life, Linux, or XYZ light bulbs and power switches more power to them but I'm not going to push.
I don't think any amount of education or preaching I'd do is going to get someone to switch from Android to Apple (or vice-versa), Windows/Mac to Linux, pull Alexa out of their house, cancel their social media accounts, etc. Plus, just like crypto, if they do follow my advice I'll get to hear all about it in the event anything negative happens. No thanks but again - if you want to try to fight the good fight I support it.
What really pushed me towards Apple is that Lenovo offers a very limited set of configurations to us Europeans. No way to get the best machine from them, even if we're willing to pay for it.
I had the same problem with Lenovo here in India. I bought an Asus instead. got a Ryzen 9 6800 machine with 32gb ram and a 3050ti. amazingly good with Fedora.
I was looking to buy a Lenovo Thinkpad T14 Gen 3, and I could not get a better screen resolution than 1920 x 1200. I just checked and 3840 x 2400 is now available. They may have had supply chain issues. But it's too late for me.
Also, their ARM laptop is only available with Windows.
What is your Linux laptop giving you that your MBP doesn’t? And how does it hurt your productivity? Genuinely curious as I don’t see how it can be any different.
For my experience, as a longtime Linux user who got a MBP:
I really miss the desktop environments available on Linux. KDE is great, and even Gnome beats MacOS. You can't even move windows between desktops with a keyboard shortcut on MacOS. The desktop experience on MacOS is a "death by a thousand cuts" situation. E.g. Popup dialogues will rearrange your windows (e.g. if the popup is wider than your window, to remain centered, it will move the underlying window and I'm not joking.) E.g. Mouse acceleration can't be turned off, which makes MacOS pretty awful for any mouse-centric workflows. E.g. Blocking animations that fundamentally can't be turned off.
That's on top of things that aren't necessarily faults with MacOS, such as getting used to different keyboard shortcuts.
On Linux, I get native Docker, up-to-date coreutils (they're different on MacOS), more precompiled versions of software I use, and having the Linux desktop software that I prefer. (Finder is frustrating, Gedit or Kate for text editing is great, GIMP is much nicer on Linux, etc.) I also miss KDEConnect.
I don't use Xcode, but as I understand, updating it messes with git and python.
But the battery life really is amazing enough to make it worth it. I'm really excited for Asahi to progress to a point that I'm comfortable using it.
Apps like Keyboard Maestro or BetterTouchTool can resolve almost every Macos usability complaint that I've heard. Keyboard Maestro can move windows between desktops with a keyboard shortcut, for example, and there are multiple ways to disable mouse acceleration. For almost every missing feature or annoyance in Macos, someone else has had the same thought and developed a solution.
I should note that I consider this is one of the biggest flaws with MacOS. It really should not require someone to pick together disparate pieces of software to come to a state of usability.
It's like using Arch Linux, except the software costs money, is proprietary, and people choose Arch because they would prefer their own config over the comforts and defaults provided by other distros.
Configuring a MacOS machine might require spending over $100 on usability software, providing personal information to a myriad of companies (Tools like IINA or iTerm2 are the exception and not the default.), and even after all that you still have a variety of unfixable usability issues.
KeyboardMaestro is $36 and BetterTouchTool is $22. With KeyboardMaestro, it's not clear what the license is (which makes it concerning for use in the workplace.)
> For almost every missing feature or annoyance in Macos, someone else has had the same thought and developed a solution.
I do appreciate the effort, but this isn't true. You can no longer disable blocking animations in MacOS, there is no Spaces API for instantly moving a window from one desktop to another, etc. And any of this can break with a MacOS update, and there's no easy way to automatically configure a fresh install. (IME, MacOS users use Time Machine backups rather than a fresh-install bash script.)
From someone used to the comforts of Linux, MacOS takes a huge amount of effort and expenditure to only get 20% of the way there.
KeyboardMaestro is $36, Hammerspoon can do roughly the same and is free. Best part is: there is no pendant in linux, mostly due to the moving target of system configurations and DEs.
I've never heard that word used this way, thank you!
That said, that makes sense. I don't have experience with AHK or HammerSpoon, but I'd expect this functionality to be very dependent on the display server and overall desktop environment.
Can it resolve me not being able to use MATE as the desktop environment?
My biggest gripe with Mac OS X is the window manager. I want to be able to ALT+right-click anywhere on a window to be able to move it around, alt+left-click anywhere on a window to resize it. I want to be able to click the dock icon for an app I'm using and have the most recently used window of that app come to the foreground instead of however it makes that decision. I'd love to get preview thumbnails of windows when hovering over icons in the doc so that I can select the window I want. Right-click plus reading window titles takes longer to find the window I need.
I want to be able to customize my fonts because I have a hard time reading text on my QHD external monitor.
I want a terminal that doesn't suck (and yes I use iterm2, it still sucks because I can't quickly jump to the end / beginning of a line to edit a command).
I want to be able to select text to copy to clipboard and use my middle mouse button to paste and I want that to work for all programs.
I want to be able to hold ctrl plus use the mouse wheel to zoom in / out of web pages on chrome ... something Linux and Windows both do out of the box but it just doesn't work on Mac OS X.
I want to be able to customize all of this and not feel like I'm locked in to "the Apple way" of doing things.
I lot of this is just familiarity and getting really used to a particular DE over decades of use and taking little things for granted. If all you've ever used is a Mac then I'm sure you've figured out how to be hyper-productive on that DE. I just find it strange that, from a company that somehow positioned itself as UX leaders ... I find that I'm 1/10th as productive on my work Macbook as I am on any nix device (and while Mac might use a heavily modified NetBSD kernel IIRC and have zsh and bash ... it feels very different from a nix machine to me).
In the terminal, use emacs-style bindings like ctrl-A and ctrl-E to move to the beginning and end of lines. On the Mac, Home and End are for beginning and ends of documents.
Use USB Overdrive or Steermouse to bind mouse buttons to whatever you want, including Paste. Select-to-copy might be impossible, though you could certainly do select-and-click-to-copy.
ah, focus stealing. and the lack of focus stealing prevention.
Yes. This is why I could never settle down and marry MacOS. KDE amd tiling WMs do this right, everyone else is just rude.
- No nagware (no Apple Music pop-ups, advertisements for safari, login nag in settings, et. al)
- Built-in package manager
- Having (relative) parity between production and development
Between those three, you probably couldn't pay me to go back to MacOS. Adding my own package manager, disabling ads and making my Mac into a Linux-equivalent machine is possible, but it's a lot of work to maintain and set up.
If I was a creative and used Adobe/Microsoft tools, I might be a little nicer to MacOS. As a programmer though? I haven't felt the desire to use a Mac since Mojave existed.
I have an M1 Pro MBP and Linux running on a Framework laptop.
The Linux built in package manager is only ok. It often lags behind in versions of things I need. I ended up using Homebrew on both Mac and Linux. For the cases the Linux built-in package manager is too out of date I use Homebrew. It's not perfect on either system.
> - Having (relative) parity between production and development
For certain classes of development this is a big deal.
For my container work it doesn't really matter. I'm running Rancher Desktop and doing container based dev in the VM. Windows, Linux, or Mac doesn't matter as the host.
> - No nagware (no Apple Music pop-ups, advertisements for safari, login nag in settings, et. al)
I must have learned to ignore this as I've had Macs for a couple decades now.
On the flip side, a lot of business software I must use for work isn't available on Linux. I think this is the biggest problem for GNU/Linux as a general OS. There's some biz software that just doesn't run there.
I have a 13" Macbook Pro and a Thinkpad model I forget the name of.
Homebrew is down-right bad. There are certainly worse Linux package managers (pacman... looking at you), but if you're using MacOS I'd highly recommend giving Nix a try. Less muss-and-fuss, and stopped me from sending my Macbook on a swim in the local river.
> For my container work it doesn't really matter.
That's fine, it doesn't really for me either. The nice part (for me) is the native Docker and fantastic filesystem support. Whereas MacOS feels like a product I'm turning into a tool, Linux systems tend to feel like a tool out-of-box. Different strokes for different folks though, it really just depends on what you want out of a computer.
> I must have learned to ignore this
I must have learned to appreciate living without it, then. It's pretty jarring returning to a monetized OS like Windows 11 or Monterey for me.
> a lot of business software I must use for work isn't available on Linux
Oh yeah, for sure. Like I said in my previous comment, I wouldn't use Linux if I was a lawyer or a video editor. That being said though, pretty much everything I've used in the modern enterprise is browser-based. You don't need a native Jira app or a custom .DMG to run git. Arguably, everything you need is shipped right with most Linux distros.
I won't (and haven't) argued that Linux is perfect, but MacOS is converging with the Windows and Google school of desktop design. It worries me, and it's part of why I left MacOS in the first place. Photoshop is nice, but living on a computer that feels like a rented hotel room isn't very satisfying to me. Again, different strokes.
A few macs ago (maybe around 2017), I switched to a strategy of “either the AppStore or brew”. I’ve never had a problem with anything from brew since. I install some productivity tools, standard OS tooling (Inkscape, Gimp, Libre), everything I need to develop for Python, Android, various embedded arm platforms, Elixir/Erlang. I even add some extra tools for Swift development.
I'd recommend checking out some other package managers for Mac. I'm being a bit harsh on Homebrew, but Macports is generally a better option IMO. The real crown-jewel is truly what everyone says; Nix. It's just a brilliant, next-generation package management tool that does what it says on the tin. It works on MacOS, allows for granular package installation/upgrading, ephemeral shell-based dev environments, declarative system management and more.
It's a bit like comparing cakes. Homebrew is a frosted sheet cake, whereas Macports is that nice double-layer box mix your mom used to make. Nix is a coconut-dusted 6-layer wedding cake that hides a 10 course meal under the fondant. They're all delicious, but I have a hard time going back to the sheet cake nowadays.
The thing that gets me about Linux package managers is how easily they can wreck your desktop. Granted mac package managers aren’t perfect here either but I think it would make a lot of sense for there to be some way to designate things like audio systems or your DE as “system” packages and as such be protected and very difficult to accidentally screw up with e.g. dependency resolution gone awry.
I’d also not be opposed to a package manager more geared towards making sure things work without fuss than trying to reduce redundancy. I don’t really mind if there’s multiple versions of whatever lib installed if that’s what it takes. Storage is cheap, my patience isn’t.
In theory flatpak and such should meet that need, but the implementation is so much more quirky and troublesome compared to e.g. Mac application bundles.
> some way to designate things like audio systems or your DE as “system” packages and as such be protected and very difficult to accidentally screw up with e.g. dependency resolution gone awry.
I do this on NixOS (and used Nix to do the same thing on MacOS). It's really great, but the up-front work of configuring everything can be a bit steep. The end result is pretty nice though - your environments are all sym-linked together from a common package store, and you can group together certain environments/package sets to update independently of one another. The icing on the cake is the rollback feature, where you can go back through the generations of your environment (until the packages get GCed).
It's not perfect (and it would test your patience), but Nix is an interesting commitment to the philosophy of using as much disk space as possible. I'm hopeful that someday it will be the de-facto package manager for Mac systems.
There's no such thing as "the Linux package manager". If you want something traditional, dnf runs circles around anything available on macOS, and nixpkg is from another universe altogether.
On my old MBP I get regularly nagged to update to Monterey. Despite it not being supported.
On my iPhone it wouldn't stop nagging me to accept changes to the iCloud T&Cs. There was no permanent opt out. You could say no for a bit and then it would go back to nagging you.
Same with Apple Music.
Currently my iPhone nags me to disable background running of Garmin Connect, so that I loose integration with my Garmin watch.
None of this endears Apple to me and is definitely a consideration for my next purchase.
I have a Macbook Air M1 2020 and a Thinkpad X1 Carbon 7th Gen (4 years old!) running Linux Mint.
I have upgraded the Thinkpad's Battery, RAM (16GB), and SSD (500GB) for the cost of the parts. I will not be able to do that on the Macbook. Ever.
For what I do (browsing, videos, some writing and research) the only benefit to the Macbook is slightly better battery life. I have more software option on the Thinkpad for sure and it does not want to control everything I do.
I paid WAY less for the thinkpad and I get pretty much the same performance for my needs.
The THRUTH is that most people are being way oversold computing power and paying a premium for it because they are locked into the platform.
And just yesterday for some reason Safari vanished and re-arranged my bookmarks for no reason.
Getting my MacBook ready to sell as a matter of fact.
In my mind it is stupid (and poor marketing) that the linux community is not crushing Apple with cheap, fast laptops.
A ThinkPad X1 Carbon is cheaper, lighter, has a better keyboard, and on Linux I can run the DE that has the defaults/customizations and keybindings that I am used to.
I also don't have to worry (or at least I think that I don't) that the Linux kernel or my distro silently introduces a hack for their programs to bypass my firewall and VPN because they couldn't fix some bugs by the company-mandated release date:
I work on container stuff, so may be my POV is bit different but:
1. I had hard time fighting openssl installed by Homebrew and getting Python to use it. On Linux - this is never an issue. In general IMO using homebrew is fairly tedious.
2. Debugging of stuff running on Linux. Sometimes logging is not enough and while remote debugging can be made to work (I mainly use Goland), it is pretty fiddly and does not work reliably.
I am not new to Mac or anything tbh. I used to use Mac about 5 years ago exclusively and then Linux for next 5 years and now using Mac again. IMO for kind of work I do - Linux is just leaps ahead of Mac.
Some workflows on a linux system can be totally different than what is possible on a mac. Even with apps like BetterTouchTool, Hammerspoon, Amethyst and others. Customizing window management, advanced keyboard shortcuts, general system behavior in mac is going against the tide. It kinda works, but never as good as you'd want because you can't really get rid of the default window manager and default global behavior.
Some window manager in linux are more like window manager frameworks, like AwesomeWM, that lets you customize its behavior via lua scripting. It's extremely powerful and allows you to get exactly the behavior you want.
But this part of linux is pretty niche stuff for sure though haha.
I wouldn't say I'm more productive thanks to this, but I'm way happier using a system I can set up so that it behaves how I want, instead of having to follow rules I don't agree with and can't change.
There are some really weird things. The only sustained usage of Macs I've had is a Mac Mini (x86) that I had for app development. Even just plugging in a plain old UK layout USB keyboard (not an Apple one) and having it behave itself and give me the right characters was surprisingly difficult.
Biggest things for me
- I've never found a good WM that can replace what bspwm can do.
- Something as useful as pacman, brew is no where near as good.
- Full control over my system.
Plus I can run my set up on a £30 chromebook and be nearly as efficient as my ~£1800 Work laptop.
Others have filled in some of the productivity benefits, but it also avoids a thousand little papercuts. It doesn't have uninstallable crapware like Apple News.
A VM on the Mac will run longer on battery with less heat than a Linux installation on a native Linux x64 laptop.
Of course if you need to have your laptop be x64 to match cloud architecture then that's different. Or you could just use ARM in the cloud and save even more carbon emissions.
If you need to interact with connected peripherals from the linux environment a VM is still usually a much less productive experience. I do a lot of embedded development, and while it is often possible to do USB passthrough to connected boards, lots of things don't work the same as they do when running Linux natively, and I have never found it to be a seamless experience (on VirtualBox or VMWare)
Exactly. My strategy for this for my personal projects is mostly ARM VMs. In a couple of cases I have to run x86, and I run a used HP thin client at home as what I call a “physical VM”. I then use tailscale to connect from anywhere.
I’m not the person you asked—but a ton of developer tooling just runs better on Linux. Installation is usually easier too—on a Mac, there’s Homebrew, but Homebrew doesn’t have the best user experience.
All the GUI productivity apps run better on a Mac—image editors, IDEs / text editors, apps like Slack or Zoom or whatever.
Fwiw you can use nix (the package manager) and the nixpkgs package repository without ever learning or writing a single line of nix (the language).
My introduction was to use nix instead of brew and ignore the whole "declarative configuration" aspect. It took me a while to get comfortable enough with that part of the ecosystem, but that's irrelevant to my point.
Give nix a try, use it like you'd use brew. Ignore the declarative configuration stuff for a bit.
If you're happy with brew, by all means continue using it. If asdf is getting you all the languages and tools you need without issue, by all means continue using it. My comment is just adding some details to the parent comment about nix running well on macOS.
EDIT: I doubt your question is in good faith considering the 'cult' comment, but to answer your question at face value regarding benefit the first one that comes to mind is being able to have multiple versions of the same package and being able to rollback to previous versions if something breaks. This also means you can have package A depend on package B v1, and package C depend on package B v2, and both can coexist. If this is not something that's valuable to you, that's fine too. The other killer feature is being able to install dependencies for a project/repository if it uses nix - just clone, cd, and run `nix develop` and you'll have all the dependencies available.
The cult comment was in jest. These are just package managers don't take things so seriously, it is all in good fun.
Yes, I understand the multiple versions of the same package thing - Go/Rust have package managers that quite reliably solve that problem. Pipx also to a certain extent solves that problem.
Brew is useful mostly for casks (browsers, mac apps, fonts) which don't usually call for multiple versions.
I'm sure it is a hairy problem for some combination of languages/tools but I guess I'm somehow completely side stepping it. Perhaps I'm more likely to encounter it if I treated my laptop as a server because that seems more like where Nix might shine as a sort of ansible/chef/puppet on steroids ;)
Fair enough! Yeah, I was using brew as a replacement for something like `apt` or `dnf` on Linux. For example, installing packages like htop, neovim, emacs, etc. For things like Rust I stick with cargo (which is awesome), though I do manage my Go install through nix.
I’m constantly fighting Brew on all three computers where Brew is installed. Yes, I have wiped them, the problem is Brew, it is not the particular installation. If it were a problem with one particular installation of Brew, then it would not suddenly become a problem on a new fresh install of Brew.
The idea that you would need to wipe anything to start over is just bizarre to me in the first place. One of the many problems with Brew. Brew is extremely slow and it is prone to doing things that I do not want it to do without explaining why it is doing them or how I can alter its behavior (why is it installing package X? why is it updating right now?). Sometimes when I install a package, I get a spurious failure, and I need to re-run the installation command. Sometimes I just want to install one package, but it goes through “brew update”—which is extremely slow.
I used brew for years and it's a fine tool but I found it lacking. It doesn't give you control when you need it, and telling a user that something got b0rked along the way and asking them to start over isn't good developer experience (in all fairness, neither is the current status of the various nix cli's, but trade-offs am I right?). I've lost so many hours because something broke and sometimes it was because one dependency got updated and broke other packages and other times it wasn't obvious what broke, and I would have to start from scratch.
I never used brew to install or manage my python precisely because it gave me so many issues.
Can I just do “nix install foo”? I looked into nix ages ago but opening a text file any time I wanted to install some random package just felt too weird.
I doubt the chassis is adding that much weight. MacBooks are largely battery.
The MacBook Air is also significantly lighter than a pro despite having the same basic chassis.
I upgraded from the 13" M1 Air to the 14" MacBook Pro M1 Max
While Blender performance (rendering especially) is much faster, I sorely miss the MacBook Air's portability. The 14" is built like a brick. Compile times are faster, video editing is nicer with more RAM in the Pro, but it's a really tough call given just how different the weight is
I just got my work machine upgraded to the 14in Pro from the 13in M1 Air recently. I think overall the extra screen pixels are worth the weight tradeoff. It's only a little heavier and I don't really notice it on my back when I'm cycling
I did love the M1 Air though! Probably the best laptop I've ever used pound-for-pound.
Agreed, a high end machine in the Air form factor would be great. The M2 is more than enough compute-wise for my SWE workflow, but it's not a great deal once you start bumping the RAM and adding storage when compared to the base 14 inch (+ the extra benefits you get with the 14" screen, etc).
From what hardware POV you are correct, I wish though Apple would adopt Carbon Magnesium chasis that thinkpad uses. For same 16inch size, Thinkpad is noticeably lighter. I can happy lug my P1 Gen5(16 inch) model anywhere, whereas 16inch macbook pro is hefty.