In my last article, I mentioned that my SAST tool uses regex-based pattern matching instead of AST parsing, and that this was a deliberate tradeoff. A few people asked me to go deeper on that decision — because on the surface, it sounds like I took a shortcut. I didn't. Or rather — I did, but it was an informed shortcut, and there's a meaningful difference. Let me explain what AST parsing actually
All Algorithms implemented in Python
AutoGPT is the vision of accessible AI for everyone, to use and to build on. Our mission is to provide the tools, so that you can focus on what matters.
You don’t notice the problem right away. Everything runs smoothly in MySQL… until a new report shows up. Then queries slow down, dashboards lag, and you start realizing you’re stretching the database beyond what it’s good at. That’s usually when BigQuery enters the picture. So the real question becomes: How do you actually move data between them without turning it into a side project? Let’s w
The Challenge: Beyond the "Lift and Shift" Fatigue The real fear isn’t migration itself—it’s operational fragmentation: different tools, different processes, and different failure modes between the data center and the cloud. After deep-diving into the Nutanix ecosystem, I realized that the goal shouldn't be just moving VMs, but achieving operational symmetry. This is where Nutanix Cloud Clusters
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: AI Agents Pocket Guide: Patterns for Building Autonomous Systems with LLMs 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 A support agent answers "no, your order shipped on time" with full
When you automate backups, you eventually discover the backup was not the hard part. The hard part was everything around it. This week I got a nice little reminder from my self-hosted agent setup: the backup job can be logically correct, authenticated, scheduled, and still fail because of two very boring constraints: Docker-owned files are not always readable by the user running cron. GitHub Relea