iOS apps on the Mac are a game changer for me. The UX isn't 100% perfect, but it sure is better than web apps, which are very often slow, resource intensive and kill your battery. I haven't touched the Twitter web app since I've installed the iOS/Catalyst app on my Mac. Even with its iOS-optimized user interface, the better performance of the iOS app makes it so much more enjoyable than the web version.
I'm very much looking forward to seeing other iOS apps arrive on the Mac, to replace their web variants.
There's really something to be said about how web developers have been killing the performance of their websites with their bloated frameworks or whatever. I know web apps will always be at a performance disadvantage compared to native apps, but the performance regression has gotten absurd. Using Reddit via the Apollo iOS app is a quick and buttery smooth experience, meanwhile the redesigned Reddit webpage is a laggy stuttering mess on my MacBook Pro.
Totally agree, particularly for small utility apps and the like. Most good iOS apps launch instantly and sip power even on comparatively limited iPhone and iPad batteries, so the impact they have on a Macbook battery should be close to nothing. Night and day compared to electron stuff.
I've also run Jira on a server before, and if you optimize the Java runtime's settings and over-provision, you can get a pretty fast Jira instance going. It's just most folks rarely touch the default configurations, which are terrible, or don't shell out for SSDs when running it. And the cloud version ... well, it seems a bit under-provisioned if you ask me. Jira doesn't appear to be written well enough to take full advantage of the cloud, yet.
Had Apple switched to AMD Ryzen processors on TSMC's 7nm node the performance improvement will have been similarly stark.
https://arstechnica.com/science/2014/08/are-processors-pushi...
Light travels about a foot in 1 nanosecond so moving RAM from a foot away to touching the CPU saves 2 ns in round-trip latency. That's a big win on modern systems.
In reality it's a bigger effect since electric signals travel slower than light. And the effect is yet bigger because off-package memory must be accessed through buses with several levels of synchronization and buffer and gate delays.
Apple gets away with "unified memory" in the M1 because having the memory on-package means a good deal of the bus and sync and contention logic becomes unnecessary. So everything that touches RAM gets a lot faster. And almost everything touches RAM.
https://www.theregister.com/2020/11/19/apple_m1_high_bandwid...
https://www.macworld.com/article/3597569/m1-macs-memory-isnt...
We are finally moving to the conversion point between smartphone's and PCs. It has been in the making for a while.
Now, if that is a good thing for the consumers ( losing upgradability ) is another thing? But given how PC's have become less and less flexible anyway.
We used to have slots for everything ( GPU, Network, Audio, ...). Now we have ATX boards where you maximally put in a GPU. SATA is going the way of the dodo with m.2 becoming the new standard for anything data. I mean, what do we even change anymore on PC's... CPU, Memory, GPU.
GPU's will become a external device with USB4. Mass storage has been moving to NAS more and more or USB3 devices. The people that need 4+ HDD's are more exceptions. And you can get away with USB3 HUB's + external enclosures.
I questioned for a long time, why we still have Chipset, that artificially segment MB's when the difference has become very small between them anyway. You can easily move that last bit of IO into the CPU SOC.
The days that we buy AMD or Intel SOC's with some default CPU+RAM+IO is probably closer then what most think.
Separate hardware is probably going to become a Server / Workstation Pro only feature ( with big $$$ prices ).
The reality is that hardware has reached a point, that most people did not even upgrade for years anymore. And its more a smaller group / minority that really needs ultra fast hardware.
Flexibility is moved from big MB's to external devices, connected over high speed connections.
Sorry if i have gone a bit off topic but when you mentioned the onboard memory, it got me thinking about how we really are moving to a SOC/NUC/... future for even powerful hardware.
Apple clearly has a huge advantage here with a cutting edge process and for all practical purposes unlimited money to throw at this. Their cash on hand is more than AMD s full market cap.
From all benchmarks the Apple M1 laptops are around 1.8-2x more battery life than anything from AMD/Intel.
That includes compiling/running tests/and not just web browsing/checking mail.
And still, there are more catches: Apple is probably driving the screen at 60Hz instead of 120Hz for the G14, and the screen tends to be one of the main drivers of battery life.
What I'm trying to say is that the talks revolve around the M1 vs x86 for battery consumption, but the big savings can probably come from other components in the system.
You are running the newest of the newest.
My Lenovo Thinkpad X390 which i'm sitting on right now for a while, still has ~8h left to go.
Chrome with 30 tabs, intellij etc. open and running.
I do assume the M1 is doing a great job, don't get me wrong, but i would like to see a more objective comparison.
Personally speaking, the most interesting thing for me to see is that Apple now put a very strong SoC on all its models. From Air to Pro, with a relative good price point (as long as you don't upgrade anything...)
I bought a laptop with an AMD chip once, never again. Thing was a fire hazard.
wow, a 5x improvement without you doing anything but changing hardware!? That's an excellent upgrade imho.
I wish apple would be able to sell the M1 as a generic processor to which other machines can use.
Interesting! Are you compiling to arm64 or emulating x86?
For Rust I am running the ARM toolchain that was recently released, so no Rosetta involved at all.
So there is no moving anything. Python compiled using pyenv for the Intel platform.
Which reports are you reading? Are they using C libraries or doing heavy math computation that is not CPU bound because there's no optimized ARM version yet?
What I am finding now is that python is working more than fine on M1, be it through rosetta or native code, which is consistent with your experience.
Also to clear things a bit, I parsed your "3.6 -> 3.9" as meaning that you had moved from Py36 on intel to Py39 on apple, which is why I asked if maybe there were speedups or differences from moving to 3.9.
I was unable to get all the versions I needed compiled natively, which means for now I will use the non-native versions.
I have tested Py3.9 compiled for arm64, and one particular test suite went from 9 seconds to 6 seconds. Other test suites were not as dramatic, especially larger ones, where it might go down from 40 seconds to 36 seconds.
Still a speed improvement, but not as dramatic as the 2017 MacBook Pro i7 -> 2020 MacBook Pro M1.
I'm honestly for the first time in a decade a bit excited about an upcoming computer, pretty great.
Still running on a 2014 MBP that honestly is still great so can wait a bit.
I think we are more excited about a shake up in the whole computer world, that may mean the dead of ATX/MB's/etc as we know it. And a more profound move to eGPU/NUC/Laptop like powerful devices with a low power usage.
This feels a bit like a wakeup call to the industry. Like how the first (commercial) successful smartphone, the iPhone 1 fueled a entire industry for over 10 years to massive evolve. What is kind of funny because i felt like the smartphone evolution was starting to loos steam. The conversion between PC/Laptop/Smarthones will begin now.
The MacRumours buyers guide has the MacBook Pro 16” as due an update right now: https://buyersguide.macrumors.com/#MacBook_Pro_16
Honestly, I’d be surprised if we don’t get an M1x (or whatever it’s called) within six months.
Don't forget—Vim comes as a Universal binary, so it already runs natively on the M1.
/usr/bin/vim: Mach-O universal binary with 2 architectures
[x86_64:Mach-O 64-bit executable x86_64] [arm64e]
/usr/bin/vim (for architecture x86_64): Mach-O 64-bit executable x86_64
/usr/bin/vim (for architecture arm64e): Mach-O 64-bit executable arm64eI'm glad Vim is running fine on Rosetta, still, if you wanted to compile it from source, it really shouldn't be too hard.
(Rust is a harder problem, so I wouldn't worry too much, still, once the dependencies are downloaded and compiled it's usually fine)
$ file `which vim`
/usr/bin/vim: Mach-O universal binary with 2 architectures: [x86_64:Mach-O 64-bit executable x86_64] [arm64e]
/usr/bin/vim (for architecture x86_64): Mach-O 64-bit executable x86_64
/usr/bin/vim (for architecture arm64e): Mach-O 64-bit executable arm64eIt hasn't been merged yet as some of the dependencies aren't available, one of them apparently being LuaJIT, but if you build it yourself without that it shouldn't be a problem.
Also need to track down and install all of the dependencies, and the dependencies dependencies and all the way down, and figure out the right configure flags to pass, and what environment variables it needs and where it expects to look for header files and the like.
Doing all of that from scratch takes hours and hours. Homebrew lets me not worry about that, and instead be productive.
The nice thing is I can just wait out the compatibility issues re: arm migration, especially with some of the third party crates my rust projects depend on currently failing to build.
Also, the ARM version of Homebrew is not yet ready for primetime, there is a ton of software that doesn't compile for ARM yet (Including MacVim).
So far all the crates that were not working have been getting updates to work on the new platform, so far I haven't found any issues!
1990s me laughs remembering edit/compile/test cycles measured in hours.
Your post reads less like a sincere question and more like "you should be doing it this way unless you can defend your position". Maybe--just maybe--people weigh up tradeoffs differently than you do personally.
FWIW 'on the move' can mean going into a meeting room or even just walking over to a coworker's desk with your computer. Desktops kinda suck when you work around humans who don't just stare at their screens with cans on all day.
Yeah, dude, we're all thinking. As a hands-on programmer-manager I can report that creating slides for the fundraising deck that'll raise money to pay you or writing that email about you taking bags of beef jerky home for your post-workout recovery meal can take as much sustained concentration as you spinning in your `while 1 { copy_compiler_error(); stack_overflow_it(); paste_code(); }` infinite loop.
Here's how I think.
I model interaction between distinct parts. I have a mental model of how X fits with Y, how X can affect Y, and how Y can in turn affect X. I'm not doing it with just X and Y, I painstakingly build this mental model[1] over as much of the problem space as I can, and having done this for many years now, I can cover a fair amount of ground before the complexity gets beyond my ability to model. It takes a while to create this, and then when some middle-management type wanders along, taps me on the shoulder and disturbs the concentration, and it all comes crashing down around me, I am less than best-pleased. Bonus points if it's just to "touch base" or "remember we have a meeting in 2 hours time", or ... you get the picture.
Why do I expend this enormous mental effort to gain such a fragile and ephemeral state ? Because I can mentally throw boundary conditions at it and "see" how things will react. It's how I deal with inherent complexity of large systems, and a couple of hours of mental effort can prevent me spending a week coding down a dead-end path. It's happened often enough now that even my line management understand it's worth the time - there's been plenty-a-meeting where I go in and say "yeah, I know we wanted to do <insert X> but I think there's a problem when Y and Z come into play under conditions A, B and C. I think <insert option gamma> is a better route even though we didn't think so at first".
Sometimes you really do just need to be able to be left alone and think. As someone who used to own the company before he sold it, and who's done pitches to VC's and other investors, I can quite categorically state that (for me), the slides, presentations, and client management is nowhere near the level of mental investment. Nowhere near.
Just my $0.02
---
[1] It's not visual, I have aphantasia, it's more firing-condition-based.
I can't do that.
So no,
We're not "all thinking", some tasks require deep thought and long periods of uninterrupted concentration.
The problem is working in a team requires communication, and management of interruption, it is not useful to be like this dick with the headphones on, that creates barriers (the attitude, not the headphones) to communication.
This is all off topic in any event.
“Compared to the desktop (sitting), tablet and laptop use resulted in increased neck flexion (mean difference tablet 16.92°, 95% CI 12.79-21.04; laptop 10.92, 7.86-13.97, P < 0.001) and shoulder elevation (right; tablet 10.29, 5.27-15.11; laptop 7.36, 3.72-11.01, P < 0.001).”
“These findings suggest that using a tablet or laptop may increase neck flexion, potentially increasing posture strain.”
https://pubmed.ncbi.nlm.nih.gov/30373975/
And it is on-topic enough for both the link and the OP.
Might not be for everyone, but I only need it to drive a single external monitor.
I wouldn't class it as a hack since it is pretty standard in enterprise environments. Downside is that it does consume CPU which depending on your workload may/may not be noticeable.
I had a seriously nice mac mini taken off me once, got given a "new Mac Pro". Was huge downgrade, was not happy.
We got docking stations for the laptops but I just couldn't get used to it, and my desktop was just sitting there still functioning happy as could be.
So I still use my desktop for actual work and my laptop is basically a very over-powered video conferencing machine.
Portability.
I think next go round I'm going to get a desktop replacer style laptop and see if I can get best of both worlds.
I don't really care about portability and thus use a desktop but I do want to sit outside or work from the couch sometimes.
I don’t recall if that worked on the smaller models, but it worked on my 15” model. I’ve been using 2 Dell P2715Qs since then and they work great.
Meetings, is another one.
Doing presentations.
Also for me at least: On-Call.
I would prefer a workstation at home and a lightweight laptop with company network access but hey my companie prefers to buy me a Laptop for 3k over a desktop for 1k and a light laptop for 1k.
What can i do? yeah nothing :)
It also greatly simplifies working from home. Not just for portability.
1. For my open source projects, running tests has sped up so much that I find it more of a joy to work on this projects now. Test suites that take ~60 seconds on my 2017 MacBook Pro i7, now take just ~15 seconds. That's a HUGE win in the edit, run test suite cycle.
2. My Rust projects now compile in WAY less time. Something that used to take 3 minutes to compile + link for a debug build is now down to 40 seconds. Once again, this has increased my productivity in the edit, compile, test cycle.
For other projects like node/npm the speedups are also massive and running various pipelines to go from source code to final deployable object is also much faster.
I use vim to develop, and it runs on Rosetta just fine, so I can continue to use all my existing plugins. I don't extensively use docker containers, but for those I connect to the cloud instead of running them locally, which is a move I was already making even on my Intel based MacBook Pro.
I got the 16GB 13" MacBook Pro. I, like the blog author, was thinking of this as a secondary laptop, something fun to have around, but I have hardly touched my old 15" MacBook Pro because this one does everything I already need. And does it faster.
I've been living with 16GB of RAM forever, so maybe I am used to fitting in that memory space... I avoid Electron based apps like the plague, and with being able to run iPad/iOS apps on the M1, I've been able to cut down even further since things like Authy are way faster to launch when they aren't large Chrome based hogs.
I am looking forward to the 16" MacBook Pro's with Apple Silicon based processors, but only because I do miss the additional screen real-estate, and prefer the larger size. But the 13" MacBook Pro M1 has been absolutely fantastic so far.