Slide 1

Slide 1 text

Someone is wrong mocks suck BDD vs TDD Ruby vs Node Not REST SCaling Garbige collectionMeta programming Rails ghetto outsourcing outsourcing outsou SCALE Ruby does not Scale not scale not scale No to TDD i! Rails mess Rails ghetto Ruby slow Rails ghetto JS Future Ruby is A Toy Enterpise Ready Lean vs Agile Big Data Magic Big Data More Agile Ruiby too dynamic BDD vs TD Stubs suck Big Data Big Data craftmanship sucks Ruby vs Node Rails ghetto Big Data Joseph Wilk Patterns Node jumped SHARK Mud Use PHP GOO

Slide 2

Slide 2 text

Rhetoric for programmers mocks suck BDD vs TDD Ruby vs Node Not REST SCaling Garbige collectionMeta programming Rails ghetto outsourcing outsourcing outsou SCALE Ruby does not Scale not scale not scale No to TDD i! Rails mess Rails ghetto Ruby slow Rails ghetto JS Future Ruby is A Toy Use PHP Enterpise Ready Lean vs Agile Big Data Magic Big Data More Agile Ruiby too dynamic BDD vs TD Stubs suck Big Data Big Data craftmanship sucks Ruby vs Node Rails ghetto Big Data Joseph Wilk Patterns Node jumped SHARK Mud GOO

Slide 3

Slide 3 text

Rhetoric

Slide 4

Slide 4 text

Rhetorical Situation

Slide 5

Slide 5 text

I have an agenda

Slide 6

Slide 6 text

I think Rhetoric is something you should know

Slide 7

Slide 7 text

I think knowing Rhetoric will help make you a better programmer

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

Greeks Aristotle

Slide 10

Slide 10 text

programming tech choices retrospectives Pair Tweets conferences blogs open source

Slide 11

Slide 11 text

Code wins arguments

Slide 12

Slide 12 text

Communication Code wins arguments

Slide 13

Slide 13 text

<% unless @subscription.active? %>

Renew your Subscription

Sorry it looks like your trial or subscription has expired.

Signup for a subscription to create projects.

<% else %>

Projects

<%= flash[:notice] %>

Slide 14

Slide 14 text

HEllo world http://www.mzlabs.com/JMPubs/HelloWorld.pdf

Slide 15

Slide 15 text

HEllo world http://www.mzlabs.com/JMPubs/HelloWorld.pdf 10 PRINT "MY HUMAN UNDERSTANDS ME."

Slide 16

Slide 16 text

No content

Slide 17

Slide 17 text

The art of rhetoric Marcus Tullius Cicero

Slide 18

Slide 18 text

character Argument by Argument by Argument by logic emotion

Slide 19

Slide 19 text

Pathos Logos Ethos Logic Character Emotion

Slide 20

Slide 20 text

Logic “a ground" "a plea" "an opinion" "an expectation" "word” "speech” “account” “reason” Argument's logical appeal “Facts”

Slide 21

Slide 21 text

Logical Fallacies Appeal to the mind Appeal to emotions Faulty Deduction Garbled Cause & Effect Manipulating Content On The Attack Fallacies of Relevance Component Fallacies Fallacies of Ambiguity Fallacies of Omission

Slide 22

Slide 22 text

It's Fucking JavaScript This is probably the worst thing any server-side framework can do: be written in JavaScript. if (typeof my_var !== "undefined" && my_var !== null) { // you idiots put Rasmus Lerdorf to shame } What is this I don't even... http://teddziuba.com/2011/10/node-js-is-cancer.html

Slide 23

Slide 23 text

It's Fucking JavaScript This is probably the worst thing any server-side framework can do: be written in JavaScript. if (typeof my_var !== "undefined" && my_var !== null) { // you idiots put Rasmus Lerdorf to shame } What is this I don't even... http://teddziuba.com/2011/10/node-js-is-cancer.html straw man

Slide 24

Slide 24 text

It's Fucking JavaScript This is probably the worst thing any server-side framework can do: be written in JavaScript. if (typeof my_var !== "undefined" && my_var !== null) { // you idiots put Rasmus Lerdorf to shame } What is this I don't even... http://teddziuba.com/2011/10/node-js-is-cancer.html Misleading vividness

Slide 25

Slide 25 text

No content

Slide 26

Slide 26 text

Spotlight

Slide 27

Slide 27 text

Well Joseph gave a talk on Rhetoric so it must be useful...

Slide 28

Slide 28 text

Well Joseph gave a talk on Rhetoric so it must be useful... Appeal to Authority

Slide 29

Slide 29 text

We’ve invested so much in this project its too late to turn back

Slide 30

Slide 30 text

We’ve invested so much in this project its too late to turn back Sunk cost fallacy

Slide 31

Slide 31 text

Logic is not enough Know all the arguments

Slide 32

Slide 32 text

Emotion Metaphor Story telling Passion in the delivery

Slide 33

Slide 33 text

http://www.laputan.org/mud/

Slide 34

Slide 34 text

Jim Weirich https://github.com/jimweirich/polite_programmer_presentation

Slide 35

Slide 35 text

No content

Slide 36

Slide 36 text

No content

Slide 37

Slide 37 text

“Test all the fucking time”

Slide 38

Slide 38 text

Basically XML is just another way of writing S-expr or Trees or whatever you want to call it. They are not identical. The aspects you are willing to ignore are more important than the aspects you are willing to accept. Robbery is not just another way of making a living, rape is not just another way of satisfying basic human needs, torture is not just another way of interrogation. And XML is not just another way of writing S-exps. There are some things in life that you do not do if you want to be a moral being and feel proud of what you have accomplished. Erik Naggum http://www.schnada.de/quotes/contempt.html

Slide 39

Slide 39 text

They are not identical. The aspects you are willing to ignore are more important than the aspects you are willing to accept. Robbery is not just another way of making a living, rape is not just another way of satisfying basic human needs, torture is not just another way of interrogation. And XML is not just another way of writing S-exps. There are some things in life that you do not do if you want to be a moral being and feel proud of what you have accomplished. Basically XML is just another way of writing S-expr or Trees or whatever you want to call it. Erik Naggum http://www.schnada.de/quotes/contempt.html

Slide 40

Slide 40 text

/** * FOR CLASS INTERNAL USE ONLY */ public void someMethod() { ... some code... } /* Project : XYZ (Please somebody shoot me!) * * File : $Id: defs.h,v 1.1 $ * * Purpose : Create havoc rather than peace among many nations * * History : Back-ported changes that were not in CVS. Please somebody, * shoot us and put us all out of our misery. */ if not cannot_undisable result = not true

Slide 41

Slide 41 text

/** * FOR CLASS INTERNAL USE ONLY */ public void someMethod() { ... some code... } /* Project : XYZ (Please somebody shoot me!) * * File : $Id: defs.h,v 1.1 $ * * Purpose : Create havoc rather than peace among many nations * * History : Back-ported changes that were not in CVS. Please somebody, * shoot us and put us all out of our misery. */ if not cannot_undisable result = not true

Slide 42

Slide 42 text

“Even if you persuade me, you won't persuade me.” Aristophanes

Slide 43

Slide 43 text

Character Credibility Authority

Slide 44

Slide 44 text

Virtue Practical Wisdom Selflessness or disinterest

Slide 45

Slide 45 text

Matz

Slide 46

Slide 46 text

Code Grooming

Slide 47

Slide 47 text

forensic epideictic deliberative

Slide 48

Slide 48 text

past present future forensic epideictic deliberative

Slide 49

Slide 49 text

Blame Values Choice past present future

Slide 50

Slide 50 text

punishment bonding payoff past present future separating

Slide 51

Slide 51 text

Concede on an small issue Make your point Provide evidence

Slide 52

Slide 52 text

medium

Slide 53

Slide 53 text

No content

Slide 54

Slide 54 text

All we have are the words on a computer and how we hear those words in our head

Slide 55

Slide 55 text

Someone is wrong mocks suck BDD vs TDD Ruby vs Node Not REST SCaling Garbige collectionMeta programming Rails ghetto outsourcing outsourcing outsou SCALE Ruby does not Scale not scale not scale No to TDD i! Rails mess Rails ghetto Ruby slow Rails ghetto JS Future Ruby is A Toy Use PHP Enterpise Ready Lean vs Agile Big Data Magic Big Data More Agile Ruiby too dynamic BDD vs TD Stubs suck Big Data Big Data craftmanship sucks Ruby vs Node Rails ghetto Big Data Patterns Node jumped SHARK GOO

Slide 56

Slide 56 text

Goals argument tense Emotion, Character, logic Time and medium

Slide 57

Slide 57 text

persuasive

Slide 58

Slide 58 text

is easy Being wrong

Slide 59

Slide 59 text

No content

Slide 60

Slide 60 text

Be wrong in the right way

Slide 61

Slide 61 text

Joseph Wilk