Upload
james-thomas
View
243
Download
0
Embed Size (px)
Citation preview
YOU’RE HAVING A LAUGHJames ThomasLinguamaticsUKTMF. July 2015
@qahiccupps, [email protected]
@qahiccupps
I write notes all the time ... anything interesting that comes to me ... but the notes are not the thing. The thing is the fact that I'm watching out for stuff ... like a boxer keeping loose ... on stage I hope they'll all come together.KEEPING
LOOSE(Phil Kay)
@qahiccupps
Keeping Loose• Joking
• … is like testing (for me)
• When I think of a corny joke …• … I force myself to find two more …• … with some aspects in common• The restriction simulates real world constraints; forces creativity
@qahiccupps
There's no black and white in politics, only graze
@qahiccupps
Jokes…
•Violate some expectation•Expose an ambiguity•Point out the thing that’s been ignored in plain sight
•Make a surprising connection
@qahiccupps
… and Testing?
•Testing finds issues that•Violate some expectation•Expose an ambiguity•Point out the thing that’s been ignored in plain sight
•Make a surprising connection
@qahiccupps
A Joke• Two components:
• surprise: say, by a violated expectation • coherence: how well the joke fits to the context
• But, the non-sequitur:Q: Why was the programmer debugging at midnight?A: Fish.
• Definition of a joke is heuristic• Useful rule• Fallible
(Brownell and Gardner, in their essay in Laughing Matters)
@qahiccupps
Genesis of a Joke• 2 January 2015, Tim Western posted a joke on Twitter:
Q: Why was the web developer sent home early on new years?A: His application needed a little REST.
• Two missions:• “test” the joke• “design” a joke from the same premise
@qahiccupps
Mission #1: Test the Joke• Sufficiency, necessity – New Year
Q: Why was the web developer sent home early? A: His application needed a little REST.
• Consistency – Dev sent home but application needs REST?
Q: Why was the web developer sent home early?A: He needed REST.
• Balance surprise and coherence – “need” vs “want”
Q: Why was the web developer sent home early?A: He wanted REST.
@qahiccupps
Relative RuleFor any abstract X:
X is X to some person, at some time (Michael Bolton)
• A joke is a joke to some person at some time • An issue is an issue to some person at some time
• Have you ever had to spell an issue out?• They just don’t get it• Surprise vs coherence
@qahiccupps
Mission #2: DesignQ: Why was the web developer sent home early on new years?
• Factoring: • Web - HTTP, SOAP, browser, internet, Javascript, AJAX• developer - code, script, IDE, bugs• new year - 31st, 1st, annual, fireworks, resolution • home - home page, house, street, homing pigeon• work - job, position, meetings, requirements, responsibilities
A1: Was he sent home or did he desert his POST?A2: Hopefully he was PUT in his place.A3: He's now considering his OPTIONS.
• Fault vs Failure • These “failures” stem from the same underlying “fault”
@qahiccupps
Mission #2: Design• Stopping strategies
• Time, deadline, other work, risk, value, statistical test, …
A4: And so on ...
• Plunge in and Quit• I can always come back!
• Factoring• Javascript: common libraries such as node.js, jQuery, D3 • node: sounds like "knowed“, "no-ed"• Ajax: sounds like "Hey Jacks", "Age Axe", "A Jacks"
@qahiccupps
Mission #2: Design• Lateral Thinking
• Be open to off-track thoughts• Deliberately provoke off-track thoughts• Example: decomposition
eleph-ant - the biggest insect in the worldunpleas-ant - the worst insect to be arounddeodor-ant - the nicest smelling insect
• jQuery: sounds like "Jake weary"
• Work back from result to context• From theoretical to practical • Does it have coherence?
@qahiccupps
Mission #2: Design• Iteration, rote generation
• Jake said he was weary• The boss saw that Jake was weary• Jake's weary programming• Was Jake weary?• The boss saw Jake weary
• Oracles• Do I think it’s funny?
Q: Why was the web developer sent home early on new years? A5: The boss hated to see Jake weary
• Negate the premise
@qahiccupps
Keeping Loose• When I think of a corny joke …
• … I force myself to find two more …• … with some aspects in common• The restriction simulates real world constraints; forces creativity
• Cheap and easy training method• No software, tools, preparation, resources needed
@qahiccupps
Other Ways• Blogging
• Writing• Discovering and clustering ideas• Introspection• Discipline
I don't pretend that every thought I have is revolutionary, revelatory or even revealable … but by forcing myself to think I am getting in the habit of thinking and, I hope, thinking is becoming my habit.
(Hiccupps)
@qahiccupps
Other Ways• Blog Images
• Making connections• Focus/Defocus• Exploration
@qahiccupps
@qahiccupps
Summary• Some things I ‘just do’ help me in my job
• Joking• Blogging• Blog images
• Like drills for an athlete
• We don’t all need to be comedians• … we probably all do something
@qahiccupps
Over to You• What do you ‘just do’ to stay loose?
• James Christie: checking relationships; number factoring • Cambridge Tester Meetup:
• Unicycling down mountains• Intense self-observation
• How does it help you?• Have you refined it? How?• Can it be used by others?• What’s common across these kinds of things?• Can they be motivational (to our teams?)• Is there a real effect here?
@qahiccupps
YOU’RE HAVING A LAUGHJames ThomasLinguamaticsUKTMF. July 2015
@qahiccupps, [email protected]