I recently set up my new Surface Laptop Studio and had an issue where I could not see other participants on video in Microsoft Teams. Took me a bit to find the solution on Google so here’s what worked for me.
The trick was to go to the Microsoft Teams Settings in the main window (not in call) and check the “Disable GPU hardware acceleration (required restarting Teams)”.
Azure Table Storage is quite limited in the ways you can add filters to your queries. E.g. asking for all rows where PartitionKey starts with ‘abc’ is one of those cases that is not supported directly, but can be achieved with a little trick.
According to a message in the Azure Portal “Classic Application Insights is deprecated and will be retired in February 2024”. That means it’s time to think about how to configure Application Insights to store it’s data in a Log Analytics Workspace. You can do it manually in the Portal, but I prefer doing these things in Bicep so it can be replicated across all environments automatically.
UWP has a very nice app update mechanism outside of the store that allows you to publish new releases to a public-facing website – and UWP taking care of the rest. And while the docs recommend Azure Web Apps for this, you can get the same results for a lot cheaper using the Static Websites feature in Azure BLOB Storage.
Today I needed to migrate an Azure Logic App from a test environment into our project’s Ressource Group and connect it to the Blob Storage using Managed Identity. Since we already have pipelines in place with a nice little Bicep script for all the infrastructure I wanted it also to be part of this deployment process.
Here are the things that needed solving:
Deploying the Logic App with environment-specific parameters
Makeing it easy to update the Logic App definition without having to touch the Bicep file
Connecting Logic App to Azure Blob Storage using an Azure Managed Identity
Recently I had the requirement of retreiving the newest entry in an Azure Table Storage table. While there’s of course the Timestamp column that could be used to indetify the desired row, we would need to query the whole table to find the youngest date. This could be narrowed down by for example knowing on which day a record was added and filtering accordingly, but we’d probably still get multiple rows to check manually for the newest one.
In this post we will see how to efficiently delete all rows in an Azure Table Storage using the new(ish) Azure.Data.Tables SDK. We’ll try to optimize for speed while also being mindful about the memory.
Note: When deleting a lot of data from Azure Table Storage usually the fastest way is to just drop the whole table. However, we cannot be sure when exactly we’re able to create a new table with the same name since it can take up to a minute or even longer for Azure to actually get rid of the table.
When working with Azure Table Storage and Application Insights you might have noticed a lot of dependency errors, logging a 409 Conflict event everytime the CreateIfNotExists() method is called to make sure a table is available.
This is because the Azure.Data.Tables SDK will simply try to create a new table — and will hide the error if it already exists. While you don’t notice this in the code, by default Application Insights will catch this and clutter your logs with errors you probably don’t want.
Recently I wanted to migrate the documentation of my C# WordPress library WordPressPCL from the GitHub wiki to something more flexible. With version 2 of the libaray coming soon the idea was to move all the docs into a static site hosted with GitHub Pages and managed in Markdown files. Luckily with mkdocs it’s pretty straight forward to get this up-and-running quickly.