I was going everybody forced here ripping 2223 prison basketball hoppy 4 box number 62 pick your team style We have Alan K with the Celtics Anton net's Charlie S bulls Bucks and sons Corey S. Hawks Daniel B Blazers Dennis. Oh heat Eric W. Pacers and Spurs Jeff T warriors Jeffrey H. Pistons John K. T Wolves Costa Raptors Curt D. Lakers Marvin and Nuggets Mike K. Nix miles H Rockets Orioles C Grizzlies and Pelicans Paul G. Has the jazz Richard K. Cavs Thomas C. Mavericks Todd P. Thunder Clippers wizards Tom S with the Kings Victor Hornets Zach with the magic and give me one sec that name is not those characters Looks like Nishi Gaki Nishi Gaki has the 76ers Thanks for joining everybody best of luck. Oh, Anthony. That's that's that's really unfortunate That's really unfortunate Anthony Blue ice Lakers will Chamberlain number to 125. That's silver Davey on Mitchell Kings Benedict Mather and rookie Caleb Houston Can't spell shambles without Sam Ruby wave rookie Blake Wesley Spurs Pulsar John Collins Hawks Ruby wave RJ Hampton magic Silver Edge Well and Bean 76ers Walker Kessler Walker Kessler Ranger Pulsar rookie Chad Holmgren nice card thunder silver Phyllis Durknevetski for the Mavericks Ricky silver Jaden Hardy there you go Mavericks Dyson Daniels AJ Griffin You think so Victor are they up I just see a bench interview Squirrel is halfway through. All right. All right. All right Blue Prism Michael Porter Jr. Nuggets That was number two one ninety nine. It'll be right Donnie hyper Nicola Yolkich Nuggets Donnie's fine guys shade on sharp Silver Phyllis Allen Iverson for the Sixers silver rookie Bochamp Bucks Chad Holmgren rookie for the Thunder Usman Jang This is a PYT. We don't show the list because it has Like customer information, so I read it off at the beginning on the PYT's But on random as we post random results to our website and they're down on the live stream, of course Ruby wave Nicola Yolkich Nuggets Pulsar Gary Tran Jr. Raptors wait wait Isaiah Mobley Jairan Durant nice Mojola Braun James 11 at 25 Let me find out who got the Lakers here Kurt D with the Lakers Mojo LeBron Sweet Mojo LeBron Right Donnie Yeah, so very Tim Hardaway Jr. Mavericks Christian Brown Jabari Walker Red Prism Middleton at two ninety nine for the Bucks Nuggets on the Gillespie rookie base autumn Hyper rookie Scotty Pippin Jr. Lakers Sliver Jalen Brunson for the Knicks Kyle you want to use the the autotune oh shag bhaji jazz rookie Purple ice to 149 Dominique Wilkins Hawks With a Mark Williams Hornets rookie base autumn got a hyper John Wall Clippers Kristi Bedell Don't know you're gonna only use it Ruby wave Davis Burton Mavericks Silver a Lou Dort Thunder Red Prism Moses Moody Warriors that one's numbered to 299 Sean Kemp Sonics base auto that one's going to the Thunder Pulsar Keeta Kings How's it going Donnie? Hornets Pelicans Kings Silver prismatic you'll get you know gets Silver valetian is pelicans gotta get more Jaden Hardy Can you get the yeah, but I have to pay more taco 12 pack Probably Drink water Ruby wave Usovich for the bulls water hyper Russell Westbrook Lakers.  No, I only drink Celsius Purple RJ Barrett for the Knicks numbered to 99 how much do you think you spend on Mountain Dew and Celsius? Silver John Wall Clippers to be fair. I've actually Blue prism Van Vleet to 199 Raptors They calves Brad already base auto Hyper rookie Isaiah Mowgli Cavaliers Jaden Ivy rookie pistons. Oh, there's water I'm out. Oh, man Orange wave Van Vleet Raptors to 60 Yeah, I was kidding he's screaming At least to have insurance Ruby way magic Johnson Lakers Hyper magic Johnson Lakers Keegan Murray Taco 12 pack what we're checking is pretty good That's pretty good Silver Pat Conniton for the bucks like I ran him Hyper Josh Hart Palak are blazers or blazers. He hasn't been on the pelican in a long time Maybe not a long time. Oh, so you can't buy them in bullfinish. Oh, that was on the board first Silver feel is Damian Lillard blazers Silver rookie David Roddy Grizzlies Share for us to speak I won't be as bad purple ice tricky jade Thunder a nice card 79 out of 149 Hyper Westbrook Lakers Baldwin That's coolio Don Donaru how would find her soon? How is it? Yeah Do I look Like I would know Yes Actually, okay. Well, that's okay. Come on now. Take it easy. What? Take it easy. Throw some glasses on him with pretty much. Oh my god. This is unbelievable Who is this person with me is what I want to know you should dress up as an emplanders for uh, I have contained my rage long enough It'd be a really cheap cheap costume. We had just got a sweater and some some slacks That's true. That's true. All right. Be quiet now.  Excuse me kings pelicans hornets So we've got pelicans at 44 You got kings at 149 And hornets at 29. So uh all on sale guys. Let's get them filled up breaking after these two boxes Then there's some teams left in the uh four boxer number 64 as well Another spot came in for another couple spots came from fast break at least So That's five to go on fast break. That's cool Sweet Short range. Yep Gotta get the running back involved, you know Donny knows Oh, yeah Ruby way bugged on of it chocks. He plays uh madden I don't but on rookie difficulty silver wiggins for the thunder. Listen. Yeah Matt would tell me how he plays madden on the easy difficulty and he gets like 300 rushing yards the game and i'm like Cool, Matt like great Good job, buddy. That'd be like playing pac-man without the ghosts Silver luck of the lottery benedict mat they're in pacers High score I never heard that exam Silver shag her legers. I just came up with it. Pretty good. Jamar is a junior rookie rockets pretty good Yeah, I gotta give force that one Playing pac-man without the ghosts or what uh Silver charismatic white line clippers are one of my buddies used to play on the hardest difficulty You got silver rookie Vince Williams jr. Grizzlies on nhl on like is uh, uh, not all pro but on The one about it But on um blue prism stottemire sons to 199 Hyper j crowder sons It's like like franchise mode. Sorry franchise j naivy and he playing like a heart of difficulty I'm like he was okay, you know just trying to like it's like a playoffs Yeah, and if he was down he would don't do it do a lot But I would I would see him like switch control the other side and like change you like polio teams goalie That's awesome blue ice Nemious kita for the kings to 125 I just I would just laugh silver norm price like dude. What's it's difficult Like yeah, I get it silver clippers norm bow Well, yeah, I know I'm just laugh. I'm not saying that like you're wrong or it's your video game I don't care. I don't care how you play your video game Ruby wave dominique wokens for the hawks Paul sergeant mulberry nuggets as a ghost He's out.   Get actual good What is the game? Oh dead islands. Yeah, that's pretty good Orange present Kevin arant number to 49 for the net's nice card 17 to 49 slim reaper Well, it took a long enough to come out with a silver bird tans mavericks. This is like it's like a remaster, right? No, this is a sequel Okay, like it was it was talked about like they first announced it back in like 2017 Didn't they make three of them? Oh, no, I'm thinking of something else What's the one where you're in the mall Dead rising. Thank you. Thank you. Thank you. It's you can see the infusion.  I'll start culling johnson spurs I mean Dead rising was the predecessor, you know It has its uses. I've played that game a lot on like xbox like 360. I think yeah That game should never play it. It looks fun. That game gets difficult that gets difficult though Ruby wave jordan clarkson jazz Like you weren't times but as time went on it like there's more and more and on yeah Rookie hyper andrew nemard pacers That's a great idea The illegal Stop Stop get some help Oh, was it times? I don't remember It's been a while Silver julius randall nicks quiet you Not even like the good one. What's going on? I don't know Red prism pistol pete number two two ninety nine jazz max christie lakers on the rookie base auto Hyper john stockton jazz patrick baldon jr. There maybe I'll play I haven't played the first dead island, but I'll probably play a second one First one was good, but I never Oh, I got you rob. Okay. Oh, yeah, that's right. Okay. That is okay. Okay. Yeah. Yeah hyper wiseman warriors Wait dead rising in the mall. Okay. I mean rob tells you what you're talking about Like I said, I never played it. I thought it was a free room game. Are you playing too now? hopefully at some point Maybe once I get moved this weekend, I'll have a a little bit of time to play Um, fall uh, it's a Jedi survivor ruby wave a chuah raptors pulsar jaylen williams thunder rookie christian brown jabari walker One of the first won't come out like late 20 late like late 2010s, right? Or no late 2000s blue eyes zaclavine bulls Wait, what are we talking about number to 125 the first dead island the first dead island Silver Franz Wagner magic around there like probably 2012 or something like that Okay, I was gonna say one of my friends was like super into it or like, I don't know if you like loved it loved it, but like before it came out he would hot you talk about it a lot I thought it was a pretty cool game Kind of loses your interest ruby wave rookie Dyson Daniels pelicans hyper contavious cauldwell pope for the nuggets you're playing that Dying light too. Yeah, that'd be it You liked it Yeah, I mean like they're they had some bugs, but it seems like it's better now 2011 there's still some things I have to do in it, but got silver ben simmons nets Andrew nemard Guys, kenzie's got no queue over on drip The only place for personals tonight No queue on drip. It's just about last call too. No more orders coming in pretty soon That'll be you've got a Blue rookie to 199 david roddy grizzlies. Look at this Lakers again another mojo this time a pat riley signatures So 25 congrats lakers two mojos two legends Assassin's Creed black flag is good pirate game. Oh, that's amazing Hyper rookie jibari walker blazers think they just remastered it too, right? They did yeah Silver firework step carry for the warriors See if thieves. Yeah, very different games though. Silver Tony Parker Spurs just overall It depends on what you're looking for Looking to get um wrecked by some like 12 year olds. Oh, see if these all day. See if thieves go. Yeah, go there for that You actually want to have fun? Black flag. Yeah hyper brownie be up for the wizards Chet Holmgren, I'll put that skull in bones too You want to get called dog water by some uh by some middle schoolers go play see a thieves. Yeah, it's a great time dog water, bro silver fearless trey young hawks Silver rookie Patrick Baldwin jr. Rookie for the warriors Shade on sharp play call duty for that. Yeah Scree like what what would he call him? campers Rob call Rob has a name a name for him Skull and bones purple ice damey lillard blazers number to 149 Oh squeakers. That's what he calls them squeakers Bulls are Marcus smart Celtics Rich uh Catherine skull and bones actually did come out. Um, I think it was last year I want to say it release At least that's what They had a release date.  Okay, see Todd P Big j dub there silver pat bav lakers color ben caro What did brad send me? probably Red kid cunning and sit to 99 for the pistons Bulls bj Armstrong on the base auto hyper jared alan calves Kessler Ruby wave Kyle Lowry for the heat. We've got silver jail in a well teawolves minot and lofton That's annoying joshua. You know, it's gonna be awesome. Uh, this year next is starfield I don't understand the concept of the game, but it's gonna be great. Just don't worry about it. Okay Cool, glad do we agree? Yeah, yeah I said that like not confident and I'm not sure if I should believe you it is it is again guys Uh, no cue for personals No, cue for personals are drip almost last call if more orders don't come in kenzie's gonna call it a night Let's go ahead and do a recap here Gavirino Whoa to nothing Autos of bj armstrong mojo pat riley max christie adrian daintly silver brad darty shonkamp Sonice go to the thunder mark williams and colin gillespie Just tagged that one thunder Orange jdub three of 49 thunder with a purple ice jdub to to 149 for the thunder And mojo lebron james 11 and 25 that'll do it. Thanks again everybody on to number 63


So nine years ago this summer I had a freshly minted PhD in finance from the University of Arizona and I was about to post to my first academic job at Utah State University and my first academic teaching assignment was to teach the graduate level sequence in econometrics and to tell you the truth I had a little bit of PTSD for my own learning experience coming through graduate school with that particular sequence and I was searching about for a new way a new a new way to teach econometrics and deliver it and as I was searching I was very fortunate to come across this what to me is very important paper by Peter Kennedy and Kennedy contends that we should teach statistics and econometrics especially the convergence concepts asymptotics with Monte Carlo simulation and that this helps the students bridge the gap of the concepts and connect with those concepts in a much more meaningful way than just the symbolic mathematical representation. He contends that most students after even several courses in statistics and econometrics don't fully internalize the main ideas of econometrics and my teaching experience is that that's very much the case and he points out that the the crucial concept for students to learn that defines statistical thinking as separate from the mathematical representation is that of the sampling distribution concept and simulation with the Monte Carlo method is particularly powerful tool for that. This paper sent me on a nine-year intellectual journey that I'm going to share with you a little bit about today but let me start with a demonstration. Imagine that your students of mine maybe an introductory statistics or econometrics class and my task on the day is to teach you about the law of large numbers. I could put up a definition from a textbook like this with some some words and a definition some mathematical representation. I could go more in depth with probability conversions concepts but my experience is when I put slides like like this one and the next one up that my students I as glazed over and I they don't connect with the material in any meaningful way and I tend to lose them. Imagine instead that I just start with a simple example. Everyone's seen the the example from a baby statistics class of starting with rolling a fair die that has six sides and equal probability for each of the outcomes. We can calculate with simple mathematics the expected value of the population of being three point five. Of course we can verify this in in Python with some simple calculations so that the students can verify this for themselves. But even more meaningful I can only after a little bit of instruction about Python have them run a simulation like this. So what this simulation does is it rolls the die a certain number of times and takes the average and what we see plotted is on the horizontal axis the sample size and the dot on the vertical axis is going to be the average taken from that side. So they say don't run code in presentation but I'm going to risk it. So imagine that we start with sample sizes one to ten. So each of those ten points is an average taken from rolling the die that many times. And what I can do for my students is simply increase the number of sample size runs that I do and you can start to visually see the convergence. If we go to a thousand the the story begins to be pretty clear here. We can see this fight. I'll stop at ten thousand because I don't want it to run and run. But in the in this funnel like shape of the graph the students can immediately play with and interact with and connect with the concept of the law of large numbers here. We see that the sample average as the sample size increases converges to the true population size. So my experience has confirmed Peter Kennedy's contention that teaching with simulation methods is a powerful pedagogical tool and I'm going to talk about how I've incorporated that in teaching computational finance. So the year after I arrived one of my next academic assignments was to create a new course that hadn't been taught before in computational finance for our master's program. But this this created a bit of a conundrum because most of my students had never programmed before. They are trained in economics and in finance and have never coded before. And what I wanted to avoid was the situation where at the end of the semester they feel a little bit like Delmar here. I don't know if you've seen this particular clip from this film but Delmar is a little left out of the storyline. And I don't want the kinds of abstractions that they're going to see in programming to leave them behind. And what I want to do is use this as an opportunity to help them to learn to think in a new way. And so one of the question becomes what is the adequate level of abstraction to think about options and option pricing which one of the topics that we're going to to learn about in the computational finance course. By and large the students come into my course with pretty strong math and statistics skills. Pretty deep background as far as that goes. But as I said most of them have never done any kind of programming. And so my job is for the first third or so part portion of the course to teach them to program. And my objective is to use this as an opportunity. It is certainly a challenge but it can also be an opportunity to help them to learn to think in a new way that will augment and add to their mathematical and statistical thinking. This has been referred to as computational and inferential thinking. And of course Python is an excellent tool for this. It's designed for learners but they'll never outgrow it. And so it's been a very powerful tool for the first third of the course to get them up to speed in basic programming and then to launch into computational finance concepts. And again as I say I want to have them rather not just having a list of skills on their resume. Python is wonderful as you know but I want them to leave with a new way of thinking about the world. And whereas Kennedy is oriented towards econometric students and he wants them to think about the concept of the sampling distribution which turns out to be perfect for teaching econometrics at least of the classical variety. I need to adapt this a little bit. I want students to think about what we might call the predictive distribution because in finance we're always predicting forward a random variable, a random outcome. And I want them to be able to think about the payoff of an asset in terms of that predictive density but I can make a strong connection to Peter Kennedy's sampling distribution. And the Monte Carlo method turns out to be a very powerful tool for that as well. So I'll ask you if you can it's a little bit hard for those who have many years of experience but to think back to the time when you were first learning to program for the first time. And you came across concepts like variables and control flow and functions and how these new kinds of ways of thinking, these new abstractions sort of changed your brain a little bit, rewired your neural network. And I get to see this every semester as the students come in and are learning to think in a new way every fall semester. I myself learned to program with these intro books and they were wonderful with little toy games. So I'll ask you to think about what it was like to be a student maybe sitting in my class. I also remember the summer that I decided to dive into Mark Joshi's book on design patterns and object-oriented programming for option pricing. And I wanted to be able to deliver this to the students but in a more accessible way. C++ would be a very powerful tool. It's a kind of a gold standard in computational finance. It's a little bit inaccessible for my students never having programmed before but I wanted to sort of introduce some of these concepts especially the idea of design patterns with object-oriented programming. And so I want to introduce you to the module that my students and I build each semester together from the ground up. It's for educational purposes, it's to help the students understand a little bit about how to do some design in their programming oriented towards option pricing but it's not really geared towards production or research. Although on my last slide I'll mention a project that's moving Probo in that direction. So the first place to start is to help the students conceive of an option contract outside of their textbook in some representation in code. And so I begin with them with the facade design pattern. And so here we have the option facade class and it composes three objects, the option which is going to represent the option contract. What we're calling engine here is going to be a pricing engine and that sort of abstracts out the idea of a pricing model. And then the data object is going to represent market data. We end up not doing much with that but I'll mention it a little bit later. And then there's a single method, the price method and it's going to call out to the engines calculate method. And because Python is so simple and easy to present, this almost provides the students with a domain specific language to price an option and help them think about that in, as I say, a new way, a new mode of abstraction. So for those not familiar with what an option is, here's the textbook definition. It's the right but not the obligation to buy or sell another asset called the underlying asset at a preset time at a preset price. There are variations on that but that's the simplest definition. So a call option is going to be the right to buy the underlying asset and put the right to sell it. The strike price will be the preset price of the underlying asset and the expiry is going to be the date of exercise, at least if it's a European option. So how can we represent this in code? We start by creating a simple interface for the option contract that we can use derived classes to specialize. And so I get to explain to the students the concept of an interface and help them think about that level of abstraction of something that can represent different kinds of option contracts. And I'll draw your attention to the method, the payoff. That's going to be the key way to help them think about how to price the option is through its payoff function. So here's a simple concrete class called, we call here the vanilla option simply because it's the simplest kind. And what I'll draw your attention here to is in the payoff method, simply calling out to a composed object payoff and that's going to allow us, I'll give a second more here just to look at the code, but that's going to allow us to use the strategy pattern so that at runtime we can swap out the payoff function for different kinds. And this turns out to be really simple in Python because functions are first class objects and I don't have to create a higher level object to pass into the option contract. So I can create two simple one line functions to represent a call on a put option. And by this time students are pretty familiar with writing functions and this turns out to be a pretty easy exercise for them. So a simple demonstration of instantiating these so we can create a vanilla call option. Here with a spot price of $41, the expiry will be the 1.0, that's one year to expiration. And with a strike price of $40 and then I can simply pass the call payoff function to get the call payoff behavior. And I can do the same thing for the put option. Here I've changed the spot price so that we have more interesting payoff. And students can play with this in the notebook and get familiar with it and really connect with the definition of what an option is. And these tools provide a very powerful pedagogical environment for students to learn and sort of beyond the austere representation in the textbook to get to know what options are all about. So the next biggest part of the course that we're going to do is spend some time on developing different option pricing models which we're going to represent here as pricing engines again just to help them maybe understand and begin to use some of the lingo that's used on the street. But option pricing models are not unique and I want to have them think about that in an abstract way. And so once again we're going to use the strategy pattern. And so we'll create a simple interface for the pricing engine with a single method called calculate. And this allows flexibility to represent different kinds of pricing models. So it could be an analytic model like the Black-Scholes model or it could be a simple numerical model like the binomial model or even a PDE solver. One in particular that I'll be showing you is the Monte Carlo pricing model. A simple form of that. So here is a particular pricing engine, the Monte Carlo engine. And again if we look at the calculate method we can see that it's calling out to the composed object pricer. And that again makes it for the students so that creating different option pricing algorithms is as easy as writing different functions. And so let me give just a little bit of mathematical review. Not too much. I don't want to go too in depth. But to explain a little bit what's going on with Monte Carlo option pricing, we can take Peter Kennedy's idea about teaching econometrics with Monte Carlo method and simulation and apply that again adapting it to think about the predictive density for the option. It turns out that an option can be thought of as the present discounted value of an average payoff under many thousands of simulations. So the term in the parentheses is going to be the average payoff at the time of expiry. So m here is going to be some big enough number for the law of large numbers to work. And the term in the front e to the negative r t is going to represent a discounted value. And so with that as background I can now show the simple function that students can write. And again at this point in the course they're pretty adept at being able to write something like this. Just a few lines of code to represent the Monte Carlo option pricing method. The block of code in the middle there, the middle line represents the simulation. This is vectorized so we're running many thousands of simulations here at the same time. So z is going to be an array that's replications long and so that will drive many thousands of payoffs. I can take the average and discount it and I've got an option price. So we can test this pretty simply for a European option using the Naive Monte Carlo method. So we'll do some imports from Probo. Yeah, maybe I'll take a second now and tell you about market data. It doesn't do much right now except for abstract away the other bits of market data that are needed to price the option. But at this point the students understand the idea of abstraction and I can tell them that this might represent a historical database. Maybe it's streaming data from Bloomberg. The students have access to the Bloomberg terminal. This last semester actually did have a student put behind the market data object a SQL historical database and we could use this to price historical options. But typically that's just a small way to encapsulate those bits of data that are needed. So here I'm going to get the different bits that are needed, the Monte Carlo engine and the Naive Monte Carlo Pricer. And I can set up the market data. This is an example that comes out of their textbooks so they're very familiar with it. They've calculated it by hand. They know the answer a priori with something like the Black Shoals model or the Binomial model. So they have an idea about what the pricing method should, the answer that it should yield. And then we can set up here the option, both a put and a call option. And here so we've got a one year to expiry of $40 strike price. And I can instantiate the call and the put objects. And here I'll just run 100,000 simulations using that Naive Monte Carlo Pricer, build the pricing engine. And then we can use the option facade to encapsulate the call option, the pricing engine and the market data, and call out to the price method and it will yield the price of the option. So the Black Shoals benchmark here is actually $6.96. So at 100,000 repetitions we're coming pretty close to the true Black Shoals price. And again with Monte Carlo simulation I can help them think about the option as the discounted average pay off and they've had to simulate through this process to build this code. We can do the same thing for the put option and they can compare that again to the Black Shoals price. I think this is a penny or two off. It's pretty close. So I went a little bit fast. I thought I had more less time than this. But what's next for this project is to extend Probo in a couple different directions. So one is a project called Preza that we intend for academic research and production hopefully. Building that with some graduate students. We're building on top of PyTorch where we want performance and we want access to GPU compute pretty simply. And one of the next directions for both teaching and research is to think about another layer of abstraction that might be referred to as agent based simulation. So one of the key concepts in the Black Shoals option pricing model and therefore any of the subsequent models is that of the delta hedging market maker if you're familiar with that vocabulary. And this is a concept that is really challenging to help the students to think about the idea of a risk neutral density. And the argument in Black Shoals is that there is a market maker who is hedging an option that has been purchased or sold. And through Monte Carlo simulation we can actually simulate that behavior and show that the Black Shoals price will be a special case of this if the assumptions of the Black Shoals model hold. So we can take those assumptions and break them. For example I can introduce different frictions like transactions costs or discreet hedging and we can see that that will give a more general answer than the Black Shoals. And we're also using this with some of my graduate students in research to actually implement that as a pricing method. And we refer to this as hedging Monte Carlo. So I finished a little bit early but I'll take some questions if anyone has. Thank you for your time and attention. We do do that. Yeah so one of the things we'll do is we'll say pull up Bloomberg and we'll look at what an option is trading at and have that conversation. And we also do other exercises like build in a implied volatility solver so they can see what when we take an observed option price what kind of volatility does that imply. So they work through exercises using real world data. So that's a good question. It helps them but now having this computational sort of framework to build with it helps them sort of build with and make that that concept real for them. Whereas just the simple mathematical symbolic representations a little bit too abstract for them. Yeah so about the first month or so I do a rapid instruction in Python. Most of them have never programmed before so I got to get in from there to what you just saw doing object-oriented programming with design patterns. It's a bit fast and I'm sure my computer science colleagues would be a little bit horrified by how fast and how sloppily I go but I get them there and then the next two-thirds of the class so the middle third is going to be teaching them the various pricing models so we start with the binomial model and then we introduce black souls and the concepts of black souls and then we work through Monte Carlo for the rest of the semester. The students then have a project at the end of the semester and by this point you know we're 75%, 80% of the way through the course and their project is to extend Probo and to build in a new pricing engine or to price a new kind of option or something like that and so the course is just over three months and it's pretty ambitious but so far we've over the last couple of years we've been able to do it. It's a full-time course. It's a full-time course on campus in our master's program. We just created this whole cloth and I was just asked to create a course in computational finance and I had extreme freedom about what to do and so I devised this. I'm excited to hear anyone's feedback on this if you have great ideas for me. Yes, I definitely can. In fact, maybe I shouldn't admit this but the first year or two I was ambitious enough to try C++ because I had assistant professoritis and I was going to teach them everything I knew and we were still fighting compiler errors by the time the finals were rolling around. By the time the students are working on their project to build a new pricing engine or to price a new option, they know how to play around and break things and discover and so they have a computational platform to do educational discovery on and I've definitely discovered that it's a new way to think about and teach these concepts rather than just the sort of austere textbook types of teaching in chalk and talk kind of a way and it's been very powerful learning tool. Thanks for that question. I do both of those so every lecture is going to have a Jupiter notebook attached with it and it's going to be attached to something in their textbook. Once we get to the computational finance material but I have to go very rapidly for the first month through Python and so I've tried different things but I've just created I think 10 or 11 of my own notebooks and I don't try to teach them all of Python. I try to teach them enough to get going on the kinds of things we want to do and they continue to learn Python throughout the semester as they need extra bits to do their exercises but so far it's worked pretty well but yeah they have a github repository and they know that that github repository is updated each lecture. I can't imagine doing this without the notebook and these kinds of tools. Thank you for your time and attention.


Welcome to the show. It is time for John Park's workshop in the Ask an Engineer time slot. Thank you everyone for stopping by. First of all, happy holidays to everyone who celebrated holidays over this holiday season. A lot of us have been taking time off. I was off for Christmas for a little bit. I'm popping in to do this show. I'll take a couple more days off and then I'll be back next week with some of the shows that you know and love in their normal time slots. That's right. So I'm going to be doing my Tuesday product pick of the week show next Tuesday. As usual, I didn't do it this past week. And then I'm going to be doing my workshop show on Thursday. And that is because Lady Aida and Bill are going to be back on Wednesday for show and tell and Ask an Engineer. That's what we think is going to happen. Of course, things can change. So be prepared in case we shift things around. But the plan right now is to have PT and Lamor back next Wednesday for show and tell and Ask an Engineer. And then I'll be doing my show this show on Thursday. So look forward to that. Everyone's looking forward to that. And looking forward to a new year. Of course, looking forward to 2023. It's exciting to jump in to the new year. And I hope that it's a good one for all of us. We kind of need it, right? Be really nice. Thank you for people stopping in on the chat. You wonder what is he looking at over there? Here's our chat over on Discord. And I've also got an eyeball over on our YouTube chat. So hello for people who stopped by Adam Alexander and Devin's Workshop and George Graves over in our YouTube. And then you can see who's here in our Discord chat. And if you want to join that chat, if you're wondering where is all the chatting going on, if you're somewhere like Twitch or Facebook or somewhere where we're not actively monitoring the chat, then you want to head over to our Discord server. And that's at adafru.it-slash-discord. Look for the live broadcast chat channel. And that's where you see this conversation going on. So thanks, everyone. Thanks for stopping by in there. Yeah, and if you got any thoughts, questions and things, please ask over in the Discord. I'll try to keep an eye on that during the show. And let's see. The next thing I want to do is mention the store, right? Adafruit has this store. It's how we make money. It's how we pay for all these people and things. And it's how we get stuff out to you, ship cool stuff out to you, but it's how we pay for designing that stuff and supporting it and writing learn guides and libraries and things. Lots of code, all the examples that we do. That takes a lot of people, a lot of great people. And if you want to head over to the store, you can find great stuff. I'm going to show you a new, new, new product video later featuring Lady Aida and her singing. So that's going to be fun. And if you want to get some nice, sweet 10% discount when you do head over there to the store, well, I've got good news for you because I have a coupon code that you can use. If you head on over to Adafruit and you put some stuff in your cart, it needs to be stuff. It can't be conceptual things like software or gift certificates or subscriptions. But if you buy some stuff and you want to get 10% off, then all you need is this coupon code, Jazz Hands. If you type that in or if you have your computer set up with optical recognition software that recognizes this motion and types in Jazz Hands with a hyphen for you in all lowercase, well, then that's awesome. That was really good thinking on your part.  Why? I don't know. It's just what I felt like when I thought what should today's coupon code be? Jazz Hands.  What's that store look like? You may ask, well, let me pop over there for a real quick second. I'm going to hit my product link there. Here's the store. Let me hit products. Let me hit, oh, there's the new products. In fact, how do I get back to the regular shop? There we go. There's the store and that has links in there, of course, for the new products, but also some featured stuff and some banners on there. You can also go through the Learn Guide and look for guides that you like and find some stuff, throw it out in the cart. And not only can you use that coupon code Jazz Hands to get your 10% off, but also we have some bonuses at various shipping levels. If you head over to ittifruit.com slash free, I'll do that right now. You'll see that you can get a free nude, one of our LED flexible noodles at the $99 tier. If you go to $149, you get a free KB2040 in there and the nude, the stack. If you spend $200 or more, UPS shipping, ground shipping is free. And if you go to the $299 or more, you're going to get a Circuit Playground Bluefruit. You're going to get the free ground shipping with UPS. You're going to get the KB2040 keyboard and you're going to get the nude.  And then you can also stack on top of that, your 10% off discount by using the coupon code, coupon code being Jazz Hands. So head on over to the store, get some cool stuff. And I'll show you some of the new products later or actually Lady Aida will in their new new new video. So you can see what new stuff is out or you can head there right now if you want. But if you want to play along in real time, then hang on because I'll be playing that video for you in a little bit. Hello, lovely A72 over in the YouTube chat. Thanks for stopping by and saying hi. Also thanks, DJ Devon3 seems to have found a rather appropriate Jazz Hands gift. Let me hover over that. Oh gosh, here we go. Jazz Hands, fantastic. Oh nice, some nice found a cool. That's kind of a Jazz Handsy, I like that. All right, what else have we got? What's happening here? What's new? Show and tell, we love to have you come on and talk about stuff, show us the things you're working on, show us your projects. We had a show and tell, tonight it was hosted by Liz, thank you Liz so much for hosting the show. And the tell, and who do we have on? Kevin from Digi-Key came on to show a personal project he's been working on, which is a bunch of, I'm talking like 600 neopixels to light up his bar area at home, a little home project. And he showed off using WLED to program them wirelessly. So I think he had a Feather ESP32, one of the wireless feathers, I'm not sure which one. But he mentioned Feathers, he probably got a Feather ESP32 S2, I guess, and is able to code it entirely from the web using WLED. Very cool, I know that there's a guide on learn using WLED that Aaron put up, Firepixie. So go check that out if you wanna learn more. But it was really cool, he had under bar lighting, he had a wall area where some glasses are and some reactive effects based on a microphone as well. So really cool and a really interesting way to code up your LED projects right from your phone and you can pick animations right from some presets as well as get deeper into the coding of that if you want to. So really cool looking, lighting there in Kevin's bar area. So thanks for showing that off, it was really neat. Very inspiring, I definitely wanna check out WLED. Noa came on to show his 3D printed owl, he has a new design for a really beautiful, stylized owl sculpture that has a rotating head and a little switch at the bottom for rotating it and he was able to do some really cool puppeteering based on suggestion from Liz, but it's a print in place, I believe, multiple parts that go together, lock with a little twist at the bottom and then when it's put together you get to puppeteer it. Really gorgeous design. And I believe he said he'd be showing, I can't remember if he said if he's shared the files for that yet or if he will, I'm guessing he will if he hasn't already. Next up was Jeff, Jeff came on with this incredibly cool and weird keyboard that I suggested he get and do something with a few months back. I found a, it was the Atari X EGS system which was a game system. It was also an Atari X E home computer. This is new info to me that Phil B shared that there were these two similar systems, one was a home computer, one was a game system, but it had a keyboard on it, sort of a rubber dome keyboard, nothing too inspiring as far as the switches go, but it had this big weird off centered help button and we wanted to see if he could get the keyboard working and add that help button to it and of course it's Jephler, he did. He's got it working as a USB keyboard and he can press that big help button to act as a macro button, so very cool update on that. Paul Cutler just shared an update over on the Discord, thanks Paul, he said the owl files are available on printable, so if you want you can probably check over on our Discord and you will find links to those. Speaking of Paul, Paul came on and showed a practical project that he's been working on which is using a Feather ESP32, I can't remember which one, I'm gonna guess S2 again because he said he was coding it over Adafruit IO but it could be any of a number of different Feather ESPs. And what's the project? Well he's got hard water where he lives in Minnesota somewhere, so he has a whole home water softener, I'm guessing it's a big tank somewhere in the basement or outside, which requires you to fill it with a bunch of salt for the softening process to work and as the salt gets used, the level lowers and then he forgets he needs to change it and then eventually remembers, well no more because he's built this project that uses the Feather and a time of flight distance sensor so it's gonna be able to tell him how far down that salt level's getting so it'll give him some real time feedback and be able to hook that up with Adafruit IO to get some warnings or visualize it on a dashboard. So really cool project that Paul is working on there and I'm guessing that's using Circuit Python, I didn't say but that's gonna be my guess. And then lastly, Jeff came back on, Jeffler came on to show off a 1979 computer newsletter called TPAL, I think it was. I had a bunch of basic programming examples and it was a little sort of zine style printed newsletter that he thinks his friend picked up at a computer store, probably not even something that came in the mail, just something he went and got at the computer store so it was kind of nice to see a little historical bit there and that was our show and tell. So thanks everyone for stopping by and we're looking forward to seeing all of your shows and tells in the new year. So come on by next Wednesday for the first one of 2023 and let's see what else we got going on here. I did not do a product pick of the week this week because of time off for the holidays but I'll be back next week with one of those so stop by on Tuesday at one o'clock Pacific, four o'clock Eastern and I'll show off a new product pick and give you a big discount on it. Let's see, next up, hey, how about, let's do a Circuit Python parsec when you get set up for that. Yes, Circuit Python. Okay, hold on one second here, let me get that code in front of me. I remember what we're talking about here. All right, for the Circuit Python parsec today, I want to show you how you can use a Super Nintendo controller as a input in Circuit Python. Now this uses the keypad library and the keypad library can deal with shift registers as well as matrices and other input methods. These Super Nintendo controllers and clones like the one that we sell in the store use a shift register. So I'm using the shift register side of the keypad code and I have it set up so that it just reads each of the different keys on the keypads when I press them, the D-pad here, the select and start button and even the shoulder buttons. And depending on which one I press, I get a different display here of NeoPixels. So the way this works is pretty straightforward. I've set up NeoPixel. Also I've imported the library for keypad, that's the main thing here. I've got a little list of names here. I've set up the keypad object right here. So this is a shift register. It's name is Shift K. And it is keypad.shiftregisterkeys. Then we set up the pins for the clock, the latch, a value to latch, data pin, the key count, how many are on here, and the value when pressed is set to false. So that tells us which direction this is gonna go when we press something. Then in the main loop of the code, all I do is say the event is shiftk.eventsget. So it checks for any events that are happening on the device there. If something gets pressed, then I'm running this little pixel code here and printing things out. And when something is pressed, it returns the key number, event.keynumber. And that's what I can pass to my little function that I have here for defining pixel patterns. And so it's really straightforward, very easy to use. You could use this to turn these into USB key presses or for pure microcontroller type of projects here without a computer at all. And so that is how you can use a Shift Register Super Nintendo controller as input in Circuit Python. And that is your Circuit Python Parsec. Beep boop, beep boop, beep boop. That's Circuit Python. All right, yeah, I was hoping to maybe do some other things on here, like maybe a little Mario animation. I didn't have time this year, but I might come back to this even just for fun for my own personal project because it is a tricky thing to deal with these types of controllers if you've ever taken one apart and thought, hey, maybe I can just read these as inputs. They're not separate individual digital input pin type of output pin types of things per press. It's actually using this little Shift Register. So Dan, Halbert, thank you so much for including that in the Keypad Library. Makes it very easy to deal with these types of controllers. And just a little bit on how this is set up. If you look here, I've got a Feather RP2040 and I'm using one of the Terminal Block Feather Wings here and I've got my controller here. I've actually taken off the connector, the SNES style connector. And you can see here there are five pins that are actually used in that. And I have them wired up, as I showed before, to the clock latch data and the power and ground pins which are then connected to my Feather there. So a pretty easy way to connect up one of these controllers. There's a closeup of that there. So controller is this black cable and it actually has five conductors coming off of it that are plugged in there. And then these other ones here are my running to my NeoPixels there. Boop, boop, boop, boop. Could play a really limited version of Tetris on this maybe. All right, so let's see. Let's see if anyone's got any questions over in the chat. Otherwise, we'll move on with questions, none existing it. Doot, doot, doot. All right, so let's jump forward to talking about our circuit Python is code plus community. And to me, that means the Python on microcontrollers newsletter. So here is, if you head to AdafruitDaily.com, you can subscribe to our Python on microcontrollers newsletter and get all the latest info, all the latest news each week. It's delivered for free into your mailbox, very low effort, you can cancel at any time. We promise not to spam you. All you need to do is head to AdafruitDaily.com, put in your email address and sign up. And the newsletter is also accessible just as a webpage here at AdafruitDaily.com. You can click on a link that gives you the latest of the Python on microcontrollers newsletter. And I want to talk about a few of the items that caught my eye this week. One is the circuit Python 8.0.0 beta six has been released and some of the interesting things that come with this release are mentioned in here including some switches over to the .toml, settings.toml file from the .env. So you can check that and head out to the blog or the github from these links to find out more. Another interesting one, this is actually sort of the road to this being in Python. TinyUSB has added BitBang USB host support for RP2040 and while this is running just in Arduino right now the hope is that this will find its way onto Python soon and this will include hopefully right now I think there's serial and mass storage host capabilities but hopefully this will also move into some of the other things like USB HID, MIDI and other things like that. So that's just a glimpse on the timeline to adding some of this USB host support to RP2040 which is really cool.  TNC 3.6 and TNC 4.0 are the only two that I've done it with before and those are really hard to find now so I'd love to have something else that you could plug in a MIDI keyboard or a mouse or whatever you want and still be able to output on the other side, so it could be really cool. There's also a link here to head to the Adafruit blog to check out a post from Scott on the upcoming 2023 plans for Circuit Python and we'll be doing more posts about that, about our plans and looking for people's, both annual wrap up and for people's predictions and hopes for the coming year. There was also a story in here about Raspberry Pi foundations saying there probably won't be a Raspberry Pi 5 coming in 2023. They're gonna be doing some catch up on manufacturing and getting some devices out there of existing Pi boards before they move into the Pi 5 so you can click on that link to go to the Tom's Hardware. Article is also a interview here with Eben Upton that you can go and check out from the blog or over on YouTube. The story here about ESP32 Github updates are available over the air with MicroPython and MicroGit so this is something that would allow you to keep a ESP32 device in sync. Excuse me, I'm about to sneeze. Wow, that was a good one. Pardon me, that's right into the microphone too so I probably could have covered that. Sorry about that. Man, that was some sneeze. So this will allow you to keep your ESP32 devices in sync with a Github repository over the air which is pretty interesting. It allows you to clone an entire MicroPython repo onto a MicroPython microcontroller. Then there were some projects here that caught my eye. There was a really neat looking sort of telepresence remote articulated robot hand project here. This was programmed in MicroPython and uses some of the Adafruit Flex sensors. If you look at the GIF there, I don't know if that'll play probably, oops, now I've done it, let me go back. I don't want to go there. Probably is playing at it sort of a limited frame rate but you can see there there are three or four Flex sensors on a finger mounted controller and then there's a robotic hand in the background that's moving to keep pace with the flexing of the fingers which is pretty cool. And that's using ESP32 as the microcontroller on there. Some other items that I thought were cool. There was a 3D printed hot air balloon from Geekmom I think, right? Yeah, and this uses a little Neopixel ring, Geow ESP32 C3. It has a web workflow using the web IDE and it also has some really cool looking light pipes on there that illuminate. You can follow the link there to mast it on to find out more. And then there was also a little section in here on some new boards that are out that support circuit Python and you can scroll through all these cool projects here. Other Python projects, some new products that are circuit Python capable. Here's the link or the list and then a bunch of links to looks like about a dozen new boards that support circuit Python. So you can go check that out. And that is the Python on microcontrollers newsletter. So go check that out at AdafruitDaily.com. All right, let's see what else have we got going on here. Hey, everyone loves Adabox and we are so excited that despite having zero Adaboxes in 2022, we have plans for multiple Adaboxes coming in 2023. So head over to adabox.com or adafruit.com slash adabox. I think we have that first one. And go check out the links there. You can sign up if the list is full. You can get on the waiting list. We are looking forward to bringing some really cool content, cool Adaboxes, neat stuff, new products, fun unboxings and videos, projects for you to build with them. All of the usual Adabox shenanigans really excited to be able to jump back into those next year. So thank you so much for your patience on those and we really hope you are getting excited as we are about the return of Adaboxes in 2023. Yeah, thank you, George Graves posted over in our YouTube chat, there is at adabox.com. I'm glad I didn't just make that up. You can't just go making stuff up. So next up, new products. And we're very excited to have Lady Aida and fill back for a real genuine new products video. So please take it away, Lady Aida. It's new products. No, no, no, no, no, no, no, no, no, no. It's time for new products. That's Christmas Day Day Edition. I here at my desk with Lady Aida. I'll go through a couple of the new products that we've put in over the last week or two. So let's kick it off. First up, we've got an updated product. This is the IS-31FL 3731 PWM LED Matrix Driver. So this is our Charlie Plex Driver. It can drive nine by 16 LEDs because it Charlie Plexes them. We sell the grids as well, like LED grids with SMT LEDs. This is the driver board.  This is a very inexpensive way to drive all those LEDs. We've updated it by adding STEM and QT connectors because it's all iSquared C controllable. So it's otherwise the same pinouts on the top and the left. We just had a little spot on the right, added those iSquared C ports, and we also updated the silkscreen. Next up. Next up, another updated product. This is the Chrono Dot from MaceTech. This is kind of famous. This is a really early product we used to sell. It's a product number 255, which is many, many, many years ago. And this used to come with a DS-3231, which due to the silicon shortage has been totally unavailable. And so you can see here in this image, it now comes with a Max 3128. Sorry, 31328. We actually covered a 31328, 31329 on iNPI a couple of months ago, if you remember. What's interesting about this chip is it's also an ultra precise RTC from Maxim. But what's extra interesting is it is pin, sorry, it's not pin compatible. It is far more compatible with the DS-3231 RTC library. And so if you were using the DS-3231 and you wanted to update to this new 31328, this board is pretty much dropping compatible. You can use your old existing code. I think it basically has the same precision. The one thing that didn't get added to the update chip, the 31328 is an eProm, which is why there's, if you see at the bottom there, there's a separate iSquared TE Prom chip. But it's on the same iSquared C bus. So it's like a nice little update and most important, it's available and you can actually buy it unlike DS-3231s, which are tough to get. All right, next up. Next up, we have two new products of the same family. The PCA 9546 is a four channel iSquared C expander. So this is really handy when you have, say, for, you know, say DS-3231s RTCs or humidity sensors or accelerometers or other devices on the iSquared C bus that use the same iSquared C address. And so you're limited. You can only use one per bus, but you want to say control four of them. This is pretty common. People have like, you know, motor driver maybe or they want multiple accelerometers or multiple gyros or multiple humidity or pressure sensors because they wanna measure pressure in different locations. So this chip will take one iSquared C port in and allow you to select four different outputs by writing the address to the, you know, the port number you want to route your signal to, I think onto address 70. And the chip itself also has three address pins. You can change that if you're like trying to address, you know, chips that use address 70, of course you can change it to be, you know, 71 to 77. And that way you can address multiple chips on the same port. We carry the TCA 9548, which is the eight channel version of this chip, but maybe you don't need as big a version. You know, you don't need as many ports. You'll need eight, you'll need four. Go for it. We also have this chip in a STEM IQT format. So solder free if you have our STEM IQT or quick boards, plug and play. And again, it gives you a four channel iSquared C multiplexing. This board also in addition to multiplexing has a three volt level shifter because, you know, maybe you have an Arduino Uno on one side that's five volt logic and power and you want to address iSquared C devices that use three volt logic and power. So it'll allow you, if you go to the back, the one with the quarter, that image, if you see on the back, the V out jumper by default, it uses the same voltage as the input to the V plus. But if you'd like, you can cut and adjust that trace to use three volts. And so it'll do a lot of three volt logic level shift down. Again, this is the four channel version of the eight channel iSquared C multiplexer we put in a while ago. So choose which one, either the breadboard version or the STEM IQT version as you need. Choose wisely. Choose wisely. Okay, I think so. Next up, more STEM IQT accessories. This one is going to be very handy for people who want to connect to five volt power, five volt logic iSquared C devices on the most common three volt power and logic microcontrollers and microcomputers that are available now.  But nowadays a lot of people are using RP2040 PICOs or ESP32s or Raspberry Pi computers or even, you know, NRF52 or other modern Arduino compatible or microcontroller boards. They have three volt power, three volt logic. And it's not, it's pretty common to see down shifters, but up shifters are a little more rare. So this is an up shifter. You give it three to five volt power and logic in and there's a switch cap charge pump converter that'll give you 100 milliamp continuous or 250 milliamp peak. It's the AP3602A, which we have a data sheet attached. And it'll boost up that power from three to five volts and it'll shift up the I-squared C logic from three to five volts as well.  There's also, if you go to the quarter shot, on the back, you'll see there's a V-I-squared C jumper. If you want to have power be five volt, but the logic level be three volt, you can cut and set that jumper to use the logic that keep the I-squared C at the same logic level. Don't shift that up. We've seen that a couple of devices as well where again the power is five volts, but the logic level is three. So you can use this board either way. It's also breadboard compatible. If you're not using STEMAQT at all, just, you know, solder in the header and use it on your favorite breadboard. All right.  Kitto is a Scorpio. So this is, I wanted to make this, get this board out before the end of the year. Didn't quite get it out for Scorpio season, but that's okay. It was pretty close. And I wanted to get this out for the end of the year. So this, the RP2040 Scorpio board is finally out and available. It's going to be in the shop this week. So this is an RP2040 and this board is feather shaped. It has all the feather pins that you know and love. But on the end there, there's another two by eight header. One row is ground, the other is eight contiguous pins connected to the PIO state machine inside and they're contiguous. And so they're really good for driving lots of Neopixels. Especially since the RP2040 has 264K of RAM. So there's a ton of RAM. It's got the PIO state machine which is excellent for driving Neopixels. It's a dual core. So of course you can have all your, in addition to having all your Neopixels DMA, you could have two cores if you want to do extra computation on one core and then blit in the other one and maybe get wifi data or something and use that to calculate or adjust what the graphics should be shown on your Neopixels are. But the RP2040 makes for a perfect Neopixel driver. And so this board is basically designed specifically for you want a feather, you want an RP2040, you want to drive a ton of Neopixels and we've got Arduino and circuit Python code that does that again, all with DMA.  The RPIO peripheral goes off and does it and you can check when it's done and then you can compute the next frame of data. So it's got USB-C, it's got battery. And the important part is on the right-hand side of the board, let's go on the one. Yeah, on the right-hand side of the board. So on the left-hand side you get the business end, USB-C, battery, the reset button, regulator, battery charging, middle is the RP2040 chip. There's a small Neopixel on D4 if you want to have onboard notification to tell you what the status is. There's eight megabytes of flashed memory so you can use that for your program storage or of course both in Arduino and circuit Python you can put a file system on it if you want to have images, you know, configuration data, what have you stored on that flash memory, there's tons of flash memory. There's a boot pin, a boot button for entering into boot mode that's also available as a user button. I think it's on GPIO 7. So you can, once the RP2040 is booted, that button becomes a user input button. There's a vertical STEMI QT pin and then below that you see a chip and some resistor packs. That is the logic level shifter. So even though a lot of modern Neopixel strips are happy with three-volt logic, not all of them are, especially if you're giving them 5.5 volts of power. And so there's an onboard logic level shifter that'll take those eight signal pins and shift them up. I think it's pins 16 to 23. So those GPIOs get shifted up from three volts to five volts, whatever is on the USB port. And then there's 100 ohm resistors just to kind of reduce any ringing effect, especially with long wires going into your Neopixels. And then on the back, if you look at a quarter shot, there is, if you happen to want to configure it, on the back you can change the VLogic, the logic level output from five volts to three volts. Say you don't want to drive a five volt signal into something you're driving non-Neopixels or something that requires a lower level voltage. And also you can change the direction of that shifter. It's nominally only output, but if you want to turn this into say a logic analyzer, you can change the direction to be inputs and it's five volts safe because it's using a five volt safe level shifter. And then that signal could come in and you could turn this into say like an eight channel logic analyzer and use some open source software to do so. But we really think this would be great for people making LED art because we've seen a lot of art projects in New York and online where people have massive displays of Neopixels. Oftentimes using unfortunately chips and microcontrollers are no longer available or they're very hard to get right now, but the RP2040 is really easy to get. So we think using the Neopixelate library that we've got or you can even, because this chip has enough RAM and it's pretty fast, you can use the Neopixelate HDR library. And that adds dithering, some pixel subsampling which basically means that not only do you get that eight bits per color, 24 bits per pixel color, but you also get another two by doing some temporal dithering. Very good for when you're doing gamma correction or you have low brightness LEDs. A lot of people notice that because the LED brightness is linearly PWM'd but our eyes kind of are logarithmic. LEDs that are at the lower brightness level, the brightness shifts change more dramatically than at the higher level. With dithering, you get an extra couple of bits. It smooths that out and makes it a little bit more of an elegant distribution at the lower brightness levels. All right, and that's Scorpion. That's new products. It's a very happy Scorpion. All right, we'll see everybody throughout the week. We have a lot of new videos and more planned. We have multiple setups as we do tons of videos, not only for the last week of the year, but as 2023 approaches. So buckle up. There's gonna be a lot of hardware, everybody. That's right. Thanks for coming by the new, new, new. New, new, new. Here at my desk. Awesome. Great to have Lady Hita back with all the new stuff and some really cool stuff. I'm looking forward to that Scorpio too. I saw a lot of people in the chat are excited about that and I'm with you on that. Giant, huge strips of lots of LEDs. Looks a lot of fun. Also, questions in the chat. There was a question and I'm not sure. I might need a clarification. Kayoshi asked, is this ruined? And I'm not sure. Perhaps you're referring to the battery. If you have torn a wire off of one of those batteries, it can be pretty dicey to solder to it. It's a little dangerous, so I'm not gonna recommend people try to fix that cell. You might just wanna get a new cell. And I'm not sure what's going on with the spool there. Said that you've lost the spool end. It must be somewhere, right? It's not infinite, is it? Probably not. All right, let's see. Then, I think that covers all of those things. So I wanted to mention again, since Lady Aida was talking about all those cool new products that you can get 10% off in the stores.  Jazz dash hands is your coupon code today for no particular reason other than I felt like it. And make sure that you throw stuff in your cart, not software gift certificates or subscriptions, but actual stuff, and then jazz dash hands will get you the 10% off on your way out. Oh, I see, Kayoshi said they pulled out, it's magnet wire, it's supposed to have a nice, tight spool. Yeah, you could probably spool that back on there. I don't see why not. It's pretty easy to spool that kind of wire. The worst thing to try to spool is three-printer filament. If you've ever had that go bad on your cart, or had that go bad on you, boy, that's a process of trying to fix a bad spool of kinked-up printer filament. All right, let's see. And so I wanted to say, where are Matt with some projects? Showed you the 16-step drum sequencer and I'm working on a guide for that right now. I'm also midway through building the updated L-Cars display, so I'll be finishing that up in the new year and get a guide out for that. And then there was a, I just wanted to show you, the only thing I had to show you tonight over on the workbench is something I introduced, oh no, gotta kick this camera, it's gone funny. I introduced this a little while ago and it was a kid, I hadn't built it yet, but I've got it built now and I wanted to show you, let me update one of my camera monitors here real quick so I can see that. And I'll head over to the workbench, let's see, where is that view that'll do it. So this is an LED lamp board built to look like, oh no, this camera is having problems, isn't it? Okay, I wonder why it's gone a little flaky. Stay away, camera. This is a kid, I got off Tindy, it's called the Enigma lamp board, you can find it, just search Tindy, from Hack Modular. And this is meant to look like the, it's designed very similar to the lamp board of an Enigma machine, the top part that shows you what your letters are being deciphered as as you enter them in. This one, however, takes voltage, control voltage, to light up the letters, so it's meant to use for things like EuroRack, but I wanted to show you, I've got it working just with a circuit playground express here that I have sending out over the DAC, which is the digital analog converter pin, pin A0 here. Let me turn this on, oh it's on. I have it just sending out voltages which are one volt for 12 letters. So over a two volt and a little bit range you can light up letters. So unlike something like a NeoPixel, this is kind of a fun old fashioned throwback way of doing this, the circuit chips on here translate voltage into addressing different LEDs on here. And you can see my calibration is a little bit off, so you'll see sometimes it doesn't light the letter it should and it lights multiple letters at once. So I've got a little bit of tuning to do on here as well as what voltages I'm sending, and I had a different reference voltage for the circuit playground express. So it's not quite perfect right now. But a cool kit, I'd shown it before, so I won't go into huge detail, but I just wanted to show you, it was something I finished up, it was something I built for fun for myself over the break. Sometimes it's a lot of fun to build a project that I'm not documenting and throwing a learn guide together for, so this was just selfish fun to build that. But I decided not just to control the lighting as a VU meter style thing for my Eurorack synthesizers, but instead to send it some specific voltages from the circuit playground express. Now, part of the idea is there is it could be a fun way to do something like a puzzle, a riddle of some kind, a escape room or mystery box kind of thing. And I'll show you in a little bit more of the Eurorack fashion, but actually also using circuit Python. Right here, I have one of Todd Kurtz, little modules that he built, and you can find it on his GitHub, you can build one of these yourself. He gave me this PCB it built up. He calls this a trinket trigger and this uses a trinket microcontroller and it has some capacitive touch pads built into the faceplate here. So if I hover over and get closer and closer to the A pad here, you can see I'm sending voltages which aren't super locked in, right? It's kind of varying the voltages around, but that means I can get these fun effects of lighting up a whole bunch of letters at once as it sweeps through voltages and the other pad is used for sending out little sort of gate triggers, but this one is a continuously variable and hard to control because it's just my meat human meat finger capacitance here that's changing that and it's a pretty tight range there. So it's hard to dial something specific in, but that's one way to use this is just as a sort of neat VU meter and it has modes both for teletype and alphabet encoding. But yeah, going back to the Circuit Playground Express here you can see all I'm doing is sending sort of a table I created of the 16 bit analog out values or DAC values for this analog out on pin A0 and then it just works its way through those and loops them around. So this one's actually pretty, it's looking pretty good except for just a couple of the Q and the P have some tight tolerances on them. I think I have to still tune the trimmer pot a bit to calibrate that better, but kind of fun, kind of neat. You could use this sort of thing in any project you want. You could also use this as an inspiration for building a NeoPixel based project. So that's of course much easier to address because we can do it digitally and you can address multiples at once here if we wanted to light up let's say a word we would have to send those very specific voltages really quickly I think in order to light up a word like you're seeing happen there. So I'm not, I don't have a lot of experience doing that. I just got to put together this morning and wrote a little bit of code to test that out but that is super cool hack modular enigma board enigma lamp board there. You can see these, this pair of ICs here you can build it with them here for alpha, oops. I've just killed my camera again, what's going on camera? There we go. These ICs if they're in these positions it's alphabetical encoding and here it's the teletype ITA2 encoding rather. So neat project and a lot of fun to build for me. So this is a nice technique I've seen on a lot of circuit boards where just simply having no solder mask gives you this sort of glow through using the fiberglass material. So it's always gonna have a little bit of yellow, yellowish greenish tint to it but in this case it looks really nice. This is a little bit bright in camera it actually is a little darker in the real world not sure if I can adjust that down a little bit. There we go. Look out there. And then this just has the input of the voltage coming in and then I think there's a buffered output so it should be an exact copy of that voltage coming out of here so that it's not sagging which is bad for music stuff cause it means things start to go flatter or sound weird. So this is meant to be able to just pass through a voltage on its way over to something that's actually making some sound using a volt per octave control on an oscillator for example. So that's the enigma lamp board. And that's my last little fun project for me to build for myself of the year. Yeah, as Liz says it would be fun to build patches to spell things out which would be really cool. Let's see, other questions. Oh, Kayoshi asked what was the board I had the SNES controller plugged into? So this one right here is the proto screw shield feather wing or terminal block feather wing? I think we call it that. I'll show you right here. Let me bring up the store. This is screw terminal feather wing. No, oops, I didn't spell feather right. Why do I not know this thing's name? Proto, no, screw. Oh terminal, I think it's terminal block feather wing. Terminal block, assembled terminal block break out feather wing for all feathers. It's ID 2926 and it comes with screw terminals that break out every single pin on your feather as well as some extras. So you get multiple ground pins on there. Let me show this nice close up in fact. So you can, as you see here there are some that are standard so those are on the silkscreen. Some can vary based on which feather it is so those don't have a number but you can see you get two, three volts on one side and another three volt on the other. You get two grounds on one side and another ground or even two on the other I think. Yeah, so this is just a, in fact, I'll let me show you the down shooter here again. I'll turn this off. So one of the things this has is a closer to it here in refocus and I'll brighten it up since I'm not pointing it at neopixels. Oh, that's not brighter. There we go. There we go. So I'm gonna turn it off. It has an enable switch right there. So that will, no matter how you're powering your feather here over USB or via battery that enable switch is a way of essentially powering it down just by grounding the enable pin that's on the board. So that's a nice feature of it. I can pull this feather out. I've got it mounted using some headers. You can also mount to it directly. You get some little bonus proto area here like any of our terminal doublers or our feather doublers and triplers and quadruplers. And then you can see here actually if you look at the reflection on the copper traces under the silkscreen, you can see all those feather pins are just sort of fanned out to those terminals. And this will tell you again for some common ones like RXTX, the SPI breakouts, the I squared C breakouts. Those are standard on all the feathers. So those have a silkscreen on here. So these are great. And that's a nice way to do something like this wiring for the SNES controller. Also someone asked about the SNES controller. I'll jump back here for a second. And what do we call it? Gamepad, USB gamepad with accelerometer. That's not it. That's a totally different thing. We probably call it, do we call it SNES? Yeah, we call it SNES controller. So this one's just $4.95. We have 30 of them in stock right now. And it's a decent clone one. It's not gonna be as nice and tight to play on as a first party Nintendo branded one, but you probably don't wanna take a Nintendo branded one and dig it open to do a weird project with. So this is a nice way to have a, excuse me, a low cost SNES controller on hand. It's also got no branding on it there. So if you wanna add your own logo to it, a sticker, do a custom paint job or whatever, these are kind of fun to work with. I don't think, yeah, we don't have a socket to plug that into. It'd be cool if we had a little socket, but I just pop the end off and you're left with the five pins that actually, I think have little crimp headers on them because those, when they plug into an SNES, there are pins inside of the little barrels. And so you can use those. Let's see, other questions. Someone asked about giant seven segment displays. Yeah, I do have a project. DJ Devon said that I did a seven segment clock. It was the Ninja timer for American Ninja Warrior using Neopixel strips and laser cut acrylics. So you can look for that if that, VJ Pussycat, if that helps with what you're looking for. And Todd, I'm not gonna stick the patch cable on my tongue to see if I can spell things, although that would be maybe something to practice. I don't wanna just try it for the first time in front of everybody, you know. So yeah, that was the question about those. All right, I think that does it. So I'll remind you again, you can go and get 10% off in the store. If you wanna pick up that SNES controller, then it'll cost approximately 49 or 50 cents less. Is that right? Is my math right? I don't know if my math's right, I think so. Jazz hands, jazz dash hands, that'll get you 10% off in the store on your way out. And I will thank everyone so much for coming by and for participating in the community and being here all year. It's been quite a year and we're really looking forward to 2023. As I said, I'll be doing my product pick show on next Tuesday. Phil and Lamor will be back on Wednesday to do show and tell and ask an engineer, woohoo. And I'll be back on my normal Thursday time to do the John Park's Workshop show. So I will see you next week in 2023 for that. And I believe that is gonna do it. So thanks everyone for your different industries. I am John Park. This has been John Park's Workshop and now for your moment of Lars.