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.