Useful Applications (mostly for Mac)

Productivity
Developer Tools
Author

Lawrence Wu

Published

March 24, 2023

In this blog post, I’ll introduce you to a list of useful applications, covering both developer tools and productivity applications that I’ve found useful over the years. I’ll also provide you with a brief overview of each app, including its key features and how it can help you improve your workflow. This is mostly Mac focused, though some of these are available on other operating systems.

Productivity

Google Chrome: I’ve tried other browsers but I still find myself going back to Chrome.

Workflowy: A simple yet powerful app for note-taking, outlining, and task management, Workflowy helps you organize your thoughts and projects using nested lists and intuitive keyboard shortcuts. It’s simple at it’s core as Workflowy is essentially an infinitely nested bulleted list. They’ve added additional features over the years like mirroring lists which I’ve found helpful. Notion may have more features but I haven’t overcome the intertia needed to switch yet.

Todoist: A great multi platform to-do list app. One of my favorite features is being able to type dates and/or times that Todoist will parse into a due date. Because of my poor memory, I need to write everything down. If it’s task-related, it will go into Todoist. On a related note, the Reminders app on an Apple Watch is also useful for capturing todos on the go. I hold the crown to activate Siri and say “Remind me to do X at tomorrow at 10pm” and this reminder will pop-up at tomorrow 10pm on my iPhone.

Rectangle: A window management app for macOS, Rectangle enables you to quickly and effortlessly resize and organize your windows using keyboard shortcuts or by dragging windows to screen edges. Iused to use ShiftIt which did something similar but Rectangle does the same thing but works on the latest versions of macOS.

Stats: An open-source system monitor for macOS, Stats provides you with detailed information on your CPU, memory, disk, network, and battery usage, all accessible from your menu bar. I used to pay for iStat Menus but stats is an open source version.

Amphetamine: Keep your Mac awake and prevent it from sleeping with Amphetamine, a powerful and customizable app that allows you to set rules based on applications, time, or power source. Similar to the Caffiene app.

Be Focused: A productivity-enhancing time management app, Be Focused utilizes the Pomodoro Technique to help you break work into manageable intervals, maintain focus, and stay on track. I find using Pomodoros, setting 25 minute timers of focused work to be incredibly helpful.

Hidden Bar: A minimalist app that allows you to declutter your Mac’s menu bar by hiding icons you don’t need to see all the time, Hidden Bar lets you access these icons with a simple click whenever needed.

1Password: A reliable password manager. Been using it since version 5.

Developer Tools

Homebrew: A must-have package manager for macOS, Homebrew makes it easy to install, update, and manage software packages, including command-line tools and graphical applications.

Visual Studio Code: A versatile and free source code editor developed by Microsoft, Visual Studio Code supports a wide range of programming languages and comes with built-in support for Git, intelligent code completion, and a plethora of extensions to customize your coding environment.

iTerm2: A highly customizable and feature-rich terminal emulator for macOS, iTerm2 improves upon the default Terminal app with features like split panes, search functionality, and extensive customization options.

Anaconda/Miniconda: Anaconda is a powerful Python and R distribution that simplifies package management and deployment, while Miniconda is its lightweight counterpart. Both options provide you with the essential tools to set up and manage your data science and machine learning environments.

zsh: zsh has become my bash replacement.

Oh My Zsh: Makes zsh more useful with a bunch of plugins.

Sublime Text: A sophisticated and lightning-fast text editor designed for code, markup, and prose, Sublime Text offers a sleek interface, multiple selections, and a highly extensible plugin API.

Here’s a bash script to install all of these packages:

#!/bin/bash

# Install Homebrew if not already installed
if ! command -v brew >/dev/null 2>&1; then
  /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
fi

# Update Homebrew and install required packages
brew update
brew tap homebrew/cask
brew tap homebrew/cask-versions

# Productivity
brew install --cask google-chrome
brew install --cask workflowy
brew install --cask todoist
brew install --cask rectangle
brew install --cask stats
brew install --cask amphetamine
brew install --cask be-focused
brew install --cask hiddenbar
brew install --cask 1password
# uncomment for 1password 6.8.9
# brew install --cask https://raw.githubusercontent.com/Homebrew/homebrew-cask-versions/master/Casks/1password6.rb
brew install --cask dropbox

# Developer Tools
brew install --cask visual-studio-code
brew install --cask iterm2
brew install anaconda
brew install zsh
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
brew install --cask sublime-text

echo "Installation complete!"

Save the script in a file named install_apps.sh and make it executable using the following command:

chmod +x install_apps.sh

Finally, run the script using:

./install_apps.sh