2026.08.21
The Web Revival Movement
Dead internet theory has a polar opposite — a quiet corner of the web still building personal sites by hand, and I fell down the rabbit hole.
2026.08.19
Defending an AI Email Tool Against Prompt Injection: Three Layers
Three defence-in-depth layers I built into Sift, my AI email triage tool, and what a real prompt-injection attack against it did and didn't prove.
2026.08.18
Cybersecurity Capstone — VIP Events (Stage 5: Policy Implementation)
The final stage of the VIP Events cybersecurity proposal — user authentication policy via Conditional Access, network configuration policy for the web app via Azure Policy, and why both are tested in non-production first.
2026.08.17
Cybersecurity Capstone — VIP Events (Stage 4: Testing and Validation)
Stage 4 of the VIP Events cybersecurity proposal — a test plan validating authentication, role-based access (including negative tests), MFA enforcement, and logging in the live Entra ID tenant.
2026.08.16
Cybersecurity Capstone — VIP Events (Stage 3: Roles and Access)
Stage 3 of the VIP Events cybersecurity proposal — integrating the VIP Foods application into Entra ID, defining eight least-privilege app roles, and mapping the security groups to them.
2026.08.15
MicroBudget: the bugs that taught me Python
Dollarwise is US-only, so I built the Australian version — and used it as an excuse to finally learn Python.