41554 blogs · [ { "id": "01a0d831-670f-7118-bc59-8c3f5bcb8425", "title": "A Multiplayer Chat Agent Is Just a Coding Agent in a Container", "url": "https://ericmjl.github.io/blog/2026/9/25/multiplayer-chat-agent/", "published_at": "2026-09-25T00:00:00+00:00" }, { "id": "01a0c50b-6aa7-73aa-b070-7a8ca173810a", "title": "A data scientist walks into a GxP conference", "url": "https://ericmjl.github.io/blog/2026/9/21/ai-in-gxp-conference/", "published_at": "2026-09-21T00:00:00+00:00" }, { "id": "01a0c50b-6aa7-73aa-b070-7a8ca23f986e", "title": "Reviewing the PLAUD Note Pro", "url": "https://ericmjl.github.io/blog/2026/9/20/plaud-note-pro-review/", "published_at": "2026-09-20T00:00:00+00:00" }, { "id": "01a094f8-04b1-71d0-9c88-1358ff34aba5", "title": "Funny Money Allocation: A Decision-Making Trick", "url": "https://ericmjl.github.io/blog/2026/9/11/funny-money-allocation/", "published_at": "2026-09-11T00:00:00+00:00" }, { "id": "01a08774-adaa-71dd-ac98-91874ec9a7e7", "title": "Learning how to learn anything, together, in the age of AI", "url": "https://ericmjl.github.io/blog/2026/8/30/learning-how-to-learn-anything-together-in-the-age-of-ai/", "published_at": "2026-08-30T00:00:00+00:00" }, { "id": "01a08774-adaa-71dd-ac98-91874f2dd4b4", "title": "Quantum Computing for the Probabilistic Bayesian", "url": "https://ericmjl.github.io/blog/2026/8/7/quantum-ml-for-the-probabilistic-bayesian/", "published_at": "2026-08-07T00:00:00+00:00" }, { "id": "01a08774-adaa-71dd-ac98-918750170059", "title": "How AI turbocharges your learning", "url": "https://ericmjl.github.io/blog/2026/7/27/ai-turbocharges-learning/", "published_at": "2026-07-27T00:00:00+00:00" }, { "id": "01a08774-adaa-71dd-ac98-9187510bdc0a", "title": "The understanding zeitgeist in AI code review", "url": "https://ericmjl.github.io/blog/2026/7/24/understanding-zeitgeist-ai-code-review/", "published_at": "2026-07-24T00:00:00+00:00" }, { "id": "01a08774-adaa-71dd-ac98-9187519b1d6b", "title": "Going Bayesian automates your manual data analysis", "url": "https://ericmjl.github.io/blog/2026/7/23/going-bayesian-automates-data-analysis/", "published_at": "2026-07-23T00:00:00+00:00" }, { "id": "01a08774-adaa-71dd-ac98-918751e8c80d", "title": "Curiosity at the wheel", "url": "https://ericmjl.github.io/blog/2026/7/21/curiosity-at-the-wheel/", "published_at": "2026-07-21T00:00:00+00:00" }, { "id": "01a08774-adaa-71dd-ac98-918751ea7ad1", "title": "Choose your own AI policy", "url": "https://ericmjl.github.io/blog/2026/7/20/choose-your-own-ai-policy/", "published_at": "2026-07-20T00:00:00+00:00" }, { "id": "01a08774-adaa-71dd-ac98-9187529803fe", "title": "xarray in biology, take 2", "url": "https://ericmjl.github.io/blog/2026/7/19/xarray-in-biology-take-2/", "published_at": "2026-07-19T00:00:00+00:00" }, { "id": "01a08774-adaa-71dd-ac98-918752e38d9f", "title": "Ollama, vLLM, and SGLang on Modal", "url": "https://ericmjl.github.io/blog/2026/7/1/ollama-vllm-sglang-on-modal/", "published_at": "2026-07-01T00:00:00+00:00" }, { "id": "01a08774-adaa-71dd-ac98-918753948ca3", "title": "Agents amplify expertise and ignorance", "url": "https://ericmjl.github.io/blog/2026/6/17/agents-amplify-expertise-and-ignorance/", "published_at": "2026-06-17T00:00:00+00:00" }, { "id": "01a08774-adaa-71dd-ac98-91875455a2d7", "title": "My coding agent learned a lesson and patched its own skill", "url": "https://ericmjl.github.io/blog/2026/6/16/my-coding-agent-learned-a-lesson/", "published_at": "2026-06-16T00:00:00+00:00" }, { "id": "01a08774-adaa-71dd-ac98-9187553d6ae9", "title": "Git worktrees for beginners", "url": "https://ericmjl.github.io/blog/2026/6/15/git-worktrees-for-beginners/", "published_at": "2026-06-15T00:00:00+00:00" }, { "id": "01a08774-adaa-71dd-ac98-918755fbe35c", "title": "Lessons building voice-first AI apps", "url": "https://ericmjl.github.io/blog/2026/6/13/lessons-building-voice-first-ai-apps/", "published_at": "2026-06-13T00:00:00+00:00" }, { "id": "01a08774-adaa-71dd-ac98-91875601d702", "title": "What is an agent harness?", "url": "https://ericmjl.github.io/blog/2026/6/12/what-is-an-agent-harness/", "published_at": "2026-06-12T00:00:00+00:00" }, { "id": "01a08774-adaa-71dd-ac98-918756a2504f", "title": "How to Multitask Better with Agent Harnesses", "url": "https://ericmjl.github.io/blog/2026/6/8/how-to-multitask-better-with-agent-harnesses/", "published_at": "2026-06-08T00:00:00+00:00" }, { "id": "01a08774-adaa-71dd-ac98-9187570568ba", "title": "Exploring Agent Harnesses - A Comparative Analysis of Codex, CMux, and Cursor", "url": "https://ericmjl.github.io/blog/2026/6/4/exploring-agent-harnesses/", "published_at": "2026-06-04T00:00:00+00:00" }, { "id": "01a08774-adaa-71dd-ac98-91875793d951", "title": "Reflections from the BioIT World workshop - standardization is worth the effort", "url": "https://ericmjl.github.io/blog/2026/5/27/reflections-from-bioit-world-workshop-standardization-is-worth-the-effort/", "published_at": "2026-05-27T00:00:00+00:00" }, { "id": "01a08774-adaa-71dd-ac98-9187585b779d", "title": "What data science is actually about in the age of AI", "url": "https://ericmjl.github.io/blog/2026/5/20/what-data-science-is-actually-about-in-the-age-of-ai/", "published_at": "2026-05-20T00:00:00+00:00" }, { "id": "01a08774-adaa-71dd-ac98-918759554ab7", "title": "ODSC East 2026's Zeitgeist and Conference Report", "url": "https://ericmjl.github.io/blog/2026/5/10/odsc-east-2026-zeitgeist/", "published_at": "2026-05-10T00:00:00+00:00" }, { "id": "01a08774-adaa-71dd-ac98-918759995ba9", "title": "How I Recognized and Handled AI Burnout", "url": "https://ericmjl.github.io/blog/2026/5/2/how-i-recognized-and-handled-ai-burnout/", "published_at": "2026-05-02T00:00:00+00:00" }, { "id": "01a08774-adaa-71dd-ac98-918759dd83fc", "title": "Benchmarking LLMs with Marimo Pair", "url": "https://ericmjl.github.io/blog/2026/4/8/benchmarking-llms-with-marimo-pair/", "published_at": "2026-04-08T00:00:00+00:00" }, { "id": "01a08774-adaa-71dd-ac98-91875a2843f6", "title": "Calibration Is Synchronizing Feedback Loops With Neural Throughput", "url": "https://ericmjl.github.io/blog/2026/4/4/calibration-is-synchronizing-feedback-loops-with-neural-throughput/", "published_at": "2026-04-04T00:00:00+00:00" }, { "id": "01a08774-adaa-71dd-ac98-91875ab05ea0", "title": "Undoing AI vibe-coded slop with AI", "url": "https://ericmjl.github.io/blog/2026/3/29/undoing-ai-vibe-coded-slop-with-ai/", "published_at": "2026-03-29T00:00:00+00:00" }, { "id": "01a08774-adaa-71dd-ac98-91875b759447", "title": "Creative mentorship strategies for career growth in challenging times", "url": "https://ericmjl.github.io/blog/2026/3/25/creative-mentorship-strategies-for-career-growth-in-challenging-times/", "published_at": "2026-03-25T00:00:00+00:00" }, { "id": "01a08774-adaa-71dd-ac98-91875c7498e1", "title": "Closing air gaps", "url": "https://ericmjl.github.io/blog/2026/3/15/closing-air-gaps/", "published_at": "2026-03-15T00:00:00+00:00" }, { "id": "01a08774-adaa-71dd-ac98-91875d6de294", "title": "Agent skills are also human skills", "url": "https://ericmjl.github.io/blog/2026/3/14/agent-skills-are-also-human-skills/", "published_at": "2026-03-14T00:00:00+00:00" }, { "id": "01a08774-adaa-71dd-ac98-91875e039837", "title": "My weekend experiment making PyMC installable in a WASM environment", "url": "https://ericmjl.github.io/blog/2026/3/8/my-weekend-experiment-pymc-wasm/", "published_at": "2026-03-08T00:00:00+00:00" }, { "id": "01a08774-adaa-71dd-ac98-91875e894e9b", "title": "Mastering Personal Knowledge Management with Obsidian and AI", "url": "https://ericmjl.github.io/blog/2026/3/6/mastering-personal-knowledge-management-with-obsidian-and-ai/", "published_at": "2026-03-06T00:00:00+00:00" }, { "id": "01a08774-adaa-71dd-ac98-91875ef19770", "title": "How to stay in control when doing EDA with coding agents", "url": "https://ericmjl.github.io/blog/2026/2/13/agentic-eda/", "published_at": "2026-02-13T00:00:00+00:00" }, { "id": "01a08774-adaa-71dd-ac98-91875f5f3f3a", "title": "How to Do Agentic Data Science", "url": "https://ericmjl.github.io/blog/2026/2/1/how-to-do-agentic-data-science/", "published_at": "2026-02-01T00:00:00+00:00" }, { "id": "01a08774-adaa-71dd-ac98-91875fcbb06f", "title": "Model feel, fast tests, and AI coding that stays in flow", "url": "https://ericmjl.github.io/blog/2026/1/25/model-feel-fast-tests-and-ai-coding-that-stays-in-flow/", "published_at": "2026-01-25T00:00:00+00:00" }, { "id": "01a08774-adaa-71dd-ac98-91875fe05b90", "title": "How to build self-improving coding agents - Part 3", "url": "https://ericmjl.github.io/blog/2026/1/19/how-to-build-self-improving-coding-agents-part-3/", "published_at": "2026-01-19T00:00:00+00:00" }, { "id": "01a08774-adaa-71dd-ac98-91876068e470", "title": "How to build self-improving coding agents - Part 2", "url": "https://ericmjl.github.io/blog/2026/1/18/how-to-build-self-improving-coding-agents-part-2/", "published_at": "2026-01-18T00:00:00+00:00" }, { "id": "01a08774-adaa-71dd-ac98-9187610f2edc", "title": "How to build self-improving coding agents - Part 1", "url": "https://ericmjl.github.io/blog/2026/1/17/how-to-build-self-improving-coding-agents-part-1/", "published_at": "2026-01-17T00:00:00+00:00" }, { "id": "01a08774-adaa-71dd-ac98-9187614f2c39", "title": "How I fixed a browser selection bug with sequence alignment algorithms", "url": "https://ericmjl.github.io/blog/2026/1/6/how-i-fixed-a-browser-selection-bug-with-sequence-alignment-algorithms/", "published_at": "2026-01-06T00:00:00+00:00" }, { "id": "01a08774-adaa-71dd-ac98-918762003eb4", "title": "Canvas Chat: A Visual Interface for Thinking with LLMs", "url": "https://ericmjl.github.io/blog/2025/12/31/canvas-chat-a-visual-interface-for-thinking-with-llms/", "published_at": "2025-12-31T00:00:00+00:00" }, { "id": "01a08774-adaa-71dd-ac98-9187620e513e", "title": "You Can Just Make Stuff with OpenCode and Claude Opus 4.5", "url": "https://ericmjl.github.io/blog/2025/12/28/you-can-just-make-stuff-with-opencode-and-claude-opus-4-5/", "published_at": "2025-12-28T00:00:00+00:00" }, { "id": "01a08774-adaa-71dd-ac98-9187625e171b", "title": "How I Themed My tmux with OpenCode + Claude (And When to Switch Models)", "url": "https://ericmjl.github.io/blog/2025/12/27/how-i-themed-my-tmux-with-opencode-and-claude/", "published_at": "2025-12-27T00:00:00+00:00" }, { "id": "01a08774-adaa-71dd-ac98-9187627459aa", "title": "Two years of weekly blogging and what 2025 taught me", "url": "https://ericmjl.github.io/blog/2025/12/25/two-years-of-weekly-blogging-and-what-2025-taught-me/", "published_at": "2025-12-25T00:00:00+00:00" }, { "id": "01a08774-adaa-71dd-ac98-9187632d7b99", "title": "The selfish reason to do your best work", "url": "https://ericmjl.github.io/blog/2025/12/17/the-selfish-reason-to-do-your-best-work/", "published_at": "2025-12-17T00:00:00+00:00" }, { "id": "01a08774-adaa-71dd-ac98-918763ca90da", "title": "Productive Patterns for Agent-Assisted Programming", "url": "https://ericmjl.github.io/blog/2025/12/10/productive-patterns-for-agent-assisted-programming/", "published_at": "2025-12-10T00:00:00+00:00" }, { "id": "01a08774-adaa-71dd-ac98-9187648ce1ad", "title": "What does it take to build a statistics agent?", "url": "https://ericmjl.github.io/blog/2025/12/2/what-does-it-take-to-build-a-statistics-agent/", "published_at": "2025-12-02T00:00:00+00:00" }, { "id": "01a08774-adaa-71dd-ac98-9187649831bc", "title": "How to Reference Code Across Repositories with Coding Agents", "url": "https://ericmjl.github.io/blog/2025/11/17/how-to-reference-code-across-repositories-with-coding-agents/", "published_at": "2025-11-17T00:00:00+00:00" }, { "id": "01a08774-adaa-71dd-ac98-918764a70c42", "title": "How I Replaced 307 Lines of Agent Code with 4 Lines", "url": "https://ericmjl.github.io/blog/2025/11/16/how-i-replaced-307-lines-of-agent-code-with-4-lines/", "published_at": "2025-11-16T00:00:00+00:00" }, { "id": "01a08774-adaa-71dd-ac98-9187652a8479", "title": "Safe ways to let your coding agent work autonomously", "url": "https://ericmjl.github.io/blog/2025/11/8/safe-ways-to-let-your-coding-agent-work-autonomously/", "published_at": "2025-11-08T00:00:00+00:00" }, { "id": "01a08774-adaa-71dd-ac98-9187656ec925", "title": "Use coding agents to write Marimo notebooks", "url": "https://ericmjl.github.io/blog/2025/10/28/use-coding-agents-to-write-marimo-notebooks/", "published_at": "2025-10-28T00:00:00+00:00" }, { "id": "01a08774-adaa-71dd-ac98-91876638baee", "title": "Exploring Skills vs MCP Servers", "url": "https://ericmjl.github.io/blog/2025/10/20/exploring-skills-vs-mcp-servers/", "published_at": "2025-10-20T00:00:00+00:00" }, { "id": "01a08774-adaa-71dd-ac98-918766e44021", "title": "How to expose any documentation to any LLM agent", "url": "https://ericmjl.github.io/blog/2025/10/19/how-to-expose-any-documentation-to-any-llm-agent/", "published_at": "2025-10-19T00:00:00+00:00" }, { "id": "01a08774-adaa-71dd-ac98-9187676fe507", "title": "A practical comparison of DSPy and LlamaBot for structured LLM applications", "url": "https://ericmjl.github.io/blog/2025/10/18/a-practical-comparison-of-dspy-and-llamabot-for-structured-llm-applications/", "published_at": "2025-10-18T00:00:00+00:00" }, { "id": "01a08774-adaa-71dd-ac98-91876791f1c6", "title": "How to Use Coding Agents Effectively", "url": "https://ericmjl.github.io/blog/2025/10/14/how-to-use-coding-agents-effectively/", "published_at": "2025-10-14T00:00:00+00:00" } ] posts Claim your blog
Back to ericmjl.github.io
Blog · corpus.blog/blogs/ericmjl.github.io/posts

ericmjl.github.io

ericmjl.github.io

2026

2025