---
# System prepended metadata

title: 008 Internal

---

# 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






