Damir Arh's Avatar

Damir Arh

@damirscorner.com

Microsoft MVP. Software architect and polyglot developer. Mobile apps. Development process optimization. Climbing and hiking with my dog in spare time.

119
Followers
155
Following
50
Posts
24.11.2024
Joined
Posts Following

Latest posts by Damir Arh @damirscorner.com

Preview
Logging into Teams without a license In the company I work for, we're not using Teams internally and our users don't have a license for it. But some of our customers do use Teams and pay for it. They also add users from our Entra ID whic...

How I fixed failing Teams login for users without a license in their primary organization

www.damirscorner.com/blog/posts/2...

#teams #azure

27.02.2026 06:30 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Preview
Disable Quarkus endpoints with a request filter I needed a simple way to disable all endpoints in a Quarkus application based on a configuration property. A request filter was the right tool for the job, but some care had to be taken to not also di...

A simple feature flag to disable all endpoint in Quarkus

www.damirscorner.com/blog/posts/2...

#quarkus #java

02.01.2026 06:19 ๐Ÿ‘ 2 ๐Ÿ” 1 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0
Preview
Switching between JDKs in Windows IntelliJ IDEA does a great at managing multiple different JDK versions and using the right one for each project. However, a different solution is needed for the command line. I tried vfox, but I could...

I use PowerShell scripts to switch between JDKs in Windows

www.damirscorner.com/blog/posts/2...

#intellijidea #java

26.12.2025 07:45 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Preview
Git repository on a network share I recently played around with having some version-controlled files on a remote Linux server with SSH access. I still wanted to edit them locally in Visual Studio Code, so the Remote - SSH extension se...

How I configured a Git repository on a shared remote directory

www.damirscorner.com/blog/posts/2...

#git #visualstudiocode

19.12.2025 06:18 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Preview
Per-folder git configuration My work consists of writing code for multiple clients and for some of them I need to use a different email in my git commits. I recently learned that there is a better approach for handling this than ...

I use conditional includes to configure my email for all repositories in a folder

www.damirscorner.com/blog/posts/2...

#git

14.11.2025 06:19 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Preview
Adding a second NIC to Proxmox VM As I'm adding more services to my home lab server, I reached a point at which I want to expose some of them to the internet but keep others available only in the internal network. To securely do so fr...

I added another network interface to a Linux virtual machine I use for hosting Docker containers

www.damirscorner.com/blog/posts/2...

#linux #proxmox #docker

07.11.2025 06:19 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Preview
PowerShell Tab Title in Windows Terminal I often have several tabs open in my Windows Terminal. And I like how I can easily identify the right one by its title if it's a tab for WSL or an SSH connection. Fortunately, PowerShell can also auto...

Oh My Posh can be configured to automatically change tab titles in Windows Terminal

www.damirscorner.com/blog/posts/2...

#powershell

31.10.2025 06:18 ๐Ÿ‘ 3 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Preview
Installing 32-bit Xerox printer in Linux With Windows 10 support officially ending, I decided to install Linux Mint on one of my older machines which isn't supported by Windows 11. The transition was really smooth for the most part with the ...

I wrote about the process of getting my old Xerox printer to work in Linux

www.damirscorner.com/blog/posts/2...

#xerox #printer #linux

17.10.2025 06:18 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Preview
Switching to NuGet trusted publishing When the support for trusted publishing on NuGet was announced, I decided to try switching to it for my side project as soon as possible. The process ended up being very smooth.

I updated my NuGet package publishing GitHub Actions workflow to use trusted publishing

www.damirscorner.com/blog/posts/2...

#nuget #dotnet #github

03.10.2025 06:18 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Preview
Selective VPN routing in Windows I mostly work remotely and to gain access to many work resources, I need a VPN connection to my office. When you connect, all of your network traffic is routed through the VPN connection by default. T...

I created a PowerShell script to simplify adding new network routes

www.damirscorner.com/blog/posts/2...

#powershell #networking #windows

26.09.2025 06:18 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Preview
What's new in C# 14 Since a new version of .NET is being released every autumn, C# has also adopted the same cadence. So, this November C# 14 is going to be released alongside with .NET 10. In this talk, we will take a l...

Slides and demo from my C# 14 talk at NT konferenca 2025

www.damirscorner.com/sessions/202...

#csharp14 #csharp #dotnet #ntk25

24.09.2025 18:24 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Preview
User defined compound operators in C# 14 Operator overloading has been a part of C# since its very first version. The functionality has remained the same until the introduction of generic math in C# 11 when some changes were made to shift op...

New options for overloading operators in C# 14

www.damirscorner.com/blog/posts/2...

#csharp14 #csharp #dotnet

19.09.2025 06:18 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Preview
Disambiguation of extension members in C# 14 In my previous two blog posts, I wrote about extension members in general and generic extension members. But there's one more topic related to extension members I'd like to cover: how ambiguous extens...

Multiple extension members with the same signature can cause ambiguity when they are all in scope

www.damirscorner.com/blog/posts/2...

#csharp #dotnet

12.09.2025 06:17 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Preview
Generic extension members in C# 14 I already wrote about extension members in C# 14 in my previous blog post, but I only covered the non-generic members. Since generics were fully supported in extension methods, they are of course also...

As you would expect, the extension everything in C# 14 works with generics as well

www.damirscorner.com/blog/posts/2...

#csharp #dotnet

05.09.2025 06:18 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Preview
Extension members in C# 14 Extension members are the largest new feature of C# 14. We have been hearing about it for quite a while, also under the name of extension everything and extension types. It was expected to be released...

The long awaited extension everything feature is finally here with C# 14

www.damirscorner.com/blog/posts/2...

#csharp #dotnet

29.08.2025 06:18 ๐Ÿ‘ 3 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Preview
Buggy Created response in ASP.NET Core 8 After getting a bug report that an ASP.NET Core Web API endpoint is returning 204 (No content) instead of 201 (Created), it turned out that the bug wasn't in the application code but in .NET.

There's a bug in .NET 8 version of Created() method

www.damirscorner.com/blog/posts/2...

#aspnetcore #dotnet

22.08.2025 06:19 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Preview
Field keyword in C# 14 The next C# 14 feature I took a closer look at was the field keyword. Similarly to the null-conditional assignment, it can reduce some of the boilerplate code you need to write. But it's not just synt...

The new field keyword in C# 14 can simplify your properties and improve their encapsulation

www.damirscorner.com/blog/posts/2...

#csharp #dotnet

15.08.2025 06:19 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Preview
Null-conditional assignment in C# 14 As the release of C# 14 is coming closer and most of the features are already available in preview, I decided to try them out myself. I started with null-conditional assignment, a syntactic sugar feat...

Pros and cons of null-conditional assignment in C# 14

www.damirscorner.com/blog/posts/2...

#csharp #dotnet

08.08.2025 06:20 ๐Ÿ‘ 2 ๐Ÿ” 1 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Preview
OpenTelemetry collection in Rider When JetBrains announced the availability of an OpenTelemetry plugin for Rider, I decided to give it a try. I've examined the options for OpenTelemetry collection during development in the past and wa...

The OpenTelemetry plugin for Rider looks promising

www.damirscorner.com/blog/posts/2...

#opentelemetry #rider #dotnet

01.08.2025 06:21 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Preview
Limit web API response time When an ASP.NET Core Web API REST service endpoint makes further calls to upstream REST services or interacts with other potentially slow resources, its response time strongly depends on the response ...

.NET provides various tools to ensure a timely response from a REST endpoint

www.damirscorner.com/blog/posts/2...

#dotnet #aspnetcore

25.07.2025 06:19 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Preview
Backing up my Windows workstation using restic After I successfully configured restic backup for my Linux home lab server, I wanted to do the same for my Windows workstation.

Restic works just as good on Windows as it does on Linux

www.damirscorner.com/blog/posts/2...

#backup #synology #restic

18.07.2025 06:18 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Preview
Backing up Linux home server using restic Since I bought an ASUS NUC some months ago to act as my home lab server, I started to rely on a couple of applications running on it. That meant it was time to set up a proper backup as a safeguard in...

I'm happily using restic for backing up my Linux home server

www.damirscorner.com/blog/posts/2...

#backup #synology #restic

11.07.2025 06:18 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Preview
Backup setup for my Synology NAS As I'm slowly replacing cloud services with self-hosted ones, I'm relying on my Synology NAS more and more. This encouraged me to rethink its backup strategy. I configured two separate backups: one to...

I sleep better knowing that my Synology NAS is properly backed up.

www.damirscorner.com/blog/posts/2...

#backup #synology #hetzner

04.07.2025 06:17 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Preview
Logging to file in .NET Nowadays, it's common to send logs to your logging platform of choice either via a dedicated logger for that platform or via an OpenTelemetry exporter. But what if the logs have to be read from a file...

There is no built-in file logger in .NET

www.damirscorner.com/blog/posts/2...

#logging #dotnet

09.05.2025 06:17 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

I'm certainly glad it's still there.

05.05.2025 17:03 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

It is, right? I set it up years ago and it just worked. Until I wanted to get completions working and determined that the old version of oh my posh interfered with it.

05.05.2025 16:39 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0
Preview
Oh My Posh update to non-module version After my latest (not so) regular update of installed PowerShell modules, I was surprised by a breaking change in the Oh My Posh module. Fortunately, a link to an online migration guide was displayed d...

I was late to the Oh My Posh PowerShell module deprecation

www.damirscorner.com/blog/posts/2...

#powershell

02.05.2025 06:17 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0
Preview
Tab completions in PowerShell While learning about Fast Node Manager, I noticed completions for PowerShell being mentioned in the documentation. I wasn't aware of completions beyond filenames and cmdlets were even supported in Pow...

My tab completion configuration in PowerShell

www.damirscorner.com/blog/posts/2...

#powershell

25.04.2025 06:17 ๐Ÿ‘ 3 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Preview
Using Fast Node Manager in Windows When I visited the official Node.js download page after a long time, I noticed fnm (Fast Node Manager) listed as the default download option. I've been successfully using NVM for Windows as the versio...

fnm is a better NVM for Windows

www.damirscorner.com/blog/posts/2...

#nodejs #powershell

18.04.2025 06:17 ๐Ÿ‘ 3 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Preview
Debugging libraries from NuGet As I was troubleshooting my issues with Elastic logger configuration, I couldn't get the debugging in Visual Studio 2022 to work for the Elastic.Extensions.Logging NuGet package, although it appeared ...

Why SourceLink debugging in VS 2022 might not work for some packages

www.damirscorner.com/blog/posts/2...

#visualstudio #visualstudiocode #rider #dotnet

11.04.2025 06:17 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0