Latest Posts
Using Parallels 19 to run Windows 11 on macOS
In this post, I share my experience running Windows 11 on Apple Silicon using Parallels 19, addressing common questions about ARM architecture and software compatibility. I provide practical advice on licensing, RAM allocation, and installation methods to help you set up a smooth virtualization environment on your MacBook.
Building a private ChatGPT service without custom code using Azure OpenAI
Discover how to build a private, enterprise-grade ChatGPT service using Azure OpenAI without writing any custom code. I will walk you through the key differences between OpenAI and Azure OpenAI, guide you through the access request process, and show you exactly how to provision the necessary resources in the Azure portal.
How to prepare for Microsoft Security Copilot
As Microsoft Security Copilot nears release, I outline practical steps you can take today to prepare for its arrival. I recommend auditing your current security services to identify relevant data points and establishing a separate test tenant to safely trial the AI's capabilities without impacting your production environment.
Fixing a Voyager Focus UC headset with a new battery
If you have a dead wireless headset that is too expensive to replace, this guide shows you how I successfully revived my Plantronics Voyager Focus UC by swapping out its failed lithium-ion battery. I detail the specific replacement part I used, the challenges of soldering tiny wires without professional tools, and the satisfaction of restoring the device to its original 14-hour battery life.
Deploying an Enterprise ChatGPT with Azure OpenAI
I explore the enterprise benefits of deploying a private ChatGPT using Azure OpenAI, highlighting how the Azure Chat solution allows companies to maintain full control over data privacy and access. I share my hands-on experience setting up this architecture, including practical tips on provisioning resources, navigating access requirements, and leveraging my forked repository since Microsoft removed the original public source.
Connecting to Exchange Online with Connect-ExchangeOnline is slow within Azure Function
If you are struggling with slow connection times and excessive memory usage when using Connect-ExchangeOnline in Azure Functions, this post shares practical fixes that drastically improved my performance. I explain how specifying the CommandName parameter and properly managing session cleanup with Disconnect-ExchangeOnline and garbage collection reduced my execution time from 35 seconds to just 4 seconds while keeping memory usage well under control.
Jussi Roine
Microsoft MVP and consultancy founder with 30+ years of experience, passionate about Microsoft security, AI governance, and sharing what I learn along the way.