56,966 blogs · [ { "id": "01a0dd98-751f-7298-a7a7-8f7ad3af3dce", "title": "Your browser renders it, your agent obeys it", "url": "https://www.simonpainter.com/mcp-security-controls", "published_at": "2026-09-24T00:00:00+00:00" }, { "id": "01a0cfe3-f61a-70fd-a216-e7d5b2611eff", "title": "Building Azure Multicloud Interconnect to AWS", "url": "https://www.simonpainter.com/building-azure-multicloud-interconnect-to-aws", "published_at": "2026-09-19T00:00:00+00:00" }, { "id": "01a0cfe3-f61a-70fd-a216-e7d5b2d0e805", "title": "Direct Connect goes flat rate, and the war on egress gets a second front", "url": "https://www.simonpainter.com/direct-connect-goes-flat-rate", "published_at": "2026-09-16T00:00:00+00:00" }, { "id": "01a0cfe3-f61a-70fd-a216-e7d5b35f62da", "title": "Azure Firewall TLS inspection: what the certificates are doing", "url": "https://www.simonpainter.com/azure-firewall-tls-inspection", "published_at": "2026-09-15T00:00:00+00:00" }, { "id": "01a09546-3f83-72d9-ad78-b7165f3db7bf", "title": "Why I draw network diagrams in Mermaid", "url": "https://www.simonpainter.com/mermaid-for-network-diagrams", "published_at": "2026-09-11T00:00:00+00:00" }, { "id": "01a087e1-3f04-720e-819f-73a6eb617070", "title": "The cross connect I didn't have to build", "url": "https://www.simonpainter.com/the-cross-connect-i-didnt-have-to-build", "published_at": "2026-08-31T00:00:00+00:00" }, { "id": "01a087e1-3f05-71cc-b6f2-a57d64ef6154", "title": "Cloudflare redirect ruleset auth error: the permission I couldn't find", "url": "https://www.simonpainter.com/cloudflare-redirect-permissions", "published_at": "2026-08-13T00:00:00+00:00" }, { "id": "01a087e1-3f05-71cc-b6f2-a57d656f99e4", "title": "Protective DNS: An Essential Security Control for Hybrid Cloud Networks", "url": "https://www.simonpainter.com/protective-dns", "published_at": "2026-08-11T00:00:00+00:00" }, { "id": "01a087e1-3f05-71cc-b6f2-a57d663a26d1", "title": "Azure Virtual Network Routing Appliance goes GA", "url": "https://www.simonpainter.com/azure-virtual-network-routing-appliance-ga", "published_at": "2026-08-10T00:00:00+00:00" }, { "id": "01a087e1-3f05-71cc-b6f2-a57d66b148e2", "title": "Route Maps for Azure Route Server are now in Public Preview", "url": "https://www.simonpainter.com/public-preview-route-maps-for-azure-route-server", "published_at": "2026-08-01T00:00:00+00:00" }, { "id": "01a087e1-3f05-71cc-b6f2-a57d67682bfc", "title": "The certificate mismatch that stops you using privatelink FQDNs, and why it's deliberate", "url": "https://www.simonpainter.com/privatelink-certificate-mismatch", "published_at": "2026-07-20T00:00:00+00:00" }, { "id": "01a087e1-3f05-71cc-b6f2-a57d67f8e289", "title": "Two rulesets, one outbound endpoint: scoping DNS forwarding rules per VNet in Azure", "url": "https://www.simonpainter.com/two-rulesets-one-outbound-endpoint", "published_at": "2026-07-08T00:00:00+00:00" }, { "id": "01a087e1-3f05-71cc-b6f2-a57d6843707c", "title": "How DHCP really updates DNS", "url": "https://www.simonpainter.com/how-dhcp-updates-dns", "published_at": "2026-06-17T00:00:00+00:00" }, { "id": "01a087e1-3f05-71cc-b6f2-a57d68796085", "title": "Random by design: how AWS made expander-graph data centre fabrics work", "url": "https://www.simonpainter.com/aws-random-graph-fabrics", "published_at": "2026-06-03T00:00:00+00:00" }, { "id": "01a087e1-3f05-71cc-b6f2-a57d6881d420", "title": "DNS AID: decentralized AI agent discovery via DNS", "url": "https://www.simonpainter.com/dns-aid-agent-discovery", "published_at": "2026-05-28T00:00:00+00:00" }, { "id": "01a087e1-3f05-71cc-b6f2-a57d68a51686", "title": "Making simonpainter.com WCAG 2 AA compliant, and keeping it that way with CI", "url": "https://www.simonpainter.com/accessibility-and-ci", "published_at": "2026-05-25T00:00:00+00:00" }, { "id": "01a087e1-3f05-71cc-b6f2-a57d693a56f8", "title": "S2S VPN certificate authentication is now generally available", "url": "https://www.simonpainter.com/generally-available-site-to-site-vpn-connections-with-certificate-authentication", "published_at": "2026-05-25T00:00:00+00:00" }, { "id": "01a087e1-3f05-71cc-b6f2-a57d699f50e1", "title": "Hybrid Cloud Reference Architectures", "url": "https://www.simonpainter.com/hybrid-cloud-dns", "published_at": "2026-05-21T00:00:00+00:00" }, { "id": "01a087e1-3f05-71cc-b6f2-a57d69efd4c9", "title": "How to write inclusive language rules in Copilot instructions", "url": "https://www.simonpainter.com/inclusive-language-copilot-instructions", "published_at": "2026-05-21T00:00:00+00:00" }, { "id": "01a087e1-3f05-71cc-b6f2-a57d69f10391", "title": "From chatbots to workflows: why the GitHub app is the next step", "url": "https://www.simonpainter.com/github-app-next-step", "published_at": "2026-05-14T00:00:00+00:00" }, { "id": "01a087e1-3f05-71cc-b6f2-a57d6a593de5", "title": "Meet uping: pronounced 'micro ping'", "url": "https://www.simonpainter.com/uping", "published_at": "2026-05-11T00:00:00+00:00" }, { "id": "01a087e1-3f05-71cc-b6f2-a57d6afb74d7", "title": "CNAME rules in DNS - what you need to know", "url": "https://www.simonpainter.com/cname-rules", "published_at": "2026-05-05T00:00:00+00:00" }, { "id": "01a087e1-3f05-71cc-b6f2-a57d6aff17a9", "title": "IPv8: a late and confused April Fool", "url": "https://www.simonpainter.com/ipv8-april-fools", "published_at": "2026-04-21T00:00:00+00:00" }, { "id": "01a087e1-3f05-71cc-b6f2-a57d6bd38eb8", "title": "Ping is lying to you - try these instead", "url": "https://www.simonpainter.com/network-tools", "published_at": "2026-04-21T00:00:00+00:00" }, { "id": "01a087e1-3f05-71cc-b6f2-a57d6c8064d7", "title": "Vibe code project: Internet Map", "url": "https://www.simonpainter.com/internet-map", "published_at": "2026-04-19T00:00:00+00:00" } ] posts Claim your blog
Back to simonpainter.com
Blog · corpus.blog/blogs/simonpainter.com/posts

simonpainter.com

simonpainter.com

2026