<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: cataflutter</title><link>https://news.ycombinator.com/user?id=cataflutter</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Tue, 16 Jun 2026 13:42:40 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=cataflutter" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by cataflutter in "Statement on US government directive to suspend access to Fable 5 and Mythos 5"]]></title><description><![CDATA[
<p>They have a presence in London; have met someone who works there. Sounds like there is an office too</p>
]]></description><pubDate>Sat, 13 Jun 2026 07:33:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=48514479</link><dc:creator>cataflutter</dc:creator><comments>https://news.ycombinator.com/item?id=48514479</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48514479</guid></item><item><title><![CDATA[New comment by cataflutter in "Google Chrome silently installs a 4 GB AI model on your device without consent"]]></title><description><![CDATA[
<p>Disk space is one thing, but the actual download size is higher than some people's data allowances altogether!
It baffles me that a lot of people don't seem to be aware of this</p>
]]></description><pubDate>Wed, 06 May 2026 09:52:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=48034335</link><dc:creator>cataflutter</dc:creator><comments>https://news.ycombinator.com/item?id=48034335</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48034335</guid></item><item><title><![CDATA[New comment by cataflutter in "Google Chrome silently installs a 4 GB AI model on your device without consent"]]></title><description><![CDATA[
<p>Disagreed; it's not a download you'd expect and it's also at least an order or two of magnitude than you'd expect to find reasonable for browsing a page.<p>I have a 2GB mobile data plan. If I was using Chrome, then some site triggers the Prompt API, that will cause Chrome to not only wipe out my data plan, but need 2 of my data plans. I don't find this reasonable.<p>This is exactly a consent problem, because I'm not denying it might be a useful feature, but it should be at the user's own informed choice.
The fact that Chrome developers don't appear to see this might be due to them living in a bubble where they've never had to think about the costs.</p>
]]></description><pubDate>Wed, 06 May 2026 09:44:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=48034281</link><dc:creator>cataflutter</dc:creator><comments>https://news.ycombinator.com/item?id=48034281</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48034281</guid></item><item><title><![CDATA[New comment by cataflutter in "Ask HN: What Are You Working On? (April 2026)"]]></title><description><![CDATA[
<p>Probably explains it, but one wonders why this page would need WebGL at all. It's not like it's a rich graphical application... is it? :)</p>
]]></description><pubDate>Mon, 04 May 2026 16:23:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=48010820</link><dc:creator>cataflutter</dc:creator><comments>https://news.ycombinator.com/item?id=48010820</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48010820</guid></item><item><title><![CDATA[New comment by cataflutter in "DeepSeek V4 – almost on the frontier"]]></title><description><![CDATA[
<p>Worth noting that NVIDIA confidential computing and similar schemes have been compromised and shouldn't be relied upon if it really matters. See <a href="https://tee.fail/" rel="nofollow">https://tee.fail/</a> and similar.</p>
]]></description><pubDate>Sat, 02 May 2026 16:39:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=47987921</link><dc:creator>cataflutter</dc:creator><comments>https://news.ycombinator.com/item?id=47987921</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47987921</guid></item><item><title><![CDATA[New comment by cataflutter in "Bugs Rust won't catch"]]></title><description><![CDATA[
<p>> the function signature is what they read, but the scars are what they need.<p>This feels like a golden quote. Don't know if you intended for it to rhyme, but well done :D</p>
]]></description><pubDate>Wed, 29 Apr 2026 08:55:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=47945807</link><dc:creator>cataflutter</dc:creator><comments>https://news.ycombinator.com/item?id=47945807</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47945807</guid></item><item><title><![CDATA[New comment by cataflutter in "GitHub Actions is the weakest link"]]></title><description><![CDATA[
<p>A while ago I checked this out and the homepage looked like it had fallen to the 'AI hype' trend, you know like how everything was 'AI-native XYZ for Autonomous Agents' at the time. I'm not seeing that now though.<p>Am I thinking of someone else or did you reverse on that?</p>
]]></description><pubDate>Tue, 28 Apr 2026 18:54:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=47938869</link><dc:creator>cataflutter</dc:creator><comments>https://news.ycombinator.com/item?id=47938869</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47938869</guid></item><item><title><![CDATA[New comment by cataflutter in "Changes to GitHub Copilot individual plans"]]></title><description><![CDATA[
<p>they don't restrict you to using their opencode agent, you can use go in any other agent</p>
]]></description><pubDate>Wed, 22 Apr 2026 09:50:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=47861257</link><dc:creator>cataflutter</dc:creator><comments>https://news.ycombinator.com/item?id=47861257</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47861257</guid></item><item><title><![CDATA[New comment by cataflutter in "Introspective Diffusion Language Models"]]></title><description><![CDATA[
<p>Weird; I clicked through out of curiosity and didn't get any corruption of the sort in the end result.<p>I also asked it some technical details about how diffusion LLMs could work and it provided grammatically-correct plausible answers in a very short time (I don't know the tech to say if it's correct or not).</p>
]]></description><pubDate>Tue, 14 Apr 2026 09:38:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=47763326</link><dc:creator>cataflutter</dc:creator><comments>https://news.ycombinator.com/item?id=47763326</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47763326</guid></item><item><title><![CDATA[New comment by cataflutter in "TanStack Start Now Support React Server Components"]]></title><description><![CDATA[
<p>that said the documentation is rough, especially for their support for non-React frameworks</p>
]]></description><pubDate>Tue, 14 Apr 2026 09:17:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=47763179</link><dc:creator>cataflutter</dc:creator><comments>https://news.ycombinator.com/item?id=47763179</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47763179</guid></item><item><title><![CDATA[New comment by cataflutter in "Ask HN: What Are You Working On? (April 2026)"]]></title><description><![CDATA[
<p>Do you have anywhere for people to follow the developments? :)</p>
]]></description><pubDate>Tue, 14 Apr 2026 08:51:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=47762985</link><dc:creator>cataflutter</dc:creator><comments>https://news.ycombinator.com/item?id=47762985</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47762985</guid></item><item><title><![CDATA[New comment by cataflutter in "Ask HN: What Are You Working On? (April 2026)"]]></title><description><![CDATA[
<p>Do you have anywhere people can follow out of interest? :)</p>
]]></description><pubDate>Tue, 14 Apr 2026 08:45:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=47762952</link><dc:creator>cataflutter</dc:creator><comments>https://news.ycombinator.com/item?id=47762952</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47762952</guid></item><item><title><![CDATA[New comment by cataflutter in "Ask HN: What Are You Working On? (April 2026)"]]></title><description><![CDATA[
<p>This looks really excellent, looking forward to giving it a try, thank you for sharing!</p>
]]></description><pubDate>Tue, 14 Apr 2026 08:41:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=47762922</link><dc:creator>cataflutter</dc:creator><comments>https://news.ycombinator.com/item?id=47762922</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47762922</guid></item><item><title><![CDATA[New comment by cataflutter in "Ask HN: What Are You Working On? (April 2026)"]]></title><description><![CDATA[
<p>Sounds interesting, but if I may: the website is exceedingly sluggish, something like 1-2s interval between re-renders when trying to scroll the page (Firefox Linux). Not seeing any reason to explain this based on the page content but it's  not happening with anything else on my system atm<p>edit: maybe `WARNING: Falling back to CPU-only rendering. Reason: webGLVersion is -1` from the console explains why, although I don't get why the page would need webGL</p>
]]></description><pubDate>Tue, 14 Apr 2026 08:32:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=47762889</link><dc:creator>cataflutter</dc:creator><comments>https://news.ycombinator.com/item?id=47762889</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47762889</guid></item><item><title><![CDATA[New comment by cataflutter in "Ask HN: What Are You Working On? (April 2026)"]]></title><description><![CDATA[
<p>This looks very nifty, I will check it out and consider using it after I can understand the underlying primitives :) Thanks for sharing!</p>
]]></description><pubDate>Tue, 14 Apr 2026 08:18:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=47762797</link><dc:creator>cataflutter</dc:creator><comments>https://news.ycombinator.com/item?id=47762797</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47762797</guid></item><item><title><![CDATA[New comment by cataflutter in "Ask HN: What Are You Working On? (April 2026)"]]></title><description><![CDATA[
<p>I was going to use Firecracker in an untrusted code execution project (not AI stuff); any chance you'd be happy to elaborate a bit on how you found it a pain to use? Thanks :)</p>
]]></description><pubDate>Tue, 14 Apr 2026 07:40:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=47762511</link><dc:creator>cataflutter</dc:creator><comments>https://news.ycombinator.com/item?id=47762511</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47762511</guid></item><item><title><![CDATA[New comment by cataflutter in "Keeping a Postgres Queue Healthy"]]></title><description><![CDATA[
<p>`WHERE status = 'pending'` is not enough to avoid the performance problem, even if you have an index on `(status)`, because the index will still contain dead tuples until it is vacuumed.<p>Rough intuition: Postgres doesn't immediately delete rows, it just marks them as invalid after a certain snapshot version/transaction ID (and this mark is in the heap, not the indexes, AFAIK).<p>Every potential tuple that your index returns, Postgres needs to visit the heap to see if that tuple is alive. UNLESS all the tuples in that heap page are alive, in which case an optimisation called the 'visibility map' allows that check to skipped (relevant for Index-Only Scans, where Postgres can get all the results for your query from the index directly).<p>The only way to avoid the problem is therefore to either vacuum frequently enough that Postgres doesn't get any dead tuples returned from the index (that it must then visit the heap to check for liveness), or to bake in some condition to your queries that prevents the dead tuples from being returned from the index altogether.
Vacuuming frequently is expensive and conflicts with having long-running transactions, so the latter option is generally the choice to go for when it matters.<p>[n.b. I feel I should note I am not a Postgres developer and wouldn't call myself an expert, just an enthusiast and dealt with a few problems here and there. So what I say should be taken with a grain or two of salt, though I believe it to be accurate.]</p>
]]></description><pubDate>Mon, 13 Apr 2026 19:08:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=47756539</link><dc:creator>cataflutter</dc:creator><comments>https://news.ycombinator.com/item?id=47756539</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47756539</guid></item><item><title><![CDATA[New comment by cataflutter in "Keeping a Postgres Queue Healthy"]]></title><description><![CDATA[
<p>For disk usage, yes this doesn't address anything.<p>But for read performance (which is IMO what the section in the article was motivated by), it doesn't actually matter to have a bunch of entries corresponding to dead tuples in your index, provided Postgres doesn't need to actually consider the dead tuples as part of your query.<p>So if you have a monotonically increasing `job_id` and that's indexed, then
so long as you process your jobs in increasing `job_id` order, you can use the index and guarantee you don't have to keep reconsidering the dead tuples corresponding to jobs that already completed (if that makes sense).<p>[This is because the index is a b-tree, which supports efficient (O(log n) page reads for n entries) seeking on (any prefix of) the columns in the index.]</p>
]]></description><pubDate>Sat, 11 Apr 2026 21:08:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=47734042</link><dc:creator>cataflutter</dc:creator><comments>https://news.ycombinator.com/item?id=47734042</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47734042</guid></item><item><title><![CDATA[New comment by cataflutter in "Keeping a Postgres Queue Healthy"]]></title><description><![CDATA[
<p>Decent article, but some remarks:<p>1) It seems these two statements conflict with each other:<p>> The oldest such transaction sets the cutoff—referred to as the "MVCC horizon." Until that transaction completes, every dead tuple <i>newer than its snapshot</i> is retained.<p>and<p>> For example, imagine three analytics queries, each running for 40 seconds, staggered 20 seconds apart. No individual query would trigger a timeout for running too long. But because one is always active, the horizon never advances, and the effect on vacuum is the same as one transaction that never ends.<p>If the three analytics *transactions* (it's transactions that matter, not queries, although there is some subtlety around deferred transactions not acquiring a snapshot until the first query) are started 
at different times, they will have staggered snapshots and so once the first completes, this should allow the vacuum to advance.<p>2) Although the problem about this query:<p><pre><code>    SELECT * FROM jobs
    WHERE status = 'pending'
    ORDER BY run_at
    LIMIT 1
    FOR UPDATE SKIP LOCKED;
</code></pre>
having to consider dead tuples is a genuine concern and performance problem,
this can also be mitigated by adding a monotonically increasing column
and adding a `WHERE column < ?` clause, provided you have also added an
index to make that pagination efficient.
This way you don't need to consider dead tuples and they 'only' waste space
whilst waiting to be vacuumed, rather than also bogging down read perf.<p>There is a little subtlety around how you guarantee that the column is monotonically
increasing, given concurrent writers, but the answer to that depends on what tricks
you can fit into your application.<p>3) I almost want to say that the one-line summary is 'Don't combine (very) long-running transactions with (very) high transaction rates in Postgres'<p>(Is this a fair representation?)</p>
]]></description><pubDate>Sat, 11 Apr 2026 19:30:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=47733308</link><dc:creator>cataflutter</dc:creator><comments>https://news.ycombinator.com/item?id=47733308</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47733308</guid></item><item><title><![CDATA[New comment by cataflutter in "I've been waiting over a month for Anthropic to respond to my billing issue"]]></title><description><![CDATA[
<p>I have now been waiting 2 months for a response to a similar problem. Thanks for the reminder about it, it's time to dig out the chargebacks...</p>
]]></description><pubDate>Thu, 09 Apr 2026 03:02:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=47698842</link><dc:creator>cataflutter</dc:creator><comments>https://news.ycombinator.com/item?id=47698842</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47698842</guid></item></channel></rss>