About
Hi, I’m Magnus Johansson
I’m a freelance software developer focusing on the Microsoft technology stack, and InsomniacGeek is where I write up the things I learn, build and troubleshoot — usually late at night, which is how the name came about.
The goal of this blog is simple: when I solve a problem that took me a while to figure out, I write it down so the next person (often my future self) doesn’t have to start from scratch. Most posts come straight from real, hands-on work rather than rehashed documentation.
What I work with
Over the years I’ve worked across a broad slice of the Microsoft ecosystem and the wider developer tooling world. The topics you’ll find most of here are:
- Cloud & DevOps — Microsoft Azure, Azure DevOps, self-hosted build agents and CI/CD pipelines
- .NET — C#, the
dotnetCLI and tooling, ASP.NET - Cross-platform & mobile — Flutter, Android SDK, Xamarin
- Automation & Windows — PowerShell, the Windows registry and developer environment setup
- IoT & electronics — Raspberry Pi, microcontrollers, lab equipment and home tinkering
- AI & developer tooling — including building a Model Context Protocol (MCP) server to let an AI assistant drive my oscilloscope
Experience & credentials
I’ve been building on Microsoft technologies for a long time and have been an active member of the developer community for just as long. A few places that reflect that:
- Stack Overflow — I’ve been answering and asking questions there since the site’s earliest days.
- Microsoft Learn / MSDN profile — my Microsoft community profile.
- LinkedIn — professional background and work history.
Beyond code
When I’m not at a keyboard, my biggest passion is music — I play the bass guitar. I also enjoy electronics and retro computing (I have a soft spot for the Commodore Amiga), and getting outdoors hiking in the Swiss mountains.
Get in touch
You can reach me by email at insomniacgeek @ insomniacgeek.com, or find me here:
LinkedIn · Stack Overflow · GitHub · Microsoft Learn · Mastodon · Threads · Twitter / X
See the Contact page for all the ways to get hold of me.
Support the blog
If something here saved you some time, you’re welcome to support the blog: