Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Oslo Day of Docker Opening Keynote

2,002 views

Published on

The story of cyber-dojo (so far)

Published in: Education
  • Be the first to comment

Oslo Day of Docker Opening Keynote

  1. 1. cyber-dojo executing your code for fun and not for profit
  2. 2. late 2009
  3. 3. https://github.com/JonJagger/cyber-dojo
  4. 4. Interactive Dojo Environment Integrated Development Environment • team based • learning focused • test driven • work slower • no time pressure • repeat work • have fun • individual based • finish focused • test driven? • work faster • time pressure • don't repeat work • make money
  5. 5. demo
  6. 6. 6x
  7. 7. 6x
  8. 8. 6x
  9. 9. 6x
  10. 10. 6x
  11. 11. 6x
  12. 12. 6x 30 seconds
  13. 13. 6x
  14. 14. red == tests ran; 1 or more failed 6x
  15. 15. green == tests ran; all passed 6x
  16. 16. amber == tests didn't run 6x
  17. 17. time's up!
  18. 18. Interactive Dojo Environment Integrated Development Environment • team based • learning focused • test driven • work slower • no time pressure • repeat work • have fun • individual based • finish focused • test driven? • work faster • time pressure • don't repeat work • make money
  19. 19. • work slower • work faster FAQ
  20. 20. • learning focused • finish focused
  21. 21. how does it work?
  22. 22. .../katas/B6/A35C8EF4/manifest.json Java Cucumber FizzBuzz cyber-dojo.org uuidgen == B6A35C8EF4 { language: "Java, Cucumber", exercise: "FizzBuzz" }
  23. 23. B6A35C cyber-dojo.org .../katas/B6/A35C8EF4/frog/sandbox/ avatar == frog .../katas/B6/A35C8EF4/frog/.git/
  24. 24. cyber-dojo.org .../katas/B6/A35C8EF4/frog/sandbox/source-files source-files
  25. 25. cyber-dojo.org .../katas/B6/A35C8EF4/manifest.json { language: "Java, Cucumber", ... } cyberdojofoundation/java_junit cyberdojofoundation/java_cucumber cyberdojofoundation/csharp_nunit cyberdojofoundation/go_testing docker containers
  26. 26. cyber-dojo.org google compute engine instances gce-node-01 gce-node-02 gce-node-03 cyberdojofoundation/java_cucumber cyberdojofoundation/java_cucumber cyberdojofoundation/java_cucumber cyberdojofoundation/... cyberdojofoundation/... cyberdojofoundation/... cyberdojofoundation/... cyberdojofoundation/... cyberdojofoundation/...
  27. 27. cyber-dojo.org .../katas/B6/A35C8EF4/frog/sandbox/source-files gce-node-02 /tmp/.../source-files rsync cyberdojofoundation/java_cucumber google compute engine instance
  28. 28. gce-node-02 /tmp/.../source-files $ eval "$(docker-machine env gce-node-02)" $ docker run --volume=/tmp/.../:/sandbox:rw --net=none ... cyberdojofoundation/java_cucumber /bin/bash "timeout 10s ./cyber-dojo.sh 2>&1" cyber-dojo.org cyberdojofoundation/java_cucumber google compute engine instance
  29. 29. gce-node-02 /tmp/.../source-files cyber-dojo.org cyberdojofoundation/java_cucumber $ eval "$(docker-machine env gce-node-02)" $ docker run --volume=/tmp/.../:/sandbox:rw --net=none ... cyberdojofoundation/java_cucumber /bin/bash "timeout 10s ./cyber-dojo.sh 2>&1" google compute engine instance
  30. 30. regex cyber-dojo.org
  31. 31. cyber-dojo.org git commit .../katas/B6/A35C8EF4/frog/sandbox/ .../katas/B6/A35C8EF4/frog/.git/
  32. 32. git gotcha!
  33. 33. test_wrapper.sh
  34. 34. summary
  35. 35. Interactive Dojo Environment Integrated Development Environment • team based • learning focused • test driven • work slower • no time pressure • repeat work • have fun • individual based • finish focused • test driven? • work faster • time pressure • don't repeat work • make money
  36. 36. 30,000+ practice-sessions
  37. 37. Bray
  38. 38. thank you
  39. 39. thank yous Byran Wills-Heath Nadya Sivers Seb Rose Olve Maudal Dymtro Mindra Mike Long
  40. 40. twitter : @JonJagger email : jon@jaggersoft.com blog : http://jonjagger.blogspot.co.uk/ charity : http://cyber-dojo.org

×