My Software Development Setup, Pt. 1

Look Ma! New Mac!

Look Ma! New Mac!

My 2016 MacBook Pro with Touchbar was having some weird issues, I had installed a lot of software that I didn’t really know whether I needed it or used it under the hood somewhere. I went through an immersive web development bootcamp and in the rush to get coding, I wouldn’t really study up as much as I would have liked on what different applications were, where they were being installed and what exactly was being installed. Nor why I was installing this particular app vs. another one that served the same purpose. Npm, Yarn, Brew? All package managers? I’ve used them all, but only because the instructions to install some app or package said to.

So this time I’m doing it right. I’m backing up my current internal SSD to an external and then wiping it clean and starting fresh. I have used a lot of different stuff at this point, so I at least have a good idea of what I want to be able to do and what kind of software I need. This is a walkthrough of what I’m doing to set up a fresh development environment.

SSD Wipe to Initial Applications Install

1. Buy External SSD

I went and bought an external SSD. Plugged it in and just followed the instructions it had for setting it up. I did have to reformat it with Disk Utility to get it in a format that SuperDuper would recognize and make bootable.

2. Download SuperDuper! Create Bootable Backup on new SSD

I downloaded SuperDuper and followed the instructions they give for making a complete, bootable backup. Their website looks old and therefore sort of sketchy. However, I’ve been using it for making complete, bootable backups of my systems for years. As well as at least one platinum selling recording studio that I worked at in my previous career. It’s consistently highly rated and a part of every “Top 5”/“Top 10” backup software list.

SuperDuper!

SuperDuper!

On the topic of backups, I have my whole computer backed up to CrashPlan.com. So I have a backup in the cloud(not bootable) and on this external SSD(bootable). More on that in a moment.

3. iCloud

I made sure my iCloud Storage was setup correctly. Specifically the Desktop and Documents folders. Anything I knew I was going to want access to I put in one of those folders and anything that I didn’t know I would need right away, I left in local locations(meaning iCloud doesn’t track them and they would go to the external SSD backup). You can go to iCloud.com, sign in, and click on iCloud Drive to see exactly what’s in there. (Sometimes the iCloud Drive folder on your computer doesn’t reflect what is actually in iCloud.)

  • System Preferences -> iCloud. Everything should be checked except Back to My Mac. Click ‘Options…’ button next to iCloud Drive. Everything should be checked here too. Including Optimize Mac Storage. Click Done. Click ‘Options…’ button next to Photos. iCloud Photo Library and iCloud Photo Sharing should be checked. My Photo Stream should be unchecked. Click Done. You’re done.

icloud_1.jpeg
icloud_2.jpeg
icloud_3.jpeg

Moving forward, if I need a file that was on my computer beforehand, I can retrieve it from either the external ssd or CrashPlan.

4. Wipe internal SSD

I went through the steps outlined here https://support.apple.com/en-us/HT201065 and then here https://support.apple.com/en-us/HT204904.

  • Using the Option-Command-R option, erasing the startup disk and Reinstalling macOS.

At this time, MacOS High Sierra 10.13.2 is the latest macOS available, so that’s what was installed. New Computer!

I have a local backup and cloud backup of my files and am setting up my MacBook as new.

I am going to leave both of those backups alone. I’m not going to put CrashPlan onto the new computer. They’re discontinuing their consumer tier and moving to exclusively business accounts in about 5 months and so I’m just going to leave that backup as a backup of the old computer and start using a new backup service. The service I chose is Backblaze.

5. Download and setup Backblaze

I plugged in the external SSD and told Backblaze to backup my computer and the external SSD.

  • Note: The Samsung T5 comes with it’s own security software. Before opening Backblaze, I had to open the SSD by entering my password, then opening and starting Backblaze’s backup.

  • I tried telling Backblaze to back it up without opening the SSD through it’s own software first, but it only saw a few mb. NOT the ~280gb that was actually in there. So just be careful of that. Make sure it’s backing up everything. The backup took a few days, I don’t know if it was necessary, but I left the external SSD plugged in for the whole time until Backblaze had finished backing it up.

6. Installed software after one week

I install applications as I need them. I didn’t make a list from the old OS installation or anything, I just install as I need. After 1 week I have installed:

  • SamsungPortableSSD — software for backup SSD

  • Dashlane — When I was looking for a password manager a year or two ago, this was the highest rated one. It still gets just as high ratings, but the fact that it costs more than 1Password or LastPass is why it doesn’t take #1 anymore. I like it, I’m keeping it. https://thewirecutter.com/reviews/best-password-managers/

  • Backblaze

  • SuperDuper!

  • Google Chrome — Industry standard for web development

  • Evernote — I just love Evernote. I use it for pretty much everything I used to use a word processor for.

  • Slack — Work communication

  • OmniFocus — My favorite task management app. I did a lot of research and have tried a lot of these types of apps over the years. OmniFocus is really great.

  • Spotify — Only ever tried Apple Music and Beats before that. Spotify has a better algorithm for knowing what I like. Other music it suggests I actually do like. That was never the case with Apple Music, I don’t remember Beats. I may switch to Tidal at some point as I think they pay the artists a better rate than any of the others.

  • Xcode — I know I need the command line tools, and as a mobile developer I’m sure I’ll be using Xcode now and then.

  • Visual Studio Code — Atom vs. Sublime vs. VS Code. I pick VS Code. I haven’t tried Webstorm. I intend on learning VIM soon.

  • iTerm2 — I found that iTerm2 is pretty much unbeatable as an alternative to Terminal unless you have very specific needs that a different Terminal app gives you.

That’s it as far as graphical applications. I downloaded them in the Apple App Store if they were available there and directly from the company website otherwise. Next, in Part Two, I’ll be setting up my iTerm environment.


Previous
Previous

Git Essentials: Beyond the Basics

Next
Next

My Software Development Setup, Pt. 2