For this example, I'm going to walk through the power function. As you can see on the left hand side, I've got all the code for my power function, as well as some driver code. And on the right hand side, I have my memory. At the moment, it's still fresh and clear, but we'll be adding new stuff to it. The first instruction that the machine will run is line 15, where it says put 5 into A0. So I'll put a 5 in A0. Line 16 says put 3 in A1. Line 17 says jump in link to power. Power is line 1. And I need to set my return address to be the next instruction after the jump in link, which is line 19. Now I'm up at line 1, where it says if A1 does not equal 0, then go to recursion. A1 is 3, so I'm down at line 5 now. Line 5 says take the stack pointer and move it down 4. So I'm going to take this arrow that I've got, and I'm going to move it down one spot. So now I've got some space on my stack. Line 6 says take the return address and store it at stack pointer plus 0. So in that space that we just made, I'm going to copy what's in the return address, which was pointing at line 19. Next, line 7 says to subtract 1 from whatever's in A1. So that's now 2. And it says to go jump in link to power. So power is line 1, and I need to set my return address, and it will get the address of the next line, which is line 9. Back at line 1 says if A1 is not equal to 0, then go to recursion. So I'll go down to line 5, and I'm going to move my stack pointer again. So I'll move my stack pointer down one more spot. And it says store the return address at stack pointer plus 0. So return address now says line 9. So that's what I'll put in there. Then I'll subtract 1 from A1, and then I'll jump in link to power. So I need to go down and set my return address to be the next instruction, which would be line 9. And then I'll start running again from line 1. A1 is not equal to 0, so I will go to recursion. Where it says move the stack pointer down again. So there's my stack pointer now. Next it says store the return address at stack pointer plus 0. So I'll put in a reference to line 9 there. Line 7 says subtract 1 from A1. So A1 is now 0. And then jump in link to power. So I changed my return address to at the next line, which is line 9. And I go back to line 1. This time A1 is equal to 0, so I won't go to recursion. I'll just go to line 2, which says to go to V0 and put a 1 in there. Then I go back to the return address. So my return address says line 9, so I'm going to go down here to line 9. Where it says multiply A0 times V0 and store the result in V0. So A0 is 5, V0 is 1, and I will put a 5 in V0. Next it says go to stack pointer plus 0 and read the value of the return address. So this value here is referencing line 9. So I'm going to come down here and put line 9 into my return address. Then I'm going to move my stack pointer up 4 bytes. And then I go to my return address. My return address says line 9. So I'm back at line 9, which says multiply A0 by V0 and store the results in V0. So 5 times 5 is 25, so I put 25 in there. Then I go over to stack pointer plus 0, which is here. And it says copy this value into the return address. So down here I set the return address to be line 9 again. Next I move the stack pointer up 4 bytes. Then I go to the instruction referenced by my return address. So back at line 9 it says multiply A0 by V0 and store the results in V0. A0 is 5, V0 is 25. 5 times 25 is 125. Line 10 says go to my stack pointer plus 0, read that data and store it into my return address. So this time stack pointer plus 0 is pointing at first element, which says line 19. So I put line 19 into my return address. I then deallocate that part of my stack. And then it says go to the instruction referenced by the return address. So now I'm down at line 19, which says copy the results of V0 into A0. So I'm going to copy the 125 and put that in A0. Now it says put a 1 in V0 and the syscall would make it print out the value 125. Then I would put a 10 in V0 and the syscall would have this program quit.


Million dollars worth of game we love all our supporters out there for rockin with us for so many years We got everything going over review like gillion sports wears while low adventures, whatever it is What you need to do right now? I need you to push the subscribe button, but also share like go down below get some merch share like get some merch Subscribe we got more to come subscribe right now million dollars worth of game Hold on You see this my third floor is me and be dang real in the third floor and the sky Put it out there and check that out man This is where we Oh my god, oh damn, then you can see downstairs That's the jacuzzi in the koozie plan to came to koozie Why why don't I get a jacuzzi got the grill over here. That's the found blue I was I had this condo before to even build the found blue Before that even went up and they built in the baseball stadium right up So guess what I'm not selling it until the baseball stadium It's built and I will catch a couple games.  This is another 15 million So that that's 55 million and we ain't even go to New York yet Wait, there's no next one is coming from New York.  I'm here by Seven seven thousand square feet in there You know, we just moved the furniture because we got a party here tonight Oh You mean prison table jail I've been in the league for 10 years man That's your ball, I got it I got it I got it He's winning the easy one Come on man Good one You see what's his? You'll be my explainer son Come on man Why do you want to play? I'm the ESPN 2 ESPN 1 You got a little light game? I smoke you Nah, I appreciate you having me That's how you play it?  This is the mansion in the sky Seven thousand square feet In the air Three floors Jacuzzi Jacuzzi on the roof How much did you pay for the house out in Calabasas? Shot the poor George, we got it for a great deal Okay It's worth what right now? I mean the house across the street just sold for like 40 million And it was And it was a little smaller than mine So About like two thousand square feet And how much is this one worth? I mean It's found blue across the street I got it before the found blue was built So we doubled up the price You know what I'm saying? We got about fifteen Ten, good ten But when they built this baseball field right here It's gonna go to fifteen Right there You could watch a couple of baseball games from up here Best season of house God damn Watching the game Playing 2K With Ruby Rose She had style Nah I know I just said I heard a little something about you and Ruby I said I got a head scheme I said I got a head scheme Buzz, now shot the Ruby man That's good people That's one of our great friends But the baseball game though It's gonna raise the crib another five million In the air You know what Seven years ago When I got my first check My first real check And they cracked me in the head When my account came And presented me the check And told me how much I had to pay in taxes I went back to sleep I started sweating I couldn't believe I was giving Somebody this much money The very next day I took a flight to Vegas And I looked Until I found something And I made it in my residency And ever since then That's what I had before the bill found blue Well let me just tell you something We'd probably be out here soon right Because while I came home from jail He didn't know shit about taxes Oh yeah And he got his first big check And I said I'm all cuss Hold on wait Baby we got to break them off baby He was like all right back cuss What they get And I was like they get that They got violated Nobody violates you more I don't even know nobody named Sam Nobody violates you more They get what?  Do you know what she was talking about? I don't know what she was talking about neither But I love everybody Then she say something like that Yeah she said something like that What? Shout to Nicki I don't Shout to Megan I don't know Parts of that I don't know parts of that I mean It's a sport man they not getting physical So this is rapping man Yeah Yeah it's all love Who do you think went in the war so far? The rap war The sport Hip hop is a winner But like females is a winner But like New York is a winner You know what I'm saying I feel like I feel like y'all are winning They ain't died work for games Man You know every time y'all come through We got some millions to talk about Absolutely I feel like the whole game is winning I feel like that come with the game We've been beefing our whole life in the game The beautiful thing with the ladies though They gonna keep it to rap They might see each other Cuts each other out at the Louis store But they ain't It's crazy when you wake up And you just hear French this I don't know about what happened When you wake up You know what she talking about You ain't even gonna tell I don't know like you That's what I'm trying to figure out I'm just like you I got left winded When you heard it What was you thinking?   I don't know How many days you've been home? Yeah Probably like how long I've been home Since January 8th What's today?    What do that mean? Because if you're the number one selling And hold on You're the number one selling Artist in Africa or streaming Yeah, most stream artists in Africa The Grammys was in Africa Even more than like Burnaboy And like But Burnaboy and Afro just It kind of Afro just really took off No, no, no You don't think it always was there But we just wasn't on point with it For me, I think Africa always had the talent And it's still It's always with a talent set I feel like everything goes back to the motherland Like, you know what I'm saying I feel like We just molded Like around what's going on in the states But if you really go out there You're going to see the real talent That's how we went out there to do That's how we went out there to do You know what I'm saying It's like Burnaboy and DeVito And you know, Tyler and everybody But there's a whole bunch of like There's a whole different world out there And the kids was dancing all crazy You've never seen them dance like that And that's how they caught my eyes And I'm like, yo, why y'all dance like that Like how come nobody danced? They was like, yo, we ain't having no TVs We ain't having no watch, we ain't having nobody to learn from So we learned that own thing And that was just like stuck in my head And I was like, wow, like Y'all just created your own moves and this and that And they caught me from the states that I flew out there To see all that So Africa, you know, you just got to get it out the mud out there But back to the Grammy I understand what you did in Africa But the Grammys ain't in Africa The Grammys is here People always say they got snub Some people say they got robbed Some people say they got robbed So what's going on with that? How do you feel about the Grammys? How do you feel about, you know, just appreciate it Shout out to Kanye The first time I got nominated Was when I produced the B-Form The All Day Joint It was the first Grammy I got So I got it for producing We got snub Then I got nominated like a bunch of other more times We're just number one And I always used to get mad I used to be like, yo, like Like, how does it work? You know what I'm saying?   But to us It really strikes what we come from When you come from this It doesn't matter how many Grammys you got Show me how many cribs you got Show me how much money you made of the game Show me, you know what I'm saying? Did you take care of your fan? How did you become? See what Hov really Painted the blueprint for us You know what I'm saying? Because you look at Hov like When he drops an album he elevates In a whole other world Just have nothing to do with the music You know what I'm saying? So it's like With us, that's our Grammys You want to elevate as an entrepreneur You know what I mean? But that don't justify Why we always getting jerked as far as street artists You know what I'm saying?  Yeah Deserve to be in that place That's at every award show We never know who these people Have opinions On who's the best artist Who we never know who they are To hold them accountable So when it's like Yo they just pick some bullshit You can't even throw them under the table I feel like we shine too much light On us getting jerked You know what I'm saying? I feel like if you watch Travis Scott Documentary The whole documentary about Travis Scott Is about him getting snubbed For a Grammy You know what I'm saying?  I wanted to see a documentary About Travis Scott's story His life, how he came up with this I don't want to know you got snubbed for a Grammy But that's what they do to artists But let me ask you a question Because you know it's devil's advocate of that Like when we say somebody gets snubbed Or they pose to get it That means everybody else in that category That was going against that Grammy And they body of work wasn't as good Because who always in the category? Yeah, I mean because When you look at Instagram And social media Everybody based who's the hardest At the moment, depending on first week The Grammys don't do that But let me say this though Instagram and social media Ain't really accurate Because a lot of that be capped And a lot of these artists that be so big On social media, they're not streamed They're not getting booked for no shows They're not selling no merch They really don't got no real music business going on It's more social media Because alright, we're the flyer For the show, we're the torah We're the tickets at, we're the merch at So I think Sometimes we get blinded by social media And we be like Oh man, they poppin' on the Grammys Poppin' on the Grammys You're not sellin' out 500,000 People venues So how big is you really Because the Grammys fool you You come up with a nice picture, a nice one video on the Grammys I don't know what they're saying That Travis Scott is really out there doing tours Oh, I already know that You get what I'm saying, and he sold First week numbers more than everybody But you got Mike That his first week might not be as good As Travis And he not doin' as big As Irene as Travis, so that's how they lookin' at it But they not, but I don't know How they doin' it, but some people gonna say They just listen to certain music So it's a lot of It's a lot of shit And it's the devil's advocate to that Right?   The Afro It's so easy with Afro because You can name in your hands how many artists doin' Afro Every category in the Afro Is gonna have the same people Burnaboy, DeVito, WizKid You know what I'm sayin'? There's probably three other artists That's big in the States, you know what I'm sayin'? As far as rap There's 50,000 artists in every city You know what I'm sayin'? So when they come to hip hop You know what I'm sayin'? Nas didn't even get a Grammy for It was Ren and Elmatic Oh none of those, he got a Grammy But do you think they blessed Nas On the strength of They burnt him so many times?  Is he still great? Yes, is he the best player in the NBA? No Is he top 10? Yes But come on, man They gave it to LeBron when he was in his prime When he was runnin' that shit Now It's Joel and B-time It's Giannis time It's Lucas time It's... So get a m**** the awards when he deserve it, man That's the only problem I got It's real though For real, for real I'm coming for mods You already got your Grammy You got your mom a crib A month out of jail That's right, that's definitely right You're not doing that no month out of jail You left bars behind you That's the biggest Grammy But it is misleading to the young people Because the young people feel as though F*** we gon' do I understand where you coming from There ain't no way a hoe should have 20 some Grammys and knives got one How about Rose?   Like what? Like, why you sort that word up?


Log entry the catch scarlet queen position 132 degrees six minutes west 25 degrees 15 minutes north gyro compass course 275 wind fresh sky fair Remarks departed island of mooning jima 415 p.m. After unlogged movement of vessel reason for move the Spaniard in the last car pirates It was mid-afternoon 15 days after we dropped the Hawaiian chain behind us that we raised on the horizon the mountain peaks of mooning jima And our appetite for cool sweet water and fresh fruit The island lies some 500 miles east northeast in the boning group and it served as a Japanese base during the war My pre-war charts due to Jap secrecy were incomplete and inaccurate But just before sunset when we stood around the southern tip we did find the anchor had shown on them Was a small half moon bay protected by a line of breakers forming in over a barrier reef a Little north of the center of the reef was our pass Wide enough for the queen to slip through with good steerage way friendly currents and the light hand at the wheel The water over the side took on a shallow look as we approached under power and Gallagher went to the bow with a hand led to measure the depth He heaved the lead in line forward and his readings came rolling back Five fathoms leaving a few to spare between keel and bottom But shallowing to less than five as we closed on the pass Four and a half fathoms and the teeth of the corals started to show through the white troth of surf And the currents washing back from it took the bow of the queen from port and pushed I've fought the wheel and for a moment the scarlet figure had seemed to rest on the reef and Then her head swung into the narrow channel the shoulders of the reef swirl by us on each side We were in the deep quiet water After our anchors were secured at the sandy bottom Gallagher and I dropped into our dingy and road toward a small pier that jutted out from the beach At water level we were able to see a cluster of half a dozen tin roofed frame buildings set back from the shore and shaded by a Grove of banyan's and cocoa palms We shipped our oars started to make fast when we heard footsteps on the pier above us. I looked up Straight into the muzzle of a 30 caliber rifle a single watery China blue I looked at me from behind the sights go back to your step.  You are welcome here. We need stores. This is no social call We need water and fresh fruit or we wouldn't have stopped these drunk skipper here Let me take that pop gun away from him. Wait a minute red. I think he means it. I think he's Red red are you hit? No But you're right skipper. He does mean it the guy's stuck Raven nuts And so mutual continues the voyage of the scarlet queen written by gilded out and Bob Tollman and starring Elliot Lewis The scarlet queen Proudest ship to sail the seas bound for uncharted adventure every week a complete entry in the log and Every week a league further in the strange voyage of the scarlet queen I stood there in the Dory looking up at the rifle and the man behind it He was a dissipated 35 dressed and rumpled white duck trousers No shirt and a linen jacket streaked down the front with liquor and food stains I was trying to figure how drunk he was and whether to make a try for the rifle myself when a movement shore side caught my eye And what a movement She walked across that strip of beaches if she owned it Emma's Emma's what are you doing out here? I don't want to be a mature give me that right here To me and I'm here already. Give me that gun.  All right. We haven't got trouble enough. We'll have it now I'm sorry gentlemen. My husband has been ill Please come ashore. You're more than welcome Well skipper, what are we waiting for? That's a foolish question Fred I'm Nora Fairfield Welcome to moon in jima. I'm sorry your first greeting was so unpleasant. Yeah What is your husband hunt with that cannon man? He hates them, but you don't hmm Certainly not. That's why he does. You said he was sick. What's wrong with him and nothing you have to worry about But I think I should warn you you aren't the only visitors on moon in jima For an island that gets a steamer twice a year. We're doing well I didn't see any boat in the bay. He wasn't as good a sailor as you are He lost his ship on the reef a month ago. He should have stayed home beginning to think so myself I Let red fight his own way out of that one Something up ahead of us interested me more at the moment She'd taken us into the compound and we were maybe 50 yards from the residence house It was a typical island bungalow built up on stilts with a deep veranda across the front of it But it wasn't the house that interested me Was the group of bare-chested brown skinned East Indians squatting on their heels at the foot of the stairs They looked as though they're short-leaved but lasted too long And the curved knives they wore looked even meaner than their faces Their eyes followed us as we went past them and into the house Two men were sprawled in wicker chairs and neither of them was her husband The dark one built along the lines of Rocky Graziano grinned up at it The girls save you from the husband too. No captain Ramirez captain Carney Phil Carney and mr. Gallagher my first officer that that's good enough. I'm Dr. Mitchell Thomas Mitchell and you needn't tell me I looked the path. I've been told before Captain Ramirez is the man.   Carney this pirate has not got the price of a passage he will have to excuse this doctor Too much, son. What if you take me Connie? I have money in the state stay like the money you start in Manacuari He will be in jail before he pay Listen to the man that boat onto the reef. Where do you think chopped and Ramirez came by such a vessel?  No room Hey Hey How big is your crew Connie eight semen? Yeah That's funny That's my crew eight men, but our crews carrying guns Ramirez in case you got any idea I didn't see anything but knives on those laskers of yours. I don't worry. I've got gun down in my bungalow But to see here.  He was so fast I didn't even see where it came from but there was The flash that's a smile full of oversized overpolished teeth Then tugged the knife out of the wooden left There's a great island skipper.  I Don't know red, but I'm not sleeping tonight neither you We'll keep our eye on him from two places. I'll row you back to the ship and I'm staying assured wait a minute skipper You're pulling your rank on me. I met her too forget it red There's a husband and Ramirez in the picture, too By the time I'd taken Gallagher to the Queen broken out enough rifles to arm the crew and rode back to the island Night had fallen and the first quarter moon was rising above the tops of the ponds. I Stopped when I hit the beach to get my bearings decide which way to go The threat was real enough. I assure that Island shipwreck has turned sweeter characters than Ramirez to piracy and the only way here any of us could get out of there Was on the decks of the scarlet Queen? He was facing a crew of natives filled with frenzy for a home thousands of miles away I Was two legs out on a voyage with a ten million dollar prize at its destination somewhere in the South Pacific I'd fought before and I was ready to fight again to keep the scarlet Queen underway I found a shadow black in the faint moonlight Made my automatic handy at my waist and started counting the minutes of the rise of Sun and tide and the chance to get away from this place The first 20 you went by slowly and quietly Then I heard a rustle in the brush behind me. I took a quick step sideways Snap my automatic from my belt and world to face the sound.  He didn't surprise me came looking for you He just startled me a little that puts us on common ground except for the surprise Why were you looking for me because I've got to get away from Emmett. I want to go with you talk sense I can't take you with me.  I've got to get away from here So look at me Please Phil take me away from here. You don't touch me gorgeous I can hear you saying the same thing the same way to Emmett about getting away from some other sucker Only way you're gonna get away from this islands on a tramp steam Oh Phil I didn't mean that really I didn't I'm just going crazy. That's all Phil if you know what kind of a woman I am can't we let it go at that? Then I couldn't hurt you Phil Phil just for a minute Don't be afraid of me. I hit you didn't I? Because you knew me For a second I hated you But now I don't That's too bad. I Feel more comfortable when you do Anybody on any island would have given her a for effort in the same for her injured pride exodus She left my little plot of beach I Had half a hunch and maybe half a hope that she wasn't through pleading her case and she'd be back I sat there through the next hour trying to keep my mind on the Queen's cabin lights bobbing slightly out in the bay And to be ready for any movement towards her There's only a split second awareness of someone behind me than a brown forearm was across my throat I got a glimpse of a second figure slipping around in front of me It was a turbine last guy I kicked out at him the last thing I remembered was the smell of chloroform in the cloth He jammed across my nose and mouth and the deep gasping breath my lungs forced me to take when the forearm relaxed a little That and the sound of oars being put in or locks if somebody jumped into the dingy and headed for the scarlet Queen Then the beach the island The whole world pulled away from me and I was too tired to care The first thing I coasted back on was the light that leaked in through my eyelids Then the nausea the throbbing in my head I Got my eyes open long enough to realize that the brightness was coming through a window. It was daylight broad daylight That's when I tried to get up and fell back on the car Carly your eyes right from the brink of consciousness welcome back to a world of beauty. Yeah But I can remember of it. I'm sure I like it Help me up with your doc. I've already helped you up Haven't been for me. You'd be well on your way to enrich in the soil here on moon and G mark. Hold it back Take me a while to collect these things here The moon yam pole If you must think this will help clear it up my ship doc. It's gone But you're wrong When you came into the bay out there in the situation here, it was no longer your ship It was common property among desperate people You and I Happen to lose my mate Gallagher who knows Even common property himself shared between three or four types of flesh eating fish My headache stuck. I can't get very far beyond that.  I like to the door. Thanks. Yeah, I think this yeah You might say that you have been one milligram away from a heathen grave My payment of course was to be passage out of here with Ramirez You see I'm here as a result of my dishonesty to him. No doubt feel sorry for you doc indeed I feel the same thing myself Now if you'll get up on your own two feet instead of lying there like a sick dog I think you'll feel better Get a breath of air if you can find some moving. I was halfway to my feet before his last words got through the dizziness There wasn't any air moving They stumbled at the door and looked out Palms and banyons were motionless That meant one thing to me the Scarlet Queen had to be under power to make any way There wasn't enough breezed even rattler had you My wrist watch read 9 a.m. An hour and 10 minutes after the earliest tide she could have crossed the refund I Knew that if I could get high enough my ship would still be in sight. I Didn't know why I should torture myself. Maybe it was like hiding in a corner to watch your girl marry another guy But I pulled what was left of me together and started up the mountain To see where the Queen was going with somebody else It was a jumble of rock. I scraped my way to the very top and stood there 12 miles of rolling folded hills and valleys stretched to the north Three miles of gentle slope to the south And beyond in a great circle Empty sea horizon not a sail not a mast Not a speck in sight then I went down the mountain and back to the compound Wasn't until then that I felt the new atmosphere of the place yesterday had been filled with chattering birds Now there was nothing but the muttering of the surf against the reef a leaden sky and humid oppressive air. I Went to the residence house to find Nora hoping she'd know where our mirrors would make for Found a room and knocked wasn't the answer I Knocked again, and I went in like I say coming my luck But You look surprised to find me waiting for you after the build-up. What else what is the build-up when it all falls down? Where's my ship? I wish I knew I wish I knew so well. I was on it How did you miss after your boys smothered me on the beach? I make big mistake. I Warn you don't ever trust the one thanks She took the dinghy right after my boys make the big mistake with you. Yeah big mistake They should have smothered her. I think maybe somebody else too Who is gone from the island the girl. Yes, your chief mate. No and your scarlet queen. I saw her go through the reef What do you think from here? That's hard to figure Where's your last-guard crew behind me? Don't worry. My boys crawl away someplace this morning. They say sunrise to red They say when going to blow today should have crawled with them Ramirez. It's gonna be a good one See, I know this wind. I think we got out of this house quick This is no good place for typhoon. You got a better place in mind. Hi, you'll make good question coming I say the wind makes us good friends when we were good enemy before We get out of this house Cattle turned our backs to the blast and huddled together Dependent upon one another dodging flying branches Winsing from the sting of sand and rain that came with the wind Time to think of anything but survival Suddenly we all became allies Dr. Mitchell came out of his collapsing cottage called to us on his hands and knees And then behind us half falling Figuring out of his coma and his quivering house in Fairfield Maybe both of us are lucky to be here instead of drowning on your musseless health, honey I don't think much of the choice myself. I like to right now.  You think he doesn't know what kind of shot up All right, honey. I know what it means But I'd like to find her The trail leads down to the beach at the bottom of the crater It was a steep trail and now and then when we'd go through a clearing in the dense growth I began to get a picture of the place It was a volcanic crater and the sheer sides made a complete circle with the circumference of about a mile and a half We were about three quarters of the way down when I caught the glimmer of water Another hundred yards and we broke out of the brush and hit the beach That's when we all stopped That's when the whole thing took on the feel of a dream But I was awake and there with just her bow in sight in the tiny inlet with the scarlet queen I didn't have time to reach for any answers because suddenly with the ship back on the scene.   You'll be happy.  Oh, I tried to make it easy for you.  You make it sound The only thing I knew about it after all was that he used his right hand, and that's what I made for This head over with my foot and he didn't move I Didn't know how long it had taken but it was long enough to make some changes in the scenery Our dinghy was pulled up on the beach Nora was standing there next to her was Gallagher I thought maybe you'd need some help skipper, but you did all right didn't I got a few things out of my system But I got a few more. I'll take it easy skipper. You're tired, so calm down. How'd you get here? Wait a minute skipper? I'm here you He told me you sent her to the Queen last night that you were selling her passage to Kobe I believed her because she put me wise to Ramirez He and his laskers tried to board the Queen at dawn, but we were ready for him She said you knew it too and we're hiding out till it was over You're in our right. She was and then this morning when I got a load of that typhoon sunrise She told me about this place and we came around and a good thing too. Yeah That's what puts the whole thing off balance The Queen would never have lived in that bay on the wind would say what's the rest of it skipper.  Please let me say that you Gallagher You're supposed to sail off into the sunset with her listen to me I mean I can go into the sunset wait a minute You'll have to choose between her and me skipper Well when the chips are down, you're really more attractive red Glad to hear that skipper. I'm blushing with pride and now shall we leave the fair fields to their island? What's left of it? Yeah, and to their Ramirez What's left of him? Yeah skipper, I think we've wasted enough time on Moon Injima a Few hours before sunset the outside circle of the typhoon had passed and we headed out of the crater base I didn't bother to take soundings, but I did sketch in addition to the baldy charts the island Under power we threaded through a narrow channel that the Japanese Navy had dredged from the almost landlocked basin to the open sea We rounded a rocky point and swung the scarlet figurehead on our bow until she looked out on the course She'd been born to follow neither of us knew where that course would lead When we were free of the rocks, and I felt the breeze on my right cheek. I cut the motor Held us in their lead, but the edges of the northeast trade sweeping around them were enough We're swept away and replaced by fresh sea air The gypsies ran up and the mizzen and the queen settled into a familiar position with her port rail and climbing toward the green water Is she see kindly skipper don't find mate. We'll take her a little closer on we make the north end of the island That's an island. I want to see sink behind this day. Why you you didn't have a tough time You don't know skipper that woman She thinks all men are the same kind of man as her kind of woman if you know what I mean I think I do and it reminds me of her friend of mine on Motomachi Street in Kobe We'll have to look her up. I know not me a glass of rice beer is as far as I go into coping Drink skipper. Yeah. Hey What's there's this lipstick on this bottle? Sure. What do you think she was a savage? Lipstick never hurt you did it. I go on have a drink skipper after you mate after you log entry catch scarlet Queen 530 p.m. Miles traveled 6215 Mainzolin mizzen reefed ship secure for night signed Philip Carney master The voyage of the scarlet Queen has come to you through the worldwide facilities of the United States armed forces radio and television service


It's like Mark Twain seven words. Oh, yeah, the ones that got a ban from broadcast television Different seven words Tom. I'm not sure that was Mark Twain. Is that not Mark Twain? I thought everything was Mark Twain Probably originates with him, you know, yeah Mark Twain's famous quote don't believe everything you read on the internet. Yep. Yep.  Did you know mark twain didn't live in san francisco? Did you know mark twain didn't say this? Also, he cooked a frog in calaveras county and also let's be honest.  They're all different people now. I would never be on afar I'm terrified terrified of stuff like that, but I love watching. I love I love the I love I said same as you You have Are you are you afraid of the animals or just he likes a farm from afar?   I'm on a cow. I want goats. I want all of them, but You know, it's a lot of work. I'm aware of that. We got our our our fence fixed in our backyard and I hung I hung Lights that are called a lot of different kind of lights, but you know the lights when you see them The bistro lights or the lights that every hipster bar has or whatever what I realized is that I I'm a I'm a baby-handed dilettante. Really that was the Doing a a solid day of manual labor In the hot sun where I had to use a channel locks to squeeze S curves together is that I woke up and my my hands were just not even like hurting They just didn't work. And so I would like to salute anybody who's listening to me that has an actual Job that does any kind of blue collar Justin would like to salute you but he can't because his hand doesn't my hands have fallen off people. Look, I'm uh, this is this is what The the college educated elite are are afraid to tell you is that if you wanted to overrun us Immediately you could because none of our hands will work. We'll do dts live from Nashville And then follow it up with dts live from dollywood Eating butterscotch, whatever. Yeah pork


Hello and welcome to the session. In this session we discussed the following question which says if vector a is equal to i cap plus j cap plus k cap and vector b is equal to j cap minus k cap, find a vector c such that vector a cross vector c is equal to vector b and vector a road vector c is equal to 3. Now let's move on to the solution. We are given vector a equal to i cap plus j cap plus k cap vector b equal to j cap minus k cap and we need to find the vector c. So we take let vector c be equal to c 1 i cap plus c 2 j cap plus c 3 k cap. Now it is given to us that vector a cross vector c is equal to vector b. Now let's find out vector a cross vector c this is equal to determinant i cap j cap k cap 1 1 1 c 1 c 2 c 3. Now since we have vector a cross vector c so first we write the components of vector a and then we write the components of vector c and this is equal to vector b that is j cap minus k cap. Now this implies that i cap into c 3 minus c 2 minus j cap into c 3 minus c 1 plus k cap into c 2 minus c 1 is equal to 0 i cap plus j cap minus k cap. Then we have comparing coefficients of i cap j cap and k cap from both sides we get c 3 minus c 2 is equal to 0 then minus c 3 plus c 1 is equal to 1 then c 2 minus c 1 is equal to minus 1. Now from this equation we get c 3 is equal to c 2 let this be equation 1 then from this we get c 1 minus c 3 is equal to 1 let this be equation 2 and from this equation we get c 1 minus c 2 is equal to 1 and we take this as equation 3. The other condition given to us in the question is vector a or vector c is equal to 3 that is we have vector a dot vector c is equal to 3 this gives us i cap plus j cap plus k cap dot c 1 i cap plus c 2 j cap plus c 3 k cap is equal to 3. On taking the dot product of these two vectors we get c 1 plus c 2 plus c 3 is equal to 3. Now since we have from equation 1 c 3 is equal to c 2 so this can be written as c 1 plus c 2 plus c 2 is equal to 3 that is from 1 so this gives us c 1 plus 2 c 2 is equal to 3. We take this as equation 4 then we subtract equation 3 from equation 4 we get c 1 plus 2 c 2 minus c 1 minus c 2 is equal to 3 minus 1 that is this gives us c 1 plus 2 c 2 minus c 1 plus c 2 is equal to 2 that is we have 3 c 2 is equal to 2 which gives us c 2 is equal to 2 upon 3. Now we know that c 3 is equal to c 2 so we get that c 3 is also equal to 2 upon 3. Now we are just left to find the value for c 1 from equation 2 we have c 1 minus c 3 is equal to 1 on putting the value of c 3 equal to 2 upon 3 in this we get c 1 is equal to 1 plus 2 upon 3 and this is equal to 5 upon 3. So we get c 1 is equal to 5 upon 3 c 2 is equal to 2 upon 3 and c 3 is equal to 2 upon 3. Thus on substituting the values for c 1 c 2 c 3 vector c we get vector c is equal to c 1 i cap that is 5 upon 3 i cap plus c 2 j cap that is 2 upon 3 j cap plus c 3 k cap that is 2 upon 3 k cap. Hence vector c is equal to 1 upon 3 into 5 i cap plus 2 j cap plus 2 k cap. Hence our final answer is vector c is equal to 1 upon 3 into 5 i cap plus 2 j cap plus 2 k cap such that vector a cross vector c is equal to vector b and vector a dot vector c is equal to 3. So this completes the session hope you have understood the solution for this question.


So Liam up, I need a way for yous to leave so I can get a nice closing shot for this What's the club? One step What's it for the race to do? I think so, yeah but At the moment, does that almost make an opposition more dangerous Harry, when you know that they're chasing that? Yeah, sometimes, because they have to prove a plan to the plan to the plan to the plan to the plan to the plan No problem, pleasure


Also, Governor Babaji de San Mulu has assured that justice would be served in the death of Oluwaba Mishay Ayawale. San Mulu gave the assurance on Tuesday saying that the life of every resident of the state mattered and would not be taken for granted. He vowed that his administration would leave no stone unturned in the investigations and arrest of everyone found culpable in the kidnap and death of Ayawale. I offer condolences to the family of citizens of Oluwaba Mishay. It's so unfortunate. It's really, really so unfortunate. And I've seen several narratives, several write-ups about some people being very extremely sensational, right?  You know, people trivialise their life and make it look that everything has to be that I want to store its importance. And I think the message is really to go to people like that. That there was no mind, that there was no consequence. And I've come in with 13 of the tabs on certain narratives. What we're about is to make sure that those who were transparent get to be moved on. And that's why the police, you know, and the Department of State Security were able to immediately, you know, pick the person who was at the level of state that has been picked, you know, the individual.


All right. Oops. Cool. Hello, everyone. Can you guys hear me OK in the back? OK. So I have to shout a little bit. So before we begin, just to introduce myself. So my name is Herdi. I'm a senior software engineer at Citadel Tech, a small startup here in Singapore. I'm currently working in Scala, and I do also a little bit of Kotlin. So I'm trying to, you know, keep up with the times. Before, well, I sort of mentioned in the Meetup page, I'm actually migrated here about last year from Perth, Australia, specifically moving here to actually took a role, full-time role in Scala. So that's how much I love working in the language. So, you know, I was previously working in the .NET ecosystem, so Windows, the whole works. So moving to Scala was actually quite a big paradigm shift. So I had to learn a whole bunch of new tools, even had to work in Linux, so believe it or not. So, but, you know, it gives you a bit of perspective. So, you know, not being content just learning Scala, you know, I've also tried to learn other stuff at the moment. I'm a little bit enamored with Lexer and Elm. Seems to be quite in at the moment. You can sort of find me all over the Internet. That's my to-the-handle. Find me also in GitHub. If you want to, you can follow me on Instagram. I post random photos of buildings, sports car and whatnot. Also, just had a website up. Only had one post, though, but I promise I'll put more stuff in there. So, you know, I'm hoping to achieve at least one of two things today. One is to actually get, you know, share with you a little bit of knowledge about Doty. Otherwise, the other one is to, you know, by the end of the presentation, I think you might be tired of the whole orally meme. I don't know. Have you guys seen this before? Not really. So this is kind of like a satire. So if you, you know, there's the publication called Orally, which publishes technical books. So in this sort of similar format, so this is actually sort of like a parody of them. So it's, you know, it was pretty big about three months ago. I'm not sure about now, but it's in the Internet. So anyways, I'll sort of put this up because this is going to be a long and dry presentation. So I'm hoping that if I, you know, put something a little bit different, you're not going to fall asleep by the end of the presentation. So I'm going to put a lot of different ones as a segue to the next category. So speaking of this, I want to share you a little bit about why I'm actually here tonight actually speaking about Doty. It's not because I work in, you know, Doty or even in compiler technologies or not, I don't even consider myself as a Scala language expert, although, you know, I think I'm all right with it. The main reason is because I attended this conference called Scala Matsuri about a couple of months ago. So there's quite a few people coming from, that came from Singapore. I sort of had the idea to do sort of like a sharing session a week before I went there. I thought it might be good to actually bring back some knowledge from the presentation. It's also a good excuse to actually come and visit Japan. You know, I'm quite, you know, excited about the Japanese culture. So I had a lot of yakitoris while I was over there. So, and I think this is the second or third year running. It's always been held sometime around February. This year's talk was actually pretty good.  They talked a lot about, well, some of the talks are, you know, covering Doty, Pavel, I think he talked about the free monads, you know, went completely over my head. You know, I didn't understand a single thing, but, you know, I think it was pretty good. So, and there was a demo of Scala Native. You know, they actually, I can't remember his name, but he quoted a snake game live throughout the presentation. There was, you know, everybody was actually clapping at the end because he actually made it work.  So there's a good mix of, I guess, different talks ranging from the beginner's talk up to the expert one. So, you know, if you have the time and resources, you know, come to the next year's one. So hopefully, you know, Singapore will sort of represent a bit more. In any case, they do have a YouTube channel. I don't know if you can actually see, but in my presentation, you know, I've put all the links on the resources there. So after the presentation, I'm going to share you the link on my, sorry, I'm going to share you the link to my presentation.  Whoops. So why I chose Dode in particular, you know, it's because of a tweet, really. This is kind of like a personal best to me. You know, I never had, like, 94 favorites before, and I was pretty excited, you know, in the first 48 hours. Apparently, people are quite excited about this.  So, but, you know, thought it might be a good idea to do today. So talking about what we're going to discuss today, well, actually I'm going to be doing a lot of talking, probably not much discussing. So I'm going to cover stuff about DOT and Dode, the developer tooling, the current status, and some of the stuff that they've actually dropped, already implemented, and something that they're actually thinking about putting in.   Unfortunately, this is going to be probably about 80%, 90% talk. I have a small bit of demo. I'm hoping it's going to run okay because this morning when I tried, it just didn't want to download stuff. So we'll see about that. So to begin with, has anyone heard about DOT here? Or everyone's familiar with DOT? Really? First time? You heard about it? You heard about it. So now there's a reason I put this particular cover here. So in one of the talks by Man, I should say Professor Odeski in Australia, I think late last year or early this year, he was talking about a little bit of the history of Scala. He kind of alluded that Scala was being rushed into production. If you're in a startup, you just want to get the MVP done and just push it out the door. So that's kind of like what happens. So you got the language out and then throughout this past decade, it sort of just evolved organically. But one of the things that he was concerned about is that there's really no, I guess, foundation or formal proof of the language. Basically what Scala is, is what's actually being implemented. So he sort of want to take a little bit of control of that and sort of not I would say fix, but put some strong foundations to Scala. And basically that's what he came up with, which is called DOT. It's basically short of dependent object types. So in short, it's actually a calculus of dependent object types that underlies Scala. So small mathematical proof that actually underlines I guess the Scala language itself. So why is this important? There's a few reasons for that. And as I've mentioned before, the way the Scala language grows organically, sometimes you do find sort of like the edge cases where you sort of think that some of these things that can't be done is actually allowed. So I guess what they can consider loopholes. So by having a calculus, you have sort of a proof that whatever they formulate is going to be correct. I've seen ensuring type soundness, and is it based on a JVM? Do you think it will be still JVM? Yes, yes. How are you going to deal with now? Or are you going to ignore all existing libraries? There's a section exactly on that a little bit later. Don't worry. So also with DOT, it's enabling a sort of a feedback loop for a language design. And the added benefit is that you sort of can make connections between the language features. Don't work on language design. So I don't think I'm qualified to talk about DOT. But I mean if you are interested, there's actually a paper on DOT. But what I'm showing you on the left-hand side, it's actually sort of the common grammar they use as part of developing the language.  Sometimes they do talk in this sort of symbols. So they do have a set of grammar to talk about, say if they find a problem, this is sort of the common syntax that they use. One of the key things that is actually pretty important, Professor Odeski mentioned is that because foundations are formative. So I think this is quite important because for me, Scala sort of occupies quite a unique space in the language landscape. It sort of blends the OOP and functional paradigm. And that's not that many language that sort of has that characteristics. So the key thing is that you could sort of choose an existing foundation, but what you ended up happening is that you're actually just going to come back with a language design that's actually just a variation of the existing foundation. So if you start with ML or Haskell, you ended up with a Haskell-y language. So that's why he sort of insisted on building this sort of unique foundation because Scala, Scala, and he wants to keep it that way. And this is not the first attempt in actually describing dots. So there's actually several attempts in the past. So he started with the V object calculus in 2003, you know, it's a rich type system but gets unwieldy and also had some problems with type boundaries.  In 2008 comes up Scalina, which introduced kind of like a higher kind of kind of type in Scala. But it's also sort of not enough. So I guess the common theme in all these three sort of designs is that they're all overly complex until they come up with the dependent object type. So this is actually the paper that I guess sort of summarized the design of DOT. It's all Greek to me, so unfortunately I can't really talk too much about it, but the link is there, it's freely downloadable so you can have a read in your spare time. So it's basically a minimal set of calculus that contains street extensions at the moment, so records, type labels, and recursion. They do, however, are considering or actually currently studying some other extensions to actually sort of fill the gap between the current DOT with the current, sorry, the DOT as it is with the current Scala language state. So if you think of DOT as the foundations, I guess it's kind of like analogy for a recipe, then DOT is actually the kitchen where all the magic happens. So DOT is actually the implementation of DOT in Scala. So it's actually a new Scala compiler developed at LAMP, APFL, based on DOT. So if you had a chance to play around with it, it's kind of like similar to Scala, actually it's almost a Scala, well apart from the missing features, it is Scala. However, because they actually started afresh on this one, they were able to take the existing practices, avoid the mistakes with the existing Scala compiler. So the code base is much more smaller and streamlined. So it's about half the size of the current Scala reference compiler and well, they say it's promises to be twice as fast. So at the moment, there's a little bit of speed up, but until everything is complete, I guess it's still just a promise, so we'll see about that. But I'm happy to take any speed ups that I can, really. So this is roughly how the DOT is being architecture. Unfortunately, I couldn't really find any more information on it, but if you see this sort of graph, you can sort of infer that DOT is still have a little bit of dependency on the current Scala compiler. So you have the NSC and the DOTE front-end, which generates the abstract syntax tree, which later gets transformed into a simplified one, then gets emitted by the bytecode emitter. Just want to direct your attention to this little thing. So Tasty is actually something that is going to come up pretty often as DOTE matures. What it is, it's actually sort of like a persisted AST. So it's coming up from sort of like a related project called Scala Meta, which is going to replace the whole macros and things like that. So what it does, it's actually a serialized format to store AST at compile time after type checking to be able to be loaded at runtime. So I think the goal is to be able to use that information as a language interchange format, not only for use by Scala, but also by all other languages that can implement it. So it aims to be compact, lazy, extensible, and precise. All this sort of, I guess, information. There's actually a couple of links I put down in here. It talks in a bit of details about what kind of format they use, what information they stores over here. In Tasty, I'm not going to talk too much about it because, you know, I only skim the service, but all the information is there. So Scala Meta, apart from actually helping to define Tasty, is actually a metaprogramming toolkit that's taking place front and center in the sort of new dotty ecosystem. So it's going to replace the Scala macros, and it's going to be used by a lot of the other Scala tools to help migrating from the existing Scala versions to the new dotty platform or ecosystem. So it's chosen because it's actually much more simpler in its implementation compared to the existing Scala macros. Why they decided to actually build something new is because the current macros has a lot of ties into the compiler implementation. So they decided to make something that's independent. I'm not sure the point about sandboxing, to be honest, I haven't quite researched it that much, but they do have some restrictions, so they only allow black box macros. So this is the term that I've actually first heard about in basically the presentation about white box and black box macros. There's a last link on the slide that talks a little bit about what they are, but basically if you think about a black box, you don't need to care about the implementation details, but if you give it an input of A, you get an output of B. Whereas a white box macros, you might get an input of A. What comes out, you might be a specialized type of B.  So this is kind of like the short syntax of how the macros look like. I think I can scroll this. So you get the inline to inline stuff, and then you get sort of the meta context there. So when I mentioned about ScalaMeta being in the center of things, so this is how it is at the moment. So they're going to bring ScalaMeta support back to Scala2, so I think they're working on sort of like a back porting, backwards compatibility, and also it's going to be useful because this is some of the things that help you migrate your code over to Doty. So it's going to be used in ScalaC Doty. Apparently it's also being used by the IntelliJ Scala plugin. I'm not too sure about that. But for the meta programming itself, you can help you write macro annotations, macros, also being used in ScalaFix. So I'm going to talk just a little bit on that a little bit later. Also ScalaFormat, and you can basically use it to supplement your own library. Now this is one of the things that I found quite interesting. So Doty Linker is kind of like the pro guard of Scala. So it's a whole program optimizer. Now I'm kind of excited about this because it actually helps you to make your Scala application smaller and faster. Again, it leverages testy, tasty. It does sort of a call graph analysis, so it looks at where your program starts, looks at where the call is being originated, and just removes stuff that's not needed. But the cool thing about this is that some of the stuff that comes into the Linker actually has existed currently. So the things like the smart specialization, inferring precise types, and eliminating virtual dispatch actually already exist in various shapes or various libraries in Scala. The guy that's working on the Linker, the main guy, he actually developed Scala Blitz. Also the first time I heard about it in this talk. So it's actually what you call a high-performance Scala collection library. So if you have the time, feel free to Google it. It's apparently pretty fast. So the main problem that we have at the moment with the Scala collections is that compared to Java, where Java actually better yet, I will show you the link. What's the point inferring more precise types compared to inferring actually more generic types? If you develop in library, you actually want the more generic type to be inferred. Yes, but that's at development time. At compile time, you want to turn that into a specific type. You're compiling new libraries, right? Pardon? You're compiling new libraries. Yes. And you're presenting interface like public API for library. And at this point you want generic types, not precise types. Yes. What's the point then? It doesn't look like benefiting from more precise type compared to inferring the most generic type. It avoids the boxing and unboxing and also eliminates the virtual dispatch. So if you have a generic type, when you actually call that method, it'll do a virtual dispatch or is it dynamic? Dynamic dispatch to the actually precise implementation of that. This Doty linker. Actually, I should talk about the current implementation which is the specialized annotation. So what happens is that if you have a generic method, say a dev get of a type T. So if you put a specialized annotation, now this is just a layman explanation. I haven't used this library. But my understanding is that at compile time, it looked at all possible usages of that particular subtypes. And then creates some sort of method overloads that allows, well, at runtime, when you actually call that with that specific subtype, goes directly to that implementation. So it avoids sort of all the round trips because it's a precise type. You don't know. Inherent from some type. The types that you pass into your library will actually have different virtual tables. Yeah. So the linker is a separate step after compilation. So you start with a soft code, compile a soft code possibly separately. And after you compile it, you then have a separate step before you run it to take all the libraries you're using already compiled, and then you link them together and optimize it using all the libraries. So a library will have like, like many information before linking. So when you compile a library, it will preserve information clearly and only when you compile the entire applications, and it will be optimized ready. Yep. It's like any time optimization in C++. You compile it first, and then you link it together and get more optimizations based on the whole world you have. So yeah, the surface of your program will not change, but after it compiles it, I guess in first what exactly. So I'm just going to quickly switch to this presentation. So it talks about why he does what he does. So by the way, this guy is, you know, he does a lot of work and he did a lot of presentation on this particular topic. So if you have the time, go to his website and see all this presentation. Oh, sorry. Oh, yes. Okay. All right. Okay, let's see. So this is the problem that I was talking about in Scala because there's actually a lot of, I mean, Scala gives you a lot of like good tools for dealing with collection and stuff, but it doesn't come for free. So one of the problems is that, you know, compared to Java, the performance is really poor. In this case, you have almost 20 times worse. So if you see, you know, in the Java, it's actually pretty straightforward. You know, it does what it, well, you told it to do. But in Scala, it's actually, a lot more things are actually happening underneath. So there's, sorry. I'm just going to skip through, but the video is there. He has his slides. So anyway, so it's a lot of this stuff that the JVM doesn't, sorry, the Java doesn't support, but the support in Scala. So basically what happens is that, you know, your generic type gets overloaded with its more precise types. But the problem is, you know, it's sort of the more types you have, the more expensive it gets. Because in here, you have sort of, you know, non-primitive types and a reference type, which makes it 10. But if you have sort of two type parameters, then the cost... What cost? Oh, when you actually sort of infer the more precise type. So at... The compilation. Yep. So 10 to the power of 10. Is that how you say it? So I'm just going to skip through to the last bit after you use Specialize. So through this sort of approach, you sort of brought down the collections performance back to what Java can manage. But of course, again, it doesn't, it's not without its actual cost.  Yep, so some of these things are actually now being built into Doty. Let me show you how do I get there. Oops. It's... Oh, let's go. Endlessness. Sorry? Endlessness. Oh, that's all right. I actually tried it on my phone, but I think this is better.  But this is some of the things that are actually going to come into the Doty linker. And the good thing about it is that some of the stuff that's actually not tied into Doty specifically is going to get backported into Scala. So if you haven't heard about Scala 2.13, it's actually going to have some sort of work on the collections library, which I hope will include some of these improvements. Oops. Let's see. Yep, that's it. So that's about the Doty ecosystem. The Doty compiler is one thing, but without a good development tools, you're probably not going to be as productive as a developer. So some of the stuff exists. I mean, you can sort of start creating your app in Doty right now if you want, although it's still very early stages. Still fine. A few things are broken. If you just sort of want to go and give a quick test run, there's this website called Scasti. Have you guys heard about it? It's kind of like a paste bin for Scala. Actually, let me just go to Scasti. There's actually two links here. The one at the topscasti.org is actually an older version. If you want to give it a go, go to scasti.scala.org. The only requirements is that you have to sign up with your GitHub account. Well, it's in beta. I'll just give you a quick look about in case thing. So it's kind of like a virtual repl. Well, not a repl exactly, but you can paste in your code and remote server will actually compile the code for you. The good thing about it is you're keen to have a play around with Doty. Doty is available as a target. And if you want to put Doty inside your Scala application, they do provide sort of like the minimal configuration. So just copy and paste it into your own file and then you can get started with it. So you can... Oh, here we go. Just click Run. It's connected to the remote server and then it's just going to compile. Unfortunately, it's not kind of like a repl. It's just give you the output of your program. But if you just want to take Doty for a spin, I don't want to have to download all these dependencies. This is pretty okay. Oops, running mean. Okay.  So the other way to actually get started with Doty, actually a couple ways. IntelliJ actually has a Doty plugin. So Doty is actually available as an SDK. So when you're actually creating a new Scala project, you can just import SBT. Oh, sorry, not import, sorry. Just create a new SBT project. Scala... I'll meet up with Doty from the SBT version. Oops, what's going on? Actually, sorry, wrong. Pick the... Switch it to Doty. Now they actually link to the remote server. So at the moment, Doty runs on nightly builds. You know, it's up to you, probably just going to the latest nightly is normally okay, unless you find something is broken. So I did download at the latest nightly earlier today, but I'm not sure, depending on the time zone, hopefully I'll still get the same one. Okay. Yep, let's see. So this is sort of the default setup that they give you. To be honest, this is a little bit more complicated than necessary, but it does help you to get up and running pretty quickly. The other alternative is to actually use an SBT.Doty plug-in. So it's actually just released by EPFL. So you can actually find it in... Oops, wrong one. So let's go... github.com. EPFL. Sorry, call that snub. So this is the older one. Here we go. SBT-Doty, okay. So this is a much simpler way of actually getting started with Doty. So all you need to do is actually define the dependency on your plugins.SBT. So we'll just do that right now. Actually, they don't have plugins just yet. Let's go. What else do you need? SBT versions minimum 3.13. I'm just going to copy this build of SBT declaration. There is also an option in Doty. So if you wanted to give it a go, but wanting to preserve sort of a Scala2 compatibility, I believe, or actually compiling it in Scala2 mode, you can actually pass this compiler option. There is another compiler option, which I'm just going to talk about a little bit later called Explain. So I'm just going to leave it here. Okay, just refresh that. Okay. Actually, I'm just going to move this... Sorry, just bear with me. Okay. There's nothing in it, anyways. So that's the sort of the minimal thing you need to do to get started working with Doty. So just update your plugins to add the Doty plugin, add the following config to your build SBT, then you can just write normally. This is not the first time I've run it, so you get around all those downloading steps, but just be mindful that the first time you run this, it's going to try to download the whole set of dependencies, which may take a bit of time. So yeah, that's pretty much it. They are working on an IDE support, though. When I was there at the presentation, their demos were actually run in Visual Studio Code. They're actually able to do that because one of the things that they're trying to build support for is the language server protocol. Have you heard about LSP? So this is actually a Microsoft thing, believe it or not. So when Microsoft developed, it's actually a core component of Visual Studio Code. So it's kind of like an enzyme in a way that it's actually a server implementation that's run alongside your IDE, communicates through this protocol to be able to do whatever you need to do. So at the moment, it's pretty limited, though, and it's still very experimental. They don't really have a sort of official plugin just yet when they were showing the demo, they had to connect to the server manually and started it up. But I'm hoping that they're going to come up with it, or it's going to mature soon enough. So there is sort of a big overlap between this and enzyme. So I guess with regards to the future, it's probably still uncertain at the moment, but it's promising nonetheless. But yes, you don't have to use VS Code or Adam. If you want, you can still stick with Intel J. So among the tools, I'm kind of excited about the REPL. Finally, there's quite a few worthy improvements there. One of the things that I'm actually quite excited about is the error messages. Have any of you played with Elm before? It's basically a Haskell-ly language for JavaScript. One of the things that basically Elm Guys is sort of excited about is the way that it helps the new developers get up to speed with the language. I'm going to show you what I mean by that. So anyways, we're in the SBT shell. You could go to the REPL by typing console. Oops. Okay, let's start. So I think before I'm alluded to this thing called explainer, I'm going to come back to it pretty soon. So there is an option in Doty to pass in against the compiler. So let me just think of that example. So if you try to do a try block without catch, it's going to give you a bit of a warning. Now, this is kind of cool because finally you can have colors. You can sort of see things a little bit better, especially where the errors are coming from. It does show you the line numbers, so you don't have to sort of troll through all those stack traces. And it does mention about having the explain compiler tag. So let me just exit. Actually, I have to reload. Okay. So it comes back with a more detailed explanation about what you actually... Well, I suppose not bit wrong, but what could actually be improved. But this is actually not magic. So there is actually an open issue in the Doty GitHub site where you can actually see what kind of error messages are still waiting for an implementation and explanation. So if you want, you could actually help out, go look at an issue which I'll show you later and just sort of provide some sort of helpful error message and basically some mapping against an error type. So this is kind of like the thing that is pretty useful for beginners, especially in Scala. So I'll leave the explain tag on. There's also a few other... Oops, not this one. A few other improvements. So say, for example, if you have mistyped a member, so let's say... Actually, let's go coffee price. So I think that's it. If you go... Well, let's see. Actually, just coffee. Say $10, very expensive coffee. Oh, actually, should have done it. Okay. So let's see if I go C dot. So it's kind of a bit smart about its suggestion. So it does highlight what is sort of not compiling and gives you a little bit of did you mean this. And the other thing as well is a type div. Okay. Okay, so let's just go... Everyone starts dancing? No, we have to do it manually. Oh, it's all right. So the other thing as well is type div. So as you can see, it sort of highlights where things get mismatched. So it's a little bit more friendlier than your current Scala compiler. The other sort of tools that's available that is going to get, I guess, all going to become quite important is the DotyDoc. So it's new document generator for the new Scala. Now, it's kind of cool, I think, because it's sort of inspired a lot by Jekyll. If you've used GitHub Pages, then you kind of know what Jekyll is. So it's kind of like static website generators. You just give it like markdown files, and it's actually going to build you a website. And if you see the current Doty website, it's actually all made by DotyDoc. So not only you can actually... Well, actually you can put markdown in your doc comments and then actually render it. You can put ad hoc MD files, and it's actually just going to render as a page. You can put custom templates, custom CSS. So there's no excuse for you not to do documentation. It started as a Google Summer of Code project last year, and it's also another part of the project this year. So I'm hoping that we're going to have more improvements on it. And the other thing that I want to mention is ScalaFix. So this is kind of like a good tool. If you're wanting to migrate, say, from one version of Scala to the next, because of the information the test is recorded, this tool can sort of automatically revise your code for you. Now I haven't seen it in practice, but they do provide like an SBT plugin or a command line tool. So if you say, for example... I'm going to go give you an example of stuff that's being deprecated. So if you run this tool, it automatically revives the code for you. Not sure if that's a good thing or a bad thing, but, you know, we'll see. So it's not only for DotyDoc. So it's going to be applicable to future Scala versions as well. So from 230 and onwards. Which sort of brings me to the next point. Okay, let me just check the time. Okay, I think, no? Oh, cool. All right. So moving to DotyDoc, there are going to be some stuff that's going to get deprecated. I've mentioned before, macros in its current form is going to be deprecated. The replacement is going to be ScalaMeta, because they're going to actually backport some of the features back into Scala2. So this is kind of like the quick example on how you could actually write a macro in ScalaMeta. They actually have a website dedicated to this metaprogramming tutorial. It's pretty easy to follow. And it's actually quite straightforward. So it's basically this example is kind of like a main annotation macro that sort of expands into the, I guess, into a main method body that accepts an array of string. So it's kind of like the console application you normally find when trying to deal with, say, Java or Scala tutorial. They use this special quasi-quotes, kind of like an interpolator. So once you get the information in this, you get a few stuff like the name of the method. Actually, I can't remember, and the main body. But yeah, so it's pretty straightforward. If you have time, feel free to have a look at it. This is kind of like a minor thing, but it's going to throw a compiler error. I'm not sure how many of you still does the procedural syntax. So based on what they mean by that is when you actually declare a method and followed immediately by a curly brace. So now they just require you to actually annotate it with a unit signature. So pretty easy fix. Now this is kind of probably big in a way, or not really. I mean, I put four sum in here. It's kind of like significant because this is kind of like the way people built existential types in Scala. So the existential types and hierarchical types, I think they're going to have a different form in DoDi. I'm not too sure exactly how it will be. I was still looking for more information about that. But for this kind of syntax, basically to move to DoDi, just use the wildcard types. So there are a couple of information. So if you're wondering what existential types in, there's a good blog post on it by Cake Solutions. And there are some Reddit comments that talks about what this means with DoDi. And how about the features, actually, that's coming? Actually, this is how I do my work most of the time. So it's really effective, so trial by fire. So one of the things is function-erity-adaption. So I don't know how many of you write methods with more than, I don't know, 22 parameters. Any of you ever did that? Yeah, before deseretization. So it's going to be something that's going to be automatically handled by the compiler later. So it's actually expended to this thing called function XXL. So this is taken straight from the actual source code itself. So I think it just turns it into an array of prams. They did it for the functions, but they still haven't done one for tuple. So I think tuples still have limitations of 22, but they are working on kind of like a heterogeneous list implementation for DoDi. It's in the DoDi website, but they don't really have much more information on that. Now, one of the cool things is intersection and union types. So this is kind of like the new thing in Scala. Well, natively, I mean, you can sort of achieve this with existing libraries. But actually having this natively will be pretty cool. So this is, well, basically, this is not a really new concept. It exists in some other programming language, but it is useful nonetheless. So you can actually, at the moment in Scala 2, you can sort of define intersection types using the width keyword. The problem with that is the way it's actually linearized or actually translated. It's actually linearized the, what do you call it? I'm lost for words now. Mental bank, sorry. But anyways, if you do A with B, it's not going to be equal with B with A. Whereas with this intersection type, A and B and B and A is going to return the same. The other good thing about it is union types as well. So if you want to try to do this in Scala 2, it's just going to resolve to any. Whereas in .t, you can actually get the actual union type. So if you declare something as an in or a string, then if you initialize it with a string, then it's going to compile and the type will still be in or string. And it will be compiled. So if my function returns in or strings and I can use it as an argument for another function that uses A or B without defining specific types of type, type in or union types. Yeah. I've only played with it a little bit. One of the limitations that I've encountered is that you need sort of a common trade to do that. So I'm not sure if they changed it recently. So in this kind of example, define has X. I think in earlier example, I was actually able to do that with just trades and basically defining A and B. So I'm not sure what's changed. Yeah. Again, this is new. I mean, they've put in .t, but I think the finer details are still in flux. So feel free to experiment with it. And actually this union type will actually sort of going to be important, especially like the points you mentioned earlier about noble things in Scala. So the other thing, I'm not sure how many of you use trade parameters, but there have been a couple of instances where I wish I could have actually just passed something to a trade. So this sort of avoids the, I guess, the lazy initialization of a trade parameter. So in the first example, if you try to access the value of X within the trade, it's just going to return now, but with this new trade parameters, you can actually just pass whatever. So it's kind of like a class that still retains its sort of mix-in properties. So and also, if you have a class that comprises of a lot of mix-ins, then you probably need to pass a lot less parameters. Some of the stuff that's coming, faster compilation. So they are actually moving to a different strategy now called phase fusion. So I do have some information. Oh, actually, Felix is one of the guys that works on DOTI. He made this pretty cool slide. So oops, why not? Okay, so it's actually splitting the compiler phases into sort of the micro and macro level. And through sort of this implementation, they can actually sort of make things run in a little bit more parallel. Oops, not this one. There's another one from Dark Demias or Dimitri Petrosch. Actually, I can't remember his last name, which gives you a little bit more detail about the final points of the compiler phases. Again, it's all in his website. He has videos as well. I think he does a couple of different talks for, I think he has one talk. Actually, this one is from Scalawood. He has one on Scala Ukraine where he talks about the DOTI linker stuff. It's pretty good. So links are all there.  There's actually a link to the SIP. If you want to read it in more details, you're going to bring support for static annotations on methods and field. You're going to have support for multiversal equality. So instead of actually having basically library-specific implementation, I think the good example is sort of in Slick where you have sort of a box type. You have to do the three equals. You can actually sort of bring this sort of multiversal equality using two equals and implicit. So links there if you want to have a look at it. Along with Union and Singleton types, they're also going to have literal Singleton types. So if I can remember... Let me just... actually... whoops. It's one of the things that I just realized that reset in the REPL doesn't actually do reset. It actually does replay. So if you want, you just need to quit and get into the console again. So... whoops. Say... 5 equals 42. And go. Sure. Now, I can't remember what examples I was going to bring with this. It's kind of like very useful. The examples that they talked about was in Scala.js, where you actually can call a method parameter by name. And let me just go to my notes. Hold on. Sorry. Oops. Nope. Where's my notes? Oh, here we go. Okay. So it's being used heavily in Shapeless as well. So I think you can sort of define the types by its name. And the last one is some improvement in pattern matching. So all the links are there if you want to check it out. We're almost gone for time. So there's only a few slides left. So there are a few things that are actually currently being considered in .t. This is kind of small, but I think people sort of want this. It's basically just in tactic sugar for enums. The moment if you want to do enums in Scala, you just use siltrate or abstract class. And you just basically provides all the, you know, with case objects. And if you need to iterate over, you know, you probably do macros and things like that. So I think this kind of gives you a little bit more convenience and has some sort of enforced... Well, it's going to enforce some behaviors to do a Java interrupt a little bit better. The other one is non-knowable types.  So what they're thinking of doing is actually to extract a null to its own separate type instead of everything inheriting from null. So if you work with, say, a Java library and, you know, it might be passing in, say, a null type, then, you know, you could have something like the T question mark, which is a type of T or null. So this is kind of like one of the things that I find in Kotlin quite useful, that, you know, if a method or, you know, a property of members doesn't return a value it might be null, then you actually explicitly have to call the value. So you do, I forgot what it's called. But you have to do sort of a question mark dot to actually cast it to its type. Otherwise, it won't compile. So yeah, I mean, once you have union types and, well, once you have union types, it's pretty easy. Oh, I think. The other things that they're considering is better records. So records is kind of like tuple with parameters, sorry, labels.  So I'm not quite sure where it's going to be applicable, but you know, probably going to be useful. They're also talking about an effect system. So I think this is sort of in line with Haskell, where, you know, if you have a side effect, you actually have to mark it specifically. So I'm not exactly sure how it's going to work. And I think they're sort of like considering a few different ideas as well. And, you know, with the talk of singleton types and things like that, I think they're going to have better generic programming support, I should say. So libraries like shapeless, you know, it's probably going to improve a little bit better. And the other thing as well is implicit functions. So they do have an example in the website where, you know, how if you have currently an implicit parameter, you can actually convert it into an implicit function. So, yep, if by this, at this stage, you're wondering when, you know, you're going to see Dottie. Unfortunately, not this year, may not even be next year. So what's going to happen actually is that, well, they are planning to release the, say, technical preview or alpha one or 0.1 sometime this year. But they're actually going to be focusing on Scala 2.13, which can do a lot of improvements within the standard library and collections. And then there's going to be Scala 2.14, which sort of backpots a lot of those tooling, you know, taste compatibility in it. And maybe, maybe we'll see, you know, basically Scala 3. But obviously there's no sort of hard timeline to it. So, you know, it's ready when it's ready, I guess. So, you know, it's Dottie's open source. If you want it sooner, you know, can involve help. Well, you know, I did sort of get started, you know, having a bit on the DottieDoc side of things, because it seems to be, you know, the most straightforward one. I don't think I'm that comfortable, you know, jumping in straight into the compiler. It's pretty easy to get started. Just go into their GitHub repo. Look at the open issues. They have staff marked as help wanted. So just put your hand up, say, you know, how could I help with this? They, you know, going to have the actual core team member come and talk with you. I talked with Felix on Gitter.  So they're pretty friendly, quite supportive as well. So don't be afraid.  So, you know, if you want to get started, there you go. And that's pretty much it. So hopefully by this time you haven't been, you know, I can see you're all still awake and not too bored. So I'm hoping you learn something a little bit new about Dottie today and maybe talk with your colleagues and get them to get involved with Dottie as well. So thank you. So, if you have any question, I can't promise I'll be able to answer it. You can ask anything you want. Of this question, like, dependent type is a great thing. But usually the problem with it is a cannoliative syntax. It's hard to explain dependent type. So how it looks in Dottie, for example, if you want to have a generic list of a length of four, how would you look like and in which case is it possible to infer that the list is a length of four? Yeah, that's a good question. I'm not sure, because to be honest, I'm not really that comfortable with how the syntax is defined in Dottie as well. I mean, I keep looking and, you know, still trying to understand how it's all going to work. So unfortunately, I don't have a really good answer for you. I'm still sort of at the beginner stage with this new, with Dottie as well. So far, you know, I've looked at, I guess, implemented features and how it relates together and how it's actually, I guess, fits together with the current Scala. But yeah, it's, sorry. A little bit subjective question with how backward compatible Scala 3 would be. Because it looks like it would be that four types, composable types or whatever, it might require a significant rework of pretty much everything that's to interpret with Java libraries. And it basically means all the libraries out there that interpret with something from Java world would need to migrate to version 3 with manual stuff. And there's an example of the language that really struggles to migrate to version 3 because of exactly that, which is Python. So this is kind of a subjective question. What's your opinion of that? I think they're sort of conscious about this problem.  And everything breaks and, you know, everyone has to sort of spend a lot of time in their code base, which is sort of why they went ahead with the tasty approach. So they encode a lot of information. So in a way, some of those sort of heavy lifting will be done by the tool. And I guess the developers or the engineers or the programmers will, you know, I guess do the final checks. So I'm not exactly sure because at the moment it's still in a lot of flux. I mean, you know, we know that, you know, for some it's going to break existential types, how it's going to work. I guess, you know, it's even higher kind of types is still sort of the weighing on several alternatives. I think when one of the comments, Professor Odeski did mention that if you stick with the normal sort of Scala languages and if you stick with well-known libraries, you're probably going to be okay, but, you know, obviously it's case-by-case basis. But, yeah, there are tools, but it really depends on, you know, it's not going to be just like smooth, but they try to make it easy. Yeah. So this rewriting tool is going to take care of macros as well? Actually, good question. No, I don't know about that actually. It does with the normal code base. Do you suggest you still work with libraries that can rely on those? MacWire, for example, it's really good to use in Scala. Yeah. So the numbers about that you can still use in libraries, you can compile your code with a number? Yeah, I think from what I've sort of seen in the Scala machine representation, everyone is sort of just already moving towards Scala meta. So if you're developing anything new, just maybe focus on that instead of the current macro implementation. I think up to 2.10, it's still like this experimental.  Because DOTI supports this whole SVT DOTI code and supports the cross compilation. It's Scala version 2.11 to 2.12. You can sort of use the Scala 2 flag to compile to Scala 2.11 bytecode. You can use Scala 2.11 library in your DOTI code, but I don't think it does cross compilation well at the moment. Are there any libraries, Scala open source libraries which are compiled to DOTI? No, not at this stage. I mean, in terms of language, parity is not even close to the current Scala yet.  I mean, the compiler compiles itself, but in terms of actually, you know, I guess non-trivial libraries are not aware of anything that uses DOTI. So the ecosystem is basically nonexistent yet? Not existent. But, you know, depending once it's mature and people think it's ready, then people will migrate. I think personally, you know, I've seen a lot more faster transition from, say, 2.11 to 2.12 than the previous version, so that's actually kind of optimistic. So I'm hoping that, you know, if they did what they say they're going to do, say, backport a lot of this feature back to Scala 2, when it comes time to migrate to DOTI, then hoping that's going to be a smoother transition as well. So I mean, they say it's, you know, big major version 3, but I think it's going to be a lot less things that's breaking. So... 9.3 took 10 years to become popularized, so hopefully this will be faster. Journal 6 never actually launched. No, never become popularized. So how does DOTI compare to SBT? Oh, they're actually... Why should people switch to DOTI? Oh, DOTI and SBT is actually two different set of tools.  So, I mean, it's kind of like independent. Well, the demo I showed you before, it's actually using SBT 0.1313. So it still uses SBT. It's just that, you know, we switch the compiler from Scala C to DOTI. Yeah. Oh, by the way, I think SBT 01315 is just released today, so I haven't had a chance to test-drive it. Yeah. But anyways, it's, yeah.  Everyone's good? Cool. Thank you.


This is the VOA Special English Health Report. Malaria is caused by a parasite spread by infected mosquitoes. The World Health Organization, in its latest estimate, says the disease caused 781,000 deaths in 2009. Most of those deaths were in children in Africa. Worldwide, there were 225 million cases of malaria. Both of these numbers represent improvements. In 2000, there were an estimated 233 million cases of malaria and almost a million deaths. Malaria remains a major problem in Africa. But there have been some successes. Deaths in Rwanda, for example, have been reduced by 60%. There are still no vaccines to prevent malaria. The main way for communities to control the disease is by controlling mosquitoes. In a recent study, researchers in West Africa have shown that spraying insecticide indoors can greatly reduce malaria transmission. The fight against malaria has two main targets, the parasite itself and the mosquito that carries the parasite. Insecticides target the mosquito. But over time, the insects develop resistance to the chemicals. This has been happening with current mosquito killers, including chemicals known as pyrethroids. Gilles Germain Padineau and other researchers in Benin tested another insecticide. This one is called Bendeocarb. They tested it with indoor spraying at sites throughout Benin. There were fewer mosquito bites in home sprayed with Bendeocarb. More importantly, none of the 350,000 people who lived there got malaria-infected mosquito bites during the test. Piper Hotez heads the American Society of Tropical Medicine and Hygiene, which published the research. He says, this is what this Bendeocarb is all about, showing that it's efficacious, at least in this setting in Benin, in a real, live field setting. So it provides a potentially good alternative where there's been high development of resistance to pyrethroids. Dr. Hotez says the effectiveness in the test does not mean all malaria programs should use Bendeocarb or that indoor spraying should be the only method used. We're going to have to throw multiple things out there in order to see what the optimal combination is to achieve control. Bendeocarb is widely used against a number of different insects. The insecticide is considered relatively safe when used as directed. For VOA Special English, I'm Carolyn Presuti.


Hello. Can you hear me? Yes, we can. Cool. It might be a little bit off topic. I've actually got two questions, if you don't mind me being so rude. But they're totally different subjects and the first one might be a little bit out of the range of this conversation, I don't know. Nothing's out of the range. Okay. The last couple of months it's been very, very apparent that they are spraying something into our skies that you have come up with beautiful blue morning. And then you get this crisscross of so-called vapor trails. You know, chem trails if you like. And then in the afternoon we've got this horrible gray mass of stuff that comes up and our beautiful blue skies have been obliterated and we no longer get the kind of five, six days of the high pressure thing that we used to have in the summer. You know, we don't have a little, a little fluffy clouds evaporate into nothing and blah, blah, blah. So it's not, I'm not, I think that is happening. And I believe from your perspective, you are not an advocate of the man made global warming kind of agenda. I feel like you've not succumbed to that myth. Correct me if I'm wrong on that. But my most bugging me at the moment is what can we do about it. And, and I don't know if you're the person who asked that question or not, but you know, maybe you can give some sort of advice. That's question number one. Yeah. When we ask what can we do about it. We're kind of subsuming all of us as individuals into a generic we, but the answer to that question I think is unique to each person. Yeah, okay so so but I'll tell you the part that I can do about it, and that maybe some of you who resonate with my words might be might participate in. And I'll talk a little bit about chemtrails. I don't have absolute compelling proof that, you know that there is an affairious agenda. I've certainly read a lot of the material. Some of it, and I've read the debunkings of it, you know, and I'm not fully satisfied with the debunkings, although there are some advocates that, you know, the theory that really ignore some important explanations. But overall, like, like I saw one time. And this is what really tips me over the edge I was, I saw like a plane, who's whatever a chemtrail generator was malfunctioning and it was going on off on off and making like perfect dotted like dashed line across the sky, like with clockwork regularity. I'm like, maybe there's like some you know striated weather atmospheric pattern that's, but that no not really like I couldn't buy that you know. And so I'm kind of aware of this whole alternate reality of chemtrails and geo engineering. And what I what I would say. And what is mine to do about it applies whether or not the conspiracy theories are factually true. And I don't mean to imply by saying this that they are not true. Okay, I'm, as I just disclosed I am agnostic on it meaning toward, I think there's something really going on. What is mine to do applies either way, because I look at the mindset from which geo engineering seems completely natural and right and good and represents progress. And that's the mindset of progress that equates it with increasing our control on every level of reality from the gene and the atom to society through tracking and surveillance you know and social engineering through climate engineering, like turning all of reality including the planet birth into an engineering object. And that is one of the key dimensions of our reigning mythology. And I worked for a different mythology, which understands that there is intelligence in the world outside the human being, and that our role is not to impose intelligence on them but to participate in the organic intelligence of life. So, from, so, so, from that attitude. There's no way we would mess with the atmosphere in that way. And also from that attitude, understanding the sacredness of life and the intelligence of life, we come to my understanding of climate change, which is not that that it's not happening. But it's that it's a result of the degradation of ecosystems. The destruction of forests, wetlands, soil, fish, whales, insects, you know, through pesticide use, etc, etc. The destruction of the organs of a living being that we call Gaia. And of course the climate gets deranged. It's not record heat, record cold, record drought, record floods, you know, all these things are a symptom of derangement. And if we accepted our participation and membership in the tribe of all life on Earth, and this said saw it as sacred. We would, we would stop destroying in that way and we would stop spraying chemtrails. So that's the level I work at. And that's not to demean the activists working on a much more direct level. You know, organizations like geo engineering watch and things like that. I'm just telling you what what is mine to do. And then I would return the question to you and everybody else listening. What what is yours to do.