Slide 1

Slide 1 text

Embrace change Abandon what you’ve learned @PreusslerBerlin

Slide 2

Slide 2 text

https://www.thecut.com/2018/01/how-to-conquer-your-fear-of-trying-new-things.html From an evolutionary standpoint, trying new things, for much of human history, could have been dangerous

Slide 3

Slide 3 text

Dean Burnett, Neuroscientist, author We have a threat-detection system that [..] tags anything unusual or unknown [..], That's what's kept us alive for millions of years

Slide 4

Slide 4 text

MINDSETS

Slide 5

Slide 5 text

fixed-mindset prevent them from evolving in the acquisition of skills … outside their comfort zone. “Mindset”, Dr. Carol Dweck

Slide 6

Slide 6 text

growth-mindset certain amount of curiosity, ease and perseverance in solving difficult problems “Mindset”, Dr. Carol Dweck

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

we learn new knowledge by reference to those we already know. We focus on the points of similarity between them to select the information that reaches the brain. http://www.anewya.co.in/why-learn-unlearn-relearn

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

What got you here won’t get you there. Book title by Marshall Goldsmith

Slide 12

Slide 12 text

© Christina Lee, KotlinConf 2019

Slide 13

Slide 13 text

It is not the strongest of the species that survives, not the most intelligent [..] It is the one that is the most adaptable to change. Charles Darwin

Slide 14

Slide 14 text

Pascal

Slide 15

Slide 15 text

C/C++

Slide 16

Slide 16 text

Java

Slide 17

Slide 17 text

Kotlin

Slide 18

Slide 18 text

The illiterate of the 21st century will not be those who cannot read and write, but those who cannot learn, unlearn, and relearn. Alvin Toffler, Author, Futurist

Slide 19

Slide 19 text

CONSTANTS

Slide 20

Slide 20 text

Constants In Java: static final In Kotlin: const val But where?

Slide 21

Slide 21 text

Constants

Slide 22

Slide 22 text

Constants

Slide 23

Slide 23 text

Constants

Slide 24

Slide 24 text

Constants

Slide 25

Slide 25 text

https://twitter.com/PreusslerBerlin/status/1305565623867633666 Constants

Slide 26

Slide 26 text

TIME TO UNLEARN

Slide 27

Slide 27 text

.. is not about forgetting. It’s about the ability to choose an alternative mental model or paradigm. https://hbr.org/2016/11/why-the-problem-with-learning-is-unlearning

Slide 28

Slide 28 text

The process of unlearning: 1.) Recognize that the old mental model is no longer relevant or effective. This is a challenge because we are usually unconscious of our mental models https://hbr.org/2016/11/why-the-problem-with-learning-is-unlearning

Slide 29

Slide 29 text

The process of unlearning: 2.) Find or create a new model that can better achieve your goals. Careful, you will probably see this new model through the lens of the old. https://hbr.org/2016/11/why-the-problem-with-learning-is-unlearning

Slide 30

Slide 30 text

The process of unlearning: 3.) Ingrain the new mental habits https://hbr.org/2016/11/why-the-problem-with-learning-is-unlearning

Slide 31

Slide 31 text

GET FUNCTIONAL

Slide 32

Slide 32 text

Get functional

Slide 33

Slide 33 text

Get functional

Slide 34

Slide 34 text

The tools we use have a profound (and devious) influence on our thinking habits, and, therefore, on our thinking abilities. Edsger W. Dijkstra

Slide 35

Slide 35 text

OPERATORS

Slide 36

Slide 36 text

Operators Thinking of … ? a + b a.plus(b) a > b a.compareTo(b) > 0 a in b b.contains(a) a..b a.rangeTo(b)

Slide 37

Slide 37 text

Operators

Slide 38

Slide 38 text

Operators

Slide 39

Slide 39 text

Operators

Slide 40

Slide 40 text

Developing an original and creative idea requires the simultaneous activation of two [..] perhaps even contradictory -- networks University of Haifa 2015 https://www.sciencedaily.com/releases/2015/11/151119104105.htm

Slide 41

Slide 41 text

WHAT GOES ON IN THE MINDS OF PROGRAMMERS WHEN THEY READ CODE?

Slide 42

Slide 42 text

Understanding Understanding Source Code with Functional Magnetic Resonance Imaging University of Passau, University of Magdeburg, Carnegie Mellon, Georgia Tech, Leibniz Institute for Neurobiology, Metop Research Institute, 2014 http://www.cs.cmu.edu/~ckaestne/pdf/icse14_fmri.pdf Studying programming in the neuroage: just a crazy idea? Chemnitz University of Technology, 2020 https://dl.acm.org/doi/10.1145/3347093 Studies

Slide 43

Slide 43 text

To our surprise, we could not observe any activity in the direction of mathematical or logical thinking, ... https://medicalxpress.com/news/2020-06-language-brain-scans-reveal-coding.html

Slide 44

Slide 44 text

The image data clearly showed activation in the test subjects' left brain areas, which are mainly associated with speech comprehension. https://medicalxpress.com/news/2020-06-language-brain-scans-reveal-coding.html

Slide 45

Slide 45 text

NAMES

Slide 46

Slide 46 text

COBOL variable names [..] can use any of the uppercase alphabet characters, the digits 0 through 9, and the hyphen (but not as a starting character).

Slide 47

Slide 47 text

Kotlin Something inside us cringe

Slide 48

Slide 48 text

social missteps activate regions in the brain, [..] that have been previously associated with physical pain. University of Michigan, University of Colorado, Boulder, Columbia University, New York Psychiatric Institute, https://sciencephenomena.wordpress.com/2015/05/10/the-neurological-aspect-of-cringing/

Slide 49

Slide 49 text

When people express opinions that differ from yours, take it as a chance to grow. Be curious, not defensive. http://www.anewya.co.in/why-learn-unlearn-relearn

Slide 50

Slide 50 text

Practicing unlearning will make it easier and quicker to make the shifts as your brain adapts. https://hbr.org/2016/11/why-the-problem-with-learning-is-unlearning

Slide 51

Slide 51 text

PROPERTIES

Slide 52

Slide 52 text

Properties

Slide 53

Slide 53 text

Properties

Slide 54

Slide 54 text

Properties

Slide 55

Slide 55 text

Properties

Slide 56

Slide 56 text

Properties

Slide 57

Slide 57 text

Properties

Slide 58

Slide 58 text

Properties

Slide 59

Slide 59 text

DELEGATES

Slide 60

Slide 60 text

Property Delegates

Slide 61

Slide 61 text

Property Delegates

Slide 62

Slide 62 text

Property Delegates

Slide 63

Slide 63 text

Property Delegates

Slide 64

Slide 64 text

Property Delegates

Slide 65

Slide 65 text

Property Delegates

Slide 66

Slide 66 text

Property Delegates

Slide 67

Slide 67 text

Property Delegates

Slide 68

Slide 68 text

Property Delegates

Slide 69

Slide 69 text

Property Delegates

Slide 70

Slide 70 text

Property Delegates

Slide 71

Slide 71 text

Property Delegates

Slide 72

Slide 72 text

Property Delegates

Slide 73

Slide 73 text

Property Delegates

Slide 74

Slide 74 text

EXTENSION FUNCTIONS

Slide 75

Slide 75 text

Extension functions

Slide 76

Slide 76 text

Extension functions

Slide 77

Slide 77 text

Conceptual Affinity. Certain bits of code want to be near other bits. They have a certain conceptual affinity. The stronger that affinity, the less vertical distance there should be between them. (Clean Code, Robert Martin)

Slide 78

Slide 78 text

Extension functions

Slide 79

Slide 79 text

Extension functions

Slide 80

Slide 80 text

Extension functions

Slide 81

Slide 81 text

Property Delegates

Slide 82

Slide 82 text

Property Delegates

Slide 83

Slide 83 text

Think outside the box!

Slide 84

Slide 84 text

Think outside the box!?

Slide 85

Slide 85 text

When you look at the neuroscience of creativity, you see that it’s physically impossible for your brain to “Think outside the box.” http://www.jaredvolle.com/why-thinking-outside-the-box-is-completely-wrong/

Slide 86

Slide 86 text

That’s simply not how the brain is wired. It’s like asking your brain to fire a neuron that doesn’t exist. http://www.jaredvolle.com/why-thinking-outside-the-box-is-completely-wrong/

Slide 87

Slide 87 text

There is nothing outside of “the box” except for more boxes. [..] the trick is to think between boxes. http://www.jaredvolle.com/why-thinking-outside-the-box-is-completely-wrong/

Slide 88

Slide 88 text

GENERICS

Slide 89

Slide 89 text

Generics ● Kotlin generics offer some new changes ● Don’t be afraid if reified syntax

Slide 90

Slide 90 text

Generics

Slide 91

Slide 91 text

Generics

Slide 92

Slide 92 text

Generics

Slide 93

Slide 93 text

Generics

Slide 94

Slide 94 text

HOW TO GET THERE?

Slide 95

Slide 95 text

Habits ● Habits are the brain’s internal drivers ● brain forms neuronal connections based on what you do repeatedly in your life — both good and bad. ● Every time you act in the same way, a specific neuronal pattern is stimulated and becomes strengthened in your brain.

Slide 96

Slide 96 text

No content

Slide 97

Slide 97 text

How to get there - Unlearn: build new models w/o looking through old lenses - Connect the boxes - Practise - Change habits

Slide 98

Slide 98 text

Nothing so needs reforming as other people’s habits Mark Twain

Slide 99

Slide 99 text

You tell me, I forget. You teach me, I remember. You involve me, I learn Benjamin Franklin

Slide 100

Slide 100 text

When your brain expects a reward even [..], you are more likely to pursue the new routine and stick to it. https://medium.com/swlh/to-break-bad-habits-you-really-have-to-change-your-brain-the-neurosci ence-of-change-da735de9afdf

Slide 101

Slide 101 text

No content

Slide 102

Slide 102 text

No content

Slide 103

Slide 103 text

Thank you ● World’s largest open audio platform ● Founded in 2007 ● 200 million tracks, 25 million creators ● What’s next in music is first on SoundCloud

Slide 104

Slide 104 text

Further reads ● https://medicalxpress.com/news/2020-06-language-brain-scans-reveal-coding.html ● https://www.makeuseof.com/tag/how-programming-affects-brain/ ● https://medium.com/swlh/to-break-bad-habits-you-really-have-to-change-your-brain-the-neuroscience-of-chang e-da735de9afdf ● https://www.sciencedaily.com/releases/2015/11/151119104105.htm ● http://www.jaredvolle.com/why-thinking-outside-the-box-is-completely-wrong/ ● https://www.thecut.com/2018/01/how-to-conquer-your-fear-of-trying-new-things.html ● https://hbr.org/2016/11/why-the-problem-with-learning-is-unlearning ● https://thriveglobal.com/stories/unlearning-to-learn/ ● https://proandroiddev.com/keep-your-interfaces-simple-e025d515e3b9 ● https://www.youtube.com/playlist?list=PLQ176FUIyIUY6SKGl3Cj9yeYibBuRr3Hl&app=desktop

Slide 105

Slide 105 text

Thank you @PreusslerBerlin