Generated by All in One SEO v4.9.7.2, this is an llms.txt file, used by LLMs to index the site. # oliverscheer.tech Engineer. Architect. Trainer. ## Sitemaps - [XML Sitemap](https://oliverscheer.tech/sitemap.xml): Contains all public & indexable URLs for this website. ## Beiträge - [Blog](https://oliverscheer.tech/blog/) - [Replacing Swagger with Scalar in a Containerized Aspire.NET Project](https://oliverscheer.tech/blog/replacing-swagger-with-scalar-in-a-containerized-aspire-net-project/) - Introduction In modern .NET projects, API documentation is a must. While Swagger has become the default choice, Scalar offers a clean, minimal alternative with powerful customization options. In this tutorial, we’ll walk through how to integrate Scalar into a containerized .NET 8 API that runs as part of an Aspire.NET app. This article is tailored for experienced developers looking - [Injecting Environment Variables into React Apps in Docker on Azure](https://oliverscheer.tech/blog/injecting-environment-variables-into-react-apps-in-docker-on-azure/) - Introduction Environment-specific configuration is easy in backend systems. You use environment variables, and everything just works. But with frontend applications like React, which are built ahead of time and served statically in the browser, things get a bit trickier. In this post, you'll learn how to inject dynamic environment variables into a React application running - [Embedding Static Data in C#: How to Pack Markdown, CSV, and Prompt Templates into Your Application](https://oliverscheer.tech/blog/embedding-static-data-in-c-how-to-pack-markdown-csv-and-prompt-templates-into-your-application/) - Introduction Whether you're building an AI-powered app that needs rich prompt templates, a dashboard fed by CSV configuration data, or a Markdown-based documentation viewer — sooner or later, you'll want to embed static content directly into your C# application. In this article, I’ll walk you through different approaches for embedding larger static assets like .md or .csv files into - [Create Lottie Animations in React](https://oliverscheer.tech/blog/create-lottie-animations-in-react/) - Effortless Animations in React with Lottie: A Step-by-Step Guide Introduction As developers, we're always searching for ways to elevate user experiences in our web applications. Animations can be a game-changer—they breathe life into interfaces, making them more engaging and intuitive. Yet, implementing high-quality animations often comes with challenges: bloated file sizes, laggy performance, and limited - [Make Stand-Ups Count: 8 Essential Tips for Effective Meetings](https://oliverscheer.tech/blog/make-stand-ups-count-8-essential-tips-for-effective-meetings/) - Stand-up meetings are meant to be brief and productive. The goal is to align your team quickly without diving into long discussions or unnecessary details. To help you get the most out of your stand-ups, here are eight practical tips to keep your meetings sharp and purposeful: Focus on team-wide relevance – Share updates that - [Simplify Debugging with the [DebuggerDisplay] Attribute in C#](https://oliverscheer.tech/blog/simplify-debugging-with-the-debuggerdisplay-attribute-in-c/) - When working with complex classes in C#, the default debugger view can often overwhelm you with unnecessary details. Enter the [DebuggerDisplay] attribute—a simple yet powerful tool to make debugging more intuitive. What Is [DebuggerDisplay]? The [DebuggerDisplay] attribute allows you to customize how your classes and properties appear in the debugger. By overriding the default representation, - [Year in Code: Reflecting on 2024](https://oliverscheer.tech/blog/year-in-code-reflecting-on-2024/) - As the year comes to a close, I find myself reflecting on a whirlwind year of coding, creating, and learning. This is my first-ever year-in-review post, so here’s a little recap of my journey through software development in 2024. Visualizing My Contributions Thanks to some fantastic tools, I could easily track my coding contributions this - [OpenAPI Documentation in .NET 9](https://oliverscheer.tech/blog/openapi-documentation-in-net-9/) - Introduction to OpenAPI in ASP.NET Core 9 With the release of .NET 9, the ASP.NET Core team has decided to remove built-in Swagger support (Swashbuckle) for several key reasons: Maintenance Challenges: Swashbuckle is no longer actively maintained, lacks updates, and doesn’t have an official release for .NET 8. Native Metadata Support: ASP.NET Core now includes - [Local Development with Aspire, Blazor & SQL Server in a container](https://oliverscheer.tech/blog/local-development-with-aspire-blazor-sql-server-in-a-container/) - Developers generally prefer focusing on writing code rather than managing every aspect of a solution’s infrastructure, especially for components they aren't actively working on. - [Building a Data Driven App with Blazor and Fluent UI](https://oliverscheer.tech/blog/building-a-data-driven-appwith-blazor-and-fluent-ui/) - As some of my colleagues and friends may already know, I'm a live concert enthusiast. I think I've been to hundreds of concerts since the age of 14. But as I get older, it becomes more complicated to remember them all. That's the idea behind this sample application. It might be a bit over-engineered, but - [How I Taught ChatGPT to Read the Clock: Introducing Semantic Kernel](https://oliverscheer.tech/blog/how-i-taught-chatgpt-to-read-the-clock-introducing-semantic-kernel/) - This article is a guide to developing your first semantic kernel app using dotnet and C#, enabling you to add dynamic features to your AI solution. Challenge and Problem Statement A common limitation of AI models is their static nature. For instance, when asked “Is the queen still alive?” ChatGPT might respond affirmatively based on - [Checking App Settings at Startup](https://oliverscheer.tech/blog/checking-app-settings-at-startup/) - This article provides a comprehensive sample demonstrating how to effectively utilize app settings in ASP.NET Core applications. Problem Statement In the realm of application development, managing settings efficiently can be a pivotal but often overlooked aspect, especially when collaborating with team members. Imagine a scenario where you or your colleagues add or remove settings during - [Login to Azure in a GitHub Action](https://oliverscheer.tech/blog/login-to-azure-in-a-github-action/) - I'm creating solutions on GitHub for Azure, aiming to deploy them easily via GitHub Actions. To achieve this, you need to authorize GitHub securely, and writing credentials directly in the pipeline is not recommended. A better approach is to use a Service Principal and store the credentials as a GitHub Secret. If you prefer using - [Start with ASP.NET Core, Blazor and Fluent UI](https://oliverscheer.tech/blog/getting-started-with-blazor-and-fluent-ui/) - Building your first Blazor app in Minutes with this simple tutorial - [Simple Data Seeding with Entity Framework my preferred way](https://oliverscheer.tech/blog/simple-data-seeding-with-entity-framework-my-preferred-way/) - A common challenge in developing database solutions is the insertion and updating of master data. Here is a sample code who do it simple and clean. - [LocalDB is not supported on this platform called Ubuntu](https://oliverscheer.tech/blog/localdb-is-not-supported-on-this-platform-called-ubuntu/) - Experimenting with Ubuntu and Rider has been insightful, revealing that not everything is easier on Linux. One example? SQL Server Express. While it comes free with any Visual Studio setup on Windows, it isn’t available by default on Ubuntu. Luckily, there are several ways to solve this problem. You could install the Linux version of - [Embed Sample Data in Your Code](https://oliverscheer.tech/blog/152-2/) - One of my favorite tricks for data-driven apps is to include sample data during development. This sample data is invaluable for various purposes such as designing UIs, conducting demos, or running tests. For this reason, I recommend integrating test data into the solution for debug releases. While not suitable for release builds, it proves highly - [Auto Cleanup Azure Blob Storage](https://oliverscheer.tech/blog/auto-cleanup-azure-blob-storage/) - This article gives you a snippet to clean up your blob storage frequent, to keep only a specific time of data. Azure Blob Storage offers a brilliant and straightforward solution for storing vast amounts of data. However, when it's unnecessary to retain all data indefinitely, such as data only needed for a few days, it - [Authorize User in Azure Functions in Isolated Mode](https://oliverscheer.tech/blog/authorize-user-in-azure-functions-in-isolated-mode/) - Alright, fellow cloud adventurers, let's talk about Azure Functions and the wild ride that is .NET 8 Isolated Mode. You see, when it comes to authorizing functions for specific user groups, many of us rely on the trusty Authorize-Attribute. It's been our go-to for granting access to authenticated user groups with ease. But hold onto - [Enable and Disable Authentication With PowerShell](https://oliverscheer.tech/blog/enable-and-disable-authentication-with-powershell/) - In a recent project, a unique challenge emerged: the need to temporarily remove authentication from an Azure Function for testing purposes, only to later reinstate it. Surprisingly, finding a straightforward solution proved elusive. Despite extensive exploration, including searching for a Bicep solution or relevant APIs, I encountered obstacles. While some methods disabled authentication, artifacts persisted, - [Enhance Your .NET Console Applications with Spectre.Console](https://oliverscheer.tech/blog/enhance-your-net-console-applications-with-spectre-console/) - Console applications in .NET often lack visual appeal and interactivity. However, Spectre.Console emerges as my personal game-changer, revolutionizing the way developers craft command-line interfaces (CLIs). Offering a rich set of features, Spectre.Console elevates user experience and developer productivity. With Spectre.Console, developers can effortlessly create stylish and dynamic text-based UIs. Its intuitive API enables easy customization - [Using User Defined Functions in Azure Stream Analytics Job](https://oliverscheer.tech/blog/using-user-defined-functions-in-azure-stream-analytics-job/) - The Challenge Azure Stream Analytics exclusively supports functions written in .NET Standard 2.0. Handling JSON data often necessitates the utilization of tools such as Newtonsoft or features from System.Text.Json, both of which are NOT accessible in .NET Standard 2.0. Furthermore, another compelling reason to opt out for .NET is the complexity involved in storing and - [Updating a running Azure Stream Analytics Job](https://oliverscheer.tech/blog/updating-a-running-azure-stream-analytics-job/) - The Problem Stream Analytics Jobs are a powerful means of analyzing and distributing incoming data to various target storages or services in Azure and other locations. You can only update the definition of the job, when it is stopped. However, initiating and halting Stream Analytics Jobs can be time-consuming, often requiring several minutes depending on - [Export GitHub Pull Requests](https://oliverscheer.tech/blog/export-github-pull-requests/) - The Problem: Export Old Pull Requests from GitHub For various (perhaps less than rational) reasons, I find myself needing to document my past work using Pull Requests. Since this is more about quantity than quality, I sought to automate the task. To simplify the process, I crafted a concise bash script that achieves precisely that, - [Creating a Power BI Streaming Dataset from the command line](https://oliverscheer.tech/blog/creating-a-power-bi-streaming-dataset-from-the-command-line/) - The Problem Setting up a Power BI Streaming DataSet in the portal can be a cumbersome task prone to errors due to misspelling and incorrect casing. In a recent customer project, I encountered this challenge and developed a PowerShell script to automate and streamline the process. The Solution: Automate Power BI DataSet Creation With PowerShell - [Clone your Azure Resource Group with ARM and Bicep](https://oliverscheer.tech/blog/clone-your-azure-resource-group-with-arm-and-bicep/) - One common task for cloud engineers is setting up an environment in Azure for solution development. During the development and prototyping phases of an architecture, various manual tasks are performed to test different aspects. However, when it comes to recreating this environment in another resource group, the manual approach becomes impractical. This is where the - [Fixing the Missing Azure Functions Runtime Error](https://oliverscheer.tech/blog/missing-azure-function-runtime/) - During a current project I came across this error because my Azure Functions are planned to run on .net 8. There is by default the runtime for .net 7 available, but this leads to the following error, which blocked me a moment. "There is no Functions runtime available that matches the version in the project." - [Calling an Azure Functions from the command line](https://oliverscheer.tech/blog/calling-an-azure-functions-function-from-the-command-line/) - Retrieve required information to run a remote Azure Functions in the cloud from a local Command Line Interface ## Seiten - [Welcome](https://oliverscheer.tech/) - This page is right now under construction. - [About](https://oliverscheer.tech/about/) - [Home](https://oliverscheer.tech/home/) - Hi I'm Oliver Scheer, a Principal Software Engineer with over two decades of hands-on experience in cloud, front-end, and back-end development. I specialize in building scalable, maintainable software systems and leading cross-functional teams to deliver real business value. My mission is to help companies navigate technical complexity, modernize their architecture, and upskill their teams. From - [Curriculum Vitae](https://oliverscheer.tech/cv/) - Curriculum Vitae As a Principal Software Engineer with over 25 years of experience, I bring a wealth of technical expertise and leadership to every project I undertake. My passion lies in turning complex problems into innovative solutions, especially within cloud-native architectures, IoT, and AI. Throughout my career, I've successfully led international teams, transformed legacy systems - [Imprint / Impressum](https://oliverscheer.tech/imprint-impressum/) - English version below Angaben gemäß § 5 DDG Oliver ScheerSelma-Lagerlöf-Str. 485375 Neufahrn bei FreisingDeutschland Vertreten durch: Oliver Scheer Kontakt: Telefon: +49 175 5844505E-Mail: oliverscheer@outlook.com Umsatzsteuer-ID: Umsatzsteuer-Identifikationsnummer gemäß §27a Umsatzsteuergesetz: DE364314140 Verantwortlich für den Inhalt nach § 55 Abs. 2 RStV: Oliver ScheerSelma-Lagerlöf-Str. 485375 Neufahrn b. Freising Haftungsausschluss: Haftung für Inhalte Die Inhalte unserer Seiten wurden - [Contact](https://oliverscheer.tech/contact/) ## Kategorien - [Developer](https://oliverscheer.tech/blog/category/developer/) - [Developer Building Blocks](https://oliverscheer.tech/blog/category/developer/developer-building-blocker/) ## Schlagwörter - [C#](https://oliverscheer.tech/blog/tag/c/) - [Azure](https://oliverscheer.tech/blog/tag/azure/) - [Azure Functions](https://oliverscheer.tech/blog/tag/azure-functions/) - [Azure CLI](https://oliverscheer.tech/blog/tag/azure-cli/) - [entity framework](https://oliverscheer.tech/blog/tag/entity-framework/) - [Database](https://oliverscheer.tech/blog/tag/database/) - [Blazor](https://oliverscheer.tech/blog/tag/blazor/) - [ASP.NET Core](https://oliverscheer.tech/blog/tag/asp-net-core/) - [Fluent UI](https://oliverscheer.tech/blog/tag/fluent-ui/) - [GitHub](https://oliverscheer.tech/blog/tag/github/) - [GitHub Action](https://oliverscheer.tech/blog/tag/github-action/) - [Azure OpenAI](https://oliverscheer.tech/blog/tag/azure-openai/) - [Semantic Kernel](https://oliverscheer.tech/blog/tag/semantic-kernel/) - [Aspire](https://oliverscheer.tech/blog/tag/aspire/) - [SQL Server](https://oliverscheer.tech/blog/tag/sql-server/) - [Container](https://oliverscheer.tech/blog/tag/container/)