Notes from the work
Writing
Technical notes, experiments, and lessons learned along the way.
Redesigning Tenwrite's Observability Stack
Migrating Tenwrite's telemetry from different vendors to our own self-hosted stack.
Fixing corrupt NTFS on Linux
An utility to diagnose and fix corrupt NTFS drives and mount them in Linux.
ChatGPT app missed this
An update checker to keep the ChatGPT linux app up-to-date
A Surprising Observation
While benchmarking Trimwise, we found that a smaller, query-aware context could match and sometimes, outperform, a full prompt without losing source provenance.
Extending Codex sessions with CtxSift
The problem CtxSift is built to solve in long-running coding-agent sessions.
Why I am putting TabMate on hold
The adoption, cost, and product challenges that led me to put TabMate on hold.
From on-prem to the cloud - Lessons Learned
What moving from on-prem infrastructure to the cloud changed, and which systems principles stayed the same.
From a builder to a founder
What changed when building software became a business.
How I Got Into Building Smart Bank Statement
How an early finance idea became a focused product for turning bank statement PDFs into usable data.
Dev Blog - Securing the Remote MCP Adapter
The security boundaries behind Remote MCP Adapter: poisoned metadata, guardrails, and session integrity.
Dev Blog - Proving the Remote MCP Adapter's Security Guardrails part 1
Testing four Remote MCP Adapter security controls, with reproducible evidence and an artifact bundle.
Crossing limits
Progressive tool discovery and Code-Mode to keep large MCP toolsets out of the context window.
Remote MCPs as local
Making files and artifacts work across remote MCP servers.
A skill issue
Coding agents move quickly. Understanding the system and keeping its structure clean still falls to the developer.
The curse of context windows
What large-document extraction taught me about output limits, chunking, and reliable LLM workflows.