Pro Yearly is on sale from $80 to $50! »

Someone is wrong

3c28deaff162aeda44f2e0bcdca1dacf?s=47 Joseph Wilk
September 08, 2012

Someone is wrong

3c28deaff162aeda44f2e0bcdca1dacf?s=128

Joseph Wilk

September 08, 2012
Tweet

Transcript

  1. 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
  2. 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
  3. Rhetoric

  4. Rhetorical Situation

  5. I have an agenda

  6. I think Rhetoric is something you should know

  7. I think knowing Rhetoric will help make you a better

    programmer
  8. None
  9. Greeks Aristotle

  10. programming tech choices retrospectives Pair Tweets conferences blogs open source

  11. Code wins arguments

  12. Communication Code wins arguments

  13. <section id="primary"> <div class="container"> <% unless @subscription.active? %> <header class="page-header"><h1>Renew

    your Subscription</h1></header> <p>Sorry it looks like your trial or subscription has expired.</p> <p><a href="/subscriptions">Signup for a subscription</a> to create projects.</p> <% else %> <h1>Projects</h1> <div id="sinatra_authentication_flash"> <%= flash[:notice] %> </div> <div class="account-settings"> <% if @subscription.exceeded_project_limit?(current_user) %> <p>Sorry you have reached your maximum number of projects.</p> <p>Please <a href="/subscriptions">upgrade your subscription</a> to create more projects</p> <% elsif !@subscription.active? %> <header class="page-header"><h1>Renew your Subscription</h1></header> <p>Sorry your subscription has expired.</p> <p>Please <a href="/subscriptions">upgrade your subscription</a> to create more projects</p> <% else %> <form action="/projects/create" method="post"> <div class="field"> <div class="label"> <label for="project_id" style="font-size: 1.3em;">Project name</label> </div> <input id="project_project_id" name="project[project_id]" size="30" type="text" value="<%= params[:project_id] %>"/> </div> <p></p> <div class="label"> <label for="private" style="font-size: 1.3em;">Who can access this project?</label> </div> <p class="checkbox"> <label> <% if @subscription.on_trial? && @subscription.active? %> <p class="lock-warning">Trial accounts are limited to public projects only. <a href="/subscriptions">Signup for a subscription</a> to creat private projects.</p></span> <input disabled="disabled" name="project[private]" value="true" type="radio"> <span class="disabled-option">&nbsp;&nbsp;Only me (Private)</span> <% else %> <input name="project[private]" value="true" type="radio" checked="checked"> &nbsp;&nbsp;Only me <% end %> </label> Code and Rhetoric
  14. HEllo world http://www.mzlabs.com/JMPubs/HelloWorld.pdf

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

  16. None
  17. The art of rhetoric Marcus Tullius Cicero

  18. character Argument by Argument by Argument by logic emotion

  19. Pathos Logos Ethos Logic Character Emotion

  20. Logic “a ground" "a plea" "an opinion" "an expectation" "word”

    "speech” “account” “reason” Argument's logical appeal “Facts”
  21. 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
  22. 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
  23. 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
  24. 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
  25. None
  26. Spotlight

  27. Well Joseph gave a talk on Rhetoric so it must

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

    be useful... Appeal to Authority
  29. We’ve invested so much in this project its too late

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

    to turn back Sunk cost fallacy
  31. Logic is not enough Know all the arguments

  32. Emotion Metaphor Story telling Passion in the delivery

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

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

  35. None
  36. None
  37. “Test all the fucking time”

  38. 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
  39. 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
  40. /** * 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
  41. /** * 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
  42. “Even if you persuade me, you won't persuade me.” Aristophanes

  43. Character Credibility Authority

  44. Virtue Practical Wisdom Selflessness or disinterest

  45. Matz

  46. Code Grooming

  47. forensic epideictic deliberative

  48. past present future forensic epideictic deliberative

  49. Blame Values Choice past present future

  50. punishment bonding payoff past present future separating

  51. Concede on an small issue Make your point Provide evidence

  52. medium

  53. None
  54. All we have are the words on a computer and

    how we hear those words in our head
  55. 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
  56. Goals argument tense Emotion, Character, logic Time and medium

  57. persuasive

  58. is easy Being wrong

  59. None
  60. Be wrong in the right way

  61. Joseph Wilk