Do we have a new contender for the low-carb spiked seltzer? King? Stay tuned to find out. Hey there NJBoot22.com. We're back with another booze review Today it's going to be about the wild basin boozy sparkling water We'll talk about this in a second. First, we're going to make a drink Here's how we do it. I'm picking this lemon hibiscus Sorry, lemon agave hibiscus Flavor from the new wild basin that we picked up. I'm going to show you real quick how we do it. First we take some ginger root Here's what I like to use and I have a glass of ice With experience, you know, it's about six or seven or eight ice cubes in a 32 ounce ball jar Because you want to get exactly 12 ounces of booze and 12 ounces of non-alcoholic seltzenet. First thing I do is I put a capsule of ginger root in That's my Health aspect. I just like ginger. That's a lot of flavor. And second I take a little squirt of lemon I usually use fresh and today I'm using fresh squirt it into my My cup there my bowl jar whatever you want to call it And I'm gonna stick my seltzer either a spiked seltzer in As you can see it's going in nice and I didn't come prepared with my non Alcoholic seltzer, but I'm while this fizzles down. I'm gonna go get that be right back That doesn't really matter what seltzer use to mix it pick your your favorite I'm I mix it up just to keep it interesting using an Arizona that I picked up recently I think I'm doing a story about that. I'm NJ22.com As you can see, you know depending on the ice cube sometimes you're left with a little extra but the reason I'm here today is to talk about the reason why we drink seltzer real quick first of all I wish a heavy-duty wine drinker red wine and after Enough Excessive consumption call it with the wine excessive. I wasn't feeling right my body wasn't liking whatever Sulfites or whatever that work in it. So here's my by the way. Here's the drink. It's all done I'm gonna show you that the contender right now the contender for best Spike sparkling seltzer smear off. I'll show you on the main screen too This has been my go-to for two months solid Like you drink less. You don't have a hangover. There's no internal bleeding. No liver pain. I love it four and a half percent alcohol and I usually cut it down 50% so I'm getting about two and a quarter percent alcohol per Court that I drink and it helps you get a mild buzz. You fall asleep nice and and There's no bad hangover What we're reviewing today is the wild Basin Wild Basin is a new thing. We picked up less than a week ago It's hardly available in this area. I found it at At the bottle King in Hackett's town or Mansfield I think it's on the border of Mansfield and Hackett's town, New Jersey way up there on the west side of Jersey Now the reason I became interested in this wild Basin is because Number one, it's always good to have a backup Like plan B just in case something happens because I can't find these smear offs At every store and if they do they usually have the six pack which is is Economically less favorable than buying the 12 packs. Usually they charge about 10 bucks for six cans and these I can get for About an average price about 1399 for a 12 pack when I buy two And these had I tried a bunch of them truly what whatever that wild claw or whatever it's called There's a couple other brands out there Some of them have as many as five grams of carbs per can if you drink 12 let's say that's 60 grams of carbs a night Versus this is only 12 grams of carbs for the whole thing In this particular instance, I I can't drink 12 anymore. My alcohol consumption has Tolerance has gone down Significantly a as I've lost weight B as I got off the two bottle of wine a night have it So this is six grand. Let's on average. I drink about six cans a night That's the equivalent alcohol about a 13 and a half percent Bottle of wine so I'm drinking the equivalent of about maybe a bottle of wine a night It takes a long time to four four five six hours So this was my gold standard the smear note and every one of the other seltzers that we looked at were Much higher in carbs. That's not something I want to do. I mean One gram of carb is too much for me to begin with so To enjoy alcohol smear and off was the gold standard So every every package I looked at was always higher double or triple in the the number of carbs Some had actual sugar and then I found this a week ago Brand new for this area wild basin boozy sparkling water Um, and I looked at the the box and there was a couple reasons it compelled me a it was a new set of flavors Whereas uh the smear off had you know, your usual is a cranberry lime water melon lemonade berry raspberry rosé I like them. They're all good. Even the one I hated the most the cranberry lime is is tolerable for me now This one had new flavors. So this was one reason it was interesting. We had You know classic lime, which didn't excite me cucumber peach. Okay, that sounds good melon basil interesting lemon lemon agave Obiscus I'm like, okay. That's great. And what I've also got me besides the zero sugar and one gram carbs was five percent alcohol Providing so that's about a 10 percent or so increased In alcohol per can over the smear off my hmm Could be fun. Maybe I'll drink less. Maybe I'll drink more and get a bigger bus. Who know But let's get to the taste real quick I need to tell you which cans are the best and I'm I'm almost certain everyone will agree with me Before we do that, let's talk about who makes this um I never heard of oscar blues brewery before but in uh in Retrospect I have because have you heard of a beer called dale's pale ale? I drank that a long time ago in the 90s. I think that was their first Beer they had and it's a pretty good beer. It's um, I think I got gas for it But it had a nice punch from back in my beer drinking days And a decent flavor dale um oscar's blue oscar's blues oscar blues Based out of colorado. And here's the video by the way. Take a look at the video for wild basin. You might uh You might enjoy it's about a minute long stay with me Nestled in the mountains of colorado along the saint brain river lies wild basin It's clean pristine and untamed It's our playground And it's the source of water and oscar blues newest product Introducing wild basin boozy sparkling water We exist to keep you running wild and free just like our rivers To bring the natural and flavorful bounty of the wild basin to you Invigorating your adventurous spirit Using only natural ingredients wild basin is crafted in canned to deliver a drink experience that is as pure Refreshing and wild as our colorado home Wild basin keep running wild You can see here. They're marketing this uh, this this new wild basin Uh off the river water of the colorado river basin, I guess it's pure You know I could put any water through a purification process. It's pure Well, they're still gonna have to purify it anyway. So that's just their marketing stick, which I do it. They can do whatever they want um Let's talk about the players first of all the consistency. It's I I think it's pretty much You know, maybe a little more fizzy than the than the smear off Right now i'm drinking the lemon agave And I'm going to share my my opinion in a second. Let's let's start from worst to best, okay Like this is my second night drinking. He saw I I have some experience now I tried the classic line first, uh When we when we opened up the box yesterday This uh is the worst flavor. It's just really really just awful I I don't think they have some sort of fancy marketing on their website, but this If I could not drink this I I would but it when you buy a 12 pack of mixed flavors You get three of each flavor and you you're sort of forced to To drink three of these and I always like to get it over with first So I get the least part and over with uh first the next best flavor I should say is the Lemon agave hibiscus or next to last worst flavor Um this to me tastes a little bit like uh like lemon pledge Um, I I didn't even have a connection with it, but it wasn't as bad as the classic line And if you mix it with enough ginger and fresh lemon And a really stronger uh seltzer you're going to be okay. It's not so bad Now the next flavor is actually somewhat enjoyable.   That's what this cucumber peach tastes like Um, but it's a tick better than the lemon agave hibiscus because it doesn't taste like cleaning And the best flavor in the bunch and I hope they sell this by by the 12 pack one of these days is the melon basil This has I guess I don't even know what real melon it has because it doesn't list the website says all natural flavors It doesn't list any melon flavor any actual melon on on the ingredients But this had the best flavor It didn't taste like a salad It just had this is actually really really good and I will if they ever sell in a 12 pack this will be on the list so that being said Last night I had six cans and I got It's a feeling that I'd never have gotten with six cans with this with the smear north and that was a little bit of a drunky buzzy feeling Wow, I mean it takes probably nine or ten cans of the smear north because I drink really slow Um to get that woozy feeling and I'm not looking to get the woozy feeling I don't need to escape the world But six cans of this wild basin I guess that little uptick in alcohol Uh makes a difference. I I don't know how or why and and also I don't know how they get the sugar out here they say by the carton here that uh The alcohol is from cane sugar. Okay So it's all weird. It's very sugary, but it's has no sugar No added sugar and only one gram of carbs. So they extract the sugar from cane sugar. They don't really explain On the smear north. Maybe they have On their website, but this may have just the alcohol source may come from somewhere else on here But the buzz is completely different On the boozy sparkling water from wild basin and oscar blues uh brewery um I have to say it's it's probably I'm gonna add one quick thing here The other seltzers I drank In the beginning uh the truly and other other brands Um, they made me feel I I used the word soulless or soul sucking something happened. It didn't feel right um, these two Don't get that weird feeling The smear north is more of a gentleman's buzz truly gentlemen's buzz the wild basin Oh, yeah. Yeah, it's uh, definitely a happier buzz Um, probably a more irresponsible buzz Uh, it's more of a buzz and Again, I can pick this up for 27 98 case of 24 um at the job right liquors in clinton And this I can pick I picked up at the bottle king for 29 98 a case with our discount Um, and I don't know if I can find this somewhere else cheaper, but this is worth picking up if Again, this is almost a deal breaker this this classic line flavor I it's it's really bad. I mean I I can band aid it with Extra lemon and and a more powerful or non alcohol accent seltzer to water it down, but What do you think of this is it worth by a few I I think it's a contender It'll be in our rotation for the time being because of its low carb rating and zero sugar Um added so that's our initial review for wild basin If something changes if they expand their their flavors Or allow us to buy the melon basil in a 12 pack that that's about it But for now we give it a two thumbs up overall because of the New flavor and the fact that it's only one gram of carbs per king. That's it Enjoy the rest of your week


Hello everybody. My name is Jose Andres and I'm so humble and excited to be able to speak to so many of you foot fighters of the world. We all know that we produce foot out of the goodness of the earth enough to be feeding absolutely everybody. The Wall Central Kitchen, the NGO we founded right after the earthquake in Port-au-Prince over 10 years ago. We knew one thing that cooks like me, we feed the few, but we could be part of feeding the many. We buy from local farmers by doing that and not bringing non-perishable foods from other parts of the country or of the world. We are already without wasting time empowering the local economies, the local farmers, the rural areas, hiring local and having as much as we can even we as Wall Central Kitchen come with a team from the outside and power the locals to feed the locals.


Number one adventurer, K-7, form United States secret agent who operated in 22 countries on land, on sea, and in the air, brings you a story of today. We take you to secret agent K-7's headquarters. This is K-7 speaking, send in Special Agent B-9 for assignment. Special Agent B-9 reporting for duty. Agent B-9, I am assigning you to Colonel Cranock at the fortress here. Somehow, military information of the greatest importance is being stolen at this point. We are sure of this fact. Last week, a spy was killed attempting to leave the country. Complete reports of tests conducted here less than 24 hours before his death were found on his body. Here is a complete record of the case. Report to the colonel at once. Keep me informed. The hours later, Agent B-9 and his assistant Rita Drake go to the fortress. They arrive just after lunch and found the colonel resting on the porch of his home in office's row. I hope we haven't arrived at an inopportune time, Colonel. Not at all, not at all, Beach. I am very glad to see both you and me strike. Sit down, please. Thank you. Colonel, this is as good a place to talk as any. Have you any theories as to how the defense plans were stolen? No, B-9. I have no idea at all. I am completely bewildered. They've spent hours, many hours trying to reach a solution. I am certain my officers are trustworthy and yet... Suppose you tell me all about the field tests where they were conducted and under what conditions? Well, our testing fields are about 10 miles to the south. Now, I am absolutely certain that tests could not have been observed. Absolutely, sir. Go on. None of the men taking part could possibly know the details. Of course, each would know what he himself was doing. But to fit the hold together, no. No, it is impossible. No one but myself and my officers could possibly do that. The final plan was drawn on the field? No. No. After the tests were completed, my staff gathered in my office. We all had our notes. And the final defense plan was drawn there. We worked them out there together. Plotted the plan in detail. But a little after six in the evening, we placed everything in my safe. Your officers under guard? Of course. There is essentially undue the night and day. Hey, C-agent B-9, it's bewildering. It's in fact almost impossible. Within just a few hours after the plans were put in the safe, a spy was carrying a copy out of the country. And yet, as far as I can see, the papers in the safe show no sign of being touched. Sounds baffling. Must be some explanation. Where is your office, Colonel Cranack? About a hundred yards from the new administration building. The new administration building? Is that the building now under construction that we noticed as we came in? Yes, that is it. It will be completed in another 60 days. I am presently working in a temporary shelter. A typical army field office set up for me where the old administration building burned down last year. I see. That's interesting. You say it's a typical office of the type you would use in the field? Yes. Was it built by your men here at the fortress? Yes, yes, of course. Then I want to see that office, Colonel. Let's go there at once before words spread around, but I'm here. As Agent B9 and Rita and the Colonel walk to the temporary office quarters, B9 asks permission for himself and Rita to examine the office thoroughly before the Colonel entered. You want me to wait outside the door, but why B9? I have my reasons, Colonel.  You will grant me permission to go in with Miss Drake alone. Yes, of course. Thank you. Rita, I don't want you to speak a word about the whisper when we get inside. I understand, B9. Well, go in. Stand right where you are from it. B9, what are you looking for? I'm not sure, Rita. I look around the safe first. Everything's all right here. Now the window. You're not looking for a bomb? Well, but something equally dangerous. Wait, I'm going to move the desk. I don't want to make any noise right now, but everything seems in order. Wait. All right. Oh, well, I'm still at the desk. B9, what is it? Don't talk, Rita. Now, open the door and call the Colonel. Is it all right to talk? Yes, I'll explain to the Colonel's here. Colonel, will you come in, please? I certainly will. Are you both satisfied that you've been moving the furniture? Yes, Colonel, and I've found this. The round silver disk. It's a new type of dictophone button, Colonel. Here's the answer of how the defense plans were stored. Someone listen to you. Every word in this office is taken down and copied. It's pie, but you can hear us now. He'd get away. No, I've disconnected the wires. In just a minute, I'm going to attach them again. Well, you're going to do what? Colonel, listen to my plan. In just a minute, I'm going to reconnect these wires. Then I want you to greet me as if I were just arriving.  Yes. Yes, I think I do. As soon as the dictophone is connected, I'll greet you and ask you to have your officers assemble here to talk over the change in the defense plans. You'll call your officers, and while you're talking, I'll trace these wires and find out who is listening. Within 10 minutes, the Colonel's staff was assembled in his office. As they talked, B-9 traced the dictophone wires. They led him to the radio room of the fortress. A few minutes later, he rejoined Rita outside the Colonel's office. I discovered the spy here within the fortress, Rita. It's the radio man. I saw him listening while the staff talked. Have you placed him under arrest? No. The Colonel is changing the defense plans. The spy is taking everything down. It's a perfect plan, Rita. The radio man worked with the electricians. He probably put the dictophone in when he was helping where the temporary office or when the telephone was installed. He listens whenever he wants to. No one thinks it's clear to see the radio operator wearing earphones. It's perfect. When are you going to arrest him? Tonight, Colonel is outlining a new defense plan now. Of course, it's all forced, but the spy doesn't know it. Tonight, he'll probably try to deliver the plans to the man who employs him. We'll follow and arrest him both. B-9 was right. That night, the wireless operator left the fortress and went into the city. On his way, he stopped and purchased a newspaper which he folded and put under his arm. When he reached the city, he went directly to a great cathedral. Agent B-9 and Rita followed him into the church. I see him, B-9. He's really in the pure head. Yes. I don't understand his coming here. Wait. B-9, he's not really praying. He didn't have time. Look, he's leaving already. Wait, Rita. Don't follow him. We're going to stay here. But he'll get away. We know where to find him. To see what he's done, he's left his newspaper and the pule. Watch what happens. Oh, watch out, B-9. There's another man coming. I hear you. This man also has a newspaper under his arm. Rita, he's taking the same pule. And always put his newspaper down. Watch. He won't pray either. After a second, he'll get up and take the newspaper. The radio man left. The information is folded in the paper. I wish I could see his face. He's getting up, B-9. Rita, that man is greatly bell-stalked. Desperate, international spy. Keep your head down as he passes us. I'm going to arrest him as soon as he's outside. He's in his, B-9. There he goes. After him. B-9, he's at the bottom of the steps. He's running. He's crossing the road. Look, the car. Today, many spies are men and women without a country and without a God. They work against world peace and against humanity. Listen for my next story. This is K-7, speaking.


My name is Keith and this is Tanya. We'd like to talk to you about a journey we've been on over the last year. Building a card generator. We wanted to focus on anybody who's learning Ellyxiaire. Hopefully we wanted to pull out some of the interesting things that we found as we were building this project that might be useful for you if you're building your project. Before we start going into building a car generator let's warm up a little bit. To get an idea what it is we are building, here is a cart with the question. Please shout out the answer if you know what it is. Anyone? Thank you sometime. You think that this the easiest cart I've picked up. This is going to return you? Next one? Anyone? Nothing. It's very interesting if you read it. Drop everyone. So it's dropping everything it has. Okay, empty list. Next one. Is it going to be true or false? True. Next one. Or a string. A couple more. Out of bounds error. This is something you just have to know. It's no way you could guess. Any idea what this might do? True or false? False. Okay, so this is the idea. This is what we wanted to build. Those are the actual physical cards. You could see them here. But we needed a way to produce them in a way that we could have a nice printed version very easily. Okay, so any journey starts with the first step. And ours started a long time ago. So this is Tanya back in 2015, our second meet-up. We started our own Elixir meet-up in Southampton in the UK. And as you can see, she wrote lots of little post-it notes. So as she was learning Elixir, reading the books, she was just writing these little post-it notes down and then collecting them together. And on one side would be the question. And on the other side was the answer. And I didn't have time for that. But then she'd test me. She'd show me these little questions like this. And then I started to realise that, oh, actually, those are pretty good. Those are really quite helpful. Cos I have a terrible memory. I don't know if anyone else has a terrible memory. But if you do, then these things actually really help. There is a little problem with those post-it notes, my handwriting. Whenever I show it to someone, they spend ages reading the card, and usually the answer comes faster than actually parsing whatever this is. So then Keith suggested that instead of writing all of this, it would be good to have a printed card, a printed version which is very easy to read. Okay, this is good. And this was the first point when we had to make a choice. And every journey, like a developer journey, and we see this as a journey from idea to a project, it starts somewhere like if you think if we are walking somewhere from the right to the left to like this house, you could see that to get from one point to another you could take any path to get to that point. And by the way, this is the map of St Augustine. So this is quite a useful slide for us if you want to go somewhere later to discover new things. Okay. Okay, so the first steps towards actually making this, taking it from a load of post-it notes to actual printed cards, Tanya didn't know anything about printing the print process or whatever, but she was very determined. So her first attempt at this was to produce using a package called Inkscape, which is a vector drawing application to literally create 18 cards on an A3 piece of paper and make each card manually. And I tried many times to convince her that this might not be the most efficient way to do it, but she was very determined. Yeah, until the point when I create this layout and I give it to printers and they're like, okay, this is looking fine, but instead of 5 millimeters gap, it should be 2 millimeters. Okay, fine, so I have to go back and change all of this and sooner it become a very, very painful process. So eventually I managed to convince her to stop crying and let's automate all the things. And really that's where the first idea of actually having a card generator was born. So our first steps towards doing that, we had Inkscape, it had the cards. So with a bit of Googling, I kind of thought, well, there must be some kind of mail merge thing that we could do. So Googling around, the first thing I found was, of course, there's a gem for that. It was pretty horrific though because you had to put some percent marks in your Inkscape file and then the Ruby gem, I wrote a bash script which would use the Ruby gem to then drive Inkscape. So it worked, but it was very slow and very painful. So I ended up deciding to rewrite it in Python. I just happened to be learning Python at the time. So rewrote it in Python and we realised that rather than generating a PDF, we could generate just pure HTML and then eventually we could, when we sent it to the printer, we could convert it to PDF from HTML. And that worked. That sped the whole process up. And from that process, we ended up deciding that if we put the CSV file that we had, we'd put it onto Google spreadsheets and then we could update that. We could end up with multiple packs of cards. So we needed to download the spreadsheet. We then needed to convert that to HTML and we could then send that off to the printers. So we kind of developed our process.  So the next stage was improving it and removing some of the technologies, taking the CSV, using Python and creating HTML. But you may have noticed that this is an Elixir conference and here we are. Here we are trying to learn Elixir and using everything but Elixir to build this silly thing. But what we did find, this process helped us to identify what our application might need to achieve. So we worked out that generating the CSV, that was useful, that was working. And putting it into Google spreadsheets meant that we didn't need to worry about building some UI for editing the cards and stuff. So that helped. Generating the HTML was working because generating PDFs is actually quite slow. So we could generate HTML once we were happy with everything, we could then convert it to a PDF before we sent it off to the printers. And then obviously, as I've mentioned, using everything but Elixir wasn't quite what we wanted to do. So we set about building it in Elixir. And it was important to have a way to test the code snippets. There is a potential that when you type code, like we keep it in the Google spreadsheet at the time, that you made a mistake and then you send it to printers and then you find out that whatever you code is going to say is going to return. It's not actually returning that. So we needed a way to test this. So things we wanted to have and we wanted to make sure that Elixir is going to help us with is we wanted to test cards, we wanted to be fast, we wanted to be stable, reliable and we wanted to be scalable. So Elixir, this is the beginning of my favorite chapter. With Elixir we get a test with a little bit of metaprogramming, a dynamically generated test. It's fast, we use concurrency, it's reliable if we use supervision and it's scalable. We don't do anything with writing a scalable application just yet, but we want it for the future. So it's good to have it there. Okay, let's get started. So knowing that those are the steps, we need to download. At the moment all of the data lives in the Google spreadsheet. Okay, so the first step is to download it. Other one is to test and another one is convert or compile. You see that it's in pencil because we keep changing the name. We still don't know what is the best name for it. So we call it compile or convert. Okay, so let's take a look at the downloader module. So really all we needed to do was download a file from a URL from Google spreadsheet and then save that to a location on the file system. So what could go wrong with this? Well, it doesn't seem that complicated, does it? So what we're doing, we're using HTT Potion to get the URL and then we're going to get the body out of that. But if we're given an invalid URL, then that get, that map.get is just going to return nil and we're going to end up saving nil to a file, which is no use to anyone. So what we can do, we can pattern match on the result of the get. So we'll add that to a case statement and then we'll pattern match on the response. So if we get a response, we'll then save that contents to the file. If we get an error, then we'll just pluck the error out and we'll return that to our caller. That seems to make sense. So okay, we'll look at the save. So if we're going to save a file, we're going to be given some content. We're going to open the file path. We'll open a file handler. We'll write the contents of the, the contents that we're given. We'll write that to the file and then we'll close the file handler. Seems pretty simple. So what could go wrong here? Okay, well if we look in IEX at file.open, we can see that the file could not be opened. So then in that instance, we'll get a tuple back with error and a reason. So okay, here you'll see when we open the file, we're not, we're not going to, we're not pattern matching for that case. So we're actually going to end up crashing our caller because we're, we're the match error. So we'll get this nice match error, which you know, we want to try and avoid that. The Erlang philosophy of let it crash doesn't mean just don't handle errors. So it would be nice if we didn't crash on there. So if we handle that, so now we're going to, in our save file, we're going to open it and we'll check and we'll pattern match on the result. If we get a file, then we're going to go ahead and write to, write the contents of the file and then close it. If we get an error, then we'll pattern match the error and then we'll respond with that. What about the, oops sorry, what about that being right? So is that going to error? Are we going to get a problem there? Well, if we have a look in IEX this time, it doesn't actually tell us what the response is. So if anyone's looking for contributions to IEX here, that might be a good spot. If you look at the source code for bin right though, we'll see that, if we look at the spec here, I'm sorry if you can't see that in the back, it will return okay or an error and a term. So we know that it's possible it could error. So let's pattern match on that as well. Okay, so now we're opening the file, if we're okay, we're then pattern matching on whether we can write to the file. If that's okay, then we close the file. Otherwise, we return the error. That's great, but there's a problem here. Can anyone spot it? So in our error case here, we're not actually closing the file. So let's fix that. So now if we've now got file closed on both sides. So that's great. So oops sorry, we'll just check. So what about this file closed? Do we think that might cause an error as well? Surely not, but we'll have a look. If you look in IEX, it mostly returns okay except for some severe errors, such as out of memory. Okay, we'll check the spec for that as well. Okay, so yes, it definitely could return with an error. To be honest, if we get this kind of error, we've probably got bigger problems to deal with. So today, right now, we're going to stop there.   They'll be fidgeting in their seats looking at this code, feeling quite uncomfortable. But before we dive in and refactor it though, let's consider what the spec of this function might look like. Let's understand what the return types might be. So if we look here, we're returning from the file closed, we're returning an okay or a tuple error. If we look here, just below the reason, we're only returning the result of the reason. We're not returning a tuple. And then at the bottom there, again, we're plucking out the reason. So if we look here, our spec right now is going to look like okay or term. It's more idiomatic for Elixir to return either okay or an error, a tuple with the error atom in there so that you can pattern match. So if we update our function to respond in that way, then here we're now matching the whole error and just returning that in both cases. And then from our callers perspective, they can now pattern match on the error tuple and if they want to do something with it. But maybe we could even take this principle and pass our error even further back up the chain. So then our download now looks like this, where we're basically returning the result of the save, which could be an error tuple or the error from the HTTP potion. Okay, so we'll go back to our save function. I haven't forgotten that we've got that little mess there. So the issue with this is where is the happy case? So if you look here, we're opening the file successfully. Here we're successfully writing to the file and then finally we're closing the file. So this code doesn't make me happy. It's very hard to discern from all of the noise the complexity of handling errors is difficult to discern the intent of the code. So perhaps there's a better way. Use the force Luke. So the kernel.with special form is designed for this kind of situation. So we can rewrite our code using the with. So if we rewrite it using with, we'll start our function with with okay and we're back to having the explicit calls that we started with. File.open, file. bin.io.binwrite and file.close. If each one of those returns successfully, we'll then, we'll drop into the do and that's where our happy case will return. If for any reason one of those calls responds with an error, then the error will pop out the bottom. So it's now quite clear when you look at that function what the intent of the code is. Now the thing with this is there's more than one way to skin a cat. So for completeness, I'd like to demonstrate some of the other ways that you could achieve this. So the first way is using within your file open, you could use the try after statements. So around the bin right, we put the try after block. So the result of the try will be, or the result of the bin right will be what is returned after we'll always be run. So we know that we'll always close our file. Now you could use the file open, Arity 3 function, which takes a function. So the only issue with this approach is that when you call your bin right and then do file close, the only thing that's returned is the result of the file close, not the result of the bin right. If, for any reason, our attempt to write the file fails, we don't get the result. We don't get that back to our caller. So we can of course add a try after block to that so that we ensure that we're actually returning the result of the success of the right back to the caller. So any of you that maybe have some knowledge of Haskell or other strongly typed languages might be sitting there saying, use a monad. Of course, very possible. So if we create ourselves a macro here, this is the equivalent of the bind operator in Haskell, which will allow us to combine operations together. So if you look inside the unquote here, we're going to pattern match on the result of left function and if that returns us with an okay and a value, we'll then pass the value, the X through to the function as the first argument to the function of the right. If for any reason that call fails, it will then drop into the error case and just pass back the expression. So now our save function using that macro would look like this. We open a file, we write a file, we close a file. So the thing here that we need to remember is that we need to lift these functions into an either touch so that they do respond with a tuple for okay and a value or an error and and a value. So for example, the open file we need to, the open file, we know file.open returns with an okay and a file, so that one's good but the right file we need to take the first argument which is file and then return with okay and file so that the following statements can work and then close file or do the same thing there. So they all need to adhere to responding with either okay and term or error and term. So for completeness, this is the function that you might want to add to your module and there are libraries that can help you with this. Libraries that are attempting to address this kind of scenario so a good one is written by a guy called crowdhaler which is called okay, another one by Rob Brown, Monad X and there are many more. If you're interested in this kind of approach of dealing with errors I can recommend watching Scott's railway oriented programming, in fact any of the talks by Scott are really good he makes very entertaining talks. Anything by Brian Lonstof I can highly recommend he definitely knows what he's talking about and generally learning about Monad's funct as applicatives is actually quite interesting and fun and dealing with handling errors in this way. Listening to Lambda Cast and Magic Read Along and Functional Geekery will help you to start understanding these things and of course listen to Elixir Fountain but I assume you already are. So now with all that in place we should just be able to run from mix we should be able to run download pack one and we should be able to get our pack one downloaded. Okay, so in order to run this function you have to launch the IAX and then you need to run your downloaded or download and when you quit the IAX and then you launch it again then you wouldn't have your history saved and this could be a little bit annoying to retype it so this is the way you could remember the history and this is just a side tape. Okay, so running it from IAX is good but it would be nicer to just run it from the command line and mix task is what doing that so here we are going to create a simple mix task which is going to help us with this. How many of you have written mix task? Okay. Okay, so once people who haven't written once you see how easy it is I think you write mix task all the time because this is what I get to do. Okay, so first you need to think how you want to run your mix task so this is going to download card so I want to run it as mix cards download and then I want to pass parameters which is going to be a language and the pack I want to download. Okay, great. Let's create this. What we need to do is to use mix task. If you go to documentation it's have a good walkthrough how to do this. It's just a few lines so basically this is all we need. This is the module which is using mix task and it needs to have only one function run and in example you could see that it's going to take any parameters which is good for a CACHO case or whoever is passing wrong parameters or no parameters or whatever it's good to have a helpful message to tell them what they need to be doing. Okay, so this is good and then you want to try to run your task once you compile it and if you run it you're going to have your helpful message saying how you should be running this task. Okay, this is good. You want to see your task which you created in a list of tasks. You do mix dash H and your task is not there. You're like, why is that? Why is it not there? Okay, it's not difficult to fix so all we need to do is to add a short doc with a nice message saying what the mix task is going to do and then you have to recompile it again and if you do mix dash H again you're going to see your task in a list of tasks. I'm not really good with following methods, if you see all of the other mix tasks they are starting with the uppercase and they don't have a dot at the end but after I've added this right there was two way to change it so okay this is a unique task here in the list of the tasks. Okay, so that is good but actually we want our mix task doing something useful so let's our task call our downloaded or downloaded our function. All it needs to do is just to say okay as I'm going to accept multiple arguments I need to have it in a list and then I'm going to call my function with those arguments. Okay this is all good but could you see that there is a potential problem here? What happens if whoever is running the task is going to pass some gibberish and then we are just going to call our downloaded or downloaded the arguments which are going to possibly cause some problems inside the downloader. So here is our responsibility to make sure that we are not allowing that case and that's very easy to do with the guard closes so here we are saying that okay if we are having a combination of this language in the pack then okay we are going to call the function and you see there is allowed and packed combination so it's not just separate arguments they are in a combination. Okay so this is good so if we are going to if we are going to run this task with the correct arguments we are going to call our function otherwise we are just going to straight into a catch all case and we are not breaking anything. And as the result we are going to find out that the actual card is downloaded and it says where you could find it. Okay this is good. The next big subject is okay how do we test the card? So I had this functionality of ability to test the cards for a long time and it has happened that on the hard day we had James there in the corner soldier in the way LED's and we asked him if he could help me to write this and he kindly agreed to do that. So here I'm going to show you what we did and what I carry on doing. So let's walk through the tester. What we have is the CSV file which looks like that it has a question and an answer and there are different types of questions and an answers. You may have a snippet which you could run and evaluate and test and there are like theory questions which you can't run so you need to somehow filter that. Okay let's think about how you may want to call this tester. So this is the way I thought it would be nice is that you say okay so if I provide this one glitch in the pack then I want to have all of the tests running. Great. I'm going to try to create this so this is just the beginning of this. We are going to just fetch a file knowing the language in the pack. Okay great and here we also could use our guard close for full control to make sure that we only accept arguments which are out. Okay the next thing is to filter out of all of the questions and answers. Only questions which we could create tests out of cold questions. So we are going to do that here if we look a little bit closer. So we are going to take all of the questions which are cold questions and all of the answers and we are going to have them in one chunk. Okay how do we do that? Let's have a get cold cards function which is going to do all this for us. Okay so we have a file. We stream it and then we read from that file there is a nice library Nimble.csv If you are doing anything with CSVs this is a good one to use. Okay and then we parse that stream and the next thing this may look a bit like strange why we do that. So if you think about it we have a file which contains 54 questions and answers and each role is basically our card number. So we have like a file which contains 54 cards and each card is going to have like number like ID, like 1, 2 or whatever and it will be useful if when we have the test failing not go through the whole file try to find if we do with index what we're going to have as the result we're going to have a tuple for each one which is going to contain a list with the question and answer and a line which is useful for us when we generate tests. Okay and out of this stream we need to get this question and an answer. Okay so let's do that. This is just an internal implementation detail because I know that answer starts with a hash rocket. I could use a power of pattern matching in a function head to get those answers and otherwise I'm just going to return an empty list. So here as the result I'm going to have questions and answers which are cold questions which I could run. Okay and this is just a function which is going to use a power of regex to take this content of those question and answers. Okay so this is our cold card so we filtered them. The next thing is once we filtered those cold cards we need to somehow create or dynamically generate a module which is going to contain all of the tests. Let's have a closer look at this. So here we have a question and an answer which are strings in this case and we need to take them out of this where it is the filtered block. We need to take a question and we need to somehow turn it into a code. We need to take an answer and also from a string turn it into a code and here we could use our line number as we have it as a table so we know which card is going to fail when we do have that. Okay so let's do that. How do we do that? First define a test module. Okay if you look at how you create a module you need to pass a module which is an atom then you need to pass a body which is whatever goes inside the module an environment. So you may see here so we have a module and we have a content where is body okay let's create a body if you think of how when you write in tests and you open a file and you define the module and then at the top you write in use xunit case and then you write in your tests so this is what we are doing here we are saying okay so we use xunit case and here we need to start writing our tests but we need the way to generate those tests. We are now writing it manually okay so we need to generate those cases. We have a content which is each element of this content is a tuple which is containing a line question and an answer and as I mentioned we need it to be a code and we have strings so turn strings to a code there is a method for that okay brilliant so we have a question and an answer which are quoted great so they are quoted then we need to have a test also in how the quote here when I think about quoting and unquoting it's a little bit like string interpolation where quote is like your string and whatever you need to you need to get the value out of variable you put it in this string interpolation syntax so here is a little bit similar you have quote and then you have unquote so you need to take value out of whatever is in your variable you can't just call it so here you need to unquote line unquote question and unquote answer and run the assertion okay so those are generated cases good we define the module dynamically this is great the next thing is to run tests okay so we have a function run I'm not really good with creating names for modules so I just call test it and this is quite simple we just call tests run and as the result I'll show you here so if we call this function test the test passing the language and the part if the test is failing we are going to have a card which is failing so if I then go to my data with csv I need to go and look at the row 6 I don't need to then try to find which one is failing which is quite nice the actual failure and the happy case when everything is good looks like this great okay if you managed to make it through that well done so we have now successfully downloaded the data for the cards we've tested the cards to make sure that the content is valid and that we're comfortable that the cards that we're about to create are correct so now we just need to take the contents that are in the csv and convert that to html so that we can then render a pdf ready to send to the printer so we started with this process thinking I can't be that hard we'll just use some redgex so we started writing regular expressions trying to do some pattern matching capturing and then replacing p tags and code tags and so on but it got very quickly got very difficult and it was very difficult to test especially once you start getting into recursive regular expressions I don't recommend that so we ended up changing it took a bit of pain before we realised that we were going in the wrong direction with this and we broke it apart into three pieces which is a tried and tested method breaking it into a tokeniser, a parser and a compiler and the advantage of doing that was that we broke this problem into small chunks so we could then test and I can't recommend that in whatever language you're ever using just write small things, it works so the tokeniser is basically going to take a string and chop that into a list of tokens the parser is going to convert that list of tokens into a tree and then the compiler is going to take that tree and turn it into html we could have different compilers for different output formats but at the end here is just the template that we're going to use so here we're taking in a string the tokeniser is going to take a string and then just return us a list of tuples the parser will take a list of tuples and turn that into an AST and it's a very simple AST we deliberately chose it as simple as possible and we can increase this complexity from there but we were able to test it in isolation which made it very easy to write and then very easy to test and then finally the compiler would take that tree and spit out some html and then of course Tanya loves mixed tasks I'm not going to explain you how to write second mixed tasks I'll just say that this is great to create mixed tasks for everything so we've now kind of recreated what we had in Python and then previously in Ruby they're just the pieces and what we actually did was do them as individual applications so they could then be they could have their own little test suite they could be run individually they could be if we chose they could be replaced if we chose to do it differently and the first one we decided well this is Alexia so we should be able to use concurrency to improve the performance so so how difficult it is so we used before we go and do something with concurrency we thought we want to see how fast we are going to do concurrently so we used this benchmark benchmark library and the setup is quite easy we have not concurrent and concurrent downloader and those functions are pretty much simple and quite similar to each other one so they both grabbing packs from 1 to 20 and downloading not concurrent do it sequentially and concurrent the only difference is that it's spawning this is the simplest way to do concurrency just spawn a process and call this function within the process and then we run this and we get the result we're like wow look at this faster we should do everything concurrently forever and then we thought okay let's see how it looks on the graph so if you see on the left is this concurrent you can't even see it and there is a sequence so we thought wow this is really good okay and with this we've done our three pieces we have something working we still have a lot to go and we have a lot of plans and ideas and we want to of course do everything concurrently from now on it will be good to have like at the moment we have like separate pieces like downloader test and we could run them with mixed tasks but it will be good to have some kind of pipeline when you go from one end to another it will also be good to have some kind of like state machine some process which is going to keep a state of of each park and it will be good to have some UI to manage things and keeping data in spreadsheet doesn't feel quite right and we want them to have to move it into a database and at the moment I mean we kind of made the decision that using the spreadsheet was working for us and it was good enough for us to grow but obviously what we would like to do is have our own UI by choosing to use Google spreadsheets meant we didn't have to go ahead and build some UI that we didn't have time to so we could focus on the important parts of actually creating a pack of cards that we could print now that we have got these packs of cards we can actually think we don't want to use Google spreadsheets anymore we want to create our own because we've built this as using OTP apps using an umbrella apps we can just add in another web app whether it's phoenix or another web layer and then again for different public UIs we're thinking we can introduce multiplayer games where people can play and that can all plug into the same system as individual little apps and that's really what the apps gives us our journey was fun Johnny caught us somewhere like in the beginning of our journey and said okay come on come and tell us so this is where we're at at the moment and to summarize what we talked about it's a lot of ways to handle errors and a lot of questions whether you should or shouldn't handle errors mixed tasks are easy and fun dynamically generating tests are interesting learning and it's very useful concurrency is when you use when you do things concurrently you gain a lot and starting small writing small functions and then keep growing and keep building up this is what worked for us and this is our journey in the picture and I don't think we have any time for questions so whoever is going to this theory you could ask all the questions there or at the lunch tomorrow today any time after now thank you


Welcome to the AI for Good Global Summit here in Geneva on day three. I'm joined now from California, which is here actually in presence. It's Anna Bethke, I hope I got that correct. You're with Intel and you're head of AI social good. You took part in a couple of panels here. What was your message? The biggest message is that anyone can use the capabilities that we already have. Whether it's technology, artificial intelligence software, in order to help leverage this to achieve their missions. So let AI be a force multiplier for their ends. And as the head of AI for social good at Intel, one of my big things is to help educate people on what AI can do and help them learn how to use these tools. So tomorrow I'll be doing hands-on workshop. And it's been lovely just hearing all the different problems that people are facing and sharing some of the ones that we've been working on ourselves. In concrete terms, what are you working on? So there's a lot of different projects. Some of them are on the AI for sort of conservation space. So we've been working with a non-profit resolve to do a AI enabled camera trap. So basically camera traps are super noisy. We have helped them embed one of our vision processing units into the camera. So every time it takes a picture it's able to see if it's just leaves that are moving or if there's a person or animal that is in the frame and then only send those relevant images to the park rangers or the conservation experts. So that's something, another project that we've been doing is with a company called Hubox. And so they've created a wheelchair robot basically. So this little piece of technology on a wheelchair that's able to use our 3D real sense camera as well as some of our other technology and do facial gesture recognition. So this enables somebody who is wheelchair bound to control their own wheelchair using whichever facial gestures are most easy for them to access. I mean, few companies know more about collection of big data than Intel. You know all the concerns that have been raised about AI and who owns that big data. Yeah, no and it's definitely a concern and one that we are very adamant about looking at. Some of the research that we've been doing is trying to look at ways to help people retain the privacy of their own data. So aspects like federated learning, homomorphic encryption. We just released an open source package for homomorphic encryption and basically the idea is that you're able to keep your data in an encrypted fashion but still do your artificial intelligence types of algorithms on top of that and get the right answers in an encrypted way and then just decrypt those results. And so this really helps the medical field in particular. Federated learning if you add that on top of it, basically what federated learning lets you do is have all your data stored in different databases. So each hospital can have their own data in-house or any type of service that you can think of. And then you have one central repository which is able to say, okay, I'm going to make an algorithm and so I'm going to just sort of touch your data but I'm not going to take it out of your own store. So that really increases the privacy. A lot of nonprofit groups over here and in the States have said they want that data lake. Everyone has their own little data lakes. They want that all to be kind of shared and open sourced. Is Intel willing to do that? Yes, we open source a lot of different data sets and we definitely think that open source is the answer. Whether it's in terms of data, software, et cetera, so that's something that we always strive for by making certain that people's privacy is retained. It's important to have both mechanisms there and the more data it's often better for these algorithms in terms of getting a more diverse pool, the algorithms that we're using often are very data hungry especially when it comes to deep learning. But yeah, it's not to be at the cost of privacy for sure. It's your first time here to this summit. Your thoughts? I love it. I've been looking forward to this for about a year in all honesty. I missed the last one by about a week. I learned about it a little bit too late and so it's lovely hearing all the different projects that people are working on, trying to help other individuals with getting access to resources, helping them learn what are the capabilities of AI and demystifying some of the fears around it as well. Well that was Anna Bethke from Intel over here for the first time, sharing her ideas on what social good is when it comes to AI. Thank you very much. Thank you as well.


Well, our hotiest thanks to each of our sponsors, ladies and gentlemen, now we will be moving on to our last panel discussion that the topic is will digital OOH, that is DOOH, drive the growth of OOH and with the new innovation and programmatic approach, advertisers are more interested in digital signage and displays. What is next in DOOH is attract maximum eyeballs.  That is the traditional media after a few years. Well, that's what the question is and I would like to now welcome our session chair, Mr. Sanket Rambia, MD and CEO, CEO Extreme Media. Please put your hands together for Mr. Sanket Rambia. Sanket Rambia, Mr. Sanket established Extreme Media Private Limited in the year 2009 with a vision of reinventing digital display market in India and Sanket is the first generation entrepreneur with deep passion for technology. He started Extreme Media with a team of two and now is leading a team of 50 young professionals. He has established Extreme Media as total solutions brand in digital display segment. Mr. Sanket envisions Extreme Media with establish India as the most cost-effective hub for software, hardware and content management in digital display technology solutions. So, ladies and gentlemen, we have Mr. Sanket here with us already on the dice and I would like to now call upon all my jury or the panelists. Well, we have Mr. Arun Gupta, CEO and founder, MO Magic Technology. Bhavna Mittal, regional head of media, digital and communications. Rickett Benkeeser, South Asia. Raghu Khanna, founder and CEO, cash your drive. Sarthak Seth, CMO, Panasonic India. Can we have a round of applause? Continue, please. Thank you. Shomitro Goswami, COO, Vioma Technologies Private Limited and Vinku Chakraborty, business head, report India. Please put your hands together louder, ladies and gentlemen, for all our panelists. And now may we request Mr. Sanket to kindly take forward the session. Thank you. Hi, friends. Are we fed now? And tummy's up full? Are we a little sleepy? We have a very interesting subject on our hands. I think we've been talking about digital in OH forums for many years. I have been personally part of few sessions in OAC and other forums. And we've been speaking about digital driving the OH in future. But the question is, have we arrived yet? What are the challenges? What are the opportunities? What innovation can do to drive to OH? We have a very interesting panel. We have panelists who represent the agency side. We have panelists who represent the brand side. We also have media owners. And we also have people like myself who are the technology providers for OOH. Small correction, we are not 150 people. We are 150 people now. So having said that, let's dive into the discussion. We have a very short time. Many questions. We have a very good panelist here. So first question, I would like to drive Vinku. What are the trends in OOH? And what is your experience in digital OOH? Hi, Sanket. Hello. Am I audible? Yes. A little louder, I think. Hello. Is it better? Yeah. Okay. A couple of trends are there. First, I would like to start with some statistics, some numbers. So IPG, Magna does some number crunching in terms of the total spends across the country. And digital as a percentage of the total out of form currently is only 3% in 2018. So digital out of form contributes to only 3% of the total out of form media mix. Though the number is less, but we have seen a very, I would say, aggressive uptake in the usage of this medium in all the plans that we roll out for different advertisers of ours. And though the, I would say the look and feel of the different medium is very different, but there has been a big uptake across advertisers. It's not only restricted to one category per se, but across we have seen this. And also, we have also seen the proliferation of digital screen across ambiances now, which has been very healthy, especially in metro cities. So I would say these are two big trends that we have seen in digital. So digital is growing at 25% CAGR. Right. But it's started with a very small base. It's still a very small portion of the entire out of home space. So does it get the attention that it deserves? No, it doesn't. From the brand side? No, it doesn't because, yeah, it doesn't actually because digital in India has to go a long way in terms of everything, in terms of where the placements are, the way it's getting packaged, the way it's getting sold, the way it's getting consumed by the brands. So I would say the entire ecosystem, every lever of the ecosystem has to work towards the growth of digital out of home. And we have a long way to go in out of home in India. That's true for sure. We have a long way to go. Auna, you represent the brand side. What's your take on digital? So I'm from an FMCG background here and considering that most of our money is going to TV and TV still becomes the most cost effective media per se, by the time you reach thinking of, yeah, sorry, is it better? Yeah. Okay. So I'm saying for an FMCG brand like ours, we start with TV, you got to get on to digital as a media. And by the time you actually come to thinking about something like OH and then digital OH, your mind space has gone, your campaign is already on air because as an advertiser, you typically see, okay, how can I reach the maximum number of people at the quickest, shortest time? And that's where the traditional media kind of come in. And also from a creative agency point of view, if you tell them that I need to launch this brand or I need to do this campaign, they would come back with a 30 second TVC, they would come back with a print ad, they would come back, but outdoor somewhere doesn't really become a part of the entire package, right? And wherever it does, it tells where you feel that you can use it more tactically or something like, if I know that I have to do something in a city like Rai Bareilly where I don't have an edition of a print edition, and I just need to do something really specific there, there I might use outdoors, even then digital is still not there. Interesting. Bhavna, so example, a lot of your competitors like yourself use already TV commercials as a primary medium or digital or print. If you want to stand out as a brand in minds of consumer, I think innovation is one thing that you can do much better in digital than any other medium. Have you explored any of, or as a brand, do you think this can be the way forward to make a unique impression in consumers' mind? So absolutely, I think where we should focus on the media is where you can do something more contextual, something more relevant, and I mean especially the medium itself leads to a lot more interactivity with the consumer, which currently we are doing only on the mobile phones in terms of our digital campaigns. So if I can do something in a transit or an outdoor environment where I can actually get the consumers to interact with my ad and maybe get a real-time feedback, that's where it would really lead you on to. It could have a lasting impression as well, if it's something unique, it's something... Absolutely, I think absolutely, that's where somewhere I think we as brands are also not focusing our minds and energies to think of what new and what extra can we do in these spaces, and there is a huge potential, but we are not... As of right now, we are not exploiting it. But again, something like how digital as a media started, I'm saying again, we typically were just putting our 30-second TVC onto a YouTube and saying, okay, we've done a digital plan, but how interactivity and all has gone up there, I think this media by itself leading to the measurement which is possible, the interactivity which is possible, the contextual targeting which is possible, is actually something which is waiting to explode. Lots of things to explore yet in India for digital out of home for sure, I think. Shwamitro, in digital out of home, I think the transit is the fastest growing medium. Can you throw some light on what's driving the growth in transit and your take on digital Overwatch? So we're a digital out of home company, Vioma, we're in railway stations and metros, and we've chosen only to be in the transit location, so we'll be in toll plazas and buses next, and the reason we like it is one is the numbers are very high, so the reach is a lot. Two is it's very measurable in terms of the number of tickets bought or the travelers on a bus or in a location, so it's helpful for the advertiser as well, and three I think we can do a lot with that idle time that people have, either waiting at a ticket counter, waiting for a bus, waiting for a train, and we can sell them something that's unique to that time and space where they are sitting. So I think digital is not getting the growth that it should get because we're using it like out of home, we aren't using it like the digital medium that it is, right, and by that I mean people have said the word contextual that makes a lot of sense, we can now do live information on our screens through APIs, we can do call back, sorry call to action using call back numbers and QR codes, we can do hyper local information and change those creatives on a daily on a regular basis, so now we couldn't do that a year ago. Now if we can do those sorts of things in this transit location, we can actually be very targeted in the way we sell ads, and I think that's what makes this location very exciting for us. So you spoke about exactly same things that the previous panel discussion was talking about, the problems of OOH about measurement, about being contextual, I think these are the two problem areas for OOH which digital is able to solve as per what you are saying. I think so and I think traditional OOH companies or I think the industry in general says take my still ad or my OOH ad and put it on a digital screen and that's not the way to make best use of the platform and I think we have to change the mindset. I'll give you one example, there's a creative agency in the UK called Grand Visual and they only do creatives for the digital out of home space, that's all they do. Now if they found a business in this one medium and nothing else that shows you sort of where the industry is going. Wingu, I'll bring you in for just what he said. So what he said that we even need to change the mindset of the agency who can drive the mindset of the brands because I think agency needs to change the first before the brand's mindset can be changed. Are we seeing the specific content being made for digital OOH and if not is this what is also missing from the wide-scale adoption of digital OOH? Sangeet you have asked too many questions in one question so I will answer each question one by one. Just to add to what Shomitro said you know how digital out of home would grow it is not only dependent upon the mindset of the agencies or the way they you know the way they sell it to the advertisers it's basically where are we in terms of digital out of home. First of all I would say the biggest barrier that today that we have not only in outer form but digital outer form is that there is no national regulation. I think it stands from there that is the bedrock of all the problems. There has to be some consistency in terms of regulation. The moment there is a national regulator for let's say digital out of home per se everything will fall into place they would be you know I would say systematic proliferation of outer form across cities across tiers and all of that. That is a bigger part of I would say out of digital out of home from a supplier perspective. Going back to agencies I would say in all agencies and the way they deal with advertisers digital is an integral part and we have seen many advertisers customizing their digital creatives for digital placements. So they have invested in you know I would say customizing the creatives as per the ambiances. In fact the advertisers are now going one step ahead wherein they take out of form very very seriously. Whether it is a pub or a bar or an airport with a beauty parlor the communication is contextualized. It's no longer those you know old days wherein the same TVC was displayed all across the screen. It's the times have changing now. Ragu you also are from the transit medium but your form factor your screens are much different. The audience size is also much different. What's your experience with this medium now. See the biggest challenge what we face is how do we price the screens because that is a question which comes in the advertiser mind on the very first go. Whether we propose it as a CPM cost per million basis or we do earn a cost per contact. So what we have tried doing it because we are into the taxi advertising space. So we have put in the screens which are like smaller screens 7 inches 11 inches screens which are more interactive. So we have gamified the concepts. So for one of the brands what we have done there was a sampling activity which needs to be conducted. So we had gamified with some questions where a TVC plays about the brand and the questions are asked depending on that TVC and if someone answers that correctly he gets a OTP on his cell phone and he's able to get a free sample along with it. So that is how we started up with the digital platform and the taxis and we have seen that growing with the OTP coming in. They're doing a fabulous campaign with star. The whole idea is we are doing a digital sampling bit in it. So we don't say that we are advertising. We are saying we are giving a digital sample. So what you are seeing in the taxi on the exterior of the car with be it a Netflix be it a Amazon Prime be it a Star TV campaign that small commercial runs and then there's a contextual connect between the passenger who's sitting inside the taxi and who sees the advertising campaign on the exterior. So it is more of a connecting thing what we are trying to sell to the advertisers at this point of time. Interesting. Arun I think technology plays a very important role when it comes to digital out of home. That's one of the differentiators between the classic traditional OH and the digital OH. So what innovation can you bring on table which can actually expand the digital OH footprint. I think from my point of view from my company point of view we are the one who are eagerly waiting for the OH to really become digital OH because we are in the space of doing the data analytics user profiling and a lot of other things. So I think from my point of view what we can bring to the table and what technology can bring to the table is doing a lot of user profiling. Now there are a lot of technologies available worldwide who do the good face recognition, map the consumer, do the face ID and by just doing the face ID they can do a lot of user profiling like let's say if you put something on a mall you can identify who are your repeat user who are your absconding users who are your regular users. A lot of these things can be done and now based on that a lot of ad can be served to the consumer. Now we can imagine in the future there is a billboard and on top of it there is a camera there and based on the person who is looking at that billboard the billboard change. I think similar things are happening on the TV based screens also on a TV there is a small camera there and the way who is looking up to that TV that change in that TV screens and I think those technologies are getting slowly more and more mature and as a technology company probably these are some of the technology where we are working on which we can bring to the table also and I feel the way the OOH will really become a digital OOH these kind of technologies will help because the OOH means it will not the same holding which will get digitized probably a lot of new places will also emerge where the OOH will happen and those will get digitized more easily. This is my take. Thank you. So can I just add to that I think what's interesting about this is if you look at all the pictures that we have done recently and with agencies as well the pictures are not about the reach anymore we have the reach we can explain that and we can quantify it it's about the demographic study and it's about the innovation on the screen so the pitch is not you know you can reach these people it's what can I do with that reach right and only things that our own is doing is only those kinds of things make it very easy for us to go to them and say I can tell you exactly the kind of person standing in front of your screen at this point in time and I can tell you the profile changes at 2 p.m. in the afternoon and so do a different ad at that time of the day right that kind of flexibility we didn't have before and so you were saying that earlier I think we're the dialogue is very different to what it was before which is very interesting for us what you're saying is you can bring context to your ads where you are what time of the day how is the weather and you can connect with the social media as well on digital interesting so you know we have seen some of these in Times Square you know Times Square is all about digital out of home Piccadilly it's all about when you see on television in Piccadilly it's Piccadilly because of digital out of home but we don't see anything remotely close to that in India so what are the challenges why the adoption rate we've been speaking about digital out of home for many years I think in OH forums you might you might be the witness of this so what are the challenges in front of digital out of home would you like to chip in well Sanket like talking about the challenges the data itself says that okay it's still three percent of the total revenues or in terms of the industry contribution itself so which speaks quite a lot as far as what is the availability or what is the total size right now but again the thing is from the infrastructure point of view also that okay what sort of infrastructure is actually available right now and again from the perspective that okay how much are the is the industry body able to push the particular format secondly from the perspective of I would say from perspective of corporations the municipal corporations how open they are to actually adapt to this media so I would say when you talk from a lot bigger formats one interesting thing I would actually bring over here on this dais across with the audience so it's not only about the creatives what we are actually talking over here it is also about the reach what what he has just spoken about but the thing is as soon as you get into digital space this also becomes one of your bigger enemies believe me because as soon as you go to an advertiser or a brand and you talk about you talk about the okay I'm actually giving you this many number of reach whether you talk from a cpm basis perspective whatsoever suddenly the brand also says that okay you have got a mobile my digital advertising is anyway serving to the same consumer also so it's it's pretty much on the pricing aspect it is pretty much on a ROI basis also so one really has to really chalk out a strategy saying that okay this is the best ROI what I can actually give it to you better things as far as this medium is concerned I would say the most important thing is you can really do geo targeting what we're actually talking in terms of can I change my creative at 2 p.m. 5 p.m. 8 p.m. depending upon profile of the consumer who is traveling or whether it is about that okay I just want to do this particular creative in mayret as compared to a daily which is going to be a different creative and you can still control it at one location so probably you yourself are doing a lot of I would say solutions business with us as well and at the back end you are able to control everything that that is where we have seen the industry is actually moving so it it's about that okay yes you can do a lot of these things in control environment when I say you'll go inside a mall today a lot of mediums are coming on the digital footprint but when you talk from a bigger perspective I really doubt you'll actually be seeing a lot of outdoors so to say if compared to the Times Square or Piccadilly Circus so so it's it's all about infrastructure which is actually there right now available the infrastructure is not happening as per you because of the ROI and the ROI for so just tell me one thing and then most of the media owners are also sitting so today I say that okay let me go out and digitize the entire six metro spaces as any of the media owners or the asset owners over here if we say that okay let's put across 25 different hoardings in these 25 in these six cities what is going to be the total investment what is actually needed is somebody actually putting that particular thing at one go and saying that okay this is how I'm going to actually provide you with the ROI from a perspective the amount of money as far as the Kpex is concerned is somebody ready to invest that much amount of money so so these are certain things which which we really also need to deliberate on so so if you see trends you know in across the world which see digital is not just hoarding big hoardings but that transit is the medium but I think digital hoardings get the maximum mind space when it comes to brands because that's that those are the most visible aspects of out-of-home so if you look at New Zealand you know it's a very small country but you in New Zealand I've been personally when I went there I saw like 70 80 percent of that out-of-home hoardings were digital so again the thing is the infrastructure over there and in terms of I would also say that okay how much the government bodies are really taking interest in terms of beautification in terms of regularizing all of these things also another perspective is that okay because see it also depends from brand to brand where exactly they want to invest so suppose if I say that okay as a strategy I really want to expand my network into tier two tier three tier four cities in India now how many digital OH are actually available over there very few or probably I can say none so to say so what is the best available option if I have to actually go to a OH it's it's the static ones what you have secondly even if I look at from a perspective that okay because in our business what matters quite a lot is how the trade partner is actually behaving in terms of what the trade partner requires so if I have to look into a two kilometer periphery what is the option available it's again a static out-of-home and then if I have to go on to a digital media I would say then it actually becomes a mobile phone so so it is again the thing that somewhere mobile phone is also like obviously you just cannot categorize it as a out-of-home but from a digital standpoint it is also delivering the same message but mobile phone also you can actually do the targeting so you can really reach out to the end consumer from there also so it is all about how we are able to define a ROI from from the perspective going to a brand and offering him or her ex ex solution saying that okay this is what we are actually there to bring on the table Vinku we spoke on phone and you know I think and also I did some research online what we see overseas is like 50 to 60 percent of out-of-home spend is on digital is this data somewhere correct yeah around two-thirds of the total is on digital so it varies from across I would say country to country but an average you can take a level of around 24 percent as a global average according to magna reports so 24 percent of global average right and somebody like UK or US would be around 50 to 60 percent they're a little higher yeah much higher and we are at 3 percent yeah so there is a huge room for improvement and no matter what I one thing I'm a strong believer in you cannot fight technology you know you can form regulations but Uber came regulators cannot do could not do anything even though they wanted to protect the fleet taxis or traditional taxes you cannot fight technology so adoption will happen today or tomorrow it's just a matter of time is this statement too strong or you think we are somewhere there I would say it's a statement in the right direction we not only have to adopt we have to embrace technology because technology is the way forward and I would like to add what to what Sarthak said digital in fact digital out of form works beautifully with social and with mobile I would just quote a smaller case study that Rappu UK did an experiment in UK wherein they deployed a media mix of mobile video ads along with digital out of form out of that test what came out was that the CTR for mobile video add you know jumps 200 percent more if it is deployed in sync with digital out of form so that's a beautiful insight that came out of over there and I would say digital mobile and digital mobile and social are good friends they have to work in sync and that's how the media mixes would be created for the future in India as well just like to add to one thing which I think we're missing out is that digital out of form will give us a measurability angle which currently a lot of us find missing in the traditional over it look about in the previous okay so that's the big thing and again considering as a large advertiser you are constantly questioned by the finance guys to tell you whereas it being monitored and all those reports in audit reports which are required suddenly you know that there is something which is actually measurable you know it's happening and hopefully we will get real-time analytics out of it as well yeah I think what I saw in some of the case studies in UK you could actually see not just how many people but male female age gender the emotions even the they could see measure or count the cars the type of cars like how many sedans how many SUVs luxury cars so if this kind of data is available to you would you think you will have better yeah then it actually tells me why I should be putting my like my creative out in the open and exactly what should I be saying to whom should I be targeting and at what time what is working so that would really give us a lot of things to think about and then you know it will give the excitement around the media as well because you would want to try out new things yes you have something to add I just want to add to what people are saying regarding the cost and things right as a we're a company with only digital assets we will actually never do OH assets traditional ones because we've already we were in a different direction and I'm not I think there's a space there's a room there's room for everything but cost of technology is coming down quite drastically and we will be very selective so we will only go into places say a tier one town or a big location or a time square like location where you can put a digital asset because you can actually monetize it better but I think traditional but I think overall the move is in that direction so to what Bhavana is saying I think you know it's more it's more measurable you can do a lot more with that data so this 50% number has to come to India from 3% right in terms of digital out of home to out of home and so I think that that transition is going to happen and most companies will start adding more digital assets as it becomes less expensive to do so maybe in select locations but they will start doing that sure even just to add to his point there's another reason why a lot of companies would really look forward because it is again I would say there's a certain degree of premiumness also when you actually go to such mediums for every any brand who so ever wants to really advertise so even from the media selection standpoint if a brand is actually seeing a premium why not the only is to what degree so that's that's the only thing so definitely I agree that the cost of technology over a period of time which is going to come down it's only about that okay whether it is going to happen in next six months or whether it's going to happen in next three years so I think I want to add one thing because the moment the technology comes the most important point which probably Vinku has raised in the beginning to solve is we have to have a national policy to handle OH because the moment we bring technology in you can't do corporation to corporation change it has to be at national level otherwise it won't work it's a national policy for digital out of home is or out of home in general I feel that's too fragmented every municipality have their own regulations and they keep changing all the time and that's one of the I think major problem areas for out of home in general let's talk about innovation and any you know how innovation has driven digital in India or outside so Shomitra if you would you would like to throw some light on what your company has done in innovation space in technology space to to stand out from traditional OH I can give I can give two quick examples Google did a campaign with us and somebody mentioned Google in an earlier panel as you know they have rail wire they have Google access internet access in the railway stations now and they want people to get online so on our screens the first month they did a normal campaign where they branded branding and on the second month they had live information streaming to an API so right now this song is trending on YouTube right they give that information and they want people to actually log into the into the Wi-Fi and then go watch that song or download that song so that's a company using the innovation very effectively TVS did a campaign with us where they gave away five TVS Victor bikes and then so you call back a number on the screen because that's more effective today in India than say our QR code you call back a number you get a link an SMS you click on that link and then you enter the lucky draw right so not only did they get give away the five bikes and build credibility and all of that but they also got now we have data on these thousands of people who've actually responded and we know what their search histories are like you know what kind of information they are looking at on their phone what kind of phones they have what kind of products they use and that's a very useful thing not only for TVS but for any other client that we'll have and we'll go back to them and say we know the demographic of the person in this location who's actually logged into this to this campaign right so that's actually a very nice way to bridge this data gap and the technology gap very nice um Meghna you have shared one interesting case study which you Abhavna sorry Abhavna you shared a very interesting case study with me earlier about innovation which that happened internationally yes so Sankit this was and today being international women's day I think one case study which I saw somewhere on the net somebody shared it on Facebook was on domestic violence and this was again UK we seem to be taking UK's name a lot so there was this huge large hoarding which had a woman with a lot of bruises on her face and the moment somebody saw it the bruises started diminishing and if like and as Arun was mentioning earlier there was a camera on top of the hoarding so if you were seeing the hoarding you could actually see your face in a scroll below and as more and more people started looking at it the bruises started going down and it came back to a normal face and the message was that you know you need to talk about it you the more people talk about it and stop hiding it the better it will be for people to actually understand that this is happening and what they also did was a bit of a polygon targeting around that that the person who was watching it would get an sms or a code in their in their mobiles at around the same time which actually asked them to make a donation towards women aid and I thought it was a brilliant example of how something so so prevalent and something which is completely not talked about could be brought out in the open and made such an important and effective message and it did the job and it had a lasting impression which absolutely you could not have got using other mediums maybe absolutely because people don't talk about it I mean there are stats would say two out of three women have actually suffered something in that market but subjects were also very touchy but I think the brands can also use some innovation to have a lasting impression absolutely I think we just need to think our minds and say what different can we do and how can we use this effectively so that even one holding a one screen somewhere actually is a job well done and as a technology provider I can say that the technology that requires to do this kind of campaign exists in India very much it's very cost effective and it's not at all at an experimental stage it's just the willingness to do it is what is lacking maybe and obviously the other challenges of regulation and other you know other aspects I think I mean point well made it's just that we as advertisers or brands need to think what we want to do different and which is what we are currently a bit maybe away from we leave it to the creative agencies or we don't challenge our creative agencies enough to really think and say that what can we do more I mean sometimes we need to maybe think out of ROI for a change maybe I'm just I'm an outsider so you can pardon me any other interesting case studies anyone any of you want to share we recently did a similar activity in comb so we had a LED screen and we had a technology which had sensor coin sensors so the concept was for Mariko and the idea was there was a image which was there and slowly and steadily it was keep on changing as soon as people were putting a donation it was for a women it was for a girl studying NGO so it was Pune Ki Dupri campaign so anyone who comes out of this non-area puts in a coin and the image immediately flex out and after a complete collection of around one zero eight zero pixels the number of pixels which are there in the screen it turns out to be a girl child studying so that was the recent one which we did in the comb well received yeah well received one most somebody wants to share or because we're running out of time all right conclude anyone wants to share anything else other than what we have covered so far any anything else all right so it was a very interesting conversation thank you everyone I will quickly summarize what we discussed I think three percent market share in India for digital out of home versus 24 percent overall in the world so there is a big gap which needs to be filled technology can play its part innovation can play its part obviously there are challenges in terms of regulation market fragmentation lack of ROI data and obviously the scarcity of vibrant spaces like Piccadilly or Times OH but I think is have we arrived no I think definitely not but the journey has definitely begun I think all of you would agree on that statement with that I throw the floor open to the audience if you have any questions for our panelists questions can be taken offline if please only one question can be taken yeah we have time okay so we have gentlemen here in the middle there great I am money from armor I think last one and a half years a lot of these panel discussions are happening into transition from OH to digital OH and we are all seeing growing trends from the brands from the media owners one thing which I would like to point out is the expectation from the media fraternity from the brand owners is very high it's good media owners are also stepping up in terms of investment and in terms of taking responsibility but when the brand wants an ROI the media owner also wants an ROI is there a position where the brands can take okay from at least eight of ten eight over the ten campaigns in a year some percentage should be a lot of two ways some persons for DOH if this works it gives a lot of encouragement for the media owners to invest more what is happening is in our pyramid the pyramid is reversed the OH budgets are the lowest and then the expectation is very high I mean very realistic true situation so it's a request that the support we get we will be encouraged to do more we want to move ahead we want to progress nice UK US figures are 50 percent we are at 3 percent how do we reach that target we are ready to do it let's shake hands together yeah is there a question I know my it's a suggestion it's a suggestion thank you thanks I think thank you so much and thanks to Mr. Sanketh here for being such a great moderator and now let me call upon Manish Sethi Mr. Manish Sethi director EG communications private limited to please come forward and give away the momentous to all our esteemed panelists so please maybe have Mr. Manish Sethi here I think this was such a wonderful session and this is the end of the panel discussion ladies and gentlemen the final panel discussion we had and a lot of insights about OH and of course the DOH how it is going to impact our future strategies and of course the business so which is very very important learning and here there are so many insights and definitely we have a bright future ahead in the domain of DOH and of course at OH as well so ladies and gentlemen I would now like to request the panel