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

Generators, Wizards and Scrolls

Generators, Wizards and Scrolls

With 1000s of open source options, and too much work to do, we need to be able to try and enjoy new projects as quickly as possible. Generators and wizards are the solution, not readmes. These combine to make App Scrolls.

Cb2b768a5e546b24052ea03334e43676?s=128

Dr Nic Williams

April 19, 2012
Tweet

Transcript

  1. GENERATORS WIZARDS & SCROLLS @drnic @ RubyIreland 2012-4-17 ENGINE YARD

    | @DRNIC | GENERATORS, WIZARDS AND SCROLLS
  2. YOUR COMPANY NAME | LONG AND INTERESTING PRESENTATION TITLE |

    VERSION NO. XX | 06 /02/2012 “wearing my twitter shirt” at RailsUnderground, London
  3. YOUR COMPANY NAME | LONG AND INTERESTING PRESENTATION TITLE |

    VERSION NO. XX | 06 /02/2012 Tony Stark at NordicRuby, Gothenburg “wearing my twitter shirt” at RailsUnderground, London
  4. YOUR COMPANY NAME | LONG AND INTERESTING PRESENTATION TITLE |

    VERSION NO. XX | 06 /02/2012 Tony Stark at NordicRuby, Gothenburg Tinker Bell at CodeConf, San Francisco “wearing my twitter shirt” at RailsUnderground, London
  5. ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS WHAT

    You know a generator when you see it
  6. ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS APPLICATION

    GENERATORS Let’s make a new app
  7. ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS xCode

  8. ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS visual

    studio
  9. ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS rails

  10. ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS app

    generators • All this code is needed but… • “Just start editing here” • Prepopulated defaults
  11. ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS COMPONENT

    GENERATORS Add something to an app
  12. ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS rails

  13. ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS plugins

  14. ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS component

    generators • Encourage best practise • “This ‘test’ folder must be important”
  15. ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS BUT

    WHY? Why do we use them? Why should you write them?
  16. ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS buy

    once read never
  17. ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS learn

    in 10 mins or less
  18. ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS development

    and production different
  19. ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS old

    path to adoption • Microsoft releases something • Microsoft Press sells a book • Read the book • Buy the Microsoft thing • Use the Microsoft thing
  20. ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS because

    i say so
  21. ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS 1000s

    of options
  22. ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS how

    to choose?
  23. ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS try

    them all?!
  24. ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS

  25. ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS because

    i say so
  26. ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS because

    of tweets
  27. ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS new

    path to adoption • Heard about something • Try it - generators/scrolls • Advocate it - “this is great” • Learn about it
  28. ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS alternate

    new path to adoption • Heard about something • Advocate it “this looks great" • Try it • Learn about it
  29. ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS TRY

    IT How fast can you be successful?
  30. ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS succeed

    fast
  31. ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS also

    great
  32. ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS try

    this. ha! oh no!
  33. ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS Much

    better!
  34. ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS barriers

    to adoption • “How do I try it?” • “How do I add it to my app?” • “How do I know if I’m doing it right?”
  35. ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS WIZARDS

    Help me. For the love of God.
  36. ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS wizards

    1. Question about something 2.Choose some option 3. Confirm something 4. Done
  37. ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS without

    a wizard resource_pools: - name: common network: default size: 3 stemcell: name: bosh-stemcell version: 0.5.1 cloud_properties: instance_type: m1.small availability_zone: key_name: jobs: - name: nginx template: nginx instances: 1 resource_pool: common networks: - name: default default: [dns, gateway] - name: nginx static_ips: - 23.23.247.237
  38. ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS without

    a wizard resource_pools: - name: common network: default size: 3 stemcell: name: bosh-stemcell version: 0.5.1 cloud_properties: instance_type: m1.small availability_zone: key_name: jobs: - name: nginx template: nginx instances: 1 resource_pool: common networks: - name: default default: [dns, gateway] - name: nginx static_ips: - 23.23.247.237 is this correct?! how do I change it?!
  39. ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS so

    far... • I can’t love it until I can try it • Generators are good • Wizards are good
  40. ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS SCROLLS

    Magically transform applications
  41. ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS the

    problem existing App new App Add new thing super App
  42. ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS the

    goal existing App new App apply scroll super App
  43. ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS install

    it store it deploy it new APp
  44. ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS install

    it existing APp proposal
  45. ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS scroll

    gem 'sidekiq' __END__ name: Sidekiq description: Background work author: drnic website:
  46. ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS scroll

    gem 'sidekiq' __END__ name: Sidekiq description: Background work author: drnic website: script metadata
  47. ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS exclusive:

    worker category: worker requires: [redis] run_after: [redis, engineyard_recipes_on_deploy] run_before: [] extra metadata
  48. YOUR COMPANY NAME | LONG AND INTERESTING PRESENTATION TITLE |

    VERSION NO. XX | 06 /02/2012 dependencies scrolls new myapp -s resque engineyard => redis, resque, git, github, engineyard_recipes_on_deploy, engineyard
  49. ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS gem

    'cucumber-rails' after_bundler do generate 'cucumber:install' end after_everything do end three stages
  50. ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS three

    stages 1. Add gems 2.After bundler, run generators 3. After everything, deploy!
  51. ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS SCROLLS

    USE GENERATORS
  52. ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS easy

    peasy
  53. ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS powered

    by thor
  54. ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS Deploying

  55. YOUR COMPANY NAME | LONG AND INTERESTING PRESENTATION TITLE |

    VERSION NO. XX | 06 /02/2012 deploying scrolls new myapp -s engineyard scrolls new myapp -s heroku scrolls new myapp -s cloudfoundry
  56. ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS how

    to make this work?! chef: install & run buildpacks: install procfile: run ??
  57. ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS engineyard

  58. ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS engineyard

    chef in rubygems
  59. ENGINE YARD | @DRNIC | GENERATORS, WIZARDS AND SCROLLS SCROLLS

    Magically transform applications