Welcome, just lady. Hey, buddy. And welcome to my desk. It's me Lady Ada with me. Mr. Lady Ada on camera control I got some harder. I've been working on I wanted to show off a mr. Lady. Did you want to do a little intro first? Well, um, later on when Lady shown the Circuit pirate this was the photo we posted up. So I thought it was a glimpse into what's going on here Designing electronics taking care of kiddo doing all the things eagle cat is charging her two seats thinks that's unfair But that's okay, and we also posted up about this Really cool project and talk about the logo and more. Yeah, but without further ado. Yeah What's with you? Okay, so We stock the well we used to stock the bus pirate in the Adaford Chapel You don't have to go to the computer because you can see it. This is the bus pirate. She's a really cool like hacking toolkit that uses USB serial command you can actually see the FTDI chip here public domain and it was yet. No, well Designed by in Leza. This is version 3.6 and design you can see well when we go to the computer. I'll see it's designed April 2012 So this is like 10 years old but was really cool is that like there were a lot of people who wrote scripts and While I think a lot of the functionality of like having a USB to bus device Has been replicated by like the bigno Which we stock you to I f The FT2 3 2h there are a couple things that the bus pirate was really good for like it It had a lot of protocols built in which I thought was kind of neat So like you could have like it can act like a mini device or keyboard and it kind of knew everything You didn't have to like bit bang all of it It also had a couple neat things like the chip used the pic 12 f It's 5 volt input compliance. So you use a 3 volt chip You can use the 5 volt signals and so that was kind of nice because you could you could use it with Devices that you know like LCDs or you know, maybe e-proms that were 5 volt logic But unfortunately was discontinued. We've been stocking it for a very long time And we went to do a reorder with seed and they were like oh because of the chip shortage or something or maybe There's currently delay. We don't know when we're gonna get more Little bit of a buffer and so for now, it's discontinued, you know sometimes things to get de-discontinued in the Adafruit shop, but I do I don't want to promise something unless we have Some good sense that we'll get it again, and I don't know when that's going to be There's also the bus parrot for but I guess that's also not available And you know right now Let's go to the computer because I'm just going to I'm gonna do a bunch of computer stuff. So So right now, you know, we still have the page up, but we recommend people check out the Goodfet by Travis Goodspeed Also out of stock, but probably we will be able to get again very similar device USB serial converter to like a toggler One thing that was that was really nice was that this could do JTAG so does like I it was I to I squirt see one wire SPI like one wire for example is a very rare thing for USB to like bus devices to do because it's a freaky thing MIDI PC keyboard LCDs Pulse with modulator frequency generator, you know, it's just like bus traffic sniffers a Lot of cool stuff. Oh, you know could act as an AVR programmer It just had a lot of like nifty things built into it a lot of support. So we really like this we couldn't get it anymore and Instead of just running the board on my own and trying to like get the chips, which I you know, I could probably do it I can probably refabricate it Based on the files, which are all public domain and under creative commons zero Which is actually really neat. It's pretty rare to see Devices or CC zero that means like completely Free for all you can use it for any purpose whatsoever And but you know public domain and just very cool that Ian Leslie released it that way But I was thinking, you know instead of just remaking this because you know There's this bus pirate for and then like maybe there's better chips. Anyways, I thought let's maybe remake the design because You know actually a few years ago So unfortunately the files got we written because you know, they were I Had I did I worked on the files in 2017 and then I updated that the eagle cat files And so that's why it says 2023 but originally they were in 2017 I had this idea when we first did The RP 20 sorry that circuit Python for the samd 21 I had this idea like oh well Maybe we could like kind of like make a version like something that was like a tool like a hacking tool thing But it would be running circuit Python and I didn't think it would mimic the bus pirate I just thought it would be like the same shape and maybe you'd be able to like run commands with the commands would be in a Python script rather than USB serial converted and I worked on this for a bit and Let's just do you can kind of see on you turn on the Whenever I video I like to turn off the T doc you layer because I feel like it It shows the components best Um, so we had a Hold on Hey, that's much clearer. Okay, so you had a micro USB a Neo pixel This is some SPI flash that connected to the samd 21 the same chip used in like the metro M zero and the cutie pie We set button Three volts internal three volt external five old external power supply these are switchable Which I feel like there's like a couple little details about the bus power really neat like the three volt power supply the five volt Power supply to your device. You could switch on and off by enabling disabling The regulators, which is which is really handy. Sometimes you have chips that are like get into a freaky state and you're less like Okay, gonna just power cycle you and they're like back to normal Crystal analog switch and then that two by five header and you know resistors and you know There's not actually a lot on the bus power a lot of it, you know is firmware It actually got A little of that code written that would have it do like some of the basic I squared C and SPI and bit banging toggling Functionality, but the same d21 was really minimal and I didn't want to write the code Narduino I was like, oh, let's see if I can write it all in circuit pythons I could actually get it done with you know, less of a year and I ran out of memory SRAM and I was like, well, you know, like there is a bus pirate and like what was the point of doing this anyways And so I kind of shelved it because It didn't you know, there wasn't much purpose when you could still get the bus pirate But then you know now that you can't get it. I thought like last week I was chatting with Um, ten newt scott the lead circuit python developer and he kind of wanted a little he wanted something to distract him He was like, oh, do you have any jody projects that? You can distract me with because I don't want to work on this IMX stuff for a week or two and I said, well, you know There was this circuit pirate thing that bus pirate Port to circuit python. Do you want to try visiting again? And he was like, oh, yeah, that sounds like a great project. You just like totally lose two three weeks in let's do it So he would work on the firmware and I said I'd work on I finished the hardware. So I decided to Respin it. So the one thing is is that and there's due to the trade-offs You know, I wanted to keep the price low because you know, that's one of the things that people liked about the original bus Parade was was cheap. So I was like, can I make it basically 20 bucks? But I didn't want to make it about the same size and I wanted to have basically the same functionality As much as possible. So this is What I came up with so far and this is I think I'm going to revise it a couple times But I wanted to get some, you know, proto PCBs on order. So The original had a mini USB. I can pop this up Three point three point five is kind of close Three point six, I think just has rounded corners. Um, this is done in 2010. I mean, this is a very old project So Mini USB there, but mini USB is it's I think out of date now. Wait, let me close this one So I went with USB type C Boot and reset button because and the boot button can also be a user button and that's because it's got an RP 20 40 Wide RP 20 40 cheap and available. I can't get the sandy 51 again. The 70 21 is too small I didn't want to go with another chip that I didn't know I could easily get and you know, the whole thing about the Bus Pirates, it's like it's a pin toggly bus thing and all the protocols that the bus pirate supported like LCDs and PS2 keyboards one wire I squared CSPI, you know bit banging, whatever One wire that's all supported in circuit Python for the RP 20 40 The only thing that wasn't supported is JTAG So we'll probably have to run a little helper to do, you know The JTAG toggling and I want it to support SWD actually because that'd be cool If it also could do like a pico probe type behavior And it has plenty of memory to be able to handle all of all of that in Python There's also an 8 megabyte flash chip. I Still have those regulators a 3 volts 3 volts and 5 volts The 5 volts I actually updated to be these are all 500 milliamps. The original was like 100 milliamps I updated these all to be 500 milliamp regulators LEDs for power Data transmission reception I think we actually added this into circuit Python a really really long time ago where you could have the UART the USB data Send RX and TX a mode LED because there's a couple different modes like binary non-binary And the 5 volts power supply output to 3 volt power supply up so you know if your power is output Same pinout as the 2 by 5 header on the original And then I added a couple of the things you get, you know, the neopixel And this is a stem IQT port because Scott was like I'm gonna use this mostly for debugging I squared C And you could like sniff I squared C. So This is S I squared C on a separate I squared C bus than the header. So there's like two buses a mode switch and this is We need a switch because In circuit Python, you know, you normally get a UART Ripple and then you could have a second UART for data, right? So we're gonna have the commands that you send to the bus the circuit pirate bus pirate clone It's just gonna send the data over the secondary UART So you have the repels still for debugging, you know If you want you can control D and like do stuff, but the the main menu command interface Is going to be to the second UART and we want to have a switch to enable or disable the repel Because we thought it would be confusing if there was two comports people would be like oh, which one am I supposed to use? So when you put it into program mode, the repel would show up and Then if you do and use user mode It would disappear because you can do that you can dynamically change the the USB availability And then the analog switch and then you know, there's a lot of components You need a lot of capacitors to support the RP 2040 and there's like a crystal over here and All the good stuff. I'm pretty much it's the same size and shape But mini sorry USB C instead of mini two buttons static UT mode switch Same pinout and a couple extra LEDs. I figured, you know, why not just throw them on there a couple of things though that were a little Annoying is and I will have to figure out how I'm going to do this to the original bus pirate The pinouts that they did like the marking is only the SPI. So it's a clock most see me so Chip select so my controller out sensor in my control in sensor out Chip select and SPI clock and then those pins would also be Multiplexed with the I scored C and you are the problem is is that the pick 14, you know It had their own pin mux that was very specific And so it turned out that the SDA and you are TX and Mostly pin were all on one pin and the RX and me so, you know, like they they were very like Oh, these are the pins that are available, but that's not what's available on the RP 2040 The RP 2040 has different Pinout capabilities. This is this is what the pinouts are. It's TX Me so SDA and so that's like that doesn't match here and RX and CS are the same Where's here? It's Rx me so so there's like this mismatch of what the multiplexing can do. And so The bus pirate for When I looked at the schematic for the pirate for If you look at their schematic What they did, I mean, I didn't look at the detail detail detail, but What looks to me is because there's there's there's this SPI set here And then if you look it's duplicated down here So I think what happened is they actually just connected two sets of pins to one IO and they just like they just manage It's only one is driving one of those pin sets is driving depending on whether you want I squared C or you are or SPI You know, I thought about doing that, but there's not actually a ton of I mean there is plenty of pins and I could do it but When talking to Scott, you know, cuz I was like, okay, here's this issue. We were like, well, you know, we can bit bang I scored C and You are pretty easily it's strictly with PIO like you can you are you can do quite well Normally you are it's quite hard to do with the banging but the PIO makes it very easy And so we actually made this the hardware as PI port And I put little jumpers on the bottom you see so I if I change my mind I can like cut them in like maybe like, you know, quickly we wire them As necessary, so, you know, we'll see this is This is an experiment and then you know, the second part is Is this analog mux, which I won't go into a lot of detail maybe maybe next I guess what I want to get to the great search But they use an analog switch to Turn on and off the pull-ups from The external voltage like the the output voltage. Sorry. Yeah, the the external voltage which is in comes into the Circuit pirate board and then using this you can enable or disable all four pull-ups at once And you can see these are the pull-up values and then, you know, they connect or disconnect from the external based on this Value and I thought, you know, analog switches are kind of neat So I thought I would make that the great search I don't know if we want to if you want to wrap up anything with the Or to come you check on the socials in our blog We have the schematic the rendering that we're starting on it's still playing around with a logo But let's kick it with the great search. Okay, let's kick it The great search brought to you by Did you key and a different every single week lady a decent power of engineer and help you guess you find the things you're looking on For and with did you key calm? Okay? What's up? Okay? So let's go to my computer So this week I've been working on this design which is is pays homage to is a derivative of an open-source project called the bus pirate and One thing this project did which I thought was interesting was it uses an analog switch to enable and disable Pull-up resistors from these for GPIO pins to an external voltage which which might vary and you know, I thought it's interesting because I was like, oh, why didn't they just use like a bunch of transistors? You could do this with a bunch of fats and I was like, oh, you know, like it would take a lot more board space up It might be more expensive than just plopping down one analog Multiplexer slash switch and then I realized, you know, we we've never talked about this kind of part We often have buffers or we have maybe op-amps But analog switches kind of a cool weird thing in between. It's it's made up of MOSFETs And it's basically, you know, you could think hey, I can I can connect and disconnect some things by, you know Connecting up some n-channel and p-channel MOSFETs and and you should basically disconnect and connect a pathway between two IO pins particularly for analog voltages is what they're they're good for they're called analog switches, although of course you can do them for digital signals, they're just not going to be as as fast as They're best used for analog you can use them digital but of course there will be a limit of how how fast the frequency you can push through them is and You know, of course, this is a replacement for mechanical switch But there are some trade-offs just because they're called analog switches doesn't mean they replace a switch There's a there's a couple things to watch for so first off, you know, you can go to Digi-key and search for analog switches as opposed to mechanical switches which is right which is like the clicky things and There's a couple zones. There's like, you know, a special purpose, but there is you know one Main section for them and there's a lot of settings a little not every setting is covered so the upshot is there, you know, they're they're silicon chips and The most popular ones are the ones that are kind of bar from old CMOS logic So this design used the 4066, which is a four-channel SPST switch But there are other ones too like the 4051 and of course the a lot of the CMOS logic as it became more modernized And more durable You're gonna see it called 74 X, you know, 74 hcvhcvhct whatever that series so the 4051 is a Multiplex or demultiplexer. So what's kind of neat here is that you have one Sorry, you have one of 80 code. So this one is a single pole octal throw SP 80. So used to connect one Input Z. So Z is the input or output, you know, that's the thing. It's analog. It's can go bidirectionally To eight different outputs, you can it's basically like an eight-way mechanical switch and then use the three logical inputs s 0 1 and 2 To select which of the eight outputs or connections. You'll have Z connect to you Yeah, VCC ve power and ground you'll notice a lot of these Because they're meant for analog signals Which used to be like positive and negatively referenced like negative 12 to plus 12 It's not that unusual to see these chips have pretty big power supply Possibilities so you can usually while you could run them zero to five Wedding them like negative 12 to plus 12 is there. There are definitely versions for that. There's a navel and then a ground So a couple things to be aware first up. There is So this one has, you know, wide input range of negative five to five But of course your power supply has to be Beyond that usually mean maybe maybe plus or minus one volt. You can't Use like one of these analog switches It's powered off of three volts and use that to switch five volts like any your signal input output cannot be Above or below the rails except for like one weird situation where it can't On resistance so unlike a mechanical switch where you have a resistance of like point zero one Or point one ohms like it's almost nothing Um, there is a resistance. So These are low-cost 40 xx series. You're gonna get 510 50 100 ohms. So, you know, just be aware that there's some impedance This is this is not a power slick, you know mechanical switch You can easily get ones that give you amps of current through this one You're not gonna be able to drive that much current through and there's all another Limitation of how much not only is there resistance, but there's a limit of how much current You know, usually looks like, you know, 20 milliamps or so Between each input and output So this power supply for example, you can run it up to plus minus Five volts or zero to ten volts, you know, you can do either as long as the total differential is Ten or less. So that's like one example, but there's there, you know, there's others the 4051 The 4052 which is a two by four switch. So this would be good for like a stereo signal two inputs And then four outputs for each two, you know two options reach. So here you've got one Z and then goes to You know, why zero one two three and then to Z which goes to this set So it's like two to four to take stereo switches and four options each.  You also get ones that are massive, you know, 64 circuits So just kind of bonkers. Can't even imagine how big this is. Yes. This is like a beast 44 BGA, but you can get it All is available What we want actually, so this is the 4066 series just want to, you know, show a couple options in the 4066 Family Let's just look at the active ones for now and Only surface mount although they are available in through hole by the way I did use them in lab when I was a student. They were very popular There's a couple standard packages. There's the DV QFN There is the SOIC and The TSOP that we're actually going to use the TSOP in our design and the LVC is a good family to use it can run from three to five volts and Trying to remember if this voltage Yeah, so I would run it at five volts and then, you know, I'd use three volt signals to enable it But then if the external voltage was higher than 3.3, it would be fine for my switch I wouldn't have to deal with dealing with the above the, you know It's a little tougher to switch voltages that are above your power supply rail So I think this is why Digital designer decided to go with the 4066 so Your enable switches three volts, but the external voltage is five You power this from five volts and then now you can turn on and off and connect those Pull-up resistors to the through the analog SPST Without having to worry about like oh now I need like two layers of fats to make that higher voltage for for switching them So the VHT so this is probably I'm going to end up going through the LVC. Sorry the LVC series is good Once from a fine voltage, you know, it can Fairly low on resistance six ohms not going to affect it each switch can handle 32 milliamps plenty This again, it's just a pull-up resistor and it's also fairly inexpensive. So, you know, you're you're talking about like 40 cents 40 cents in in a reel at a time so A good price and so, you know, why not just do this with Fets on your own you can but for 40 cents you just drop it down and you're ready to go So this is my great search pick of the week And that's our show for the week. Thank you so much everybody. We have a full lineup of shows this week Lots of surprises. We've been posting lots of videos and more every single day. So We will see everybody during the week. Thanks so much for joining us. It's very much appreciated. Thank you. Bye everybody


So YouTube team keep it clean what's going on and sing Raven here with another video and in this video man Y'all be coming through all the time showing love showing crazy support So I felt like I got to do something special for y'all so of course it is cut down time and some people have been getting cut over the past couple of days and They have on Baltimore Ravens comm when you where you can do your own 53 man roster prediction They have their own contest going on. So I say, you know what? Let's do our own little thing over here But I don't want you to pick the entire 53 man roster and put it in the comment section Oh, that would be way too much But what we're gonna do on here if you can pick correctly Everyone who's going to be on offense.  Let me know your size blah blah blah And it's yours. I'll take care of it for you I know it ain't nothing big ain't nothing major or anything like that But it's just a little small token of appreciation for y'all and just a little fun contest to do now real quick I'm about to give what I think is gonna go down and again. I try these every year I get a lot right, but I got a lot wrong too. So if you want to try to copy me Hey, that's on you but expect to probably lose But the way that we're gonna do it in the comment section The first person who gets everything right That's gonna be the winner So with the comments I can put them in order for who's first and who's not and blah blah blah and I'll take care of that But um, that's how we're gonna do it now if there are any edited comments Just go ahead and you might as well just delete it Don't even participate because you can edit the comment and you could change the answers and stuff But no we not we're not doing that. So if you got to edit your comment, what you should do is Copy and paste what you edited to and just put a brand new comment if you think oh, man I messed up on somebody just delete it put a brand new comment because Yeah, no edited comments are even gonna be taken into consideration But anyway, those are the rules of the contest Participate if you like if you don't want to and you just want to talk about it That's fine, too, but let's get into my roster prediction for the 2020 season Quarterbacks Lamar Jackson Robert Griffin and for me Tyler Huntley, I think Tyler Huntley is gonna end up winning that job that third QB spot because again I watched him and I didn't watch much of Tracy McStorley in college I didn't really watch any fake film on him but I did watch it on Tyler Huntley and Why we haven't really heard much about either of the two quarterbacks in training camp But when we have heard about them It's it's been all Tyler Huntley and again He got that on man not to say Tracy ain't got a arm to trace could do some things now to me And I remember watching him in a preseason and he does have that advantage over Tyler Huntley that he has that experience But with Tyler Huntley, I just I just feel like the Ravens this this is a different type of season normally And I've said this before that I felt like with the Ravens they um I felt like they They wouldn't go into this season with their backup being Tyler Huntley But that was being their primary backup it being Lamar Jackson and the only guy behind him being Tyler Huntley So I think it'll be Lamar Jackson RG3 and Tyler Huntley running backs For running backs. I got Mark Ingram. You already know that I got JK Dobbins. You already know that I got Gus Edwards who I really thought I really thought throughout this offseason before everything got crazy obviously But before this offseason, I thought that Gus Edwards will be out. I thought that they would trade him or something I did not see him being on a roster, but with the whole opt-out thing and the pandemic it just I Feel like Gus is gonna be here and then Kenyan Bono Kenyan Bono, I think Kenyan Bono actually gets that last spot now I know he's dealing with an injury right now So we'll see if he returns to practice and obviously things will change if he doesn't return to practice He goes on like IR or something like that But um Kenyan Bono the reason I picked Kenyan Bono for that fourth spot at running back is because he has experience as a Semi-starting running back. He had a lot more experience than the Justice Hill and Tyson Williams as a semi-starting running back He and he has experience on special teams in the return game so he would be somebody that could play both roles and Justice Hill played both roles last year, but well not really as a starter though He did as the season went along. He got more and more experience and whatnot But I think they'll end up going with the the veteran there so he can play on offense He can play on special teams. He even played a little bit of receiver too So they can mix and mix and match them at some different positions and whatnot So he'll be somebody that can coming in a bind coming in a pinch For one of the running backs if need be and he will fit the Ravens offense very well So I think he would end up um squeaking out Justice Hill Unfortunately, cuz I really like Justice Hill Hey, hopefully I'm wrong way cuz I really want Justice Hill to make it Um, but I just I think that uh, Kenyan Bono will end up getting that last spot receivers Hollywood miles Boykin Devon Duvenay James crochet Willie Snead Okay, those obvious and then Chris Moore that with this one with him. I debated on it really really hard I was thinking about it really hard. I'm like I don't know But with Chris Moore right now I think that he ends up being the guy that gets that six spot for his special teams play and his ability to Come in and play a little bit of receiver too. Um Now had we had somebody else on the roster or something like that Then I think Chris Moore might have been out of here, but I think Chris Moore ends up getting that last spot Titans Mark Andrews Nick Boyle are obvious choices But I think we do keep three and I think Jarell Adams gets that last spot at the tight end position I don't think Eli Wolf makes it and Charles scoff. He's already been shown the door once yesterday Even though they called them back, but I think they're gonna end up showing him the door again Unfortunately now offensive line his way it gets tricky even though it got tricky earlier Offensive line for me Bradley Bozeman bring Ben Bredesen Orlando Brown Jr. DJ Flucca Patrick McCurry Tyree Phillips been powers Matt score and Ronnie Stanley. So I think Parker anger I think he's out and I think Tristan Colin Castillo. I believe he's undrafted rookie free agent But he's out as well and we'll holding this out too. So that's my offense again That's if you want to take part of the contest So all you got to do let me know what your offense is looking like put it in the comment section and the first person Who gets everybody right if anybody even gets it right? But the first person who ever put that comment first and they got everything right and it's not an edit It's not an edited comment Then again, you can pick whatever you want to from the team keep it clean merge store, man. All right Secondary whoo this thing was tough Chuck Clark the Sean Elliott Marlin Humphrey Anthony Levine Marcus Peters Jordan Richards Jimmy Smith Geno stone and Tavon young Whoo, so that's Anthony Avery on the outside looking in that this one was really hard for me, man And I think we actually uh, it's this was tough man Like oh, it was really hard because I really do think that Anthony Avery can make it especially because we are only Cornerbacks would be Tavon young Jimmy Smith Marcus Peters and Marlin Humphrey Chuck Clark is the safety Jordan Richards is safety Geno stone is a safety And Anthony Levine he's a safety slash corner. That's why he could play like both roles and come in and be that other corner but um Yeah, I got Anthony Avery doubt to rail bonds out Khalil Dorsey out Josh nurse out and Nigel warrior. Ah, I Got him out too It's tough man. This thing is hard man. Look if y'all ever done one of these it's tough And then linebackers whoo Linebackers I got a Tara Laka Tyus Bowser Jalen Ferguson L J Fort Malik Harrison Matthew Jude on Praniel McPhee and Patrick Queen This one was really hard to I feel like for me the deep well offensive line was really hard But the defense was just harder for me than it was for the offense but I got and Day I don't know how to say his last name, but I got him out I got Chris board who's been with the team for a little minute I got him on the outside looking in tough decisions man Chauncey Rivers a lot of people undrafted free agent favorite I got him on the outside looking and only due to the way that this season is and I mean undrafted free agents is tough for Then Kristen Welch out and then Marcus Willoughby out as well. Now defensive line Kalei is Campbell Justin Ellis Justin Matta bouquet Patrick card Jihad Ward Broderick Washington Brandon Williams and Derek Wolf only defensive linemen I got on the outside looking in is Aaron Crawford And then special teams. I mean, I would hope everybody would get this one, right? Morgan Cox Sam Cook and Justin Tucker long snapper Nick Moore out in Johnny Townsend out I believe he was just here for camp. So those are my 53 and that Like it's it's tough Like some of y'all may think is he is tough It's tough. So Make sure y'all if you want to be part of our little contest our little mini contest feel free take part I'm with it. I'm with it. If you think you could do it. Hey, cool So I appreciate y'all. I love y'all and make sure y'all go to Baltimore Ravens calm too So you can do take part in their contest as well I don't know what their prize is, but I'm sure taking part of the contest man I'm feeling out my information right now. Then no, this is definitely not no paid promo, man But I just I just wanted to be easier for y'all when y'all doing y'all 53 man roster predictions Even if even for when you doing it on here, they got it on there Well, they got like I said, they got all the players listed already So you don't got to do any of this stuff. You don't got to like guess You don't got to guess how many people you put on the 53 man roster. It's all right there All right, so it's official man. My entry has been Submitted okay, so I'm in there anyway team keep it clean appreciate y'all. I love y'all and This comment section it should be pretty fun. We out


My name is Dallas Groves, and I live in Glenwood Springs, Colorado. When I first heard about the Double-Up Food Bucks, I tried it because I'm low-income and it makes a difference in the quality of my food and my life. So far at the farmers market, my experience has been extremely positive and very comfortable. The Double-Up Food Bucks has made a positive quality of my life. I can eat better food and have access to the food I wouldn't have the money to buy otherwise. The Double-Up Program helps me get quality, organic food that I wouldn't be able to afford. I'm a four-time cancer survivor, and it's extremely important to me to be able to eat healthy. I spoke to a few of my friends and people that I know, and I recommend the Double-Up Food Bucks because they give a choice of food they may not have tasted before, and it's a better quality than you can buy at the grocery store. I think that my favorite Colorado-grown produce would be the squash and the greens.


In this video, I'd like to talk about mutations and phylogeny. Phylogeny is a reconstruction of the evolutionary process of organisms through time. And so we're going to start by taking a genetic sequence that with the CATG representing the different nucleotides and each group of three code for specific amino acid that gets converted into a protein that can act as an enzyme. So we're going to work forward in time. This particular organism divided, but maybe one of the characters mutated when the DNA was copied. So I marked that one in red. So this what going from a C to a G is a point mutation. So one nucleotide changes and it may or may not change the amino acid that's coded for. And this is a substitution mutation. So we could maybe take both of these and say both organisms divide. And maybe this time this organism doesn't actually have any mutations. But maybe this one has what we would call a deletion where that particular nucleotide gets missed because of an error in the molecular machinery. So to sort of keep track of the mutations I'm going to color the two on either side red ones. So we have four organisms now and each one divides here. And then maybe this time there is an insertion, which means that there's an extra nucleotide. Maybe this one actually gets a whole segment of DNA that gets duplicated, that duplication can end up in different places. I'm just going to put it at the end in this case. So let's make that red. So let's say this one ends up with what we call an insertion, which is extra code. So I will make something up. Okay. So now we have I think at 16 sequences with the original one at the top. So basically I've shown a number of different mutations, including a point mutation with its change in one nucleotide, a deletion of one nucleotide, a duplication, which is basically copying a sequence into another place in the genome. There's an insertion. And then one I didn't show was just a rearrangement. So maybe I will make a rearrangement down here. So the rearrangement will be taking the sequence and putting it into a new place. So we'll just highlight those two locations in red. And we have these different styles of mutation. And in the next video, we'll talk about how we can go from the genetic code with mutations into reconstructing the evolutionary history. Thanks for watching.


Hello and welcome to Farming Matters. I am your host, Erin Schneider. I work with the North Central Sare program and I also farm and I'm here with you from Wisconsin. I'm also here with Marie Flanigan. Producer of Farming Matters and Mimi Kokoska is going to take you to her farm and tell us about her project and what she learned from her Sare Grant and to demystify what our truffles and what she's discovering along the way. So Mimi, thank you for joining us. I'm going to toss it over to you and we look forward to learning about your Sare Grant. Thank you, Erin. I'm Mimi Kokoska. I'm the actual physician surgeon by background. I became interested in farming. Really earlier in life, however, really had the opportunity to purchase land that we've been working on and it was natural in many ways for us to pivot from the standard crops such as soy and corn in the agricultural acreage that we have in Indiana to include truffles until truffle inoculated trees to be specific. So what the slide shows is on the left is the surface type fungi or fungus that we're accustomed to. So mushrooms, we see morels and relatively the size of those morels that many individuals are aware of and have tasted and are almost obsessed with in Indiana in the Midwest. And then we see shiitakes that are grown on logs there on the upper right on the left side of the screen which is a surface obviously mushroom fungus and then the golden oysters. So those are examples of surface fungi or fungus. And so we're really familiar with those. However, subterranean fungi is a good example of course are truffles and they grow underground. So you can't see them usually when you're walking through the woods or wherever. And that's what they look like on the right hand side. These clumps, if you will, and these are specifically what you see there are white truffles, the most highly valued truffles in the world. And it shows a good example is the partner, if you will, and that it grows along with and that is a tree. In this case, it's a hazelnut tree there and it grows underground. And that is the good and the challenge, if you will, of truffles. How do you find them if they're underground? And to get them to grow in our climate, our growth zone, given the cold winters that we have, is part of the challenge as well. So I will share with you, here's an example of the tuber magnetum on the left. That's the white truffle in the tuber milanus forum, the black truffle, if you will, on the right. And these are just examples to wet your palate, so to speak, on how I've actually eaten truffles. These are examples of truffles I've actually had. So, fortunate for me, I've been able to sample these and this is what really spurred our pursuit. And I mentioned earlier, the truffles really stimulate all your senses and from your smell to taste, touch. So, this is an example of one of the challenges that we experience is in agricultural soils. And soil is so important for farming, of course, and the quality of that soil. But the pH in this case, because it had been historically farmed for many, many decades in traditional farming, the pH tends to be quite acidic. And if let's just say seven, pH of seven is neutral, the pH here we can see on the screen shows the soil samples that we took were 6.5 and 6.7. And this in July 7th was 6.9 and 6.6, approximately the time that we applied lime and we're talking lots of lime, tons and tons of lime per acre. So, that's a challenge and this is just an example of what it looked like at the field as we were prepping it before planting the following spring. So, we also applied some straw and prior to disking it into the soil with the lime and we also had some cover crops in the field to add organic matter and improve the quality of that soil. And this is all before even planting the truffle inoculated trees. So, you can see a lot of work. So, these are just examples of cover crops and a list of some of the cover crops that we applied. And we also developed leaf compost and this is all in preparation again for our spring planting the following year. And a crude but important diagram on the left is just shows the planting distances between each inoculated tree to plan and the density matters. So, because the canopy of the trees, the earlier that closes the canopy and by its branches and leaves, the higher likelihood of truffle growth because of canopy and then of course machinery and when we're planting planting the plant over a thousand we ended up with a thousand three hundred and fifty trees digging the holes we use the mechanical auger here. So, this just shows an example of our system and digging the hole then planting a tree putting a five foot high cover on it and attaching it. And here's an example of the real deal with our dog. No, that is not a truffle dog. That is a livestock guardian dog and I think we're teaching him to guard the tubes trees. And it was it was cold because we planted it the toward the end of March of 2022. So cold and wet out there and those are the tree tubes as I mentioned earlier and we really had a pretty good success rate and that was what the counter was showing there and we about a month afterwards we estimate less than 3% loss of the trees. So, here is the pH nine months post slime and we could see the pH has improved here it's raising out of seven and seven point three. The cation exchange capacity has improved as well it's much higher and I point out the calcium as well. So, one of the challenges that we met was really rainfall all of the challenges and so I'm sharing with you here the NOAA if you will the precipitation and I use Indianapolis as a similar latitude because our farming town is small enough that it really doesn't track it consistently so I just used the same latitude in Indiana for this and it really shows that when we planted in 2022 this row down here just shows the in March there it was, remember I just said it was really wet and cold indeed so if we look across the last 10 years almost it was one of the higher rainfalls. Then we come to June and it's in red circled because it was dry. We go back pretty much 10 years one of the lowest in rainfall so ergo the challenge for us because these were seedlings really fragile in that sense so we go to the end of year we just see the end of the year total is low relative to the prior 10 years as well so what did we do? This is a picture of the well so fortunately in our community we have somebody who puts in wells so he came and installed it and here we go this is the system that we used for providing water hydration to our poor little seedlings and that's how we that's how we dealt with it so this also shows the another challenge and this is a google map of a weed an invasive weed called cockabur and we could see where Indiana is here and there's a lot of cockabur pretty dense it's not as bad as some other areas so this we had to do weed management or outside the tubes and then also there are some inside the tubes I'm going to show a picture and then we use the leaf compost I showed you earlier to provide a zone if you will of coverage and moisture so I'll show you a picture of those cockabur later but here's another example of a threat so or challenge that we face so you may think well why did we tube the trees so for any deer hunters out there or deer experts wildlife experts we see deer tracks as well as the scat and deer tend to rub and really eat as well the needle stems and trees and damage and kill them so really could reduce the success rate and this is our livestock guardian dog being very protective of the trees so we talked about cover crop on the left and we use that but some of the cover crop also can get into the tubes and so we had to remove some of those from inside tubes and then replace the replace the tubes the other thing is bent tubes was a challenge from the wind and you can see that here so we could unfortunately at that time the trees were small enough or short enough that really didn't affect the trees if we could catch it and then upright it and we learned a few things the higher the there's a balance but the higher we could put the stakes and the tubes secure the tubes the less likely it'll bend so but the stakes also have to go into the ground far enough to be secure so there's the the balance here you go a little straighter better posture on those tubes and we could see through the seasons the the green leaves behave like they would for oaks and turn brown if you will in the fall and through the winter so the truffles actually need to be inoculated into the trees so we acquired truffle inoculated trees saplings and planted those so it they grow in conjunction with each other through the years so it takes somewhere between it could be a little shorter than six years it could be as long as I've heard 20 years before somebody can find truffles on their inoculated trees so so the cockabur remember I showed you the google map with the distribution in the United States well this was our joy to have these cockabur's not really grow and the cockabur's are very difficult if you will to work with because they they truly to their name they perform these I mean they produce these burrs and they stick onto the dogs fur they hurt your fingers if you don't have thick gloves on and the benefit the strategy however is for farming in general you don't see them quite as much in farmed land agricultural crop land because a lot of farmers will use pre-emergence they will actually suppress these weeds from growing of course when we're transitioning we did not have pre-emergence or use pre-emergence and so lo and behold these things sprouted up surprise and so combination of they will pull out pretty readily and they do not do well in the shade they have a strong preference for full sun so the idea is I remove the burden the seed burden over time by removing them early on before they concede that's our strategy as well as closing that canopy over time it will suppress the cockabur's from growing so when there is an abundance of truffles it's a finite lifespan unless they're dehydrated or used in some or preserved in some other way but really fresh truffles have a finite lifespan and these are just examples of of truffles like I said I've been able to partake in and in different places and on the left is actually some black truffles that I had here in the United States so not in Indiana though not yet I really you know appreciate all the like the step-by-step and like talking about both the challenges and then what well also the transformation and highlights too like you how you're rehabbing the soil and making it supportive of of like hardwood and truffle source when a couple questions that people may like other farmers or the growers may like just come to mind how how did you go about sourcing the inoculated trees well so I am a member of the North American Truffle Growers Association so that's a good resource there are a number of growers not not I'd say about a handful of truffle inoculated tree growers and distributors if you will in the United States so you want to focus you know within the country just because of transport time getting them into the soil then you know becomes well who it's a trust you have to decide who you're going to trust it's a huge investment financial time as you can see so it's a long-term investment and you won't know if you have truffles for many years so there's a lot of trust in there as to where you know which vendor you may decide to go with I I think any of the top vendors would have been fine there are some nuances in the agreements that one needs to be aware of and so that becomes important too and what are you going to do with your truffles you know are there any clauses in those agreements where you might have to disclose or credit or you know is there financial impact in that agreement so that all came into play into how we decided with what which vendor we went with so is there any other like kind of key lessons or advice you would offer to other farmers who are considering this you mentioned connecting with the network but like things that you're like oh wow if I were to start again I would have done XYZ or I think soil the significance of soil quality of soil amending the soil cannot be under rated if you will and being very intentional about that if one has a lot of time to prep that soil then great because you can check that by doing soil samples and testing and looking at the impact of what you do the other is just being aware and prepared to take care of and eliminate any significant weeds I think that was a that was one of my pop-up surprise so I think just being prepared and one has to really check on the trees especially in the early stages as you saw some of the bent tubes and really learning from that Mimi thank you for just like helping share just like all the steps and like opening our eyes to like and something like oh yeah we can grow this right but then I'll like wait a minute let's pause there's a lot of research and a lot of a lot of thought and intention and investment that went into your project yeah thank you so I'm this I'm a geek so I tend to I am really so but but I really do enjoy sharing that sharing sharing really everything right so an experience so I really would love to do this in person and let you sample some of the things that are unique to our area


You're twice as sure with two great names Frigidaire and General Motors Frigidaire presents Herbert Marshall as the man called X Wherever there is mystery, intrigue, romance in all the strange and dangerous places of the world There you will find the man called X Now Frigidaire presents Herbert Marshall as Ken Thurston, the man called X Darkness of night covers the drabness of New York's east side waterfront As the headlights of an automobile search their way between rows of dingy warehouses Finally they slow and come to a stop 177 179 according to Pagan's letters chief, this should be the warehouse Oh Pagan's letter Ken just because that truck rides to you from somewhere in Panama Porto Colombre. Well, wherever it is. I don't see why we had to come down here Chief nobody I know can blunder the trouble the way Pagan can He asked me to check up on the shipment of a small parcel for him and he seemed pretty worried about it So it uh, maybe worth a look never take a minute. Come on Well, the only thing ever worried Pagan is the size of a payoff What's he doing in Porto Colombre? That's what I'm going to find out Let's see now Well, there's somebody Ken working on that packing crate Hi there You in charge here Hey, can't you hear me? I asked if you were in Ken watching blazes was the idea of that you've got me chief Let's look at that crate he was working on Yeah See the address stenciled on it. Yes. Yes, senior Pagan Zell Schmidt Porto Colombre Panama Care of the Dela Costa import company and it's marked Farm machinery. Yeah What's the farm machinery? That's t&t demolition charges And there are two more crates just like this one. Holy smoke Now what does Pagan want with that stuff? Ken chief United States troops have been withdrawn from Panama. We're giving up the air bases. We need for defense of the canal And Porto Colombre is only 20 miles from the casal zone 20 miles from yeah Yes Chief, I think I better go farming in Panama Gratias for the stead Gracias, señor. Muchas gracias vaya con Dios for nada adios Cano senor. Yeah, that's right miss, uh Dela Costa. Oh, no, senor. I'm a real shaliah Senor. Daya Costa is a good friend. So I sometimes help him with his office work I'm really a professional. You see a dancer. I see. Yeah My name is ken thirston senator The way you say that senor should I know the name maybe I'm expecting a shipment of farm machinery from the united states Farm machinery. I do not recall. Maybe you have it invoiced in the name of my uh, my partner senor zell schmidt No, senor. We're not handling any such shipment. Oh, sure you are Or it just slipped your mind if you'll check your records. Oh, but I'm positive. You see we do not have any business with the united states That's where they're invoicing your desk is a new york address on it Who's we looking at? Do not bother senor. Oh Interesting little gadget to have there maria 32 caliber isn't it see at this short range quite deadly See senorita Was there something you wished that is all right It's gentleman is most curious about farm machinery from new york Perhaps you had better show him his curiosity is unwarranted. You see senorita. I would be happy to Like this Yeah, hello, hello with my package shipping from new york. This is senior zell schmidt calling pay gone. Yes, that's right pagan zell schmidt. I That's you mr. Thurston. That's right pagan well imagine that I call the dollar cost the company in port of colombia and get you in new york Must be crossed wires.  You got me And you've got a lot of explaining to do I have yeah About those packages you're expecting. Oh, see right now. I have financial type executive. You understand Maybe we could arrange an appointment say next week sometimes pay gone. Okay. Okay. It'll cost me money But what's that? I'll meet you at el diablo el diablo Yeah, does it have a dancer by the name of oh sure sure it's a nightclub type cafe on the waterfront I'll be there in half an hour and you would better be there too A most regrettable appointments in your thirst and most regrettable Hello, where'd you come from?  Yeah What was that crack about a regrettable appointment fosco? El diablo can be a dangerous place for strangers particularly for a man called festin Huh, how come you know my name while you were unconscious? I took the precaution to check your identification And I've reached the conclusion that we might possibly Be here on the same mission. That would be cozy What's your mission fosco seeking el tigre? Oh the tiger who's that the leader of a large organization of bandito senor they operate in this territory Very vicious very dangerous too bad But why should I be interested in your local thugs for a very good reason senor? El tigre has been spreading anti-government propaganda among our people A familiar pattern is it not senor so that's it You figure this el tigre here wouldn't mind setting up his own little dictatorship around here It would not be the first time a bandit leader has tried that trick And the united states does have a slight interest in certain properties some 20 miles from here It might prove unfortunate if the surrounding territory were Unfriendly here only it takes arms ammunition to pull off a stunt like that Any idea where this uh Where the tiger's getting him the steamer santa margarita is due to dock within two hours I have reason to believe that she carries farm machinery tractors From the united states Does that mean anything to you senor? Suppose I give you my answer the docks When the santa margarita comes in excellent senor But what will you be doing meanwhile keeping a regrettable appointment fosco at cafe el diablo Sorry senor but uh senor zell schmidt has not come in well diablo as yet If you would care to have a table and wait for him. Yeah, maybe I will What is it senor? Is there something wrong? No, no not at all. I just noticed your dancer. See see talented. Is she not senor? Yeah, very Never mind that table. Oh, then the senor is not going to wait. Oh wait. All right in the dressing room of your dancer Maria shall I so this is where you work when you're not helping gala costa Now that you have found me here senor thurston. What do you wish? I just want to congratulate you on your act Gracias. I do not dance too badly. I think maybe there wasn't yet. He was talking about baby Well, didn't know you had company maria There she has thurston Me and this edward. Oh nothing gone. You promise me. It's no gop, baby You don't get anywhere just trying to scare the man called x. Yeah You found that out a couple of years ago, didn't you louis there was a bum rap you hung on me in new york thurston Oh, sure. You were only running a draft evasion racket count of any war saving bonds just kid stuff How'd you break out and get down here louis? I can wait It's not at louis anymore. It's delicasti the big import man You wouldn't have another alias too. Would you like what for instance like lt gray lt Shouldn't have said that thurston That was a mistake Looks like i'll have to break my promise to maria about the gun after all man called x starring herbert marshal Ken thurston is in port of colombre panama on the trail of explosives being shipped down there Disguises farm machinery Explosives he suspects are going to be used by a band of chief named lt gray Who has plans for setting up a little dictatorship within 20 miles of the panama canal Now in the dressing room of the beautiful maria celiai Ken faces the gun held by delicasti the former new york coudlam You're not getting any answers here thurston. Maybe you don't scare off, but there's one way that won't miss No edward you can't shoot you give me that gun let go maria before i blast you too today delicasti Thanks for the help maria, but how come i'm not a particularly good person senor thurston I thought you were trying to take edward her back to the united states So i try to scare you away But one thing i will not do is betray my country and if he is truly el tigre i didn't say that maria But whoever el tigre is he's gotta be stopped and let me help you i will work to find him and the explosives Then perhaps he will not be suspicious of me any longer. Yeah, perhaps Let me know how you come out. You are leaving diacos the year. Why not? I can't prove anything on him then what are you going to do? One way of making a tiger harmless is by pulling his teeth and claws Captain fosco will help me do that when the santa margarita docks, but you are too late senor thurston She docked this morning her cargo is already ashore You sure there positive. We've already cleared certain items through customs. Let me have that phone maria Police headquarters fast and segida What is it ken? What are you going to do get some answers from captain fosco? Hello? Hello? Captain fosco, please Fosco, yes, that's right I see Is Is something wrong? Is he not there apparently never has been maria? There's no captain fosco with the port of colombre police Your low one by that name has been in the customs office today Of course. Yes. I am certain He what? He's coming in the door now Uh one moment, please Uh, pardon me. Would you be senor thurston? That's right. Why?  Huh? If you would care to pay sure Hello, hello, mr. Thurston. You know what? I can't meet sure that el diablo I was detained by important business. You understand those packages that arrived on the santa margarita. Yes. No I'll contact you later. Goodbye, mr. Thurston.  See senor paying duty on some imports Uh You check them of course check them senor farm machinery from the united states with the duty pay You wouldn't happen to know what he did with the stuff Huh, but I do senor. He was transferred to a fishing boat. I was selling for those floris those floris See a small island of the coast There is nothing on it, but jungle and the ruins of an old spanish mission Sounds like an ideal place to start a farm You're right What was senor zelspit one with the farm machinery there? That's a very good question Me goes senor thurston. I did not expect you at the dock so soon. I am surprised Yeah, so was I when I called the port of columbria police. Uh, I see The fact remains we are both concerned with altigre and I believe I am correct in saying that we are both interested in the island of those floris Does that bush you're beating around have any point fosco? Senor, I have a speedboat waiting We could reach those floris well ahead of that fishing boat if you would care to trust me Okay Let's go to those floris Has been a pleasant journey has it not senior thurston not even the sight of another boat to spoil our enjoyment of the serene and peaceful sea I'm more interested in what lies up ahead fosco on those floris then we shall land senor and find out This stretch of jungle beach should do nicely So Now we will go up to the old mission Hold it fosco senor someone is approaching our landing has been detected. You have a gun. Yeah, watch it Thurston, welcome to this floris. Pagon zelspit. Mr. Thurston when in Panama, why not do as romans do? Why don't you call me by my right name? I can think of a lot of good ones right now What's the one you have in mind? What a question altigre, of course. What else?  I wasn't too tough for you Pagon. Thank you, Mr. Thurston But what they promised me such big money to come here and work for them How could I resist and all I did was order those packages for them all you did But then amuse you as a front to get arms and explosives brought in here So altigre could try to set up his own pretty little dictatorship next to the panamaran canal How does it happen you called yourself altigre senor zelspit? This baldasar told me too when he flew over here It was a password or something could have been a password of the firing squad Well Still walking around with a gun in your hand, dala custer. That's right So you got things figured out thurston?  Right boy thurston You got things figured out pretty good. Well, you're not getting away with it Sure be a brave hero walk right into my gun thurston Okay, they're close enough now he's going to shoot Oh, mr. Thurston is dead. He shot dead. I can't look.  Huh? Hey, he's the dala custer that's got it Ken, are you all right? Don't worry. You're not shooting. I tell you I would work with you Ken I follow you in my own boat. Thank the deals. I got here in time. Senator Julyer.  Thank you, senor But you must be captain fosco. Ken have you learned? Yeah, he's an agent for panamanian intelligence maria. See senorita Well, shall we return to the speedboat? I have a radio on board I shall tell headquarters to send planes to run of altigre's men and then altigre is dead correction fosco Tell them we're bringing altigre in with us. Huh, but this dala custer is dead maria isn't dead What is this a bad joke you said you follow this out here in your boat maria But the sea was empty to the horizon when fosco and I came out here Of course senor. She must have been on the island all the time since ridiculous Ken I save your life and you accuse me of this you weren't trying to save my life You were trying to save your own what you you knew the game was up so you tried to throw the blame on dala custer Make us think he was altigre instead of another stooge Let's have that gun maria You can relax now So senor x the tiger's claws are really drawn now it is over The most dangerous beast in the jungle is tame. Yes You know There's a more dangerous animal than the tiger loose these days fosco The human animal Men and women infected with that old lust for power And they are the most dangerous animals of all Because they feed on their own kind That's the breed we've got to destroy all of them And our frigid air star herbert marshal. Thanks for being with us listen America's production depends on steel jobs depend on it And steel depends on scrap metal Help increase the production of the things you need Help to keep employment high Correct scrap iron and steel around home Tell it into your local drive or call your local scrap dealer right away Next week we have a story. I really think you'll like Its title is guns on the Niger and that gives only an inkling of what it's about As usual, leon belasca will be along his peg on zelschmidt. So join us. Won't you When next I return as the man called x. Good night Frigidaire's man called x is directed by jack john stone with music composed and conducted by johnny green Tonight's story was written by sydney marshal So until next week same time same station This is wendell niles speaking for frigidaire made only by general voters All characters and incidents used on this program are fictitious And any resemblance to actual persons or incidents is purely coincidental Remember every sunday night brings you two popular dramatic shows on cbs The man called x and the adventures of sam spade Yes for the best in entertainment Tune in and stay tuned in To cbs the biggest show in town CBS the columbia broadcast exists


Okay, welcome everybody. So today we are excited to have Arun Ram from University of Melbourne speaking about generalized divided differences and mocks rules. Please go ahead Arun. Great, thank you Anders. Thanks to all of you for inviting me and having me speak. It's really a pleasure to get to tell these stories. I was telling Leonardo. It's just such a beautiful theory. I feel lucky to work in this in the subject. So I wanted to talk about this paper with Tom Halverson that we wrote last year. And so it's about mocks rules for McDonald's. Really my focus recently hasn't been McDonald's but of course the the Schubert analogies are just everywhere. So that's how I want to start. It's with the analogies to Schubert calculus. And so let me begin just with divided differences. So of course symmetric group, SN for me is a symmetric group and that acts on polynomials. And I'll use Laurent polynomials because that's where the McDonald polynomials live. And that's of course, so let me I'm going to write many operators. And so I want to write them sort of in a consistent form. Which is that I've got SI acting on the operator F. And then that is going to be equal to so I take F. I leave the first I minus one variables fixed, I switch I plus one and I, and then I leave the remainder of the variables fixed. All right, so that's the standard symmetric group action. Of course in this everybody went black. Okay, super. So then the divided differences. Let's let del I be one plus SI applied to one minus X, XI minus XI plus one. So that's my standard divided difference. And then we immediately start to compute relations. So del I squared is zero. And these satisfy coxsider relations. Plus one, del I, del I plus one. And then of course the next one is a di. So di is one plus SI times one over one minus XI inverse XI plus one. So I view it as an operator on. And then di squared is di. Sorry, can I ask somebody either Anders or Leonardo or somebody to go back on camera because it's somehow it's very, feels very funny to be talking black. Okay, thanks. All right, so the di's, they satisfy, again, the same braid relation. But we have this, this square relation has changed to the, from being a nil potent operator to being an item potent operator. Okay, so now the fun starts, because I'm going to let T to the half be some complex number. I view that as just an extra parameter. And then we let CSI be this operator T to the minus a half minus T to the half XI inverse XI plus one divided by one minus XI inverse XI plus one. So, so you can see that same kernel is appearing in these factors. But this thing, this whole expression is called the C function. So actually Laura Colmenarro and I wrote a whole paper about how the C functions are just sort of integral part of the game here. So when I take this as my push pull operator, then it squares almost item potent but with a constant. So T to the half plus T to the minus a half times CSI. And if you look at the braid relation CSI CSI plus one CSI. And you want that to be equal to CSI plus one CSI CSI plus one. It's not. It's just not doesn't satisfy the same relation. So you have to fix it by adding a CSI. Yeah. Your CSI seems to be a constant. I don't see it. It does has no SI in it. Oh, I'm sorry. Thank you. Thank you, of course. Wonderful. So I can blame the time difference that I'm I'm still asleep. But thank you, Ellen. That's great. So it's I wanted to be the same kind of operator where you take some some Todd class and then you symmetries it. And I'm doing the same thing here taking some kind of a class and symmetries. That's my CSI. So yes, thank you. Okay, so I have to add to get the the relation correct. I have to add here a CSI plus one to the left hand side and a CSI to the right hand side. But then it works again.  Of course, you can fix it. So if I let T I be CSI minus minus a half, then what happens is, well, it satisfies my usual heck a relation, which is t to the half minus t to the half minus a half ti plus one. So and the usual braid relation. So ti plus one ti ti plus one is equal to ti ti plus one ti. And that's my heck algebra. So so this is standard heck. Okay, great. So far so good. Okay, so now I want to move to Daha. Daha is the double affine heck algebra. And it's actionable. So for that, I need another parameter. So Q, which is also nonzero complex number, you can take it to be that or you can take it to be a free parameter. It's also fine. And then I have an operator YI, which acts on a polynomial log polynomial. And it gives you back. So you take the old polynomial, you leave the first i minus one coordinates the same. And you scale the ith coordinate by Q inverse. And then you leave the rest of the coordinates the same. So that's why I and using why I we can build t pi, which is s one up to s n minus one. So those are my operators, just symmetric group times y n. So that's a new operator that we're introducing. And we use it to define capital Y, which so these are some kind of Murphy like, if you know Murphy elements and symmetric group, they're Murphy elements of the Daha. And this is t pi times t n minus one down to t one. So I have y y one, that's the first Murphy element. And you get the others why why I so for I between two and n, you, you get the others by taking t i minus one inverse the previous y i y i minus one t i minus one inverse. All right, so I have so amazing fact is that that y i y j is y j y i just just like Murphy elements satisfy. But the you can just view them as operators on polynomials and and try to check do the exercise that the why is commute. Okay, so now we can really get to the generalized divided differences that we use to build McDonald's. So these are called tau I check, or at least I call them tau I check. And I, I suppose I should apologize for all the checks, which, which litter this thing. But if you're trying to keep Langland's duality straight in your head, you have to have them. So and tau I check is going to be CSI minus t to the half minus t to the minus a half y i inverse y i plus one divided by one minus y i inverse y i plus one. So I yeah. On the bottom of your previous page, you've got t pi is equal to something that doesn't mention pi. Is that right? t pi is just a notation for a new generator. Yeah. Okay, so pi is not a permutation. Pi is not a permutation. No. Okay. No. Okay. I mean, secretly it is an affine permutation. But since I haven't brought in the affine while group, you don't see that in this right right now. It's just an operator for me sitting on the polynomials. Yeah. So, so this tau I is sort of trying to be CSI, but it's got another correction in these new variable, these new operators, why? And it's really an amazing thing, in my opinion. It's called the Terednik inner twiner, because that's what he used it for. Okay, so I need then now one more set of operators. So, but these are very easy. So capital Xj is just going to be multiplying by Xj.  So, but it's important to start thinking about these x's as operators on the polynomial. And then I'm going to need one more, one more inner twiner, which is called tau pi check. And that's going to be x1 t1 up to tn minus 1. So, so maybe let's copy this one. These are my key operators here, so that we've got them. All right, so that these are, that's the whole Daha. I've got the Daha action secretly, without telling you what Daha is, I've just defined all the operators on on the polynomial ring. And now we can start to think about Schubert and McDonald's in the analogies. So, let me go back to the Schubert case first. So, Schubert, so the, the standard way to do it is to talk about Schubert polynomials, which are these curly S math rack SWs, and they're indexed by permutations in S infinity. So, so permutations that are, that can be as wide as they like, but are secretly finite permutations. So, they permute the integers, one through whatever. And these form a basis, a basis of polynomials. So this is Schubert, sorry, using an infinite number of variables. And the way we want to define them is we want to, for each permutation, if wi is bigger than wi plus 1, then I want this original divided difference acting on SW to be SWSI. And then you need some normalization. So, the S of the top class, so the W not n for me is the most element in the symmetric group Sn. And that's x1, x1 to the n minus 1, x2 to the n minus 2, xn minus 2 to the 2. So that's, that's my standard definition of Schubert polynomials. And the point is I want to do the McDonald's story in an analogy to that. So, so McDonald's polynomials. So these are going to be denoted e mu, the McDonald's, these are what I call electronic McDonald's polynomials or non symmetric McDonald's polynomials. And they're indexed by n tuples of integers. And they form a basis, a basis of the ring of the long polynomials in n variables now. So I'm working x1 plus minus 1 up to xn plus minus 1. So that's my first analogy is that the Schubert polynomials form a basis of the polynomial ring with infinitely many variables. These guys form a basis of the polynomial ring in n variables, but Laurent polynomials. And then I want to construct them. So I'll take and I'll say that if, so an n tuple of integers is mu1 up to mun. And if the i-th component of my n tuple is bigger than the i plus first component, then how I check, so that's my fancy divided difference, generalized divided difference, when I act on e mu should give me e si mu. So the same way as for, and the way that I do it, I normalize this by a half because I try to follow Charrette and next notations. And then for two, we have to again, fix some normalization of the bottom class or the top class, depending on your point of view. So the zero partition or the zero compensations one to be one. And then these extra operators, so maybe, maybe I can grab this Schubert story for, so the extra operators for the McDonnell case are this tau pi. And tau pi, when it acts on e mu, it's going to give me e pi mu, where x on a sequence and what it does is it cycles this around. So I get mun plus one, mu one up to mu n minus one. Is that readable? I hope so. So what's happened is that mun has moved to the beginning, but when it moved to the beginning, it got augmented by one. It got an extra, an extra box, if I'm thinking in terms of partitions and boxes, that and all the other guys moved, just moved over. So it's a cycle, but with an augmentation to it. And that's how the t pi acts on the McDonnell planets. There is an extra factor, if I'm being careful with the contents, which is so stuff is equal to one half n minus one minus the number of i's such that mu i is greater than mu i plus one. So there's a lot of these little normalizations in McDonnell polynomials, and they're annoying, but they're not complicated. They're all combinatorial, and they're all so this is one of them. So the tau pi cycles around. And for me, if I'm constructing McDonnell polynomials, this is a very important operator, because I have to start with zero zero, which is no boxes. And somehow I have to add boxes to get big partitions or big compositions. And so it's this tau pi operator that allows me to do that. And then the last important step in McDonnell polynomials is the action of the yi's. And the action of the yi's is that the the emus, the electronic McDonnell polynomials are eigenvectors for the yi's. So those are called Drednick-Donkel operators. And the eigenvalue is q minus mu i t to the negative v mu of i minus one plus one half times n minus one. So v mu is a permutation, and it is permutation. So it is minimal length, such that. So I want to take mu and I want to sort it. So I want this to be weakly increasing. And that permutation that takes your composition, sorts it into increasing order, is the one that's appearing in these weights. And that always appears in McDonnell polynomial t, the t weights of McDonnell polynomial. The q's somehow keep track of the parts of the composition, and the t's are always keeping track of this minimal length sorting permutation. But this is the amazing property is that you've got a whole bunch of commuting operators that diagonalize on the basis of electronic McDonnell polynomials. All right, so that's the definition of all the McDonnell polynomials. How do we go? That's 25. Shall we break there? Yeah. Yes, that works. That works good. So I guess that means we start again at five. Yeah.


So yes, I'm Brent Yorgie, I'm really excited to be here. I would like to tell you about a project I have called Diagrams. So Diagrams is a domain-specific language for creating vector graphics, and this was really sort of born, you know, I'm really a programming languages researcher, but I love to think and communicate ideas visually. So, you know, I was unsatisfied with the tools that existed for creating this sort of, you know, pictures that I wanted to use to communicate ideas. So I said, well, you know, what happens if I apply the things I know about math and programming languages to, you know, designing a language for creating these pictures? And so the result was Diagrams. And I'm especially excited to be here because I don't know a lot about graphics. I mean, I've been learning more and more as I've been working on this project, but you all know a lot about graphics, so I'd really love to get any kind of feedback and collaboration. I'm sure I can learn a lot about the graphics side of things, but I hope I can share with you some things about the programming language side of things as well. So the most notable thing, one of the most notable things about Diagrams is that it's, so it's this domain-specific language, but it's embedded in the Haskell programming language. Just out of curiosity, how many of you have heard before of Haskell? Okay, wow, great, everyone. How many of you have actually written a Haskell program? Okay, that's about what I was expecting actually, so that's great. So Haskell actually makes a really great sort of environment to embed a domain-specific language in, and I'm going to tell you some of the reasons for that. So first let me just show you some examples so you can get a flavor of the kind of thing you can do. And these are very simple, and I'll show you some more complicated things later. So starting very, very simple, I can make a circle and a square, give them some attributes, and in this case, I say put them next to each other so that they're touching. And this is just a Haskell expression, but all the things there, all these functions and these little operators are things that are defined by the Diagrams library. So none of the things up there are built into Haskell, they're defined by the framework. So here's, oh, yes, and I should say. The notable thing about this is that I didn't have to write any coordinates, like put this at 2, 3, and this is sort of one of the design goals, is that usually when I'm creating some kind of illustration, I don't actually care what the coordinates are. I mean, if I'm forced to pick some coordinates, then fine, I can pick some, but I'd really rather just say, I circle in a square, here's how big they should be, put them next to each other. So of course you can use coordinates if you want, but a lot of the library is designed to make it so that you don't have to. You can sort of specify things relative to one another, and the framework will sort of work out all the coordinates for you. This is a slightly more complicated example, drawing some kind of tree. So I have a function here, fib to construct the tree, it's a recursive function, and then the code down at the bottom, so it creates this tree with eight levels, applies a layout algorithm that we have implemented, and then draws it, and this code here is just telling it how to draw the nodes and how to draw the edges. And there's some list of colors that is constructed somewhere else that it's picking the colors from. And notice the interesting thing here is that because this is embedded in Haskell, I can write, Haskell is a general purpose programming language, I can implement arbitrary things, so in this case I wanted to compute a particular tree that I wanted to draw, and I can just write a little Haskell function to do that. And this is a pretty simple example, but you can imagine situations where you want to do much more complicated things, for example, maybe you have a bunch of data that you want to analyze somehow and then visualize it, using a framework like this, you can have that all be in the same program, in the same language. You don't have to worry about sort of munging the data and then outputting it to some intermediate format and reading it into some other program to draw it. Okay, so I just wanted to share sort of some of our experiences building this as an embedded domain-specific language, and some of the reasons that Haskell is a great language for this. And these are a few of the reasons. There are others, so for each of these I'm going to go into a little more detail and show some examples of how these work out in the particular case of diagrams. So I should say there's also a reason that using embedded domain-specific languages is annoying, which is that you get horrible error messages, because you would like to have the error message say something about, oh, you tried to, you tried to apply a point as if it were a color, but that doesn't make sense, but instead you get some horrible error message talking about all the internals of the library. So that can be, in fact, this is sort of an open research problem, and I know people that are working on this, you know, how do we get good error messages for embedded domain-specific languages, but, so, oh well, for right now in our manual we have a section that says, you know, here's some error messages you might see and what they mean. So, okay, so back to reasons that this is a nice thing to do. So one is that Haskell has a strong static type system, so I'm sure many of you are fans of dynamically-type languages like Python, which are fine languages, and I think there's a place for both. Sometimes, though, I hear sort of, I encounter people who have very VM in opposition to static types, and I think, from my point of view, I think some of that comes from working with statically-type languages that have insufficiently powerful type systems, so it's sort of just powerful enough to get in your way, but not powerful enough to really help you out. So Haskell's type system is, in fact, very expressive, and it makes it possible to sort of express a lot of constraints and invariance of your program and then have the compiler help you get them right. So just as an example of, you know, there's all kinds of types in our library for all sorts of different things, so here's examples of things that all have their own type, and in fact, a lot of these are sort of parameterized types, so, you know, for example, vectors, you can have vectors in any dimension, or you can have, there's various types of diagrams, depending on what backend you want to use and the vector space and things like that. Right, and the point is that the compiler makes sure that you don't make silly mistakes, things that don't make sense, like adding two points or even something silly or like applying a vector to a color. And this really cuts down on a lot of the sort of obvious mistakes you would make, it catches them right away, and then you can work on the more interesting mistakes. Okay, so Haskell is a functional language. That means a lot of things to a lot of people, but one thing in particular it means is that it has first class functions. So I can pass functions as arguments to other functions, return them as results, I can store functions and data structures. So here's one particular case where we really make use of this. So along with each diagram, we store something that we call the envelope.  So the envelope is in fact a function, and as input it takes a vector and as output it sort of tells you how far along that vector do you have to go until you reach the boundary. And we use this for doing things like putting diagrams next to each other, but you can put them next to each other along any axis. These also transform very nicely. So if you have a bounding box and you rotate it, well, that's annoying because now it's not axis aligned anymore. And so you either have to sort of pick a bigger one or you have a bunch of choices and none of them work very well, but these work just fine under any kind of affine transformation. And it would be really impossible to do this without having first class functions in your language. I don't know of any sort of good way to represent these using some kind of first order data. I mean, you could approximate them using polygons or something with a lot of edges. But it's usually much simpler just to have a function. So another reason Haskell makes a great substrate for this kind of embedded domain specific language. It has really powerful abstraction mechanisms. So here's an example from diagrams. So you can draw squares, of course, and you might expect square to have a type like, but it takes a number telling you how big the square should be and it outputs a diagram. So in fact, so you can certainly do that with square, but in fact, square has a much more general type. So I'll show you the type and then I'll let me explain what this means. So this says, okay, square still takes a number as input. So that's this double part here, but it can give you any type as output, as long as that type satisfies these interfaces. So this is using Haskell's type class mechanism, but you can think of sort of like Java's interfaces, but a little more powerful. So this says a square can return any type you like, as long as it's trail like, which essentially means you can take a path and convert it into something of that type, and it has to be transformable and it needs to live in a two-dimensional vector space. So here's some examples of, so on the left here, I have an actual square that I've drawn. In the middle, what I've done is I've used a square, instead of using it as a diagram, I've used it as a path, and then I superimpose two of them to make a bigger path and then fill that path using some kind of fill rule. And on the right-hand side, I've used a square. You can also use it as a list of points, and it gives you just all the vertices of that shape. And then I've drawn some dots at those vertices. I don't have space in this slide to show you the code to do this, but the code is not that complicated. The point is that I can reuse this one function square in many different contexts, and depending on the context, it will sort of do the right thing. The last point I'll make is this has really been another focus of this project. Coming from my math and programming language's background, this is something I really focus on. Taking some domain and saying, what is the essence of this domain? Is there a simple, elegant mathematical model that I can use to explain what's going on in this domain? And then that sort of works out and tells me how to structure an API that works nicely. So one particular example, diagrams, a lot of it is based around this theory of monoids, which basically you can think of as how to combine things in nice ways that satisfy various laws. So most things in diagrams can be combined in various ways. So you can put two diagrams on top of each other, or you can put the next to each other. You can combine colors in various ways. You can combine paths. I think on the bottom, you can combine transformations. And this all works in this same interface that talks about combining things. Is there something else I wanted to say about that? Probably not. OK. Oh, well, yes, I wanted to say, in particular, that's interesting to you. I actually had a paper about this in the Haskell Symposium two years ago that sort of goes through this idea of monoids and how we use it to structure the design of this library. And I hope it should be, at least some of it, the beginning of it at least, to be accessible, even if you don't know any Haskell. Maybe you'll be able to get something out of it. So let me sort of begin to wrap up just by showing you a few more complicated examples of things people have done with the library. There's a few examples. There's a lot more examples on the gallery on our website. There's more examples. And for each of these examples, you can also click on it, and it'll show you all the code that was used to generate it. Here's another example. We have a user that took a big data set that was like a bunch of data about parking in one part of London. Sort of like how many parking places were being used at various points during the day. And they did some analysis and then used diagrams to visualize the results. I don't actually remember what this is visualizing, but the point is they were able to do it in one program, the same program they had that read in the data, analyzed it, and then spit out the visualization. And it made it really easy for them to iterate, changing the analysis and the visualization together, since they was all part of the same tool. I'll wrap up just by saying a little bit about where this project is going. This is just to show you the momentum. This is a visualization of commits. So each horizontal line is a repository on GitHub that's a part of this framework. The x-axis is time, and each little slice there is one week, and the height of each slice shows you the number of commits. So the takeaway is there's lots of work being done. In particular, recently there's been these big spikes. We've had some new contributors come and do a lot of cool stuff. So there's lots of momentum. And in particular, we have lots of great ideas about things to do, way too many to actually do. We have this Trello board full of ideas. You probably can't see this, but these scroll bars are very compressed. So there's lots and lots of ideas way down here. So a few particular things that we want to think about. We have a student who's going to work on a Google Summer of Code project to work on editing these diagrams. So have a nice way to express. You build up a diagram, but then want to express editing it in various ways, like changing some colors or manipulating parts of it. Another thing, we actually do have a way to generate animations using the same framework. But it's kind of ad hoc and clunky, and it sort of needs some rethinking. And then interactivity as well. I think there can be some nice ways to express making not just static animations or diagrams, but interactive ones. Have a sort of more pie in the sky idea about, well, you were writing some code to build this diagram. You want to be able to visualize the diagram in real time as you're editing it. But then wouldn't it be nice if you could actually manipulate the diagram itself and have that reflected in edits to your code? So thinking about ways to do that. That's more of a research level, I think. And there's lots of other ideas. Maybe you guys have some interesting ideas I'd love to hear any suggestions you might have. That's it. Thanks. Here's the URL for the project. And I'm happy to take any questions. So first, the suggestions. Does anybody have any suggestions? Suggestions? Questions, then? Thank you. OK, a suggestion or remark first about this bi-directionality. I'm really a really stimulating thing because somehow we seem to have a lot of trouble to get bi-directional interfaces where you can, on the one hand, edit code. On the other hand, edit the visual result. So maybe languages like Haskell or new programming paradigms can help us with that. So that sounds really enticing. And another question is a bit about the relation between design and mathematics. And I was wondering what you think about that, because you're, of course, not alone in positing this kind of relations. It seems to be also super popular among type designers. And for example, this morning, we've saw some examples of these kind of systems. Of course, there is Kanoof, who also is the OG of this kind of lines of thinking. And at the same time, in more practical design work, like we're making a website or a poster or any kind of design artifact that has to communicate a certain idea, I don't feel at all as if I'm thinking about mathematics or elegance, for example, where it always comes up. Or for me, it doesn't feel very present. So I mean, I was just wondering a bit more about your facts or what does that focus on mathematics and elegance. What does that mean for the domain to which it can apply it? So I guess I would say, I mean, I think there has to be kind of a spectrum. I'm certainly not advocating everyone. For every single project you do, you should be thinking about math. Because actually, one of the dirty secrets is that it's really hard. Even if you know a lot of math, it takes lots and lots of iteration and revision. I actually worked on an early version of this system. I wrote it in a few months, and I really kind of had programmed myself into a corner. And then I spent like a year and a half thinking about it on and off before I rewrote the whole thing from scratch. And even since then, it's been refactored thoroughly many times. So I think that kind of approach is really powerful. And it, in my experience, tends to lead to really powerful insights and really great APIs. But it's sort of only practical for these kind of projects where you have the leisure to really put in a lot of time to iterating. And as you say, for just some particular artifact you need to make, you don't have a year to iterate on it. It's not that practical. Yeah, yeah. Next question. Suggestions again? So thank you very much for the presentation.