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

Frozen Rails: Magenta - The Art Of Abstraction

Konstantin Haase
September 11, 2014

Frozen Rails: Magenta - The Art Of Abstraction

Konstantin Haase

September 11, 2014
Tweet

More Decks by Konstantin Haase

Other Decks in Science

Transcript

  1. Magenta
    The Art of Abstraction

    View full-size slide

  2. “Anything that is in the world when you’re born is
    normal and ordinary and is just a natural part of
    the way the world works.
    !
    Anything that's invented between when you’re
    fifteen and thirty-five is new and exciting and
    revolutionary and you can probably get a career
    in it.
    !
    Anything invented after you're thirty-five is
    against the natural order of things”
    –Douglas Adams

    View full-size slide

  3. Computer Science

    View full-size slide

  4. Colour Perception

    View full-size slide

  5. Conclusion
    spoiler alert

    View full-size slide

  6. Abstraction happens
    in our minds

    View full-size slide

  7. Abstractions shape
    how we perceive things

    View full-size slide

  8. Changing abstractions is
    a basic principle of
    innovation and progress

    View full-size slide

  9. Abstraction is the basis
    of Computer Science

    View full-size slide

  10. Abstraction is the basis
    of Computer Science

    View full-size slide

  11. Patterns and
    Algorithms

    View full-size slide

  12. Is magenta real?

    View full-size slide

  13. Data Abstraction

    View full-size slide

  14. “Dataless
    Programming”
    RM Balzer - 1967

    View full-size slide

  15. Are we still talking
    about abstraction?

    View full-size slide

  16. Control Abstraction

    View full-size slide

  17. “Go To Statement
    considered harmfull”
    Edsger Dijkstra, 1968

    View full-size slide

  18. “Protection in
    Programming Languages"
    James H. Morris Jr., 1973

    View full-size slide

  19. You should be able to
    reason about modules in
    isolation

    View full-size slide

  20. “Global Variables
    Considered Harmful”
    W.A. Wulf, M. Shaw, 1973

    View full-size slide

  21. Tetrachromacy

    View full-size slide

  22. 2-3% of all women?
    50% of all women?

    View full-size slide

  23. Gene on X
    chromosome
    OPN1MW and OPN1MW2

    View full-size slide

  24. Women could have up
    to six colour cones

    View full-size slide

  25. Mostly dysfunctional

    View full-size slide

  26. At least two confirmed
    cases

    View full-size slide

  27. Seeing millions of
    more colours

    View full-size slide

  28. Object Oriented
    Programming

    View full-size slide

  29. #alankayholdingthings

    View full-size slide

  30. –Alan Kay
    “OOP to me means only messaging, local
    retention and protection and hiding of state-
    process, and extreme late-binding of all things.”

    View full-size slide

  31. Data Abstraction +
    Control Abstraction =
    Object Oriented Programming

    View full-size slide

  32. Why dysfunctional?
    (my own unscientific theory)

    View full-size slide

  33. We don’t see colours
    with our eyes

    View full-size slide

  34. We see colours with
    our brain

    View full-size slide

  35. Our brain adjusts
    colours

    View full-size slide

  36. We don’t see colours we
    don’t have an abstract
    concept for

    View full-size slide

  37. When we learn to speak, colour
    perception switches from left
    brain side to right brain side

    View full-size slide

  38. We make the rules

    View full-size slide

  39. Some rules enable
    good programs
    (For some definition of good.)

    View full-size slide

  40. Single Responsibility
    Principle

    View full-size slide

  41. Liskov Substitution
    Principle

    View full-size slide

  42. Law of Demeter

    View full-size slide

  43. Don’t abstract too
    much, too early

    View full-size slide

  44. Strong external
    abstractions allow weak
    internal abstractions

    View full-size slide

  45. Distributed
    Applications

    View full-size slide

  46. Is magenta a colour?

    View full-size slide

  47. Type Hierarchy
    Liskov Substitution Principle

    View full-size slide

  48. Implementation
    Sharing

    View full-size slide

  49. Are we doing it right?

    View full-size slide

  50. Classes ≠ OOP

    View full-size slide

  51. Colour and
    Abstraction

    View full-size slide

  52. Himba Tribe (Namibia)

    View full-size slide

  53. zuzu: dark shades of blue, red, green
    and purple
    !
    vapa: white, some shades of yellow
    !
    buru: some shades of green and blue
    !
    dambu: some shades of green, red
    and brown

    View full-size slide

  54. Abstractions and
    Security

    View full-size slide

  55. Most attacks rely on switching
    up or down abstraction levels

    View full-size slide

  56. Business Logic
    only exists in our minds

    View full-size slide

  57. Object Oriented
    Programming
    only exists in our minds

    View full-size slide

  58. Colours
    only exist in our minds

    View full-size slide

  59. UI elements
    only exist in our minds

    View full-size slide

  60. Countries
    only exist in our minds

    View full-size slide

  61. Abstraction happens
    in our minds

    View full-size slide

  62. All abstraction

    View full-size slide

  63. Abstractions shape
    how we perceive things

    View full-size slide

  64. Changing abstractions is
    a basic principle of
    innovation and progress

    View full-size slide