<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: edunteman</title><link>https://news.ycombinator.com/user?id=edunteman</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Mon, 21 Sep 2026 18:25:02 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=edunteman" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by edunteman in "Show HN: Rampart on CoreML"]]></title><description><![CDATA[
<p>Nice work! Had to do similar serverside for stripping named entities and ended up burning way too much LLM cash</p>
]]></description><pubDate>Tue, 30 Jun 2026 23:22:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=48740532</link><dc:creator>edunteman</dc:creator><comments>https://news.ycombinator.com/item?id=48740532</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48740532</guid></item><item><title><![CDATA[New comment by edunteman in "Ask HN: Has anyone here ever rebuilt themselves in their late 30s?"]]></title><description><![CDATA[
<p>I hate to be that guy, but you can just choose to do these things. Learn to set SMART goals. Then set just one, so there's no excuses around priorities. Obviously, choose well. Make that goal your life.</p>
]]></description><pubDate>Mon, 18 May 2026 18:15:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=48183352</link><dc:creator>edunteman</dc:creator><comments>https://news.ycombinator.com/item?id=48183352</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48183352</guid></item><item><title><![CDATA[New comment by edunteman in "Show HN: Sub-millisecond VM sandboxes using CoW memory forking"]]></title><description><![CDATA[
<p>I’ve been a big fan of “what’s the thinnest this could be” interpretations of sandboxes. This is a great example of that. On the other end of the spectrum there’s just-bash from the Vercel folks.</p>
]]></description><pubDate>Wed, 18 Mar 2026 05:35:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=47421899</link><dc:creator>edunteman</dc:creator><comments>https://news.ycombinator.com/item?id=47421899</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47421899</guid></item><item><title><![CDATA[New comment by edunteman in "Why Go Can't Try"]]></title><description><![CDATA[
<p>The llm detector in my brain went off too</p>
]]></description><pubDate>Mon, 02 Mar 2026 18:02:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=47221604</link><dc:creator>edunteman</dc:creator><comments>https://news.ycombinator.com/item?id=47221604</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47221604</guid></item><item><title><![CDATA[New comment by edunteman in "Show HN: BVisor – An Embedded Bash Sandbox, 2ms Boot, Written in Zig"]]></title><description><![CDATA[
<p>Your repo was actually a major point of reference! Thank you for open sourcing it. Ironically when I first got into zig I built a similar generator for python bridging which your project reminded me of <a href="https://github.com/erik-dunteman/zigpy" rel="nofollow">https://github.com/erik-dunteman/zigpy</a><p>Ultimate decision for not using a bindings generator was primarily to deeply understand NAPI.</p>
]]></description><pubDate>Wed, 25 Feb 2026 15:36:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=47152965</link><dc:creator>edunteman</dc:creator><comments>https://news.ycombinator.com/item?id=47152965</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47152965</guid></item><item><title><![CDATA[New comment by edunteman in "Show HN: BVisor – An Embedded Bash Sandbox, 2ms Boot, Written in Zig"]]></title><description><![CDATA[
<p>Exactly, that’d be the intention. For compute-heavy or long running jobs you’d still probably want a dedicated VM like on E2B but for quick stuff, bVisor</p>
]]></description><pubDate>Tue, 24 Feb 2026 17:53:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=47140202</link><dc:creator>edunteman</dc:creator><comments>https://news.ycombinator.com/item?id=47140202</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47140202</guid></item><item><title><![CDATA[New comment by edunteman in "Show HN: BVisor – An Embedded Bash Sandbox, 2ms Boot, Written in Zig"]]></title><description><![CDATA[
<p>Correct, your PATH resolves to your local tools as if it was unprotected bash, but syscalls are filtered/virtualized</p>
]]></description><pubDate>Mon, 23 Feb 2026 20:45:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=47128533</link><dc:creator>edunteman</dc:creator><comments>https://news.ycombinator.com/item?id=47128533</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47128533</guid></item><item><title><![CDATA[New comment by edunteman in "Show HN: BVisor – An Embedded Bash Sandbox, 2ms Boot, Written in Zig"]]></title><description><![CDATA[
<p>Hell yeah, love to hear it! Happy to answer any questions or issues you run into</p>
]]></description><pubDate>Mon, 23 Feb 2026 20:23:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=47128235</link><dc:creator>edunteman</dc:creator><comments>https://news.ycombinator.com/item?id=47128235</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47128235</guid></item><item><title><![CDATA[Show HN: BVisor – An Embedded Bash Sandbox, 2ms Boot, Written in Zig]]></title><description><![CDATA[
<p>bVisor is an SDK and runtime for safely executing bash commands directly on your host machine. We built it on the belief that "sandbox" doesn't need to mean shipping off to remote sandbox products, or spinning up local VMs / containers. Sometimes, you just want to run that bash command locally.<p>bVisor boots a sandbox from user-space without special permissions, powered by seccomp user notifier. This allows us to intercept syscalls from guest processes and selectively virtualize them to block privilege escalation, isolate process visibility, and keep filesystem changes isolated per sandbox (copy-on-write). Sandboxes boot in 2ms, and can run arbitrary binaries at native speed (with minor overhead per syscall). This approach is heavily inspired by Google's gVisor.<p>As of today, bVisor supports most filesystem operations, basic file I/O, and can run complex binaries such as python interpreters. It is packaged as a Typescript SDK and installable via npm. There's much to still implement (such as outbound network access to support 'curl', shipping a python SDK, etc), but we wanted to share it here for feedback and anyone who'd be able to make use of the current featureset!</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47125966">https://news.ycombinator.com/item?id=47125966</a></p>
<p>Points: 24</p>
<p># Comments: 9</p>
]]></description><pubDate>Mon, 23 Feb 2026 17:56:52 +0000</pubDate><link>https://github.com/butter-dot-dev/bVisor</link><dc:creator>edunteman</dc:creator><comments>https://news.ycombinator.com/item?id=47125966</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47125966</guid></item><item><title><![CDATA[New comment by edunteman in "After two years of vibecoding, I'm back to writing by hand"]]></title><description><![CDATA[
<p>The part that most resonates with me is the lingering feeling of “oh but it must be my fault for underspecifying” which blocks the outright belief that models are just still sloppy at certain things</p>
]]></description><pubDate>Mon, 26 Jan 2026 17:48:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=46768942</link><dc:creator>edunteman</dc:creator><comments>https://news.ycombinator.com/item?id=46768942</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46768942</guid></item><item><title><![CDATA[Just-in-Time Thanksgiving Cookbook]]></title><description><![CDATA[
<p>Article URL: <a href="https://cookwithbutter.com">https://cookwithbutter.com</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46072412">https://news.ycombinator.com/item?id=46072412</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 27 Nov 2025 19:23:17 +0000</pubDate><link>https://cookwithbutter.com</link><dc:creator>edunteman</dc:creator><comments>https://news.ycombinator.com/item?id=46072412</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46072412</guid></item><item><title><![CDATA[New comment by edunteman in "Show HN: Butter – A Behavior Cache for LLMs"]]></title><description><![CDATA[
<p>Good question, I imagine you’d need to set up an ngrok endpoint to tunnel to local LLMs.<p>In those cases perhaps an open source (maybe even local) version would make more sense. For our hosted version we’d need to charge something, given storage requirements to run such a service, but especially for local models that feels wrong. I’ve been considering open source for this reason.</p>
]]></description><pubDate>Wed, 29 Oct 2025 02:45:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=45742037</link><dc:creator>edunteman</dc:creator><comments>https://news.ycombinator.com/item?id=45742037</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45742037</guid></item><item><title><![CDATA[New comment by edunteman in "Show HN: Butter – A Behavior Cache for LLMs"]]></title><description><![CDATA[
<p>Ah yes that makes sense, have heard of those cases too but hadn’t put much thought into it. Thanks for pointing it out!</p>
]]></description><pubDate>Wed, 29 Oct 2025 02:42:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=45742020</link><dc:creator>edunteman</dc:creator><comments>https://news.ycombinator.com/item?id=45742020</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45742020</guid></item><item><title><![CDATA[New comment by edunteman in "Show HN: Butter – A Behavior Cache for LLMs"]]></title><description><![CDATA[
<p>I’d love your opinion here!<p>Right now, we assume first call is correct, and will eagerly take the first match we find while traversing the tree.<p>One of the worst things that could currently happen is we cache a bad run, and now instead of occasional failures you’re given 100% failures.<p>A few approaches we’ve considered
- maintain a staging tree, and only promote to live if multiple sibling nodes (messages) look similar enough. Decision to promote could be via tempting, regex, fuzzy, semantic, or LLM-judged
- add some feedback APIs for a client to score end-to-end runs so that path could develop some reputation</p>
]]></description><pubDate>Wed, 29 Oct 2025 02:32:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=45741949</link><dc:creator>edunteman</dc:creator><comments>https://news.ycombinator.com/item?id=45741949</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45741949</guid></item><item><title><![CDATA[New comment by edunteman in "Show HN: Butter – A Behavior Cache for LLMs"]]></title><description><![CDATA[
<p>Very, very common approach!<p>Wrote more on that here:
<a href="https://blog.butter.dev/the-messy-world-of-deterministic-agents">https://blog.butter.dev/the-messy-world-of-deterministic-age...</a></p>
]]></description><pubDate>Wed, 29 Oct 2025 02:25:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=45741909</link><dc:creator>edunteman</dc:creator><comments>https://news.ycombinator.com/item?id=45741909</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45741909</guid></item><item><title><![CDATA[New comment by edunteman in "Show HN: Butter – A Behavior Cache for LLMs"]]></title><description><![CDATA[
<p>Awesome to hear you’ve done similar. JSON artifacts from runs seem to be a common approach for building this in house, similar to what we did with the muscle mem. Detecting cache misses is a bit hard without seeing what the model sees, part of what inspired this proxy direction.<p>Thanks for the nice words!</p>
]]></description><pubDate>Wed, 29 Oct 2025 01:02:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=45741363</link><dc:creator>edunteman</dc:creator><comments>https://news.ycombinator.com/item?id=45741363</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45741363</guid></item><item><title><![CDATA[New comment by edunteman in "Show HN: Butter – A Behavior Cache for LLMs"]]></title><description><![CDATA[
<p>I feel the same - we’ll use it as long as we can since it’s customer aligned but I wouldn’t be surprised if competitive or COGs costs force us to change in the future.</p>
]]></description><pubDate>Wed, 29 Oct 2025 00:56:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=45741325</link><dc:creator>edunteman</dc:creator><comments>https://news.ycombinator.com/item?id=45741325</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45741325</guid></item><item><title><![CDATA[New comment by edunteman in "Show HN: Butter – A Behavior Cache for LLMs"]]></title><description><![CDATA[
<p>It’s bring-your-own-key, so any calls proxied to OpenAI just end up billing directly to your account as normal.<p>You’d only pay Butter for calls that <i>don’t</i> go to the provider. That’d be a separate billing account with butter.</p>
]]></description><pubDate>Wed, 29 Oct 2025 00:55:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=45741315</link><dc:creator>edunteman</dc:creator><comments>https://news.ycombinator.com/item?id=45741315</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45741315</guid></item><item><title><![CDATA[New comment by edunteman in "Show HN: Butter – A Behavior Cache for LLMs"]]></title><description><![CDATA[
<p>I couldn’t see how it wouldn’t be, as it’s a free market opt-in decision to use Butter</p>
]]></description><pubDate>Wed, 29 Oct 2025 00:45:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=45741256</link><dc:creator>edunteman</dc:creator><comments>https://news.ycombinator.com/item?id=45741256</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45741256</guid></item><item><title><![CDATA[Show HN: Butter – A Behavior Cache for LLMs]]></title><description><![CDATA[
<p>Hi HN! I'm Erik. We built Butter, an LLM proxy that makes agent systems deterministic by caching and replaying responses, so automations behave consistently across runs.<p>- It’s a chat completions compatible endpoint, making it easy to drop into existing agents with a custom base_url<p>- The cache is template-aware, meaning lookups can treat dynamic content (names, addresses, etc.) as variables<p>You can see it in action in this demo where it memorizes tic-tac-toe games: <a href="https://www.youtube.com/watch?v=PWbyeZwPjuY" rel="nofollow">https://www.youtube.com/watch?v=PWbyeZwPjuY</a><p>Why we built this: before Butter, we were Pig.dev (YC W25), where we built computer-use agents to automate legacy Windows applications. The goal was to replace RPA. But in practice, these agents were slow, expensive, and unpredictable - a major downgrade from deterministic RPA, and unacceptable in the worlds of healthcare, lending, and government. We realized users don't want to replace RPA with AI, they just want AI to handle the edge cases.<p>We set out to build a system for "muscle memory" for AI automations (general purpose, not just computer-use), where agent trajectories get baked into reusable code. You may recall our first iteration of this in May, a library called Muscle Mem: <a href="https://news.ycombinator.com/item?id=43988381">https://news.ycombinator.com/item?id=43988381</a><p>Today we're relaunching it as a chat completions proxy. It emulates scripted automations by storing observed message histories in a tree structure, where each fork in the tree represents some conditional branch in the workflow's "code". We replay behaviors by walking the agent down the tree, falling back to AI to add new branches if the next step is not yet known.<p>The proxy is live and free to use while we work through making the template-aware engine more flexible and accurate. Please try it out and share how it went, where it breaks, and if it’s helpful.</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=45737948">https://news.ycombinator.com/item?id=45737948</a></p>
<p>Points: 50</p>
<p># Comments: 22</p>
]]></description><pubDate>Tue, 28 Oct 2025 19:39:51 +0000</pubDate><link>https://www.butter.dev/</link><dc:creator>edunteman</dc:creator><comments>https://news.ycombinator.com/item?id=45737948</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45737948</guid></item></channel></rss>