Outgrowing Hardware

There is a small collection of tools that I depend on every day to help pay the bills and keep food on the table, three of which are in the photo below. A MacBook Pro that I've been using day in and day out1 for just over three years, a 24" 4K Dell P2415Q monitor, and an iPad Air 2. The monitor and iPad are just fine for what I ask of them. The MacBook, however, is starting to struggle with the workload.

The Workspace

This is the 17th computer that I've owned since 19942, and it's the one that has been with me since the promotion out of the classroom and into a development role at the day job. The keyboard — which has very obvious signs of wear — is quite comfortable and the battery is still good for 5+ hours when plugged into the 4K monitor3 and a full workday if it's running standalone. The screen has some occasionally noticeable issues, but is still better than 99% of notebooks I see people using when out and about. The CPU4 can generally keep up with what I'm doing, too, as my job basically involves working with text. Lots and lots of text. What I need — and I understand this is a common gripe I've had with my recent machines — is more RAM and a faster storage device.

Because this is a modern MacBook Pro, there is no chance of upgrading the RAM. It already has the maximum 16GB installed and there's no way to add more, even if I were to try and get creative with a soldering iron. At the day job I've had to start working with Java, and this is just using all of the memory I have available on the notebook. 24GB would be a safe number for now, and 32 would offer that extra bit of flexibility when it comes time to run some heavier workloads locally. As this is not at all possible without replacing the machine for a recent 15" model, I can't even entertain the thought.

The storage card, however, is a different story. I've recently learned that it's possible to swap out the custom solid state drive for an NVMe device, which would just about double my read and write speeds. One of the things I really liked about the Lenovo X1 Carbon that I was using with Linux5 was its incredibly fast NVMe drive. It could write data at 1,200MB/sec and read at just over 1,400MB/sec. With these kinds of speeds I was consistently impressed with how quickly I/O-heavy database work was completed. The MacBook Pro cannot get the same speeds from an NVMe card, as the older notebook is limited to just two PCIe channels rather than the 4 available on many newer computers, but double the current speed would be a definite improvement. It would also be nice to go from 256GB of storage to a full terabyte. The cost of this upgrade would be about $250 all told … which may be worth it.

Will this buy the machine more time, though?

It's a strange feeling to "outgrow a tool". While there can be frustrations when working with a device that is clearly struggling to keep up with you, where the fans are spinning as fast as they can go and the case is going from "noticeably warm" to "I'd better stop and let the computer cool down a bit", there is also a great deal of sentiment embedded in the machine. This is the computer I used to create one of the best pieces of software I've ever written. This is the computer I used to write the vast majority of 10Cv4 and 10Cv5. This is the computer that has been used to clean up and edit a whole host of photos of the boy and Nozomi. I've been angry at the machine, and through the machine. I've also been incredibly happy, thoughtful, captivated, and reflective while using the machine. One can easily think about replacing a computer … but then what do you do with it? I am not one to let a computer sit around collecting dust when it can be useful in some capacity.

The bulk of my issues could be eliminated if it were possible to upgrade the RAM. Unfortunately this is simply not feasible. The remaining options are to upgrade the SSD to an NVMe drive to reduce the amount of time waiting while the system swaps memory from RAM to the storage medium, replacing the machine entirely6, or doing nothing and sticking with what I've used almost daily for 1000 days. The machine is still "young" by modern standards. If it weren't for the current workload at the day job, this machine would still be sufficient. There must be another option that I'm not seeing.


  1. Aside from a 4-month stint with a Lenovo where I tried very hard to be 100% Ubuntu. I gave this up almost a month ago due to the excessive amount of friction that I was facing when working with colleagues who, for the most part, use Windows. Ubuntu is a pretty decent operating system with a lot of software available for people to get work done, and I love the freedom that comes with running a proper Linux-based desktop. That said … the friction was just too much.

  2. There was a time not too long ago when it was normal for a geek to replace their computer every 12 ~ 18 months, either through upgrades or a direct replacement. Fortunately this is no longer necessary.

  3. I generally try to run off battery every couple of days to ensure the cell cycle. Maybe this isn't necessary, but I have an aversion to leaving a mobile computer — that needs to be mobile — plugged in all the time.

  4. The processor is a 5th generation Core i5 5257U running at about 2.7GHz.

  5. Aside from the keyboard. The ThinkPads still have one of the best notebook keyboards on the market.

  6. This would be tricky and expensive. I would likely aim for a 27" iMac, as that has expandable RAM.

Tired of Friction

This week has seen a couple of changes to my digital tools as I try to get back to basics, reducing the friction that gets in the way of productivity. macOS has been reinstalled on my personal notebook. Evernote has been re-installed and is receiving some documents to keep track of and index. The Lenovo X1 Carbon notebook, like the W541 upstairs, has been turned into a server. For the last couple of months there has just been too much friction involved with the day-to-day, and I've spent far too much of my time working around problems that shouldn't exist rather than focusing on the work in front of me.

The Workspace

So for the next little bit, I'm going to try this setup again. Closed software that I can generally trust to do the job its hired to do, with the cross-platform compatibility that I generally rely on to meet deadlines and deliver results.

If I later regret the decision, it will not take very long for me to restore the Lenovo notebook back to a development machine thanks to the backups that were made1.


  1. and tested. You do test your backups, don't you?

Why Use Linux?

Joey Sneddon over at OMG! Ubuntu! asked and answered the question of why someone would use LInux over Windows or macOS. His three-word answer leans a little close to zealotry, but is completely understandable. In my case, I've been 100% Linux on all of my computers for quite some time1 and rarely see the need to go back to either. While I can readily admit there are some applications that I miss from when I used to use macOS on a daily basis, going back to Apple's operating system is not something i'm prepared to do. Microsoft has made a lot of efforts to integrate Linux with Windows 10 but, even with the Linux subsystem functionality and Redmond's insistence that they love Linux, I cannot bring myself to allow any version of Windows to run bare metal on any of my machines. Like Joey, my reason can be boiled down to a three word answer: I trust Linux.

There are a lot of benefits of using Windows or macOS on a day to day basis. There's generally more commercial software available, faster driver updates, and better support for battery-related features. That said, I don't trust these systems. Same goes for Android. I simply do not feel it's in my best interest to put any data of value on a system that seems forever tethered to its creator, sending and receiving data as unobtrusively as possible in the background2. Linux distributions, as a rule, do not do this3.

Given the sort of data that I work with on a day to day basis and the trust people have put in me to not leak, lose, or share their data with anyone else, I need to completely trust my computers. Linux makes it easier for me to ensure that my systems are secure and non-communicative with unauthorized external resources.

There are undoubtedly a number of people who will disagree with me, and that's fine. While there are thousands of different distributions available to meet just about any need or criteria, the vast majority of people will be happiest on one of the two main commercial operating systems. This, too, is fine. It's not my job nor intention to convert anyone to Linux or provide the days or weeks of support that would be required while a person acclimated to the different system. Linux works for me. Specifically Ubuntu Linux. If someone reading this prefers something else, then it's better to continue using that software. At the end of the day, how we use our computers is a personal choice.


  1. This is despite the unenforceable expectation that everyone at the day job is using Windows 10 with the various tracking and "security" tools installed … including all the Apple devices.

  2. iOS also shares information back to Apple, albeit to a lesser degree. While I'm not keen on data leaving my possession without explicit permission, I generally know precisely what information is being sent to iCloud and can modify my behaviour enough to maintain some semblance of verifiable control.

  3. The online "outrage" that surrounded Canonical's attempt to collect system information after a successful installation was seriously disingenuous. While there is the option to send anonymous system data to Canonical, it was an opt in function that would show you the entire message so that you could determine whether it could be shared or not. After a little more than a year, it turns out that the majority of people installing Ubuntu Desktop send the data to Canonical

What's the Alternative?

John Gordon recently wrote a short blog post explaining that he can no longer recommend people make the switch from Windows to macOS when shopping around for a new computer. The reasons he cites are quite valid, from Apple's recent abandoning sprees on software, hardware, and business sense, to the high cost of entry for machines that have arguably mid-range specs. While I can agree that the average person may not be willing to invest a grand or two in hardware before investing even more money in applications that may or may not work as the operating system evolves year over year, it's important to ask one question: what's the alternative?

After months of investigation, I settled on picking up a 2015-era MacBook Pro and replacing OS X — as it was known at the time — with Ubuntu. I've been happy with this decision for the most part and have even gone so far as to contribute updates to drivers that allow people to get better performance out of their Bluetooth radio. I chose the MacBook Pro not because I wanted a quick way to jump back to the safe confines of Apple's ecosystem, but because the alternatives were just not worth the money.

When it comes to buying a computer, a person really needs to consider how they'll be using the machine. Will it be something you're looking at for more than an hour or two a day? Then it simply cannot have a low-resolution screen. Will it be something you'll type on a lot? Then the keyboard needs to match your hands just right. Will it be something you'll carry from place to place? Then it had better have a really good battery, or be light enough that carrying the ridiculously bulky charging adapter is slightly more bearable. Then there's the problem of the hideously awful touchpads that seem to exist on every notebook not designed in Cupertino and manufactured in China. I spent months looking for a good-quality notebook that met these 4 criteria and a few other details and always came away disappointed.

You can have a good keyboard or a good screen, not both. You can have decent expandability or good battery life, not both. You can have a fast processor or a thin formfactor, not both. Buying just about any product will require a person to prioritise certain features, but one expects the decision to be less painful the higher up you go in the product line.

The HP Spectre 13 x360 came very close to what I was looking for in terms of hardware, but was limited by 8GB of RAM and a keyboard that just didn't feel very good. Lenovo's T450s was also close, as it allowed for hardware swapping along with a mostly-acceptable battery life and decently-comfortable keyboard, but was limited by the screen's awful pixellation and colour fade.

As a person who looks at a glowing screen for 10+ hours a day and interacts with the keyboard almost exclusively1, any machine that cannot offer both solid typing and crisp text2 simply cannot become a tool I rely on.

So what are the options?

Dell does have some decent machines, yes. The screen's aren't all that great, and the keyboards feel cheap, but they'll do. The same can be said for HP, Lenovo, Mouse, and System76. Nothing from any Japanese manufacturer is even worth mentioning anymore, as it's all lowest-quality-highest-price plastic crap. Even Sony, once the pinnacle of amazing-screens everywhere, is barely worth a cursory glance at an electronics shop. Try as I might, there just hasn't been a compelling notebook from any manufacturer in the last five years — if not longer — that comes anywhere near what a MacBook Pro can offer in terms of screen quality, keyboard usability, battery longevity, and overall build quality. Yes, a person needs to resign themselves to the fact that the unit is ultimately a non-upgradeable appliance, but it's still the best-made appliance out there. And, if you're willing to go with a store model to save a few hundred dollars, you'll wind up paying the same as you would for a top-of-the-line HP or Dell that comes with an infuriating touchpad that you leave disabled 90% of the time.

When people ask me for advice on what computer they should buy next, I still ask the basic questions. What's the main purpose? How long will it be used for every day3? Who will be the main person using it? And then I make a recommendation. Sometimes it's for a tablet. Sometimes it's for a notebook. And in those instances where somebody is looking for a decent quality notebook, I'll recommend either a MacBook Air or a MacBook Pro … which then has its operating system replaced with whatever the buyer is most comfortable with soon after getting it home.

Ideal? Maybe not. But it's better than the alternatives.


  1. I have not used a mouse in over five years, and I have no plans on ever going back to those horrible things.

  2. Crisp Japanese text. Roman characters are tolerable with awful pixellation some of the time, but it's brutal when trying to read complex kanji consisting of 12 or more strokes.

  3. then multiply this number by at least two

Indistinguishable from Magic

Earlier today Matt Gemmell wrote an impassioned article on his website where he decried the current state of Apple's software and how it makes very expensive electronics horribly frustrating to use, and even harder to justify buying. The post has been taken down1 but, in the short time that it was available, people from across the planet wanted to weigh in with their opinions about how "Apple is doomed", offer technical support, or otherwise openly mock this person who has clearly invested a great deal of time, money, and effort into this wholly artificial realm we refer to as the Apple Ecosystem. Like Mr. Gemmell, I have also invested a great deal into Apple's hardware and software over the years. I came in just as it seemed that everything Apple touched turned to gold, and I left when my rose-coloured glasses eroded, revealing that Apple's world was just as incomplete and prone to error as any other platform a person might choose.

Any Sufficiently Advanced Technology …

One of the many things I like about modern hardware is just how sleek everything has become. Smooth lines with seamless transitions between metal and glass abound. Processors thousands of times faster than anything we might have used while growing up can now be found in a wristwatch. Batteries can go on and on. And the screen resolutions available today are really nothing short of breathtaking. Our modern consumer electronics today are light years ahead of what we could have imagined 15 years ago. Looking at the sorts of complaints people have with our current range of devices, I wonder if this isn't the actual problem that we're facing: we've benefitted so much from so little in such a short amount of time that we don't realize just how much "more" we're expecting from electronics manufacturers, and these vendors are simply unable to keep up with our laundry list of expectations.

It's Time We Slow Down

When I first entered the world of Apple software, I was pretty fortunate. The iPod Touch, though a marvel of engineering, was a relatively simple device running simple software and performing simple tasks. The first version of OS X I used was 10.6 Snow Leopard, arguably one of the most refined versions of the operating system given that there were zero new features and a slew of fixes that resulted in standing ovations at Apple's Worldwide Developer's Conference all those years ago. Coming from Windows, the Apple world just felt so much more cohesive because updates rolled out at a slower pace than those from Microsoft. With more time between releases, new updates and features could be more thoroughly tested and refined, meaning that the majority of the bugs reported from people would — ideally — be more of an edge case than the rule. This is clearly not the case anymore, and not a week goes by where a semi-popular web personality doesn't lament Apple's declining software quality or lack of cloud infrastructure skill.

One might suggest that people who aren't happy with Apple should move to another ecosystem that is more in line with their values, but this isn't always realistic. One cannot simply swap out Google for Apple or Oracle for Microsoft. These sorts of migrations often take a great deal of time, planning, and money. More than this, people shouldn't be expected to always vote with their wallets. Moving from one platform to another 10 is not a feat that can be completed in a weekend nor is it an effective way to send a message. At the end of the day, the best way to send a message is to openly communicate, and I say it's time people stop demanding so much pseudo-innovation from their electronics and instead ask companies to slow down and release their hardware and software products when they're ready and not a minute before.

Traditional computers such as desktops and notebooks do not need to be replaced every year, so companies should focus on building machines to last 5+ years. Cell phones do not need to be replaced every year, either, so why push out an update that appears to be little more than an incremental update over last year's model but with a substantial price tag? Tablets and watches are in the same boat. Heck, just about every electronic device we use on a regular basis could likely switch to release a new model every three years with minor revisions to accommodate problems during the intervening months. Many people will undoubtedly disagree, but today's hardware is good enough for the vast majority of what we want to do. Why must we continually push the envelope?

With a slower hardware release cycle, software developers will have more time to focus on the less-tangible aspects of our systems and strive to make improvements. Some new things could certainly be introduced during this time, but this in-between time would really be the time for the devices to be polished and refined while people also become more accustomed to using the tools they already have.

The amount of change that we've all seen in the last fifteen years has been nothing short of amazing, and this change has resulted in some phenomenal effects on societies around the world. By slowing down we won't diminish anything that's happened thus far and we stand to gain greater benefits if the functional lifespan of our difficult-to-recycle electronics is extended thanks to a slower release schedule. Will this hurt the bottom line for a number of people who are already wealthy? No doubt. But we cannot expect our tools to continue their evolution at such a breakneck speed. We're seeing the faults and cracks in our systems already, but it's not too late to do something about it.

A three year hardware release cycle with a longer software cycle would go a long way to changing our perceptions of modern electronics from being the occasionally frustrating objects they are to devices indistinguishable from magic.


  1. Though intrepid investigators may have some luck in finding a cached version of his article, titled A Declining Trajectory.