I just moved into my new place and Yeah, I moved into it on the same day the biggest JJK episode comes out I'm just gonna get to the episode because I feel like I've seen it already and I haven't watched a second of it But um, thanks Twitter.  This is insane.  They're doing like an orchestra during this fight.  It's like I'm watching a funeral in a jazz club No, no, no, I can't look at them smiling at each other.  Because if so out of all the days to move why'd I pick this one? Why'd I pick this one? I thought I'd pick a filler episode the move The ambience I'm worried.   God damn.  It's a few more. I Can't with this anime man. I'm on the fourth floor now.    I don't know what's going on.  This is episode four I feel like I'm watching a different anime right now.  I don't care what anybody says.  Oh My god, please please don't kill this dude man. I need him I need him around why isn't he there in the present day?  It's too good.   He did all and it's alone Maybe I heard him say Megumi it didn't relate it.  That was him. That was him Do you want to live the long life never forget that?    His hands gonna twitch and I'm gonna my dick's gonna twitch man. Oh my god. Why y'all do that to me?  He's better like throw up the girls and shit At least at least at least togapied it to togied it toji didn't do it. All right.   Oh, is this rem and Rams father?  I don't know no no No, we're gonna learn Noah's domain is his arc.   I don't know man. It's just it's such a complex shot It's this is cinema Jiu Jitsu guys in a cinema.    This dude ain't making it to the end of the episode. I don't know that this one thing. I don't know But that's my guess and that happens. I'm done. I'm out of here. I'm moving again I didn't care about the animation I don't I'm gonna say I Just want to see what go Joe does I don't care if they look gods here Something insane is better happen. It's too quiet The symmetry in this shot look look at them the right bro. Look Jesus is coming.  I knew it. I knew it V the the the the the the trees in the shape of a V Um, um Vengeance And that means go Joe's coming and then in the background you have stairs This is stairway to heaven meaning this guy is better climb the stairway to heaven and meet God Which is the cross and God's gonna say No to the void you go because that's what the V stands for in the tree And he just said hell so he's going to hell by the end of this episode Go just gonna come like flying down right now. Oh my god Anybody that watches it doesn't think something's about to happen.  It's so Not out of character But but but yes out of character like his normal character.   What is that me Hawks knife? He hit the red He is flying.   I don't do that I'm 10 Say no Jesus Christ. How tight is that shirt?  I just don't know anymore I don't know. I don't know how I live my life without anime Question might my past every day man not not for the mistakes. I've made this is the biggest mistake I made And I got I I went to jail once bro That's for another time No, no, no, no serious like nothing that will get me canceled. It was about weed, but goddamn, bro This is a bigger mistake than that. I need to go to jail.  The police station and I was in a cell for like three hours Okay This dude is in heaven right now. He's floating something's off.   I'm gonna sweat right now.   What is that? What is that? What is he reincarnated?  He just found him out man.     This is on another level right here.      It's a crowd of people clapping Are they welcoming him to heaven? Why are they all wearing white?  Dare I say that was my favorite episode of jujitsu kaizen Dare I say that I don't know if that's a stretch I don't know if it's because it's new and it's it's it's like the hype thing to say But I think that was by far my favorite episode of jujitsu kaizen everything about that was perfection It wasn't just action.   You know what guys and I'm uploading this when I want bro I'm watching this episode again. Goodbye


Gentlemen, the President of the United States. Thank you very much, thank you very much. After that welcome, I don't think I can say anything that would improve my – well, welcome to the old executive office building. I'm told that this grand old building is considered part of the White House these days. But it wasn't so many years ago that this building housed the entire departments of the war, the Navy, and the Department of State. They call it progress, but I'm not so sure. Well, a lot of historic decisions have been taken in this building, but none more important than the reason that we rally today. Americans who are committed to a Supreme Court with the highest standards speak with one voice. Judge Bork is not the conservative or liberal nominee. He is America's nominee to the United States Supreme Court. Just like my other nominees to the court, he's not going to promote my political views. He's going to apply a superb legal mind to the task of interpreting the Constitution and the laws of the United States. The support for him reveals the fact that he is superbly qualified, an individual of unsurpassed integrity, and a principled advocate of judicial restraint. We will not be satisfied with allowing special interests to determine the qualifications to serve on our country's highest court. In the realm of legal philosophy and jurisprudence, as you know, labels can be deceiving. There's a little story about the great Supreme Court Justice Benjamin Cardozo that makes the point. Many years ago, when he was serving on the court, he received a letter from a member of the public and it read, dear Judge Cardozo.  Would you send me $10 as I'm really very hard up? Sincerely, I don't have the name, but more relevant than a political label of the qualifications of the nominee. And all of us better understand the significance of that point. Our history commands that the nomination of a Supreme Court justice by a president and the act of confirmation by the United States Senate be carried out with the highest level of statesmanship. Whether president, senator, or concerned citizen, when we enter the halls of justice and select the next steward of our Constitution, Americans traditionally leave outside their partisan leanings and the narrow special interests. Each of us owes a sacred debt to our ancestors who established the rule of law in this republic and to the citizens of the future to whom we entrust our nation's destiny. In a special way, this duty now falls upon the United States Senate as it nears a crossroad, a crossroad of conscience as it prepares to decide on the confirmation of Robert Bork. Let us insist that the Senate not give in to noisy, strident pressures and that elected officials not be swayed by a deliberate campaign of disinformation and distortion. Retired Chief Justice Warren Berger took the unprecedented step of addressing the Senate Judiciary Committee because of, in his words, the hype and disinformation on Bork. And today, all of us join Chief Justice Warren Berger in urging the Senate to reject those who want a justice who makes law and approve Robert Bork who believes a justice should interpret the law. Apparently, the Chief Justice Berger is not alone. Other noteworthy people are coming forward. In his testimony before the Senate Judiciary Committee, Howard Crane, managing partner of one of our nation's most prestigious law firms and longtime associate of Justice Bork, Judge Bork, I should say, stated that Judge Bork has proven to be, quote, a man free from prejudice toward any group who has exemplified the values of equality throughout his life. Well, Mr. Crane told this compelling story of how, as a young associate in a major law firm, Robert Bork courageously confronted the senior partners in that firm who had decided to deny employment to Mr. Crane simply because he was Jewish. Robert Bork urged those partners to consider Mr. Crane solely on the merits. And today, Mr. Crane is the managing partner of that law firm. Last week, President Carter's counsel, Lloyd Cutler, testified in support of Judge Bork's nomination. Although he disagrees with Robert Bork on some political issues, Lloyd Cutler is convinced that Judge Bork's judicial philosophy represents the mainstream of contemporary thought. He believes, as I do, that Robert Bork's training, experience, character, and sheer intellectual capacity give him the potential to be a great Supreme Court justice like the legendary Oliver Wendell Holmes and Louis Brandeis. This is high praise indeed from a Democrat. But it's in keeping with a well-respected tradition that we Americans apply to the selection of Supreme Court justices, a president, whether Republican or Democrat, liberal or conservative, seeks out the best qualified person who generally shares the president's judicial philosophy. The Senate then decides whether the nominee meets the qualifications to serve. This way, over the years, the Supreme Court becomes composed of the best minds reflecting varied but accepted judicial philosophies. Now is not the time to change the standard to break that tradition. And I know you join me in calling for statesmanship, not partisanship, in the confirmation of Robert Bork to the Supreme Court. There's a growing and impressive list of other leaders of our society who support the confirmation of Judge Bork, two sitting justices of the Supreme Court, justices Stevens and White, four former attorneys general, legal scholars from around the country, the American Farm Bureau, the concerned women of America, and last week, leaders of law enforcement organizations representing over 400,000 peace officers and prosecutors. This diverse and distinguished group, among many others, has stepped forward because they recognize an eminent and honorable legal scholar and jurist and resent the unfair and unfounded attacks that are being made. Beyond his scholarship and judicial qualifications, there's nothing more significant for his confirmation than the war on crime. Last week, Fred Forman, representing the nation's district attorneys, observed that there is a large group in this country made up of women, minorities, the weak, and the aged. Although not well organized, he reckoned they were in Judge Bork's corner because they are the victims of crime. And I guess he ought to know. He and the thousands of young prosecutors around the country are the ones who have to vindicate the rights of the victims and send the criminals to jail. Now, both as solicitor general and as judge, Robert Bork has been a principal champion in the fight against crime. And that's the kind of justice honest citizens deserve to have on the court. Sometimes we may not always hear of some of the ridiculous decisions that are handed down and why we need judges like Judge Bork. Out in my own state, when I was governor of California, there were two officers in the drug detail. They had, based on certain evidence, a warrant to legally go and inspect a home for drugs. And they went in and they couldn't find the drugs. It was supposed to be heroin. Husband and wife stood there. And as they were just going out the door, one of them turned. There was a baby there in the crib. And he removed the baby's diaper. And there was the heroin. The case was thrown out of court because the baby hadn't given its permission to be searched. We've had enough of that. Judge Bork has argued for more reasonable interpretations of criminal procedures that assure both justice and the prompt conviction of criminals, rather than allowing dangerous criminals to go free on unjustified technicalities. He has not hesitated to overturn convictions where genuine constitutional rights have been violated. He has consistently rendered judgment in a clear-eyed manner with the aim of protecting the right of the innocent. And that's what justice should be all about, protecting our rights as Americans. And that's why 400,000 law enforcement officers have thrown their support behind Judge Bork. The battle against crime and the rule of law. Criminals terrorize the streets in too many of America's cities. It's time to decide whether our children and our children's children deserve an America in which the concern is for their safety and not just the protection of the criminal. I saw a surprising statistic the other day. Nearly one third of the Supreme Court's cases involve matters of criminal justice. The next justice on that court better be ready to deal with that challenge. The next justice better be Robert Bork. Now we all have a lot of work to do getting out the message for Judge Bork. And I'd like to thank those of you who have already devoted so much time and energy to our cause. If he's going to overcome the storm of distortions that have swirled up against you, each of us and Americans across the country are going to have to double the effort on behalf of the truth. Three choices are what this battle is all about. The choice between liberal judges who make up the law or sound judges who interpret the law. The choice between liberal judges whose decisions protect criminals or firm judges whose decisions protect the victims. The choice between liberal judges selected by the liberal special interests or distinguished judges selected to serve the people. But before closing, it's worthy considering why Judge Bork's scholarly criticism of some court rulings has aroused such an attack. Over 50 years ago, the English legal scholar, Sir Frederick Pollock, wrote regarding our Oliver Wendell Holmes, quote, some people seem to think that Mr. Justice Holmes is always dissenting. Does he really dissent much oftener than his learned brethren? Or is the impression due to the weight rather than the number of the dissents? End quote. I can't help suspecting that it's the strength of Judge Bork's judicial analysis that has driven some to try to defeat the man after failing to defeat his ideas. It'd be a sorry day for this country if fear of an idea well expressed were to deny the country the wisdom of that idea. I do not believe the United States Senate will succumb to allowing the special interest to choose Supreme Court members. The men and women raised up by the people to this, that great chamber will listen and will recognize that Judge Robert Bork will enrich and invigorate that court and the Constitution it guards. Again, I thank all of you. God bless all of you. Thank you. Thank you. Nice. The gentleman has a question now, right? I can't. Wait just a minute. I'm a Black pastor. My name is George Lucas and I'm the pastor of the Race Street Baptist Church. I'm a veteran of two wars, the Korean War and the Vietnam War. I support you and I've been a supporter of the president. However, we have a statement by Dr. J. Bernard McGee that says this country is either facing revival or revolution. And I think that the Judge Bork nomination is indicative of the times that we have, that we as Americans need to get back to revival, to the word of God, and to the traditional things that we have in our society. We have an overabundance of people that support pornography, sex, liquor, drugs, the whole bit. And until we bring revival back into the nation, we need our congressmen, our senators, the state government. I ordered you a Bible, Mr. President, from California and God, I don't know what happened. It didn't come in time. I sent it with your name on it. It's the Dr. J. Bernard McGee through the Bible Bible. And this is what we need. We need revival in this country so that the people know what this country is about, what we are for, so that when a nomination like Judge Bork comes up, we can get behind it and do this. What happens? We allow certain Black leaders who are not really Black leaders. Jesse Jackson's not a leader. He's not my leader. I just got him here. Black leaders going to come in this country, putting their arms around the Del Castro and the rest of the Nebraska. I'm talking about the state government. New York City, my mother was on welfare, and I live now in Petersburg. Thank God for all that he has done for me in this country. I would give my life for this country anytime. And I thank God for the privilege to even be here today. I promise to Lord Jesus Christ that if he allowed me an opportunity to speak today, I would say what's on my heart. And America means to get back to the Word of God and the study of the Word of God so that we can do what's right and have this country go on upwards and onward to the destiny that it's destined to do. We need to support you. And I call on Americans, Black Americans today, of all persuasions, some that are for. And you were right, Mr. President. They do support you, but we don't have a forum. And the only time that I had a chance to speak was today, and I would have just used it and say, God bless you, and keep on keeping on. And we're calling Americans all over to the Word of God. Thank you. Thank you. Thank you. May I just respond? May I just respond to the reverend and tell you that when I came into this office, I came in with a declaration that I believed this nation was hungering for a spiritual revival. And I believe all over the country that is happening and I've tried every way I can to help bring it about. You are so absolutely right. And Abraham Lincoln, who they tell me, is still in the White House over there. But Abraham Lincoln said that he could not conduct the duties of this office for 15 minutes if he did not believe that he could call upon one who is stronger and wiser than all others and that he had been driven to his knees many times because there was no place else to go. Well, I subscribe to that. And the only thing that worries me is that sometimes I wonder if maybe I'm going to call and he's going to give me a busy single because I do it so often. Thank you very much.


Kwa mwajaka kushika baba wa mshike bas tu damutu asisi na ani, kushika baba ni criminal offence ni suicide. But no one is above the law. No one is above the law, but baba is above the law. My name is Rachel Tabita. As you all know, they are current deputy president for Kuso, Kenya University students organization. And as well, actively involved in national politics, opened opposition because comrades and students have been members of opposition since 1963. So it is not a new thing. The opposition is so we belong. Now, on this issue of help delay by the respective offices. We just want, I want to comment on the comment that was given by Machuugu, that takuna unga, kama de ya unga ikoju, comrades wa kulem mcheli. Bua na Machuugu, you are from western, those parts of western where mcheli is not part of meals. Because mcheli, we zishiba mcheli na ulale. Because for a comrade, una pata iyo main kos mail do chakula me pata for the whole day. Some tokshinda nja the whole day kumpe mcheli, yo ni kama assassination. Anyways, let them release the help to comrades so that they can survive. Like we've seen already, they have said that the help is broke. And 140,000 students will not receive it. So where do they go to? Piata haso lakuna, so let them do the right thing. Villeni me sema, wanafunzi wa me kuwa kwa mandamano since 1963. So wanafunzi kuwa kwa mandamano sayizi, siyo news, it has been happening like that. Wanafunzi have issues like other citizens. Actually they are the most affected when it comes to help delays, high cost of living. So lazima tuku tuku kwa mandamano. Lazima tuku participates. Duzwa li tubeba kwa sababu yo kuku kwa kwa mandamano. Yeni kwa katiba, lakeni ni kamaata tubeba beba san. Kwa sababu apolo we belong since 1963. Kwa kwa saba kwa kwa mandamano. Oongezetia gaspili pili na bangi kidogo at least na ikingia na kuskuma kidogo before we sinja. So wanafunzi kuwa kwa mandamano sayizi, siyo news, it has been happening like other citizens. First of all, wanafunzi wa me kwa kwa mandamano watete hakizao. Wanengia kama wanafunzi. Awa ingi kama kitu yo ingi na umnase maisa kiku taja. Wanengia kama wanafunzi kwa sababu they are affected by high cost of living plus many, many other things that we will keep us here for this interview. The people are saying that we are helping Baba get handshake. Nataka kwa mbi akwa mba leo Baba mu make it clear that ataki handshake. Ia nataka handshake with the government that did not win the election. So let it be known that it will be like ita kwa esimadogo kwa na inchwa Kenya Iwa puwatao na kama Baba na ataka handshake. Baba respects Kenyans who voted for him. He got 8.7 million votes and they got 5.9 million votes. So why would he go for handshake? He'd rather go for his win but not for handshake. Uwitting kama kitu yo ingi kama kumgoso na kwa wana sayo ingi Lego kumgoso na kwa wana sayo ingi kama kumgoso na kwa wana sayo ingi kama kumgoso na kwa wana sayo ingi kama kikusika. Banai surigani kajari bukushika raila wamolo dinga inchi. Vinewa nasiki yo ingi na kise maita pasuka katika da pasuka. We'll have Northern Kenya and Southern Kenya, and everybody will have their president. Watu araila wanende Northern Kenya, Watu arutu wanende Southern Kenya. that is if the arrest Barba, you know he has the majority.  Thank you.


Shall we begin? We appreciate you all coming out here to support our 19,600 athletes with intellectual disabilities across our state. Let's begin. One, two. 15-3 consists of 40 recruit officers that's in the Denver Police Academy. This class raised over $10,000 for today's polar plunge. Unbelievable. What they're doing today and what they're doing as recruits is going to be a reflection on how they become police officers on the street. I think it shows the community that we care about everybody.


Everybody forced here ripping 2022 mosaic choice football 20 box full case number one tiered random teams Results can always you found a latent sports cards calm. There's a Lincoln chat for you as well Good luck. Everybody. Let's get started pool holsters One of the best no matter what I Don't have a take on this age. I Don't think there's enough to show that he's not the AG says he is right here. We go 20 box full case. I guess we'll just recap autos really Autos and I would say Bigger red and yellow is a lower I guess Any black and gold we can we'll know we see it. All right silver Terry McLauren commanders mosaic same player Rookie auto Cardinals Cameron Thomas red and yellow rookie Vikings Lewis sign 31 of 80 Broncos country. Let's ride. It's Russell Wilson 19 of 80 Got Trent Williams Niners 8 of 80 Bengals rookie red and green Cam Taylor Brits and George Pickens rookie red and green Steelers Silver Jason Taylor Dolphins mosaic Antonio Gibson commanders You go Falcons rookie out of Desmond Ritter Red and yellow nice hit their Falcons God red and yellow rookies Hassan Haskins Titans 21 of 80 Leviske Chanel jr. Jags 25 of 80 John L. Way Broncos 34 of 80 Red and green rookie Brian Cook chiefs and Keonti Angram Cardinals should have Bryson do this one Yeah, choice prism and mosaic are so freaking nice Let's see a big Okay, so rookie Pierre Strong jr. Pats mosaic Cooper Cove Rams a black and gold Rookie auto Vikings Lewis sign there we go two of eight Nice hit Minnesota That is second tier team for Jefferson and Congrats Jefferson the red and yellow Damien Harris Pats Six of 80 James Cook bills rookie 65 of 80 Fred Taylor Jags eight of 80 Red and green rookies Jets Jeremy Ruckert There's Kyler Gordon. I was seen. Thank you Lewis seen it's not in a lot of products. I'm not used to saying his name Louis seen black and gold. There you go Minnesota silver Cooper Cup Rams mosaic Trey Hendricks and Bengals There he is Brock Purdy rookie auto San Francisco Go into Ben L Brock Purdy red and yellow choice rookie auto We got him we'll bag that Cooper Cup Rams 74 of 80 Vikings Harrison Smith Numbered five out of 80 and a Malik Willis rookie there we go 16 of 80 for Tennessee Red and green rookies Chiefs Skymore and Calvin Austin the third Steelers Sorry to heat up here silver Jets rookie Garrett Wilson and mosaic rookie bearish Tristan Ebner How about this back-to-back boxes a Kenny picket rookie auto now for Pittsburgh Alexandra's with the Steelers Purdy and pick it there we go. All right, red and yellows Jags Lavisca Chanel Jr. It's 27 of 80 a black and gold Raiders Josh Jacobs six of eight Marquez Callaway Saints nine of 80 red and green rookies Chiefs George Carl Aftis and Lions eight and Hutchinson Now pick it pick it's pretty solid. He got a lot better as the year went on He was starting to a tough situation to that that team was not ready for a young quarterback to be starting for that when he started Ricky silver breeze all Jets mosaic rookie Kenny pick it Steelers Chiefs rookie auto red and yellows Skymore and no idea. It's still crazy that he is We get some nice cards coming God John met you the third red and yellow rookie Texans 76 of 80 Chris Jones Five of eight black gold chiefs Nice card chiefs Chris Jones of beast Peacock Marcus Mario to for the Falcons outglut all the peacocks Peacock Mario to Falcons Red and green rookies for the Giants here Evan Neal and Cowboys Jalen Tolbert close game Brooklyn, New Orleans last two minutes Now he's out for what like it Strain hamstring It's been ready for the playoffs watch the show rookie silver Sam Williams Cowboys mosaic Kurt Warner Rams Colts rookie out of Jalani Woods Bears red and yellow David Montgomery 37 of 80 Titans Derek Henry 35 of 80 a Red and yellow Robert Woods five of 80 for the Titans Red and green rookie Chiefs Skymore Calvin Austin the third Steelers Silver Jonathan Allen commanders mosaic Kyler Murray Cardinals Jaguars Otto James Robinson Jaguars Nice to Sam Howell red and yellow rookie for the commander 78 of 80. He's gonna eat some playing time this weekend apparently about time Red and yellow for the Cardinals now as Buddha Baker 43 of 80 another Malik wills for the Titans Dang 45 of 80 Red and green rookie Nicoby Dean Eagles Andrew Omford Browns All right guys do the Jags win tomorrow Jags winning in is that what's gonna happen? I'm here for it I'm here for it So we're down and cook Vikings mosaic Jim Kelly bills Chargers rookie Otto Isaiah Spiller. We'll be watching it. Oh, we're breaking tomorrow she's Patrick Mahomes the second 26 of 80 red and yellow Nice one chiefs Niners Kyle You should check 28 of 89ers Vikings Kirk Cousins 4 of 80 Red and green rookies epicettsier Falcons and Tyrion Davis price Niners That's a nice auto so far silver tie-law Pat's mosaic trail on Berks rookie for the Titans Johan's odds are a key auto commanders He's had a pretty good pretty good stretch recently since he If he was healthy his entire rookie year, he'd probably considered At least top three receiver in the class if not better Touchdown machine red and yellow Aaron Donald Rams. We've got a peacock coming up The Donald is 25 of 80 Deontre Swift lions to 80 peacock Jalen waddle dolphins nice card Go Brian are Red and green rookie John Metsch of the third Texans and Jermaine Johnson the second Jets Nice waddle. It's got our Thompson Leave the Dolphins of the playoffs maybe Sean's not holding his breath Silver mean Joe for the Steelers mosaic Dan Marino Dolphins Skyler Thompson would be nice to hit right now though because if he does yeah, baby big time Rookie auto Packers quay Walker more than that Billion Cooper for Cleveland 64 of 80 Vikings Adam Thielen 65 of 80 James and Williams rookie for the Lions 70 of 80 Red and green rookie bills Kyler Elam and Wanda Robinson Giants variety nine more boxes Still some big cards coming. I hope Let's see more black and gold now. There's cheetah for the Dolphins now silver Mosaic mean Joe Steelers Dolphins rookie auto Eric E. Zucanma Easy e red and yellow Texans Niko Collins 18 of 80 Niners Joe Montana 30 of 80 Niners rookie peacock Drake Jackson red and green rookies Browns K. D. Orc and Samori Samori Tour a They really know how to say his name. I want to say Samurai They really know how to say that name specifically Samori Tour. I'll stick with that for now. I Didn't start making list of names while I break to go find out what they sound like before I come back in F1 gonna have like half silver Drew Brees Saints mosaic rookie Romeo Dobbs Packers There you go Jets nice hit Garrett Wilson a rookie auto. There we go Jets nice one there Chiefs Chris Jones 44 of 80 Eagles rookie Carson Strong 62 of 80 and a Justin Fields for Chicago 4 of 80 Red and green rookie Cardinals Trey McBride and Lyons Josh Pascal silver rookie for the Packers Romeo Dobbs mosaic Michael Vick Falcons Bears rookie auto Kyler Gordon red and yellow here Broncos Justin Simmons 72 of 80 Barry Sanders for Detroit Nine of 80 Jesse Bates the third for the Bengals 39 of 80 Red and green Titans rookie Kyle Phillips and Panthers Matt Corral keep forgetting money as a national championship. Hopefully TCU wins. I Don't hate Georgia. I just don't see a repeat and I'll always root against the SEC teams every time Silver rookie Logan Hall for the Bucks. You just get to pay their way to championships. You know was a Peyton Manning Colts Lions rookie out of Aiden Hutchinson nice You go lions Maybe they'll make the playoffs. That's a big game Sunday night, right? Packers Lions. That's huge Could you imagine be them beating the Packers and making it? Oh, that'd be crazy 68 of 80 Mac Jones pads. Maybe the pads make it too. There's a lot of good scenarios this weekend Damian Pierce to 80 Texans rookie red and yellow 55 of 80 nice Pierce Chris Jones again with a lot of Chris Jones 24 of 80 Red and green trail on Burks Titans rookie and quay Walker Packers rookie Rams need to beat Seahawks for us to get in we need a win So Rams be Seahawks and Lions still have to win too. So they need a few things As LeVar ball you want to see Dan Campbell in the playoffs. I just want to see like the Lions are just a fun team it's not necessarily that like Dan Campbell I just they're like they can score like 40 on just about anybody.  Yeah rookie auto Steelers Chris. Oh the token Jared Goof Right in yellow for the Colts Matt Ryan 11 of 80 Shacoby Myers Pats 5 of 80 and Tom Brady Super Bowl MVP's bucking ears There we go 40 of 80 Tommy. Yeah, we'll see Packers been playing well recently Nobody wants to play the passion play upside. They got good defense and they're making enough plays on offense They are dangerous Ravens David O'Jabbo and Bucks Rashad white It's not even about Roger so much anymore so the rest of the team has really come together fairly well I don't like I said, I don't know Roger that guy, but he has it like Not consistently, but I feel like he could just pull it out He could pull out that game and be like, oh, there he is. There's vintage Rogers for for 60 minutes. We got him Silver Damien Harris Pats mosaic Michael Thomas Saints like with a hull of famer like that You just never know like towards the end like oh, it's it's happening now. There it is. We got black and gold auto Rams Henry Ellard numbered six out of eight I Think I think Baker will do it the Rams look good run of the football right now It's so weird how different they look now, but they're running the ball well, which is kind of weird for the Rams You go black and gold auto for the Rams there in your yelling Damian Pierce rookie Texan 75 of 80 another one of those Chiefs Chris Jones 48 of 80 Even extra red and yellow. I think we do Reggie Wayne Colts 31 of 80 T. Higgins Bengals Number 21 of 80 Red and greens now. You got bears Ricky view list Jones jr. And Drake Jackson Niners Extra red and yellow there. How many Chris Jones we have I don't know Like a bunch. There's been a bunch. We're pulling all of them. I Had to have pulled like five percent of the print run so far the red and yellows You're gonna be no more. That's silver Derrick Carr Raiders Mosaic Damian Pierce Ricky Texans rookie auto great dulcet Broncos Here we go Texans black and gold rookie Jalen Petrie Very nice five out of eight Maybe the Pats will pull off some fluke Tell you what though gonna be tough to beat it seem like the bills this week You give a clone of Panthers rookie 62 of 80 Peacock Jags, LaVisca Chanel Jr Pat's only chance is score touching on the first play of the game. That's it And then they'll just want to coast in the playoffs. You know what I mean? That's that's only Pat's only chance score in the first like 60 seconds Otherwise, they're gonna lock in Red and green rookie Browns KD York and Some oratory Packers rookie red and green. I hope the Pats beat the beat the bills. I just it's I mean the odds of it happening or Not good It would be kind of weird to see an AFC championship on a neutral site Yeah, I kind of rooting for it though. Yeah, I think that'd be kind of cool Rookie silver bears to Kwan brisker was egg to Marche's bangles Rookie auto Panthers eco McQuownu. Yeah, I'm sure all the bangles fans. I hope we beat the bills Dude, I was watching from the hotel room Ryan. I watched that the part of that broadcast for like an hour After Hamlin got hurt. I just kind of just like we all we were sitting to me and Sam to sit there Three of 80 Jerry Judy Broncos. Yeah, I I was it was kind of shocking It was shy not what kind of it was very shocking Josh Allen bills 9 of 80 Glad to hear he's like progressing. Yeah Devonte Parker Patriots number 11 of 80 Jersey number Patriots there You were there at the game Ryan Red and green rookie Lewis scene for the Vikings and it's like one Thornton Packs I legit thought for a few for like a couple minutes. I was like Like he legit could die on the field He practically did I mean they had to give him CPR You don't give CPR to someone that's doing okay, you know Silver Logan Thomas commanders mosaic Zach Wilson jets Hey, Breeze Hall rookie auto for the Jets crazy man crazy anyway Jets here you go black and gold rookie Breeze Hall eight out of eight There you go Kevin K Big car there Breeze was looking great this year before he got hurt The Beast Wow back to back black and gold's got DJ more Panthers five of eight now DJ more is a beast Red and yellow Jets Joe Namath 44 of 80 the red and greens now Jake Ferguson Cowboys and Brian Robbins and junior commanders Let's do a recap and obviously not all the number cards gonna be recapped to you It's a lot of them, but I grabbed some of the nicer red and yellows and all the black and golds and all the autos So it's gonna be a good recap Lot of the break. All right, so we had so the black and golds are gonna be to 80 a DJ more Panthers Red and yellow Josh Allen bills, so this is gonna be 80 Broncos Jerry Judy bucks Tom Brady Taxons Damian Pierce Lyons Damus and Williams black and gold Jacobs for the Raiders red and yellow Malik Willis times two So one of those is a variation Chris Jones black and gold chiefs Renyella Mahomes chiefs Peacock Marriota Falcons Drake Jackson Niners Lemisca Chanel Jags Jalen waddle dolphins autos now Jets Breeze Hall Panthers Eek of a Quonu Broncos Greg Dulcich Steelers Chris all the Doken Lions Aiden Hutchinson Bears Tyler Gordon Jets Garrett Wilson dolphins Eric Izucana Packers Quay Walker Commanders Johan Dotson Charters Isaiah Spiller Jags James Robinson Colts Jelani Woods Falcons Desmond Ritter Cardinals Cameron Thomas Skymore for the chiefs Lewis scene black and gold to eight for the Vikings and Henry L. Or black and gold Rams to eight Black and gold rookie Jets Breeze Hall as number eight of eight We had rookie autos of Kenny Pickett Steelers and Brock Purdy 49ers The base choice autos. Thanks again everybody. We got more football coming up next


This talk will be an introductory overview of the Chao ring in algebraic geometry. So what the Chao ring is, is the following. We take a non-singular variety v and we form a ring, which is denoted by A of v or sometimes by C H of v and the idea is the elements of the ring are something to do with subvarieties of v and the product of two elements is going to be something to do with the intersection of two subvarieties. Well there are several problems in making sense of this and I'll try to explain what the problems are and how you fix them. So first of all, if we've got this ring whose elements are subvarieties, it ought to be graded A of v where this is something to do with subvarieties of co-dimension i and it's graded by co-dimension because if you take the intersection of two things of co-dimension i and co-dimension j the intersection should usually have co-dimension i plus j although it sometimes doesn't and this is one of the complications we have to deal with. So the first attempt might be to define z i of v to be the cycles of v, the co-dimension i cycles. So the cycles of co-dimension i are just the free abelian group generated by closed co-dimension i subvarieties and the idea is to define, try and define a product on z i of v by defining y intersection z to be the sum over w of some intersection number y z w times w. So this is a sort of provisional attempt at defining the product. So this is a sum over co-dimension i plus j components of y intersection z and this is going to be some sort of intersection number telling you the multiplicity of the intersection of y and z at the component w. So the first problem is how do we define this intersection number? So let's ask how do we define i y z w. So the picture you might have is something like this. So here's v and y might look like this and z might look like this and you see in this particular example the intersection is going to have two components I'd have a component w1 and here a component w2 and at the component w1 it looks plausible that the intersection number should be one and here the two y and z are sort of touching to order two so the intersection number ought to be two and y intersection z should be something like one times w1 plus two times w2. So how do we define this intersection number? Well there's an obvious way to do it. Let's take a to be the local ring of v at the irreducible component w. Then y and z just correspond to ideals a and b of the local ring and w which corresponds to y intersection v should correspond to a modulo the ideal generated by a and b. So means y is sort of correspond to a modulo the ideal a and z to a modulo the ideal b. So this corresponds to the scheme theoretic intersection. So this might have nilpotent elements. So if it didn't have nilpotent elements which happens in a case like this then then it's just the coordinate ring of the variety w. But in general in a case like this element hit like this intersection here this ring will generally have nilpotent elements so but you can still think of it as the coordinate ring of a scheme. And we can just look at the length of a modulo ab and ask is this equal to the intersection number of y and z along w. And in many cases this works quite well. So suppose we just take y to be say a parabola y equals x squared and we take z to be the x-axis y equals zero. Then the ring we want to work in the local ring kxy sort of localized at zero. I should have said we're taking v to be the affine plane here of course. So the ideal a is going to be y minus x squared and the ideal b is going to be the ideal y. So we look at kxy zero modulo the ideal generated by y minus x squared and y. And this is just isomorphic to k of x modulo x squared. And the length is obviously equal to two and two is a very reasonable number for the intersection multiplicity of these two sub varieties. So that works just fine. However it sometimes fails. So here's an example where it where it fails. Here we take y to be the union of two planes in four dimensional affine space. So you can picture y as being a two plane there and another two plane here. And they just meet at a point because we're working in four dimensional space not three dimensional space. They don't intersect along a line. And we're just going to take z to be another plane through this point zero zero zero zero. So they're going to intersect at one particular point. So for example y that the two planes might be x equals y equals zero and z equals w equals zero. And this plane might be say x equals z y equals w just taking the simplest way you can get three planes through there. And here we're taking the point w to be zero zero zero zero and v to be eight four of course. And the intersection multiplicity of y and z along w really ought to be two because z intersects each of these two planes. Of y in one point so it ought to intersect y in two points. So we should really have this. On the other hand if we try and work out the length of this local ring. Well we look at the ideal of y which is given by x z equals x w equals y z equals y w equals zero. And the ideal of z is obviously given by these. So we should look at the ring k x y z w modulo x c x w y z y w x minus c y minus w. So here we have the ideal of giving us the algebraic subset y and this comes from algebraic subset z. And this is isomorphic to k x y localised at zero modulo x squared x y y squared. And the length of this is equal to three and you notice that three is not equal to two. So our definition of intersection multiplicity just gives the wrong answer for this case. And you notice that absolutely nothing pathological or weird about this case. So we're just looking at intersections of hyperplanes in affine space. You couldn't get anything simpler and it's already failing for this case. Well there are several ways of fixing it and the neatest one is due to Sarah. Who found the following definition of the intersection multiplicity of y z along w. All you do is you take a to be the local ring of v along w as before. And you just take this to be the sum over all i of minus one to the i of the length of tor i of a over a over b. So these are both modules over the local ring a and you can just take take the torsion. Okay well so how's this relation to the previous definition? Well if we take i equals zero we're just getting tor zero of a a over a a over b. Which is just a over a tensor over a with a over b. Which is just a modulo a b. Which is our previous definition of the intersection multiplicity. So what is going on is that the first term of Sarah's formula or maybe the zeroth term is just our old definition of the intersection multiplicity. And then you have to add correction terms coming from these various higher tors which happen to be zero in simple cases but a non-zero in more complicated cases. And this turns out to give a really nice definition of intersection multiplicity. For instance it's always non-negative which isn't entirely obvious because some of the terms in this formula are actually negative. Well there's another problem that we've been a bit quiet about that we'd better comment on now. Now which is what if y intersection z has components of co-dimension less than co-dimension y plus co-dimension z. So generically the intersection of y and z its components will have co-dimension equal to the sum of these co-dimensions. And in that case Sarah's formula works just fine and we have no problems. However sometimes it has the wrong co-dimension. For example we could just take y equal to z and then it definitely has the wrong co-dimension. So let's look at the simple example of this. So let's just take v to be the project of plane and we can just take y to be a line and z is also a line. So z looks like that and the intersection ought to be a point but it isn't a point it's an entire line. So what can we do? Well what we can do is we can deform z slightly to form a new line z dash. So we just perturb z to get z dash and we take z dash intersection y. And there's a problem with this obvious problem. Y intersection z dash depends on the choice of z. You see the intersection is going to be some point on y but the point on y will depend on how we move z off y. And there's no way to choose a canonical point because the automorphism group of p2 acts transitively on all points of y. So we're just stuck with the fact that the intersection, even if we define it, is going to be a bit ambiguous. So the problem is that y intersection z is only defined up to some equivalence relation. So we want to say for example that all points on y are going to be equivalent to represent the same element of the chow ring. So what is this equivalence relation? The equivalence relation turns out to be rational equivalence of cycles. So what do we do for this? Well we say two cycles of dimension j are equivalent if, let's call these cycles c1, c2. So c1 minus c2 is equal to f, the zeroes of f for f is a rational function on some sub-variety of dimension j plus one. Well this isn't actually an equivalence relation so we have to take the equivalence relation generated by these. So, and what chow showed is that given cycles y and z we can find z dash equivalent to z so that y intersection z dash is well defined. In other words its components have the right co-dimension. And furthermore y intersection z dash is equivalent to y intersection z double dash whenever z dash is equivalent to z double dash. So the result of this is that we get a well defined ring. So we get a well defined ring called the chow ring on equivalence classes of cycles. So it's these equivalence classes that are going to be the modules a, i, of v. Actually this is actually a little bit subtle so let's illustrate chow's theorem or lemma by taking s to be say some surface p2 blown up at a point. So we have a little copy of p1 on this blown up surface which is the exceptional curve usually denoted by e. And suppose you try working out the intersection number of e with itself. Well first of all we have to start by moving e, we have to move e slightly to some other curve e prime. And the problem is you can't do this. If you remember from the discussion of exceptional curves you can't actually deform exceptional curves. They're sort of rigid so this seems to be a counter example to chow's moving lemma. Well it's not because you can actually do something a little bit subtle. Suppose we take a line a in p2 and if we move it so that it passes through the point we blew up then it becomes the union of two curves b and e. And this is a rational equivalent so we find a is equivalent to b union e. And now you see this means that e is going to be equivalent to a minus b. And now a minus b has a well defined intersection with e because a doesn't even meet e and b meets e transversely. So a minus b intersection e is well defined. And you see what has happened is that we've deformed e not to a curve but to a cycle with negative coefficients. And in fact whenever we deform e to something that has a well behaved intersection number with e we have to have something with negative coefficients. And that's because the intersection number of e with itself is equal to minus one times a point in some sense. And the fact that the self intersection number of e is negative means that you have to have negative signs turning up somewhere when you deform e into a well behaved cycle. So Chow's moving lemma doesn't say you can deform sub varieties it says you can deform cycles. And even if you start with a cycle with positive coefficients its deformation might pick up negative coefficients. So there's one minor point that I haven't emphasised which is that v should be non-singular. And what happens if v is singular? Well then you definitely get some extra complications and I'll just illustrate what can go wrong. Or not really wrong but illustrate one of these extra complications by just taking v to be a cone with a singular point at the origin. And now suppose I take some sort of conic section on this so it's going to be some sort of hyperbola and let's call this a. And let's take a line b and you notice that a intersection b is just a point. That's just this point here there's no problem at all. And now let's slide a down or move a around so that it becomes a line here except that if you slide a around so it becomes a line it doesn't actually become a line. It becomes a double line so it might be 2 times c where c is a single copy of this line here. So 2c intersection b should also be a point up to equivalence but this means c intersection b should be half a point. Well that's not really that much of a problem it does mean that instead of working with cycles with integer coefficients you need to work with cycles with rational coefficients on this particular non-singular variety.  Well we should give some examples what chow rings are. So the problem with the chow ring a of v is in general very hard to calculate. Well we can sometimes calculate a few bits of it so this is going to be the sum of a i of v and a nought of v is easy. It's just equal to z and it's generated by the whole variety v which is the identity element of the chow ring because if you intersect anything with the whole space v you just get the thing you started with. A1 of v which is the co-dimension 1 is also not too difficult to describe this turns out to be it's just hyper surfaces, modulo linear equivalents and this thing generated by hyper surfaces are more or less divisors. So what we've got are divisors opto linear equivalents and this is more or less the Picard group of v. And already you notice this can be rather big for instance if v is an elliptic curve then the Picard group of v is actually an uncountable Abelian group. So except in very special cases the chow groups are uncountable Abelian groups so they're very large. There are some cases when the Picard group is much simpler. If we take v to be a projective space for example we just find that a i of v is equal to z from nought less than or equal to i less than or equal to n. And the reason for this is that any co-dimension sub-variety v turns out to be linearly equivalent to a finite union of linear subspaces. Number of linear subspaces are just the degree of the variety. The reason why projective space has a chow group that's so easy is that p to the n is paved by affine spaces in some sense. What this means is we can write p to the n as a very nice well behaved union of affine spaces. So remember p to the n can be just a point union, a line, a one union, a plane, a two and so on. And it turns out that the point and the line and the plane or rather their closures actually form a basis for the chow ring. And the same thing happens for any variety that you can write as a very nice union of affine spaces. For example, the same thing works for grass manians. Again, grass manians can be written as a somewhat more complicated union of affine spaces. And so we get that the chow ring of grass manians is also easier to describe and has a basis of these affine spaces. The intersection numbers of these affine spaces are quite complicated to work out. This is the famous Schubert calculus and the coefficients are given by things called little wood richards and coefficients and the sort of a semi infinite number of papers written about these. Okay, that will end the introduction to the chow ring. The next lecture will be a few basic properties of the chow ring and a few applications of it. For example, we'll show how you can define churned classes of vector bundles taking values in the chow ring.


Howdy guys, IndiePixel here, and I am super excited because I'm starting this series now called Houdini Procedural Patterns. Every month what I'm going to do is produce a mini course that walks you through how to create different types of patterns, very much like how we go about using them in substance or how we go about creating them inside a substance designer. We can do the same thing inside of Houdini, and oftentimes it's even more powerful because we are actually producing 3D geometry while we're doing this, okay? So I wanted to walk you through how to do this. It's great workflows for beginners, plus it basically focuses you in on a single project, a very beginner project that allows you to start to really understand how you blend together different techniques and different expression functions and how to set up node structures so that you can produce and reuse a lot of your own networks to create procedural patterns, okay? So let's talk about who this course is for. What are the prerequisites for this course? Now, like I said, these are beginner courses. All of these courses that I make on a monthly basis will be targeted at the beginner Houdini user, all right? So if you have a little bit of experience making 3D content for games, that'll be great. Not totally necessary, but it will help give you an understanding of what we're doing, basically, why we're creating 3D geometry and why we're making these patterns tileable, stuff like that, okay? A beginner level knowledge of Houdini. I'm not going to walk through too much of the actual user interface or what a node is, stuff like that. We're just going to jump right in and again, these are targeted small projects for beginners of Houdini so that way they can practice a little bit more and start learning more techniques in a very focused way, okay? And then a beginner level knowledge of 3D modeling is always good because we're going to be working with your usual vertices and faces and materials and rendering and stuff like that. So it's good to at least know what those things are, okay? So with that, let's do a quick demo and take a look at what we are going to create. So here we have the results of the contents of the course. So we're going to walk through and we're going to create a series of nodes or a network of nodes that goes and creates a tileable wood plank mesh for us, all right? So we can go and create large amounts of wood planks really easily. Then we're going to go through and we're going to wrap it all up into an HDA and we're going to expose some parameters to it. So in this case, I can go and actually just turn off my tiling and see just the pieces that we have, just a single individual tile. And I can go and, you know, decrease the amount of rows that we have here. And we can go and increase the amount of rows that we have here, all right? So let's increase those rows. You have to wait for it to calculate a little bit. These are pretty dense meshes that we create, but you can see that it's all procedural. Everything is being taken care of for us. We don't have to go back in and manually edit anything. All right? So we can change the amount of row plank counts that we have, the gap, the min and max gap between each of the planks itself, and then we can finally go and tile it. Now, I just went through and, you know, created a basic set of parameters. There's so many more parameters in here that we could have actually exposed, but I just exposed a couple of them just to get the idea across. All right? So then we go through and set up some lights and some cameras. And I walk through how to do all that stuff. And then we go through and set up a render for this. And I just wanted to walk the beginners or the viewers of this course through the basics of rendering inside of Houdini. It's not overly obvious right away. And it definitely does not work like most of your DCC content packages out there, like Maya or Max. All right? So here's a render that I just did. Okay? So we're going to walk through all this. It's a great beginner project. It keeps you highly focused on, you know, just one small task instead of trying to tackle too much, which is often the case when people are first learning Houdini. Okay? So this will walk you through all the components necessary to create this whole scene and create an HDA that makes tiling planks. All right? Thanks so much. And let's jump into it.


My name is Mike Grossclose, today I'm going to talk to you about client server architectures. Before we get started a little bit about me, you can find me on most social media as Microfusion. I'm one of the web architects at WeedMaps.com. There's a couple of other WeedMaps guys in the audience. Our main Rails application is a large, high-traffic Ruby Rails site. We're currently in the process of migrating it to a microservices architecture, which will allow us to basically scale what the industry demands. And we're hiring, so if you're interested, come talk to me after. Okay, let's get started. So the other day on Twitter, I saw Aaron Patterson say he was worried about the audience getting tired of puns, and this concerned me, because I think Aaron Patterson's puns are a huge part of the Rails culture. So I decided to do a pun raiser on Twitter and raise community awareness around the importance of puns, and also raise support for Girls Who Code, because I have a five-year-old daughter and right now she thinks everything I do is boring, but you never know. Let's see. The pun raiser was successful. I received a lot of puns. In fact, days later, people are still sending me puns, but I am now completely punned out, so there will be no puns in this talk other than the ones you see on the screen. So a few days ago, I found this app that changed my life. That's an app that allows you to swap faces with other people. So I tested it out on Aaron Patterson on DHH. And I thought, since I'm one of the last speakers, why not document my trip here through the medium of face-swapping? For example, meet Chris, one of my good friends and office mate. He's sitting right there. This is us in the airplane traveling to RailsConf, and here's us losing money in Vegas during our layover. So back to client server stuff. We're at RailsConf, so of course I can't talk about the client server without talking about the majestic monolith. And when I talk about the monolith, I'm referring to an application in which the presentation layer, business logic, and database integration are all tied together to address a single problem. There are lots of pros and cons to consider when developing on the monolith. Many of you might have different experiences, so don't consider these rules as much as just things to consider. So first, let's talk about team structure when working in the monolith. And we can't talk about team structure without bringing up Conway's law, basically stating that the teams will produce code that reflects the structure of the organization. And along those lines, I've personally seen the monolith work well for small, tightly integrated teams like under 10 developers, usually full stack, where we all work in the same code base, we all have the same stand-ups, the same backlog, et cetera, because again, the structure of the team is somewhat monolithic. So continuing on that, that leads to talking about the pros with regards to developing in the monolith. First, we have a single code base to work in, which gives us speed while jumping around the application, which makes it easier to refactor functionality between services. A side note here, if you've ever worked in a modular application with multiple packages and repos, you'll quickly find that refactoring code between different services can be a pain. Not only to test, but also to deploy, et cetera. So in the monolith, code gives you the entire system, which makes things easier to reason about for smaller applications, which implies a simpler architecture. Additionally, you get consistency across the code base. For example, it becomes easier to enforce coding standards, linting, code complexity analysis, like if you use cane or something like that, and again, all great for the small teams. But as your team grows and everyone is contributing the same code base, you eventually start getting more merge conflicts, and then the code starts becoming more and more complex, especially when people put in code to meet deadlines, which possibly causes them to skip specs, or that much needed refactor, et cetera. And that's all going to make the code harder to reason about and maintain. So side note, I was wondering what it would be like to swap faces with a statue. That's what it looks like. Or with me with long hair. So now let's look at system scalability under a monolithic architecture. First we can vertically scale up the system by increasing the size of our application server and database by throwing hardware at it. But a point will come where you'll eventually reach the limitations of vertically scaling, and we end up eventually horizontally scaling out our app servers. We basically do this by creating clones of our monolith, or as Martin Fowler says in his talks, basically cookie-cuttering our application onto new machines. But at some point, we're going to reach the limitations of our database. I've personally seen the largest RDS instance you can get on AWS at 100% CPU, and when it happens, it is not a good thing. But you can't scale out the database, at least in the relational world the same way you would with your app servers, because you need a single source of truth. But what you can do is read replicas or sharding, there's different techniques. And with read replicas, basically you'll do all your writes to a primary database, which then replicates itself onto a secondary database. And then you do all your reads from the secondary, taking a portion of the load off the right server and distributing it across the read server. So let's look at the client flow in this monolith. Under this architecture, viewing a page basically consists of a flow of something like this. I'm going to assume you're not using Ajax or TurboLynx or anything. So you point your browser to URL. The request turns into a request from the client to the server for that page. The server then returns HTML, JavaScript, CSS, returning the content of that URL, and the browser renders the page. At this point, any new actions cause a new URL request from the client, which starts this flow all over again. Note the tight coupling between the client and the server in this flow, because I'm going to come back to it. Let's talk about mobile. Native apps have helped move web apps in a new direction. Since native apps are installed rather than served at page load time, they have forced us to think about the client and the server as two very separate entities. We now have to assume that the client can be anything, Android, iOS, desktop app, et cetera. This creates a new requirement that we have multiple presentation tiers, meaning that we now have multiple ways to communicate with, view, and mutate the state of our monolith. And up until now, integration with external resources has been an afterthought. So what do we do? We bolt an API to the side. So now we've tacked an API under our system, maybe presented through something like Grape or something, and our app has basically started to grow some pretty nasty appendages. And as our product requirements grow, we end up supporting both our APIs and our legacy views. Additionally, in order for the web to keep up with the current expectation, web apps have also evolved. And we see the birth of single page apps. Single page apps work to emulate the expectations of native apps in that they attempt to create an experience where you don't leave the page but rather manipulate it. This is all starting to feel very messy. But fortunately, there is a solution. And that is to separate our client concerns from our back end server concerns. Doing this helps draw a clear separation of responsibilities. Where on one side, we have a static asset server serving up HTML, CSS, and JavaScript. On the other side, we have an API server serving up raw JSON data to the client for it to do with it however it pleases. But there's something important here not to be overlooked. In addition to separating our technical concerns and cleaning up the interface between our client and our server, we've also just created a separation of concerns along more human boundaries. Basically between the data and business logic side of things and the user experience. This is extremely important. Front end and back end require different head spaces. Even for those of us who go back and forth between the two, there is definitely a context which involved. This now enables us to have two separate teams. Each having different expertise working on what they do best. Front end team working on developing amazing user experiences and the back end team focusing on reliability, scalability, data, API best practices, et cetera. At this point, you're probably thinking, man, I miss the talk from the chef guys because it's at the same time. So they're there. So the client has left the comfort of the monolith. What does this new world look like now and into the future? And of course, I can't talk about the client without talking about JavaScript. I love JavaScript, but I'm also not in denial of the language flaws. It has its strength, first class functions, async by nature, but it also has plenty of weaknesses which I probably don't need to go into details on because everybody here is a Rubyist and knows. So how do we solve this? Let's talk about transpiling. We start with CoffeeScript. Most of us are familiar with it and its similarities with Ruby. It has a clean syntax. It simplifies the language. It helps avoid a lot of the pitfalls you get into with JavaScript. But the JavaScript language itself has evolved with the latest standards. ES6 gives us arrow functions, default assignments, templating, destructuring assignment, tail call optimization, which allows you to do recursion without blowing the stack. And ES7 has async await. And with Babble, we can transpile our code to ES5 so we can use the latest features of the language in the browser now without having to wait for browser support to catch up. There are a lot of other transpiled languages. TypeScript, ClosureScript, Dart, to name a few. And all this allows us to write more elegant code that runs in today's browsers. So the key takeaway is transpiling is good. I believe it's here to stay. And mostly because the browsers will never keep up with the demands for new and better language features. So I believe we should get used to it and mostly embrace it. Now let's talk about JS frameworks because we also have a lot of choices to make. First, we've got Angular. It's an opinionated client-side monolith. Its strength is in the ability to do dependency injection. Although you can use it without, Angular 2 is recommending you use TypeScript. And Angular 2 has also moved away from scopes and gone entirely component-based. And if you've used Angular 1, then you're very happy with this. And lastly, we have Ember, which is another large opinionated framework. Has ES6 built in via the Babble transpiler and has extremely powerful router that's so good that React ended up taking it for their community. React by itself is an arrow without a bow. It's not very opinionated. It focuses on being simple and declarative. It's built using reusable components and has a unidirectional data flow. But it's not concerned with the view layer. Or it's only concerned with the view layer. So you need to pair it with something like Redux to drive the state of your app. There are a lot of other frameworks out there. Lowdash, which is like the backpack of tools everyone needs. JQuery, which is like the knife everyone has in their pocket. Our functional reactive friends, CycleJS, BaconJS, ReactiveX. And lastly, ShamelessPlug for Lore, which is something we just open sourced this week, which is a convention over configuration framework for React Redux applications. But if you ask this guy, he's going to suggest you use Ember. That's you, Huda. Let's talk about how we deploy our client code. First in this new client-side world, we no longer want to have to worry about servers. Servers should no longer be a client-side concern.  You can pair it with something like Gulp and script up the deployment. The only downside to this is that there are some hacks required to get it to work without using hash bang URLs. You can also use something like GH Pages, which some of you may have done. Just push your repo to GH Pages branch, and it will automatically be hosted for you. It's easier to set up than S3, but it also has a few issues. Same hash bang URL problem, but they also don't support SSL for custom domains. Personally, I recommend you use something like search.sh. It allows you to push your client-side code via the command line, but it also addresses the SSL issue and the hash bang issue. So now let's talk about the convergence of native web and native development. This is a kind of touchy subject for some, but I feel obligated to talk about it. Cordova, Ionic 2, React Native are all a few tools available that allow you to build apps for native devices using traditional web tools like HTML, CSS, and JavaScript. So it begs the question, why are people still writing native apps? Well, historically, there's been a hesitation to use these tools because of the performance of JavaScript. It's hard to emulate the performance of native experience, but this is changing. For example, we use React Native to write pocketconf, and it works great. So why should we converge native app development in the web? Well, first, remove the specialization required to build native apps. Red, no one wants to write Objective-C. It also helps give consistency in the experience across the platforms. It also allows you to share components and code across the code base. And like I said a second ago, performance is no longer an issue. Before moving away from the client, I have to quickly talk about something we often hear in the JavaScript community, and that is JavaScript fatigue. In my opinion, a lot of the fatigue we're seeing is due to some of the modularity in the ecosystem, combined with the churn in the interface. I love the modularity, and I love JavaScript, so the modularity is not really a bad thing. But the way I see it, the more modularity we have and the more churn we have in our interfaces, the more frustration the community has. So how do we avoid this? Probably the best way to do it is that know when you're using cutting edge, there is a high probability that your interfaces will change. We see this happening a lot now in the React ecosystem. Also lock your dependency versions. I've seen many times where a patch update that's supposed to be backwards compatible ends up breaking things. So to summarize this section, the client is about creating human experiences. We need tech to get out of the way of creating these experiences, which is part of the growing pains of this fast growing ecosystem. Choices are great, but without a lot of opinions, things are still feeling very modular, which has a cost. It's probably some time for some more Facebook pictures. There's Justin. There's Alex. There's JCK. And actually last night we went to Kansas City, Joe's Kansas City barbecue before we go into karaoke. It was an amazing barbecue, so we had to get some pictures there. Okay, let's talk about the server. Which means we should start by talking about monolithic APIs. Monolithic APIs have many of the same pros of the monolith that we discussed at the beginning, but the key is that we have removed some of the cons that were brought by removing the client, and thus removing all the client side concerns with it. We can easily build a monolithic API by using the new Rails 5 API. By using the Rails API, you get many of the same benefits we've come to know and love, like convention over configuration, while still being lighter weight than a full Rails app. Additionally, when we talk about how to scale a monolithic API, it's very similar to how we would scale our normal monolith with many of the same pros and cons. But at some point, your team will start to grow, and that leads us to need to talk about microservices. Microservices have some of the same problems that modularity in the JavaScript community can have. And that is that you need to have stable interfaces clearly defined before you start. And with that reason, I personally believe that using microservices is about scale. They're an optimization technique used to scale your code and your organization, and we all know you should always be cautious when prematurely optimizing. So why would we want to avoid using microservices right off the bat? Well, let's talk about potential pitfalls you might find. First, the interfaces are harder to refactor once they're there. And whereas in the monolith, you may have shared services, queries, tools, task runners, and microservices additional effort is gonna be required to share code between individual services. Your Microsoft, let's see. Latency between systems is now a much bigger issue because now rather than calling other methods in your own code, you're gonna have to go across the wire to get the data you need. DevOps and systems. Historically, I've seen companies underestimate the importance of DevOps. So if you feel like you have a few systems not getting enough DevOps love, then imagine scaling this to many systems that heavily depend on each other. Additionally, with the DevOps side of things comes the complexity of monitoring the health of your system. Being able to predict when something is going to go wrong and knowing how to recover when it does. And lastly, developers have a tendency to build and move on to the next project. With microservices, you wanna keep all your systems to the same standards. Basically, the philosophy, you're only as strong as your weakest link. And this takes a lot of effort because there's often this build and forget philosophy when using microservices. But given all that, there will come a time when your application will reach a point where you're needing microservices for scale. So let's talk high level real quick about how one might do that with microservices. Within your application, you have a number of domain driven models that can be grouped by bounded contexts. By breaking up your app along these boundaries, you create a number of smaller apps or services with explicit interfaces between them. They should communicate with each other and the outside world using lightweight protocols like REST because you wanna be of the web, not behind the web. Each microservices should have its own database or databases to ensure that the microservices are autonomous units. So now we have a list of atomic services each with their own normalized database, but there is a problem.  For example, let's say we wanna get all the circles that belong to a triangle of a specific color. As it currently stands, we first have to query the triangle service to get the triangle ID and then query the circles with that ID. Instead, we can do a denormalized data tier such as Elasticsearch, Neo4j, stuff like that. Next slide. And then add a layer of composition services above that. The composition layer allows us to prepare data in a way that might be more suitable for the consumer. And this is all going back to Conway's law because the beauty of this is that each service can have its own team which then has its own data storage device and different technologies potentially. The only thing that really matters is the reliability of the system and its interface between them. This one is the good one. Did you ever wonder what it's like to swap faces with twins? At this point, I wanna talk to you about the future. I originally had, it's about service-less architecture back in as a service like the one I've been building, Storcery.com. But then yesterday, I went to an incredible talk which got me thinking, and as a result, a few hours ago, I threw away the end of my slide deck and replaced it with this. If you're wondering what that talk was, it was so good that made me modify my talk. It was this, guys. And if you didn't see the talk, you should. I needed to recap for some context. So, obligatory spoiler alert. The TLDR of his talk was basically that Ruby is no longer the new hotness, and the cool kid language is no JS. We're seeing less people talk about Ruby, less people hiring for Ruby, and as a result, less people building things with Ruby. Basically, less people carrying the Ruby Torch. So I don't have a consulting company and I actually do a lot of stuff in Node. So then why would I change my talk at the last minute to tell you about this? Well, it's because I love the Ruby community and I truly feel we have a story to tell. And I think we have the ability to change the conversation. It starts with changing the way we talk about and use Rails. For example, we do need to start splitting apart our client and server concerns. You wanna use that new awesome JavaScript framework? That's great. With a Rails API, we can spin up back in for you in minutes. You're worried about scaling because Node microservices can scale? Cool, we can set up Rails API microservices too. But you're worried about performance. Other languages are faster. That is also true, but in most situations, response time delay is gonna come from the latency going across the wire, either between your microservices or between your server and your database. The speed of your language starts to become negligible unless you're doing crazy algorithms. So let's start using Rails for more than the monolith and let's start changing the conversation about how we use Rails to scale architectures. So in summary, we're on the edge of creating some really great stuff. Every day I look forward to the challenges that await us and I hope you do too. So in the words of DHH, let's go out and put a dent in the universe. Thank you.


In an effort to foster a greater understanding and utility of the Caribbean Public Procurement Notice Board, CPBNB and the National Advertising Portal, NAP, a three-day capacity-building workshop was conducted with senior procurement officers in the public service. Director of the Caricum Single Market, Titus Preville, said that the Notice Board and Advertising Portal form part of the electronic tools that have been provided as part of the Public Procurement Regime pursuant to Article 239 of the revised Treaty of Chagrammas. While the protocol on Public Procurement was approved by the Conference of Heads of Government in February 2019, to date, only six member states, Antigone Barberas, Belize, Dominica, St. Vincent and the Grenadines and Suriname, have signed a protocol under declaration of intent to provisionally apply the protocol. St. Lucia, he said, has not yet signed the protocol. However, St. Lucia and Belize are the only two member states that have approved the rules and procedures for administering the protocol on Public Procurement. A total of 1.5 million euro was spent on developing these procurement instruments for the Caribbean community. Since the Public Procurement Notice Board was commissioned in September of 2019, only Barberas and Belize have made use of the CPPNB and the National Advertising Portals that come with them. The Caricum Secretariat and by extension the community continues to pay annually US $80,000 through a service level agreement to the developer, European Dynamics, for a warranty to service and maintain the system, which is only being used by two member states. Privileged added that there appears to be a lack of internal coordination in member states, which continues to stifle progress on critical matters, which effectively deny the people of the Caribbean the benefits intended from the Caribbean's single market and economy. Notwithstanding the presence of the CPPNB and National Advertising Portals, some member states in their wisdom have invested significant resources in new public procurement systems while not making use of the existing system. Permanent Secretary in the Department of Finance Francis Fontenelle said this 3-day capacity-building opportunity will afford procurement entities an appreciation of the objectives of regionally integrated procurement, the benefits to be derived, and the manner in which those benefits can be achieved. Training in the use of the notice body is expected to result in the following, equipping our procurement entities and suppliers with the means to access the wider regional market, allowing our procurement entities valuable insights into how member states are performing the procedures, gaining access to a wider pool of suppliers available to meet our procurement requirements, giving our local suppliers access to a wider regional market, and importantly to introduce a higher standard of transparency in public procurement. He noted that the level of transparency is premised on fairness and openness in the procurement process. The workshop was facilitated by senior technical officers Philip McLauren and Derek Brown from the CSME office in Barbados. It is hoped that through these capacity-building sessions, there will be greater participation by member countries to utilize the Caribbean Public Procurement Notice Board and National Advertising Portals for the National Competitiveness and Productivity Council, Glenn Simon reporting.


So the last thing I want to talk about at least for now is this idea of what I'm calling types of agents In the past few videos, I've used a number of different examples connect for chess checkers Tic-tac-toe a self-driving car a tomato harvesting plant Each one of those is gonna have again a different environment And so we have to map out the different elements of the environment But also we have different kinds of agents because we can have simple reactionary agents or You know a little bit more refined To start we're focusing in on again as you can see from the slide a very simple reflex agent There are Percepts in the environment or that the environment is giving off again You know the the state or the positions of different things in the environment, etc And so that's again being received by our agent via the sensors. That's again Modeling out what we see in the world, but you notice then you've got a very simple condition action rules, you know It's just if statements ladies and gentlemen just Simple if statements just a mountain of if statements because again, what's the world? Well given what the world is Let me look into my giant Table of conditions or it you know my conditional statement and then make my decision off of that And then again actuator update the world In fact, that's actually what you're going to see in sort of lecture exercise one The whole point is again this idea of getting familiar and comfortable with time steps And so again what we're seeing here is oh well, you know if i'm on a dirty tile clean that tile else Look around can I move to the right? Can I move to the left? Can I move down? Or up that's all it's doing again. It's not even considering If those tiles are dirty or not or you know again, it only sees it was on a clean tile Now it's just saying oh if I can move there move me there. That's it Okay, well, you know, you could make it a little smarter. You could change this to uh, you know Uh is right dirty so dirty Right If dirty right then move right if dirty down move down, etc But obviously again, this is a very simple Agent that doesn't really kind of you know give you much of that Intelligence that we're thinking about and that's where we start to get into Modeling and adding again some refinement to our agents more specifically. This is where obviously We're starting to move out of the completely observable environments and maybe we only have uh, you know what we've seen in the past to work off What that means is again Our agent finally starts to store sort of uh, uh, a model of what the world is doing I used an example earlier about how we may have an agent Right here and then it may see that there's a dirty tile beside it And then there's a dirty tile not directly beside it, but it still perceives it. Well, again, what was its action? We said to move Right All right. Well, it moves To the right. Here's our agent. It's on a dirty tile This is tile still dirty And finally we'd said to clean Right there So what I mean by this and as I drew it out and as you can see what I'm saying is All right, my agent moved to the right my agent cleaned that the tile it was on now what? Well, again, that's where each action it was doing. It's sort of refining sort of the what its understanding of the world It maybe makes note notes dirty Tile It knows. Hey, there was a tile that I saw was dirty I'm going to put it in, uh, you know a little stack or queue in my mind and If I ever find myself in a situation where I'm Completely out of spots Let me go back to where I was so I can go clean that tile. So maybe, uh, You know, uh, move Left As it needs to Go back to where it came from again as you can sort of see this is where Still modeling the environment So it's sort of making assumptions about what happens if I make these sort of actions Again, what's going to happen if I do a particular action if our agent had more than just clean and move Again, what's going to happen to the world? But you notice again all that stuff is still boiling back down to if statements because again As we start to think about it Each one of those actions, you know, there's maybe some sort of strategy That it's focusing on on but again, it doesn't really have sort of a goal Again, now we're starting to get into the idea of things like, uh, you know, uh pathfinding Or That's the worst. Oh, I've ever done optimization up to Optimization there we are Again, so what we're dealing with here still sort of Handling and modeling the world modeling The world But you notice that it's sort of doing this what will happen If I do x and what it's specifically looking at is again these types of goals that it's working towards will This get me to my goal Will the action of going up get me closer to in this case, maybe a target location on On my map or my environment or if we're thinking about our agents in a little different perspective Will this get me to a a new Maximum output or minimal output if I'm working off of optimization Guess what? You're gonna see this a lot where we're again still seeing that idea of well given Uh, what state I see the world in If this is a good step, what do I do if this is a bad stuff, which we'll actually see Should I do it anyway? Then we get into sort of Maybe a goal isn't enough and we start to get into utility again this starts to play into that idea of optimization because Not only do I want to have find a goal solution But I want to make sure it's the best goal solution and that's that idea of happiness sort of again when we think about happy Not just A goal But The best Goal Because as we'll see, you know, there are different ways that I could potentially get to a particular target Doesn't mean it was the most efficient Utility based agents is where that starts to come into play. We want to get there in the shortest amount of time we want the you know, uh, our linear programming assignment to, uh, have the best configuration maximize output But one thing to sort of note as you sort of seen by all of these agents and you may be rolling your eyes like None of this is Smart. This is not learning. This isn't the reinforce. There's none of that going on Well, again, that doesn't make it not an intelligent agent But as you can start to see we are starting to model more About what it means to sort of make decisions when we think about the idea of Learning, however That's actually where one of the things you can think about is this idea of what we're calling a critic So if we go super into the future for a second, not like time-wise, but like for, you know, videos If I'm thinking about something like a neural Network, right that oh big fancy word that everyone likes Right, they have a process known as training And the entire idea is oh, well, you know, I give you sort of An opportunity to refine yourself. That's the learning aspect. Well, what happens Uh, let's say if I'm correct or incorrect correct Or Incorrect Again, that's the sensor that the environment's giving off. Oh, no, you misclassified This as a face. It's not a face. You misclassified this as a stop sign. It's not a stop sign All right. Well, the critic is effectively what receives that and how bad of a mistake was it Because that gives us now this idea of feedback. Oh, well, you this was a very bad mis, uh classification So you need to refine your state again If you're thinking about the agent as having a state of the environment and a modeling of the world that same kind of concepts going on it needs to update It's state Because again, if we think about it from an incorrect perspective, oh, well, that's a learning moment But that actually changes sort of its performance because oh, well, you know, you know Again, if we're thinking about this from, uh, uh, updating Updating Again, that changes how it's going to perform next time And so that same kind of concept comes into play again if we're thinking about that from that neural network term of training Again, it's not just one activity. It's or one classification. It does multiple Classifications and so again that idea of the next training iteration time step Is going to have a different performance element again with the actuators And what happens is that's actually where we start to think about that idea of learning again The a the critic is kicking in with that feedback which changes sort of the model the numbers And again, that's updating then its performance as the performance improves or Decreases again We start to continue to modify sort of that learning aspect of our agent And we'll again see this later on but that's where sort of the Learning agent sort of comes from when we start to think about intelligent agents