# 008 Internal twitter announcement: - give us a difficult question 5 minutes intro and welcome back - icebreaker: ... - what happened during summer - new website - RSE stories 20 min CL parsing - motivation - when do we use it?: always! - examples of existing programs - flags - bash best practices (RD) - start small - what compatibilyt level do you want? - example using only arguments - Add in options via `if [ "$1" = "-a"] ; then ; shift` - quick getopts example - copy from git-pr - python (RB) - sys.argv - argparse and optparse - docopt - click - How to design an interface - arguments vs options - planning for the future 5 intermission: - zola static site generator (RB) - what is your fav static site generator? - RD: ... 20 min running embarassingly parallel tasks in parallel (RB drafts) - Example - set of photos, want to downsize them all - use `convert` or some program - command line interface! - xargs - gnu parallel - makefile - bash: "&" and wait - slurm array job 5 git aliase imported to bash (RD) - Why is this a bad idea? Why is it a good idea? 5 minutes outro and questions