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
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
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
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
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
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
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