ApexVox 2.0 Speakers
High-performance code design patterns in C#Konrad Kokosa - Microsoft MVP, dotnetos.org
More and more effort is being seen in .NET ecosystem put into the performance. Quite often we are seeing a new benchmark or blog post about memory allocations being reduced or overall throughput is increased. But how all this is achieved? Can any common code patterns be recognized, named and summarized in a modern C#, at the times of C# 8.0 and .NET Core 3.0? Can we provide a kind of Gang Of Four “design patterns” counterpart in the context of performance? As I believe so, in this talk a propose such a list of patterns, altogether with the rationale behind them and practical use cases. Please, feel invited to the world of common ways of using stackallocs, Span of T, pipelines, parallel processing and more.
Hot Choclate: GraphQL schema stitching for ASP.Net CoreMichael Staib - Co-Founder, ChilliCream
GraphQL is a great way to expose your APIs and it has changed the way we think about consuming data over HTTP. With GraphQL we want to have one schema that provides all the data to us in a consistent way, enabling us to drill into the graph and fetch with one request what we actually want instead of having to issue multiple requests. In the real world, however, we more often build small services that serve certain use cases. Simpler services are easier to maintain and can be deployed more rapidly. Moreover, we often also want to use external services that are not built by us. Ultimately, we will end up with multiple APIs again.The solution for this dilemma is schema stitching. This talk will explore the schema stitching capabilities on ASP.Net Core with Hot Chocolate. We will show how you can set up a Hot Chocolate GraphQL gateway in under 5 minutes and move on to the various stitching scenarios.This talk introduces simple auto-stitching scenarios and goes on to demonstrate how you can rewrite your GraphQL APIs into something truly new.
Things you did not know about C# and .NETMarius Bancila - Software Architect, Visma
No matter for how long you’ve been working with C# and .NET there is always something new to learn. In this talk we go through several practical but perhaps less known facts and gotchas about the language and the framework. Thi talk will shed light on various aspects and gotchas of the following topics: * Boxing and unboxing * Nullables * Rounding * Conversion * Enumerations * Exceptions * Operators * Testing privates * Type aliases * Partial function applications.
Machine Learning and Artificial Intelligence for mere mortals with Visual Studio 2019 and ML.NETSilviu Niculita - Software Professional, Microsoft MVP,
Silviu will show us how we can infuse custom AI/ML into any .NET application with ease and how Visual Studio 2019 improves our debugging & development experience. This will be a demo heavy session that will cover different useful scenarios, providing you with all the knowledge you need to get started as soon as possible. Maybe you don’t need those expensive data scientists after all!
NUKE Build Automation 101Matthias Koch - Developer advocate, JetBrains
Founded in April 2017, NUKE is a free, open-source build automation system for C#/.NET that runs cross-platform on .NET Core, .NET Framework, and Mono. While builds are bootstrapped with conventional Bash or PowerShell scripts, their actual implementation resides in simple C# console applications. This approach unleashes the power of the type system and natively provides IDE features like code-completion, refactorings, and debugging. A custom global tool and several IDE extensions further improve how build projects are setup, authored and executed. A revolutionary code-generation approach ensures scalable integration of third-party tools like MSBuild or dotnet CLI. Matthias is the man in charge of NUKE and during this session he'll provide you with an overview of the most important features by walking you from A-Z through the build automation process of a real app. It will be a demo-heavy session!
Devs! It's past time we got our security act together!Emil Craciun - Software Development Engineer, Lateral
Didn’t you notice that these days you cannot get by on the Internet without seeing almost everyday news about data breaches, hacks, malware and the likes? Because I know I have, for the last years, and I’ll tell you what: I’m sick of it! Do you find this normal? Acceptable? Let me help you with the answer to those questions: it’s a definite NO! And who’s to blame for all of these? (well apart from the bad guys doing all the nasty stuff of course) It’s you the developer, yes, for writing that vulnerable code and leaving the door open for others to do harm. Wait, before you get your pitchforks out… Actually, the root cause for mishandling security is the improper education combined with the lack of awareness. In order to push things just one little step in the right direction I want to go through some of the most important web security headers and security flaws that every web developer should know. We will see how a simple ASP.NET Core with intended vulnerabilities can be exploited, and then how can it be easily be patched up, negating those attack vectors.
Worker services in .NET Core 3 a Deeper DiveLiviu Mandras-Iura - Software Architect, Evozon
Worker services is a new type of project you can use in .NET Core 3 but the task of building background tasks goes way back to previous versions of ASP.NET Core. Join me in this talk to see what are worker services, what are they used for, how to implement them even in older versions of .NET Core and see what are the options for hosting and deploying them.
Developer tools for Microsoft AzureRadu Vunvulea - Technology Enthusiast, Endava
During this session we'll take a look at the proactivity tools that can be used to improve our development experience on Azure. We'll talk about tools from multiple areas like storage, computation, automation, cleaning and many more. All of them are free to use, build by the Azure community or Microsoft to improve the cloud experience.
Riders on the StormMatthias Koch - Developer advocate, JetBrains
There are a few legends about JetBrains Rider, and where its name originates from. One fact we are certain about, is that it’s the most productive IDE for cross-platform .NET development. Rider is based on JetBrains’ two flagship products – namely IntelliJ IDEA and ReSharper. Its multi-process architecture ensures a smooth typing experience. Features from the IDEA front-end include a mature VCS integration, local history support, run configurations, and thousands of plugins. Commonly known ReSharper features like quick-fixes, navigation, refactorings, and code inspections are also available. Beyond that, Rider includes a powerful debugger, on-the-fly decompilation, a WinForms designer, XAML preview, extensive Unity support, and much more. Come to this talk to get to know one of the most exciting development tools. Existing users are invited to get their knowledge boosted, to get even more out of their favorite IDE.
Make your custom .NET GC - "whys" and "hows"Konrad Kokosa - Microsoft MVP, dotnetos.org
Starting with .NET Core 2.1 a new feature called Local GC has been added. It allows you to do magic things - you can completely replace the default GC used by the runtime with your own, or you can use the default GC outside .NET environment. In the session we will look at this possibilities - how and why we can do it. We'll find out exactly where to start writing your own GC and whether it is difficult or not
Functional Aspects in Object Oriented ProgrammingEduard Popescu - Team Lead, Ness Digital Engineering
During this session we'll dive into functional concepts like “Maybe” and “Result”, that are easy to port to C#, and which will make your code more readable, easier to maintain and safer.
Architecting Blazor Applications. An Angular inspired approachDan Patrascu-Baba - Full stack developer, consultant, trainer, Codewrinkles
Blazor is certainly a technology for the future seen that the server-side hosting model is already part of .NET Core 3.0 and that the client-side hosting model is planned to be shipped in .NET 5. Therefore, we can start building cool Blazor applications! But how to architect them? What goes where and how can we wire everything up? During this session we’ll try to sketch some Blazor architectural principles inspired by Angular. This means that we’ll cover topics like component design, component types, folder structure, communication patterns and services. All aspects will be backed by relevant code samples from a Blazor application created using these architectural principles.
Vivisection of a Machine Learning AlgorithmFrancesco Esposito - Founder, Youbiquitous
Hi everybody! I'm a machine learning algorithm and even though I face the difficulties of training and testing, I still have a dream. It is a dream deeply rooted in Alan Turing's dream of thinking machines. I see people look at me as a wand through which IT wizards can channel their magic. I also see people look at me as if I were the silver bullet that will kill the werewolf of poor user experience. But I'm an algorithm in the end and all I dream to do is defining a distance, identifying a function, and minimizing the curve. And find great examples (of data) to learn from.
Implementing multi-tenancy in ASP.NET Core applicationsAdrian Marinescu - Senior Software Engineer, Amdaris
rather sooner than later. That's why in this demo-heavy sessions Adrian will share his experience from working with multi-tenancy in ASP.NET Core. The main discussion point is around the Elastic Database client library with several important topics emarging from it, like multi-tenancy models, sharding, shard management and scaling.
Hosting a ML.NET Trained Model in ASP.NET Core 3.0Dino Esposito - Digital strategist, BaxEnergy
Recently, Microsoft introduced the ML.NET framework which can be used by developers to train machine learning models using .NET code rather than Python and subsequently to host trained models in-process in their .NET applications. In this session, Dino Esposito discusses the performance benefits of using ML.NET and the necessary tricks to employ to host a machine learning model in ASP.NET Core 3.0 applications and similar multithreaded environments.