<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: psarna</title><link>https://news.ycombinator.com/user?id=psarna</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 09 Jul 2026 04:07:03 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=psarna" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by psarna in "Chatto is now open source"]]></title><description><![CDATA[
<p>single executable with its own frontend is the way; I followed the pattern with <a href="https://worb.cloud" rel="nofollow">https://worb.cloud</a> . Nice for users but also extremely easy to have a short debugging feedback loop</p>
]]></description><pubDate>Wed, 08 Jul 2026 18:58:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=48835972</link><dc:creator>psarna</dc:creator><comments>https://news.ycombinator.com/item?id=48835972</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48835972</guid></item><item><title><![CDATA[Worb: Local open-source wandb-compatible server]]></title><description><![CDATA[
<p>Article URL: <a href="https://worb.cloud">https://worb.cloud</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47166793">https://news.ycombinator.com/item?id=47166793</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 26 Feb 2026 14:43:59 +0000</pubDate><link>https://worb.cloud</link><dc:creator>psarna</dc:creator><comments>https://news.ycombinator.com/item?id=47166793</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47166793</guid></item><item><title><![CDATA[Fuss: OverlayFS Without Mounting]]></title><description><![CDATA[
<p>Article URL: <a href="https://writethat.blog/fuss.html">https://writethat.blog/fuss.html</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47126999">https://news.ycombinator.com/item?id=47126999</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 23 Feb 2026 18:59:39 +0000</pubDate><link>https://writethat.blog/fuss.html</link><dc:creator>psarna</dc:creator><comments>https://news.ycombinator.com/item?id=47126999</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47126999</guid></item><item><title><![CDATA[Look Ma, No FUSE]]></title><description><![CDATA[
<p>Article URL: <a href="https://writethat.blog/lookma.html">https://writethat.blog/lookma.html</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47124232">https://news.ycombinator.com/item?id=47124232</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 23 Feb 2026 16:07:40 +0000</pubDate><link>https://writethat.blog/lookma.html</link><dc:creator>psarna</dc:creator><comments>https://news.ycombinator.com/item?id=47124232</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47124232</guid></item><item><title><![CDATA[New comment by psarna in "The Unix Pipe Card Game"]]></title><description><![CDATA[
<p>related: <a href="https://printed.games/gates/" rel="nofollow">https://printed.games/gates/</a></p>
]]></description><pubDate>Tue, 20 Jan 2026 18:29:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=46695820</link><dc:creator>psarna</dc:creator><comments>https://news.ycombinator.com/item?id=46695820</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46695820</guid></item><item><title><![CDATA[Ice Ring: Free Printable Board Game]]></title><description><![CDATA[
<p>Article URL: <a href="https://printed.games/icering/">https://printed.games/icering/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46413812">https://news.ycombinator.com/item?id=46413812</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Sun, 28 Dec 2025 19:44:18 +0000</pubDate><link>https://printed.games/icering/</link><dc:creator>psarna</dc:creator><comments>https://news.ycombinator.com/item?id=46413812</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46413812</guid></item><item><title><![CDATA[Gates: Printable card game with logic gates]]></title><description><![CDATA[
<p>Article URL: <a href="https://printed.games/gates/">https://printed.games/gates/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46386841">https://news.ycombinator.com/item?id=46386841</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 25 Dec 2025 20:28:27 +0000</pubDate><link>https://printed.games/gates/</link><dc:creator>psarna</dc:creator><comments>https://news.ycombinator.com/item?id=46386841</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46386841</guid></item><item><title><![CDATA[Registry You Can Actually Query]]></title><description><![CDATA[
<p>Article URL: <a href="https://writethat.blog/reg.html">https://writethat.blog/reg.html</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46325574">https://news.ycombinator.com/item?id=46325574</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Fri, 19 Dec 2025 13:24:38 +0000</pubDate><link>https://writethat.blog/reg.html</link><dc:creator>psarna</dc:creator><comments>https://news.ycombinator.com/item?id=46325574</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46325574</guid></item><item><title><![CDATA[Thinning Layers]]></title><description><![CDATA[
<p>Article URL: <a href="https://writethat.blog/layers.html">https://writethat.blog/layers.html</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46057036">https://news.ycombinator.com/item?id=46057036</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 26 Nov 2025 13:10:07 +0000</pubDate><link>https://writethat.blog/layers.html</link><dc:creator>psarna</dc:creator><comments>https://news.ycombinator.com/item?id=46057036</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46057036</guid></item><item><title><![CDATA[Free open-source eBook: Database Performance at Scale]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.scylladb.com/2023/10/02/introducing-database-performance-at-scale-a-free-open-source-book/">https://www.scylladb.com/2023/10/02/introducing-database-performance-at-scale-a-free-open-source-book/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=37766106">https://news.ycombinator.com/item?id=37766106</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 04 Oct 2023 14:57:07 +0000</pubDate><link>https://www.scylladb.com/2023/10/02/introducing-database-performance-at-scale-a-free-open-source-book/</link><dc:creator>psarna</dc:creator><comments>https://news.ycombinator.com/item?id=37766106</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37766106</guid></item><item><title><![CDATA[Free Book: Database Performance at Scale]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/Apress/db-performance-at-scale">https://github.com/Apress/db-performance-at-scale</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=37508142">https://news.ycombinator.com/item?id=37508142</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 14 Sep 2023 12:41:03 +0000</pubDate><link>https://github.com/Apress/db-performance-at-scale</link><dc:creator>psarna</dc:creator><comments>https://news.ycombinator.com/item?id=37508142</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37508142</guid></item><item><title><![CDATA[Database Performance at Scale]]></title><description><![CDATA[
<p>Article URL: <a href="https://link.springer.com/book/10.1007/978-1-4842-9711-7">https://link.springer.com/book/10.1007/978-1-4842-9711-7</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=37435228">https://news.ycombinator.com/item?id=37435228</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Fri, 08 Sep 2023 15:50:55 +0000</pubDate><link>https://link.springer.com/book/10.1007/978-1-4842-9711-7</link><dc:creator>psarna</dc:creator><comments>https://news.ycombinator.com/item?id=37435228</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37435228</guid></item><item><title><![CDATA[Open-source disposable email service]]></title><description><![CDATA[
<p>Article URL: <a href="https://sorry.idont.date/">https://sorry.idont.date/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=35920844">https://news.ycombinator.com/item?id=35920844</a></p>
<p>Points: 190</p>
<p># Comments: 66</p>
]]></description><pubDate>Fri, 12 May 2023 19:13:06 +0000</pubDate><link>https://sorry.idont.date/</link><dc:creator>psarna</dc:creator><comments>https://news.ycombinator.com/item?id=35920844</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35920844</guid></item><item><title><![CDATA[New comment by psarna in "SQLite-based databases on the Postgres protocol"]]></title><description><![CDATA[
<p>First of all, let me start by reiterating the first sentence from the bottomless repo - it's work in heavy progress (and we'll move it under the sqld/ repo soon, to keep everything in one place). Now, answers:<p>> - Looks like bottomless does automatic restoring of the database? Litestream seems to avoid this, I assume because of concerns about accidentally creating multiple writers on a rolling-deploy (or similar mistake). Any concerns about this possible footgun?<p>It's a valid concern, but what always happens on boot is starting a new generation (a generation is basically a snapshot of the main file + its continuously replicated WAL), distinguished by a uuid v7, the timestamped one. So even if a collision happens, it would be recoverable - e.g. one of the stray generations should be deleted.<p>> - Bottomless is a sqlite extension, not a separate process? Pros and cons compared to litestream?<p>The only con I see is that a bug in the extension could interfere with the database. As for pros: way less maintenance work, because everything is already embedded, we're also hooked into the database via a virtual WAL interface (libSQL-only), so we have full control over when to replicate, without having to observe the .wal file and reason about it from a separate process.<p>> - Similar questions for sqld. How does sqld handle the lifecycle of deploys and multiple readers/writers talking to the database? Anything a new user should be concerned about?<p>There are going to be multiple flavors of sqld, but the rough idea would be to trust the users to only launch a single primary. In the current state of the code, replicas contact the primary in order to register themselves, so the model is centralized. Once we build something on top of a consensus algorithm, leader election will be pushed to the algorithm itself.</p>
]]></description><pubDate>Wed, 25 Jan 2023 16:11:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=34520048</link><dc:creator>psarna</dc:creator><comments>https://news.ycombinator.com/item?id=34520048</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34520048</guid></item><item><title><![CDATA[Compare Rust crate stats from crates.io]]></title><description><![CDATA[
<p>Article URL: <a href="https://compare-crates.sarna.dev/?crate1=tokio&crate2=futures">https://compare-crates.sarna.dev/?crate1=tokio&crate2=futures</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=30102495">https://news.ycombinator.com/item?id=30102495</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 27 Jan 2022 16:30:06 +0000</pubDate><link>https://compare-crates.sarna.dev/?crate1=tokio&amp;crate2=futures</link><dc:creator>psarna</dc:creator><comments>https://news.ycombinator.com/item?id=30102495</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30102495</guid></item><item><title><![CDATA[Crate comparator: compare stats from crates.io]]></title><description><![CDATA[
<p>Article URL: <a href="https://compare-crates.sarna.dev/?crate1=futures&crate2=tokio">https://compare-crates.sarna.dev/?crate1=futures&crate2=tokio</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=30098926">https://news.ycombinator.com/item?id=30098926</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 27 Jan 2022 11:01:42 +0000</pubDate><link>https://compare-crates.sarna.dev/?crate1=futures&amp;crate2=tokio</link><dc:creator>psarna</dc:creator><comments>https://news.ycombinator.com/item?id=30098926</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30098926</guid></item><item><title><![CDATA[New comment by psarna in "Async Rust in Practice: Performance, Pitfalls, Profiling"]]></title><description><![CDATA[
<p>In case somebody stumbles upon this old thread, here's the recording of the meetup: <a href="https://youtu.be/pgzjPeIQ3Us" rel="nofollow">https://youtu.be/pgzjPeIQ3Us</a></p>
]]></description><pubDate>Thu, 20 Jan 2022 02:55:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=30003882</link><dc:creator>psarna</dc:creator><comments>https://news.ycombinator.com/item?id=30003882</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30003882</guid></item><item><title><![CDATA[New comment by psarna in "Async Rust in Practice: Performance, Pitfalls, Profiling"]]></title><description><![CDATA[
<p>maybe_yield may or may not be the right solution here, but I think it may be useful in general - e.g. when you have long I/O-less computations. In such a case, I'd like to be able to say "yield here if my budget is drained, but continue otherwise and don't put my task at the end of the queue". Although for that the only thing I really need is a way to peek at your budget - with that, open-coding maybe_yield is trivial</p>
]]></description><pubDate>Sat, 15 Jan 2022 16:33:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=29947691</link><dc:creator>psarna</dc:creator><comments>https://news.ycombinator.com/item?id=29947691</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=29947691</guid></item><item><title><![CDATA[New comment by psarna in "Async Rust in Practice: Performance, Pitfalls, Profiling"]]></title><description><![CDATA[
<p>Now that I think of it, it would probably be beneficial even outside of the unconstrained scope, especially for long computations. When iterating over millions of elements, it would be great to have a mechanism for <i>maybe</i> yielding if we're past the budget, but we don't really want to force-yield on every X iterations and put the task at the back of the queue. If the maybe_yield API is potentially controversial, a sufficient building block would be a function that allows peeking into the state of your budget - and then, if you're out of it, you just explicitly call yield_now().</p>
]]></description><pubDate>Thu, 13 Jan 2022 16:59:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=29923178</link><dc:creator>psarna</dc:creator><comments>https://news.ycombinator.com/item?id=29923178</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=29923178</guid></item><item><title><![CDATA[New comment by psarna in "Async Rust in Practice: Performance, Pitfalls, Profiling"]]></title><description><![CDATA[
<p>wrt. preemption - in Seastar we have maybe_yield(), which gives up the cpu, but only if the task quota (more or less a semantic equivalent for Tokio's budget) has passed. Wouldn't it make sense to have a similar capability in Tokio? Then, if somebody is not a big fan of the default preemption, they could run their tasks under tokio::task::unconstrained and only check the budget in very specific, explicitly chosen places - where they call maybe_yield(). That could of course also be open-coded by trying to implement maybe_yield on top of yield_now and some time measurements, but since the whole budgeting code is already there... Do you think it's feasible?</p>
]]></description><pubDate>Thu, 13 Jan 2022 05:28:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=29917196</link><dc:creator>psarna</dc:creator><comments>https://news.ycombinator.com/item?id=29917196</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=29917196</guid></item></channel></rss>