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
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
When developers travel, we usually prepare the obvious things. Laptop charger. But there is one dependency that is easy to underestimate until it breaks: mobile internet. A trip to China makes this especially obvious. Not because China is hard to travel in, but because so many basic interactions are mobile-first: navigation, translation, ride-hailing, hotel communication, ticket confirmations, pay