Command line tools I’d like to use but can’t


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.

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.

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.

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.