Tools, Development

Setting up a new mac checklist

Whenever I get a new Mac or decide to wipe it and start afresh the following are my go-to tools and software for both web development and general work.

Command Line Tools

iTerm2
I love iTerm it's a fantastic terminal interface, it's easy to customise and add shortcuts keys to.

HomeBrew
Brew is a brilliant package manager for Mac, I use HomeBrew to install software such as PHP and MySQL.

GIT comes installed with Mac before using GIT it's important to set your name and email address. This is important because every Git commit uses this information, and it’s immutably baked into the commits you start creating:

$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com

Composer
Package manager for PHP, every project I work with uses Composer so it's a much to install.

Adding composer to bash_profile

Open bash profile with VIM

vi ~/.bash_profile

Press I to enter insert mode

Next, add  compost tp PATH by writing:

export PATH="$PATH:$HOME/.composer/vendor/bin"

Then press escape to normal mode then :wq to save and quit.

Install PHP 7.3

brew install php@7.3

Enable php to run as a service

brew services start php

Install MySQL 5.7

brew install mysql@5.7

 

Oh My ZSH

Oh My Zsh is a delightful, open source, community-driven framework for managing your Zsh configuration. It comes bundled with thousands of helpful functions, helpers, plugins, themes

To change themes open zsh profile

vi ~/.zshrc

This is is a different from bash_profile composer will need adding to the zsh profile

export PATH="$PATH:$HOME/.composer/vendor/bin"

Valet 
When working locally I use Valet to run my php projects Valet is a development environment that allows you to server custom domain for your local projects for instance instead of using http://localhost:8888/someproject I can use http://someproject.localhost 

Laravel installer
You can install Laravel using composer via the create command:

composer create-project --prefer-dist laravel/laravel blog

but with the Laravel Installer you can simply do:

laravel new blog

 

Storage

Cloud Mounter
I use Dropbox to store my files but I don't install the Dropbox installer instead I use Cloud Mounter to mount Dropbox to finder. Then I can see access my files as if they were on my machine. This adds the benefit of not filling up my hard drive.

Web Development


Sublime Text

I've tried lots of editors and IDE's over the years but I always go back to Sublime Text I find it the best for my needs, I always extend it with the following:

Package Control
Adds the ability to install plugins

SFTP
Works with SSH, FTP and SFTP

Wakatime
I use Wakatime to track how much time I spend coding, my whole team uses it so it's great to see how we all compare.

SidebarEnhancements
This plugin adds more options to the sidebar, it's essential.

Boxytheme - blue ocean
This is my theme of choice!

Laravel blade highlighter 
Adds syntax highlighting for Blade views

Terminus
Add's a terminal interface to Sublime

In addition it's useful to open folders in Sublime using sublime . in terminal. 
Adding shortcut to open folder in sublime - https://gist.github.com/adrianorsouza/df4759b0583dcd112da4 

ln -sv "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /usr/local/bin/subl

Sequel Pro
Remote manage MySQL databases

PHP 7.2 Install via Brew:

brew install php72

MySQL 5.6 - https://gist.github.com/nrollr/3f57fc15ded7dddddcc4e82fe137b58e

brew install mysql

Photoshop
For all image editing needs.

Screenflow
When recording my screen for making tutorials I've found nothing better then Screenflow.

Browsers

Chrome

Firefox

Productivity

Alfred

I use Alfred instead of Spotlight for the following features:

  • Searching Google
  • Searching Files and Folders
  • Code Snippets
  • Workflows
  • Clipboard History

These 2 worksflows I use often:

Social/Communication

Tweetdeck - Desktop app for Twitter
Slack - Interal team communication
WhatsApp - Interal team communication
Outlook - Email application
Skype - Client communication

Security

1Password
I use 1Password for generating and storing all my passwords and 2 factor authentication for websites and applications.


 

David Carr

David Carr

For the past 12 years, I’ve been developing applications for the web using mostly PHP. I do this for a living and love what I do as every day there is something new and exciting to learn.

In my spare time, the web development community is a big part of my life. Whether managing online programming groups and blogs or attending a conference, I find keeping involved helps me stay up to date. This is also my chance to give back to the community that helped me get started, a place I am proud to be apart of.

Besides programming I love spending time with friends and family and can often be found together going out catching the latest movie, staying in playing games on the sofa or planning a trip to someplace I’ve never been before.