Essential Setup (2015 edition)

I had this article in mind for quite a while: My personal set of hardware, apps and services which are essential for my daily work. I currently take the chance to „clean install“ my macbook. After updating from Leopard to Snow Leopard to Lion to Mountain Lion – it was time to start from scratch. This is my opportunity to document everything I need to get up and running.

Hardware

  • MacBook Air (13″, late 2011, 4GB RAM, Mac OSX Yosemite)
    I would love to have 8GB+ RAM and a retina display – beside of that the MacBook Air perfectly fits my needs.
  • Magic Touchpad
  • Apple USB Keyboard without the numeric keypad
    This keyboard is pretty rare and unfortunately it is not available anymore. It has the exactly same key sizes and arrangement as the build-in keyboard of the MacBook Air. The larger one with the numpad on the right has for example different Ctrl/Option/Cmd keys. As I switch regularly between my desktop setup and „mobile“/MacBook only, it drives me crazy when the keys are not at the same place. The bluetooth keyboard would fit too. However i prefer the wired one for my home office.
  • 24″ Display – Benq G2420HDBL
  • Notebook stand Logitech Alto Express
  • NAS Synology DS 211
  • Home Server Mac Mini (Late 2012; Mac OSX Yosemite Server; Headless)
    Runs VMs; monitors my smart home and some (online-)services; supposed to run a DHCP and local DNS and a Jenkins and XCode-Server.

Software (and Online Services)

  • SuperDuper
    The last app I installed before the reinstallation was SuperDuper to create a full disk dump on a external drive for backup.
  • TimeMachine
    While we talking about backups: I’m using Apples TimeMachine for regular local backups (on a external attached USB Harddisk) and …
  • Arq
    … and Arq for external offsite site backup to Amazon S3/Glacier
  • Chrome
    Google Chrome is my browser of choice. But sometimes I use Safari, too. Chrome Extension installed:
  • Pocket
    To bookmark URLs I want to read later.
  • Calendar.app
    Apples build in Calendar works fine for me. I’m syncing and sharing several calendars with iCloud
  • Contacts.App
    Why not using Apples Contacts app with iCloud sync for addresses and phone numbers on all devices.
  • Mail.app
    Same for Mail: Apples Mail on OSX and iOS works great for me. My self-hosted IMAP server works great for years now. It collects a bunch of mail accounts using „getmail“, filters and processes them with „procmail“ and „bogofilter“ on the server.
  • MailActOn
    MailActOn allows me to color the mails in my inbox and also helps to move/filter them using keyboard shortcuts.
  • 1Password
    to store passwords, any kind of credentials, software licenses, bank accounts, private notes and everything I feel like I need to store secure.
  • Dropbox
    To sync my 1Password keychain along my devices (Mac, iPad, iPhone), share files (mostly photos) with friends and family. Also my Macs Desktop („~/Desktop“) is a symlink into the Dropbox, so everything I might put there temporary is synced (and kind of backuped) immediately.
  • Synology CloudStation
    To Sync files from the Mac to the NAS, I’m using the Synology Cloudstation client. Havn’t found the time to dig into OwnCloud yet.
  • VPN
    To create a VPN to my home network, when I’m not at home, I use OSXs build in VPN client, connecting to a VPN-Server running on my Synology NAS.
  • Dynamic DNS
    As dnydns.org bugged me for a while, I switched to NoIP.com some months ago.
  • Things
    Without Things I would have no idea what to do all day long! I’m using it on Mac and iOS – syncing with the Things Cloud.
  • Wunderlist
    As Things does not support sharing lists I started to use Wunderlist recently for a shared Todo list with my wife.
  • Trello
    Whenever I feel like I want to move cards on a board („personal kanban“-ish) I use Trello. Managing tasks with different states is hard in a plain list tool like Things or Wunderlist. Also you can share Trello boards with others.
  • Shopping List (iOS only)
    We used to manage our shared grocery shopping list with BuyMeAPie. But as we had issues with syncing lately we switched to „Shopping List“. Works great but misses a Webinterface or Mac client.
  • Alfred with Powerpack
    To launch Apps, search in the web or files on disk, clipboard history (I really would miss that!), calculator and adding tasks to things I love using Alfred. I’m pretty sure this is my most called app while working on my mac.
  • XCode
    for iOS and Mac OSX development
  • PHPStorm
    for PHP/HTML development. („Dracula“ „Darcula“ color theme)
  • Java for OS X 2014-001 for the sake of PHPStorm
  • Sourcetree
    is my Git GUI client of choice. I’m using it mostly for browsing in the git history and commiting (sometimes for pulling/pushing, too). For everything else, like merging/rebasing, I prefer using the git client on CLI.
  • GitHub
    My public and private git repositories are hosted on GitHub.
  • Terminal.app
    OSXs Terminal.app has everything I require for a console. Except the default color profile is not an option. So I’m using:
  • Solarized color theme
    But I darkend the background a little (more black-ish then darkblue) and set the cursor and select highlight
  • HomeBrew
    After multiple major problems with ports, I switched to homebrew a while ago. And pretty happy with it. However after a whole time I feel like it’s a good idea to start from scratch with brew. So this is, what I installed using brew:
    • zsh – my favorite shell, up-to-date in brew
    • ack – a better grep
    • git – (2.2.1) Apples build-in git is 1.9.3 only
    • graphicsmagick
    • macvim
    • imagesnap – for my „gitshots“ commit hook
    • apache + php56 + mysql + dnsmasq – I followed this well-thought-out tutorial to setup Apache with PHP. It also installs/configures https (SSL), a local DNS (every <something>.dev domain will return 127.0.0.1 as IP) and „auto-virtualhosts“ (domainname maps to directory name in ~/Sites/)
    • HttPie – CLI HTTP client with pretty output. Awesome for testing JSON Webservices.
  • oh-my-zsh – Although it does many things I’ll never use – it brings a great set of defaults for zsh.
  • .zshrc
    I’ve added some shell aliases to my .zshrc:
    alias l='ls -ltr'
    alias lt='ls -ltrsa'
    alias ip='curl etobi.de/ip'
    alias ts="date +%s | tee >(pbcopy)"
    alias sourcetree='open -a SourceTree'
    alias clearAllFkingCaches="./typo3/cli_dispatch.phpsh extbase cacheapi:clearallcaches && ./typo3/cli_dispatch.phpsh extbase cacheapi:clearconfigurationcache && rm -fr typo3temp/Cache"
  • ~/.ssh/config
    If you don’t know about „~/.ssh/config“ yet, you really should learn about it (http://nerderati.com/2011/03/17/simplify-your-life-with-an-ssh-config-file/).
  • Git config
    My ~/.gitconfig provides a bunch of global settings and git aliases. (see https://gist.github.com/etobi/ea235b89d11ce28b660b)
  • gitshots
    I setup a post-commit hook in all local git repositories, which captures a picture from the build in iSight webcam. Just for fun. Every once in a while I browse through the pictures. Maybe I compile a timelapse video from it.
  • Sequal Pro
    Comfortable access to all local and remote MySQL databases.
  • ForkLift
    Whenever I need an SFTP/SCP client.
  • TextMate 2
    Quickly edit a text file or write down some notes? I go for TextMate.
  • Neor Profile SQL
    Sometimes it helps to see all SQL queries fired to the MySQL-Database. Neor is a kind of MySQL-proxy which captures and profiles all queries.
  • fake-sendmail.sh
    Whenever I need to implement sending mails from PHP application I hate relying on a internet connection and the delay when using a real mail server. So I just configured PHP to use a custom shell/ruby script for sendmail. The script just dumps the mail into a .eml file.
  • Outbank
    Online Banking
  • iTunes
    For music I own. With „iTunes Match“ to have all my music on my iOS devices, too.
  • Spotify
    For the music I don’t own.
  • Mite
    I track all my working times using mite.
  • DynaMite
    Although Mite has a great API, DynaMite seems to bee the only okay-ish Mite client for mac. it works well enough, so I even stopped developing my own Mite client.
  • GrandTotal
    I’m writing my invoices using GrandTotal. However I’m not very satisfied. It keeps crashing every once in a while and screwed up my invoice numbers at least two time. Starting with the next invoice I will evaluate FastBill and Billomat for invoicing.
  • Bill 2
    Since I wanted to get rid of GrandTotal, and didn’t liked FastBill and Billomat very much, I now ended up in creating my invoices with „Bill 2“. Pretty reduced feature set and does exactly wht it is supposed to do. Like it so far.
  • Steuertipps
    Since many years I do my Einkommensteuererklärung, EÜR, Umsatzsteuer-Voranmeldung, -Erklärung, etc. with Steuertipps.
  • freefibu | MonKey Office
    Currently I’m evaluating FreeFIBU and MonKey Office for my bookkeeping.
    For the moment I ended up in maintaining all my book keeping in a MySQL-Table with SequalPro and a custom PHP-Script (in progress) for analysis.
  • Tweetbot
    Reading and writing tweets with tweetbot on Mac and iOS.
  • Slack
    Keep in touch with the colleagues using Slack.
  • HipChat
    Keep in touch with the other colleagues on HipChat.
  • Skype
    Chat with colleagues without Slack or HipChat. Also Video calling with the family.
  • VirtualBox
    The Mac Mini runs some (at least one) virtual machine, using headless VirtualBox.
  • Continuity Activation Tool
    Yosimite does not activate HandsOff/Continunity on my late 2011 MB Air, although there seem to be no technical reason. However one can hack/activate it using a hex-editor, or a tool, e.g. the „Continuity Activation Tool“
  • Skitch
    Take a screenshot, annotate it, and share it (on my own server using SFTP). No Evernote-Account needed.
  • TextMate
    Quickly editing a small text file?
  • Mou
    Markdown Editor. I use it to take all kind of notes.
  • Moom
    Window Management/Resizing

I think that’s all I need. Maybe this article inspires you to share which tools, apps and services you use and don’t want to miss. Let me know :-)

— Update: Add Chrome Extensions and Pocket.

— Update: Add Java for OS X required by PHPStrom

— Update: Add Continuity Activation Tool and Monkey Office

— Update: Add Trello

— Update: Add Skitch

— Update: Add Bill2; deleted FastBill and MonKey; Fix typos

— Update: Add Mou, TextMate, Moom, MacVim and httpie

2 Gedanken zu „Essential Setup (2015 edition)

Schreib einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *