<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: kentonv</title><link>https://news.ycombinator.com/user?id=kentonv</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Mon, 06 Apr 2026 09:54:04 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=kentonv" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by kentonv in "Capability-Based Security for Redox: Namespace and CWD as Capabilities"]]></title><description><![CDATA[
<p>Cloudflare Workers is a big on capabilities.<p>The recently released Dynamic Workers directly provides an API for capability-based sandboxing: <a href="https://developers.cloudflare.com/dynamic-workers/usage/bindings/" rel="nofollow">https://developers.cloudflare.com/dynamic-workers/usage/bind...</a><p>But the platform has used caps internally all along. Cloudflare makes heavy use of Cap'n Proto (<a href="https://capnproto.org/" rel="nofollow">https://capnproto.org/</a>), a capability-based RPC protocol, and recently released Cap'n Web (<a href="https://capnweb.dev/" rel="nofollow">https://capnweb.dev/</a>), a JavaScript-oriented version of the same idea. The "Cap'n" in both is short for "Capabilities and". (Dynamic Workers sandboxing is based around Cap'n Web capabilities.)<p>Most successful sandboxes use capabilities, though it's not often something you hear about. Android's IPC system, Binder, is a capability system. And Chrome has a capability-based IPC system called "Mojo".<p>Capabilities really shine when used for sandboxing, but here's a blog post I wrote that tries to explain the benefits beyond sandboxing: <a href="https://blog.cloudflare.com/workers-environment-live-object-bindings/" rel="nofollow">https://blog.cloudflare.com/workers-environment-live-object-...</a><p>(I am the lead developer of Cloudflare Workers, and the creator of Cap'n Proto and Cap'n Web.)</p>
]]></description><pubDate>Sat, 28 Mar 2026 17:04:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=47556408</link><dc:creator>kentonv</dc:creator><comments>https://news.ycombinator.com/item?id=47556408</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47556408</guid></item><item><title><![CDATA[New comment by kentonv in "Sandboxing AI agents, 100x faster"]]></title><description><![CDATA[
<p>When using Dynamic Workers, you generally don't run the AI harness inside the Dynamic Worker itself, but rather as a regular worker. But your harness would have a tool call that's like "executeCode" which runs code in the dynamic worker.<p>You could certainly set it up to allow the AI to import arbitrary npm modules if you want. We even offer a library to help with that:<p><a href="https://www.npmjs.com/package/@cloudflare/worker-bundler" rel="nofollow">https://www.npmjs.com/package/@cloudflare/worker-bundler</a></p>
]]></description><pubDate>Wed, 25 Mar 2026 01:52:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=47512211</link><dc:creator>kentonv</dc:creator><comments>https://news.ycombinator.com/item?id=47512211</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47512211</guid></item><item><title><![CDATA[New comment by kentonv in "Sandboxing AI agents, 100x faster"]]></title><description><![CDATA[
<p>Dynamic Workers don't have a built-in filesystem, but you can give them access to one.<p>What you would do is give the Worker a TypeScript RPC interface that lets it read the files -- which you implement in your own Worker. To give it fast access, you might consider using a Durable Object. Download the data into the Durable Object's local SQLite database, then create an RPC interface to that, and pass it off to the Dynamic Worker running on the same machine.<p>See also this experimental package from Sunil that's exploring what the Dynamic Worker equivalent of a shell and a filesystem might be:<p><a href="https://www.npmjs.com/package/@cloudflare/shell" rel="nofollow">https://www.npmjs.com/package/@cloudflare/shell</a></p>
]]></description><pubDate>Tue, 24 Mar 2026 14:17:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=47502979</link><dc:creator>kentonv</dc:creator><comments>https://news.ycombinator.com/item?id=47502979</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47502979</guid></item><item><title><![CDATA[Sandboxing AI agents, 100x faster]]></title><description><![CDATA[
<p>Article URL: <a href="https://blog.cloudflare.com/dynamic-workers/">https://blog.cloudflare.com/dynamic-workers/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47502448">https://news.ycombinator.com/item?id=47502448</a></p>
<p>Points: 51</p>
<p># Comments: 13</p>
]]></description><pubDate>Tue, 24 Mar 2026 13:40:04 +0000</pubDate><link>https://blog.cloudflare.com/dynamic-workers/</link><dc:creator>kentonv</dc:creator><comments>https://news.ycombinator.com/item?id=47502448</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47502448</guid></item><item><title><![CDATA[New comment by kentonv in "404 Deno CEO not found"]]></title><description><![CDATA[
<p>Cloudflare Workers was actually pushing for web standards on the server side several months before Deno was announced. :)<p>Though Ryan of course had a lot more clout from day 1 than I did.</p>
]]></description><pubDate>Sat, 21 Mar 2026 20:32:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=47470998</link><dc:creator>kentonv</dc:creator><comments>https://news.ycombinator.com/item?id=47470998</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47470998</guid></item><item><title><![CDATA[New comment by kentonv in "US private credit defaults hit record 9.2% in 2025, Fitch says"]]></title><description><![CDATA[
<p>Since a lot of people here aren't familiar with the private credit situation, here's my understanding, which comes almost entirely from reading Money Stuff, a daily column by Matt Levine. If you are a tech person who wants to learn about finance, I recommend it! It's a lot more entertaining than most finance industry reporting.<p>"Private credit" is an idea that has been hot in finance for the last several years, originating from the great financial crisis (GFC). After the GFC, regulations made it very hard for banks to make business loans with any kind of risk anymore. So instead, new non-bank institutions stepped in to make loans to businesses. These "private credit" institutions raise money from investors, and lend it to businesses.<p>The investors are usually institutions who are OK with locking up their money long-term, like insurance companies and pension funds. This all seems a lot safer than having banks making loans: banks get their funding from depositors, who are allowed to withdraw their deposit any time they want. So a bank really needs to hold liquid assets so they are prepared for a run on the bank, and corporate borrowing is not very liquid. Insurance companies and pension funds have much more predictability as to when they actually will need their money back, so can safely put it in private credit with long horizons.<p>It's not quite so clean, though.<p>It's actually common for banks to lend money directly to private credit lenders, who then lend it out to companies. But when this happens, typically the bank is only lending a fraction of the total and arranges that they get paid back first, so it's significantly less risky than if they were loaning directly to the companies. Of course, the non-bank investors get higher returns on their riskier investment.<p>And the returns have been pretty good. Or were. With the banks suddenly retreating from this space, there was a lot of money to be made filling the gap, and so private credit got a reputation for paying back really good returns while being more predictable than the stock market.<p>But this meant it got hot. Really hot.<p>It got so hot that there were more people wanting to lend money than there were qualified borrowers. When that happens, naturally standards start to degrade.<p>And then interest rates went up, after having been near-zero for a very long time.<p>And now a lot of borrowers are struggling to pay back their loans on time. And the lenders need to pay back investors, so sometimes they are compromising by getting new investors to pay back the old ones, and stuff. It's getting precarious.<p>Meanwhile a lot of private credit institutions are hoping to start accepting retail investors. Not because retail investors have a lot of money and are gullible, no no no. 401(k) plans are by definition locked up for many years, so obviously should be perfect for making private credit investments! Also those 401(k)s today are all being dumped into index funds which have almost zero fees, whereas private credit funds have high fees. Wait, that's not the reason though!<p>But just as they are getting to the point of finding ways to accept retail investors, it's looking like the returns might not be so great anymore. Could be a crisis brewing. Even if the banks are pretty safe, it's not great if pensions and insurance companies lose a lot of money...</p>
]]></description><pubDate>Thu, 12 Mar 2026 14:38:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=47351189</link><dc:creator>kentonv</dc:creator><comments>https://news.ycombinator.com/item?id=47351189</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47351189</guid></item><item><title><![CDATA[New comment by kentonv in "US private credit defaults hit record 9.2% in 2025, Fitch says"]]></title><description><![CDATA[
<p>TBH "private credit" (meaning exactly what this article is talking about) is such a big thing in the finance industry that probably most finance industry people can't even fathom that the title is misleading to non-finance-industry people.<p>I'm not saying they are right. But it's like if you posted an article called "Python Is Eating the World" on a non-tech side and people got mad because they thought the article was about a wildlife emergency. Fair for them to be confused, but maybe not fair to accuse the title of being misleading (at least not intentionally).</p>
]]></description><pubDate>Thu, 12 Mar 2026 13:58:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=47350611</link><dc:creator>kentonv</dc:creator><comments>https://news.ycombinator.com/item?id=47350611</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47350611</guid></item><item><title><![CDATA[New comment by kentonv in "Cloudflare crawl endpoint"]]></title><description><![CDATA[
<p>You can trivially block Cloudflare crawl via robots.txt. You don't need to buy Cloudflare's bot protection -- this is not a malicious bot.<p><a href="https://x.com/CloudflareDev/status/2031745285517455615" rel="nofollow">https://x.com/CloudflareDev/status/2031745285517455615</a><p>(Disclosure: I work for Cloudflare but not on this product. I get pretty tired of the conspiracy theories TBH.)</p>
]]></description><pubDate>Wed, 11 Mar 2026 18:29:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=47339331</link><dc:creator>kentonv</dc:creator><comments>https://news.ycombinator.com/item?id=47339331</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47339331</guid></item><item><title><![CDATA[New comment by kentonv in "Cloudflare crawl endpoint"]]></title><description><![CDATA[
<p>No, it does not take any action to work around other bot protections.<p><a href="https://x.com/CloudflareDev/status/2031745285517455615" rel="nofollow">https://x.com/CloudflareDev/status/2031745285517455615</a><p>(Disclosure: I work for Cloudflare but not on this product.)</p>
]]></description><pubDate>Wed, 11 Mar 2026 18:24:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=47339255</link><dc:creator>kentonv</dc:creator><comments>https://news.ycombinator.com/item?id=47339255</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47339255</guid></item><item><title><![CDATA[New comment by kentonv in "Cloudflare crawl endpoint"]]></title><description><![CDATA[
<p>Cloudflare crawl respects robots.txt. It does not attempt to bypass any anti-crawling measures. If the site doesn't want to be crawled -- whether it uses Cloudflare or not -- this product will not help you crawl it.<p>Some sites actually want crawlers -- e.g. sites that are selling a product, documentation, etc. That's what this product is meant for.<p><a href="https://x.com/CloudflareDev/status/2031745285517455615" rel="nofollow">https://x.com/CloudflareDev/status/2031745285517455615</a><p>(Disclosure: I work for Cloudflare but not on this product.)</p>
]]></description><pubDate>Wed, 11 Mar 2026 18:21:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=47339217</link><dc:creator>kentonv</dc:creator><comments>https://news.ycombinator.com/item?id=47339217</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47339217</guid></item><item><title><![CDATA[New comment by kentonv in "Show HN: Skir – like Protocol Buffer but better"]]></title><description><![CDATA[
<p>> flatbuffers and capnproto are in the game of trying to make serialization to binary format as efficient as possible.<p>Little-understood fact about Cap'n Proto: Serialization is not the game at all. The RPC system is the whole game, the serialization was just done as a sort of stunt. Indeed, unless you are mmap()ing huge files, the serialization speed doesn't really matter. Though I would say the implementation of Cap'n Proto is quite a bit simpler than Protobuf due to the serialization format just being simpler, and that in itself is a nice benefit.<p>The recently-released Cap'n Web jettisons the whole serialization side and focuses just on the RPC system: <a href="https://blog.cloudflare.com/capnweb-javascript-rpc-library/" rel="nofollow">https://blog.cloudflare.com/capnweb-javascript-rpc-library/</a><p>(I'm the author of Cap'n Proto and Cap'n Web.)</p>
]]></description><pubDate>Tue, 10 Mar 2026 13:13:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=47322839</link><dc:creator>kentonv</dc:creator><comments>https://news.ycombinator.com/item?id=47322839</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47322839</guid></item><item><title><![CDATA[New comment by kentonv in "GPT Bot Ignoring Robots.txt on my cloudflare worker"]]></title><description><![CDATA[
<p>Interesting. workers.dev domains can be a liability sometimes -- if you've mapped the worker to a real zone, then you probably don't want the workers.dev zone anymore.<p>For what it's worth, you can disable the workers.dev zone by putting `"workers_dev": false,` in wranlger.jsonc. You can also enable Cloudflare Access on your workers.dev zone to require login (there's a switch for this in the cloudflare dashboard UI for the worker).<p>But of course you have to remember to do those things... I wonder if we (Cloudflare) should be more proactive in suggesting disabling/locking down the workers.dev zone once a worker is mapped to another zone...</p>
]]></description><pubDate>Wed, 25 Feb 2026 19:12:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=47156303</link><dc:creator>kentonv</dc:creator><comments>https://news.ycombinator.com/item?id=47156303</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47156303</guid></item><item><title><![CDATA[New comment by kentonv in "How did Windows 95 get permission to put Weezer video 'Buddy Holly' on the CD?"]]></title><description><![CDATA[
<p>As a teenager I found this video on the Windows 95 CD without context and for some time after I thought that Weezer was a 60's band that just had a style way ahead of their time.</p>
]]></description><pubDate>Wed, 11 Feb 2026 01:06:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=46969444</link><dc:creator>kentonv</dc:creator><comments>https://news.ycombinator.com/item?id=46969444</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46969444</guid></item><item><title><![CDATA[New comment by kentonv in "Replacing Protobuf with Rust"]]></title><description><![CDATA[
<p>Protobuf has far better ergonomics than ASN.1. ASN.1 is an overcomplicated design-by-committee mess. Backwards compatibility in particular is much harder.</p>
]]></description><pubDate>Fri, 23 Jan 2026 21:55:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=46738478</link><dc:creator>kentonv</dc:creator><comments>https://news.ycombinator.com/item?id=46738478</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46738478</guid></item><item><title><![CDATA[New comment by kentonv in "Replacing Protobuf with Rust"]]></title><description><![CDATA[
<p>lol are you accusing Sanjay of creating Protobuf to get promoted?</p>
]]></description><pubDate>Fri, 23 Jan 2026 21:49:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=46738408</link><dc:creator>kentonv</dc:creator><comments>https://news.ycombinator.com/item?id=46738408</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46738408</guid></item><item><title><![CDATA[New comment by kentonv in "Anthropic made a mistake in cutting off third-party clients"]]></title><description><![CDATA[
<p>There is so much low-hanging fruit in the tooling side right now. There's no way Anthropic alone can stay ahead of it all -- we need lots of different teams trying different things.<p>I myself have been building a special-purpose vibe-coding environment and it's just astounding how easy it is to get great results by trying totally random ideas that are just trivial to implement.<p>Lots of companies are hoping to <i>win</i> here by creating the tool that everyone uses, but I think that's folly. The more likely outcome is that there are a million niche tools and everyone is using something different. That means nobody ends up with a giant valuation, and open source tools can compete easily. Bad for business, great for users.</p>
]]></description><pubDate>Mon, 12 Jan 2026 14:14:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=46588798</link><dc:creator>kentonv</dc:creator><comments>https://news.ycombinator.com/item?id=46588798</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46588798</guid></item><item><title><![CDATA[New comment by kentonv in "Anthropic made a mistake in cutting off third-party clients"]]></title><description><![CDATA[
<p>I mean... I don't like it either but this is pretty standard stuff and it's obvious why they're doing it.<p>Claude, ChatGPT, Gemini, and Grok are all more or less on par with each other, or a couple months behind at most. Chinese open models are also not far behind.<p>There's nothing inherent to these products to make them "sticky". If your tooling is designed for it, you can trivially switch models at any time. Mid-conversation, even. And it just works.<p>When you have basically equivalent products with no switching cost, you have perfect competition. They are all commodities. And that means: none of them can make a profit. It's a basic law of economics.<p>If they can't make a profit, no matter how revolutionary the tech is, their valuation is not justified, and they will be in big trouble when people figure this out.<p>So they need to make the product sticky somehow. So they:<p>1. Add a subscription payment model. Once you are paying a subscription fee, then the calculus on switching changes: if you only maintain one subscription, you have a strong reason to stick with it for everything.<p>2. Force you to use their client app, which only talks to their model, so you can't even try other models without changing your whole workflow, which most people won't bother to do.<p>These are bog standard tactics across the tech industry and beyond for limiting competitive pressure.<p>Everyone is mad about #2 but honestly I'm more mad about #1. The best thing for consumers would be if all these model providers strictly provided usage-based API pricing, which makes switching easy. But right now the subscription prices offer an enormous discount over API pricing, which just shows how much they are really desperate to create some sort of stickiness. The subscriptions don't even provide the "peace of mind" benefit that Spotify-like subscription models provide, where you don't have to worry about usage, because they still have enforced usage limits that people regularly hit. It's just purely a discount offered for locking yourself in.<p>But again I can't really be <i>that</i> mad because <i>of course</i> they are doing this, not doing it would be terrible business strategy.</p>
]]></description><pubDate>Mon, 12 Jan 2026 13:56:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=46588559</link><dc:creator>kentonv</dc:creator><comments>https://news.ycombinator.com/item?id=46588559</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46588559</guid></item><item><title><![CDATA[New comment by kentonv in "I replaced Windows with Linux and everything's going great"]]></title><description><![CDATA[
<p>I've had wake-from-suspend issues on plenty of non-nvidia machines, and I have had nvidia machines that have no issues.<p>I think it has nothing to do with the GPU and everything to do with the motherboard chipset.</p>
]]></description><pubDate>Sat, 10 Jan 2026 22:24:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=46570527</link><dc:creator>kentonv</dc:creator><comments>https://news.ycombinator.com/item?id=46570527</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46570527</guid></item><item><title><![CDATA[New comment by kentonv in "Caltrain shows why every region should be moving toward regional rail"]]></title><description><![CDATA[
<p>Err... well... I live in Austin currently.<p>I'm describing the red line which goes from downtown to Leander. (The one I linked to.) If you're describing some other line then sorry for the confusion, I didn't actually know there was another rail line. There are plans to build a green line to Elgin but AFAIK that's still under construction.<p>The red line is mostly single-track, but there are several specific segments of dual-track allowing trains to pass each other, which is why they're able to support multiple trains in both directions.<p>It's still a crappy schedule -- even during rush hour it's still no more than two trains an hour. Supposedly they intend to start running it every 15 minutes once they add some more dual-track segments.<p>Maybe it was worse when you lived here?</p>
]]></description><pubDate>Sat, 10 Jan 2026 21:07:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=46569927</link><dc:creator>kentonv</dc:creator><comments>https://news.ycombinator.com/item?id=46569927</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46569927</guid></item><item><title><![CDATA[New comment by kentonv in "Cloudflare CEO on the Italy fines"]]></title><description><![CDATA[
<p>Not sure if my word is any better but I wouldn't be working for him if I thought he was the kind of person who harasses security researchers.</p>
]]></description><pubDate>Sat, 10 Jan 2026 01:31:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=46561773</link><dc:creator>kentonv</dc:creator><comments>https://news.ycombinator.com/item?id=46561773</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46561773</guid></item></channel></rss>