Da qualche tempo è buona prassi accorpare sviluppo e operazioni. Che dire invece della sicurezza? Nel mondo "business" c'è un modello interessante che descrive due diverse figure: Hunter e Farmer, uno più esplorativo e adatto alle novità, uno più sociale e costruttivo. In questo incontro fornirò un'interpretazione di questo modello con lo scopo di semplificare la convivenza tra metodologie significativamente diverse.
13. stored = set(‘abFZSxKKdq5s6’, ‘ulMGRyl03i2gm’ …)
dic = [‘password’, ‘12345’, …]
rules = [‘:’, ‘u’, … ‘so0’, ‘cAz[0-9][!$§]’]
_guesses = jexpand(dic, rules) # [‘password’,
‘PASSWORD’, …, ‘passw0rd’, ‘Password0!’…]
[ g for g in _guesses if hash(g) in stored ]
How to crack a password
25. Dev Proverbs
The ends does not justify the mean
Choose two: good, fast, cheap
Any fool can write code that a
computer can understand. Good
progra()ers write code that humans
can understand. [M. Fowler]
34. Hacking Proverbs
the ends justify the means
a clever person solves a
problem, a wise person avoids
it
a lot goes a shecat to the
grease, that she leaves the
little arm
35. Comparative table
Deductive Inductive
Deconstructive Constructive
Reverse Engineering Progra()ing skills
Lateral Thinking Good Practice
Shortcut Design then code
Subvert the manual RTFM
Shortcut Frameworks and libs
Incautious Conservative
Low level lang High level lang
Hacker Developer
44. Hunter vs Farmer
Take charge Let things develop
Aggressive Laid Back
Prospector Planner
Competitive Collaborative
Always be closing So, what do you think
Individualist Team player
Short term Long term
Risky Safe
72. Hiring
You have a few hours to match
Does your candidate fits your
job needs?
Does your job appeal to the
candidate?
Is your candidate a person or
a resource?