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
At the beginning of this series, the problem seemed simple. There were a lot of rocks in the yard. Some were small. Some were large. A few were firmly in what I’ve been calling Engine Block Class. The original idea was straightforward: catalog them, maybe sell a few, and build a small system around the process. Along the way, the project grew. What We Built Across the previous posts, the Backyard
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
A defaced website is a curious problem. It's loud — anyone visiting the page can see something is wrong. But it's also quiet from a server's perspective: HTTP returns 200, your uptime monitor is happy, your TLS cert hasn't moved, and the CMS logs show a "successful" content update from a legitimate-looking session. The signal is on the rendered page, not in the metrics. I run a site at hi3ris.blue