My name is Bendo Gabriel. I come from Tanzania. I have born to Kili Manjaro. I came here for treatment. I came with my niece Rita Fredricki. She is studying from two, sixty class. So when she is studying, she fall down. Then she got a problem to the head. We went to National Hospital in Biri in Tanzania. She stayed at ICU almost one month for treatment. So after that, their advice is to come in India for more treatment. So we connect her to insurance in our country. Then they help us to come in Manipal Hospital in Bangaro. We recently had this 16-year-old girl come from Tanzania. She had a history of a sudden loss of consciousness and was admitted in a hospital in Tanzania. On an evaluation they found that she had a large bleed in the brain and for which required ICU admission for almost a month and hospitalization for a prolonged duration of time. And they evaluated during that time they found that the patient had a large arterial venous malformation in the brain. So they did the initial evaluation, they did the angiogram, found this large deep-seated AVM. It was in an area called the splenium of the corpus callosum, which is in the middle of the brain. And once they stabilized her and once her consciousness level improved over a period of time they referred her to our hospital for further management. So arterial venous malformations or AVMs are extremely rare disorders which can present at any age group. When they present in children they come in with strokes and unfortunately once AVMs have ruptured there is a lifelong risk of them re- rupturing which can be fatal and can also sometimes result in significant paralysis or mental dysfunction. So once these AVMs are detected it is absolutely essential to treat them early and completely. There is no half treatment on AVMs. First day I was very afraid for surgery but when I see after surgery one day 12 hours she come after one hour she can speak everything like nothing done to the head. So this arterial venous malformation was bang in the geometric center of the brain, very deep-seated and the main problems that we have with this sort of AVMs are the deep-seated location the limited access which we have in terms of corridors to go through it and the fact that there are blood vessels which are very difficult to access during surgery. So despite all these hurdles we were able to micro surgically through a very long operation remove it and having done this procedure this patient should be cured. So here are the poster and the angiograms showing you this tangle of blood vessels before the surgery and here you see after surgery the angiogram looks absolutely normal. This young girl should go on to lead a very normal life over time. What I can tell the others patients they don't afraid to come to treatment at India. They are very, very careful. They can come to see Dr. Swati Kishita and Dr. Bopan at Manipa Hospital in Bangaro. I advise them to come to Manipa Hospital in Bangaro to get treatment. They are very good. So at Manipa Hospital we are well equipped to handle the most complex of neurovascular cases and the pediatric and the adult age group.


In this video, we are going to state improve Silov's third theorem about Silov p-subgroups. If g is a finite group and if p is a prime dividing the order of g, well by the first Silov subgroup theorem, first Silov theorem, we know that Silov p-subgroups exist. And by the second Silov subgroup theorem, we know that all Silov p-subgroups are conjugates of each other. In the third theorem, so we've proven so far as we've proven they exist, they're all conjugates of each other. And in the third theorem, we're actually going to count how many Silov p-subgroups can we have. And this is a very, very important result, especially as we start studying simple groups in the not too distant future. Well, the next lecture for this lecture series. It turns out by the third theorem here that the number of Silov p-subgroups of a group is congruent to one mod p, and it has to divide the order of g. For which let me point out to you here that in particular, if you can factor the order of g as p to the r times m, such that p doesn't divide m, meaning that p to the r is the maximum power of p that divides g right there, that's all the powers of p. In that situation, because of these conditions, the number of Silov p-subgroups is congruent to one mod p and divides g. That number divides g, so it means it has to divide this. But if that number is one mod p, that means that it's going to have to divide m right here. So using this number m, we can actually consider how many Silov p-subgroups could the group possibly have. And that consideration has some very interesting applications, which like I said, we will explore those in later videos. So as seen above, g acts on the Silov p-subgroups by conjugation. This is something that's easy to see, I suppose, but in particular by the Silov second theorem, this action is a single orbit. If we look at the action of the Silov p-subgroups, you have some p1, some p2, some p3, all the way down to pk, the number of Silov p-subgroups here. This is one orbit and g can act on this set by conjugation. Therefore, the size of this orbit is the index of the normalizer of any Silov subgroup, and this is something that we get from the fundamental counting principle. So when g acts on the Silov subgroups by conjugation, we know that k, the size of this orbit, is going to equal the index of g with respect to the normalizer of any of these ones. It doesn't matter which one you choose, they're all the same because they're all in there. In particular, indices always divide the order of the group, and so that gives us the very first one, right? The number of subgroups we have because it's a single orbit by the second theorem, that number k, is an index of a group because of the fundamental counting principle, so it divides the order of g. This is a consequence of Lagrange's theorem. So that gives us the second statement right here. So what we have to prove is that this number k is also 1 mod p. Now, to do that, we're going to fix our attention on a single Silov p subgroup, let's call it capital P, and I claim that this group p also acts on the Silov p subgroups by conjugation. Now, it takes the orbit we had before, but it's going to break it up into smaller orbits. One of them is pretty clear, one of them is just going to be p itself because, after all, if I take an element that's in p and then I conjugate p by it, because it's a subgroup, it's closed under multiplication, so we're going to end up with, this is just going to be p, and so there's one element all by itself when we restrict the action just to capital P. I claim that there are no other fixed points in this situation, and to prove that, we're going to use lemma 1515 that we proved in the very first video for lecture seven.  If x belongs to the normalizer of that Silov subgroup, then x actually belongs to that Silov subgroup itself. That's what that tells us. So if there's some other Silov subgroup that was all by itself, that means that xqx inverse would equal q, which would mean x belongs to the normalizer of q, but as the order of x is some power of p because x belongs to a Silov subgroup by Lagrange's theorem, since it's a power p, all elements will have a power p order, then that lemma applies and forces that x actually belongs to q, which means q and p were the same Silov subgroup there, and so there's no other fixed points. That's what we're trying to say here. So thus, there's no other fixed points.  There's no other fixed points. There's just the one right here. So if we come and look at the class equation, we often use the class equation for conjugation of a group on itself, but the class equation works for any group action whatsoever, for which remember what the class equation tells us. If we have a group action, take the g set x, it can be partitioned with respect to the orbits. Let's take all of the orbits of fixed points, which a fixed point means that its orbit is just a single element. If we put all of those singletons together, we're going to get this stable set x sub p here, p is the acting group in this situation, and then we add together all of the non-trivial orbits. What's going to happen in that situation? Well, as we observe, there's only one C law p sub group that's fixed by capital P, and that was p itself. So x sub p will have only one. What about these other ones? These other orbits by the fundamental counting principle are going to be, they're going to be indices that look something like this, but it's a little bit different. It's going to look like p dot, well, some other things. It's the normalizer with what's going on here. We talked about this previously, but I actually don't care what that is. If you take an index of a sub group of p that has to divide p, where p's order is p to the r, and so each of these orbits is some power of p. It might not be all of p r, probably not, but these are going to be powers of a prime. So the size of x, the number of C law p sub groups is one plus a bunch of powers of p non-trivial powers of p. So if you reduce that mod p, all of these things disappear and you're left with just one, which then finishes the proof of the third theorem of C law. So to finish this video, I want to provide some examples of this theorem here. So consider you have a sub group of order six, which six, of course, factors as two times three. By C law, third theorem, if we want to consider the possible three groups, the number, sometimes we use a symbol like n sub k for, you know, this is n sub k is the number of C law three sub groups. This is not a standard notation, but it's used from time to time. It's convenient in this situation. So you can think of n sub k. This is the size of C law p of g, like so. So we're asking, you know, what would n three be? Well, what we saw from the, from the third theorem is n three divides six, but n three is also congruent to one mod three. So how many numbers divide six, but are one mod three? So one divides six, two does, but that doesn't work. Three does, but that doesn't work. And then you get six, which doesn't work either. In particular, because you have to divide six, but you have to do one mod three, it has to divide two and be one mod six. So one's the only possibility when it comes to, when it comes to n three, you only get one. So every group of order six has a unique C law three subgroup. I want you to consider the two groups of order six. You have z six and s three. Um, z six has a unique subgroup looking at that real quick. It has a unique subgroup of order three. It's isomorphic to z three. It has a unique subgroup of order two. And then you have the trivial subgroup. It has only one subgroup of order three, just like we predicted. What about s three? Well, you have the alternating group a three. You're going to have, um, you're going to have three subgroups that are isomorphic to z two. If we look at the lattice of all these subgroups, but in particular, you have a subgroup, a unique subgroup of order three. Now I should mention that as a consequence of C law of second theorem that if you have a unique C law of subgroup, it has to be normal. Um, because it's going to have the conjugate of a C law of P subgroup is a C law of P subgroup. Um, if there's only one of them, it's going to have to equal itself. And I guess you don't need C law of second theorem. That's just true in general that if you have a unique subgroup of a given order, it'll be normal. And so if there's only one C law of P subgroup, then it's the only one of that order. So it's going to be normal. That's a very important thing. So every group of order six has a normal subgroup of order three, but in retrospect, that's not too surprising. Order three means your index two. And we've seen before that every subgroup of index two has to be normal. So this is the C law theory sort of overkill in the situation, but it's starting to show to you why that could be useful. Well, what about two groups? Okay, how many C law of two groups could you have? Well, by the C by C law of third theorem, we have that in two has to be a number which divides six and is one mod two, which if you're one mod two, that actually means you'd have to divide three and be one mod two, but that gives you one and three. So there are some possibilities here. If you look at Z six, it has a unique subgroup of order two, but S three has three subgroups of order two. These were the two possibilities that C law of third theorem allowed for us. And all of these possibilities were in fact realized. Let me clean up my screen a little bit. Let's come down here and talk about groups of order 12 for a moment. What type of C law of subgroups can you have with a group of order 12? Well, if you look at n three for a moment, we need a number which divides four, but is one mod three. One is always going to work in that situation. You could always get at least one, you always get at least one, but you also could get four two divides four, but it's two mod three, four divides four and is one mod three. So that's a possibility. You could get one or four. What about in two? Well, n two, it's going to be just like we saw before. N two, if you take away the two part, you have to be one mod two and you have to divide 12, which means you're going to divide three in this situation. You get one and three. So these are the possibilities we could get. We could get a unique subgroup of order three and order four. We could get maybe a non-trivial, you could get three subgroups of order two, order four actually maybe, or maybe we could get four and one, or maybe we could get four and three. These are these, these four possibilities here. Not all of them are realizable because of reasons we'll talk about in later lectures, but I do want to show you some examples of this. If you look at Z 12 for a moment, Z 12, it has as its lattice of subgroups, we got Z six, we got Z four, we got Z three, we got Z two, and we got one. Like so in particular, it has a unique subgroup of order three and has a unique subgroup of order four. These are the C law three and two subgroups respectively. So for Z 12, we get that in two is one and we get that in three is one. That's a possibility. What if we switch over to the alternating group? What does it look like? Well, in terms of its groups, A four, you have the client for group, which has order four. It contains three subgroups of order two. So these are going to be cyclic subgroups of order two. And then you also have these subgroups of order three floating around. It'll have four of those. So just drawing the haza diagram here, like so. And so if you start to count what are the C law subgroups, you have your C law two subgroup right there. There's only one of them. It's normal. But you have three, excuse me, you have four C law three subgroups, just like we said before. So that is a possibility. We have one and one. We then have four and one when it comes to A four. And then if we look at another group of order 12, take D six, for example, D six, I erase my numbers there in three could equal one and four and two could equal one and three. What happens with D six?  I mean, I guess I could. It's not so bad. We did D six. D six, of course, is going to contain a cyclic subgroup of order six, which gives us Z two. And it gives us Z three. And this all sits above the identity, like so. You also have these, you're going to have a bunch of the reflections there. So you should have like six of those over here. And I can draw some more over here. Z two, Z two, and Z two, like so. So what else can you get? If you brought this Z two with the Z three together, you're going to form a dihedral group, a D three, and that actually would get all of these. Same thing over here, this dihedral group, boom, boom, boom, and boom. If you were to bring together various of these Z twos, you could bring them together and form a Klein four group. You get something like this. And then you're going to get several of these. And this is kind of where it gets messy. And this was my hesitancy to draw this. But if you bring these together, you get all of these Klein four groups. And then we'll do one more over here. Bring that one together, bring that one together, bring that one together. And so I guess what I'm trying to say here is in this picture, you're going to get a unique subgroup of order three like so. That's going to give you this right here. But you're going to get three different Klein four groups, which are going to be your Sealoff two subgroups. So we do in fact get this. So we see all the possibilities now. We can get a subgroup, which gets one in one, we can get a subgroup, we can get a group that gets one in three, we can get one that is four in one. It turns out that four in three is not possible. And that's mostly because it counts too many elements. Because if you have, if you have four, four Sealoff three subgroups, that's those are going to be four times, you know, this Z three right here. These elements are going to contain some element, it's inverse, it's square in the identity. So if you just count these ones, you're going to get eight elements right there. So eight elements of order three, right? Now we've counted these eight elements of order three. If we take those away from everything else, 12 minus eight, you end up with four elements left. And you have to have at least one Sealoff two subgroup, which has order four. So this right here is the Sealoff two subgroup. These four elements, it's a client four group, or maybe it's a sickly group of order four, it doesn't really matter. You have to count it for all of them. So it turns out the option of four and three isn't possible. But this argument that we did hear, these possible considerations, these, when used correctly, can be very powerful tools in group theory. And we'll talk about those more in the next video.


Hi, I'm Mark Updegrove, the Director of the LBJ Presidential Library, and I have a couple of announcements to share with you. First off, you're enjoying our brand-new website. I know you'll enjoy the innovative design. It's easy to navigate and seamlessly ties together the important aspects of the library that are of interest to our users – archives and research, the LBJ Foundation, education, the stored LBJ, volunteer opportunities, and our membership programs where you can learn about the interesting events that we have planned for this fall. Most importantly, we invite you to share your thoughts and experiences with us. On the home page of this site, you can tell us how President Johnson impacted your life, or sign up for our monthly newsletters, participate in all of our social media connections. It's important that our website be informative because right now, the library is undergoing a major redesign to our core exhibit. Most of the exhibit is currently closed to visitors. Please visit a new day for LBJ on the website for updates. We plan to open our new exhibit on December 22 of this year on what would have been Lady Bird Johnson's 100th birthday. In the meantime, I hope you'll enjoy our online exhibits on the life and the formidable legacy of our 36th President. Thank you.


phase three in tracking. Let's summarize what we've learned in phase two. The dog first of all, so three major things that the dog needs to learn. First and very important, we still want to make sure the dog is happy and it's a very positive exercise. Even if it doesn't go too well as you wish, you still have to keep the positive attitude and know that the dog enjoys this. This is very important.  So that's the first thing. Second thing, in phase two we started introducing a little bit of a structure. So if you remember in phase one it was just all fun. We would do the circle any time during the day or we just during the play we would do a circle and the dog would search for food. That was in phase one. In phase two it is a bit more structure. What I mean by that is that first of all I tell the dog that we go in tracking. So the dog learns the marker command for things that we're going to do in the future. So at home when I'm preparing my bait for the truck and I'm not feeding the dog in the morning, we're skipping the meal because we go in tracking. I'm telling this to the dog. I say we're going tracking so you have to wait with food. We're going tracking and I keep repeating this. Then we go into the car and by the car also let the dog in the car and I say we're going tracking. When I start the car and we start going driving I'm also saying we're going tracking. So the dog learns this and then eventually when you get the dog out of the car to actually go tracking you repeat this again.  So the dog remembers that's the structure. And then also what I started doing because now it is more set up exercise than just fun random exercise it was as it was in phase one. So now we also introduce equipment. So I track my dog in a certain color with a certain leash and so he knows if I take this color out with this long leash it's 100 feet leash for tracking it's also kind of triggering this marker for him he knows oh okay so if we were in this means we're tracking aside from the fact that I'm saying this. And another structure that we add is that this exercise became always in the morning and so now he knows that in the morning when I feed the rest of my crew I have a cat and an older little dog and I don't feed him and I tell him we're going tracking so he knows exactly he'll eat on the track. And then another structure is that and the third piece of it what I started doing in phase two is that I started tying his meals to the success of the track. So when we do tracking and he did well I tell him good track good track good track and we get to the car and I reward him I feed him by the car or if we're driving home when I get home I still say good truck you did a good job tracking good truck and then I give the dog food and so again this kind of connects okay I did something good now I'm feeding they feed me. Though they don't understand yet that it might go away they don't track right but for now I'm just setting it up and that's very important because later on when we go to a little bit advanced tracking and the dog doesn't want to do that it has to become clear to the dog that unless they track they don't get to eat right and so that's later in the stage so stage phase two again three major things it has to be happy for the dog we add a little bit of structure so the dog knows the routine learns the routine and third is that the dog starts to connecting his feeding with doing a good job on the track that's three major important things that the dog learns during phase two now how did we do phase two if you remember last in the last video I explained that we set up short tracks two three short tracks with little reward circles at the end or in between and so that's how I started but you have to learn your dog quickly I learned that my dog figured this that he has to the truck goes straight pretty quickly and so that was the reason why we started this way because he was on the circles and then I had to teach him to go straight he learned this very quickly so I stopped doing short number of short tracks with the rewards in between but I started doing tracks that are 30 40 steps long and we have a reward at the end and we did about 20 of those when I realized that my steps that I was doing very close together is no longer enough for the dog so he figured that the truck goes straight I no longer need to connect my steps and now I need rather to put my steps wider and further apart to teach the dog to go from left to right left to right and so that's what we've done kind of in between so probably another 10 15 when I start making normal steps but they're wider a little bit more apart so pretty much just regular steps just make sure they're not too close together because then the dog goes only on one foot and so I interchange that so sometimes I do regular steps and I see that the dog zigzagging but if I see that sometimes the dog just goes on one trucks only one leg then next time I go again I go closer together and so I want to make sure that the dog kind of learns to weave again and when he did the weaving the next time I'm spreading it again or sometimes you do it in one track you start like this and then you go wider wider so the dog learns to weave and then go from left to right left right so this pretty much the purpose of phase 2 to teach the dog to go straight and understand that it has to sniff every step so left to right left right all the time and so that's kind of the main purpose of this phase per se and so once the dog learns this we are ready to move to phase 3 so what do we do in phase 3 what are we trying to teach the dog first the dog needs to learn clearly but unless it does well on the track it does not eat and that's I think very important moving forward because the trucks become more difficult longer and you need to motivate the dog and some dogs are not very food driven so it has to become clear to the dog this is your meal for the morning and unless you find it you don't eat if you find it then you get either additional food depending how much food do you put on the truck I don't put too much I have very small little pieces and so it might not be enough for him so if he did well I also feed him either in the car or then at home a little bit but if I see that he's not too interested in truck I don't reward it so he whatever he found he found it but if I see that he's not too enthusiastic to truck I don't give him the extra meal and so he goes without food till dinner I normally don't deprive food from my dogs but if I see that the dog is not motivated I simply give them smaller portions I don't deprive in general but for example the night before I would feed him only half of the portion and then in the morning we go trucking and I if I see this is not enough then I feed the day before I feed morning half the portion dinner half the portion and then in the morning we go trucking and see if that motivates this dog that I have right now at us he's a little bit I think I feed him too well I feed him meat and vegetables and so I guess he's not hungry in general so he's not too motivated with food on the track and so I started doing this kind of smaller portions for two days before we track and this seems to help because today in the morning he was obviously watch your dog and make sure that this is phase 3 is when you try to find how you have to set up the dogs the dog does well and successful on the track that's number one number two is that now my trucks are about hundred steps long and they're no longer straight I either do serpentine or I do half circle and what it teaches the dog that the truck can run away from you so you need to follow it and so the dog becomes a bit more attentive and also later on it helps me start making corners because if the dog knows how to go on a half a circle so eventually you kind of start making them shorter and sharper and that's how I introduce the circles eventually but we'll get to that it it's later in the phase for now it just we move in the truck it's serpentine and it's longer or half circle and it's longer it's about hundred feet long steps long and if I see that the dog does not take hundred steps well in one truck then the next time I would do 50 so I don't consistently do 100 because you need to give the dog kind of excitement right here so they don't know when it's going to end and if you see if it's too much for your dog then the next time do half of the length to to help the dog also sometimes what I do I still go back to the little circles you can see behind my back here that's my kind of reward patch so you'll see in the video later you'll see my half a circle with with the truck and it was a hundred steps long and he was not too motivated he didn't really do well but I'll still show you because I had to correct him and then after that I did a little patch and you'll see how well he did on the page because it's like he remembers that it's a good memory when we start tracking and it's excitement so you'll see how well he did this and so you start introduce corrections a little bit on the track and again you'll see it in the video next after this when we truck I had to correct him because he was rushing and skipping and then I if I pull on him a little bit to let kind of let him slow down and figure out that he's standing on the bait on the treat he would just lie down or he would just wander off or stop tracking so not enough motivation in him and one other thing that I'm going to share is that looks like he has enough meat for his meal and I've been tracking for also meat or hot dogs and that hasn't been going well for him and so I've realized that so I start changing bait and funnily enough he likes kibble and I realized well it's a lot easier for me than chopping hot dogs and buying them so I bought kibble and you'll see in the patch he has kibble on the track he had meat and so with meat he was not too motivated for some reason so from now on a few times I'll try to find a very large kibble because kibble is usually too small for trucking but I'll try to find larger kibble and from now on I'll try a few sessions and see if he would truck much better for kibble but for today's session he had half portions for two days half portions of his meal for two days and I fed him a lot earlier last night than I usually do so he was pretty hungry in the morning like I mentioned he was eager to do that but looks like the bait meat doesn't get him too excited because he gets it for free at home and kibble is something that he never gets and so that got him excited and so from now on what we focus in phase three is tolerability the dog needs to tolerate a larger track so we try to push that's our goal if the dog doesn't did well on the long we do the short one but still keep coming back to 100 steps maybe 120 steps if your dog does well I'm at a hundred step right now second the dog needs to understand corrections on the track because you need to help the dog a little bit and it doesn't mean that the dog needs to quit so I'm introducing very very gentle corrections you'll see how I've done it in the video and the third thing the dog learns that the truck no longer stays straight as a line the dog the truck can move away to one side to another side and so the dog needs to look for it so those are three major things that I want my dog to learn in this phase three and you'll see how we did today with the hundred step track and with the reward patch at the end happy tracking


The first part will be talking about the evolution of whatever we did in the movie and where we are. The second part will be talking about a particular system which we generally call LODA to analyze it. And the third one, I want to keep about 15 minutes of course in 10 of the sessions because at least 10 of us don't need so much time to see what is happening. And taking the questions over the end like a lot of stuff took out so we don't have all the questions. Okay so when talking to people like across the mountains and just like I've been working and also I've been always here I noticed that many of us or rather most of us were starting with LODA. LODA goes through definitely the same phases in the data processing and we thought it would be good to share our experiences and what mistakes we did, what worked for us, what didn't work for us so that you can use the effect to not make those same mistakes and not in our expense and like we did the same when we talked to others. So this is not about comparing the merits and demerits of what is available out there it's just showing you what worked on the ground for us and what didn't work. So just to give a little bit about the history of the problem, I know you have seen a lot of data bytes and data bytes from yesterday this is the kind of thing we handle every day about 3 billion records that come in the system these records are basically from the ad service in mobile in the business of ad service so when they get a request for an ad and they serve, they log it, when a click happens they are named on it and you have like multiple of the live sessions like after motion, it could happen like on motion or something like that, so you log all those things it's roughly about 2.5 terabytes of uncompressed JSON so I mean, treat that number with a little bit of like a hint of thought not so much like not everything about what we call is the input, there's a lot of jump like user agent of a device like who wants to do talk and answer and so on and so forth but still there's a lot of data if you want to do anything like that about 100 primary dimensions and 300 the live dimensions so whenever you are into a field of analysis of data the second point which is the number of dimensions and measures are very very important just saying the raw count of the record numbers in the size of data doesn't mean much if you all you are doing is just logging it for let's say a regulatory purpose or something you could just log it and keep our target but the key part is that you want to vary the data very frequently on so many dimensions and measures and that makes it very hard to organize the data you have again, analysis of data is one very important aspect of analysis of data how long will it take if you want to go back and do the analysis if you were to do a daily analysis properly 3 billion records aggregated with a few million records probably 10 to 20 billion records at most and we could do analysis on it pretty easily using the data but if you have an analysis for ideas of yours and you want to see day by day for the entire data the problem suddenly explodes and becomes slightly unanswered so to continue on that as I said data sizes and the number of records themselves are not the complete picture what you do with that data is maybe even more important like for example if you are into medical sciences or you are into computational biology like even one gig of data would probably be a lot of crunching and would take probably hours of effort to get it to mean for all of it whereas if you are reporting a domain like this talk is talking about then one gig of data is not so much like probably you could write a standalone Java application I mean that's one extreme of it so the data which we get it becomes even more harder because of these things first thing is very very frequently changing or dynamically in the model of data when we started off we were measuring into these feature phones but feature phones I mean what kind of phones where you have ring phones and you let anyone download wallpapers and that was the kind of business model so actually the data that we log is a reflection of the business we are in as the business becomes more complicated the data which you are logging and how you are modeling also becomes more complicated so we started off for 2-3 years back by serving the ring phone and wallpapers in the past slowly the smartphone business kept in even in just a year ago iPhone came in and iPhone actually started to become popular came in about before that started to become popular so you could now serve very different kind of apps you could serve both actually not 3D and 3D now but you could serve a bigger banner app on your phone or you could even serve slightly interactive apps so they force you to capture different aspects of the advertisement which you want to analyze we come to it towards the end of the presentation where I actually show what kind of things it could do then even the query packages are not very fixed so within those 300 or 400 or 10 inches you don't know what the user or the undist inside the company wants to query today the impressions in America went down I mean is it a cross world concept or is it just focused to America if it is just America then is it focused to a particular state or a particular segment of user or some operating system or it could be that one of the big advertisers who was burning like hundreds of thousands of millions of millions suddenly went away so your impressions have gone down you don't know what you're looking for so if the reason I am writing to this is because if the query patterns are known then what you would do is you would create some views out of the data and store it in a very very efficient data only data store it could be as simple as MySQL or if you can even get columnar data stores like Infobrite or what have you or even go with things like Cognos or something where you actually have some sense of what the query is going to be looking like you can't build models for 200-300 inches we want both canned and ad hoc reports so there's a big distinction and the definition of canned report is actually very exciting so canned report is something where the user or large amount or large segment of the user in a company wants to see on a day-on-day basis without a change so it could be a campaign manager wants to look at his accounts every day in the morning and see how well they are doing whether they should be going to them and asking for more data or something wrong ad hoc report is more when you don't know exactly what the campaign is for you have some manager but then it's more of an extraordinary process what we have noticed is that very very frequently a query starts from an analysis starts from being ad hoc people do it over a period of days or something and then the thing that makes sense for me and then the sales crystallize it materialize it and I want to see this report every day I don't want to be doing this every day so there is no clear distinction between what you can say ad hoc we definitely know, sorry what you can say can't we definitely know what ad hoc is then we have like I told we have multiple phase shifted data by phase shifted I mean you could have a request coming at this time let's say in this hour whatever hour is it 12th hour of the day you could have a click coming for it half an hour after that and then you could have an app being downloaded as a result of that click maybe two hours later so you have data coming in at different points all are history of the same event that is an hour requested but what happened for the event could be shifted in time so if you want to do an analysis where you want to combine these to all the events into a coherent history or a trace of an event then you have to bring it together and lastly the problem becomes different because we have many many different kind of users for the same system I start from actually I miss out the developers here but right from the developers they want to get some data for whatever reason it could be for modeling their forecast engine or for predicting the inventory or etc it could be normal stage team out there which is trying to kind of do some operational analytics on why my account is not running well or what to do to make it run better it could be an analyst what we like company level or organization level analysis direct exit they want to be a dashboard kind of view every day in the morning or it could be other machines so you could feedback the system into the machine directly and they can query it so there is a wide spectrum of who the users of this kind of system so just a little bit about where we started from so back in like 2010 or before that we used to get all the data on the logs just record them on the Azure machine and there was a person who used to run every hour runs all the data put it in the database and then we had a user interface which would query the database for the reports so it was only canned reports there was no error so you knew what kind of reports you wanted to show to the users and you had good database used to do that and it was perfectly valid model at that time we had entered the business the number of the instance were like partly few, probably country, publisher, advertiser operating system was also like not so valid because all the Nokia or LG kind of phones were the same in OS or some version of that money so there were not too many dimensions there were not too many measures all you want to impress that there was how many impressions it had served and how many clicks there was and yes, how many requests there was so the problem was pretty simple and first they had to find that was about 100,000 or order of 100,000 events per day then as the volume increased to millions this power processing just fade over and die and you can't find it so we had good developers out there and they said like, the second thing is pretty stable everyone is jumping on it, why don't we try so we set up a small cluster like three machine cluster if the data center was somewhere in India and then we had a small map use job which would go actually map use job would input there was a transfer service which would go and collect logs from all the serving machine, bring it onto the cluster and then they would run the machine cluster and process it it would take longer because the cluster was small but at least it wouldn't die off it was still a management problem and things were running fine for a while but then what happened like as the business kept on increasing people said I want more views of the data just two views of the data is not enough so then the developers had to write more views jobs to populate their views so every time a new requirement came they had to write a new pipeline in map use jobs which would grant the logs and populate what the views in the view now this was a hard work time consuming and also an error problem it's very hard to get a map use job right, if it is not very good job so we said fine this map using is not working for us that's also the pipeline right now ad hoc is still like so the way we handled ad hoc was creating more views if you want this kind of report you have a requirement for these three dimensions and these two measures, fine it's important we created another database view on it materialize view and we just focused on getting that views right so we took experimented with PIG PIG worked out very fine for us like you could take like simply write a new job and that would populate your DD views so and the data gets aggregated using PIG on an hourly basis, post a DD for analytics and everyone was happy just for the questions like if anyone is taking advice it works fine as long as you have logs which are just linked to a say group by and some and few filters but if you're doing anything more complicated exact example is probably I can talk offline but if you're doing anything more complicated which may warrant multiple phases of map use job then it turns out to be expensive because right, custom map use job gives you a lot more control and you can actually compress many of the map use phases one after the other turns into one phase and with map use job for any of these adobe phase jobs I use the biggest data so if you can reduce the number of stages in the pipeline that's going to be single biggest in one case or in the case but then the thing changed enter tablets and enter android and you have like a thousand different versions of android and analytics just gets complicated you add formats and you introduce rich media or these media ads where you can ask for your queries like how many users view this video from 20th minute to 30th minute or how many of them wins in half of the video or if it's like a car interactive car ad you want to get analytics on only people are actually building on their steering a lot so either it could be like they're steering a lot or they're trying to see the effects of the need or something so you can select all kind of things from the ad itself it's like building a heat map over an ad what parts of the ad are interesting to the user and it's just not about what ad is interesting to the user so the analytics get much more complicated as I said earlier the db still suffers from the limited view problem you have a few other dimensions like that view so like if you have 300 dimensions creating 100 three dimensional views is just not enough it lacks immensely so we tried different approaches at this time we took on hype that was about late 2010 early 2011 so this was actually a big surprise and a big disappointment it didn't work out as we expected this at that time I cannot comment exactly on what is the stream right now but I would be very very surprised if it is very drastic so ok so if you have like a layer so if you think of your infrastructure stack you have sdfs sdfs at the bottom then you have adoomapidus built on top of it and then you have peg and hype and all those things and you take it to the stream where you have things and how which will even package everything together and give it to you now what we have noticed from our experience that things at the bottom of the stack are pretty stable so if you are talking about sdfs or map reduce from adoomapidus they are pretty stable and you don't need to muck around with them or take them around with them too much or have to get them working so to get a good great running if you are maintaining a grid of machines on your own take a little effort to tune the parameters but it's not that bad as you keep moving up the stack and the quality of the software available out there drastically reduces so if it's more a query engine like hype or something let's take peg peg is I would say below high in terms of that traction it's providing it's giving you more what to say and elements have operations load this table, run a group file on it and do some filtering on it so it's pretty stable it does the work you can specify a little bit of control but you can still get the work done if you are coming to hype you have more assumptions how query is going to be planned what are the operations that are going to be optimized to what level the optimizations will be done and these kind of systems we have noticed that they are not made or written out to be so that one sign fits all I don't know if it is even possible to do so but they work very well at facebook where they were implemented similar to Google's implementation which they haven't open sourced but they work very well where they were conceived but outside outside that environment there are a lot of challenges in our case the particular challenge was the red side was small at that time when we were trying to hype it was our 2025 machine and I was on any system like I'm not like pitting on hype as a bad system and just saying we tried it and what we faced and just shared there are a lot of resources spawn inordinate number of jobs it will not try to reduce the data in the map of state as well as that can be so there's a lot of data and if you have no bandwidth system not a new bandwidth I mean you are like probably a 100-day or 10-day kind of connectivity between your machines it doesn't scale for that then inordinate number of jobs is what I told so for a simple query it will spawn 5 jobs for crunching 100 bits of data that same 100 bits of data will be read and written like in a sequence of 5 operations and that would be very bad for the performance and since it works on multiple levels one query is taking all your resources and time then you can't run any of the query whereas if you had a 5,000 machine cluster or something bigger than that it would run in some form of a cluster and you wouldn't even notice all the delays I'm talking about and if you have a bandwidth system that is supposed to run you face a lot of problems the second thing that we face problems were like immensely large code base and very less expertise available within our organization to get it right like it was at that time it was about 150,000 lines of code or something 120,000 lines of code and it's a mess like it's not like for any open source system like there was but you go look at the code and it's really really really hard to just go and change anything or fix anything if you guys attended this talk by Kulkarni from Google yesterday it was the same thing he brought up like people why are you still trying to go and use Google's BigQuery interface or something even though it's limited but it takes less of a time it takes about 6 months to get a Hadoop based stack right and start doing it so how long have you got it right if there's a high change in your model of the data then you have to just go ahead so we worked on it for about 3-4 months team of very bright engineers like 3 or 4 engineers, 3 engineers but it was just turning out to be too hard a problem with that so we went back to pink we said it's a high line we can't spend forever on it we'll just go back to pink it's okay if your business is like 10 engineers, 5 engineers who will take the request from business and they'll write a fixed script and give a report back now as you can see there are multiple problems like first of all there's a delegation of request and in this terms someone will fight a bug or something which comes to the data team also that this report is to be given and then that is assigned to a developer he or she writes a fixed script in many cases or very frequently they gave back to the business it's not what they wanted so it's a back and forth so approximately we saw about 3-4 days turnaround time for every query being processed and one developer's day pulp query being taken to process every query on average and the second problem was the performance of anything like PIG is only asked what is the person writing then and if the person is not very familiar with the data model or doesn't know the PIG that well or for whatever reason then one script can just kill the entire system and if the system is small it's easy to get killed and we have a lot of these issues like someone wrote a backpick query and the entire script came down and we have to get in the middle of the night, reboot all the machines or do stuff like that so what are the lessons we took at this point frequently tools which are available out there don't work as it is they require a lot of tweaking constant tuning and a lot of maintenance they are it's very difficult for them to absorb the dynamics of the data if your data is changing very very frequently then you have to be very careful about what you are using and make sure that that system or the way you are using that system is able to take care of the changes or the variations in the business you cannot afford to spend six months in a system and then with the change of business like after introducing all your data model and everything is a boom and you have to again start to discuss they are generally found to be so when systems are they are not meant for particular person organization or need they are like developing databases so you have or operating system you make one version you give it to everyone and everyone will use it but unfortunately at this game the generosity doesn't work that way you have to be a little bit specific to your need and you just can't take all the shared system and get it to work I mean you may be able to work with a student for that but in most cases and in most conversations I have had with people it's very different and almost impossible to get it right that way the other part which is actually very many of you would have raised there is no end to end coherence system available there are parts of the start that are very different developed by different people different organizations different I mean one could argue that there is a beauty of open source that everything just comes from everywhere but when you try to put them all together it's a very very hard task you know if you think about this problem you would have to take data transfer layer from somewhere ends it could be tried or something then you would have a cellular which is moody or astroban or something else then you would have an ETL layer which could be big or custom marketing jobs you would have some data storage format you would have high to run the query you would have few on top of it so build your query then you will have crystal reports or something to visualize the data and so on like the story that I already asked so many things you could go with things like Centro which we tried and we are still trying to add some text to it but even there like things are not as quick as they appear on the face of it it takes a lot of effort and sometimes it just doesn't work and the last thing we I mean it's obvious it's not even a realization that when you are not inspired to be used by business and if you use peg or if you overfit peg for all the requirements that is both the pipeline as well as the allocation then it's bad because it would need a lot of developer time which would be used elsewhere and no more be useful just to give a just to give a small example about these are the like I was talking about complexity reports so I will come to this tool a little bit later but what you see are the early data and these are the dimensions which a person requested for I couldn't get them to fit on one screen so I take it three snapshots of the report which I showed there are about like 36 sort dimensions here and not many about 10 or so measures so this is one screen this thing continues on the second screen and this thing continues on the third screen so you have like a huge huge amount of report and this is like one of the reports which I have noted this morning I have just shared you have reports even bigger than that so how do you even start by building database views or even if you make specialized commercial million dollar software how do you get this report to work there where there are like 37 38 dimensions and I don't know so many measures and it just gets forget about answering this query in one hour or two hours most of the system will not be able to answer it if they don't know a priori what the requirement is going to be or what the pattern of the report is going to be ok so I was saving last 15 minutes for the demo I will quickly rush through what we have and I will probably let the product excel describe itself so I will just go very quickly through what is this so we developed Yona which you can think of it as in the same space of the stack as type it does many things similar to high barrier yield borrowed from high barrier yield where we thought we could it doesn't make any sense to implement any like RC file format beautiful file format to save records and 21 so it's an in-house developed query system to perform completely analog analysis it's a complete stack it's not one part of the entire end-to-end stack it has TTA query processors a query builder so visually you can build a query a visualization there on top of it and this is all better now it supports the usual operators like every other SQL compliant TV a lot lesser than that but most of the important ones like SEDX, RMAvres, Desync Expressions, Compile where I have a user defined functions where it differs like it's very very heavily optimized for storage and queries and it's a data model which is lying underneath it so it makes use of the data model in every way possible and somewhere and gives you examples of it but it tries to use a data model very very extensively and optimize the queries all the facts we timeshifted facts about all we have about 100 different metadata tables where you would have id to name mapping or something like this but they all are just brought together in a CVS view and given to the user so that the user doesn't have to worry about what table should this query go to and what are the joints I need to do for them that can come the demo it's very very simplistic and it's exposed as a platform so there's a UI as well as an API interface so it can be plugged in like, fake or hide into other systems and other systems can directly query and consume the query so instead of going through the whole design of it I'll just have a little slide for life of query I'll just walk through how when a query comes what stages it goes through it's very highly reviewed and finally what happens so we use our protocol buffers from Google extensively both to store that data and also for communication between systems it's a very very beautiful technology given by Google and I encourage you guys to take a look at it it solves a lot of problems it appears to be a very tiny thing in the whole lot of great picture but it solves a lot of problems so you have a UI which generates a request in format and transmits it to the server in JSON format the first level is where we do some optimization the first level of optimization we did was whatever is required from the metadata table so there are two parts of any data without any system there are fact streams which keep coming from log servers or where the actual action is happening and then there is slowly changing metadata where you keep record of small IDs to larger names or other attributes so when you query on additional attributes which come from metadata then it requires us to do a join joins are expensive so if we can cut down the joins very early in the query in life cycle it helps us a lot so we do metadata to fact promotions by converting all these group bytes into decode so if it was a group byte let's say country, group byte country so that would require a join from country ID to country name but I could do a decode decode is like a if then clause in SQL where you can say if the value is equal to 2 then emit India so if you convert these group bytes into decodes then you don't need to do a join on the metadata similarly for the way after the optimizations are done we automatically select a queue so you have multiple data queues lying underneath all on flat files I haven't gone into that so we automatically select the queue depending on the use of way instead of user specifying what queue we should go to and also we have an appropriate level of granularity or aggregation over it which will answer the query in the least time after this is done we create these join chains what we call which will help in the metadata based dimensional queries and we also estimate the cost of the query and priority and then submit it to the job project so this helps in segregating small queries and large queries a large query cannot come in just take over the entire system and everyone has to wait so this is a very very important part of it if not for this then one user would affect the entire algorithmic system once it's done we reformulate a query a little bit again to remove the redundancies like if you have asked for a particular measure like let's say valid request as 4 columns one as part of no fill rate and another part of calculating some other formula of yours then we try to remove redundancy and optimize the query once it's done in the mapper you have lots of optimization filter push down so when you're doing a filter over a record so we are reconstructing the records from the disk we keep applying filters and as soon as we figure out that this record cannot pass through we just drop the reconstruction stage for that record so it helps us bring a lot less data out from the disk after that we do aggregations in the mapper so this is also very important we do lots of aggregations right in the map side instead of waiting all the way to the reducer so this helps us transfer a lot less data from mapper to reducer which is good for system where you don't have a huge amount of value in the reducer it's pretty simple we just apply the formulas which the user has used the formulas being no fill rate of CTR or something but form a having clause if the query has a having clause do it and then do a open if the user has obviously only top set countries or something like that and once it's done you dump the file into a CSV format and send a link to the user and also make it visible on the UI which you'll come to in a minute so two slides on what all of all this what I've described what are the two or three things which really work for us the first thing was they concentrate really high on efficiency of the system and modeling of the data so if the data is modeled correctly then it can have a dynamicity in the data it can handle a lot of new feeds coming in and you don't have to you don't have to stop the system or redo it the system what we have takes in new feeds as a model I mean without blanking no one even feels that there was anything then we have done a lot of work on optimizing the joints joints are the killer thing in any of the data warehousing systems built over mapper use every joint required one map to reduce space and if you have a lot of them like many of the tools available out there then the time increases drastically so what we have done is we have optimized the map side joints very very heavy we know only what is required into the memory and filtered by many different criteria horizontally vertically and also filtered based on what the user has given so that helps us load if you are familiar with the highest map side joints know that the map side joints are applicable to small tables now small is not defined small depends from machine to machine environment to environment but what is written in the documentation is that about 10 or 20 MB tables are considered small tables with under 100,000 rows or something after that it becomes big but with these kind of optimizations we can load tables over 5 million rows into memory we don't load all the 5 million rows because we do a lot of filtering and the table size could be I mean as big as about 4 or 5 million so it's a huge scale and then the only technique we have done is like when you are joining these fact tables with the dimensions and you have a billion fact rows you don't need to do the join every time you could pre-compute these joints keep it in the memory and then reuse those pre-joins or even simplicity so we come to the demo in one more minute like if the system is not simple then it will not get useless people will not use it and it will be just another technical showcase kind of system which you are building the company and will buy it there it should be a very good data dynamic it should be very very intuitive when you are building the company and a good analytics there and how it works later we were there up to some time but we realized just dumping those people is not enough and then you need to have something more rich than that and then again in the beginning I said the difference between ad hoc and canned query is very shaky so you should be able to support scheduled or scheduled ad hoc query so once the user thinks this ad hoc query is not ad hoc anymore they can just go and schedule it so that's all in this slide I will jump into the demo of it and why I am going if you have any questions like I will be asking just want to know what is the aggregation ratio on your for example the physics we use that slide just want to know what is the aggregation ratio you get like what is the input by input loss by output loss as we showed in the video so I mean we have multiple queues we have queues which we are anticipated to be used very very frequently so they are probably from 3 million reports they would come to 3 million reports and then we have increasingly more complex queues where the aggregation ratio wouldn't be that great so I mean approximately to the largest queue which we have created there it should be probably from 3 million to maybe about 50 million so response time varying actually the fastest we can get here is not more than sorry not less than about 45 seconds that is it takes over the time to just start map it using and we have taken but like the bad queries actually can be pretty bad so they can go up to half an hour or something even for 5 minutes even up to 5 hours but most 90% of the time queries come back within 2 minutes it is hard to generalize at that scale right yes you get examples of things that somebody was not known and hence more able to optimize those scenarios rather than somebody in a cell so let's say just loading the metadata into the memory so that is one example now what happens in all the generation is you can partition them horizontally and vertically but you still don't know what else you can leave out and that is the reason why it is very difficult to optimize there but take an example where we are let's say connecting the events that happened to the creators what was the creative name by creating an advertisement what was the advertisement name and the advertisement type for which this impression happened and I want to do it for last 1 month of the data so if I store in the metadata even what is the creation date for this creator then I can afford not to load all those creations into the memory which were lying outside this 1 month page so that helps us bring that gives us more confidence that the system can keep on handling more and more data and we bring it only in the memory what is required and just leave out so that was just one example yes we are actually in talks to do it there are couple of things like we want to be sure before we make it open source like there are some like I just said this is like a customized to a data model we don't want to just go out there what makes sense only to us and not to others so we have to take it out of the system and expose it as an interface and that if you want to realize these potentials then you get this data into this format and then be able to explore these potentials and the second thing is we are lack of people to do our work like very old type situation so to make a good system document it and make it usable by others it takes some amount of effort then there is also thought in where to open source it we can open source the system as it is or we can break it apart there are many parts like automatically selecting the queue non-rains and the system which is going to take care of it's catalog and the query operators and data drawings you could give back to find so you could use a break the system apart and contribute to multiple systems so users don't have to have familiarity with later in the system or the easier way would be just to clean it up and give it up so we are still thinking about the best way to do it yes, yes so data doesn't come in form of JSON like we add some records in the form so they want to read it out to run that query on it JSON is very, very temporary format it's like one day left format after that we store everything into protocol workers for the system we don't store anything in JSON yes basically as you can call it what you do is there are two parts of it how many dimensions and measures have you requested for the complexity of the queue it is going to and the third part is for how long have you queried so some mixture of these three attributes tell you what the cost of querying is so this is like a front page when the user logs in now if you see here this is an empty space and here you have a list of all the feeds they are glued together so there is no concept of what queue you want to go with or do what all you do is like you want to see the number of clicks so these are dummy data this is only for representation purpose here for the feedback we got when you are building a query many times you realize the mistake later on that this is not what you wanted and if you present a visual structure of the query to them then it becomes a lot more easier to fill so you select like I say I just want two measures and I want to group it down by country and I want to group it down by time stamp and from time stamp I will take date wise and I could have drag filters here so if I put country here you could have multiple country or something and you can have multiple filter conditions and just move it and you can say run so at this time you can do three things, either you can run it or you can schedule it for periodic runs or you could just save it as a template query for later and once you are here you just select for what date range or dog duration of the data you want to run and say something now if you go come to the running portion like I can say a lot more queries so this query is currently running by someone else it's a bad query like not a bad but a long query mine just got submitted so let's see how the data time has been looking for so I could just like pull up the data for this query I have prepared a query to show you that is for data and there is some normalization of data and fabrication of data not to be about actual numbers but you see like the query times here so like one minute, one minute 17, two minute, under one minute two minute, four minutes, 44 seconds 57 so in general the query times are pretty fast for the queries that matter to people it's very very fast so I will just pull up one query which I ran earlier in the day so if you will do this query you can either go and download this thing you can see my mouse here or you can read the query or these are the two kind of we are just starting with the visual analytics for the data to do this is a simple one which will so this tool will just pull out the data from the report and show it to you so you can do filtering and sorting and all sorts of thing here you can sort it down but this like you can see the data is so much it's hard to make sense out of it probably you won't be downloading into Excel and doing something more with it so to overcome that we have like this another tool so this is like the same data in a chart this should be exciting so what I requested for I requested for 31 days of data or for 16 countries or 7 operating systems and these were some as good reference not getting the sense of the data and that tool, three measures I wanted was the as a question so the first thing I want to see is how are my business going across time and I want to see on a line chart so you can see here very quickly how your business has been doing there was some drop here which we try to see what comes to consider this drop but there was a drop here and we want to know why keep the chart here, we'll do a drill down so the entire thing has moved back you can come back to it and I want to see the same thing by country that whether one particular country has been doing this or is it for a day every country so I'll draw it again so this red thing here which is India so this was for July last year and very restricted data so India suddenly dropped about 10th July kind of thing and virtually became non-existent whereas this one is Thailand, even Thailand dropped so I can see that this pattern is the drop in the red view so impressions which I saw here was because of India and Thailand so before I go further into it I just want to see how is the relative impression distribution between these countries for impressions and place let's say I just take place and at this time I want my chart so this is again interesting you see that Thailand has the maximum share of impressions as place so I would probably want to go and check Thailand further because Thailand is the important country and it also lets you draw India comes second in the number and we also we also want to see why it is here now this thing you see here this is even interesting the inner pie is place and the outer pie is impressions so India is giving you on an average many more clicks as compared to impressions whereas if you take this country which is Indonesia it is giving a lot of impressions the green pie but the inner pie clickers but this was just one of them I want to see why that did happen in my entire business so I have selected Thailand here because in Thailand and I just drill down so now all my charting is restricted to only Thailand so now we check across operating system impressions and how are they contributing and what happens there so this is giving much better picture I can see that Symbian OS is giving a lot of impressions only Thailand then Nokia and if I want to see how they are contributing across Thailand then what I need to do is I select time and operating system so here I think become a lot clearer your Symbian OS suddenly had drop it didn't pick up much after that and this one where this guy was like others we don't recognize these two had drop which had led to a drop in impressions so these are the kind of things you can do now just one last thing let's say this entire thing instead of Thailand for India so all you need to do is like select India here and it just go all the way up and do all the easier things so you could do a lot of things and ultimately you could export these things you can see them do and they can export them as charts embedded in the PowerPoint and send it out to customers do whatever thank you


Your Coca-Cola bottler presents Claudia based on the famous play and novels by Rose Franken Brought to you transcribed Monday through Friday by your friendly neighbor who bottles Coca-Cola Relax and while you're listening refresh yourself. Have a coke and now Claudia Claudia Claudia David if you think you're fooling me pretending you're asleep you're not I'm not no What's the use I can't ever fool you? I'm awake. I saw your eyelids fluttering How are you David? No, no, no now don't talk go back to sleep. Don't I get a kiss? Well, I I guess I don't see why not and lean over Where would you like it on the cheek? I am not your son on the forehead. I am not a stranger Then where else I am your husband not much of one what there is left of me, but the law still says that I'm your husband then There there That was nice. I Never kissed a man in a hospital before How are you darling not me? How are you?  I feel as if I had to well I only see one. Well, that's your limitation funny face David don't talk if it hurts you. Oh, you think this is your big chance to do all the talking That's not I tend to make the most of it. You're not to exert yourself who says dr. Barry says No, what else does he say that you're coming along fine and Seeing as it's only two days since your car accident you're to keep quiet and lies still much as you'd rather not I wish I did rather not The truth of the matter is I don't Just the thought of getting up wears me out. Well, that's that's a good sign Maybe you can figure that one out. Well, it shows you're normal You're not supposed to want to get up You're supposed to want to lie back and sleep and sleep and and listen to me talk How long can you talk forever? How long did dr. Barry say I'd be laid up He didn't say no, you never were a good liar my honestly David He didn't say he said it depends on you and if I do have to be laid up Why can't I be laid up at home no special reason a few days? Maybe when you don't need nurses anymore to give you pills and things I Love to have your home David, but no, no, I Wouldn't come home till I was sure I wouldn't be a nuisance to you. That's a fine way to talk. I mean it This way you can take it a little easier. Please stop worrying about me David I suppose you're right. I suppose when a man allows another car to crash into it the roads were a skiddy It was raining ends up in a hospital with a concussion and a broken collarbone and an assortment of plums all over I suppose that gives him a privilege not to worry about his wife David Will you stop talking so silly none of this was your fault? The other man was drunk.   I don't blame you But it happened to me. I'd I'd be so angry. I'd I mm-hmm. What would you do? I'd hit the ceiling That I'd like to see Come here Ouch You need a shave. Oh, it's like the house of David. It's been two days. I Like you without a shave It's only two days only Honey, it's hard to believe I I missed you so much House is all different. It seems twice as big as it used to be. Oh, I forgot everybody sent you their love fritz birth and mama Even the baby or send them mine Even the baby will do Did you well fine fine that's what birth is most worrying about she says well you get home She'll fatten you up. Tell her I'm probably getting fat already Not having much exercise. Do you're good for a change? I've always thought you will you overdid? Oh, we did what work the office and on the farm you you you work too hard Oh, the workmen by the way, they started work on the on the barn this morning. They did I'm not so sure that we should I am I'm very sure Fritz asked me if we should go ahead with it And I said yes It'll be finished in just a month and it costs a lot of money We have it your thousand dollar bonus remember that was for you for the house and the furniture me and the Furniture can wait when you've got workmen. You must beat them while they're hot This confounded hospital business is going to cost money too. It's just about time. You spend a little something on yourself David I've thought of it. Oh, I thought it all out and the barn was the right thing to do I know it. Well, you're the boss. No, I'm not I Know it's right because you're the boss and you wanted it done. So one way or another it will be done Fritz has the plans that I Wish I were there too You lie back and don't talk anymore.   Yes, but you had a baby I'm not having anything. Are you jealous? You're darn right. I am You know it's strange but The night you went into the hospital to have the baby.  All right, you are Whoever decided women would be the baby bearer certainly knew what he was doing Somehow I can't see men doing it either We're not made for that kind of courage. I guess Now if you will be so kind mr. Norton is to try and plug up your stream of verbiage How do you like that for a word? You've outdone yourself. Well, anyway, if you're just trying to keep quiet.  Oh now Would you like me to read aloud poetry or detective stories? I brought them both along all time and the newspaper. I've got that too four of them. You will what? You just talk Just talk It's a It's better than any poetry.  She said and I quote There's nothing new cross your fingers at the office She said view not to worry and that thank goodness knock wood Architect business was slack and she was manicuring herself waiting for the phone to buzz a rule Shouldn't laugh that's supposed to be a comfort it is Would you rather the office be so busy that Lottie and Roger couldn't handle things count your blessings mr. Norton I'm counting then oh Jared Tucker called he wants to come and visit you he do he said Tell that young scoundrel.  That's what he said to tell you. Well, tell Jared. I ain't I'll tell him and then Oh, I know George Reynolds. Oh, you told me to tell you to hurry up and get well Thank you boys going to meet and vote the money for building the new school house They're going to vote the amount you said you're needed and they're not going to cut a penny off What do you think of that not cut a penny not a penny? That's good news said no matter how long it would take you to get well. Nobody's going to touch that building, but you It can wait We've We've got a swell bunch of neighbors up here. Well, they think you're pretty swell too. Oh In Gertrude called too. She's going to come and see you Oh, heavens preserve me and our neighbor Matthew Warren called You know, he and Fritz seem to be getting to be great friends. I thought they were and remember the little boy who? We went fishing with sure do the one who lost his father Mm-hmm. I remember him. Well, well he called this morning. I didn't I think he wants to be a father to Bobby while you're gone He knows what not having one means I guess I guess so Little say some water how did all these people know oh and there was a beautiful article about you in the Eastbrook Tom cryer Picture and everything Picture I don't know where they got that picture. I haven't even got a decent one of you Well, you can you can clip that one and you didn't take an article for people to know They'd have known I guess so that's the way it is up here people share happiness and they share everything Just think I hadn't married you. I'd never moved Eastbrook. I'd never have a lot of things Wasn't it lucky for me we got married Been quite a oh quite a year longer Year and nine days.  I even think that Going without it too long That can hurt even more.  Well, you don't have to go to that extreme Well, I haven't got anything more to say anyway. That'll be the day. It's funny On the way over I was just bursting with millions of things to tell you it was such a long time since yesterday Now that I'm here. It's also So dull I hear myself talking and it's You know, it's not what I want to say at all. What do you want to say? I Don't know exactly except Except I I miss you too Do you what do you think? It's anything the way I miss you. I Wasn't going to tell you I didn't want you to think I'm going around moping I know you're not how do you know because that's not the kind of girl I married kind of girl. I married can get along fine No matter what kind of girl you married isn't as sure of herself as you are of her I'm not interested in what she thinks of herself. You're not what I think is more important And I think she can get along fine. She's trying You'll probably come home to find the bank balance overdrawn the barn built wrong and all kinds of terrible things So don't say I didn't warn you on my oath. I won't David you'd like to go back to sleep. No, if you would just say so don't stand on formalities. It's all I've been doing Sleeping I'm certainly not going to do it while you're here The bed comfortable. Mm-hmm. I think I ought to leave you darling. You won't sleep while I'm here I'm tired of sleeping Dr. Barry's rules. Oh, maybe you're right. Maybe I will sleep I always knew you a lazy loafer at heart. Will you come back? I'll do even more than that Close your eyes Give me your hand Darling, I'll never leave you We get so used to seeing higher and higher prices, especially on food and drink We overlook the fact that a few things are still obtainable at the same low prices Name one you say very well. I will Coca-Cola you can still buy coke for five cents a bottle six for a quarter or a dollar a case and a dollar for 24 bottles of delicious refreshment is not very much you'll admit With which pleasant reflection I leave you Suggesting that you put coke on your marketing list today The David you sleep yet. No, just lying here staying at the light in the ceiling Well, just thought I'd drop in to say hello say you're looking pretty all right No, I'm coming along and you bet you are any day now. You'll be home So stop worrying, but I don't mean about you. I mean about Claudia. Oh, I've stopped worrying about Claudia She doesn't need it good and everybody's being most helpful and attentive especially Jared Tucker You'll be around on Monday by the way. I think he's you're understudy on the farm Well, don't tell him he isn't he's a fine guy. Well now that I've said hello so long David and chin up Every day Monday through Friday Claudia comes to you transcribed with the best wishes of your friendly neighbor who bottles Coca-Cola So listen again Monday at the same time and now this is Joe King saying or of war and Remember whoever you are, whatever you do, wherever you may be when you think of refreshment think of Coca-Cola Or Coca-Cola makes any pause the pause that refreshes and ice-cold Coca-Cola is everywhere The parts of Claudia and David on this program were played by Catherine Bard and Paul Crabtree and the entire production is supervised and directed by William Brown Maloney and Now here's a word from your friendly neighbor who bottles Coca-Cola


So there's the catwalk there, first person in it, quick check, you can see it, the first person after you check the catwalk, you come around this end. Keep going, Andy, retrace. All right, on the count of three, one, two, three.


ADA price breaks out of the 30 cents hurdle with a high volume and begins to rise. It gained the attention of the investors and got huge investor participation in the rally. Cardano crypto price gained positive momentum and succeeded in recovering the losses of the past six months. Buyers also managed to push the price above the 50-day and 200-day EMA showcasing that the trend has reversed upward. The 50-day EMA positively intersected with the 200-day EMA indicating golden crossover. It further boosted the confidence of the investors and added fuel to the rally. At present, ADA price is trading near the June month high and attempting to break out of the 40 cents hurdle. However, the prices are getting rejected and it seems like minor profit booking may come. Cardano price is currently trading at 37 cents, with an intraday rise of 6%. The 24-hour volume to market cap is 3.0%. Cardano's price prediction favors the bulls and suggests buyers will lead the up rally in the coming months. The positive momentum is intact and bulls are continuing the dominance. If the price faces rejection and witnesses profit booking then it may retrace down to the 50-day EMA. But buyers will remain active and may bounce back from the support. Till the ADA price holds the 30 cents level, it will be inside the bull grip and the probability of hitting a new year-to-date high will increase. The next phase of the rally will trigger when buyers can break the 40 cents hurdle. Till then, price might consolidate in the existing range. Resistance levels are 40 cents and 0.4615 dollars while the support levels are 32 cents and 0.3059 dollars. Some analysts believe ADA could hit a new 88th next year. Cardano's ADA reached a 6-month high near 40 cents, with analysts forecasting significant growth. Predictions include a rise to $10 by next summer and potentially $30 in the longer term. Notable predictions from analysts like Ali and Lucid suggest ADA could reach between $10 to $30, influenced by market trends and global economic factors. Analyst Fiery Trading predicts an extraordinary 10,000% increase for ADA, potentially reaching $35 by 2025, based on market analysis and bull market patterns. Although the token ADA recently spiked to a 6-month high of nearly 40 cents, however the asset's price is still far from its 80th level of almost $3, registered in the summer of 2021. Some analysts believe ADA could spike to that peak and even surpass it in 2024. However, the analysts did not specify when Cardano's coin might spike to that level. Contrary to the analysts' belief, Cardano may not be able to achieve a peak price of $1 before 2024. We are almost nearing the conclusion of 2023. This is not to say that there is no longer a chance to profit significantly. Buying near the support level might be a wise idea. The present market conditions indicate that a target of 50 cents may be reached shortly. Thus, purchasing at the current price appears to be a wise option.