Blog

15 posts on Azure, AI, GitHub Copilot, and software engineering.

Start typing to autocomplete tags. Press Enter to add any tag or keyword as a filter.

VSCode window Frenzy: I let Copilot fix my multi-window Chaos in 15 min

How a tiny VS Code extension I built with GitHub Copilot finally stopped the madness of switching between six identical looking editor windows.

I have a bad habit. I open too many VS Code windows at the same time. On a typical morning, I have a couple of projects opened, plus one or two random windows from old tasks I forgot to close. Sometimes six windows at on...

VSCode window Frenzy: I let Copilot fix my multi-window Chaos in 15 min

Copilot CLI the isolation journey

Why I decided to run Copilot CLI inside a devcontainer, the isolation options I considered, and the small workflow that works for me right now.

When Copilot CLI came out, I liked the idea immediately. I spend a lot of time in the terminal, so an AI assistant that can help in both interactive and non-interactive shell sessions felt naturally interesting to me. At...

Copilot CLI the isolation journey

TDD with AI agents: Red, Green, Refactor still works

Traditional TDD maps surprisingly well to multi-agent AI workflows. I tested Red-Green-Refactor with separate agents for each phase and found that the discipline of TDD matters even more when AI writes the code.

I wrote about and briefly showed a TDD orchestration pattern with Red, Green, and Refactor agents. That section was a teaser. I wanted to go deeper. I am a big fan and a practitioner of XP and TDD. but i have been experi...

TDD with AI agents: Red, Green, Refactor still works

Copilot CLI is a unix app

If you think about GH Copilot CLI with a few flags, it becomes a headless command-line tool you can pipe, script, and chain just like grep or jq.

So far most patterns i have seen with Github copilot CLI is either interactive or headless in CI, but it is not the only way, and honestly, for a lot of my use case, it is what i do with it. I am all over the place doing...

Copilot CLI is a unix app

Copilot multi-agent coordination

I spent weeks building multi-agent workflows in GitHub Copilot. I learned some valuable lessons, from simple Plan-Agent splits to TDD orchestration, parallel code review, and cloud sessions, with real .agent.md files you can copy.

A couple of months ago I wanted to build a new API endpoint with permission checks, tests, and documentation. I also wanted to experiment properly with the multi-agent features in GitHub Copilot. Probably a lot of you ca...

Copilot multi-agent coordination
Adham 15 min read

Testing IaC with Azure Resource Graph - Part 2

Design patterns for building a testing DSL on top of Azure Resource Graph, illustrated with an AKS module contract that validates public and internal cluster profiles in CI.

In , we went the hard way. Raw KQL files, a shell runner, and a simple "zero rows = pass" convention. That approach works when you have a handful of checks, but it starts showing cracks when your team grows. Someone open...

Testing IaC with Azure Resource Graph - Part 2
Adham 3 min read

Why I switched from Jekyll to Astro

I loved Jekyll for years and still do. but i moved pavingLogic,com to Astro.

I have been using Jekyll for a long time. And honestly, I loved it. It is simple, it is well designed, and it does exactly what a static site generator should do. For personal blogs and documentation sites there is very...

Why I switched from Jekyll to Astro
Adham 10 min read

Testing IaC with Azure Resource Graph - Part1

How to use Azure Resource Graph KQL queries and the az graph CLI command to validate, audit, and smoke-test your IaC deployments without writing a single test framework.

This post is for teams that treat infrastructure as real software. If you like to do TDD for IaC, or you prefer writing your spec first and then proving the deployment matches it, this approach fits very well. It is also...

Testing IaC with Azure Resource Graph - Part1

Mermaid & Copilot: A love/hate journey with diagrams as code

My honest experience with Mermaid diagrams, what I love about them, what drives me crazy, and how GitHub Copilot made me use them way more than I expected.

I never liked making diagrams. Not because diagrams are useless. They are extremely useful. But because the process of making them always felt wrong to me. Open a GUI tool, drag boxes around, align arrows pixel by pixel,...

Mermaid & Copilot: A love/hate journey with diagrams as code
Adham 7 min read

Underrated: Azure Static Website Hosting

A cheap and powerful way to run a full frontend on Azure Storage, with safe rollout patterns using one storage account, release folders, and a tiny switch file.

Most people hear "Azure Storage" and think blobs, backups, logs, archives. Not frontend platforms. But Azure Static Website Hosting is one of those underrated tools that can run a serious production frontend for very low...

Underrated: Azure Static Website Hosting
Adham 12 min read

AKS + corporate proxy

Route AKS outbound traffic through a secure proxy or firewall in another tenant by using Azure Private Link Service, without VNet peering.

Many AKS teams hit the same problem. Security says all outbound traffic must go through a controlled egress point. This can be a corporate proxy, a next-generation firewall, or an inspection appliance. In many cases, tha...

AKS + corporate proxy
Adham 12 min read

Underrated: Custom Azure CLI extensions

Azure CLI extensions let you add your own commands with Python. This post shows two real examples: wrapping kubectl login and building a YAML-driven compliance reporter.

Most people who use Azure CLI never think, "I should build my own extension." They install whatever already exists, run a few commands, and move on. That is totally normal, but it also leaves a lot of productivity on the...

Underrated: Custom Azure CLI extensions
Adham 4 min read

github.dev feels like home

A human look at why github.dev feels easier than the native GitHub editor, especially when your brain wants less UI switching.

Some tools feel small until one stressful day, and then they become part of your survival kit. For me, that tool is github.dev. I always struggled with the standard GitHub PR review flow when I need to edit during review...

github.dev feels like home