comment down dot com. Today I'll have another episode of live walk video and I'll be presenting the Stephen Avenue in Calgary downtown, Calgary Canada. So we are in the heart of downtown Calgary and Stephen Avenue is one of the main streets where the entertainment and lots of restaurants are located. So we're just going to take a quick walk tonight and I'll show you some scenes from here. So this is a pedestrian only street. The cars are not allowed during certain hours and you can see that lots of restaurants and people and this is a nice artwork. Let's take a quick look here. So we have another one right here. So I'll bring some more videos from Calgary during the next week and I'm also going to the Banff area. So you can see that there are no cars here but it's very cold here. I feel like minus 10. So I'm going to come back here during the daytime for day video but this is what it looks like at night. So you have Hudson Bay. So you have Calgary Tower. So Calgary Tower again. So right in front of Calgary Tower and looking backwards Stephen Avenue and this is where we're going to end today but I'll see you shortly. Thank you.


Well, you sure don't look much like a railroad, and not much of you left. I guess we've all seen better days. It's life.  But by gosh, we had our day, didn't we? Six boats. Six canal boats. We pull up that steep incline every hour. Big boats! Put them on a flat bed, haul them up over the alligating mountains, drop them in the water on the other side, send them on their way to Philadelphia, Pittsburgh, or whichever way they were going in the first place.  It's unbelievable. You talk about overcoming what nature put in your way, well, look out, you can't block progress, especially when you've got a whole country of people chomping at the bit. You want to go west to send a boatload of supplies in that direction. Well, now's now. We may be falling apart. By gosh, for some 20 years we had a time of it, didn't we? We should have wrote a book about it. The Allegheny Portage Railroad by Edgar West. How would I start it? As a young man, way back in the 20s, my occupation was to lead our mules along the canal, Topac. I lived with my family. Mules included aboard the canal boat. And we hauled cargo back and forth on a canal built alongside of a river that was just too cantankerous to run a boat on, what would the rabbit in the water for? And working the canals, that wasn't as easy as it looked, no sir. Well, most of the time between the locks it was uneventful, except when one of the mules fell in the water and then you had your hands full. And when you came to one of the locks, you had to think fast and act even quicker. Mules from the boat, tie them up, run help guide the boat into the lock and then tie her off quick so she wouldn't go busting through the gates at the other end of the lock. Of course, a lock keeper would that help. Maybe a bystander too. The gates on the other side locks into my hard work. But it sure was the only way to take her there was some fun to be with a daughter to spark or maybe you could listen to the local gossip. Do you know what Pennsylvania's gonna do? What now? Gonna dig a canal all the way across the state. Don't Pennsylvania have enough canal? Not east to west they don't, like New York. It's gonna go from Columbia near Harrisburg straight through to Pittsburgh. Oh, what's it gonna do when it gets to the Allegheny Mountains? From what I heard, they're gonna figure that one out when they get dug that far. That's flat out crazy. Why do we need another canal anyway? Well, New York state's already got the Erie Canal running all the way west and Maryland's fixing to dig a canal from Washington out west. Pretty soon. Well, pretty soon won't be anybody traveling across our state, that's what. They'll be traveling west using the north of or south of Pennsylvania route and we'll be left out. Could all this be true? A bunch of folks otherwise thought to be in their right minds deciding to dig a canal across the whole state then up one side of a mountain down the other? Oh, well that might be interesting to watch. So I decided to go out on my own. Maybe make something of myself. After all, I'm almost 17. In that spring of 1831 I left my parents. I walked on over to take a look at that mountain. Anybody who could figure a better way to get people in wet weather to slow you down. And when the weather cleared, the black gnats and rattlesnakes came out. And with this kind of trouble, only high priced cargo like furs and whiskey could ever expect to make a profit. No wonder smart folks were using the Erie Canal. I came upon Pittsburgh. Gate way to the west, people called it. Downtown folks were being recruited for the new canal project. And the whole thing is headed up by a fella named Sylvester Welch. An engineer he was. Gentlemen, it is all quite simple. Now follow along on this map. The canal runs from Pittsburgh to Johnstown. At Johnstown there begins a 36 mile railroad section that takes travelers and goods over the mountains. A series of ten inclined planes allow the passenger cars and boats to be hauled up and let back down by steam power. Then when they reach Holidaysburg on the eastern side, they're set back into the new canal and sped on their way toward Philadelphia. A journey of five days compared with 23 days by wagon. An amazing time for a voyage of some 394 total miles. Pretty much now, so I hired on. Working on what they're called America's first railroad tunnel. Staple Bend Tunnel. And that was the first big hurdle in the railroad scheme of things. We had to dig 900 feet straight through a mountain or rock. We could make a hole big enough to drive a locomotive through. Well, it hard work. And you shared your bed and board with an assortment of characters and critters. There were drunkards and rattlesnakes and black mats everywhere. But making 47 and a half cents a day, kind of used to pay. And it wasn't long before I was putting down Stone Sleepers, the foundation on top of which they set the ties and edge rails themselves. I could take it. As the able-bodied man could get work all along the mainline canal route, that's what they called a mainline. Somehow all the railroad tracks were spiked into the ground through the Staple Bend Tunnel over the Panama Viaduct, up one mountain across the top, down the next valley, and then back again. It was almost a year before we were going to open up. And people already there anticipating how this mainline's going to be a big benefit for everybody. It took me 23 days to come from Philadelphia here to Pittsburgh. Now it'll take only five days to get back home. With this new mainline, Philadelphia's ports will again prosper, quite possibly overtaking New York. Certainly Baltimore won't have a chance. I tell you, my friends, people moving west will come through our fine state of Pennsylvania, and that will be good for every man, woman, child and town along the new mainline canal. I just can't wait. The mainline will surely bring us a better selection of hats and dresses, and perhaps a new preacher. Just after the spring thaw in March 1834, the Allegheny Portage Railroad opened for business. I'd bet it was for a month before there were hand bills posted everywhere, talking about the fast news service and low tolls. But even the local newspapers came out ahead of time so they could inform their readers all about it. And by this time, I found me a real good job, a permanent kind, sort of, working at the bottom of plain number six. And I was there, and some reporter came over, he asked me what I did. So I told him just how I figured in this plan to get canal boats over the mountain. Excuse me, sir, may I have your name? Edgar West. You see, a boat comes along to Johnstown, and we float around to a railroad car. You see, we're using these new sectional canal boats now, well, sometimes, and they were invented by this fellow, John Doherty. And we pull it out of the water with a stationary steam engine. Then we pull it along the long, slow grade to the bottom of an incline, like this one here. And then we hitch him up to a continuous three-and-a-half-inch temporal, moves on rollers between rails. Now that cable's being pulled by another steam engine at the top of the incline. Once we get the boat up top, we unhitch it, we pose along the flat summit of the mountain to the next incline, next plane, where it goes up again, and again, until, of course, it starts going back down the other side of the mountain. And that's about 36 miles. That should take from six to 10 hours. Thank you, Mr. West. Much obliged. Now that's the way things were supposed to work. But you see, we had more than a mile of rope running in a circle hauling cars up the incline on one side and letting other cars down on the other track to balance the load. But even three-and-a-half inches of the finest Russian hemp could only take so much wear and tear, and tear it did ever so often.  You got out of the way. You hoped everybody else did, too. Then you had time to mourn. Of course, fear turned business slow for the next week or so. People are amazing, you know? They learn, they adjust, they move forward. You know what was interesting always? To hear people in mid-journey talk to each other, find out what they was each in for on the second half of their trips. Good afternoon, sir. I trust you've had a pleasant trip so far. Well, the boat is terribly cramped.  One really can't turn over. Curiously, they take the boards off the walls in the morning to make a dining table. Well, you'll have no relief on the rest of your journey. However, you will have the excitement of riding up the inclines. And then there's the matter of the Connemar viaduct. Spectacular arched bridge span in the river. As you travel over, they stop and let you enjoy the view. Then there's the staple Bend Tunnel. 900 feet of total darkness.  Oh, that's most interesting. Thank you for the information. I've enjoyed speaking with you. I didn't get your name. Oh, Dickens. Charles Dickens. Good day. Your trip or on business or ship and merchandise, everyone recognizes the boldness of what we've done. Outsmarting nature. No doubt about it. And then a fella named Robling comes along and invents an iron braided cable to replace the hemp rope, that thick rope that hauled the boats up the inclines, and it wouldn't break. Well, mostly not. The things I loved. I loved seeing what was being carried on the main line. Mostly, going west was groceries, dry goods, manufactured items and the like. And coming back east, you find coal, timber, an iron ore plus flour, bacon, tobacco, whiskey, feathers, wool, cheese. The farmers out west were going from barely making a living to growing real profitable crops. There's so many raw materials. We're pouring into the east, the prices start to go way down. Low enough so everybody could afford a pretty decent life. No stopping progress. Steam locomotive came along and put the mules out of work. Main line, small towns started to spring up where there wasn't even a wide spot in the road before. I heard somebody say, Johnstown is growing in population about twice as fast as the rest of Pennsylvania. Pittsburgh's going to be as big as any eastern city. Ohio is getting populated too. There was folks wanting to do away with the portage railroad. Steam locomotives were getting bigger and stronger. So these folks said that a long, easy graded track could be built around the portage and trains could pull the load straight on through. I think my job had to agree, secretly. By 1854, the Pennsylvania Railroad had put track up around what came to be called Horseshoe Curve and blasted through the Allegheny Mountain Summit with the Galitson Tunnel. And that spelled the end for the portage railroad. By 1857, we were just a memory. First, we replaced the old-fashioned wagons. Then we got replaced by bigger, stronger locomotives. Seems there's always a better way to cross them out. Well, for a long time, we were the better way. We could compete within a canal or transportation in this country. Moving raw materials, east-manufactured goods, pioneers with their new fangled ideas out west. We were some kind of solution to some kind of problem we were. Back then, this country never had very far to look for an original idea. Well, I don't suppose that's ever really changed. No, I probably never will. No, I don't suppose there's any problem us folks can't solve. Even if it is big as a mouth.


All right. Hello. This is Christian. So in this video, we're going to connect to a Mongo database system using the MongoDB library for Node.js. Okay. So before we get, I want to go back to the website over here and just have a very quick review of the CRUD operations for MongoDB. So if you go to the site over here, there's just a link that will take you there.  Okay. So the insert, if you click over here, the left navigation menu, you have the insert, the select. This would be like a query for select, the update, delete, and so on. Okay. So again, MongoDB uses JavaScript functions to perform these type of operations. Okay. So just in here, if you do want to review, they're all here. Okay. So I'll refer to this one. We do some, any of these operations. But before we do that, though, I want to make sure that we have MongoDB running. So let's go here and look for Compass. If you have not installed it, make sure you do the MongoDB Compass is the preferred choice for interacting with MongoDB. So connect here. And in my previous exercises at demos, I have created a database called unit six DB under there. I have a collection or table called students. And then I inject and certainly about a hundred records or documents in here already for testing purposes. Okay. So you can, you know, create any database of your choice, any data you want to use, that doesn't really matter. But for this demo, I will be using this collection and documents to perform the operations. Right. So we'll keep this running. And now let's go to our IDE. So I'm going to go ahead and create a new folder here. We'll call this. I don't know. I'm just going to maybe call it db connect. Okay. So under here, I'm going to create the index.js folder for now. And then let's go ahead and initialize our, um, folder. So here, make sure you inside that folder, do the npm init dash y just to quickly instantiate that environment for us. Now we want to install a few things. Um, well, I'm not going to use the express, uh, framework because I'm just basically trying to connect to the database and then display some data for that purpose. Okay. So if you want to display this data to the DOM browser, then you want to go through the whole thing of creating a really nice site to do that for this example, which is going to connect to the database and retrieve data. Okay. So first let's install the mongo db. Okay. Um, that is all we need for this example. And so then now let's go ahead and instantiate our object over here. Okay. So let me turn this off for now. Let's do our usual setup. Actually, I need to install express. I'm trying. I meant to say express, um, I'm going to say express a handlebars is what I want to say, but I do need express. I apologize. Okay. So npm, I express for that. Okay. Close that here. Then we're going to have our app is instantiation of the app, create a port number. I'll use a 9,000 and I'll just put the URL. Um, let's see, uh, I'll put here the host. This would be local host, but I'll put the whole thing here. Okay. So we don't have to do that later. So local host, actually, um, it's better to use the IP address. Sometimes the local host does have some kind of conflict. So that is what we do. So plus the port number. Okay. And then we go ahead and app that listened to the port number, which is put here and then costs a little sample here console log host. I should say server, but that's fine. Okay. So that is the usual typical setup. And again, just want to just make sure you can see things in the browser. You can always log the, um, homepage. Um, so you can see it. I mean, for the browser. So, uh, just do something. Okay. So save and go to the terminal and let's connect and run this app. So again, if you don't have no month installed, uh, make sure you do that. It's really helpful. If you have it, just type no month, it should run your application. Okay. If you happen to run and you have this kind of example at this problem, then you can also try using MPX and then no month. And that also, uh, saw some problem as well. But anyway, so there this is running and load on port number, uh, 9,000. So if I go back to my browser and just go in local host, 9,000, you're going to see the message you put over here. Real tiny call. Hi. Okay. Do you see that that it's working? Then we are ready to go. Okay. So you can keep this running as I mentioned, and we can close that and we just keep updating outside. So first thing is you want to connect to MongoDB. So remember, we already installed the MongoDB driver. So we need to go ahead and import that up here. So I'm going to put at the very top here. Um, yeah, maybe up here. So it's not confusing with those other stuff. I'll put here the MongoDB client who will get the MongoDB client. A Mongo client is a object that is part of the MongoDB library. Okay. So if you do that, you're basically destructuring. We're just grabbing the object that we want. Okay. It's part of that. So make sure you put the curly brace around it. If you don't do this, then you can also create a variable called MongoDB client. But over here, you have to use a dot in the Mongo client. So either way is entirely up to you. This is just a variable assignment. I can assign to anything I want. A, B, C, doesn't matter. What I had earlier was you basically extract the Mongo client and put it right here. Okay. So that is the client. Now, I'll leave that up here. And then down here, let's put um, right down here because these are the APRs. So we're going to separate these. Okay. So right here is where you do the Mongo connection stuff. Okay. So first we need to get the URL to the MongoDB. So you put here const, um, MongoDB URL. I'll put that right there. So it's basically MongoDB colon instead of the HTTP. Um, and then we have the local host, which is same as above. I probably should put that into the variable. Maybe I don't want to retype this. It has the port number 27017. That is a default port. Okay. And then I also want to, um, connect to this MongoDB, uh, service, create a variable called, um, I guess quite a client. We're going to connect that to the Mongo client. So in the previous examples, or actually an older version, I guess, you can use the Mongo client to connect using callback functions. But I think the more modern ones are you going to call it asynchronously using async and await. Okay. So if that means we're going to go ahead and instantiate a new MongoDB object, uh, client, we'll pass into this constructor. Basically, it's a class of the URL. As you can see over here, the URL, which is the Mongo URL up there. And that's all we need. Basically, you can all ignore the other ones. So we are going to create an object. Once you get that, we need to connect to the actual database. Okay. So then we go ahead and do something like this. So client, actually, see, um, what do we do? Client. Connect. Okay. This connect function is part of the Mongo client. You can see it uses a promise, right? So what that means that you have to connect to the database asynchronously. Otherwise it will not work. Okay. So we need to do is the following. You can create a function, uh, async function like this. Uh, maybe call it like connect. Okay. And then inside this connect, if you're going to put that in here, and you're going to call these asynchronously using the await like that. Okay. And they're going to assign that result to a, um, another, I guess, variable called maybe DB. Okay. So we make the DB connection. And then once that condition is made, then we need to select a database. As you can see, we haven't selected one yet. We just made the connection. So once the connection has been made, then we need to go ahead and create a collection, I guess we call it call, call for collection. And when I again do the await, the only reason why we do, we're able to use this excuse is because this outer function must use the async in front of it. Okay. If you don't use that flag, it's not going to let you choose to await. Although I did hear that they were going to fix this update. So you don't have to make this a three async function. But as of today, you still need to do that here. Okay. So, um, what that does is that if you call this function connect, then, you know, you're able to connect to database asynchronously, you're going to wait until the connection is made before it goes on to the next one and so forth. Okay. So we go ahead and do DB.collection. We pass into this collection. Actually, no, I made a wrong. I had to be like, let's see, that's correct. DB is confusing. Actually, I should have, um, I should have, because this has to be like DB, that DB, I have to select DB first, I'm sorry. So the, the DB here is the local DB, the DB here is part of the decline. Okay. So a little bit confusing. I probably should use a different name, but I hope this makes sense. I'm going to pass into a database called my, actually call unit six, six DB, right? That's the one I called in my Mongo client over here. It's called Mongo, I'm a unit six DB, and the collection is called students. Okay. So that is the one I'm trying to reference here. So I'm going to connect it to that DB. So maybe they should have, they should have been said DB here. I probably should make it more clear. Um, let's see. Now that's confusing. Let's see. Let's put here connect. Let's put here connect. Sorry, all these free naming commissions. So I've made the connection, I select my DB, and then now I do the collection. Okay. Collection is going to be a wait. Um, uh, DB collection. And it's called, um, I call again, I think students. That is connection collection. And then now I need to make a, um, a, a query. Okay. So that, at this point, we have connected to the database. We have selected a collection. And now we need to make a query. So the query will be sent to a result. And again, we'll do a wait, a collection that find, find all of them, and we'll pass an empty object. You can leave like that. You can leave it out. It doesn't really matter. And I want to change or return that to an array. And then, and then we'll just get that. Then we can go ahead and console log or return this right to the browser. Okay. So this case is going to be a browser or actually no, because I did not send that to the browser. This would have been put inside here. Um, but maybe we'll just do a return. Okay. Return the result wherever it is being called. Okay. So also notice I did not trap any errors. If there's any error, you have to make sure that is taken care of. So to do that, we had to actually wrap the whole thing into a tri-cache. I should have done that again, try again, move all of these inside the tri. And then if there's any error, we're going to catch error here. And we're going to just console all the error. We're going to handle that error. And then we are good to go. Um, did I do it right? Okay. So we got that error taken care of. Okay. Let me format the code here. And then, so if that's the case, then we're going to return a, just return nothing at no value. It's a function, right? So when we get to that page, we can load that. So I'm going to go ahead and create another API to get our user. So put here, go to the students link. Once I get there, I'm going to let our const result is coming from the connect function. Okay. You call the connect function like that. So when it comes back, then we go ahead and then send it to the browser. It's over here. But again, notice this async function, we call it synchronously. So this function, this whole function here, it's a callback function. You want to make this into async as well. Right. So we can call this function asynchronously. I know it's really confusing, but that's how async work. Okay. So your async function can call other functions asynchronously using the await. And we'll see if this works. If there's any error, we'll catch it. Right. So kind of recap again, I'm creating a function to make a connection here. Okay. Can make a connection. Then we, actually, I might, might be wrong here, but we'll see.  I don't think I have to do our way here. I think just kind of select the DB. I feel like that's not right. Okay. Collection. Maybe it's going to, I think you don't need to put await. I'm just basically selecting. I'm not doing anything here. This is a query. So you have to await for that. But the other two, I think just select. Let's see. Okay. So go ahead and then run this. Actually, it's still running. I'm going to go back to the browser and we're just going to test this link here. As you can see, this is that link. I'm going to go to the link that says students up here. Okay. So you can see the data came back already from the server. All right. So let me make it a little bit smaller. You can see it should have about 104 or three items in here all together coming back from the server. Okay. So it's working nicely. Again, you don't have to do that here. But I don't think it would hurt to do that. You can put all of these here to await. But it doesn't really matter. I think in this case, it should still work. Because I'm basically, you know, see, as you can see, it works just fine. Okay. So it's not necessary here. We can leave it. It's okay. It's just that we make this fine. You have to use the await. If I don't do that here, for the sake of I turn this off. All right. Let's see what happens. Usually that will hang your data. Actually, it comes. Actually, it's fine too. That's great. Okay. So it does come through. That's great. And maybe it comes to because, you know, I'm making a lot of async call here. But just to be safe, you could put a wait here. Okay.  So anyways, recap. We made the, we extract the Mongo client from the MongoDB library. Okay. We then create this URL to the MongoDB URL, the host and the port number. We create a new object of the Mongo client. We pass this connection string. This is a connection string to this client. So we can assign that to a client variable. Then we create a function called connect because you want to be able to connect these asynchronously. Okay. So if you don't put that in here, you cannot call this outside. Okay. In other words, you cannot do that here. Right. It won't work. So we created, we made the connection, assign that to the variable. And then from this connection, we select our database using that DB function. And then from this database, you need to select a collection called students. So again, collection is synonymous to a table. We assign that to a collection. And then from that table or collection, we can then perform the crowd operation. This is one of the crowd operation functions. I just showed you earlier. So we want you to find that result. We turn that into an array. Assign that to a variable. And then this function, we turn it to result. If it's successful, if there's any error here, then it's going to return nothing down here. You can put an empty object if you want. Maybe we'll do something like that. Okay. So let's just say I accidentally put a error here. Let's say that, I don't know, put T here for some reason. Okay. I mean, it may not be an error, but you're going to get a blank result. Maybe let's see. So do a refresh. You can see that I got a blank result coming back because there is no such thing as a students here. Okay. So let's do that. All right. So the find is one of the functions. If you want to filter, say I want to return only the students or a person that has ID of five, then you pass in here the option, the key values, right? So I want to get the, let's say, what are the options they have? We have, let's see, we have what? Oh, I made a mistake. Let's turn this off. This is just meaning has a, so everything's live because of the no monitor. Okay. So let's say I want to notice this underscore ID. This is the MongoDB primary key. And I didn't have one for my program because, you know, I did not choose to do that. If you go over here, you'll see that all the IDs are managed by MongoDB, but there is an ID field, which is, yeah, I managed, right? So it's called just ID without the underscore. We can look for ID of five, ID of 10, or we can look for all the genders or the IP addresses and so forth. Okay. So let's say we'll look for the ID only. So go over here and when I look inside the filter, where was it? Oh, right in here, find all the ID, put that underscore, okay, the ID equal to five, right? It matches that five ID. There is one. If there's not, you're going to get an empty result. So let's see if that is true. I'm going to refresh this page. Boom. And there it is, the ID of five for that particular student. I just did this performance operation by, you know, hard coding this in here. So this is like a get one type of IP, I mean, right? So this is like a get all students. This is like a get all. So therefore, when you, when you do the connection, when I call this connection string, I don't pass in any parameters. So this is, will be just something like that, right? Pass nothing to that. I get a get all. If you want to get one that usually you do something like this, if you remember, we're going to pass in here the ID of the particular student. And then maybe here, you want to connect, once you connect, you're going to pass in the ID of that particular, you know, student. So you can do like that ID is equal to recgrams.id, okay? And since the ID is a, if I'm not mistaken, is a number, measure is a number. So you have to convert that to a number, okay? So that means again, change that, pass that to a number. And then you can again, send that to the connection string up here. The same thing. You can use the same function, but when you do the find here, you have to pass in the option. So ideally, if you want to reuse this function over and over again for the find, then you put here, you probably want to rename this a bit more meaningful, but say that's what I put option here, okay? And the result is going to be an empty object and I can pass here the option here, okay? So if I do that, I didn't, you know, run this yet, but if I do that, I pass an empty object goes in here, I still going to get all the students. So it should still work just like before, okay? If I refresh this without the ID, you can see everything comes through, okay? So now this time, if I'm going to use this length to pass a single ID that I pass to this connection string, the object of ID is equal to ID, okay? So this object goes in here, right? Goes in here, replace this, and then it pass that to the find function. And now I'm going to return only the single ID of that student, okay? So let's go back to the browser. And now let's see, this is for all of them. This time I just want the ID for, so you can see it extract that ID only. If I want to get the ID of the 45th student, you get the 45 here, okay? If it's something beyond that, it doesn't exist, then you get an empty object, okay? So I just did the request for all and request for a particular student based on the ID field. And then if you want to select a different type, say you want to select by name, by first name or by a gender, for example, you put gender here, right? And then here, you will get the gender. And you know, it's a text, so we're not going to pass that to then we'll put your gender here. And you pass in the gender key, you put here the gender, okay? So again, I believe is case sensitive, if I'm not mistaken, we'll see. But let's say that I'm going to go over here and let's test first in the browser, all right? So that works fine. If I go and type in the gender would be for, actually, this would not work because if I type in like a mail, okay? It's going to be blank because it's thinking that it's going to the same IP, right? Same address. It looks the same. All it is just a different ID and gender here. So it would know which one to use. So if this is the case because the URL is, you know, the same, then it would never call this one, okay? So let's say that I want to call a student maybe by ID, you put ID ID, here you put gender or just G for gender or as a matter of gender or gender, okay? So a little bit more unique this time. So the different IP address. I mean, end point. So now let's go ahead and try ID of one. You're going to get that student, right? Now if you put gender of mail, you can see it returns all the mail, if I'm not mistaken, you can see over here, okay? And if you put lower case, you can see it's case sensitive, okay? So the female, again, all the female and so forth, right? So to avoid case sensitivity, then there is another thing that you need to do. Let's forget which one. You can convert that to a, you know, uppercase lower case before you send it over. Or I think there is a function called collation. And here you type in here the type would be, I forgot. I forgot what it is. It's a property called strength. You set it to one, okay? And yeah, there's another property. I forgot what it is. Let's see what that is. That will actually take care of that. Yeah, there's an error, as you can see. Okay, so that's good. Then go to the terminal. It will tell me. And the error down here, what does it say? Collation is not a function. Okay, so it's probably something else. Maybe it's for a different thing. Okay, well, I need to figure out what that is.  But for now, it's just, just to make sure it matches the case sensitivity. There's a way to do that. Just forget what the actual syntax is. Okay, so I just show you here how you connect databases and how you can do all these operations work. Now to do the post and the put and the delete is the same thing, right? You already know how to do that for operations. Get the API or the setup. The only difference is that when you do that, the function here in here would be not fine, but, you know, update one, is the update, update one, update many, there is a delete one, delete one, delete many. Again, the option is the same as that one. Okay. And then there is also the insert one, insert many. So in this example here, I'm using find in here. So ideally the name of this would be find, not connect. If you just want to connect, then you would not go and proceed with these two statements, right? So when you do a connection, then that is supposed to be just connection. So if I connect, once I made the connection here, I can also select the database and the collection, and then we turn that back. In other words, do this. Okay. So let me update this. This is a little bit more specific. So if I just want to do a connection, then I'm going to return the collection back. Okay. So this collection here that we stop here. So that means when I do the connection down here, I wouldn't say result. It would just be a connection. I can call it, what should we call this one here DB, maybe if that makes sense. And we'll make the connection. No, I just call it, I just call it, I don't know. I guess DB is fine. Okay. So once we make the DB connection, then we got, actually we got the database and the collection back already. And then in this case, then we're not going to pass the option here. Okay. So to make this a little bit more usable, you will pass in here the database and the collection. You can set the default to these. Let's say this is my default database. If I don't include one, this is my default collection. If I don't include one. Okay. So this will be my variable called database. And then this is the collection for that particular collection. So make it more dynamic. When you make the connection, then I will pass in here. Right. If I don't pass in there is the default. If I do change it to a different database, you will pass both variables in here. Okay. So once I get the connection, then this statement here, okay, will go right in here. So now it's very specific to a get because I'm getting only one. So I'm not passing any options in here now.  So that is for that one. And then same thing. This will be down here as well. So let me copy this and we'll be down here. And let me replace this. And then the option will be right here. And so we don't need this anymore. Right. We still need to make the connection. Okay. I'm making every connection here and for each call, usually you call it once and then that's it. Right. It should be connected. So I'm making like multiple connections, which is not ideal. Right. So what that means is that, by the way, let's let's test first. We'll do the same thing down here. Okay. So the first thing is connect the database. Let me move up here like this. And then I'm going to go ahead and copy this again right in here. And this I'm going to pass in this option to the find function. I'm going to destroy this. All right. So now a little bit better, right? Makes more sense. This is just the connection either. So here I would probably not return blank or return like maybe null. Okay. Return null return, you know, empty object will undefined or false. It doesn't matter. Right. So now if I go back and try the code, it should still work. Okay. As you can see, it's fine for mail. Okay. We'll still be fine if I put something else to get empty object. If I go back to the all the students coming back, fine. Get the ID of one. Okay. ID of 100, 100 and toward hand doesn't matter. So we'll still work. All right. So now again, you don't want to make so many connections here because the connection is open and never really close this. I made two connections. Every time I call this, I make a new connection. And that is not correct. I mean, eventually we'll close. But if you keep doing this, it's going to have a lot of connections. So when you make the connection here, and if it does succeed, you return, if it fails, then you log the error and then you return that. But before you return it, you want to close the connection. Okay. If there's an error, then you won't do something like this. If only when there's an error, because if there's error, it didn't connect. You want to go ahead and do like, what do we call it? This is the connection. So let's see. Client, con. If I made a connection. Well, if I didn't make a connection, I don't need to close it. Actually, yeah, you don't have to do that. If it does succeed, then you can close it later. But you can write different functions and do that. So what you can do is do something like this. So let's say that I want to put this outside in a global space. So that I'll call this here every time. It would do something like this. Let me create a function. Because I'm calling this asynchronously. So again, just like above, you have to do one or two things. I could use this and just re-devote this. Or create another one. And actually, we just do this, right? We just do a, let's see if I can do something like this. We do a db. Let db is equal to null. And then I'm going to invoke this function like this, wrap the whole thing, and then invoke it. This is called iffy. It's called iffy function, meaning immediately invoke function expression. I create the function. I wrap it with the parentheses, invoke it right away. This automatically invokes itself. Once I run that, I'm going to go to here and make the connection so forth here. So as I return the collection here, I'm going to set this global to that particular collection. So I'm not going to return it. I would do this. This is already the db. I don't want to call it db. Let's put here, I call it db, let's put it db connect. So this is actually, I can call it db. And if you turn that, you assign this global db with that db right here. Okay. So I invoke it right away. I made the connection, you know, select my database and then select the collection, assign that to a db variable up here in the global space. So when I do this part on here, I don't need to do that again. It's already connected. Okay. That's what I mean by creating one function and then that's the connection only once. So now if it's correct, it should still work just like before. As you can see, I go back and delete this. So you can see all the connection, all the students ID of 23 and so on. All right. So this is the better approach by just making one connection string call and then make that to a global. And then, you know, when you access these, you just basically go ahead and use it right away in here like this. Okay. So I think this is long enough. And if it's too long, feel free to, you know, rewind fast forward to wherever you need to do. So thanks for watching. Any questions, please let me know.


Let's talk about the steps that you need to follow on the day of the vaccination and we will share our experience with you. So the first thing that you would need to do is to actually reach the vaccination center right and the thing to keep in mind here is to be very careful of the address. So when we booked our slot it doesn't really mention the complete address it just gives I think a pin code or just the area reference something like that right and that can be confusing so make sure that you double check and you know you figure out where exactly you have to go. I've had friends who reached the wrong address and they ended up missing their slot so do not do that be careful of the address. Another important thing is to reach your vaccination center at least 30 to 45 minutes before your slot timing that is because once you reach there you will get a manual token and then they will call you token wise so for example if your token number is say 60 you will be called in the 60th position so the earlier token number you have the faster you will get your vaccination done. Yeah so we reached I think by 9 a.m right which so we our token was around 70 like you mentioned so we waited for almost two two and a half hours but if we had reached a little earlier say by 8.15 or 8.30 we would have got a faster token or rather an earlier token number so try and reach half an hour 40 minutes before your actual slot. So once you are called you have to go to the counter they will check your original ID proof if it's Aadhar even the digital version is fine against your booking and you have to make the appropriate payment we took kovishield and that costed us 850 rupees okay in apollo so a rupee 600 is the cost of vaccine plus 250 is the cost of administration okay so once you await the payment you are taken to the medical checkup room in that checkup room they will do a very quick check of your blood pressure and your oxygen level assuming like both are fine you are sent to the vaccination room at the vaccination room the nurses will show you the while with the expiry date and they will administer the vaccine for you the entire process takes under one minute and after that they told us to wait for another 30 minutes this is again for observation to make sure that you know nothing is wrong and this you can either wait inside or wait out in your car and i think after 30 minutes we just went inside informed them that we were fine and then we were free to leave so this basically was our experience of getting the shot and yeah and now i think quickly we can tell them what happened after after we came back home yes yeah why don't you start so actually like nothing happened till evening yeah till night nothing happened 10 p.m around 10 ish both of us got slight fever and we had ache in our arm and body aches headache headache and body ache which lasted i think the entire night and half the day next day yeah so symptoms around like mild headache body ache and fever for around 24 hours 18 to 24 to 24 hours from the night of vaccination yeah that's what happened with me yeah similar for me just that my headache was more severe and but again these are the things which are expected and you're also warned about this when you get your shot so just be prepared you can take a parasitomol or a dolo tablet you know if it gets too much for you but yeah overall i think a pretty smooth process of getting the vaccination and the wait time for the next shot is about two months right yeah 45 days so we also get an sms so from informing us about our next vaccination date this sms has come from a polo like where we got vaccinated however i think you have to again on the coven app your second vaccination i don't think it's a normal walking process but i may be wrong so if you are aware comment down and let us know also the vaccination certificate you will get on the coven app so download it from there and it should also be available on the government digilocker app and that could be very very important for your travel so especially for international travel this will become like a vaccine passport which is which our guess is that will become mandatory by the end of this year yeah especially for all the you know students for all the people traveling to the us be very vigilant about this keep it handy because like he's saying i think it's going to become a norm by the end of this year so guys this was all about getting yourself vaccinated i really hope that the tips and hacks that we have shared with you help you so go ahead get yourself vaccinated also share this video with as many people as you can spread the information and yeah stay safe keep the masks on stay at home and i'll see you very soon in the next video till then make sure that you subscribe and hit the bell icon so that you don't miss on any updates signing off for now bye


The Saber Strike 2015 Field Training Exercise or FTX has begun. Units from America, Lithuania and Germany test their compatibilities and interoperability by splitting up units from each nation and creating a multinational offense and defense and pitting them against each other. Well, yeah, I think this type of training is very important and I think it will continue and I think it will continue to get bigger as well. As we continue to do these exercises through Latvia, Lithuania and Poland, we will learn more from each other every time we do it and then as we train together we become better together. This FTX in Rukola is three days long and will consist of each multinational task force switching roles from offense to defense every 24 hours. This is to improve joint operational capabilities in a range of missions as well as preparing the participating nations to support multinational contingency operations. That's the first time for us and that we work with our new NATO partners in the east of Europe. I think it's great to work here with our Lithuanian comrades. I think it's a total new exercise for us because we never practiced with them before and I hope to bring them a couple of good ideas for the future. Reporting from Rukola, Lithuania for the 16th MPAD, I'm Army Staff Sergeant Scott Shoemaker.


Horford from the corner to get things started cornet the offensive rebound It's pretty chippy out there goes to work Are presented by Metro by T-Mobile


Let's do a little that a little this there we go I think I'm good to go now across both ends inside the trading room and on social media So it's saying that at least the IMRA a stock that is not necessarily moving here We're very hopeful to see this make a big squeeze over to at some point throughout the day You know at any point, you know, really please But no, I mean this stock ended up beginning to make a pop from pre-market It ended up giving us a few different bounces across the morning session So this was one of a few that were pretty good to us at least early on and it ended up make a nice run from that point I ended up jumping in off of 165 here right before it ended up making the test of the highs Well times at least that actually took most of my losses away I'm still down on the day like 150 But this was like one of my worst performance days like really in a long time So not happy to say that but it's needed to be said because we're not all perfect But you know, I'm not gonna try and be a shooter out there and try and flip my day around randomly I mean listen if I end up in the negative it is what it is But you know ended up doing well on this stock to where it cleared out most of my losses I was down a lot heading into the day. So ended up popping from 165 ish I ended up getting out at 183 on most of my position got in and out again on a quick scalp But then ended up missing this last bounce here as it made the move up to two You know hey It's been trying to make that rebake of two across the day if I put a line here on the chart Give me a quick sec. You'll see most recently It really tried to give it a go on the last few attempts fell short here fell short here So, you know, listen, it's still near the highs I'll come back to this at the tail end here see if it ends up making the final push But you know for right now, I want to see if there's just better trades right now One stock that was doing pretty nicely for the afternoon, you know session late morning early afternoon Bobby jet that bet beyond ended up making a big squeeze early this morning Perhaps, you know, you know recovering from from you know over the weekend and from the last like two weeks really prior to that You know ended up making such a steep drop off from there, but ended up popping after the open Pulled back now at that point. I kind of called it out looking for the bounce off the VWAP But once it stalled out from there, I took a small loss in that position I moved away so it ended up just chopping around the VWAP Fortunately for those that may have stuck around if you had the patience like Chuck did inside a live trading room whenever long-time students Man, thankfully it paid off, but you know, I said it just in traders talk yesterday You know, I don't look to be in these trades for like an hour or two hours time We have better things to do with our lives folks I mean more often than not you don't tend to see this type of continued move up So thankfully with the market squeezing up and bet bet beyond being a stock that's taken such a hit lately And it's more volatile stock in general. This was like one of the better moves at least so thankfully it paid off for those that were patient You know, hey for right now. It still could be pretty volatile. It's up over 11% Perhaps there's one more run back up on this trade. Markets are still holding strong Not gonna put this on the main list just yet. I'll put it on the side list with a IMRA All right, so if those keeping score at home, that's two on the side list zero on the main list All right, so let's go from top to bottom now though. We talked about the top percent gainer here SHPH untradeable, you know, it's making a big move up or it has from the you know mid-afternoon so far Ended up making this bigger squeeze up across the mid-morning.  You're like, oh my god I want to jump into that. I want to be a part of that next big run. Well. Hey, that stocks up 39 percent, right? We've actually done a lot better on IMRA. That's up 58 percent You know, it seems like a slower mover quote-unquote, but you know, I made a bigger move net percent wise So, you know, just keep that in mind. You don't need to trade the stock that is making the biggest Net dollar move because those often have bigger spreads thinner volume on the book AZRE here. I mean, hey, you know, four-hour stock order book is pretty liquid for the most part Iceberg on the ask at 486. It's had a nice sneaky day today. It's my first look on the stock Actually, so looks like we missed the morning pop at first like probably off of low volume there But you know accumulated across the day and it's still pushed up pretty nicely. I I don't mind giving this a look. I'll put this on our main watch list here the AZRE trade I think this also could be shortable in trade station. Just double check there And also double check on your platform because it fails to break higher from here or makes, you know The false break of five then tanks right back down that could be a pretty good short opportunity SLQT. All right, well talking about watching the grass grow, right? I mean this thing is just kind of slowly churned up across the day not exactly my cup of tea But with that it's at the highs. You know, hopefully this becomes a lot more volatile fast moving of a stock You're heading into the close It's tough to ask for because you happen to have some bigger orders on the ask here at 49 50 52 53 even So, you know, I'll put it on our main list But I wouldn't expect a whole lot in terms of like, you know sense You know look for maybe like five cents. Maybe the test up to 150 and see what happens from that point SIDU I had a feeling this would happen. I see the price here on the right side of the scanner So this had a tough time really trying to break back above resistance off of 350 But really it was 345 that was like the CVP level from book map And you know the price level that's had the most amount of volume traded off of it So saying that geez once this came down moved up, you know, tried to give it a go here But held really well and then from that point, obviously Came right back down. I think the stock was shortable for us at one point in the past But hard to borrow today, so I wasn't able to take part in that short I would have expected that drop off though couple of other like Familiar names here like dy n c r k. Oh, that's a cheapy g kos $57 stock. I've never seen this really before and ended up making a big move from the morning though I'll have a pretty low volume. So, you know similar to the shph more expensive even just there's no need And bigger and better fish in the sea to catch Nut x I mean hey, we're familiar with this one from yesterday. This one kind of took You know took over by storm ended up popping shortly after the market opened up It was not on our morning watch list it wasn't really showing any activity in pre-market and Popped right out the gate. So we did really well on this stock, but came back down I was not expecting a full trip or almost a full trip back up to the highs again today So this one also kind of snuck under the radar, but yeah pulling back down right now I don't know. I'm not too particular about it here I also have to build up a good watch list for Fausto in the phase 3 class folks You know, I don't want to look bad in front of me is me trading these stocks mostly heading into the close So, you know, I want to do a good job build up a good list. I want to jump back to a stock I just kind of glossed over there for a moment AMRS But I saw Michael talk about Tupperware earlier and you know, it's kind of holding strong here, right?  No Now this this looks a little bit sharper for the moment here The the blue apron trade a stock that we are familiar with like Tupperware But just broke out from resistance here like seemingly from the chart right off of 633 632 ish year right Ran up pretty nicely should it pull back wouldn't shock me to see it kind of fall in between 633 and like the previous peak at the time like 637 there We'll see what happens here on this blue apron trade. I like this. We'll put this on our main list and at the top. Oh The stock I kind of glossed over there briefly AMRS This actually looked pretty good. I mean compare this to the other one like the slow poke SLQT that I have on the main list You know, this is still kind of holding strong But that other one AMRS is moving back up to the highs here So it could be ready for another pop breaking over the 40,000 share order on the ask at 320 I put one on I feel like I'll put the other Building up a good list and they're mainly more like level one to two stocks if anything So, you know, I feel like all you know any one of us inside our live trading room should feel comfortable looking for icebergs on these trades You know dealing with the liquidity IQ Wow IQ's had a really nice trend across the day, you know benefiting from the market push today I'm sure China markets have been pretty strong if I take a look on like yin Chinese ETF But IQ nonetheless making a very strong recovery the issue on this stock. It's like almost too liquid This doesn't really have much volume out there collectively or I'm sure I'm sorry That is like too much volume out there collectively on the bid in the ask So even here like 35k 45k you really need a strong push on this IQ. It's been trending up nicely I'll come back to this one at the end a good chance. I've slipped this one on here Go back to Bobby Jay here really fast I got a private chat from one of our students on that actually so But Beth beyond hasn't done a whole lot since we last left off with it But you know if you're hopeful for another squeeze up, this has been volatile enough to look for it But I feel like it's more exhausted now here than anything We'll see Come back to this just at the tail end here Let's hop over to the losers list right now now folks There's a lot more that's like up that 5% that I look for so I say it every day But I really mean it on a daylight today where the markets are you know very directional in one way or the other So at the market screaming up there's a lot of stocks that are up more than that 5% So if there's anything else that looks good, let me know type it in the chat boards Say what what's not looking good. It's looking good as a short Viru jeez this thing got clobbered today and I didn't really see any like negative news on it Maybe it's just speculation Maybe you know there are some folks that know that know something that we don't now I actually went over this with one of my students in a coaching session earlier today Ray And you know he just we were talking about actually ISEE from yesterday The one that had phase 3 news and you know it had a nice run yesterday I was looking for a lot more on that trade if we want to quickly look at ISEE Did not really get a whole lot more on ISEE today obviously dropped in pre-market But you know no real play on this for the most part was a better short once it broke it under its opening bell print Now getting back to Viru though. Why do I bring this up? Well Ray was asking like hey was last time you remember like a stock that came out phase 3 news of some sort You know the one that we actually traded you know what I mean He actually asked you know what led to Viru's move up back in like July was it was it that and lo and behold You know I'm not a newsman. I don't Remember and and it actually was whatever you know drug they were working on came out knows phase 3 positive news or across their clinical trial So that's what led to this big pop back in mid-April and then from there There was more news that came out in July and let's this giant run up on Viru You know I wasn't expecting as big of a squeeze across the period of time at first It's not surprising to see it make that type of pop Well the headline that came out today on Viru and again, it's not even like a Bad headline from what I recall unless if there's something else that just came out All it says is Traders circulate word that the FDA decision on Viru's COVID treatment that the one that was going through the phase 3 clinical trial Is going to be decided on on October 6th? Okay, that doesn't really sound like Bad news or a bad headline well that leads me to think that either there are some folks that know something that we don't or It's pure speculation where people are just selling off whatever they ended up jumping in from back in April May June time And just dumping off just to take profit You know regardless of whatever the actual results will be come October 6th now There is something that came out on this just really briefly. I want to take a quick look copy paste So Viru announces October 6th date for the FDA advisory committee meeting to review their emergency use authorization for whatever drug for COVID-19 patients Yeah, there's no negative like headline that sticks out with that really right it just says October 6th Man this thing took a huge hit just for that you know announcement But nonetheless it is shortable. It was a hell of a short from the morning. It's back to the lows again here today So, you know watch for support off of 11 here on the Viru trade great short across the day In fact it ended up actually breaking below big support just around 11 from the weekly chart like around 11 35 1140 ish just roughly around there from the weekly chart looking across those months Just put it at 1130 for reference Because right now it's at 1104 so now you could see on a bunch of these bars We're at bottom doubt around that price above that price even well, you know today and this week Obviously it looks like it's gonna look to test around those prices for the weekly close It'll be interesting to see what happens over time on this stock Mark calling out G sat here in the chat board alongside Carol to which we'll get to that in just a second Just look across the loser side here lastly But again like I said previously I wouldn't expect for there to be a whole lot on the loser side here now at this point with the market running up as much as it has Path was on the losers list to begin the day. I just wanted to look at this pretty briefly It's like kind of just at the highs, but it's coming off bad news. How much higher could it really go? I Don't really know. I wouldn't expect too much here at this point straight a lot of volume here today Perhaps it could be a better short, you know, it is easy to borrow on trade station Alright, that's just about wraps up honestly the loser side, you know There's actually a bunch more that looks easy to borrow, but they're all really cheap or not trading a lot of volume Stocks were not really too familiar with just wanted to briefly look at the loser side there So Carol says G sat pop, but it just pulled back drop back down. Well looks like news came out I think this is the one that rich was pointing out inside the chat board earlier today So I want to repost what he was talking about earlier So he had called out the halt based off of news pending on this looks like this company ended up announcing a deal or partnership with Apple for a satellite enabled services for a certain of its products All right, so, you know this ended up just reopening up a moment ago and with that big pop and pull back We'll see what happens on the street, but it's a great reminder. I appreciate that from Mark and Carol and yeah G sat We'll throw in our watch list here Actually, I'm just really quick. I don't have my book map open for this one I'll get book map up once rich jumps on the mic. I'm gonna go on to a coaching call It's one of our students Michael coming up at three o'clock and look to Hopefully follow this year and make a little money back here get myself into the positive if so and well right now Really just not a whole lot of discrepancy between the volume being traded across these prices here to 40 to 45 Etc. So I would wait a little bit to see things simmer down a small amount Or otherwise if it begins to hold better over 250 then look to try and take it from there But I'd be a little patient here even A little patient there All right, let's see what else we got folks just checking across the trading room checking across social media Hopefully folks can hear me throughout this whole damn meeting. I started off the small audio issue and I've been paranoid since I Think I'm good to go. Hopefully I am. All right from Benzinga Pro I don't really have much else aside from G sat really. That was the main one ATHX this is not looking good at all Let's go back to the sideless stocks the IMRA right IMRA is still holding well near the highs Definitely now since it's beginning to make this bounce your back over the 190 We're gonna put this back on our list. I am RA That bet beyond maybe maybe I'll tell you what I am gonna put this on our list here for right now The IMRA trade looks a lot better G sat looks more interesting Viru looks better as a short than this does a long But this stock really isn't trading a whole lot of volume today compared to what it has done The last like, you know two three weeks even, you know, it's trading a lot of volume regardless 37 and a half million That's a lot from you know, pretty much every stock But you know comparative to recent days and weeks there could be more left in the gas tank keyword could I'd feel more confident if it was closer to the highs, but you know, it's holding a steady trend So it's hard to ignore this one here And then lastly the IQ it's still moving up. I Mean, hey, there's probably a lot that's looking like this at this point But not as much that's up 11.6 percent that's looking like this So it does have a lot of volume on the order book for it to cut through an order for it's like become a faster More, you know opportunistic trade based off time, but I'll slip this one on as well I don't remember the last time I put all stocks from the side list on the main list at the end That might be a first. All right, folks. Well, I'll tell you what we're gonna finish things up right now I know the Fausto is finishing up his prep for the phase three stock course coming up at 305 Eastern time I just finished up a small text conversation with him a moment ago So I know that he's getting ready right now and in the classroom But um, you know aside from that I know that for a few of us that don't have access to the phase three stock course You folks will be here in the trading room with rich and I'll be in the chat board here and here and there I'll be on a coaching call like I'd said hopefully Hopefully getting my hands on that gsa t-trade All right folks but aside from that any questions that you folks have on social media Let me know I always like post my email at the end of these streams Josh at ctutrading.com is my handle if you are or if you're interested in joining our live trading room That is just go right down to the link on the yellow banner below of the stream right there to get yourself started But uh, I'll talk to everybody soon for michael and leida and ray and carol and grant take care Come a cyber group member today Just click the link below and receive all these amazing products and a world of knowledge For just nine dollars do it today


What is going on? Welcome to day nine of one year of games.  I've got my pretty gay glasses on today. I don't have my big ones. Don't judge me too much for that, but before I go on to work guys, I just wanted to run through my plan for the day and also what I've brought to work with me. So first things first, I ate a shitload of food last night.  I haven't been sticking to my macros and my calories. I'm putting myself in a very dangerous position.  But honestly, it's because I ate too much. But anyway, with that being said, I'm gonna start the morning intermittent fasting. I've got a coffee here. I'm gonna finish that before I go in. I have some BCAs, which I've put in a shaker. I'll fill up that in about an hour and drink that. So I think that's 10 grams of protein. And as well as that at lunchtime, I've got a shake which has 100 grams of oats, one banana, a cup of skim milk, and two scoops of protein powder. So that will be my first meal. But as I said, I will be fasting for the first part of the day, which I have no problem with. I've done that plenty of times before. So yeah, feeling really good. Today after work, or possibly after work, or maybe at work, I'll be taking a client of mine to football training. And there's a basketball court down there. So I'm gonna take a basketball and do some off-season cardio for the first time. So that should be fun, because I love sport. I love rugby. I love basketball. I love every sport. I'm loving watching the Olympic Games at the moment. That's for sure. I need to do some sort of physical activity that's not my need, which is non-exercise activity thermogenesis or something like that. Anyways, I probably do about 10,000 steps a day, regardless. What I wanna do is amp that up on a couple of days a week and get some off-season cardio in. So today is gonna be basketball. I'll check in with you guys at lunchtime and let you know how we're going. Peace. All right guys, home on lunch. As I said, luckily my shift is in town today. It's not out where I normally work, so I can actually come home for lunch. It's not long. It's an hour. Takes me like 10 minutes to get home, 10 minutes back. So I've got 40 minutes while I'm here. And what I've just done, and what I do most times is I check YouTube and if I'm gonna release a video, I will. I'll edit it. I'll put the thumbnail, et cetera. And that's exactly what I've just done.  And they've just been released one after the other, probably every two or three days. Actually, sometimes every one day to keep the content going and to keep the subscribers coming in. I knew that I needed some content, some quality content to release. Different sorts of stuff, not just bodybuilding sort of stuff. So I hope you've enjoyed it. As I said, I've just released the last one, which was the fastest road in the Southern Hemisphere, which was when I took my car out to the Stuart Highway, which is about 30 Ks, well, Stuart Highway runs through Alice Springs from Adelaide to Darwin. From around about 30 Ks north of Alice Springs up three or 400 kilometers worth of road, there is a unrestricted speed limit. So you can basically what they've told the Territorians and the people that drive on the road is to drive to the conditions. And that's all you gotta worry about because at the end of the day, there's an extremely low rate of death on the Stuart Highway. And it is a fucking, it's a long road, man. It's a 3000 kilometer highway.  With that being said, I don't think too many people would go over the old speed limit, which is 130 Ks an hour. I mean, 130 is pretty fast in most cars, but I did take mine out there.  I was shitting myself, to be honest, but I did make a video of it and I put it up on YouTube. So I hope you guys enjoy and I hope I get, you know, car enthusiasts coming to my channel now.  So I'm feeling really, really positive about this YouTube channel. So like I said, all of those videos have been released. Now it's on to the task at hand, which is creating this series that I'm recording now for all you guys, one year of games. I'm so excited. I've downloaded a new video editing software. I think it's called, that's called PowerDirector. So obviously I'm not using an Apple. I had to sell my computer. So I'm using a PC and I'm gonna be using PowerDirector as my video editing software. So I've probably talked too long and now I need to get back to work. So I've got another drink of BCAAs. I had that shake at work. I also had two scones that they made because they do morning teas there all the time, which I've counted as 300 calories or something like that. And I had two boiled eggs because they were part of my client's breakfast and he didn't want them. So I had those. So I am feeling pretty good right now. I'm gonna go back to work, probably have another coffee, get me through the rest of the day. I'm gonna take some food back with me. I'm gonna take some rice and I'm gonna take some tins of tuna. It's extremely easy just to throw them together, make a good meal. Clean carbs, clean protein, low fat. You can't go wrong. And then after work, I will be smashing the gym once again. It's gonna be arms, haven't hit arms for a while. I've sort of been throwing them in at the end of my chest workout, the end of my back workout, things like that. And it's not optimal.  And that's all I'm caring about right now.  I don't want 16 inch arms anymore, man. I want 17s. So that's the goal. But anyways, with that being said, I'm gonna go back to work now. Hope you guys are having a great day and I'll see you guys when I'm done. Peace. What a stunner. But it's not surprising because it's like this every single night here. So I've just taken my client down to the oval for his AFL footy training. And in the background, you can see the basketball court. So every now and then I'll get on the shift where we take him to training.  But today I was clearly the whisperer and he has been behaving and he's out there playing now.  In the evening sun here in Alice Springs. It's officially the first piece of off season cardio for me this year of games. So I'm gonna get into it. I love basketball. The last time I actually played for a team was in Senior Boys at Cashmere High School back in Christchurch.   I mean, even a quarter, even a few minutes. I remember I used to get the most driest throat. It was ridiculous. Like there was no workout like it, not a rugby game, nothing. I've always loved shooting around and you know, playing around with the ball. So I brought one down and we're gonna have a few shots. See if I can dunk it. I'm not sure I can. I really don't think I can. These are full size 10 foot hoops by the way. So if I do dunk it, kudos to me, but I doubt it. Let's see.  I could do this all day. I don't know why I didn't use this for cardio when I was cutting. Anyway, so I'm gonna get this dunk. This is the last thing I do. Let's go.