Okay, currently on my second channel, which focuses on hardware projects, I've been working with the Wemos module, which is an ESP8266 module, which allows you to connect to Wi-Fi and act as a client or a server and do lots of fun things. And the Wemos comes with little shields. And in a video on my second channel, I just went over the button press. I showed how it works. Today, we're going to be looking at the code. So be sure to check out if you want to see this project in action, the little annotation or card or wherever they call them now on YouTube. There will also be a link in the description of this video to the video showing this project, as well as a link to all the source code you're about to see. So here is the code for the Wemos module. I'm using the Arduino IDE. Also check out my video on my second channel on setting up the Arduino IDE to work with ESP8266 chips. Once you have all that set up, here is the code. After the comments there on licensing and stuff, we have some modules here. These are some header files here for the ESP8266, one that's just set the ESP8266. This multi Wi-Fi allows you to set it up so that you can have a list of different routers that you can connect to. So we're only going to be connecting to one access point in this video, but you could set this up directly so that if you're at home, the module will detect and connect to your home. If you go to work, it might connect to your work or wherever. You can set a list and it'll look for all the access points in that list and connect to one of them. And then HTTP Client, because we're going to be requesting stuff or connecting to a web server. So we're setting up all those headers and then we're just setting up the multi Wi-Fi here. Again, in this project, right here, a little bit further down, we're going to be connecting to an access point, but you can set up a whole list. And I'm just using that. You don't have to use that. You could also just set up to just one, but I figure why not throw that in there in case you want to add more than one access point. Okay, so here we're going to set up some variables, some constants, some integers. We have our button pin and our LED pin. So on the Wemos module, if you're using the button shield, it's going to be digital pin three on the Wemos, but it's GPIO pin zero when working the Arduino interface here. And then the digital pin four on the Wemos is actually GPIO pin two. So we have our button connected to GPIO pin zero and the onboard LED, which is a blue LED, is pin two. Next we're going to set T and T1, I call it T just for timer or whatever. That's my thing as I explained in the other video when I've done a project like this, where the board's hooked up all the time, like 24, 7, every so often you'll get a go string. So what this is going to do is the program's constantly looping. And we're going to set this little timer for this loop, set to zero, T for timer. It's not really a timer, but it's setting it to T. And then the loop part of that, it's going to check if the button's been pressed for at least 50 loops. And I have found that if you just click the button as fast as you can, you're going to get an average somewhere between 40 and 60 loops of the code, just in a very quick press. So this is checking as long as it's being pressed for at least 50 loops. And if you're pressing the button normally, it's going to be well above that. And this is going to prevent any ghost button presses. You don't want it to be pressed when no one's pressing it. It's just, I don't know if it's a power surge thing, but every once in a while you get these ghost button presses, and this is to prevent that. And then this is our D, our delay. It just prevents you from pressing the button more than once a second, because again it's looping. So if, again, you tap it really quick, it's going to loop 46 times, so I think you press the button 46 times, sort of saying, hey, wait one second, you can cut this down to less if you want. It's going to prevent the button from triggering more than once when you press it. And then the button state, the default button state is zero. Here we're going to set a string of a URL. This could be whatever films by chris.com, forward slash, blah, blah, blah, whatever your server is, if you're running it locally on your network, it might be an IP address. And then, but it's just the URL to the webpage you want to connect to when the button presses. Okay, and then we have our setup here that's going to run once when the board is turned on, and most of this is for serial port output, so you can troubleshoot if your button's not working properly, you can connect to it through USB, and just look at either in the Arduino IDE in the serial monitor here, or through any serial applications, such as screen, or just as raw TTY output. We're going to set the board rate to this, but it could be whatever you want, and then we're just going to delay for a tenth of a second. And then we're going to start our Wi-Fi multi-API again. This is access point here, I said API, AP access point. You can create a list of these, but let's say your access point is called my router, and then you put in your Wi-Fi password, whatever it is. So we'll try to connect to that, and if you create a list of them, it will try one after another. Next, I'm just going to print two blank lines to the serial output. You can actually get rid of those lines and just do something like this should accomplish the same thing. It's just for formatting, just pressing enter twice before printing this message. Then it's while it's trying to connect to an access point. It's going to the serial port just every half a second, put a little dot, a period. So that you know it's running, you know it's trying to connect. It's dot, dot, dot, dot, until it does connect. Once it connects, then it's going to break out of this while loop and continue. Again printing a new line, again you don't need to do that, you could just also shorten that up. In fact, all these serial port, all of this probably could have been put into a separate function, if your setup function is longer, you probably want to do that relatively short now. But after it connects, it's going to send a new line, say it's connected, and then it's going to say what IP address that it got, so it says IP address, and then it's going to get the local IP address. So you know on your network what the IP address to your device is. Again, for troubleshooting, you can then check and make sure you see it on your network. That's more important if it was a server rather than a client, but still good to know. And then it'll wait a half a second. And at this point, we're going to set up, we're going to initialize our pins, we're going to say the LED pin, which again is GPIO pin 2, or digital pin on the Wemos, digital pin 4 on the Wemos, we're going to set that to an output because we're setting a signal to turn on the LED. Then button pin, which again we set up here to 0, which is digital pin 3 on the Wemos GPIO pin 0 in your Arduino IDE here. And we're going to set that to an input because it's checking for when the button is pressed. We're going to skip this function for now, the send press function. What we're going to jump down to is our main loop down here. And here we're going to read the state. This is going to check what is the state of our pin. Is it higher, low, one or zero? And it's going to get back and then we're going to check, is it high? And if it is high, we're going to do one thing, and if not, we're going to do another. So, if the button is high, in this case, using the shield here, it means the button is not being pressed. Or I'm sorry, the button is being pressed. And what we're going to do here is we're going to, I'm sorry, I was right the first time. It's confusing because the button compressed can be higher, low, depending on how your hardware is set up. So in this case, it's checking if it's high. That means the button is not being pressed. What we're going to do is we're going to set the LED pin to high and turn off the LED. And in this case, we're also going to set T to zero, which is resetting our timer. So the button not being pressed, it's going to make sure that our loop timer here, which is, again, preventing button presses to zero. Okay, if anything else, meaning if the button is pressed, what we're going to do is we're going to loop and we're going to check, is T equal to TL, and we set TL set to 50. So when the button is initially pressed, it's not going to equal that. It's going to equal zero. It's going to say zero does not equal 50. So it's actually going to go down to our else here and just add one to our timer there. And so, again, a very quick button press, it's going to loop 40 to 60 times. If you press it as quick as you can. So even a quick button press, it's going to quickly add up. It's going to loop through this until it hits 50. Then it's going to go, oh, T equals TL, which is 50. And then it's going to say, okay, write the LED, make it low. So that's going to turn on the LED, send to our serial console that the button has been pressed, and then run our function of the button being pressed, send press, which is going to send a signal to a web server. And then delay D, and again, we set D up here set to 1000, which is 1000th of a second. So that's one second there. So it's going to make sure that it stops our loop for one second. After, that's after it runs this function. So let's go ahead and look at our send press function. Here we're going to send, again, some information to the serial console. Again, this is great for troubleshooting. We're going to say requesting URL, and then it's going to print the URL that we've specified up here. So whatever URL you're connecting to. So it's going to do that. Then it's going to create an HTTP client called HTTP. And then we're going to begin a connection to our URL. So we're saying to the serial port where we're connected to it, then we're going to actually try to connect to it. And then it's going to get a response from the server and put it in this HTTP code. And that code is going to be good or bad. And if it's as long as it's greater than zero, we're going to say that we connected to our server. And then we're going to say, well, if the HTTP code equals HTTP code OK, meaning so we connected to server and we actually got the URL we wanted, well then we're going to take the get string. So this is basically the HTML code. Whatever the page puts out. So if it's an HTML, it's going to be HTML code. If it's JSON, it's going to be JSON. Whatever code is going to be plain text, it's going to be a string. And we're going to put it inside a variable called a payload. And we're going to say the server says and print out to our serial client, our serial output, what the web page returned. And a lot of time in these scenarios, you're going to be connected to something. It's going to give you a simple message, a1, a0, a number of some sort. And in the case of the code I'm going to show you in a moment, it's going to be a number from zero to nine telling you what image is going to be displayed. But again, that varies depending on what your page is. Because again, you can write this code once, put it on the device, and then you can change the code on your server to do multiple different things. Anyway, we're going to print out the output from the web server to our serial port so that we can read it and make sure we're getting what we want. Now, if the code is not greater than zero, meaning we were unable to connect to the server, we're going to get an error code and print it to the serial port and then we're going to end our HTTP connection. So that's the code that we will compile and run on our Wemos chip. Now, let's look at some server side options. And again, all this code and the code I'm about to show you is in the description of this video. So right here is a folder and in here I have some files. I have an HTML file. I have a folder labeled photos, which has photos labeled zero dot jpeg through nine dot jpeg. And then we also have a CGI bin with one CGI script in there. It's a shell script that's basically what it's going to do. It's going to shuffle and give you a number output zero through nine. It's going to give you one of those numbers. So basically it's shuffling and giving you just one of those. And then it's going to print whichever number it gives as an output, but then it's also going to drop that same number into a file called photos dot dat. And dot dat is just something I came up with because it's not really HTML, it's not JSON, it's just a file. So I'm going to say cut that out. And last time I ran this script on the server, it generated three. So again, it's a shell script if I was to run this multiple times. You see it's going to give me a random number between zero and nine. So we've looked at our dat file. We have photos in here. We have a quick little script here that we just looked at. Let's look at our HTML code here real quick. So our Wemos is not going to be interacting with this HTML code at all. So basically I've got some CSS here that basically displays an image as a background image, full screen, but to fit your window. So whether it's landscape or portrait, it should fit in the window there. And it's going to go as the background of this div tag here called bg. So that's what all this does is just create an image that's centered. It's going to default show you the zero dot jpeg from our photos folder. Now, here's our code. We've got just a few lines of code here. We are using, well, I actually have Twitter bootstrap in there, but we're not really using it. We could remove that. Mainly we're using some jQuery here. So we're going to call some jQuery. And basically it's going to wait till the page loads. And then it's going to set intervals. And it's going to loop every 2000, just under a quarter of a second. If this was set to 1000, it would be one second. If it was set to 500, it'd be half a second. If it was set to 250, it's a quarter of a second. I have it set to 2000. So it's a sixth of a second. And you can go less to basically it's just going to start up our page. And every quarter of a second or however you set this, it's going to run this function. And it's going to request whatever is inside the dat folder, which is going to be 0, 1, 2, 3, 4, 5, 6, 7, 8 or 9 in theory. It should be one of those. It's going to take that data. And then it's going to create a little link for that. So basically we're going to say we're creating a string here, which is going to be our photos folder. And then I'm splitting here the dat because just in case there's a new line character at the end of our output, which usually there is, I'm saying basically take the first line. I'm saying split whatever output this file gives us and cut it by each line and just give us 0, which is the first line, which should just be our number. And we're appending jpeg, which is going to give us something that looks like this, but instead of 0, it's going to be 0, 1, 2, 3, 4, 6, 7, 8 or 9. And then we're just going to change the bg div tag here and give it a new background image with a URL of what we just retrieved here. Super simple. So again, this is just the output that's constantly checking what's in this file. Our Wemos is never actually interacting with this file. It's interacting with the photos.dat file. Actually, no, it's interacting with our CGI file, which is modifying the photos.dat file, which this HTML and JavaScript is constantly checking. And again, to see that in action, you can check out the card or link in the description of this video, which will show this in action. I also show sending text, which is basically just PHP code, one line of code that sends an email. And if you're unaware of this, you can send text to phones by putting in the phone number at and then depending on what the carrier is, there's an address that you can put there at the end, which I've gone over in previous videos. But this is just basically, like I said, changing what photo is displayed on a web page, but you can have it do anything. Now, to start up this code, I'm going to use busybox. And again, that's why we have the CGI bin folder, which is going to run a script. So basically, I have busybox installed if you don't already on a Debian based system. So Debian, Linux Mint, Ubuntu, a lot of systems out there. You can use apps. Whatever your package manager is, apps. So actually, sudo apt install busybox. I already have it installed. Once you have it installed, you can say busybox, HTTPD-P for port. I already have Apache running on port 80. Plus you need permissions, elevated permissions to start something on port 80. So let's say 8080. And now it's running in the background. If I PS, AUX, grep, HTTPD, you can see here I've actually got two things running. I've got one here that's running, which is my doorbell code, which is always running. And that's running on a port here. And then I also have port 8080 here. I'm going to just kill this one here that we just started. Just to show you again. So it's running in the background. If you wanted to, you can do F-F and maybe add some Vs there for Bose output. And now it's not, instead of being thrown in the background, it's going to continue running in the shell here. So you actually will see any requests that come to this server. So if I was to open up Chrome, once again, I should be able to go to, in this case, localhost, whoops, localhost, localhost, port 8080. And actually I've already done this CGI bin, random.cgi. It's going to give us an output. And every time I do this, it's going to change the number there. And if I go back to my shell here, you can see that somebody connected. That would be me. What file they requested, and that the connection was closed. And then I connected again, blah, blah, blah. It's going all the way through. So the F prevents it from going into the background if you wanted to keep running in the shell here. So you can see it. And the more Vs you put, the more output you get here. I think it's, you know, I think it's one to three Vs. So again, every time I run this is going to give me a random output. So if I now go to localhost photos.html here, you can see one photo. And let's see if I can, whatever, we'll flip back and forth. If I run this, I'll give me a zero. There we go. Three. So every time I run this, this page is updating. I should just demonstrate it better with the Wemos on my second channel. So again, check out the links in the description. Let's see. Woo, 20 minutes. This went a lot longer than I thought it would. I thank you for watching. As always, please visit FilmsByChris.com. That's Chris the K. There's a link in the description. I'll check out my Patreon page. Help support my videos. Check out my other channel for this project on hardware as well as others. I thank you for watching. And as always, I hope that you have a great day.


Matt Shoemaker got mad. Here he is, looking great in the blue Jay's uniform, playing down in Buffalo, having some fun. He's got a 2-0 lead in the fourth inning, but Lau gets on with a nice little single. Then I think he walks Wendell here, Joey Wendell, 3-0, 4-0, fuck, dammit. It was actually full count, then he walked him. Next batter, G-Man Choi, everybody's darling, falls behind 2-0, so Shoemaker's like, okay, gotta make some pitches. Gets the call there, gets the strike out there. Two outs, one more out, he's out of this inning. Susugo is up, strike one, boom. Strike two, just a foul ball. Great, strike three, thinks he's got it. Peacock's off the mound, doesn't get it. Ump says no, that's just two and one. Just two and one, Shoemaker. He's pretty upset, re-grips the pintar. Now, I don't think this is a strike, but someone told me that the Ump Vic was calling this a strike all game and then didn't call it here. So, if that's true, that sucks, but that right there, it's kind of close. I lean, that's clearly not a strike. Shoemaker really wanted it, it would've been the third out of the inning.  Yeah, pretty happy stick.  It's kind of freaking happy back. Very intense yelling, but he does get the next out, Willie Adamus, I think he strikes him out, boom. And then after this, he's gonna start yelling and screaming some more, screaming into his glove. Raise, take the lead. And then screaming at Vic in general, just looking at him and cleaning it up. Very intense, very scary, very angry. Screaming at Vic, because of that one call, Vic throws him out of the game. He pushes, Vigio is getting him away, Kevin. I gotta go yell, he says, hey, did you just throw me out?   And now he's just screaming here, that's three. He should've been three out, screaming, yelling, they're all holding him back. I don't know what he's saying here, but he's got rage in his eyes. Like crazy.  And he says, okay, fine. That was the lamest little exchange I think. Montoyo doesn't really get upset, I don't think. I think his level of upset is most baseball players' level of calm, which I think might be frustrating. Anyway, shoemakers just screaming and yelling in the dugout. I couldn't figure it out, but I mean, look at the passion. So, so, so intense. So, Susu, go! Vladdy gets the run right back, ties the game up in the next inning. But, Toronto would go on to lose this game. Shoemakers' ERA and line looks bad because they didn't pitch that long. And that's basically what happened. Who sided you on? Comment below.


okay okay now i can't tell you this mixture because it's a secret oh i love that okay okay that'll do okay i'm a good way to go one of these full of cold water thanks there we go beautiful in again in again and give it a mix with this you use that kind of some secrets i know this is gold you can help me gee you want to put the gloves on do you want to do this bit no you can do that this is what i've got you here for to so you can do all right oh yeah now knead that oh okay now kneading is like this not squeeze i said say squeeze i said knead we have to do it okay just knead it up a little oh kneading it up neatness is everything right now here's your scone cover okay perfect okay lift it up no put it on here these are these are very delicate only small it's a magnificent job yes you're doing a good job santa it's all in the instruction gene yeah the bell is gone all right now just lift good job santa there's some beautiful scones good job santa and i look forward to seeing you at christmas at the academy thanks gene


A warm welcome to the first session of the fourth module in the course signals and systems. You will remember that in the second module, we had gone from what we call the natural domain to what we call the frequency domain. So, we said that there are some very great conveniences in thinking of synusoids as a basis for expressing and representing signals. And in fact, also looking at what systems do to signals, particularly linear shift invariant systems. And in fact, based on that, we built ideas in module 3, where we could bring continuous and discrete systems together, we could bring equivalences between them. Now, unfortunately, one of the things we kept saying again and again and again, when we talked about the Fourier transform and we talked about the spectrum is the signal should have a spectrum, we keep saying that, is not it? We also kept giving examples of signals that do not have a spectrum. For example, in exponentially growing waveform or for that matter, even the unit step technically, it does not have a Fourier transform in the conventional sense. You need to bring in impulses and things like that, you see. So, all the while, we must have been wondering, can we generalize? That is one of the strategies that we use. Can we generalize the whole idea of alternate domains? And now that we have worked with continuous time and discrete time or continuous independent variable and discrete independent variable. It is an important question, whether we can generalize what we gain from the Fourier domain analysis to a more general domain. So, for example, can we do something to be able to deal with unstable systems as well? I mean, we do not have to worry if the system is unstable. We can still use some kind of a transform domain approach, that is what I mean. We would like that to happen and we would like this to happen both with continuous time systems and with discrete time or continuous independent variable systems and with discrete independent variable systems. So, how do we go about it? Well, that is the whole theme of module 4. So, let me put it down to explain to you in a few sentences. What do we want to do in module 4? We want to generalize the Fourier transform. So, what we want to do is to accommodate systems whose impulse responses do not have a Fourier transform. An example from continuous independent variable or continuous time. Suppose you had this impulse response, h t equal to e raised to the power of t u t, u t is a standard unit step. So, how would it look? On the t axis from t equal to 0, you would have an exponentially growing wave form. This is how h t looks. Now, clearly this has no Fourier transform. In fact, you cannot make any tweaking on the Fourier transform to accommodate this and let this be the impulse response of obviously, an unstable system. Let us take a discrete time example. H n is 2 raised to the power of n u n. So, obviously, mod h n summed over all n is essentially mod n going from 0 to infinity 2 raised to the power of n and this is divergent. So, system is unstable. Both of these are examples of unstable systems and obviously, there is no frequency response. So, then what do we do? If there is no frequency response, are we incapable of dealing with the system at all using a transform domain or do we need to generalize? Can we build a more general transform? That is the first part. Now, the second part is to generalize the properties of the Fourier transform to this more general context. And what properties are we talking about? For example, convolution, shift, differentiation, modulation and so on. What we are saying is, can I in some sense use all the conveniences that I got from the Fourier transform, but then extend the domain of application to these unstable and troublemaking systems? Well, you know, I think we should we have now seen that there are good unstable systems also. So, these systems which are not otherwise amenable to Fourier analysts, that is the way we should think about them. Unstable and stable is after all just a property. So, the third thing that we would like to do is to characterize systems more generally. That means, be able to deal with more general classes of inputs. You see, if you looked at it carefully, there is a certain restrictiveness in the Fourier transform. By and large, the Fourier transform is directly or indirectly dealing with sinusoidal inputs. You know, we want to deal with more general inputs. For example, exponential inputs or exponential inputs multiplied by some sinusoid and by the way, exponentials multiplied by sinusoid are common in nature. So, this desire to deal with the more general class of inputs, again using the conveniences, that is what we are trying to evolve. So, in all of module 4, what we will notice is that we will have many of these objectives attained at once, once we set up a more general transform framework. So, let us now talk a little bit about what we are going to do in this more general transform framework. What will this more general transformation framework be? You see, we would first like to begin with the philosophy of this generalization. And the philosophy is very simple. Capture the source of instability first. Capture or ensnare and then we could simply apply the Fourier transform on the thus modified sigma. Let us take an example of continuous time. Let us take that troublemaking input that we had, h t is equal to e raised to the power of t u t. Now, let us multiply h t, you see, where was the trouble in h t? The trouble came due to exponential growths. Now, capturing or ensnaring means multiply by a decaying exponential, stronger than this growing one. In other words, what you could do is to multiply h t by e raised to the power minus sigma t, where sigma is greater than 1. For example, if sigma is equal to 2, what will happen? You will get h t e raised to the power minus 2 t, which is e raised to the power of t u t into e raised to the power minus 2 t, which is now e raised to the power minus t u t and this becomes absolutely integrable. Now, if you do this, first capture or ensnare with this multiplying function, which then brings it in control and then use the Fourier transform. Very simple. The idea is very simple. Put the trouble making function in a cage, so to speak and then put all your processing on top of that, in the cage and then after doing all your processing, which could be in the Fourier domain, then release the function from the cage. Now, this whole idea of first capturing and then releasing is the essence of the generalization that we are going to make. We could make a very similar generalization for discrete time signals or sequences, essentially capture with an exponentially decaying sequence stronger than the growing one and then do all the Fourier processing that you want and then release it. So, in fact, we are going to give formal names to these two kinds of processing that we do for continuous time and for discrete time. For continuous time or continuous independent variable, we are going to call this whole business the Laplace transform after the scientist Laplace, who came up with this idea and for a discrete independent variable context, we are going to call it the Z transform. We will build more ideas about these two transforms in subsequent sessions. Thank you.


Voting has ended in 206 polling units across 15 lurking government areas of Karnos state, where supplementary elections took place today. While party agents, election observers and related bodies are following up the process of differing coalition centers in the state for transparency, security presence has been heightened, and a B2N share a peaceful calculation and announcement of results. Earlier in the day, despite the restriction in movement in the state by the police, vehicle movement was visible while election were ongoing. Karno has two federal constituent elections and a 24th state house of assembly elections. Notified about fresh news updates


Butta tonight.  I'm Rick and he follows on Instagram and Twitter for some cute content. He's trying to follow us to the corner of the world. He's trying to squat. Shane. You know that story? You know that story? You need to look up a story about what happened with uh uh uh Lena Heddy's nipple. Don't look up on the internet Lena Heddy's nipple. Do not do that. It was on The Tonight Show to be clear so it's Lena Heddy's shame on Jimmy Fallon. Don't look up Lena Heddy's nipples. Yeah don't look up Lena's nipples. Uh anyway why are you so cautionary about that? Have you actually done that? No I'm just gonna pull up bad things on your internet. Really probably would. But uh today we were doing a movie review of uh a Tamil film uh 101st not Tamil film. Yeah I don't know if it's uh I don't know when this is coming out but it's over 100. It's over 100. We're in the hundreds now. We're big time. Um but uh first the Nush film uh wanted to get to him obviously because you know he's one of the biggest stars in the Tamil industry. Yep. And uh so I did a poll uh I think I did it on all the platforms uh and uh but it's been requested uh tone. You did I heard you say you did a poll in platforms. Really? Yeah poll dancing in platforms. That's usually how you do it. That's usually how you do it. You do that.   Uh but uh this is our I want to say third fourth Tamil film. I think it's our third. Third or fourth Tamil film. Uh directed by say his name for me right? I forgive me if I butcher your name sir uh He wrote it, directed, produced it along with the Nush uh produced this as well and then it's starring just a thousand other people. Right. Including our mustache guy from uh Family Man um who we also saw in that other film um this whatever I can't ever pronounce that name ever again. Oh yeah but no. That one. Uh Uludavaro Kanananthi. Which was a Kanada film. Yes. This is a Tamil film. Yes. Family Man was Andy. Yes. Multi-talented man. Uh but yes it is a 2008 film um a gangster thriller um style film I guess would be the correct way. Gangster. Gangster film. I think it's a correct genre place for this. Spoiler review. That's just how we do things guys. Uh if you if you like to be spoiled continue watching. If you don't like to be spoiled go launch it come back and you can not be spoiled because that's just how we like to talk about and we do we feel very strongly about that if you've been around at all for a while you'll recognize that we want the movie to tell the story we don't want spoilers but if you've seen it watch on and if you don't care about having the story ruined for you well well whatever power do it. Weirdo. Yeah. Uh but and Rick initial thoughts. Uh I didn't write I actually I didn't write a paragraph. And the reason I didn't write a paragraph is because there I I didn't like it very much and because I didn't like it very much it doesn't benefit anybody if I just nitpick and say what I don't like. I am going to say some of the things that I felt could have been improved but on the whole I just I just really didn't like it that much. Interesting. Yeah.  Huge way. Because one I think Tamil people I think we've experienced this with every single Tamil film we've ever watched. They speak really fast. Really fast. They they're very fast speaking people. Yeah. Uh not their fault at all. But since we are English speakers and we have to read the subs the subs go like really really fast and so you're trying to soak in all this information and it's hard for you to see everything you can't. Yeah at that at that speed especially and I had texted you early on um for there was a part for me where the editing clips the director for the majority of the film but I was 45 50 minutes into it and sent a text to Corbin and said he was halfway through and I said are are am I going to have to watch edits happen every three seconds for all three hours of this film and he said yeah I really haven't noticed that it doesn't bother me that much but he does like quick. So of course it doesn't bother you that much. Yeah it bothered me a lot for a lot of reasons but to get back to what you were saying in regard to the language and the speed um there was a line that he says um Danish. Yeah at toward the end was it Danish you said it a new a new book. I think it was somebody said so the line was this you don't understand our dialect yeah how you understand it was the new captain you don't understand our dialect how you understand our lives and I do think it's why I this is I don't believe this was intended to be or can have a universal international audience because it is so rooted and grounded in things that are culturally Tamil in nature everything from what it would mean to obviously have the horror of a guy giving a girl a kiss in the back of the house during a movie in the house and now she's the slut of the village yeah that wouldn't happen in most places that I frequently know and I'm not I'm just saying that lack of being able to relate to that aspect of the story I really felt distanced I really felt like the editing had nothing to do congruently with what was going on with the storytelling or even the settings like in prison time stands still but the editing clip was as if we were watching Fast and Furious so I I just but that again that's my own aesthetic there's probably millions of people most especially Tamil speaking Indians who love the film and there weren't blurring horrors with any of the acting so it wasn't like I was watching acting and going oh my goodness this is brutal but for me there also wasn't anything that was like stand out I'm really enjoying this I had to force myself to get to the end gotcha no I actually enjoyed this film there were some I do understand the the confusion part of it and the quick cuts you know I enjoyed that it gave me low level anxiety I didn't made ED and ADH so that kind of just worked that's exactly what in in Johnny said that you probably didn't phase you at all no it didn't I mean cool yeah I actually thought it helped move the story along and helped you keep you interested because it kept going different places and that once again might be my ADD I don't know but I was pretty invested it was difficult at times especially towards the beginning to figure out who all these people are but also that's that's a common theme with gangster films that's usually how they do you there's a bunch of players you don't connect with them until much much later and usually they kill them off pretty quickly correct they did that in this as well yeah and so I actually I thoroughly enjoyed it I was interested it is long for sure but the original cut was five and a half hours long but this is also intended to be a trilogy oh so I did hear a rumor yeah okay but I did hear a rumor that they are thinking about making the second part into a web series okay which might make it a little more digestible for us in terms of if you're gonna do that length make it like 45 minute segments well I hope they do that for other reasons too because most gangster films like we can get into this we do it all the time until India changes and we don't have a censorship board you actually have a rating system but the blurring of men's genitals just don't don't film it that way then yeah it's just flat out I don't want to get off on a soapbox about it but you're on the same soapbox yeah and I I did want there to be more gore in a gangster film but that's just yeah just just believable that's just my preference but I also enjoyed a lot of the moments as well like the tent scene when the when the new stab that guy in the back I really enjoyed that entire the way they choreographed it all I thought it was really interesting and really well done a lot of slow-mo fight but that's what most of the fight tour was slow-mo fights and so I really enjoyed that that aspect of it there wasn't really any glaring problems in it for me outside of it was a little long and then I just I wish there was more like um gory just because it's whenever I see it's like when I see um uh something about like if something here's incompetent and you're not showing you're not like people aren't like cussing every single other word right that's not realistic right I if you're stabbing somebody I want to see the blood guy I just like realism like that but I can't talk about I thought Dhanush did a phenomenal job uh I liked him a lot uh for my first time seeing him I thought he was very subtle he was a very subtle actor did you not agree there wasn't just any there wasn't anything that impressed me deeply everything for me as far as the acting from everybody was was fine there wasn't anything where I was riveted or felt or engrossed it I I had to force myself even the women like they were fine the Dhanush's girlfriend and then obviously they I forget his the character's name the one that they all killed that his friend's right his girlfriend who ended up being the orchestrator of everything right right which that is one thing that I thought when it happened I thought ah that's a nice twist yeah I thought she did very well as well um and then I the only reason I kept well if we weren't going to do a review I did this because we were going to review this and stupid babies deserve me to go to the end of the film if I'd been watching this on my own at the 45 minute mark maybe earlier I would have been out really yeah I just I didn't connect with anybody I felt the editing was not just uh like I said what it was but it also didn't fit contextually I thought I thought some scoring choices were strange and I'm willing to I'm not I'm again I'm not just gonna carte blanche say universally this is an awful movie and nobody would like it there may be millions of people who like it it's just in no way shape perform anything that I would I was like okay you didn't like the score I thought I thought the score was weird in places I didn't love it oh no I know I loved it I love the weird choices and I didn't feel like it was intentional weirdness I felt like it was just incongruent no I did I thought it was intentional um and also I loved it was kind of the way they did the musical numbers in this one it was very um um why am I forgetting his name everybody uh we interviewed him he's our favorite no was it no no the director um on your acacia I don't know I forgot his name for a second anyway you know because he said the way he does musical numbers is it's either somebody's singing right or it's background right um and that that's what I felt because like with the whole wedding that they had and the dance I thought that was really quirky and unique the way that the dancers were dancing all crazy um I thought that was really cool and enjoyable so I maybe it's just because my ADD brain works with this style of film and the fact that there's something different happening and they're doing something weird every single other frame uh I enjoyed that I enjoyed that part of it a lot um I understand I when I was watching it I was like I'm pretty sure rick's not going to like this yeah it's just you know we have different styles and that's fine it really it really for me and again like in adrani said she said Corbin's probably gonna like it based on what I was describing to her and it I really do believe this is one of those films I don't believe this with all films there are some films that are just flat out bad and if you say they're good yeah you're wrong uh we we agree about that but we also agree to fight over things where we're both like right this one I it's for me it's a palatableness on a myriad of levels levels where like if you were eating food that you were tasting in india I would taste something and think doesn't float my boat and you'd be like oh I could eat that all day yeah you could eat it all day and float my boat yeah I do agree because like in terms of gangster films I I didn't think there was anything new that came out of it like there wasn't like um like it's not it's not up there with gangs of wasiper for me uh for sure um I think that's a that's a much higher um gangster film and like I said I would put that up against godfather in terms of probably the greatness of that fellow scarface but I this is definitely uh a different take on it it was obviously it's a different director obviously that underikashio he likes to sit in which is obviously something that we both love but this is obviously as well I think the biggest hurdle for any non Tamil speaker is the subtitles um that you're going to struggle with because one you don't know if they're translated correctly right which is why I can't it's so difficult to critique a script um and also they speak very very fast and so you can't appreciate everything else going on the screen that the director wants you to see right when you're just oh crap I missed that one which is another disconnect for me like the editing speed they were speaking so fast I remember putting in my notes that would someone please breathe and think before they speak which that's my preference mm-hmm it's also to me lens toward a greater dramatic element not all the time there are parts which should be woody repertoire and it's going fast but to have every dialogue just be bam bam bam bam and that may be exactly the way I think that's what they speak yeah that may be it that may be exactly the way things happen I think they speak a little bit about right exactly over each other and again for me I really think this boils down to that level of because again there were no blaring artistic things where I felt mm-hmm I had differences of opinion but I didn't see anything where I went okay that's artistically off continuity or whatever this was one of those things where you try something from India and some people go oh I love that I could eat it all day and another person goes ew I can't believe you like to eat that yeah if you love eating that more power to you enjoy it for me it just yeah it didn't float my boat that's very interesting um because yeah like I obviously and I watched it with my wife and I think she was really enjoying it as well that's obviously 245 is hard to watch with a eight-month-old so it was and we definitely watched it in parts like yeah 10 minutes here five minutes there depending on the room he wanted to be in at that moment um but whenever I was watching it because it also was different as well because three fourths the way in they switched because Dhanush was telling his girlfriend basically where it all came from and that's when the the story about the the girlfriend of that guy that the friends killed I don't know their names because yeah so many characters it's hard to remember but the guy that all the friends killed um when they switched to him they stayed on him for a good it felt like 30 minutes yeah I was like oh where's the noosh yeah and they also to his credit I did recognize if any of you've been writing out of the comments the editing um clips did spread out in the second half he did have some long he did have some longer dragger shots in the second second half which did help me I lost that low level anxiety I was feeling got it cool uh but yeah no but I was I was wondering I was like what what just happened but right that happened in godfather as well you know they yeah they go on tangent so and that was the other thing I liked we've talked about this before in films where they don't feel like they have to give you something linear I will give that as that is something I could say I like they had I think 1987 something in the 90s 2000 and from 2004 yeah there was a lot of jumps which also deals with the confusion sometimes but I thought he did a good job the director to kind of let you know because obviously denouche had a mullet for a whole yeah this is funny and all I got is this script has got to be what 480 pages like it's heavy dialogue oh yeah it's a heavy dialogue it's a heavy dialogue but I thought I enjoyed all the cuts because that helped a long film which was apparently five and a half hours right right whoa that's long I mean gangs waspers technically that they just cut it in two parts right um maybe maybe indians just don't have tell gang stories in in short amount of time and well it's a complicated story it is a complicated story and I think most people expect thank you Martin Scorsese a gangster film to be long to be a two and a half hour three hours there's a lot of moving parts and yeah there really are and and the I forgot I went on the Martin Scorsese thing I was just going to say something else about oh that's what it was the uh it may have felt a little bit longer I mean for you versus me for me it felt long because I wasn't enjoying it yeah for you I think it may have felt longer because this is the first three hour one we've seen in a long time that's true it's been a while it had been a while since we've seen a really long one yep but overall I really really enjoyed it I thought it's a really good film especially I mean I know all people from Tamil have seen it of course yeah your Dhanusha is probably the biggest star exactly I would love to see another one of his films I absolutely want to especially because obviously we've seen a bunch of his trailers give us a recommendation for his next film that we should watch to get more into him shot I know I don't know if it's a good film you guys can tell us Shamatabh I remember that one with him and him and him and I'm talking about him I know he produces a ton we've seen a bunch of independent stuff that he produced so and he produced this as well no and it looks like he's an actor that cares about the quality especially I mean he's Tamil so we're not saying this is obviously I think it's a really good film Rick didn't enjoy it but like we said it's just because it's a different style that he didn't enjoy yep but I feel like he's an artist that cares about the quality of his film like I don't think he'll tell me if I'm wrong I'm gonna come out with like a war right I'd be no I'd be surprised if if from what I've seen and I would give that as a credit as well because there's sometimes I watch a film and it's funny because we like war because we knew going in yeah we're gonna get you we had great action yeah we knew the action and the acting and story is going to be awful that's fine show us blow them up yeah uh this to its credit didn't take the route of just trying to be a bang bang shoot him up no it was actually it wasn't very much violence I could tell that what they were attempting to do and for for me that didn't hit it but again this is for me that what they were doing was a very serious undertaking and I agree with you I would say based on what we've heard from stupid babies that denouche cares very much about the quality of what he's what he's you have a recommendation of something that you think rick would enjoy uh hopefully I would enjoy it as well hopefully it's not like a a dev desk uh because that would bother me if denouche was in yeah for me the got to you know beat a dead horse sorry to coin that phrase if that's offensive to you uh for me my biggest disconnects were the incongruity of the editing choices and that happening so frequently every three seconds for the totality of the first half the secondary aspect of and this wasn't as troublesome having to follow the dialogue because it was so rapid throughout I don't mind moments of rapidity yeah but throughout and then third I didn't um it was a hard time empathizing with characters facing life situations and cultural situations so distant from my own and there's nothing you can really do about that you can't fake that you can relate to that yeah and I don't want to judge that because it's so it's just so far removed for me so and I disagree with him yeah and that's okay yeah uh but uh let us know the next denouche film let us know the next Tamil film we should watch uh down below please uh and upvote it so I can see it and so we can get this all sorted out and um


I'm the CEO of Making Science to give you who we are, basically. So we are an integrated marketing and technology company, which is kind of an interesting animal, because we have like 80 software. We are in total 250 people here in Madrid, and we have 80 software developers, data engineers and data scientists, 80 creative and designers, and 80, which are marketing specialists, right? So we have access to a lot of data, and since we have the marketing inside, we are capable of basically putting in production a lot of use cases, you know, and actually measure the models. Of course, we are able to build all the ETLs and all the data pipes and a lot of models, and we are able to test a lot of things because we have basically the full value chain inside, right? And today, basically, I'm going to be talking to you about all the ATEC and MARTEC ecosystem, right? And how you come, we are building different models, you know? Of course, of advanced analytics and a lot of machine learning models to do activation, right?  Again, so we do it from software developers to digital marketing, to SEO, to design, to UX, UI, and we are able to go to do very quickly everything with, yeah? And we work with very large clients, and we have more than 120 clients, specifically in the area of advertising technology and marketing technology, right? And I would say, like, in terms of... I'm a computer science engineer and I finished a long time ago in the school and my thesis was on artificial intelligence in 1993 and was very interesting. I was working about the expert systems and all those kind of things on the first neural networks. And it's interesting, like, the new wave of AI and advanced analytics is coming from the UX, right? The UX and how we can interact with users and the reason, the basic reason is because that's where all the data is created, you know? Of course, there is a lot of... There's more areas where a lot of data is created, like IoT and many other things, but the interaction of companies and of consumers with companies in the different assets and with a different platform is basically which is creating the big wave of change, and of course, with the Netflix, with the Spotify, with Amazon, with Google and so on, right? And our thesis when we work with our clients is, like, the shift, you know, from traditional companies to companies that are doing the digital transformation is moving very quickly what we call smart companies.  The smart companies are going to be measured by something which is different, which is, you know, how much data are you processing, how many models you have active, you know, in the different parts of your value chain from your supply, from, in your value chain, from the supply chains to your warehouses to how you interact with consumers, right? And that's what's going to change. That's what's going to define what are the winner companies of the future, you know, how many models you have active, how much data are you processing and how much data are you processing, right? And that's basically what we do. Of course, you can have data in all, in all the parts of the organization. We focus on the marketing and sales data. And it's interesting because marketing and sales, if your predictive model doesn't work very well, it's not a crisis, right? It's not like you are pretty, in a false negative, it's not a problem, right? Because you have an accuracy better than 70% is good, 80% is good. So it's a very interesting field for testing as well and be able to iterate very quickly with the data and with the models and with the consumers, right? So it's not by coincidence that I was saying before, like the oldest revolution is starting by consumers interacting with companies. One of the reasons is because the problem of failing is not big, right? If you are doing a model for an Airbus to fly or you are doing a model for a satellite to send to the moon, if the model is not good, it's a big problem. In marketing and sales, it's not a problem. Maybe a CMO is far, but that happens every day. So it's not a big problem, right? And the reason of the very fast pace of progress in that field is the fact that we are able to iterate very quickly with the data and that there is a lot of data which is produced. If this is, probably you are familiar with this, this is the McKinsey research, you know, of the McKinsey Institute of the opportunities of advanced analytics and machine learning in terms of what are the areas of the companies where AI and advanced analytics are going to have bigger impact. And you see like the biggest one is marketing and sales, which is interesting. We focus on, it's a very big area and the other one is supply chain management and manufacturing and you have all the different areas of the company like risk, service operation, pro-development, right? And it's not a coincidence as well because companies do spend a lot of money on marketing. So if you are on a sale, so you are able to optimize advanced analytics and machine learning is going to help you to make better prediction of the most models, you are going to be able to save a lot of money, right? So that's where we focus. I'm going to be telling you about different things we are doing, right, in the ecosystem, right? Also, this is the Garner CMO survey that is published every year, and basically Garner asks the CMOs in the U.S. is basically where are they putting their dollars, right? And you see like in 2019 and 2018, and we have the new one but it's not here, but basically the area where they are investing more money is in the marketing technology, so they are going to be spending less money in people, in agencies, they are going to be spending less money in media and they are going to be spending less money in people, internal people that is going to execute the campaign. So they also see the opportunity that automation and be able to use the data to get better return on investment on their dollars and it's happening. Interesting thing is what's going on in the advertising and marketing technology space. Maybe you are familiar with this slide. This is the Luma chief market view of the ecosystem and basically what you can see is the different players in the advertising technology and marketing technology, different companies that are doing things. So you can see here companies that are doing mobile marketing, companies that are doing mobile apps, creative optimization, video ad management, search ad management, social media, landing page, microsites, blogs, all the different technologies that you might use if you are a company, a CMO that wants to go to the market and you need a marketing strategy, landing page, a campaign and so on. So the interesting thing of this is all these are platforms and systems and all systems generate a lot of data, so there is a lot of opportunity. But I would also ask you to focus on the date, so this is 2011, and you already can see a crowded ecosystem. So at this time, all these systems and all these platforms were generating a lot of data. And this is what happened in 2016. So the ecosystem gets much more complicated and it's probably not by chance, so the fact that there are more and more platforms that companies are using and so on, it demands from you much more other platforms. So again, these are systems that are generating data, and in this one you can see organized by areas like advertising and promotion, content and experience, social relationship, commerce, data management. So more and more platforms, more and more data. And this is the Martik 5000, so this is 2018, which makes it a nonsense, I would say. So 5000 companies is a lot of companies, especially imagine doing a few RFPs to understand what they do. So I mean, why is this happening? This is happening also because of the previous slide of McKinsey. There is a lot of dollars, so there is a lot of money to be made if you are doing advanced analytics, data management, machine learning, machine learning projects. So big opportunity in terms of if a company which is focused on that, which is our case. But at the same time, marketing problems are the same. Right? If you ask a CMO what he wants to do, I mean, I would say, how can sell more? What is my optimal media mix? How is the consumer journey of my customers with this visitor buy or not? What pros do I recommend my consumers? If you were back to 1960 and ask a CMO what were her problems, it would be the same problems, right? The thing is right now the tools and the solutions are different, but there are new questions, right? Because we have all these platforms that I was explaining before. There are new things that you can do, for example. Should I bid for that visitor? Because now the visitor is a visitor which is visiting your website or is using your application and you have all that data and the question is should I show an ad to that consumer or not? And that was not a question that you could ask 20 years ago, right? Because when you were doing, for example, television, everybody would see the same ad. Right now when you are in an online platform based on data and based on predicting models whether you should show an ad to that user or whether you should bid for that user in the future or what is the propensity of that consumer to buy a product, right? Or what will be my conversation right next month, right? So I mean the platform sees, in one side, the problems of the CMOs is the same like it's been in the past, but at the same time the platforms are going to be helping you to solve new problems, right? So I'm thinking a bit what, let's say any client is doing what do they use information for and what are the kind of use cases of problems that we are solving for them and basically let's think about how marketing and sales use information and basically, I mean it does marketing and sales is everything, basically we use information for three things, right? To understand what happened, to understand what's going on and to try to understand what will happen. The what will happen in the past was, you know, basically I think my smell says that it's going to be like that so the what will happen was a very dangerous territory in the past, you know, and basically you have all the models built on your brain out of experience, right? And the good ones were able to predict the future and what is happening was also a problem in the past because the data was not ready. I remember like 20 years ago with business objects that the data warehouse, you know, the cycles were a month, you know, it was a month before you have all the data at the beginning, right? So what is happening, it's been a problem up to let's say 10 or 10 years but now it's a reality that you can really work on what is happening, right? What happened, you know, has been traditionally the domain of the decision making, right? Of information because you could see what were your sales in the past, what was the segmentation of your consumers in the past because you have all the data and reporting on data coming from different data sources, right? So in terms of what you do, you would do reports and dashboards, right? The past is being, let's say, a problem which has been solved by technology in the different waves of technology. The thing is now you have much more granularity, right? Because you have much more granularity on the data, you are going to be able to understand more things, get more insights and maybe probably make better decisions. What is happening, I think there is a big revolution right now in terms of what the things that you can do if you are working in marketing and sales problems because you have a lot of data pipes coming to different systems and you can design things that are going to be able to react real-time to consumers and be able to make decisions and to take actions on what's going on. And that also, the big revolution is what will happen, right? If we combine the prediction with the real-time, then you can be ahead of the game of your competition, right? And we see what Google and Facebook and Amazon do in terms of when you are able to combine the real-time with the very good predictive modeling what you can do for consumers in terms of everything. We will go later into different use cases. What you can do in terms of optimizing the user experience in terms of optimizing where you spend your dollars and so on. The reality is like all this data like most of the data is still unactivated, right? I mean, we do some surveys of our clients, you know, what do they do, they use their data from coming from all these platforms and even many times they don't use the basic reporting capabilities of all these platforms, right? So even though we are generating a lot of data so very few, very little data is still in marketing and sales analyzed and very, very few very little data activated, right? The problem is like it's a lot of right now where we see a lot of our clients is like, there is like the hype in terms of the data is a bit down because they are spending, okay, spending a lot of money in different platforms, right? And the return on investment is not getting to me, right? Because basically it's a lot of complexity and you only generate value as you can see when you do an activation of that platform, either without decision or without predicting model which is which is online. Just with introduction, let's focus on the different data sources and the different things we can do in marketing operations, right? So ideally, I mean when you think about the consumer journey of a consumer let's say a consumer that you don't know at all in historically, you know you can have basically a consumer which is around that you want to target and still you have offline and online impact or opportunity to see to impact that customer. You can see below you have the offline above you have the online and your customer will follow a process of considering your product from the awareness, consideration phase, purchase service and then on the federation, right? And in theory with in online, we should be able to track everything we do with them, right? And we are going to see there some examples of how we can do that because online platforms with the app server, you can track from the very first time you touch a consumer with an app, with the first app with an impression of the app. There are some limitations now with GDPR, but basically you should be able to track what happens with that consumer from the very first app you saw him to understand if you saw him another second app, if he visited your website, if he bought then if he came back because you have your analytics platform, if you saw him another app and so on. So as you can see now, it's a problem that could be solved because basically in terms, you have data from everything the customer did, right? So it's a known problem. It's a lot of data, but it's a problem that you can solve, you know, by different techniques, right? Which was a problem that in marketing was unsolvable in the past only using like very generic statistics, right? Because in theory from the very impact you have to that user you could create a profile of that user with a give him a profile in one of your platforms, right? And from there make different predictive models work for you, right? So I mean the accuracy of the models of course it's going to be getting improving as you get much more data from that consumer and he visits you more as you show him more ads but eventually you can create a propensity to buy your product from the very first interaction and then moving on to the charm probability of course it would be going to be zero, right? At the beginning because it's not your customer yet, right? Then you can understand you know what is their next best product, product recommendation from them and as any new touch points, a new data is coming around that consumer, the different predictive models should be able to optimize, you know, what kind of products are you showing that client. So in terms of what we compared 30 years ago of what is the kind of things you can do it's basically you can do everything, right? Because it's coming from zero data to basically all the data, right? Today if you are especially for online you can approach the challenge of doing marketing on sales, assuming that you have all the data which is typically a very good thing if you're solving any mathematical problem, right? Having all the data helps you. So what is the ecosystem, right? So basically I've divided here like three main blocks of platforms, right? That you can use to basically are platforms that are generating logs and generating data and eventually you can create models on top. First you have the ad tech ecosystem, right? Which basically you have first party, second party and third party data, right? And we are going to see which kind of platforms you have there, right? Okay. Then you have the marketing technology ecosystem which basically CRM or marketing automation on those kind of platforms, right? So basically mostly it's first party data and then you have the internal system that you've always had that you eventually can connect to the other systems, right? Of course in terms of with GDPR especially now the first party data is okay. I mean it's easier in terms to be lawful in terms of complying with the law and tracking having all the information. Second party and third party is getting complicated and in fact Google, Facebook, Amazon are more and more cutting the availability of second party and third party data in terms of what you can do in terms of the data, right? There was a big cut from Facebook last year in terms of the kind of segments they would offer you, like in terms of third party data and there is being a new cut from Google in terms of what can you do with the second party and third party data in the platforms, right? So to give you a more the idea of what kind of platforms you have in the different categories, right? So in the ad tech you are going to have your ad server which basically tracks everything you do with a consumer with the impressions, with the clicks in all the different platforms in social in search, in display and all that interaction will get locked into the database, right? So you have completely traceability of a consumer, then you have the search and social engines, you have the demand side platforms then you have the DMPs, right? And you have a few of the guys there, you know that kind of data that is generating all that data you can collect and you can attach to an ID you know, of course anonymous of a user and you already will be able to track so with that basically with the ad tech you are able to control everything which happens outside of your domain, right? If you define, like your company your domain is your website your application, right? So everything which happens outside of that work you can track with the ad tech ecosystem but you can track everything, right? You can track everything what is happening and you can attach all that information to a specific ID, it can be a cookie and so on, right? Then you have the martech ecosystem, you know, with your CMS your testing, your CRM, your information internally, but you can track also what happens in your domain in your application, in your website and there are ways to connect that connect external ID of your user of your user outside with the internal ID when they are visiting your website or your app, right? And then you have your internal system, right? That there are also ways to where you basically come up the different ideas of a different platform, right? So with all this information you can you can basically dump all this information into a common database, right? So you are to be able to track end to end the life of a consumer from the very first ad impression that it had with you to the very first bit in your website, to the very first time it bought your product to the recommendation you give to him and basically when it eventually it's not your client anymore, right? So in terms of optimization problem is very good, right? Because if you have a lot of data probably you are going to be able to fix the problem, right? So in terms of platforms and you are the typical suspects of things like different ad servers providers different social engines providers different DSP providers some of them there is integration of them right now change name and so on some DMP providers, right? So if you have a strategy of integrating all that information and connect it to a single ID basically you are able to track everything which happens outside of your website, right? Same things with your martech the tools, right? So basically you are able also then you are let's say all the interactions which happen with your consumer when you are inside your application on your website you can connect as well, all of them so you can understand, you can do analytics you can do predictive model on what happens within your app or within your website, right? And the last one what happens in your internal systems, you know that also you can connect that information with with the first what happens in your marketing technology systems and then with your advertising systems, right? So and then you start what I was saying and activating the data, right? If you think right now let's say with consumers where we have this setup basically we are getting I don't know gigabytes or terabytes of data, you know because for example I mean for us we are very experts in the Google analytics in the Adobe ecosystems, right? So we are in terms of the at-tech and martech so we have a lot of clients and a lot of integration and a lot of use cases which are very specific to Adobe and to Google analytics but basically in every and all the situations we have we are getting like gigabytes, terabytes of data every day which are which are fitting the different advanced analytics models and the different predictive models, right? So what you can do with this information and basically we build a platform that does all this in fact, right? So if you think about in this slide the different phases of your go-to marketing marketing, right? So basically you have a digital marketing phase where basically you are launching campaigns and you are launching ads to people, right? Then those consumers will interact with your digital assets you know, your web app your application your web, right? Then eventually you will sell something and they will deliver something to that consumer and when you sell something you go into the loyalty phase, right? So with all these data sets that we are collecting from the ad server from the DSPs, from the DMPs from the CRMs from the marketing automation tool to all of them but you can release lots of models right? and a few of them that you can do and all these models if you activate them, as we said I mean of course you can make decisions on them but if you are able to activate them online with APIs you are going to get a lot of savings of money, right? So what you can do in digital marketing for business strategies, you know for example you can do that in the platforms basically is getting all the data about the interaction of the consumer to create automatically ads for those consumers, right? So if I know that you visit a specific web page then the ad I'm going to show you is going to have the text automatically which is going to do and if you saw different images I can create that image for you as well in real time you can do lead scoring propensity, right? You can do purchase propensity to buy a certain product or to revisit to understand if that cook is going to revisit you or is going to buy and you can do personalization you can do clustering and you can do dynamic pricing, right? So those are and the good thing is like since these platforms are a standard those models are quite standard as well because when you get the Adobe data set and when you get the Google Analytics 360 data set and when you get the double click data set and when you get the cracks data set with the API there are some things which are non-standard but most of the things are standard so the models, the ability to put in place the models very quickly is easy I would say if you go into your website, you know with all the data which is collected you can do of course pro recommender you can do MBA you can do pro scoring you can do dynamic pricing you can do category listing order the good thing is like with all the basically with the information if you use Adobe Analytics or you use Google Analytics you can do exactly to 80% of what you could get into building a good predictive model for pro recommender or for cookie scoring then if you go to sales delivery, right? so you can do demand prediction you can do stocks, logistics product enrichment you can do alerts and we have different use cases of listings and when you go to loyalty you can do also MBA you can do personalization what is the difference when you have all these platforms which are online versus what's happening in the past is that basically the data is coming continuous to you and I'm an engineering background what's happening with the data compared to the other systems is similar, it's more like an industrial process rather than a traditional IT process when you think about a chemical plant or you're using about an electric plant what happens is that the flow is real, right? and you need to be able to manage the process of different machines and the flow of materials so basically the data products are more similar to industrial than which is to a traditional IT systems which is more like even base and I think that's going to be one of the big changes which is happening right now when you are doing about activating predictive models because all these platforms are generating the data in real time in a standard way so you are able to normalize them and feed the data to the different models and activate them in real time because the nature of the platform is online, right? so you don't need to do a lot of data processing so then activation so this case for example this is journey optimization, right? so when you have all the data coming from in this case from the Google or Facebook of your analytics so what is the journey in terms of how your consumers are buying your products so CPC which will start the journey CPC is cost per click so basically they click in a Google source or they want to organic or they want to other source on TPRG so once you have built the model basically you can understand the attribution and the different models and basically the data you have it in BigQuery and you have it in another in another database and the models are feeding continuously and optimize continuously, right? we publish this in this case with Berthi Germany, right? so coming back to the beginning why is CMOs are spending money on Marthecan on data is because it's going to save them money, right? so in this case in Germany what we did is of course an insurer spends a lot of money doing marketing and remarketing so remarketing when the banners are following you right? and booking.com when the hotels keep following you so if you already bought the hotel or you don't want to go to that destination anymore it's a lot of waste if that company is showing you more so it's spending money so in this case what we do is we will by the way I said we are very expert in Adobe and in GA360 all our models go in Google Cloud Platform we build everything on TensorFlow and so on so in this case what we collect is the Google Analytics 360 source the AdService source the Google AdWords source like four or five sources, you know, coming online from different platforms the model originally was a neural network then with an XGBoost but anyhow again in marketing accuracy is not a big problem the important thing here is like the model is running in real time so every time a new visitor visits the website or the app it gets an score of probability to purchase the product and what happens is that that information goes back automatically to all the buying platforms it goes back to Google AdWords it goes back to Facebook so what happens is like automatically you stop and start campaigns and stop and start bidding based on the purchase propensity of that user and of course the data is coming the model keeps feeding and we keep retaining the model with more hits for that consumer so the results so basically we save first 50% of investment right away so they were investing 200,000 per month so the following month they were spending 100,000 and the sales were the same okay so when you think about what is the ROI of investing in marketing and sales is very important for investing 200,000 to invest 100,000 the following month to sell in the same thing of products so what they did then is since they had the budget they invested the same 100,000 in other strategies so they end up selling 20% more right so this is probably in the web in Google if you want we've done this model with more than 20 clients now and it's showing the same results so basically applying these data models to optimize in marketing is saving all the time between 30% and 50% of investment right and then another one we just published this is in Spain also with Altamira in this case it was with Facebook so it's the same process so basically what we did is in this case you need to the data processing because Facebook doesn't allow you to pass information in the passing information with an API you need to do it in session in the web or in the application in this case we use the same of model we combine here with the city of visitors but also using lookalikes using Facebook models in terms of lookalikes and in this case we reduce the cost per action of Altamira 25% right so if they were getting a visitor to houses for 100 they were basically getting the same one for 75 so as you can see I'm finishing basically now marketing and sales it's a very interesting area in terms of building models because the martech and the ATTEC revolution is happening there is a lot of data and again it's not mission critical and there is a lot of money and basically that's what we're doing and that's all thank you very much I don't know if you have any questions no questions