SlideShare a Scribd company logo
Death Defying Feats
of Debuggery
The Futile Art of Pursuing
Perfect Code
Grace Hopper, Inventor of the bug
The first computer bug, literally
Grace Hopper’s Field Guide to Bugs
Bugs of Yore
Bugs of Yore
Bugs of Yore
Breakpoint Dancing
Avoiding Leaks
Wicked Good Toys
Linting Tools
PAIN
HUMILIATION
ESLint
The Alignment of Various Linting
Tools Chaotic Good Chaotic Neutral Chaotic Evil
Neutral Good Neutral Neutral Neutral Evil
Lawful Good Lawful Neutral Lawful Evil
Quick Check
jscheck.js
Douglas Crockford
2012-04-24
Public Domain
JSCheck is a testing tool for JavaScript. It was inspired by QuickCheck, a testing tool for Haskell
developed by Koen Claessen and John Hughes of Chalmers University of Technology.
JSCheck is a specification-driven testing tool. From a description of the properties of a system,
function, or object, it will generate random test cases attempting to prove those properties, and then
report its findings. That can be especially effective in managing the evolution of a program because
it can show the conformance of new code to old code. It also provides an interesting level of self-
documentation, because the executable specifications it relies on can provide a good view of the
workings of a program.
All of JSCheck can be loaded from a small file called jscheck.js.
The source is available at https://github.com/douglascrockford/JSCheck.
The documentation is available at http://www.JSCheck.org/.
Which QuickCheck is Right for You?
Sexiness
PITA Factor
JS-Quick-Check
PureScript-QuickCheck
jsVerify
Complexity Checkers
Complexity M = E − N + 2P
E = the number of edges of the graph.
N = the number of nodes of the graph.
P = the number of connected
components.
function factorialSize(myAwesomeInt) {
var factorial = 1;
var size;
for(let i = 1; i <= myAwesomeInt; i+=1) {
factorial = factorial * i;
}
if(factorial > 999) {
size = "Yuge!"
} else {
size = "meh"
}
return size;
}
9 - 8 + 2 * 1 = 3
Parameter count: 1
Cyclomatic complexity: 3
Cyclomatic complexity density: 30%
Halstead difficulty: 14
Halstead volume: 153
Halstead effort: 2103
Complexity Simplified
Score What It Means Emoji Equivalent
1 - 10 A simple program,
without much risk
11 - 20 More complex, moderate
risk
21 - 50 Complex, high risk
program
> 50 Untestable program (very
high risk)
Maps
Extensions!
Ember Inspector
AngularJS Batarang
Angular Watchers
React Developer Tools
Polymer DevTools
Extension
Meteor DevTools
Who does this guy think he is?
John Need
Front End Code Monkey
Galen Healthcare
Twitter : @JohnNeed
GitHub : https://github.com/johnneed
CodePen : http://codepen.io/johnneed/
Linked In : https://www.linkedin.com/in/johnneed

More Related Content

What's hot

Intro to RxJava/RxAndroid - GDG Munich Android
Intro to RxJava/RxAndroid - GDG Munich AndroidIntro to RxJava/RxAndroid - GDG Munich Android
Intro to RxJava/RxAndroid - GDG Munich Android
Egor Andreevich
 
Functional Reactive Programming / Compositional Event Systems
Functional Reactive Programming / Compositional Event SystemsFunctional Reactive Programming / Compositional Event Systems
Functional Reactive Programming / Compositional Event Systems
Leonardo Borges
 
State management in a GraphQL era
State management in a GraphQL eraState management in a GraphQL era
State management in a GraphQL era
kristijanmkd
 
Count downlatch &amp; implementation
Count downlatch &amp; implementationCount downlatch &amp; implementation
Count downlatch &amp; implementation
Isaac Liao
 
7++ Reasons to Move Your C++ Code to Visual Studio 2017
7++ Reasons to Move Your C++ Code to Visual Studio 20177++ Reasons to Move Your C++ Code to Visual Studio 2017
7++ Reasons to Move Your C++ Code to Visual Studio 2017
Microsoft Tech Community
 
Real world functional reactive programming
Real world functional reactive programmingReal world functional reactive programming
Real world functional reactive programming
Eric Polerecky
 
Correctness attraction __kth_2017
Correctness attraction __kth_2017Correctness attraction __kth_2017
Correctness attraction __kth_2017
Benjamin Danglot
 
Flying Start into Contract Testing
Flying Start into Contract TestingFlying Start into Contract Testing
Flying Start into Contract Testing
Piotr Kubowicz
 
Performance tests with gatling
Performance tests with gatlingPerformance tests with gatling
Performance tests with gatling
SoftwareMill
 
How to unit test your React/Redux app
How to unit test your React/Redux appHow to unit test your React/Redux app
How to unit test your React/Redux app
Alin Pandichi
 
Async Programming with C#5: Basics and Pitfalls
Async Programming with C#5: Basics and PitfallsAsync Programming with C#5: Basics and Pitfalls
Async Programming with C#5: Basics and Pitfalls
EastBanc Tachnologies
 
RxJS101 - What you need to know to get started with RxJS tomorrow
RxJS101 - What you need to know to get started with RxJS tomorrowRxJS101 - What you need to know to get started with RxJS tomorrow
RxJS101 - What you need to know to get started with RxJS tomorrow
Viliam Elischer
 
Microservices using Node.js and RabbitMQ
Microservices using Node.js and RabbitMQMicroservices using Node.js and RabbitMQ
Microservices using Node.js and RabbitMQ
Carolina Pascale Campos
 

What's hot (13)

Intro to RxJava/RxAndroid - GDG Munich Android
Intro to RxJava/RxAndroid - GDG Munich AndroidIntro to RxJava/RxAndroid - GDG Munich Android
Intro to RxJava/RxAndroid - GDG Munich Android
 
Functional Reactive Programming / Compositional Event Systems
Functional Reactive Programming / Compositional Event SystemsFunctional Reactive Programming / Compositional Event Systems
Functional Reactive Programming / Compositional Event Systems
 
State management in a GraphQL era
State management in a GraphQL eraState management in a GraphQL era
State management in a GraphQL era
 
Count downlatch &amp; implementation
Count downlatch &amp; implementationCount downlatch &amp; implementation
Count downlatch &amp; implementation
 
7++ Reasons to Move Your C++ Code to Visual Studio 2017
7++ Reasons to Move Your C++ Code to Visual Studio 20177++ Reasons to Move Your C++ Code to Visual Studio 2017
7++ Reasons to Move Your C++ Code to Visual Studio 2017
 
Real world functional reactive programming
Real world functional reactive programmingReal world functional reactive programming
Real world functional reactive programming
 
Correctness attraction __kth_2017
Correctness attraction __kth_2017Correctness attraction __kth_2017
Correctness attraction __kth_2017
 
Flying Start into Contract Testing
Flying Start into Contract TestingFlying Start into Contract Testing
Flying Start into Contract Testing
 
Performance tests with gatling
Performance tests with gatlingPerformance tests with gatling
Performance tests with gatling
 
How to unit test your React/Redux app
How to unit test your React/Redux appHow to unit test your React/Redux app
How to unit test your React/Redux app
 
Async Programming with C#5: Basics and Pitfalls
Async Programming with C#5: Basics and PitfallsAsync Programming with C#5: Basics and Pitfalls
Async Programming with C#5: Basics and Pitfalls
 
RxJS101 - What you need to know to get started with RxJS tomorrow
RxJS101 - What you need to know to get started with RxJS tomorrowRxJS101 - What you need to know to get started with RxJS tomorrow
RxJS101 - What you need to know to get started with RxJS tomorrow
 
Microservices using Node.js and RabbitMQ
Microservices using Node.js and RabbitMQMicroservices using Node.js and RabbitMQ
Microservices using Node.js and RabbitMQ
 

Viewers also liked

Hardware sim ( adryan nofri 1201632)
Hardware sim ( adryan nofri 1201632)Hardware sim ( adryan nofri 1201632)
Hardware sim ( adryan nofri 1201632)
adryannofri
 
Awesome Workflows with Grunt, Bower and Yeoman : Vermont Code Camp 2014
Awesome Workflows with Grunt, Bower and Yeoman : Vermont Code Camp 2014Awesome Workflows with Grunt, Bower and Yeoman : Vermont Code Camp 2014
Awesome Workflows with Grunt, Bower and Yeoman : Vermont Code Camp 2014
John Need
 
The Financial Services and Markets Act 2000 (Market Abuse) Regultions 2016 (D...
The Financial Services and Markets Act 2000 (Market Abuse) Regultions 2016 (D...The Financial Services and Markets Act 2000 (Market Abuse) Regultions 2016 (D...
The Financial Services and Markets Act 2000 (Market Abuse) Regultions 2016 (D...
Rodrigo Zepeda LLB, LLM, Chartered MCSI
 
The Designer’s Guide to Creating Churn
The Designer’s Guide to Creating ChurnThe Designer’s Guide to Creating Churn
The Designer’s Guide to Creating Churn
John Need
 
Shopping today
Shopping todayShopping today
Shopping today
Jeroen Van de Wiel
 
React + Flux = Joy
React + Flux = JoyReact + Flux = Joy
React + Flux = Joy
John Need
 
Storm-7 Consulting Media Pack (2016)
Storm-7 Consulting Media Pack (2016)Storm-7 Consulting Media Pack (2016)
Storm-7 Consulting Media Pack (2016)
Rodrigo Zepeda LLB, LLM, Chartered MCSI
 
Rock Solid CSS Architecture
Rock Solid CSS ArchitectureRock Solid CSS Architecture
Rock Solid CSS Architecture
John Need
 
Acv isquemico list 4to año de medicina unerg
Acv isquemico list 4to año de medicina unerg Acv isquemico list 4to año de medicina unerg
Acv isquemico list 4to año de medicina unerg
Carlos Valdivieso
 
Colecistitis, colangitis,
Colecistitis, colangitis, Colecistitis, colangitis,
Colecistitis, colangitis,
Carlos Valdivieso
 

Viewers also liked (10)

Hardware sim ( adryan nofri 1201632)
Hardware sim ( adryan nofri 1201632)Hardware sim ( adryan nofri 1201632)
Hardware sim ( adryan nofri 1201632)
 
Awesome Workflows with Grunt, Bower and Yeoman : Vermont Code Camp 2014
Awesome Workflows with Grunt, Bower and Yeoman : Vermont Code Camp 2014Awesome Workflows with Grunt, Bower and Yeoman : Vermont Code Camp 2014
Awesome Workflows with Grunt, Bower and Yeoman : Vermont Code Camp 2014
 
The Financial Services and Markets Act 2000 (Market Abuse) Regultions 2016 (D...
The Financial Services and Markets Act 2000 (Market Abuse) Regultions 2016 (D...The Financial Services and Markets Act 2000 (Market Abuse) Regultions 2016 (D...
The Financial Services and Markets Act 2000 (Market Abuse) Regultions 2016 (D...
 
The Designer’s Guide to Creating Churn
The Designer’s Guide to Creating ChurnThe Designer’s Guide to Creating Churn
The Designer’s Guide to Creating Churn
 
Shopping today
Shopping todayShopping today
Shopping today
 
React + Flux = Joy
React + Flux = JoyReact + Flux = Joy
React + Flux = Joy
 
Storm-7 Consulting Media Pack (2016)
Storm-7 Consulting Media Pack (2016)Storm-7 Consulting Media Pack (2016)
Storm-7 Consulting Media Pack (2016)
 
Rock Solid CSS Architecture
Rock Solid CSS ArchitectureRock Solid CSS Architecture
Rock Solid CSS Architecture
 
Acv isquemico list 4to año de medicina unerg
Acv isquemico list 4to año de medicina unerg Acv isquemico list 4to año de medicina unerg
Acv isquemico list 4to año de medicina unerg
 
Colecistitis, colangitis,
Colecistitis, colangitis, Colecistitis, colangitis,
Colecistitis, colangitis,
 

Similar to Death Defying Feats of Debuggery

(automatic) Testing: from business to university and back
(automatic) Testing: from business to university and back(automatic) Testing: from business to university and back
(automatic) Testing: from business to university and back
David Rodenas
 
Manipulating object-behavior-at-runtime
Manipulating object-behavior-at-runtimeManipulating object-behavior-at-runtime
Manipulating object-behavior-at-runtime
Andrei Ursan
 
Testing
TestingTesting
How to write clean & testable code without losing your mind
How to write clean & testable code without losing your mindHow to write clean & testable code without losing your mind
How to write clean & testable code without losing your mind
Andreas Czakaj
 
Grails unit testing
Grails unit testingGrails unit testing
Grails unit testing
pleeps
 
33rd Degree 2013, Bad Tests, Good Tests
33rd Degree 2013, Bad Tests, Good Tests33rd Degree 2013, Bad Tests, Good Tests
33rd Degree 2013, Bad Tests, Good Tests
Tomek Kaczanowski
 
Aaron Bedra - Effective Software Security Teams
Aaron Bedra - Effective Software Security TeamsAaron Bedra - Effective Software Security Teams
Aaron Bedra - Effective Software Security Teams
centralohioissa
 
Oleksandr Valetskyy - Increase the quality of your code with property-based t...
Oleksandr Valetskyy - Increase the quality of your code with property-based t...Oleksandr Valetskyy - Increase the quality of your code with property-based t...
Oleksandr Valetskyy - Increase the quality of your code with property-based t...
Oleksandr Valetskyy
 
Cppcheck and PVS-Studio compared
Cppcheck and PVS-Studio comparedCppcheck and PVS-Studio compared
Cppcheck and PVS-Studio compared
PVS-Studio
 
A fresh eye on Oracle VM VirtualBox
A fresh eye on Oracle VM VirtualBoxA fresh eye on Oracle VM VirtualBox
A fresh eye on Oracle VM VirtualBox
PVS-Studio
 
20170415 當julia遇上資料科學
20170415 當julia遇上資料科學20170415 當julia遇上資料科學
20170415 當julia遇上資料科學
岳華 杜
 
20171127 當julia遇上資料科學
20171127 當julia遇上資料科學20171127 當julia遇上資料科學
20171127 當julia遇上資料科學
岳華 杜
 
An Introduction to Property Based Testing
An Introduction to Property Based TestingAn Introduction to Property Based Testing
An Introduction to Property Based Testing
C4Media
 
Long-Awaited Check of CryEngine V
Long-Awaited Check of CryEngine VLong-Awaited Check of CryEngine V
Long-Awaited Check of CryEngine V
PVS-Studio
 
Software engineering ⊇ Software testing
Software engineering ⊇ Software testingSoftware engineering ⊇ Software testing
Software engineering ⊇ Software testing
Pavel Tcholakov
 
Checking Clang 11 with PVS-Studio
Checking Clang 11 with PVS-StudioChecking Clang 11 with PVS-Studio
Checking Clang 11 with PVS-Studio
Andrey Karpov
 
Akka with Scala
Akka with ScalaAkka with Scala
Akka with Scala
Oto Brglez
 
Looking for Bugs in MonoDevelop
Looking for Bugs in MonoDevelopLooking for Bugs in MonoDevelop
Looking for Bugs in MonoDevelop
PVS-Studio
 
JavaScript Static Analysis Tools and Techniques - STP Online Session 2013
JavaScript Static Analysis Tools and Techniques - STP Online Session 2013JavaScript Static Analysis Tools and Techniques - STP Online Session 2013
JavaScript Static Analysis Tools and Techniques - STP Online Session 2013
Noah Sussman
 
Selenium RC: Automated Testing of Modern Web Applications
Selenium RC: Automated Testing of Modern Web ApplicationsSelenium RC: Automated Testing of Modern Web Applications
Selenium RC: Automated Testing of Modern Web Applications
qooxdoo
 

Similar to Death Defying Feats of Debuggery (20)

(automatic) Testing: from business to university and back
(automatic) Testing: from business to university and back(automatic) Testing: from business to university and back
(automatic) Testing: from business to university and back
 
Manipulating object-behavior-at-runtime
Manipulating object-behavior-at-runtimeManipulating object-behavior-at-runtime
Manipulating object-behavior-at-runtime
 
Testing
TestingTesting
Testing
 
How to write clean & testable code without losing your mind
How to write clean & testable code without losing your mindHow to write clean & testable code without losing your mind
How to write clean & testable code without losing your mind
 
Grails unit testing
Grails unit testingGrails unit testing
Grails unit testing
 
33rd Degree 2013, Bad Tests, Good Tests
33rd Degree 2013, Bad Tests, Good Tests33rd Degree 2013, Bad Tests, Good Tests
33rd Degree 2013, Bad Tests, Good Tests
 
Aaron Bedra - Effective Software Security Teams
Aaron Bedra - Effective Software Security TeamsAaron Bedra - Effective Software Security Teams
Aaron Bedra - Effective Software Security Teams
 
Oleksandr Valetskyy - Increase the quality of your code with property-based t...
Oleksandr Valetskyy - Increase the quality of your code with property-based t...Oleksandr Valetskyy - Increase the quality of your code with property-based t...
Oleksandr Valetskyy - Increase the quality of your code with property-based t...
 
Cppcheck and PVS-Studio compared
Cppcheck and PVS-Studio comparedCppcheck and PVS-Studio compared
Cppcheck and PVS-Studio compared
 
A fresh eye on Oracle VM VirtualBox
A fresh eye on Oracle VM VirtualBoxA fresh eye on Oracle VM VirtualBox
A fresh eye on Oracle VM VirtualBox
 
20170415 當julia遇上資料科學
20170415 當julia遇上資料科學20170415 當julia遇上資料科學
20170415 當julia遇上資料科學
 
20171127 當julia遇上資料科學
20171127 當julia遇上資料科學20171127 當julia遇上資料科學
20171127 當julia遇上資料科學
 
An Introduction to Property Based Testing
An Introduction to Property Based TestingAn Introduction to Property Based Testing
An Introduction to Property Based Testing
 
Long-Awaited Check of CryEngine V
Long-Awaited Check of CryEngine VLong-Awaited Check of CryEngine V
Long-Awaited Check of CryEngine V
 
Software engineering ⊇ Software testing
Software engineering ⊇ Software testingSoftware engineering ⊇ Software testing
Software engineering ⊇ Software testing
 
Checking Clang 11 with PVS-Studio
Checking Clang 11 with PVS-StudioChecking Clang 11 with PVS-Studio
Checking Clang 11 with PVS-Studio
 
Akka with Scala
Akka with ScalaAkka with Scala
Akka with Scala
 
Looking for Bugs in MonoDevelop
Looking for Bugs in MonoDevelopLooking for Bugs in MonoDevelop
Looking for Bugs in MonoDevelop
 
JavaScript Static Analysis Tools and Techniques - STP Online Session 2013
JavaScript Static Analysis Tools and Techniques - STP Online Session 2013JavaScript Static Analysis Tools and Techniques - STP Online Session 2013
JavaScript Static Analysis Tools and Techniques - STP Online Session 2013
 
Selenium RC: Automated Testing of Modern Web Applications
Selenium RC: Automated Testing of Modern Web ApplicationsSelenium RC: Automated Testing of Modern Web Applications
Selenium RC: Automated Testing of Modern Web Applications
 

Recently uploaded

Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
Zilliz
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 

Recently uploaded (20)

Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 

Death Defying Feats of Debuggery

  • 1. Death Defying Feats of Debuggery The Futile Art of Pursuing Perfect Code
  • 3. The first computer bug, literally
  • 4. Grace Hopper’s Field Guide to Bugs
  • 12. The Alignment of Various Linting Tools Chaotic Good Chaotic Neutral Chaotic Evil Neutral Good Neutral Neutral Neutral Evil Lawful Good Lawful Neutral Lawful Evil
  • 13. Quick Check jscheck.js Douglas Crockford 2012-04-24 Public Domain JSCheck is a testing tool for JavaScript. It was inspired by QuickCheck, a testing tool for Haskell developed by Koen Claessen and John Hughes of Chalmers University of Technology. JSCheck is a specification-driven testing tool. From a description of the properties of a system, function, or object, it will generate random test cases attempting to prove those properties, and then report its findings. That can be especially effective in managing the evolution of a program because it can show the conformance of new code to old code. It also provides an interesting level of self- documentation, because the executable specifications it relies on can provide a good view of the workings of a program. All of JSCheck can be loaded from a small file called jscheck.js. The source is available at https://github.com/douglascrockford/JSCheck. The documentation is available at http://www.JSCheck.org/.
  • 14. Which QuickCheck is Right for You? Sexiness PITA Factor JS-Quick-Check PureScript-QuickCheck jsVerify
  • 16. Complexity M = E − N + 2P E = the number of edges of the graph. N = the number of nodes of the graph. P = the number of connected components. function factorialSize(myAwesomeInt) { var factorial = 1; var size; for(let i = 1; i <= myAwesomeInt; i+=1) { factorial = factorial * i; } if(factorial > 999) { size = "Yuge!" } else { size = "meh" } return size; } 9 - 8 + 2 * 1 = 3 Parameter count: 1 Cyclomatic complexity: 3 Cyclomatic complexity density: 30% Halstead difficulty: 14 Halstead volume: 153 Halstead effort: 2103
  • 17. Complexity Simplified Score What It Means Emoji Equivalent 1 - 10 A simple program, without much risk 11 - 20 More complex, moderate risk 21 - 50 Complex, high risk program > 50 Untestable program (very high risk)
  • 18. Maps
  • 19. Extensions! Ember Inspector AngularJS Batarang Angular Watchers React Developer Tools Polymer DevTools Extension Meteor DevTools
  • 20. Who does this guy think he is? John Need Front End Code Monkey Galen Healthcare Twitter : @JohnNeed GitHub : https://github.com/johnneed CodePen : http://codepen.io/johnneed/ Linked In : https://www.linkedin.com/in/johnneed