Coming from Linux to Mac
My friend and colleague Keith is a recent convert to the world of Macs, having acquired a MacBook Pro recently. I think he wouldn’t be offended to be described as an old school Linux sys-admin, so OSX (or MacOS as it being rebranded) feels both alien and oddly familiar to him. When I first started using a Mac I was also coming from Linux background and while there are plenty of guides to Apps and make things more like Windows, not really much for Linux converts.
So in the hopes this will help, here is a guide to the apps and tools I use on my Mac and recommend. Its also worth remembering under the hood OSX is a Unix derivative so once you hit a terminal it’s going to feel comfortable
Also don’t forget you can always dual boot, which I use to do, over time I realised I was booting into Ubuntu less and less, so removed the partition to reclaim the space.
So here we go, welcome to OSX…
Homebrew & Package/Binary Managers
OSX has plenty of package managers, though these days Homebrew is probably coming out on top, I’ve used both Homebrew and MacPorts and while they have ever slightly different purposes and ethos. Generally I prefer Homebrew and much of below assumes Homebrew as your package manager.
In addition to Homebrew I also recommend, as package management tools
MAS – Mac App Store CLI, seriously if you ever have to use the Mac App Store, it’s a special type of horrid. Using it from the terminal however is a vaguely pleasant experience.
Caskroom – Is an extension to Homebrew that provides the ability to manage binaries, for example Chrome or Atom.
SteamCMD – Assuming you are planning on playing any games, then most likely it will be through Steam. The SteamCMD is cross platform CLI interface for Steam allowing you to amongst other things, manage updates to games and Steam itself. Not a complete replacement for the client but still useful.
If we ignore, the 101 Node/JS package managers and PIP/Composer and similar language ones, the above can pretty much manage 90% of applications you will be using, and with the advantage you can automate updating and managing.
m-cli Swiss army knife for under the hood
So Keith I know your not going to be automating to much, but I think you will find m-cli invaluable regardless, and when combined with OSQuery (see below) it literally changes the way you build automation scripts for OSX internals. Of course it’s also quite useful for poking around and doing anything with OSX internals.
Vagrant & Docker
Virtualisation is always fun, to be honest it’s pretty easy if you are going down Vagrant route I suggest using VirtualBox you might be tempted by VMWare but it’s going to hurt.
I suspect Hashicorp team behind Vagrant are primarily mac users and vagrant is easy to use and setup, not much to say other then check out Vagrant Manager which is a menu bar application that lets you see what instances are up and running, as well as stoping and starting.
Docker for Mac
Recently out of beta Docker for Mac, is simple to use and uses OSX in built virtualisation software rather then virtualbox or similar. It’s GUI interface is also really nice especially when browsing for docker images.
Kubernetes via minikube
At the company we both work at we are investing heavily in Kubernetes or K8s for short, getting it up and running is fairly easy, but its designed for running on multiple bits of hardware.
I have recently started to use MiniKube which provides a Kubernetes cluster (hmmm whats a cluster of one?) on your Mac, in effect you can mimic and have a dev version of working production clusters. What’s more it can use virtualbox as the driver, so handy if you just installed it for working with Vagrant. Sadly no Docker for Mac support which is a shame but I have been pretty impressed by it so far.
Alred is a search/workflow tool thats insanely powerful, it lets you search for files/items on your system, the internet and anywhere you want. Spotlight search has improved but Alfred is still light years ahead. In addition its real power comes in building workflows and extending it to control things. Want to control Spotify no problem, hook into Dash again no issue, publish a blog post surprisingly easy. Alfred is a powerful tool, especially when you hook it up with others mentioned in this article.
Given I once described OSX as a pretty GUI for terminal it probably makes sense to customise the terminal a little bit.
There really isn’t anything wrong with the normal terminal but iTerm2 is very much a power users tool.
zsh & oh-my-zsh
So not specifically OSX but you can install which ever shell you like my preference because I’m a wannabe hipster is ZSH and if doing so then I recommend oh-my-zsh which adds a tonne more options and some lovely themes. Just a warning, though it also brings to the terminal annoying do you want to update nags.
IF you are a coder of the night, you might find the glare from the screen starts to damage your eyes. f.lux provides a way to adjust the glare and contrast for screens in the evening. That said I don’t use it much any more, having found turning the computer off and going to bed to be far more effective.
The ultimate reference guide to just about every programming language. Dash allows you to store the manual and reference guides for a whole host of languages, its searchable and easily integrates into IDEs and Alfred. It reduces the amount of Googling exponentially and is also available offline.
Chrome & Firefox
Ok not OSX specific, but Chrome and Firefox are both available and I’ll be honest blow Safari out of the water even on OSX. Personally I use Chrome I don’t think I have any OSX specific extensions for Chrome but have the following setup:
- Better Tweetdeck3
- HTTP headers
- Browser Calories
- JSON View
- uBlock Origin
I’m planning on writing an article on what extensions and general workflow similar to the one I did when I was using Sublime Text, but for now suffice to say I have become a Atom convert much to my shock. Most of it’s memory issues are gone and its adaptable, open source and language agnostic. What’s not to like?
iTunes sucks, there I said it. VLC isn’t pretty but it isn’t iTunes. That said for most things I tend to either be viewing it in a browser or using Spotify I can’t remember the last time I used VLC for anything other then looking at output of videos I have rendered.
Back to the OSX specific bits, Mou is a simple markdown writer, dual pane and simple to use. I write most of my first drafts in Mou as a distraction free editor. It is however just that a first draft editor with what many would calling missing functionality like spell checking. That said you say features, Mou says distractions.
I’m a regular speaker at usergroups and conferences, so presentation software is a must, keynote is a nice alternative to Powerpoint.
Picking a email client is weird, as the company email isn’t Google Apps based, over last few months I have had to get use to having an email client again. Postbox is based on Thunderbird but has seen some love. Comes with its own extensions as well as the option to use Thunderbirds.
I have also been playing with Polymail, but its currently only working with limited services and doesn’t have an IMAP connector.
Screenflow is screen capturing and editing software, similar to Camtasia and similar. It think it might be the most expensive item on this list but well worth it. While OSX does come with screen capture out of the box, via Quicktime recorder, Screenflow editor is actually quite good, and I have used it as a quick movie editor as well at times. It’s simple to use but pretty powerful.
Small Applications / Utilities
Numi – Is a natural language calculator and converter, covering just about every sort of metric conceivable, It’s simple to use looks pretty, so while the systems calculator is ok, personally use Numi where possible.
Simplenote – A note taking app, keeps things organised, I tend to use it as a pad of copy and paste dumps. Plenty on the market and free ones, I just picked Simplenote and stuck with it.
Cyberduck – SFTP client, I think there is now a Windows version as well, simple drag and drop using OSX keychain for storing stuff ticks most of the boxes.
Colloquy – IRC client, though I’m not really using IRC much these days still fairly handy.
Amphetamine – Prevents OSX putting things to sleep, useful when you forgot to screen, that long running loop. Certainly never done that!
Spectacle – Workspace management
Clocker – Timezones who invented them! Adds into menu bar, date and location information and if you click on menu bar item see timezones from a list of predetermined. In my case it includes my colleagues timezones in Utah and LA.
This last collection of apps are security based, mostly defensive ones, OSX has a reputation of being fairly secure and with file vault you can encrypt your entire disk and Time Machine provides a nice backup solution.
Keith one thing you are going to hate is the “This application is downloaded from the… INTERNET!!!!!!!!” warnings, also by default OSX won’t even let you open such apps, you will need to go into settings and agree to trust, untrustables. This might be a pain, but is the blunt end of a quite clever security system.
OSX Collector – is a forensics tool, that collects a lot of information about your current system setup. Designed for forensics during or post an incident its a single Python script that collects data for analysis.
OSQuery – I love OSQuery it’s possibly one of my favourite “Ops” tools and not just for security, its also system agnostic but does have a fair amount of tables tailored for OSX out of the box. OSQuery basically allows you to interrogate in real time, systems data like SQL.
ClamXAV – basic anti-virus scanner and GUI for ClamAV.
So Keith, there you go, I hope you and others find this list useful, and if you have found something let me know, I would love to add to this list and will keep it as a sort of living document if I can.