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 Slide

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

    View Slide

  3. 20
    1
    0SOLID

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  9. View Slide

  10. 2020

    View Slide

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

    View Slide

  12. IT’S ALL
    BROKEN
    !
    !
    !

    View Slide

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

    View Slide

  14. PIOTR
    DEV
    MAKER
    オタク

    View Slide

  15. SCHEME
    HASKELL
    JAVA
    SCALA
    HASKELL
    PURESCRIPT

    View Slide

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

    View Slide

  17. 2020

    View Slide

  18. SECURE
    FAST
    SCALABLE
    DISTRIBUTED

    View Slide

  19. SECURE
    FAST
    SCALABLE
    DISTRIBUTED

    View Slide

  20. FァッK
    HIS
    LIFE

    View Slide

  21. View Slide

  22. 主⼈人
    スレーブ

    View Slide

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

    View Slide

  24. DELAY
    主⼈人
    スレーブ

    View Slide

  25. 主⼈人
    スレーブ

    View Slide

  26. SIMPLE
    AS FァッK

    View Slide

  27. AWS
    CLOUD FORMATION
    COREOS
    DOCKER
    KUBERNETES
    HELM
    ANSIBLE

    View Slide

  28. View Slide

  29. LANG
    MANAGER
    SYSTEM
    DEPLOYER
    CI

    View Slide

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

    View Slide

  31. STATE
    悪(╬⓪益⓪)

    View Slide

  32. >_
    [ REPL SCRIPT ]

    View Slide

  33. >_
    [ PACKAGE ]

    View Slide

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

    View Slide

  35. 0.1s

    View Slide

  36. 主⼈人
    スレーブ

    View Slide

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

    View Slide

  38. 主⼈人
    スレーブ

    View Slide

  39. >_
    [ REPL SCRIPT ]

    View Slide

  40. 主⼈人
    スレーブ

    View Slide

  41. 主⼈人
    スレーブ

    View Slide

  42. 主⼈人
    スレーブ

    View Slide

  43. 主⼈人
    スレーブ

    View Slide

  44. 主⼈人
    スレーブ

    View Slide

  45. 主⼈人
    スレーブ

    View Slide

  46. 主⼈人
    スレーブ

    View Slide

  47. 主⼈人
    スレーブ






    View Slide

  48. 主⼈人
    スレーブ






    View Slide

  49. 主⼈人
    スレーブ






    View Slide

  50. DRIFT

    View Slide

  51. DRIFT
    NTP?

    View Slide

  52. 主⼈人
    スレーブ






    View Slide

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

    View Slide

  54. SUBSTITUTION
    COPY NOT BUILD
    SANDBOXES
    ISOLATED

    View Slide

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

    View Slide