Okay, so we're going to start off by reviewing a little bit of what we've seen already in chapter 24. This is going to highlight things you should already know, but we just want to make sure that we've got all of these things sort of highlighted in terms of what we need to be focusing on today. So we've been working in chapter 24, which is Gauss's Law, and in that we had two major forms for finding the flocks, and this is our symbol for flocks. In one case, we're integrating over a surface, and we have to look at the dot product between the electric field and the incremental little areas. And this could be a very messy quantity in general. Then we had Gauss's Law, which let us know that that flux could be more simply calculated if I know the amount of charge inside that surface over the constant epsilon naught. And epsilon naught is our 8.85 e to the minus 12 Coulomb squared per Newton meter squared. You should have that written down in your notes somewhere. It's going to come back up on a later slide, so if you haven't gotten it written down completely yet, just hold on, you're going to see it again. Now the useful thing about Gauss's Law was if we have both of these forms, we could actually equate both sides here. And if the symmetry is just right, then this integral becomes much easier and becomes just e times the Gaussian area. And we talked last time about what makes that symmetry just right. If you do have that just right symmetry, though, you can use it to find the electric field on your Gaussian surface. You have to know how much charge is inside your Gaussian surface. You still have to use your epsilon naught, and you have to know the area of the Gaussian surface that actually has electric field going through it. Now let's review the units, because some of you guys have been messing up on that. If I've got my basic electric flux, it's going to be the electric field times the area. Electric field has units of Newton's per Coulomb. Remember it was a force per charge. An area should have units of meter squared. So that means flux should be Newton meter squared per Coulomb. And we should get the same Newton meter squared per Coulomb, even if we're using the other form of Gauss's law. Now in order to do that, you have to take into account what units do we expect on charge. It's going to be Coulombs. It might be micro-Coulombs or nano-Coulombs, but Coulomb is the base unit there. You just need to remember to put in your metric prefix. And here again is your epsilon naught, the 8.85 e to the minus 12th Coulomb squared per Newton meter squared. I'm going to leave this slide up here for just a little bit before the end of the video. You need to make sure you have this constant written down. And then you're going to answer a couple of other things on the paper in regard to working out some units. Got it written down? Okay, here we go.


One of the legitimate worries about AI is the ability of people to use it, to do bad things.  It's a violation of somebody's rights. But the laws, the laws are not, we don't get half, proper laws to protect ourselves in these cases. We know that AI now can mimic a voice. AI can probably take my crazy accent, and it can actually create videos of me speaking that sound like me, or videos, audio of me speaking, and you wouldn't be able to tell. So if you see audio of your unbrooked advocating for communism, it's AI. It's an AI fake. But one example of this was in Slovakia, Slovakia, Slovenia, I think it was Slovakia, Slovakia, yes, Slovakia, where a fake recording of a political candidate, like two days before the election, went viral. The recording sounded exactly like him, and he was talking about how they'd rigged the election. He was also talking about how he wanted to raise taxes on beer, making beer much more expensive. You don't do that in Slovakia. I mean, one can't tell how much of an effect it had on the election, but he lost. He lost the pro-Russia, anti-Ukraine candidate won, and the pro-EU, pro-NATO one lost. And Russia's very good at using AI for these kind of things. And it's definitely possible, right? It's definitely possible that AI could swing an election by creating newsworthy audio or video that has a candidate saying stuff that they don't believe in, but that could have a real impact on an election. So yeah, I mean, and it's interesting because you can deny it, but it's very difficult to identify and prove that a particular video or particular audio is fake. So it's going to be interesting to see how this is dealt with in the legal system over time. And whether anybody is prepared for this, and I expect to see a bunch of this kind of stuff going into the US 2024 election, I wouldn't be surprised if the Russians and the Chinese do all kinds of things to kind of screw with our minds in terms of creating these AI-generated audio or video. And how do you know? I mean, you have to assess whether something is reasonable or not. But we know, you look at Taylor Swift being a Psycox operation of the Pentagon, people will believe pretty much anything. So the reason and common sense has gone out the window when it comes to elections. And lots of players are going to utilize that for all kinds of weird effects. By the way, that video that that Fox host, Jesse Waters showed of the woman presenting and he said it's a Pentagon presentation in front of NATO. She doesn't work for the Pentagon. She is an academic. The conference was not a NATO conference. I mean, nothing about his reporting. Nothing that he said there was true. Blatant lies, right? She's some academic. She was using this as an example. Had nothing to do with the Pentagon. It had nothing to do with NATO. It's all made up. And yet it created this firestorm in right wing circles that is still convinced the Super Bowl is rigged.


Google Assistant is built to keep your information private, safe, and secure. This is a speaker with Google Assistant. It's built to wait in standby mode until it detects an activation like, hey Google. While in standby mode, Google Assistant won't send what you were saying to Google or anyone else. Once an activation is detected, your device sends your request securely to Google and responds with the help you need. Hey Google, do I need an umbrella today? The status indicator on the device lets you know when Google Assistant has been activated. No, it's not forecasted to rain in Pittsburgh today. By default, we don't save your audio recordings on Google servers. However, if you decide to turn on the voice and audio recordings setting, your audio recordings can help make Google Assistant work better for everyone and support our human review process to make Google's speech technologies better. Google Assistant may activate when you didn't intend it to, because of an accidental manual activation or a noise like, hey Google is heard. Hey noodle, get down from there. We have a number of protections designed to prevent this from occurring. You can always visit the Your Data in Assistant tool in your settings to review or delete your interactions with Google Assistant, including any audio recordings. Google Assistant is designed to make your life easier, while also giving you and your family the privacy you deserve. Hey Google, good night.


The most responsible way to live is that you are playful with life. It's absolutely irresponsible to carry a long face and walk around in this planet. Being playful is being very responsible and responsive to life. Only when you are playful, you can pay attention to everything. You can truly respond to everything in the world. Only if you are playful, otherwise you cannot. Just the burden of it will kill you and only if one is playful, such a person can truly grapple with the problems in the world without being affected by it and do his best about it. If you maintain a few hours of playfulness in a day about what you're doing, you will see even your physical body will start functioning so much better. Your sleep quota will come down and meditation becomes a natural process for one who is playful.


Welcome to the next episode of Make It Mini, which is a series that reimagines trending recipes using lecressé's mini-cucuts. Next up, we have recreated the viral phyllo dough crinkle cake, also known as makasha. It's made up of thin sheets of buttery crinkled phyllo dough that is folded into layers and gets drizzled in a custard. Once it bakes, it gets super flaky and crispy. Everything is then topped with a sugar syrup, crushed pistachios, and cinnamon, happy holidays, and like and follow for more episodes of Make It Mini coming next year.


Let's go, baby It's raining. Yeah. Oh, they in Boston. Yeah, let's go. Let's go one. Let's go one Good play. Let's go Kenneth.   Let's go Come on. Let's go, baby. Let us show let them show us. They can stop the run man They can stop the run. Let's go Kenneth. Let's go, baby Let's go take what they give you take what they give you J. H Let's go, baby. Let's go, baby Come on quarterback sneak man quarterback sneak man, we know what we do quarterback sneak Anything under two yards man. Yes Yes Yes, let's go Watkins. Let's go, baby Let's go, baby. Fuck. I'm talking about. Yeah, let's go.  You niggas ain't been right Soon as they started, oh, don't know these niggas footballs is off man. You niggas ain't been right Let's go Jalen. Oh, get down.  Oh, come on. Come on class.  Come on y'all 30 to 11. Come on.  Let's go Jalen. Show him why you him, baby. Show him why you is him You is H Let's go. Yo I taking calls. What's my number? Yo call me. Yeah Eddie Detroit fans on head. I mean, um, New England fans on here. Boston. Yeah, call Want to bet some money? We could bet some money just cash at me and if you win, I cash you have you back mind vineyard Now I already bet millies Yeah, let's go, baby Let's make a count. Let's go You're supposed to get more than that, kiddo Right down there, baby Supposed to get more than that, dawg Come on. If I tell you We might need a big back man Here we go. Spread them out Spread them out, baby Spread them out.  Best right leg in football, baby my man Je here we go. Hey It's my bets on the screen. Yeah Huh? Yeah Pull my first bet up The Jacksonville Jaguars That the parlay can they see that? Yeah Yeah, y'all see. Yeah Wait, what's my next bet the cubs Cubs money line. What's the score on that five two cubs winning top of the knife top of the knife Cubs at home or their way cubs at home Put my Eagles bet up there.  That's three for three the thing Hopefully, you know what I mean? Yeah Gilly on sports Yeah They call in We go alive, but they leave a message Tell them leave a name when they leave my yo gilly. There's such and such from such and such This Ronnie from from Detroit this this this Carlisa from from Iowa.   So Hey, did this boy go to alabama too? Yeah No, hold on. We got the real alabama quarterback. Thank you Do you want a championship? So the jail? Let's go, baby. Who is that? Who is that? Williams. Let's go, baby Come on y'all Let's go D Hey, come on, man.  We ain't losing them goddamn six round wild receivers on the field man. Come on, man They got two niggas on the field drab to 845 or 853. Here we go Now I can tell you something I'm gonna tell you all something That nigga look like he ran from the cops before man Look at him. Uh, uh, uh, it's wet out there. No, it's not. Give me that.  Uh, uh, wait. Uh, excuse me. Uh, yeah High step on them. Uh, uh, come on Y'all ready? Boom or a touchdown one two three What up, girl? This this this booze man buffalo, man Buffalo, New York and bills on the bills on the wait, man I'm just calling. Let you know how I think my man daily males from new england I'm gonna pick before Darius slay. How much you want to bet?  He just left a voicemail saying how much you want to bet Darius slay is gonna get a jail of mills is gonna get an interception before Darius slay. How much do I want to bet?    Do you know you don't you don't jinx them niggas? I bet you he won't do this.  How much do you want to bet?  How much you want to bet nigga? You could pay me now.  Give me another voicemail, man We heard man Coming from Dallas, Texas man them eagles ain't got nothing on them cowboys, man You can bet whatever on them If you need a heart care of you and Dallas Add official xxlg on instagram First of all the eagles ain't got nothing on Dallas. When when are you talking about?    Wham That wasn't thinking while we while we talking about the cowboys Old-ass nigga running around with his belly out. Give it up. Look at him You should have put your stomach away. Give it up Greasy stomach give it up. You come out to practice with your stomach out. Give it up Strong which nigga won't play. Give it up What's wrong with you talk about Dallas as soon as you talk about Dallas there and nigga that just left Dallas Scooby-dooby-boop boop boop boop bang Give it up Look at him over there. Explain it. See he is wet out there.  Let's go. Let's go young boy Let's go AJ.  Pick your head up Matt Jones man. You knew you wasn't real corner back from Bama niggas It's easy to play corner back at Alabama. You got the best offensive line the best wide receivers the best running backs They always open So I'm my man transfers and I'm doing it in two spots, man Now I'm doing it in three spots at Philly. Oh, oh get out of the eye Don't worry about it. Oh, we got flag dog wise chill out dog Maybe hold it dog Hold it on the corner back dog There we go. You did all that celebrating wise.   It's first and 10 player Look at my man. My man was holding. You know our our wide receivers is elite You know, we got the best wide receivers in the league What's wrong with you dog? What's this? What's this? Told you we got the best wide receiver Italy Yeah, divide take Yeah divide take talk to me Talk to me Look at it. Zeke. Yo. Yeah, it's your fault. You're fumble. I that's a bullet Oh, he talking about it's not good. No good. Oh, that's a bullet Lord jealous That's the first one that's the first one Uh Come on. Hold on. Let's kick the field goal. Y'all know the routine It's just like at the game Y'all know the routine. Let's kick this field goal.   I'm a detraitor man, but I'm a chicago bearish man. How you feel about them chicago bearish? Just let me know All right, gil He said how I feel about the chicago bearish, right? The honest that you want me to get the honest truth? I feel like chicago bears Is going bears leave me the playoffs nigga. That's what I think if they do They're gonna chicago bear leave me How you feel about the eagles, buddy?  No chickens will be fried hard Yeah, me So up a ketchup hot sauce If I get every avenue rule, what's wrong with you?  Come on, man Robert, that's my man though. I ain't gonna lie me put me on the phone with Robert Kraft. That's a good dude, man Here's like resting peace to your son, man Yeah, I mean me told me about what happened to your son, man You know what I mean? So shout out to Robert Kraft though You know what I mean?  There we go. Yeah, y'all not running against us, bro Jalen Carter dawg Is young born again If they're plus there's be for real they won all them. Yes, man.  Let's go brad brad What is the linebacker door? And that was an interception bro. You out there slipping, man Come on bill man.  Go ahead and retire you man.   Go get him. Go get him. Come here. Come here. Oh, that was another interception.   Let's go Hopefully man, we got a good part return to do man because we had one of them in a couple years, but No, I bet I'd be that white bull from last year, but That motherfucker he's a goddamn car accident week to happen All he do is catch them. He do catch the ball though, but then he run into motherfucker as soon as he catch it It is him.    I might run for 28 Just on a simple fact. I'm scared to death I can't let these niggas tackle me.  Come on All right, man, it's courier from the bay area Flyers will fly up. I'll bet you think we're gonna put the uh niners up in december Love me.  No that don't listen to listen to all of the grade quarterback names Just think about it time Brady Jalen hurts Patrick my homes All of them sound like oh, yeah, they could it sound like quarterback names Think about it. What's my man from from the from the charges? Justin Herbert What's my man from the Rams?  I'm just keeping it real man. We're winning with no quarterback You think they're gonna see Brock Purdy. Where are you going? Disneyland? That don't even sound right Sound so good. They like jailing What are you gonna do after this? I'm going to Disneyland.  He's bringing out. Please.  They're my tickets. They're my tickets downstairs. I make the smoke detectors go up. Hey, we ought to go Come on. Let's go Boy smell Oh, Joey, Joey, this big guy out in Compton Just wanted to know if uh, you think the Eagles gonna lose any games this year I mean the Eagles probably gonna lose, you know a couple Three, you know, I mean two three You know, I mean you always had them days where you know, you just be off I mean do you have them days where you be off? But you get on at the end and you be able to pull a few of them out so You know what I mean? I figure it'd be like Five games like that four games like that, but we'll pull You know two of them out lose maybe three of them So we probably go like 14 and three 15 and two No, I mean Come on dawg.  You know why we brought you here.  Come on You're not running on us, bro. You could forget that Man, you could forget that dawg. We got gelling Carter, Fletcher cops, bro The cooby Dean, bro. You're not running on us. Josh sweat What's wrong with you, man? Anytime you got to pass gelling Carter been by the quarterback every single time You better do it one yard. You better do a one yard step back. Man, you can throw it If I count to three gelling part one two There we go. There we go. No, no No, yeah, Avante No Let's go. Oh, they're trying some sneaky stuff We got some more callers Come on Yo, it's Donald from since the huge fan. I just need to get your take on this bangle Cleveland game and give me I'm a bangle fan. Give me some hope for this new season.  They're not going You know exactly who the weak link is in practice, you know, okay, I got him on the safety I'm going to know you can't do that in these games So it'll take it take sometimes when they don't play in the preseason. They'd be rusty man Take a couple games to get them right You know, what up girl, this is Alan from Brooklyn, man I just want to know um, what you think about Justin Fields this season How he's going to do on the fantasy I mean Justin Fields, I already know what he could do running the ball. I gotta see if he could if if This year he's still waiting on wide receivers to get open or is he throwing them open? You know, I mean that was yelling hers biggest issue this first year When we went to the playoffs He was good, but he wasn't he was waiting for wide receivers to get open Instead of thawing them open But last year he started He you know, he worked his ass off in the offseason And then he's now he's throwing wide receivers open instead of waiting on so you got to see if Justin Fields is going to have that maturation. You know what I mean? Or if he's still going to be waiting for wide receivers to get open and over relying on his legs Running too much I mean, I I think Aaron Rodgers is good, but I think Aaron Rodgers is Is is is overhyped especially on tv I think he overhyped. I think he overhyped by Stephen A Smith. I think he overhyped by espn.  So for you to be that great and We only won one Super Bowl Come on, man Will we think Joe Montana was that great if he only won one Super Bowl?    That's a little fire everything But he ain't getting it this year Jella Hertz is getting this year You're about to see why right here. Come on y'all What's up prince? What's poppin brother?  We can come out to him. He can come to us It don't matter. All right bet we can come to y'all Come all right.   Who is that? Sydney Brown. Yeah, there we go yet. Yeah, we go young it There we go young it That's our dress big baby We got some more calls moment Hey, give me man. I'm calling from south of Duffman. Hey, what you do with that big three? MVP trophy, man. If you hang it up and fill in the box, then what you do with that job? No, I got that joint right here.   Oh gee like stop saying that because that don't make no sense I'm somebody's grandfather And all the young niggas want to play me But you talk about I'm garbage Is it another grandfather out here that your young niggas want to play?        Covey just got lined up Boom shoot the gun boom.  Hi. Oh, uh, excuse me Wait, you're reaching for me You never got kept You white right you're not on camera, right? Yeah, the head Nine niggas chase you home from school Right.   But was great at pump returns because he was right for his life It's a difference That's like they put kev out there to return but he running straight into niggas Kevin I see the one I was at his wedding. He did this move Oh, damn Kevin.  I guess seriani like that niggas don't fumble so We ain't keep getting six yards.  You got to look out for the family man Come on.  Come on dawg.  Oh, he was open, man Call a run plate, man Come on jelly. Come on. Come on.   Yes Yo, we is destroying the pump returners One of them gonna give it up. They're welcome to week one, buddy Knocked him into a whole flip Yeah, they're flipping out of bounds Rolling all over. Yeah Yeah, back to this. Yeah, you see we got some more callers Yeah, MVP trophy. Yeah, right here Say gilly my name charry. I'm from Milwaukee. I met what she does like heavy man I just want to know who you think in the npa quinoa this year. Who are you taking? Sixes and phoenix Yeah, sixes and phoenix I talked to joelle and bd. He said gilly.   I said, that's what you do big fella So I'm going with big fella And he finally got peace. He married now. Well, what's that?  He is the game Peace out What's my top three? What?       You talk about me. Let me see y'all's fan.      You should learn something from this You learn something from this conversation.  Oh gee. I'm a see-offs fan.  You want to come on here?   I'm gonna sock you Come on y'all god damn. That was juju.  Come on young boy. Make a play They put the young boy Come on young boy.  Come on. Let's go y'all. Let's go Oh my goodness Miss one Who was that?  That was a perfect pass Come on y'all Come on Jalen. Let's go, baby Let's go. Oh Let's go.        Come on.  Come on, y'all.  I ain't playing with them What is y'all doing, man? Yo, Gilly, who'd you rather have? Donnie McNabb or Steve McNair? Steve McNabb I mean, McNabb did a lot for the Eagles, though But numbers on the bottom Call in line, make sure you say, yo, there's such-and-such calling from such-and-such Y'all can ask me anything, too I gotta put some better sneakers in my case, man I'll do some raggedy pups in there, man Man, I'm light-skinned-ass fries That's how you like your fries, though, ain't it, Cap? Come on, man. Let's get a sack, man.   We better than them, man What is y'all doing?  One time, baby Little 12-yard joint We got some We got some callers A.G., what's up, dawgs and sweetos Yo, I know you've had Earl Spence to win it In the last fight, but I want to know If they go up to 154 You think Bud's gonna win again Or you think Earl will pull it off? No, I think Bud's confidence going into this Next fight is gonna be to the extreme So, I don't know I don't know how much the weight affected Earl Spence, you know what I mean He didn't look like himself for sure But, you know Terrence beat him so convincingly That You know, you gotta put a little doubt to it That if he could do it or not So I would have to probably Be pick Bud in this fight Just based off of what happened in the last fight Yo, bro, this is Jill From Truckler, right? So just let me know what you think If y'all have still had Deuce Before a long period of time, what y'all would have done?    When he come smoke one do it, it's in the hood We be like J.E. And we pay doofens 400 They let Jake kick, see if they can take a kick from Jake Elliott And they ask Hey, bro, this is Ray from Chesa You hear me?


YouTube team keep it clean. What's going on? It's engraving here with another video and Lamar Jackson. He done done it again He done done it again And of course, you know, they're gonna be some people that try to twist and turn this stat and try to make it something That is not and try to take the negative and be like hey look at this but no But anyway before we get into this, I love y'all team keep it clean I appreciate y'all team keep it clean today in the Ravens world of content creation Shout out to Cole and Mike. They getting ready to start their pot where they started their podcast Two guys talking football. That's what it is two guys talking football They don't get no more straight up than that then my guy Alex and his brother Adam They talking about starting up a podcast too Sound like man my guys on Twitter they they jumping into it and that makes me happy because I love to see other people Dive into stuff that makes them happy. I really love that because we of course Everybody's working their jobs and stuff But it's fun to have fun It's fun to do a little something on the side do a little podcast or something with your boys or with your husband Or wife or with your brother sister with whatever It's fun to jump into that and just see where it goes because you never know where it could take you So anybody any of y'all that's out there right now listening and you thinking about doing and it don't got to be YouTube related This is just period But anybody out there that's listening to this and you thinking about diving into something But you're like, ah, I don't know how it's gonna go. That's the thing. You don't know how it's gonna go So you could dive into it and it could flop. It could be a complete fail Or you could dive into it and it could be successful You just never know until you actually dive into it. So go for it. Anyway, shout out to all the team keeping clean patrons I feel like I haven't given the patrons a shout out in a while, but I appreciate y'all. Thank you. Thank you very very much And team keep it clean Thank you for being so so positive the positivity is insane But that's how it should be because you know negativity out there is Just as much as or even more insane. So we got to try to counteract that with positivity. Anyway Lamar Jackson Warren sharp I I used to always get him confused with war and sap. I'm like, hold up. Did the war instead bleach your skin or something But it's Warren sharp He He's been on Lamar Jackson for a while not in the bad way, but he's been finding ways to sort of defend Lamar Jackson We think Warren sharp is a Ravens fan. But anyway He brought up this interesting with these interesting statistics about one Lamar Jackson He said Lamar Jackson has 85 total touchdowns in his 37 starts Okay, cool. That's fine. So 87. I mean 85 touchdown in his 37 starts. I Like that and you know over the past two years Ravens been number one in scoring Lamar is kind of a big part of that. But anyway, let's keep going. He said that ranks number three all time Okay, cool. I like that. But I don't think I can fully appreciate it I need more of a breakdown Because yeah, seeing those numbers are cool seeing him ranked number three of all time. That's cool in the first 37 starts But let's have a little deeper. He said that's behind only Patrick Mahomes and Dan Marino We know how great Dan Marino was. We know how great Patrick Mahomes is So that is some nice nice nice company to be a part of very very nice And it said his 67 passing touchdowns is 11th most now that that's where things get a little tricky Because you see these 85 total touchdowns and people like oh well Lamar Jackson, you know He ran for a bunch of them and he did he ran for a nice little chunk of them But the majority was through the air The majority came with his arm and not his leg and even though his legs help create some things for his arm That happens with every quarterback They is Lamar the only one that scrambles behind the pocket or in the pocket and scrambles around by in the backfield. No Happens, but anyway His 67 passing touchdowns is 11th most tied with Aaron Rodgers. So in his first 37 starts Lamar Jackson has the same number of passing touchdowns that Aaron Rodgers did and He's ahead of guys like Peyton Manning Tom Brady Russell Wilson and Phillip Rivers and most every other quarterback in history So when you look at these numbers this statistic with the 67 passing touchdowns So take the Russian touchdowns out of it Because you know a lot of people like to say well The only reason left of that Lamar Jackson guy is special is because of his legs if he didn't have his legs Then he wouldn't be special, but wait this shows that his arm is special too and see what makes this statistic that much greater is The fact that Ravens don't pass the ball like other teams Ravens don't even run the ball like other time I mean they run the ball like probably about 54 more times than any other team and I don't mean more temps I mean 55 times more like whatever the highest Russian team behind the Ravens is you multiply They're rushing attempts by 54 and then that's when you get the Ravens a number of Russian attempts But then boys they run a ball all day every day Anyway, and yes, I'm exaggerating cuz you know, it's gonna be somebody. Oh, that's not technically correct It's a joke. Anyway What makes this so special is that yeah Ravens they don't pass the ball that often But this goes to show that efficiency It shows that efficiency So many people continue to get caught up in the yardage They get caught up in the yardage and then of course with Greg Roman in that whole conversation A lot of people say oh no Ravens need to be passing for at least 250 or 300 yards every single game They get so caught up in those numbers like that the yardage that they forget about the efficiency And what we've continued to say on this channel, especially when it comes to the Greg Roman offense and just the Ravens passing offense They don't have to go from 32 to 15. They don't have to go from 32 to top 10. They don't have to do that They could go from 32nd to 29th and That could possibly even be good enough what needs to change with the Ravens passing offense though It's not the yards. It's the efficiency It's the creativity It's them just using guys and putting guys in their position to make plays and using them to their potential That's what needs to change. They don't have to have some crazy jump when it comes to yards Because yards do not equate wins Again, the example that I will continue to use Look at the Sean Watson just last year league leading and passing yards league leading What did that get them? Tell me what did that get the Texans? That press got every year. He's at the top when it comes to passing yards. What did that get him? James James Winston a couple years ago when he was on the box Let the league in passing yards What did that get them? So you see passing yards is it's not everything. It's really not So I know my god Josh Hoffman went when I talked about that before he made a really good point But he said what but wait But passing yards actually can't mean something because it can show like the how much the Ravens are really attempting these passes And obviously how many are getting completed too?  Not every play is gonna be so smooth. We know that That's the game of football People mess up people make mistakes. It's a job. It happens But We want to try to control those mistakes as best we can So this this statistic it got even better because bar still banks chimed in And he said in Lamar Jackson's first 37 starts He threw 18 interceptions Again, that's what 67 passing touchdowns to 18 interceptions. Okay, cool. Okay. What does that mean now? but then He brought up uh patrick mahomes his interceptions and rogers and then marinos Now, you know first things first You know these guys they pass the ball far more Than the ravens do far more all of these guys Um, but this is an amazing statistic for Lamar Jackson Um, but also you got to give credit to patrick mahomes too Because for as much as they pass the ball For as much as they got that air raid system As much as they they passing that ball all over the field for as much as they do that For him to only have thrown one more interception than Lamar Jackson for as few times as the ravens pass it That's amazing And I know a lot of ravens fans don't they don't like patrick mahomes I I think I think it's really been the media and a lot of twitter too That's really caused a lot of ravens fans and I like patrick mahome a lot of cheese fans And I like Lamar Jackson because you always see this constant Just paddle All the you see it everywhere all over social media. It's like one of the most disgusting things And it's like some cheese fans can't give Lamar credit some ravens fans can't give patrick mahomes credit Like man, get both for these boys. They're dude. They both killing it man Both of them are doing their thing But anyway patrick mahomes is a monster and then you look at and rogers 20 only 26 interceptions That's great That's great. It's amazing So this this list Of quarterbacks They are really really good quarterbacks It's a great list to be a part of for Lamar Jackson Especially again with how little the ravens passed the ball It's amazing that he's a part of this So then to take it up another notch To take it a step further Spencer Shout out to spencer and jake From uh Both Baltimore beat down They got their podcast too. See everybody's doing it. But anyway, shout out to them But spencer jumped on he said, you know what let me chime in because you know spencer always get he always gets his tweets trending For some some information some statistic because he is on it. I know he'd be doing some crazy research crazy research But anyway, he said of the 11 quarterbacks With the passing touchdowns That Lamar Jackson has the least passing attempts and the highest touchdown percentage as well Wow And again that that goes to what we said about him earlier That efficiency is crazy The efficiency is crazy He has the least amount of passing attempts Out of all of those guys and I mean that's obvious that's something We didn't even need the research to know that because we as ravens fans. We know like yeah, these ravens They don't pass the ball too often But for them to pass the ball so far in few But the touchdowns to be up there with the best of them that says a lot And as much as we we complain about this ravens often because there are some things that do definitely need to improve We have an an excellent foundation It has an excellent foundation where it is right now and for this ravens offense to improve It's scary to think about in a good way For Lamar Jackson to improve It's scary to think about in a good way For these ravens receivers the ravens receiver room to improve It's scary to think about in a good way for that ravens offensive line to improve It's scary to think about in a good way for greg romans offense to improve It's scary to think about in a good way Let's hope that this season the Ravens, they position themselves in a good way and they make it happen. Team Keep It Clean, I love y'all, I appreciate y'all and we out.


Okay, am I on and is a screen up there? It's gyro, but that screen looks okay compared to how it usually looks. Interesting, okay. Okay, good news. Yeah, basically I am trading at my home for the first time in like four months. And in that time I have a new laptop and I'm plugging it into an old monitor array. And it's sort of like having a nuclear laptop with a coal fired set of monitors. I'm having huge resolution issues. So as a result, I am, I didn't do anything today actively, just enjoying my long. Okay, so we're survivable for tomorrow. I may wind up with the same situation tomorrow. Thank you much. I'll give it back. If you're, if you're not, that's fine. But if you're in the PayPal, do you want to talk about the chart? If you're not, if you're not, that's fine. But if you're in it, do you want to talk about it? You got out of the option. You still have some of the stuff. Do you want to talk about the chart or not? It's up to you. Okay, PayPal. This is one of those things I just have a little in long term money. Just because I do like the chart and I have a habit of liking certain charts. So I might take them long. But what's interesting here, boy, I don't know if you can see this. Lines look different on my screen. But here's a daily chart. And as I looked at the chart for a longer term trade, I actually did draw a channel in here. It's had a lot of strength. It's a graph where I noticed that way back when that started the whole option play, I think I did do the option. I got out. I just wanted to make sure I had positive money in it. But there's nothing wrong with this per se, but very faint yellow lines are here. I'm going under this diagonal line. And this, I don't know why they're yellow. We're right up against the top of that channel. So I have a little bit, but I would not be adding to it right here. That's for sure.  Anyway, that's the gist of it. As far as the bigger picture, still the daily chart. I mean, this is just climbed. Wow. Since April with that first notable. Well, that's a notable gap right there to me anyway. Gapped again. And, you know, three gaps at highs top of this channel. This is the reason for me to get to light enough than some of my longer term play. So still like it. But oh, Melissa's asking, do I watch my swing trades all day every day? I watched these things. In fact, you know, for day trading, you don't need that many screens, I think, but I do have a lot of real estate with screens at home. And what I will do is I'll throw up 10 minute charts, a whole bunch of small 10 minute charts on my long. Now just keep an eye on what they're doing there. And so I might use them to lighten up. I might use them to add more. So for instance, crazy as it may sound. Yesterday I added very small amounts to something which you've been sitting around. And that would be so yesterday, I got just a little bit of sign up. Now this, I'm off of the swish reservation here, except for the fact that I like this daily chart. Okay, but yesterday I did in fact pick up a little more. I already had a small, small position. I had lightened up up here because when these long pop, I generally want to take something off. Came back in, I had very little size. I added a little more. And today is a happy day in China. Happy days of course. But, you know, that's my thinking with longs for my long term money. So any questions about that stuff? So yes, I want a bunch of 10 minute charts on my long just to keep an eye on what's going on.  I think it's time to go back to the movie star. Oh, you're funny. Okay, anyone have any questions about anything else? Good day today, people. Good day for everyone. And we'll see what happens with Facebook tonight. You can watch it. Facebook reports tonight and be looking for that. And then Baba tomorrow morning, Apple Thursday night. So going to be a busy, busy time the next 48 hours. Okay. Any questions from anyone at anything? Great day, Melissa. Thank you, Eclipse Trader. Jira did a good talk. I think he should pop on here and talk more about swing trades. Oh, there. Journey Woman has another question for Jira before you go. I don't know if you just want to chatter. I'm on TV at 5am, that I know. The radio thing, I don't know. They just called me about that yesterday. I don't even know what I'm talking about tomorrow yet. I'll find out today. I've got to email about it now, but I don't know if they'll tell me. 5am for TV. Radio. They just said it'd be available 7-11. Great day, everyone. I'll continue to stay on track and do my best. And you, too. Okay? Have a wonderful day, everybody. Good luck. Jira will take good care of you. Okie doke. Thank you.


How's it going guys? Before we get started, I'd like to get a picture of the crowd. I wanted to do this in my first talk. If everyone could just wave. Alright, I appreciate that. So today we're going to be talking about headless WordPress and server-side rendering with Next.js and React. I want to be a little upfront here. I had a live coding session planned for this. A couple things went awry with that. Number one, I had some errors in my code and couldn't get them out. And number two, we're actually running very short on time. So this is going to be more of an introduction to Next.js and React and what it can bring to you and how to use it. So first of all, hold on just one second. Let's see where are my notes. So first of all, what is server-side rendering? Normally when using React, your browser will download a minimal HTML page and then from there JavaScript will actually fill that page up with your content. With server-side rendering, the initial content is already within the browser, or already within the page and updates to the content are still dealt with through the browser. So what is a headless website? Sometimes called a decoupled website. With a headless website, there's a database-driven back-end which in the case of WordPress is used to maintain the content for the site and is decoupled from the front-end to allow you to use the tried-and-true editing experience that WordPress offers at the front-end or another view library. The content for the site is available via REST API or a very different API, up to you. The end-user experience is delivered by a JavaScript application rendering the output of the API into the built-in-styled front-end of the website. A couple examples and variations of headless sites. So just recently at Human Made we launched the redesign of TechCrunch.com which is decoupled, but it's not actually isn't entirely decoupled. It's very decoupled, but it still uses WordPress theming. Essentially what we're doing is the WordPress side of things. It just renders the minimal HTML content as well as the all the scripts that are necessary to load the content and everything after that is asynchronous, but it's not fully decoupled. One's not running on a node server and then you have your PHP application server. It is still just one application. Another example at Human Made we recently also launched Fairfax Media's new sites. Fairfax Media is the largest media corporation in Australia. Their sites are Brisbane Times, The Age, Sydney Morning Herald, and more. And in conjunction with Fairfax Media at Human Made we created an entire custom editing experience for them to maintain all their content and then they had their own internal team that went ahead and had their own data layer on top of that that then fed their front end of their websites which are all React-based. So this is, this one is an example of a totally decoupled site where you have the React site running on a node server and you have WordPress running on a totally different location. So what is Next.js? It's a server rendering React applications. It was created by Zite and released in October of 2016. Zite is an organization that is stable. They're very involved inside the open-source world. So Next isn't going anywhere anytime soon. It's here to stay. And it's built to follow the seven principles of rich web applications written by Automatician Guillermo Rausch. Those seven principles are server render pages are not optional. Now this is something that is a little bit opinionated but with the world that we're living in today where it's not just Googlebot that you have to worry about scraping your site, there's social previews. If you paste a link into Slack, the same thing. You want these types of things to actually still be able to retrieve your content and show the user a preview of them. And without using server-side rendering you're really missing out on a lot there. You should be able to act immediately on user input. In JavaScript we can essentially make it to where it looks like there's low latency just by performing an action and then running the actual networking of that in the backend. Take for instance you're in Gmail. You go to archive an email and immediately that email flies off of your screen. Really in the backend it's still running that operation to archive that. But as far as you the user is concerned there's zero latency there. It's automatic as soon as you do it. Your code should be able to react to data changes. So your UI should be self-updating. When data changes on one side it should flow to your front end. You should be able to control the data exchange with the server. Don't break the history. This is something huge when you are controlling the history and not the browser itself. When you're adding things to the push date you need to make sure that if you're hitting the back button that it's not breaking for the user. That's a bad experience. Push code updates. With your data also comes code updates. If you have one without the other you're going to get a mismatch there. So essentially what Next.js provides is hot module replacement thanks to Webpack to be able to actually replace the modules hot swapping them on the fly as you change in your website where you're located at. You should be able to predict the behavior of your user. With Next.js it's done with prefetching. Essentially you can load a page and all the links on that page you can tell it to prefetch it.  So things to consider when you're considering to do server side rendering. Server side rendering usually increases the performance of your app but not always. Server side rendering helps with search engine optimization. Now we all know that Googlebot now can parse JavaScript render your content in there but it's all based on a time. It's not based on when the completion of your code has actually been finished. So if you have long running processes that are going to be filling the content of your site by the time Googlebot actually indexes it it probably will only see half of that content while it's still trying to fetch the rest of it. And complexity. So obviously when you add server side rendering you're adding another layer of complexity and this makes it to where it's harder to address bugs or implement new features because you're maintaining server side rendering. So these are just things to keep in mind. Now that's not to turn you off from it either. Why should I use an XJS? So a lot of us create PHP apps and when you're using something with PHP usually just start coding you don't have to worry about routing not much at least you don't have to worry about things as far as how you deploy it you just start coding and go. And that's kind of what you have with Next. Instead of PHP we build the application with JavaScript and React and here are some of the cool features that React provides. So by default you're already server side rendering just by serving it with Next.js. So don't make it to where your HTTP responses are definitely going to be longer than they were before especially if you're under heavy load or if you have a DOM list of thousands of nodes a large table it's very easy for this to to balloon out of control a little bit. You get automatic code splitting for faster page loads. So essentially depending on where I'm at in the site it's only going to be loading the modules that are actually necessary for what I'm viewing at the time. You're not loading any code that isn't needed and this is all done automatically just by throwing your stuff into Next.js. It knows what to pull in and when. Simple client side routing so this is all based on pages essentially there's a pages directory in Next.js and within there you put JS files for every single one of your pages or routes and that is how all the routing works. It's not some complex React router and you also don't have to do on the front end and the back end essentially using the page based routing of Next.js takes care of both sides there. Webpack based dev environment which supports hot module replacement now I touched on this a little bit before essentially it adds and removes the modules that you're currently loading based on where you are in your site without doing a full page reload and this significantly can speed up development process. You retain the application state which is lost during a full page reload you save valuable development time by only updating what's changed on the front end of the site and you can tweak styles so much faster with hot module replacement it's almost like as if you're inside the dev tools essentially just changing things in the browser as soon as you save it's automatically loading that but it's not doing a full page reload it's just loading the new styles that you've saved. You're able to implement with Express or any other Node.js server so if Express isn't really your liking there's a ton more out there and you can use pretty much any of them and you can customize it with your own Babel and Webpack configuration so out of the box it already is configured to run how it's supposed to but if you want to tweak those if you want to add things in totally possible and very easy to do within the next config there's also prefetching so prefetching picks up where code is splitting left off Next.js allows us to all of our optimized bundles to be lazy loaded behind the scenes using prefetching and there's actually fantastic error reporting and I know what you're thinking error reporting how can it really be that fantastic but the way that the error reporting comes back to you it's in such a readable way that it makes it a lot easier to pinpoint where the issue actually is and not an issue that's you know called ten times after that every developer knows the struggle of fixing something and it ended up being something trivial that you spent two or three hours on we've all been there and with Next.js it really just makes it a lot easier to avoid that so how do you get started with Next.js pretty basic we're going to create a directory just called hello next cd into the directory we're going to initialize an npm package that will just essentially create our package JSON from there we're going to install and save React, React DOM and Next and we're going to make a directory called pages as I said before this is where all of our routing is going to be located at so so far our tree looks like this we have our package lock our package pages directory and a node module directory obviously I deleted everything that was in the node modules directory otherwise this slide would not fit inside your package JSON you want to just add in a script here and your dev is just going to run the command of next build is going to run next build and start runs the server the next start to get started you only like you can use Windows, Mac or Linux all you really need is just node.js install so inside your pages this is a very simple page obviously we're just exporting the default we're just literally just saying welcome to Next.js and there's actually a bunch more in Next.js but we are running short on time there's 15 minutes until the closing ceremonies and I wanted to leave room not just for questions here which I'm sure you have a ton because I didn't go over too much but also leave room for questions on my ES6 talk as well as I said I had a coding session to demo here but it wasn't working which I guess kind of shows that maybe the error messaging isn't the best there isn't as good as I tried but that's where we are for today so thank you is there any questions on this talk or even my ES6 talk that I went over earlier that I wasn't able to get to for the ES6 talk I will have them up I'd say within two hours of leaving here this one I'll have up as well then I will put them up on Slack yes I don't know if I can just export from slides to be PDF or I'll just share the link to the actual slides there was also there was a question in my ES6 talk someone asked about ArrayFind and how that differs from ArrayFilter and I was a little bit incorrect there when I had answered after thinking it over a little bit more ArrayFind will actually provide you with the single element the single object that you're looking for whereas ArrayFilter is going to provide you with an array with that item in it so that's the difference there any questions yes that's a very good question especially with WordPress it's something that has been debated I've talked to Bobby about this and Bobby's working on something right now I know oh yes how do you work with authentication inside of a headless app so there's a couple different ways to do it and it also brings up the question of should you do it if you need authentication like do you have the resources for this app to build that all out usually if you need login it's usually like for at least a WordPress site on the front end it's usually going to be for commenting or anything like that that's usually pretty basic and I would usually just say use a service for that but if you actually need interaction on the front end like almost like a forum or any other type of interaction on the front end where the user actually has to be authenticated I would wait until more tools are produced for that because right now it's kind of up in the air even the creators of the REST API hey how do you do authentication on the front end where you want them to be able to authenticate it's still opinionated and not really locked down yet so I will tell any other questions that's easy older browsers polyfills like there's still things that are not that even though ES6 is implemented there's still features that still need to be polyfilled I believe and maybe you could correct me maps, weak maps I believe those are a polyfill so it's more for the advanced users like if you're using constant let I would still run it through Babble just because you're going to maintain that support at least for a little bit longer people are still using IE11 you know unfortunately it's just it's the truth if you don't care about those users I guess you can absolutely not so essentially Babble just takes it and transpiles it into ES5 code it will do it on the fly essentially you would have a build system so when you're deploying your application you would have Babble go ahead and build it and from there you're referencing only the ES5 code can you repeat the question I'm sorry fully working component with all the content already in it essentially everything that you're going to see rendered on the front end when it renders whether it's a React app or a Next.js app what you're seeing there is what Next is going to deliver build out HTML absolutely and so essentially when it loads it to the front end it still has those React references to everything so say I do an interaction like after my page loads I go ahead and I click on a new page it's going to know to change out the main component with this new component but it's not doing a full page refresh then so essentially once you load the page and you start interacting it's just acting like regular React on the front end but if you were to actually fully refresh the page or if you were to copy the link and send it to someone in Slack it's going to pull up the preview based on the content that's actually produced from the back end of Next.js great we have 9 minutes until the closing ceremonies is that in another room anyway perfect then it gives CBC 155 I'll see everybody there


Hi everyone, it's Vanita the host of don't call me resilient. I just wanted to let you know that we have more episodes coming your way soon We're starting season seven. I can hardly believe it myself My team and I have been busy prepping new episodes taking our anti-racist lens to the news Unfolding around us and the issues occupying a lot of our minds these days This week Israel stepped up its bombing across the Gaza Strip since October 7th more than 28,000 Palestinians and around 1200 Israelis have died Tech experts are sounding alarm bells over the rapid spread of AI-generated explicit images of women online According to the Canadian Climate Institute by 2025 climate change is expected to shave $25 billion off of Canada's GDP from big cultural moments like the Oscars For the scary spread of AI and the ongoing impacts of climate change to the devastating war in Gaza We'll be on it all in our signature way Don't call me resilient starts up again on Thursday March 14th. So please join us and follow along


Now here we go then, green lights on, heat number two, takes up, away we go, oh what a start on the inside, but it's like Smarsley. He's giving, Julie around the outside, he's going to get there, he's going to fire himself to the front, that grip on the outside is working. Oh, Smarsley's all over the place, he's off the bike, driver in the opening race for the world champion, he's down, he's going to be thrown out for that. We can see there, Julie's just pinning him down, turns hard because he has to and the back tyre just gives in, Leon Madsen has to get out of it and he goes down but it was caused by Bartos Smarsley here. Stops the bike, tyres let go, Leon Madsen kind of thought ahead of his back wheel, lays the bike down and I can only see one exclusion light coming on for this one. Very awkward moment there for the world champion, just almost going reverse there for a moment.


Yeah, so who here understood everything from Stefan Backman's talk? Because if you did, you're wrong here, because this is going to be a bit of an introductory talk. And there won't be anything complex or very deep into the core. It's just for someone who gets started from maybe an extension or as a user and wants to know how to find stuff in writer and in the core. So it's a bit about navigating this 10 million lines of code thing that we have there, which is why we have these two boats there. And for a start, I will do a quick race through uniconcepts again. I did that already once, but it's always helpful just to get an idea of how the stuff in scripting actually works. In UNO, you have interfaces, services, and implementations. And interfaces are the stuff that define what you can actually do with something. And usually, they are named comm-sun-star-something, and they start with an x. That's roughly how you can tell it's an interface. And then there are services which also start with comm-sun-star and they do not start with an x. And these services are essentially the stuff that says, OK, they are defined by implementing interfaces. So if you have a service, you know this service will implement these interfaces. And finally, you have an implementation. And an implementation can implement a certain service so that you know it implements also the interfaces for that. And that's like the real code inside LibreOffice that actually does stuff. To make that, again, a bit more visual, for example, you could have cargo storage, which is you can store something in it. And you can transport, which means you can transport something with it that would be two interfaces that define what a UNO object does. And then you could, for example, have a lorry service that implements both of these interfaces, which means you can store something in it and you can transport something with it. And that is still abstract. It's not a concrete implementation, but it's the definition of these interfaces. And then you have the actual implementation, which is one specific lorry, which has all very personality and bugs and whatever. And that is the real implementation. And that is actually the stuff that is inside the LibreOffice core. One thing that is new, like since 5.1, I think, we have that in, is reflection. Well, not this stuff. This is ancient. So interface is like whatever you have an UNO object, you are holding an interface to it.  And most of them actually have an X service info, and you can actually ask them, hey, what are you? Get implementation name. And you can also ask which services are supported. And from that, you can actually find out what you can do with this specific thing. So there's since, this is the stuff that is new, since 5.1, I think. I implemented a service documenter, which is a single that you can use in scripts to ask a specific, whenever you have something, you know, you can ask it, what can I do with it? And it has a function like show the service docs, which shows the specific service, or the interface docs, which shows all the interfaces of this thing. And here's in StarBasic, for example, how you would do that. You can get the service documenter by, this is just a global singleton. And with it, you can then, whatever component you have, for example, this component, you can then say, show me the service doc. And it will open up your default browser with the documentation for this specific thing. So when it's easy if you have this component, because you roughly have the idea, OK, I have a writer document at this point. But if you're like 20 levels deep into, I get a paragraph, and then I took a text selection. And from that, I took again that. You might not be sure what exactly you're holding there. And with this, you can just, at Hawker Runtime, find out, oh, what can this thing that I have there do, and what is it actually? You can do the same with show interface docs, which is all the interfaces. But if you do that with a writer document, you have like 20 tabs open, because it's so many. So this is just repeating the stuff about the unit part. And now we are going to do the hard things, which is, in this case, naming things. Because when I showed you the slide about the unit part, that was only the first part. We have the interfaces, which are comm, son, star, x something. Then we have the services, which are comm, son, star, not x something. Then we have the unit wrappers, which are actually the stuff in the LibreOffice core, which implement a specific service. So if you have a comm, son, star, x text range or something, something is implementing this in C++. And that is the unit wrapper. And then you have the real core implementation, which is probably even older than the unit wrapper. Because, for example, a writer, the core is from the 1980s in the oldest cases or 1990s. And then you was plugged on top of that at some point. So there is, again, mostly two classes there. And I want to show you how you get, if you have your script, which is like the upper part of this, the first two, how you get to the lower part.  So for this, I choose some nifty bright colors, which is at the bottom the interfaces and services, which is, again, UNO. And then unit wrappers, this is the interface to UNO inside LibreOffice. So blue is already inside LibreOffice and core implementation is the stuff that is the real engine of, for example, writer. And to show you how you get from the outside to the inside, I'm using the Python tests that we have in LibreOffice, just because they are UNO scripting. And you can easily use them together with the product. And if you want to look into LibreOffice itself, you need to have a build anyway. So they are in the directory for writer SWPA Python. And there's a make file in SWPython test SWPython, which is totally not duplicating anything. And in there is the list of the tests that it should execute. And you can comment out stuff and just run one test or something. And then you can run make this test, and then it runs this specific UNO code. So if you want to debug it, actually find out what is going on inside LibreOffice when you do something with it. You have multiple ways to do that. And the easy way is to pass the enable symbols switch to configure or autogen, which will build the whole thing with symbols. Or you can do something just if you want to have even more details. You can build, for example, a writer in this case in debug mode. And if you do this and together with the other stuff, you can actually debug the Python tests. And I'm going to make two examples here. The first is call grinding these. And usually call grind is a tool to find out, for example, where is my time lost when I do a specific thing. So for performance optimizations and stuff. But you can also just use it for finding out what is actually triggered in my product. Because this is the problem a lot of people have when they first come up to this 10 million lines of code of LibreOffice. And if you have built LibreOffice with these debug symbols, and you have, for example, commented out all the other tests and just have one Python test left in your Python test SWPython file, then you can just do wall grind equals call grind make Python testing. And then we'll run this test on the wall grind. And what this does is that wall grind and call grind notices whatever you call whatever function and counts all the stuff and how much time you spend in everything. And it writes a huge file, which then will be in work via Python test. There's a Python done call, and then there's a file there. And one of them is big. And if you take this file and do this command, it will output you which functions inside of LibreOffice writer have been called by this test. So to explain that, call grind annotate is just analyzing the file. Inclusive yes means that for every function called, you not only want the time and the instructions spent in this specific function, but also all the other functions below it. So if there's just a wrapper function you want all the stuff that is in the wrapper function there too, because you want to know how much time it totally took to enter and exit this function. And you need the threshold 100, because otherwise, it will not give you all the functions. It will skip over some. Then you grab for SW source call unicor, which is writer unibindings. And then you have only the part that is actually called from UNO. And then you just want to have the top 10. And with this, you can find out what a test actually does in writer without having to like control C and then go into the debugger or something like that. And once you have that, you can go debugging the test. I'm going back to that later. So if you do the first thing with, for example, the styles test in writer, you find if you single out a bit and just shorten the paths and stuff like that, you get an output from the command above like this. The first line is just the number of instructions spent in this function. And then you get, you see that SW x-style family getByName is one function that takes a lot of time in this test. And you see that unistyle CXX is the file where it is actually located. So now you know, OK, this test calls wrapper function, which is called getByName and inDatFile. And the others you see too. So with this, you can actually, you now know when you call a unifunction where it ends up in the writer call. And with that, for example, you can do to go back. You can do the second one, which is actually debugging in it. And since you now know which function it is, you can set a breakpoint in this file at this function and get a stack trace after going ahead a few times or something. And if you do that, you get something like this if you break there. At the lowest point, you see this is the unibridge. And there's something comes in. I made this yellow because it is yellow like the services interfaces in this color code that I showed you earlier. And then you have the wrapper function. And that is this blueish, actually now it's kind of greenish, but trust me, it was blue, call, which is the SWX family getElementNames. And if you then just step through it, you actually see what kind of stuff this does in the writer call, which is the stuff above it in Lilac or whatever you call this, call out. And who in the audience is actually familiar with call grind or cache grind? OK, if you force, but not too many. So the file that you generated with this call grind stuff, you can also load into a tool called cache grind, which allows you to travel through this whole thing in a UI mode. And essentially, it's the same as the printed out version, but you can, for example, get a tree like this. And in this case, for example, I highlighted the function, which is the one with a small reddish third box from top. And that is the unicall that is called from the outside. And here you can see what kind of function it all calls all the way down and how much time it spends in each of them. So if you have a performance problem and you know you can look at this or if you just want to know how it all hangs together and what kind of stuff triggers what this might help you. So seeing just from this style test, we see that the interfaces and services were something like ComSanStar text paragraph style. And the unit wrapper is SWX style family, which is what we found out with call grind. And when we debug into it with GDP, we found out that the stuff it does, this wrapper does inside the writer core is using something like SW doc style sheet and SW style sheet iterator and stuff like that. So if you have a bug with your UNO code, you now know where to look for and how to debug into that. Just to make another example, that's another test check table and, well, we see again, OK, there are SWX, whatever, text table, get data, for example, as a function which spends a lot of time. And we also see that a lot of these functions are in UNO TBL CXX. So we know this is the stuff that we want to look for. And if we set break points there, again, we can look what happens here. And again, this is another example of a stack phrase. From inside there, we see the UNO call from outside. And it goes in there, and it does some UNO stuff. And actually, the UNO stuff here calls other UNO stuff, still in the UNO layer. So the wrapper calls other wrappers. And all the way to the top, you'll see, for example, that there's some core code, which is the real writer engine. And if you load this thing in kcache grind, again, you get a wonderful tree that shows you all the functions and relations between all these objects. So from this, for example, you see, again, you have an interface and a service. And UNO wrapper, which is, in this case, for example, is WX cell range. And it's implemented in UNO TBL. And there's a core implementation, which is somehow called from there. So I hope this shows you a bit if you're working with scripting and stuff and want to know more or want to fix bugs or want to help just triaging them how to go about that. Of course, if you have a normal desktop bug and you want to help us triage it, also write tests like that, and you will then also be able to find the code that actually does something. Because finding it via the UI where something is happening might also not be too easy, especially if you have import, export, or stuff like that. OK, questions. No questions. So wasn't that horrible? OK, then thank you.


The song you're hearing is, by any means, by Georgia Smith. Georgia Smith is a female vocalist from England, and she wrote the song specifically to promote the Black Lives Matter movement. The lyrics are very targeted towards the promotion of the movement, and I urge you to take a listen once this video is over. In this newsletter, the term BIPOC is used frequently. BIPOC is an acronym that stands for Black Indigenous People of Color. It is an umbrella term used when discussing oppressed groups. AWG stands for Anti-Racist Working Group. This is a group of students and staff who work closely with the BSU to combat racism at our school. We are working to support BIPOC in our community and also implement anti-racism policies at AHS. Here's what the AWG subcommittees have been working on recently. The Resources for BIPOC subcommittee has formed several teams. Currently, they have a team engaged in researching educational resources for the Diversity, Equity, and Inclusion website. Another team is employed in compiling policy information for the website, and the third team is working on crafting the microaggression reporting form and planning a proposal for a response system that would reply to each reported incident. Meanwhile, the Curriculum Committee is working on finishing up student and staff responses on the book House of Purple Cedar by Chin Chinkel. If approved, the story will be piloted in the Freshman English Curriculum next year. There are a few other books that are being reviewed as well. In addition, the Curriculum Committee is working on setting up training for teachers so they can lead respectful discussions on race and ethnicity in the classroom. Finally, ACMI is sponsoring a show called U-View, which includes an interview segment highlighting student objectives. Club leaders Maya Patelmasini and Noah Sweeter are both interviewed for an upcoming episode. Feel free to check it out and enjoy. Hi, I'm Olivia, and I'm a Council Member of the Black Student Union. At BSU, our goal is to provide a safe space for Black students and students of color while also educating all students on racism in America and Black history in general. We meet on Wednesdays at 12, right after advisory, and you can use the code below to join our Google Classroom, or you can reach out to the email below if you want any more information. Everybody is welcome, and we hope to see you there. For this month's edition of Get Smart, I'm highlighting a few Black women content creators. As told by Kanya, Amanda Bebe, Tinoir, and Itskisha are commentary YouTubers who discuss have topics such as racism, colorism, white privilege, cultural appropriation, and performative activism manifest on the internet and in politics. Many of their videos analyze a current event or internet drama situation in order to reveal how systemic racism is at play. Each of these women are unique in their style of content. Kanya and Kisha take a more energetic approach, whereas T and Amanda are usually more laid back. I've learned so much and have reflected upon my biases and beliefs just from hearing about their experiences and perspectives. It's not only important to question your own biases and beliefs, but to also listen to the perspectives of marginalized people. In response to the attack on the Capitol, we gather reactions from the AWG and got statements from the GSA and YFA. Unfortunately, it ended up being too long to include, so the video will be linked below and on the website. If you're interested, go check it out. It's February, which means it is Black History Month. Yet, as we progress forward as a nation, we find that Black History Month within itself is flawed. Black History Month began as a week in February, created by Carter Woodson in 1916, and it wasn't until 1976 when President Ford legitimized it as a month. This was an incredibly progressive step, especially for the time opening the door for more to come. However, as time changes, the ways of presenting Black History can change too. Today, a huge portion of the advocacy takes place on social media, which has a great intention, but is bright an era of disingenuous empathy. Black History Month is turned into a superficial and false appreciation for what Black History truly is. The media pumps feel-good stories to brand the civil rights movements. Everyone has heard of MLK, Rosa Parks, and we're starting to hear more about Langston Hughes and James Baldwin. Although these influential icons were fascinating, countless other Black leaders are left behind. What about Angela Davis, Fred Hampton, Marsha P. Johnson? For the more Black History Month leaves out tragedies like the Tulsa race riots, and the thousands of Black individuals who are brutally lynched within our nation. This is not Black History. By admitting the horrifying truths of slavery and oppression, we are really learning a whitewashed American history in the way that the majority wants to remember it by. At the end of the day, Black History is American history, and as long as we treat it as that, there's no need for Black History Month. Why should we only see Black people or any other marginalized groups as people for one month of the year? This is why we must do our part on an individual level to educate ourselves, ensuring that we never repeat the mistakes of the past. All the components of Black History, whether it's the slavery, the murders, or the systemic racism we've done to our nation today, all of that is American history. Just like how there is no White History Month, because that is our lifestyles, let's just make Black History Month a free day. This month's spotlight story is on Margaret Thomas, the director of the MECCO program here in Arlington Public Schools, and a few days ago I was given the chance to sit down with Miss Thomas and talk to her about her life and her views, and I learned a lot from her conversation, and I was super inspired by it. So if you're interested in learning more about the MECCO program and about a super influential and inspiring person in our community, then I encourage you to read the full article on the AWG website. Welcome to the Get Involved section. This month we have four exciting opportunities for you to connect with our school and town communities. First of all, the AWG and the AHS Art Department are putting together the Embrace Art Differences Mural Project. Help create an inclusive school culture by submitting your original art, highlighting the concept of diversity, equity, and inclusion to a juried panel which will then select a series of designs to become murals on canvas displayed in AHS. Submissions for this are due on February 28th. Secondly, Arlington Reads Together is a project run by the Robbins Library that encourages the town of Arlington to read a book on diversity, equity, and inclusion and then come together for a town-wide discussion. This March, Arlington is reading Why Are All the Black Kids Sitting Together in the Cafeteria by Dr. Beverly Daniel Tatum. The Arlington Education Foundation and a few other organizations are sponsoring this year's community read by bringing Dr. Tatum to Arlington to host a Zoom meeting discussing her book. This event will be on March 21st at 3 p.m., so you've got time to get reading. Third of all, the Massachusetts Partnership for Youth is holding a public service announcement contest to honor the principles of restorative justice, empathy, loving engagement, and diversity. Your PSA video must be original, must include a title, and must be between 30 and 60 seconds long. If you win the contest, your PSA will be broadcast on television. This submission deadline is April 2nd. Finally, please fill out the Envision Arlington Survey now to help inform decision-making about town resources for the coming year. This year's survey is focused on two predominant issues from 2020, COVID-19, and diversity, equity, and inclusion. The survey may be filled out by all residents over the age of 15. The deadline for this is March 1st. The links to all four of these opportunities plus more information can be found on our AWG website. As always, you can connect with us by following us on Instagram at ahs.awg by joining our Google Classroom or by coming to any of our meetings. Hope to see you there!


So, for the harmonic oscillator, we started with the assumption that the potential energy looked like quadratic, one-half kx squared. We were able to solve the quantum mechanical problem and find the energy levels of the molecule. Those are equally spaced energy levels for the harmonic oscillator. Equal gaps between everyone. Those energy levels we can use to obtain a partition function. That partition function, we call that the vibrational partition function because this is describing the vibrational motion of these diatomic molecules that we're trying to study. That had this particular form, and that's where we've gotten to so far. The next step, as in previous examples, like the rigid rotor and the particle in a box, will be to use that partition function to derive some thermodynamic properties. So we're about to learn the properties of the vibrational motion of harmonic oscillators, diatomic molecules that we can treat as harmonic oscillators, such as the energy or pressure and so on. So to do that, remembering that these harmonic oscillators are, we're using this model to describe diatomic gas molecules, molecules like carbon monoxide or H2 or N2. Those molecules, as gas molecules, we typically are interested in not just one of them, but a whole box full of many identical gas molecules. So we can write the partition function for a whole collection of identical and indistinguishable molecules as 1 over N factorial times Q to the N for a collection of N molecules, and so identical and indistinguishable harmonic oscillators. And that's enough to start using the thermodynamic connection formulas. For example, if we want to know the energy of a box of N gas molecules, the diatomic molecules, specifically the energy that's due to their vibrational motion, that's going to be kT squared times the temperature derivative of the log of this partition function for that collection of molecules. So we can take that step by step. That's going to be kT squared times the temperature derivative. The log of this quantity, so I want log of Q, so log of 1 over N factorial is minus log of N factorial. Log of Q to the N looks like N log Q. So that's the temperature derivative I want to take. In order to do that, we need to think about what the log of Q is going to be. So let's go ahead and write down. So I've got kT squared, temperature derivative. I'll hold off on taking the derivative for just a second. Temperature derivative of this minus log N factorial plus N times log of little Q. Little Q is this quantity here, so I need to think about this log. Log of this fraction is going to be the log of the numerator minus the log of the denominator. Log of the numerator is easy. Log of an exponential just pulls down the exponent. So I've got the log of e to the minus h nu over kT. Actually, let me pause here and say, when we first derive this partition function, we derived it in terms of these energy gaps being h times the fundamental vibrational frequency. We've since chosen to write h nu divided by k as the vibrational temperature, which is often more convenient. So in particular, in this case, I'm going to collect those constants h times nu divided by k and call those the vibrational temperature. And this equation gets a little bit simpler when I go to take derivatives of it. Notice carefully that there's a 2 in the denominator on the top, but there's not a 2 in the denominator on the bottom. So I want to take this derivative of the log of little Q, log of the numerator, log of this e just gives me this exponent. So I've got minus theta over 2T, minus theta vibrational divided by 2T. And I've also got n times log of the denominator. So there's a minus sign because it's log of the numerator minus log of the denominator. n from here and then log of that denominator e to the minus theta vibrational over T. All right, so if I haven't dropped a negative sign, that's the temperature derivative we're interested in taking. Let's see what that works out to. And it simplifies a little bit. So the temperature derivative of log n, that one's easy. There's no temperatures involved, so that one disappears. Temperature derivative of 1 over T gives me minus 1 over T squared. So the negative sign kills the one that was already there. And I can write that as, so I've got factors of n and theta and 2. I've got 1 half n theta and a 1 over T squared. So I've got the 1 half n theta, 1 over T became 1 over T squared, with a negative sign that killed that negative sign. Next I need to take the temperature derivative of this term. This one I'm going to have to be careful and make sure I don't make an algebra mistake. Derivative of log is 1 over. But chain rule says I also have to include the derivative of the argument of that log. So the derivative of 1 minus this exponential is just minus, derivative of an exponential is an exponential. So I've also got the derivative of minus e to the minus theta over T. But chain rule again, derivative of an exponential is the exponential multiplied by the derivative of the exponent. So I need to take the derivative of this one over T. So I've got minus theta vibrational. 1 over T becomes 1 over T squared when I take its derivative. And I think it becomes minus 1 over T squared. So I need an extra negative sign thrown in there as well. And I think that takes care of all of my chain rule. So now let's see what we've got after putting all that together. So I've got this negative sign, cancels this negative sign. I've got a T squared out front that kills this 1 over T squared in the first term. There's also a 1 over T squared in the second term that gets killed by that T squared. So if I rewrite all this in the simplified form, I've got 1 half times n times k times theta vibrational. That's all that survives out of this first term, 1 half n k theta. The second term with this plus sign looks like n times k times, let me go ahead and use this theta from the end so that my k's and theta's appear next to each other. And then I've got this fraction of an exponential e to the minus theta over T divided by 1 minus e to the minus theta over T. All right, that's simplified a little, but we can make it a little bit cleaner still. Make it make more physical sense by doing two different things. Let's say, so this is the vibrational energy that we're talking about. First of all, both these terms involve include an n, and that makes sense. The energy of these n molecules should be proportional to the number of molecules we have. We expect the energy to be an extensive property. If I go ahead and divide by, so this is gonna be my vibrational energy, divided by the number of molecules, calling that an intensive molar energy. Molar vibrational internal energy, so I'm just gonna divide away the n's. I'm also gonna recognize that k times theta, this quantity k times theta is equal to. So h nu is equal to k times theta. So sometimes as when we're doing the math it's more easier to think of things in terms of this vibrational temperature. Sometimes when we want to understand the physical meaning of this equation, it's gonna be easier to think of it in terms of h times nu. So I'm gonna replace some of these kthetas by h nu's. So one half k theta becomes one half h nu, and now maybe you see why I replaced it. And I'm gonna add to that after this n disappears k theta is equal to h nu. Multiply by this exponential, e to the minus theta over t, over one minus e to the minus theta over t. So there's an equation worth putting in a box. It'll take a minute of explanation to convince ourselves we understand what that equation means. What this is telling me is the energy per molecule, the intensive energy due to the vibration of these molecules, is equal to one half h nu. That's actually not a surprise. We know that the molecules have to have at least one half h nu. That's the ground state energy. One half h nu itself is equal to the ground state energy, the zero point energy of the molecules. So they have to have at least that much energy, plus some. And the amount of additional energy they have, at least when we've written it in this form, is equal to h nu. You'll recognize that as the increment of energy it takes to get up to the next level, or to the level beyond that, or again to the level beyond that. So we've got h nu, the zero point energy, plus some number of increments of energy. So this is the increment of energy, and this quantity that I'm multiplying it by must therefore be the number of increments of energy, the number of excitations, the number of levels up the ladder that this molecule has climbed. So the average thermodynamic energy is the ground state energy, plus some number of excitations. Each excitation is this quantity h nu. So that's, now that we know how to look at it, a reasonably intuitive way to think about what the internal energy is. That has given us the energy as one of our thermodynamic properties. We can consider other thermodynamic properties like the pressure. And I will do the pressure because that one is quite easy mathematically. So remember the thermodynamic connection formula for the pressure is not kT squared, but kT, and derivative of log Q not with respect to temperature, not with respect to temperature, but with respect to volume. So luckily we've already done the work of writing down what log Q is. Log Q was this whole thing in brackets. So before I took the temperature derivative, then I took the T derivative. Now I want to take the V derivative. What's the volume derivative of this entire section in brackets right here? We can look through, there's no volumes that appear anywhere inside these brackets. None of these quantities depend on the volume of the system. So that derivative just works out to be zero. So the pressure of this diatomic gas, in particular the pressure due to the vibrations of the diatomic molecules is equal to zero. So if I have a gas of molecules bouncing around in a box, all the pressure is still coming from the translational energy when they move through the box. The fact that they're vibrating as they move doesn't contribute anything additional to the pressure. So that emphasizes that what we know so far on this board anyway is the properties due to the vibrational energy of the molecules. What we can do next is ask ourselves how that combines with what we already know about the translational energies and the rotational energies. And then we'll be in a position to talk about the full thermodynamic properties of diatomic molecules.