 Thank you. Thank you very much. I very much appreciate your clapping in advance. You're not gonna do that at the end So it's good Carolin's pitch was moving and amazing mine is not gonna be so relax yourself Usually as Cristiana was saying I give a very technical talks So people tries to look for the safety exits and tries to get out meet speech This time it's not gonna be anything like that This time is gonna be as the title says complex things explained easily This is my Attempt at explaining many things that usually come across as very complex. They are not They're just explained it very poorly, which is the problem that we have in tech Usually people's tends to use very complex words and concept to explain something simple and I will try to shed some light on some things So where am I as Cristiano said I'm a back-end WordPress developer I say back-end because if you make me do front-end eventually I'm gonna run into CSS eventually I'm gonna complain It's not a two-ring a complete language and I'm gonna give up. So that's my problem. I'm a maker I like to build stuff me with my hands. I like to build stuff with my hands with a Usually a good dose of over engineering like I tend to solve problems that are not existing with very Complex solutions. I'm gonna do that in my free time by the way I'm a Wikipedia donor. I like to say that because Wikipedia essentially provides like half of the slides of any workamp. So If you're making a speech, please do the donate something to Wikipedia and you can follow me on Twitter And if you want if you really want and you can read my blog again, if you really want no, no real no real value so Ours is a complex world. So both our world. So the like earth is complex but also WordPress community world is a complex word because being ignorant of something is perceived especially in the higher level of Technical skills as a as a capital scene. It's not something you can admit to it's not something that you can say No one expects a developer especially to say something that like I have no idea what you're talking about Like you have to know about any new framework. It could be react view readies Whatever anything you have to know exactly what they are. You can't say you don't know them So we have a ton of buzzwords flying around like ninja stars or shurikens So you can kind of have to dodge them to survive to me to make your day But what I found out is that when you get to talk with people actually very few of them Know what they're talking about most of them just fake Knowledge so I'm giving you the means to fake knowledge with some knowledge But still it's still fake knowledge. Don't trust me on anything. I say that that's as a general rule so It's gonna be complex things explained easily. So they're gonna be stick figures that I've drawn myself So I apologize in advance and that's why you will not be clapping at the end So this is a thing that really happened to me I was interviewing a developer and I asked have you ever worked with breadies and He replied saying no, but I'm sure she's great So This is this is real this happened to me I was laughing so hard that I really wanted to hire the developer. I was of course I was not the people in charge of doing that But still this happened if you do if you can understand the joke Redis is a Database system we can use very complex definition is slightly database system database caching system But it's also a female name. So as many projects have this happened So Today we can do this. Okay one day We will be able to stick a chip in our brain and we will know JavaScript deeply like Neo just did We can do that yet. We have to actually learn stuff the old way So we have to look it up and try it out and fail repeatedly and try to Overcome difficulties of knowledge and gathering the knowledge that we need we can do that. So The first source of confusion that I found is that Even in a context like this one you meet people and you ask them a simple question, which is what do you do? They will reply with I'm a something designer. Everyone is a designer. So like in this in this stripe I'm the my sequel developer happiness and satisfaction designer if you know my sequel, you know, that's a hard job it's gonna be difficult and Social media Baker is actually a real reply that I got someone told me they are social media Baker No idea what they do But this is like the first source of confusion you never know you and you don't have very clear distinction I'm a developer. I'm a designer. No one will ever reply you Like that. They're gonna use like five or seven words to tell you something and So the first metaphor that I want to use is that I want try to explain the software development project Especially when it comes to teams as a movie So clients are executive producer is the people that's putting in the money and giving a general direction Then you've got strategists and user experience designers, which has screen writers So if it was Game of Thrones, they would go from a client idea of nudity and fantasy to Game of Thrones Okay, it's the people that's actually taking the time to think it out in detail then you've got project managers, which is an Miserable job and they are line producer They stay on the set to make sure that the movie stays in time and in budget and people is not complaining a developer Is not throwing a fit or something like that. You've got lead developers. They are like directors So they actually help Coordinating everyone making sure everyone knows what they're doing the sheen is correct The screenwriting is actually matching the sheens and so on No one is wearing a watch during a fantasy movie stuff like that And so you've got developers that are in this case cast and operators that not they would like to be the actors They're not I'm sorry to disclose that to you And so they are the guys that are both playing in the movie and help and filming the movie And then you've got QA people QA stands for quality assurance It's the people that are that's looking at the movie after his home was done and Says well, it's okay or like the feeling doesn't get across too. Well, it's limited the stuff like that Okay, so now that you've got like these five big groups of people try to narrow the definition That they give you to each one of those like when they say when they have the word happiness or something It's usually QA or support So if you think back at the metaphor about the movie for this is something that happens all the time with clients So the metaphor comes very handy in defining why Clients tell you one thing you understand another and end up doing another yet so the problem is that Think of this as the Lord of the ring so the client tells you and Then the Darf the dwarf throws the ring in the volcano and your developers or your nets say well You mean the old fling not about the dwarf and they say yes the short one And so you say well the short one both dwarfs and all flings are short and they say yes the good ones So that's exactly how client interactions go in a language that developers can understand which is Lord of the Rings And and gone for for for eternity So if you want to know the mystery of life when applied to why developers do not understand clients, that's it That's all in this slide So You know that whenever you get to be the project you have to build on something So you usually build on frameworks can any kind of framework react Vue. Jay. Yes WordPress WordPress is a framework as well The idea of a framework is that allows people to build things faster. Okay, because it provides you with a basic Structured on which you can build that you don't have to repeat again You don't have to reinvent the wheel and stuff like that. So if Supposedly frameworks should allow you to do things faster. Why is that not always the case? Why do people sometimes get stuck and projects take a lot of time so Think about Lego. Okay. This is a Lego brick. If you've never seen one. I'm sorry for you. Yours has been probably a very bad life I've been using Lego as a deterrent for my mother for years it likes catering them on the floor proved to be a very effective method of keeping her way and But the good thing about Lego bricks is that you can do anything with them in a way Legos are frameworks, correct? You've got pieces like you small unit pieces that you can assemble and you can use to build something very complex, but Frameworks can be a pain because as I said before someone is walking barefoot and they stomp on a Lego They're gonna remember that day as the worst day of their lives Okay, until it's there. It's there like son or daughter doing that to them So at the point you you just replace the worst day of your life over and over But this is it So if you think if you keep thinking about Lego, what happens if you need a cured with peace? Like you really need this piece like this is really the piece of Lego that you need It's not existent. Just want to disclose that to you does not exist So anyone which is like a enthusiast which is that getting all excited about your pieces? No, they do not exist but if you need that that's gonna be a problem because it's not provided and Not only you have to build it, but you have to make it fit into something that was built only to fit square pieces Okay, so until you have a project that only only includes Using square pieces to do squares or rectangles or cubes Everything goes extremely fine You know what the client comes and they want to cure for pieces in the middle of the project because that's when you disclose That you want to cure for pieces At that point you have to make it fit. It's hard. It takes time It takes a lot of engineering and re-engineering and rethinking of your whole structure or of the piece So that's why sometimes frameworks help you a ton But sometimes they can be a blocker. Okay, so I know there's someone in you that probably you are a developer and you're thinking I Know I have the solution. I can go framework less. I will not use any framework Okay, we all know that on a mountain leaves a sage that once did it all without frameworks I've never known anyone that had successfully completed a project not using a framework There is people that says they did it. I've never seen one completed. There is always someone that will tell you something Yeah, yeah, no, I made any commerce engine because that commerce plug-in sucks and I did one that's way better Oh good. Can I see it? No, it's not live yet So this is a joke if you don't get that is because you have never had to deal with the clients that want out of playing videos, so Okay, so we go down one level from frameworks We said WordPress is a framework that allows you to do a ton of things the way that WordPress allows you to do a ton of things He's using hooks hooks can be actions and filters. Is anyone inside of your As anyone inside you are never heard before about actions and filters you can raise your hand no shame in it I'm just gonna point it to you You are a shame So it's a core functionalities essentially It's the way that WordPress can be extended and completely change in its behavior and feel and flow. Okay In that it's what provides themes and plugins a way to Completely change what you can do and what you can essentially out the way you can manage WordPress so It's difficult to understand as a concept If I was explaining that to a developer I would say it that WordPress is a chance is essentially an event Driven framework. Okay, that's it events happen. You hook on those events. You do something when a certain event event happened But you know you can say that because that's complex. So I have to provide a simpler metaphor to make that stick to your mind So if you have if you ever ever seen Dune the movie, you know sandworms of Arrakis They are big they eat sand they tunel and borrow through sand and they come out and eat people and things and destroy everything But for the time being keep keep that keep this to to mind So you've got this is a big worm very big So this is essentially what happens when you hook so if the worm is war press these making or this way around these desert This is you in the This is a very bad reproduction that a kid made of the screen cap I might be the kid of you riding for press around so WordPress is the sandworm This is you're riding the sandworm. This is you're writing war press because you hooked on war press So if you don't get it is because you're you've never seen you and if you have seen you and you've got that seen into your mind you're understanding so English is my is not my mother language just just an advice for developers Anyone that's hooking on war press is called a developer Don't be tempted to call anything that hooks in any other way. I did that you know in a plug-in and I was able to QA people was able to catch the fact that we had and non aptly name it class in the project because it was class that was hooking so Made sense to call it like that. So but no developer is good and manager Defend handler is okay. Don't don't do don't do what I did So let's go back completely out of the framework space of the war press base. Let's go to DNS Do you all know what DNS stands for? Good It means domain name resolution and essentially is going from a human readable string to an IP address of the physical Machine that's existing somewhere and it's reachable in the web. Okay Fact is that we found out very early that people is very bad at keeping long strings of number at mine and So we decided that it would be useful to go from those strings of numbers to Human readable names. So we came up with for example war press dot org instead of having to use 198 blah blah blah and so on What the domain name resolution happens every time you type it the name of the website like Warpress dot org in your address bar and then your browser has to go some places has to go and fetch that information from a machine That can only be found through an IP address so If your browser has not visited the machine recently, it will not know how to translate that name to the number So they need to find So think of your browsers as a taxi So you want to go to someplace and you're essentially going to the taxi driver and say that you want to go to your uncle Bob's house But that's a place in your head that does not exist. There's no uncle Bob's house No, it's not a place that a taxi driver actually knows that they need an address to go to okay Because names are a product of our fantasy of yours fantasy probably so Meet the first real blockchain implementation ever which is the DNS tables DNS tables is essentially it's very complex But in essence, it's a table that has got the name of the website and an IP address That's all there is to it So your browser can can go to the domain name resolution server and say hey I have got to go to warpress.org Can you give me the current and up-to-date address of the website and that table will give one back? It's a blockchain because Do you all know what blockchain is? Perfect, this is a typical example of everyone nodding. Yes, no one knowing exactly what that is. Okay, that's okay So the table is too big to exist on your computer because turns out there are a lot of websites Since it's too big. It's not on your computer. It's in some servers on the web What is the problem that continuously new websites are either? Created old websites are deleted Some websites are moved so their IP address changes and you have to keep up with that How do you keep up with that you have? That table that I've shown before has to be updated in its records But when for example, I update mine. I then have to transmit my update to everyone else So eventually the change that has has happened in my table Propagates to all the other tables and the same happens in the other direction if any changes if any change happens in tables In another place they have to get to me before I know Okay, that's why when you activate a website or you move a website They will tell you that it takes 24 to 48 hours for DNS to propagate Now you know why because that table has to be Updated in every in all the world. Okay, it's a blockchain because essentially no server as All the information up to date the information is up to date because lives in all the servers and it's replicated So even if one DNS server goes down, you always have a backup in another. Okay So this is essentially how DNS servers work They spend all the day trying to exchange like figures like kids do so do you have an address? No, I don't then give it to me or do you have an address? Yes, I do. What's the address? This is it and so on they gone all day bargaining addresses all day this is an Italian joke that you do when you for example when you've got sticker albums and When you've got a figurine you would say cello, which means I have it and When you don't when you don't have it you would say manca, which means I miss it so probably understandable only by By Italians, but I mean you get the idea so it's not it's not tragic So as I said it takes time takes time to propagate and that's why DNS propagation happens in a long time, okay? So when you've got DNS you can then make HTTP requests so when you're for example entering start coffee comm Your browser now knows that that URL is actually an address an IP address can go to it and fetch something so When you make an HTTP request you're essentially it's you have to think of it as exactly as you would think about Ordering a coffee in any coffee shop modern coffee shop So you could make a very crazy Receipt like I want to try pollack the deep-fried soy milk rainbow cafe And they have to go from that strange request to something that makes sense or not so what happens is that usually When you use a website you make a get request, which means that you want to get Something from the website anytime you browse the web you're always essentially making get requests When you're submitting a form you're probably making a post request because you're sending Information to the website you can make other kind of requests like patch that does what you think and then you can do delete that deletes information in the website of course Put patch and delete Which are usually critical operations you can only do if you're allowed to like in the example of WordPress Anyone can visit the website, but probably is not safe to let anyone edit the posts Okay, or delete them. It's something that you would want to limit which is limited by default. That's that's why and So if you think if you keep go back to the restaurant idea It works exactly like a restaurant like you can go into a restaurant and get some food But if you want to put something in the restaurant You have to be someone that they actually trust like you can't leave your pet crocodile Catherine inside the restaurant because they don't know you Okay, so they're gonna they're gonna stop you eventually So let's see the typical URL and understand what's happening. So for example, this is a local website HTTP W test W at sorry Wp admin edit PHP post type event. So there are some pieces to it HTTP Wp test is the URL. Then you've got a path which is edit Wp admin Slash edit dot PHP and then you've got a query arc, which is I want the post type of type event Okay, so you will hear this thing a lot Many people actually found out I have no idea what what is what so they will call path or fragment or URL anything That's not a URL or a path fragment It's just good to know just good to have a General idea what you're talking about You then have got fragments fragments. It's something that used to do what's called it in in page links So it's the hashtag and then parameters For example is what would allow us to directly go not only side the old options Codex page on WordPress codex, but to go straight to the parameters Section of that page so you could have a very long page that it's presenting a lot of information And you want to hot link someone exactly into a specific piece of the page. That's called a fragment. Okay, so hashtag fragment It's easy. It's easy to remember so You have specified an extremely complex order and someone has to prepare it so if they can Translate from what you said to something that actually exists that will present you with a cup of coffee because get back you're in a coffee shop and If you want to have your brand on the cup you can contact me for future presentations If they can't because you made an order that does not exist or they can't prepare it in this very moment They will give you a four or four page Four or four pages used to be like the last page that any designer would do because it's essentially It's a four or four page. It's it's a disaster. It's something bad has happened I love how important the design of four four pages has become So now today we use four or four pages the same way that we would try to break up gently with our X So it's like yeah, it's I mean, it's not you. It's me. It's like I couldn't find the page I'm sorry, but really do not it's not you. It's not your fault. It's nothing. It's just happens So we try now to be to be very very tactful when it comes to communicating the fact that we did not find a page So much so that many times you have no idea. It's a four or four page. Okay. That's not what I expected, but it's good so change of argument completely virtualization as any one of you ever heard about Docker VVV virtual box Vagrant stuff like that raise your hands Okay, just to know that you're still not fall asleep so essentially virtualization from Wikipedia had to pull something from Wikipedia in computing virtualization refers to the act of creating a visual rather than actual Version of something including virtual computer hardware platforms storage devices and computer network resources Okay, what this means? essentially is this if you've seen the Truman show the Operative system thinks is living in a world, which is real. It's not real. It's a fake world and we are looking it from the outside That's what we virtualization does When even when you're using dockers containers blah blah blah, whatever that's all there is to it Okay, it's done in a different way. You build the world in a different way, but essentially this is all there is to it So one could ask why would I want to visualize anything? Why would I want to virtualize like windows or unix or macOS or whatever? So let's do an example simple example. So you've got a friend That's called Bob Bob is a very good dancer like in his heart Bob is a dancer but he had to make other life choices like now is a developer for example and But Bob has got a weak point by like Bob will only dance at birthday birthday parties for someone That's called Janet and only if there is a full moon. So it's quite specific to see Bob Dancing, okay, you can have Bob dancing every day. That's quite a cross all of events but if you can't create a fake world where every day is Janet's birthday and every day is a full moon Bob will dance every day That's very good. The the werewolf is actually to indicate. That's her. There's a full full moon I'm sorry. I'm sorry. I have to admit that I tried to do A flash dance cup no was was very bad was really a bad idea and extend So this is why you would want to visualize. I'm not going to go into any more details But this is what you have to keep in mind something that would happen Very in a very specific situation. You can make happen every time you want Okay, without having to worry about Compatibility issues this program does not work does not work with this one. This is a unix only program This is a mekos only program and stuff like that Change of argument again This is another big buzzwords at the moment which is artificial intelligence and in particular machine learning So machine learning is a very romantic name that inspires everyone to think about Skynet Which is the end of the world Apparatus that brought down the world in the universe of Terminator. So I had to make a joke I mean you have it's kind of mandatory now to use this picture when you talk about artificial intelligence So I would like to answer your questions like will machines run the world in the future and is it true that face Tube knows all my secrets. I Probably from the latest news. Yes, but So let me explain you extremely simply in a very rough cut approach what machine learning is so Quick question. What is the next shape gonna be? I'm gonna give you 10 seconds because I'm running out of time Circle nope, that's wrong the next one will be a triangle and the reason is that you've got triangle square triangle square triangle Triangle was easy like the statistics were all in front of you Okay, this is harder. What what's the next one gonna be? Pentagon You're not even trying, right? Okay, it depends Because if you only take into account the shape that came before that one the next one is gonna be a circle Okay, if you see on 75% of the cases The triangle is followed by circle. So statistics say us that the next shape is gonna be a circle But if you take the previews to shapes, it's another thing and if you take the three previous shapes It's another thing. So Don't don't don't mind bend yourself on it. It's not a problem. What you have to understand from artificial intelligence is that It's a good alternative to real stupidity, which is we've got many examples of it So is the world gonna be ruled by my machines? Yes, but billions of extremely specialized ones not one not skynet probably not skynet It it still runs on data so to make any prediction a machine has to have a ton of data that's still its limit Okay, we usually we human being we jump into the darkness machines don't do that And it still runs on imagination in the last case you have to tell the machine how To consider what you gave it to know how to predict the next thing So deciding if it has to take the shape before to shapes before three shapes before It has to take a bidimensional pattern and stuff like that. It's a complex thing It's something that you the human being decide. So it's still that but in essence, it's all statistics, okay? Then big data when you talk about machine learning you learn you talk about big data Big data is something that people likes to call in a very Complex way once we had a lot of information about a few people or a lot of information about few people today Thanks to face tube. We can have a lot of information about a lot of people that's big because it's a lot of information and that's data That's it. That's big data. Okay. It's nothing. That's nothing more than that then Last thing is all out. You probably have seen many times an application that will like to access your gmail face Tube profile to do something with your information blah blah blah stuff like that very simply You've got a friend. She's from San Francisco from the Silicon Valley. She's called a Janet She's gonna rock your world. She's gonna be the next development in grocery shopping and You trust them. Okay So what Janet can do for you is that that Janet can go and buy groceries for you But you don't want Janet to buy all the groceries that like she can't go into the the shop Where you have an open tab and buy anything she wants Janet can only buy something that you specify in advance. Okay? so you go to the owner of the shop that's called a gym gym is clearly old as you can see from his crew to presentation and Jim has got a terrible memory. You're in the middle. You're also very very. I don't know I mean, it's a crew the presentation of you that so you make Janet meet Jim and You tell Jim that now you've got a keyword a token which is Doppel or something like that this one and Jan and you tell Jim that with that keyword Janet and only buy pickles for you because you really like people's like pickles Like you love pickles. Okay, that's the only thing you want Janet to buy for you So the next time that Janet goes shopping. She goes into the grocery store. She goes to Jim She says And Jim knows exactly who she is because as you as I've said before Jim has got a terrible memory So he's not gonna remember Janet out of the box He needs a keyword and he remembers that Janet can only buy pickles So if Janet buys anything else is gonna tell tell Janet. No, you can't you have to buy pickles. Okay? So you can This is how I'll work essentially You can revoke a token. So when you revoke a token you go to Jim You say, you know Janet my friend we will tell no, I know idea Well, you have to remove the token like Janet can buy groceries for me anymore She can buy pickles or anything she can do that anymore or You can renew a token so you can say Janet can keep buying pickles for me for another year Or you can update the token and say Janet can now buy pickles and art chokes for me. Okay? That's how I'll work so all the things that happens that you go to a way website than back and then hey Europe is connected That's all so another thing is in software development a problem that comes up always is estimation Estimation so estimating how much time something is gonna take is always a problem. It's never exact There is even a theory which is based on scientific data that you can't predict the time that it will take I'm gonna explain to you very simply from the viewpoint of the developer why you can't predict estimation so you want to you ask your catapult crew to tell you exactly how to set up the catapult to hit the walls and Because you are a siege manager or you could be an enemy. I'm comfortable experienced designer. Everyone is a designer remember So they start and they throw our first rock and the rock is too short Okay, and this is Bob is the lead catapult or rock trajectory designer is a designer to It's too short at first. So they throw another rock and now it's too long So they do not hit the city that he wanted to it. They hit the other one and So the next thing you're going to do is that they're gonna throw rocks over and over and over until They hit the correct city and they're hitting the city because they are yes. Okay, you get the idea and They now know exactly how to set the catapult to hit the city That's exactly our software estimation does when I'm done. I know exactly how long you will take. Okay What's the problem? The example of the catapult is very good because if you know how our catapult works you have to You have to essentially Disassemble the catapult move the catapult reassemble the catapult set it up again every time you have to siege a new city That's exactly what happens in development. It's not like cities do not come to the catapult the catapult goes to the cities Okay, it's a basic principle of siege Okay, so that's exactly the problem all these disassembling and reassembling comes with the coast that it's never the same So you can't estimate. Okay, or you can have a very correct estimate so Last example I'm gonna go through very fast because I'm over time rest API We all heard about rest API at least once so pizza is content. Okay, this is like this is a universal fact This is knowledge pit this content So you can go to the restaurant and get a pizza. Okay, so you're getting the content But also the presentation and you are such a path so you don't like restaurants You don't like people, but you really like pizza. That's a problem. Okay What if the restaurant did provide a takeaway service at that point you could have pizza, which is the content without the presentation Which is the restaurant? So now the content is exposed with the rest API. The rest API is the takeaway service Okay, but it gets even better because if the restaurant exposes a rest API a Service that can take the pizza from the restaurant and take it to you It's now an application that uses the rest API. Okay This is all there is to know about rest API Like if I had to explain rest API in any way, which is simpler than that I would not it's it's pizza. You want pizza. You don't want to get the restaurant to get pizza. You just want pizza. Okay Thank you. Okay Thank you. Thank you very much Luca. It's the best example of rest API I have ever seen all over the time and over the world Question, please. You have to come here But we are near we are near I Have a question. I have a question. I have a question Andrea I have a question about how to play in videos story. Can you tell me something more about? there were two Two times you talked about how to play in videos and your customer Usually the volume is up So it's it's very good. You can research it There are many WordPress plugins that allow you to do that like you can take your whole landing page to show a video It's very good. Let's go on. It's gonna be like two petabytes of information that people does not care about It's very good. I have a question also like maybe last question What kind of virtualization do you suggest to use for developing? The one that's easiest for you to set up and fast it because your job is not doing virtualization, but it's doing code Thank you. Thank you, Luca very much