GCRC 2015: Abstract Thoughts on Abstract Things

GCRC 2015: Abstract Thoughts on Abstract Things

Opening keynote for Garden City Ruby Conf 2015.

5c2b452f6eea4a6d84c105ebd971d2a4?s=128

Konstantin Haase

January 10, 2015
Tweet

Transcript

  1. None
  2. None
  3. None
  4. Abstract Thoughts on Abstract Things

  5. None
  6. None
  7. None
  8. None
  9. None
  10. “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
  11. Computer Science

  12. Colour Perception

  13. None
  14. Conclusion spoiler alert

  15. Abstraction happens in our minds

  16. Abstractions shape how we perceive things

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

  18. Abstraction is the basis of Computer Science

  19. Abstraction is the basis of Computer Science

  20. None
  21. None
  22. None
  23. None
  24. None
  25. Trichromacy

  26. None
  27. None
  28. None
  29. None
  30. Patterns and Algorithms

  31. None
  32. None
  33. None
  34. None
  35. None
  36. None
  37. None
  38. None
  39. None
  40. None
  41. ?

  42. ?

  43. None
  44. None
  45. Is magenta real?

  46. # FF00FF

  47. None
  48. None
  49. Data Abstraction

  50. None
  51. “Dataless Programming” RM Balzer - 1967

  52. None
  53. None
  54. Space

  55. None
  56. None
  57. None
  58. Wait, what?

  59. Are we still talking about abstraction?

  60. None
  61. None
  62. None
  63. None
  64. None
  65. # FF00FF

  66. Control Abstraction

  67. Subroutines

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

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

  70. None
  71. You should be able to reason about modules in isolation

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

  73. Tetrachromacy

  74. None
  75. None
  76. None
  77. The dimensionality of color vision in carriers of anomalous trichromacy

    Institute of Neuroscience, Newcastle University, Newcastle upon Tyne, UK Gabriele Jordan Departments of Medicine and Genome Sciences, University of Washington, Seattle, USA Samir S. Deeb Department of Experimental Psychology, University of Cambridge, Cambridge, UK Jenny M. Bosten Department of Experimental Psychology, University of Cambridge, Cambridge, UK J. D. Mollon Some 12% of women are carriers of the mild, X-linked forms of color vision deficiencies called “anomalous trichromacy.” Owing to random X chromosome inactivation, their retinae must contain four classes of cone rather than the normal three; and it has previously been speculated that these female carriers might be tetrachromatic, capable of discriminating spectral stimuli that are indistinguishable to the normal trichromat. However, the existing evidence is sparse and inconclusive. Here, we address the question using (a) a forced-choice version of the Rayleigh test, (b) a test using multidimensional scaling to reveal directly the dimensionality of the participants’ color space, and (c) molecular genetic analyses to estimate the X-linked cone peak sensitivities of a selected sample of strong candidates for tetrachromacy. Our results suggest that most carriers of color anomaly do not exhibit four-dimensional color vision, and so we believe that anomalous trichromacy is unlikely to be maintained by an advantage to the carriers in discriminating colors. However, 1 of 24 obligate carriers of deuteranomaly exhibited tetrachromatic behavior on all our tests; this participant has three well-separated cone photopigments in the long- wave spectral region in addition to her short-wave cone. We assess the likelihood that behavioral tetrachromacy exists in the human population. Keywords: color vision, psychophysics, human, tetrachromacy, anomalous trichromacy Citation: Jordan, G., Deeb, S. S., Bosten, J. M., & Mollon, J. D. (2010). The dimensionality of color vision in carriers of anomalous trichromacy. Journal of Vision, 10(8):12, 1–19, http://www.journalofvision.org/content/10/8/12, doi:10.1167/10.8.12. Journal of Vision (2010) 10(8):12, 1–19 http://www.journalofvision.org/content/10/8/12 1
  78. 2-3% of all women? 12% of all women? 50% of

    all women?
  79. Gene on X chromosome OPN1MW and OPN1MW2

  80. Women could have up to six colour cones

  81. Mostly dysfunctional

  82. a few confirmed cases

  83. Seeing millions of more colours

  84. None
  85. None
  86. Concetta Antico

  87. None
  88. None
  89. None
  90. None
  91. Object Oriented Programming

  92. None
  93. #alankayholdingthings

  94. None
  95. None
  96. None
  97. None
  98. None
  99. None
  100. –Alan Kay “OOP to me means only messaging, local retention

    and protection and hiding of state- process, and extreme late-binding of all things.”
  101. Data Abstraction + Control Abstraction = Object Oriented Programming

  102. Why dysfunctional? (my own unscientific theory)

  103. We don’t see colours with our eyes

  104. We see colours with our brain

  105. Our brain adjusts colours

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

    for
  107. None
  108. When we learn to speak, colour perception switches from left

    brain side to right brain side
  109. We make the rules

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

  111. Single Responsibility Principle

  112. Liskov Substitution Principle

  113. Law of Demeter

  114. SOLID

  115. Don’t abstract too much, too early

  116. None
  117. Strong external abstractions allow weak internal abstractions

  118. Distributed Applications

  119. None
  120. Is magenta a colour?

  121. None
  122. Yes

  123. Inheritance

  124. Type Hierarchy Liskov Substitution Principle

  125. Implementation Sharing

  126. Mixins

  127. Composition

  128. Duck Typing

  129. Are we doing it right?

  130. Classes ≠ OOP

  131. Colour and Abstraction

  132. None
  133. None
  134. Himba Tribe (Namibia)

  135. None
  136. 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
  137. None
  138. None
  139. Abstractions and Security

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

  141. None
  142. None
  143. None
  144. None
  145. Abstraction

  146. Business Logic only exists in our minds

  147. Object Oriented Programming only exists in our minds

  148. Colours only exist in our minds

  149. UI elements only exist in our minds

  150. Countries only exist in our minds

  151. Conclusion

  152. Abstraction happens in our minds

  153. All abstraction

  154. Abstractions shape how we perceive things

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

  156. May the force be with you! @konstantinhaase me@rkh.im