Writingabout codeand everyday life.
Written slowly, and only when there's something worth saying.
Recent writing
- May 18, 202601
Why AI Agents Need Agent-Level Isolation
An agent profile can change how an agent talks, but it cannot change what the agent can actually reach: environment, tools, secrets, memory. What really needs isolating is the trust domain and the runtime domain, not the persona. This post is about why a single profile is not enough, why stuffing every skill into one general agent gets out of hand, when a separate Soul and memory are actually unnecessary, and how the isolation design in Hermes agent could become lighter.
- February 24, 202502
My vision of AIPC and AI Phone
I believe the future of AIPC and AI Phone won’t just depend on powerful chips. Instead, built-in AI models will be the heart of these devices. These models will act as the “brain,” working together with hardware and operating systems to make one complete system. Competition will shift from hardware specs to how well the AI models perform and improve the user experience.
- July 13, 201903
First Steps with F# - Fetching Real-Time Stock Quotes
If you're going to obsess over the market, you've got to keep an eye on it. But are you really going to pull out your phone or open a browser tab at work? A self-respecting retail investor uses the command line: low-key, and infinitely customizable. And since I make my living in the .NET ecosystem, my tool of choice is F#.
- August 25, 201804
Lazy Lists with Generators and Iterators
Once you go deep enough into programming, lazy evaluation becomes hard to avoid. We constantly run into situations where, to guard against potential overflows, we have to pick an upper or lower bound up front based on experience — usually by allocating a chunk of memory just in case, which is essentially deliberate waste. A lazy list, or a lazy evaluation strategy more broadly, can save us that overhead in the right situations and dramatically simplify our code. This post walks through how to build lazy lists in JavaScript using two ES6 features: generators and iterators.
Projects






