After eight years of reliable service, it was time to replace my primary laptop, a 2012 MacBook Pro. It had been my first non-work Mac, and I gave it a lengthy review after buying it.

Back then, I luckily bought the last model before Apple made numerous user-hostile changes to their laptops, such as their unreliable butterfly keyboard, sub-par graphics, eliminating all user-serviceable or upgradeable components, and many other revisions I’ll mention below.

2020 MacBook Pro

So having avoided those pain points, I wasn’t predisposed against ordering another MBP when the old one wilted. And rather than go back to a Windows machine, I opted to replace like with like.

Let me start my review with the machine’s good points. They’re quickly enumerated:

  • A 16" screen in the same form factor as my old machine’s 15” display (smaller bezels). And my first Retina display.
  • After more than five years, but Apple begrudgingly reverted from that fragile butterfly keyboard back to their older scissor-switch keyboard.
  • Touch ID: a dedicated fingerprint reader as an option for user authentication.
  • Graphics performance has improved, which is good for Zwifting.

And that’s it. That’s all the improvements Apple made to their flagship laptop over the past eight years.

Now on to all the bad points. That'll take a lot more time to cover...

  • The machine has no external ports but the uncommon USB-C. No ethernet port, no standard USB-A, Mini USB, or Micro USB ports, no SD card or MicroSD card readers, no MiniDisplay port, no HDMI port. If you want to connect anything, you have to buy a separate adapter for each peripheral, all of which are obscenely overpriced.
  • I had a ton of problems setting up my external monitors. The first problem was that I got the wrong dongle, because although Thunderbolt and Mini DisplayPort are incompatible, they both use the exact same connector! Oh and Apple doesn’t sell a Mini DisplayPort dongle anyways. Once I purchased the right dongle from a third party, my other monitor still wouldn’t work until I replaced its previously-functional Mini DisplayPort cable with an HDMI cable.
  • On top of that, the MBP has a documented overheating problem when driving external monitors. That’s awesome!
  • No DVD reader or writer. Another separate expense… plus another dongle.
  • The power cord now comes in three pieces sold individually, and the machine only ships with two of them. The cord extension is another separate expense. With all three pieces, a spare power cord will now run you an extortionate $133. Plus it no longer uses the excellent MagSafe connector, so there’s no longer any light to visually indicate that the machine is connected to power and whether it’s fully charged or not.
  • Matte screens are no longer available. Glare, reflections, and fingerprints come standard, thanks to Apple’s “design” team.
  • Apple has removed the entire row of dedicated function keys and replaced them with a flat LCD with virtualized buttons. No, you can’t have them back. And although Apple says you can force virtual Fkeys to appear on an app-by-app basis, of course that doesn’t work with Zwift or VirtualBox: the two apps where I use Fkeys the most.
  • The laptop camera is still limited to a myopic 720p, no improvement over pre-2010 webcams.
  • Thanks to the timing rather than any fault of Apple, I’ll be missing out on several upcoming enhancements to the MBP, including the migration to Apple silicon, MiniLED displays, Wifi 6, 5G, Face ID, and touchscreens. On the other hand, that’s a lot of new features that Apple will probably completely fuck up. My previous laptop was also the model before major changes, and in the end that was a fortuitous thing.
  • Migration Assistant, which supposedly easily moves your old stuff onto your new machine simply doesn’t work. Twice I connected the two machines via wifi, and both times the process hung within the first few minutes. Then I tried running it from a USB hard drive containing my last Time Machine backup, and that hung. In fact, it hung so badly that the machine wouldn’t even boot afterward! I had to boot in emergency recovery mode, reformat the SSD drive, and waste several hours reinstalling the entire operating system from scratch! I eventually succeeded in transferring a few basic settings from the TM backup, but still had to move the overwhelming majority of my old data manually.
  • Similar story with moving my Time Machine backups from my old backup drive to the new one. Theoretically, you should just be able to copy the files over and resume backups. However, the MacOS file manager (the cutesy-named “Finder”) cannot handle large numbers of files, and aborted 8 hours into a copy operation. So I fell back to the commandline utility “rsync”, which similarly failed, this time after running for 14 hours. Like the Migration Assistant, these are dedicated programs that cannot do the one thing they exist to perform.

So much for the vaunted tagline “It’s Apple; it just works”. I could just have a apoplectic fit and die from the irony of that statement.

On the plus side, I’ve finally settled in and the machine is mostly working. But due to Apple’s unnecessarily lengthy order fulfillment, user-hostile hardware, and bug-ridden software it took me three weeks to get up and running on my new machine. That’s simply not acceptable.

I’m skeptical whether I’ll ever buy another Apple product. Their machines, which were once the best on the market, are handicapped by bug-ridden software and shortsighted, petty tactics to drive short-term sales at the cost of flexibility, maintainability, ease of use, overall cost, and (ultimately) user satisfaction.

As a young upstart back in 1984, Apple took on the faceless behemoth of IBM and eventually defeated them. But Apple became the exact thing they once denigrated so vociferously: a hard-to-use, bug-ridden, closed computing environment managed by a greedy, shortsighted, soulless company that exists solely to redistribute wealth from their unfortunate users to their shareholders.

Fuck Apple!

Now, with all that off my chest, there’s been a bunch of other technological developments over recent months that I’d like to mention. And all of them were more pleasant experiences than dealing with Apple!

Perhaps the most important one is getting a free license of Windows 10 running inside a VirtualBox VM on the new laptop. It seems like an excellent opportunity to begin migrating applications from MacOS back to Windows.

Along with the MacBook (plus four dongles, an additional power brick, a port expander, and two new cables), I also bought a new 10TB backup drive. TEN TERABYTES! In a device the size of a trade paperback (if you remember what those were)! Back in the day, I had to knock down office walls to create a machine room large enough to house eight refrigerator-sized IBM 3380Ds, just to get 20GB of storage: 1/500th the capacity of this little box I’m holding in one hand!

In addition to a couple free Alexa Dot voice assistants, I’ve added several voice-activated smart outlets around the house. The biggest win has been the ability to turn on (or off, I suppose) my big exercise fan without getting off the indoor bike. However, I ought to upgrade those soon, as they’re the only thing limiting our home wifi to 2.4GHz rather than 5GHz.

And although I’ve been tracking my weight, body composition, hydration, blood pressure, and resting heart rate for a decade, I’ve recently upgraded my health data collection. A new wifi-connected scale also collects BMI, bone and muscle mass, and should update my weight in Zwift automatically. And I’ve also purchased a thermometer and pulse oximeter to store temp and O2 saturation (a useful thing for an asthmatic).

So it’s been an interesting year on the tech front. I’m hesitant to jinx it, but hopefully the new laptop will last as long as my well-used old MacBook, which served me very well for eight long years.

I hate Apple. Let me just get that out there, so that there’s no ambiguity: I hate Apple.

That said, I recently took shipment of a new laptop, and it’s a Macbook Pro. What brought me to this horrible point? It’s like this…

The loyal Lenovo laptop I ran at home has served me admirably for seven long years. It was solid, unlike the Dell and Sony laptops that preceded it. But after seven years, it’s dog slow and has a lot of really outdated software on it, including Windows XP and Office 2003. It isn’t able to handle higher-quality streaming video, and it has a broken spacebar. So I needed a new machine.

But why a Mac? Well, I’ve been using a Macbook Pro at work for the past two years, which is enough time to see its strengths and weaknesses in accurate detail. And frankly, the Mac has many more shortcomings than it has advantages. The problem is that it is strong in ways that are important, and weak in ways that are mostly just irritating.

If you really want to know, here is my list of factors…

Mac strengths

Performance
There’s no question: the Macbook screams. And that’s doubly true on the new machine, which comes with an SSD. Spinning magnetic disks? That’s so 1980s mainframe thinking…
Stability
Honestly, both my Mac and XP machines are stable as all hell. But I do think Windows is a little more prone to memory leaks and gradual degradation of performance.
Quicksilver
Quicksilver beats the hell out of both the Windows Start Menu and the Mac’s Spotlight. It is an amazingly versatile launcher/utility, and if you’re on OSX and not using it, you might as well be using OS/2.
Gestures
Like Quicksilver, gestures are an amazing productivity tool. Better than anything I’ve seen on the Windows platform.
Adium
On Windows, your IM client is either Trillium or Pidgin. They suck. Adium isn’t perfect, but it’s a whole lot better. This matters.
Dev Tools
Coda’s not a bad frontend dev tool. It’s kinda surprising, but there are more serious dev environments available for OSX than there are for Windows these days.
Virtual Machines
On OSX, I have a choice of several ways of running Windows VMs, whereas the reverse is not true. Having the best of both worlds is easy when you have both worlds on one machine!
Web Dev
OSX comes with Apache, perl, and PHP built in. That’s kinda convenient. What scripting languages come preinstalled on Windows?
Shell Clipboard
Here’s a surprise: you can cut and paste text in the OSX command window! Wow… Funny how Microsoft never thought about that!

Mac Weaknesses

Keyboard Shortcuts
On Windows, I can access any item in the program menu from the keyboard. On OSX? It’s just not possible. Talk about making your software unusable! I shouldn’t have to use my mouse to perform simple menu selections.
Trash
Similarly, I shouldn’t have to drag a file to the Trash icon to delete it. See that double-width key marked “Delete”? If your OS is so intuitive, why can’t I delete something by pressing “Delete”? Morons.
Apple Hardware
It’s fast, but it’s incredibly expensive, and it sure is prone to failure! Every piece of Apple hardware I’ve owned has failed within two weeks of the warranty expiring, and I can’t count the number of failures I’ve seen other people endure. Apple hardware is shit.
And it’s tasty, too!
First of all, the power cord is a ridiculous 80 fucking dollars. Second, it’s shielded with a rubbery compound that any cat or dog is going to adore chewing. Where’s your vaunted user-centered design now, Apple? Thanks so much.
No Kedit
Kedit… There’s a reason why I’m still using a PC port of the mainframe editor I was using thirty years ago. It’s a great editor that does things that no other editor in the world can do. I guess I can still use it in a Windows VM…
iTunes
iTunes and the Apple Store suck ass, period. And as a whole, Apple’s “take it or leave it” attitude toward their customers is something that really grates. I didn’t want your crappy Quicktime software; I don’t want your crappy iTunes software, and I don’t want you locking me into your grand designs for world domination. Honestly, watching Apple’s famous “1984” commercial these days is an exercise in irony and corporate hubris.
Format now? (Default=Yes)
Unix has always been eager to take any opportunity to trash your file system. This is no different under OSX. If you pull that USB drive out of its slot without telling Apple, you can kiss everything on it goodbye. Strangely, this never happened to me under Windows.
Interface Mediocrity
You’d think that a company like Apple, with its reputation for user-focused design and UI excellence, would provide a way to send the active window to the bottom of the window stack. Nope. Can’t do it. Not only is there no keyboard shortcut, but there’s no programmatic way to do it, either.

Those are only a few of the many annoyances I’ve tried to work around when migrating to OSX.

Now, before I go, let me relate three other observations.

First, back to the SSD. I can’t speak to its reliability (or lack thereof), but this is my first machine without a hard drive, and it screams. Why didn’t we do this 20 years ago?

Second: Retina. So the argument in favor of Apple’s new Retina laptop is that it has better resolution than a regular LCD. Okay. Now the negatives:

  • It doesn’t come with an antiglare display.
  • The battery cannot be replaced.
  • The memory cannot be replaced or upgraded.
  • Before any application looks good on the Mac, the application developer must rewrite it to take advantage of the Retina display.
  • Before any website looks good, the website author has to rewrite their site to take advantage of the Retina display.
  • It’ll be years before Retina-style displays trickle down to the majority of web users, and I don’t want to put myself, as a web designer, on different hardware than the rest of the world.
  • The machine doesn’t have a DVD-ROM, an Ethernet port, or a Firewire port.
  • It’s first-gen hardware and apparently has image burn-in problems.

So as you can imagine, I didn’t get a Retina Mac. And I’m extremely happy about that.

Finally, this was one of the worst purchase experiences I’ve had in years. Why?

Went to the Apple store. After convincing the sales clone that I wasn’t there to chat, but to order a machine, he told me they only stock three standardized configurations, none of which suit my needs, which was mildly disappointing.

Then he had me walk through their website’s online ordering form, but after every page: the configurator, entering my info, entering my payment information, confirming my purchase… Every time I hit “Continue” I received a “Your session has timed out” error, even after only 30 seconds on the page. It happened so many times that the Apple Stormtrooper who was “assisting” me suggested I place my order at home, from my Windows machine. Apple fail!

Then, two days later, Apple sent me an email indicating that my payment had been rejected, and my order was on hold until I called my credit card issuer. After half an hour on the phone with the bank and another half hour with Apple, I learned that yeah, the bank had stupidly declined the initial charge, but Apple had then retried the transaction, and it had gone through the second time.

Of course, they didn’t bother sending an email to let me know that I didn’t have to waste my own time chasing the bank. What do they care if they waste an hour of their customer’s time by sending him off on a wild goose chase? It’s just another part of the vaunted Apple experience.

A few days later I went back to grab a DVI adapter for my external monitor. Guess what? Oh no, they don’t stock those. What???

That’s three strikes, Apple. All I can say is that your machine had better blow me away, because if there were any decent alternative, I’d be out the door like a rocket.

Work rant. Only interesting to geeks.

I’m working at a client site. Last week I had to ask the person who runs their testing team whether they test a particular feature before releasing their software.

The staffperson figured the best way to find out would be to do a text search on the files they use for testing. Nothing could be simpler, right?

Well, not so fast! This person was a unix weenie. So she opened up a commandline window and entered a find command and piping that into grep. Not so simple, but I guess it works for some.

Well, not really. See, those files had spaces in their names, which causes unix to gag unless you know how to deal with them. Our heroine didn’t. I continued to stand around, waiting for an answer, while she dorked around in a laborious attempt to enter random command options in hopes that something would work.

After several minutes of watching this farce, I suggested she consider using Windows’ find utility, which would have done the job in less than fifteen seconds, without having to rely on her all-too-fallible monkey brain’s recollection of unix’s intentionally difficult-to-use command set. My comment wasn’t even given the honor of a grunt.

After a few more minutes, our erstwhile heroine looked at me and mumbled, “I guess I’m going to have to write a perl script.” Yeah, you’re going to recreate an entirely new text search utility from scratch, when there’s a perfectly good one built into Windows, and when a little RTFM action might allow you to perform the function in the precious unix you apparently don’t know as well as you think…

But then the topper came. “I wonder if Eclipse has anything that would do this?” Yeah. I imagine a full, bloated Java IDE would have a search function built into it. Of course, that’s a bit like using a Boeing 747 to deliver your pizza, when there’s a perfectly good car standing nearby.

This is why it’s important to be technology agnostic. Your favorite tool may be great at one thing, but it’s not the only tool there is, and often other tools will do a better or faster job at solving your problem. A carpenter whose toolkit only includes one belt sander is pretty stupid, and it’s downright pathetic when he doesn’t even know how to use that properly…

Not to open up the whole OS wars thing, but I’ve never seen the appeal of unix, and I’ve worked on it a fair amount. Its editors suck, and its command syntax sucks. Not that Windows is much better. It’s incredibly inefficient bloatware, and is ludicrously susceptible to system hangs and crashes. And Macs remain an oddity, never anything more than a footnote in the personal computer’s evolution.

I stopped using IBM’s VM/CMS mainframe operating system back in 1994, but there are things I still miss about it. It was stable. Its commands were powerful *and* intuitive at the same time (OMG!!!). And in the two dozen years that I’ve been coding under other operating systems, I’ve never found another editor that could hold a candle to Xedit. In fact, I’m composing this very article in Kedit, an excellent Windows port of Xedit. It rules, although I'm also thinking about checking out THE

And while I’m ranting about work, how about this one? After struggling with mysterious database connection issues and seemingly resolving them, I was asked to walk some of the client’s clients through part of the system. In the middle of the demo, the system starts having database connection issues. I have to abandon the demo in shame and attempt to triage the issue.

What did I find out two hours later? The client’s client’s IT people were in the server room, physically moving the server around, and kicked the power cord, dropping the entire database machine. Great. They have all kinds of siloed testing and formal processes to move programs from testing through production, but they pay a generous salary to a big hairless ape who randomly takes the server boxes out for constitutional strolls around the server room! Gee, what are we gonna do today, Brain?

If there’s one thing I’ve learned in more than a decade of consulting, it’s that no clients (and certainly no client’s client) should ever be allowed to touch a computer.

Frequent topics