Penetration, but they couldn't get hard, and he gets the corner, he's out to the 40. Good straight drop, it brushed heavily, and hit as he throws. Hermit back, makes a catch, cleans and touchdown! Binslow drops back and wafts the pass over the center. Caught for a touchdown. But he's got to get one over, he makes a great leaping grab. We're at North High School on a chilly Friday night in late September, where tonight the Golden Raiders will take on undefeated Green Bay Preble. Hello everybody, my name is Mike Martin, joining me as a coach, Chris Wright. Chris, Preble comes in, they're 4-0, 2-0 in conference and state ranked. They've got a real nice ball club. Yeah, they do, big challenge for the North Siders today. I was looking a little bit at the schedule of Green Bay Preble. They are 4-0, but they haven't played in any jogger knots. They played Green Bay Southwest last week, beat them 48, they beat Green Bay East, 14 and not them. And they're two non-conference game, they beat Wapak, who's traditionally been a pretty good team. And then they played Whitefish Base, so they haven't really played great teams. So who knows tonight, we'll have to wait and see until the kickoff goes. One of the things we've talked about each time we've covered North is the fact that they're going to have to grow within the system that Coach Brickson brings. And last year, last week we saw some of that growth. They actually had to lead in a second half against Manitowoc. Yeah, they did a lot of nice things, especially in the first half. And Manitowoc I think just wore them down with that big front line. Because we don't have all the weights and things for Preble. I don't know what that situation is. One thing Green Bay Preble does have though, they have five new offensive linemen. They do have their complete backfield back. Brent Heim is their quarterback. He also plays shortstop on the baseball team. They have a second team all conference running back, returning on their fullback back.  So that's one thing that's maybe not as strong. Dave Moss has really done a good job for North at quarterback, considering he's been under a lot of pressure. Yeah, and again, I think that was nice last week to get that lead. I think Dave's got it again. I like when Dave gets out and runs. And when he gets out of the pocket and things, we saw last week Manitowoc put a lot of pressure on him. And when he got out of the pocket, he could create things. He hit Schmitty with a couple passes. Ben Trilliman made a couple nice passes.  He can throw the ball. And he's got quick feet so he can also run. It always comes back to defensive coach. And last week, once North got the lead, they were unable to stop Manitowoc. What do they have to do against Preble to be successful? Well, I think there's three things tonight if Schmoygen-North's going to pull you up to the number one cause turnovers. They've got to create some type of turnovers. We haven't seen North have too many. Nathan Hummage has gotten a couple of picks last week. Besides, Matt, he hasn't done that at all. Another thing, as you said, Marty, they've got to tackle better. They haven't tackled the last two weeks very well. They've got to do a much more consistent job of doing that. And third thing tonight, I think the last thing is get the lead. See what happens when you've got the lead. They've got that momentum last week. That's the advantage of the lead at home. And maybe you could pull that upset against Preble. Well, we're going to find out if these keys come true for Schmoygen-North. We're going to step out. When we come back, we'll have the starting lineups and the kickoff for this evening's game. I love the challenge of computers. Not that I have much time with these little guys and my job. But when my wife went back to school, I thought, why can't I? Certain things in life demand my attention. But a new career in computer science deserves my attention. An evening class at Lakeland doesn't tie my life in knots. Thanks to a flexible, easy to manage schedule that allows me to balance work, school, and the twins. Evening classes that meet once a week, that's the easy part. On the football field, you've got to stay focused and not get distracted. The same is true on the road. So before your wireless phone becomes a distraction, take a timeout for safety. In bad weather or traffic, call later. Dial sensibly and use a hands-free device. You know, your wireless phone can be your best safety tool. To call for help, stop a crime, however you use it, remember. With wireless, safety is your call. It starts in your own neighborhood when you care enough to give your time to help someone still learning the way and getting involved in the needs of your community.  The Major League Baseball Players Trust and Volunteers of America are teaming up to make a real difference in the lives of the people in our communities. Join a winning team. See what you can do to help. The time is coming. There's no escape from the day you retire. And will you be ready financially? Are you ready, dear? You still can be with investments like an IRA or a retirement plan at work. It's never too late, but start now. Because if you wait, you may wind up working forever. Saving for your financial future doesn't have to be a nightmare. Choose to save. Testing one, two, three. We're back at North High School where they just got done announcing the starting offensive lineup for Sheboygan North. So we'll go through that. Starting at a running back will be one Cesar Ragoza. Ragoza is a 5-8 junior. At quarterback is number seven Dave Moss. Moss is a 5-10 senior. Starting at the other running back will be Nate Kautzer, number 32. Kautzer is a 6-2 senior. Starting at center is Alex Hinze. Alex will be going both ways. He'll also be starting on defense as a linebacker. But on offense, he's the starting center. He's a senior, goes 5-11. Starting at a guard, number 66, T.J. Engels. Engels is a 6-foot senior. He'll also be playing both ways tonight. Number 74, Tommy Fallon is a 5-8 senior. He'll be starting at a tackle. At number and number 77, Sean McGee will be at the other tackle. And he'll be playing both ways also. McGee is a 6-2 senior. Starting at a running back is Nick Jones, number 80. He's a 6-foot junior. At the end, at an end spot is number 85, Brad Schmitz. He's a 6-foot senior. And the other end is number 88, Ben Trilling. He's a 6-2 senior. And we saw some good things from Trilling last week.  Yes, he has. And two key players not in the lineup tonight will be Peter Reschke, offensive lineman, play tackle. He got banged up last week as did Derrick Zuba. Both players seem to not have as serious injuries as they first may have appeared. But we'll have to wait and find out about that later in the season. So those are two major components on offense and defensive line. So other players are going to have to step up and they've switched some numbers around. One of the guys that's going to have to step up is Lucas Wilson. He'll be starting on offense and he'll be number 70. He's one of the players that got switched from 94 to 70. So we'll look for him on offense. But he also plays some defense. Phillips kickoff and they're doing a reverse. Taking it his number 21. He eludes one tackler. And there we saw some of that shot he tackled. We talked about in the opening that we needed to improve on. Brett Hobbins on the return and he gets it deep in the North Territory down to the 41. That was about a 30 yard return, Chris. Way too big of a return. There's to be a flag down at the 32 though, Marty. There's the replay. There's a wrestle down by number 14 for North. So this is going to be brought back. Greg Jones. It's going to be brought back, but... North caught a little bit of a break on the penalty. Some familiar faces on the officiating crew. Tom Retsack. Larry Campman. Tom Huneck. And I should know the other guys, but I don't recognize them. It's too far away. I can't tell either. Adam Enderby number 22. It'll be the tailback for Green Bay Preble. He comes in in conference of 253 yards. Second team all conference a year ago. Green Bay Preble comes in number one in offense in the league, Marty. As well as number one in defense. Starting at quarterback for the Hornets. His number nine, Michael Fisher. He's under center. First back through. Picking up a quick five yards. His number 42, David Van Leeschout. He was the full back a year ago as well. As I said, complete back fill. Returns for Green Bay Preble. Brand new five offensive linemen. They're averaging 230 yards on the ground. 308 per game. A little shift. Man in motion for Preble. Second back through this time. Trying to get to the outside is Adam Enderby. I believe that is. And Enderby has stopped short of a first down. It's going to be third down for Preble. And short. Give Enderby a pick up a two or three. And it's going to be third and two. Just looking at that front of Green Bay Preble. They don't look as big as some of the teams we've played before. And have seen before such as South. And Mantua could just have mammoth players. I think North matches up pretty good with them. Big third down play early on here in the first quarter. Enderby's got it. He's hitting the backfield by Hinsey. And he tackles them and drags them down. Short of the first down. Good play by Sheboygan North to stop Preble on their third down play. And a loss of three. There's a good open field tackle there. Alex Hinsey. Just like that. North's going to get the ball. They get a loss of two. It's going to be fourth down and four. Way deep is Eric Seafelt. And then there's two return men in front of him.  Luke Hohn. No, Peter Herms. Oh, we had a whistle. And what happened was a bad snap. And to get the ball, he knelt down. And the ball is down. We'll call that a turnover. Well, not really, but... Well, Herms is going to get a whole bunch of yards taken off of his... It's going to be first and 10 North. Yeah, let's punch it in right here Dave Moss and the boys. He got it on the 15. Loss of 16 on that play. Pitch out to Ragoza. He's through the line. Scampering through. He's into the end zone. Touchdown to Boykin North. Lightning is struck, Chris. Holy cow. Well, we talked about it.  And they did. Yeah, they did in good field position right away. And they took advantage. What do you see at Ragoza? Scampering through the line. It was going to take it off the left side and then cut it back. Well, I saw Preble even shift that way. And I'm like, well, my gosh. They have pretty good scouting report. But Cesar Ragoza cut back across the grain and marched right into the end zone. And a 6-0 lead. We'll just call that a 6-second drive, Marty. Really? Patrick Phillips into attempt the extra point. He's been very good so far this year. Good snap and kick. And it's good. North with 9-52 remaining in the first quarter. Lead state ranked Preble 7-0. There you're going to see that extra point. Wow, talk about lightning striking. Holy cow. And it's not that cloudy. Those are the kinds of things you have to have happen to get you in the lead, to get your momentum up. Now, I always go back to this, and I know I sound like a broken record, but it comes back to defense. They still got to be able to stop them. And they certainly did it on the first drive that Preble had. I know that'll probably be... Peter Herms only carry, but he had a minus 16 when he was called down on that snap for the punt. And that gives Preble a minus 10 yards on offense so far in the first quarter. Let's get a big stop here. No big return like the last one. Kick is going to be taken at about the 19. He's hit down by his own teammate. Mike Worth caught it as kind of an over-the-shoulder catch, and then he bumped into Matt... There you see it right there. Bumped into Matt Winnie. It's going to be first and 10 Preble. And Coach Proknow over on the other sidelines got to be beside himself. This turn of events. First and 10 on the 20. A couple of guards pull through the line of scrimmage. Wow. And there's the enderby, and he's rocketed down by number 22. Eric Seafelt on a fine tackle. Way to come up from your safety spot there, Eric, and make the play. Watch him fly in here number 22. Right there, right from outside your screen to in your screen, making a tackle. It's a pickup of about four yards by Adam Enderby. Don't think backs don't remember that, because that was... He got up a little shaky there, but he'll remember that when he comes through that line again. Enderby again through the line of scrimmage, and he's close to the first down. He might have it. Coming up to make the stop was David Thompson. We're marking it right on the 30, which would make it a first down. It's got to be a first down. Well, if you are unfamiliar with Green Bay Preble, they are a powerhouse in track. They're calling time out to get a measurement, but I think he's got the first, Marty. He's got a powerhouse in track, and they excel. I know last year they had a shot putter that was a champion, and they always have very good sprint teams. I can't remember who I was talking to, Chris, but in the summertime, Wisconsin had two of the top wait men in the country. And I think one of them was from Preble, and the other one was from maybe the Milwaukee area. He was real good. I think he actually broke the record for, like, distance. Here's Kim Vogel. Kim is back with us again this week. She had an excellent game last week. She played better than Manitz, Walk or North. Fisher inside hand off to Van Leeshawet, and he's hit near the line of scrimmage, maybe pulled his way for a yard or two, but not much. Now you watch for the setup. They've been coming up the middle, coming up the middle. Now watch for them to do something probably more on the outside here. Let's see if Sheboygan North can respond. Two makes it second and eight. Jesse Thompson is wide to our side. Man in motion. Fisher straight back, looking for the in-pattern, and it's caught, and he's going to go to the house unless someone can catch him. Homage got him inside the 20, but making a fine catch and run was Jesse Thompson. Well, there you see the replay, and Nate Homage kind of slipped back and gave a wide open area there for Thompson to run there. Brent Heim is just 12 for 20 on the year for 133 yards. They don't throw the ball a lot if you put any math into that. That's 10 throws a game, but he's very effective. He does have three touchdowns and two interceptions. First down and 10 ball spotted inside the 20. We'll call it the 17. Make it the 18. Enderby second back through is hitting near the line of scrimmage and wrestled down. I think Matt Rosie was in there, Marty. Yeah, Rosie, and I think Deener was another one. Enderby on the carry. Second down and eight. Give him a pick up a two. Fake pass going on the out pattern. Not able to catch it was Luke Hohn. They ran a play. It looked like they ran a end down and in, and then Hohn shot it to the outside, and the pass was overthrown. Good play fake there by Heim, too. And with the success of the running game, that does create time for him. And Heim just overthrew that ball.  I like him a lot. He plays shortstop for Green Bay Preble and hits the ball a little bit, but he's a real good player, and some of you'd always want on your team. I'm sure he's pretty good at baseball or football as well. Third down and eight. Fisher straight back looking. Fires incomplete over the head of the receiver. I think his intended receiver was Brett Hobbins, but it was over his head. Incomplete. We got a fourth and eight, Marty, and I don't see any movement by a kicker or anything. Looks like they might not have a good kicker. What a shock. Preble normally has some good ones. They've had some of the best in the conference.  Playing in the pros. Jesse Thompson, number 15, is in. He's wide to the left, and in the slot on that side is Luke Hohn. Now they tried to get him on a down and out last time. Let's see what happens. Rolling, rolling, throws to the end zone. That's going to be over the end zone. And out of bounds, it's going to be incomplete, and Norse stops him. Well, they gave up a 50 yard completion, Chris, but once they got down into the red zone, Norse held tough. Yeah, they did. You know, for a team that runs the ball, they certainly went to the pass awfully quick. Yeah, and I'll tell you what, Brent Hymes throws a nice ball. He zips it. He zipped it out of the end zone. Coutzer, shifting out to a wing spot, out on the right side, hand off to Rigoza, trying to get through the, run the right end, and he's wrestled down after a short game. Well, we're going to call it no game. Wow. Second down and 10. I thought he got out there a little bit, Marty. Yeah, so did I.  You got the lead. Rigoza now a wing on the left side. Pitch out to Coutzer, trying to cut it back, and he's wrestled down near the line of scrimmage, maybe even behind it. Preble, loss of a yard on the play. Can you say quick to the ball, Marty? I mean, Preble is fast.  Loss of one by Nate Coutzer makes it third down and 11. Again, something that's been a trademark for Preble for a lot of years, Marty. They just are. They got fast teams and once again, they have it again. Two wing backs. Trilling is wide to the right. Moss is sacked back inside the ten yard line. Wow. Coming right through there was Van Leeshout, I believe. Yeah. Well, I think you're right there, Marty. You're talking about a play where he's going to kind of fake the run one way and then he's going to bootleg the opposite way while Leeshout read that right away. Gilson back to punt. He got it away. A low liner. Enderby bounces away from him, picks it up right at the 50 yard line.  We've got a penalty flag down. And then finally making a stop and driving Enderby back was number 36 and we don't have a... No, I think it was Matt Rosie. Matt Rosie, okay. Let's see if we don't have that number on the program. He's 35. I think it was. TJ Engels had a shirt there, but he kind of got away. But let's tack another penalty. Penalty number two on the Special Team is the Green Bay Preble. Good punt by Gilson under pressure. It's going to be first and 10. Preble, we'll have to see where the final spot is. I think it's going to be back in their own territory. Mark it back at the 43. First and 10. 505 remaining in the first quarter. North on top, seven and nothing on a 15 yard. Cesar Rigoza run after the Preble punter was called down before he kicked the ball. Fisher looking, looking. Now he drills it out there and he's got his receiver for a short game. But Seafeld out there making a stop. Making a fine tackle that time. Well, I don't know. Brent Heim was waiting for the pump and go or what he was doing or maybe the ball slipped. But maybe he was trying to read the North Raider. If you would have came up, you'd have gone by him. But again, good defense out there by North. The old Ben, but don't break play. And they only gave up a two yard play there. Fisher under center. Fake to the second back through. He's rolling out. Fires it deep. He's got his receiver. Foul! Hummich steps up and makes the play. Another interception for Nate Hummich. I thought it was going to go over his head, but he stepped back and made the play there. You saw it. Right at the end he made a great adjustment to the ball. That a boy, Nate Hummich. You're right. Marty, great turn to look for the ball. And again, a nice pass. But that time the North defender was better. First and 10 North. Ball spotted on the 27 yard line. Let's see if they can get something going. Moss under center. Give Kautzer. He's through the line and then pushed back at about the 29. Near the 30, it'll be a two or a three yard pickup. Going to put the ball down on the 30. So give Kautzer a pickup of three. It's second down and seven. What do you have in your arsenal to take care of a fast team? That's what Coach Brickson, that you see right here, will have to think about. Because they sure do get to the ball fast. Well, Fakes generally work against a quick team. Moss steps back. Again, almost had the ball stripped. Now he's going to try and run with it. Gets by three tacklers before he's finally wrestled down over the 30 yard line. And then we get a real late flag from deep in the back field. Let's see what that's all about. Definitely away from the play. That's Tom Retzek on the left. Talking to Face Mask on Preble. Tripping on North. Should be offsetting penalties, I would believe. Be the case. Hey, why don't you tell our viewers what Larry Kampman was telling us before the game about the tackle-eligible thing?  If you are a bigger number than in the 20s, 30s, or 40s, or be in the 80s. In other words, you can't put a number 60 or 65 and kind of do a fake play or something, a tackle-eligible situation. So that was just something to do in high school. You do see that done in the pros. Second down and seven. Moss back. Fires it over. Making a nice catch with Schmitz. He's got the first down over the 40 yard line. Fast, fast team. Fast pursuers. Take a shorter drop. That's what Dave Moss did there. Nice little just 10 yard out. Not even an out. Maybe call that an old button hook. And Schmitz is open. First down North. Pick up a 13 yards on that play, Chris. North at the line of scrimmage. Moss quick drop. Fires it right into Trilling. He's hit and drilled back at the 50 yard line. But give him a pick up of about seven or eight yards. Short drop. Quick pass. Same thing. Opposite side. Ben Trilling. Trilling had some excellent catches last week. He's a big target out there, too. 6-2. Under 98. Hopefully he can run all the way to third on a triple. Really? Two wide outs for North. Left and right. Moss straight back. It's good blocking up in front. Fires it over the middle. He's got his receiver. Coucher. He had the first down. Took a step back and then he got drilled. I think he might have the first down though. He's getting a great spot from the official. Yeah, they're going to call it at about the 47. Cross midfield. And that should be a first down. We're going to bring out the chains, Marty. But like before, we kind of had a hunch about things. Yeah, just move them. Don't bother. What? Yes, it's a first. I thought for a minute they put their down there, but it should be first. First down. And the North faithful is... Well, we're going to call it the 42. It's just a tatch. Wasn't the main tackler on that. But he could have them after the North. Second back. Great speed. And the first court. By Matt Rolsey. I'll tell you, the tackling has got to be better than that. They've got to put a shoulder into him. Just too many yards. First and 10 prebble. Ball is inside the 20. We'll call it the 19. That was a nine yard pickup by... That scat back. Adam Enderby. Instead of looking at your teammates, look at yourself. Step up, make a play. Step up and make your own play. 64 yards for Enderby. And eight carries this quarter alone. Pitch out to Enderby again. He's hitting the backfield. And he's going to be hit for a loss. That avoid his staff. Yep. Football coach and physical education teacher. Might have to ball time on. I can understand without the same...  It... It...


So, hello. And since you seem to be kind of sleepy, let's start with something interactive again. Some of you may remember from Spain. The results are simple. You will get three questions about liberal fees code. If you get your answer right, you get one point.  So, ready? This is trivial code. I'm just interested if I set up Colvex this way. This is from the liberal fees view code. If I set up the Colvex this way, which of those Colvex will be called? So, I will just go through the questions and we will get the answers afterwards. So, does somebody still need more time? All clear? Oh, come on, say somebody something. Huh? Oh, okay. Sorry, if you didn't, if I haven't finished too late. The second question. This is from Calc. You may not be exactly familiar with the functions, so I will actually show you the prototypes. So, and we have these simple questions. Simple question. Which of the, the specific code is kind of made up. It's based on more complex, real code. But the question is, which of these functions will actually modify the compiler instance? That should be probably simple, so I guess this is enough time. And the last one. True or false? And just so that it's not 50-50, why true or false? That's just one of the problems. It's actually not all the problems there. There are more of them. Does somebody still want more time to think about this? Okay, so, raise your hand. How many of you? Yeah, let's start from the bottom. How many of you think you have zero correct answers? Okay, so, how many of you hope you have one correct answer? Oh, I'm waiting for the two or three. So, two correct answers. Three correct answers. Okay, so, how many of you are you too shy to raise your hand? Raise your hand now. I'm still missing, like, half of the people here. Anyway, so, as some of you may know, I repeatedly keep bitching about the code being unreadable. All of these are actually real examples. I wasted some time on trying to figure out. I also fixed some of them. So, I had a talk in Spain about this. I'm going to have a slightly different one this time because, apparently, this still can use some repeating. So, yeah, I mean, I find the question about if code readability matters, it kind of does, especially when we're looking at some code we don't quite understand and we keep cursing and we spend, like, one day looking at it and so on. Kind of the problem is here that it's not really compulsory, right? If you don't get the syntax right, it just won't compile. The compiler, like, you cannot talk it down, it just won't work. If you get the functionality wrong, it just will crash. I mean, that's not as strict because we have all the bugs about code not being right. But, still, that's, like, sort of required that it works. But, like, you can write messy code and if it gives the right detail, it's sort of optionally. And we don't have the time. But, of course, then it adds up and then we make things worse over time. It's kind of an investment. If you waste your time today making it better than you get the time back later. And, of course, this is something that spreads because we got a lot of code which is poorly written and there is kind of the compelling to be consistent with the code or just sometimes we don't quite understand so we copy and paste it so the stuff propagates and there are quite many examples which are showing kind of poor practice. I even included some examples from the standard library which also could use some improvement here and there. Like, if you have this empty example, I guess we all know that it's a check but let's say it's not STL or you just don't happen to know. How are you supposed to know from just looking at the code? And you are, for example, looking at the code in Garrett which will not give you any hints. Are you supposed to know if it's a check or if you are actually asking the vector to become empty and you are checking if the operation was successful? I would like to talk about various stuff I have run into, why it's bad and how those could be possibly done better. Hopefully some of that will stick in your minds and if you see some code, you will... When writing code, you will do better and if you see old code, hopefully, you will feel like maybe improving the stuff a bit so that the next... Well, somebody will have suffered sooner or later so maybe you will be in the mood, the person to stop the suffering. So, as I said, this stuff is sort of optional and as the complicated stuff about it that it's, at least to some extent, a matter of taste. You can have your personal opinion on the syntax, but if the compiler doesn't agree, then you can have your opinion all you want and it doesn't matter, but style, people have different ideas. So, I don't want to call these rules, but they are not really rules. They are more like recommendations and apply your judgment. And this is some of the things... I don't want to do specific rules because rules just say, do this, but I would like to also say why you should do this stuff, so this is meant to be a bit more high level and some of the rules should be implied by this. So, let's go on some examples. I have some of the... Oh, yeah. This is one of... I was reordering the slides, so I wasn't expecting this one. One of the good reasons why I was okay about code readability is that actually you spent a lot more time reading the code rather than writing it. Kind of when we are writing the code, we are focused on writing it and we are lazy, so we kind of have the tendency to make the easy writer, but since we will end up reading it a lot more, it will come back to bite us. Yeah, I had this example, for example, if you know from base gaze, do matrix, it just calls its element a, b, c, d, e, f, and the next are hardcoded, but if you see code like matrix.e, how many of you know, if I didn't show you how many of you would know, which one is matrix e? Which one of the... Yeah, after counting, right. It's much simpler if you can read that it's scale x. I don't care if... Maybe this is useful for some cases, but most of the time, if I want to use a matrix, in LibreOffice, I want to use it for the usual stuff, I want to scale, rotate, and translate. Ok, so let's see how well you actually scored, so please don't be shy, raise your hand for true. You have 50-50 chance. So true? No one. Ok, two, three, true? Ok, so the next is false. Can somebody explain why it's false? Well, it doesn't matter because you're wrong, it's true. Yeah, that's kind of the point of the question. There are two questions. So one of the roles I would like to have is that, ideally, you should be able to read the code and just get what it does just for me reading it. So everybody probably look at it as, if R1 is inside R2, but it's actually not what the function does, you are asking R1 if R2 is inside of it. So it actually does the opposite of what it does. That's one of the three visuals there. This doesn't exist anymore, I've already fixed it, the function is not called contains. If R1 contains R2, now it's obvious that it's, well, actually it's not obvious because there is other problem. So if you have the number, what do the numbers actually mean? You have four numbers and there are many ways to specify the rectangle. Like the second one, is it 20 pixels wide? Is it maybe 10 pixels wide, even? So this is actually, it's coordinated, it's not with hate, it's one point, second point. Why? Actually, it's true because the second one is inside the first one because it's coordinated, it's not with. Again, this can be easily improved. You can, for example, remove the first constructor and just force this one. If you explicitly have to specify the point and the size, then it's obvious. Or we can do, for example, as Skiya does, it doesn't allow such constructors to call static functions, which use the name. Now, you can see, obviously, what the four numbers mean.  So, yeah, another quick, three questions. So, which of the functions modify the object? Let's raise hands for none. Oh, come on, Kailan. You know it's a three question. Raise hands for all of them. And just three of them. Oh, I see, I have scared all of you. Like, nobody's even trying. So, the correct answer is all of them. Right now, I mean, obviously, again, this is reading. It looks like it's checking what the value is, but this code also doesn't exist anymore. Now, all the is are replaced by parts, because that's what the function actually does. This one tries to parse the value in the string. That's why it modifies it. And this one is const, because the result variable, somebody noticed a small problem with the const, so the result is mutable. So, again, another important rule, which somehow people seem to miss, it should do what it seems to say, what seems to be the logical explanation for the code. So, if it kind of says that is value, it should just check if it is value and not said something. Yeah, somebody else apparently doesn't understand what const and mutable mean. The language says that the object doesn't change. The way I understand const, it means that for the outside, the object conceptually doesn't matter. If you, for example, have some internal cache, that one can change, but from the outside, the object doesn't change. And for this object, which change without changing, without making a visible outside change, those should be mutable. That's why it was wrong, because it was using mutable for something, which was visible from outside. And other expected stuff, we have class for reading bitmaps by pixels. You can access it using scanlines, and somebody tried to be consistent, so if you have things function getPixel, you get the Y argument first again. I have got it wrong so many times. And finally, which callbacks get called? Will somebody still raise hand or should we just skip this? Does somebody want us to tell the answer? I mean, this is normal code, it's in the code ways. You all of you sometimes deal with it. Yeah, it's the last one. It kind of suggests that it registers callbacks, but this is kind of, again, moralize repeating the same idea. The names should actually say what it says. This does not register a callback, it sets a callback. The note below is also sometimes it's kind of confusing. Sometimes people tend to learn things differently. For example, this is, again, a matter of taste thing, but I think function should be called get only if it actually gets the data. Maybe if it reads it from disk or something. If it's a simple accessor, it should not say get because it just does trivial stuff. It matters, for example, for performance because you can see from the function how you can guess how complicated it is. But this is one of the many things that's a matter of taste and people will disagree. And I kind of think LibreOffice codebase is kind of lost on this one because we have so many get functions which are just what I want. I wanted to mention it. I have some more examples, like this is kind of the same rule or rather the same recommendation, just different technical means to get there. I suggest avoiding very generic term. For example, calling classes data or whatever. That's generally a bit idea because when somebody will be looking at it, what does it actually mean like data? Everything is data. I also generally don't like use of the auto keyword because if you look at the code, unless it's obvious from the code, what does it mean? You will need to find out what is the type. I personally use auto only for generics if they need it or if the code sometimes makes it obvious if it's the begin and iterators, it's auto because nobody cares what the actual type is. Sometimes we do. The other section is various magic, mysterious values. There is an example of a code from Noel. In a writer you can get content notes, but sometimes you can say false if you look at the code. What does the false mean? You need to look at the function. Here in the function you still need to understand what point and mark mean, but those are writer terms if you actually look at the code. That's easier to remember what point and mark is. You don't need to remember what point and mark is. The same vcl has Xormode and you can say true false and you can do three combinations of true or false there. You need to look at what that actually means. During writing the scale back end when I do it internally I use enum. This is much more readable. You look at it and you see that it won't just invert, which is the same like here, but it's asking just to invert. And this can apply even to plain booleans. Sometimes it's better to use enum with just two values because it's obvious like, for example, case sensitive, yes, no, it's better than true false because who knows. I mean, for common list function OK, you can remember it, but if it's not common list function it's much better to just see there and yeah. Every programmer tries to be smart sometimes and we then end up outsmarting other people or even ourselves later. I personally remember some cases when I was looking at some code thinking who was the idiot who wrote this code and I look at Gitlog and it was me like five years ago when I was trying to be really clever. I mean you have probably all been in cases when you were struggling with writing code, but I have usually struggled more when trying to read code because it's harder, so if you try really hard to write something clever than it will be too clever for you to later read back.  These are again real examples my nice stream operators that kind of write random values because you need to check what the type is. I have even seen assigning to return from getX. I don't know where I got it from, but I remember it so well that even though I have forgotten the place, I still remember being totally confused by it. Yeah. There were just some examples. We can have some rules which get implied from is, of course these are these theoretical ideals in reality. We sometimes don't have the time there's the line or we just don't need to do all the stuff right now, so there are also as I said, it's a matter of days we need to argue with the other person because it's just not worth it and in reality nothing is perfect, so whatever API we design, there's going to be some problems so we need to stop sometimes. But as I said in the beginning this is an investment your colleagues will think less often you're an idiot if you write better code that sometimes we'll have and if you don't really care what your colleagues think of you, it can say it's the problem of thinking that you yourself are idiot if you find yourself in git log I still remember I still remember that time prefer not to, but it happened and yeah, so if you don't care about at least bill selfish and think of yourself in a year it will come back even to you and even after all this stuff it can be difficult to agree on stuff sometimes people have ideas it looks nice and then somebody else comes and has a completely different idea just writing I ran into an idea which I ran into decently I would like to comment on how there is theory and then just somebody comes you may have noticed in last couple of years people writing in a kind of strange place not point reference, but point reference and this is supposedly a good idea and you can find an explanation that it's more consistent it has a simpler rule and probably something else so people are starting to use it and I was like this is weird, but there's arguments, but now I don't see it that way so and this is like for example, it's not intuitive unless you happen to about a spaniel or one of those languages you usually put modifiers first so how many of you how many times have you greeted somebody today by saying morning good we just don't think like that so it's not really consistent because how many people put static somewhere else and finally this is why sometimes people get try to have good ideas but end up with bad ideas because sometimes the stuff is hard and there's a misunderstanding I think this better rule about putting cons to the right comes from not actually understanding the rules for parsing C declarations which admittedly is quite a mess can again achieve I think messed up that one that's what it is so one rule is if you put cons always to the right of the thing then you always know applies to the thing on the left but that I think comes from somebody who doesn't know the rules because the actual rule is there is no rule, just use the existing rules because if you can read this stuff you know what's on the left is the value what's on the right is the pointer so it applies here as well this cons means that the integer that the pointer points to is cons this cons means that the pointer itself is cons no need for that extra rule yeah I know this is the last slide, I just wouldn't so this is complicated we are all humans so we messed up so we still will be handling the code that was written by people 20 years ago by the way I had it on the slide I don't know if there is somebody responsible for documentation while doing this I noticed that we link to the open office org style guide by saying that it's trustee guide trustee old guide can somebody please fix it like that's old stuff based on those rules some of the really broken code was written can we link to it by saying this is for historical rules and maybe we don't need to follow it because if we forever try to be consistent with the stuff that was written decades ago we will keep being mess if you just go to wiki development it says trustee old open office guidelines something like that can't just have like a jumper page which says these are not our guidelines that's how the code was written originally you don't really need to something like that yeah I know but this this page is big enough that I just wanted to say it publicly without just maybe somebody has a different opinion on the guidelines it's kind of it I hope that this was some of the useful kind of not that I look at it it sounded a bit like a rant but I hope some of it has been useful maybe like next time you will feel too lazy to write something appropriately maybe like we'll think of this rant and maybe you'll think better of it hopefully well so I think it's been useful do we still have time for questions? well in the meantime if somebody has stopped being shy and actually has a question you can ask questions? yeah so thank you for your attention


We're going to simply take this confirmation page and set up a custom audience and set up a custom conversion. Okay. And again, no matter what business you're running ads for, that's what it's all about. It's all about conversions running conversion ads to a confirmation page. That's it. So, so, so now that you have it copied, let's go to your ads manager. And let's just simply. We'll X out of this one. And then let's, let's just go to, yeah, to the, we'll go to custom audiences, or we can go to events manager first. Yeah, from here. Let's just go to custom audiences. So hit the hit the three lines to the left. And then just go to audiences. Okay, awesome. Perfect. Okay, so. Yeah, you can go there first. The events manager is where you set up the custom conversion. And then audiences is where you set up your custom audience. So we need, we need both. We need to set up both of them. So what we could start here. So we always want to make sure when the right account, right, the top right, that's the right account. And then to the left, you see the main pixel. Yeah, is it that one? Yeah, go ahead and choose that one. And then just always make sure that this pixel is the right one. Everything on that. That's one. Okay, cool. Okay. So then let's just do this hover over the blue triangle to the left and just go to custom conversion. Okay, so we have, we have these custom conversions over here. So it's going to be, well, yeah, that's scheduled appointments at the very bottom, the inactive one. Go ahead and click on that real quick. See what link that is. That is, yeah, see that's the Calendly one. So let's just get rid of this one. So hit manage. And then just you'll see a dropdown next to rename and yeah, we'll just delete it. So let's just set up a whole new one. Since we have the new link. So we'll hit the blue button create custom conversion. Okay, and then, and then we'll hit the dropdown. Yep, we'll find our pixel. Okay, perfect. And then now what you'll do is you'll just click on select your own category in blue. Select your own category. And this one, yeah, hit the dropdown recommended. And all you're looking for for this specific conversion is scheduled. Let's go down. I think it's scheduled. Um, where did it go actually schedule right above schedule. Yeah, that one. And then just paste in that link right there at the bottom add URL keywords. Yeah, the link goes there. And then name it at the top. And you could just name it, you know, the same scheduled appointments or whatever, whatever makes it easier for you. Okay, perfect. And then create. Okay, so now what you want to do is, yeah, no, you leave you can leave it there. You can leave all URL traffic just leave it there. All you're changing is the bottom one is that schedule. So we're good. So we click on create. And then as we create it, go and click on actually no, no, no, not done yet. So let's go to let's go to number one it says in business manager go to your settings to assign the custom conversion to your business ad account. So let's click on number one go to settings. So over here, all it's going to do is want us to Facebook going to want us to connect it. So we're right here custom conversions is schedule appointments. So now click on ad assets right there at the top ad assets. And we're going to simply connect it to the ad account. So find your ad account. Perfect. Okay, cool. Add. And then we're good. Okay, good. So that so that was number one hit done. Now let's go back to that other time or you can refresh it. Can you refresh this one? Go back to the other one and just refresh it. And then click on connected assets to the right of partners in blue. So connected assets. Click on that and you'll see your ad account. Okay, perfect. We're good. Okay, so you can exit of this tab and let's go back to the to the other tab, and then we'll do number two. So in events. So now we'll go to the configuration part. And this is where we'll just simply line up the custom conversion with with the actual event. So now we'll look at so beard. Where is this so beard when okay domain verified for that so beard. Yep, manage events. Okay, we recorded this one. Yes, edit. And then we'll come over here and we're going to add event to the right, the green button. Now, there's the two drop downs. So now we're going to choose our custom conversion. We're not going with the pixel we're going with the custom conversion. And then to the right, choose an event, you're going to look for that one. So the one that we just created which was scheduled. The two of them. So, one of them was was one that we're supposed to delete. I don't know why it did not delete but it's and the way you can look at it. Let's let's look at this real quick go to open up, open up a new tab. Actually go to go to the confirmation page go to the actual confirmation page. Where's the. Yeah, refresh this page real quick. Okay, and then check the pixel helper. Perfect. Okay, cool. So the schedule appointments click on that schedule appointments, the black one. Yeah. So look at the conversion ID. This is 379. Okay, so go back to the other one match up that one 37952 37952 37952 perfect is that one. Okay, cool. So now submit. Yes, I confirm. Apply. Okay, so that right there bro that right there was the whole pretty much the whole iOS update thing. Now we have to create the custom conversion. That's what we did we set up a custom conversion. Then we it took us to the business settings where we connected the or we yeah we integrated the add account with the custom conversion. That's what we did in the business settings. Then we came over here and clicked on manage events, and we lined up the two events, the custom conversion with the schedule appointments. That's it. So, so that when it comes to a custom conversion when it comes to capturing leads for any freaking business bro. That's what it's all about the custom conversion and setting up this this web event aggregate aggregated event measurement. So I can now, you know, come in here. Oh, we got the aggravated event management. What's that. We got to do something else aggravated event management you said no no we're good there so go ahead and refresh this page, refresh this one. Okay, so we're good here what we got what we need to do those we need to take out that other that other custom conversion. Let's um, so that one's good so now click on the other tab at the top 99. So let's let's go back to the custom conversions. So, click on one of those tabs at the top yeah that one. Okay so hit done hit done right here. Okay, so now let's refresh this page this inactive should show active. Okay, so there is the words of schedule point okay so what is the one at the top the second one down. That's the one that's active now. So this other one we want to be able to delete this other one the one at the very bottom, we want to be able to delete this one actually hit hit the back button. Okay, so click on schedule to the left. Yeah right there that's fine and then try to delete it again hit manage and then just hit the drop down, delete, delete. Okay, so so as long as that one's active the 37952 to the very left you see that ID number. Yeah yeah yeah yeah yeah so that's what it's all about so that that's what it's all about man is is is this part and then. And then now as you go in so now let me show you. Okay so just to recap. We set up a custom conversion. We did that part by hovering over the blue triangle, clicking on custom conversion and setting up that custom conversion. And then Facebook took us to the business settings where we had to connect the ad account with the custom conversion. And then Facebook brought us here where we had to hit the two drop downs. One drop down we chose custom conversion. The other drop down we chose the custom conversion, which was scheduled appointments. That's number one that's why now right where the yellow triangle is it says number one right because now there's one event tied to that domain tied to that conversion. That's the one. Okay that's the schedule appointments. So these two to the left custom conversion to the right, the actual custom conversion that you set up. Right, so so so that's that's all you got to do me. That's it. That's it. So now. Yeah, what's that. Well I've just got to go go go away and rewatch these videos and yeah for maybe make some notes and then I'll just sort of, you know strategically try and make my way through it and set it up for the other clients. Yeah, for sure. And so now let's take the appointment confirmed go back to the so beard copy that link again just the do just the URL, not the www so just yeah just that part. So now what we want to do real quick is set up a custom audience which which I don't yeah I don't think we have one set up so go back to just hit the three lines to the left you can just X out of all the leave one of them open. We'll just work out of one. Okay cool so now hit the hit the three lines to the left and just go to audiences. Okay so just the two basic things set up the custom conversion which is what we just did and then now we're going to set up the custom audience. Now that top one go ahead and see what link that is that schedule appointments yeah what link is that going going to open it up and check the box to the left of it and just click on edit. So just yeah check the box click on edit and then see what link. Is okay so that's the Calendly one okay perfect so let's just delete this one let's X out of this and then we'll just the boxes checked and we'll just click on delete so yeah X out and then just hit delete let's delete this one. Okay perfect so now what we'll do is we will set up create audience click the blue button and we'll just set up then the new custom audience. So we'll go website and then now we're going to make sure the pixel is the right one. We're going to click on the all website visitors. That's the only one we need it and we need to hit the drop down on the next one all website visitors. No not that one all website visitors events. Yeah. Okay so now go to specific you're always going to go with specific. Okay always go with specific on the custom audience this is the custom audience. So what what what I when it comes to the retention you got 30 days right so the retention. All that means is Facebook is simply gathering all the data of people who have landed on this page in the past 30 days. Yeah. Now with certain ad campaigns. That could be good. You can drop it down to 14 days you could drop it down to one day you can you could take it to the max of 180 days. You're working with one day to 180 right but here's here's my whole thought process with it when it comes to this specific link this specific audience. These are people who have scheduled an appointment. So the reason why this audience is so important is because this is an audience when I start to run more ads. This is an audience that I need to exclude from seeing my ads. Because they've already scheduled an appointment they don't need to keep seeing your ads. It's not it's not going to be a large audience. I'll be lucky to get 10 in that audience. No as you continue to crank it out as you move on and run ads from this point on that that audience will continue to grow. You know even even even as you just have people schedule an appointment. Not from an ad. Like anyone like if I have anyone that goes to goes to my calendar like you for example you went to my calendar you landed on my thank you for scheduling page. You're now in that audience. You didn't come from a Facebook ad. You came organically just by going on my calendar. So as everyone and anyone goes to your calendar and schedule an appointment they're going to land in this audience regardless if you got them from an ad or not. So like for example the automotive guy he goes to your calendar schedule an appointment with you because he wants to talk to you tomorrow. Okay cool. He's in that audience. So so so now as I run future ads. I want to always make sure I exclude this audience. And so what I was going to say is the retention the 180. Yeah, I want Facebook to continue to put people in this audience for 180 days. So anyone who has visited my calendar in the past 170 days, they're going to be in this audience. So, so, so that's important audience name going to give it an audience name same thing scheduled schedule appointments. And so this this audience as it can as you continue to run future ads, it will grow. And so you can use it go and click the blue button, you can use it for for excluding which is what I'm saying which which is what I'm trying to explain is is the you can exclude them from seeing future ads, but you can also run an ad straight to them. That that that that also works to you know so so anyone who has who has maybe not done business with you yet they scheduled an appointment, but they haven't came on as a client. Right, I can easily run an ad straight to that group and give them a specific message that would relate to them. Hey guys, this is Rick just wanted just wanted to come into your newsfeed real quick. And I know you scheduled an appointment with me a few a few days ago, but let me tell you what what we just did with this yoga studio and why you're going to be so excited to want to talk with us. Or why you're going to be so excited to want to work with us. Yeah, yeah. Right very very specific message to a very specific audience. So it can go both ways, I can run an odd, a totally a total relevant message to them add, or I can just exclude them from seeing other ads, you know. So, so yeah go ahead and click the blue button create audience. And that's it. So custom conversion custom audience. That's what it's all about me. Yeah, and then I might create a lookalike audience at some point but basically I'm going to, you know, run a run a video probably video views, and then start retargeting, you know users have watched 90% of the video as well. And then obviously anyone I get through some anyone that clicks, you know learn more and goes through to my website and has a little butchers of that then I'll retarget them as well. What you want to do is you want to. I'm glad you brought up the video.  So what you what you watch, let me show you click on create audience hit the blue button. Go to go to custom audience, and then click on video. And then let's go next. And then let's just look at all the different options so hit the drop down engagement hit that drop down at the top. So here, here you have three seconds, 10 seconds, 15 seconds, which is a through play. So, so, 70% if it was like a 30 second video maybe. Yeah, if it was if it was a 30 second video, you can go you can go 50, you know you can go 50% or you could have just went 15 seconds. You know, so, so here's what I'm trying to say, the higher percentage the lower the smaller the audience. Right. So, so what you want to do as you start to make video if you are going to do video. What you want to try to do is get as much information, not not not information but but maybe give them give them some type of reason to watch in the first 15 seconds. And then you know exactly what that video is going to be about in the first 15 seconds. Now it might it might be a it might be a three minute video. That's fine. But in the first 15 seconds.  It's two of them here ready to go. They're just shitty video.  Yeah, yeah. So, but but here's what I'm trying to say though, if you can, if you can, if you can mention as much information in 15 seconds and I'm going to give you an example. But if you can if you can give as much information in that 15 seconds, then then then what I would start doing is creating audiences around 15 seconds, because that's going to be the biggest audience, and it's going to be people that actually know what the hell you were talking about. So for example, in my first 15 seconds, I would say something like this, I would say something. Hey guys, thank you so much. Let's say for example I'm going after yoga studios. I would say something like this in the first 15 seconds. Hey guys, this is David. In this video I'm going to simply show you how we were able to get 300 leads for this yoga studio down the street, and and and how we have so many yoga companies that are wanting to wanting us to do the same thing for them. And I'm going to show you how we did it in this video. Yeah, right so in the first, first few seconds that that took me down six seconds. I was able to tell them exactly what they were about to watch. Yeah, so so now if I create an audience around those who watch 15 seconds. Yeah, they may not they may not have watched 1718 19 or 20 seconds, but at least they watch 15 seconds, and I told them exactly what was going on in that first 15 seconds. Yeah, so so they so I captured them as a 15 second audience. Now I'm going to go show them another ad. Yeah. Right. So, so I would go off of 15 seconds or I would go off of 25%. Yeah, one of those. Yeah. Okay, so that's on on video but yeah as you start to put out video and in video views, video views is is only only only for the custom audience. That's the only reason why you would run a quote unquote video view ad. It's only to capture the audience. That's it. So it's not it's not for anything else it's not because again in our in our business in your business in what you're doing for other businesses. It's about the conversion. So it's not about the video view it's about the conversion, but I'll run a video view ad to simply capture the 15 second audience, and then I can turn around and run them another ad in the future under conversions. Right. Retargeting one. Yeah, so we would retarget them with conversions and and and and and try to get them to opt in that way. You know, so so that's that's what it's all about mate is those that confirmation page and the custom audience and the custom conversion. So, any questions on this part. Yeah, no legend mate thank you I think I'll go away give you know relay this info to Simon try and get that the website sorted and then I'm going to test some ads this week with this new you know with the new audiences and stuff and try and try and get it growing. In the very beginning what I wouldn't do is I probably wouldn't retarget people who currently like your page. No, no, I'm not going to do that. I don't know if I would retarget that website visitors. Yes, for sure. Website visitors. You can retarget that audience and then schedule appointments. The audience ain't big enough yet but but the website visitors you can for sure retarget but be set up right anyway. What's that. It's my night like just to reschedule to to retarget and website visit visitors so beard.com so that is set up right yeah. Okay so so here's what you want to do okay look I'm glad I'm glad we're looking at this take out that Calendly one.  So this one. So grab this one. And paste that one there. So, so when it comes to custom conversions and custom audiences are actually know when it comes to custom audiences. Everything is very specific. Right so so in this case. It's a web. It's a web visits 180 only. Meaning they have not landed on the appointment confirm page. Yeah. Right. So update audience. Yeah that's all you need one update. Yeah perfect. So done in that that audience. Yeah that as that audience continues to grow. Yeah you'll always want to retarget your web your website visitors. Yeah. Those who landed there but have not scheduled an appointment yet. Yeah. Yeah. So, so that right there is the blueprint. I just I just I just you man I should have I should have took you through my full blown Facebook ad like training bro because I don't I don't know if you're going to run those ads the right way. Like I really don't what we'll see. Yeah we'll see we'll see but setting up setting up setting up multiple ad sets is is dependent on the business and dependent on the location like if if these are just local businesses, then then maybe you don't need multiple ad sets. So as you go and run an ad you click the green button and you come in and you create like for example I just let's see what I think it was. It was yesterday's video. Yeah yesterday's video on my YouTube channel. Watch that video. So so yesterday yesterday's video on my YouTube channel. That's where I'm walking a client through beginning to end on how to run multiple ad sets. Now, she is building a nationwide business. So that's where multiple ad sets make make sense but if you're running ads for local businesses, you may not need that. But at least you'll know how to do it. At least you'll know how to do it like that's what that that's that's a major major part of targeting when you're running a conversion ad is multiple ad sets, and most don't do that. So I would watch that video just so you have that knowledge because it's a pretty detailed tutorial like I'm walking her through in real time. So it's not just a video I made it's actually a training video that I'm doing with a client. You'll get some you'll you'll get a lot of value out of that one. I'll check it out. Thanks, dude. Thank you for sure. But jump. Find out what's up with that page or not find out but just have have your buddy update the page, the confirmation page, and then and then anything else man let me know schedule another call and we'll jump back on as many times as you need me bro. Yeah thanks one I really appreciate it. And just trying to rescue the sinking ship. Oh man for sure for sure for sure.  Turn them all to great. You know that'll make it a little easier for you in the future. Cool item bro. Let me pedal away to my boy and then we'll try and get that and then can I just book another call of you and this is sorted. I think it might be pretty much done then but. Let me for anything else man if you let let me let me help you let me let me walk you through the first admin. So let when you when you're ready for that schedule a call let me let me walk you through that first that that ad setup. Okay, just to make sure you do it right. Bless you man. Yes sir yes sir so so I'll be email away and just schedule whenever you're ready and we'll go from there.  Alright mate. I appreciate it man. Have a good night. You too. Bless you mate. Bless you too brother. Bye bye.


Are we in preparedness mobilisation for the asteroid Apophis close approach? Do you guys realise, agencies around the world are trying to work out how to stop an extinction level event? An asteroid that could be taller than two black pool towers combined is expected to shoot past the Earth early next month and according to the Jet Propulsion Lab, it's potentially hazardous, wait till you hear this. When they say it's potentially hazardous and it's actually 19 times further away than the moon at its close approach, then you have to wonder about such classifications and if that wording somehow relates to the study of the human reaction to such words and this mammoth space rock has been classified potentially hazardous by the near-earth object centre at JPL, but this time it is expected to pass safely and NASA usually determines whether an asteroid is potentially hazardous or not by examining its size and distance from our planet. Known as 2021 KT-1, the asteroid will make a close approach to the Earth on June 1st at about 10.24am Eastern Daylight Time. You have to understand that the world close is a relative concept in cosmic terms and it is estimated that the distance this rock will actually swing past the Earth is around 4.5 million miles and even though this is roughly 19 times the distance between the Earth and the Moon, NASA still considers this past and its near-approaches data sheets. It will fly past the Earth at a speed of roughly 40,000 miles per hour which equates to 20 times faster than a speeding bullet and the JPL estimates the size of the asteroid could be up to 1,082 feet in diameter and that is roughly the size of three football fields combined. But according to the agency's centre for near-earth object studies, it's not a major cause for concern and they say that no one should be overly concerned about the Earth's impact of an asteroid or comet, the threat to any one person from auto accidents, disease or natural disasters and a variety of other problems is much higher than the threat of a near-earth object. However, it added that the chances of our planet being hit by an asteroid one day are slim but never zero and the double asteroid redirect test will be launched on the 24th of November this year and we believe that this is the preparedness for the asteroid apotheos scenario, which will rattle our planet and possibly be altered enough in 2029 to come extremely close to our planet in 2036 and if the asteroid turns onto a collision course with the Earth then this will be an extinction level event and the asteroid redirect test may be our only hope before weapons are launched at the object, but what do you guys think about this one anyway? Comments below and as always thank you for watching.


Bestselling author Susan Cain once wrote, in a culture that praises the extrovert ideal, introverts are dramatically undervalued and because of this, society is losing out. That quote can be found in her hit novel, Quiet, the power of introverts in a world that can't stop talking. And as the title states, it can be a struggle for introverts to stay true to their quieter and more reserved nature when surrounded by people who just don't seem to get it. But there's power and beauty to be found in being an introvert too. A mystery that only unfolds to a few. As author and comedian, Makayla Chung once said, don't underestimate me because I'm quiet. I know more than I say. Think more than I speak and observe more than you know. With that said, here are five things that make introverts incredibly attractive. Number one, they are hard to get. While plenty of people will give you dating advice saying that playing hard to get will make you more attractive, introverts, it's not an act. They really are hard to get. That's why it's so rewarding when you finally do win one over and get them to open up to you because it's not something that they do just for anyone. A 2018 article from Time Magazine written by journalist Carly Bright states that introverts are attractive because they make you work for their attention. But once you succeed, they'll find that it often leads to lasting loyalty, deep friendship, and a loving romantic relationship. We all know that finding the perfect partner can be a challenge, but what if there was a way to make the process a little bit easier? Introducing our sponsor, SoSynct, the introvert-friendly dating app that pairs couples based on their personalities and interests. Think about it, when you're dating someone who truly gets you, it's like a breath of fresh air. SoSynct is designed to help you find that special someone who really understands you. The app takes the guesswork out of dating by using a comprehensive personality test to match you with compatible partners.  From there, it's up to you to make the first move and start messaging. But don't just take our word for it. Listen to Hannah, a psyched-to-goer who discovered SoSynct through one of our videos. She downloaded the app, found Brandon, and deleted the app within a matter of hours. She found Brandon and deleted the app, so why not give SoSynct a try as our sponsor for today's video? Download the app today and give yourself a chance to find deeper, more meaningful love. With SoSynct, you'll be on the fast track to finding your perfect partner. Number two, they have great composure. Psychologists define introversion and extroversion as personality preferences, as Hyde Eve Cahoon wrote in her research article understanding the introvert preference. And because introverts prefer their inner world to their external one, they often process things internally. They keep their thoughts and feelings to themselves and only share it with others when they're ready. This means that while others might immediately have an emotional outburst, introverts do a good job of maintaining their composure. They seem more calm and thoughtful than most because they rarely ever lose their cool, which only serves to make them more attractive. Number three, they're intellectually stimulating. Again, because introverts prefer interacting with their inner world more than their external one, this makes them great at deep, intellectual conversations. Incredibly creative and self-reflective, they're often fascinating. Incredibly wanna learn about their interests deeply. In fact, one study by researchers, Beatty and Fernum, found that introverted art students excelled more than their extroverted classmates because they spent more time on their own, mastering their craft. And the same can be said for many common introverted hobbies like reading, writing, music and film. So you'd be hard-pressed to find someone more interesting to talk to, once they get used to you, of course. Number four, they're very self-sufficient. In an article written by behavioral health expert, Dr. Natalie Frank, another quality that makes introverts uniquely attractive to many is their strong sense of autonomy and self-sufficiency. Their desire for privacy makes them more independent, which in turn makes them better able to take care of and make decisions for themselves. And there are fewer things more admirable than someone who knows who they are and what they want. They don't need to look to anyone else to decide that for them or tell them what to do to get it done. They can handle a lot of things just on their own. And number five, they want personal more than social validation. Last but certainly not least, there's something to be said about an introvert's lesser need for social validation because according to Dr. Natalie Frank, it's this desire for personal validation over social validation that makes them more authentic than most. Introverts choose to be guided by their morals, passions and goals rather than the opinions and expectations of others. And sure, some people might judge them for it, saying they're weird or hard to get along with just because they don't try to fit in as much as everyone else. But to an introvert that doesn't matter more than being who they really are. So do you agree with the things we've mentioned here? Are you an introvert wondering about what traits of yours make you more attractive or maybe just an extrovert appreciating the other type? Either way, it's important that we celebrate and appreciate ourselves and others no matter our differences. With that said, what are some traits you think make introverts more attractive? Let us know in the comments below. And thanks for watching.


I am Mrs. Veena Sunil Patki, Assistant Professor, Department of Electronics Engineering, Valshan Institute of Technology, Solapur. Welcome you for this session. At the end of this session, student can derive the relation between maximum value and average value of alternating current. Definition of average value is the average value of an alternating current is expressed by that steady current which transfers across any circuit the same charge as is transferred by that alternating current during the same time. In case of symmetrical alternating current, the average value over a complete cycle is 0. Now, consider this resistive circuit, connect the AC voltage to that circuit for which we want to measure the average value. So, this is the AC voltage V equal to Vm sin omega t. Connect that voltage to this resistive circuit. I current flows through this, I is given by I m sin omega t. So, when this I current flows through this circuit, Q charges move through the circuit in time t. So, we have to measure this Q charges in time t. Now, replace this AC voltage, the same circuit is considered here, replace this AC voltage by a DC source by the DC voltage to the same circuit. I current flows through that circuit, I dc, we can consider that I dc again measure the Q charges move in the circuit in time t seconds. This Q charges move in time t will be same for AC and DC. So, this voltage we have to adjust. So, this DC voltage is the average value of this AC voltage. So, according to this definition, this DC voltage is nothing, but the average value of this AC voltage. Now, consider the half cycle of AC cycle, make the n parts of that cycle voltage or current, we are going to consider for that. So, I 1, I 2 and I n are the parts of this half cycle. If we calculate the average of that, that is I average equal to I 1 plus I 2 plus I n divided by n is the average of this half cycle. But if we calculate the average of negative cycle, that will be negative of that half cycle. So, total average of this cycle is 0. So, average value for whole AC cycle is 0. Now, if we want to calculate the average value for AC cycle by analytical method. So, this is the graphical method. So, by analytical method, we are going to consider the value I equal to I m sin omega t. This is the mathematical equation for the current, where I is the instantaneous current, I m is the maximum current and omega t is the theta, where omega is the angular frequency that is given by 2 pi f. So, I average according to definition 0 to pi. Here, we are going to calculate the average value for only half cycle 0 to pi I d omega t. So, put the value of I as I m sin omega t 0 to pi I m sin omega t, but we have to calculate the average. So, I by pi is the average value, so d omega t. So, here we will get the equation as I m by pi 0 to pi sin omega t d omega t. So, here I m by pi integration of sin omega t is minus cos omega t 0 to pi. If we put the limit for this equation, we will get I m by pi minus cos pi plus cos 0 that is equal to I m by pi into 2. So, 2 I m by pi is the I average value, so I average is given by 2 I m by pi. So, if we calculate 2 by pi, we will get the value as 0.637 I m, so this is the average value 0.637 I m, this is the relation between maximum value and the average value of the AC cycle. Now, what is the importance of this average value here? When we convert the AC voltage to DC by using rectifiers, we have to consider this average value, this average value is nothing but the DC value of the AC cycle. So, we can consider this relation to calculate the average value, so here now pause the video and think about what is the average value of whole cycle, average value of AC cycle is 0. So, form factor is the ratio of RMS value to the average value, RMS value is 0.707 I m, average value is given by 0.637 I m, so the form factor is given as 1.11, so that is the constant value and for AC cycle, AC sinusoidal cycle, this form factor is constant and the knowledge of form factor will enable the RMS value to be found from the arithmetic mean value and the importance of form factor is, when we derive the formula for transformer, we can use this form factor, so in some applications we can use this constant value 1.11 to calculate the RMS value if we know the average value, directly we can calculate the RMS value, so here the next term is the peak or amplitude factor or the creased factor, this is also the ratio between maximum value and RMS value, so I m divided by I m by root 2, so that is equal to root 2 and that will give you the value 1.414, it is also the constant value and the knowledge of this factor is of importance in dielectric insulation testing, because the dielectric stress to which the insulation is subjected is proportional to the maximum or peak value of applied voltage, the knowledge is also necessary when measuring iron losses, because the iron loss depends on the value of maximum flux, which is present in magnetic circuit. So, when we consider any magnetic circuit, this amplitude factor is important for that, you can refer the book Fundamentals of Electrical Engineering and Electronics by B. L. Thereseja, thank you.