error or exception. Don't quite know what the distinction is. But this exception just means something happened and I want to know about it. Error means something really bad happened. But you can throw any object, which of course is everything, so you could throw a 7, you know, if you want to do. I don't know who would catch a 7, but you can if you want. The 7 catcher. The 7 catcher, exactly. And also the typical try catch finally blocks. So you can ensure that a block gets run, no matter how you get away from the original code. Classes might, since we've been talking about classes, I'll circle back around with them now. So again, everything is an instance of a class. Ultimately, all classes inherit from object. It's based on a single inheritance system with mixed ends. So no multiple inheritance, try to figure out where this method came from stuff. Okay, it's only single inheritance. An interesting side-up bit about that is constructors are not inherited at all. So you basically, after the next level down, you want to also understand a from array. You have to copy that. Now you can call super and get the super method of it. But we know only to have the problem of, okay, now we've done a couple levels down in inheritance. Which part of the constructor do you call first? And what are you passing it? And how does it get passed through? You're doing it all explicitly, yes. Is a function an object? Yes, I think there are methods. Yeah, because you can ask an anonymous function how many arguments are taken, what are their shapes? Oh, can you pass a function in? Yeah, functions are first class objects and that they can be passed as arguments. Yes, there's not any type checking on that yet. They're trying to figure out a good syntax for it. So the compiler doesn't know anything other than we have a function here. So we lose some of the type checking at that point. And like I said, they're working on that. So the new method can be used with a class name or with a class method. Again, typical strong typing object system. So objects have members. They consist of methods and instance variables. Classes can also be abstract, which is typically how you define a mix-in interface. And many operators can be over in to provide a custom interface. You can have nested, or not nested, but derive classes with the extends keyword. So you might create a class A and then class B extends A. Again, pretty familiar syntax if you're used to most modern languages. Class members look like this. So this is a typical, you know, first class that you see, a point with X and Y. And here we're defining, these are the instance variables. If they were class variables, so one per class, I think you put the word static in front of them. So it'd be static num X, static num Y. And so here's one of the methods defined here, two string. Two string is actually a special one. It's what the printer calls internally whenever it wants to convert something to a string. So typically, every class will define, at least for your debugging purposes, a two string that gives you the essential information from that particular instance. So this X and Y here refers to the X and Y that are created with it. So here I'm creating a new point. And initially, the X and Y are both going to be null, because I didn't have a constructor that took them in. So this is the default constructor. And I can set these. And then I will be able to print that. It will say a point, left bracket, four comma seven, right bracket. So very obvious, typical stuff. The classes in Dart have the ability to override getters and setters. So I could actually have it so that I would have the word set X equals some function, or arrow some function. And when this same exact code is run, it will run my setter instead of running the internal setter.  You can just change the code in the class and not change the rest of your system. So the code for setting members is already also the code for calling the setter on that member. That's where that slide bullet came from. Yes. Class variables, class methods, also supported typically with the word static in front of them so that you know they belong to the class. Generics. So there's a full support, as you've seen in a couple of examples, for defining a type that's like two things that are related or something like that. So again, with optional typing, why use generics is to inform the compiler during check mode and inform the IDE during development how to help you out. So now we're saying this is a new list, but it will only contain strings. So that typing information is carried along in this variable at this point. It says I know now this is a list of strings only. And so of course, at all with Randall and Kermit, it's going to work just fine there. But the compiler in check mode is going to see that and blow up. So it's going to tell me no, no, no, no, no, there has to be a string at that point. And actually, if you tab complete that while you're coding, it'll actually say this must be a string here. It's very, very calm because it's bringing all that information forward. You can also use to describe interfaces. And here we're seeing an example of I want to have a generic caching type. But of course, every cast might need a different thing, we might want to cache of strings, we might want to cache of numbers. So when you import this interface into your concrete class, it will know that this T stands for some type. And then this T here is saying I have a getter, a regular that is of type T, returning type T. And it has to have a string key. So this is caches that don't have key strings. We could actually do two levels of it. I didn't want to get the example too complicated. And here's my setter. Whenever I put something into one of these caches, it takes the original key and the value. Again, noticing every place that there's a T here is going to be replaced by a concrete class when I make it a concrete class of my own. Kind of nice. Asynchronous operations. So if you're familiar with like promise libraries for JavaScript, this is modeled on that. Actually, they both sort of modeled on each other because Dart got it first, then they added it to ECMA 6, but they used a different name. I don't know why they used a different name. I think it's because promise was already used for this in some libraries. So it provides two kinds of forward information. It provides futures, which is one value sometime soon, sometime eventually, and a stream, many values over time. You can also set up broadcast streams, which say all these values are being split out to whoever wants them, or all of people at the same time. And again, you can use try, catch, finally style logic with either of these. Again, if you're familiar with any of the promise libraries, you know about having the nested, not the thing that's avoiding callback hell is that you're basically then adding when this is true to this, and when the value comes out of that, when this is true to this, so on. So similar looking things in here. I don't have any examples of that, though. But you can also run in these asynchronous streams in what looks like synchronous mode. So if you add async to the beginning of a subroutine, it says we expect there to be some things, in this case, lookup version, that are actually returning futures. But we don't want to use the future notation for it. We just want to have it wait there, logically, until this future actually then completes. Now, what it's actually doing behind the scenes is it rewrites this code so that the subroutine can sort of temporarily put itself on hold, and it returns right away. And so the output you'll have is also going to be a future coming out of here. So if you use that future somewhere else, then it all just works together. But unless you use isolates, which I'll mention in a couple more minutes, it's really single threaded all the time. So this is to sort of turn it around and make it sort of the way you would do asynchronous work in JavaScript. Lots of libraries. A couple minutes here. So Dart Core is going to have your numbers, your collections, your strings. The async stuff has all the async programming, futures, promises, streams, things like that. Math, math and random. HTML, for client side apps, we need things like go get this element from the DOM, read out its attributes, things like that. And that's all in the HTML package. And Dart.io for server side stuff. You could never import both HTML and IO because you're either running in the browser or you're running on the server. So when they build apps that have common features on both the client side and the server side, they put all that stuff into a third library that both of the top level codes pull in. And that's how they get whether it's IO or HTML. IO is great, though. It has all things like fork a process and give me the result back or open up a file. Pretty much everything Node.js would have, that sort of level thing. Encoding, decoding JSON, UTF-8, mirrors, which is the package you bring in to say, what are my method calls? And call this method with these parameters, but do it sort of at runtime. Forget what you want to do at runtime. Lots more standard libraries. And by standard libraries, I mean all this comes out of the box with Dart. So you don't have to go fetch something or install something. But wait, there's more. The pub. There's a lot of things in the Dart community that are named like Darts. So this is the pub. This is where you go to get more code. Exactly. Or to get hammered, I guess. Okay. So again, like Perl's CPAN for Dart, my closest example. And it was set up like two years ago. So really early on. There's a hostable version, or the hosted version, which is the official central repository. But there's also, you can easily bring the version in house if you have private code that you still want to use with some sort of CPAN-like thing. So that's already set up that way.  There's a pubspec.yaml that is with your project that you use to control the pub it's going to come from. And also version ranges. So there's a thing that works out. Okay. I want a version 1 to 1.5 of this code. I want version 0.7 to 0.8 of this code. And it tries to solve all the different ways and looks at all the different code and tries to figure out, can you actually have this build? Sometimes it just says, no, you're not going to get anything.  I don't know what Maven is. So I can tell you, yes, that's one of those things in the spheres that I don't know. Yeah, pub is more about, yeah, pubs, yeah. And no, this is more, this is simpler. This is just about talking to the pub. So it's about getting just the version numbers correct. Yeah. Yeah, yeah, something like that. Yeah. So when you upload to pub, the pub spec is what gets downloaded for other people. So they pull that down. I think it's all cached and everything that way. Okay, so that's that. Oh, good. Pretty close then. So these are some of the places I went to create this talk, and I would suggest you go look at them. The Wikipedia page actually is fairly long, which is really nice. I stole a lot of little examples from there. There's a totally open source book from O'Reilly called Dart Up and Running. It was written by Seth Latt a couple years ago. It's also on the website for free on dartlang.org for free. And that one keeps getting updated as Dart continues to change. The hard copy, you know, dead tree books do not get updated. So they might be doing new printing cycles now. Last I checked it, there was no new edition of the printed version. So just use the one online. News.dartlang.org. I don't know why I didn't write the URLs in here. That's because I can click on them here. But you guys can't click on this. I'm sorry.  All right. Yes, there's the only URL to remember. This is all linked from dartlang.org. And that one is not only clickable, you can read it. So that's good. Glad I did that. And that is the end of my presentation. I'll take questions now. Sorry. You were clapping too loud. Test frameworks. Yes. Yes, there's a lot of tests. There's a very robust testing system for Dart. It comes with the package. The testing system even deals with futures. So it understands, you know, I'm calling this code and I'm wanting to call this method. And then I'm hoping eventually it returns with this value. So it understands that from the get go. And all the HTML related things have HTML testing systems built with them as well. So yes, you can do modern testing all the way through with this. The back there. Yeah, it has exactly that. So when you have an isolate, you basically give it an, you have an inbox port.  So yeah, it's kind of cool. Yeah. Yes, of course I can say many things about that. That was true a couple years ago. They're working very hard to do that. The first thing that Dart has as an advantage is that it does tree shaking. So if you pull in a huge library, let's say jQuery size, but you only use three methods in it. It will only transpile those three methods. So you don't get the whole thing. So some Dart deploys are much smaller. A little bit of the problem also is that the early JavaScript interoperability required always required using the mirrors. And then once you get the mirror in all the meta information has to be available at runtime. And that was a lot of the code that was in those bigger deploys. But they are very aware of this. Every release has been making smaller and smaller JavaScripts. And I guess you guys can tell the context of the question. We're making smaller and smaller JavaScript stuff. And they're even working on the JavaScript to actually sort of mimic the original Dart code using, if you flip the switch, so that you're using the original Dart variables and the original sort of layout of your code in terms of classes and methods and things. So they're trying to get much closer to what you would be doing with TypeScript, yes. Yeah. How about what? Unit testing fully supported, yes. So unit testing on individual classes can have their tests along with them. There's a standard layout when you upload something to pub about where the tests are because the tools to run those tests are built into the Dart distribution. Here. Is anyone single steps through Dart? Yes. The debugger that comes with the Dart SDK, which you would use from, say, a web storm or IntelliJ or something like that. You can set great points. You can single step. If you want a more higher level view of something that's running, there's of the observatory as well. So you can see what's currently running on the stack and all sorts of really wonderful things. So your timing runs and things like that. But, yes, it's a traditional language in the sense that, yes, you can set a breakpoint on a method call, stop it when it gets there, interact with it by feeding objects or inspecting things, yeah. So it's a standard full debugger. Graphics or audio libraries. Not yet, but you can call anything that JavaScript has directly. I mean, especially now that the new JavaScript interop is in there, again, it just looks like calling the methods directly and calling both directions. So it should have a problem. You could, for example, it's a little weird. You could pull in J query and run it directly. But the problem with that is then you'll be duking it out with their DOM management. And that's probably not a good idea. And back there. Ajax, yeah, Ajax is just fine. So he asked if interop also works with Ajax. Yes, it does. Or you can do that same sort of Ajax directly native in Dart. So, and then it just gets a future and you just run on the future and stuff like that. Want to show me time? So four minutes, four minutes. Ask a couple questions here. Yeah, I understand there's an investment any of us make when we go to a new system. Google is committed to Dart. Google has large projects that have hundreds of people on the team. And they've already deployed three things client side for customer facing. So that, apparently, there's more, but they can't talk to us about it because it's still in progress. But Google is very committed to Dart. And the reason that's not really, it doesn't really overlap Go. Go has its own needs. Dart's never going to replace Go. So Go is still there. Dart's got a different set of audiences because they want stuff that is going to be multi-threaded, nice debugging, all that sort of thing, similar to Go in that sense. But they're not looking to turn it into something like the single binary deploy that Go has, for example. So Dart's Dartshare this day. Those presentations in Slide Share, it's not this exact one. I'll get this one up pretty soon. So just look for Randall Schwartz, a brief introduction to Dart. It'll be there somewhere. Yeah. And also I've done videos of this. So if you go to the most recent slide show I have, there are links to a video that I did at Fizzley. But that's a little bit out of date now. And you can't see any of these little printouts because I used the wrong colors. I used the default colors and they put it on a big screen and all the characters disappeared. So that's why it's all white, blue, dark blue now because I can actually see that. A couple more still, yes. Backward compatibility is very important to them, but there might be some minor breakages and things they discovered over the last couple of years that don't make any sense anymore. So I mean adding the async await stuff, it has changed the way most people write futures. So there might be some change to a couple of the awkward places that futures for being used. But you know, Dart 1 will be around for a long time anyway. It could just stay with Dart 1 but it won't get new features. Nobody knows. He asked when it's expected, nobody knows. It's one of these things, it'll be ready when it's ready, hopefully not like Pearl 6. Yeah, Dart 2 is going to be 12 years away, right? No, no. Just a quick survey, how many people have not seen anything about Dart before they came here? Wow. How many people now, including the set of people who raised their hands a second, are inspired to go back and look at it some more? I did my job. All right, thank you very much. Thank you. Yeah, I've got to be somewhere.  I don't know, they're double-folded. So it's like this. The quote is some range numbers. Doubles are twice the range. It's like, I don't know. Two of them. One of them. Two of them. One twenty-eighth or something. And then, I don't know. I'm used to doing double-scripts all the time. I didn't want to put it up. When you set an element, and it has to be one of the variables, is that like two double-scripts? Yes. That's apparent, but it's actually over as far. I just want to say, like, one slash with me, that's going to take inspiration. Thank you. Thank you. Thank you. Thank you.


Some tragedies in human history are so monstrous and of such magnitude that we resolve to commemorate the victims every year, to show them the respect that was denied to them in their lifetimes and to ensure that this will never happen again. Today we remember over 50 million African women, men and children who suffered the horror of enslavement and the transatlantic slave trade over a period of 400 years. We honour the resilience of those who endured and paid tribute to the memory of those who lost their lives. This year's observance, which takes place as we commemorate the 75th anniversary of the Universal Declaration of Human Rights, reminds us that despite years of work, racism, the ideology and harm that underpinned the transatlantic slave trade is still with us. Racism marks out some people for lower quality services, for fewer opportunities and pervasive corrosive contempt. Racism brings exclusion, discrimination, hatred and conflict. And those who endure this racism even today are often descendants of those who suffered enslavement in the past. Last month, I undertook a visit to Haiti, a small country that played an immense role in ending the transatlantic slave trade. At one point, Haiti represented one-third of the transatlantic trade in enslaved Africans. It was also the location of the first massive revolt by enslaved people demanding their fundamental rights as human beings. To Saint Louverture, who was born a captive, enslaved from birth, led thousands of men and women in revolution and won independence for his people, a remarkable achievement at the time. Haiti is poor today and its people suffer deeply from inequalities, from underdevelopment and horrific gang violence. Many of these structural issues have roots in the exploitation and vicious harms perpetrated over generations during slavery. But the people of Haiti are rich in culture, in creativity, in ingenuity, in courage and in pride. The history of slavery is a terrible reminder of inhuman suffering, injustice and loss. But it is also the story of a victorious struggle against oppression and for freedom, a quest to fulfill our universal human rights. These rights are the founding principles of the United Nations and they are the basis of sustainable development and peace. To meet the challenges that humanity faces today, we will need the free and full contribution of everyone. And that means fighting racism and the legacy of slavery which is still at work all around us. Racial discrimination is especially harmful to the women, men and children whose equality is denied and whose rights are violated and blocked. But in a proto-sense, racism damages us all. All of humanity is made poorer when groups of people are demeaned, dehumanized and held back from realizing their full potential. In this anniversary year of the Universal Declaration of Human Rights, it is urgent that we renew our commitment to eliminating racism and not just our commitment, our action. So in 2023, how can we honor the memory of the victims of slavery and the transatlantic slave trade? Working to dismantle its ideology of contempt and oppression with effective implementation of strong policies and laws. Working to abolish its legacy of exploitation and structural inequalities, including in the use of human and natural resources and between developing countries. And working to redress and correct its lasting consequences, including racist practices and policies in schools, law enforcement, healthcare and employment. On this day, I remember the millions of victims who were torn from their homes, sold and exploited. I honor their humanity. Thank you.


What's going on guys got Kyle here with Layton sports cards and we are ripping 2022 select football six box number 58 pick your team Stop we had Andrew a with the Falcons Eric s had Packers had Flavio with the Bengals and Texans Got Jeffrey with these Steelers Colts Jets and Titans got Jeremy J with the Cowboys Jonathan L Has the Lions got Lewis F with the Raiders Maximilian H has Ravens Brown's Vikings We got Richard s with the Dolphins brought Broncos Cardinals got Robert G with the bills Rory C has Giants team Or the football team. That's the commanders Ryan M. Has the Chargers and the Seahawks got Scott J with the Chiefs got Stefan a with the Panthers We got Steven W. Rams Saints Steven P. Has the Niners and the Bucks got Todd L with the Eagles We got Victor F with the Patriots got Vito C bears and we've got will see with the Jax Alrighty good luck guys got six boxes second half case here or second half of the case number 58 pick your team style Good luck. Good luck. Still have some XR C's coming. Let's do it Steve. Let's do it Steve. I'm in I'm in Saw some pick in the last one. Let's see some party Wouldn't mind some more pick it as well. See some party though. There's a Jack Jones light blue rookie Patriots Silver DeMarvin Leo Steelers scary Terrence Viska, we've got a silver field level Tyree kill the cheetah Montgomery There's a red Russ Mr. Unlimited Got a silver rookie Keon green King and green Texans redemption Redemption Remandre Stevenson redemption It is Damien Pierce on the rookie signatures maroon nice one there for the Texans Damien Pierce Otto Rookie signatures maroon got co-comment Hutchinson Phenomenon got a silver AJ Brown and Davenport field level zebra zebra zebra Wait is it go this way? It his rookie zebra cave-on tibido for the Giants. Where's Manny? That's a Manny card right there zebra tibido nice hit their Giants That is sick Kenny picket neon silver Right behind it got a seikwan silver and seikwan base Righty guys. Let's keep it going here. Let's see some fire Desmond Ritter Got purple this one's tealaw Purple the 75 Cooper cup and Kamara Josh Allen silver sensations Silver Malcolm Rodriguez club level Greg D number to 10 we've got a gold Jersey. This one's got a nice number patch Amari Cooper for the Browns Nice gold Jersey there silver Malika Willis rookie Coho coho purple Joe Burrow Banks Silver a quank well Titans, what do I see looking at me? What do I see there? huh Justin Jefferson Tri-Color and This is gonna be the five green auto is Derek Carr go into the Raiders Derek Carr Raiders out of their number to five The new Saints QB Nice low numbered car there for a five or two of five. Sorry two of five. It's looking at Jersey number two of five Malcolm Rodriguez. What's up Jonathan? How we doing today, sir? Hope you're having a good one get the spam risk call right now should I answer it? See what happens I get so many spam risk calls, man. There's a silver Javante Williams and Derrick Young Alrighty guys box two Box two got one football coming up next guys one football up next Got 18 left 18 left Alrighty guys, let's go box two here. This is six box half case number 58 Select pick your team style Pick your team style Yeah, pretty good Jonathan can't complain man can't complain I'm having some fun breaks this morning, man. We've been hitting pretty nice. We've been hitting pretty nice this morning Had a kidney picket to two in the last one for Jeffrey That was uh, that was a banger couple golds Here's Nikobi Dean purple rookie birds And this one is $7.99. It's going to be Darren Sprouls on the jersey auto. That's chargers Darren Sprouls haven't seen one of these in a long time Chargers on the Sprouls Nick Chubb thinking eagles mostly for the Sprouls, but he did have a He went around a couple of different places for sure. What's up, Tocque? How you doing this morning, sir? Silver Javante Jason Kelsey Going on Tocque Glasnasty 16 Glasnasty up the bat or up the pitch He's an Oppenheimer dude. He's a star I know Got a blue uh blue power to $1.99. Dac Marvin Leo silver Steelers Stingly Yeah, I think so too Randy. They've got a really good offense. Alave's very legit There's a brian burns silver go nulls. Alave's legit. Hopefully uh mike thomas comes back with some uh Some spring in his step. He was not too great the last year when he came back from entry There's the 25 we've got another tie-dye. This one's Trayvon Walker Jags I think it's next week, Tocque. Malik Willis rookie silver. It's the end of the month It's the end of uh july. So I think it's in two weeks actually I think it officially starts on uh The monday two weeks from now Dalvin cook there on the silver uh silver sweet level Kenny picket base Got wandale robinson number the 75 white or 35 white wandale Silver and joku bobby trees We'll have to find you Tocque. There's a uh zebra zebra zebra neon icon zebra And it's gonna be garret wilson. Nice one there jets zebra garret wilson on the insert You go joe Nice little jets card there, uh jc horn Cameron thomas Who had the jets there one of the last teams taken? I was jeffrey That was jeffrey nice hit there jeffrey On the zebra uh garret wilson now Silver aj brown got remandre stevensson Mack jones this one is auto nice one here white auto for the saint's chris olave chris olave for the saint's there to 35 nice low numbered saint's auto That one is uh steve w Nice one on the olave Got mike will that one's probably close. I don't know It's been a nice case guys It's been a really nice case to select so far and that is jerry judy on the tie-dye field level Baranco's there number to 25 Case continues Bailey zappy base got a silver can he pick it rookie? John taylor man Yeah, we got a forest forest lane Sean rich sarah Rocco and Halley, I believe are going up to the national toke I think that's the uh That's everyone going There's my jay sanders there try color to 199 Silver cooper cup jc horn Oh ready guys box three Let's keep this heat going still should have two xrc's coming as well Let's keep the heat going Silver chris olave phenomenon Silver abraham lucas rookie jason kelsey silver alec pierce rookie latimore Nice, we got whites on the uh field level rookie jahan dotson. Nice one there commanders jahan dotson that one is number 235 Commanders field level silver chyler murray jaylon mourn rookie another tie-dye this one is rookie swatches danie gray this time to 25 Danny gray Nice another tie-dye olave silver saints Stingley let's keep it going man. This has been a killer face Let's keep it going Traylon berks, we got egg jaylon hurt silver uh club level or sweet level It's between club level and sweet level. I guess the sweets are all inside Clubs aren't quite as fancy There's a jonathan taylor trial uh tricolor. I wouldn't know it's 149 Bailey zappy sweet level silver jake fergusson and john taylor silver lambjack Got tractor sido There's another white this one's aamon ross st. browns sweet level number 235 there lions St. brown a really good receiver. There's silver tray lance bobby trees xrc Xrc It is qb4 on the xrc. That'll be will levis Will levis qb4 And let me guess who uh scoop the titans That is jeffrey jeffrey grab the titans Appreciate you jeffrey scooping the titans getting xrc4 will levis nice one there jeffrey Got a silver field level t higgins And mike will let's keep it going guys. This has been a killer case killer case auto 2199 is going to be zamir white rookie um raiders That raiders I'm ready guys. Let's keep it going There's russel wilson blue sweet level 299 silver gelani woods rookie nick chubb Got a die cut This one is green arnold ebuketier green rookie and die cut is gold die cut auto rishad bateman ravens there And a lot of gold a lot of a lot of everything in this case Really nice there rishad bateman 10 to 10 You go ravens jc horn Uh, the dark green is soul not the light green the lime green is not the dark green is the 90 or to five Only the dark green Alrighty guys box four Still got 18 left guys in one football Breaks next Alrighty good luck on number four This has been a heck of a case man Keep it going Silver scary terry miles garret crystal lava base That one is 999 silver jersey seguant giants Got a silver almond raw Clark Oh boy, where's the card? Just kidding. Just kidding. I would never Start scrambling for the yellow card. All right, we're gonna see him. There's a dak press godney on icon silver Ed ingram silver rookie Bailey zappy Tri-color toa god silver patty Vonte smith Neon signs patty. We got a silver rookie damar hamlin bills Matt judon got purple rookie trevor penning Trevor penning purple 75 desmond ridder sweet level rookie DJ morris silver and pat fryman. What is that noise? There's a kidney picket on the phenomenon Silver field level is tay adams Raymond Silver sensations olave Amari cooper silver and brock purdy on the field level Brock purdy That worked last time maybe we'll get some fire And we'll get some fire here. That worked very well last time Trying to will it out of me. There's a tri-color. Um, Mike, uh, mike white to 199 silver zion johnson quatoriano Come on now Come on now Rich said to come on. I got to do it I got to get a gold or something here There's a uh, Khalil Shakir rookie to 199 and heineke is going to be our auto there blue for the commanders to 99 auto dalvin cook Go notes Oh nice one here. We got rpa purple the 49 is going to be hutch Nice one there lions on the rpa purple One is three out of 49 nice one there Beast for the uh lions Tet free air rookie john michie Got a red dachan watson filler silver rookie jack sandborn Kenneth Murray Alrighty guys two boxes left Good luck. Good luck. Alrighty guys one football break next still got 18 left Pick your team style box five box five Silver snapshots christian kirk got a aj dylan silver nick bolton Josh allen got silver rookie of josh pascal lions tommy tom braid Oranges that tie-dye that's tie-dye. It's going to be jamar chase nice one there bangles the 25 Hey appreciate the subscription richard jamar to 25 silver john taylor and renfro renfro There's the 75 we got jumbo jersey white is uh isiah spiller chargers isiah Brian robinson rookie silver Cordero Silver is just in field sweet level mark angers There's a ridder rookie falcons silver of sky more And mccaffrey There's blue that one is erin donnell field level blue blue power to 49 T law we got a silver zeke to make prod a lot of there's scary terry club level try cut Silver drake london rookie falcons Dawson nox xrc xrc It is wide receiver one xrc. That's going to the seahawks Jackson smith and jigba there wide receiver one for these seahawks nice hit on the xrc birds Wide receiver one jamar chase we got a matt judon silver field level joe mixon Come on now. Let's finish strong This case has been on fire. Let's finish it strong. There's auto to 99 red rookie auto hassan haskins titans marcus jones rookie This one is herbie blue Nice sweet level herbie to 99 silver mccaffrey abraham lucas josh allen try color And this one is silver on the superbowl auto shekeel barrett go bucks There you go shack barrett there on the auto bucks CJ moseley and the last box guys This is box number six. This was six box half case number 58 number 58 Good luck. Good luck still 18 left on one football link is right there in the chat Anyone's interested in grabbing up some teams Again guys, we'll have sam starting at about five o'clock today He'll be getting some more group breaks going and he has personals at the end of the night as well Um, only a couple in the queue right now. So plenty of room guys Maybe he wants to get a personal going. Uh, it'll start about midnight. That's when he's finished. So our schedule to end tonight So not too long for a personal. Um, kin walker. There's silver neon icons We have more personals tomorrow with matt starting at 10 a.m. As well He'll be going 10 a.m. till about 3 30 And then i'm coming in at five and we'll go till midnight. So plenty of space for personals tomorrow guys We going all day To 99 we got silver jersey david montgomery bears Bears jersey got a silver alec pierce rookie Jalen warren There's a blue power. This one is charles cross Seahawks to 149 and we've got rpa to 49. This is calvin austin That is steelers purple rpa to 49 Nick chubb base Silver alave Jason kelsey Neon icons got a silver jake fergusson Cowboys Cowboys Jordan davis There's brandon iuk for these uh niners there That's tied out at 25 iuk by lamb jack silver stingly Come on. Let's finish strong Let's finish with the big one. There's tricolor russ mr. Unlimited. It's 249 tractor cedo Got a silver tyler smith rookie John taylor Hey appreciate you joe and eric grabbing some spots in finance later with sam There's tibetel rookie uh sweet level silver Mr. Unlimited you got to be unlimited Yeah, that video is ridiculous Russ is one of a kind for sure Russ is one of a kind There's a silver jalen tolbert sweet level rookie You got to be unlimited Can you pick it rookie on the front? Got red brian robinson Commander's rookie to 149 Silver is alante taylor rookie bobby trees Two packs left tricolor herald ramon filler got a silver rookie cameron dicker Dicker the kicker jc horn and last pack Good luck guys Jalen hurts this is christian watson last pack mojo tie die auto for the packers Nice one there packers. What a way to finish Tie die rookie auto christian watson 20 to 25 Very nice one there to close us out Mike will All righty guys that'll do it for a select half case number 58 pick your team stop It's one second here. We'll get a quick hit recap going Appreciate everybody We had autos for texas there damien pierce Um, that was xrc wide receiver one that is going to be jackson smith and jigba seahawks Got shekeel barrett um Superbowl autos zemir white auto uh darin sprawls jersey auto Have taylor heineke number 2 99 got his son haskins to 99 got calvin awson rpa That one is the 49 got hate hutchinson to 49 There's a lavet whites auto number 35 and we had to 25 christian watson tie die Had gold reshaw bateman die cut auto and darin card of five on the green auto And max we had titans xrc qb4 will levis And we had zebra neon icons garret wilson both going to jeffrey there All righty guys that will do it for 2022 select football half case number 58 pick your team style Got some one football coming up next


So let's just take simply operating characteristics of these smaller units, neurons and chips, before we even get into higher level systems differences, like parallelism, etc. What is the clock rate for a computer? That's how many gigahertz you have, right? That's how many computations can be performed per second. Roughly on the order of, say, 10 to the 9th, it's probably higher for some of the faster computers and that just keeps going up, that's 10 to the 9th. What's the speed with which, say, neurons can compute things? Well, a neuron can only spike, that's the way information is transmitted from one neuron to another with an electrical signal, set down its axon, where it stimulates the dendrite of the neighboring neuron. I would say about 200 spikes per second would be really high, so let's say, best case scenario, 10 to the 3rd is this clock rate, 10 to the 3rd being about order of one spike per millisecond, which is probably faster than we can do. So you have 10 to the 9th for the computer, 10 to the 3rd for a neuron. What about signal transmission? How fast does that signal move along the axon? Well, in computers, electric signals obviously travel the speed of light, which is, if I recall correctly, roughly 10 to the 8 meters per second. How fast do signals move along axons? Roughly 10 to the 2nd meters per second. So 10 to the 9th, 10 to the 3rd for a clock rate, 10 to the 8th, 10 to the 2nd for signal transmission speed. What about noise? Signal to noise ratio. Computers, basically the problem with noise is solved. If you run a program the same way, you always get the same answer, right? There's very little noise in these circuits. Some thermal noise is estimated around 10 to the 6th, which is 10 to the 6th signal ratio to the noise ratio. In the neurons, we're hard to estimate signal to noise ratio because we don't even really know what signal is, but it's on the ballpark of 1, you know, charitably 10, right? So the noise is very, very significant, right? So if you look at these, just these three operating characteristics, and we can discuss some of the systems level differences as well, you have 10 to the 6th, that's the order of magnitude difference between these operating characteristics. So then why is the computer used as a metaphor? And there's a good reason why the computer is used as a metaphor, right? I mean, there have been all kinds of metaphors about the brain throughout history. Hydraulic engines, watches, right? Electrical telephone signals, right? The prevailing technology at the time, and many articles and books have been written about this, is generally the leading metaphor for the brain, because the brain obviously is capable of the most remarkable functions possible. So I want to match that with whatever technology is capable. And this dates back since the, you know, ancient Greece, the time of ancient Greece basically, these different metaphors have evolved over time. So now we are able to get computers to do very, very remarkable things. Because we can do remarkable things with computers, because we can do remarkable things with our brains, there's a natural tendency to say brains and computers are alike, they're not, okay? How we're doing those things is entirely different. And then you mentioned the others, parallelism, right? Computers do not work in parallel. There's some efforts at doing parallel processing, neuromorphic engineering, none of those have panned out. Standard computers operate basically in series, and very rapidly, okay? So the motif for computing in a computer is lots of serial computations. In the brain, you've got the slow, sloppy, and precise computing, but it's highly parallelized. And that's because each neuron in the brain connects to ten to the fourth other neurons, roughly ten thousand other neurons. That's a rule of thumb, some are more and some are less. But the whole architecture is different. Maybe you've heard of that game, six ways to Kevin Bacon, or six connections to Kevin Bacon. Six degrees of separation. Six degrees of separation, right, Kevin. And so you start with one name and then you make these associated jumps. Well, something like that actually existed in the brain.  And the idea is that no synapse anywhere in the brain is more than three or four synapses removed from affecting some other synapse. So these are just testaments to the degree to which there's this parallel architecture where everything is talking to everything simultaneously. But somehow the system is organized in a way that it's able to make sense of it all and perform these remarkable functions, okay? But this doesn't mean you're doing it any way like the brain is doing it. In fact, again, the differences are striking. How did these object recognition algorithms manage to all of a sudden perform at this human level of performance? Was it because there were architectural changes? No, architecture's been the same since the early 80s. Is it because there are any algorithmic changes? No, algorithms have been the same since the 70s. What's changed is processing speed and the amount of data. Particularly, you've heard of Moore's Law, processing speed doubling. What is it, every two years or something? That has been maintained for a long time. This is what's going on. We are good. We have developed the technology to enslave electronic circuits for performing trillions and trillions of calculations in series to perform tasks amenable to those operations. And that's why object recognition has been a problem where we've made a lot of progress. It's not going to be the same for all the problems. As I said, the problem of motor control with Roger Federer, for a variety of reasons, you have all these interaction torques between all the degrees of freedom of your body. It's a continuous problem as opposed to a discrete categorization problem. Those are hard problems, all right? When there's a computer or a robot that can play tennis like Roger Federer, then we've solved those problems. It's going to be a long time before we ever get to the stage because it's just a different type of intelligence, okay? Our official intelligence will work better for emulating some types of natural intelligence than others. Now, you talked about differences between the computers and the brains. Let me give you another strong one, which also harkens to an area where I do research as I was discussing mnemonic techniques. And so the question is, how is information stored and processed in the brain? In the brain, information is stored in bits in these registers, right? I have my 10101010, everything's reduced to a binary code. And I have an address by which I can connect to that register. So if I want information somewhere, I need the address, okay? Then I go to the information. So one point about that information is that it's segregated. It's localized, it's only there, okay? And the address is what connects the user to that information. The brain is entirely different, okay? All information is stored relationally, associationally, in terms of its content. And it's all in a distributed fashion, meaning that information is encoded in distributed activation patterns that share neurons for different pieces of information. It's not segregated in one register. It's spread everywhere, okay? And I don't have someone reading it with an address. It's organized by content. So in other words, you have this vast associative web inside your head that's embodying information about all your previous experiences and knowledge. And information that you learn newly will have to make sense and be referenced or grounded by this associational web. That's how it enters it. So again, this is just an entirely different paradigm of how we learn, right? And how we think, then how a computer does it. And one way that you can see this is in the use of mnemonic techniques to improve people's memory. I don't know how much your audience is familiar with it. Lots of people are familiar with it. But are these ancient techniques dating back to Greek civilization, a gentleman named Simonides, and even actually further back than that? And if you apply these techniques, which I'll just describe very cursorily, you can remember huge pieces of information. Now why was this important? Well, in the old days, papyrus was expensive. They didn't have computers. There was no printing press. So you want to learn vast pieces of information. You want to memorize your speeches, et cetera. People practiced at this, okay? And all of these techniques were based on association. You would take some new information and you'd relate it to some old information.  And voila, the magic of these techniques was that it became really easy to remember lots of things. This is now a lost art. We completely ignore memory because we have these electronic devices. Kids are not even learning the multiplication tables in school systems. Or handwriting. Or handwriting, right? But think about what an incredible mistake this could be if these memory techniques embody a more general, associative computing faculty that is being ignored. In other words, if association is a fundamental paradigm of how we process information, i.e., relating new information to old information and experience and putting it in context. And that helps us not only memorize things, but it helps us with pattern formation, concept formation, even creativity, linking different things to each other, right? It's all part of general neural computing, which we don't really understand. And if we all of a sudden omit one major component of it, memory. Because the way memory is done in computers is so easy that we have infinite amount of memory. It would be like not running on the treadmill, not staying in shape because I can drive a car in a train to wherever I wanna go, right? That wouldn't make sense. You gotta exercise the fundamental faculties of your brain. And if association in memory is only one instantiation of it, is an important faculty and you're ignoring it, that's a problem. But you only realize that if you try to think carefully in a nuanced fashion. What are the differences between how the brain works and how a computer works? And they are profound, the differences are far greater than similarities. Only similarities is that they're both capable of remarkable feats.


Look after Mr. Bond. See that some harm comes to him. Let his death be a particularly unpleasant and humiliating one. Every person who even comes into contact with that microfilm is to be eliminated.  They're super efficient in getting your chores done.  Every Bond villain, or married man, will tell you that it's super convenient to have one. And in the universe of Bond, the henchmen are mostly used to kill people. A lot of the times these henchmen have a unique trait, or appearance, or weapon that distinguishes them. And throughout the Bond films, we've seen many, many male and female henchmen do the dirty work of the main villains. So in today's episode, I'm discussing my personal Top 10. And just to clarify, I don't consider villains like Rosa Clapp, Arumov, Orlov, Whitaker, Renard, or General Medrano to be actual henchmen. To me, those have always been more like secondary villains with their own motives. We're talking the proper henchmen that solely work for the main villain's benefit. Jaws! You obey me!