Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Development laptop automation

Development laptop automation

A talk I gave at a python meeting in Eindhoven, the Netherlands.


Reinout van Rees

November 11, 2014

More Decks by Reinout van Rees

Other Decks in Programming


  1. Development laptop automation Reinout van Rees Nelen & Schuurmans (in

  2. “The shoemaker’s children go barefoot” • What do you develop?

    • Myself: philips intranet, now water management. • Do you develop for yourself? With the same care?
  3. How productive are you? • How well do you know

    your editor/IDE? • What do you do by hand? • What did you automate? • What do you learn every year?
  4. Disaster can strike • Scare tactics :-) • Do you

    use svn/git/hg for your code? • Same question: for your laptop configuration? • What if you get a new laptop next week?
  5. Call to action • Automate your development laptop with the

    same care as your regular projects • Mindset 1: be explicit about it • Mindset 2: do something regularly
  6. Mindset 1: be explicit • Store your configuration in git

    • Bash aliases, shell scripts, small python programs you wrote, ssh config, etc. • README that explains your setup • So… explicit instead of by accident
  7. Mindset 2: do something regularly • Change in your setup?

    Adjust README • Revisit list of oft-used apps every year • Grab latest python packages • Ask people about their setup • Automate/improve/fix something every week
  8. Don’t be too perfectionistic

  9. Market garden Battle of Arnhem: Son bridge

  10. Get replacement through Eindhoven

  11. Bailey bridge: used as roof in Eindhoven station now…

  12. Don’t be too perfectionistic

  13. Examples • zest.releaser • checkoutmanager • dotfiles • nensskel

  14. Skeleton • zopeskel, zestskel, thaskel, nensskel • example • README

    with checklist
  15. zest.releaser • Manual: update version number, add date to changelog

    header, “git tag”, up version number, add changelog header, “git push”, “git push —tags” • Automated: “fullrelease”
  16. checkoutmanager • co • up • st • out •

    Based on a config file
  17. Dotfiles • Symlink ~/.something to ~/ Dotfiles/something • Private git

  18. URLs • https://pypi.python.org/pypi/ zest.releaser • https://pypi.python.org/pypi/ checkoutmanager • https://pypi.python.org/pypi/ dotfiles

    • https://github.com/reinout/ tools/ • http://reinout.vanrees.org