SlideShare ist ein Scribd-Unternehmen logo
1 von 58
Downloaden Sie, um offline zu lesen
Complex things
explained easily
Ignorance is a right.
Luca Tumedei
WordCamp Torino 2018
Torino, 4/7 2018
1
Who am I
• Backend WordPress developer
• Maker and serial over-engineer
• Wikipedia Donor
@lucatume on Twitter
https://theaveragedev.com
2
Ours is a complex world
• Ignorance is perceived as a capital sin
• We have a ton of "buzzwords" flying around like
shurikens
• Few people really know what they mean, many fake
We're gonna need stick figures.
3
It really happened...
4
5
I'm a something designer
6
Software development as a
movie
• Clients are executive producers - they provide the
money and set a general direction
• Strategists/UX/designers are scrennwriters - they
go from "nudity and fantasy and magic" to "Game of
Thrones"
7
Software development as a
movie - 2
• Project managers are line producers - they stay on
the set to make sure the movie stays in time and
budget
• Lead developers are like directors - they make sure
the screenwriting is correctly executed
8
Software development as a
movie - 3
• Developers are the cast and operators - they
execute on the screen writing each one in its own
role
• QA is post-production and focus groups - they
review the movie when it's almost done and provide
feedback about it
9
Why do clients mean one
thing and the dev team
understands another?
Client - "And then the dwarf throws the ring in the
volcano..."
Dev - "You mean the halfling."
Client - "Yes, the short one."
Dev - "Both dwarves and halflings are short..."
Client - "Yes. I mean the good ones..."
And so forth, for all eternity.
10
Frameworks
• in SW development a "framework" is any set of
ready-to-use abstracted functionalites
• it should allow developers to build faster
• WordPress is a framework
So why is building with Framework-of-choice not
always fast?
11
Frameworks - think of Lego
bricks
12
Frameworks - they can be a
pain
13
Frameworks - curved pieces
not included
14
Framework-less?
15
WordPress hooks, actions
and filters - 1
• In WordPress you can "hook" on actions and filters
to change its behaviour
• It's a core functionality
• If a dev can't "hook" on WordPress, a theme or a
plugin, then she cannot alter the behaviour
16
This is what I think about
when I hear "hooking"
17
Hooks, hooking and...
developers
When you "hook" you ride WordPress around.
The correct name of someone that hooks on
WordPress is "developer"...
18
DNS - 1
• the acronym stands for Domain Name Resolution.
• a fancy way to say "for each human-readable name
there is an IP address"
19
DNS - 2
Every time you try to get to an address your browser
does not know, or that you have not visited for a long
time, the name (e.g. wordpress.org) needs to be
resolved to an IP address (e.g. 198.143.164.252).
20
DNS - 3
21
DNS - 4
22
DNS - 5
• this table is too big to exist on your computer (and it
would always be out of date), so it exists online
replicated on many servers, DNS servers
• your browser will go to the DNS server with a URL
and will get back an IP address to which it can now
make requests
23
DNS - 6
24
DNS - 7
It takes time to get all the DNS tables in the world in
sync, that's why new domain names will take some
time to be reachable: they are not in all the tables yet.
25
HTTP requests - ordering a
coffe
• now that you have an address you can go places;
places like starcoffee.com.
• your URL is an order the restaurant will try to
understand and decompose into single items
26
HTTP requests - 2
27
HTTP requests - methods
• by default we GET something from a site
• but we can also PUT, PATCH and DELETE stuff in it
(and more)
• exactly as in a restaurant the latter is for authorized
personnel only
28
No POSTing here
29
HTTP requests - a WordPress
example
http://wp.test/wp-admin/edit.php?
post_type=event
• from the admin area (/wp-admin)
• I want to to edit all the posts (/edit.php)
• of the type "event" (?post_type=event)
30
HTTP Requests - another
WordPress example
https://developer.wordpress.org/reference/
hooks/alloptions/#parameters
• /reference/hooks/alloptions/ is a path
• #parameters is a fragment
31
HTTP requests - here's your
order
If the restaurant can serve your order it's a success!
32
HTTP requests - not found...
If the restaurant cannot serve your order then... it's
404, not found..
33
Virtualization - do you even
Docker?
From Wikipedia:
"In computing, virtualization refers to the act of
creating a virtual (rather than actual) version of
something, including virtual computer hardware
platforms, storage devices, and computer network
resources."
VirtualBox, VVV, Docker, containers, stacks, LAMP,
MEAN and the like. Ever heard of them?
34
Virtualization - the Truman
show
The operating system lives in a fake world made just
for it.
35
Virtualization - why?
• you have a friend called Bob
• Bob is a real dancer at heart
• Bob will only dance at birthday parties of someone
called Janet under a full moon
36
Virtualization - Bob dances
37
Artificial Intelligence,
Machine learning
• mandatory joke about Skynet...
• will machines rule the world?
• is it true Facetube knows all my secrets?
38
Machine Learning - let me
train you
What shape next?
39
Machine Learning - let's train
harder
What shape next?
40
Artificial intelligence - will it
rule the world?
• seems like a better alternative to real stupidity
• yes, billions of very specialized ones
• it still runs on data (as seen before)
• it still runs imagination
^ it's all based around statistics and mathematics
41
Big data
Before we could have one of two things:
• a lot of information about few people
• little information about a lot of people
Now we have a lot information about a lot of people.
This is big.
And also is data.
42
OAuth - the really simple
explanation
43
OAuth - meet Janet
Janet is your friend, you trust Janet.
44
OAuth - Janet would like to
buy groceries for you
You have an open tab at your grocery store. You want
Janet to buy groceries for you.
Since it's your money you want Janet to only buy some
things for you.
45
OAuth - Janet meets Jim
Janet meets Jim. Jim owns the grocery store and has a
terrible memory.
46
OAuth - Janet gets a token
Jim will forget Janet. You provide Jim and Janet with a
token and a list of things Janet can buy.
47
OAuth - Janet goes shopping
Janet can now just use the token to make Jim
remember and buy groceries for you.
48
OAuth - revoking a token
49
Estimation - the catapult
crew
You ask a catapult creaw how to set the catapult to hit
the walls. You want to know exactly, you are a "Siege
Manager" (aka "Enemy's uncomfortable experience
designer").
50
Estimation - throwing rocks
The crew sets the catapult and throws a rock. Too
short. That's Bob, by the way, the Lead Catapulter (aka
"Rock trajectory designer").
51
Estimation - throwing rocks,
2
Ths time is too long.
52
Estimation - hit!
They can now tell you exactly.
53
REST API - pizza
You want to eat pizza. Pizza is content.
54
REST API - 2
But you would not like to go the restaurant.
The restaurant is presentation (of pizzas).
Your are a sociopath.
55
REST API - 3
If the restaurant allows take-away orders then you can
enjoy the content without the presentation.
56
REST API - 4
Food delivery is a REST API App that exists thanks to
the restaurant REST API.
57
Questions?
If you have questions I'm a failure.
I'm available for graphic design work; I'm that good.
@lucatume on Twitter
https://theaveragedev.com
58

Weitere ähnliche Inhalte

Ähnlich wie Complex things explained easily

Steelcon 2015 - 0wning the internet of trash
Steelcon 2015 - 0wning the internet of trashSteelcon 2015 - 0wning the internet of trash
Steelcon 2015 - 0wning the internet of trashinfodox
 
DevOps Columbus Meetup Kickoff - Infrastructure as Code
DevOps Columbus Meetup Kickoff - Infrastructure as CodeDevOps Columbus Meetup Kickoff - Infrastructure as Code
DevOps Columbus Meetup Kickoff - Infrastructure as CodeMichael Ducy
 
PyData Texas 2015 Keynote
PyData Texas 2015 KeynotePyData Texas 2015 Keynote
PyData Texas 2015 KeynotePeter Wang
 
DataDay 2023 Presentation - Notes
DataDay 2023 Presentation - NotesDataDay 2023 Presentation - Notes
DataDay 2023 Presentation - NotesMax De Marzi
 
Linked Data: The Real Web 2.0 (from 2008)
Linked Data: The Real Web 2.0 (from 2008)Linked Data: The Real Web 2.0 (from 2008)
Linked Data: The Real Web 2.0 (from 2008)Uche Ogbuji
 
Bugs Aren't Random
Bugs Aren't RandomBugs Aren't Random
Bugs Aren't RandomDan Kaminsky
 
Scratching the itch, making Scratch for the Raspberry Pie
Scratching the itch, making Scratch for the Raspberry PieScratching the itch, making Scratch for the Raspberry Pie
Scratching the itch, making Scratch for the Raspberry PieESUG
 
Five Cliches of Online Game Development
Five Cliches of Online Game DevelopmentFive Cliches of Online Game Development
Five Cliches of Online Game Developmentiandundore
 
Don't fear our new robot overlords – A new way to test on mobile
Don't fear our new robot overlords – A new way to test on mobileDon't fear our new robot overlords – A new way to test on mobile
Don't fear our new robot overlords – A new way to test on mobilePhilip Brechler
 
AOL - Ian Holsman - Hadoop World 2010
AOL - Ian Holsman - Hadoop World 2010AOL - Ian Holsman - Hadoop World 2010
AOL - Ian Holsman - Hadoop World 2010Cloudera, Inc.
 
Php johannesburg meetup - talk 2014 - scaling php in the enterprise
Php johannesburg   meetup - talk 2014 - scaling php in the enterprisePhp johannesburg   meetup - talk 2014 - scaling php in the enterprise
Php johannesburg meetup - talk 2014 - scaling php in the enterpriseSarel van der Walt
 
WebGL Camp 4 - A3 3D Engine
WebGL Camp 4 - A3 3D EngineWebGL Camp 4 - A3 3D Engine
WebGL Camp 4 - A3 3D Engineaerotwist
 
Tooling for the JavaScript Era
Tooling for the JavaScript EraTooling for the JavaScript Era
Tooling for the JavaScript Eramartinlippert
 
Improving the VR experience - VRST 2012
Improving the VR experience - VRST 2012Improving the VR experience - VRST 2012
Improving the VR experience - VRST 2012Sebastien Kuntz
 
Topsy Turvy Design: Adapting your design process for adaptive layout
Topsy Turvy Design: Adapting your design process for adaptive layoutTopsy Turvy Design: Adapting your design process for adaptive layout
Topsy Turvy Design: Adapting your design process for adaptive layoutRich Quick
 
Consuming Cinder from Docker
Consuming Cinder from DockerConsuming Cinder from Docker
Consuming Cinder from DockerTesora
 
Drupal day Roma 2017 - Zaratan
Drupal day Roma 2017 - Zaratan Drupal day Roma 2017 - Zaratan
Drupal day Roma 2017 - Zaratan r3vit
 

Ähnlich wie Complex things explained easily (20)

Steelcon 2015 - 0wning the internet of trash
Steelcon 2015 - 0wning the internet of trashSteelcon 2015 - 0wning the internet of trash
Steelcon 2015 - 0wning the internet of trash
 
DevOps Columbus Meetup Kickoff - Infrastructure as Code
DevOps Columbus Meetup Kickoff - Infrastructure as CodeDevOps Columbus Meetup Kickoff - Infrastructure as Code
DevOps Columbus Meetup Kickoff - Infrastructure as Code
 
TXJS 2013 in 10 minutes
TXJS 2013 in 10 minutesTXJS 2013 in 10 minutes
TXJS 2013 in 10 minutes
 
PyData Texas 2015 Keynote
PyData Texas 2015 KeynotePyData Texas 2015 Keynote
PyData Texas 2015 Keynote
 
DataDay 2023 Presentation - Notes
DataDay 2023 Presentation - NotesDataDay 2023 Presentation - Notes
DataDay 2023 Presentation - Notes
 
Linked Data: The Real Web 2.0 (from 2008)
Linked Data: The Real Web 2.0 (from 2008)Linked Data: The Real Web 2.0 (from 2008)
Linked Data: The Real Web 2.0 (from 2008)
 
Bugs Aren't Random
Bugs Aren't RandomBugs Aren't Random
Bugs Aren't Random
 
Lrug
LrugLrug
Lrug
 
Scratching the itch, making Scratch for the Raspberry Pie
Scratching the itch, making Scratch for the Raspberry PieScratching the itch, making Scratch for the Raspberry Pie
Scratching the itch, making Scratch for the Raspberry Pie
 
What is this cloud thing?
What is this cloud thing?What is this cloud thing?
What is this cloud thing?
 
Five Cliches of Online Game Development
Five Cliches of Online Game DevelopmentFive Cliches of Online Game Development
Five Cliches of Online Game Development
 
Don't fear our new robot overlords – A new way to test on mobile
Don't fear our new robot overlords – A new way to test on mobileDon't fear our new robot overlords – A new way to test on mobile
Don't fear our new robot overlords – A new way to test on mobile
 
AOL - Ian Holsman - Hadoop World 2010
AOL - Ian Holsman - Hadoop World 2010AOL - Ian Holsman - Hadoop World 2010
AOL - Ian Holsman - Hadoop World 2010
 
Php johannesburg meetup - talk 2014 - scaling php in the enterprise
Php johannesburg   meetup - talk 2014 - scaling php in the enterprisePhp johannesburg   meetup - talk 2014 - scaling php in the enterprise
Php johannesburg meetup - talk 2014 - scaling php in the enterprise
 
WebGL Camp 4 - A3 3D Engine
WebGL Camp 4 - A3 3D EngineWebGL Camp 4 - A3 3D Engine
WebGL Camp 4 - A3 3D Engine
 
Tooling for the JavaScript Era
Tooling for the JavaScript EraTooling for the JavaScript Era
Tooling for the JavaScript Era
 
Improving the VR experience - VRST 2012
Improving the VR experience - VRST 2012Improving the VR experience - VRST 2012
Improving the VR experience - VRST 2012
 
Topsy Turvy Design: Adapting your design process for adaptive layout
Topsy Turvy Design: Adapting your design process for adaptive layoutTopsy Turvy Design: Adapting your design process for adaptive layout
Topsy Turvy Design: Adapting your design process for adaptive layout
 
Consuming Cinder from Docker
Consuming Cinder from DockerConsuming Cinder from Docker
Consuming Cinder from Docker
 
Drupal day Roma 2017 - Zaratan
Drupal day Roma 2017 - Zaratan Drupal day Roma 2017 - Zaratan
Drupal day Roma 2017 - Zaratan
 

Kürzlich hochgeladen

Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identityteam-WIBU
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...Akihiro Suda
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Rob Geurden
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxAndreas Kunz
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 

Kürzlich hochgeladen (20)

Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identity
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 

Complex things explained easily

  • 1. Complex things explained easily Ignorance is a right. Luca Tumedei WordCamp Torino 2018 Torino, 4/7 2018 1
  • 2. Who am I • Backend WordPress developer • Maker and serial over-engineer • Wikipedia Donor @lucatume on Twitter https://theaveragedev.com 2
  • 3. Ours is a complex world • Ignorance is perceived as a capital sin • We have a ton of "buzzwords" flying around like shurikens • Few people really know what they mean, many fake We're gonna need stick figures. 3
  • 5. 5
  • 6. I'm a something designer 6
  • 7. Software development as a movie • Clients are executive producers - they provide the money and set a general direction • Strategists/UX/designers are scrennwriters - they go from "nudity and fantasy and magic" to "Game of Thrones" 7
  • 8. Software development as a movie - 2 • Project managers are line producers - they stay on the set to make sure the movie stays in time and budget • Lead developers are like directors - they make sure the screenwriting is correctly executed 8
  • 9. Software development as a movie - 3 • Developers are the cast and operators - they execute on the screen writing each one in its own role • QA is post-production and focus groups - they review the movie when it's almost done and provide feedback about it 9
  • 10. Why do clients mean one thing and the dev team understands another? Client - "And then the dwarf throws the ring in the volcano..." Dev - "You mean the halfling." Client - "Yes, the short one." Dev - "Both dwarves and halflings are short..." Client - "Yes. I mean the good ones..." And so forth, for all eternity. 10
  • 11. Frameworks • in SW development a "framework" is any set of ready-to-use abstracted functionalites • it should allow developers to build faster • WordPress is a framework So why is building with Framework-of-choice not always fast? 11
  • 12. Frameworks - think of Lego bricks 12
  • 13. Frameworks - they can be a pain 13
  • 14. Frameworks - curved pieces not included 14
  • 16. WordPress hooks, actions and filters - 1 • In WordPress you can "hook" on actions and filters to change its behaviour • It's a core functionality • If a dev can't "hook" on WordPress, a theme or a plugin, then she cannot alter the behaviour 16
  • 17. This is what I think about when I hear "hooking" 17
  • 18. Hooks, hooking and... developers When you "hook" you ride WordPress around. The correct name of someone that hooks on WordPress is "developer"... 18
  • 19. DNS - 1 • the acronym stands for Domain Name Resolution. • a fancy way to say "for each human-readable name there is an IP address" 19
  • 20. DNS - 2 Every time you try to get to an address your browser does not know, or that you have not visited for a long time, the name (e.g. wordpress.org) needs to be resolved to an IP address (e.g. 198.143.164.252). 20
  • 23. DNS - 5 • this table is too big to exist on your computer (and it would always be out of date), so it exists online replicated on many servers, DNS servers • your browser will go to the DNS server with a URL and will get back an IP address to which it can now make requests 23
  • 25. DNS - 7 It takes time to get all the DNS tables in the world in sync, that's why new domain names will take some time to be reachable: they are not in all the tables yet. 25
  • 26. HTTP requests - ordering a coffe • now that you have an address you can go places; places like starcoffee.com. • your URL is an order the restaurant will try to understand and decompose into single items 26
  • 28. HTTP requests - methods • by default we GET something from a site • but we can also PUT, PATCH and DELETE stuff in it (and more) • exactly as in a restaurant the latter is for authorized personnel only 28
  • 30. HTTP requests - a WordPress example http://wp.test/wp-admin/edit.php? post_type=event • from the admin area (/wp-admin) • I want to to edit all the posts (/edit.php) • of the type "event" (?post_type=event) 30
  • 31. HTTP Requests - another WordPress example https://developer.wordpress.org/reference/ hooks/alloptions/#parameters • /reference/hooks/alloptions/ is a path • #parameters is a fragment 31
  • 32. HTTP requests - here's your order If the restaurant can serve your order it's a success! 32
  • 33. HTTP requests - not found... If the restaurant cannot serve your order then... it's 404, not found.. 33
  • 34. Virtualization - do you even Docker? From Wikipedia: "In computing, virtualization refers to the act of creating a virtual (rather than actual) version of something, including virtual computer hardware platforms, storage devices, and computer network resources." VirtualBox, VVV, Docker, containers, stacks, LAMP, MEAN and the like. Ever heard of them? 34
  • 35. Virtualization - the Truman show The operating system lives in a fake world made just for it. 35
  • 36. Virtualization - why? • you have a friend called Bob • Bob is a real dancer at heart • Bob will only dance at birthday parties of someone called Janet under a full moon 36
  • 37. Virtualization - Bob dances 37
  • 38. Artificial Intelligence, Machine learning • mandatory joke about Skynet... • will machines rule the world? • is it true Facetube knows all my secrets? 38
  • 39. Machine Learning - let me train you What shape next? 39
  • 40. Machine Learning - let's train harder What shape next? 40
  • 41. Artificial intelligence - will it rule the world? • seems like a better alternative to real stupidity • yes, billions of very specialized ones • it still runs on data (as seen before) • it still runs imagination ^ it's all based around statistics and mathematics 41
  • 42. Big data Before we could have one of two things: • a lot of information about few people • little information about a lot of people Now we have a lot information about a lot of people. This is big. And also is data. 42
  • 43. OAuth - the really simple explanation 43
  • 44. OAuth - meet Janet Janet is your friend, you trust Janet. 44
  • 45. OAuth - Janet would like to buy groceries for you You have an open tab at your grocery store. You want Janet to buy groceries for you. Since it's your money you want Janet to only buy some things for you. 45
  • 46. OAuth - Janet meets Jim Janet meets Jim. Jim owns the grocery store and has a terrible memory. 46
  • 47. OAuth - Janet gets a token Jim will forget Janet. You provide Jim and Janet with a token and a list of things Janet can buy. 47
  • 48. OAuth - Janet goes shopping Janet can now just use the token to make Jim remember and buy groceries for you. 48
  • 49. OAuth - revoking a token 49
  • 50. Estimation - the catapult crew You ask a catapult creaw how to set the catapult to hit the walls. You want to know exactly, you are a "Siege Manager" (aka "Enemy's uncomfortable experience designer"). 50
  • 51. Estimation - throwing rocks The crew sets the catapult and throws a rock. Too short. That's Bob, by the way, the Lead Catapulter (aka "Rock trajectory designer"). 51
  • 52. Estimation - throwing rocks, 2 Ths time is too long. 52
  • 53. Estimation - hit! They can now tell you exactly. 53
  • 54. REST API - pizza You want to eat pizza. Pizza is content. 54
  • 55. REST API - 2 But you would not like to go the restaurant. The restaurant is presentation (of pizzas). Your are a sociopath. 55
  • 56. REST API - 3 If the restaurant allows take-away orders then you can enjoy the content without the presentation. 56
  • 57. REST API - 4 Food delivery is a REST API App that exists thanks to the restaurant REST API. 57
  • 58. Questions? If you have questions I'm a failure. I'm available for graphic design work; I'm that good. @lucatume on Twitter https://theaveragedev.com 58