This technical post walks through the design and implementation of Secure Playground: a local web app that simulates prompt-injection attacks against large language models and demonstrates simple defenses. Provide a minimal, reproducible environment to test payloads and defensive strategies. Make it easy to add new providers and run mutation-based red-team experiments. Offer a leaderboard and scor
If you want the failure-mode and testing path through the catalog, start here. Recommended route: Service Worker Failure Modes in Offline-First PWAs Rollback Patterns in Offline-First PWAs Testing IndexedDB Schema Migrations in Offline-First PWAs Offline Queue Replay and Idempotency in Offline-First PWAs If you want privacy-first, offline health tech to exist without surveillance funding it: spons
Book: The Complete Guide to Go Programming Also by me: Thinking in Go (2-book series) — Complete Guide to Go Programming + Hexagonal Architecture in Go My project: Hermes IDE | GitHub — an IDE for developers who ship with Claude Code and other AI coding tools Me: xgabriel.com | GitHub You write a validation function. Five rules. Email format, password length, age range, country code, ter
Metasploitable2 - FTP Exploitation using vsftpd 2.3.4 Backdoor 1. Objective To identify and exploit a known vulnerability in an FTP service running on a vulnerable target machine using industry-standard reconnaissance and exploitation techniques. 2. Lab Environment Component Description Attacker Machine Kali Linux Target Machine Metasploitable2 Network Type Host-only / NAT
Ledgers are the heartbeat of any financial companies, fintech or old school financial. Not the API gateway, not the mobile app, not the underwriting model. The ledger Banks have known this for centuries. Fintechs sometimes need to rediscover it the hard way. On fintech world Revolut runs multi-currency, multi-product financial infrastructure across 35+ countries. Stripe moves money and extends c
So far, we’ve seen: The model decides what to do The MCP server executes it But something is missing. Who actually connects these two? That’s the MCP client. The MCP client is: The component that connects the model and the MCP server, and manages the entire interaction between them. It’s easy to think: “The model calls the server directly” But that’s not what happens. 👉 The model only generates i
The first morning of Blue Ridge Ruby, John Athayde stood at the front of the YMI Cultural Center and showed us pictures of trees. Forests. His own land. The projector at the venue was so good that the photos felt like windows. His talk, Learning from Permaculture: Sustainable Software Development, used permaculture principles to talk about how we tend our codebases. I came in expecting a Ruby conf
This is Part 1 of a two-part series. Part 2 (coming soon): Connecting to spoke clusters from a controller using multicluster-runtime, driven by ClusterProfile. The Cluster Inventory API (multicluster.x-k8s.io) is driven by SIG-Multicluster and centered on the ClusterProfile resource. It only delivers value when something produces those ClusterProfiles. That something is a cluster manager. Today, t