Speaker

Tomas Herceg

Tomas Herceg

Microsoft MVP, CEO @ RIGANTI, Author of DotVVM

Microsoft MVP, CEO @ RIGANTI, Author of DotVVM

Prague, Czechia

I am the CEO of RIGANTI, a software development & consulting company located in the Czech Republic.
I am Microsoft MVP (Most Valuable Professional) since 2009, and I was also awarded with Microsoft Regional Director title in 2015 and 2017.
I am the author of DotVVM, an open source .NET-based web framework that lets you build web apps using the Model-View-ViewModel pattern.
You can find me speaking about .NET and web development, software architecture, cloud computing, and other topics at technical conferences.
I am also a founder of Update Conference Prague, the biggest conference for .NET developers in the Czech Republic.

Jsem CEO ve společnosti RIGANTI, která se zabývá vývojem software na platformě .NET.
Od roku 2009 jsem každý rok získal ocenění Microsoft MVP (Most Valuable Professional), a v letech 2015 a 2017 též ocenění Microsoft Regional Director.
Jsem autorem DotVVM - open-source frameworku postaveném na .NETu, který umožňuje vyvíjet webové aplikace pomocí návrhového vzoru Model-View-ViewModel.
Můžete mě potkat na různých konferencích týkajících se vývoje v .NETu nebo na webu, přednáším také o softwarové architektuře, cloud computingu, a mnoha dalších tématech.
Jsem též zakladatelem Update Conference Prague, největší konference pro .NET vývojáře v České republice.

Area of Expertise

  • Information & Communications Technology

Topics

  • .NET
  • Azure
  • Software architecture
  • Web Development
  • C#
  • TypeScript

Sessions

Get the most of Azure Application Insights en cs

Many developers use Azure Application Insights, but not everyone is familiar with all its features.
In this talk, I'll show how to work with traces, exceptions, metrics, and dependencies. You will see how to filter the data you collect to optimize the costs and how to set up smart alerts to get notified about any issue.

Vector search options in Azure en cs

Many uses of AI and ChatGPT rely on Retrieval Augmented Generation - a mechanism where you search your data based on semantic similarity rather than full-text match. We use vector search for this purpose, and recently, several Azure services learned how to do it.
In this session, I will show various options you can use to implement vector search and explain which works best in which scenario. You will see Azure AI Search, Azure Cosmos DB, Azure Database for PostgreSQL, and Azure SQL Database.

Testable MVVM web apps in ASP.NET Core with DotVVM en

DotVVM is an open-source framework that lets you build ASP.NET Core web apps using the Model-View-ViewModel pattern. One of the great advantages of this pattern is the easy testability of the viewmodels.
In this session, I will show how to make a complex interactive form and cover its logic with various kinds of tests.
I'll also show some interesting features of the DotVVM framework that make me really productive when I build line-of-business apps, such as auto-generated forms and grids based on the data model.

Two ways of migrating old ASP.NET web apps to .NET 8 en

There are still plenty of legacy ASP.NET applications using .NET Framework. These applications can hugely benefit from migration to ASP.NET Core because of improved performance, better developer tooling, new libraries, or easier use of cloud-native services.
However, most applications are not easy to migrate, and in many cases, it must be done incrementally.
In this session, I'll show and compare two possible ways of modernization:
1. Side-by-side migration: Creating a new .NET 8 application and configuring YARP to forward traffic to the old application. This allows to incrementally move pages from the old to the new app, and get rid of the old application eventually.
2. In-place migration: Using an open-source framework DotVVM, all pages in the old .NET Framework application can be incrementally replaced by DotVVM pages in the same project. Afterward, the application can be switched to .NET 8 because DotVVM supports both .NET Framework and .NET 8.

Currently, I am in the process of writing a book on this topic for Apress.

Hacking the WebView in .NET MAUI: hosting non-Blazor web apps in MAUI en

You've probably seen a demo of a hybrid application in .NET MAUI where a Blazor component is hosted in a MAUI app.
In this session, I'll dig into how this integration is implemented and show how to use WebView to embed non-Blazor web apps - for example, React app that is calling an API.
You'll see how to make a single-sign-on experience for the MAUI and React part, how to implement offline mode even for a React app that doesn't support it by intercepting the app HTTP communication, and more.

Advanced Azure Cosmos DB functions you may not know about en cs

Azure Cosmos DB is constantly getting new features, but keeping track of them is hard.
In this session, I'll show how to work with transactional batches, how and when to use hierarchical partition keys, how to use optimistic concurrency or container TTL, and others.

Pokročilé funkce Azure Cosmos DB, které možná neznáte en cs

Databáze Azure Cosmos DB je každou chvíli rozšiřována o nové funkce, které ale ne každý vývojář zná.
Na této přednášce se podíváme, jak pracovat s transakčními dávkami, kdy a jak používat hierarchické partition keys, jak zajistit optimistickou konkurenci, k čemu lze využít TTL u kontejnerů, a pár dalších zajímavostí.

.NET Aspire en cs

.NET Aspire is a new tool to simplify the development of microservices applications. It is a successor of Project Tye, but many of its concepts have undergone significant changes.
In this session, I will show how Aspire works, what it can do for you, and why you should care even if you don't develop huge microservices solutions. Aspire is quite useful even when you develop and run only two applications.

.NET Aspire en cs

.NET Aspire je nová technologie, která usnadňuje vývoj microservices aplikací. Je to tak trochu nástupce dřívějšího experimentu Project Tye, nicméně mnoho konceptů doznalo zásadních posunů. Na této přednášce si ukážeme, co Aspire nabízí, jak se používá a proč by vás měl zajímat, i když nevyvíjíte microservices, ale potřebujete pouze vyvíjet a spouštět více aplikací najednou.

Vektorové databáze v Azure en cs

Většina využití AI a ChatGPT potřebuje vektorové vyhledávání v textu, které pracuje se sémantickou podobností hledaných výrazů. K tomu se využívají vektorové databáze, a kromě pár specializovaných produktů se tento vector search naučila i celá řada databází, které v Azure máme. Na této přednášce se podíváme, které technologie můžete pro vektorové hledání použít dnes a kdy se která hodí. Uvidíte Azure AI Search, Azure Cosmos DB, Azure Database for PostgreSQL a Azure SQL Database.

Lessons learned from implementing a law chatbot using Azure Open AI and Semantic Kernel en

In this session, I'll show a real-world chat app I implemented using Azure Open AI and Semantic Kernel for a law company. The app uses the Azure OpenAI ChatGPT-4 model to answer questions based on knowledge of Czech legislation stored in a vector database.
I will show that implementing such an application is not easy because users' questions have very different intents. Sometimes, they ask about the current state of the law. In other cases, the question is restricted to a specific year, or the users want to get a summary of a specific bill or paragraph.
I'll explain how to use Semantic Kernel to detect the user intent, transform the question into a query for vector search, and compose the response from the results.
I will also discuss the responsible use of AI and the measures we have taken to ensure the solution's compliance with Czech law.

Vydolujte maximum z Azure Application Insights en cs

Application Insights používá mnoho vývojářů, ale ne každý zná všechny funkce, které tato služba nabízí. Na této přednášce se podíváme na to, jak pracovat s traces, výjimkami, metrikami a závislostmi, jak vyfiltrovat data, která sbíráte, abyste neplatili majlant, a jak nastavit alerty, abyste mohli klidně spát.

Tomas Herceg

Microsoft MVP, CEO @ RIGANTI, Author of DotVVM

Prague, Czechia