My prefered tools for coding
Tags: coding, hardware, software, docker
Published: 2020-06-17 14:28:19

---
title: My prefered tools for coding
published: true
date: 2020-06-04 11:25:22 UTC
tags: Coding,Hardware,Software,Docker
canonical_url: https://blog.jws.app/2020/my-prefered-tools-for-coding/
---

[Back in 2011](https://blog.jws.app/2011/the-first-5-applications-i-install-after-re-installing-windows/), I wrote few short posts about what I install right after reinstalling windows.  I figured that 9 years is enough time between these kinds of posts.  This time, I’m going to go over my prefered tools for writing code.

# Hardware

I’ve been using [Apple laptops](https://blog.jws.app/2015/how-joe-computes-or-adventures-in-absurdity/) since 2013.  I tried using a [Samsung Galaxy TabPro S Gold Edition](https://news.samsung.com/us/samsung-introduces-galaxy-tabpro-s-gold-edition/) a few years ago as my everyday carry laptop.  It didn’t go great.  I eventually replaced it with a MacBook Pro.  MacOS just works better with docker.

I would recommend buying a used, very well speced MacBook Pro.  I got mine off of eBay.

# Software

## Code Editor

I have been using [Sublime Text](https://www.sublimetext.com/) for years.  The licensing model is pretty good and it is cross-platform.  Since they don’t offer ARM binaries and it is closed source, I [have had issues with it](https://blog.jws.app/2013/what-is-a-chromebook-like-to-own/).  I haven’t found a code editor that I like more, though.

## SQL Client

One of the few things I took away from a previous employer was a fondness for [Navicat](https://www.navicat.com/en/).  It is [exceptionally expensive](https://www.navicat.com/en/store/navicat-premium-plan) but it lets you connect to MySQL, MariaDB, MongoDB, SQL Server, Oracle, PostgreSQL, and SQLite databases from a single application and it works really well.

Since I can’t justify paying so much to use Navicat at home, I use [TablePlus](https://tableplus.com/) at home.  To be honest, I don’t use it a whole lot.  SQL isn’t something that I tend to write for pleasure.

## Source Control

I use [Git](https://git-scm.com/) and I use it from the [terminal](https://iterm2.com/).  You can use it with [Github](https://github.com/), [GitLab](https://about.gitlab.com/), or [Bitbucket](https://bitbucket.org/) for free.

## Testing

I’ve used [MAMP](https://www.mamp.info/en/mamp/mac/), [Homestead](https://laravel.com/docs/7.x/homestead), [Valet](https://laravel.com/docs/7.x/valet), and plain [VirtualBox](https://www.virtualbox.org/) VMs over the years but these days, I just use [Docker](https://docs.docker.com/docker-for-mac/install/).  It’s easier than everything else out there and [laradock](https://github.com/LaraDock/laradock) is a great starting point if you write [laravel](https://laravel.com/).

# Services

## Hosting

I’ve used [Linode](https://www.linode.com/) and [DigitalOcean](https://www.digitalocean.com/) in the past (mostly to host [this blog](https://blog.jws.app/)) but these days, I use [Google Cloud](https://blog.jws.app/2020/how-much-does-it-cost-to-host-this-website/) to host this site, [GitHub Pages](https://pages.github.com/) to host [jws.app](https://jws.app), [Keybase](https://keybase.pub/) to host [jws.dev](https://jws.dev), and [Render](https://render.com) to host assorted web apps.

I also use [Cloudflare](https://www.cloudflare.com/) to where I can (you can’t use it with most of what I have listed above).

## Testing

[Sauce Labs](https://saucelabs.com/) is great for testing your website on various web browsers in various operating systems.  Sometimes it’s not as good as the real thing, so I also keep an [Android One](https://www.android.com/one/) phone and an [iPhone 6s](https://en.wikipedia.org/wiki/IPhone_6S) around for testing things.  Sauce Labs does offer a service that lets you test remotely on real hardware but it is [kind of expensive](https://saucelabs.com/pricing).

## Learning

My employer offers free access to [LinkedIn Learning](https://www.linkedin.com/learning/) (formerly Lynda).  It’s ok but [Pluralsight](https://www.pluralsight.com/) is better.  Wisconsin also offers a lot of good face-to-face learning opportunities (like [MilwaukeeJS,](https://www.meetup.com/milwaukeejs/) [That Conference](https://www.thatconference.com/), [Milwaukee Code Camp](https://www.milwaukeecodecamp.com/), and [Cyphercon](https://cyphercon.com/)).

 

Have a question? Feel free to drop a comment, below.