Posts for: #Developer-Productivity

XP 3.0: AI Validates What Extreme Programming Got Right

XP 3.0: AI Validates What Extreme Programming Got Right

Extreme Programming evangelists knew pair programming, TDD, code review, and simple design produced better software. The industry mostly ignored them. Too expensive. Too slow. Doesn’t scale.

AI changes this calculation completely. We all pair program now - with AI. TDD keeps AI on rails. AI-to-AI code review catches what humans miss. Simple design matters more than ever because AI needs clean structure to understand context.

XP was right. AI makes it practical.

[Read more]

mail-app-cli: Scriptable Email for Emacs and AI Agents

mail-app-cli: Scriptable Email for Emacs and AI Agents

Email clients have GUIs. AI agents need APIs. Emacs users need text interfaces. macOS Mail.app has neither.

mail-app-cli solves this by wrapping Mail.app in a scriptable command-line interface. Complete access to accounts, mailboxes, messages, and attachments. JSON output. No OAuth dance. No API tokens. If it’s in Mail.app, you can script it.

The Problem It Solves

For Emacs users: Read and manage email without leaving your editor. mail-app-wrap provides the Emacs interface. mail-app-cli provides the engine.

[Read more]

Build CLIs First, Wrap as MCPs Second

Build CLIs First, Wrap as MCPs Second

MCP (Model Context Protocol) servers give AI agents access to tools. Tempting to build MCP servers directly. Better approach: build good CLIs first, then wrap them as MCPs.

Good CLIs are multi-interface. Usable from shell. Scriptable. Composable with pipes. Testable standalone. Accessible to humans without AI. Then wrap as MCP for AI agent access.

MCP-first locks you to the MCP protocol. CLI-first gives you flexibility.

The Multi-Interface Advantage

A good CLI like mail-app-cli works in multiple contexts:

[Read more]

Emacs for AI Development: Workflows That Scale

Emacs for AI Development: Workflows That Scale

Modern IDEs optimize for mouse-driven workflows and language-specific features. Emacs optimizes for text manipulation and extensibility. AI development requires working across multiple languages, formats, and tools simultaneously. Emacs handles this naturally.

Python for training scripts. YAML for Kubernetes configs. SQL for feature queries. Markdown for documentation. JSON for API responses. Terraform for infrastructure. Shell scripts for automation. Emacs treats all of them as text to be manipulated efficiently.

Why Emacs in 2025

Text-first paradigm:

[Read more]

Async-First Remote Teams: Leading 35 Engineers Across Time Zones

Async-First Remote Teams: Leading 35 Engineers Across Time Zones

Synchronous meetings don’t scale across six countries and four time zones. Someone is always on a call at 2am or missing context from the 9am standup they couldn’t attend.

Async-first communication solves this. Write decisions down. Document context. Use tools like Clarity for status visibility. Make meetings the exception, not the default. Result: 97% retention over 4 years at Digital Turbine leading 35 remote engineers across 6 countries.

Write Everything Down

Meetings generate decisions. Conversations surface insights. Neither persists unless written.

[Read more]