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: scientic 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 ecient.
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 nds 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?”
Hellre 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
(n)

More Related Content

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

Howtostopsuckingandbeawesomeinstead 120601013410-phpapp01
Howtostopsuckingandbeawesomeinstead 120601013410-phpapp01Howtostopsuckingandbeawesomeinstead 120601013410-phpapp01
Howtostopsuckingandbeawesomeinstead 120601013410-phpapp01
Hugo Pinto
 
Howtostopsucking
HowtostopsuckingHowtostopsucking
Howtostopsucking
Hugo Pinto
 
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
 

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
 
Howtostopsuckingandbeawesomeinstead 120601013410-phpapp01
Howtostopsuckingandbeawesomeinstead 120601013410-phpapp01Howtostopsuckingandbeawesomeinstead 120601013410-phpapp01
Howtostopsuckingandbeawesomeinstead 120601013410-phpapp01
 
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
 
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

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 

How to Argue about JavaScript