<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: mrkurt</title><link>https://news.ycombinator.com/user?id=mrkurt</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sun, 24 May 2026 09:01:58 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=mrkurt" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by mrkurt in "Deno Sandbox"]]></title><description><![CDATA[
<p>You will be <i>astonished</i> to know it'a a whole lot of sqlite.<p>Everything I want to pay attention to gets a token, the server goes and looks for stuff in the api, and seeds local sqlites. If possible, it listens for webhooks to stay fresh.<p>Mostly the interface is Claude code. I have a web view that gives me some idea of volume, and then I just chat at Claude code to have it see what's going on. It does this by querying and cross referencing sqlite dbs.<p>I will have claude code send/post a response for me, but I still write them like a meatsack.<p>It's effectively: long lived HTTP server, sqlite, and then Claude skills for scripts that help it consistently do things based on my awful typing.</p>
]]></description><pubDate>Tue, 03 Feb 2026 20:13:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=46876612</link><dc:creator>mrkurt</dc:creator><comments>https://news.ycombinator.com/item?id=46876612</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46876612</guid></item><item><title><![CDATA[New comment by mrkurt in "Deno Sandbox"]]></title><description><![CDATA[
<p>All the time with a bunch of different sandboxes.</p>
]]></description><pubDate>Tue, 03 Feb 2026 20:11:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=46876576</link><dc:creator>mrkurt</dc:creator><comments>https://news.ycombinator.com/item?id=46876576</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46876576</guid></item><item><title><![CDATA[New comment by mrkurt in "Deno Sandbox"]]></title><description><![CDATA[
<p>This is, in fact, the biggest problem to solve with any kind of compute platform. And when you suddenly launch things really, really fast, it gets harder.</p>
]]></description><pubDate>Tue, 03 Feb 2026 19:28:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=46875997</link><dc:creator>mrkurt</dc:creator><comments>https://news.ycombinator.com/item?id=46875997</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46875997</guid></item><item><title><![CDATA[New comment by mrkurt in "Deno Sandbox"]]></title><description><![CDATA[
<p>For what it's worth, I do this from about 50 different IPs and have had no issues. I think their heuristics are more about confirming "a human is driving this" and rejecting "this is something abusing tokens for API access".</p>
]]></description><pubDate>Tue, 03 Feb 2026 19:27:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=46875986</link><dc:creator>mrkurt</dc:creator><comments>https://news.ycombinator.com/item?id=46875986</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46875986</guid></item><item><title><![CDATA[New comment by mrkurt in "Deno Sandbox"]]></title><description><![CDATA[
<p>Sandboxes with the right persistence and http routing make excellent dev servers. I have about a million dev servers I just use from whatever computer / phone I happen to be using.<p>It's really useful to just turn a computer on, use a disk, and then plop its url in the browser.<p>I currently do one computer per project. I don't even put them in git anymore. I have an MDM server running to manage my kids' phones, a "help me reply to all the people" computer that reads everything I'm supposed to read, a dumb game I play with my son, a family todo list no one uses but me, etc, etc.<p>Immediate computers have made side projects a lot more fun again. And the nice thing is, they cost nothing when I forget about them.</p>
]]></description><pubDate>Tue, 03 Feb 2026 19:26:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=46875957</link><dc:creator>mrkurt</dc:creator><comments>https://news.ycombinator.com/item?id=46875957</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46875957</guid></item><item><title><![CDATA[New comment by mrkurt in "Design and Implementation of Sprites"]]></title><description><![CDATA[
<p>> Sprites for suspendable, iterative, sandboxed compute sessions (with disk)?..<p>Yes.<p>They won't horizontally scale. They're pretty good for hosting my side projects! Not good for, eg, hosting the API that orchestrates Sprites.</p>
]]></description><pubDate>Fri, 16 Jan 2026 01:04:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=46641740</link><dc:creator>mrkurt</dc:creator><comments>https://news.ycombinator.com/item?id=46641740</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46641740</guid></item><item><title><![CDATA[New comment by mrkurt in "JuiceFS is a distributed POSIX file system built on top of Redis and S3"]]></title><description><![CDATA[
<p>It backs its metadata up to S3. You do need metadata to map inodes / slices / chunks to s3 objects, though.<p>Tigris has a one-to-one FUSE that does what you want: <a href="https://github.com/tigrisdata/tigrisfs" rel="nofollow">https://github.com/tigrisdata/tigrisfs</a></p>
]]></description><pubDate>Thu, 15 Jan 2026 21:04:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=46639299</link><dc:creator>mrkurt</dc:creator><comments>https://news.ycombinator.com/item?id=46639299</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46639299</guid></item><item><title><![CDATA[New comment by mrkurt in "Design and Implementation of Sprites"]]></title><description><![CDATA[
<p>Shell environments are by far the most difficult part of building a stateful sandbox with checkpoints and restores. It's bananas. This will be fixed soon.</p>
]]></description><pubDate>Thu, 15 Jan 2026 20:45:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=46639037</link><dc:creator>mrkurt</dc:creator><comments>https://news.ycombinator.com/item?id=46639037</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46639037</guid></item><item><title><![CDATA[New comment by mrkurt in "JuiceFS is a distributed POSIX file system built on top of Redis and S3"]]></title><description><![CDATA[
<p>FUSE is full of gotchas. I wouldn't replace NFS with JuiceFS for arbitrary workloads. Getting the full FUSE set implemented is not easy -- you can't use sqlite on JuiceFS, for example.<p>The meta store is a bottleneck too. For a shared mount, you've got a bunch of clients sharing a metadata store that lives in the cloud somewhere. They do a lot of aggressive metadata caching. It's still surprisingly slow at times.</p>
]]></description><pubDate>Thu, 15 Jan 2026 20:19:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=46638601</link><dc:creator>mrkurt</dc:creator><comments>https://news.ycombinator.com/item?id=46638601</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46638601</guid></item><item><title><![CDATA[New comment by mrkurt in "Design and Implementation of Sprites"]]></title><description><![CDATA[
<p>`cat file.txt | sprite exec -s <name> bash -c "cat > ~/file.txt"` is my go to.</p>
]]></description><pubDate>Thu, 15 Jan 2026 20:15:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=46638543</link><dc:creator>mrkurt</dc:creator><comments>https://news.ycombinator.com/item?id=46638543</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46638543</guid></item><item><title><![CDATA[New comment by mrkurt in "Design and Implementation of Sprites"]]></title><description><![CDATA[
<p>It's tiered, they have local nvme that gets written back to object storage.<p>npm install hasn't bothered me, but I know of people with massive npm issues that would like faster first installs. Fortunately, it's incrementally quicker after that.<p>The storage performs pretty well for running claude + my dev. It'll improve immensely in the next few months, though. We should be able to get near native NVMe speeds for the working storage set on reads/writes/flush/fua.</p>
]]></description><pubDate>Thu, 15 Jan 2026 20:15:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=46638532</link><dc:creator>mrkurt</dc:creator><comments>https://news.ycombinator.com/item?id=46638532</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46638532</guid></item><item><title><![CDATA[New comment by mrkurt in "Design and Implementation of Sprites"]]></title><description><![CDATA[
<p>Ok so, "running" sprite status has had some cache consistency issues. You're not being charged for idle sprites, but they may show as "running" even when you're not using them. The UX has improved, and it reliably shows what you expect. Some of the existing sprites need an environment upgrade, but you'll see those improve over the next few days.</p>
]]></description><pubDate>Thu, 15 Jan 2026 20:04:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=46638385</link><dc:creator>mrkurt</dc:creator><comments>https://news.ycombinator.com/item?id=46638385</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46638385</guid></item><item><title><![CDATA[New comment by mrkurt in "Design and Implementation of Sprites"]]></title><description><![CDATA[
<p>For what it's worth, CPU pricing is based on CPU util. A sprite sitting idle CPU costs almost nothing, even when "active".</p>
]]></description><pubDate>Thu, 15 Jan 2026 19:32:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=46637925</link><dc:creator>mrkurt</dc:creator><comments>https://news.ycombinator.com/item?id=46637925</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46637925</guid></item><item><title><![CDATA[New comment by mrkurt in "Code and Let Live"]]></title><description><![CDATA[
<p>Good point about quietly grabbing env vars, we can warn about that on first run. All it's getting are these:<p><pre><code>  var envVars []string
    shellEnvVars := []string{
    "BASH_VERSION",
    "ZSH_VERSION",
    "FISH_VERSION",
    "KSH_VERSION",
    "tcsh",
    "SHELL",
  }
</code></pre>
It's also reading terminfo. It's not handling absolute paths to shells properly, though.<p>If you want to skip this, running `sprite exec -tty /bin/bash --login` or similar avoids the magic.</p>
]]></description><pubDate>Sun, 11 Jan 2026 19:17:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=46578855</link><dc:creator>mrkurt</dc:creator><comments>https://news.ycombinator.com/item?id=46578855</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46578855</guid></item><item><title><![CDATA[New comment by mrkurt in "Code and Let Live"]]></title><description><![CDATA[
<p>This is on the roadmap. The open question right now is if we can just do "fork from checkpoint" for customized template environments, or if we need all the docker infrastructure.<p>If the fat bundled environment harmful for you, or just extra stuff you don't care about?</p>
]]></description><pubDate>Sun, 11 Jan 2026 16:54:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=46577335</link><dc:creator>mrkurt</dc:creator><comments>https://news.ycombinator.com/item?id=46577335</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46577335</guid></item><item><title><![CDATA[New comment by mrkurt in "Code and Let Live"]]></title><description><![CDATA[
<p>flyctl is complicated and, unfortunately, needs pretty aggressive auto updates. The sprite CLI should be much better in this respect.</p>
]]></description><pubDate>Sun, 11 Jan 2026 16:34:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=46577144</link><dc:creator>mrkurt</dc:creator><comments>https://news.ycombinator.com/item?id=46577144</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46577144</guid></item><item><title><![CDATA[New comment by mrkurt in "Code and Let Live"]]></title><description><![CDATA[
<p>Believe it or not, that's the only example that's not autogenerated from tests (yet).<p><a href="https://github.com/superfly/sprites-js/tree/main/examples" rel="nofollow">https://github.com/superfly/sprites-js/tree/main/examples</a>
<a href="https://github.com/superfly/sprites-go/tree/main/examples" rel="nofollow">https://github.com/superfly/sprites-go/tree/main/examples</a>
<a href="https://github.com/superfly/sprites-py/tree/main/examples" rel="nofollow">https://github.com/superfly/sprites-py/tree/main/examples</a>
<a href="https://github.com/superfly/sprites-ex/tree/main/examples" rel="nofollow">https://github.com/superfly/sprites-ex/tree/main/examples</a></p>
]]></description><pubDate>Sun, 11 Jan 2026 16:32:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=46577126</link><dc:creator>mrkurt</dc:creator><comments>https://news.ycombinator.com/item?id=46577126</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46577126</guid></item><item><title><![CDATA[New comment by mrkurt in "Code and Let Live"]]></title><description><![CDATA[
<p>I have a Sprite with an auth token to an isolated Sprite org, it works really well for this.<p>SQLite works great for my apps. I haven't needed object storage yet, storing files on disk is enough.</p>
]]></description><pubDate>Sun, 11 Jan 2026 00:16:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=46571371</link><dc:creator>mrkurt</dc:creator><comments>https://news.ycombinator.com/item?id=46571371</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46571371</guid></item><item><title><![CDATA[New comment by mrkurt in "Code and Let Live"]]></title><description><![CDATA[
<p>It stays awake if you have an open connection (like sprite console) or an exec session if running and producing stdout.<p>You can specify a max exec time for a process when you launch it via the API.</p>
]]></description><pubDate>Sat, 10 Jan 2026 23:39:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=46571119</link><dc:creator>mrkurt</dc:creator><comments>https://news.ycombinator.com/item?id=46571119</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46571119</guid></item><item><title><![CDATA[New comment by mrkurt in "Code and Let Live"]]></title><description><![CDATA[
<p>Intended typo so you can see restore happen ;)</p>
]]></description><pubDate>Sat, 10 Jan 2026 16:52:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=46567342</link><dc:creator>mrkurt</dc:creator><comments>https://news.ycombinator.com/item?id=46567342</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46567342</guid></item></channel></rss>