I sometimes get asked about my favorite Mac apps, especially after demoing in-class. This is a snapshot of what I’m currently using. I often use a mix of OSS and commercial software; I strongly feel that it’s worth paying for something if you use it all of the time, and there’s some excellent low-cost commercial packages for the Mac.
Productivity & Writing
- Microsoft Office 365. MS Office is ubiquitous, and the Mac version is 100% compatible with the Windows version [note: UW provides a site license to students, staff and faculty through Office365].
- MacTeX: Mac TeX distribution, used for working with LaTeX – the standard in academic publishing.
- OmniGraffle: vector-drawing software that I use to create graphics, illustrations etc. for slides in class or research papers. There are other, easier-to-use solutions out there, but this produces highly precise drawings.
- Pixelmator: a fairly lightweight but capable graphics editor, and much cheaper than Photoshop. They also have a
Proversion, but that’s way above my needs.
- VMWare Fusion: Virtualization software that lets me run Linux and Windows VMs on my Mac. I used to use Parallels, but it’s expensive. VMWare Fusion is just as good, and they offer a free license for non-commercial use!
- IntelliJ: JetBrains Java/JVM IDE. Like CLion, this is also free-for-academic use. Fanstistic Java IDE, and with plugins, I also use it for Python, Kotlin development.
- CLion: JetBrains C++ IDE. Feature-rich, and lets me debug nasty code in an IDE (which I prefer over gdb). Commercial, with a free-for-academic use license.
- Dash: API documentation browser for Mac. Paid, but worth it for browsing API docs when coding (see Zealdocs for a similar but free app for Windows and Linux).
- Git: I use Git locally on documents, and store projects on Github and the UW GitLab. Most of the time, I use command-line.
- Visual Studio Code: used for coding in Java, C++, and writing documents in LaTeX, Markdown, HTML/CSS. Slower than Sublime Text, but faster than Atom, with the best plugin support of any modern editor I’ve found.
- Tower: I typically use Git from the command-line, but it’s sometimes helpful to have a graphical UI to browse history (for instance). Tower is outstanding and they offer free educational licenses.
- Homebrew: Package manager for installing OSS/software. My first choice when installing anything (e.g. compilers, editors, libraries). It’s extremely stable, and almost-everything non-commercial is available through it.
- Alfred: Spotlight replacement. I like it for macros and binding hotkeys to frequent actions (e.g. keyword ACM to search the ACM website for an article, or Cmd-Alt-L to lock my machine).
- Forklift: Dual-pane file manager, with bulk-rename, file-sync and sftp support. Used when I want a graphical interface for browsing remote servers.
- Arq: Efficient backup utility that performs incremental backups in the background to a cloud service, as often as once per hour. Functionally, it’s like having a better version of Time Machine that works with remote storage. Cross-platform, commercial and well worth the money.
- Better Touch Tool: This is an incredible utility that lets you customize any input on your Mac: keyboard, trackpad, mice etc. I use it to map global shortcuts and handle window resizing.