Skip to content

Latest commit

 

History

History

27-08-2017

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

A software digest made by developers in 2 parts.

Part 2/2: shells, guis and git.

Special credits to:

for the participation in the interview.

ZSH

This is how my shell currently looks like. zsh, that is highly configurable with a set of plugins and themes (see oh-my-zsh), is available for Linux and MacOS users. I use only git and zsh-autosuggestions plugins however my productivity of working with shell has increased a lot since I started using zsh.

git plugin adds many aliases like gc, gcm etc.
zsh-autosuggestions enables shell autocompletion

Sergei Samsonov has reported that he uses zsh too.

PowerShell

Ivan Akulov:
It’s a Windows’s built-in advanced terminal. I use it instead of Bash because I’m a Microsoft fan mostly, but it still has its advantages.

Pros:

  • Its command language. Just like Bash, PowerShell has its own built-in language and a set of commands. However, there’re two major differences:
    • The commands operate objects instead of text. When you type ls, you get not just a set of strings, but an array of objects. This makes piping data really powerful: you don’t need to parse stuff, you just write ls | ForEach-Object { $_.Extension.ToUpper() } and get a list of extensions in the current directory in upper case. This also brings great autocompletion.
    • PowerShell exposes the full .NET environment into the terminal. Thanks to this, you can do almost anything without installing additional packages.

Cons:

  • It doesn’t have tabs, and this brings some inconvenience. Switching to a wrapper around PowerShell is an option, but not for me because I’ve got accustomed to the native behavior (how text selection works, how keyboard shortcuts work and so on).
  • It’s not Bash. UNIX shell has existed since, I guess, the 1980s, so it became almost de-facto standard. Because of this, most StackOverflow answers or articles you’ll find will, most likely, only mention Bash. You’ll have to google how to do a corresponding thing in PowerShell.

git

If you'd like to use shortcuts for git commands you can set them up in one of following ways:

By installing zsh's git plugin:

How to install zsh

# use
gaa # git add --all
gcn! # git commit --amend --no-edit -v

By setting up git aliases

# set up
git config --global alias.co checkout
git config --global alias.loe log --oneline -n

# use
git co master
git loe 10

By creating bash aliases:

# set up
echo 'alias ga="git add "' >> ~/.bash_profile
echo 'alias gc="git commit "' >> ~/.bash_profile

# use
ga -A
gc -m "Add blackjack to bash"

Ivan Pazhitnykh:
I am accustomed to my git aliases a lot: ga, gc, gb, go gp, gp, gu, gl, gll, gpf. These are my configuration files for bash and git.

Also I use GitHub Desktop to look through the files / changes with a pleasant UI.

Other notable software

By Sergei Samsonov:

Pixel Winch – indispensable program for screen measurement
ColorSnapper – macOS color picker
Tower – the most tough and convenient git GUI.
Kaleidoscope – simple and clear mergetool
Optimage – image optimization tool
Bear – great Evernote substitute
Things – task manager

By Ivan Pazhitnykh:

Robomongo - GUI for MongoDB - buggy a bit but I don't know any alternatives Postico - PostgreSQL client for Mac. Much better than PgAdmin and has an attractive minimalistic UI.
Postman - GUI platform for development and testing APIs
EME - Elegant Markdown Editor
bash-completion - bash autocompletion software
thefuck - app thats corrects typos in commands
Codacy - automated code reviews Travis - CI / CD platform
Trello - effective boards with a range of integrations