SlideShare a Scribd company logo
1 of 87
Download to read offline
How to argue
about JavaScript
How not to argue about semicolons
Our arguments
should be purposeful.
ideal: scientific research
reality: political debate
“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)
“Who the hell are you?”
No one of consequence.
“Where do you get off
censoring me, you fascist?”
I don’t.
Motives for having
a code argument:
to troll
to feel awesome
 about yourself
to persuade others
to your way of thinking
to understand
the subject better
An argument has three goals.
Goal 1:
     It should produce
a wise agreement, if possible.
Goal 2:
It should be efficient.
Goal 3:
      It should not damage
the relationship between parties.
Tactics for arguments:
Tactic 1:
Separate the people from the problem.
bad:




the objective nature of the problem
how humans feel about the problem
bad:




the objective nature of the problem
how humans feel about the problem
good:




the objective nature of the problem
how humans feel about the problem
the original ticket:
response from Jacob Thornton (@fat):
comments one and two:
comment three:
comment four:
(this is why you should be nice)
Tactic 2:
Focus on interests, not positions.
Tactic 3:
Invent options for mutual gain.
Tactic 4:
Insist on objective criteria.
(standards)
(benchmarks)
THE SELECTOR WARS
“So what should I do?”
How to think:
Retain a willingness
 to be convinced
Imagine where others
  are coming from
Account for your own taste
Account for your own emotions
John Resig
“I learned some things about jQuery today…”
Recognize derails as they happen
Ahead:
   An inventory of the discussions
 taking place in a single closed ticket
on Twitter Bootstrap’s GitHub project
main question:

  Should Bootstrap change a
syntactic shortcut that does not
  minify properly in JSMin?
main question (broadened):

     Should library authors care
 about interoperability with JSMin?
Or should JSMin accommodate code
  that Crockford finds distasteful?
meta-discussions perpetuated
by at least two of the 143 ticket participants:
“People who don’t use
semicolons are
JavaScript hipsters.”




                        “No, people who are
                             fanatical about
                         semicolons are just
                            spreading FUD.”
“@fat is being a jackass
and a bad project
steward.”




                           “No, people like you are
                           bitching about a library
                                  they got for free.”
“Semicolon or not, that line
 should still be rewritten.”
“JSMin sucks anyway.
  People should use
 some other minifier.”
“Who cares about minification?
Everyone’s got a fast connection now.”
“We’ve now spent like a hundred comments
     arguing about a single semicolon
     that @fat is too stubborn to add.”
“We are bikeshedding
 like hell up in here.”
“Stop posting on this ticket! GitHub sends me a
    notification with each new comment.”
also: trolls
also: wisecracks
meanwhile:
Staying on topic
requires moderation.
How to speak:
Be nice.
Speak with surgical precision.
E-Prime
“Any proposition containing the word ‘is’ creates
 a linguistic structural confusion which will
 eventually give birth to serious fallacies.”
                                  Alfred Korzybski,
                                         Semanticist
“PHP is awful.”
“PHP is awful.”

“Whenever I use PHP, I end up longing
 for the logical API and unsurprising
   behavior of Ruby or JavaScript.”
“jQuery is easier to use
   than MooTools.”
“jQuery is easier to use
     than MooTools.”

“I find jQuery more intuitive
    to use than MooTools.”
Be honest in your
characterizations.
“What if the other side
 won’t play along?”
Don’t rise to the bait.
Emphasize the contrast between
your tactics and your opponents’.
“Why do I have to
take the high road?”
Hellfire and torment
I didn’t have time for:
Ember vs. Backbone
Micro-frameworks
CoffeeScript!
Issue #28: script loading solution
https://github.com/h5bp/html5-boilerplate/issues/28
Douglas Crockford
       vs.
   the world
(fin)

More Related Content

Viewers also liked

Effective Listening
Effective ListeningEffective Listening
Effective ListeningSampath
 
Teaching Paraphrasing to students
Teaching Paraphrasing to studentsTeaching Paraphrasing to students
Teaching Paraphrasing to studentsKevin Cummins
 
Effective listening presentation
Effective listening presentationEffective listening presentation
Effective listening presentationshafiqahshukri
 
Presentation Active Listening
Presentation Active ListeningPresentation Active Listening
Presentation Active Listeningirina_dragnea
 
Paraphrasing Power Point
Paraphrasing Power PointParaphrasing Power Point
Paraphrasing Power PointBMS
 
Paraphrasing
ParaphrasingParaphrasing
Paraphrasingkd4bears
 
The Future of Education is Digital
The Future of Education is DigitalThe Future of Education is Digital
The Future of Education is DigitalPaul Brown
 
What is an insight?
What is an insight?What is an insight?
What is an insight?Umar Ghumman
 

Viewers also liked (9)

Effective Listening
Effective ListeningEffective Listening
Effective Listening
 
Teaching Paraphrasing to students
Teaching Paraphrasing to studentsTeaching Paraphrasing to students
Teaching Paraphrasing to students
 
Effective listening presentation
Effective listening presentationEffective listening presentation
Effective listening presentation
 
Empathy
EmpathyEmpathy
Empathy
 
Presentation Active Listening
Presentation Active ListeningPresentation Active Listening
Presentation Active Listening
 
Paraphrasing Power Point
Paraphrasing Power PointParaphrasing Power Point
Paraphrasing Power Point
 
Paraphrasing
ParaphrasingParaphrasing
Paraphrasing
 
The Future of Education is Digital
The Future of Education is DigitalThe Future of Education is Digital
The Future of Education is Digital
 
What is an insight?
What is an insight?What is an insight?
What is an insight?
 

Similar to How to Argue about JavaScript

Howtostopsucking
HowtostopsuckingHowtostopsucking
HowtostopsuckingHugo Pinto
 
How to stop sucking and be awesome instead
How to stop sucking and be awesome insteadHow to stop sucking and be awesome instead
How to stop sucking and be awesome insteadcodinghorror
 
Howtostopsuckingandbeawesomeinstead 120601013410-phpapp01
Howtostopsuckingandbeawesomeinstead 120601013410-phpapp01Howtostopsuckingandbeawesomeinstead 120601013410-phpapp01
Howtostopsuckingandbeawesomeinstead 120601013410-phpapp01Hugo Pinto
 
CityLIS talk, Feb 1st 2016
CityLIS talk, Feb 1st 2016CityLIS talk, Feb 1st 2016
CityLIS talk, Feb 1st 2016benosteen
 
Quora ML Workshop: Sock Puppets and Hoaxes on the Web
Quora ML Workshop: Sock Puppets and Hoaxes on the WebQuora ML Workshop: Sock Puppets and Hoaxes on the Web
Quora ML Workshop: Sock Puppets and Hoaxes on the WebQuora
 
Tech Talk @ Dev Bootcamp Chicago
Tech Talk @ Dev Bootcamp ChicagoTech Talk @ Dev Bootcamp Chicago
Tech Talk @ Dev Bootcamp ChicagoFred Lee
 
Talking is (virtual) work -supporting online argumentation--2013-09-18 Malta ...
Talking is (virtual) work -supporting online argumentation--2013-09-18 Malta ...Talking is (virtual) work -supporting online argumentation--2013-09-18 Malta ...
Talking is (virtual) work -supporting online argumentation--2013-09-18 Malta ...jodischneider
 
Jeff Atwood - How to Talk So Your Community Will Listen and Listen So Your Co...
Jeff Atwood - How to Talk So Your Community Will Listen and Listen So Your Co...Jeff Atwood - How to Talk So Your Community Will Listen and Listen So Your Co...
Jeff Atwood - How to Talk So Your Community Will Listen and Listen So Your Co...Heavybit
 
OpenStack - an authentic critique
OpenStack - an authentic critiqueOpenStack - an authentic critique
OpenStack - an authentic critiqueAndrew Shafer
 
BSSML17 - Topic Models
BSSML17 - Topic ModelsBSSML17 - Topic Models
BSSML17 - Topic ModelsBigML, Inc
 
ARGUMENTATIVE ESSAY PART
ARGUMENTATIVE ESSAY PARTARGUMENTATIVE ESSAY PART
ARGUMENTATIVE ESSAY PARTSandra Long
 
Disrupt 2 Grow - Devoxx 2013
Disrupt 2 Grow - Devoxx 2013Disrupt 2 Grow - Devoxx 2013
Disrupt 2 Grow - Devoxx 2013Konrad Malawski
 
On the Political Origins of Digital Dualism: From Rousseau's Masturbating Hab...
On the Political Origins of Digital Dualism: From Rousseau's Masturbating Hab...On the Political Origins of Digital Dualism: From Rousseau's Masturbating Hab...
On the Political Origins of Digital Dualism: From Rousseau's Masturbating Hab...cyborgology
 
Jeff Atwood - How To Optimize Your Community Platform
Jeff Atwood - How To Optimize Your Community PlatformJeff Atwood - How To Optimize Your Community Platform
Jeff Atwood - How To Optimize Your Community PlatformFeverBee Limited
 
Collaborate: How to bring people together around digital projects
Collaborate: How to bring people together around digital projectsCollaborate: How to bring people together around digital projects
Collaborate: How to bring people together around digital projectsEllen de Vries
 
50Pcs Waterproof A4 Self Adhesive Glossy Paper Sticker For Photographic ...
50Pcs Waterproof A4 Self Adhesive Glossy Paper Sticker For Photographic ...50Pcs Waterproof A4 Self Adhesive Glossy Paper Sticker For Photographic ...
50Pcs Waterproof A4 Self Adhesive Glossy Paper Sticker For Photographic ...Sue Ganguli
 
Bloomfield Keynote
Bloomfield KeynoteBloomfield Keynote
Bloomfield KeynoteKarl Kapp
 
Data Day Seattle, From NLP to AI
Data Day Seattle, From NLP to AIData Day Seattle, From NLP to AI
Data Day Seattle, From NLP to AIJonathan Mugan
 

Similar to How to Argue about JavaScript (20)

ENG IMS 224, March 19th
ENG IMS 224, March 19thENG IMS 224, March 19th
ENG IMS 224, March 19th
 
Howtostopsucking
HowtostopsuckingHowtostopsucking
Howtostopsucking
 
How to stop sucking and be awesome instead
How to stop sucking and be awesome insteadHow to stop sucking and be awesome instead
How to stop sucking and be awesome instead
 
Howtostopsuckingandbeawesomeinstead 120601013410-phpapp01
Howtostopsuckingandbeawesomeinstead 120601013410-phpapp01Howtostopsuckingandbeawesomeinstead 120601013410-phpapp01
Howtostopsuckingandbeawesomeinstead 120601013410-phpapp01
 
CityLIS talk, Feb 1st 2016
CityLIS talk, Feb 1st 2016CityLIS talk, Feb 1st 2016
CityLIS talk, Feb 1st 2016
 
Quora ML Workshop: Sock Puppets and Hoaxes on the Web
Quora ML Workshop: Sock Puppets and Hoaxes on the WebQuora ML Workshop: Sock Puppets and Hoaxes on the Web
Quora ML Workshop: Sock Puppets and Hoaxes on the Web
 
Tech Talk @ Dev Bootcamp Chicago
Tech Talk @ Dev Bootcamp ChicagoTech Talk @ Dev Bootcamp Chicago
Tech Talk @ Dev Bootcamp Chicago
 
Talking is (virtual) work -supporting online argumentation--2013-09-18 Malta ...
Talking is (virtual) work -supporting online argumentation--2013-09-18 Malta ...Talking is (virtual) work -supporting online argumentation--2013-09-18 Malta ...
Talking is (virtual) work -supporting online argumentation--2013-09-18 Malta ...
 
Jeff Atwood - How to Talk So Your Community Will Listen and Listen So Your Co...
Jeff Atwood - How to Talk So Your Community Will Listen and Listen So Your Co...Jeff Atwood - How to Talk So Your Community Will Listen and Listen So Your Co...
Jeff Atwood - How to Talk So Your Community Will Listen and Listen So Your Co...
 
OpenStack - an authentic critique
OpenStack - an authentic critiqueOpenStack - an authentic critique
OpenStack - an authentic critique
 
BSSML17 - Topic Models
BSSML17 - Topic ModelsBSSML17 - Topic Models
BSSML17 - Topic Models
 
ARGUMENTATIVE ESSAY PART
ARGUMENTATIVE ESSAY PARTARGUMENTATIVE ESSAY PART
ARGUMENTATIVE ESSAY PART
 
Disrupt 2 Grow - Devoxx 2013
Disrupt 2 Grow - Devoxx 2013Disrupt 2 Grow - Devoxx 2013
Disrupt 2 Grow - Devoxx 2013
 
On the Political Origins of Digital Dualism: From Rousseau's Masturbating Hab...
On the Political Origins of Digital Dualism: From Rousseau's Masturbating Hab...On the Political Origins of Digital Dualism: From Rousseau's Masturbating Hab...
On the Political Origins of Digital Dualism: From Rousseau's Masturbating Hab...
 
Jeff Atwood - How To Optimize Your Community Platform
Jeff Atwood - How To Optimize Your Community PlatformJeff Atwood - How To Optimize Your Community Platform
Jeff Atwood - How To Optimize Your Community Platform
 
Collaborate: How to bring people together around digital projects
Collaborate: How to bring people together around digital projectsCollaborate: How to bring people together around digital projects
Collaborate: How to bring people together around digital projects
 
D19-EWRT 1A
D19-EWRT 1AD19-EWRT 1A
D19-EWRT 1A
 
50Pcs Waterproof A4 Self Adhesive Glossy Paper Sticker For Photographic ...
50Pcs Waterproof A4 Self Adhesive Glossy Paper Sticker For Photographic ...50Pcs Waterproof A4 Self Adhesive Glossy Paper Sticker For Photographic ...
50Pcs Waterproof A4 Self Adhesive Glossy Paper Sticker For Photographic ...
 
Bloomfield Keynote
Bloomfield KeynoteBloomfield Keynote
Bloomfield Keynote
 
Data Day Seattle, From NLP to AI
Data Day Seattle, From NLP to AIData Day Seattle, From NLP to AI
Data Day Seattle, From NLP to AI
 

Recently uploaded

Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 

Recently uploaded (20)

Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 

How to Argue about JavaScript