SlideShare a Scribd company logo
1 of 53
EMERGENCY	
  ENGINEERING	
  
       and	
  the	
  




         Carlos	
  Lopes	
  
        ThoughtWorks	
  
DISCLAIMER	
  
ALL	
  RIGHT	
  
DEFINE	
  THE	
  FOLLOWING:	
  
 
                                  ju·∙ry-­‐rig	
  
   tr.v.	
  ju·∙ry-­‐rigged,	
  ju·∙ry-­‐rig·∙ging,	
  ju·∙ry-­‐rigs	
  
To	
  rig	
  or	
  assemble	
  for	
  temporary	
  emergency	
  
                        use;	
  improvise.	
  
                                       	
  
                                 jer·∙ry-­‐rig	
  
  tr.v.	
  jer·∙ry-­‐rigged,	
  jer·∙ry-­‐rig·∙ging,	
  jer·∙ry-­‐rigs	
  
                              To	
  jury-­‐rig.	
  
                                       	
  
                              jer·∙ry-­‐build	
  
 tr.v.	
  jer·∙ry-­‐built	
  (-­‐blt),	
  jer·∙ry-­‐build·∙ing,	
  jer·∙ry-­‐
                                   builds	
  
    To	
  build	
  shoddily,	
  flimsily,	
  and	
  cheaply.	
  
 
workaround	
  [ˈwɜːkəˌraʊnd]	
  
n	
  
(Electronics	
  &	
  Computer	
  Science	
  /	
  Computer	
  
Science)	
  a	
  method	
  of	
  circumvenRng	
  or	
  
overcoming	
  a	
  problem	
  in	
  a	
  computer	
  
program	
  or	
  system	
  
	
  
gam.bi.ar.ra	
  
gam.bi	
  
A	
  BIT	
  OF	
  HISTORY...	
  
WHO	
  WAS	
  THE	
  FIRST	
  EVER?	
  
HARD	
  TO	
  TELL,	
  BUT...	
  
45	
  BCE	
  
45	
  BCE	
  
The	
  355	
  day	
  calendar	
  had	
  somehow	
  
   “slipped”	
  out	
  of	
  sync	
  with	
  the	
  
                      seasons	
  
365	
  day	
  calendar	
  IT	
  IS!	
  
                	
  
      with	
  an	
  extra	
  day	
  some<mes...	
  
BUT	
  OF	
  COURSE	
  IT	
  WAS	
  NOT	
  
              PERFECT...	
  
ONE	
  DAY	
  EVERY	
  128	
  YEARS	
  
UNTIL	
  1582	
  
POPE	
  GREGORY	
  XIII	
  
DID	
  IT	
  FIX	
  EVERYTHING?	
  
OF	
  COURSE	
  NOT...	
  
IT	
  CAUSED	
  STUFF	
  LIKE	
  FEBRUARY	
  
         30TH	
  TO	
  HAPPEN...	
  
SO...	
  MORE	
  FIXES!	
  
•  The	
  year	
  is	
  evenly	
  divisible	
  by	
  
   4;	
  

•  If	
  the	
  year	
  can	
  be	
  evenly	
  divided	
  by	
  
   100,	
  it	
  is	
  NOT	
  a	
  leap	
  year,	
  unless;	
  

•  The	
  year	
  is	
  also	
  evenly	
  divisible	
  
   by	
  400.	
  Then	
  it	
  is	
  a	
  leap	
  year.	
  
AND	
  IT	
  WILL	
  STILL	
  NEED	
  SOME	
  
TWEAKING	
  IN	
  A	
  FEW	
  THOUSAND	
  
                 YEARS...	
  
ANYWAYS...	
  
THE	
  LEAP	
  YEAR!	
  
soOware!	
  
<PATTERN	
  NAME>	
  



        <tags>	
  
flexibility	
  
extensibility	
  
flexibility	
  
extensibility	
  
UTF	
  Abuse	
  
Bullet	
  Proof	
  




     reliability	
  
  user	
  experience	
  
Dummy	
  (Cow’s	
  Dribble)	
  
Dummy	
  (Cow’s	
  Dribble)	
  
Dummy	
  (Cow’s	
  Dribble)	
  




            reliability	
  
          predictability	
  
           full	
  control	
  
AND	
  0=0	
  /	
  OR	
  0=1	
  	
  


              responsiveness	
  
                extensibility	
  
Lone	
  Wolf	
  




 maintainability	
  
    velocity	
  
Old	
  Times	
  Of	
  Yore	
  




        predictability	
  
         full	
  control	
  
Just	
  Kill	
  If	
  




     stability	
  
    reliability	
  
Nameless	
  Coding	
  




      obfuscaRon	
  
String	
  
Sushi	
  
 Man	
  


             extensibility	
  
              flexibility	
  
CREDITS	
  
hmp://desciclopedia.ws/wiki/Gambi_Design_Pamerns	
  

     hmp://thc.org/root/phun/unmaintain.html	
  


                   PATTERNS	
  
hmp://github.com/carlosaml/gambi-­‐design-­‐pamerns	
  

More Related Content

More from Carlos Lopes

Trunk Based Development Demystified
Trunk Based Development DemystifiedTrunk Based Development Demystified
Trunk Based Development DemystifiedCarlos Lopes
 
Trunk Based Development Explored
Trunk Based Development ExploredTrunk Based Development Explored
Trunk Based Development ExploredCarlos Lopes
 
.net code: some ideas to improve yours
.net code: some ideas to improve yours.net code: some ideas to improve yours
.net code: some ideas to improve yoursCarlos Lopes
 
Trunk Based Development
Trunk Based DevelopmentTrunk Based Development
Trunk Based DevelopmentCarlos Lopes
 
The .NET Platform - A Brief Overview
The .NET Platform - A Brief OverviewThe .NET Platform - A Brief Overview
The .NET Platform - A Brief OverviewCarlos Lopes
 
XP In the Real World
XP In the Real WorldXP In the Real World
XP In the Real WorldCarlos Lopes
 

More from Carlos Lopes (7)

Trunk Based Development Demystified
Trunk Based Development DemystifiedTrunk Based Development Demystified
Trunk Based Development Demystified
 
Trunk Based Development Explored
Trunk Based Development ExploredTrunk Based Development Explored
Trunk Based Development Explored
 
.net code: some ideas to improve yours
.net code: some ideas to improve yours.net code: some ideas to improve yours
.net code: some ideas to improve yours
 
Trunk Based Development
Trunk Based DevelopmentTrunk Based Development
Trunk Based Development
 
10 Years Of XP
10 Years Of XP10 Years Of XP
10 Years Of XP
 
The .NET Platform - A Brief Overview
The .NET Platform - A Brief OverviewThe .NET Platform - A Brief Overview
The .NET Platform - A Brief Overview
 
XP In the Real World
XP In the Real WorldXP In the Real World
XP In the Real World
 

Recently uploaded

Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
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
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
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
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: 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
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 

Recently uploaded (20)

Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
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
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
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
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: 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
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 

Gambi Design Patterns