Limits on Recursive Self Improvement

A few months ago, I wrote, “The recent explosion of social media frenzy over agentic orchestration tools such as OpenClaw and GasTown, vibe-coded and quickly released into the wild, is yet another symptom of overhyped expectations related to generative AI models. If it takes three weeks to go viral after a few months of vibe coding, it’s a trivial solution, and it will be copied relentlessly.” See Agentic Orchestration is not a Moat. ...

September 16, 2026 · 4 min · Michael OShea

Do LLMs Dream of Pi?

Do LLMs dream of Pi? It’s a whimsical question in the vein of a Philip K. Dick story, exploring the meaning of artificial intelligence and reality itself. The reality we find ourselves in decades after Dick first wondered about electric dreams, a future containing large language models (LLMs) and chatbots, might offer new answers, or perhaps just better questions. I found a few of my own recently as I recalled a time when I was able to recite Pi out to many digits, basically on a dare, a few years ago. ...

September 1, 2026 · 12 min · Michael OShea

Running Cooler Spark DGX Cluster

I recently ran into an interesting thermal issue while running two NVIDIA DGX Sparks as a small distributed inference cluster using llama.cpp. The two Sparks are directly connected over QSFP and use RDMA as the transport. With llama-server running on Spark1, and ggml-rpc-server running on Spark2, I’m using llama.cpp’s layer-split configuration with the DeepSeek-V4-Flash-0731-UD-Q4_K_XL model. The model is too large to run on a single Spark, thus the need to layer it over two Sparks. ...

August 13, 2026 · 3 min · Michael OShea

Tool Calls With Agentic Code Generation Using 'Monty'

Inspired by Anthropic’s recent article on using code execution to improve MCP tool calling, and having just discovered Monty — a new sandboxed Python runtime from Pydantic — I was motivated to spend a weekend building an example project to explore further. Standard LLM tool calling has a fundamental inefficiency: the model calls one tool at a time, waits for the result, decides what to call next, and round-trips back to the model for every step. For questions that require fetching data from multiple sources, time (and tokens) add up fast. The monty-example project explores a different approach: let the model write code that orchestrates tool calls and executes that code in a sandbox running within your code! ...

April 11, 2026 · 11 min · Michael OShea

Agentic Orchestration is Not a Moat

The recent explosion of social media frenzy over agentic orchestration tools such as OpenClaw and GasTown, vibe-coded and quickly released into the wild, is yet another symptom of overhyped expectations related to generative AI models. If it takes three weeks to go viral after a few months of vibe coding, it’s a trivial solution, and it will be copied, relentlessly, and everyone will move on to something else–not sure what that will be. ...

February 14, 2026 · 4 min · Michael OShea

MCP Tools Integration Hands-On

The Model Context Protocol (MCP) allows large language models (LLMs) to call external tools while answering user prompts. In practice, most people use chat-based tools like Claude or Copilot rather than interacting directly with model APIs, and these tools make it easy to configure MCP servers without writing code. That said, if you want to connect your own data sources or custom functions as MCP tools, or connect your code to MCP tools, you’ll have to roll up your sleeves and do some hands-on work. ...

January 4, 2026 · 9 min · Michael OShea