Oprah Winfrey is famous for many reasons, but one of the most popular episodes of her eponymous talk show was her yearly “Favorite Things” Show — it’s actually so popular, years removed from Oprah, she still publishes her annual list.
In Favorite Things, Oprah shared noteworthy or impactful products which audience attendees would be awarded much to their joy, shock, disbelief and ecstasy.
So how does this apply to Simple Thread?
As a distributed team, Simple Thread gathers weekly to take part in a “Continuous Learning” activity. Sometimes the meetings are a book club, other times a team member will present a mighty feat of engineering. Recently, we used a Continuous Learning meeting to share some of our favorite tips and tricks amongst ourselves.
People’s minds were blown.
Thanks to these productivity hacks, team members have expressed nothing short of the same elation found on Oprah’s Favorite Things episode.
My guess? They just tried TabNine for the first time …
So prepare yourselves! Simple Thread wanted to share some of our favorite things with you!!!
Disk & File Utility Favorite Things
ncdu :: NCurses Disk Usage
command-line disk utility for Unix systems
Comments: ncdu is good for finding what’s using disk space on servers you’re ssh’ed into. It uses ncurses to present a text interface to let you navigate folders, delete files.
— Al Tenhundfeld
Kaleidoscope :: kaleidoscopeapp.com [Free Trial]
macOS/iOS graphical file comparison tool
Comments: Good for highlighting character-level changes, useful as git difftool and mergetool. This tool easily spot the differences in text and image files. Review changes in seconds with the world’s most advanced iOS and Mac diff tool. Also be sure to check out Beyond Compare – another file comparison tool, for Mac/Windows/Linux. BC is not as graphically polished as Kaleidescope, but touts itself as more of a “data comparison tool” than a file comparison too. For example, it can compare more than just local files, like FTP folders or S3 buckets. Also, it has better support for comparing structured data like CSV diff shows and columns and rows, not just text.
— Al Tenhundfeld
OS Automation Favorite Things
Copy’em Paste :: Apprywhere.com
Clipboard Manager for Mac OS X
Comments: Stores my clipboard history so I can access multiple recent copies when I paste. Works on images and other files as well as text.
— Spencer Hansen
Hammerspoon :: Hammerspoon.org
Automation of OS X
Comments: At its core, Hammerspoon is a simple bridge between the operating system and a Lua scripting engine. I’m gradually improving my Hammerspoon config so that I can do more Mac stuff without touching the mouse.
— Mike Green
text expander :: textexpander.com [Free Trial]
macro to text binder
Comments: As a bizdev person I am jealous of our team’s coders as they live their best D.R.Y.
lives. TextExpander is my chance save countless keystrokes by binding text-based macros to key combinations. I use it to post repeated messages like links to my calendar app, commonly shared phone numbers or Zoom links and boilerplate emails. So, instead of remembering and typing out my full Calendly page link for a 30-minute call, I can simply type :b30
and presto! Text Expander even incorporates field functions to customize repeated tasks like boilerplate emails. What’s more? It supports Shell, Apple and JavaScript so could work with line commands and scripts!
— Brian Bassett
Command Line Favorite Things
Grip :: GitHub
Local Markdown file previewer
Comments: Grip is awesome for previewing Markdown files locally before committing them. It opens up a local web server to feed up styled Markdown files to preview in the browser. Lately I’ve become of big fan of tools that feel unixy. Since Grip is just a web server converting a Markdown file to PDF is a snap. The functionality is baked right into chrome.
— Alex Baldwin
fzf :: GitHub
general-purpose command-line fuzzy finder
Comments: Another command-line tool, think of fzf as a simplified interactive grep. We use it to search command histories, file lists and build app specific developer search tools. It also has a nice integration with the VIM editor via fzf.vim
. This lets us quickly search commits, recently accessed files, files in git status
as well as snippets.
— Alex Baldwin, Mike Green, Stephen Kiningham
gnomon :: GitHub
command-line utility, to prepend timestamp information
Comments: Kind of like moreutils’s ts, super helpful if you want to know how long each step is taking on a script. It appends a live timestamp to each line of stdout.
— Alex Baldwin
jq :: GitHub or fx :: GitHub
lightweight and flexible command-line JSON processor
Comments: We all like a JSON salad, but hey who has time to slice and dice your favorite open-formatted data? Like a simpler sed
, jq is a command line tool for slicing, filtering, transforming and even slap-chopping your JSON data. The trick is building enough intuition and muscle memory with this tool so that you don’t forget to use it for three months and be delighted when you rediscover it again.
— Mike Green, Al Tenhundfeld
tmuxinator :: GitHub
create and manage tmux sessions easily.
Comments: Tmuxinator allows me to have project specific tmux sessions that spin up with one command with everything I need neatly organized and running. For rails projects it is especially nice to bring up a session with the server running, the console up and the editor open.
— Casey Ellett
Silver Searcher (Ag) :: GitHub
A code-searching tool similar to ack, but faster.
Comments: Need to find things? Need to find them quickly? Done.
— Justin Etheredge
Z :: GitHub
Tracks your most used directories, based on ‘frequency’.
Comments: I swap between all my most used projects with this command. No more cd what/parent/folder/did/i/put/that/in/again
.
— Alex Baldwin
Tldr :: GitHub
Simplified and community-driven man pages
Comments: Man pages tend to trade thoroughness for simplicity. Sometimes all you need is a quick overview of a command with an example.
— Alex Baldwin
ssh-copy-id :: ssh.com
Install your public key in a remote machine’s authorized_keys
Comments: Nifty little utility that allows you to install your keys on a server for passwordless authentication.
— Al Tenhundfeld
Roamer :: GitHub
The Plaintext File Manager
Comments: I like being able to operate on my directory files like OSX’s finder app but I hate leaving my terminal. I built Roamer because Ranger felt a bit too heavy for simple file operations. Another set of commands that although similar are not quite the same as my VIM editor. I kept saying to myself… I wish this was just regular ol’ plain text.
— Alex Baldwin
Htop :: https://hisham.hm/htop/
An interactive process viewer for Unix
Comments: This utility is used on just about every TV show featuring “hackers” for its colorful ASCII interface. It’s a system activity viewer like top
that displays information on active processes running on your computer, their resource usage, etc. What makes it better than Top is its search feature, customizable table columns and sorting, process tree view, and the ability to display graphs and gauges. This is visible in the background whenever a character on a show says “I have access”.
— Mike Green
Ranger :: GitHub
A VIM-inspired file manager for the console
Comments: Command line file manager with Vim-like key bindings, because when you’ve got that muscle memory, you tend to want to use it everywhere you can. Why reach for arrow keys when you can just use HJKL?
— Mike Green
PV :: ivarch.com
Terminal-based tool for monitoring the progress of data through a pipeline
Comments: Ever tried loading up an enormous database dump and been tempted to cancel it because it seemed like it was taking way too long and something must’ve gone wrong? pv
helps you by letting you monitor the progress of your data. Example pv -btrep database.sql.gz | gunzip | mysql -uroot db_name
. You can use pv
like cat
to start a pipeline, or you can insert it into a pipeline between any two commands. It can tell you how much data has moved through the pipeline, how long it’s taken, and estimate how much time is left until it’s done.
— Mike Green
tig :: GitHub
An ncurses-based text-mode interface for git
Comments: Tig (git spelled in reverse) is great for browsing your git repository without having to ever leave the terminal.
— Justin Etheredge
Vim Plugin Favorite Things
TabNine :: TabNine.com [Licensed]
all-language autocompleter
Comments: Relative to other tab completion options in Vim, FIVE STARS to TabNine because it actually works! I use it in Sublime too (also five stars) though Sublime’s default is fine too. It would fall short of Intellisense on statically typed code, but for Ruby, Javascript, etc. it’s amazing.
— Stephen Kiningham
Fugitive :: GitHub
A Git wrapper so awesome, it should be illegal.
Comments: Do basically anything you can do with Git, without leaving your editor. Fugitive has a simple status, commit, and blame interface that reduce friction and context switches when working with revision control.
— Mike Green
ALE :: GitHub
Asynchronous linting/fixing for Vim and Language Server Protocol (LSP) integration.
Comments: Automatically check the syntax of the file you’re currently editing, usually each time you save it, by running it through format-specific linting programs like ESLint, Rubocop, etc.
— Mike Green
Fzf.vim :: GitHub
Provides Vim commands for the built-in fzf Vim integration.
fzf has Vim integration, but you have to create your own commands. Fzf.vim provides them to you.
— Justin Etheredge
Vim-bookmarks :: GitHub
Vim bookmark plugin.
Comments: When I’m reading complex code path flowing through 25 files it can be difficult to keep track of points of interest. With this plugin maintaining a list is only one keystroke away.
— Alex Baldwin
Vim-easymotion :: GitHub
Vim motions on speed!
Comments: I only use one option from this plugin but I use it every couple minutes. nmap <tab> <Plug>(easymotion-jumptoanywhere)
to jump to an arbitrary location in a text file using only the keyboard.
— Alex Baldwin
Vim-surround :: GitHub
Quoting/parenthesizing made simple.
Comments: Operate on opening/closing characters the vim way. Converting double quotes to single quotes is as simple as cs"'
. Or change those single quotes to a paragraph element with cs'<p>
.
— Alex Baldwin
Vim-gitgutter :: GitHub
A Vim plugin which shows a git diff in the gutter (sign column) and stages/undoes hunks.
Comments: Track which lines which lines have been added, modified, or removed compared to your git repo. Also adds nice keybindings to jump between changes with ]c
and [c
or stage changes with <leader>hs
.
— Mike Green
undotree :: GitHub
The undo history visualizer for VIM.
Comments: Vim’s branching undo history is awesome for preserving changes that would otherwise be completely lost. However finding a series of changes you undid an hour ago can be tricky. undo tree gives you a nice visualization similar to git log --graph
so you can dig it back up.
— Alex Baldwin
vim-airline :: GitHub
A statusline plugin for vim.
Comments: Want a fancy little bar that sit at the bottom of Vim and provides statuses for a bunch of other apps and plugins you already use? Look no further.
— Justin Etheredge
Browser Extension Favorite Things
Octotree :: GitHub
GitHub filetree style display
Comments: An extension to show code tree for GitHub. It has an easy-to-navigate code tree, just like IDEs and it can also support both private repos or GitHub Enterprise. I can’t live without it.
—Stephen Kiningham
Scrum for Trello :: scrumfortrello.com
Scrum for Trello adds functionality to the awesome trello.com for use in Scrum projects.
Comments: Scrum for Trello is a nifty little browser extension that helps to label and quantify cards in a visually appealing way for a team’s quick review from the board level. Using the extension, I can denote numerical status of “doneness” on a card (1/2, 3/5, 9/10) which then tinges the background of the card appropriately. SFT also allows you to add text/color labels to categories or items beyond Trello’s more simple Red/Orange/Yellow marking. I love using Scrum For Trello in team efforts just as much as I do in tracking my own personal projects.
—Mike Green
Pocket :: getpocket.com
Nifty extension for saving things you’ll never get back around to reading
Comments: Honestly, the biggest use I have for Pocket is to convince me to close tabs instead of leaving them open. If something is really interesting, I’ll go in Pocket and find it and eventually read it, but most things I never get back to. So really Pocket is a tool for helping me manage my FOMO.
—Justin Etheredge
1Password :: 1password.com
Password Manager
Comments: 1Password’s browser plugins are awesome and make managing passwords ridiculously easy. If you’re not already using a password manager because you think it’ll be a pain, I recommend checking this out.
—Justin Etheredge
Window Management Favorite Things
Moom – manytricks.com
Moom makes window management as easy as clicking a mouse button—or using a keyboard shortcut, if you’re one of those types of people.
Comments: Let’s face it. Window management in most operating systems suck. Moom makes it suck a little less in OSX.
—Justin Etheredge
HazeOver :: hazeover.com
HazeOver automatically highlights the front window by fading out all the background windows.
Comments: We all have a million things open all the time. Sometimes it can be hard to find windows, or we just want to focus on a single window. HazeOver does that without forcing you to go full screen.
—Justin Etheredge
Development Tool Favorite Things
Postman :: getpostman.com
Powerful tool for API development
Comments: Postman helps you keep track of your API endpoints, document them, and execute them. You can share your workspaces across your team in order to help everyone work collaboratively. If it still doesn’t sound very impressive, just check it out.
—Justin Etheredge
Homebrew :: brew.sh
The missing package manager for macOS
Comments: Package manager for macOS. Indispensable. If you’re a developer and using macOS, then you’re almost certainly already using Homebrew. If not, go get it now.
—Justin Etheredge
DevDocs :: https://devdocs.io/
Combines multiple API documentations in a fast, organized, and searchable interface
Comments: DevDocs gives you a single place to search tons of API documentation. You can also use it as a Chrome plugin or desktop app.
—Mike Green
direnv :: direnv.net
direnv is an environment switcher for the shell
Comments: direnv looks for a .envrc file in the current and parent directories and will load/unload environment variables into your shell. Really fast and easy to use.
—Mike Green
Mailcatcher/MailHog :: mailcatcher.me and GitHub (MailHog)
A simple local SMTP server
Need a way to test mail deliveries from your app on your local environment? Mailcatcher sets up a local SMTP server that your app can send mail to, then you can open up a browser and view those emails. You’ll wonder how you ever lived without it! If you need something similar for a staging environment, check out Mailtrap.
—Al Tenhundfeld
Screensharing/Pairing Favorite Things
Slack :: https://slack.com/
Chat, videoconferencing, screensharing
We use Slack for chat, and you probably already do as well. It seems like the whole world is these days. However, if you don’t pay for their premium service you might not be aware that they also do a pretty good job with videoconferencing and screensharing. For bigger groups we like Zoom, but Slack screensharing is so easy when you’re already in it all day.
—Al Tenhundfeld
Zoom :: zoom.us
Easy screensharing and videoconferencing
Zoom is magical. I don’t know how they do it, but they manage to be head and shoulders above other services in terms of video quality and reliability. We use it constantly.
—Justin Etheredge
Tmate :: tmate.io
Terminal sharing
Comments: Tmate is great when you just need to share your terminal without all of the overhead of sharing your full screen.
—Mike Green
You get a productivity bump! And YOU get a productivity bump! And you …
We hope you enjoy some of these tools and tricks as much as we do! Maybe knowing that tmuxinator
can help you manage your terminal sessions more easily, or that Copy'em Paste
lives to keep those old copy-clippings for you will make you as happy as them!
Alas, since we don’t have Oprah’s production budget or marketing sway we can’t send you free versions. That said, most of these tools are open source or at least have some freemium use. So you can start realizing what time savers they are without even opening your wallet.
Hopefully these tools and tips will be a boon to your productivity. What are some of your favorite tools that we could include in our list? We’d love to hear about them in the comments!
Loved the article? Hated it? Didn’t even read it?
We’d love to hear from you.
I really enjoyed this blog.