A collection of Terminal tools I love, for better productivity.

Homebrew + Cask

Homebrew-Cask extends Homebrew and brings its elegance, simplicity, and speed to macOS applications and large binaries alike.

Not only brew is a lovely (and the leading) package manager for macOS, it also comes with cask, command to install applications.

This allows to install apps like Google Chrome, Spotify, VSCode, Slack etc with a single command:

brew cask install google-chrome spotify slack visual-studio-code

List of all available applications: https://github.com/Homebrew/homebrew-cask/tree/master/Casks

Saves a lot of time when setting up a new machine.

iTerm 2

iTerm 2 is a replacement for Terminal. Comes with gazillion features.

brew cask install…

Image for post
Image for post

Updated Feb 2020

My The Ultimate Atom Editor Setup (+for JS/React) post is pretty popular, but not long ago I migrated to VSCode.

Why? Speed, stability and TypeScript.

Overall, I’m very happy with the switch. As with Atom, for me, out-of-the-box the editor has a lot of missing functionality. However, it is covered by extensions.

I divided this list into Utilities and HTML/CSS/JS/React specific extensions, sorted alphabetically.

Utilities

Bracket Pair Colorizer

This extension allows matching brackets to be identified with colours. The user can define which characters to match, and which colours to use.

Image for post
Image for post
Bracket Pair Colorizer

change-case

A wrapper around node-change-case for Visual Studio Code. …


A list of really awesome tools I use every day to increase my productivity. Part 1 / Part 2.

1. Octotree (github.com/buunguyen/octotree) [Browser extension]

Browser extension (Chrome, Firefox, Opera and Safari) to show a code tree on GitHub. Awesome for exploring project source without having to pull every single repository to your machine.

Image for post
Image for post
Octotree

2. OctoLinker (octolinker.github.io) [Browser extension]

Navigate through projects on GitHub.com efficiently with the OctoLinker browser extension. Great for viewing JS/Node/Ruby/Python sources.

Image for post
Image for post
OctoLinker

3. Oh-My-Zsh (ohmyz.sh) [Shell]

Oh-My-Zsh is an open source, community-driven framework for managing your ZSH configuration. It comes bundled with a ton of helpful functions, helpers, plugins, themes, and a few things that make you shout…

One big feature Oh-My-Zsh adds is an enhanced <tab> behavior to various of things. E.g. type npm run <tab> will show all available npm scripts commands from package.json, and all navigable with arrows. Same for cd and git commands. Plugins need to be activated in .zshrc


After years of perfecting my Sublime Text setup, I’ve decided to give Atom a chance. It took a couple of months, and I’m very proud of the setup I got. I feel super productive.

I divided this list into Utilities and JS/React specific packages. Default keybindings are also mentioned.

TL;DR — A script to install all packages is at the bottom of this article.

Utilities

atom-beautify

Beautify HTML, CSS, JavaScript, PHP, Python, Ruby, Java, C, C++, C#, Objective-C, CoffeeScript, TypeScript, Coldfusion, SQL, and more in Atom. ⌃+⌥+B

Image for post
Image for post
atom-beautify

prettier-atom

Format your JavaScript using Prettier. Comes with powerful optional ESlint integration. (Recommended by Dan Abramov — Thanks!). …


A bunch of keyboard shortcuts and configuration for macOS I use extensively.

= Command | = Option/Alt | = Shift | = Control

  1. ⌃+fn+F7 — hit this once, to globally enable Tab key focus on all controls in dialogs/preferences screens. See the state of this setting under System Preferences > Keyboard > Shortcuts.
  2. Enable the following with ⌃+fn+F1:
    - ⌃+fn+F2 to focus on menu bar
    - ⌃+fn+F3 to focus on the dock
    - ⌃+fn+F8 to focus on menu bar icons
    after focusing either, use the keyboard to navigate. …

MobX/Redux’s Provider must get only a single child because it only renders this.props.children, and React doesn’t handle multiple objects returned from render.

DevTools (MobX/Redux) are usually rendered at the top level component, but in case that top level component renders a router, it needs another element (e.g. div) to wrap everything. This is not always wanted.

However, using a portal removes the need for the extra div:

A Portal is a technique to render a React tree under some DOM element outside of the current one (where ReactDOM.render is), while maintaining the context. That DOM element can be anywhere on document. It’s mostly useful to render a lightbox/tooltip that attaches to the document.body. It is done by the ReactDOM.unstable_renderSubtreeIntoContainer function.


Image for post
Image for post

My personal experience with web development, catching up with tools, libraries, frameworks, and fad fashions includes many list items. Each year introduced “the next big thing” and I got addicted to trying and adopting technologies. And yet, I try not to forget to build things in between.

1999

OS: Windows ’98 / Editor: Notepad, Front Page Express / Browser: IE5 / Front End: HTML 4/DHTML, Nested Tables / Back End: CGI, Perl, SSI

2000

Editor: EditPlus / Browser: IE5.5 / Front End: CSS, JavaScript, FrontPage 2000 / Back End: ASP 3 VBScript, Access DB

2001

OS: Windows XP / Front End: Flash, ActionScript

2002

Back End: ASP 3 JScript / Front End…


A list of really awesome tools I use every day to increase my productivity.
Part 1 is here

Choosy (choosyosx.com) [OS X]

There are too many browsers, and yet, I use each one for different purpose. Safari and Chrome for leisure and reading, Chrome Canary for development, Firefox for testing. I realized I pass links around too much, especially when I open a link from emails/slack/text messages and it opens in my default browser but I wanted to open it in another. Choosy is exactly that tool, it lets you choose which browser will open a link, essentially by becoming the default browser.

Image for post
Image for post
Clicked on a link in an email client

Spectacle (spectacleapp.com) [OS X]

A popular, nifty tool that lets moving and resizing windows. My configuration is alt+1 for full screen, alt+2/3 for the sides. It’s free and very configurable. …


A list of really awesome tools I use every day to increase my productivity.

Kifi (kifi.com)

Update: Kifi shut down, but Refind is a very similar product that contains the features described here.

Kifi revolves around bookmarking, search, and collaboration. In its core, Kifi is a Chrome Extension that lets you keep web pages with a click. It indexes the content of a kept page, and makes it easy to find later. So let’s say you encounter this tutorial, “Sever-Side Rendering with Redux and React-Router”. You don’t need it right now, but maybe in the future, so you keep the page. In a month, you totally forgot about it or how you got to it. Just search something like react server side render and it’ll appear first (most likely) on Google (the extension makes it happen). …

About

Elad Ossadon

Code junkie, productivity freak | Front End @ Lyft

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store