Bonjour. Hi, hola. My name is Justice Mumbai, general manager at Calista Foundation. I would like to welcome you to our session at the London Conference which will be on June 30th as from 11.15 to 12.45 Central European time. We will be discussing experiences and tools for measure insecurity rights and improving the perception of tenure security. In this session, we are going to cover more the perception of tenure security and the importance of measuring the perception of tenure security. We are going to share our experiences in measuring the perception of tenure security. We are also going to explore how perception of tenure security will be helped especially in creating targeted intervention. And we look forward to meeting you then in the next session.


Chitosan is a natural biopolymer derived from crustaceans and has been used as an antibacterial agent due to its ability to bind to bacteria and fungi. In this study, researchers investigated the antifungal properties of Chitosan and its derivatives, trimethylchitosan, TMC, and Chitosan nanoparticles against three common fungal pathogens, candida albicans, fusarium solani, and aspergillus niger. They found that Chitosan nanoparticles had greater antifungal activity than the solution form of Chitosan against all three species. Furthermore, they observed that the antifungal activity of Chitosan nanoparticles was dependent on their particle size and zeta potential. Additionally, they found that TMC did not have any antifungal activity against these pathogenic fungi. Overall, this study suggests that Chitosan nanoparticles may be a promising alternative to synthetic antimicrobial agents. This article was authored by Lin Yining, Norazia Mohamed Zinn, Atif Sawa, and others. We are article.tv, links in the description below.


the pleasure speaking with Justin Reid from Trullo School. How are you today, Justin? I'm great, Tracy. How are you? Justin, I was just remarking how much I enjoyed that Dean Bristow story called Is Trullo School Undervalued? Yes. And he talks about all the reasons why he thinks you are a fabulous company. So why don't we just start there with what was your favorite point that he pulled out because he just listed one after another reasons why Trullo School was the company to be looking at. I mean, it was a great piece and I think he was reiterating a lot of what we say and others like us say is, you know, Trullo School has the jurisdiction. First of all, we have the capital and the shareholder support, the institutional support, just not the support, you know, just not the support to fund a company today but support to build a mine tomorrow. We have a huge resource at 8.1 million ounces equivalent and growing. We have a number of large catalysts on the way and ultimately we have a lot of continued de-risking to deliver to the market but we are going to be an operation that will have generational impact and scale within the top 10 largest producers in Canada within the next three to four years. Well, Justin, I personally like this line. He says, from 1996 to 2010, the Trullo School line produced 2 million ounces of gold and nearly 70,000 tons of copper. So you have a track record of performance. Is this information correct? It's a past producer. It was operated by Inmet Mining, a tier one global producer. It was under-capitalized because their corporate directive was elsewhere. But yeah, I mean, we're not reinventing the wheel. This mine has proven that it works, that the gold and copper and silver are extractable and we're finding more of the same. We're not reinventing the wheel here. This is the exact same rock, exact same grade, exact same everything. We just have made it bigger because we've invested more capital into it. That's all. So it's a proven asset that we are essentially restarting. Okay, not only are you restarting, obviously copper has changed in demand and price in the last decade. It sounds to me like you've been very aggressive with some drilling. So let's talk about your most recent discovery that you had as a result of your drill results that you just put out last week. Yeah, we have two silos at Troilus. We have 1400 square kilometers, a huge land package, and we acquired this land package as a result of success we've had at the mine. A new model, a new model that showed there's a lot of potential elsewhere within the belt. So we acquired 1400 square kilometers. We flew detailed airborne about $2.5 million worth. Over the last two years, we've had 50 people banging rocks, mapping, sampling, geophysics, all the background work you have to do. We made a discovery about a year ago that to start is about 10 kilometers from the mine. It's a kilometer from the power line. The power line runs right up to the main Troilus operation. What we really liked about to start is a little bit different. It's hosted with this intrusive, but really let's just talk great. It's a different beast, more classic Abitibi style than these lower grade bulk tonnages that we have, and our surface results were bringing back trenches running five ounces of gold, not five grams, five percent copper, 60 ounces of silver, some of the highest grades seen in surface in the entire Fort Ed Evans belt ever.  We had an available drill right before the snow came, and Blake Highlands who runs our technical team said, let's put a few holes in this, not into the into the showing, but let's step back and just test this major structure, which could be a feeder. So to say, call this a wild cat hole is an understatement. It was really more of a stratigraphic test to see is this a big system. And we pulled out almost eight meters of five grams, 20 or 20 grams over 1.2 meters, significant high grade mineralization, which wasn't expected, associated with a kilometer scale structure that shows us there's another system at Troilus parallel. And this one seems to be a little bit higher grade or has the potential to be. So very early days, but really excited. And the main, if I step back and I say, why would this be exciting to Troilus? One, I love exploration news. When you're going through the monotony of engineering of mine, the market gets bored. We're showing new discoveries. We're showing growth. But think of this, if Troilus, which is going to operate around the ground, was able to find a few million tons at five to 10 or 15 grams, all of a sudden, with the road and the infrastructure that's there, it's very easy in a hub and spoke type of model to deliver higher grade, sufficient or to the melt early and expedite your payback, increase your economics, makes a deposit bigger. So we don't need to make a new discovery of another mine. We just need to make a satellite discovery, which is within the sphere of influence. And this one looks like it could be higher grade. So early days, but excited. Now, just to finish up, we have a lot of things to look forward to as Troilus shareholders. Dean said, you're going to be updating your mineral resource, utilizing that additional 120,000 meters of drilling targeted release for mid calendar 2022. Is that correct? That is right. We have actually had a marketing meeting this morning. We have probably 10 or 12 things coming out to the market in the next three months, a lot more drilling, a lot more regional exploration, a few things that pertain to the actual engineering of the deposit. But what I'm most excited about is our pre feasibility and new resource. And the resource and pre feasibility will be out in the next three to four months. PDAC is in kind of three to four months. And it's going to take into account easily 125,000 meters of drilling, but we still have five drills turning right now. We've drilled 35, almost 40,000 meters since the beginning of this year. All of those drills are moving to the middle of our gap zone, which is between our two deposits, which we've never talked about. So lots of exciting things to come. So for those of you out there looking to invest in a company that's achieving milestones on a regular basis, and of course, as management team that could be absolutely anywhere, we urge you to go to the Torla's Gold website here. And thank you so much for joining us today. As always, it's a pleasure. Thanks, Trish.


cloud-native applications, you need to move fast, not wrestle with choosing and deploying frameworks. You wanna write useful code without infrastructure, cost, or scalability issues slowing you down. That's where Microsoft Azure Functions comes in. It accelerates serverless application development while making it easy to process and react to events. It's an event-driven, on-demand, serverless compute platform that scales automatically. You get a complete end-to-end development experience from building and debugging locally on major platforms like Windows, macOS, and Linux to deploying and monitoring in the cloud, yet you only pay for what you use. Save coding time with triggers, which enable your serverless apps to respond to events. Really speed things up with bindings, which allow you to connect to other services instead of writing connectors yourself. Do you have complex orchestration problems that require preserving state? Solve them with the Durable Functions extension, which manages the state, checkpoint, and replays, allowing you to focus on your business logic. Azure Functions also lets you choose from a variety of programming languages and hosting options. Simply pick the best one for your scenarios and quickly adjust to meet business needs. Do more with less code while saving time and costs with Azure Functions. Hey, everybody. Welcome back. My name is Jay Gordon, and you are watching Azure Funbites, where we get together and what do we do every week? Well, you know, we have conversations with the people of Azure, or people who build with Azure, or people who are just having an amazing Azure experience and want to share with you all the different things that kick tips the tricks and how you yourself can have an amazing Azure experience. So we just kind of set things up for today, and this week we're going to be talking about Azure Functions and specifically Azure Durable Functions. And to help me along the way, I've got a great guest who I'm going to bring in in just a moment. And I just always want to remind you all that we have our chat and the comment section within Learn TV. So if you have questions or comments along the way, I really would love it if you go ahead and you share them with us. We just want to know that you're with us, you're here, and you're interested in what's going on today. So I'm going to bring in my guest. It is none other than the great Laurent Pignon. How are you, Laurent? Hey, Jay, I'm very, very well. Thank you. And you? I am doing well. I am really glad to see you. You know, we used to be able to know that we're going to have some time together at least once a year or maybe several times a year with some of the tours that we did.  So this is going to have to do for today. And I think this is going to do great. And so I really can't wait to learn a lot about Azure Durable Functions and all the different ways that you have found some success with it. Because I know that ultimately that's the thing we really want to talk about. We want to talk about success and how our viewers can be successful with this software offering or software deployment offering is the way I like to look at it. So Laurent, before we get too deep into anything, I just want to remind everybody, we always have a poll. We always like to ask you a question. You are wonderful viewers. And we'd love to know if your organization has implemented serverless technology in your tech stack. So if there's somewhere along the way that you've all put together some really great things, just let us know. And also if you want to talk about them specifically, put them in the chat, talk to us about it. We really want to hear from you. And of course, like I said, if you have questions or comments, send them over. The other thing I want to remind you of is we have Microsoft Learn. Microsoft Learn is a really great way to start learning how to use a lot of the things that we talk about here. And so fundamentals is a really great way to start. And then today, we've got some stuff that comes directly from our course and our module around creating serverless applications. So some of the things you'll see today and some of the things you'll hear today, they come right from this and you'll be able to take this as a free education to learn from. So that's really our getting started and we've got some really great things to talk about. But before we really get started, first of all, how have you been lately? How's time been treating you? Well, you know, it's still a weird time to be alive, I guess, going from traveling the world two weeks a month at least and raking thousands and thousands of miles to a complete stop. But I'm happy to say that we've had actually a pretty good two years and we, I would say we took the opportunity to pivot our team to offer even richer content online and that has been quite an adventure for me and especially the latest things that I'm doing right now which is LearnLive, which is directly related to Microsoft Learn that you were mentioning before and some of the stuff I'm going to show today, I use that actually to build LearnLive to create those episodes and all that so I'm very much behind the scenes for that. But at the same time it's very fascinating to do that and it's very rewarding as well to work with tons of people to make this happen. So that's been good.  I got married my fiance who before was always, thank you, was always back and forth between Switzerland and the Philippines can now stay here and we are finally together for good and we even managed to do a little bit of traveling we went to Iceland, we went to a few places and riding the Harley a lot which before I couldn't do so much because I was traveling so much so it's been a good thing. So all together I'm not unhappy I even managed to speak at two conferences in public, in person this year too that's like a little bit miserable but those who are really good including N-D-C-O slow where I actually gave a deep dive on the durable function which we are discussing today so yeah. Spectacular. I've heard about how you're doing and what you've been up to but for those who may not be very familiar with what you do and what you've done and how you've got here I'd love to ask you, how did you get here? It's been a little bit of a wild ride I basically didn't start my career in a very conventional way because I studied literature, Latin I did nine years of Latin in high school and basically I never thought I would be an engineer one day but at some point I really really really wanted to be a pilot and somebody recommended me to follow an engineering class and during school really because it was a good way to prepare yourself to become a pilot and I thought that was a good idea and while I was studying I really discovered that I love engineering and so the pilot thing didn't pan out I'm not going into the details but essentially I was quite happy on one hand because I really discovered during engineering school that I love engineering I love building stuff that's very creative it appeals to my artistic nature I would say the one that I was nurturing before by writing poetry and all kinds of things and then I pivoted that creativity into software really and you know fast forward years later I joined Microsoft four and a half years ago before that I had been an MVP Microsoft MVP and Microsoft regional director so those are two partner programs people who are not paid by Microsoft who are partnering with Microsoft and I was an MVP since 2007 and regional director since I forget 2015 I guess so I was already working very close from Microsoft anyway and so when I heard through one of our colleagues you know him Scott Cate who's a good friend of mine when I heard that there was a potential job for me there I immediately went to interview and things went well I'm still there in the course of the four and a half years that I've been there I've been through quite a lot of changes old Black Sabbath song right so I've been through changes indeed yeah look at that and of course the biggest change of all being that now we are really creating online content but I'm still a cloud advocate very happy to be an advocate and very passionate about teaching and I think this is really what has you know been accompanying me through my whole career is this desire as soon as I learn something I love to basically pass the learning to somebody else and so before that I was doing that as a hobby next to my main job which was to build stuff and now the cool thing is that when I build something I'm paid to also pass learning to somebody else which is really awesome one thing which has been interesting and you know Jason Hand who's a colleague of ours you know Jason Well Jason and I were talking last year about that the fact that we that we had to bring everything online very fast meant that suddenly we had to build a lot of infrastructure to support that and a lot of automation and that's going into what we want to talk about today because it was really awesome for him and for me that before when we were advocates we were building a lot of demos stuff that doesn't necessarily do something but that shows the purpose but that's actually building stuff which is used in production to build something to build shows to build pages to build all kinds of things and it's been good I mean that was my life before and now it's my life again and most of the code I write today is actually use in production to build you know shows like Learn Life for example and that has been actually pretty nice so yeah I'm not complaining I think it's been I've been very lucky very privileged as well I'm aware I never had to really interview much for a job in my life maybe only the first one the rest has been really through knowing people networking and basically reputation of course does a lot so yeah a lot of privilege a lot of luck also but in the end yeah it's been it's been really cool being here and I'm looking forward to the 40 next years or so yeah it's a great path you've had going from the world of wanting to have people travel along with you and you're just having them travel along with you in a different way making a journey into what their technology skill set is and so I love the term learning in public and I think maybe Kelsey Hightower who's a great developer relations developer advocate at a different company but he talks a lot about learning in public and I really enjoy that concept of you know you learn about something and then you bring it to the masses and ask them to kind of be part of that so love that love hearing about your story I want to talk a little bit about Azure functions today because I know that that's our big subject for today and so I'm going to bring up this page which is right here on the Microsoft Docs section you need to go here to this particular link CDAMS 3CH and you can go run over there right now the long and short of it is Azure functions is a serverless solution you're writing less code you're not necessarily concerning yourself with the infrastructure associated with that and for the most part you're giving yourself lower cost methods of building infrastructure for the cloud by reducing how many things that you are manually building and then in the long run you're not having to configure monitoring on your own you're not having to configure the logging it's all done for you the scale another big part and there's some really great scenarios Laurent we could talk about these really quick one you can build a web API so what do you think is a great example of that yeah I mean the web API saying my favorite part is you can really so I'm very much into static web apps at the moment I think this is fabulous that you can really build stuff where you don't need a whole blown web server which is heavy and expensive to maintain and passing a lot of basically the server logic into Azure functions and then removing most of the logic from the client and building the client client technology you love can be JavaScript I'm partial to view.js in JavaScript because it's lightweight and it's kind of a view model approach which I knew very well from my days in WPF and in cell light so that's cool I build a lot of stuff with view but also I do a lot of blazers this day because I'm a .NET guy and so blazer is cool for .NET and I build a lot of things but of course when you have a pure client application it's a little bit limited you need to call something in the back end because otherwise it's poor and of course a very nice way to do that is to build a web API using Azure functions and then we have of course different ways to host that but a great way is static web apps on Azure if you deploy you know you point static web apps to a repo where you have a front end built with client side technology and then the back end which is built using Azure function you have an automated CI CD going on it deploys everything builds everything and then you end up with a beautiful web page with a web API which is there now obviously technology is never black and white and the conventional way of building web APIs for example for example for the MBC it's still there and sometimes it makes sense sometimes having something which is maybe a little bit more stateful and maybe a little bit more I know stateful and API don't go well together but you know let's face it sometimes you have to be or just having this concept of controllers to build your APIs that can be actually very powerful but for many scenarios function based web API is actually a great solution and it's really way easier to maintain so it's also going to be a lot cheaper I mean if you go from running a simple ASP.NET website like for example when I had my blog running on ASP.NET my blog and my website I would pay maybe something like 30 bucks a month now it's not huge but it's still quite a lot for private thing and then after that simply by putting it on static web apps with a few functions costs to maybe 2 or 3 bucks a month right so divided by 10 it's not better so yeah so that's a great scenario I think me I use Azure functions for automation quite a lot I am automating a lot of pipelines and this is where I use Azure functions the most I would say but of course if you build application if you build for example also a mobile application using whatever technology you want on iOS and Android having a serverless backend and then maybe also a serverless database could be Azure Cosmos DB like a small instance or it could be something even smaller maybe PostgreSQL on Azure or MariaDB on Azure or whatever you want really and having the function in between and doing all the interface there all the APIs there that's a great solution really wonderful and so there are some rather really great use cases and we'll talk about what your use case was in just a minute using durable functions which is an extension of functions but another thing that I really can appreciate is one you can process file upload so let's say there's a change in a blob storage container and you want something to happen on behalf of that it will build serverless workflows and that's what we're talking about today respond to database changes like changes within Cosmos DB best way to think about that is let's say you're creating a ride sharing app and you're storing locations you know longitude and latitude from a certain area you'll be able to store all that is unstructured data within say a Cosmos DB database and then every single time there's an update to that database you can do something you can run some business logic like send the ride location back to the application send it up to the end user so they know oh here's my ride it's on the way I really like this idea we need to get rid of the dedicated Cron server I think that's something that's really kind of thrown way too much additional infrastructure requirements in front of people especially developers who want something to happen based on a time so running scheduled tasks I think is really great because then we can have predefined time intervals and then here's some other use cases reliable messaging queue so if you're using Q storage service bus if you're working with IoT streams or you want to process real time data and signal R that's something that Chris Norrig and I are going to actually be talking about next week my love signal R is one of my favorite services in Azure I build some really cool stuff with signal R in functions so what we're going to be talking about next is durable functions I'd love to hear exactly what are durable functions and how they differentiate from standard Azure functions absolutely so maybe before we go there let's talk a little bit about the use case so on my screen I have a page which is the Microsoft Ignite November 2021 web page and before that we had build in May and then we had Ignite again in the spring in March and what happened to me is that probably in February I would say so like months before the event that started in March my manager at the time came to me and said hey we need to build something like a prototype of showing how we could basically host videos on docs and that was relatively new so now a year later almost a year later well actually yeah almost a year later he knows that we had a huge migration from Channel 9 to docs for videos so now our our website for docs is here for videos is here right this is where we have all our videos but essentially a year ago we had nothing yet and so part of my assignment if you want was to build that and basically to bring quite a lot of videos on this website and this website to give you a little bit of a background essentially we build our docs on github so we have repos on github where we have some some markdown and some yaml pages and every time you commit something there there is an automation happening which builds those pages that you see so this is the HTML result of that and so my boss was telling me okay so there is an API somewhere which is going to give you all the catalog of all the videos that you have during Ignite and what I would like you to do is check this API from time to time and then check if there are some new videos which have been released and add them to the website and his his SLA if you want or his request to me was that okay when the video is released if we can have it online 48 hours later that would be great so I started looking into that and started saying okay how can I do that and 48 hours was a very long time to me so I would like to be much faster than that so essentially what I built is a pipeline which is working on the recurrence and so I say alright so every half an hour because the session the average session length at Ignite is around half an hour so every half an hour I'm going to go and hit the API I'm going to get the JSON and then I'm going to for every session which I'm going to check some criteria to know if this session is ready is it has it already been played on the on the live stream it available is there a thumbnail for it etc etc a few criteria like that and then based on that I went ahead and then I started generating some markdown so this is a markdown that we see now on my screen and this markdown is generated automatically and then after that for example here I mean to general and if I go and check the key segments for example and here we have the Ignite opening and all those pages are generated automatically and in the back end it's actually some markdown which is generating those pages and you see the video ready to play so that's interesting but the problem that I was hitting there is that I need to run this pipeline every half an hour and this Ignite we have something like 300 videos so essentially every time I need to process 300 items and potentially generate 300 pages and then commit them to GitHub and so I built also an automation which is using the APIs the GitHub APIs when commit automatically as well so 300 it's a lot right and so when you run this in the sequence it takes about 35 minutes to run the whole thing and unfortunately if I want to run that every half an hour you see that there is a problem somewhere right it's going to take longer times in the time out plus also there is a problem with Azure Functions the standard Azure Functions is that an Azure Functions can run for 5 minutes and then it's going to time out now if you have a premium plan you can extend that all the way up to half an hour but at some point the function cannot run and also I didn't want to take a premium plan for that it sounded a little bit silly so instead what I decided to do is use durable functions and so essentially durable functions allow you to bypass some of the limitations of normal functions so what I thought we could do is maybe just build a quick durable function before we do that I just wanted to make sure that you're a .NET person but I wanted to show everybody what languages are actually supported with durable functions so we've got C-Sharp which right up your alley JavaScript, Python, F-Sharp, PowerShell these are all available for you to develop your functions with really really important that accessibility to different people skill sets is there and I also just wanted to remind everybody before Laurent starts showing us a little bit more about how to create this function that we have a poll and if you'd like to take the poll you can head over to the Learn TV website aka.ms where we're asking has your organization implemented serverless technology in your text app so you developers if you're watching right now let us know hit that poll and also remember we've got a spot for you to be able to ask questions to leave comments we've already seen there's some lively conversation already going out Happy says I'm loving it and saying it's a fantastic session and there are some questions about availability for progress, isolated mode which we can talk if we get some time about that and see if we can answer that I just want to say something to that I want to just underline that I'm actually not an expert in durable functions by far, by all means I'm really basically a builder of stuff so I see a few questions there are some questions that I know the answer of for example is .NET 6 supported the answer is yes there are some limitations that somebody else answered in the chat which is great but essentially what I think we should do now is probably save them absolutely and then we'll direct that to Jeff Hollen who is basically the master of functions at Microsoft and then we'll find a way to answer that maybe we can do a page or something like that some of the questions I actually don't know the answer I'm very sorry about that but the fact of the matter is basically I'm a builder I'm building stuff and I'm not an Azure function expert I can do another session at some point with Jeff or with Anthony Chu or basically a few people who are really amazing at those functions or Chris Gillam also is the architect of durable functions and they can go deeper but here I think I'd like to show and also in addition to what you said about the languages so C sharp, sherd, .NET Java, JavaScript, Python, etc also the tooling is actually huge so you can do and start functions directly in the command line you do a function and then basically you build your function and then you start it and me I'm a dinosaur I love Visual Studio it's awesome, it has everything I need to do it makes my coffee in the morning I love it, everything is integrated but really a lot of people are doing functions in VS Code and that includes probably the function teams themselves so VS Code is a great platform to build that and VS Code of course is available on Windows but it's also available on Mac and on Linux which means that basically you can build your stuff including by the way functions in .NET because .NET now can go on Linux on different platforms so this is also a great place now personally I like Visual Studio I'm going to show it in Visual Studio but again everything I show you you can do it in other platforms so if you want to create a durable function what you would do is create a new project then you're going to create an Azure Functions application and then after that this is really a totally normal function application where nothing special is happening so I'm going to disable functions J for example and I'm going to create that and then after that like you always do with Azure Functions you're going to select a trigger so what J said before is absolutely correct you need something to basically start the execution of your function and very often it's an HTTP trigger could be a Q trigger something happens when there is a message could be a blob trigger something happens when a file a blob changes on the server could be a recurrence a timer trigger this is what I use to build the pages that I mentioned before every half an hour you have here a durable function of restoration and that's the one that we're going to choose here by the way you see that it says .NET 6 here so yeah that works now I'm going to create here this function and if I bring this here and make that a little bit bigger now we see that we have a few things that have been included including here an extension and so again like the lady was saying in the video before durable functions are an extension of functions but the cool thing now is that basically when you create a new durable function in VS Code or in VS you don't need to add the extension explicitly like we did in the beginning now it's just added automatically and then after that we see a few things so here again it is .NET in JavaScript in Java it would look different but with the same principle the first thing that we have is a start method a start function if you will you see that it is a function we know this because it has a function name and it uses a trigger which is an HTTP trigger now here I could change the trigger to be whatever I want this one is an absolutely normal function it's just going to react to an event and then start the whole processing the whole orchestration here in that case I am going to select get and post and then we also have a binding here bindings are just a way to get some information injected into the function this binding here is an high durable orchestration client so basically the orchestration starter ok then after that what we are going to say we are going to say alright I am going to start here the orchestration and then very fast this function is going to return why does this function return and it does not wait on the orchestration it's because we don't want to pay twice if this function was waiting then you would have to pay for this function and then you would have to pay for everything else that is happening in the orchestration and of course you don't want that so this function is going to return it's actually going to return an HTTP code 202 which means accepted it doesn't say anything about the outcome but it says I am good and something is running and then after that we are going to go into this guy here which is also a function and this one is an orchestration trigger so that's something that you cannot call yourself outside of the durable function framework if you want but the starter which is here is able to actually call this trigger and to start the orchestration here and now we will see some things very funny happening because it's going to create an output which is a list of string and then it's going here to call an activity which is called function hello which is by the way here right so it's calling function hello and it's passing a parameter which is Tokyo and then immediately after it's going to call here the same function but this time with parameter and then same function again but this time with London and so what's going to happen here is that when you go inside the function here you're going to because there is an await here it's going to actually call this function hello and it's going to wait for the result and then when the result is done it's going to go to the next one and then it's going to execute but this time with another parameter and then it's going to return here and then it's going to execute the third one so that's all good but the problem is that if we put the break point here and we try to see what's happening here so let's actually start to debug let's try to debug that and then we'll see how it works so this is the function console so here I'm running everything locally on my machine later we will deploy that to Azure and here we have a URL this is a get so I'm just going to be very lazy I'm going to take it and then I'm just going to go and hit a web browser here I'm just going to hit the web browser just to go and execute you see that what did he say here we have a bunch of stuff happening here this is basically some history which is coming here and now basically what is really interesting to me is that my orchestrator started and I have a break point this is really what I wanted to see so now I'm going to put a break point also down there in the activity trigger so now I'm going to advance it's going to call this function hello there is an await so the function hello is going to be executed and then the next step would be to go to line 22 here and execute the second call to the function but actually something very funny is going to happen if I press F5 and continue basically you see I go back on line 18 I don't go to line 22 immediately and then after that I'm going to execute this line here we already executed that so why is it back there well you see what's happening if I step into is that it's actually not going into this function again what it's going to do I'm going to step over it it's going to fill the output with Tokyo and then it's going to execute the second call to the function I'm going to press F5 now I'm inside the second call this time the parameter is then when I press F5 it's going to go back to the start but this time again the two first calls have been executed so now I have two outputs and then if I run a third time it's going to do the same thing and this is really confusing when you start with durable functions well essentially what's going on is that the orchestrator is a function and the activity trigger the activity here is a function as well and we don't want you to pay twice so when the orchestrator starts here an activity the orchestrator is immediately going to go to sleep and since you pay the functions by the time that you use them at the second it means that the whole time that the orchestrator is sleeping you're not going to pay for it so then this activity is going to be executed you're going to pay for that but then as soon as it's done the orchestrator is awake is woken up and then it's going to go here it's going to see oh I already ran this function cool I don't need to run it again actually what happens in the background is that there is some serialization and deserialization of state and the state is saved in a in a storage account and then after that it goes to the second call and then the second call have we executed that not yet so now it's going to execute it and again there is this whole serialization and deserialization thing happening so that's one pattern that we call here function chaining okay function chaining means we do the first function then we wait then we have the second function then we wait then we have the third function and this is a way that you can avoid the timeout that I mentioned before because a normal function has a 5-minute timeout so if you have a very long running task of an hour or whatever you can basically break it in multiple sub tasks and then you can run those sub tasks one after the other and basically it's going to run but you don't have that 5-minute timeout anymore this time is 5 minutes times the number of instance that you want to run so this is one of the patterns function chaining there are other patterns that are interesting and for example there is this pattern here which is very similar but you see the big thing here is that instead of having a list of output a list of string like before now I have a list of tasks of strings so basically I have a task in .NET is something like a promise in JavaScript a little bit it allows me to run some code in an asynchronous manner so here is a big difference is that when I call context.callActivity I think with the activity function I don't have a weight here so I'm not going to execute that task I'm just going to take the task in the list and right now I'm not executing it and after that I go to the next step and I'm going to again get a task this time with Seattle as a parameter and I'm going to save it in the list and then same thing for the third time and then at some point I decide now I want to run all those tasks in parallel and this is what I use when all here basically what when all does it says I'm going to run everything and wait until all of them are complete before I continue to the next line so this is a very very asynchronous way of processing stuff now the cool thing is that because I have three tasks here it's going to actually give me three instances of this function here but if I had thousand tasks if I had millions of tasks it would give me a million instances and again same as before you pay for what you consume so basically it's very fair now in the case of my orchestration of my pages I have about 300 videos it means there are some pages supporting those videos some summaries and stuff like that it's about 400 pages that I need to build and just like here I'm going to call when all at some point and then I have 400 instances of the functions running together the orchestrator is happily waiting until it's complete and then there is a fan in and then you continue and of course you can combine all those patterns function chaining there are more patterns that I think there is a link somewhere which is showing all those patterns that you can have you can also use that for example to monitor something if you want to have very long running tasks for example that can be interesting etc etc and yeah that's been really cool because it really frees the mind it helps you to build stuff which is long running which is extremely parallel but of course because of the serialization the serialization process because of the complexity of keeping state and restoring state there are some caveats that you need to do and that's important it's quite important actually to take a little bit of a deeper dive into durable functions durable functions are quite a lot more complex to understand than normal functions hopefully the small summary I gave is kind of helping people to get started with it but yeah it's been pretty pretty cool and pretty amazing really yeah it looks great so one of the questions I have specifically is your success with it have you seen great success aside from just building out your pages from here what do you think is the best success story you've had so far? yeah I mean the pages that I built were a really cool success story to be honest because within a couple of weeks I was able to really have that ramp up and this was almost a one-man show but I think that I've been using durable function a lot for is also LearnLive right so LearnLive is a show that we have it's also running on different platforms Microsoft Developer YouTube on LearnTV on Twitch as well and we have a show where we run before November we were running one show a week and it was kind of difficult to scale up everything and one of our goals was really to say all right now we want to produce more shows per week and immediately after Microsoft Ignite in November we went suddenly to three shows a week so we went from one show a week to three shows a week and a lot of the things that you do when you create these kind of shows so those shows are essentially always the same structure right you have the video here we have two presenters in this case those presenters are MVPs and basically they run through a Learn module it's a 90 minute show so it's quite a long show to produce and there are a lot of things that are always the same for example here I have I'm sure they don't mind that I show their name here they are public persons anyway Charlie and Constantine, Kostia who wears the speakers on this show and so one of the things that I need is really collecting a lot of information and I know that you need to do the same for Azure Fundite because you asked me some information and I was very slow in delivering it and I'm so sorry about that but essentially that's one of the challenges that you face when you produce a show is that I need to collect a lot of information from people and people are slow so you need to nag them and then when you have the information there is a lot of copy paste happening and one thing I built with Azure Function and Durable Function specifically is a way you see this is what I use to produce Learn Live so it's a repo here I have tons and tons of documents that I need so if we take an example one of the documents I need is for example an ICS file this is a calendar blocker and those calendar blockers we use them if you go to our promotional page for example for one of the series that we have right now which is the Azure Cosmos DB certification study whole and if you go to here you have add to calendar so I say alright I'm interested next week 19th January we have a show if I click here it's going to download the file an ICS file I can save it or I can open it if I open it it goes into my outlook and it adds the date into my outlook oops I'm showing my emails here which is not a great idea alright no no no no big deal it's very small I don't have any secrets but essentially this ICS file is something that we need and this ICS file uses information like for example the abstract or the location or the title or the date of start and end which are the same for tons of other documents for example I also have an invitation that I need to send to my presenters to invite them to the location right to invite them to the studio so here I have a date and time so this is the date and time of the show date and times are very confusing because we have time zones so what did I do I generate here a link to this wonderful website which is helping me to know when the event is going to be my time zone alright etc etc so we have tons of documents that we generate and again the same thing every time I collect a piece of information like I don't know the presenter's profile picture then I save it in storage and I kick a whole lot of durable functions really which are generating those for me but a lot of things are generated automatically for example this is a description that we page on the YouTube page it is formatted in a specific way but it is again the same information that we have everywhere so why do we need to copy paste no we have some automation to do that so this was really a great success for me because within weeks I was able to you know what would take probably an army of people to create all those documents all those invitations and things using automation I was able to create that basically on the press of a button so that was really cool it really allows us now to have a very good place to feel confident for the future and basically to move on with additional shows and now we have plenty of ideas we want to produce shows in different languages as well probably Spanish first etc etc so really allows us to experiment with different format different languages different ideas and this is all thanks to the automation nothing is lost everything is preserved it's saved and it really allows me to build stuff much faster so that's a cool success story of course it's a cool success story but that said I know for a fact that durable functions are also used in the industry at a large scale and I'm sure that again right if you talk to somebody from the from the functions team Jeff Holland Chris Gillum Anthony Chew and those people they will have plenty of things to tell this is a really really good tool to have in your tool belt great so let's remind people that the most basic of function app will contain three functions correct so those are the orchestra function which describes a workflow that orchestrates the other functions yeah then the activity function which is called by an orchestrator function performs the work and then optionally it'll return a value so if you want something to actually happen and you want to find out what you did you wanted to access another API and then have it return some information that would be it and then a client function and that client function is a regular Azure function that starts an orchestrator function so this if you take a look at some of the documentation that we have available you can actually see that you can create an HTTP triggered function so Laurent we've got about 10 minutes and I'd love to show everybody real quickly and I'll bring it up on my screen first of all the tooling around visual studio code for all sorts of different Azure products is incredible and Azure functions there's an extension and it's just as useful and helpful as all the other ones and getting started with building Azure functions specifically a durable function really starts with opening up the command palette accessing create new project and when we create our new project come on let's do it when we create our new project let's try this again okay why aren't you so first place we need to do is we need to specify a folder to keep it in and we'll just say ABC 123 great just want to find a place and then what that's going to do is let you select what language we mentioned all these languages before I'm just going to use PowerShell then what we're going to do is select a template that we're going to be using so what we're going to be doing here is using the durable functions orchestrator we'll give it a name durable function orchestrator one is fine and then we're going to just open in our current window so that it'll bring up and so on our palette we're going to see here on the file explorer now we've got this this kind of scaffolding it's a template on what we're going to be doing and you can see we've got our function right here the PowerShell file that we're going to be actually using and it's not by the way we can recognize pretty much the same goal that had before in .NET except this time it's in PowerShell so it's already in exactly the same manner it'll run just like any other one that you expect using the integrated console and then when we want to actually create a function within this space we can just go back into the command palette so let's bring the command palette up and we'll click create function and so now we can select the template and let's just pick the variable functions HTTP starter we'll give it a function name what our authorization level is and I'll just use anonymous and then it'll you can see it's gone and it's actually built out our specific function that we needed so we've got here right here here's our HTTP function right here we have some JSON we have the PowerShell file it all gets built for you right here see here's PS1 that azure functions file it's going to be easier for you to do this by picking tooling that you may already understand or tooling that you prefer and the fact is is that these integrated IDEs that we have here they're going to give us the options to build it quicker easier faster without actually having to understand every single little piece of code required and having things like a starter kit if you will based out of that template it just makes life so much easier so check out the documentation around the azure functions specifically durable functions and you'll be able to build your own you put this right here Laurent was nice enough to have with his gala soft website he's got some short links right here you can go and check that out it's also going to be in the show notes but Laurent we've been through a ton of stuff and we've looked at some examples we've talked about some use cases but I really have a super important question for you this is tremendously important what is the best music style and why is it heavy metal I know right it's like like is that even a question there is no question here no metal is fascinating it's and nothing to do with functions here but really I fell into metal when I was 14 probably when I was 12 to be honest I remember the first time that a friend of mine in school introduced me to some metal and so when I was 12 it was in 83 right now I'm not exactly how old you are but actually we have 43 yeah so let's put it this way we have an age difference you and me right there are guys who are indeed there are guys who are I mean guys and gals right for that matter who are half our age or even less than that and who are into metal and metal is like the an amazing an amazing common denominator to a lot of people basically we're going to my first concert now you're going to laugh I'm sure you're going to laugh my first concert was Scorpions hey a lot of people wins a change yeah back then they were really good and Joan Jet was opening and oh my god Joan Jet right you know she was amazing her blue spandex and I remember that as if as if he was yesterday really I was 14 I was front row probably I was pressed against the barrier and then I was rocking and I saw some picture of you doing the same right so basically this is yeah exactly this is amazing right so yeah metal is fantastic and I know you and I we share a love for Lemmy of Motorhead I'm currently reading the biography of Ronnie James Dio and basically the one who invented the horns as he called it he used to say his grandmother gave this and she called it the Malac if I'm right it's just like an Italian it's a blessing really it's not it's a blessing it's a warding it's a way to ward from the devil so basically it's a protection etc etc so a lot of stories that we have but really what's amazing is that I remember very well that when I was 15 16 and I was listening to Maiden and I was listening Metallica and when I was 16 is the year where all those amazing albums came out and then later when I was 20 something Nirvana came and you know all that right and I remember thinking to myself wow when I'm 50 I'm 50 now right when I'm 50 I'm going to be all this we cannot say that word here but old right and I'm wondering what I'm going to listen to right and I was seeing my parents listening to stuff that I didn't like and I was thinking oh my god am I going to I love my parents but you know musically speaking we don't have really the same pace and I'm amazed that you know 30 years later 35 years later no I'm still listening to the same music it's still here it's you see tons of innovation around that and no this is this has been amazing and I mean I miss concerts I had tons of concerts delayed and postponed and now I see in June this year I'm going to have something like 7 concerts in June yeah all the concerts that have been postponed so I'm really rooting for June and yeah I'm going to see Metallica sabbaton I'm going to see Maiden again I'm going to see tons of people Judas Priest I think so I'm really looking forward to that yeah I've loaded up on a bunch of stuff I've gone to have some shows already I've got a bunch of music festivals one the next this year a couple months really really fun I absolutely love going and seeing live music so we've just about got to the end and I wanted to remind everybody we had a poll today we asked you know has your organization implemented serverless technology in your stack yes no or it's complicated and 70% of you all said yes a lot of hope that you know we can help you reduce the infrastructure that you need to manage and help you write more code you know I really appreciate you being here with me today it was a lot of fun I learned I got to talk with you I got to talk to the audience as always and I really appreciate it so thank you so much and I really appreciate it great to see what you're going to be up to next all right thank you so much for having me I really appreciate the time everybody the big wave goodbye we'll catch you next time we've got another show next week make sure you check the archive and take a look at the show notes if you want any of the links so until then see you all soon thanks for watching Azure FunBytes


What is up guys, this is just a quick announcement video to let you know that Destiny, the new game that Bungie is developing right now, is in open beta for both PlayStation and Xbox. And we just wanted to let you know that Freedom has our own clan for both consoles, so if you just search in the description down below I'll link it to you guys so you can easily find it and get signed up and start playing with the Freedom family. And guys, we're also putting together a future spotlight video for people in Freedom that joined us in the Destiny beta. So we're going to put together a form where you can fill out and submit your own footage and we'll create a spotlight video with all of our Freedom powered partners that joined us in the Destiny beta. So guys, check out the links down below, this is going to be a lot of fun, I can't wait to see you in games, so until next time guys. I've been Alex Adams, senior manager at Freedom, and you've been watching... Click the first video for a fireside chat with George where he shares our future and how he grew from $20,000 to $120,000 in just one month. And click the second video to see how to monetize all of your videos with just a few clicks to enable all ad formats and monetize in all countries. And we will grow together as a family because this is the Freedom family. You are part of it, we are all part of it, and we're all growing together. So grow with us and partner with Freedom. That play now button right there on the video bar is all you need to click to get started. What happened to being your brother's keeper nowadays?


And a lovely welcome back to the Huck stage on the third day of this Congress. We are here with a talk on a few quantitative thoughts on parking in Marburg by Martin L. He's interested in data analytics now and infrastructure and traffic in general. And because of that he started scraping publicly available parking data in Marburg and just went on and analyzed it and found a lot of interesting things which he is going to present in this talk to you right now. In case you didn't know, there is an IRC client on the live.huck.media where you can ask questions later or with the hashtag RC3Huck tag on Twitter. Welcome to my talk, a few quantitative thoughts on parking in Marburg. I'm delighted to speak here on this Congress because I love the yearly conferences. Also thank you to the organizing team for making all this possible. You do an absolutely fabulous job. Now the first question that you should ask is why. The following is a purely hobby project question. I came up with a question because transportation is important, but unfortunately it's also difficult. The most popular vehicles these days are cars and hence the question, how do people park in Marburg? Who am I? My name is Martin and I analyze publicly available data. I live close to Marburg, therefore the parking in Marburg. Now a little bit of background regarding Marburg. It's a small pictures vibrant university town. There are a few highlights such as the castle, the old town and the river just to name a few. It has around 80,000 residents and a somewhat dense core around the old town. You can see a few pictures here of the castle, the old town and the river respectively. Now at this point I would like to give my props to David Kreese because all this work was inspired by his amazing data science talks. You can find them on YouTube and I absolutely encourage you to look for the barn mining, Spiegel mining and the Xerox story talks. Okay, so if you have questions then please ask. I will be there live during the Q&A of this conference and also you can send me an email with whatever you like, essentially. Okay, so first of all I would like to give a quick introduction to the data source. Now the data, the parking data from Marburg is publicly, well it's published live on a system that is implemented by the city council I believe. It's called Park Light System Marburg or PLS for now and it publishes the data such as the parking decks, the number of pre-parking spots and the location. The address here is PLS.marburg.de and let's see how it looks. Yeah, so obviously it's still online and you can see here the parking deck names listed, the number of pre-parking spots. Color coded is if it is rather full or if it's rather empty. You can see here all of them are in the green color coding here. That's because it's probably close to Christmas so nobody wants to really park in the city. And the only one that's this one here, the marked dry park deck, that it has some load to it. Then also there's a button called route. So whenever you click on this button say we pick the Elnring Center button. We are redirected to Google Maps and we can see here the location of this parking deck for example. Okay, let's go back. Last but not least there's also the maximum vehicle allowance and of course the timestamp of the data. Okay, back to the presentation. Now this is a very simple website so of course it's easy to scrape and that's what I did. Regarding the scraper I used a Linux computer and a Docker container and this scraper you can see a small sketch here to the left. It simply visits the website every three minutes inside the Docker container and writes the data into I believe it was CSV files which are subsequently used for the data analysis. All of it the scraper and the analysis scripts are written in Python. Okay, the data format is pretty simple. It's processed internally with data frames with a package panda. Everybody who knows Python probably knows panda. Anyway, the data format is as follows. The row corresponds to the time. The column corresponds to the parking to the specific parking deck and the cell corresponds to the number of three parking spots at that time of that parking deck. Now in order to make the numbers a bit more usable I transformed the number of three parking spots to the number of used parking spots by subtracting it from the maximum along the time. Okay, now the intro is just to get used to the data. We'd like to take a look at the locations of the park houses or the park decks. This is a screenshot. This is an interactive version. Let me open it here. It's a interactive map. You can see two types of markers. The first one, red, the second one, green. And that's because the red ones are the ones that are given. Well, they are encoded in the links of the PLS system. And they are actually wrong. When you click on the, for instance, Erlenring Center parking deck that I've done before, the location, longitude and latitude are actually incorrect and Google Maps corrects it on the fly. And therefore I've shown here the ones given on the website that are incorrect in red and the ones shown that are correct. So you can safely focus only on the green ones. A quick overview. Here's the train station region. There are two and then they are scattered around the city. Sometimes there are two parking decks very close by, for instance, these two and these two. And that's because it's essentially one parking deck with two parking sections, typically inside the building and on top of the building. Okay, let's go back to the presentation. With that in place, we, or we take a look at the joint data, meaning I accumulate the number of use parking spots across all the parking decks. You can see that here now. So it's a quite comprehensive picture. I started data scraping in August 2019 and stopped it at the end of February 2020. This data here is a different resampled frequencies of the original and raw data. I started with a resample of one hour. So just a reminder, it's the true frequency is three minutes. Again, I resampled here into two one hour. It's not very easy to understand on that scale here than to one day. It's the orange now and lastly on one week. And we can learn different things from it. So in particular, the orange curve of one day shows that there might be some periodicity in the signal and the green one shows that there are times or weeks that are particularly, where there's particularly little parking demand. For instance, here around Christmas 2019. Okay. So again, from the orange signal, you can see that there's probably some periodicity. And in order to quantify that, I plotted the or computed the auto correlation function. The auto correlation function essentially takes a time signal and computes the overlap between the time signal and the same signal shifted by some time. And whenever there's a large overlap, that points towards the periodicity. And here we can see that the periodicity maximum or the auto correlation maximum, the first one corresponds to one week. And therefore the periodicity can be safely assumed to be at seven days. Of course, when there's periodicity in a signal at seven days, for instance, there's also periodicity in 14 days and in 21 days, but the correlation coefficients, they decay typically. Okay. Now we have the periodicity with respect to days in place. Now let's take a look at the day and hour demand. And for that, I computed a two-dimensional histogram with the day, Monday to Sunday on the one axis and the other axis corresponds to the hour. And here we can clearly see that the majority of the parking demand is around the noon hour. So starting from 11 to approximately, let's say 5 PM or so. Interestingly, that was a point where I was surprised is that Sundays is a day where there's little parking demand in Marburg. I would have guesstimated that Sunday when everybody has spare time, they typically rush into the city, but that's obviously not the case. Another interesting fact is that Monday morning seemed to be very difficult to get up because you can see the parking demand is smaller than on other mornings. Okay. Now, after that, I come to the separate analysis where I take a look at the individual parking decks. So first of all, again, the time series, it's a bit dense and it's very hard to see. So there are a few things to learn from the picture. So first of all, the green signal that corresponds to the Erlenring center reminder, I just opened it in the very beginning of this talk. It seems to be the dominant one. Then there are quite a few data gaps. So take for instance, well, it's very apparent here for the violet one, the Furtstraße park deck, this one here. But that's an extreme case. It had obviously some kind of problem. It was open for some time and then closed for some other times. Typically, park houses or parking decks are either open 24-7, but there are also quite a few that are that close overnight. Okay. Next, I was interested in the statistics of parking demand for individual parking decks. So I concentrated only on, say, one parking deck and computed the histograms of the used parking spots, also depending on the time. Let's focus here on the Oberstadt. It's the old town and you can see that the overall parking demand peaks at around, let's say maybe 20 used parking spots. That's the average, but that's now for all times. When we make that statement dependent on the time, for instance, the morning, we can see that's approximately the same, but when we go towards noon, we can see that the number of parking spots or used parking spots increases. There are even a few times when it's at the maximum around noon. Now, when we go towards later hours, the maximum shifts towards smaller values again. Now, this behavior of the maximum shifting so clearly, depending on the hour, is not apparent for all of the parking decks. For instance, the Parkdreik here, doesn't show the signal as clear as the Oberstadt one. From this all now, we can quantify also the integral parking demand. Simply it's the number of parking spots that have been provided per parking deck. Now, the picture here is normalized to the maximum. One can see from this picture here very easily that the Erlenring center, as we've estimated or guessed previously already, is the one that's dominating the whole city. It's providing the most parking spots by a large margin actually. The next one is the Lahn Center and then maybe the Oberstadt and the other ones follow after these. Another interesting point here is that the proportion of parking spots provided on weekends is for the different parking decks. For instance, here you can see this one here has quite a big portion, the Erlenring center also on weekends. Contrary, the Parkdreik Parkdeck has only a very small portion of parking spots provided on weekends. It might be interesting to know that this particular parking station is the one that is used if you want to go to a doctor and it's very close, so many doctors are not open on Sundays and Saturdays and therefore probably the parking demand is quite low. Now there's a temporal version also where I rendered a small video that I'm opening now and you can see essentially the same as in the previous graph but against time. Again, it's very apparent that there's a periodicity and here my scraper crashed and it's back in business again and I found it interesting to see that there are parking decks that host cars even at night. For instance, here the Erlenring center again and the Lahn center, the ones that are the largest one, they offer parking also overnight and there are some cars in there probably. Okay, let's close that again. Now, I come, lastly, to the prediction part now. The goal here is to measure the parking demand through the parking decks but then to interpolate between the parking decks. So I would like, so I have, say, the Oberstadt, the Old Town and the, I don't know, the Erlenring which was the largest one and I would like to know what's the parking demand in between, for instance. For doing so, I use a spatial fit and I use a machine learning model for that in order to do that spatial fit. It is now in this particular case a nonparametric model called Gaussian process regression and the nice thing about that is that it also returns the uncertainty because say, for instance, you would like to use these model machine learning predictions to, say, build some kind of parking deck or to get rid of one. All these operations, all these derived actions would be very expensive so you would like to know if the uncertainty is large or small for whatever the machine learning model predicts. Just for the math-oriented people if you're interested in that model, definitely take a look at the, I would call it, Gaussian process Bible by Rasmussen, it's amazing to read. Yeah, there are two evaluations now I did. The first one is based on the whole data set so there's no spatial or, well, sorry, there's no temporal resolution and what I do, I did a, well, I rendered a video and I would like to explain you the outcome of that while it is running. The top picture here shows you the prediction by the machine learning model and the bottom picture shows you the uncertainty. The training data, meaning the parking decks, is denoted by the black points. Now, first of all, the uncertainty, you can see that wherever there is training data, the uncertainty goes down so the model is certain about its prediction because, well, there's training data and in between the uncertainty rises again.  It's exactly the Elmering center, which was the largest one. What is shown in the video is it's rotating. You can see the coordinates of Marburg on the plane, on the bottom plane and at some point the view rotates upwards and gives you a top-down perspective with the corresponding color bars or corresponding color map. So again, here's the maximum, the Elmering center and I did that because next we would like to finally measure the parking demand between stations. There's another small video again and now we start right from the top-down color-coded view and again the black points are the training data but now the red points are its kind of test data, meaning positions in between. I concentrated now on the Mensa because I have a special relation with the Mensa the physics department, the university library the train station and the cinema and just to demonstrate from this special fit we can derive the parking demand at these positions also. Here this yellow pike, it's the Elmering center again. Now that's only a qualitative result of course. I don't want to derive any quantitative at this point. It's just a proof of concept that it is possible to derive something like that from the publicly available data Now I forgot to mention the beginning that there's a bonus and I would like to come to the bonus now. It is about the corona crisis or pandemic of course. What I did is the initial data acquisition phase here in black the whole talk was about that black portion here I stopped it at around the end of February and I restarted the whole data acquisition process now again in approximately April just to capture something from the corona crisis as well and you can see here again the time series I think the most interesting bit about it is the most comprehensive bit is the mean you can see the mean across the whole time denoted by this dashed line and you can see that the mean is smaller so during the corona pandemic you are people parked in Marburg which is reasonable I would say but there are also times where the number of parking spots decreased significantly so for instance right when the corona crisis started in April and now the second wave in October, November, December it is visible that the parking demand decreased a lot I went one step further and wanted to know the differences between pre-corona and during corona also for each of the parking decks that's what I did here it's now not the normalized parking demand but the absolute parking demand so now you can see also the absolute numbers the black bars you've seen previously already now the red bars is during the corona crisis and then I defined the first wave and the second wave as serious corona times so I also plotted a third bar set of bars here and it's interesting to see that while most of the parking decks of course suffered in terms of providing parking demand so most of them provided fewer parking spots but there are a few like for instance the markdreik park deck here that almost increased we can see during the corona in general it increased a bit and then during the heavy corona it increased even more and as I mentioned before this is the parking deck that corresponds to a whole collection of doctors so I derived that well during corona times the parking demand in front of doctors even increased a tiny bit yeah with that I would like to come to my conclusions thank you for sticking with me until now so I scraped publicly available data here with a small scraper setup I analyzed it for instance for day and hour patterns and last but not least did some machine learning in order to quantify the demand in between the stations there is a company blog article also you can find it down here there are all the figures in higher resolution and you can play around with the interactive map also if you like and to finally now conclude the presentation I would like to hear from you what you think about this analysis I'd like to improve with these kind of mini studies and therefore I would be very interested in your critique regarding the content, the presentation and general comments again you can email me to this email address here or alternatively I set up a Google forum so the Google forums document that exactly comprises of these questions and you can simply type them in if you're interested thank you very much alright first of all thank you for this amazing talk I have a few questions that have been relayed to me and I'm just going to ask them one after the other and let's not waste any time and start with the first one have you found parking decks that are usually heavily overloaded or never completely used? so given that there are only around what was it 8 or 9 or 10 in the data set honestly I never looked for that question so short answer is no, long answer yes I could have or I still could I would say okay have you tried prediction in time so guessing which parking decks will be exhausted soon no no so that's obviously it's like I would consider that something like the predictive maintenance of traffic business kind of it's definitely a thing that people that have more time and more are willing to invest more definitely should do and could do I would say I mean there's lots of additional data that might be of interest like weather data and for instance is it a public holiday yes or no and all that kind of stuff so again short answer no long answer yes would be possible okay so if anyone in watching has the time or energy to do they could absolutely yes okay and last question I have right now is will the code or especially the scraping part available publicly or like in the GitHub or somewhere and I could do that yes so I was very I was quite hesitant with that so obviously publishing the data could be problematic I have no experience with that on the legal side so I would probably not publish the data which is I mean it's old data anyway so but then regarding the code I was just waiting if anybody's interested so given that somebody stated the interest I would probably publish it yes okay yeah I think that's it from the question side and they were all answered quite nicely and judging by that I don't get any more questions right now so yeah I would conclude this talk maybe you can also like have a last word and from my side I'm done here yes so well thank you very much for watching the talk and I try to improve I think I said it on the last slide if I'm right let me know if you have any doubts or things to improve essentially on and then regarding maybe the last question of publishing it I believe that I put a link there to find my blog and I would probably just add another blog post stating well there's a GitHub repository you can go there and just find the code and stuff like that there yeah so if you're interested just you know find me find my website my name is Martin Lellep and then you will in a few days I guess probably in 2021 only so I won't be able to publish it in the next two days but then the code will be public yes okay then have a great day great time at congress and bye bye


Celebrating anniversaries at the library, this year, born in London in probably 1343, Jeffrey Chaucer. This is his 670th anniversary of his birthday. He was the first writer interred in Poets Corner in Westminster Abbey. And though he was not given any money from King Edward III for his poetry, he was given a gallon of wine today. If I was given a gallon of wine today, I couldn't either write along or read it. I'm going to read from the opening of the Canterbury Tales. And the first line given today's weather in Bozeman is a kind of wishful thinking. But it is England. Well, it's really nice. No, but listen. When that April with the Shure Sorta, the Drucht of March, had person to the Lota, and bathed every vein and switched the core of which they're two engendered is the floor. One Zephyrus egg with his suede to breath and spirit half in every hope and earth, a tender cross. And the youngest son half in the realm is Halva Korsiruna. And smaller foolish, mocking melody that's sleeping all the night with open ear. So crick it them, nature and her courage. Van Longen folk to go on pilgrimages, and palmarists for to go on to second strange strandes, to fair the Halva's coot in sundry longings. And specially from every shear's end of Engeland to countabry they went, the holy blissful March were forth to say, that him hath opened, whenth that they were say. Befell that in that saison on a day in Suddark at the tavern as he lay, ready to wend in Unmitil Grimaja, to countabry with full devote courage. At Nivit was common to that hostel Rida, well, nine and 20 in a company of sundry folk, the avant-tour de fallen fellowship, and pilgrimists were the halva, that toward countabry wooden leader. The chambres and the staublists were in weed, and well we were in azid, not the best. And shortly, when the sauna was to rest, the sohari spoken with them, everyone, that he was of her fellowship anon, and nod forward, early for Teresa, to talk or weigh their aziu, Teresa. But, not the less, will he have team and spasse, if not the further, in this talipasa. They think it a cordial to resume to tell you all the condescension of each of them, so azid same in May, and which they were in, and of what degree. And at a knift, then will he first begin. A knift there was, and not a worthy one, that ever throw the team that he first began to read out, a louvage, chivalry, truth, and honor, freedom, and courtesia. For worthy was he in his lordess wearer, and there too had he read no man fairer, as well in Christendom as in Hellness, and ever honor for his worthiness. And Alessandro he was when it was won, for of the team he had the board be gone above and all in nations in truth. In Leto had he raised it, and in truth, no Christian man so off of his degree. In Gerdnad at the say, Jake had a Bay of Alchizir, and the Redin in Belmaria at Lies, was he, and at Satalia, when they were won. And in the great to say, of money and noble army, had he been, at mortal battiles, had he been 15. And Fuchten for our faith, at trauma scene, in list of threes, an ace lay in his fold. His Ilka worthy knift had been also some teamer with the Lord of Palatia, again another haven in Turquia. And ever more he had a silver increase, and though of that hayward worthy, hayward's lease, and of his port as named as is made, he never yet no villainy nesada in all his leaf unto the manor weaved. It was a very perfect gentile commute. But for to tell in you of his array, his horse would go to the hay was not gay, but first in he wear it a chipone, all the smothered with his harbour-john. For hay was latikona from his viagra, and went to fort Trudon, his pilgrimagra.


Hi everyone, Joe for jaspyscasebreaks.com doing a quick little random number block randomizer for Origins picker team number nine Which is sold out We actually just need to do one more of these and then we'll be in breaksville on that But here's the one for these following teams right here all those teams there There are non numbered cards in this set So any non numbered cards including autographs that we find here will be randomized as one lot To one person in this particular number block and you know how this works by now big. Thanks to these folks for getting into it There are the numbers right here. Let's roll it. Let's randomize it ten times five and a five hard ten one two and 10th and final time after ten we got Sean Maddock down to rich faredas and then five and a five hard ten for the numbers and 10th and final time after ten we've got three down to eight All right Sean with three Travis with two Rick with four rich with seven Sean with six Johnny with zero Johnny You'll get any and all redemption for that huge group of teams right there Including one of one redemptions Jesse you'll still get live one of ones Johnny with nine Oliver with five and rich with eight. Let's order these numerically And let's finish off that other number block so we can get this origins in on the schedule tonight jasky's case race.com


Hi, I'm Nirdis in the race and today I want to share some of the things my colleagues and I have learned over the last few years of working to optimize the stability and performance of cloud based quantum systems at IBM. In this talk, I will touch upon changes we've adopted in the design and screening process. What we've learned about automated calibration and optimization of gate parameters. How we try to maintain the consistency and the performance of the machines day to day. I'll introduce some modified cross resonance. That we're widely using in these systems. And hopefully by the end of the talk, I'll have given you a good overview of how we realize is the performance improvements in these systems. In different metrics, for example, reduction in two qubit a error. All the IBM quantum systems available today share some of the same basic design choices. We're using fixed frequency transmon qubits and the echoed cross resonance gate as a two qubit entangling gate operation. As a reminder, the standard echoed cross resonance gate includes two pulses on opposite phase labeled CR to the control qubit at the target qubits frequency. Separated by a pie pulse on control combined with single qubit gates we can construct a CNOT out of this. So one of the most obvious changes between earlier 20 qubit devices such as Tokyo and a more recent one is the reduced connectivity. In the latter design, each qubit has at most three nearest neighbors whereas in the earlier Tokyo, a qubit had as many as six. So this change came about to the challenge due to the challenges that we were facing on managing qubit frequency distribution across large devices and the impact that qubit spectators have on gate fidelity. The much simpler layout enabled significantly higher single and two qubit gate fidelities as well as helped us increase the yield of the number of devices that successfully passed our screening process. All right, some of these sort of collisions that we're specifically looking for when we're talking about, you know, frequency distributions and why they're unassailable. Let's just look at two examples. So the first case is perhaps the most obvious one where you have two couple of qubits, and they have nearly the same transition frequency. So, as it sort of approaches the limit we're limited in the speed at which we can drive the gates and ultimately this will limit our gate fidelity. The second transition is when the zero one transition of one qubit is close to the one to transition of a couple qubit. And as we approach this resonance condition, the ZZ static ZZ diverges. And in the worst case we cannot drive good to, or even one qubit gates. So we're trying to avoid these situations. And so this plot at the bottom has a representative distribution of the static ZZs across several IBM Q back ends. Just to demonstrate that with this device design change and screening we're able to down select devices with lower ZZs predominantly less than 100 kilomers. So to calibrate a device from the ground up, and to bring it up to a stable state. And working on a suite of automated calibrations. In addition to the obvious convenience of having it automated, this ensures that every device is treated with the same systematic optimization. And that's it also allows us to roll out new features or updates as we continue to improve our calibration and optimization routine. Here I want to talk specifically about the cross resonance gate length calibration. Given the distribution of qubit frequencies that I just discussed with you, each coupled qubit pair has a different optimal cross resonance date length for maximizing date fidelity. This is influenced by many factors, including coherence time, J and ZZ coupling, as well as qubit spectators. Therefore, for every two cubic gate we have, we have swept the cross resonance gate length tracking error per gate and leakage. And so the length that produced the best result is then automatically updated into our latest gate calibration set. On the right, I've just included two examples of such gate length sweeps where you can see for these two pairs. The optimal date fidelity which is the error per gate which is tracked in the dash dotted line and leakage which is represented in this sort of shaded green occurs at different gate lengths. I've included as the solid green line just as a guide to I sort of estimate coherence limit. As we go into the gate length, we also test driving the gate in both directions. As in some circumstances, driving the gate in the reverse direction where the target qubit is higher in frequency than the control is actually preferable. So this is an example of three qubits from one of our actual hardware back ends, where you can see here that the spectator plays an important role in determining the gate direction of the other pair. If you're trying to tune up the one to, or for example, an entangling gate between qubit to two and three, we find that it is what it is much better to drive the gate with qubit one as a control rather than qubit to because of that, because qubit one and qubit three are so close together in frequency, so that spectator plays a very important role in determining which direction gives is better to drive in. So once we have completed that thorough two qubit gate calibration, we've tuned up single qubit gates, read out, reset. The next task is to maintain the quality of the calibrations through the lifetime of the deployed devices. So for our devices and our electronics, we found that once daily find calibration of control pulse parameters is sufficient. It is much more daily to monitor the device to performance, but also to try to correlate and learn from trends and gate fidelity coherence and other metrics. In some circumstances, this might tell us we need to recalibrate our cross residence gate lengths, or to swap the direction of the gate to make it more robust. Of course, if we only test once per day, we can't guarantee that something catastrophic doesn't happen between those checkups can also be constantly calibrating so we found a more agreeable middle ground where very frequently about every half an hour or so we're testing the stability of our calibrations. In our systems we found that amplitude drift is probably the type of error we're most sensitive to. And so we use a simple area amplification sequence to quickly measure the amplitude stability or at the validity of our calibrations. And we use this as a sort of early warning sign of large drifts for large drifts and calibration and also monitor the health of our electronics. And when these sort of hit surpass the threshold that we've set, they automatically pause the queue and alert us that something has gone wrong. And so this sort of automated constant monitoring which sort of interleaves with all other usage of the devices was really allowed us to increase the number of back ends available as each device is essentially responsible for its own health monitoring condition. But also, it really helps us learn what things we need to improve on in order to make these devices more stable going forward to make them more resilient to these types of drifting calibrations. As I mentioned that we're using a modified cross resonance. There have been many variations over the years to the standard CR sequence designed to address various issues such as classical cross stock for example. In scaling to larger and larger systems, we have begun to introduce a target drive in phase with the control in phase with and simultaneous with the control pulse. To address some of the coherent error that's present. And so this is an additional amplitude and phase calibration, however, it does not increase the gate time and in practice has been very easy to systematically implement. This additional drive has really contributed to improve to cuba gate fidelities on top of all the other changes that I mentioned thus far. And we are currently working on a manuscript to summarize this and hope to be on the archive soon. So, in addition to just to cuba gate fidelities we've been tracking various metrics for the currently deployed back ends and we've been seeing a steady improvement in all those over the last few years. Notably, all the improvements I've highlighted in this talk have significantly contributed to the yearly doubling in quantum volume, including the recent 32 measurement on the 28 cuba rally device. So my colleague here measure measured the heavy output probability up to quantum volume 32, and this play in this plot. We're highlighting that in addition to all those changes, the additional target drive really boosted the heavy up probability for cuba 32. So, in summary and this virtual APS talk, I've highlighted some of the significant changes that have led to overall improved device performance. One of the key design decisions to reduce connectivity to improve gate fidelity and yield. And even after this trade off connectivity and gate fidelity we're seeing that net improvement. So much that in the next generation of devices, including the Falcons and the recent 53 cuba hummingbird, we move to an even further reduction connectivity using the heavy hexagon layout. We've developed and we continue to develop a suite of automated device calibrations and optimizations, which has been crucial for scaling the size of the device as well as the number that we can support. And also it means that every time we meet an edge case that doesn't calibrate well we use this opportunity to learn why it's an edge case, manually figure out how to optimize that and then generalize it to make more robust and better optimization procedures. So throughout the deployed life of advice we're constantly learning how to better maintain, operate and optimize these performance and we continue to do so with every new backend we deploy. I'd like to thank all my colleagues at IBM who've contributed to the results I presented today and to all of you for checking out my virtual talk. Thank you.