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

How to automate (nearly) anything

How to automate (nearly) anything

A talk about tools that allow you to develop faster. Use existing ones or build your own, it's not as hard as you might think. We also discuss some general workflow tools which help you get other stuff out of the way you can get actual work done.

By David Spreekmeester and Mattijs Bliek.
http://grrr.nl

Mattijs Bliek

July 11, 2014
Tweet

More Decks by Mattijs Bliek

Other Decks in Programming

Transcript

  1. David Spreekmeester
    Tech Director
    Mattijs Bliek
    Designer / Developer
    How to automate
    (nearly) anything

    View full-size slide

  2. User centered

    View full-size slide

  3. Strategy
    Design
    Technology

    View full-size slide

  4. On to the
    geeky stuff!

    View full-size slide

  5. 1. Before development
    2. During development
    3. Workflow

    View full-size slide

  6. Before development

    View full-size slide

  7. Setting up a work
    environment

    View full-size slide

  8. Compiling and installing
    by hand (the horror!)

    View full-size slide

  9. Package Managers

    View full-size slide

  10. Configuration Managers

    View full-size slide

  11. Networked Configuration
    Management

    View full-size slide

  12. Configuration in the
    cloud

    View full-size slide

  13. During development

    View full-size slide

  14. Javascript task runners

    View full-size slide

  15. You can do a lot of stuff, such as:
    • Compile CoffeeScript or Sass/Less
    • Run a Node webserver
    • Run tests
    • Run commands on a remote server
    • Execute shell commands
    • Distribute files to CDN

    View full-size slide

  16. Vast plugin repositories

    View full-size slide

  17. Connecting to other
    services is key

    View full-size slide

  18. Roll your own plugins

    View full-size slide

  19. Espresso machine makes
    coffee when start a deploy

    View full-size slide

  20. Go beyond: roll your
    own task runner

    View full-size slide

  21. Golem does stuff,
    so you don’t have to.

    View full-size slide

  22. We build tasks according
    to our needs in everyday
    development.

    View full-size slide

  23. Connects you straight to the
    specified environment
    g ssh staging

    View full-size slide

  24. What’s happening
    • Load server info from deploy.rb (already there
    for Capistrano)
    • Uses your SSH private key (already there)
    • Binds everything together in one simple file

    View full-size slide

  25. It’s not rocket science,
    but it saves a shitload of
    time.

    View full-size slide

  26. Handles the git part of features,
    releases, semver etc.
    git flow in Golem

    View full-size slide

  27. Generate text snippets from a file,
    so you don’t have to sync an entire
    database.
    g snippet

    View full-size slide

  28. Spawns the database structure
    defined in your config file.
    g spawn

    View full-size slide

  29. Kind of like Yeoman, but
    with some extra’s
    g build

    View full-size slide

  30. Syncs your asset files and database
    from one environment to another
    g content sync

    View full-size slide

  31. Alfred
    • Task launcher
    • File browser
    • Search
    • Clipboard history
    • Workflows

    View full-size slide

  32. Search documentation

    View full-size slide

  33. Quick project management

    View full-size slide

  34. Checking server status

    View full-size slide

  35. Hazel handles incoming
    files according to rules
    you set

    View full-size slide

  36. ControlPlane

    View full-size slide

  37. Context aware
    system config

    View full-size slide

  38. Grrr’s Tips

    View full-size slide

  39. Be alert for repetitive,
    boring tasks

    View full-size slide

  40. Developing: modular, layered,
    shared library, thin controller

    View full-size slide

  41. Choosing apps: CLI available?

    View full-size slide

  42. Choosing platforms: API with
    control over all data?
    Gimme them JSON. Oh wait…

    View full-size slide

  43. What about you..?

    View full-size slide