This talk is about 'thinking'. Most of the time we take the process for granted, but so much of our daily lives depends on effective use of this most basic of abilities.
So how does this pertain to extracting wisdom from stupidity?
I hope to show you not _what_, but _how_ I learned by being stupid - and that the programmers love of logic can sometimes be as much an asset as an obstacle.
6. –Edward de Bono
“The purpose of the book has been to shift
attention from the problems themselves to the
way the mind tackles them”
7. Stupidity
The words "stupid" and "stupidity" entered the
English language in 1541. Since then, stupidity
has taken place along with "fool," "idiot,"
"dumb," "moron," and related concepts as a
pejorative appellation for human misdeeds,
whether purposeful or accidental, due to absence
of mental capacity.
Stupidity is a quality or state of being stupid, or
an act or idea that exhibits properties of being
stupid.
8. Code experiment
• 1. Write throw-away code
• 2. That performs some function
• 3. Wait, what??
9.
10. Domcode Raffler Rules
• 1. Accept a filename as the first CLI argument.
• 2. The file will contain a n delimited list of names
• 3. Echo a single random name from the list
28. The Six Stages of Debugging
1. That can't happen.
2. That doesn't happen on my machine.
3. That shouldn't happen.
4. Why is that happening?
5. Oh, I see
6. How did that ever work?
29. The Six Stages of Debugging
1. That can't happen.
2. That doesn't happen on my machine.
3. That shouldn't happen.
4. Why is that happening?
5. Oh, I see
6. How did that ever work?
30. • It forces you to plan before you code.
• It virtually eliminates coder's block.
• Writing Unit tests will improve the design.
Test Driven Development?
31. Scenario: Starting a game
Given the dictionary provides "coconut"
When I start a game using the dictionary
Then there should be 11 guesses available
And the revealed word should be "_______"
Test Driven Development?
32. Scenario: Starting a game
Given the dictionary provides "coconut"
When I start a game using the dictionary
Then there should be 11 guesses available
And the revealed word should be "_______"
Test Driven Development?
33. Scenario: Starting a game
Given the dictionary provides "coconut"
When I start a game using the dictionary
Then there should be 11 guesses available
And the revealed word should be "_______"
Test Driven Development?
53. Problem Solving
You solve a Rubik’s Cube layer by layer,
by applying fixed sequences of moves,
leaving previously solved layers intact.
54. Problem Solving
You solve a Rubik’s Cube layer by layer,
by applying fixed sequences of moves,
leaving previously solved layers intact.
a programming problem
general patterns