MacBook Air M1: the best laptop?
michael.stapelberg.ch
michael.stapelberg.ch
Software developers thinking that 16GB is a small amount of RAM is why all of our software is fat barges of bloat now. Y'all, this prophecy is entirely self-fulfilling. Please stop.
Software developers often have to run several emulators (e.g. Docker Desktop, Android, and iOS emulators), hundreds of Chrome tabs, compilers, heavy 'ol IDEs, Microsoft freakin' Teams, and a bunch of other stuff concurrently. 16 GB is just enough for many workloads, but it's easy to see use cases in which would exceed that.
When did people become so helpless? I was offloading interactive workloads via X11 back in the 90s, and these days it’s to a near-instantly provisioned public cloud instance. If someone can’t get by in a pinch with vim and a command prompt, then I don’t particularly want them in my crew.
There”s a corollary to that old dictum, “a bad worker blames their tools”, and it’s “a good worker chooses good tools”.
Well back in my day we had to timeshare the punch card machine and our punch cards only had zeros. Ones were too wasteful and anyone who asked for them would have been fed to the lusers.
unfortunately I can't get rid of teams and Intellij at work.
I use Xfce on Linux and 32 GB of RAM are just enough to not encounter problems in my day to day job, imagine those poor folks using something like MacOS or Windows...
At home I have a laptop with 4gb of RAM, it's usable, I use it to watch YouTube videos and as a media player.
On Ubuntu the 4GB of ram are constantly used and the system also uses no-less-than 4gb of swap space (thanks fast SSDs for making my life better)
except for the JVM/electron based apps that I am forced to use, all the Linux native applications are as good as any other system.
Anecdotal, Firefox on Linux is the only incarnation of Firefox I feel comfortable using, I think it's between not great to terrible on other systems. I use WebKit based browser on other OSs.
difference being I can tune the OS to work as I intend and the developer tools are some of the best in their categories, that's not true for the other two.
MacOS is known for being slower and use more RAM on many developers task (docker, for example), but there are things you can only do on a Mac, iOS apps being one, and, honestly, I can't imagine using XCode with maximum 16 GB of RAM for the next few years.
You might develop on MacOS, but then you deploy the artifacts on some Linux box, of course because there is no MacOS server offering, but I wouldn't do it anyway if I had the option.
Windows as a server is not that bad either.
I've worked with all of them in the past 25 years, Linux desktop experience is not as polished as it could be, but for sure it's not slow or bloated in general.
Yes GNOME 40 is not great, GNOME 3 probably killed Linux on desktops, but I don't use it, so...
even Plasma looks super snappy compared to MacOS these days.
Claiming that Apple can double your RAM is a strong claim, that in my experience is not supported by any evidence.
Perhaps the feeling of Apple system being faster comes from the fact that there are only relatively recent Apple machines around and it's rare to see some 8 years old Apple laptop still in use, while my 7 year old laptop with 64gb of RAM costed as much as an M1 Pro but can still do its job relatively well because I can put a lot of things in RAM, reducing the pressure on the rest of IO subsystem (I feel I have to specify that power efficiency is an order of magnitude worse than an M1, if battery life matters to you, Apple is ahead of the competition right now)
But it's no secret that one of the strongest feature of Linux is giving new life to old systems.
I still remember when I upgraded from Snow Leopard to High Sierra and everything became slower, sometimes unusably so.
After 10.6.8 MacOS (best version of the OS I've ever used) has only got worse, in my opinion.
Anyway, I generally work for big corporates that don't give the developers the ability to spin up arbitrary cloud workloads from their laptops.
Not merely because their undisciplined code will be substantially more expensive to run, especially at scale, but also in particular because it’s correlated to being a useless towel in a crisis.
The thing is, I don't think a lot of businesses care about whether the software they create is bloated or not. Performance isn't valued as much as features or functionality. Teams for example makes repeated multi MB REST requests where websockets would probably be much more efficient. Until the business incentives are changed, I don't think we should expect much change (and maybe that does start with the developers).
- 24 Chrome tabs open with news
- 17 of Firefox
- Waiting for VMWare Workstation to finish an install of the new Fedora 35
- Intellij is compiling a Rust program
- Have Ableton live running in the background listening to a mix of last week
- A presentation on PowerPoint for next week that looks like it would use half the resources of AWS us-west-1
- CLion while trying to see why a C++ example does not compile and Visual Studio Code to cleanup a Cloudformation template....
Offloads the CPU and has the benefit that you have it exported aomewhere in case old plugins vanish, chaos happens etc.
(Also, I doubt you need hundreds of chrome tabs + heavy IDEs, a couple of tabs + <insert lightweight editor of choice> works just fine)
Yes, it would be possible to curate my tabs better, but I often have quite a few things on the boil at any one time and taking time out to carefully prune my tabs holds up delivery.
I actually tried to subsist on a 8GB M1 for a few months, I managed to survive, but context switching became painfully slow as I'd have to shut down large parts of my tool chain and carefully prune off browser tabs. It was a serious productivity drain.
It turns out that the heavy IDE is heavy for a reason, it provides useful capabilities! The kind of capabilities one needs as a professional software developer. When one is working on a foreign code base spanning thousands of files, it's genuinely handy to have some tooling to help you find your way around. VS Code tries, but it's generally pretty useless in my experience.
A friend recommended I try such a RAM diet, so I went from 64Gb to a 4Gb laptop. Unlike you, I've found it helped me focus.
So I've kept this laptop as a "productivity" laptop - when I work on a tight deadline, I use it, because there will be 0 risk of context switching :)
However, doing something as basic as loading up a large Java project (like Kafka) in Intellij would cause the the laptop to die a horrible death when it tried to resolve the Maven dependencies.
https://eclecticlight.co/2020/12/12/how-fast-is-the-ssd-insi...
The M1 Max is a monster, and either of mine easily outperforms any other computer I have ever used, but I don’t think it’s capable of 8GB/s reads or writes to disk.
What do you do for a living?
Why should ? We don't run PC emulators or MacOsX emulators to develop SW. Only Android and iOS are not able to function as real OSs.
With root, Android could even make a decent host platform for doing development, but that doesn't obviate the need for emulators and virtualization systems.
That reality is part of the problem the parent wrote about...
Also too: Next time people complain about JS, Java, Electron, etc? Remember this.
Literally Teams is one of them. Well, it is dropping Electron in the future.
It is… for development. Which is what software developers do and what they often buy hardware for.
Whether it's too little for the apps that they develop to run on users' machines is a separate question.
Please restrict this to web developers. My decade old ThinkPad x200s with two Core2 Duo cores and 8gb of ram and an SSD can do most things very well, except browsing websites.
Loading a large book in PDF format? no problem.
Opening ten years of email in Claws Mail? sure thing.
Opening the same amount of e-mail in thunderbird? A little sweaty, but why not?
Playing mp3 files over bluetooth? Yeah!
Wanna write a document in libreoffice writer? As long as you're a bit patient.
Chat with other people using Telegram or Hexchat? No problem.
... What? You want to browse the web? F--k you.
Electron is the most glaring example, it essentially ships an entire browser with your app, which we may as well call an OS nowadays. So in the end, if you have 10 electron apps, you have 10 copies of Chrome in memory, in addition to your OS main browser. They are all the same except for a few minor differences. Sure, it solves "DLL hell" but at an extreme cost in efficiency.
I think this is a side effect of the main trend, which is write once, run anywhere. There are a handful of frameworks aiming to do that, and it is difficult to accomplish and rely on native APIs. Also, I’d suggest it’s a trend for economic reasons rather than because people think electron is technically superior to native APIs. The economic reason is that even a medium/large company can just hire a sole developer or two to spin up an electron app that loads an existing web application and it works everywhere and is “good enough.” The alternative is hiring lots of people to build a native app that users only might think is better.
I don’t think most electron examples are because people wanted a technically superior solution to native applications.
For me, the problem is that an Electron app ships with its own browser instead of using the one the system already has.
Another example, mostly in the Linux world, is to use containers with their own subsystems instead of using system libraries. Snap, AppImage and Flatpak do that, especially Snap, which I think is the only one that doesn't support external dependencies.
I understand the appeal, but that's really wasteful.
no, that's not the reason.
Anyway, it's 2021,16gb max for a new laptop in 2021 is factually low.
Laptops had 16GB max more than 10 years ago.
I think it's fair to criticize the specs of one of the most expensive pieces of hardware on the market if they are somewhat underwelming and when even new game consoles have the same amount of RAM, at a fraction of the price, with only one thing to do.
edit: not comparing the performances or the energy efficiency here, but a Dell with a ryzen 5700 and 16gb of RAM (upgradable) costs € 829, an M1 with the same amount of RAM and less storage space costs € 1.659 on Apple website
I think Apple could have done better in this regards
For some reason nobody here brings that up. Considering that AAPL is the most valuable company on the planet, they might just have a good understanding of their market.
AAPL is serving their market well, and then make enough money each year to buy the entire Dell company. You may prefer Dell, and many people obviously do, but I don’t think AAPL needs to stuff 64Gb of Ram into everything.
We agree.
Porsche and Apple base offers are overpriced, for what they actually offer.
A 959 pearl white it's one thing, but a Macan?
in this particular case the M1 is not comparable to a Porsche, but more to a luxury hotel that has a very tiny bathroom or a limit of one cup of coffee at breakfast.
When you consciously spend the kind of money a Mac costs, you really expect the best the money can buy.
> You may prefer Dell, and many people obviously do
You got it backwards though.
16gb of maximum RAM for a laptop in 2021 doesn't even match the Dell offering...
Imagine if the afore mentioned Porsche had a limiter that let you use only 50% of the accelerating power, unless you buy the more expensive "pro" model. That is basically the same car, only with the limiter removed.
Anyway, nobody said anything on the ability Apple to make money, probably it says more on the people who buy macs than on Apple itself
The article simply says that the best laptop in the market can't have 16gb of maximum available RAM. Which is true.
False, Air is NOT the 'best'; that is the Pro, urm Pro-Max or whatever marketing verbiage Apple is spitting out now.
Air is the low-end model, so makes sense to make it 16Gb max (though that config is /hard/ to find retail). Reports say that M1-native code uses less memory, & memory usage is fast & efficient. So safe to say 16Gb with M1 ~= 20Gb Intel. So a 16Gb M1 Air is great /value/ machine, but not 'best'.
1st gen M1 Pro with max 16Gb, that was poor decision making IMHO.
M1 is their first generation Mac SoC. Still using LPDDR4, if you want 32GB, you will have to wait for M2 MacBook Air which should have LPDDR5 and allows 32GB. Assuming Apple allow such configuration. Or they may decide to save cost and stick with LPDDR4.
M1 Pro and Max has wider memory bus and controller with LPDDR5.
You can built a Laptop with 128GB if you wanted to, just at the expense of Battery Life.
If we dont have a borderline fair comparison with products, why dont we compare to a Chromebook? I think most if not all people should agree the build quality of MacBook Air M1 is better than 99% of Dell's laptop.
I dont want to sound like an Apple apologist but that is just an objective truth. If the argument is about pricing, then Apple isn't a brand sell product on low margin. Consoles are sold at small or even negative margin. They aren't even in the same business model. That is a marketing and pricing strategy question.
And almost no one realise, partly because 99.999% of people inclusive but not limited to HN aren't working in CE or supply chain. The price for DRAM hasn't moved in the past 10 years. And LPDDR memory are actually more expensive per GB.
that's for the 8gb model
and it's € 1.429,00 on the Italian Apple store
> I think most if not all people should agree the build quality of MacBook Air M1 is better than 99% of Dell's laptop
it doesn't actually matter, honestly.
If people need more RAM and don't want to spend a fortune on the pro Apple models, they have to look elsewhere.
An ASUS ROG with 32gb of RAM and a discrete NVidia GPU costs more or less the same of an M1 Air with 16gb (maximum, I wanna stress the concept, that's all you are going to get out of it, forever)
I think the solution is to increase the amount of caching RAM on NVM storage, so the NVM acts more like RAM used to.
So I really don’t think what Apple is doing with regards to RAM is a problem. But they should have a user replaceable NVM slot. Perhaps tiered with a soldered on NVM chip so you can cache some of the data on a low power, low latency NVM.
This is the whole point: devs with 32gb/64gb machines looking at their own app taking 1gb aren't going to realize that for many people this is 25% of the available non-os ram (8g system with 4g free non kernel / other.
Moreover, when you develop for a platform like iOS, you have very limited control on how fat your application will be.
This is becoming more and more false. See Firefox for example.
I think some of this is very smart and fast swapping because I do sometimes notice a tiny hang when I use a window I haven’t touched in a while.
I don’t know if the M1 is the best laptop, but it is the best I have used by a wide margin.
But for reasons RAM and CPU performance have kept stagnated without a lot of changes for around 10 years (until recently with Ryzen 5000, Intel 12th, and Apple M1).
Still I find funny you could buy a 16GB RAM Macbook 13" in 2012 as the top model... and today 16GB is still it's the max capacity of the line. To give a point of reference the 2002 Powerbook the Max RAM capacity was 1GB.
We developers use a desktop operating system and programs with a GUI. That by itself uses at least 1 GB of RAM extra. We have an IDE, like IntelliJ that uses about 3 GB of RAM on my machine, there are web browsers, known memory hogs. There are e-mail clients, video-chat apps and all of the production stuff besides backup too. Some of it is recompiling stuff live e.g. shadow-cljs. There is also Spotify or occasionally a video call or screen recording e.g. using OBS Studio. That uses even more memory temporarily. There is a healthy reserve with 32 GB of RAM to make the experience smooth but 16 GB doesn't cut it anymore. So we use about half of the amount of RAM eBay used on their Sun E10ks in 1999 just for development and that is ok. The RAM costs perhaps 100 € now. The 50 € difference really doesn't cut it, if I am having hangs because of swap and the GCs doing their best everywhere.
Every new tool changes your workflow and is a distraction that doesn't benefit the customer or our work-life balance anything. Some people on our team run Windows, because they feel at home there. I am not sure you can do a quick 'choco install spotifyd' and be done with it.
SSDs are fast, but switching windows is faster. People just forget, what a hassle it is to wait 5 seconds here, and 5 seconds there. We are used to hot-code reloading and basically instantaneous response like more than 95% of the time when developing. That is the power of Clojure/ ClojureScript. It eats a bit more RAM in development. We can live with that as long as the RAM fits in a normal laptop and doesn't cost a fortune. We save much, much more by not running on Heroku/ AWS. :-)
If I’m presenting some code, I’d prefer to do it in a familiar environment (i.e. my IDE of choice) — so that I don't get lost, so that I know the keyboard shortcuts, and don’t add more stress and fumbling to the presentation. Also, everyone on my team uses IntelliJ IDEA, so presenting with Code might add more confusion or might make it impossible to show IDEA-specific stuff (eg. run configurations or the debugger).
Every professor at uni: "Ten days is plenty of time to complete this project."
I’m not interested in selling a $1.99 product to a guy with a $199 device. I’m interested in selling a $199 product to a guy with a $3999 device.
That’s the guy I’m going to listen to.
I love the way you're thinking (and presenting it)
> That’s the guy I’m going to listen to.
You and me both!
Saving a few dollars on RAM is penny wise, pound foolish.
Coming from an i9 16" mbp the difference in usability is massive, I hated those fans so much. I do miss the larger screen size though; that, coupled with the lack of ports (just 2 Type-C, would like more) made me consider getting one of the new 14". The battery life is so insanely overkill in this laptop that I'd be willing to compromise on it for a bigger display, perhaps for the first time ever.
Would highly, highly recommend it for traveling though.
I travel with a thinkpad nano: smaller, lighter, and it has cellular wireless.
Yet it can be stuffed- I put a 2Tb NVMe (Sabrent) in mine, and I'm now waiting for larger NVMe to hit the market
Owning an iPhone and iPad don't help escaping the walled garden for sure.
Non-software: - Trackpad quality
- Screen quality (I was given a 1080p 13 touchscreen. The res should be enough, the digitizer grid is bad)
- meme but no audio
- Not as great battery life
Software:
- so much shortcut switching. Will probably be better with time, but still a problem.
- No default menubar (I realize I can swap DE but.. ain't got time for that)
- no GPU accel on browsers. YouTube stuck on 720/1080.
- Karabiner is a hard luxury to give up, finally found kmonad. ~equal?
- having to find replacement for all my QoL utilites (Alfred, Amethyst, Caffeine/Amphetamine, Quick Look)
The deal breaker: I love Wireless projection (Shortcut: Win-K) that works all the time, unlike filmsy HDMI / micro HDMI / DP cables that require switching the input on the screen.
Believe me or not, but at a recent meeting we had to use Zoom locally because none of the 3 laptops (2 macs, and my windows thinkpad) could reliably project to the big screen next to the drawboard.
- Alt-Tab takes between 0.1 and 2 seconds to work, apparently at random. Windows are skipped, also at random, so I can't predict which window I'll get. I can't even switch to another window and back; most of the time, the order will get messed up.
- Bringing up the notification pane and the overview with all desktops sometimes works instantly, sometimes stutters and takes 3 seconds. The animations are always half-baked and awful to follow.
- Switching desktops with Ctrl+Win+Arrows sometimes seems to re-organize all windows at random, for no reason at all.
These issues usually happen a few weeks of heavy use after install. I don't have any third-party software that messes with Explorer. Re-installing fixes them for a few days or weeks. That was on a Dell XPS 15 with a Core i7 and 16GB of RAM, and it also happens with my larger, well-cooled workstation at the office.
macOS has its own multiple-desktop weirdnesses, but in general it's polished and works predictably on my M1 MBA. Windows was just painful to use, mostly because of the above issues. It seems like UI features have a lot of inefficiencies that Microsoft can't or won't factor out.
Also, Windows 10 desktops can't be re-organized, which I imagine would be trivial to implement, and makes the macOS desktops much more practical.
The only complaint I have with it is battery life and its propensity for getting warm when doing anything even remotely demanding. I even went with the slower, lower power CPU and its battery life is still middling, and plugging it into an external display is enough to make it fire up its fans.
I wish I could swap its CPU out for something more efficient. Tiger Lake is supremely mediocre relative to current Ryzen and M-series offerings.
I'm working on that. 2 options: removing the whitelist from the BIOS, or hacking a NVMe firmware to impersonate a whitelisted WWAN (a small boottime delay to answer requests could also be sufficient)
The latter might be easier, as the firmware update seems to have more vulnerabilities. Also NVMe are cheaper in case I mess up and can't reflash with flashrom for a reason or another.
If anyone here works for a storage company and could make a firmware with a given PCI id or a 10 seconds delay before showing up on the bus, please get in touch!
> I wish I could swap its CPU out for something more efficient. Tiger Lake is supremely mediocre relative to current Ryzen and M-series offerings
Same, I want a X12 with an AMD, or a Xeon because even if the latter is a power hog, at least I'll have ECC!
And a few Lenovo carbon x1 that can be carried around(including travel).
Carbon X1 is 14", which is large enough for real coding on the road, Nano is 13" seems a bit too small for coding to me though. I feel 14" is the perfect size for both daily work and travel.
I may be smaller than you but to me, 12" is the ideal for travelling as the laptop fits in my purse!
I'm thinking about getting the X12 detachable as my next travel computer, but I'm waiting for next year revision in the hope it'll get Xeon or AMD cpu options.
The press on the Apple ARM processors is well deserved and I’ve also been throughly enjoying my new M1 Pro processor this week.
A side note: I've been wanting to move to linux, the only thing stopping me is the local music management & mobile syncing workflow, if anyone have any recommendation
When I used to have an iphone (4s days), I loved the move to android (pixel) which gave me so much freedom. Cloud apps weren't restricted to Apple PCs (I think this has changed now), and I could just plug into my linux laptop and just drag and drop files to read on a journey. Also tethering always worked nicely on linux.
Finally, someone pointed this out. But again majority of people aren't picky about keyboard, key distances or Trackpad for some reason.
The only software that I found vexing is Docker, so I don't use it. This is major and is a good reason to be wary of these Macs. I left off Docker 6 months ago on M1. Things may be better now.
16GB was fine for a secondary machine. 32GB is now enough for me to be productive as a primary machine.
However due to the bloat of modern software I might have to upgrade to a 32GB machine in the not so distant future. Hopefully there Air-class machines wont be limited to 16GB for too much longer.
Fast, responsive, silent and incredible battery life make it easy to call it the best machine I’ve owned.
The HN crowd knows the developer toolsets very well, so you all know 16 Gb is the minimum you would allocate for a developer. The HN crowd may be less familiar with the toolsets of the so-called creatives, such as music production, video production or photography. Long story short, the advice in those communities is to not even think about running less than 16 Gb and seriously consider 32 Gb - especially if you're a professional. The video producers recommend getting as much RAM as you possibly can.
The MacBook Air M1 wasn't designed for those heavy-duty use cases, which is okay. That's why Apple has brought out the MacBook Pro with the M1 Pro and M1 Max. If you don't need it then don't buy it. Otherwise it's nice to have those options available.
And no more Bootcamp.
Win -> Mac conversion is annoying I agree. But once you've shrugged off the expectation of windows behaviours you'll be fine.
Cognitive dissonance is a thing with user interfaces.
I'm curious what you mean by the "increasing stupidity of windows"... I've been using Windows for personal use since 1995 and macOS for work use for about 7 years now and they honestly don't feel too different from how they've always been. Biggest change in Windows the past few years has been WSL and being able to use Linux tools "natively" which has been awesome. macOS is almost exactly the same as when I first started using it...
Both OSes have built-in search capabilities for finding things like settings. I don't think I've manually clicked through a settings menu at the OS level for a long time.
Want to change bluetooth settings? On macOS, hit Cmd+Space and type in "bluetooth" then hit enter. On Windows, hit the Windows key and type in "bluetooth" then hit enter.
- No OLED screen
- Limited RAM
- No ECC option
- Fixed NVMe of a small size
- Can't have more than 1 NVMe for raid1
- No amd64 core for legacy software
It has advantages for some people, but not for me.
What can I say, I have a refined palate for exquisite computers!
(but I'm surprised that on Hacker News of all places, my tastes are considered exotic!)
At the moment I have a thinkpad P1 Gen 3 as my main computer (Xeon, 64Gb of ECC, multiple 2Tb NVMe in RAID, OLED...) but I'll ditch it in a second if I can get an AMD equivalent (and preferably 128G of ECC).
I've tried a mac (because I like to keep my options opened) but I have found the trackpad to be only slightly better (mostly bigger), while the lack of trackpoint ("eraserhead") was painful
It would be pretty amazing if that was available on Macs, but honestly, the touchpad is good enough that it's probably not needed (unlike most other laptops).
People keep saying this but somehow the rest of the world manages to use their touchpads just fine.
Just a little different from the apple ones I use but really quite usable.
Trouble with PCs is you're comparing Apple kit with anything from cheap consumer gear by Asus, Dell, and HP with hilarious results.
Whilst they're all running similar chipsets the materials used are all very different.
If fact do any laptops have the glassy feel of Mac trackpads?
I know if I were going from my Lenovo and using a Mac, I'd have very negative feelings about the Mac, until I had three months continuous usage under my belt.
And Apple has Rosetta 2 translation which is extremely good and many applications beat Intel performance even when running translated. Having an Intel core would have defeated the cost and performance benefits of M1 and would make the cooling, power supply, etc. more expensive and larger.
Not as an optional core that could be powered on when necessary.
The moment that microLED displays start hitting the market however I will be buying them. All of the advantages of OLED without the drawbacks. Until then it’s IPS/VA for me.
I'm flexible on every requirement but OLED for my non travel laptop.
No OLED = won't buy.
Also I have worldwide next day onsite warranty (the #1 reason I like Lenovo!), so if or when somethings becomes a problem, it will be solved quickly without even going to a repairshop let alone leaving my laptop there!!
OLED is great yeah.
I've checked recently with a pixelcheck tool and I couldn't see any alteration, but we'll see in a year or two!
Docker runs an arm64 Linux VM on an M1 Mac. My experience is that it works well for anything that has arm64 images available. It can also run x64 containers via QEMU emulation.
I found this to be hit-or-miss. I need the full version of MS SQL Server for one of the projects I work on. MS only supports x64 and the image won't start because of what looks like some kind of memory mapping/translation problem with the QEMU emulation.
FFS it’s the same thing minus s fan