I'll be speaking at HELish Summit 2026 on Thursday, September 17th with my old colleague and great friend Gautam Sheth! If you're interested in Microsoft 365, Copilot, Azure, Power Platform, security, or AI - or just enjoy spending a day surrounded by people who are maybe a bit TOO enthusiastic abou...
The era of free AI is over . But you can still choose between paying for GitHub Copilot AI Credits, paying for API consumption in Azure AI Foundry, or running local LLMs (large language models) on your own hardware. This article explains the alternatives to just writing a blank check to Microsoft.
Alright, I'm back to work, and the first days have been a bit of a whirlwind (as usual). And the excitement started when opening my trusty Dell XPS laptop.
The summer is finally here, and I'm on vacation. The blog will be quiet for the next 3 weeks or so, as I'm trying to survive the hail, thunder and mosquitoes of the Finnish summer.
Maybe nobody else needs a note to remember how to update an event in a M365 Group Calendar, but I do. And since I do, I figure it's worth documenting it here.
This week, I've had to go back to the basics - but with a twist. I ran into an issue with Copilot Cowork where it was failing to update output documents. And the fix was TRULY a classic one! Anyway - read on to have a laugh. Or maybe weep with me.
And now for something completely different! I had a disagreement with my wife a while ago. See, I've long suspected that our old house - originally built in the 1950s - has an air quality problem. Just a minor one, but still a problem.
If you're anywhere near Madrid on June 4th and enjoy Microsoft 365, Copilot, developer tooling, or just a good tech event with smart people in the room, this is your cue: come join us at CollabDays Madrid 2026 .
A week ago, GitHub announced they've been hacked. A hacker group called TeamPCP had extracted roughly 4000 private repositories and who-knows-how-much more data from GitHub's internal systems. This sounds like a pretty big deal (and it is!), but I fear we're not taking the right lessons from it.
So this week, I'm writing about something completely different. And not something nice. No, this week, I'm writing about licensing. I hate licensing. But I also hate search engines and AI assistants not being able to come up with clear answers about simple questions - and that is exactly what happen...
In this article, I'll share the least fun error I've recently had to deal with while building / deploying bots - I mean, agents - with Bot Framework, I mean, Microsoft 365 Agents SDK on macOS. And of course how to get around the issues.
This week I'll be in Cologne for the European Collaboration Summit 2026 - one of the largest Microsoft 365 conferences in the world - and I'll be presenting a session together with my good friend Michaël Maillot on the Microsoft 365 Agents SDK.
A week ago I wrote about how the all-you-can-eat AI buffet is seemingly coming to an end, and how practically every major AI vendor has been tightening the screws.
In this article, I'm going to break the bad news for you: The all-you-can-eat AI buffet is closing. In the near future, we'll all get to pay by the pound.
In this article, I'll share how I estimate solar panel output in Home Assistant using a simple Lux/UV sensor from my Bresser 7-in-1 weather station, after losing direct access to inverter data when I got a home battery system.
This article explains another dumb issue I ran into. Suddenly - without a warning - a Blazor app running on an Azure App Service starts becoming unresponsive. And this happens without any changes by you.
In this week's article I'm sharing some of my experience with installing Copilot Studio Agents in Microsoft Teams. Namely, how to install them even when Teams says "no". Background So you have built a beautiful Copilot Studio Agent, and now you want to use it in Microsoft Teams.
This article explores the problematic task of adding an online calendar to New Outlook (NEW), and how to work around the issue by using Outlook on the web (OWA) instead.
What exactly is happening in the USA? The once-great country seems hell-bent on shooting themselves in the foot again, again and again, and knowing what a bad shot most people are, I've chosen to stay out of the line of fire this time around and canceled my travel plans.
Yesterday, Microsoft announced the next big steps in their, I mean, everyone's AI journeys in the M365 space! Namely, we now know that Agent 365 is going to cost $15/user/month.
This article is my love letter to the 25-year-old workhorse in the Microsoft ecosystem - SharePoint. Let me take you on a wild ride through my personal journey and love-hate relationship with SharePoint! Intro So on March 2nd, 2026, SharePoint turned 25 years old.
In this article, I'll show you how to get notified by Graph API about the latest changes like file updates in your SharePoint document library. This is a common scenario for many organizations that use SharePoint as their primary document management system, and it can be really useful to have near r...
In this article I'll explain a simple way to fix the "Filename too long" error when using Git on Windows, which can be especially frustrating when it works fine on other platforms like macOS.
Did your Frontier Office Agents vanish without a trace? Don't panic—you're not alone. Many Microsoft 365 users have experienced the frustration of losing access to their custom Frontier Agents. The good news? They're not gone for good.
Ever had one of those conferences that are fun, informative, and did I say - fun? No matter whether you're a speaker or an attendee, Cloud Tech Tallinn 2026 was one of those! For me personally, what started as "hey, we should geek out on this new AI stuff" with Michael Maillot over half a ...
If you are attending CTTT26 in the beautiful city of Tallinn on January 29-30, come say hi! I will be there both days, and would love to chat about all the exciting things happening in the world of Microsoft 365 and AI agents.
Stop sending mail to the wrong people because Microsoft buried the controls behind two completely different and hidden UIs. This guide shows how to edit members of M365 (Unified) Groups and classic Distribution Lists using Outlook Web and the Exchange admin center, safely and without accidentally gr...
A working service can stop answering overnight when the IP beneath your AKS ingress changes — and when DNS records or firewall rules depend on that address, the fallout can be immediate and painful! This article explains why AKS sometimes changes public IPs, how to tell whether your cluster uses a s...
It’s that end‑of‑year ritual again — a short pause to look back at what actually happened, what broke, and what was surprisingly useful. This year mixed wins with plenty of frustration: Frustration with unreliable hardware and Windows, cold start with macOS, the challenge of balancing family, work, ...
My Windows 11 machine decided to go belly up just before Christmas, so I got to have some fun reinstalling Windows from scratch. I was hoping for a MacBook Pro for Christmas, but alas - it seems that Satan got me a fresh Windows installation to deal with instead.
This is not my typical blog post, where I introduce a problem, talk a little bit about the background, dive in to the technical stuff, rant for a while and then explain how to get around the issue (or even fix it!) No - this time, in the spirit of ranting, I'm just venting.
SSL certificates - some days they'll give your end users that false sense of security that only a beautiful green lock icon can bring, and some other days they'll throw you in a world of pain because one randomly expired and hence the API you use to update your certificates is now inaccessible.
Ever thought Azure CLI was your reliable sidekick on Windows? Ha! You'd think so, until "Decryption failed: Key not valid for use in specified state" hits you out of nowhere.
Ah, the joys of Kubernetes wrangling – where even a "simple" cert swap feels like herding a bunch of ferrets on meth through a YAML labyrinth. Or so I've been led to believe by local ferret owners, when I tell them about my adventures with AKS.
Ever wondered if shelling out for a top-tier Windows laptop really delivers the bang for your buck in development speed, or if a budget Mac mini could punch above its weight? Stop wondering, and start reading, because I've got the answers for you.
Ever tried editing a file on your ReFS Dev Drive only to get "This media is write-protected" or "unexpected error code 19"? Welcome to the non-deterministic future of operating systems, where a sneaky update or a rogue policy can all but brick your drive - while tools like diskpa...
Oh, Blazor Static - the dazzling, lightning-fast static site generator that turns your Blazor components into HTML gold. One of the rare pieces of tech that makes me happy day after day that I'm using it for my static sites.
Ever wished GitHub Copilot could read your mind (or at least your repository's README)? You're not alone - it's time to turn your AI assistant into a well-behaved coding partner, who actually does what you want. Say "NO!" to more random changes and weird side paths.
This article explains what happened to the "Share to Yammer" button, which was discontinued at the end of Q2 2025, and what you can do now. The historical context Yammer was acquired by Microsoft in 2012.
This article explains how you can keep using Windows 10 for another year, even though Microsoft has officially ended support for it. Background (rant) I'm not going to lie - right now I would not buy a Windows computer. It just feels like a risk you don't need to take.
In this article, I'll get back to basics of KQL in SharePoint Online's Search Service, and explain how to target a Managed Metadata term and its children. Maybe everyone else just remembers how to do this straight off the bat, and how the service behaves in different scenarios... But I don't.
This article explains how to diagnose and fix a Dell XPS 15 laptop that won't start, indicated by blinking LED lights. It includes a list of blink codes and a step-by-step guide to resetting the BIOS.
This article explains how to obtain OAuth access tokens for SAP SuccessFactors OData endpoints using the SAML 2.0 Bearer Assertion flow. I wouldn't normally write about SAP. It's one of the TLAs that gives me shivers, and I'd rather stay away from it.
This article explains the weird history of the M365 Skills offering, which has been renamed and rebranded more times than I can count. If you want the TL;DR - skip the history and jump to the "What do you need to know about People Skills in M365?" section.
Helloooooooo Stockholm! Are you coming to Teamsdagen on 17th of September? Because you probably should! Teamsdagen is Sweden's premier conference dedicated to Microsoft Teams, bringing together experts, innovators, and enthusiasts for a couple of days full of inspiring keynotes, hands-on workshops, ...
CollabDays Finland/Helsinki was last week, and boy was it an interesting trip! I feel super fortunate having the opportunity to do some fun traveling for work, and the privilege to speak and meet people at these community events.
This article explains some of the pros and cons of the M365 Agents SDK: The ambitious successor to Teams Toolkit, and why you should care about it. I'm also sharing some of my and my peers experiences developing with it.
There are a lot of ways SSO can break for your bot or agent on Teams/M365 Copilot/any other M365 app. I don't even know how to explain the extensibility in M365 now, so this word salad is what you get.
In this article, I will share some of my first experiences using GitHub Copilot Coding Agent (or "SWE Agent" as it was known before), and some quick tips for getting the most out of it.
In this article, I'm complimenting Microsoft on making a fantastic app, after which I'll have the questionable pleasure of announcing that the app is going away. Because Microsoft Lens, the app that made scanning, saving and sharing documents and whiteboards a breeze, is being discontinued.