Book: Hexagonal Architecture in Go 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 sit down to write the first test for a new Go service. Reflex kicks in. You reach for mockgen, or mockery, o
We all understand that free services from a company that is spending billions on computing power won't remain free. It's inevitable. But the reality is we are all already using Codex. OpenAI recently announced that Codex was made available in ChatGPT for free, but access was limited. At the moment, developers can use code completions, refactorings, or generate entire functions without spending any
macOS tar destroys files on Linux: I validated it in my real Railway pipeline and documented the 3 cases nobody mentions There's a Hacker News thread that resurfaced this week with 107 points about a 2024 article: tar on macOS creates archives that Linux can't extract cleanly. The community reacted the way it always does — "use GNU tar", "install gtar with Homebrew", "this has been known for yea
Tar en macOS destroza archivos en Linux: lo validé en mi pipeline real de Railway y documenté los 3 casos que nadie menciona Hay un hilo en Hacker News que resurfaceó esta semana con 107 puntos sobre un artículo de 2024: tar en macOS crea archivos que Linux no puede extraer limpiamente. La comunidad reaccionó como siempre: "usá GNU tar", "instalá gtar con homebrew", "esto es conocido desde hace
I assumed chunking was a solved problem. Pick a text splitter, set 512 tokens, add some overlap, move on. After running structured experiments across three different data types, that assumption collapsed. The best chunker for markdown documentation actively hurt performance on code. The winner changed completely depending on what I was chunking. Data type Winner Headline metric Markdown doc
Python has optional type annotations - also called "type hints". Like this: def entry_to_dict(entry: Entry) -> dict: return { 'title': entry.title, 'num_likes': entry.num_likes, 'url': entry.url, } The annotations here being "Entry" as the type for the "entry" argument, and "dict" as the return type. In fact, there are at least 3 ways type annotations can be us
Book: TypeScript Essentials — From Working Developer to Confident TS, Across Node, Bun, Deno, and the Browser 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 team I talked to had a service that crashed roughly twice Cannot read properties of u
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 tiny utility. A generic Min function. Two arguments, returns the smaller one. The first vers