Blog
Technical notes on applied ML, physics-based modeling, and the engineering tradeoffs behind real systems. Each post links to the code or model it is built on.
MCP transport is a lifecycle decision
All four of my open-source MCP servers default to stdio, and one flag away they speak streamable HTTP. The real decision is who owns the server process and where its files live.
AI agents
A SysML v2 model that runs its own verification
One command reads a SysML v2 model, runs a phased-array study, and checks five requirements with margins. How the binding convention works and what does not survive.
AI agents
sysml2kit 0.4.0: multi-fidelity verification on a compute budget
sysml2kit 0.4.0 adds fidelity ladders to SysML v2 verification: an escalate policy spends a wall-clock budget on the requirements with the thinnest margins. A tour of the SDK, with real runs.
Modeling & simulation
Track accuracy is an aperture decision
I set out to add Kalman filtering to a radar systems package. The useful thing to add was not a filter. Along the way three published sources disagreed about the same covariance, and the way to settle it was to run the recursion.
Modeling & simulation
Data provenance for agentic AI workflows
An agent picks its own inputs at runtime, so the list of what a result depends on can only be recorded while it happens. What that record has to hold, read from my own run bundles.
AI agents
What Honda's A67 maintenance code covers and how to compare quotes for it
Honda's A67 combines three separate services. Here is what each one means, what a written estimate has to say before you can compare it, and how to price a second trip.
Side projects
An agent designed a maritime search radar and beat my reference on cost
I gave a coding agent a calibrated X-band search radar task with nine scored requirements. It passed on the first attempt with a design trick my own solver never tried.
AI agents
How many runs does an agent benchmark need?
Three attempts per arm cannot produce a significant result under Fisher's exact test, whatever the outcome. Here is the arithmetic, applied to my own published numbers, and what more attempts would cost.
AI agents
Power-aperture, and the heat it hides
Search radar performance depends on average power times aperture. How tightly you may package that power depends on heat flux per unit cell, which rises as frequency squared. My array model computed neither until last week.
Modeling & simulation
The stack I'm building for agent-driven RF and antenna design
Nine repositories, four design rules, and one dependency graph with the aspirations drawn as dashed lines. What an agentic hardware design stack needs before the agent shows up.
AI agents
An agent found the free lunch in my phased-array benchmark
I wrote a 2-bit phase quantization task I thought was hard. A constant 45 degree offset made it exactly solvable, and the agent found it in about fifteen minutes.
AI agents
slopscore 0.9.0 adds a dimension for manufactured sincerity
Candor-heavy prose scored 0.0 on every slop dimension and earned credit as human writing. Version 0.9.0 adds performative_candor and ten rules to score it.
Side projects
Auditing tool-call traces in MCP agents
An outcome grader tells you the refund never happened. Only the trace tells you which of the four layers between the model and the payment API broke.
AI agents
How to measure a grader
A grader is a role in an eval rather than a technology. Deterministic checks and LLM judges both fill it, and each carries a different measurement cost.
AI agents
Failure taxonomies for ML and decision systems
Aggregate scores detect that behavior changed. Bucketing failures by stage, causal role, and opportunity rate is what routes a fix to the right owner.
Machine learning
phased-array-systems 0.9.0: validated physics and multi-objective trade studies
v0.9.0 brings NSGA-II multi-objective optimization and Sobol sensitivity to phased-array trade studies, on top of ITU-R propagation, real clutter models, and exact detection statistics.
Electromagnetics & RF
phased-array-modeling 1.4.0: polarized patterns for phased arrays
v1.4.0 adds a vector pattern engine: polarized element models, co/cross-pol cuts, axial ratio and XPD maps, measured pattern import, and polarization-correct conformal arrays.
Electromagnetics & RF
The state of the OpenTelemetry GenAI semantic conventions (July 2026)
The OTel GenAI conventions moved to a dedicated repository with no versioned release yet, nothing GenAI-specific is stable, and frameworks emit several generations at once. The current map.
AI agents
metasurface-py: a Python toolkit for programmable electromagnetic surfaces
An open-source Python toolkit for RIS, reflectarray, and metasurface antenna design: beam steering, phase quantization, hardware constraints, link budgets, sensing, and optimization.
Electromagnetics & RF
OpenEM Wave Lab: an interactive browser lab for electromagnetic wave physics
An open-source browser lab for EM wave physics: plane waves, Fresnel coefficients, phase vs group velocity, and standing waves, computed live from validated closed-form models.
Electromagnetics & RF
Programming the aperture: my PhD research on reconfigurable intelligent metasurfaces
A retrospective on my Virginia Tech PhD: reconfigurable intelligent metasurfaces (RIS) for beam steering and index modulation, a fabricated two-bit prototype, and generative deep learning for inverse design.
Electromagnetics & RF
How to build an eval harness for LLM agents
A working recipe for evaluating agentic workflows: isolated trials, outcome-first grading, invariant gates, reliability across repeated runs, and a benchmark you can trust.
AI agents
Tracing a local LLM agent end to end: Strands Agents, Ollama, and OpenTelemetry
Instrument a fully local tool-calling agent with OpenTelemetry: Strands Agents plus Ollama, traces in Jaeger or Grafana, no cloud APIs and no observability SaaS.
AI agents
Agentic systems change what engineers review
When a model chooses tools and actions at runtime, requirements and code review do not disappear. Engineers review the decision environment: tools, permissions, traces, and evals.
AI agents
planner-lab: a financial planning agent where the LLM never does the math
planner-lab turns a typed household case file into a retirement-readiness memo. Deterministic code does the math; a critic gate blocks any memo with untraceable numbers.
AI agents
APAB 0.3.0: observability and provenance for agentic phased-array design
APAB 0.3.0 makes agentic phased-array design auditable: OpenTelemetry traces of every MCP tool call, runtime provenance manifests, real LLM providers with uniform cost tracking, and a golden-task eval harness.
AI agents
Gumline, a private dental habit tracker
A private, on-device iPhone app for logging your dental routine and remembering the exact spots your dentist flagged. Why I built it and how it works.
Side projects
Model-based engineering for phased arrays: from a radar project to open-source tools
A graduate radar project led me to MBSE and MDAO, then to model-based engineering of AESA phased-array radar systems, and finally to a set of open-source phased-array design tools.
Electromagnetics & RF
pitchphys, a baseball pitch physics simulator
A browser simulator for the physics of a thrown baseball: gravity, drag, and the Magnus effect. Built to understand why spin moves a pitch, and where the model stops.
Modeling & simulation
Connect Four AI: the minimax algorithm behind Neon Drop
How the Connect Four AI in Neon Drop works: minimax with alpha-beta pruning, a window-scoring heuristic, tunable difficulty, and what it reveals about four-in-a-row strategy.
Machine learning
Physics, learning, and control, in one helicopter simulator
An interactive browser simulator of the Abbeel-Coates-Ng autonomous helicopter: flight physics, apprenticeship trajectory learning, system identification, and LQR control.
Machine learning
The antenna is the modulator: index modulation with reconfigurable metasurfaces
A plain-language explainer of our IEEE JSTSP paper: reconfigurable metasurfaces that perform index modulation for 6G, encoding bits in which beam or frequency harmonic is active, grounded in full-wave EM.
Electromagnetics & RF
Modeling Roasted Coffee as a Perishable Asset
Roasted coffee has a hump-shaped quality curve: it improves while resting, peaks, then stales. That makes it a clean toy problem for perishable-inventory pricing, storage economics, and a small client-side model.
Modeling & simulation
opensatcom: an open toolkit for satcom link budgets and trade studies
An open-source Python toolkit for satellite communications: snapshot link budgets, ITU-R propagation, a DVB-S2 modem, multibeam payloads, and Pareto trade studies.
Modeling & simulation
slopscore: a transparent linter for AI-slop writing patterns
A rule-based prose linter that scores formulaic, generic, low-specificity writing patterns with visible evidence spans. It scores patterns rather than authorship.
Side projects
An open MDO toolkit for axial-flux robot actuators
axfluxmdo: fast analytical models, 2.5D annular analysis, Pareto trade studies, and FEA hooks for early-stage axial-flux motor design, aimed at robot actuators.
Modeling & simulation
An agentic workflow for phased-array design, from unit cell to link margin
I built APAB, an LLM that orchestrates a chain of phased-array physics tools through MCP and emits an auditable run bundle. The agent drives; the solvers compute.
AI agents
Predicting the next pitch, by decomposition
A baseball pitch-prediction package as a lab: separate pitcher pitch-mix, count, fatigue, and sequence memory, and test which models actually use each.
Machine learning
Modeling phased arrays in Python, from physics to trade study
Two open Python tools for phased arrays: one computes the beam pattern, the other asks whether a design meets its link, radar, cost, and reliability margins.
Electromagnetics & RF
Sizing AI training by its bottleneck resource
A small open model for AI hardware: find whether a workload is compute-, memory-, or network-bound, then price the resource that actually binds it.
Modeling & simulation
Orbital data centers, by the numbers
An open, physics-based model of space-based AI data centers: why inter-satellite links are easy, the downlink is hard, and orbit runs about 19x Earth's cost today.
Modeling & simulation