Link: Command-line tools can be 235x faster than your Hadoop cluster

Bash symbol

http://aadrake.com/command-line-tools-can-be-235x-faster-than-your-hadoop-cluster.html


What I find funny is how he goes from this intermediate step:

cat *.pgn | grep "Result" | sort | uniq -c

To this intermediate step in one shot.

cat *.pgn | grep "Result" | awk '{ split($0, a, "-"); res = substr(a[1], length(a[1]), 1); \
if (res == 1) white++; if (res == 0) black++; if (res == 2) draw++;} \
END { print white+black+draw, white, black, draw }'

This is what I refer to as “knowing your business”.

Node Version Manager: Manage multiple active node.js versions

Node.js logo

https://github.com/creationix/nvm


Commands

$ nvm [tab][tab]
alias        deactivate  install      ls                  run        unload
clear-cache  exec        list         ls-remote           unalias    use
current      help        list-remote  reinstall-packages  uninstall  version

Two Microsoft Windows alternatives:

  • nvmw – Requires Python and Git
  • nvm-windows – Written in Go. Installer available.

Pipe Viewer: Unix terminal-based tool for monitoring the progress of data through a pipeline

Pipe Viewer screenshot

http://www.ivarch.com/programs/pv.shtml


From the Pipe Viewer website:

pv – Pipe Viewer – is a terminal-based tool for monitoring the progress of data through a pipeline.
It can be inserted into any normal pipeline between two processes to give a visual indication of
how quickly data is passing through, how long it has taken, how near to completion it is, and an
estimate of how long it will be until completion.

Example from this blog post:

$ pv access.log | gzip > access.log.gz
611MB 0:00:11 [58.3MB/s] [=>      ] 15% ETA 0:00:59

tmux: Open Source terminal multiplexer

From the tmux website:

tmux lets you switch easily between several programs in one terminal, detach them (they keep running in the background) and reattach them to a
different terminal.

tmux is intended to be a simple, modern, BSD-licensed alternative to programs such as GNU screen.

This release runs on OpenBSD, FreeBSD, NetBSD, Linux and OS X and may still
run on Solaris and AIX (although they haven’t been tested in a while).