<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: curtisblaine</title><link>https://news.ycombinator.com/user?id=curtisblaine</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sat, 13 Jun 2026 00:55:18 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=curtisblaine" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by curtisblaine in "How we made hit video game Prince of Persia"]]></title><description><![CDATA[
<p>I have a soft spot for Prince of Persia, but I have an even softer spot for Karateka, its (rotoscoped) predecessor on an ancient green phosphor Apple //e, a computer (and an age) where everything seemed possible.</p>
]]></description><pubDate>Fri, 12 Jun 2026 06:24:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=48500579</link><dc:creator>curtisblaine</dc:creator><comments>https://news.ycombinator.com/item?id=48500579</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48500579</guid></item><item><title><![CDATA[New comment by curtisblaine in "Job: Head of Stonehenge"]]></title><description><![CDATA[
<p>Technically Stonehenge is not an henge (even the term henge comes from Stonehenge)<p>> Ironically, even though Stonehenge has an earthwork circle around it (the earliest phase of the monument), it isn’t officially a ‘proper’ henge, as the main ditch is external to the main bank. It has to make do with being a ‘proto-henge’.<p><a href="https://www.english-heritage.org.uk/visit/inspire-me/what-is-a-henge/" rel="nofollow">https://www.english-heritage.org.uk/visit/inspire-me/what-is...</a></p>
]]></description><pubDate>Tue, 09 Jun 2026 06:35:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=48457355</link><dc:creator>curtisblaine</dc:creator><comments>https://news.ycombinator.com/item?id=48457355</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48457355</guid></item><item><title><![CDATA[New comment by curtisblaine in "Learn SQL Once, Use It for 30 Years"]]></title><description><![CDATA[
<p>> JavaScript is an imperative language that browser wars, framework trends, and open-source maintainer preferences reshaped every few years. It rewards you for keeping up.
> Take a React component from 2015<p>Javascript is actually fully backwards-compatible, to not break the Web. Any javascript from 10 years ago works in the browser. This is good but also a bit of a burden, since the language can only expand but not shrink.
React is a library, and like all libraries it has breaking versions.
Not understanding the basic difference between the two kinda undermines the credibility of the article.<p>Also, in a similar way, core, ANSI SQL is largely backwards compatible, but all the SQL dialects linked to various DBMS implementation are generally incompatible. Obviously that's not mentioned in the article.<p>> Not a tutorial. Not an ORM. Actual SQL: joins, subqueries, window functions, query plans.<p>Not text written by a human. Not a style that an real writer would ever use. Actual AI slop: Short sentences. Incorrect facts. Not X, Y.</p>
]]></description><pubDate>Thu, 04 Jun 2026 06:43:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=48394926</link><dc:creator>curtisblaine</dc:creator><comments>https://news.ycombinator.com/item?id=48394926</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48394926</guid></item><item><title><![CDATA[New comment by curtisblaine in "The advertising cartel coming to your web browser"]]></title><description><![CDATA[
<p>And for the most part of this time period they weren't free.</p>
]]></description><pubDate>Wed, 03 Jun 2026 21:31:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=48390394</link><dc:creator>curtisblaine</dc:creator><comments>https://news.ycombinator.com/item?id=48390394</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48390394</guid></item><item><title><![CDATA[New comment by curtisblaine in "The advertising cartel coming to your web browser"]]></title><description><![CDATA[
<p>Nobody asked for free content. It was pushed on us so they could track us. Before the Internet, you normally paid for what you consumed (at least, more than now. And before that even more).</p>
]]></description><pubDate>Wed, 03 Jun 2026 07:46:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=48381112</link><dc:creator>curtisblaine</dc:creator><comments>https://news.ycombinator.com/item?id=48381112</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48381112</guid></item><item><title><![CDATA[New comment by curtisblaine in "Agentic Mfw"]]></title><description><![CDATA[
<p>> Author has incestual relationship in their family.<p>Now I want to know in which culture this is used as a common insult.</p>
]]></description><pubDate>Wed, 03 Jun 2026 06:18:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=48380582</link><dc:creator>curtisblaine</dc:creator><comments>https://news.ycombinator.com/item?id=48380582</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48380582</guid></item><item><title><![CDATA[New comment by curtisblaine in "Can the stockmarket swallow Anthropic, SpaceX and OpenAI?"]]></title><description><![CDATA[
<p>But that didn't happen in reality, did it?<p>Clients - I don't see anyone delighted that apps are better, or cheaper, or more secure. If anything, I see more enshittification, more half-baked ideas and more fear that security is worse now that we let AIs write almost all code.<p>Employers - They didn't really sell more or expanded their customer base. They would have, if they had the exclusive advantage, but now everyone has AI. They can cram more features in their software quicker, but so can their competitors, and AI is not magically opening any untapped market. If anything, everyone is now doing the same thing - trying to get their software on the AI train, with mediocre results so far.<p>You - did you benefit really? The job market is shit due to the death of ZIRP, the nature of the job itself is changing and there's a lot of uncertainty around. If anything, employees are now laid off more, not less, and salary and bonuses are not increased in any measurable way.<p>It looks like to me that we have to dance this particular dance because if we don't do we're left behind. That's fine, it happens every now and then. It might even be that in the future we will have tangible advantages from LLMs - better automated health care, better learning opportunities come to mind. That has to be demonstrated. But now, in year 2026, what's one advantage of AI? Having less and pricier RAM? Being able (and expected) to write more code in less time?</p>
]]></description><pubDate>Tue, 02 Jun 2026 16:07:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=48372110</link><dc:creator>curtisblaine</dc:creator><comments>https://news.ycombinator.com/item?id=48372110</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48372110</guid></item><item><title><![CDATA[New comment by curtisblaine in "Can the stockmarket swallow Anthropic, SpaceX and OpenAI?"]]></title><description><![CDATA[
<p>> - Significantly increased my productivity as a software engineer<p>I don't understand this. It increased productivity of every developer in the western world, so it didn't really give you an advantage. Your output is more valuable, but your colleagues' output is more valuable too, and your competitors' output too, and so on. So you're doing more things at the same salary and it's not like your company or your employer is making more money than usual or awarding you more eoy bonus. If your "life-change" is "I'm writing more code" without any other advantage (and with the possible disadvantage of your role changing, or being at risk), why is it desirable?</p>
]]></description><pubDate>Tue, 02 Jun 2026 08:23:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=48367450</link><dc:creator>curtisblaine</dc:creator><comments>https://news.ycombinator.com/item?id=48367450</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48367450</guid></item><item><title><![CDATA[New comment by curtisblaine in "Can the stockmarket swallow Anthropic, SpaceX and OpenAI?"]]></title><description><![CDATA[
<p>So, let's see. LLMs made my overall coding output significantly faster, even factoring in review time and tech debt. My employer should technically benefit from this, but it doesn't really, because all its competitors use the same AIs and all their engineers increased their throughput in a similar way. So I'm not sure that I, my colleagues or the whole segment I work in really benefited from AI in any measurable way.</p>
]]></description><pubDate>Tue, 02 Jun 2026 08:15:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=48367410</link><dc:creator>curtisblaine</dc:creator><comments>https://news.ycombinator.com/item?id=48367410</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48367410</guid></item><item><title><![CDATA[New comment by curtisblaine in "Perry Compiles TypeScript directly to executables using SWC and LLVM"]]></title><description><![CDATA[
<p>I'm confused by the (frankly bad) documentation. It says that for pure js dependencies we need to use the v8 flag to bring in the runtime (which is undesirable), but what is the practical difference between a js file and the same file with .ts extension and explicit *any* type in every signature? Does this mean that we have to be very careful how we write our typescript to avoid v8 (and if yes, how? I couldn't find that on the site) or does it mean that we can get away with transpiling everything to ts with loose typing? I suspect it's the first, in which case it's literally the most important information that anyone using Perry needs to know, and it should be one of the first things mentioned in their AI-vibed page.</p>
]]></description><pubDate>Sat, 30 May 2026 08:29:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=48333998</link><dc:creator>curtisblaine</dc:creator><comments>https://news.ycombinator.com/item?id=48333998</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48333998</guid></item><item><title><![CDATA[New comment by curtisblaine in "The and Wonderful Evolution of the Waterproof Jacket"]]></title><description><![CDATA[
<p>"strange" was apparently edited out of the title.</p>
]]></description><pubDate>Fri, 29 May 2026 06:24:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=48319717</link><dc:creator>curtisblaine</dc:creator><comments>https://news.ycombinator.com/item?id=48319717</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48319717</guid></item><item><title><![CDATA[New comment by curtisblaine in "Does anybody like React?"]]></title><description><![CDATA[
<p>React wins because it has a predictable interface that has become industry standard. Industry standard saves money. Not everything must be <i>creative</i>.</p>
]]></description><pubDate>Tue, 26 May 2026 06:23:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=48275768</link><dc:creator>curtisblaine</dc:creator><comments>https://news.ycombinator.com/item?id=48275768</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48275768</guid></item><item><title><![CDATA[New comment by curtisblaine in "Does anybody like React?"]]></title><description><![CDATA[
<p>I do. Reading React is an uniform experience across all the codebases. You know what state is, what an effect is, what a rendering function is and what it looks like. You also know where code smells are, there's a whole section of eslint rules dedicated to that. Compare to hand-rolled frameworks, where everything is all over the place, and you have to navigate tons of indirection to understand the brilliant intuition du jour by some developer who was bored and wanted to inject a spark of creativity in their code. Give me predictability, and keep creativity for hobby stuff that nobody has to read.</p>
]]></description><pubDate>Tue, 26 May 2026 06:20:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=48275732</link><dc:creator>curtisblaine</dc:creator><comments>https://news.ycombinator.com/item?id=48275732</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48275732</guid></item><item><title><![CDATA[New comment by curtisblaine in "Show HN: Hocuspocus 4 – self-hosted Yjs collaboration backend"]]></title><description><![CDATA[
<p>Mainly key/values</p>
]]></description><pubDate>Fri, 22 May 2026 16:48:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=48238374</link><dc:creator>curtisblaine</dc:creator><comments>https://news.ycombinator.com/item?id=48238374</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48238374</guid></item><item><title><![CDATA[New comment by curtisblaine in "Show HN: Hocuspocus 4 – self-hosted Yjs collaboration backend"]]></title><description><![CDATA[
<p>When I try to do this kind of thing with y.js in a non-trivial way I always battle against two issues and ultimately quit because they're really hard to do efficiently:<p>1) Materializing documents. Assuming you don't have "live" yjs documents and you only merge diffs with diffUpdate, when one or more user are connected, it's always worth to have the blob in RAM to quickly merge diffs in it and save it periodically; when the usages of a document go away, you save it for the last time and you "ice" it in long term storage, offloading from RAM. I typically use a LRU cache for that. The problem is when too many users are working on too many docs and they all have to fit in RAM. How do you solve that?<p>2) GC. Again, assuming you don't have live documents but you only merge diffs, those blobs need to be garbage collected to compact them after a while iirc (if the doc is live it's done automatically). This normally is a periodic process that eventually GCs all documents in turn, one after the other. If you handle that, how do you manage to not make your server essentially unpredictable when it comes to compacting big blobs? GC'ing takes a toll on your CPU, and not GC-ing takes a toll on your RAM and secondary storage.</p>
]]></description><pubDate>Wed, 20 May 2026 18:10:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=48211735</link><dc:creator>curtisblaine</dc:creator><comments>https://news.ycombinator.com/item?id=48211735</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48211735</guid></item><item><title><![CDATA[New comment by curtisblaine in "We are retiring our bug bounty program"]]></title><description><![CDATA[
<p>Bots are using real tokens for this. So, ultimate honeypot idea: post heavily commented skeleton code in a github repo, promise a generous money reward for closing issues and never pay anyone. See the bots swarm and burn their tokens to write code for you.</p>
]]></description><pubDate>Fri, 15 May 2026 14:38:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=48149238</link><dc:creator>curtisblaine</dc:creator><comments>https://news.ycombinator.com/item?id=48149238</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48149238</guid></item><item><title><![CDATA[New comment by curtisblaine in "I let AI build a tool to help me figure out what was waking me up at night"]]></title><description><![CDATA[
<p>This is cool, but a simple circular buffer audio recorder connected to stdin would have been sufficient. The recorder records continuously on a circular buffer that stores the last 5 minutes, and whenever OP wakes up, he can press any key on the keyboard to dump the current 5 minutes on storage, with the timestamp as file name. False positives are much less possible, and the whole system can just be a small CLI program.</p>
]]></description><pubDate>Mon, 11 May 2026 22:02:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=48101256</link><dc:creator>curtisblaine</dc:creator><comments>https://news.ycombinator.com/item?id=48101256</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48101256</guid></item><item><title><![CDATA[New comment by curtisblaine in "I switched from Mac to a Lenovo Chromebook"]]></title><description><![CDATA[
<p>> - If you rely on / heavily use AI tools, you can easily use Claude's Web App etc so that's super cool but also things like Jan also exist for Linux and I haven't tried, but you can use that as well for a more native experience.<p>Sure, Claude Web App is an adequate replacement to full-fledged Claude Code, and then there is also something that I didn't bother to try but maybe you can try it after you bought a new laptop. What the hell.</p>
]]></description><pubDate>Thu, 07 May 2026 16:52:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=48051702</link><dc:creator>curtisblaine</dc:creator><comments>https://news.ycombinator.com/item?id=48051702</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48051702</guid></item><item><title><![CDATA[New comment by curtisblaine in "Grok 4.3"]]></title><description><![CDATA[
<p>Please avoid comments with no real substance, written just to denigrate, with a throwaway account. They make discourse unnecessarily worse.</p>
]]></description><pubDate>Fri, 01 May 2026 09:52:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=47972889</link><dc:creator>curtisblaine</dc:creator><comments>https://news.ycombinator.com/item?id=47972889</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47972889</guid></item><item><title><![CDATA[New comment by curtisblaine in "GitHub Copilot is moving to usage-based billing"]]></title><description><![CDATA[
<p>I really hope that they think so and that they're wrong and they get burned hard. Them and all the AI labs that lied, stole, inflated, hoarded and tried to justify all this as an existential moment where AGI would radically change society. I hope their calculus to reel in paying users is all wrong and now they all crash and burn instead of recouping VC money.</p>
]]></description><pubDate>Mon, 27 Apr 2026 21:00:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=47927251</link><dc:creator>curtisblaine</dc:creator><comments>https://news.ycombinator.com/item?id=47927251</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47927251</guid></item></channel></rss>