Slide 1

Slide 1 text

PyCon Philippines 2012 Keynote Daniel Greenfeld Sunday, July 1, 12

Slide 2

Slide 2 text

#pyconph Sunday, July 1, 12

Slide 3

Slide 3 text

I’m excited! Sunday, July 1, 12

Slide 4

Slide 4 text

Sunday, July 1, 12

Slide 5

Slide 5 text

Sunday, July 1, 12

Slide 6

Slide 6 text

Sunday, July 1, 12

Slide 7

Slide 7 text

Sunday, July 1, 12

Slide 8

Slide 8 text

Python is everywhere Sunday, July 1, 12

Slide 9

Slide 9 text

Python is everywhere • NASA Sunday, July 1, 12

Slide 10

Slide 10 text

Python is everywhere • NASA • Google Sunday, July 1, 12

Slide 11

Slide 11 text

Python is everywhere • NASA • Google • Linux (expecially Ubuntu) Sunday, July 1, 12

Slide 12

Slide 12 text

Python is everywhere • NASA • Google • Linux (expecially Ubuntu) • Mac OS X Sunday, July 1, 12

Slide 13

Slide 13 text

Python is everywhere • NASA • Google • Linux (expecially Ubuntu) • Mac OS X • Every special effects or animation shop Sunday, July 1, 12

Slide 14

Slide 14 text

Python is everywhere • NASA • Google • Linux (expecially Ubuntu) • Mac OS X • Every special effects or animation shop • Science Sunday, July 1, 12

Slide 15

Slide 15 text

Python is everywhere • NASA • Google • Linux (expecially Ubuntu) • Mac OS X • Every special effects or animation shop • Science • Robotics Sunday, July 1, 12

Slide 16

Slide 16 text

Python is everywhere • NASA • Google • Linux (expecially Ubuntu) • Mac OS X • Every special effects or animation shop • Science • Robotics • Web (Instagram!) Sunday, July 1, 12

Slide 17

Slide 17 text

Thanking the sponsors Auberon Solutions Cartwheel Web Smart Python Software Foundation 10gen Github Philhealth Chikka Globe Labs Django Software Foundation Sunday, July 1, 12

Slide 18

Slide 18 text

Thanking my fellow speakers Sony Valdez Audrey Roy Malcolm Tredinnick Paolo Barazon Marco Moreto Rodney Quillo Bryan Veloso Sunday, July 1, 12

Slide 19

Slide 19 text

No speaker is getting paid Sunday, July 1, 12

Slide 20

Slide 20 text

Thank my fellow organizers Frank Pohlmann Mary Ann Tan-Pohlmann Mark Steve Samson Lanie Diosana Audrey Roy Sunday, July 1, 12

Slide 21

Slide 21 text

No organizer is getting paid Sunday, July 1, 12

Slide 22

Slide 22 text

All volunteers Sunday, July 1, 12

Slide 23

Slide 23 text

Passion Sunday, July 1, 12

Slide 24

Slide 24 text

Passion The topic of this presentation Sunday, July 1, 12

Slide 25

Slide 25 text

A little about me Sunday, July 1, 12

Slide 26

Slide 26 text

@pydanny Sunday, July 1, 12

Slide 27

Slide 27 text

• Worked at NASA • Python Software Foundation • Principal at cartwheelweb.com • CTO of consumer.io @pydanny Sunday, July 1, 12

Slide 28

Slide 28 text

NASA Sunday, July 1, 12

Slide 29

Slide 29 text

@pydanny Sunday, July 1, 12

Slide 30

Slide 30 text

• Worked at NASA @pydanny Sunday, July 1, 12

Slide 31

Slide 31 text

• Worked at NASA • Principal at Cartwheel Web @pydanny Sunday, July 1, 12

Slide 32

Slide 32 text

• Worked at NASA • Principal at Cartwheel Web • CTO of consumer.io @pydanny Sunday, July 1, 12

Slide 33

Slide 33 text

• Worked at NASA • Principal at Cartwheel Web • CTO of consumer.io • Member of Python Software Foundation @pydanny Sunday, July 1, 12

Slide 34

Slide 34 text

@pydanny Passions Sunday, July 1, 12

Slide 35

Slide 35 text

• Python @pydanny Passions Sunday, July 1, 12

Slide 36

Slide 36 text

• Python • Django @pydanny Passions Sunday, July 1, 12

Slide 37

Slide 37 text

• Python • Django • Capoeira @pydanny Passions Sunday, July 1, 12

Slide 38

Slide 38 text

• Python • Django • Capoeira • Audrey Roy is my fiancée @pydanny Passions Sunday, July 1, 12

Slide 39

Slide 39 text

Back to the talk Sunday, July 1, 12

Slide 40

Slide 40 text

Passion Sunday, July 1, 12

Slide 41

Slide 41 text

Passion means you care about something so much you want help other people. Sunday, July 1, 12

Slide 42

Slide 42 text

Sunday, July 1, 12

Slide 43

Slide 43 text

Sunday, July 1, 12

Slide 44

Slide 44 text

Sunday, July 1, 12

Slide 45

Slide 45 text

Mentorship Sunday, July 1, 12

Slide 46

Slide 46 text

Mentorship, the developmental relationship between a more experienced mentor and a less experienced partner referred to as a mentee or protégé http://en.wikipedia.org/wiki/Mentor_(disambiguation) Sunday, July 1, 12

Slide 47

Slide 47 text

Mentorship refers to a personal developmental relationship in which a more experienced or more knowledgeable person helps to guide a less experienced or less knowledgeable person. However, true mentoring is more than just answering occasional questions or providing ad hoc help. It is about an ongoing relationship of learning, dialog, and challenge. http://en.wikipedia.org/wiki/Mentorship Sunday, July 1, 12

Slide 48

Slide 48 text

Are mentors worth it? Sunday, July 1, 12

Slide 49

Slide 49 text

Me on the Apple ][ circa 1980 Sunday, July 1, 12

Slide 50

Slide 50 text

AppleBasic on the Apple ][ 10 HOME 20 PRINT "HELLO, WORLD" 30 GOTO 10 Sunday, July 1, 12

Slide 51

Slide 51 text

No mentorship Sunday, July 1, 12

Slide 52

Slide 52 text

No mentorship • Too proud to ask for help. Sunday, July 1, 12

Slide 53

Slide 53 text

No mentorship • Too proud to ask for help. • Couldn’t figure out why anyone used arrays Sunday, July 1, 12

Slide 54

Slide 54 text

No mentorship • Too proud to ask for help. • Couldn’t figure out why anyone used arrays • Created a lot of variables. Sunday, July 1, 12

Slide 55

Slide 55 text

No mentorship • Too proud to ask for help. • Couldn’t figure out why anyone used arrays • Created a lot of variables. • Lots of variables. Sunday, July 1, 12

Slide 56

Slide 56 text

No mentorship • Too proud to ask for help. • Couldn’t figure out why anyone used arrays • Created a lot of variables. • Lots of variables. • So many variables. Sunday, July 1, 12

Slide 57

Slide 57 text

No mentorship • Too proud to ask for help. • Couldn’t figure out why anyone used arrays • Created a lot of variables. • Lots of variables. • So many variables. • So many, many variables. Sunday, July 1, 12

Slide 58

Slide 58 text

10 NA = 1 20 NB = 4 30 NC = 27 40 ND = 256 50 NE = 3125 ad infinitum Before mentors Sunday, July 1, 12

Slide 59

Slide 59 text

10 NA = 1 20 NB = 4 30 NC = 27 40 ND = 256 50 NE = 3125 ad infinitum Before mentors VS [1, 4, 27, 256, 3125] After mentors Array Sunday, July 1, 12

Slide 60

Slide 60 text

10 NA = 1 20 NB = 4 30 NC = 27 40 ND = 256 50 NE = 3125 ad infinitum Before mentors VS [1, 4, 27, 256, 3125] After mentors Array [x ** x for x in range(1,6)] List comprehension to generate the array Sunday, July 1, 12

Slide 61

Slide 61 text

Mentors made me better Sunday, July 1, 12

Slide 62

Slide 62 text

Some of my mentors Sunday, July 1, 12

Slide 63

Slide 63 text

Anyone recognize this? x = 1 FOR i = 1 to 10 IF i = 25 i = i + 1 ELSE i = i + 3 ENDIF ENDFOR Sunday, July 1, 12

Slide 64

Slide 64 text

Foxpro circa 1995 x = 1 FOR i = 1 to 10 IF i = 25 i = i + 1 ELSE i = i + 3 ENDIF ENDFOR Sunday, July 1, 12

Slide 65

Slide 65 text

James Beerbower Sunday, July 1, 12

Slide 66

Slide 66 text

James Beerbower • Got me a job when things were bad. Sunday, July 1, 12

Slide 67

Slide 67 text

James Beerbower • Got me a job when things were bad. • Taught me Foxpro 2.6 for Dos. Sunday, July 1, 12

Slide 68

Slide 68 text

James Beerbower • Got me a job when things were bad. • Taught me Foxpro 2.6 for Dos. • Jump started my programming career. Sunday, July 1, 12

Slide 69

Slide 69 text

James Beerbower • Got me a job when things were bad. • Taught me Foxpro 2.6 for Dos. • Jump started my programming career. • Thank you James! Sunday, July 1, 12

Slide 70

Slide 70 text

Anyone recognize this? SELECT * FROM attendees WHERE awesomeness > 100 GROUP BY experience_level; Sunday, July 1, 12

Slide 71

Slide 71 text

Structured Query Language (SQL) SELECT * FROM attendees WHERE awesomeness > 100 GROUP BY experience_level; Sunday, July 1, 12

Slide 72

Slide 72 text

Peter Thorsson Sunday, July 1, 12

Slide 73

Slide 73 text

Peter Thorsson • Very patient Sunday, July 1, 12

Slide 74

Slide 74 text

Peter Thorsson • Very patient • Thank you Peter! Sunday, July 1, 12

Slide 75

Slide 75 text

A sample of my early Python code d = dict( one=1, two=2, three=3 ) for key in d.keys(): print key, d[key] Sunday, July 1, 12

Slide 76

Slide 76 text

Chris Shenton Sunday, July 1, 12

Slide 77

Slide 77 text

Chris Shenton • Introduced me to Python Sunday, July 1, 12

Slide 78

Slide 78 text

Chris Shenton • Introduced me to Python • Introduced me to Plone Sunday, July 1, 12

Slide 79

Slide 79 text

Chris Shenton • Introduced me to Python • Introduced me to Plone • Introduced me to Django Sunday, July 1, 12

Slide 80

Slide 80 text

Chris Shenton • Introduced me to Python • Introduced me to Plone • Introduced me to Django • Thank you Chris! Sunday, July 1, 12

Slide 81

Slide 81 text

d = dict( one=1, two=2, three=3 ) for k, v in d.items(): print("{0}, {1}".format(k, v)) Sunday, July 1, 12

Slide 82

Slide 82 text

d = dict( one=1, two=2, three=3 ) for k, v in d.items(): print("{0}, {1}".format(k, v)) Chris Shenton Sunday, July 1, 12

Slide 83

Slide 83 text

d = dict( one=1, two=2, three=3 ) for k, v in d.items(): print("{0}, {1}".format(k, v)) Chris Shenton Raymond Hettinger Sunday, July 1, 12

Slide 84

Slide 84 text

Noah Kantrowitz Sunday, July 1, 12

Slide 85

Slide 85 text

class HelloWorld(object): def __init__(self): print("Hello, World") Python Noah Kantrowitz Sunday, July 1, 12

Slide 86

Slide 86 text

@classmethod def hello(cls): print("Hello, World") class HelloWorld(object): def __init__(self): print("Hello, World") Python Noah Kantrowitz Sunday, July 1, 12

Slide 87

Slide 87 text

>>> from pycon import HelloWorld Sunday, July 1, 12

Slide 88

Slide 88 text

>>> from pycon import HelloWorld >>> HelloWorld.hello() Sunday, July 1, 12

Slide 89

Slide 89 text

>>> from pycon import HelloWorld >>> HelloWorld.hello() "Hello, World" Sunday, July 1, 12

Slide 90

Slide 90 text

>>> from pycon import HelloWorld >>> HelloWorld.hello() class HelloWorld(object): @classmethod def hello(cls): print("Hello, World") "Hello, World" Sunday, July 1, 12

Slide 91

Slide 91 text

>>> from pycon import HelloWorld >>> HelloWorld.hello() >>> h = HelloWorld() class HelloWorld(object): @classmethod def hello(cls): print("Hello, World") "Hello, World" Sunday, July 1, 12

Slide 92

Slide 92 text

>>> from pycon import HelloWorld >>> HelloWorld.hello() >>> h = HelloWorld() class HelloWorld(object): @classmethod def hello(cls): print("Hello, World") "Hello, World" "Hello, World" Sunday, July 1, 12

Slide 93

Slide 93 text

>>> from pycon import HelloWorld >>> HelloWorld.hello() >>> h = HelloWorld() class HelloWorld(object): @classmethod def hello(cls): print("Hello, World") class HelloWorld(object): def __init__(self): print("Hello, World") "Hello, World" "Hello, World" Sunday, July 1, 12

Slide 94

Slide 94 text

JQuery
Click here
$("#python").click(function() { alert("Python is awesome!"); }); Sunday, July 1, 12

Slide 95

Slide 95 text

James Tauber Sunday, July 1, 12

Slide 96

Slide 96 text

James Tauber • Introduced me to JQuery Sunday, July 1, 12

Slide 97

Slide 97 text

James Tauber • Introduced me to JQuery • Encouraged me to create django-uni-form Sunday, July 1, 12

Slide 98

Slide 98 text

James Tauber • Introduced me to JQuery • Encouraged me to create django-uni-form • (evolved to django-crispy-forms) Sunday, July 1, 12

Slide 99

Slide 99 text

James Tauber • Introduced me to JQuery • Encouraged me to create django-uni-form • (evolved to django-crispy-forms) • Gave me a job at Eldarion Sunday, July 1, 12

Slide 100

Slide 100 text

James Tauber • Introduced me to JQuery • Encouraged me to create django-uni-form • (evolved to django-crispy-forms) • Gave me a job at Eldarion • Thank you James! Sunday, July 1, 12

Slide 101

Slide 101 text

git git add conference-sourcecode.rst git commit -m "Added the code samples." git push origin master Brian Rosner Sunday, July 1, 12

Slide 102

Slide 102 text

Python packaging and more Jannis Leidel from setuptools import setup, find_packages import mongonaut LONG_DESCRIPTION = open('README.rst').read() setup( name='django-mongonaut', version=mongonaut.__version__, description="An introspective interface for Django and MongoDB", long_description=LONG_DESCRIPTION, classifiers=[ "Development Status :: 3 - Alpha", ... Sunday, July 1, 12

Slide 103

Slide 103 text

Capoeira Xingu Sunday, July 1, 12

Slide 104

Slide 104 text

Capoeira Xingu Master Instructor of Capoeira Sunday, July 1, 12

Slide 105

Slide 105 text

Capoeira Xingu Hollywood Stuntman Master Instructor of Capoeira Sunday, July 1, 12

Slide 106

Slide 106 text

Capoeira Xingu Hollywood Stuntman Master Instructor of Capoeira Filipino- American Sunday, July 1, 12

Slide 107

Slide 107 text

Taught me Martelo-do-Chão Xingu Capoeira Sunday, July 1, 12

Slide 108

Slide 108 text

Taught me Martelo-do-Chão Taught me music Xingu Capoeira Sunday, July 1, 12

Slide 109

Slide 109 text

Taught me Martelo-do-Chão Taught me music Can’t get me to be lead singer Xingu Capoeira Sunday, July 1, 12

Slide 110

Slide 110 text

Taught me Martelo-do-Chão Taught me music Can’t get me to be lead singer Don’t ask me to do Karaoke! Xingu Capoeira Sunday, July 1, 12

Slide 111

Slide 111 text

Many More Sunday, July 1, 12

Slide 112

Slide 112 text

Many More Jacob Kaplan-Moss Frank Wiles Celso Wills Mrs. Brown Malcolm Tredinnick Jung Yoon-Ok Patrick Finley Steve Holden Sunday, July 1, 12

Slide 113

Slide 113 text

What unites them is... Sunday, July 1, 12

Slide 114

Slide 114 text

Passion Sunday, July 1, 12

Slide 115

Slide 115 text

Being a mentor... Sunday, July 1, 12

Slide 116

Slide 116 text

...is hard Sunday, July 1, 12

Slide 117

Slide 117 text

Being a mentor is... Sunday, July 1, 12

Slide 118

Slide 118 text

Being a mentor is... • ...discovering just how much you don’t know. Sunday, July 1, 12

Slide 119

Slide 119 text

Being a mentor is... • ...discovering just how much you don’t know. • ...having to refer to others for answers. Sunday, July 1, 12

Slide 120

Slide 120 text

Being a mentor is... • ...discovering just how much you don’t know. • ...having to refer to others for answers. • ...frustrating. Sunday, July 1, 12

Slide 121

Slide 121 text

Being a mentor is... • ...discovering just how much you don’t know. • ...having to refer to others for answers. • ...frustrating. • ...time consuming. Sunday, July 1, 12

Slide 122

Slide 122 text

Why do we do it? Sunday, July 1, 12

Slide 123

Slide 123 text

Passion Sunday, July 1, 12

Slide 124

Slide 124 text

What are the rewards? Sunday, July 1, 12

Slide 125

Slide 125 text

You feel good! Sunday, July 1, 12

Slide 126

Slide 126 text

Seriously though, what are the rewards? Sunday, July 1, 12

Slide 127

Slide 127 text

NASA Sunday, July 1, 12

Slide 128

Slide 128 text

People recognize the passion inside you. Sunday, July 1, 12

Slide 129

Slide 129 text

Certificates Sunday, July 1, 12

Slide 130

Slide 130 text

Certificates • You’ve been exposed to a topic. • They open doors. Sunday, July 1, 12

Slide 131

Slide 131 text

My NASA Interview • Many people interviewed for the job. • They liked me because I had passion. • I was more than just a certificate. Sunday, July 1, 12

Slide 132

Slide 132 text

Be more than your list of certificates. Sunday, July 1, 12

Slide 133

Slide 133 text

What kind of Doctor would you hire? Sunday, July 1, 12

Slide 134

Slide 134 text

What kind of Doctor would you hire? • Glances at charts • Prescribes medicine No Passion Sunday, July 1, 12

Slide 135

Slide 135 text

What kind of Doctor would you hire? • Glances at charts • Prescribes medicine No Passion • Looks at charts • Reads your history • Gets to know you • Cares • Solves problems Passion Sunday, July 1, 12

Slide 136

Slide 136 text

Same goes for Software Sunday, July 1, 12

Slide 137

Slide 137 text

Same goes for Engineering Sunday, July 1, 12

Slide 138

Slide 138 text

Same goes for Research Sunday, July 1, 12

Slide 139

Slide 139 text

Same goes for Karaoke Sunday, July 1, 12

Slide 140

Slide 140 text

Passion Sunday, July 1, 12

Slide 141

Slide 141 text

Enough about me Sunday, July 1, 12

Slide 142

Slide 142 text

What is your passion? Sunday, July 1, 12

Slide 143

Slide 143 text

What is your passion? Sunday, July 1, 12

Slide 144

Slide 144 text

What is your passion? Sunday, July 1, 12

Slide 145

Slide 145 text

What is your passion? professional Sunday, July 1, 12

Slide 146

Slide 146 text

Sunday, July 1, 12

Slide 147

Slide 147 text

Python Django JavaScript HTML5 Research SciPy pygame Natural Language Processing Science Mentoring Sunday, July 1, 12

Slide 148

Slide 148 text

Once you find your Sunday, July 1, 12

Slide 149

Slide 149 text

Passion Sunday, July 1, 12

Slide 150

Slide 150 text

Work hard at it. Sunday, July 1, 12

Slide 151

Slide 151 text

Contribute back. Sunday, July 1, 12

Slide 152

Slide 152 text

Mentor upcoming developers. Sunday, July 1, 12

Slide 153

Slide 153 text

Release code as open source. Sunday, July 1, 12

Slide 154

Slide 154 text

Release code as open source. GitHub is your resume/portfolio* *http://pydanny.blogspot.com/2011/08/github-is-my-resume.html Sunday, July 1, 12

Slide 155

Slide 155 text

Help other people. Sunday, July 1, 12

Slide 156

Slide 156 text

But don’t ask me to sing in public. Sunday, July 1, 12

Slide 157

Slide 157 text

One more thing... Sunday, July 1, 12

Slide 158

Slide 158 text

Finis Sunday, July 1, 12