aboutsummaryrefslogtreecommitdiffstats

Spark

Sparklines for Your Shell

Here's a graph of your productivity gains after using spark: ▁▂▃▅▇

Installation

Simply run make and sudo make install. The DESTDIR controls prefix, which is /usr/local by default.

Usage

Just run spark and pass it a space deliminated list of numbers. It's designed to be used in conjunction with other scripts that can output in that format.

$ spark 0 30 55 80 33 150
▁▂▄▅▃█

If no arguments are passed, it will read from stdin a set of numbers delimited by any character except 0 through 9, - (dash), . (period), e, and E.

$ echo "7,6, 5, 4 3 2 1" | spark
█▇▆▅▄▃▂

It's pretty resilient on the input it will take, which should make shell scripting with it easier:

$ echo "12,1 6 8*3,1i5i2(4 % 7 =3" | spark
█▂▅▆▃▂▄▂▃▅▃

Invoke help with spark -h.

Examples

Magnitude of earthquakes over 1.0 in the last 24 hours:

$ curl -s http://earthquake.usgs.gov/earthquakes/catalogs/eqs1day-M1.txt | cut -d, -f9 | spark
▁▂▂▂▁▂▁▁▁▂▁▄▁▂▂▂▃▁▂▂▂▃▃▂▂▂▂▁▁▁▁▁▂▁▂▆▃▂▂▂▂▁▅▂▂▂▆▂▁▂▂▂▂▁▁▂▃▂▃▁▁▁▁▅▂▃▂▄▁▃▁▂▁▂▁▅▁▁▂▅▁▂▁▂▁▁▁▂▁▁▁▁▁▁▃▁▂

Number of commits in a git repo per active day:

$ git log --pretty=format:%ai --reverse | cut -d' ' -f1 | uniq -c | awk '{print $1}' | spark
▁▂▄▃▃▂▃▃▄▄▄▃▁▂▁▁▄▃█▃▂▂▅▄▄▃▂▄▃▇▄▂▄▁▁▂▅▂▂▁▂▁▂▂▄▅▃▂▃▂▂▂▂▄▂▂▁▄▂▁▂▂▃▂▂▂▁▂▂▂▄▂▃▃▆▅▂▂▄▅▃▁▂▁▁▂▁▂▂▄▁▁▂▃▂▂▄

Characters per line in spark.c:

$ awk '{print length($0)}' spark.c | grep -Ev '^0$' | spark
▂▂▂▂▂▂▂▃▁█▆▆▂▁▂▂▃▃▂▂▄▂▂▂▁▃▃▃▂▃▂▁▂▂▂▂▂▂▄▂▂▂▁▂▂▂▇▂▂▂▂▂▁▂▂▃▂▅▂▃▂▁▁▃▃▃▃▃▂▁▂▁▁▃▂▂▃▃▂▂▇▁▂▂▂▁