Hello again. So it's actually not brand new in like blockchain terms because it's a year old So it's like really old at this point Okay, you'll Which is important. Oh the big one. Okay So some of you may have attended Def Country and may have seen this other talk called Yulia Which I had last year. There's some overlap between that and this one But yeah after Def Country we did learn that there's another language called Yulia and maybe we shouldn't call our language Yulia as well So we decided to rename it to Yul So that's that's the real talk about Okay, the design goals for Yul the couple of design goals we had but first of all it has to be easy to read and write Secondly, it has to be a good base for transformations for more importantly optimizations on top of it And the third main point is that it should be a really good base for auditing. So actually these three points play together By having it easy to audit We we are writing code as like single instructions in a function You know the smaller the code it the easier to audit and as a result It's quite easy to read but it's not well optimized it use a lot of gas So that's why we need a lot of good optimization steps on top of it And the last big point for the design goals is to support multiple target VMs Of course it supports EVM, but it also supports EVM 1.5 and E-wasm Okay, some of the features we have in Yul itself. It does look like an assembly language But it's heavily augmented from an assembly language. First of all, it has variables And it also has blocks and the blocks are the own scopes Variables declared in blocks are not visible outside and you can nest blocks Then we also have two really high level constructs, which are quite uncommon in assembly languages We have for loop and we have a state switch statement But we do also have like this single condition if statement for those cases where switch statement would be in a work hill More importantly, as mentioned we have functions and we have function calls Functions can be clearly defined and lastly we have types and that's kind of unheard of in assembly languages So that's why Yul is more like an intermediate language for compilers than an assembly language But it can be used in an SN assembly language to write a manually contracts in Okay, just what it looks like an example of the switch Construct this is a function. There's a switch statement with three cases The k01 and the default as you see there's no break statement in the textual blocks Because it there's no fault through if it goes to k0 it wouldn't go through case one But this can be written as a for loop as well. So this is what it looks like writing it as a for loop now here You can identify That it is closer to assembly because we have those idiom like instructions LT for less than add and what it's lesson more so it is like an augmented assembly Okay, Yul itself originates from The solidity in my assembly, which you guys probably are familiar with because it can be used within solidity So this in now assembly was introduced like two years ago. It had instructions and jumps didn't really add anything else It did it like variables, but didn't had all these nice features. I explained These nice features were introduced probably a year ago We added the functions and foreign switch and they can be used for a year at this point Now with zero five zero we're making a big change and we are removing Some of the features in an in line assembly. We're removing jumps But you guys shouldn't be afraid because the foreign switch statements are way better to do the same things You were doing with jumps Here I also must mention that even though In a nice and there was a single version of a line assembly presented to you guys But in the back end we had like three different versions of it And the solidity compiler can be used in a similar mode and all these three different versions can be accessed through December mode so the first version is this In line assembly the bad one which has jumps the second version is the strict in line assembly Which is you as I explained but the third version is the strict in line assembly with types Now with zero five zero we're not gonna have types yet But with zero six zero We are planning to have full complete you'll support now. I must expand here.  So in Ethereum basically deploying a contract is a two-step process There's a constructor which we usually call the init code This is being sent to the network this constructor is executed it can change the state and it can also return a bytecode Which is stored in the state and that's the bytecode for your contract Currently there's no way to Represent these two stages in you'll but we do have a plan to do that and that's what we call you'll objects So that's like the next big part we have to do and Then you will be fully capable to write contracts in And then lastly probably at zero seven zero We're gonna have types mandatory and we're gonna have user defined types By user defined types here I actually mean a specific type for a memory pointer a specific type for storage key and storage value Maybe actual user defined types later Okay, so when do we gonna have this in solidity? It's gonna take a while But it's already in solidity partially it's being used in the ABI encoder v2 Which is a complete rewrite of the ABI stuff. Are you gonna talk? Tomorrow at great lengths about all the changes in solidity. So you guys should listen to that There are two blockers to get this in solidity have optimizations, but the good news There's a lot of optimization work already being done. So that that should be covered soon enough but the other big blocker is Revwriting this code generator. So in solidity, we take the source code we do we parse it we do Analysis etc. And in one stage we generate EVM bytecode, which probably is a bad idea So we need to rewrite this this one step into two steps to generate you and then use you to generate EVM But this only gonna start up to zero five zero, but that's like the big plan for next year Okay, there are other languages actually already involved with you Apart from solidity, there's this language called Flint Which is a fifth like language and it targets you it actually works, I just tried it yesterday and Okay, it's not compliant with zero five zero, but it works There is is a prototype LLL to you compiler, which is really small and There's also this other language called logic on which was a eat Berlin project Which also targets you Hopefully, I mean, that's my personal hope but probably the entire solidity and shares that That you're gonna be used and utilized by the entire ecosystem And hopefully we can convince the viper people to also use it and get all the benefits we have Okay, the tools regarding you Obviously pretty much everything is the solid is in this solidity compiler, which is C++ But there's also already a rust implementation of fuel and in this rust implementation. It is called you'll sewer In this rust implementation You can create you'll code programmatically and you can print it out, but you can also parse you'll code Do transformations on it and print it out And this rust library is also integrated with soul seed to tap into the optimization steps and the compiler There's like one other use case I really like called why if you So basically why you VM is it came from a need we have any wasm So if it wasn't we want to replace the VM entirely and we want to give you this Web assembly only client But probably you still want to execute even bite code and you can do that with why if you So why if you translate Evian bite code into your source code, which can be also compiled back to Evm and validated But it can be also compiled to E wasm directly. I think this really cool project And I hope that they're gonna be other You know independent third-party you'll implementations and analyzers for you So basically that that's what I wanted to tell you guys you should check the documentation So make sure you follow the link I have there, which is latest Don't go to the 0 4 24 or 25 version of it go to the latest Also join our channel ask any questions interact with us and Please contribute to you sir and why Evm you need your help. Thank you guys


Good digital products are ones that have. What does that mean? Let me explain. Help users meet their unmet needs. Very nice. Adapt to constant changes. Very nice. Validate feedback. Empathise at every step of the journey. Woo!


I've had the honor of living here for almost 30 years, and of those 30 years, 12 years in Kenya. What brought me here, initially 100 years ago, but maybe like 1979 was my first trip to Kenya and with a volunteer program called Crossroads Africa. And we went to Machakos, to Katiani, to build a, the Katiani High School. It was literally building the school. It was, obviously none of us were architects, we were all young spry Americans back then, and we were all around the same age. And we were disinstructed, there's a pile of bricks and here's the wall that we're making and it was just carrying these bricks. But it was the exchange in the community that was the idea of the program. And after that, I was hooked on Africa. That experience at the time that it was provided and I was made aware of it was perfect. I was kind of lost. We are people we don't know where we come from, and that is a perspective that's challenged when you don't know. You know who you're, we know who our grandmothers and our great grandmothers, but it stops at a certain point. So the journey to Africa, even if it's a part of Africa that you probably are not from, is an all-encompassing thing, traditional African experience. And once I make that click in my head, then it was a great experience. But initially it wasn't, initially it was, because you're dealing with so much stuff in your head about who you are and stuff like that. And you think like, oh, I get to Africa and I don't know who I am. Yeah, you'll know that you're not as African as you think. And I was just lost and I was made aware of the program. My life definitely changed. I mean, it gave me an orientation for my life, for my career.  And so, and I was like, this is what I need. And it was what I need because after that, it just gave me a lot of direction. I had left school for a while, that was the term. And I went back and I was like, okay, forget this doctor thing. I didn't want to really be a doctor. And I went to, I focused on international relations. And so that just opened up the rest of the world to me. And what I've always traveled, my parents have always been encouraging of my travels. And so international relations was making more and more sense. I was taking it seriously. After college, I did the Peace Corps and then I went on to work with NGOs that were involved in supporting, or improving the quality of life in certain areas of Africa. Then on to the UN and my last formal, my last formal experience was with the US Agency for International Development. And that's the development arm of the United States government. So, I mean, it oriented me through all of that. I have a very traditional development background and career.  I, at a certain point, I went into entertainment. But prior to that, prior to the entertainment and my artistic desires, I was on a very traditional development track. We did a lot of community development. A lot of health project support in a very basic level, you know, just in terms of, okay, it's encouraging mothers to have their children vaccinated and understanding when you have, when you're dehydrated, how to rehydrate with materials that are, you know, they're in your kitchen there, pregnant women, maternal health care, that type of thing. So, you know, in one project that I had in Mali, we were, I was responsible for 100 villages and we had a certain message. And through community development agents, we covered those 100 villages, sharing basic community health messages. I think, and as I progressed in my career, I, you know, I have moved on to different positions that gave me a lot of responsibility. At one particular point, I was a donor, you know, that I could direct money to different types of activities. One of the, one of the success stories I would think was just kind of changing or trying to influence a certain think that was happening. We were thinking in like silos and situations that are happening, they are kind of a melting pot of everything. You know, if you're having, if you're having a malnutrition crisis, it's not just the, you know, okay, yeah, okay, food and proper nutrients are not coming to the children or to, are not coming to people or families to the home. But why is that? Then there's an agricultural issue. You know, there's a market issue. There's a war that's going on that is impeding people to get into their fields to plant the food, to have enough for people to eat. And so when that, all of that's going on at the same time, that's where the malnutrition issue may be coming from. So it's not just one thing. And I think that I was in a position where I could influence the fact that we need to be more strategic and thinking not in our own little, you know, purview, but thinking, taking all of those things into consideration, the market, the economics, the war, the access, all that stuff. I was in a country that had the situation where there was a civil war that broke out. Civil wars, when they break out, they're usually kind of, you know, the capital is always the place that one wants to preserve. This one broke out in the capital, okay?  And for refugees, that's a human reaction. If there's danger, we're out of here. We're not waiting for somebody to come. We're out of here, you know? And so when they get to there, where are they sleeping? Where are they eating? Where's the food coming from? Where are they drinking? Where are they, what is the hygiene situation? So I was, you know, for the longest time I was in humanitarian assistance and that's the focus of humanitarian assistance is basically keeping people alive. So as a donor, you're not so much in the field as much. You're not so close to the action as much. However, you play a very important role in terms of making sure that the funds are available so that we can help keep people alive. I've always been an artistic person and there's not a whole lot of art when you're in a war zone, you know? And I've been in a number of war zones and it was when I had an opportunity to move to Kenya that I was able to flex more of my artistic interests. Well, I tell you and I will say thank you Kenya because I was truly living my artistic life here. I had a period of living a very artistic life. I was a musical performer, I'm a singer. I acted in a drama for, you know, a TV drama. I had an article, a column that I had in the Nairobian paper for a couple of years. Those were all of my dreams came true. All of my artistic dreams came true. And then I also have taken one of your, one of the sons of the soils here is my husband. I'm married to a wonderful Kenyan man. I've been here for 30 years. What do I have to show for my time? And I've always liked fashion. I've always designed stuff for myself and I wanted to bring something home with me. I wanted to bring something home with me, you know? And it was the fashion that I targeted to bring back because also, you know, by the time I was leaving my body had changed a lot. I was, you know, wider in certain places and bulging in others. And I wanted to, I wanted to, I don't want to hide it. I'll just say I wanted to camouflage it. And so I chose the Hilo style because it did camouflage. The other challenge was fashion of color. So right now, so I will definitely say that Kenya inspired me, you know, for my fashion line. And I called it, I call it Mimi Zuri designs. Now I get people, what does Mimi Zuri mean? And I love to say, it's beautiful me. And so the highlight of the design is that I have jackets, I have tops. They're all loose fitting and they're all high low. And basically how you just, you determine or how you try to design it, I'm sorry, style it. It makes the difference in it. I like to mainly play with the sleeves. I have long sleeves, I have bell sleeves, I have no sleeves.  And the big functionality is that they are reversible. So you are getting two looks in one. Located in Los Angeles. And like I said, I'm inspired. My inspiration definitely came from Kenya. When I come to visit family, I look for fabric that I can't, that I don't see around normally. I like that infusion. I like the particular Kenyan infusion of my inspiration. But I'm based in Los Angeles and that's where I have the production and I do the marketing and selling. Los Angeles is like the leading manufacturing base for the United States and textile. I've been doing this based on African style. So that's the beauty of the melting pot of the world. And I think that I have hit my ceiling. And if I want to become, if I do want to scale up, I got to get an accountant. You know, I got to get a POS system. I got, there's so many, and there's so many stuff, there's a lot of stuff out there for support. And there's a lot of, there's a lot of agencies, you know, that I can get that information and stuff. I belong to the Black Design Collective in Los Angeles.  And you know, and they're always doing workshops, webinars and things like that to inform, you know, the group in terms of, because we have big designers that are in there, Ruth Carter. Ruth Carter was the costume designer who won an Academy Award for Black Panther. You know, she's part of the collective. Cross colors, the people that created cross colors, they're actually, you know, hands-on in that collective. So it's really, you know, LA is just that, LA is that place. It really is that place. In future, I would like to get from, I would like to expand to a scale up. I would like for a boutique to place an order of 100, 200 pieces. You know, right now I'm kind of one-to-one, you know, I sell it, I'm vending at festivals and things like that.  Oh my God. Okay. We've come from far to arrive at this place. Oceans were crossed with our destiny's trace. Crossing the ocean, I found my way home in a musical rhythm I'm never alone. Just be true to the spirit and our souls will unwind. Let your love run through it. All bright future will find fusions of the mind, fusions from the heart, fusions of love. That's straight from the heart. Coming together, rhythms that bind. Coming together. And that was a song I wrote about my journey of finding my voice in Africa.