I wanted AI triage for my inbox. I was not willing to forward my email to a cloud model to get it. Proton Mail made that the hard version of the problem: there is no public API, so everything goes through Proton Mail Bridge, over IMAP, on localhost. It turns out the hard version is the good version.
The fastest-growing user of command-line tools is a language model, and every CLI convention we have assumes a person at a keyboard. Here is the five-rule contract I now build every CLI against, proven three times in shipped tools: a schema command, JSON on stdout, typed errors, enum exit codes, and secrets that never enter a model's context.
Google's reference Open Knowledge Format implementation needs Python, the Gemini API, and BigQuery. That's a great way to lock a portable format inside one vendor. okf is my answer: a single Go binary, stdlib-only, JSON-native, and built to be driven by any agent.
For most agent tool-use cases, a well-designed CLI is a better integration surface than an MCP server. Here's the seven-part contract that turns a normal CLI into something an agent can actually drive, backed by three real implementations.
The explosion of AI-powered code generation has created a dangerous illusion: that building software has become trivially easy. But we've solved code generation while completely ignoring the operational burden that follows.
As AI agents become increasingly capable of discovering and consuming APIs autonomously, we need to rethink how we design our web services. Here's how I built an architecture specifically designed for AI discovery and consumption.
For years, "shifting security left" was more aspirational than practical. Now with LLMs and agentic coding, we can finally codify security best practices into every repository, catching vulnerabilities at the moment of code creation.
Greg Isenberg interviews the VP of Cursor, who reveals the internal files and processes that make Cursor's development team so effective. From code review checklists to writing guidelines, here's what we can learn.
When transitioning from JAMF to Rippling MDM, escrowing FileVault recovery keys before shutting down JAMF is absolutely critical. Here's why I built a Go tool to automate this process and ensure no keys are lost during the migration.
Before LLMs and Cursor, I wouldn't have dreamed of diving into a massive codebase like pfSense. But with AI assistance, I solved a complex Dynamic DNS issue in under 30 minutes by directly analyzing the source code.
Throughout my career, I've had the privilege of being a part of several startups, each venturing into distinct domains, from kitchen equipment sales to Bitcoin mining solutions, cosmetics manufacturing, and software development in the security and privacy realm.