# 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