How to Argue about JavaScript
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

How to Argue about JavaScript

on

  • 5,263 views

The rules of diplomatic debate apply just as much to code as they do to anything else. I'm going to try to identify what separates good debate from bad debate, and share specific tactics for keeping ...

The rules of diplomatic debate apply just as much to code as they do to anything else. I'm going to try to identify what separates good debate from bad debate, and share specific tactics for keeping these arguments evidence-based, respectful, and drama-free.

Statistics

Views

Total Views
5,263
Views on SlideShare
4,987
Embed Views
276

Actions

Likes
9
Downloads
34
Comments
1

9 Embeds 276

http://lanyrd.com 240
http://192.168.145.131 13
http://www.onlydoo.com 10
http://us-w1.rockmelt.com 6
https://twitter.com 3
http://www.todogua.com 1
http://blog.slideshare.net 1
http://nodeslide.herokuapp.com 1
http://innovatorylife.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • well done.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

How to Argue about JavaScript Presentation Transcript

  • 1. How to argueabout JavaScript
  • 2. How not to argue about semicolons
  • 3. Our argumentsshould be purposeful.
  • 4. ideal: scientific research
  • 5. reality: political debate
  • 6. “In science it often happens that scientists say, ‘You know that’s a really good argument; my position is mistaken,’ and then they actually change their minds and you never hear that old view from them again. They really do it. It doesn’t happen as often as it should, because scientists are human and change is sometimes painful. But it happens every day. I cannot recall the last time something like that happened in politics or religion.” Carl Sagan (1987)
  • 7. “Who the hell are you?”
  • 8. No one of consequence.
  • 9. “Where do you get offcensoring me, you fascist?”
  • 10. I don’t.
  • 11. Motives for havinga code argument:
  • 12. to troll
  • 13. to feel awesome about yourself
  • 14. to persuade othersto your way of thinking
  • 15. to understandthe subject better
  • 16. An argument has three goals.
  • 17. Goal 1: It should producea wise agreement, if possible.
  • 18. Goal 2:It should be efficient.
  • 19. Goal 3: It should not damagethe relationship between parties.
  • 20. Tactics for arguments:
  • 21. Tactic 1:Separate the people from the problem.
  • 22. bad:the objective nature of the problemhow humans feel about the problem
  • 23. bad:the objective nature of the problemhow humans feel about the problem
  • 24. good:the objective nature of the problemhow humans feel about the problem
  • 25. the original ticket:
  • 26. response from Jacob Thornton (@fat):
  • 27. comments one and two:
  • 28. comment three:
  • 29. comment four:
  • 30. (this is why you should be nice)
  • 31. Tactic 2:Focus on interests, not positions.
  • 32. Tactic 3:Invent options for mutual gain.
  • 33. Tactic 4:Insist on objective criteria.
  • 34. (standards)
  • 35. (benchmarks)
  • 36. THE SELECTOR WARS
  • 37. “So what should I do?”
  • 38. How to think:
  • 39. Retain a willingness to be convinced
  • 40. Imagine where others are coming from
  • 41. Account for your own taste
  • 42. Account for your own emotions
  • 43. John Resig“I learned some things about jQuery today…”
  • 44. Recognize derails as they happen
  • 45. Ahead: An inventory of the discussions taking place in a single closed ticketon Twitter Bootstrap’s GitHub project
  • 46. main question: Should Bootstrap change asyntactic shortcut that does not minify properly in JSMin?
  • 47. main question (broadened): Should library authors care about interoperability with JSMin?Or should JSMin accommodate code that Crockford finds distasteful?
  • 48. meta-discussions perpetuatedby at least two of the 143 ticket participants:
  • 49. “People who don’t usesemicolons areJavaScript hipsters.” “No, people who are fanatical about semicolons are just spreading FUD.”
  • 50. “@fat is being a jackassand a bad projectsteward.” “No, people like you are bitching about a library they got for free.”
  • 51. “Semicolon or not, that line should still be rewritten.”
  • 52. “JSMin sucks anyway. People should use some other minifier.”
  • 53. “Who cares about minification?Everyone’s got a fast connection now.”
  • 54. “We’ve now spent like a hundred comments arguing about a single semicolon that @fat is too stubborn to add.”
  • 55. “We are bikeshedding like hell up in here.”
  • 56. “Stop posting on this ticket! GitHub sends me a notification with each new comment.”
  • 57. also: trolls
  • 58. also: wisecracks
  • 59. meanwhile:
  • 60. Staying on topicrequires moderation.
  • 61. How to speak:
  • 62. Be nice.
  • 63. Speak with surgical precision.
  • 64. E-Prime
  • 65. “Any proposition containing the word ‘is’ creates a linguistic structural confusion which will eventually give birth to serious fallacies.” Alfred Korzybski, Semanticist
  • 66. “PHP is awful.”
  • 67. “PHP is awful.”“Whenever I use PHP, I end up longing for the logical API and unsurprising behavior of Ruby or JavaScript.”
  • 68. “jQuery is easier to use than MooTools.”
  • 69. “jQuery is easier to use than MooTools.”“I find jQuery more intuitive to use than MooTools.”
  • 70. Be honest in yourcharacterizations.
  • 71. “What if the other side won’t play along?”
  • 72. Don’t rise to the bait.
  • 73. Emphasize the contrast betweenyour tactics and your opponents’.
  • 74. “Why do I have totake the high road?”
  • 75. Hellfire and tormentI didn’t have time for:
  • 76. Ember vs. Backbone
  • 77. Micro-frameworks
  • 78. CoffeeScript!
  • 79. Issue #28: script loading solutionhttps://github.com/h5bp/html5-boilerplate/issues/28
  • 80. Douglas Crockford vs. the world
  • 81. (fin)