Visug The Visual Studio User Group

Improve your thinking to improve your software by Rachel Appel

Developers need logical thought to create robust systems that users love. The problem is that as often as not, their logic fails to help them deliver the software that their users really want and love. Would you like to create a product that people actually love because it's a perfect fit for them? Would you like to avoid common problems and issues while doing so during the development process - problems that cause friction such as dealing with stakeholders, managers, and other employees? Would you like to apply more critical thinking to everyday problems?

Then come to this session, where you'll learn some hardcore examples of how to critically think about developing software solutions and product design, as well as critical thinking in daily life. Learn how to choose a programming language or technology and not let tech religion get in the way. Find out how to gather requirements while avoiding logical fallacies. See how to design products and feature sets with reduced bias so that ALL your customers think "That was made just for me! I love it!" Come to this session to improve your thinking, improve your products, and improve your everything!

Dependency Injection in ASP.NET Core. Why and How? by Don Wibier

In this session Microsoft MVP Don Wibier will tell you why you should use Dependency Injection (DI) in your applications. He will next tell about how this is done in .NET Core and by coding examples, he’ll show you how easy it is to start using this yourself.

Coding at the Speed of Thought in VisualStudio with CodeRush by Don Wibier

As a sponsor of this session, DevExpress is proud to offer you a complimentary license of our productivity tool CodeRush for VisualStudio.

Join Technical Evanglist Don Wibier and get familiar with CodeRush.

Meet the incredible powerful templating engine, smart copy-and-paste, rich comments and more.

Down the rabbit hole: non-nullable reference types by Pieter Nijs

Imagine a wonderland where reference types aren't implicitly 'nullable'... Somewhere where you explicitly need to define them as nullable, just like you do with value types. Imagine no unnecessary null-checks, while getting warnings in your IDE where you should check for nulls. No more NullReferenceExceptions!

Since C# 8 you can opt-in for this utopian experience!

Let's go down the rabbit hole of the non-nullable reference types and discover all of its goodness. It's more than just adding a '?' here or a '!' there.

Building a friendly .NET SDK to connect to Space by Maarten Balliauw

Space is a team tool that integrates chats, meetings, git hosting, automation, and much more. It has a HTTP API that lets you integrate third party apps and workflows. That API is huge, though!

In this session, we'll focus on just the API. You will see how we built the .NET SDK for Space, and how we make that massive API more digestible. You will see how we used code generation, and various C# language features, to incrementally make the API feel like a real .NET SDK.

Entity Framework Core 5 Pitfalls by Khalid Abuhakmeh

We'll walk through the setup and features of EF Core 5 and discuss some of the pitfalls development teams might fall into that cost them time and problems.

Some of the issues are technical and some are stubbornly organizational.

Internals of Async by Adam Furmanek

Async and await are now common elements of .NET ecosystem. Do you know how they work? Do you know what is synchronization context, how to wait for async void methods or how to implement custom task scheduler?

In this talk, I show internals of async and await. I present state machine created by the compiler, consider allocation issues and show typical deadlock scenarios. We will see how to call async methods from synchronous code, how to wait for async void, how to implement custom synchronization context or task scheduler to handle exceptions, and how to run task without allocation at all.

Level 400, very intense session.

Learning Objectives:

  • Understanding state machine generated by the compiler
  • Learning details of TPL and synchronization contexts
  • Debugging common deadlock scenarios

Creating an OpenIdConnect Identity Provider with IdentityServer by Roland Guijt

An identity provider enables you to do centralized authentication with single sign-on using industry standards. Cloud services are great as long as you don't need customization beyond of what it offers. This is where creating your own with IdentityServer comes in.

I'll show you the ins and outs of creating the service but not before I make sure you understand the terminology around it. Once you get the basics we'll get into beyond the basics mode and I'll show you some of the other marvelous things that a custom identity provider brings.

After this session you're ready to implement a identity provider in ASP.NET Core that supports authentication across your organization.

Lessons Learned From Implementing API Management In The Real World by Eldert Grootenboer

Azure API Management is the gatekeeper to our data and processes, and as such it's really important that we set this up securely. But how do we know which features of API Management will allow us to reach our goal? And how should we implement them in such a way that we stay secure, while still providing the best experience for our developers?

This session will show you how to set up an API Management environment, using real life use cases. You will learn how to expose and protect your services, which policies help make our life easier, and how to handle your application lifecycle management.

Visug XL - WebRTC: An introduction to online video conferencing by Lode Kennes

We've all been using online video conferencing tools over the past few months. Some of us use Teams, others use Zoom.

Many of these platforms are built on WebRTC, even though we might not realize it, nor do we know how it works.

In this session I'll introduce you to WebRTC, how it can be used and show you how to use it in a browser.

Visug XL - Azure Resource Manager templates deep dive by Erwin Staal

There are multiple options in Azure to create your resources like VMs, databases or Web Apps. The Azure Resource Manager is one of them and ideal for infrastructure as code scenarios. In this session we will spend a few minutes on the basics of ARM and then quickly go into more depth on the advanced ARM-template topics! First, we will talk about how to organize your templates. As with normal code, we will try to create nicely structured and reusable templates. Linked templates can help tremendously with that so we will dive in those as well. We will look at quite some interesting template functions because they will make our templates more powerful and reusable. KeyVault comes in to play to show you how we can store our secrets or certificates there and have them available during deployment of our infrastructure. Last but not least I will show you how to use the array and object parameters to handle input in more complex scenarios and deploy your templates using Azure DevOps.

Visug XL - Serving the right recipe for API authentication by Philippe De Ryck

Compared to a decade ago, the meaning of authentication has changed significantly. Modern applications not only authenticate users but also rely on authentication for API access and inter-service communication. Authentication mechanisms still include passwords, but also rely on API keys, signed JWT tokens, and cryptographic authenticators. With so many options to choose from, making the right choice becomes a difficult challenge.

In this session, we explore several authentication recipes for different scenarios. We will discuss authentication in API-based applications, microservice architectures, and, of course, modern user authentication scenarios. At the end of this session, you will be able to choose the right authentication mechanism for your application according to current best practices.

Visug XL - Adventures of building a multi-tenant PaaS on Microsoft Azure by Tom Kerkhove

Building a multi-tenant PaaS is not a walk in the part, certainly if the platform you are building on is constantly changing.

In this session I'll walk you through the adventure we've been on where you'll learn about the challenges we've had and how we approached them and whether or not our decisions worked out or not.

– How to design for scale

– How to operate the platform

– How to grow a platform mindset and force ownership

– How to provide user-friendly webhooks

– How to roll out changes

– How to design for multi-tenancy

– How to approach constant change

– etc

Cloud platforms are never finished so you'd better come prepared.

Visug XL - Generate super efficient code with reflection and Expressions by Peter Himschoot

Reflection is slow, but sometimes this is the only option for dynamically discovering what to do. But with Expressions, you can generate very efficient code from your reflections and get blazingly fast execution. You should come to this session if your code requires reflection and is currently too slow.

Visug XL - Negotiation : How to get the best deal. by Tjorven Denorme

I want something you have. You want something I have. It can be a product, a service, money, time, … It’s not rocket science. It’s basic human to human interaction. No IQ required. It’s all about EQ. Understanding the other side of the table and making sure that the other side understands you. It’s not a battle, not because there aren’t any winners, it’s because after a good negotiation we don’t have losers.

Visug XL - CI/CD for a Data Platform: How to enable consistent data pipelines by Koen Rottiers

Data lakes are becoming more and more mainstream with Azure Data Factory doing the orchestration. Therefore it’s necessary to take data pipeline development to the next level.

In this session you will learn about the advantages of CI/CD and discover how to integrate data factory development with Azure DevOps.

Visug XL - Building Cloud Native applications with .NET 5 by Johnny Hooyberghs

Building cloud-native applications and services that will run in the cloud, both public and private, is an important decision to make in order to achieve continuous delivery, reliability and faster time to market. In this session, we will talk about building cloud-native services for Azure, using the latest version of .NET. What are containers? What is all this Kubernetes talk? Should you use microservices for all your future projects? How do you manage your data? How do you implement logging, metrics and secret management? There will be slides and there will be lots of demos!

Visug XL - Getting Started with Azure Command and Query by Stacy Cashmore

So, you want to migrate to Azure? You’ve read the success stories, and you see the benefits yourself.

But just how do you get started? And how do you convince those who don’t see the benefits as you do?

In this talk, we will get started on the Azure development route. Usinga site that communicates with a Web API and then, using message queues and functions, to store data from the user in table storage. And creating the resources needed to deploy the app within the Azure portal!

So that when you leave you can explore for yourself!

Visug XL - Running a DevOps style production Docker cluster using the Microsoft platform by Loek Duys

Getting your .NET Core application to run in a Docker cluster is only the beginning of a journey. It takes more to build and run your application in Azure using DevOps practices. In this session I will show you how we created a mission critical .NET Core application in a Kubernetes cluster in Azure using Visual Studio 2019 and the Azure DevOps platform. You will learn how to design your .NET application architecture to run on Azure, which software patterns to implement for environment flexibility, how to build Continuous Integration and Deployment pipelines for zero-downtime, provision your Infrastructure declaratively using ARM templates and what to do to integrate metrics and instrumentation in your application for real-time monitoring. I will share our lessons learned, so you can get a jump-start running your own application in a similar way.

Visug XL - How to work with virtual teams by Emily Luijbregts

Are you working with people in a different location? Do you want to learn how to work and lead your virtual team to a successful resolution and end goal? During this session, you'll receive practical tips for how to lead virtual teams and what you need to know to make your projects and initiatives a success.

Visug XL - The revival of .NET desktop development by Nico Vermeir

Was there ever any doubt that desktop development is alive and kicking? With .NET Core 3.0 all that doubt, if there was any, should melt away like snow in the sun. Let's have a look at all the juicy goodness that .NET Core 3.0 brings to UWP, WPF and even WinForms! We'll also take a look behind the curtain for what's coming in .NET 5. This talk is aimed at developers who have done, or are doing, desktop development and want to see how bright their future shines.

Visug XL - Microsoft MVVM: the new Toolkit in town by Diederik Krols

In 2005 Microsoft introduced MVVM as a software architectural pattern to support the development of XAML apps, originally in WPF and later also in Silverlight.

In 2020 the Microsoft.Toolkit.Mvvm package is a modern, fast, and modular .NET Standard MVVM library that runs on any app platform (UWP, WinForms, WPF, MAUI, Uno, and WinUI) and on any runtime (.NET Native, .NET Core, .NET Framework, and Mono) with an API surface that is the same in all these environments.

In this session we'll walk through this brandnew package to discuss and demonstrate its features regarding data binding, commanding, messaging, and dependency injection.

Visug XL - ACR, ACI, ACS, AKS, DCK... aka the Container Alphabet Soup by Peter De Tender

The world is wild about Containers, and so is Azure! Where container support has been part of the Azure platform for almost 3 years now, based on the recent amount of questions I got on the topic, it seems most partners and customers are only looking at it now. Which comes with the related confusion in terminology and capabilities. And that's exactly what I will show you during my session: how to run Docker (DCK) containers in Azure, by using the different Azure Container solutions available. Starting from the basics, moving to more complex architectures and scenarios. And as usual in Peter's sessions, more live demos than PPTX-talk...

Visug XL - Python for C# programmers by Reindert-Jan Ekker

This session will give a short introduction to the Python programming language from the perspective of a C# programmer.

We will go over the core Python language and compare its features with C#. Although many things are similar, you will learn about some interesting and surprising differences between the two languages. Along the way, you'll see what makes Python so wonderfully dynamic and so much fun to work with.

Visug XL - A First Look at C# 9.0 by Bart De Smet

Come join us for a tour around C# 9.0, including record types, immutable data types, improved pattern matching, better target typing, and more. In Bart's usual style, this will be a demo-intensive hands-on talk.

An error has occurred. This application may no longer respond until reloaded. Reload 🗙