Apple’s Hell

My journey with Apple’s products began roughly 6 years ago. I’ve been using Windows ever since I started using computers; with brief stunts on Linux. The transition, back then, seemed like a straightforward choice. I didn’t have the time to fight and learn Linux. I just needed software and hardware that worked. Apple’s ecosystem stroke a balance between getting things done, having reliable hardware and still having room for customization.

Mavericks was my first introduction to OS X. The OS was fast, seamless and well refined; backups, encryption, and mail just worked with a few clicks. Things, however, haven’t been that orderly as of late. macOS has been diverging from its origins as a developer’s OS and on track to become a mainstream OS; and hardware build quality is not as good as it used to be. I’m still very happy with the iPhone but not quite sure about macOS and the Macbook lineup. I have also, to a certain degree, outgrown the macOS ecosystem. I needed a greater deal of customization, a tiling window manager, and needed less slick gadgets and zappy notifications.

My macOS setup was simple, flexible and quite common. I had a 15" 2018 Macbook Pro that is my primary machine plugged to three monitors on desk. I also had an older 15" 2014 Macbook Pro as a backup machine; just in case the primary machine went down. I didn’t have second thoughts about using a laptop as a desktop replacement; that seemed what everyone else is doing.

Swollen batteries #

Much like the rest of world, I was stuck at home during March and April due to a confinement order. I didn’t need to unplug my Macbook during that time, and it being placed behind three big monitors made it unnoticeable. I didn’t observe any weirdness or effects on performance and there were no alerts until I unplugged it and discovered an unpleasant surprise.

Macbook Pro battery

the battery is still in good condition according to macOS

The laptop was purchased a year and four months ago; its warranty has expired and I was aware that I’d have to repair it on my expense. What I wasn’t aware of, however, is how expensive to repair the 2018 line or how hard it is to replace its battery. iFixit has a guide on how to do it and it’s a real struggle. The process is a 66 steps that will take a professional anything from one to three hours and requires special tools. It’s not a process that I feel comfortable doing on my own.

There are no Apple stores where I live, so I paid a couple Apple Authorized service providers a visit. I got quoted around $800 for the battery replacement and 2-3 months repair time. Apparently, they can’t replace the battery but the whole casing. They also need to order the new casing and have it shipped which can take considerable time. That did leave a bad taste: not being able to replace the battery might be acceptable if the upside is a slimmer laptop but the fee to get it serviced is simply ridiculous.

It doesn’t seem that I am the only one facing this issue, though it seems the people who had the issue are also using the Macbook as a desktop replacement with multiple monitors plugged; so maybe there is something to that. People who have access to an Apple store seemed to have better luck of getting it fixed for free; however, for the rest of us, it’s not that lucky.

Interestingly, during that time, Apple released a macOS update for battery management. The timing is suspicious, but it might have been just coincidental. We do know that batteries for the 2015 lineup had a problem with swelling and there is a replacement program. But they only recognized that in 2019, so do not hold your breath.

Getting the laptop handled on short notice being unlikely, I moved to my second plan: using the older one as backup.

Time Machine Woes #

The most important lesson that I have learned from this wreck was: It’s not enough to do backups, you also have to test that they do work; probably regularly. I didn’t do that and I was caught by surprise that Time Machine backups did not work in accordance to my expectations.

My expectation was that Time Machine will backup all files. By all files, I thought it did a clone of my Hard Drive; and when restored, it’ll restore an identical image of the previous system. That is, I’d have a replica of my system configuration, my browser history, sites that I logged on to, etc… Unluckily, that’s not the case. Time Machine do ignore files; and getting it to do a real system clone appears to be a considerable headache (if possible); especially that I didn’t want to operate the hazardous laptop for extended periods of time.

But does these arbitrarily seeming exclusions matter? Yes, they do. The system was functional but I was not able to run several apps and scripts that I have installed and manually configured. Docker was also broken. I did find all of my files but these were already backed up in iCloud; I was mainly after getting a replica of my other laptop.

iCloud Troubles #

With a functioning system, I was happy to at least have my files there; even though some stuff is not functioning correctly. But for some reason, the system slowed to a crawl and fans were running at full speed. A process named bird was consuming pretty much all of my CPU power; restarting the system or trying to stop it didn’t work as it’ll spawn again.

The process, apparently, belongs to iCloud Drive. It’s not clear what iCloud is trying to do here, but my wild guess is that iCloud is checking that files on the local drive matches the ones on the cloud. If that’s the case, it’s probably calculating a checksum for the local files and comparing it to the checksum in the cloud. It’s not clear what triggered iCloud, but that might be a consequence of some of the files that Time Machine missed.

A couple hours later, iCloud is still brewing. There are no progress indicators, so it’s not clear how long such a process would take but with hundreds of thousands of files, it might possibly take days?

With restoring the old system becoming an exasperating process, I decided to start from a blank slate. After all, if I was going to fix a broken system might as well just build it again.

Backward compatibility #

For a new re-install, your 2014 Macbook Pro will install not the latest but the original operating system version. That is, for the 2014 Macbook Pro, you first install Mavericks, and then upgrade to the latest system. That was interesting, since you can’t downgrade your system later; and also, you can’t upgrade to any system other than the latest. So if you are in this situation, you have Mavericks hardware, you lost your backup, and you need El Capitain instead of Catalina; I’m not sure if you can do that.

There is a list of exceptions/rules under macOS Recovery exceptions that will determine which version you can install depending on your hardware and last installed version. Unfortunately, you can’t simply install a particular version of macOS.

Mavericks was a bit of fresh air, though. It was pretty fast, and it didn’t have useless features that I didn’t need. But then, I stumbled upon another problem: Backward compatibility. If you have been upgrading your macOS system consistently, you might have missed that Apple is a bad steward of backward compatibility; with probably the one exception of no longer supporting 32-bit applications which should have broke most of your games.

These are things that you can turn a blind eye on until they come later and bite you hard. For Mavericks, it didn’t have an interoperable Airdrop with iOS. So I wasn’t able to upload photos from my iPhone to the laptop. Maybe I should use Bluetooth? Tough luck, the iPhone doesn’t support sending a photo over Bluetooth. Once you leave Apple walled garden, you are pretty much screwed.

Needless to say, I was not able to get lots of applications running like Skype, RescueTime, Fork. They all require the latest version of macOS and do not support older versions.

Moving forward #

I started having headaches with macOS last year. The Parental Control feature checks every URL you ping, and thus slowed down even local development which took me a week to figure out what process what slowing traffic. With macOS slowly diverging from a developer friendly OS to a mainstream, iPhone-like one, it’s time to move on. Here is what the next update of macOS will look like.

macOS Big Sur

The new macOS is looking more like iOS

I can understand Apple’s perspective; after all, a mainstream market is larger and more profitable than a developer’s only market. Creative people will still use Apple products regardless and people developing for macOS/iOS will always depend on the Apple ecosystem. So it might workout profitably for them.

Don’t get me wrong, macOS is still a very good OS. I’ll probably keep using it in combination to the phone to do regular browsing, mail, documents and other miscellaneous stuff; probably pick an Air instead of a Pro.

For development, I took the plunge and built a box and installed ArchLinux. An AMD Ryzen 3700X, 32 GB of RAM, Nvidia GTX 1650 Super and an 256 GB NVMe drive cost roughly $1.000. Not that far from the cost of repairing a Macbook battery!

I was surprised how easy it is to setup ArchLinux on a randomly picked box; most of the hardware just worked out of the box; but it’s still early to judge the experience as I’m only two months in.

But that’s a talking point for another day!

 
21
Kudos
 
21
Kudos

Now read this

A primer to Rust Async

This article is not comprehensive on the Rust Async topic but could be an easy overview if you have no idea about Async Programming in Rust or in general. If you are wondering about the new async/await keywords, Futures, and intrigued... Continue →