I built a React form library 2 years ago. It got almost zero usage. Recently, I revisited the idea and realized the problem wasn’t the code — it was the approach. Most form libraries are powerful, but they come with complexity: too much setup too much wiring too much abstraction So I rebuilt it from scratch with one goal: Make forms stupidly simple. Every time I build a form in React, I repeat the
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
Book: PHP to TypeScript — A Bridge for Modern PHP 8+ Developers Also by me: The TypeScript Library — the 5-book collection My project: Hermes IDE | GitHub — an IDE for developers who ship with Claude Code and other AI coding tools Me: xgabriel.com | GitHub A PHP developer opens a TypeScript codebase, finds three classes that all need a timestamps() behaviour, types trait, and gets a red
🧠 Introduction (Context Setting) Modern JavaScript development is no longer just about writing code—it’s about managing an ecosystem of dependencies, tools, and workflows. At the center of this ecosystem are package managers like npm, Yarn, and pnpm, along with newer entrants like Bun. These tools define how you: Install libraries Manage dependencies Execute scripts Optimize performance and dis
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
I tested Claude's consistency across prompts — here's what I found Every developer building an AI-powered app assumes their LLM gives consistent answers. I did too — until I actually measured it. I built llm-test-kit, an open source test suite for LLM-powered applications. While building it, I ran hundreds of tests against Claude Sonnet and discovered something that surprised me. Claude is conte