RSSAmplifier

Blog

Glen Baker on Entropic Drift

Recent content in Glen Baker on Entropic Drift

entropicdrift.comRSS feed ↗27 posts

Latest posts

Debtmap Adds Go and Solidity Support for Web3 Code Review

Debtmap started from a practical thesis: bugs tend to correlate with certain kinds of code. Not perfectly. Not mechanically. But enough to be useful. Complex functions are easier to misunderstand. Frequently updated files are places where design pressure is still active. Historical bug hot spots are worth treating with suspicion. Low test coverage makes changes riskier. Code that developers avoid…

Debtmap 0.16.7: Faster Code Debt Analysis for Real Repositories

Static analysis tools usually get judged by what they find. That is fair, but incomplete. If a tool takes too long to run, it stops being part of the development loop. Developers stop using it locally. Teams stop running it on every pull request. Eventually it becomes a scheduled report that people read only when something is already painful.

Pure Core, Imperative Shell in Rust with Stillwater

Most Rust services start clean. There is a handler, a database call, a few validation checks, a small amount of business logic, and a response. The code is direct. You can read it top to bottom.

Debtmap Re-adds JavaScript and TypeScript Support

Debtmap v0.15.0 adds JavaScript and TypeScript support using tree-sitter. Some history: debtmap originally supported multiple languages, but I removed JS/TS in v0.7.0 to focus on Rust. The multi-language implementation was half-baked and the maintenance burden wasn’t worth it. After getting the Rust analyzer right (entropy dampening, purity analysis, call graph integration), I rebuilt JS/TS…

Refined Types in Rust: Parse, Don't Validate

The String Problem # How many times have you seen function signatures like this? fn send_email ( to : String , subject : String , body : String ) -> Result < (), Error > ; fn create_user ( email : String , username : String , password : String ) -> Result < User , Error > ; fn transfer_money ( from_iban : String , to_iban : String , amount : f64 ) -> Result < (), Error > ; Every String in these…

Stillwater 1.0: Pragmatic Effect Composition and Validation for Rust

I&rsquo;m proud to announce the release of stillwater 1.0 , a production-ready Rust library for pragmatic effect composition and validation. What is Stillwater? # Stillwater implements the pure core, imperative shell pattern for Rust. The name is a mental model: like a still pond with streams flowing through it, your business logic stays calm and predictable at the center while effects (I/O, side…

Compile-Time Resource Tracking in Rust: From Runtime Brackets to Type-Level Safety

The Problem: Runtime Resource Leaks # Resource leaks are insidious. A forgotten close() , a missing commit() , an exception path that skips cleanup. Your code compiles. It runs. It even works until the connection pool exhausts, the file handles run out, or a transaction holds a lock forever.

Why AI 'Fails' at Complex Tasks: It's Your Technical Debt

The Common Complaint # I keep seeing this pattern in discussions about AI coding assistants: AI excels at bootstrapping new projects, able to generate scaffolding, write tests, debug simple issues, and power through generic code patterns. However, that same AI struggles significantly with codebases of higher complexity. As soon as event-driven architectures, ETL pipelines, or complex data layers…

Refactoring a God Object Detector That Was Itself a God Object

The Irony # My code analysis tool debtmap has a god object detector. It scans Rust codebases looking for structs with too many methods, too many fields, and too many responsibilities. When it finds one, it generates recommendations for splitting the monolith into focused modules.

Stillwater Validation for Rustaceans: Accumulating Errors Instead of Failing Fast

The Problem with Result for Validation # Most Rust validation code follows a familiar pattern: when a user submits a form with three errors, the API reports only the first one. They fix it, resubmit, and discover error number two. Fix that, resubmit again. Error three.

Stilltypes - Domain-Specific Refined Types for Rust

Domain types that prove validity - validate once, trust everywhere Links: GitHub | Crates.io | Documentation Overview # Stilltypes provides production-ready refined types for common domain concepts. Validate emails, URLs, phone numbers, IBANs, and more with types that prove validity at construction time. Once you have an Email , you know it&rsquo;s valid - no re-validation needed throughout your…

Premortem vs Figment: Configuration Libraries for Rust Applications

The Problem: Death by a Thousand Configuration Errors # You deploy your application, and it crashes. Missing database host. You fix it, redeploy. Invalid port value. Fix, redeploy. Pool size must be positive. Fix, redeploy.

Mindset - Zero-Cost State Machines for Rust

Pure guards, effectful actions, zero runtime overhead Links: GitHub | Crates.io | Documentation Overview # Mindset provides a flexible and type-safe state machine implementation that separates pure guard logic from effectful actions. Built on Stillwater&rsquo;s effect system, it enables you to write state machines that are zero-cost by default, explicitly effectful when needed, and highly testable…

Mermaid-Sonar: Detecting Hidden Complexity in Diagram Documentation

The Problem with AI-Generated Diagrams # When building the MkDocs automation workflow for ripgrep, I ran into a consistent problem: diagrams could be syntactically incorrect or cognitively overwhelming and actually hurt comprehension rather than helping it. There could also be semantic and business logic issues with the diagrams, but we&rsquo;ll set that issue aside for this post.

Three Patterns That Made Prodigy's Functional Migration Worth It

The Migration Story # Over the past few weeks, I&rsquo;ve been migrating Prodigy —my Rust-based AI workflow orchestration tool—to use functional programming patterns from Stillwater , a library I built for applicative validation and effect handling in Rust.

Rethinking Code Quality Analysis

The Problem with Traditional Static Analysis # When you run a typical static analysis tool on your codebase, you get flooded with alerts. Hundreds of warnings about cyclomatic complexity, function length, and nesting depth. The tools treat all complexity equally—a simple validation function with 20 identical if statements gets the same severity rating as genuinely complex business logic with…

Postmortem - Schema Validation for Rust

Learn what went wrong—all at once Links: GitHub | Crates.io | Documentation Overview # Postmortem is a validation library that performs comprehensive validation and accumulates all validation errors instead of stopping at the first failure. Built on Stillwater&rsquo;s Validation type, it enables you to see every problem with your data in a single pass—a &ldquo;postmortem&rdquo; that reveals the…

Mermaid-Sonar - Diagram Complexity Analyzer

Detect hidden complexity in your Mermaid diagrams before they confuse readers Links: GitHub | npm Overview # Mermaid-sonar is a complexity analyzer and readability linter for Mermaid diagrams in documentation. While traditional Mermaid validation tools only check syntax, mermaid-sonar validates both syntax and readability using research-backed metrics from cognitive load studies and graph theory.

Transforming ripgrep's Documentation with AI Automation and MkDocs

From Two Files to Comprehensive Documentation # ripgrep is one of the most popular command-line search tools, with over 57,000 stars on GitHub. Despite its popularity and rich feature set, the documentation consisted of just two files: a feature-focused README and a tutorial-style GUIDE. While these files were well-written, they left gaps:

Premortem - Configuration Validation for Rust

Find all configuration errors before your application starts, not one at a time in production Links: GitHub | Crates.io | Documentation Overview # Premortem is a Rust configuration library that performs comprehensive validation before your application starts. Instead of discovering configuration errors one at a time during execution, premortem reveals all fatal issues upfront - a…

Stillwater - Pure Core, Imperative Shell for Rust

Keep business logic pure and calm like still water, let effects flow at the boundaries Links: GitHub | Crates.io | Documentation Overview # Stillwater is a Rust library that makes functional programming patterns practical and ergonomic. It implements the &ldquo;pure core, imperative shell&rdquo; architecture pattern, keeping business logic pure and testable while pushing I/O and effects to the…

Debtmap - Rust Technical Debt Analyzer

Fast code complexity and technical debt analyzer written in Rust Links: GitHub | Crates.io | Documentation Overview # Debtmap is a sophisticated technical debt analyzer that helps developers identify and prioritize code improvements through advanced complexity and risk assessment. Built in Rust for maximum performance, it answers two critical questions every development team faces:

Prodigy - AI Workflow Orchestration for Claude

Transform ad-hoc Claude sessions into reproducible development pipelines Links: GitHub | Crates.io | Documentation Overview # Prodigy is an AI-powered workflow orchestration tool that enables development teams to automate complex tasks using Claude AI through structured YAML workflows. It brings software engineering discipline to AI-assisted development by providing reproducible pipelines,…

Automating Documentation Maintenance with Prodigy: A Real-World Case Study

The Documentation Drift Problem # Every developer knows the pain: you ship a new feature, refactor your code, update configuration options—and your documentation slowly falls out of sync. What starts as a minor discrepancy becomes a maze of outdated examples, incorrect defaults, and missing features that frustrate users and waste maintainer time.

About Glen Baker

I&rsquo;m Glen Baker, a Staff Software Engineer with over 13 years of experience. I&rsquo;ve worked extensively in the technology startup sector, combining deep technical expertise with practical problem-solving to create products that solve customer problems and tools that help development teams work more efficiently and reliably.

Contact

I&rsquo;m always interested in discussing new projects, consulting opportunities, and collaborations. Feel free to reach out. Email # glen@entropicdrift.com

Technical Debt Triage

Your team knows there is technical debt. The expensive question is what to fix first. I help engineering teams turn vague refactoring concerns into a ranked, reviewed, low-risk improvement plan. The work starts with evidence, filters out noise, and ends with focused pull requests your team can safely review and merge.