written by Eric J. Ma on 2026-07-20 | tags: ai open-source agents policy community collaboration scipy maintainers
In this blog post, I share my thoughts from SciPy 2026 on how open source projects should handle AI-assisted contributions. Drawing from a community discussion and a new AI policy template, I distinguish between developers using AI as a power tool versus mass-produced slop. I encourage maintainers to pick a policy tier, write it down, enforce it, and engage with the humans behind the PRs. What AI policy fits your project?
Read on... (1812 words, approximately 10 minutes reading time)written by Eric J. Ma on 2026-07-19 | tags: xarray datatree python bioinformatics datascience ai agents bayesian curation data packaging lab data
In this blog post, I share how my idea of using xarray for unified lab data evolved into an agent skill for Ian Hunt-Isaak's repo. I explain why xr.DataTree is the key to storing multi-assay data on incompatible grids in a single file, how custom indexes let you query experiments by their actual physical logic, and why Bayesian estimates belong right next to raw data. Ultimately, I argue this pattern scales a single data scientist's judgment across many campaigns. If you are juggling multi-assay biological data, what are your biggest coordinate-matching headaches?
Read on... (1765 words, approximately 9 minutes reading time)written by Eric J. Ma on 2026-07-01 | tags: vllm ollama modal benchmarking deployment inference snapshots latency performance qwen3.6
In this blog post, I share my experiments running Qwen3.6 on Modal with Ollama, vLLM, and SGLang. Frustrated by agonizing cold starts, I benchmarked the engines on identical hardware. Spoiler: vLLM blew Ollama out of the water. By leveraging Modal's GPU snapshots, vLLM not only generated 60% more tokens per second but also restored from a cold start significantly faster. I walk through the exact configuration, three stubborn bugs I had to fix to get snapshots working, and why vLLM's single-process design is the secret. SGLang hit a dtype bug and could not run yet. Have you ever fought with serverless GPU cold starts?
Read on... (3329 words, approximately 17 minutes reading time)written by Eric J. Ma on 2026-06-17 | tags: bayesian modeling automation expertise judgment agents notebooks protein science learning
In this blog post, I share my experience using a coding agent to build a Bayesian model live, highlighting how agents can dramatically speed up work, but only when paired with real expertise. I found that every prompt I gave was rooted in years of judgment, and the agent amplified my strengths while exposing its own blind spots. Ultimately, the more you know, the more leverage these tools provide. Curious how agents can make your expertise even more valuable, and where they might trip you up? Read on to find out.
Read on... (1160 words, approximately 6 minutes reading time)written by Eric J. Ma on 2026-06-16 | tags: automation react productivity ai memory learning coding open source state tools
My coding agent now patches its own skills after watching me work, using an OpenCode plugin I built called opencode-autolearn. Over a few weeks of dogfooding it observed my sessions, extracted lessons, and updated its memory and skills with no manual intervention. I cover the architecture, the design decisions, and the real-world impact, including a Convex migration bug it fixed on its own and how the memory now syncs across machines. Curious how an agent can learn from your workflow and sharpen every session?
Read on... (3368 words, approximately 17 minutes reading time)written by Eric J. Ma on 2026-06-15 | tags: git worktree branches workflow productivity hotfix review cloning cleanup tips
In this blog post, I share how git worktrees have become my go-to solution for juggling multiple branches without the hassle of stashing, committing unfinished work, or cloning repos. I explain what worktrees are, how they differ from clones, and why they're perfect for quick reviews, hotfixes, and parallel development. I also cover common pitfalls and cleanup tips. Curious how worktrees can simplify your workflow and keep your projects organized? Read on to find out!
Read on... (1500 words, approximately 8 minutes reading time)written by Eric J. Ma on 2026-06-13 | tags: voice ai api debugging transcripts web ux tools logging architecture
In this blog post, I share the key lessons I learned building voice-first AI apps, where voice is the main way users interact. From the importance of documentation and API-first design to the necessity of transcripts and centralized voice operations, I cover what works, what doesn't, and how to debug the invisible. The magic of voice-controlled UIs is real, but so are the engineering challenges. Curious about the pitfalls and breakthroughs of building with voice as the primary interface? Read on to find out more.
Read on... (2057 words, approximately 11 minutes reading time)written by Eric J. Ma on 2026-06-12 | tags: agents harness controls tools environment knowledge constraints design prompting action
In this blog post, I explore the concept of an "agent harness", the combination of tools, environment, hard controls, and soft controls that shapes what an AI agent can and cannot do. I illustrate these ideas with three real-world examples. Curious how these controls impact the behavior and capabilities of different agents? Read on to find out!
Read on... (1134 words, approximately 6 minutes reading time)written by Eric J. Ma on 2026-06-08 | tags: productivity automation workflows notifications focus priorities agents multitasking background harnesses
In this blog post, I share my three-tier framework for multitasking with agent harnesses: one focused foreground task, one or two lightly supervised background tasks, and as many automated shadow tasks as you want. I explain how each tier works, how notifications keep you in control, and why a simple priority list is still essential. I also discuss how to move tasks down the chain for more effortless productivity. Curious how this system could help you multitask better without feeling overwhelmed?
Read on... (1233 words, approximately 7 minutes reading time)written by Eric J. Ma on 2026-06-04 | tags: automation workspace notifications browser comparison productivity review open source coding agents
In this blog post, I share my hands-on experience comparing three coding agent harnesses: Codex, cmux + OpenCode, and Cursor. I break down their features, workspace management, notification systems, automation capabilities, and open source status, highlighting what sets each apart. Curious which harness might boost your productivity or fit your workflow best? Read on to find out!
Read on... (1477 words, approximately 8 minutes reading time)