My Setup 2020

Published on May 27, 2020

Image

What hardware and software am I using to build my side projects?

As you may have read in my earlier post, I recently sold a side project.

The proceeds from the sale were directed to purchasing a new laptop to make even more awesome side projects.

This is the tale of how I decided on my new setup, and the tools I'll be using to create my new projects.

Mac vs Windows vs Linux

I started my developing on PC machines. My very first laptop ran MS DOS 6.something. I didn't fully switch to Windows until 3.1 became available in 1992.

I stayed on Windows based machines even when working at an agency where everyone else was on Mac machines. I was so comfortable with my setup I didn't see the need to switch.

Eventually as my work shifted to working more and more on Linux, I decided to make the jump to a Linux based development machine. I found alternatives to all the apps I needed, and made the move to an Ubunutu based laptop from System 76. This was a great laptop, I still have it.

Unfortunately my Linux stay was cut short. A client that I was working for required I used a specific VPN software which wasn't available on Linux. It was available on Windows and Mac. I'd been bitten with the command line bug and everyone else was using Mac's I decide it was time to make the move to a Mac.

For the past 8 years I've been developing on Mac hardware. So why even consider moving away?

Like everyone else I've been reading the horror stories of the build quality declines, problems with the keyboards and feeling that the machines were over priced. So I started considering a switch, back to Linux and even back to Windows.

I won't lie the number of options was overwhelming...

On the Linux side there are many, many distro options, then then there are an equal number of manufacturers (although I was obviously leaning to buying a System76 laptop again.)

On the Windows side there are even more manufacturers and the hardware options are daunting.

Fortunately the reviews of the latest Mac Book Pro 16" gave me hope that many of the issues that had been plaguing the Mac line may have been fixed. Although I currently use the 17" Mac Book Pro I didn't feel I needed the bigger sizes screen.

When I've developing in my home office I have a external monitor, and when I'm developing elsewhere I tended to prefer focusing on one app at a time. There were rumors of a 14" Mac Book Pro coming soon, so I decided to wait.

As fate would have it, on the day the sale of For Sale By Maker closed, Apple announced a refresh of the 13" Mac Book Pro. The details sounded great, and I made the decision to stick with the Mac and purchased my new development machine!

Technical Specifications

I decided to max out the specs that made sense for me. Went for the CPU, 2.3GHz 10 gen i7, with 32GB of RAM. The RAM was the important one for me. Not being able to go up to the 32GB would have forced me to go for the 16" Mac Book Pro instead.

Image

Unfortunately I did have to buy a dongle to attach my external peripherals. There are a lot of options, but I've had good luck with Anker products so I went with the Anker USB C Hub for MacBook.

I've tried ordering a new keyboard and mouse (Logitech MX series), but they are sold out everywhere at the moment so I'm using my existing Magic Keyboard and Steelseries mouse for now.

Development Software

Although I didn't know it until recently I've been slowly moving to the TALL stack for my projects.

I setup Laravel Valet to do all my development locally. Where possible I use Homebrew to install any server software I need, this includes Node & MySQL.

Since I spend a lot of time in the terminal, I installed iTerm, a significant upgrade to the built in terminal.

Browser

I thought with switching for a while, and a new machine is a good time to make the switch. So my primary browser is now Firefox. Chrome is a great browser, but I like the idea of using something not controlled by a internet giant who has their own agenda, and someone who has an eye on supporting an open internet.

Editor

After being a long time Sublime Text user I started to slowly transition to VS Code, but since I'm focusing almost entirely on TALL development I decided to give a more focused editor a try.

PHPStorm is a IDE specifically for development in PHP, and perhaps because of the combination of using the latest hardware and improvements, my current trial has solved my main problem...speed. PHPStorm is as quick as VS Code and almost as quick as Sublime Text. I'm still in the middle of my trial, but I'll likely be sticking with PHPStorm as my editor.

I'll likely still use VS Code for non PHP development work.

Font

I look at text in my editor for most of my day, and last year I switched to MonoLisa. I liked the idea of using a font specifically designed for what I do.

Database Management

I've relied on Sequel Pro for many years to connect to database servers for basic administration and for running custom query, however I've noticed that development has slowed, and there are issues working with MySQL 8 servers.

I tweeted to see what others are using, and while I tried the nightly builds for Sequel Pro, I decided to switch to TablePlus.

Version Control

Git is really the only choice for version control and despite the recent acquisition by Microsoft, GitHub is most peoples preferred place to host their Git repositories. It no different for me. The recent pricing changes have made it even easier (and affordable).

Design

I'm a big fan of Figma and use it all the time when I'm the one doing design for the project, but I'm often working with others and so required to use whatever tool they use.


That's all the stuff I use regularly, but if you have any questions feel free to hit me up on Twitter.