Uh, before we get started, let's get the elephant out of the room.  If you don't know the reason why, then clearly you don't watch my other channel. So, thanks. Thanks for your help. This channel actually is almost about to hit a million. That would be nice. Can't do it without you guys. Now that that elephant has left the room, let's kick this other elephant out of the room because I want to say this video right here, right now, today is my very, very early impressions on Dragon Ball Kakarot and Fire Emblem Mirage Sessions Tokyo Encore Something long title. The reason why it's very early impressions, a lot of you, some of you, I don't care, might remember in December, Kim and I were supposed to go to Australia to, I haven't been home in like six years. It's a whole lot of my problem, not yours. I was really excited for it. And then I had some medical issues, a certain part of my body that I talked about in the video very awkwardly and I had to cancel the trip. I rescheduled it for the 23rd, it's the 21st right now. That has snuck up on me really quickly. These two games came out on the 17th. I have tried really hard to play as much of them as possible. I feel bad again. I usually try to, I mean, finish a game. It would be nice, but I try to at least get as far into the game as possible while the game is still relevant before I review it. I don't like being one of those people that rushes out a video on a game just for the views, but I don't really have time to wait. So instead, I'm going to rush out this video for the views. Sorry. So if you guys are okay with it, I am okay with it. I still plan to make this a fun, entertaining and exciting video for you to watch. And I do feel like I've played and experienced enough about these games to be able to give you guys a good first impression on them, and you'll be able to figure out whether it's a game that interests you or not. And if it does, you might just need to go and seek out further information before you make your final purchase, because I'm not far enough in either of them to really say yet. Oh, and if you sat there thinking to yourself, oh, what didn't need a haircut? He didn't have to cut off like two inches of his hair. Look how messy and tangled it was here. Hi, welcome to Chili's. What do you have dangling from your ear holes? Um, earphones? You're still using wired headphones in 2020? I'm sorry to interrupt you. I should have paged your pager first or maybe even sent you a fax. All right, dude. I get it. It's funny. Do you or do you want to double check with Ask Jeeves first? What are those plugged into? A walkman? No, look at you. Whoa, whoa, whoa, whoa, whoa, whoa, what are you? Brendon, praise your blast from the past looking boy. Look, I know you're here to sell me something. How about you just hurry up already? You got it. Raycons, the best and wireless earbud technology. They come in a range of fun patterns and colors. I got the blue ones.  You try them on. Well, these are actually pretty cool. The case acts as a power bank. So when you're done listening to the Raycons, throw them back in the case and it will charge them back up four times on a single chart. Wait a second. There's only one in here. Raycons started about half the price of other premium wireless earphones on the market. I've had their latest model, these E25s for a week now, and it's by far the best ones yet. Wow, six hours of playtime and seamless Bluetooth pairing and their noise isolating. But where is the other one? Click the link below to get 15% off these bad boys. Hey, future boy, are you listening to me? Where is the other one? Oh, it's right here. And now you've activated my greatest trap card yet because when I place this one in my ear, we'll fuse together and become one stronger ultimate being. Wait, what do you mean? Like the Battara earrings and Dragon Ball Z? How on theme for this video? Wait, no! This is our ultimate form. I really thought we would look, you know, cooler or something. Well, we didn't really look exactly the same as it was, so I don't know what you thought was going to happen. Are we at least any stronger? No, that's a no. Let's, let's un-fuse. We can't un-fuse? Great. At least we have Raycons. Look, I am a huge fan of Dragon Ball. We're talking, I've watched through all the anime of Dragon Ball, Dragon Ball Z, Dragon Ball Super, Dragon Ball GT, like five times each. I've, I collect all the figures and believe me, I have played all of the games or at least pretty much all of them since the Game Boy Advance days.  Don't go to... Don't hit that dislike button right away. I still love this game and I believe it is a huge step in the right direction for the Dragon Ball Z gaming franchise. It's just, oh boy, I wish they had at least taken some liberties with the story if they were going to retell it for, again, like the millionth time. I'm not kidding. I mean, we have Dragon Ball Z burst limit. We have Dragon Ball Z Raging Blast 2. We have Dragon Ball Z Raging Blast 1, which I can't find right now. Probably should have planned this skip beforehand. And of course they cut out a lot of the filler, which you might think is a good thing, but honestly, with all of these games recreating the same story and always pushing past the filler like it doesn't exist, this might have been the one time I would have been okay with filler. Well, thankfully that is not the only element within Dragon Ball Kakarot. You also have the combat, the fighting, and the exploration. So Dragon Ball Kakarot features that more open feeling 3D, moving around at your own free will, fighting that we've been experiencing since the 360 game, like Dragon Ball Raging Blast 1 and 2. However, they've condensed it a lot in Dragon Ball Kakarot. They've made it a lot less complicated, which is good because it was pretty complicated before.  All of that has been changed and simplified a lot. You really just hold down the left trigger. You can guard at any time, and if you want to dodge out of the way, it's the left trigger. And then A, it's a lot more simple. And I do like that, and I think it's going to be a lot more newcomer friendly. However, unfortunately, that leads to very repetitive feeling gameplay, which wasn't a good mix when I already felt kind of stuck repetitively into the same story. It all felt very rinse and repeat, and now it's just going through the motions. As the game progresses, then you start to unlock things like transformations, and you can go Super Saiyan and Kaioken, which is probably my favorite move in the Dragon Ball franchise. It does start to open up, and the battle starts to feel a little bit more different. But if you are strictly going battle to battle to battle, I do feel it will get repetitive. However, thankfully, we have a third element of this game we haven't touched on yet, and that's the exploration. Something that Dragon Ball games haven't really dived into since the GBA games was a more open world RPG feeling experience. And I do really like what they did with the open world in Dragon Ball Kakarot. Again, I can't help but mention that almost every element they included into the open world, and to the RPG mechanics, they all feel very half-baked and not unfinished, but they don't really go far enough in the direction to feel fleshed out. I guess. They don't feel fleshed out is what I'm trying to say. You can find side quests in the world too. Characters will give you extra bonus quests to do, and then if you complete that quest, obviously you get rewards, and then if it's a character within the Dragon Ball universe that you probably know of, then most likely it'll join your community, and you can then start throwing their little token around the community board, which we'll get to in a second. But these side quests also pretty much amount to fetch quests. Let's just go here and do this. Come on back. And then the community board that you get those tokens for, it's one of the many ways in this game that you can level up your characters. You can level them up in various different ways from cooking skills, which if you level that up, then when you cook, you'll get more benefits and rewards from cooking. I really liked moving the tokens around the board and trying to find out what relationships these tokens had with each other. Like Gohan and Goku, you pair them up next to each other, you get a stat boost because they're father and son.  You fly, you move around this game. You move around the world by flying because, you know, you could fly, so why wouldn't you want to? The flying controls terribly. I don't know why they've never managed to get this right in a Dragon Ball game. Usually in Dragon Ball games, the flying is pretty much the same way it is in Kakarot. However, in the other games, you really only do it within combat. So things like using the right bumper and the left trigger to go up and down, it's not as bad in a fight because you already are using all the other buttons to attack with and that kind of just makes sense. You go up and down during the fight, that's fine. But they took that same control scheme and they just gave it to you in the open world. You still go up and down by using the triggers and that just doesn't feel fluid in an open world. I hate to draw a correlation to a game like Anthem, but honestly, the one thing Anthem really did right was the flying. That game felt amazing. If you played it, you know what I'm talking about. They were trying to do a lot for the first time really ever.  Concepts and elements like flying around an open world and then running into a random enemy and the battle triggering in the open world and just getting to fight them right there. Like that's really cool and it's a step in the right direction. All of these RPG elements, they're all a step in the right direction, the exploration, meeting characters, leveling yourself up. All of this makes for a very fun Dragon Ball game and there was just enough new concepts in Kakarot that kept pushing me forward and kept making me want to explore more of the game. It's just there was so much of the same and so much of it wasn't really fleshed out that none of it actually kept me engrossed in the game and engaged in the game. It's not a bad game and honestly, if you haven't played Dragon Ball games to death like I have and this might be one of your first Dragon Ball gaming experiences and you've watched the anime and you think it's a bit of a right, this could be an amazing game for you but for a hardcore Dragon Ball Z fan that's played a lot of the games, I don't think it's a rush out and spend $60 on it title. Dragon Ball Z fighters is still the best one I think we've ever had but for a 3D fighting Dragon Ball game this probably is the best one we've ever had. It's just not that exciting for me but maybe it is for you. I don't know. All right, moving on. I think I was way too negative on that one. I didn't mean to be. It's just I have more complaints than I have nice things to say about it which I didn't realize until I started talking. I don't script these things by the way. I just blab from my face hole. I do like the game. I can be critical about a game. I can point out its flaws and tell it where it needs to improve while still enjoying it and I do enjoy it because it's Dragon Ball. Whatever, Fire Emblem. Let's talk about this one next and hopefully I'll be more positive on this one. I do have some things to say though. Surprising no one, this was a port from Wii U. One of the few Wii U games left that Nintendo hasn't yet crammed under the switch somehow. I'm actually all in favor for this because no one played them on no one played any Wii U games. So give us as many as you can Nintendo. I didn't think we would see this one come over but I was wrong. It's always nice to be wrong. And I did play it back in the day. I don't really remember how much I played and honestly I think I've forgotten more about this game than I remember. Like right out from the start I don't remember any of the characters, any of the cutscenes. Did I play this game? I think I talked about it at some point. I really don't remember. So I am going into this with a fairly fresh set of eyes. Forgetful, fresh set of eyes. So Tokyo Mirage Sessions Fire Emblem Encore is the full title. The game combines gameplay, narrative, and aesthetic elements from Atlus' Shimagami Tensai and Nintendo's Fire Emblem series. So the game has these beings known as Mirages who appear out of nowhere and then make everyone else disappear into nowhere. No one knows where they go and that's what you're trying to figure out. The game follows a group of young teenagers who pair up with these good Mirages who just so happen to be from the Fire Emblem franchise and together with the teenagers the Fire Emblem characters become Mirage Masters. So Tokyo Mirage Sessions takes most of its gameplay inspiration and elements from the Shimagami, from the Shimagami Tensai, from the Shinagami Tensai, from the Shinagami, from the Shinagami Magami, from the Shinagami Tensai. I don't care. The game takes its gameplay inspiration from that series and then some of the characters like Krom, who is the only one I know because I haven't played a ton of Fire Emblem games and I only know Krom from Smash Brothers. It takes some characters from Fire Emblem and uses them as the Mirages in this game to then become the Mirage Masters. But the actual main protagonist, teenagers, are brand new characters introduced into this franchise.  For a game that was supposed to be a collaboration crossover between Fire Emblem and Shinagami, Shinagami, what is wrong with me? I know how to say this. SM, okay? Which sounds like something else, but it's fine. FE and SM, okay? It really doesn't feature much or any of either of those franchises. Again, just a few characters which you don't actually play as more that just there and they fuse with your actual playable character. And then the game itself just takes inspiration from the setup of SM-style games.  I'm gonna be honest. I haven't played an SM game before, but I have played Persona 4 and 5 and this feels like a light version of that game which I really enjoy, since Persona 5 apparently isn't going to ever come to Switch. I don't know why. So if you're strictly a fan of Fire Emblem or SM, and that's really what you wanna get out of this game, you wanna see those universes come together in this really cool collaboration Smash Bros. style RPG, that's not here for you. That's not what this is and that's not what it's about. However, if you just like the gameplay in SM-style games and Chrome really does it for you, then this might be for you. The story follows you and your friends who are performers, singers, talent. Working for this secret organization who disguises themselves as a talent agency to try and figure out what is going on with all these disappearing people and you get warped into these other dimensions, Persona 5-4 style and that's in those dimensions where the Fire Emblem characters can reveal themselves, merge with you and then you can get into these battles and you can start killing things. And I do really like the way they set up the turn-based combat. Obviously, this game has such a heavily influenced by performing, by the arts, by singing and dancing and all of that. So when you're in the battles, it reflects that aesthetically. Like, while you're selecting an enemy to attack, it shines a studio light down on them, like they're standing on stage and all of a sudden they're the center of attention. The attacks are all very showbody and if you manage to actually hit an enemy's weakness, it'll trigger a combination move thing between all the characters which looks like an elaborate dance performance and it's called a session. Those are sessions when you manage to string attacks together. They look really cool and you're able to inflict a lot of damage that way, especially because it's triggered by a weakness. So you're really just crammed it into that enemy's weakness and sticking it to him. You also have performance attacks and those ones are the real flashy ones. That's where Krom will come out and start slashing his swords around and you can even chain those into session attacks and have your other characters follow up for even more damage. My biggest complaint, I guess it's not really even a complaint, it's just I'm a little disappointed by it. There's no English dub and that might be controversial. I know a lot of people like to play JRPGs with the Japanese voice acting. Every time I mention that I prefer English dubs, a lot of people get really like... But if the option is there, I speak English. I can draw more from that language. I can tell more about the emotions behind the characters when I can understand what they're saying and I'm not reading something. A lot of tone can be missed in text and I always feel like I'm missing a lot of tone when I can't understand what's being said and I'm just reading. I feel like it would have been nice for them to include an English dub for those that prefer an English dub just to have it there. And it wouldn't be such a big deal if there was subtitles, but weirdly, there's not. And of course throughout the game, everything has text anyway. Like just it comes up on the screen regardless. You can see what people are saying, but during battles, there's no text. There's nothing. And the characters are talking to each other. They yell stuff when they're attacking. Sometimes if it's a boss fight, the boss fight will literally have dialogue and say things. And there's no option to turn subtitles on for that. Like there's no subtitles, there's no text to back what they're saying. I don't know, it's a small complaint that maybe is actually a big complaint. I don't want to make a big deal about it because I don't want to look like a noob, a casual noob, but I would have liked it. Speaking of a lot of the cut scenes though, they are very well animated. There was a lot of actual anime animation throughout the game for the cut scenes that looks fantastic. And then there's even some parts that kind of splice anime with 3D, and it ends up coming together really nicely and looking fantastic. And then the music, which is obviously you want that to be good in a game like this that is so heavily centered around music and performances, the music is so great. Early on, there's this big performance in the middle of Shibuya where the star is being lifted up on a stage and it just sounds and looks really cool. Now, unlike Dragon Ball, I'm actually able to take this one with me to Australia because Switch is portable. Did you know that? What a shock. And I do intend to keep playing it, but I am a little butt hurt by the game right now. I'm not going to lie because last night, I was trying to play through more of it. I sat down and I had an hour long session and a lot of the stuff I talked about today was stuff I did in that session. I met new characters, learned about my mission, I went to Shibuya, I explored, I ate food, I bought items, I trained my singing talents, I was given tickets to see a show, I saw the show, all hell broke loose. I found my way into a new dimension, I killed things, I leveled up, I explored, I leveled up some more. And about 50 minutes into this session, I was introduced to savage enemies. I was told that savage enemies were stupidly difficult and hard to beat so you're better off running away, but you know me, you guys know me, big rough and tough Woodison. I don't run from a fight, okay? I at least wanted to find out what these enemies looked like, how tough they were, so I willingly opted into this fight and they completely wiped me out in their first turn. I didn't even get to attack. Okay, that's fine, kind of, I should have, the game tried to warn me, I got game over, it kicked me out to the main menu. So I loaded back in and that's when I found out that the game does not auto-save ever. You have to save this game all the time, constantly all the time. I'm talking like after every fight, unless you just want to risk it, because you never know when a death is around the corner and for me, it was an hour into a session. It was very frustrating. I can't stand games that don't auto-save. What, just save a lot, okay? Save a lot all the time, always and you won't have a problem and the game is fun. I like the game a lot. To recap, I would say, again, if you're a Dragon Ball fan who hasn't played many Dragon Ball games, then Kakarot might be perfect for you and if you've just played Dragon Ball games to death, I'm definitely not saying that it's not for you. I would just do a little bit more research and look into it more before you spend a full 60, but I'd say that game is worth it at almost any kind of price drop under 60 and I really hope that they flesh out this idea more in a sequel because it could go somewhere really awesome. Just right now it's just really okay. And Fire Emblem, Tokyo Mirage, Shin Megami, whatever you want to call that game, it's a very solid game and if you're really hurting, you're really begging for a persona-like experience on the Switch, it's the closest you're going to get and it's a game that stands out on its own right while not being better than either of the parts it's supposed to be comprised of and it's really not even comprised of them, but it's still a solid game that I feel like most, if not all, JRPG fans will love and be able to enjoy. Are they the most exciting releases for 2020? No. They were the first ones though and for that, they deserve a little, a little, a little round of applause for neither of them sucking and both of them being critical. Way more excited for things like Cyberpunk, Last of Us 2 and so many other games coming this year, Final Fantasy VII. So hey, if you want to see me talk about those and hopefully be nicer to them, ah, you're going to have to subscribe, please help me hit that million. I really appreciate you. I love you all so much. You're all fantastic. Thank you, Jordan, for editing this while I'm overseas away in Australia. I couldn't do this without you. You are all amazing, incredible people. Oh, look at that subscribe button. Isn't it cute? Isn't it sweet?  Again, like this video because apparently that helps. I don't know. I've been asking you guys to do like challenges recently and all those videos are doing better than my normal videos. I didn't think likes did anything anymore but apparently they do. So hit like, please. Oh, God, please. Why are you still here? Why are you still here? The video has finished. I've already gone. I'm not doing anything of value anymore. I'm snapping my fingers and I'm dancing on the floor. This is actually kind of relevant. Now I think of it for the topic at hand because it's a dancing game that I just reviewed. And now I'm kind of dancing but I'm more singing and the only thing that would make this any better is if I did a Kamehameha.


So we can also represent data in statistics using a variety of charts. And the simplest is a bar chart, and this is because sometimes it's hard to read numbers, and so will represent them using pictures. And all statistical charts, no matter what they are, are ultimately based on the unit concept. In a bar chart or a histogram, the magnitude of a quantity is going to be represented by the length of a bar, just as the length of a tape corresponds to the value of a number. So for example, let's say I have the grade distribution of grades in a class, and maybe it looks something like this. So for those who get A, there's 7, 9B, 6C, and so on. And so let's go ahead and construct a bar chart for the data, and we'll start off by finding the bars themselves. So we'll need to decide on how big we're going to make each bar. And the reality is that if it really matters, you're going to be using technology to produce an accurate bar chart. So the value of constructing a bar chart by hand is very minimal, and it's primarily done so that when you look at a bar chart, because you know how the bar chart is created, it is easier to understand what the bar chart tells you. So to create the bar chart by hand, we'll use two important guidelines. First one is free. However big we decide our units to be doesn't matter. Make it whatever size you want to. You will have to work with it later, so that's an important consideration, but it doesn't make a difference how big that first bar is. But you do want to maintain relative size. And what that means is that once you've decided how big the first one is, then consistency counts. Larger amounts should be represented by longer bars. So for example, the first category has seven students, so I'll draw a bar of random length. It doesn't really matter what it is. I'll draw it. My second category has nine students, and I have to think nine is more than seven. So the bar should be longer than the one representing seven students. So I'll draw a somewhat longer bar. And the third category has six students. That's fewer students than seven, so the bar should be shorter. One student, much less than either six or seven, so I do want to draw an even shorter bar. And finally, this last bar representing two. Well, that's more than one, so it should be longer than this. It's less than six, so it should be smaller than six. So maybe I'll draw something like that. And then I'm going to collect and label. Label is important. If it's not labeled, it doesn't mean anything. And I'm going to collect and label to form the chart. So I'll take my A bar, label it A, my B bar, label it B, C, D, and F. And importantly, the bar chart can go in either a horizontal orientation like this, or we can also run it vertically like that. So either way is acceptable as a bar chart. There really isn't any distinction between the two of them.


statistics and excel normal distribution heights of baseball players data example part number two get ready taking a deep breath holding it in for 10 seconds looking forward to a smooth soothing excel first a word from our sponsor yeah actually we're sponsoring ourselves on this one because apparently the merchandisers they don't want to be seen with us but but that's okay whatever because our merchandise is is better than their stupid stuff anyways like our accounting rocks product line if you're not crunching cords using excel you're doing it wrong a must-have product because the fact as everyone knows of accounting being one of the highest forms of artistic expression means accountants have a requirement the obligation a duty to share the tools necessary to properly channel the creative muse and the muse she rarely speaks more clearly than through the beautiful symmetry of spreadsheets so get the shirt because the creative muse she could use a new pair of shoes if you would like a commercial free experience consider subscribing to our website at accounting instruction dot com or accounting instruction dot thinkific dot com here we are in excel if you don't have access to this workbook that's okay because we basically built this from a blank worksheet but we started in a prior presentation so if you're starting from a blank worksheet you may want to begin back there if you do have access to this workbook we now have six tabs down below the two green example tabs in essence answer key the two blue practice tabs having pre-formatted cells in them so you can get down to the heart of the practice problem the two white blank tabs are where we started with just our data set and a blank workbook so we can practice formatting the cells within excel as we work through the practice problem this is of course where we will continue at this time let's do a recap of what we did in the past we started out with our blank data over here we have data related to baseball so baseball statistics which you can get in different places if you don't have any data sets you might want to go to cattle dot com is one resource and there's also a lot of baseball related data that you might be able to pick up to practice with we then sorted this information created a table from it picked up what we wanted from it which are the heights and we pulled the heights over to our blank tab as our starting data points we can just work with this information we picked up the mean the standard deviation the median the mode we noted that the mean is similar to the median as well as the mode which is an indication that our data set is following a bell shaped type of curve so might be able to approximate it with a bell curve so we then plotted the bell curve figuring out the bottom and top point of our x's so we can pluck out our x's which are going to be on the you know the x axis here and then we used our norm dot dist function and we also then compared the actual data in a frequency distribution and look at the percent of the total compared that to the normal distribution so that we see this chart so now we can see that they're pretty similar in nature which again is an indication that that bell curve will give us some predictive power we looked at the difference which also indicates that there's a fairly small differences that the bell curve will give us some predictive power so now what we want to do is think about how can we create a bell curve with an area type of graph and then think about how we can kind of draw a line so we could see the above part of the bell curve the below part of the bell curve and like in between type of questions so let me show you what I mean here we we could ask questions such as what if p of x is greater than greater than or equal to let's say 79 and close that out now in order to plot this I'm going to let's let's actually bring this down here and I'm just going to say above this x is going to be 79 or let's actually I'll just keep it where I was I'll just pull this back up what I want to do is make this dynamic so I can change this 79 and it will change this label and we'll also use this label up top so this is our fancy label here I'm going to double click on it and in the front of it I'm going to say equals I'm going to put quotes around this because this is the text all the way from the p to the equal sign I'm going to end that quote so that means it's just going to show up as just the text then I'm going to connect it to with an and and then this 79 I want to refer to this cell you can't see it anymore because it's covered up but I'm going to select this 79 put my cursor down here and then up to that cell so now that 79 is in that cell so I'm going to replace it with that d13 which will give me the 79 and make it dynamic and then I'm going to say and to connect it again to the last bit of text quotes which is that bracket quotes and then close it up so now it's dynamic so I can make this 80 and my title turns to 80 right now if I was to if I was to do that now I'm looking for everything that is above 79 so if I was to go here you would think it would be from here to here and you can highlight that it comes out to 1.78 but I can't do it I can't do it that way I can't just sum it up because we need the area under the curve so if I was to do this I would have to say one minus the norm dot dist so I can then say okay uh this is going to be equal to one minus norm dot dist and then I can pick up the x which is going to be this and then comma the mean is the 7370 and then comma the standard deviation 2.3 comma and it needs to be cumulative therefore true or one and close it up and enter so let's percentify that home tab number group percentify add a couple decimals so it's close to to this but uh not well it's pretty close but not exactly the same right now I would like to see that pictorially in a graph so I'd like to be able to plot that pictorially so let's also add the z here and because the z is also a common type of reference to indicate how close someone is to that middle point so it's a great term and so I'm going to then make this white black white and uh let's center it and so the z is going to be calculated as we're going to say equals brackets we're going to pick up each individual x minus the mean and then close up the brackets and divide it by the standard deviation so it's kind of giving us how far out we are the x is in terms of standard deviation and then from the mean so let's double click and copy that down ah wait a sec I can't do that something is wrong something has gone horribly horribly wrong what happened these two numbers need to be absolute referenced so the ones that are in column D so I'm going to put my cursor in d2 f4 on the keyboard d3 f4 on the keyboard dollar sign before the d's the twos and the threes enter put my cursor back on it then double click the fill handle and boom so then you could see the middle point is at 73 70 so between here and here 73 and 74 that's where you're at that middle point that's where the z score would be at you know the mean at zero okay so then I'm also going to say this is going to be equal to the uh uh this dynamic reference and now we have this dynamic reference up top and we can plot it as well let's make that black white and center it all right so now let's actually start to build our graph so I'm going build my normal distribution graph using the percentages over here from the norm.dist I'll put my cursor on the title control shift down make sure you don't pick up the 100 shift up so we just have our data inserts on the left we're going to say insert this time an area graph and so I'm going to pick this one drop down area something like that so I'll pick that one up I'll pull that to the right and then I'm going to try to try to make this a little bit more fancy so I'm just going to remove the title so I can make it kind of as big as I can and then the the bottom x is not correct because we want to start it not at one but at 64 so I'm going to go up to my chart design my data and then on my x which is on this side edit it and then it's a little finicky so make sure you're picking it up here control shift down don't pick up the total shift up and then enter and so there we have it so it looks like it's picking them up correctly over here so I'm going to say okay so there we have it so then we could see that that middle point is where we would expect at like the 74 and then you've got this kind of normal distribution that looks about right now sometimes we might want to have the z score at the bottom as well so I can see the x in terms of x's as well as x's in terms of the z the z score so that would be kind of neat to have so it's a little tricky to do that sometimes and sometimes we have to add it'd be useful to add another column in order to get that z score a second x down here a second x horizontal so to do that let's first get some other data this is going to be the p of x is greater than or equal to 79 so what I'm going to do now is I'm going to say that I want to pick this number up when it gets to 79 or higher right and and everything else I want to be blank so I could do it this way I could just say okay well this is going to be equal to this up to here and then plot that that would work but I want to do it so I can change it automatically by just changing this number so I could use I can use a logic function to do that which would look like this so I'm going to go up top and say if equals if brackets here's my logical test if this number is greater than is greater than or equal to the this number 79 I'm going to f4 that number because I want it to be absolute f4 dollar sign absolute reference in other words dollar sign before the d in the 13 then comma that's what the comma means in my if reference the value what do I want the value to be then I want the value to be this percent value so do that if not comma what do I want I want you to leave it blank meaning double quotes because there's nothing in the middle that's my text format so it'll just do nothing there close it up and enter and that nothing's there because it's under so I'm going to double click the fill handle and I should see it show up down here I'm also going to add the formatting home tab number percentify and decimalize and there we have it now you could get an approximation by summing it up down here alt enter and let's pull it up to the top it guessed wrong the dancing ants need to go up to the top so it'll be dynamic and then let's percentify this one home tab number percentify we get the 1.78 which is not the same thing we got over here you would think what this would be the more correct calculation because you can't just sum it up because we're talking about the area under the curve but now that we have this we would like to add this to our graph so that we can get that pictorial representation so I'm going to go back to my graph over here and say we want to add another data set so I'm going to click on it go to my chart design up top my data up top I'll pull this over here so I can see it a bit better and then we want to be pulling up this data on this side so I'm going to add a whole another data set I'm going to name it with that dynamic name that we put up top so here it is fancy name being added and then the data set I'm going to remove this click here it's a little finicky on this one so be careful you want to put it up top to pick up the whole thing and then control shift down make sure you don't pick up the total so shift up so there it is and then okay so there we have it and so there you have it it draws that kind of line it's a little bit kind of wonky because we don't have a whole lot of data that we used to populate this but it gives you that line so I'm going to say okay and there we have it so I'm going to say okay and there is our line over here at the 79 so we have the 79 you can imagine pictorially that that orange bit then is representing this this part which should have an area under of 120 right we could see the pictorial representation so now I could say all right let's see if I can add a legend to it clicking on the plus button legend so this blue is the p of x the whole thing and then the orange is the p of x greater than or equal to 79 now remember if this p of x is greater than or equal to 79 we also know that the blue one is going to be kind of you know the inverse everything less than or equal to in essence the 79 right but so we can use this one graph then to answer other questions as well such as what would it be less than or equal to would be the blue side but we might want to hold another graph to to represent other questions as well so the next thing that we might have is for example a type of question where it says p of well before we do that let's actually also add the z score to this so I want to add the z score which I can do now so if I like double click on this for example it should open up the format data and then I'm in this area to the right and we have the primary and secondary and we want to have a secondary axis so I'm going to have a secondary axis because I want to add another x so I can show not only the x's but also a z so I'm going to say okay it's a little off kilt right now but I think it will still be okay so I'm going to delete this bit I don't I don't need this so I'm going to click on that and delete it that brings it back to looking correct at least and then we're going to go up to my data up top and on this second data set I'm going to use a different a different x so I'm going to pick it up by selecting the edit and then I'm going to say the x is going to be named or the z so that's the name that we oh I need just the range the range so that's going to be from here down to here no total that looks good so I'm going to say okay make sure it picks up you can see it picking it up over here so that looks correct I'm going to say okay it doesn't look like anything changed until I hit the plus button and in this x axis I'm going to hit the arrow and then say I want a secondary horizontal and so there it is it picks it up closing up this little green now I'd like to bring this down to the bottom you could leave it there looks fine but I'm going to bring it down to the bottom because I'm used to that so I'm going to double click on it I'm over here in the format and I'm going to go down to the labels and then I'm going to say to the label position bring it low bring it low swing low swing I don't know why that song came into my head so there it is so now we can see that the z we can see this x by the z position as well as the x and oftentimes you'll have questions in terms of x's or in terms of a z score okay so now we might have other questions we might say okay well what if we said p of x is less than less than or equal to and let's do the 79 just to show that here now again you could use kind of the same graph because you could say well if p of x is less than or equal to 79 it would be like the inverse of this which would be kind of the blue but we might want a whole nother graph so let's make this dynamic first I'm going to say let's put the 79 out here so I can change that and then it'll change this label automatically double click in the label go into the end of it equals quotes from the p all the way to the equals to make it a text field and then shift or an and to connect it and then that's 79 I'm going to highlight it and replace it putting my cursor down onto that cell you can't see the 79 but it's in there and then I'm going to tie that to with an and a text field quote to close up the brackets end quote and enter so now I can change that 79 to 80 or something and it changes automatically all right so the calculation then is going to be it's going to be a cumulative you can see it here up to and up to the so it's basically the blue bit right so I can say well this is going to be equal to the norm dot dist and then the x is now going to be the 79 comma and the mean is going to be this and then comma the standard deviation we calculated here comma cumulative yes true or just one and enter let's format it home tab number percentify it add some decimals and we're out at 100 percent that seems awfully high let's bring this down to 79 right and so there it is so and we can also see it this way I can say this equals the same one and this is going to be equal to one minus this number right and and then hold on a sec let's percentify at home tab number group percentify and we get something slightly different because it's right on the line there of the 79 if I double clicked on this one and I changed this to this minus 0.1 or 0.1 right then I get a little bit closer but I'm going to keep it where it is because what I would like to do now is to practice plotting another graph like that so I'm going to go over here I'm going to make another column and I'm going to make it dynamic by picking up this here so now this is going to be p of x is less than or equal to in this case 79 and of course again we can change it by changing this dynamic field but I'll keep it there for now let's make this black and white so I'm going to go font tab black and white and let's then center it and so so now I actually want to see it on a different graph this time so I'm going to actually pick up another graph and let's start at our same starting point I'm going to pick up the p of x and shift up so I don't pick up the 100 insert it's an area graph charts drop down I'm going to pick up an area graph down here that's the one and then I'm going to delete the title of it and let's build this in the same format so I'm going to adjust the x's so I'm going to go to the chart data data select and choose the edit I'm going to replace the x's over here with my axis control shift down shift up to not pick up the total okay there they are that looks good so I'm going to say okay then I'm going to add this column this time so I'm going to put my cursor here I'm going to go chart design data and then I'm going to say select data let's go to then the add so I'm going to add data the series is going to be this name remove this stuff down here and I'm going to click on this little icon put my cursor up top so I can make it dynamic picking up the whole column control shift down and let's hold on a second it went too far you've gone too far what are you doing well hold on I don't have anything in here yet I can't do it so I'm going to select the data and then I'll set enter and then I'll say okay nothing's there yet because I haven't added the data which would be useful so I'm going to say okay what am I going to do to get the data I'm going to say using our logic test again because I want to pick everything that is going to be less than the 79 so this time we want to say less than and including so I'm going to be picking this one up you can see that's where kind of the overlap is so we're going to take that up to there so you would think would be like this amount 99.44 if I was to add it up that way doesn't tie out to these numbers over here because the area under the curve so this is going to be equals if brackets and I'm going to say if this number is less than or equal to this 79 this number then comma what do you want you to do I want you to pick up this number then the related percentage but if not comma that's what the comma means I want you to leave it blank double quotes to leave it blank closing up the brackets and enter so it puts that in there I'm going to percentify it home tab number group percentify adding some decimals double clicking on the fill handle to bring it down it doesn't work because I didn't do some absolute references double clicking on it again everything that's outside of my area of work this number in particular d15 I need to make absolute put in my cursor d15 f4 on the keyboard dollar sign before the d and the 15 enter let's try it again put my cursor on it double click and taking it down so there it is so now you can see it brought it down it gives you this little tweak down here so you can see it's quite small on the upper end because we don't have a whole lot of data but you get the idea I can make this let's make this something different now let's make it 76 so now the orange area represents this I can add the legend plus button and say I want the legend and boom so now we have that there and so so now we have that as a dynamic and the orange is representing this column so we can also add the z score of course too so I could say let's double click on this secondary access and then close this up delete this stuff don't need it and then in my data up top I want to go to the second bit and now delete this or change it to be picking up my z scores and okay and boom and bam and now I need to hit the plus button and axes add the secondary axis and there it is plus to get it off of that again turn that off and then double click on this bit I'm going to bring it to the bottom under the labels and then bring it down to the bottom poor father or if you please and then lower it and boom so we can do that so now we've got that graph now the last one you might say okay well what if I what if I want a between graph so there's a couple different ways we could do it but if I'm going to ask a question what if it's between this or that right I'm going to bring this one down here okay well then we can do another we can do another one if we want to do and say I'm going to make one where it's good where I have let's say a lower and an upper to get between right so now I'm going to say something like p of x and I like to do it this way this is probably not the best way to write it but I say I like to say that x is going to be greater than or equal to let's let's say it's going to be greater than equal to 72 and 72 and less than less than or equal to 79 something like that I'll make this a little bit larger so that might not be the most perfect way to write it but that's what kind of makes sense to me right so it's going to be between 72 and 79 including 72 and 79 so I'm going to say the lower bit is 72 upper bit is going to be 79 is the point if I want this to be my title up top I want to make it dynamic so I can change the lower and upper double clicking on this I'm going to say equals quotes from all the way from here to here I want to be text so quotes and then I'm going to say and an and to tie it together I'm going to select the 72 and pick it up from here so it picks up that cell and then this and I want to be text so I need another and and then I'm going to tie it to the text quote of the and so one and is is code and the other and is text so I'm going to tie it to and actually I want the and all the way over to this end quote as text and then another and to tie it to the 79 which I want to be referenced not as a hard coded number but this upper cell and then I also want to tie that to with another and and then quotes around the last bit of text which is closing up the brackets so that's awfully kind of confusing looking but it works beautifully and if you do it a few times it kind of you kind of get you kind of get the hang of it right so if I was going to do that with a with a calculation here it would look something like this we'd have to say I've got to make I've got to take everything up to the upper limit minus everything up to the to the lower limit and so I'm going to say this equals norm dot dist and the x is going to be on the upper limit 79 comma mean 73.7 comma standard deviation 2.3 comma cumulative yes or one closing it up minus norm dot dist tab x lower x 72 comma mean 73 70 comma standard deviation 2.3 comma cumulative yes or one and close it up and enter let's percentify home tab number percentify adding some decimals and so there we have it now if I wanted to to graph that I'm going to say all right let's say this is going to be equal to my dynamic reference over here and then I'll center that home tab alignment center rapid font group black white okay and then I'm going to say okay so so now with my I instead of trying to do an if function that picks both those up I'm just going to take these two and I'm going to say that that I want you to well let's do it this way one way you can do it is you could you could try to plot the lower you can plot the upper and then you can try to sum them up only if something is showing if it's greater than or equal to zero or something like that with an if function or I could do I could do something like this I can say this is going to be equals if brackets and then there's basically two tests that need to be met so I'm going to embed now an and function so now I've got an and within my if so I can have my two tests so if I'm going to say and then and the logic test is going to be this number the x if that is let's say we're going to say that has to be less than or let's say it has to be greater than or equal to the lower bit the 72 and so I'm going to say a comma and we also want to say that this number over here is going to be less than or equal to the upper limit 79 that closes up our and so we've embedded those two conditions in the if using the embedded and and then what then I'm going to put a comma what are we going to do if that's true well if that's true then you pick up the p of x and then comma if it's not true we just want you to leave it blank which is two quotes and then close it up and enter so nothing's there if I double well now I'm going to double click on it again I need absolute references for these two cells which is on in columns d and e so anything on d and e so this one f4 and then this one f4 making them absolute dollar signs before the letters and numbers enter and then double clicking on the fill handle to pull it down and then you can see it basically adds up that middle bit let's highlight this whole thing home tab number group percentify adding some decimals all right so now let's just do another once again our our chart so I'm going to start the same way control shift down shift up insert charts drop down here we want an area chart going to pull that to the side remove the title going to scroll to the side a bit I'll do this a little bit faster since we've seen this a few times I'm going to go to the data up top go to the x's select the data I want to fix these x's selecting this one I'm going to pick my x's control shift down shift up and all right and okay so boom the x's have been entered then I'm going to pick up my second data set going to the charts data again adding the second data set which is going to be named this my dynamic name removing this bit I'm going to select this item so I want to pick up the whole range even though there's only data in the middle of it and say okay so there it is it pulled it in okay boom that looks good and then I'm going to so now you can see that this is the upper limit so right this is in the middle there even though it looks like it's almost kind of picking up the whole bit because that triangle but that's fine so now I'm going to say all right let's double click on this one giving us our format data series make our secondary axis closing this up I'm going to remove this bit because I don't need it and then I'm going to go into my data again second data set changing the secondary axis to be the z score control shift down and okay it didn't pick it up notice that it's a little finicky sometimes because I could see it didn't do it what did you do excel close that up I'm going to select this it's a little finicky control shift down I'm not going to get upset what did you do excel why did you even do that man why did you even do this like I don't even know you anymore excel okay don't be too hard on excel we're going to say there it is so then so then I can hit the plus button and then hit the arrow secondary horizontal and then okay and then I'm going to pull this down to the bottom double clicking on it labels and bring it down to the bottom lower and so now we've got this between one which is dynamic because if I make the upper limit let's say let's say we make it between 74 or something like that now you can see it basically gives you that between so you might not need all of these graphs to to to represent your data one would probably be fine but you do want to be able to build them so that you can represent your data pictorially because it's it's often quite useful to do so let's just do some formatting on this now I'm going to select this whole thing I'll just make it I'll make it home tab number select the bucket let's make it blue let's make it bordered so there we have that and then I can select all of this stuff let's make it home tab font group blue and oh not white undo undo control z let's border that and we could sum these up if we want to alt equal just to sum up our totals alt equal may as well alt equal oh not that way what are you doing what are you doing excel uh you want to pick the stuff above you know what I wanted don't play don't play dumb don't play dumb with me excel I see what you're doing I see what you're doing think you're so smart but I can tell all right so there we go now we should have a space between our table over here I feel like so I'm going to put my cursor on column f right click and insert and then I'm going to clear the formatting in here just so I have that interim white uh bit so they're not all connected together with my table I'm going to go back to my home tab and make some borders around that and so that will help you to basically answer questions and look at it pictorially whether you're giving x's or whether you're giving z scores and then you can and then you can draw and you can draw various graphs even if you can't draw them by hand let's do a quick review on the spelling did I how was how's the spelling looking it's perfect it can't be spell check must be wrong but there it is it's good good enough


The U.S. government sees Silicon Valley as part of its propaganda machine. The Biden administration is reportedly considering opening a national security review of Elon Musk's business ventures, which could see the plutocrats' purchase of Twitter blocked by the White House, in part because Musk is perceived as having an increasingly Russia-friendly stance. Bloomberg reports, quote, Biden administration officials are discussing whether the U.S. should subject some of Elon Musk's ventures to national security reviews, including the deal for Twitter Incorporated and SpaceX's Starlink satellite network, according to people familiar with the matter. U.S. officials have grown uncomfortable over Musk's recent threat to stop supplying the Starlink satellite service to Ukraine. He said it had cost him $80 million so far. And what they see is his increasingly Russia-friendly stance following a series of tweets that outlined peace proposals favorable to Vladimir Putin. They are also concerned by his plans to buy Twitter with a group of foreign investors, end quote. The group of foreign investors the Biden administration is reportedly worried about oddly includes Prince Al-Waleed bin Talal of Saudi Arabia, who has already been a massive Twitter shareholder for years. The White House certainly never had a problem with foreign investors there before. Officials in the U.S. government and intelligence community are weighing what tools, if any, are available that would allow the federal government to review Musk's ventures, Bloomberg writes. One possibility is through the law governing the Committee on Foreign Investment in the United States, CFIUS, to review Musk's deals and operations for national security risks, they said. Musk, the world's richest person, has taken to Twitter in recent weeks to announce proposals to end Russia's war and threaten to cut financial support for Starlink Internet in Ukraine, says Bloomberg. His tweets and public comments have frustrated officials in the U.S. and Europe and drawn praise from America's rivals. If the Twitter acquisition was to be reviewed by CFIUS for national security reasons, the agency could recommend to President Biden that he nicks the deal, something Musk himself has tried and failed to do in recent months, writes business insiders Kate Duffy on the Bloomberg scoop. Indeed, Musk has already indicated that he'd find it funny if the Biden administration blocked his purchase of Twitter, a $44 billion buy that the Tesla executive has made every legal effort to back out of. But how revealing is it that someone could be forbidden by the White House from purchasing a giant social media company on the grounds that they are not sufficiently hostile toward Moscow? Neither Bloomberg nor any other mainstream members of the Imperial Commentariat appeared to take any interest in the jarring notion that the U.S. government could end up banning the purchase of an online platform because it views the purchaser as having an unacceptably Russia-friendly stance. Not only is it uncritically accepted that the U.S. government mustn't allow the purchase of a social media company if the would-be buyer isn't deemed adequately hostile to U.S. enemies, but mainstream liberals are actively cheering for this outcome. There's a viral tweet from Duty2Warn, breaking Biden is considering blocking Musk's Twitter deal due to close 1028, worried by his threat to stop supplying Starling to Ukraine and his Russia-friendly peace proposals. The Committee on Foreign Investment in the United States can nix the deal. This just says so much about how the U.S. government views the function of Silicon Valley mega-corporations and why it has been exerting more and more pressure on them to collaborate with the Empire to greater and greater degrees of intimacy. As far as the U.S. Empire is concerned, Silicon Valley is just an arm of the Imperial propaganda machine, and Empire apologists believe that's as it should be. None of this will come as a surprise to anyone who's been paying attention to things like the drastic escalations in online censorship since the war in Ukraine began, including on Twitter, or the ongoing expansion of Internet censorship protocols that were already well underway before this war started. It will also come as no surprise to people whose ears pricked up when the White House summoned top social media influencers to a briefing in which they were instructed how to talk about the Ukraine war. It will also come as no surprise to those who paid attention to the public outcry when it was discovered that the Biden administration was assembling a disinformation governance board to function as an official Ministry of Truth for online content, or when the White House admitted to flagging problematic posts for Facebook to take down, or when Mark Zuckerberg admitted that the censorship of the Hunter Biden laptop October surprise in the last presidential race was done in conjunction with the FBI. It is abundantly clear to anyone paying attention that Silicon Valley tech companies are a major part of the Imperial narrative control system. The U.S. Empire has invested in soft power to an exponentially greater degree than any other empire in history, and has refined the science of mass scale psychological manipulation to produce the mightiest propaganda machine since the dawn of civilization. Silicon Valley is being used to manipulate the way people think about world events via algorithm manipulation, censorship, and sophisticated information ops like Wikipedia in an entirely unprecedented way that is becoming more and more important to Imperial control as the old media give way to the new. Narrative control centers like Silicon Valley, the news media, and Hollywood are just as crucial for U.S. Imperial domination as the military. That the U.S. government is weighing intervention to stop the purchase of an online platform because it lacks confidence that the would-be owner would reliably advance U.S. information interests is just the latest glimpse behind the veil at the Imperial agenda to control human understanding and perception.


Live from Las Vegas, it's theCUBE, covering AWS re-invent 2017, presented by AWS, Intel, and our ecosystem of partners. Welcome back, we are live here in Las Vegas, located at the Sands, day three of our coverage here at re-invent, AWS starting to wrap things up, but still I think making a very major statement about the progress they're making in their market. 45,000 plus attendees here, thousands of exhibitors and exhibit space being used here in hundreds of thousands of square footage, certainly reflection of the vibrancy of that market. I'm with James Kobielos, who is the lead analyst at Wikibon and we're joined once again, second appearance on theCUBE in one day. How about that for Naeke Nair, who is the president of Digital Services Management at BMC. Naeke, glad to have you back, we appreciate the time. Thank you, John, thank you, Jim, great to be here and I'm becoming a pro at this, right? You are, I know. Second time of the day. You get to collect your card and you win a prize by being on theCUBE more than once a day. Twice in four hours, that's a pretty good track record.  Tell me about, first off, just your thought about the show in general. I mean, you've been in this environment for some time now, but I'm kind of curious what you think about what you're seeing here and the sense of how this thing's really taking off. So first of all, it's just the energy, the vibe, the fun that we're having here is just amazing, but I don't want to draw up to the keynote that Andy did yesterday. It's just phenomenal, the pace at which AWS is innovating. Just to be releasing over 1,300 features in a year, that is just phenomenal. I think he said innovations in a year, which I'd like to hear. It's just a year. Did he say features? Okay. Yeah, I think so, but independent of that, I'm just saying the pace at which and the amount of new stuff that they're bringing to the market is just phenomenal. Customers like us, vendors, it's just phenomenal. We hear a lot about, I mean, it's the buzzword, digital transformation, so what does it really mean to service, what transformation is happening in that? What is that pushing you on that side of the fence? How do we think about now? You know, you said the word digital and sometimes it's very hyperused and what we have done at BMC since our core is service management, we have defined what service management looks like for our customers in this digital age and we have defined it because we were primarily in IT service management for the last 10, 15 years. The future of service management in this digital world is what we call cognitive service management where service management is no longer just reactive, it is proactive, right? And it is also conversational through various agents like chatbots or Alexa or virtual agents, so it's a complete transformation that we are experiencing and we are driving most of that change for our customers right now. And of course, the word cognitive signals the fact that there's some artificial intelligence going on behind the scenes, possibly to drive that conversational UI. With that in mind, I believe that you, BMC, you are one of AWS's partners for Alexa for Business, is that true? And you're bringing it into an IT service management context. That sounds like an innovation and you tell us more about that. Absolutely, so we announced partnership with AWS and multiple fronts, one of them is with Alexa, right, Alexa for Business, where we do integrate with Alexa for providing that end user experience. Alexa was known for consumer world, right? My son uses it all the time, yes, absolutely. But now we are looking at how we could bring it into the enterprise world, especially to provide service to all employees so that you don't have to actually send an email or pick up the phone to call a service agent. Now you can actually interact with Alexa or a chatbot to get any service you need. So that's what we call omnichannel experience for providing that experience for end users, employees, customers, partners, anyone, so. So do you have right now any reference customers? It's so new, or can you give us a sense for how this capability is working in the field in terms of your testing? Do business people understand or are they comfortable with using essentially a consumer appliance as an interface to some serious business infrastructure? Like, you know, being able to report a fault in a server or whatnot. There's a risk there of bringing in a technology, like a consumer technology, before it's really been accepted as a potential business tool. Tell us how that's working. That's very interesting. We are actually seeing a very fast pace at which customers are adopting it. As we speak, I have three customers I'm working with right now who not only wants to use a chatbot or a virtual agent for providing service, not just to the employees, but to the end customers also want to use Alexa inside their company for providing service to their employees. So it is, I would say it's starting the journey as starting. We already have the integration that is working with Alexa. Customers have gotten very excited about it. They're doing POCs, they're starting their journey. I think in the next couple of years we'll see a huge uptake with the customers wanting to do that across the board. Well, I mean, give me an example of if I'm working and I need to go to Alexa business. I mean, how deep can I go? What kind of problems can be solved? And then at what point, where does that shut off? And then we trip over to the human element. Don't forget where the AI fits into the picture. If you could just have a little bit of a plumbing, not too much. So let me give you like two segments. One is the experience through Alexa. The second one is where does deep learning get embedded into the process? Yes. So usually every company has level one, level two service desk agents who are taking the calls or responding to emails for resetting passwords or fixing phone issues, laptop issues. So that level one, level two service desk process is what is being replaced through a chatbot or an Alexa. So now you can take the routine kind of a task away from having a human respond to it. You can have Alexa or a chatbot respond. Do that work. The second piece for high complex scenarios is where it switches. So being able to very automatically switch between an Alexa to a live agent is where the beauty comes in and how we handle the transition. It has all the historical interaction through the whole journey for the customer. But then Alexa forwards any information it has gained from the conversation to a human being who takes it to the next step. So when I- Can a human kick it back to Alexa at some point? No, no, we haven't seen that go back. It's usually level one, level two is where Alexa takes care and then level three is where the human takes care and goes forward. Now the second piece, the AI MLPs. In a service management, there are a lot of processes that are very, I would say routine and very manual. Like every ticket that comes in, customers have millions of tickets that come in on a periodic basis. Every ticket that comes in, how you assign the ticket to the right individual. Around the ticket and categorize the ticket, right? Is a very, I would say, labor intensive and expensive process. So we are embedding deep learning capabilities into that so we can automate, customers can automate all of those. Natural language processing, is that- The NLP embedded into it. Now customers can choose to use the NLP of their, NLP engine of their choice like Watson or Amazon or Katona. And then that gets fed back into the service management process. In fact, that's consistent with what AWS is saying about the whole deep learning space. They are agnostic as to the underlying deep learning framework you use to build this logic, whether it be TensorFlow or MXNet or whatever. So what you're saying is very consistent with that sort of open framework for plugging deep learning or AI into the, in this case, a business application. Very good. So developers within your customer base, what are you doing, BMC, to get developers up to speed and what they'll need to do to build the skills to be able to drive this whole, you know, service management workflow? So all this work that we are doing, whether these, what we call these cognitive services, they're all microservices that we have built into our platform that not only we are using in our own applications like in Remedy, like in what we call Digital Workplace, but also we have made it available for all the developers, partners, ecosystem, to consume it in their own application.  We have microservices for every one of these processes that developers can now consume and build their own special use cases. So use cases that are very unique to their business or to their customers. Yes. So who, I mean, we were talking about this before we started the interview about invent versus innovation. So on the innovation side, what's driving that? I mean, are these interactions that you're having with customers? And so you're trying to absorb whatever that input is, that feedback, or are you innovating, you know, almost in a vacuum or in space a little bit and in providing tools that you think could get traction? Yeah. No, in fact, no, we are not just dreaming in our labs and saying, okay, this is what we should go do. Dreaming in our labs. That's not what the driver is. What's really happening, independent of the industry, you pick any industry like telcos or financial industry, any industry is going through a major, I would say, transformation where they are under competitive pressure to provide a service at the highest efficiency, highest speed at the lowest cost. So if I'm a bank or if I'm a telco, when a customer calls me and they have an issue, the pace at which I provide the service, the speed and the cost at which I provide that service and the accuracy at which I provide that service is my competitive advantage. So that is what is actually driving the innovations that we are bringing to market and all the three things that I talked about and user experience through bots or through virtual agents, how we are automating the processes inside the service management and how we are also providing that for the developers. All these three create a package for our customers in every one of these industries to address the speed, the efficiency and the cost for their service management. Go ahead, James. At this show, AWS, among their many announcements that are building on their AI, they have a new product called, and it's related to this, the accuracy, related, it's called Amazon Comprehend, which is able to build on poly in NLP, their natural language processing, to be able to identify in natural language entities like, hey, my PC doesn't work and I think it's the hard drive. Those are entities, but also identify sentiment, whether the customer is very angry, mildly miffed and so forth and then conceivably you could use or your customers could use that information in building out skills that are more fine-grained in terms of handling off to level two or level three support. Okay, we've identified with a high degree of accuracy or confidence that the problem might reside in this particular component of the system. The customer is really out of joint, you need to put somebody on this right away, and so forth and so on. Any thoughts about possibly using this new functionality within the context of Alexa for Business as you were deploying it at BMC in the future? Your thoughts? Absolutely, in fact, that is what I was very excited about that when they announced that. You know, in an NLP, NLP has been around for many years now, right? And there has been a lot of experiments around NLP. The first patent for NLP was like in the late 50s. Right, so, but the maturity of NLP now and the pace at which, like Amazon, the innovating is just phenomenal. And the real, I would say, beauty of it would be when an NLP engine can really become intelligent where they can understand the sentiment of the customer. When the customer is saying something, it should detect whether the customer is angry, happy, or on the edge, right? So, we are not there yet. I'm really excited to see the announcements from AWS on the comprehensive side. If they really can deliver on that, understand this sentiment, I think it would be phenomenal. It's brand new. Yeah, and I don't want to get this off the tracks, but it's a fascinating point. Because, as you know, words in a static environment could be interpreted one of 50,000 ways. So, how do you get this AI to apply to emotional pitch, tone, agitation? How do you recognize that? That is where NLP, the maturity of NLP at which it's moving is what's going to be game-changing in the long term. It's for it to be able to know what the underlying sentiment is.  Like, I've had enough, can be said many different ways. And that's when we'll switch to a live agent. If it's not, we'll quickly switch to a live agent. The bottom gives up, right? When is that a motion threshold for you? Human being might be the best, immediate. I'm just curious. It's fascinating. Yeah, absolutely. Yeah. Well, thank you for the time. We certainly appreciate that. And we promise this will be it for the day. All right, no more cube duty. But we certainly wish you all the best down the road. And like you, I think we've certainly seen and have a deeper appreciation of what's happening in this marketplace of what we're seeing here this week. Right. It's been extraordinary. Thank you, John. It was a pleasure and really excited to have two cube interviews in a day. How about that? But I think it's a great forum for us to get our message out and get the world to know what we are doing as BMC and Innovations. Talk to real innovators in the business world. So I'll power to you. Thanks for the time. Thank you. Thanks to you. Back with more. We are live here at Reinvent AWS in Las Vegas. Back with more live here on theCUBE right after this break.


Hello, my name is Paul Albertella. I'm a consultant working for CodeThink in the UK. I'm going to talk to you today about automating system-level safety testing using open source tools. Now I've been working with complex software systems since 1990, ranging in scale from mainframes to mobile phones, and most recently Linux-based systems in automotive. I'm a long-standing user and advocate of open source software, which I originally encountered when developing for mobile platforms like Android and Mego. Working with automotive manufacturers fueled my interest in software engineering processes, and in particular how open source tools can be used to improve them. This led me to join CodeThink in 2019, where my work has mainly focused on safety. I'm a part of the ELISA project, which is about enabling Linux in safety applications, and my work there and at CodeThink has been developing a new approach to safety with open source software in mind. I've written and talked about this, most recently at OSS North America, and my talk today is turning to testing. Testing obviously plays an essential role in safety. When our software is part of a safety-critical system, we not only need to verify its functionality, but also to show that it can continue to function or transition safely to a degraded level of functionality when things go wrong. Validating software as part of its final system is clearly essential, but performing all software testing in a complete context can be a challenging and expensive proposition. This inevitably means that testing software happens in a variety of contexts and levels of integration, whether we are confirming that an individual component has been implemented according to its specification, or integrating a set of components to make sure they all play nicely together, or stress testing a fully integrated system on the final target hardware to make sure that it continues to achieve its safety goals even under DRS. Safety standards dealing with software tend to place a strong emphasis on verifying software components against detailed, formal specifications. This relies on system design verification to ensure that this specified behaviour as part of the system will achieve the wider system's safety goals. But there are aspects of system behaviour and misbehaviour that may be difficult to cover in sufficient detail in the design, especially for more complex systems. Safety is a system property rather than a property of individual components. While we can test components in isolation to ensure that their logic and implementation are sound, some properties may be dependent on the final system context, whether the underlying processor architecture or interactions with hardware or other software components, and we can't always account for these or make them visible in the design. Furthermore, the factors that can lead to a lack of safety may be emergent properties of that system, which means that they can only be properly understood by considering components together in context and with the system's overall safety goals in mind. System level testing is therefore always regarded as a vital step in validating a design, but if it is left too late in the system development process, this can mean that we discover unforeseen design problems or issues with component specifications where it is difficult or expensive to fix them. But when we're thinking about testing in the context of safety and of compliance with safety standards in particular, there are a number of other things that we need to consider. Although we will want to use tests to confirm that our software does what it is supposed to do, we are less interested in the happy paths and more interested in what happens when things go wrong, either with our software or with the other hardware and software components that it depended on. And in particular, we want to focus on things that can actually impact the system's safety goals. This means that we need to understand what those safety goals are and to understand how our component in our software is responsible for achieving them or contributing to them. This should be documented in our safety requirements, but these might not always be provided at an appropriate level of detail, which means that we may have to break them down into the level of detail we need, either for our software requirements or for our test cases. And even when we have requirements in sufficient detail, we still need to show how our tests relate to them, which requirements they're intended to verify and for what set of preconditions. And we also need to show how we can be confident that a set of tests actually achieves their objectives. Some level of human review is necessary here, but not sufficient. It will need to be supported by review criteria and metrics to help us quantify our confidence. Do the tests cover all of the required behaviour, conditions and interfaces? Does the test implementation actually verify the criteria that are expressed in the requirement? If the original requirement is at a high level, how has it been broken down into more detailed criteria that we can verify? Accomplishing all of these things is hard enough, but we also need our test results to be consistent and reproducible, which can be particularly hard for system level tests. Automation can obviously help to achieve this by ensuring that test steps, at least, are reproducible, but we also need a way to reliably reproduce the system that we're testing, as well as our test implementations and the environment within which they execute. An approach to these problems that I've been exploring in my work at Code Think and as part of ELISA is based on a methodology called STPA, which stands for System Theoretic Process Analysis. This technique was developed at MIT based on the work of Professor Nancy Levison, which originally focused on accident investigation. STPA provides a way to analyse complex critical systems using control theory, which allows us to model them using control structures that we can use to eliminate or reduce adverse events. In addition to the automated systems that are our principal focus in functional safety, it allows us to model both human and environmental interactions and organisation or even governmental control processes. By focusing on the specific outcomes that we want to avoid, as dictated by our safety goals, and the system conditions that can lead to these, it lets us focus our analysis on those aspects of the system behaviour that are most important to us from a safety perspective. But we can also model the system's other goals relating to performance or customer satisfaction or simple economics to ensure that these can be balanced against the imperatives of safety. The outputs of this analysis provide a rich basis for deriving test cases. As well as a consistent way to derive and document detailed requirements from system level safety goals and component level safety requirements. By identifying the losses that we wish to avoid and the system conditions that can lead to them, we're able to define the constraints, that is, system or component level criteria that must always be satisfied that must inform the system design and that our tests need to verify. We can also identify triggering events called unsafe control actions and specific worst case system conditions or loss scenarios that we can use as fault injection scenarios to validate the effectiveness of both our tests and the system's safety mechanisms. STPA goes some way towards addressing the challenges that I described when deriving sufficiently detailed requirements, as well as helping us to understand how those requirements relate to tests and to the safety goals of the system. But to ensure that we have a common understanding of our tests, we need them to be meaningful to the creators, to the analysts who define the system and safety requirements and to those responsible for implementing, reviewing and executing the tests. And in the last case, since we want to automate our tests, this means a machine rather than a human. A test scenario language is a structured and restricted form of natural language that we can use to document a test. It provides a logical syntax that can be passed by a computer program but uses language constructs that are also meaningful for humans. There are various models of this type of language, some of them popularized by agile and behavior-driven development movements, but the underlying concept has a long history and it's enjoying a bit of a renaissance thanks to its increasing adoption by the developers of self-driving cars. So now we have a way to derive and then describe suitable system-level tests. But there are still lots of questions for us to answer if we're going to be able to automate them, run them in a reproducible way and produce the kind of evidence we need to review them and to satisfy the requirements of safety standards. What is the system or the component that we're actually testing? What version of it have we built? Where did we get the source code that we used to build that version? How is it built? Can we build it reproducibly? What else is part of the system under test and how do we integrate the system that we're testing into that context? And what is the wider context in which it's being tested? What hardware are we testing it on? Or if we're testing it in a virtual environment such as QMU what instance of QMU could we use and how is that configured? What actions does the test involve? We can get this from our test scenario language. What observations need to be made? In other words, what information do we need to gather as a result of the test in order to evaluate it against the criteria that we have for success or failure? How are these results collected if the test is actually happening on a system other than the one where we're running through our scenarios? How are the results of those tests going to be published in a form that we can use to review later and share with safety assessors who are going to give us a certificate for our system? So now I'm going to talk about the open source tools that we're using to address these challenges. The first of these is Subplot, which is a set of tools for specifying, documenting and implementing automated tests for systems and software. Its focus is on producing a human-readable document of acceptance criteria and a program that automatically tests a system against those criteria. More specifically, it aims to help developers to specify the automated tests so that those tests can be executed, but also understood without requiring programming knowledge. While the examples that are provided by the project, which include the acceptance tests for the tools themselves, are application level rather than system level, the framework is designed to be extensible to any kind of scenario or test implementation language. There is current support for Python and Rust. Scenarios are written in markdown with some Subplot-specific annotations in fenced code blocks to assist with parsing. Tools are included for producing human-readable documents from these using pandoc. And the input documents can also include plant-UML or graph-fizz-code-box to add images to accompany the text. Binding files are written in YAML, which are then used to link the syntax elements of the scenario language to a test implementation. The best way to explain what that means is to show you an example. As you can see in this example from the Subplot documentation, the structure of the file is reasonably simple. It begins with some type definitions for two pieces of data that are used in the tests, one of them a string and the other an integer. It then identifies a pattern, that is, a sequence of texts to be included in a scenario definition, for a given clause, which includes the corresponding function that is to be called in the test implementation. The first example includes a cleanup function, which is called at the end of the test, for example, to release a resource that was assigned. The second example has a produces clause, which is how an item of test data is identified from the scenario text using the definitions from the start of the file. The third example illustrates how this data can then be used in a subsequent test step, and the final example shows how the result of a when step can be checked in a then clause. Because these files are independent of the actual test implementation, the same set of bindings could be used to drive implementations in different languages. And just so you can see how this works with the scenario language file, here is the other half of the Subplot example. Now, while this approach might seem over-elaborate for a relatively simple example like this, its advantages quickly become apparent when defining more complicated scenarios. In system level scenarios, for example, we may have a wide range of given clauses that are required to put the system under test into the correct state to begin actual testing. This might include a step to build the system under test, another to build a dependency with a patch to enable a software fault injection, and further steps to integrate the results as part of a system image and then to deploy it to a suitable test machine. Managing such build and integration steps effectively is where we turn to our second open source tool, Buildstream. This allows us to build our systems and tests deterministically so that we can be confident that we'll get identical results from the same set of inputs. Buildstream's definition files, which are again written in YAML, allow us to do this very precisely using a declarative syntax that can be used to specify unambiguous revisions for all build inputs. This includes both build and runtime dependencies, which can be very important as the behavior of a system may be affected by the tool chains that are used in its construction. The builds are also performed in a sandboxed environment, which can eliminate the possibility of untracked dependencies being incorporated as part of the construction process. Doing all of this building, especially if you're building from source code and having to pull all that source into your sandboxed environment, could be a huge overhead, but Buildstream has been designed to do this at scale. It can be configured to parallelize build actions to use multiple build instances using the remote execution API originally developed for Bazel. It also uses remote artifact caching to avoid rebuilding artifacts that have not changed since the last time they were built. And we can be confident that they haven't changed because we control all the inputs. And we can be certain that we have our inputs under control by using Buildstream as part of a continuous integration workflow following the Deterministic Construction Service design pattern. This, which you can see here in the form of an STPA control structure diagram, was developed for safety critical software construction of complex systems and was certified to the ISO 26262 safety standard. This allows us to prove that all the inputs to our construction process are under control by verifying the binary reproducibility outputs. If we can get identical binary results using our set of inputs, then we know that those inputs can't possibly have changed providing, of course, that we can also make that construction process binary reproducible. Now, these inputs include the build and test environments within which the construction and verification takes place, which includes the container images that are used by CIJobs, which in our setup are managed by GitLab. Having built all the software that we need for our tests, however, we all need one more open source tool to complete our setup. This is Lava, which lets us manage the hardware and virtual devices that are used when deploying our systems for testing. We can use Lava to define pools of devices with different characteristics, using tags. These might be used to distinguish between devices with different peripherals, for example, or different processor architectures. This is a web-based GUI that can provide us with a useful window on our devices, but most importantly, Lava allows us to define the connections that we use to interact with our managed devices from within a test. Hence, we can have a scenario-driven test running in a CIJob context, for example, a runner provided by GitLab. An asked Lava for an available device with the required characteristics to deploy a system image to it, boot the resultant system, and then interact with it via a system console or a suitable system service API to run a series of test steps and then collect the results. Here you can see an example of a Lava deployment, which CodeThink are using for long-term testing of upstream Linux kernel changes. It's only got a few devices, a QMU device, which is an emulated hardware device and two hardware devices, one of which you can see is offline at the moment because it's failing its health checks. If we have a look at this one, which is a Raspberry Pi, we can see that it has a health job to make sure that it's up and running so we know whether jobs can be scheduled to it and we can see that jobs have been scheduled to it and the status of them and actions that we can do on them to have a look at those job results. So let's put all these open-source tools together and see how they help us deal with the challenges of system-level testing. We start by using Subplot to help us define our tests using a scenario language. These scenarios are going to be derived from the safety analysis that we've performed on our system using STPA, which provides us with models of our system that focus on its safety goals and allows us to define meaningful safety requirements for the components that make up that system. By using a language that everyone can understand to define these tests, our safety analysts can review the scenarios to confirm that they meet the safety requirements and our developers can implement test scripts or programs that turn the descriptions into automated tests. The relationship between the scenario descriptions is captured in bindings files, which describe how the syntax patterns in the scenario text correspond to these test implementations. Subplot uses the scenarios and bindings to build our actual tests, but because we want to do all of our construction in a controlled and reproducible manner, we have BuildStream to manage the process, defining all the required inputs and leaving it to control the building environment. This control extends to obtaining the required inputs from their source repositories, typically using a precise and persistent revision reference, such as the SHA-1 commit hashes used by Git. Assembling all the elements we need for a test may involve building the tests and their dependencies, the system components that we want to test, the other elements of a system image that we would deploy to a device for testing, as well as tool chains and other build time dependencies that we might need during construction. By declaring all of these inputs in our build definitions, BuildStream is able to construct everything deterministically to allow all of the elements required for a test to be exactly and consistently reproduced. While in some cases this may require building or pulling in a lot of binaries from scratch, BuildStream uses remote artifact caching to ensure that we only need to build things when their inputs have actually changed, and we can parallelize independent build steps for a large or complex system using a remote execution service. A common cache can be shared by all of these build steps, as well as those for other software components or triggered by other CI jobs, which means that the artifacts from most inputs will very likely already have been built. Depending on the nature of the scenarios that we've defined, the tests produced by stop plot might be incorporated into a system image that we're going to deploy to a test device, or they might be used in a CI job context. In the latter case, this means that we have test scenarios that define a complex set of preconditions for executing a system level test, which may include the construction of a specific system element and deployment to a specific type of device. This is important because some of our safety-related scenarios are going to want to include fault injections, which can be implemented using patches to a software component that deliberately cause a malfunction so that we can verify the behavior of a safety mechanism that is intended to deal with such failures. We then use lava to manage the devices that we're going to deploy our software to in order to run our tests. Now, these may be hardware or virtual devices and can be grouped by common characteristics using tags. Lava not only provides tests with the means to request a suitable device, but also with the means to interact with it. This means that a scenario-driven test can deploy a system image to a specific type of device or even to two interacting devices, and then execute test steps on the resulting system, as well as collecting the results of the test. By bringing all of these elements together in a coordinated workflow, we can make it possible to automate system-level tests as part of a continuous integration workflow. When this forms the basis of a compliant development process for a safety-critical system, we can enable system-level testing to inform and complement the system design process, especially when we're using STPA to provide an overarching model of the system and component safety requirements. Instead of discovering issues with hardware integration or with inadequate component specification late in a product's development, we can start defining our system-level test scenarios as early as possible and begin by verifying them on virtual hardware. And because this system gives us fine-grain control over all of our inputs and our build and verification processes, we can confidently meet the requirements of safety standards and produce the evidence to support this as a direct output for our CI jobs. As Code Think were able to demonstrate with a deterministic construction service, it is possible to leverage the strengths and flexibility of open-source tools and working practices to address the challenges of developing complex safety-critical systems without compromising on the need for nearly specified and closely controlled development processes that safety-critical systems necessarily require. I hope this talk has inspired you to learn more and I'll be very happy to answer your questions.


It was really important for us to have students editing in their native tongue or in the language in which they're fluent. Because it's just because the language Wikipedia they're trying to edit might not be as receptive to varying levels of language skill. So that was something I would definitely recommend to people if your students are translating, have them translate from the language that they're studying into the language that they already know. It was really easy for people to translate from the Spanish language to the Arabic language or from any foreign language to the Arabic language. Because we were our goal at the beginning and at the end, we were the authors of the Arabic content on the internet and specifically Wikipedia.