TITLE: Command line tools I'd like to use but can't
DATE: 2023-01-03
AUTHOR: John L. Godlee
====================================================================


miller is a command line tool and scripting language that can be
used to manipulate, transform and summarise structured data from
CSV, JSON and other formats. Miller is fast and can handle pretty
large datasets by streaming data rather than loading it all into
RAM. I'd always hoped to use it for quickly exploring a new
dataset, or for extracting data subsets for SEOSAW data requests.
What has held me back is that I know how to do basically everything
that miller can do in an interactive R session. Maybe if I was in a
role that only required data munging, rather than munging plus
statistical analysis I would use miller more.

 [miller]: https://github.com/johnkerl/miller
 [SEOSAW]: https://seosaw.github.io/

gnuplot is a command line graphing tool. It supports loads of
different types of plot, and the output is highly customisable. The
syntax is quite terse, but building up a library of examples over
time helps. I think the plots produced by gnuplot are very pretty.
Similar to miller, the reason I haven't used gnuplot more is that I
reckon I can accomplish nearly every type of data visualisation I
need to using R. Using the same programming environment for data
manipulation, analysis and visualisation makes managing my data
analysis workflow a lot easier.

 [gnuplot]: http://www.gnuplot.info/

when is a command line calendar program. It's very simple on the
surface but with deep functionality. It uses a simple plain text
file containing events stored by the user. This file can then be
queried to show events within certain time periods. It's also
possible to set recurring events. What holds me back from using
When is that at my work most of my colleagues use Microsoft Outlook
to share events and manage RSVPs. I don't want to have to manually
duplicate every event in my Outlook calendar in When.

 [when]: http://www.lightandmatter.com/when/when.html

neomutt is a command line mail reader. A few years ago I did
actually go through the rigmarole of setting up NeoMutt, and used
it for about 6 months at the start of my PhD. One problem I ran
into was that when using multiple email accounts it's only possible
to view one account at a time. On macOS it's also hard to set up
notifications for incoming emails. It's also becoming increasingly
difficult to use Gmail and Outlook email accounts with NeoMutt, as
they don't use standard IMAP and require ever more complicated
authentication procedures. If I ever move away from working at
Universities and only have to manage my personal email address, I'd
probably move to something like FastMail and go back to using
NeoMutt with IMAP.

 [neomutt]: https://neomutt.org/
 [FastMail]: https://www.fastmail.com/