The Jerks

Blog

Back to blogs


My Thoughts on Apple

Introduction

Due to some recent conversations I've had, I thought it best to clarify my thoughts on Apple products so I could have something to point to when people point out my apparent contradictions in reasoning. Anyone who knows me knows that it was only a few years ago that I was a stark, raving mad Stallmanite who refused to even consider using Apple products and viewed Apple users as haughty dilettantes that don't understand the value of a dollar. Many things have changed in recent years, including but not limited to: finishing puberty, going from a dedicated Stallmanite to more of a cheerleading role, having a job in tech (unless you don't consider being a PhD student a job), flagship and even non-flagship Android smartphones being similar if not greater in price to Apple's smartphones, and the fact that my wife's MacBook Air is over 5 years old and is still on the latest operating system. Previously, the only Apple devices I've used are: the iPod Touch 4th gen, the iPhone 4 (well after Apple quit supporting it), numerous virtual machine hackintoshes, and the latest Macbook Pro with all the bells and whistles (for work, I didn't have to pay for it). I have fond memories of the iPod Touch, it was the last device to max out at iOS 5, the excellent skeumorphic interface that unfortunately ceded to the soulless flat design dominating the industry nowadays. The iPhone 4 I was less fond of, as I used it as a fallback phone for a couple of years (my main phone was a Motorola Moto g5 which I accidentally dropped in the toilet after reading a particularly heated Reddit thread) well after Apple quit supporting it, so I was met with the frustrating "this app was not made for your device" whenever I tried to install anything. For reasons unknown to me at this moment, I never jailbroke it which would have enabled me to sideload apps, perhaps I was too lazy or maybe the phone was in a weird configuration that disabled jailbreaks. The hackintoshes went largely unused, for as any distrohopper soon discovers all operating systems nowadays are essentially the same, and there is nothing on MacOS that I would want to run that wouldn't run on Linux. This leads me to the current Apple device I use, the Macbook Pro M2 16'', the most overpriced computer I've ever used (but my workplace paid for it). In all honesty, I use this computer solely because it's a convenient portable device that contains all work-related stuff on it allowing me to maintain the delicate work-life balance every sane PhD student (or professional, for that matter) must have, the screen is excellent, and it interacts well with Zoom where my Linux machines do not. I have the most experience using MacBooks and not iPhones, so the majority of this blog is going to be on the former, not the latter.

TL;DR: I would never use an Apple device for personal use, but the hardware design is fascinating.


Construction

It baffles me to this day how the rest of the industry has not caught up to Apple in this respect. Every MacBook is made of sturdy aluminum, making it a good weapon but more importantly being more resilient than crappy plastic cases. My first computer was some budget Toshiba laptop that was basically immobile after about 3 years because the plastic housing the hinges degraded, which meant I had to manually hold down the hinge when I opened the laptop lid; I eventually just gave up on closing the laptop entirely. MacBooks will almost certainly never have this problem. The keyboard is also excellent, I'm able to maintain a high WPM which is not the case with other laptops. All keyboards also feature backlighting which I honestly consider a mandatory feature nowadays, yet is relatively rare to see on consumer models (perhaps I am not looking at a high enough price point). One of Apple's trademarks is the ability to open all their MacBooks with one hand, by just slipping your fingers underneath the lid and pulling it up; you don't need to hold the base to ensure the entire laptop doesn't go up with it. I never realized how convenient this was until I started doing it, and I honestly don't want to go back. Finally, every MacBook has an oversized trackpad which is absolutely essential in any desktop environment that makes heavy use of the mouse. I am baffled at the size of trackpads on competing PC models; it is $CURRENT_YEAR and GUIs have made no indication of reducing the usage of the mouse (in fact, it seems to be increasing), how is this not a standard feature? On the other hand, the diversity of ports is quite irritating. There are no USB-A ports on modern MacBooks, only USB-C. All my devices are still USB-A and I'm not switching any time soon. Of course, as with all Apple devices, the purpose of each device is to pull you further and further into the Apple ecosystem, and Apple has moved on long ago from "legacy" USB-A so there is no reason from Apple's point of view to include them; this does not stop me, the end user, from complaining about this however. The MacBook Pro includes an HDMI port, which is essential because it is $CURRENT_YEAR and there is still no widespread, well-supported standard for streaming screens wirelessly. Apple may expect me to use all of their devices, but it is unrealistic to expect my workplace to also use all their devices. Unfortunately, the MacBook Air does not include an HDMI port which in my opinion makes it useless for work. Bafflingly, both Pros and Airs still feature Headphone jacks, but I suppose that this is a temporary arrangement until the headphone jack becomes the limiting factor in thinness or they invent some other stupid reason to eliminate it. Interestingly, they have still not eliminated the SD-card slot - that, if anything, is legacy hardware but I'm not complaining.


Software

Yeah... I hate MacOS. It is such an odious beast, refusing to fit into my workflow that I've developed over the course of about 5 years now. Yes, I technically could learn all the keyboard combinations and shortcuts that enable me to not use the mouse, but I expect that once I graduate I will never touch another MacBook again so there is no point. I drank the kool-aid on tiling window managers long ago, and I'm constantly having to struggle with arranging windows such that they don't overlap. MacOS is a very mouse-centric operating system, but my workflow has adapted to almost entirely eliminate the use of the mouse entirely; this adaptation has taken the form of key combinations that are just muscle memory at this point. A colleague of mine shilled yabai, a tiling window manager for MacOS but yabai purports to be an all-in-one solution which is not what I'm looking for, the window manager I use on Linux is dwm with my own modifications and I don't want to waste time configuring yabai for my purposes. My workflow is now forced into some caveman-level configuration where everything important is a fullscreen window to avoid annoyances with floating windows. Beyond trivialities with the front-end, the most irritating thing about MacOS is that they don't allow the running of 32-bit applications. As far as I know, this was a software mandate as this "feature" popped up in Catalina, not necessarily with a new generation of hardware eliminating 32-bit emulation. Less importantly, this means pretty much any video game not specifically compiled for 64-bit will not run on Mac, even with Winebottler (the equivalent of wine for MacOS). Most video games, as far as I know, are still compiled for 32-bit. More importantly, this makes MacOS basically useless for embedded system development as those softwares are all super old and definitely are not compiled for 32-bit support. Apple decided to grant us a pittance by allowing us to dual-boot Windows with MacOS but that in and of itself requires rebooting the computer to run certain applications. Another annoyance is the fact that you need an Apple account to download apps (I don't have an Apple account anymore and I will not create one for my work computer) but this is alleviated by Homebrew. Homebrew is essentially a package manager for MacOS featuring most of the apps I use on my Linux computer. I am not familiar with the internals of Homebrew (nor do I care to learn), but as far as I can tell Homebrew is tightly integrated with git, meaning package listings are stored in a git repository on Github, for some reason this means updating the repository takes an eternity to run. The Homebrew packagers don't create an "app" for every package, so some need to be run from the command line. One can use Platypus to automate the creation of an app from an executable, but this is still quite inconvenient. Linux had this figured out trivially: all binaries are stored in various "bin" directories and these can be turned into "apps" via a desktop entry placed in the /usr/share/applications directory, I don't understand why I have to go through this dog-and-pony show just to get something to show up in the Finder search. There is also the issue of the "right click", which has been ingrained in computer users since the dawn of time. It took me way too long to figure out that holding down ctrl and clicking is the equivalent to a right-click. I thought the only way to right-click was a "two-finger tap" but this has never worked consistently for me. Regardless, I should not have to use both my keyboard and mouse to initiate a right-click.


Hardware

This is where MacBooks shine in my opinion. Yes, I know that Apple has had a history of selling snake-oil in the form of off-the-shelf x86 processors and soldered-on, miniscule amounts of RAM with a ridiculous markup for the "Apple tax". This has all changed however. The new M2 chip is an ARM processor designed (and undoubtedly codesigned with software) by Apple with competitive results in benchmarks. I'll defer to the tech-geeker sources that actually run these benchmarks and display them for the entertainment of tech-addicts. The choice of ARM is interesting in and of itself, as they are undoubtedly paying massive fees for using ARM and even more fees for extending it. I suppose it is on the open hardware developers and academics to legitimize RISC-V and other alternate ISAs before Apple will consider them. What interests me the most is the neural engine (or NPU), which is a machine-learning accelerator implemented on-chip (which also happens to be my current area of research). Of course, very little details have been released about this chip, but I suspect there's a lot more to it than the conventional large systolic array design seen in products such as the TPU and basically any state-of-the-art accelerator architecture in the literature. This has, of course, enabled spying on the content of an individual's computer at an even higher scale, but it is programmable and integrated in with Pytorch. As I use my computer only for work, I really couldn't care less but I would never own a modern MacBook for personal use. The memory is unupgradeable, but my system sports 32 GB of RAM (the lowest amount possible) which is more than I'll ever need unless I start running large training workloads, but a MacBook isn't really meant for these purposes. The memory is "unified" which I suppose means that the CPU and NPU address the exact same memory, without the conventional need to explicitly offload data to the accelerator. This is important as ultimately, machine learning workloads will be memory bound, not compute bound. Compute can be added in a linear amount of processing elements to to the systolic architecture, but the memory speed will probably not grow to a point where the accelerator can take advantage of this extra compute. Some credence can be lended to this idea by the fact that the Google TPU really only supports 128x128 matrix multiplications, with the exception of the IPU the state-of-the-art accelerators use expensive high-bandwidth memory (HBM), and the main improvement of the TPUv4 over previous iterations was the use of optical interconnects to allow easy reconfigurability. The M2 chip does not use HBM (or else MacBooks would be way more expensive than they already are), so the next best thing is to prevent offloading entirely and simply address the same memory as the CPU. There's also the marvel of the fact that Apple can pack this much performance into such a thin case with little overheating. I have also heard reports of Apple's CPUs' massive reorder buffers, which dominant the size of conventional reorder buffers. This allows a massive amount of speculation in comparison to its peers, but of course it had better have an excellent branch predictor to be able to take advantage of this speculation.


Ideology

This is where I vehemently disagree with Apple. I am always apprehensive of a company trying to force me into their products, and in fact for my personal use I have a wide diversity of hardware, from Logitech to Dell to Raspberry Pi. The reason these are all able to be used in a relatively unified experience is that they conform to standards. The inability to run 32-bit applications on Mac is a deal-breaker for me. Apple devices refuse to fit into any workflow but their own, which renders them useless to me. I demand the ability to be able to remote into all my devices via ssh, including my TV and mobile devices, for the cases when the system freezes and I want to force a restart or perhaps to grab a file stored on these systems from the comfort of my desk. Believe it or not, Apple's lack of repairability is not really a bother to me as nowhere is the "right to repair" guaranteed. The right-to-repair puts an unnecessary burden on companies and restricts a possible income source. Apple has a certification program for repairing devices, and if the average Joe down the street in the rundown strip mall can get one I assume anyone can. This strikes a balance between a company's need to make money and the growing e-waste problem; I will not use a device that is not repairable at all if once it breaks its only destiny is the landfill (or India, where we can look down our noses in our ivory towers at those people for advancing our carbon emissions when they are tasked with eliminating the world's waste AND managing the waste of 2 billion people; curiously, the waste generated by the average Indian is not even close to the waste generated by the average American. All that said, I will in every case choose to repair my own stuff rather than offload repair to a company; this has been wired into my behavior by my father and grandfather.

Apple has also been investing heavily in its privacy marketing. This is funny, as I somehow don't have to worry about privacy since all my communications are encrypted by an open standard, my operating system does not have a home to phone to, and my browser is as hardened as possible while still maintaining usability. As long as your operating system is closed-source, you can never trust it. As long as Apple has your data, they can be hacked, implement a new policy that allows data sharing, or be forced to disclose information by the government so it is important to own your own data in this day and age. I will conclude this section with a copypasta I've seen floating around /g/:


Every breath you take

www.inverse.com/article/16929-apple-watch-will-now-remind-ou-to-breathe

Every move you make

www.komando.com/security-privacy/secret-map-tracking-apple/465598

Every bond you break

acecilia.medium.com/apple-is-sending-a-request-to-their-servers-for-every-piece-of-software-you-run-on-your-mac-b0bb509eee65

Every step you take

www.usatoday.com/story/tech/columnist/2020/09/08/iphone-tracking-everywhere-you-go-how-find-setting/5695132002

I'll be watching you

www.thehackernews.com/2017/10/iphone-camera-spying.html

Every single day

https://sneak.berlin/20201112/your-computer-isnt-yours/

Every word you say

nakedsecurity.sophos.com/2018/08/13/siri-is-listening-to-you-but-shes-not-spying-says-apple

Every game you play

techstory.in/apple-slammed-by-epic-games-chief-for-spyware-tools

Every night you stay

www.iphonelife.com/content/your-iphone-spying-you

I'll be watching you

www.foxbusiness.com/technology/apples-siri-is-eavesdropping-on-your-conversations-putting-users-at-risk

Oh, can't you see

You belong to me

truthout.org/articles/apple-employee-blows-whistle-on-illegal-spying-and-toxic-working-conditions

How my poor heart aches

With every step you take

www.macrumors.com/2011/04/25/federal-lawsuit-filed-over-apples-location-tracking-in-ios

Every move you make

www.stopspying.org/latest-news/2021/10/1/stop-condemns-apple-for-tracking-iphone-location-when-turned-off

Every vow you break

appleinsider.com/articles/16/09/29/apple-acknowledges-tracking-imessage-metadata-and-sharing-it-with-law-enforcement

Every smile you fake

abc4.com/news/tech-social-media/yes-your-iphone-is-taking-invisible-pictures-of-you

Every claim you stake

wonderfulengineering.com/u-s-apple-store-employees-are-working-to-unionize-and-theyre-using-android-phones-to-keep-apple-from-spying-on-them/

I'll be watching you

www.computerworld.com/article/3628454/apples-plan-to-scan-us-iphones-raises-privacy-red-flags.html


Conclusion

There are a lot of things to love and hate about Apple. Their hardware is good, their software is basically unusable if you are already accustomed to a different way of working, their computers are way too expensive, and they cultivate a cult-like mentality when it comes to their products, locking you into their ecosystem until it becomes financially unviable to check out. However as a researcher in the hardware world, I find their systems fascinating and look forward to more disclosures (or reverse-engineerings) of the inner workings of their system. I may expand on this post in the future to go more in-depth into why I find Apple hardware fascinating, but I will save that for a different post.