Human Hacking



Are you trying to herd cats as a project leader, or simply wondering how to evaluate a project's culture from the outside before getting involved? This talk explains some basic models of human motivation and behavior and include examples of applying them in the world of openĀ­source software. As engineers, we use simple heuristics and algorithms for solving computer problems every day, although we rarely use those models to understand human interaction.




Red Hat Women in Open Source Finalist (


i'm FOSS contributor, leader of stuff, student of psychology, also a student

Slides are Hieroglyph, pictures sharpies -> phone camera -> Pinta

I've found basic psych knowledge extremely helpful in FOSS and would like to share some theories that I find particularly interesting/applicable, and applications as both a contributor and a leader.




  1. theories about people (20mins)
    • theories about individuals (~12min)
    • theories about groups (~8min)
  2. applications as FOSS contributor (15mins)

  3. Leadership (15mins)

it's always hard to pick a starting point into a new curriculum but i've done my best

these ideas are further from having objectively correct answers than most CS problems. i don't want you to blindly do as i say, but to ask better questions and learn what works for you

Individuals In Theory...



discussing individuals in theory can include more detail on the facets of motivation and behavior...

You Live in a Human Emulator



this helps you predict the responses and behavior of people similar to yourself.

do not assume it works correctly on people different from yourself.

for instance, inviting conversation

when do you feel safe approaching someone and then do it? give the situation those traits.

  • be present, calm, engaged in shared channels
  • subtly solve a problem of theirs

Personal Narrative



everyone has things they tell themself about what kind of person they are -- usually positive things. if you can pick up hints about what these things are, you can understand the person's motivation better.

related, calling kids smart not necessarily as good as praising effort:

(growth mindset talk earlier at SCALE; find the video)

(unfortunately paywalled)

summary of same in NYT




it's a model of basic similarity between people in the needs they pursue, lower needs need to be met before higher ones can be sought

useful question: what does someone hope by gain by doing a thing? pyramid is examples of the levels of abstraction at which you might find the answer.

Sabu story: 2 foster daughters; behavior changes completely after arrest

I would be amazed if they hadn't threatened him...




test is designed to force dichotomies; during development tested thousands of questions to find those on which people statistically differentiate

Extraversion vs Introversion "attitudes" Sensing vs Intuition -- percieving functions, what we do with


Feeling vs Thinking -- decision making functions Judging vs Percieving -- meta-types, J prefers order/predictable; P

prefers spontaneous

useful question: how do others' preferences for interaction affect the success of your involvement with them?


maybe an image of the lawful/chaotic good/evil D&D matrix as well?


"The Forer effect... is the observation that individuals will give high accuracy ratings to descriptions of their personality that supposedly are tailored specifically for them, but are in fact vague and general enough to apply to a wide range of people." -- horoscope effect...

Subjective validation occurs when two unrelated or even random events are perceived to be related because a belief, expectation, or hypothesis demands a relationship.

Cognitive Biases



these are to everyday life what fallacies are to debate

deviations from what a "logical" person would do

wikipedia has a big list

also accessibly (though perhaps less accurately) summarized i


Overconfidence/Underconfidence effects



overconfidence effects -- planning fallacy, tendency to overestimate rate of work or understimate time frames

ie every software project ever

dunning-kruger effect: skilled people have better perspective on what they don't know and assume low skill; low-skill gets illusory superiority

Great at Pattern Recognition



this is why natural language processing and image recognition are such a huge challenge for computers, and why CAPCHAs kind of sort of almost still work for forcing a human spammer to fill them out.

BUT it means we can apply patterns which aren't there, or which aren't correct in a given situation, and end up judgemental or jumping to the wrong conclusions




along the lines of pattern recognition, priming is the effect where people perform how they're expecting to -- prime someone with stereotypes of efficiency and they work measurably faster, etc.

useful question: notice where environment and context are priming for a given response

lots of links to study summaries at:

Bad at Multitasking




gender differences:

context switches take effort, just like in the kernel

worrying about whether you'll forget something fires an interrupt

power of calendars consistency is important much more efficient to focus on one thing at a time, juggling multiple tasks is a lot of overhead and performance suffers

Groups in Theory...



we'll get the scariest parts out of the way first.

Milgram Obedience



Milgram's book Obedience to Authority ISBN 0-06-176521-X

effect of action when you'd expect inaction

Prod 1: please continue.

Prod 2: the experiment requires you to continue.

Prod 3: It is absolutely essential that you continue.

Prod 4: you have no other choice but to continue.

65% (two-thirds) of participants (i.e. teachers) continued to the highest level of 450 volts. All the participants continued to 300 volts.

18 variations of his study.

summary with video:

virtual representation, observes that humans empathize with an avatar and obey authority to shock it anyway

partial reproduction, stopping at 150V to avoid traumatizing participants, in 2009

and the replicated it on a fake French game show in 2010 and, surprise surprise, people zap others for TV authority too

Bystander Effect



effect of inaction when you'd expect action

presence of others decreases likelihood that individual will help

ever seen what happens when a leader goes "somebody needs to do X"? we'll talk about mitigating bystander effect in leadership section.

to mitigate: "YOU" do this, YOU do that... CPR training, same with delegation/leadership.

Somebody Else's Problem field, or SEP, is a cheap, easy, and staggeringly useful way of safely protecting something from unwanted eyes. It can run almost indefinitely on a flashlight/9 volt battery, and is able to do so because it utilizes a person's natural tendency to ignore things they don't easily accept, like, for example, aliens at a cricket match. Any object around which a S.E.P is applied will cease to be noticed, because any problems one may have understanding it (and therefore accepting its existence) become Somebody Else's. An object becomes not so much invisible as unnoticed.


Asch Conformity



this is the peer pressure thing -- people tend to assume they're wrong when the group disagrees with them.

Asch, S.E. (1951). Effects of group pressure on the modification and distortion of judgments. In H. Guetzkow (Ed.), Groups, leadership and men(pp. 177--190). Pittsburgh, PA:Carnegie Press.


newer analyses:

age differences:

Social Scripts



get help with scripts example




attribution error fallacy, assumption that helps you -> likes you

Mirroring / Body Language



can you tell if they're interested in talking to one another?

they're lines on a page!

this is pattern recognition and recognition of mirroring -- when people are interested in something they lean in, open posture, etc. disinterested or defensive, closed posture, turn away, etc.

The Disclaimers



turn ordinary experiences into learning about humans by: (be open-minded)

  • being observant
  • identifying and correcting for own biases (mood, perspective)

what happened? (OBSERVATION)

why did it happen? (HYPOTHESIS)

how will changing the inputs change the output? (EXPERIMENT)

Getting What You Want



what do you want? (if you don't know, try talking to Eliza)

be careful what you wish for. Does it make life better or worse for others? If it's never happened before, get others feedback on whether it would be an improvement.

If it'd harm others, examine whether your actual goal could be achieved some other way.

Use Your Words Carefully



some terms imply a goal or a set of values, ie right/wrong, fair/unfair, good/bad. when using them, SPECIFY THE GOAL rather than trusting audience to guess what you were thinking.


recognize limitations of models

generalizations useful for asking right questions, etc.

differences != flaws, traits that're advantageous in some contexts are harmful in others.

for instance in one ecosystem it's great to have lungs, another it's great to have gills.

never assume you have enough context. observe what parts of the story you've made up, assume they're wrong, and proceed accordingly.

Applications as a FOSS Contributor


people are dumb, panicky animals quote was a REALLY GOOD transition


First Impressions



(that bit about pattern recognition) identify which patterns you'll match non-ridiculous handle -- be especially cautious of negative implications about any group, because the code reviewer might well be in that group (even sports teams)

conform to channel/list behavior
storytime: gifs vs no gifs, UA vs Intel

ask questions well

Asking Good Questions


I want ____ to ___ in order to ____. At ____, I read that ____ which makes me think that I should be able to get it to _____ by doing ______. But when I try to ______, ______ happens instead. Please help me ______.


shows that you read the docs and that will make them very happy, especially the person who wrote the docs.


fit the pattern of contributors who've turned out to be useful

Body Language of Online Communication



mirroring speech styles

"Body language" of online communication:
  • sentence length/structure/punctuation ~= tone
  • word choice ~= style of dress or medium of meatspace comms (graffiti vs newsletter vs political speech)
  • presence/absence in IRC channel (rage quit = slamming door)
  • interrupting with offtopic or inane things ~= being fidgety and attention-seeking
  • typing super slowly ~= mumble or stutter
  • email address, handle, email sig ~= age, style of dress, gender

Effective Email



ditto the human emulator again look at your own inbox -- which important messages are still unanswered? why? because they're hard

  • use a good title
  • most people only see one ask per message
  • summarize w/ bullet points
  • anticipate questions -- know audience and purpose

Routes Into a Project



get out of dumb question free cards 1) use it and fix a bug 2) find a contributor you know and get mentored/introduced 3) edunham's help with installdocs technique 4) start your own project

Improving Docs



For mega-karma just offer to do it yourself

  • first diagnose why they haven't been written already

    • not needed by target audience?
    • project doesn't care?
    • just not enough time / too much work (usually)?

are you asking the right person?

can/should you change project culture? (social influence)

They're Ignoring My PRs!



is your expectation realistic?

what feedback have you gotten?

where could you get some feedback?

what's blocking them? can you help?

the magic of "when shall I remind you..."

Social Hierarchies and Capital



karma/popularity -- how do you judge others?

  • storytime: Google interviews if you rate yourself a 10 at a skill

Making recommendations is a gamble of social capital, proportionate to the pain that'll ensue if the recommendation was wrong



Leadership tends to happen to people who work hard, are reliable, and are bad at saying 'no'. Here's what I wish someone had told me back when I started leading groups of humans (usually engineers).

the emulator thing: which leaders do you look up to? why?



currency is amount cared, often measured in lines of code. passion/enthusiasm etc.

Know Your Audience



goals, priorities, biases, culture, energy/time/resources

Group Culture



foster accountability -- CONSISTENCY

benefit of the doubt -- they chose best of percieved options. to change future behavior, ADD MORE OPTIONS

empower... give people percieved buy-in, investment you can't just say "our culture is going to be x". there's already one there.





who's "everybody"? make statements about "everybody" in your group then challenge each assumption


recognize the difference between wanting people who think differently and people who look different.



just inconsistent enforcement of rules, or different rules for different people. priveledge == "private law". whether it's ok seems to be based on whether it uses a differnce that people can control -- ie commit bit for those with more code in the repo

Discrimination is when the rules are enforced inconsistently, different rules for different people. Priveledge literally means private law.

Prevent it by choosing rules that can be consistently applied to everybody -- be careful of assumptions about hardware or monetary resources, time zones and geographic constraints




clear codes of conduct, clear expectations that reflect the community's standards

buy-in from group on code of conduct

communications on the record -- encourages you to behave better, as well

And If That Didn't Work



don't make it worse

if someone's unduly offended and just wants to make a scene, get them to propose rules that could be enforced equally on everyone (sometimes helps improve self-awareness)

Get Someone Out



LAST resort why aren't they able to play well with others?

  • path of least resistance?
  • insufficient information?

avoid "right" and "wrong" -- all they'll do is alienate people and encourage you to make unidentified assumptions

speaking of people getting out... / sucky parts of FOSS

Manage Burnout



dropped balls aren't noticed as much as you think; monitor own state carefully so burnout doesn't sneak up



successful leadership is when everybody else does the work

the bus problem (git-bus)

EMPOWER minions knowing it'll happen == knowing who'll do it


Delegation: Timing


Leadership Handoff



start ASAP when you realize you'll need to

makes life easier for YOU, not just newbie (automate yourself out of a job)

madlibs of tasks, share responsibilities, "puppet" them for smoother transition if they're not confident yet, recognize their differences




how you learned it -> how you teach it

even really well-taught info is useless if the audience lacks background/perspective


  • depth-first search
  • Moore's Law
  • Turing Test


What impression did the presenter get?

Was it accurate?

Know Your Audience



overconfidence effects, peer pressure / conformity effects, etc.

A few gotchas about teaching: * more KNOW YOUR AUDIENCE * people do not like embarrassing themselves or standing out





The Anecdote Graveyard


leveraging conferences



hallway track

when you get a business card, take notes

FOLLOW-UP sets you apart

when writing talk proposals, questions show that you know your audience

stalk conference abstracts from past years to get a feel for tone

for talks, more KNOW YOUR AUDIENCE -- do they prefer buzzwords, or data? Use cases, or test cases? Pictures, or code?

inviting conversation



remember the part about living in a human emulator?

we'll get into how to get a specific question answered from a project later; this is along the lines of generally making friends

when do you feel safe approaching someone and then do it? give the situation those traits.

  • be present, calm, engaged in shared channels
  • subtly solve a problem of theirs

storytime: trying to talk to linus at linuxcon vs plug

recognizing social norms



lurk moar!

stalking skills



put free software or open source software or project name in search, use safesearch

with the caveat that there are sometimes things you didn't want to know

GitHub, IRC, social media

news articles -- it's amazing what you learn by Googling somebody -- be prepared to feel like you invaded their privacy

personal site/blog

is their hostmask or email at custom domain?




roommate going "i don't know what salary to ask for" remember they won't give you OVER what you say but they can't really give you UNDER what THEY say