 Yes, so my name is Manuel Chakravati. I've been involved in programming languages and compilers and similar topics for a long time. I've been interested in this already at university. I've done my PhD thesis in the area. Then subsequently, I've started together with another personal research group at the University of New South Wales in Sydney. We've built this out to the most influential programming languages group in Australia over the years. Our work was very much in functional programming, type systems, programming language theory, compilers, high performance computing. That kind of space has always been very fascinating to me and the connection between the human programmer and the machine which has to actually execute the code and how to make it easier for humans to write computer programs. Recently, I've relocated from Sydney to Utrecht in the Netherlands. I've moved from academia to industry, partially because I think functional programming is ripe for the mainstream now. I think software development methodologically can benefit a lot from the results we've developed over the years in academia. I'm particularly excited to work on this inside IHK because my understanding is that people here really appreciate this vision of taking foundational scientific research and turning it into industrial practice. So the same on the programming languages front instead of just doing some random ad hoc programming language like many other people, many other companies here at IHK. The effort is really to build something from the ground up in a way that is based on good science and which will be able to withstand the test of time. So here at PlutusFest, I'm going to introduce the overall Plutus architecture and in particular highlight what's special about Plutus. Why? Why didn't we just take something existing? Why did we go out of our way and invent a new contract development platform? And it comes down to essentially three different things. First of all, and that's really at the core in this space, blockchain programming, safety and security is paramount. And with always with computer security, it is nothing you can add to a system in our posteriori. You have to build it into the system from the ground up. Security and safety has to be an integral part. So that's why we base our system on functional programming, on programming language research, on advanced type systems, because that allows us to bring this safety and security really as a core aspect into the whole development methodology. So that's our focus number one. That's really the thing we cannot compromise on. Then secondly, Cardano is in a special place because it is based on a superior ledger architecture, based on the idea of unspent transaction output. So the system which was seemingly introduced by Bitcoin, and it is really from a data structure point of view, the NYTA system when you compare it to account-based systems. But the question is, with Bitcoin we have very weak scripting capabilities. Now can we use this ledger architecture, which is superior, and enhance it with scripting capabilities which are matched for systems like Ethereum. And we have spent quite a long time studying this problem and coming up with a way to, with what we are calling the extended UTXO ledger, where we preserve the same good proven structure and we annotate it a little bit. We make it more powerful to get these new scripting capabilities. That's the second one. And then for number three, generally when you're talking about writing smart contracts, distributed applications, you're really talking about two levels at which you have to work on the blockchain and in the wallet of the user outside of the blockchain. And previous systems, they have handled this as separate things and that makes it complex. You have to use multiple programming languages. The connection between them is quite ad hoc. It's a fragile system. So what we've done, we've integrated it into one system with one programming language using another result from programming language research, the idea of staged or meta programming to tie the two together in a principled way, where we can use advanced type systems to check the consistency between the code at the different levels. So that's the three things we have at the core, this focus on safety and security. We support the UTxO ledger architecture and have extended it to improve the scripting capabilities. And finally we have this integrated system which covers both on and off chain computations in one system. So why can't we just take Haskell because there's infrastructure missing? For example, for blockchains you have these on-chain computations on the actual blockchain, you have these off-chain computations at the wallet level. And for them to talk to each other, on one hand you need some infrastructure, some libraries to achieve this communication, but also in the tooling you need tooling that generates code where the on-chain code is quite specific. You don't generate normal machine code or the typical output which you get out of a compiler and run it on the blockchain, but on the blockchain you have your own code format. In our case this is Plutus Core, which is designed to be easy to reason about being able to implement in a way that we are actually confident we've implemented it correctly. And for this you need tooling. So most of the time in the Plutus team we've spent on A, devising this overall system, be implementing tooling on top of the existing Haskell tooling to perform the task which you only need to do on a blockchain, but not for a normal Haskell program. And then also to think about the interfaces, what kind of library interfaces do we want to give to Plutus developers to make it easy for them to write these applications because sure they could just use naked Haskell, but then there's a lot of infrastructure they would have to develop for themselves and it would be very useful for everybody to do that. So we provide that infrastructure so the Plutus developers can just use the infrastructure we provided. Yeah, so I've always been interested in programming languages and compilers. It's kind of the connection between the person, the developer, and the machine which at the end of the day has to do what the developer wants it to do. Well, at least the developer wants the machine to do exactly that and nothing else. Historically, people used to have to write code in the language of the machine and we slowly moved away from that and we moved programming languages closer to languages which are suitable for humans rather than trust machines. And so in a sense, it's user interfaces for developers and I've always been interested in user interfaces and I've always been interested in developing. So that puts really the two together. And so it's fascinating to me how can we provide a good programmer user interface for programming blockchains and blockchains are so new, people really haven't thought about this much. At least if you look at the existing systems, they are from my point of view quite coupled together at hoc systems where nobody really thought about this much. They thought about well let's get it to work, but not let's get it to work and also make it nice. So the ability, the opportunity to provide a new and nice interface for developers, that's something which I find very interesting. But then I consider myself a scientist and I've spent most of my career working at universities. But I think for science it's really important to think about where we can use that science and how can we explain that science to people outside of academic institutions. And so the topic I've spent most of my research life on functional programming is now at a place where I think we can make this move. We can take it from the academic ivory tower, if you like, to industrial applications, explain to developers in general why that's a good way of developing software. And that's really what I want to do. And with IHK has always had this aspiration to work together with scientific institutions, have everything based on peer-reviewed research, and really bridge that gap from scientific research to actual application. So being able to work in an environment where this is a general understanding of the organization, of the individual people in the organization, that that's the right way to do things as opposed to just do something at hoc and then look at it later and see that well actually we could have done that better. That really is something which I find super exciting about Plutus, but the whole Cardano project in general. There is a lot of hype about blockchain, smart contracts, whatever. And there are a lot of people making exaggerated claims and so on. So in this environment it's sometimes it's hard to see what's the valuable core, what's hype and what's real. And I think being a computer scientist, for me, it's quite natural to approach it from that perspective. So from a computer science perspective, what's the real novelty here? And what it comes down to is really a general infrastructure for concurrent and distributed computing. And of course you could say well we already have concurrent and distributed systems, that's true. But if you think back to networks, then for a long time computer networks have been quite fragmented. The EBM had its network, HP had its network. Many other companies we don't know anymore because they went bankrupt in the meantime, had their own networks and they were all not really talking to each other, but of course it was network computing. But everything changed with the internet. Why? Because people settled on a common infrastructure and suddenly you could talk to each other. And I think we are possibly in a similar situation again, but now we're not talking about communication, we talk about shared computation and trust. And so how can we have a concurrent and distributed system where we can have trust and consensus despite lack of a central authority from an architectural point of view? And this is, to me, this is fundamentally the question that blockchains and distributed ledgers are trying to solve. And having such a system is very valuable because there are a lot of applications which currently can only be realized using central authority. And for anybody who's ever done any distributed computing, in a distributed computing lecture for example, the first thing you tell your students, if there's anything central in this system, throw it away because it's not going to scale. And we have seen this over and over and over again with distributed systems. So if we are able to pull this off, to have true distributed systems where we don't need central authorities for trust, but we can use a distributed ledger, a blockchain to achieve that instead, then we can achieve scalability beyond anything we can do at the moment. And that opens many different applications not only because trust in central authorities is always localized, it has to build from recognizing this authority, which will always only be true for a certain community. And then again, your ability to spread through the whole globe is not given anymore. And we saw this with the internet. Again, suddenly we had something everybody agreed on, this is the infrastructure and boom, we could do all these things that these fragmented systems couldn't do.