Mac Apps 2017
My favorite Mac apps from the past year.
I sometimes get asked about my favorite Mac apps, esp. when people see me running something unusual in-class. This list changes from year to year, but these are the apps that I have used heavily in the past year. I 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.
- Android Studio: I alternate between this and IntelliJ for writing Android apps. This is Google's official IDE, so I feel like I should use this for demos.
- 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).
- Arq: Small, efficient backup utility that performs incremental backups in the background to a cloud service, as often as once per hour. This is my main backup utility. Cross-platform, commercial and worth the money.
- Bear: Note-taking application that runs on Mac, iOS and syncs through iCloud. I use this over Notes or Evernote b/c it uses Markdown as a native format, and will import/export to multiple formats. Also really fast.
- 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.
- Dropbox: Used primarily for sharing with colleagues.
- Dash: API documentation browser for Mac. Paid, but worth it for browsing API docs when coding.
- Fork: A graphical Git client that I like. Minimalistic, and very useful.
- Git: I use Git locally on documents, and in the cloud on Github and the UW GitLab. Most of the time, I use command-line.
- 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.
- IntelliJ: JetBrains Java IDE. My preferred Java IDE, also free-for-academic use. Very popular for commercial JAva development.
- MacTeX: Mac TeX distribution, used for working with LaTeX – the standard in academic publishing.
- Microsoft Office 365. Although I prefer the simplicity of other packages (e.g. Apple Pages), MS Office is ubiquitous. Use it to avoid formatting issues when exchanging documents with other people. The Mac version is 100% compatible with the Windows version.
- OmniGraffle: vector-drawing software that I use to create graphics, illustrations etc. for slides in class or research papers.
- Parallels: Virtualization solution for Mac, for those times when you absolutely need to run Windows (and don't want to Boot Camp). I often use this to demonstrate code in Windows or Linux on my Mac. VMware is another solid commercial solution (though IMHO slower than Parallels). For occasional use, consider VirtualBox, which is free and fairly stable (just slower than the commercial solutions).
- Pixelmator: a fairly lightweight but capable graphics editor; much cheaper than Photoshop. They also have a
Proversion, but that's way above my needs.
- RStudio: an R IDE. I do most of my statistical analysis in R, and find this to be a reasonable IDE with built-in help, syntax highlighting, code completion etc.
- Sublime Text: Fast and highly efficient editor. Plugin support isn't quite as good as Visual Studio Code, but it handles large files much better.
- Things: Project and time management. A very efficient way of tracking TODO items, and it syncs between Mac and iOS apps.
- Visual Studio Code: used for coding in Java, C++, and writing documents in LaTeX, Markdown, HTML/CSS.