Replacing a Relic

Published November 20th, 2020
5 minute read
Warning!
This was written over two years ago, so some information might be outdated. Frameworks and best practices change. The web moves fast! You may need to adjust a few things if you follow this article word for word.

It's that time of year! That exciting time of... new stuff? In this week's article, we'll take a departure from the normal coding and design writings to explore why getting a new laptop seems like such a big thing in my world.

A New Laptop... Who Cares?

I feel somewhat guilty about buying a new machine when the current one still works. However, it's time, and it has been for a while. The old one has been through a lot. I replaced the CPU fan years ago. The screen has a handful of scratches, and the charging cable is frayed. It only works after a bit of finagling. Most of all, it's painfully slow. My current laptop is a 13" Macbook Pro from late 2013 — the base model. This means it only has 4 gigabytes of RAM. That doesn't cut it anymore, and nowadays, it's really starting to struggle.

Here is a snapshot of Activity Monitor with the Brave browser (5 tabs), Notion, and iTerm as the only open applications. To think... I used to run Homestead and Vagrant on this thing! I'm not even sure how that worked. Maybe browsers weren't so memory hungry back then. 🤷‍♂️

Seven years for a laptop, though, it has had a good run! 🙌

The New Hotness

After Apple announced its new processors last week, I decided it was time to upgrade finally. I ordered a new 13" M1 Macbook Pro with 16GB of RAM. It's supposed to arrive tomorrow.

A few of the reasons I'm hyped about the upgrade:

  • Ability to complete normal tasks without waiting on a beach ball (duh!)
  • Finally able to watch (and edit!) 4k videos taken from my FPV drone flights.
  • Build novelty apps for the touchbar — because why not?
  • Unlimited browser tabs, and battery life longer than I can work for!

Look for future articles where I'll document the process of setting it up, redoing my VSCode settings from scratch, and outlining struggles I encounter with the new ARM-based processor architecture. Hopefully it works without much effort, but I suppose that's the gamble of being an early adopter!

Future Plans

There are a few special plans and tasks I hope to accomplish with the new machine. First of all, I'm going to redo my entire VSCode setup from scratch. I'm not talking "start fresh and install mostly the same extensions," I mean getting down and dirty with every part of the keymap, settings, etc... The one editor setup to rule them all and utilize it on my desktop via settings sync. It's good to re-evaluate your tools periodically, and this is a perfect opportunity. I'll be sure to write an article with all the gory details.

The next order of business (past getting a PHP dev setup going), will be to edit some videos out of the mountain of drone footage I have sitting around. There are tons of flights I haven't even watched. Stuff like flying through low clouds, crashing into trees, diving down huge cliffs, and skimming rivers should make for some cool compilations.

Past all of that, I've got tons more design and dev stuff to pursue and a bunch of new ideas to explore. Stay tuned; it's going to be an exciting couple of months!

Update: First Impressions

Now that I've received the snazzy new machine, I wanted to share a few first impressions regarding the hardware and setup process.

I've only been using it for a day so far. Overall, the experience has been awesome! It's a great machine and if it lasts even half as long as the old one, I'll be thrilled. There are a few (happy) surprises I had with the hardware.

Here are some of my initial thoughts:

  • It's a bit thinner than my old one, but physically not much different.
  • The trackpad is huge! The clicking feels more stealthy than my old one.
  • The keyboard feels almost exactly like my old one — I skipped the butterfly keyboard era 😅
  • The touchbar isn't as bad as I thought it would be. I wasn't sure about it when I ordered, but the ability for it to switch context based on the app that's in focus might make it useful.
  • The TouchID fingerprint reader is so convenient. Another feature I didn't put much weight on, but not having to type my password all the time makes the experience that much better.
  • TrueTone color adjustment is something I turned off — I might try it again, but it seems like it would just get in the way when doing color-sensitive work late at night.

Initial Updates & Tweaks

The first thing I did was to update the OS to the latest version — 11.0.1 at the time of writing. While that was updating, I removed all the default apps I never use, like Numbers, Pages, Keynote, and iMovie. Also, the dock was cleaned up. I prefer the dock to only show currently running apps, and to automatically hide, so those settings were changed while the update was going.

Next, a few must-have apps.

  • iTerm 2 - is there even another terminal app?
  • Alfred — I've traditionally used Quicksilver, but Alfred has an M1-ready universal version.
  • Karabiner Elements — some much-needed key remapping.
    • It says on their site that it works with universal builds, but I was prompted to install Rosetta for this one to work.
    • VIM-style arrow keys with Right Command + hjkl
    • Space cadet shift (shift keys produce open / close parentheses when tapped, shift when held)
    • Remap capslock to escape when tapped, control when held
    • You can do all of these by going to Complex Modifications, and then clicking Add Rule, and getting the "Modern Space Cadet" rule set from the internet. Note that I don't enable all of them, just a couple.
  • BetterTouchTool — I use this mainly for snapping windows left, right and maximized center
Enjoy this article? Follow me on Twitter for more tips, articles and links.
😢 Awww, nobody has liked or mentioned this on Twitter yet.

Want Updates?

Sign up here if you want to stay in the loop about new articles or products I'm making.
I'll never spam you. Unsubscribe at any time.
Copyright ©2024 Austen Cameron