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

It's All Broken!

It's All Broken!

Splash screen. 16-bit music announces a new AAA title.
Quickly but steadily you navigate through a character creation screen. This is on! START
Text slowly appears on the screen:
Hello Joe, welcome to NextGenCo where we shape the reality of tomorrow. Here's your new greenfield project.
Welcome to the game of life where everything is broken. Let's do this right this time.
The distributed software we will build in this project will solve the world's problems.
It will be perfect. You will be presented with real life choices and be forced to live with those. Are you ready?
Yes.
Game Over.
Start again.
As developers we tend to believe to be pragmatic. We make so many good choices and still somehow fail.
However we seem to have rediscovered functional programming. Actor model. Erlang VM. We're on the right track.
But it's turtles all the way down. Is your environment ready for that? Are the choices really pragmatic?
Do those shiny tools answer the exact issues you're facing?
The idea of the talk is to start slowly and gradually decide upon where we go next with the tools of trade.
But here's a hint: Nix.
16 bit music.

Piotr Limanowski

September 09, 2017
Tweet

More Decks by Piotr Limanowski

Other Decks in Programming

Transcript

  1. 今⽇日は
    スベタ
    !!
    !
    [ HELLO FRIENDS ]

    View full-size slide

  2. 何?!
    (ɾ_ɾʌ
    [ WAT ]

    View full-size slide

  3. 20
    1
    0SOLID
    20
    1
    4ZEN OF REFACTORING

    View full-size slide

  4. 20
    1
    0SOLID
    20
    1
    4ZEN OF REFACTORING
    20
    1
    5FORGETTING JAVA

    View full-size slide

  5. 20
    1
    0SOLID
    20
    1
    4ZEN OF REFACTORING
    20
    1
    5FORGETTING JAVA
    20
    1
    6DERAIL IT!

    View full-size slide

  6. 20
    1
    0SOLID
    20
    1
    4ZEN OF REFACTORING
    20
    1
    5FORGETTING JAVA
    20
    1
    6DERAIL IT!
    20
    1
    7

    View full-size slide

  7. 今⽇日は
    スベタ
    !!
    !

    View full-size slide

  8. 2020
    ⼤大成功
    [ GREAT SUCCESS ]
    (๑˃̵ᴗ˂̵)و

    View full-size slide

  9. IT’S ALL
    BROKEN
    !
    !
    !

    View full-size slide

  10. ALSO:
    THERE IS STUFF
    STUFF BREAKS
    BARE WITH ME

    View full-size slide

  11. PIOTR
    DEV
    MAKER
    オタク

    View full-size slide

  12. SCHEME
    HASKELL
    JAVA
    SCALA
    HASKELL
    PURESCRIPT

    View full-size slide

  13. SCHEME
    HASKELL
    JAVA
    SCALA
    HASKELL
    PURESCRIPT
    ヘ(。□°)ヘ

    View full-size slide

  14. SECURE
    FAST
    SCALABLE
    DISTRIBUTED

    View full-size slide

  15. SECURE
    FAST
    SCALABLE
    DISTRIBUTED

    View full-size slide

  16. FァッK
    HIS
    LIFE

    View full-size slide

  17. 主⼈人
    スレーブ

    View full-size slide

  18. 主⼈人
    スレーブ
    DROP
    DATBASE;

    View full-size slide

  19. DELAY
    主⼈人
    スレーブ

    View full-size slide

  20. 主⼈人
    スレーブ

    View full-size slide

  21. SIMPLE
    AS FァッK

    View full-size slide

  22. AWS
    CLOUD FORMATION
    COREOS
    DOCKER
    KUBERNETES
    HELM
    ANSIBLE

    View full-size slide

  23. LANG
    MANAGER
    SYSTEM
    DEPLOYER
    CI

    View full-size slide

  24. f(x)
    [ DETERMINISM DECLARATIVE ATOMIC ROLLBACKS NO VIRTUALISATION ]

    View full-size slide

  25. STATE
    悪(╬⓪益⓪)

    View full-size slide

  26. >_
    [ REPL SCRIPT ]

    View full-size slide

  27. >_
    [ PACKAGE ]

    View full-size slide

  28. f(x)
    [ REF TRANSPARENCY NO MUTABLE STATE CONTROLLED EFFECTS TESTING ]

    View full-size slide

  29. 主⼈人
    スレーブ

    View full-size slide

  30. !(•̀ᴗ•́)و ̑̑

    View full-size slide

  31. 主⼈人
    スレーブ

    View full-size slide

  32. >_
    [ REPL SCRIPT ]

    View full-size slide

  33. 主⼈人
    スレーブ

    View full-size slide

  34. 主⼈人
    スレーブ

    View full-size slide

  35. 主⼈人
    スレーブ

    View full-size slide

  36. 主⼈人
    スレーブ

    View full-size slide

  37. 主⼈人
    スレーブ

    View full-size slide

  38. 主⼈人
    スレーブ

    View full-size slide

  39. 主⼈人
    スレーブ

    View full-size slide

  40. 主⼈人
    スレーブ






    View full-size slide

  41. 主⼈人
    スレーブ






    View full-size slide

  42. 主⼈人
    スレーブ






    View full-size slide

  43. 主⼈人
    スレーブ






    View full-size slide

  44. DEVELOPMENT
    DEPLOYMENT
    DEPENDENCIES
    SCHEDULED JOBS
    NETWORK
    TIME
    HEALTH
    SECURITY
    QUEUE
    ENVIRONMENT
    PROTOCOLS
    RINGS

    View full-size slide

  45. SUBSTITUTION
    COPY NOT BUILD
    SANDBOXES
    ISOLATED

    View full-size slide

  46. ありがとうございます
    スベタ
    !!
    !
    (#^.^#)

    View full-size slide