Well, as you might have heard there's been a couple of primaries that have taken place tonight across multiple states And I really had no intention of doing a video on this tonight My expectations were to the floor and I really only do videos about elections if there's good news if there's cause for Celebration, but the following day I was planning to do a breakdown as to why the night didn't go as we had hoped for Because that's just what I've become accustomed to doing on this channel. I've been doing it for a very long time but I've got to say The night did not go the way that I expected in fact This is probably Actually the best night the left has ever had since I've been covering politics here on youtube I mean centrists went down in flames across the country progressives had blowouts One in unexpected races one in expected races But still I had my doubts because this is America and whatever can go wrong usually does go wrong So even in these races like the pennsylvania democratic party primary, you know, john fetterman was pulling far ahead, but I still thought I just I'll believe it when I see it right who knows what can go wrong Uh, but in this instance a lot of things went right and we even saw some unexpected things happen on the gop side Where more fire-breathing psychotic republicans who were endorsed by donald trump Not doing too hot. So we're gonna break it down. I'm honestly a little bit like struck Uh, taken aback by the results tonight because again, I was anticipating bad news I had braced for bad news But what I'm getting is the opposite and genuinely I don't know how to process it because in the united states of america Especially if you're a leftist this usually doesn't happen. So let's talk about the republicans first So madison cothorn Has lost his primary it is official Insurrectionist madison cothorn will be a one term congressman. He was defeated by chuck edwards Now chuck edwards is someone who? He's a republican So if you're watching this program and you watch this program regularly You're not going to agree with him But he seems like a more rank and file establishment republican like he has his faux populism thing going on but he doesn't seem as like I don't know insane as madison cothorn so To not have madison cothorn in congress Is really great because madison cothorn is psychotic and if we have one more republican who's seemingly going to blend in with The rest of them and we don't have this individual who's kind of getting a lot of uh headlines And shifting the country to the right. I think that's genuinely a good thing But i've got to say You know ever since madison cothorn Said that there are members of congress who uh like to partake in uh parties involving, you know White substances, maybe flour Um and on top of that, uh, he he said that they like to attend sex parties They've had it out for him.  I mean some of the things are very bizarre. There's a video that they leaked of him Naked with I'm not sure if this was confirmed, but his cousin and a bed and he was humping his cousin's face Look all of these scandals don't really matter much to me What he does in congress is by far much more damaging But the GOP had it out for him, which leads me to believe That you know the uh white substance sex parties are a real thing and now that he lost I hope that he names names, but there's that so getting to the uh republican primary in the state of pennsylvania You had david mccormick, dr. Oz and kathy barnett and currently, you know, we're not going to know the results But dr. Oz and david mccormick are in a dead heat and kathy barnett is coming in a distant third place And i've got no love for dr. Oz and uh david mccormick, but kathy barnett was i think the worst in this race because she was so Extreme she marched with the proud boys, you know at the capitol on january 6th 2021 But whereas you have someone like dr. Oz endorsed by donald trump struggling currently Madison cothburn also endorsed by donald trump. So that's something to keep in mind if his influence is waning um and honestly in this race i'm not rooting for any of them But david mccormick is probably It like the preferable one because i think he's the most boring Who could lose uh easier against john fetterman because john fetterman and i've kind of spoiled the next result But i'm sure you've heard heard of it by now, you know john fetterman I want someone who he can be and dr. Oz has name recognition He's a celebrity and he's embarrassed himself, you know, he's flip flopped on a number of issues He released that embarrassing gun ad where he pretended to care about guns So, you know, I want david mccormick to be the one that john fetterman faces And we're not sure how this is going to turn out, but i mean in terms of a gop primary I usually don't care, but if the least crazy one wins that's when i'm i'm happy But let's get to what we all care about The results on the democratic party primary side and of course john fetterman it wasn't even close I mean, this is what polling indicated But he absolutely destroyed the centrist connor lamb whose mansions mini meme in a landslide 59 to 26 percent Let me repeat those numbers 59 to 26 percent now I went into this thinking okay a couple of days ago john fetterman had a stroke I believe he had a medical issue and I felt that that could change things And even before that happened, you know seeing this lead I've I've been around long enough to see giant leads evaporate nina turner in 2021 bernie sanders in 2020 So I thought Not gonna get my hopes up But I mean in this instance What we expected to happen if you follow the polls did happen john fetterman absolutely Crushed connor lamb who is a corporate democrat who's terrible who's essentially a republican like he should be competing In the republican primary, but he's in the democratic party primary And you know he said that uh If you want a socialist if you want someone who's going to be attacked by republicans then vote for john fetterman Turns out that's exactly what people want in the state of pennsylvania So, uh kick rocks each shit hope to never see you again connor lamb Fuck you now when it comes to the state of kentucky This is something that i'm very excited about so a couple of years ago mitch mcconnell He was uh up for reelection and there was a democratic party primary between amy magrath and charles booker Now the democratic party establishment came out for amy magrath And everyone said she's going to lose because she's offering voters nothing And she did indeed lose we all wanted charles booker because even if it would be an uphill battle Even if it would be very difficult for charles booker to win in a deep red state like kentucky He at least has a grassroots movement behind him. He at least is offering voters something Therefore, he has a better chance Well, turns out he defeated multiple opponents in a democratic party primary in a land slide So he will be facing off against rand paul this november And you know, look, this is going to be a tough battle But if anyone's going to face off against rand paul who i'm confident in It's charles booker. This is going to be tough and we're all going to have to do our part to help him phone banking canvassing donations But the fact that he won this and he actually has the chance now I think this is really exciting now for this next race. I I did not expect this to happen and it came very very Very close By a couple of hundred votes, but somebody very progressive won her democratic party primary I'm of course talking about summer lee who defeated steve erwin by just a couple of hundred votes I'll take it. This is someone who believes in medicare for all student that cancellation her politics are online with the squad She's more in line with viewers of this channel.  She starts to face off in a general election But um just to have her win this primary is really really exciting now. Uh last but certainly not least in my state of Oregon, there's been a corporate democrat dickhead who's essentially a conservative republican named kerr trader And at the time that I record this he is getting Demolished with 40 percent of precincts reporting kerr trader is losing to jamie mclode skinner and i've got to say if he were to lose this and Check the comment section because i'll be providing you with updates if there are any Uh, then I cannot tell you how happy I will be because of how mad he will be This is an establishment democrat who is essentially A joe mansion light if you will and He's a sellout. He's been bought and paid for by special interests So to have him be defeated by somebody who had not nearly as much money as as him You just you love to see it and I think honestly the tweet of the night is going to go to ken clippenstein Who says centrist stems eating a lot of shit today. Yeah, so I don't know Why this is the case why centrist democrats are all of a sudden performing so poorly But I can't help but think that part of this is due to the way that they responded To the repeal of roe v. Wade how they haven't really been Doing enough. I'm not necessarily sure and we'll have to really wait and see what the exit polls say Do a deeper dive, right? But either way This might have been the one thing that restored the spark. This might get me out of this doomer Attitude that i've been feeling since nina turner lost and to be clear it goes It goes back further than the nina turner losing, but you know, it's been very difficult to stay optimistic and be hopeful at all when there's just you know Loss after loss after loss, you know, we're down to get kicked some more Get kicked even more kicked in the teeth. It just felt like we were never going to get a break but At least when it comes to democratic party primaries, maybe the democratic party base is waking up to the fact That the democratic party needs to change. This is what we've been saying on this show For years. So look, I don't even know How to process this information. I'm still in a little bit of disbelief But what I want to do is leave you with summer lee's concession speech because um The energy is there and I absolutely love it. So enjoy


Yeah, so I'm Stephen Hill, and we're going to be talking about OK. This is my GitHub, our Twitter handle, the GitHub repo. Everybody should be set up just to read, right? We're going to be using Jupyter Notebooks. So there's a few steps involved in this. One is to get the Conda repository. Two, or sorry, the repository that I set up for the course. Two is to get Conda and get your Conda environment, which I think everybody got that far. And then to then activate that Conda in the virtual environment, and then from that virtual environment start a Jupyter Notebook server.  The reading goes out of date. I changed Notebooks to Material because it was warm and just beautiful. And so this is your like a file browser, right? So these are the files, the introduction one. This is what we're looking at here. This has a setup. So once you get the environment setup to the Notebook running, you can click on the cell. The Jupyter Notebook is kind of a mix between a Python IDE and an interactive Python shell. So you can put code in here. It doesn't actually execute until you hit Shift Enter. And then it'll run everything in that cell, and then it'll put you off immediately below it. And just like your Python shell, all the commands you've run previously will be stored in number 8. You can access them and build on them and those. But if you look at the Notebook, the order of the cells on the page won't change what was executed previously, right? So just because the cell is higher, if you don't ever run it, it doesn't get run. And it's not in memory. So just to carbon-centric that. So when you run this first cell, you should see it doesn't import. It gets the version that prints them out. You should see this, that you have a Python and a Notebook, right? Yeah. Yeah, so you downloaded the GitHub repo from a command shell like this here. You're going to execute your Notebook. Yeah, but actually, sorry. First, you have to activate the virtual environment. Yeah, yeah, yeah. Great.  Next, this is, you're going to import OK, and then just this little command here. It's pulling some JavaScript libraries from the web. It looks like everybody had success with that. So that's excellent. And then this next cell is kind of doing a similar thing at home. And the Hall of Views library is a shader. And then telling them we're going to use OK to output Hall of Views. And that's shader. So, great. I only seen green tickets.  And it will keep going. So the schedule of this, this is a rough outline. Ten minutes to be able to set up an intro. We were fortunate everybody came super early. So I think we're all set up pretty much. I'll finish going through this. Then we're going to go through the basic plotting interface for both a plotting API. We're going to look at a pseudo streaming data example. And that's, yeah, pretty much anything for people. And then data shader, plotting lots of data. And then I'm going to focus over it. And then I have ten minutes. And really, again, percussion. While we're going through, particularly when we get to exercises, please ask questions. Let me know if there's any questions you have. And again, if I'm going to pass, if I'm just digging it up. So about me, I like to solve data-driven problems. I've been doing that for a long time. In my current position, I'm a researcher at NIST in Gaithersburg, Maryland. I do scientific software applications and analyze data. I'm looking at certain protein and highly concentrated solutions to understand the structure of these proteins. And I'm in that position for another two weeks. In two weeks, I'll be starting at Cruz Allen Hamilton. We'll be visiting that. A PhD from George Washington University and our father of three. This is my youngest. He was born a week and two days ago. So she goes with me while I was cleaning all this up. Yeah. So about bokeh, interactive data visualization. And that's the key. I imagine a lot of you are familiar with maybe map quality or quality or other things. How many of you, just to kind of get a feel, how many of you have used bokeh before? Raise your hands. Okay, so a few. How many of you have heard of bokeh? Yep. And how many of you have maybe seen a bokeh dashboard that somebody else made and you kind of played with it? Okay, great. So by the end, you're always going to fall. So the way bokeh works is it's a layered tool where we have your data and then we want to make D3-like visualizations using the HTML canvas, but we don't want to leave Python, right? So there's the bokeh Python layer and then there's the JavaScript layer below that. So bokeh, from Python, you send commands to bokeh but then send commands to JavaScript and passes it there and that renders on your browser to know or to learn a bokeh or whatever it may be. And because of that layered approach, you can actually pull out the Python bit and you can put in R, for those of you who's R, or Scala, and if you have some other program language that you'd like to work with bokeh, they're happy for contributions. And it can handle large datasets, dynamic datasets streaming, and those are pretty cool. So there's three different levels, or three different API. The lowest level is the bokeh models level. We're not going to cover that today, but I put links here to the docs and the tutorial notebooks so that if you want to go into that or if you have that need, you can find it. So on top of the bokeh models, you have bokeh plotting and it'll create bokeh models, objects. And that's what we're going to start out by looking at. And then the third level, it was bokeh charts up until a few months ago. Now they've replaced that with all of these and there's a lot of active development that has just taken place and they've just put out a lot of great documentation for that. So be sure to check out all of these other resources here. And some of what you're going to see today, I've adapted or pulled in from a lot of these other resources. There's a lot more material than what we could cover in two hours here. So I've tried to pick a few things that I hope are interesting and give you a feel of taste any day you start. So with that, let's come up and click on the basic plotting interface and it'll open this next notebook. Everybody here, if you're looking at this outline, click on the basic plotting interface, it'll open the next notebook for us, which you'll look like this. So we first import the base import and close the data plotting. Then we're going to load the JavaScript layer. This is loading it from your web. If you're not connected to the internet, you can get the JavaScript locally instead of you also have to import the resources and then when you do plotting out the notebook, pass it the resources in line and that will instead do it locally. I had to look that up a couple of times because I'm just frustrating because I wish I had to do that. Thank you. Okay, so, and then there's a lot of palettes that Bokeh has available to you and I really like this method of importing them so that I'm going to use this palette, create all my visualizations and consider that it doesn't like this palette. All right, let's go back and just switch out the import and then all my tools are done. Yeah, so now I have this other palette and all the palette is is just a list of hex strings for the colors. So a different list of hex strings. You can also just use basic colors like blue, red, yellow, and red. Try it.  So, say that again. It's not right to do that. So, of course, set my sets. Yeah, a room to underscore. Try it. So, one great thing you can do is this supports tab location. So here I have color blue and set the tab and it'll tell me what's available and I'll just wait a second. See if that works out. Does the category 10 and then there's word 10? Oh, that's what it is. Let me come back. So let's start out with a plot and just, so when you're generating a poker plot you can pass any of the input values except either a single value or a series of values that's a list, a NumPy array and as a data frame column I think series said yeah, you pass it in and it'll, there's a really good job of matching up. So if you only pass in one value for the x and 30 values for the y it's going to match that up, expand it out. And so then for this tutorial we're going to be looking at a Gaussian function a lot we're also known as a normal distribution there's a wicking input we'll look at that later but this is the gist of it there's this sigma factor that controls how y in our distribution is going to be and this mu factor which controls where the average is at and then f of x that's going to be the y axis and x is going to be the x axis so for what it's worth that's the data that we're going to keep creating at once so let's do this I'm going to make three Gaussian distributions and here I create a figure object then with that big object I'm calling the diamond attribute passing it in x a NumPy array y1 is also a NumPy array and then I'm invoking it by show and there with those three lines of code we get this that's a pretty good plot and you have interactions you can zoom I'm just going to zoom actually so we're about to so run that and then answer this quiz what do each of these things do if you want to learn about figuring different outputs there you go so go ahead and execute that plot and then do that quiz and when you're all done go ahead and put the green signal of the one you're going to have to do that plot can you scroll up please so I can see the fill again do you want to do it again I'm just going to zoom in so that you can have a look let's see if that's what it looks like maybe we're too far away so I'm going to go let's go to the top see what's going on I'm just going to go I'm just going to go I'm just going to go I'm just going to go I'm just going to go so I'm just going to go I'm just going to I'm just going to Okay. Oh, you can see kind of like the graphic of the audio. Okay. Okay. All right. I figured I had some clever way for you guys to track it. I mean, Carl's not done that. Is Carl here this year? Okay. I just have to call him. All right. Okay. Take care. Okay. Okay. Yeah, it's, it's, but it's, yeah. Yeah. All right. Yeah, you move it around. What about this box with the magnifying glass? I mean, the funny, I don't know. Yeah. I don't know. You should go on the axis. All right. Okay. What is this? Okay. And this. This guy. Yeah. Right. Yeah. So this is actually the answer to the next question. Where do you go to get information about from the client page? We put that help one. It takes you to this one page on the documentation. And we only covered a few, but there's a whole lot more. So this is the first level of interaction. We said there's a zoom in box. There's a crosshairs. You can have crosshairs that you can use. You can have a hover tool where you hover to your point and it'll show information about that data point. You can even make it so that the hover tool, you hover over your point and it pulls in an image. There's a really cool, really great company out in Utah, Recruiting Analytics, and they're doing cell analysis. And they pull out a bunch of features from an image of a cell sample. And they plot that on this feeding plot. And each data point represents an actual image. Using this hover tool, you have one more line to this list that says image and then a path. And then it pulls in from that data point number the correct image that goes with it. So their biologist can look at the data. They can hover over the dot. They can see the image come up and analyze it further. They can look real-time. A whole bunch of them. What if you want to add a tool to the default set that you don't want to replace the default set? Yes, I think you just have to add all the defaults back in, and then that one too. I may be wrong in that. I was wondering if there is a method on the plot that allows you to just add them later, you know. When you replace some of them, but not all of them, which is odd. There are some core tools that don't go when you use them as another one. So that's a great question. What I would do to get the answer to that is come over here to the Gitter OK channel, and put that in and say, how do I do this? I was trying to Google what I read at that time. Yeah, yeah, yeah. No, it's a great question. I'm glad you asked because they are extremely active on the Gitter channel. They are very helpful. You know, so if it's more of a, that would be another great question to throw on the second overflow. They are a great community, and they will help you in whatever you need to do. So, yeah, lots of great resources. Then, that was the answer to number two, the quick batch help button, and that actually tells you how to get different interactive tools. And then, who figured out one additional tool? Well, I just want to do one, so. Yeah, so then, in addition to these tools that you can configure, the figure method and the diamond method, they have several keyword arguments you can supply that provide ways to adjust as well. Here, I'm adding a title, I'm adding an x-axis label, y-axis split height, the range I want to show. For the diamond, I'm going to change some of the colors and the alpha values, I'm going to add a legend, and there we go. Now, we'll do this. And you'll notice I used line color and the fill color, so this line color, you can also just use color and just alpha instead of line alpha and fill alpha. So, go ahead and do this next quiz. Look back up at what I just did there real quick and explore to figure out which settings both arts and keyword arts did I show for the figure, which I showed for the diamond, and then which took a single value, which did I use in the way of values, because I said you could use either one, and so yeah, go ahead and do a lot of that quiz. When you're done with the green, that's the deal. And to enter your answers, you can just double click this. So, those palettes supposed to be color-coordinated, so one color, and they're all like, they're just not clean or something like that. Yeah, yeah. If you want to go to the other side, you can see all the palettes they have. For note, each of these different palettes have different uses. The category 10 that I'm using is from the D3 palettes. It's also using Vega. Then it has all the color-coordinated palettes. And then the other one I mentioned was this color-coordinated palettes. So, some of these are color-coordinated, and some of them are color-coordinated. Continuous greening. Have a little suppose that you didn't answer all of the questions. We did talk to you. Glad to have you here. You're about to get to play with these palettes. So, one good choice is more color-coordinated palettes. Down. Down. Down. So, how do you guys do on a quiz? Is there anything that... Any questions? I was just talking around here. He was noticing that, yeah, the way the series works, you have to have the same number of elements and you have data points. If you don't... If you do more than one, but it doesn't match up, I think it may trump into data and have 10 data points and you already have 5 values. It'll either trump data, throw an error, or use that. So, yeah, you wanted to match up. How I did that, was I actually used the data values, and now I'm calling it so that the Gaussian is going to go from 0 to the reason of max value, so I divided by that max value. And then I wanted the alpha to go from 0 to 1, so now the alpha is going to go right to 0 to 1. I didn't want to find out though, but I just made it go from 0 to 1 to 0. So, it just kind of... It kind of shows what you can do. I'm not sure why you would call this this way. At least trying to show what you can do.  In addition to diamond, there's a lot of other markers you can use, there's an asterisk circle. This circle is pretty common, and it's a little bit unique. It has a radius value. You can set that radius value equal to some data feature, and that can be informative as well. There is an issue to get a hexagonal dose. But yeah, so now I defined three different gaussians up at the top. One was Y1, Y2, Y3. They just had a different mean and sigma. So I want you guys to generate a plot of all three of those. And so, look at this code up here, and then up here. Copy, pull that down, adapt, hack, make it, so that you adjust... Use a different color for each one. Use a different alpha for each one.  You can use what I did, or do something more interesting. Change the legend for each one. And then also, in addition to markers, where there's an individual data point for each... individual marker for each data point, there's also the line option, which makes a line. So for one of those three, either Y1, Y2, or Y3, you can use the line and kind of explore how that works. It's pretty much the same. You obviously don't have fill-out points, but yeah, use lines, and then two of those other markers. So now, maybe... Thank you. Maybe, like, five or ten minutes. Yeah. We're all done. Do you have questions or issues? Are there any general questions? If you want to get interesting, you could also plot the same data twice.  There was a question somebody asked. I tried mine, but I didn't know where they were. What, what am I wrong? So, let me just say... How do you get help? So I have your fill-out line question mark. So here is all the input... So, it expects an X and a Y, and if I just want to make it work, I can just put my X and Y and see how it works. Then there's keyword arguments. Here is the keyword argument, which we have in our library. We can actually script the code. There you go. There's also an output order. So... Vocate provides this great... We're not going to do that. We're not going to do that. We're going to get to that point. Yeah. I can use... I... Here inside the cell, I'm going to say... These are a couple of guesses they have for me. Yes. The question mark pulls up. No. So, what would it make it work? Like, would it buy a free bed? It's like, we just came to buy it. So, like, one of the videos for the exercise is one of the morning hours of that one. Do you want to... I encourage you to try to play around and figure it out. Ask the guy next to you who looks smart. See if you can figure it out. I'm happy to answer that. I kind of wanted to be a startle. I lost the mark. I'll give my back to you. Okay. Somebody dropped an iPhone. Okay. Okay. Okay. Yeah. Okay. Okay. Okay. Okay. Okay. Okay. Okay. Okay. Okay. Okay. Okay. Okay. Okay. Okay. Okay. Okay. Okay. Okay. Okay. Okay. Okay. Okay. have a little bit of finer control, so, and then in, before, I don't know if you noticed we did bokeh.plotting, not output notebook, here I'm doing bokeh.io, not output notebook, they're the exact same functions, just in plotting there's a shortcut to get to these traits from the I at the end. So, great, new ports. Now, here, I'm going to explain this before I do this. Yeah, so, on the very top here, I'm randomly creating two different new approaches, a new X, a new Y, and I'm going to create two random sigma values for my actual distribution. Now I'm going to create a figure that should look just like what we had before. This looks a little bit different. I mentioned here I'm manually creating the data source and you'll see that I'm giving it an empty list for both X and Y. You'll see why I'm doing this in a second. Now I'm going to create a, this circle one is from, I'm doing my big dot circle which is one of those markers we use. I'm passing it here, this source is a humor argument where instead of providing it with individual value or series for X and Y, you can tell it, I have this source, I want X to be the X value from the dictionary, Y to Y, and I'll plot that. The color is just the same value, just the same here. The show command is going to update every time. I'm going to use the handle on that right here in this while loop. It's using that handle to repeatedly push to the image and these two commands are randomly selecting a new value based on the mu X1, sigma X1, the Y1, the Y1. And as I do that, I'm going to give this plot which is adding new points. Yeah, I'm going to, well, if you put a slate in here. Yeah, so, pretty cool. I am doing a pseudo streaming data. I'm not like pulling those data from the web. Yeah, my question is what kind of processing overhead do you see in this? I mean the problem we ran into that you alluded to where the math plot line is, if you have an ever increasing series of data, you jam these enormous arrays into a new drawing, it doesn't even read very far, you just grind. Yeah, yeah, so, let me, I don't know if I have that. So up here at the top, you can see my process level, right? Let me just read on this slide and show you how much it goes up. It's going up a little bit. Yeah, we've got 5.4 laptops, right? 2.4 laptops, but yeah, I mean, it is going up a little bit. It might be because of the grid. I'm pushing, you kind of have to, I mean, I'm pushing a lot of data, you don't need to show every pixel. So although we could average over a day, we could average or something, but is there a way to get it to update only the parts of the chart that have changed as opposed to completely updating the chart every time you jam in the array? So depending on how you push and the way you call this, it will either re-render an old plot or just update the parts you've changed, and I'm 90% sure I did this right, and I'm only updating the data points there. This example came out of actually somebody who wanted to set something up like this, and the way we originally thought about it was regenerating the old plot, clearing the plot, regenerating the plot again. So this, you'll notice it's like, no, it's not like the leading and re-rendering the plot. It's just adding more data points as it goes. So kind of just playing around, look at the one you generated, and can you get a feel for what mu x is, what mu y is, what sigma x and sigma y is, and you can zoom in on that, check it out, and then after you do run this cell, and you can see how much you've worked in the actual values that you've generated. Once you do that, play the green sticky note. Yeah, I mentioned here I'm manually generating new data. You can see it would be pretty simple to change this while looping to some kind of querying or querying the Internet, querying your data source, and pull that in instead of manually generating, and you can then, well, I think the same way I'll update this, this data source, and then of course that's what you were saying, but I'll put this data source here. Always run, always run. If you want to sort of apply it without the end of the year, it's there. You know what I mean? Yeah, so if this is, if this is a list, you could do something like, you could replace the entire data source, and then just truncate the end and run the center. Yeah, I have an example of that, and I'm going to run it. I'm going to run it. I'm going to run it. And then I'll run the whole redrawing, and then here it will change, it's still running redrawing, and it'll just redraw the whole staging area. So like, first I'll update all the data, which is a way to see the data source, and then I'll run it. Yeah, it's adjusting as if the data form is supported. So here, the new data X is assigned to the list XOA. And then we just show the list and then show the values. But it's very similar to this address. And I can read the link to this. Yeah, I'll put a link to my annotations. Either not all of them, but there's a few of them. I'm just curious, a lot of the commands that you're doing seem to specialize in notebooks. Is it much different using this if you're not inside your computer if you're just trying to look more with age or a server at or something? That's the, in the fourth part of this, we'll look at broken server. And it's very similar to the calls that you're referring to in the push notebook. There'll be a sort of a community. So sorry, the question was this notebook, it's very specific. The commands that we're using right now are very specific to this notebook. How does that generalize to using the script and running to a website? Yeah, it'll generalize a little longer and I'll show that. Great, so let's, you guys got to kind of play with your new and similar values. Let's go through this exercise. I want you to copy that book from above, add a second dictionary. So now you're going to do a new X2, a new Y2, and add a second plot in that same window. Now every iteration of the Y1 is going to put two points on there. One for each of the two issues. This one is for that main source. Yeah, give it a different color. Yeah, and so I originally had a sleep function in here, and then I got annoyed because one of the things that I got in my company didn't crash, so I went down. Yeah, I think it's rendering stuff. I'm not sure on the back end what it looks like, where the weight is coming from for this. I mean, it may be drawing something. Yeah, yeah, you can do that. I think it should be like that. So the question was, why does it render as slow as it does when you make it go faster? And there's going to lag in the back end of the model. And I think one of the things that's fascinating is the count of the model. And this is going to be like 5, 10, 20, and then there's going to be a push mark. So if you get your distribution, go ahead and see if you can get the mean and standard distribution rate together. So take off your green sticker and let it all the way down. So for the second distribution, do you mean the new source? Yep. So the question was, for the second distribution, do we make a new combination? Yeah, we'll do that. We'll do that. Yeah. And then you're plotting a figure that takes that weight. Is that circle? So my thing is the figure, and then circle one is the first set of circles, right? And just similar to the last one, if you do my thing... In the last one, my thing would be... Yeah. Once you got that, go ahead and put it there. The question is, I'm just really lost in the song. This is pretty good. Mean and standard distribution for it. You don't need to do that again for a second distribution. You can either... This one's doing mean values, and x and y, and x and y. You can copy them. And don't change the figure all the time. The person had to change the number. I want to try to... It's going to pick a round. It's going to pick a round. The two is how many values you get. So it's going to output two values. One of the two is going to go on the left. One of the two is going to be c. Otherwise, it's going to be c to the left. Yeah, yeah. If you leave it on, it's going to be c to the left. It's going to be c to the left. It's going to be c to the left. It's going to be c to the right. Yeah, yeah. So it's going to be c to the left. It's going to be c to the right. So I have to create a second video source. I'm going to do... I have to create a second video source. Yeah, yeah. I'm going to do this. This is where I'm going to... I'm going to do this. I'm going to do this. Yeah, you would... Well, I probably set up some of the... I'm going to do some of the... So, do you have some slides? Do you have any slides? No. I've got to hear that. I'll tell you about it. Um, do you have any slides? Yeah, I have some slides. I don't have any slides. You can go to this one. I have a solution that you can learn in a second. Yeah. It's going to go with data 1 and data 2. X and Y are from data 2. I don't know where it goes. Okay. Oh, yeah. I'm going to set up a prediction. Okay. Okay. Okay. Okay. Okay. So, I see my solution. Go ahead. So, what I did here is I changed how many values I wanted to get. I changed that to 4, so that non-primarily I ran it into 4 values. 3 to these. X2 and Y2. Create the data source. Create the plot. Create the set of circles. And then, um, do the dictionary, the restructure. I'm going to do the string. Now, I need to look at doing both the blue dot and the blue dot. I'm curious about the way that the doctors are doing it. Yeah, I'm just curious about the way the dots are drawn. The orange dots seem to always be on top of the dots. Independent. Is this the index? Yeah. Yeah, yeah. So, the question is, how are these drawn, which is on top? If you look, the orange is on the plot in a second. Yeah. The blue first, the orange second. And this, that can lead to problems in overlap. And the next, the next question is going to talk about ways we can look at that. The next phase of the order that you call dots, right? Yeah. With the data set to, you can call that, that's what you call it in a second. Yeah, it's the kind of, it's not going to come in the order that you call dots. There's a lot of, there's a lot of, there's a lot of. This is just in the wild with you. I think it's everybody in the audience. Absolutely. I think it might be. Yeah. The order by the screen. Yeah. Yeah. Yeah. Yeah. Great. So, let's go to the next question. Okay. What's the idea of sharing? So, what happens when you have a lot of data? I'm going to leave. And for holidays, holidays is the new higher level planning API for Vocay. I'll show you. We're going to tell holidays when we want it to output to Vocay. You can also output to that while living. You can live. Maybe I'm not sure. Yeah. So, what happens when here, I'm, this method is going to give me a set of Gaussian points essentially at U and sigma and it's going to be, by default, it's going to be 10,000. So, let's look at five different Gaussian distributions. So, 22 minus 29 minus 22 and zero zero. And let's see what happens when you plug. Oh, no. Yeah. Not really clear what's going on, right? So, well, maybe, maybe I should use the alphabet, right? I have a lot of overlap. Let's go back and add an alphabet. Okay. Yeah, maybe that's a bit better, right? I, oh, yeah. Somebody up front here just mentioned that this killed his browser. So, what happened here is Vocay takes all those points, it passes all of them to the browser, and now the browser's storing all that in JSON and rendering all of those points. Does it compress the JSON before it sends it or does it? I don't know the answer if it compresses it or not. I'm not sure about that. Does that make the difference, especially if you're done, once you've got a server, if you're going along the way? Yeah. She just did what I wanted to do. You're done. Everybody here. Right, so, maybe this isn't the best way about this, right? Maybe you need a new laptop. I do need a new laptop. So, that's a very good question. I'll figure it out for you. The line output is zero. Doesn't that just make the line transparent? Right, I did. Yeah, I changed the fill output at point three in the line output. This is hiding your data. Why is that? Well, it's hiding the lines. You still see the fill. And I can set it to the same. I don't think it looks as good for someone. Yeah, the lines... Yeah, so, I sat here and I filled out with these output values until I got something that looked sort of located, right? Not very generalizable. So, this isn't the best way about this. And that's what we're about to see. Question? I'm seeing one of the two, like, circles that look oddly defined. I'm wondering, is that sort of, like, added in the data around this edge? We'll get more than three of them. Right, so the question was, he started to see structure in the data, but what is that telling us? If you go back, I can see what statement values I put in. I can see where the mean values I put in. So, there is structure in this data, but it's kind of hard to see right now. So, let's dig into that first. That's where data sheeters come in. Data sheeters, the similar ways interface is all of these. So, all of these, you create a common object and it's here. I used all of these. I'm going to, I want to create a common object. When I passed in all the data points, I gave it a label. I pulled it about the different dimensions. So, the first column in my point is the dependent variables. The second column is the dependent variables. And I'm going to write the original one. This is all the data. So, now, what is this element on it? What if I just render that? So, what if I just show, hey, the default output, when I just go look at it, it shows me a part. It looks about the same as that first one. If I, so, when I print it, I get the text description. And it's this all of these point elements. These are common values. So, I went to just output it directly. It's pretty logical about how it goes about this. But we didn't get, that didn't give us anything better, right? So, now, I'm going to use the data shade in operation. And if I go back to P, I loaded this from HelloView's operation data shear. I pulled in the data shade and the dinosaur. So, right. So, now, what does that look like? I'm going to use this. Now, it's not rendering every point. Now, I get this nice visualization. You can put it on it. You can put it on it. You can see it on here. Different groups, right? So, what's going on there? What happened? There's three components. There's bokeh, that's setting the X and Y range for what I want to plot. Then data shader, it's going through this kind of process here where it looks at the data. It, in the backend, generates a scene. It'll look at each of the pixels and say how many points are in that pixel. And it does a color mapping to then assign a color based on the density of the points. And then it creates an image on that which then passes back to bokeh, parallel to hollow views. And hollow views embeds that image in the bokeh. And every time I zoom in on this, it reiterates that process. And it's using Numba in the backend. I'll go check out that process just a little bit. To do this very quickly. And it regenerating those things. So, it has three analogs and every time it changes. All right. If bokeh will give it the new X, Y range, it will re-process it. As I, there's a lot of options you can adjust with this. In general, this is kind of the format you're going to use. And this is based on pipe parsing. That was one of the financials you got when you set up the environment. You passed this ops. It's where it raises plot options, and it raises style options, and it raises normal options. But I don't expect you to walk away from here knowing how to do that. It'll be a lot better. Will it be controlled with colors, for example? Yep. Yeah. You can control the color map. To shape to this point, it's a lot better stuff. The points are always going to be points. Because you're essentially doing a scatter but then aggravating them a lot. Question for you? Is there like a standard refresh rate for me? Or we can do a scatter against generating? Right. The question is, what's the standard refresh rate when you zoom in? I am not sure. The answer to the question is pretty fast. I have always been pretty fast. I'm not sure.  No, I don't know. The question was how to do this for handle on not as great a hardware? I'm not sure. I know that the back end for this is optimized and you can see the number which writes the program. It's very long. So it should work well. So one thing I wanted to point out is as I zoomed in, it looked... As I zoomed in, the colors changed. It has to do with spreading. Here I'm also calling the line spread on the second plot. If you look at how I generate these plots, it's very, in all of you, it's very simple to generate these plots. I do add and it added two sets of data to make these two functions, right? For these two figures. And they're actually linked. Zoom in. They have a link xy. So the one on the left is the original raw one that I had. The one on the right here is using dynamics to spread out the pixels a little differently. And when you zoom out, they look essentially the same as you zoom in and you start to see how that compares. You might want one on the other. I get that. That's there. And the key takeaway here is compared to where we started with this plot here for the left plot breaker. This, you can really see what's going on in your data. You can see, it looks like, you look at that, you see five different distributions. There's one large one, and then there's four that make a box. The spread is different on them. You get much better insight into what your data is doing. That's right. For this exercise, I want you to pull in that code from above, read, adjust, change the number of points, go loud, go nuts, make it big. Don't do billions of points. You might run into a van. Or determine the laptop. No, I love... Yeah, so... You can use a lot more points than what I did here with 15,000 points for the laptop to generate the figure. You can do millions of points. As long as you'll fit in random, it'll render and it'll do that color mapping for the pixels and you'll be able to see it. And if you go look at the data shears documentation, they have all these examples with the mirror and taxi cap data set, which the full data set is 60 megabytes, and they're visualizing that. And you can pull out that. The demos are even like one for five, but you can look at this scale very well. So, on the scalability, say we have to have 10 computers or every one to spread the processing, is this stuff smart enough to spread out across? So, the question is, how do I distribute the processing back in across... Can you have a guess? I would look at the project GASC. GASC is a project for creating and distributed computation, and it'll break up things like what's going on here. D-A-S-K and it'll break it up across different, whether it's server or machines, it's similar to SPARC machine. Can it run on top of things? Yeah. Yes. Are you sure? Yeah. The specificities that have to be refreshed, but yeah. It is a Python synonym or a similar method pool to you. And it's needed to fight things. So, go ahead and adjust the position of the new values, the signature values, and play around and see what else you can do. And for this, you don't need that on your project. Whereas in here, I just added what you showed the added signature and signature values. You can see that. We only have about two minutes left. Let's go to the broken server. We'll come back to the navigation one. So, in the beginning, I talked about the different layers of you have the Python layer which pushes out JSON to the JavaScript layer which then pushes to the browser. The broken server is a way to keep those in sync with each other. Where you keep the Python in sync with the server and they talk about if you can update the Python, it will update the server. It's far more important to come back here. It's not that server or if you want to fix my title to change the .p1 to to kind of get right into this. I want you guys to take this code. Actually, you have a code server that you use for your materials. You have a code server. So, from here, type in bokeh server and that will open. This is the bokeh server that we just created. So, what's the code going into this? Come back to the notebook here. There's essentially four parts to the bokeh server. The given is your imports. So, then we're going to create some widgets. We have the button we did. The server. Exactly. So, we have a button. We have a text input here. And then, we have this output here. So, then we're going to add a column to the widget which that's this update and it's going to change the output text property to be hello and then that input value. And then, when you push the button on click right here, you're defining that this button is going to be the function. And then the third component of this is creating a layout. How do you want it to be arranged configured? And then the fourth is this is going back to the question about push notebook when we're doing the streaming example. Here, KERDOC is the current document and I'm going to add this to create this server. So, let's I want you guys to have this. I want you guys to add a select widget where you can have another box here that will select different ingredients. Maybe you want to use different languages or maybe you want to say hey, do more slang about it. So, add a select widget to this server app and open up the server.py add in a new server widget and run it to see and test yourself. And I put a link here to the documentation. I have a link to this. When you finish, go ahead and put the grains to be up on your laptop. So, cheers.


The main problem is that in the transportation system it has to be reliable because people plan their journey in advance, you cannot say we will go if we can go. Now this is excellent when you have adventure or when you have a situation where people say okay no problem we are here as tourists, we would like to go around these places. If the ship is available and flying we will use it. If it does not, it does not matter, we have other options to do. So for such applications, airships are being used and they can be used. Where the dispatch and reliability is not a major issue, for adventure, for pleasure, for aerial sightseeing when possible they are being used. But another reason why they are not used is that they tend to be very expensive from the total operating cost point of view. Fuel cost is the small component of operating cost. You should have an infrastructure, you should have the trained crew for operating it, maintaining it okay and unless you invest a large amount of money, this is a very niche business. In all niche businesses, things go very expensive okay but that does not mean that they are useless. We will discuss in this course and I hope to convince you that for certain niche applications they are the best and hence people are designing them now or looking at bringing in airships or aerostats for those applications okay. So we have looked a lot at the drawbacks but the advantages of aerostatic lift fuel efficiency and less complex mechanisms, these are making it very easy for students to build airships and fly them okay. When you make a flying vehicle and some of you are experiencing making aerial flying vehicles or aerial robots right, it is very common that when we learn aeromodelling or when we learn how to make an aircraft, it is very common to spend 8 hours in making a vehicle and 8 minutes in breaking it because it is very difficult to control this rogue force called thrust and unless you properly control this force, it can really take you immediately away and other aerial vehicles, they need certain minimum lift generation just to overcome the weight and then we will use the balance to provide the forward or the other directional motion. So if you look at students who want to make an aerial flying vehicle very soon, we have got the feedback from students that we tried quadrotors, we tried UAVs, we tried, we found that making a balloon is easier. The balloon is forgetful, if a balloon is flown and if it hits the wall it bounces back, it does not break okay but try that with a quadrotor okay, very soon you will find that unless you get it perfectly balanced, you will not be able to even start, that does not mean we should not make quadrotors, every aerial vehicle has its own role, quadrotors have fantastic abilities which airships do not have. So we are not saying that this is bad, that is not bad, we are just saying this is one more thing available for you to play with. So this line, less complex mechanisms is a very important line for novice aerospace engineers who want to make a small flying system with all its limitations but they want to make something that flies. And the challenge that you have to overcome in making a small airship which can withstand even small disturbances is really a very exciting one okay, three types of systems are normally considered, there are hybrids also, so you will have combinations of these and we will cover that in the last capsule of this course but for the moment let us assume that there are three basic vehicle, three basic systems, extreme right is hot air balloon which is simply hot air. So you generate buoyancy by using the fact that when air is hot its density becomes less compared to the ambient air. So either you can cool the air around you, that is very expensive and very difficult. What is easy is you create a bag which is gas proof or air proof and the air inside can be contained heated and hence you get buoyancy.  So with the hot air balloon you can have fun, you can have adventure, you cannot plan your journey, your journey will depend upon the wind conditions, your destination and speed is a function of wind conditions. Some people have tried to make controllable balloons etc but they become very complicated. So this is the most basic LTA system and we will explain with this system also but as you can understand it has got limitations in its capability.  It is an aerospace system which remains stationary, hence the name is Aerostat. This is very much contrary to common perception, how can an aircraft remain stationary? But this aircraft is considered to be good and well designed if it remains stationary. If an aerostat moves, we are unhappy with it, we do not want it to move, we want it to remain stationary, we want it to automatically align with the wind and maybe drift slightly but remain stationary. So what we do is we arrest one of the degrees of freedom of the balloon. So you can assume it to be an aerospace system which is tethered to the ground. So all of us who have played with balloons as children, we have played with the most basic aerostat, a string attached to a balloon which contains gas is an aerostat. The difference is that the envelope of the aerostat is designed in such a way that it has best possible aerodynamic behaviour. So please tell me, what kind of aerodynamic behaviour would you like to have in a good aerostat envelope? What aerodynamic features would you like to have? Do you want to have it or no? So that is dynamics. You are even pitching convented dynamics, I am talking about aerostatics, yes that is dynamics. Alignment requires motion, talk about only statics, will you be happy with positive lift? Will you be happy with some amount of lift? No, I want maximum lift, I would like to have maximum lift possible from a given shape. So now which shape will give you maximum lift? Which shape will give you maximum lift or aerostatic lift, elliptical is one answer but I do not think elliptical is right, it will be spherical because a sphere is a geometrical body which has got the least surface area for a given volume. So if weight of the system is proportional to square unit area of the envelope which is true then the best envelope shape will be spherical from the weight point of view but a spherical envelope need not have the best aerodynamic characteristics, it may not be the best to align, it may not be the best shape to prevent yaw and roll or pitch. So therefore you have to give it an aerodynamic shape so that the drag is minimized. So an aerostat envelope is shaped so that the drag is minimized, on the backside you can see there are these fins which are given so that it can align with the ambient wind because if it is not allowing with the wind it will have more drag, if it aligns with the wind it will be facing with the least possible frontal area and hence it will have less drag. So your question is that if it is a stationary system which would have more drag so that it does not move your argument is true for a flying vehicle which is untethered. If in a balloon you have more drag what will happen is it will actually go like this. So you do not want the balloon to be near the ground, you want the balloon to be up in the air at the height you want. So there is something called as blow by which is the lateral motion of the balloon because of drag it has to be the least and for that we need low drag shape. And then on the extreme left we have a system called airship which is not which is untethered. It has got an aerodynamic shape to give you low drag but it has got these control surfaces on the back. It also has some portion of the control surfaces are fixed for example in this figure if you can see the hashed member are fixed and this white thing is the moving rudder. So you need stability also and control. We will discuss this when we come to stability and control but additional feature is there is also a power plant or an engine in this which gives it forward motion. So this is like a proper three axis control with propulsion system as against an aerostat which has a tether on the ground as against a balloon which has no propulsion, no tether and no directional control at all. So mostly we will discuss aerostats and airships because they are the ones which can be used for some serious or useful scientific or commercial work. However, hot air balloons make a lot of money. So for commercial purposes hot air balloons are also very good. So we are not dismissing them but we are saying that their capability is limited because they are at the mercy of the wind. So hot air balloon is a very exciting system and the amount of LTA technology that you need to know to make a good hot air balloon and to make it fly well is phenomenal. So all the LTA experts actually are hot air balloon enthusiasts normally because they can implement their knowledge and their expertise live on a system. In an airship like any flying aircraft they are the same four forces. Now first thing I want to ask all the aerospace engineers here, is there something fundamentally wrong in this picture? We are showing an airship okay, I have to remember logo is not a wrong thing, it is good. Shape also seems to be alright and yes there are four surfaces, two vertical, two horizontal but there is something wrong, fundamentally wrong in the way this figure has been drawn. What is wrong with the drag? Right, there is one point that the direction of drag will be always along the ambient wind. So this may not be at a zero angle of attack, that is acceptable, what else? So if I assume that there is an airship in equilibrium with zero angle of attack, suppose I assume that then lift will be equal to weight and thrust will be equal to drag. So the four forces will be in balance as shown but still there is something fundamentally wrong. What is it? Okay. What is the real scenario? They may not be aligned. What about thrust and drag? Correct, so may not be. So there is no need for lift to be exactly opposite to weight and drag to be exactly opposite to thrust. That is what is wrong in this picture, that the point of action of these forces need not be exactly at the same, it is a representative picture which just shows that there are four forces, two of them are cancelling each other in the vertical direction and two in the horizontal direction. Now out of these four forces, two of them are natural and two of them are man-made.


Hey everyone, welcome to Alice Fiction. So we're going to do a review of Alice Fiction. Is it worth playing? Is it worth your time? We're gonna be starting with the UI. So the UI, I have little negative to say about the UI. It's fun. It's free-flowing. The colors are popping. The music is vibrant. The only problem that I have is if you look at this home screen, it's a bit cluttered and you can only see a small portion of your assistant right here in front. If you go to, if you even go to the menus, the transition is nice in everything. The motion, you know, it's very pristine. The home page, the home menu is just a bit, you know, busy. A lot of things to consider. They could have, you know, put them aside more and highlighted the middle, the assistant in the middle. So that is my, you know, that is my, just my feedback on the UI. But overall, nice popping of colors, music as well. Let's move to the gotcha. So as for gotcha is concerned, again, their problem is not really simplifying it. So as you can see, there are a lot of gotcha here. They had to separate the 10 rows per day. Then there are a lot of banners for memories. It confuses newbies. The daily freeze even here, they put a, they separate for the daily free in a normal gotcha for. So again, this is your regular gotcha. This is too much. So I hope they would just simplify this in terms of what is really needed and incorporate the free ones into one banner perhaps.  There's a new banner. If you see the gotcha, the drop rates for this one, it's 2.5% for your three star, which is the highest rarity that you can pull. And you're guaranteed 10 rows, 10th row. It's also 2.5%. So not much in terms of the pity system if for the featured banner, but if you go to your standard banner, go to the drop rates, you are guaranteed here 10 rows on the 10th row, 100%. So as you can see there, so that's the difference between the two banners. So basically, it's standard for any gotcha to have the system. I don't see any good or bad parts about it. It's standard.  So I hope they organize this a bit. Free to play, the free to playness of this game. At this point, if you're new to the game, you would notice that you have a lot of currency for summons, especially if you go through the main quests. The rewards here are mostly, mostly what they call this, this one. So your quartz. Quartz is your currency for summoning. At first, usually in most gotcha games, it's usually a huge amount of summon currency to start the game, to keep you hooked, but definitely it drops down. I'm just not sure whether it consistently drops aside from your main quests. So as you can see here, three star clears, it's 50. So it's usually standard. But again, after you finish main quest, I'm not really sure if you're still going to have a mainstream of summoning currency. So it's still a question up in the air. So if you have comments on this, please put them down in the comment section below so that other players may know about how free to play this game is or how how we can get more summon currencies. Okay, going back to the character design. So when I point out the character design, they left this out. The whole game's design is pretty much good. But the character design, they made it too simple that they only had the character blink not even move. No, nothing to the to the movement left and right. No, it's just a stand still there with eyes blinking. And most of the characters look generic. Nothing special with them. Except for the colors as well. Again, the colors look fun. So that is their main selling point. So color character level up. As you can see, it's also standard. The usual your level up tokens grade is to adjust specific stats. Skills is the skills that they use, you unlock some of them later, then you level them up and you you address rarity increase stars up to five is the maximum. Okay, so let's go to a little bit of a battle here. Let's see a battle, guys. I did one battle already that this one, let's do this one. Okay, as far as the battle system is concerned, before the launch, I was I was excited to, you know, to anticipate because I knew that it was a puzzle system. But the one thing that they did wrong about this is they had a time limit on on the puzzle system, in which sometimes you cannot go to the ultimate combos anymore, because you need to, you know, you need to get those more higher combos for higher damage. You end up doing this in auto. So what is the purpose of the puzzle system if you cannot go to the higher combos because of the time limit. So that is my comment. If they would just put a longer time limit for the for the puzzle to so that you could create more bigger combos, then I would be happy. I wouldn't, you know, I wouldn't want to play this game in auto. But sometimes the time limit is so frustrating that I don't, you know, personally, I don't care anymore of the puzzle combos.  So that is it. My other comment is I'm also thankful that they didn't go with the chibi models for combat. They went with the actual characters themselves. And by the way, if you notice, most of most of the enemies look like a child's toy, not even intimidating a bit.  So even the enemies don't look intimidating or, you know, or frightening or whatever. So that is my thoughts on the battle system. So again, it's a good choice. But it's a wrong execution in terms of implementing a puzzle system. So comment down below on what you think of the battle system. But for me, it's disappointing. I was excited for the puzzle system. But the end is I didn't get to play the past puzzle system more because of the time limit. So that is it. So let's just finish this round. So as you can see there, the AI is more excellent in, you know, pulling off combos for you, which again is frustrating. One more enemy to go and we will go to one of the options that I think that they failed to concentrate more on as well. So I think a few more attacks, then we're good. There you go. So we got this win. Let's go to the settings for the game. Okay, so go to the home, go to the settings. My concern here is that they don't have a system for codes. I've been looking for this, and it seems that the game won't be able to give out codes or doesn't have anything, you know, for codes. I might be wrong. I might be looking at the iOS version. I'm not sure with I'm actually using my iPad on this. But please do tell me if they have a code input system for the Android. Please comment down below. But for Android, it's not here. So also for the account binding system. So as you can see, let's just turn to the title menu. Okay, so the account binding system for this game is also frustrating because you cannot really bind your account to any what they call this to any existing Gmail Facebook. So they're going to be forcing you to use the player data transfer method, which in you have to have co a registration number and a password. And the most depressing part about this system is you cannot play this game in multiple devices. So if you're playing it here in your iPad or in my iPad, you cannot play this simultaneously in any Android device. So if you do want to transfer to Android, you have to transfer the game completely. And you can't play if you want to transfer to Android simply that your your iOS or your Apple device won't be able to play it anymore, unless you transfer it again back here. So that is the problem. Count binding is really, really difficult. And that is it so far. Those are my thoughts on the game. Again, I don't know if you're if you agree with me on my comments or in my thoughts, but more or less comment down what you think about the game. Are you still playing this game? Do you like it? What are your pros and cons for the game? And also my recommendation is overall it's a decent game with nothing too special about it. For me, personally, it could be your secondary game, but not likely your primary game.  So again, I would recommend this if you're really into this type of system, this type of user interface. But again, generally, this would, you know, this game would would be most likely your secondary game. And that's it. So thank you guys for staying this far. So hopefully I gave you some inputs. A lot of you guys have been asking me, is this game worth playing? And now I've answered that question. So take care, stay safe. This is The Warden, and I'm out of here.


Hey everyone, this is Dan with another episode of my Tesla videos. In the last three months, Tesla stock dropped 14% when the NASDAQ ETF QQ has been flat. And SPY, the S&P 500 ETF went down by 2%. Tesla is apparently doing a lot worse than the broad market. Instead of selling my Tesla shares, I found that this might be a great opportunity to buy Tesla stock. It has to do with the new products that Tesla will be introducing in the next few months, including the Cybertruck and the licensing of FSD, the full self-driving system. Let's get into the interesting details. If you look back for a year, we can see that Tesla has been up 12%, which is about the same as SPY, but not doing as well as QQQ, which went up by 32%. We can see that Tesla went up shortly after the Q4 2022 and Q1 2023 earnings announcement. But it went down shortly after the Q2 and Q3 2023 announcements. When we look at their financial numbers in a few minutes, we will understand why. We saw a few minutes ago that Tesla has dropped almost 30% since its peak in September. My prediction is that instead of dropping a lot more, Tesla might be going up soon. But that will depend on whether Tesla can successfully launch a couple of new products. Stay tuned, we have a lot of interesting stuff to cover. The Q3 earnings announcement reported a drop in quarterly earnings and missed the revenue forecast mainly because they have been cutting prices of their vehicles to fight for market share. To make matters worse, Elon Musk downplayed the importance of Cybertruck for the immediate future. He also made pessimistic comments about the state of the global economy, particularly he complained about the high interest rates that prevent a lot of potential customers from taking out auto loans to buy new cars. No wonder that the stock price has been going down since late October. The Q2 earnings report was also disappointing. The Q2 and Q3 earnings explain why Tesla has been going down for the last six months. But wait up, Tesla is not fading into the sunset, definitely not. They have interesting products down the pipeline. We will talk more about that. To put things into perspective, let's look at Tesla's business. Tesla is primarily an automotive manufacturer. They are also considered to be a technology company. In fact, Tesla has been developing and applying advanced technologies on the cars and SUVs that they built so that they can gain a competitive edge. They currently build and sell five vehicles. The Tesla models S, X, 3 and Y, they also build the SemiTruck. Tesla only builds dozens of SemiTrucks so far. It is certainly not a determining factor for the company's profitability. The SemiTruck can become a major profit contributor for Tesla in the future, if and only if full autonomous driving becomes a reality so that Tesla can operate these trucks without drivers. That future scenario, however, might be years from now. We will talk more about autonomous driving in the next few minutes. The SemiTruck will be the product that will definitely boost Tesla's stock price in the next few months. The first few SemiTrucks will be delivered to customers starting on November 30, 2023. Once Tesla is able to build hundreds of SemiTrucks a day, their profit margin is expected to improve significantly. There are reported to be 1.9 million SemiTrucks pre-ordered by customers. It will take Tesla about five years to build so many orders. If you like what you've seen so far, please click the like, subscribe and notification button so that you will be notified when I post my next video. Thank you very much. Let's continue. We have a lot of interesting stuff to cover. Before we get too excited about the SemiTruck launch, we need to know that as recently as October 19, Elon Musk said SemiTruck production would not reach full capacity in 2023 and that the robot taxi's production date is not known to Elon Musk himself. Elon's comments caused the Tesla stock price to drop even more. Tesla will also introduce a roaster, which will probably be launched in 2024. The roaster is a very expensive, high-performance vehicle. Tesla will be able to sell at most a few thousand roasters a year. The roaster will be what they call a halo vehicle, which will enhance the image of Tesla in the automotive world as a technology leader. Unlike the SemiTruck, the roaster will not help Tesla's net income much in the next few months. Tesla also markets products to convert and store energy. They install solar panels and make batteries for energy storage. Tesla's energy business is growing quickly, but it is only a small portion of their total revenues for now. Recently, Tesla started to provide auto insurance for Tesla car owners. As of today, Tesla auto insurance is offered in only about a dozen states out of the 50 states in the US. Insurance generates only a very small percentage of total revenues for Tesla for now. Another strategic initiative that will improve Tesla's profitability in the near future is the licensing of Tesla's full self-driving system, or FSD, to other automotive manufacturers. When we hear about self-driving or autonomous driving, we need to understand what people mean. According to SAE, the Society of Automotive Engineers, there are six levels of autonomous driving. They are level 0 to level 5. Level 0 is completely controlled by the human driver, just like the way people drive cars 20 years ago. Level 5 is when a vehicle can drive itself without human intervention under any conditions. As of today, Tesla has only achieved SAE level 2 autonomous driving. At level 2, the car can act autonomously under some conditions, but requires the driver to monitor the driving at all times and to be prepared to take control at a moment's notice. Even Tesla admitted that the full self-driving system, or FSD, sold by Tesla, is only a level 2 system. Tesla has been investing a lot of money in building the Dojo supercomputer, which will enhance their full self-driving system. In my opinion, for Tesla to achieve true level 5 autonomous driving, it'll take at least a few more years. In the next couple years, however, Tesla might be able to license its level 2 FSD system to other automotive manufacturers, which will improve Tesla's earning per share by a few percentage points. We will talk more about that in a few minutes. Tesla started a limited RoboTaxi service in Las Vegas in 2022. It'll be at least a few years before RoboTaxi can generate substantial impact to the company's bottom line. That's because RoboTaxi will need level 5 autonomous driving. The Dojo supercomputer built by Tesla is one of the most powerful supercomputers in the world. It is dedicated to artificial intelligence training for autonomous driving. This is certainly a very important project for Tesla, because the Dojo supercomputer will widen the technological lead between Tesla and its competitors, which will effectively build a protective mold around Tesla in the long term. Even though it might take a few more years for the Tesla FSD system to reach level 5, the Dojo supercomputer can help Tesla build the best level 2 self-driving system in the market, which will still be a formidable competitive edge. Tesla has been publishing very encouraging data about their full self-driving system. According to this chart published by Tesla and reported by Inside EV, the frequency of accidents with cars with the Tesla self-driving system is 4.85 million miles per accident as of Q4 of 2022. The U.S. national average is 0.652 million miles per accident. That means the Tesla full self-driving system is almost 8 times safer than the national average. Now you might think that I'm just aggressively pumping Tesla stock because I own the stock. Yes, I do own Tesla stock, but I have sold quite a lot of shares recently when the price hit the peak and started to drop. I have informed my readers when I found the stock to have lost its glamour, and that I believe it's a good time to sell my shares. When that happens to Tesla, I will tell you so. In an April 26 article, the Fortune magazine said that the Tesla FSD system is not as safe as Tesla claimed. The article says Tesla counts the crash as an airbag deployment. The rest of the world, including National Highway and Traffic Safety Agency, tend to consider a crash as one that is reported. Basically, Fortune magazine was saying that Tesla was comparing apples to oranges in their safety data. The magazine also said that the Tesla safety data were mostly collected during highway driving, but highway driving by any car inherently has fewer accidents per mile compared to general driving. Therefore, Fortune magazine said that Tesla data really did not prove the Tesla self-driving system is safer than regular manual driving. The article also said that middle-aged and wealthy people who are the typical Tesla buyers are in fact the safest types of drivers. Therefore, we cannot compare the safety driving records to those of the general public. The magazine tried to reach out to Tesla for comments over the years since these numbers first started coming out. However, Tesla closed its press relations office and no longer responds to press inquiries. So maybe Tesla has published data on self-driving a roadsier than reality, but I have not seen any concrete evidence saying that Tesla's self-driving system is more dangerous than manual driving. If you look at YouTube, you can find many videos comparing the Tesla self-driving system with the self-driving systems offered by other OMEs. For example, this video compares Tesla with Mercedes Benz and this video published by Edmunds Cars compared Tesla with GM Ford and BMW. Both videos concluded that, number one, on highways, Tesla's self-driving system is more capable than those of other OEM systems. The other OEMs do not offer self-driving at all for non-highway driving, but Tesla does. The Tesla self-driving system is certainly not fully autonomous yet, but it's certainly more capable than the competitors. I believe in the current state, the Tesla self-driving system does offer Tesla a very important competitive advantage. More importantly, I believe Tesla has enough lead in this area to be able to license the self-driving system to other OEMs. And indeed, Elon Musk has confirmed that they are in active negotiations with other OEMs to license the self-driving system. In a few minutes, we will talk about what that means to the profitability and stop price of Tesla. Stay tuned. There is a much longer-range project being worked on at Tesla, which is the humanoid robot. Based on Tesla's plan, these robots will be used at manufacturing environments. Each household can also use one or more of these robots for tasks such as making coffee or doing house cleaning. In my opinion, the robot might not generate substantial revenues to Tesla until five to six years from now. However, once it is successfully produced, the potential revenues can be as high or higher than the revenues for cars. Aside from Tesla, Elon Musk also has controlling interest in SpaceX, Boeing Company, Neuralink, Starlink, and Twitter. In the long term, there will be synergy among these companies, which can possibly evolve into a powerful conglomerate that will dominate several industry areas. After saying all those good things about Tesla, I have to be cautious and mention some of the potential dangers related to Tesla. Because Tesla has opened new factories and ramped up their production in the last couple years, the order backlog has decreased. According to this chart, Tesla's global EV market share started with 20% in Q3 of 2021, dropped to 16% in Q2 of 2022, and went back up to 20% in Q2 of 2023. Volkswagen and the other EV makers are seeing shrinking market shares. The Chinese carmaker BYD, however, has been growing its market share faster than Tesla. Fortunately, BYD's market is primarily in China, which is not as profitable as the markets in the US or in Europe. Let's figure out how much the Tesla stock is worth. These are a few financial charts from the BetterInvesting.com stock selection guide database. As you can see, Tesla sales, the black line, has been growing very impressively in the last few years at approximately 50% annual rate. The EPS emerged into positive territory in 2020 and has been growing quickly, although Tesla's EPS has been flattening in the last few quarters. That's mainly due to price cutting in the recent difficult economic environment. Tesla's EPS will not be growing as fast as before unless they can successfully launch the cyber trucks and license the self-driving system. We will talk more about that soon. You might notice that BYD represented by the purple line has been expanding their sales and growing the EPS impressively. As a Tesla stock holder, I would definitely be monitoring BYD going forward. Tesla's debt to capital ratio is much better than the industry average. The BYD is not too far behind. Their return on equity has also been improving and is better than the industry average. From Tesla's Q3 financial statements, we can see that the automotive segment is by far their main revenue generator in 2022 and 2023 and make up 84% of Tesla's total revenues in 2023. The energy segment grew from 5% of total revenues in 2022 to 7% in 2023, which is very impressive. The US is Tesla's largest market and contributes to 47% of their total revenues. China contributes to 21% of Tesla's total revenues. In this table, I listed the revenues and net income numbers on Tesla's from Tesla's income statements By subtracting the net income from the revenue for each quarter, I calculate the total cost for each quarter. The chart shows the revenue versus cost for the most recent quarters for Tesla. The green line is the revenue, the red line is the cost. The space between the revenue line and the cost line is the net income. We can see that the net income is getting squeezed for the last couple of quarters. Since the automotive business makes up 84% of Tesla's total revenues, I use an approximation method by dividing the total net income for each quarter with the number of vehicles delivered and arrive at the average net income per vehicle delivered. As you can see, the net income went from $7,846 per vehicle for Q3 2022 to the maximum of $9,598 for Q3 2022 then dropped to $4,260 for the most recent quarter reflecting the more adverse economic conditions recently. Starting with the most recent results for Q3 2023, we have 435,000 vehicles delivered with each vehicle contributing to $4,260 of net income. We can build this table to extrapolate into 2024 and 2025. Let's assume Tesla would deliver 440,000 vehicles for Q4 2023 and each vehicle's net margin is $4,300 which is a slight improvement from today. To come up with the best case scenario for Tesla, I assume that their car and SUV delivery will increase from 440,000 a quarter to 480,000 a quarter. The net margin for their car and SUV I assume to increase from 4,300 to 6,000 per vehicle. From these assumptions, I can calculate the net income for each quarter for 2024 and 2025 due to car and SUV. Since the Cybertruck will be delivered to the customer on November 30, 2023, I assume they will deliver 10,000 Cybertrucks in Q4 2023 and will ramp up the delivery of Cybertrucks to 62,500 units in Q4 2025, which is the equivalent of 250,000 Cybertrucks per year at full production capacity. I assume the net margin for Cybertruck will improve from $4,000 per vehicle to $10,000 per vehicle. I then calculate the net income contribution from the Cybertruck for each quarter. For FSD full self-driving licenses, I assume it will increase from 0 units to 250,000 units per quarter during the two years. I assume the net margin for FSD to be $8,000 per vehicle and calculate the FSD contribution to net income for each quarter. Adding the net incomes from cars and SUVs, the Cybertrucks and FSD, I now have a total net income for each quarter from 2024 to 2025. Based on today's PE ratio of 69.47, I assume Tesla will maintain a PE ratio of 67. From these numbers, I can calculate the stock price to be at $241 at the end of 2024 and $376 at the end of 2025. We can also see the stock price contributions from the three segments, cars and SUV, which is the largest segment, Cybertrucks and FSD. I therefore predict the stock price of $240 by the end of 2024 and $370 by the end of 2025. Of course, I arrived at these predictions based on the volume assumptions and net margin assumptions of Tesla's future products. How many units of Cybertrucks and FSD Tesla will be selling in the next few months will tell us how closely the stock price will track towards my prediction. I will update my forecast every two to three months or so. Stay tuned. Let's see what the professional analysts have been saying about Tesla. Compared to the last time I looked at this table, which was July 23, 2023, the stock price dropped from $260 a share to $209 a share. My target was $280 a share by the end of 2024. I've revised it downwards to $240 a share by the end of 2024 and $370 a share by the end of 2025. Yahoo Business maintained their whole rating. Their high price target went up a little bit from $350 to $358. Their average price target went from $230 down to $215. In 2015, the low price target went from $71 to $22. TipRanks.com lowered their moderate buy rating to hold rating. The high target went from $350 to $380. Their average target went down a little bit from $258 to $248 and the low target went from $120 to $85. The Street.com maintained their C plus hold rating and they did not give a target price. Lewis Nevillear maintained his C hold rating and also maintained the C quantitative rating as well as the C fundamental rating. These are the upgrades and downgrades since late April. We can see that there were a bunch of downgrades in June, which was shortly before the Q2 earnings announcement. Fortunately, we only see one downgrade since July 2023. Morgan Stanley actually upgraded Tesla on September 11 from equivalent way to overweight and increased the price target from $250 to $400. That's certainly a very bullish sign for Tesla. Let's look at insider trading activities. Not surprisingly, in October and November of 2021, when Tesla peaked at $414 a share, insiders sold a lot of shares. And after that, the stock price dropped. Recently, insider selling has slowed down a lot. That means the insiders don't think the stock is overpriced and that they have confidence in the company, which is a positive sign. Again, my price target for Tesla is $240 a share to be reached by the end of 2024 and $370 a share to be reached by the end of 2025. Remember that I reached these predictions based on the best-case scenarios. If Tesla is not able to deliver the volume for the Cybertruck and the volume for the full self-driving system as I predicted, it will not reach these stock prices. Also, my assume P ratio of 67 will most likely go down as well. If things start to deteriorate in the next few weeks, I will inform you by way of my Twitter messages and by maybe a new YouTube video. From the technical analysis perspective, we can see that on the daily chart, Tesla has been making lower lows since September, which is a bearish sign. RSI is certainly not too high. That means the stock is not overboard. The daily DMI is bearish. The daily MACD is so very slightly bullish. Overall, it's still a very bearish chart. In the previous trading day, which was November 11th, we saw an uptake, but the entire stock market was going up on that day. It will be critical to see whether Tesla can stay above the 194 level, which is a very important support level. If the Cybertruck launch in about three weeks is successful, I'm sure the stock will be making higher lows and higher highs. That's most likely when I will be buying more shares. So what are my strategies? I still hold some Tesla shares bought earlier, and actually today, because of news about India, I bought more Tesla shares. I will buy more shares if stock price starts making higher lows and if the Cybertruck launch is successful in December of 2023. I will sell shares if Tesla falls below 194, which is a very critical support level, just so that I can buy again later at a lower price. Overall, I'm still bullish about Tesla for the long term. I will monitor Cybertruck production and FSD sales and will adjust my price targets accordingly. I will shrink trade some of the shares based on technical indicators to maximize my profit, and I will notify my Twitter or ex-subscribers almost daily on my stock market analysis and my trades. At this point, I'd like to encourage you to subscribe to my Twitter account in addition to subscribing to my YouTube channel. My Twitter account is DanMarketL with a subtitle investor channel. I will be notifying my Twitter subscribers if I buy or sell Tesla shares in the near future. These are a few examples of my recent Twitter messages. On December 29, 2022, I tweeted that I bought Tesla shares and looked like December 27 was capitulation day based on the volume. Paid ratio of 0.87 makes it a good bargain. That's why I bought the Tesla shares and also I refer to the Cybertruck launch in late 2023, which is happening soon. And then on October 12, I tweeted that QQQ dropped at 373 resistance and because I saw the market might be dropping, so I sold Tesla shares bought on September 5 at 3.9% gain. I also sold QQQQ shares to take profit. And at 11 am today, I tweeted that I bought Tesla shares at 19% below my sale price on October 12, 2023. And that's because according to a Bloomberg report, India is considering implementing tax cuts on imports of EV units in an effort to entice Tesla to sell cars in India and ultimately to build a manufacturing facility there. The stock price has also been going up today. I saw a higher low forming and therefore I bought more shares. Thank you for watching All The Way To Here. I'd like to remind you again to click the like, subscribe and notification buttons. As usual, I would very much appreciate your questions, comments and suggestions. Also, if you have a favorite stock that you want me to analyze, please make a request in the comment section below this YouTube video. I'd like to remind you that I'm not a financial advisor. I share my stock trading strategies and analyses for educational and entertainment purposes only. If you want to buy or sell stocks, you should make your own decisions and you should definitely consult your financial advisors before you do so. This wraps up my video for now. I will chat with you again in the next few days. In the meanwhile, I'd like to wish you the very best of luck with your financial investments.