Ethics and Artificial Intelligence

DotNet Day, Zurich, Switzerland, 27 May 2019

There is no question that Artificial Intelligence and Deep Learning will play an important role in the future (and the present!) of humanity. Taking advantage of faster and faster computers, larger and larger databases, we are able to run very complex algorithms against humongous amounts of data. This allows the creation of tools that can help us in complex areas of our lives. From autonomous vehicles to image and speech recognition, from assisting impaired humans to saving lives in critical situations, from inspecting industrial installations to sending machines in deep space or deep waters, the possibilities are amazing.

You can also see this playlist on YouTube.

1 : Introduction

Here Laurent introduces the topic of Ethics in AI by talking about the Robotic laws developed by Isaac Asimov. Then he explains why we feel a bit uneasy about AI, especially because of the differences between AI and classic programming.

2 : The Banana conundrum

Laurent uses a practical example of an Azure Cognitive Service used to classify fruits as an example of bias and its influence on the accuracy of an AI model.

3 : The Bias, part 1

Laurent introduces the concept of Bias in AI, due to various societal biases found in the data. The main issue in AI models is not the math, which is accurate. Because bias is present in our societies, it is also found in the big amounts of data needed to train AI models. Laurent illustrates this with a few examples.

4 : The Bias, part 2

Now Laurent talks about two kinds of biases which have a big impact on some populations in our societies: Racial bias and Gender bias. He illustrates these with examples explaining why this is probably the biggest ethical issues when using AI.

5 : Other ethical issues, Privacy

Laurent talks about other ethical issues that can arise when using AI, and about privacy, which should be a big concern when using data to train AI models.

6 : What can we do?

Now that we are aware of the potential issues with AI, we can talk about ways to mitigate the problems and how to improve the situation.

7 : The good sides of AI

Should we stop using AI because of the ethical concerns? No, because AI can also be used to improve inclusion and diversity, among other wonderful benefits. Here we see a few examples showing that AI can be used for good.


Modern Web Development with ASP.NET Core, Linux on Azure, Serverless, Web Assembly

Modern Web Tour with DotNet Rocks and Telerik Progress, Zurich, Switzerland, 25 Jul 2018

Web development has come a long way since the early days of Active Server Pages. These days, using Visual Studio on Windows, MacOS or Linux, you can develop an ASP.NET application in C#, test it on Windows, run it in production on Linux, and all of this without a single change in the code. Azure runs Windows and Linux web server, you can create web APIs without having to worry about the infrastructure with serverless Azure Functions, and you can even use .NET code in the web client with Web assembly. In this presentation, Laurent Bugnion, a Senior Cloud Developer Advocate will show you that it's not your grandfather's Microsoft anymore and take you on a tour of these new exciting web development trends.

You can also see this playlist on YouTube.

1 : Introduction

Laurent introduces himself and talks about past experiences with JavaScript and web development.

2 : .NET Core, .NET Standard

Laurent explains what Portable Class Libraries are and why Microsoft recommends moving away from them and onto .NET Standard. He explains what .NET Core and .NET Standard are.

3 : Demo ASP.NET Core on Linux

Laurent shows how to create and test a website on Windows, and then how to deploy it on a Linux web server running on Azure.

Porting MVVM Light to .NET Standard: Lessons learned

ITCamp, Cluj-Napoca, Romania , 08 Jun 2018

.NET Standard is the new way to create portable assemblies. After learning about portable class libraries in the past years, it is now time to upgrade our game and start coding for Linux, Mac OS and other platforms untouched by .NET until now. More and more libraries are getting ported to .NET Standard, sometimes really easily and sometimes more painfully. In this session, Laurent Bugnion, the creator of the popular open source MVVM Light Toolkit, will help you understand why .NET Standard can benefit you, and talk about his experiences converting his framework to .NET Standard.

You can also see this playlist on YouTube.

1 : Intro to Sharing Files

Laurent shows a short look-back at the history of sharing source code in .NET, from ASP.NET to WPF to Silverlight to modern times.

2 : Demo Shared Files

Laurent shows a demo of sharing code in Visual Studio 2017 with linked files.

3 : Demo Portable Class Library

Laurent shows a demo of sharing code with Portable Class Libraries.

4 : History of .NET Standard, Tools

Laurent explain what .NET Core and .NET Standard are.

5 : .NET Standard APIs and Versions

Laurent talks about versions and API support of .NET Standard.

6 : About MVVM Light, architecture

Laurent talks of MVVM Light and shows the architecture of the PCL version.

7 : Refactoring MVVM Light for .NET Standard

Laurent shows how MVVM Light was refactored for .NET Standard.

8 : Converting the Core Components

Laurent shows how he converted MVVM Light core components to .NET Standard.

9 : Converting the Extras

Laurent shows how he converted MVVM Light extra components to .NET Standard (IOC container).

10 : Creating the Core App 1, Services

Laurent shows to create a .NET Core console app with MVVM Light's IOC container.

11 : Creating the Core App 2, The Program, Running on Linux

Laurent shows to finish the .NET Core console app with MVVM Light's IOC container, test it on Windows and run it on Ubuntu in the Windows Subsystem for Linux (WSL).

12 : Resources and Conclusion

Laurent shows various resources for the .NET Core and .NET Standard.