Talks DotNext 2020 Moscow

Themes haven't been finally approved yet, so there still might be some changes.
Yulia Tsisyk CUSTIS
Yulia Tsisyk
CUSTIS 
Day 3 / 18:30  / Track 1 / RU /

How our communities work

How do .NET communities live in different cities in Russia? How and why DotNetRu was formed, and how does it function in general? Yulia will tell the philosophy and answer all the questions.

Stanislav Sidristy STC
Stanislav Sidristy
STC 
Day 1 / 19:00  / Track 3 / RU / Хардкор. Сложный низкоуровневый доклад, требующий от слушателя знаний технологии.

Making zero allocation code using the example of optimizing a large library

Using the example of SMBLibrary we will try to keep memory allocations to a minimum using some well-developed techniques and will see how difficult the simplest operations can be. Results:

  • Memory usage: -99%;
  • GC: -99,9%;
  • Total app working time: -39%.
Maarten Balliauw JetBrains
Maarten Balliauw
JetBrains 
Day 1 / 17:15  / Track 2 / EN / Для практикующих инженеров

Building and generating a .NET client for a large API

In this session, you will see how to build the .NET SDK for Space, and how to make that massive API more digestible. You will see how to use code generation, and various C# language features, to incrementally make the API feel more like a real .NET SDK.

Bjørn Einar Bjartnes NRK
Bjørn Einar Bjartnes
NRK  
Day 1 / 17:15  / Track 4 / EN / Для практикующих инженеров

Workshop: Tuning services to deal with latency and errors

In this workshop, you will learn how to simulate latency and failures in your web application and how to add strategies to deal with this. We will learn how changing the different parameters change the behavior of our application under load, and what trade-offs we ultimately must make.

Aaron Stannard Petabridge
Aaron Stannard
Petabridge 
Day 1 / 19:00  / Track 1 / EN / Введение в технологию

When and how to use the actor model: An introduction to Akka.NET actors

In this talk, we will introduce the actor model through the use of Akka.NET, the most popular distributed actor model framework in .NET. We'll talk about what sorts of problems it solves well when you should use it, and what are some of the adoption costs and overhead involved in using a tool like Akka.NET.

Miguel de Icaza Microsoft
Miguel de Icaza
Microsoft 
Day 1 / 17:15  / Track 1 / EN / Введение в технологию

Interview and QA with Miguel de Icaza

This is a live Q&A session where Miguel will answer as many of your questions as possible in the hour.

Marco De Sanctis Cloud Consult London Ltd
Marco De Sanctis
Cloud Consult London Ltd 
Day 2 / 12:30  / Track 3 / EN / Для практикующих инженеров

Deep down in Blazor authentication and authorization

During this talk, we'll do a deep dive into the security model of Blazor, understanding the components involved and the differences between Blazor Server and Web Assembly.

Rustam Salimzibarov Macroscop
Rustam Salimzibarov
Macroscop 
Aleksey Pozdeev Macroscop
Aleksey Pozdeev
Macroscop 
Day 2 / 10:45  / Track 3 / RU / Для практикующих инженеров

Porting a 11-year-old Windows application to Linux

Rustam and Alexey will talk about how the 11-year-old enterprise application for video surveillance systems Macroscop was ported to Linux.

Bartosz Adamczewski SDI Media
Bartosz Adamczewski
SDI Media 
Day 2 / 12:30  / Track 2 / EN / Введение в технологию

Data-oriented design for business applications

Data-oriented design stands in direct conflict with object-oriented design principles.

While object-oriented design focuses on modeling the world using Objects, the data-oriented design focuses on the data and the algorithms that manipulate the data, where data dependency, alignment, and memory access patterns are the most important things.

This in turn, can increase performance when applied correctly.

Maoni Stephens Microsoft
Maoni Stephens
Microsoft 
Day 2 / 10:45  / Track 1 / EN / Для практикующих инженеров

What's new in the .NET 5 GC?

New performance and diagnostics improvements in the .NET 5 GC.

Artem Akulyakov OCS.LAB
Artem Akulyakov
OCS.LAB 
Day 2 / 10:45  / Track 2 / RU / Введение в технологию

DDD, love, F#

During this session, Artem wants to tell and show what functional design looks like and how DDD is implemented in F#. What turns good on such combination, what is not so good, and what lessons C# developer can learn from all this in order to improve their applications right now.

Martin Ullrich Tieto Austria GmbH
Martin Ullrich
Tieto Austria GmbH 
Day 3 / 19:00  / Track 2 / EN / Для практикующих инженеров

Tips & tricks to improve your .NET build setup with MSBuild

This session introduces to MSBuild, explains common build customization techniques, helps avoid pitfalls when setting up your custom build logic and explores strategies to investigate build errors.

Andrey Tsvettsikh EPAM
Andrey Tsvettsikh
EPAM 
Day 3 / 17:15  / Track 3 / RU / Введение в технологию

Clean architecture in practice

Many talks about architecture reveal the theoretical side of the issue, while the authors usually have no practical experience in creating large projects. Two years ago EPAM started 2 projects, which applied the principles described in the book. Andrey is ready to share this experience.

Mads Torgersen Microsoft
Mads Torgersen
Microsoft 
Day 3 / 19:00  / Track 1 / EN / Введение в технологию

What’s new in C# 9.0 and beyond

Let's have a look at C# 9.0's new features for immutability, records and pattern matching, as well as a peek at some things we are working on for future releases.

Vladimir Khorikov Enterprise Craftsmanship LLC
Vladimir Khorikov
Enterprise Craftsmanship LLC 
Day 3 / 17:15  / Track 2 / RU / Для практикующих инженеров

Domain-driven design distilled

The talk about main Domain-driven design principles.

Mikhail Yarichuk SAP/Gigya
Mikhail Yarichuk
SAP/Gigya 
Day 3 / 17:15  / Track 4 / RU / Для практикующих инженеров

Workshop: Investigating memory leaks in .NET with WinDBG

In this workshop, we will go through the most common memory problems and try to find out what is wrong with a few examples in practice. The devil is not so black as he is painted: research on memory dumps is laborious and time-consuming, but often irreplaceable.

Aleksey Zimarev Ubiquitous AS
Aleksey Zimarev
Ubiquitous AS 
Day 3 / 19:00  / Track 3 / RU / Введение в технологию

Event sourcing in a long run

During this talk, Alexey wants to get back to the essence of what event sourcing is in the context of Domain-Driven Design, why it is useful for certain types of systems, what people usually fear about the pattern, and how to avoid common mistakes.

Mikhail Yarichuk SAP/Gigya
Mikhail Yarichuk
SAP/Gigya 
Day 3 / 19:00  / Track 4 / RU / Для практикующих инженеров

Workshop: Investigating memory leaks in .NET with WinDBG (part 2)

In this workshop, we will go through the most common memory problems and try to find out what is wrong with a few examples in practice. The devil is not so black as he is painted: research on memory dumps is laborious and time-consuming, but often irreplaceable.

Rival Abdrakhmanov Positive Technologies
Rival Abdrakhmanov
Positive Technologies 
Day 4 / 10:45  / Track 2 / RU / Введение в технологию

Patterns of distributed systems in the traditions of Russia's northern indigenous and minority peoples

In this talk, we will look at the patterns that are used to build distributed systems, using the traditions and customs of the indigenous peoples of the North as an example.

Konrad Kokosa Gritstep/Dotnetos
Konrad Kokosa
Gritstep/Dotnetos 
Day 4 / 10:45  / Track 4 / EN / Хардкор. Сложный низкоуровневый доклад, требующий от слушателя знаний технологии.

Mobius — writing your own .NET runtime running on .NET Core

.NET Frameworks/.NET Core runtimes are written in C++. But what if we write .NET runtime as... .NET application? Konrad has decided to try this out and this is how the Mobius project has been coined.

Raffaele Rialdi Vevy Europe
Raffaele Rialdi
Vevy Europe 
Day 4 / 12:30  / Track 2 / EN / Введение в технологию

Discovering .NET 5

With Raffaele we will have an overview of all the major improvements in the .NET runtime and libraries, and dig into some of the most interesting new features and also into the new diagnostic tools.

Christophe Nasarre-Soulier Criteo
Christophe Nasarre-Soulier
Criteo 
Day 4 / 12:30  / Track 4 / EN /

How to easily measure CPU performance and allocation patterns with a few lines of C#

This session will show you how to very easily build your tool/monitoring system to measure CPU utilization (including call stacks) and discover your memory allocation patterns.

Aleksey Zimarev Ubiquitous AS
Aleksey Zimarev
Ubiquitous AS 
Day 4 / 10:45  / Track 3 / RU / Введение в технологию

Workshop: Real-life event sourcing

Присоединяйтесь к Алексею Зимареву, энтузиасту event sourcing и автору «Hands-On Domain-Driven Design with .NET Core» на воркшоп для разработчиков и архитекторов, которые хотят научиться практическим аспектам внедрения event sourcing в систему.

Aaron Stannard Petabridge
Aaron Stannard
Petabridge 
Sergey Bykov Temporal Technologies
Sergey Bykov
Temporal Technologies 
Day 4 / 10:45  / Track 1 / EN / Введение в технологию

Panel debate: Akka or Orleans? Ask their architects!

So we feel honored to announce an in-depth session to discuss the place of the actor model in modern development, criteria to choose an actor model framework that satisfies your project requirements, and of course to find out when Akka.NET or Microsoft Orleans will be your best bet.

Jared Parsons Microsoft
Jared Parsons
Microsoft 
Day 1 / 19:00  / Track 2 / EN / Для практикующих инженеров

Nullability in C#

Exploring nullability in C#, the .NET ecosystem and techniques for applying null annotations to your code base.

Egor Bogatov Microsoft
Egor Bogatov
Microsoft 
Day 2 / 12:30  / Track 1 / RU / Хардкор. Сложный низкоуровневый доклад, требующий от слушателя знаний технологии.

How the JIT compiler works in CoreCLR

After the release of .NET Core, everything that was hidden in the JIT compiler became clear. And Egor will tell you about this in his talk.

Stanislav Sidristy STC
Stanislav Sidristy
STC 
Day 2 / 12:00  / Track 1 / RU / От партнера

What technologies you should focus on to stay in the profession for a long time

Stanislav will talk about the ways of development in the profession, tell you how not to stuck in the development and do interesting things. He will also share his personal experience and tell you what to pay attention to at work.

Pavel Kulbida Raiffeisenbank
Pavel Kulbida
Raiffeisenbank 
Day 1 / 18:30  / Track 1 / RU / От партнера

Community development and open source in corporate development

Pavel will talk about how the .NET developers community is organized and how the ViennaNET platform was launched.

Igor Labutin Lanit-Tercom
Igor Labutin
Lanit-Tercom 
Roman Nevolin Kontur
Roman Nevolin
Kontur 
Artem Akulyakov OCS.LAB
Artem Akulyakov
OCS.LAB 
Day 1 / 18:45  / Track 1 / RU /

Interview. What does it mean to be a speaker on DotNext?

Igor Labutin, Roman Nevolin and Artyom Akulyakov will talk about how to become a DotNext speaker and how to work in the Program Committee.

Mikhail Filippov JetBrains
Mikhail Filippov
JetBrains 
Day 3 / 17:15  / Track 1 / RU / Для практикующих инженеров

JetBrains Rider build infrastructure

JetBrains Rider is a huge project that combines two large products with a 20-year history of Intellij IDEA and ReSharper. Mikhail will tell you what challenges you have to face with such large amounts of code.

Alexey Chirkin EPAM
Alexey Chirkin
EPAM 
Sergey Buyanov Infotecs
Sergey Buyanov
Infotecs 
Mikhail Filippov JetBrains
Mikhail Filippov
JetBrains 
Egor Bogatov Microsoft
Egor Bogatov
Microsoft 
Andrey Dyatlov JetBrains
Andrey Dyatlov
JetBrains 
Maxim Sustretov Kaspersky Lab
Maxim Sustretov
Kaspersky Lab 
Day 4 / 12:00  / Track 1 / RU /

What? Where? When? with DotNetRu

What? Where? When? tournament from the DotNetRu community. The rules are similar to the TV version: the host asks the question and the team has a minute to discuss it and answer.

Maxim Arshinov HighTech Group
Maxim Arshinov
HighTech Group 
Day 2 / 10:45  / Track 4 / RU / Для практикующих инженеров

Workshop: Refactoring the domain model

Sometimes you don't know how to start after learning the information about DDD style code. During the workshop, the speaker will demonstrate how he starts and how he continues to work with the legacy code of web applications.

Christophe Nasarre-Soulier Criteo
Christophe Nasarre-Soulier
Criteo 
Day 4 / 12:30  / Track 1 / EN / Для практикующих инженеров

How to easily measure CPU performance and allocation patterns with a few lines of C#

This session will show you how to very easily build your tool/monitoring system to measure CPU utilization (including call stacks) and discover your memory allocation patterns.

Andrey Dyatlov JetBrains
Andrey Dyatlov
JetBrains 
Day 1 / 17:15  / Track 3 / RU / Для практикующих инженеров

Source Generators in action

In this talk, you will learn not only what is hidden behind the "Source Generators" term and how to use it, but also how to provide the user of your generator with the necessary configuration flexibility and clear messages about emerging problems.