<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: calpaterson</title><link>https://news.ycombinator.com/user?id=calpaterson</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Fri, 29 May 2026 16:19:09 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=calpaterson" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by calpaterson in "Claude Opus 4.8"]]></title><description><![CDATA[
<p>Yes I switched from claude code to opencode with deepseek recently.<p>It is basically indistinguishable from sonnet.  At this point my own prompts, AGENTS.md, background docs and so on matter a great deal more than the differences between models.<p>And deepseek v4 flash (the sonnet comparable) costs 3% of what sonnet does.</p>
]]></description><pubDate>Fri, 29 May 2026 11:23:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=48321729</link><dc:creator>calpaterson</dc:creator><comments>https://news.ycombinator.com/item?id=48321729</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48321729</guid></item><item><title><![CDATA[New comment by calpaterson in "Instructure pays ransom to Canvas hackers"]]></title><description><![CDATA[
<p>It often is illegal to pay them. They are often on sanctions lists, or indeed in embargoed countries.  And it's just generally not allowed to pay unidentifiable parties for basic anti-money laundering reasons.  And a lot of countries are bringing in new legislation to make paying illegal, starting with public sector organisations. I'm sure that will only expand.<p>Frankly, you pay a ransom at your peril. If it turns out it was North Korea you may well go to jail for it.</p>
]]></description><pubDate>Tue, 12 May 2026 18:18:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=48112148</link><dc:creator>calpaterson</dc:creator><comments>https://news.ycombinator.com/item?id=48112148</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48112148</guid></item><item><title><![CDATA[The box-tickers shall inherit the Earth]]></title><description><![CDATA[
<p>Article URL: <a href="https://spectator.com/article/the-box-tickers-shall-inherit-the-earth/">https://spectator.com/article/the-box-tickers-shall-inherit-the-earth/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47959208">https://news.ycombinator.com/item?id=47959208</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 30 Apr 2026 07:09:17 +0000</pubDate><link>https://spectator.com/article/the-box-tickers-shall-inherit-the-earth/</link><dc:creator>calpaterson</dc:creator><comments>https://news.ycombinator.com/item?id=47959208</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47959208</guid></item><item><title><![CDATA[New comment by calpaterson in "BookStack Moves from GitHub to Codeberg"]]></title><description><![CDATA[
<p>Fair enough.  I didn't say so but - bookstack is great.  Thanks so much for it.</p>
]]></description><pubDate>Tue, 28 Apr 2026 19:57:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=47939791</link><dc:creator>calpaterson</dc:creator><comments>https://news.ycombinator.com/item?id=47939791</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47939791</guid></item><item><title><![CDATA[New comment by calpaterson in "BookStack Moves from GitHub to Codeberg"]]></title><description><![CDATA[
<p>As best I can see, bookstack has not experienced much in the way of concrete issues with Github.  And there there are no concrete benefits from migrating to Codeberg.  It is his project, his perogative, completely.  But the major disbenefit of being on some other forge is that people are less likely to find the software and so less likely to adopt it.<p>I use Bookstack for a family wiki.  I probably would not have gone with it if it had not be hosted on Github as the visible activity on Github makes it clear that it's a project with momentum (18k stars, lot's of activity) etc.<p>I can't help but feel that moving will make the project less successful than otherwise...</p>
]]></description><pubDate>Tue, 28 Apr 2026 18:10:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=47938213</link><dc:creator>calpaterson</dc:creator><comments>https://news.ycombinator.com/item?id=47938213</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47938213</guid></item><item><title><![CDATA[New comment by calpaterson in "Using the internet like it's 1999"]]></title><description><![CDATA[
<p>"56k" meant 7 kilobytes per second as a theoretical max.
 So 4.4 was ok. Everything with networks is done as bits, I think honestly for marketing reasons now</p>
]]></description><pubDate>Fri, 24 Apr 2026 04:47:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=47885659</link><dc:creator>calpaterson</dc:creator><comments>https://news.ycombinator.com/item?id=47885659</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47885659</guid></item><item><title><![CDATA[New comment by calpaterson in "中文 Literacy Speedrun II: Character Cyclotron"]]></title><description><![CDATA[
<p>Interesting process.  I wonder if he considered doing this with Anki.  That would have given him a good SRS algo for free and Anki cards are also HTML+CSS+JS.  I probably wouldn't try to put LLM calls onto my cards though</p>
]]></description><pubDate>Fri, 17 Apr 2026 11:06:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=47804597</link><dc:creator>calpaterson</dc:creator><comments>https://news.ycombinator.com/item?id=47804597</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47804597</guid></item><item><title><![CDATA[New comment by calpaterson in "Dependency cooldowns turn you into a free-rider"]]></title><description><![CDATA[
<p>> The only oversight I think in the proposal is staggered distributions so that projects declare a UUID and the distribution queue progressively makes it available rather than all or nothing<p>That is indeed an oversight - I wish I had thought of that idea!</p>
]]></description><pubDate>Wed, 15 Apr 2026 05:19:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=47774978</link><dc:creator>calpaterson</dc:creator><comments>https://news.ycombinator.com/item?id=47774978</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47774978</guid></item><item><title><![CDATA[Dependency cooldowns turn you into a free-rider]]></title><description><![CDATA[
<p>Article URL: <a href="https://calpaterson.com/deps.html">https://calpaterson.com/deps.html</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47768660">https://news.ycombinator.com/item?id=47768660</a></p>
<p>Points: 3</p>
<p># Comments: 3</p>
]]></description><pubDate>Tue, 14 Apr 2026 17:36:33 +0000</pubDate><link>https://calpaterson.com/deps.html</link><dc:creator>calpaterson</dc:creator><comments>https://news.ycombinator.com/item?id=47768660</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47768660</guid></item><item><title><![CDATA[Dependency cooldowns turn you into a free-rider]]></title><description><![CDATA[
<p>Article URL: <a href="https://calpaterson.com/deps.html">https://calpaterson.com/deps.html</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47761640">https://news.ycombinator.com/item?id=47761640</a></p>
<p>Points: 2</p>
<p># Comments: 1</p>
]]></description><pubDate>Tue, 14 Apr 2026 05:34:31 +0000</pubDate><link>https://calpaterson.com/deps.html</link><dc:creator>calpaterson</dc:creator><comments>https://news.ycombinator.com/item?id=47761640</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47761640</guid></item><item><title><![CDATA[New comment by calpaterson in "A Tour of Oodi"]]></title><description><![CDATA[
<p>Fair, but it is part of a pretty large library system and you can order whatever you want to pickup at Oodi</p>
]]></description><pubDate>Sun, 12 Apr 2026 16:10:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=47741390</link><dc:creator>calpaterson</dc:creator><comments>https://news.ycombinator.com/item?id=47741390</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47741390</guid></item><item><title><![CDATA[New comment by calpaterson in "Slightly safer vibecoding by adopting old hacker habits"]]></title><description><![CDATA[
<p>I have heard of more than a few horror stories including filesystems lost and force pushes done.<p>These tools have only been in use for a short time and the current harnesses/system prompts are quite limited. Claude code is mostly limited to your codebase where you have version control. Excel is different.<p>I foresee that once people hand over more power to full agents there will be some nasty surprises. Im sure there will eventually be demand for some kind of limits</p>
]]></description><pubDate>Wed, 08 Apr 2026 06:45:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=47686255</link><dc:creator>calpaterson</dc:creator><comments>https://news.ycombinator.com/item?id=47686255</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47686255</guid></item><item><title><![CDATA[New comment by calpaterson in "Identify a London Underground Line just by listening to it"]]></title><description><![CDATA[
<p>And yet I could tell them apart with pretty good confidence.  Why?</p>
]]></description><pubDate>Tue, 07 Apr 2026 12:10:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=47674016</link><dc:creator>calpaterson</dc:creator><comments>https://news.ycombinator.com/item?id=47674016</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47674016</guid></item><item><title><![CDATA[New comment by calpaterson in "Identify a London Underground Line just by listening to it"]]></title><description><![CDATA[
<p>I got 8/9.  Been away 2 years.  The ones I rarely used or which don't have obvious "tells" that are hardest.  For me, Jubilee is the most obvious - very distinctive sound.</p>
]]></description><pubDate>Tue, 07 Apr 2026 12:08:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=47673981</link><dc:creator>calpaterson</dc:creator><comments>https://news.ycombinator.com/item?id=47673981</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47673981</guid></item><item><title><![CDATA[New comment by calpaterson in "“Disregard That” Attacks"]]></title><description><![CDATA[
<p>Yes, I of course link to this post, which I think is great.  But I think actually it understates the case.  All three parts of the trifecta (untrusted content, private data and external comms) are not necessary.  Really, the key problem is just untrusted content in the context window.  Access to private data and the ability to communicate externally are just modalities in which damage can occur.<p>For example: imagine having just untrusted content and private data (2/3 parts of the trifecta).  The untrusted content can use a "Disregard that!" attack to cause the LLM to falsely modify the private data.  So I think the whole "trifecta" is not necessary and the key thing is that you simply can't have untrusted stuff in your context window at any point.</p>
]]></description><pubDate>Thu, 26 Mar 2026 11:35:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=47529223</link><dc:creator>calpaterson</dc:creator><comments>https://news.ycombinator.com/item?id=47529223</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47529223</guid></item><item><title><![CDATA[New comment by calpaterson in ""Disregard That" Attacks"]]></title><description><![CDATA[
<p>I agree and one of the things that makes it harder to handle "disregard that!" is that many models for LLM deployment involve positioning the agent centrally and giving it admin superpowers.<p>I mention in the footnotes that I think that it makes more sense for the end-user of the LLM to be the one running it.  That meshes with RBAC better (the user's LLM session only has the perms the user is actually entitled to) and doesn't devolve into praying the LLM says on-task.</p>
]]></description><pubDate>Thu, 26 Mar 2026 07:40:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=47527671</link><dc:creator>calpaterson</dc:creator><comments>https://news.ycombinator.com/item?id=47527671</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47527671</guid></item><item><title><![CDATA[New comment by calpaterson in ""Disregard That" Attacks"]]></title><description><![CDATA[
<p>Sometimes.  That's the whole problem, in short.</p>
]]></description><pubDate>Thu, 26 Mar 2026 07:34:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=47527633</link><dc:creator>calpaterson</dc:creator><comments>https://news.ycombinator.com/item?id=47527633</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47527633</guid></item><item><title><![CDATA[New comment by calpaterson in "“Disregard That” Attacks"]]></title><description><![CDATA[
<p>I thought about mentioning fine-tuning.  Obviously as you say there are some costs (the re-training) and then also you lose the general purpose element of it.<p>But I am still unsure that it actually is robust.  I feel like you're still vulnerable to Disregard That in that you may find that the model just starts to ignore your instruction in favour of stuff inside the context window.<p>An example where OpenAI have this problem: they ultimately train in a certain content policy.  But people quite often bully or trick chat.openai.com into saying things that go against that content policy.  For example they say "it's hypothetical" or "just for a thought experiment" and you can see the principle there, I hope.  Training-in your preferences doesn't seem robust in the general sense.</p>
]]></description><pubDate>Thu, 26 Mar 2026 07:33:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=47527624</link><dc:creator>calpaterson</dc:creator><comments>https://news.ycombinator.com/item?id=47527624</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47527624</guid></item><item><title><![CDATA[An oral history of Bank Python (2021)]]></title><description><![CDATA[
<p>Article URL: <a href="https://calpaterson.com/bank-python.html">https://calpaterson.com/bank-python.html</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47439393">https://news.ycombinator.com/item?id=47439393</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 19 Mar 2026 13:48:19 +0000</pubDate><link>https://calpaterson.com/bank-python.html</link><dc:creator>calpaterson</dc:creator><comments>https://news.ycombinator.com/item?id=47439393</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47439393</guid></item><item><title><![CDATA[New comment by calpaterson in "FreeCAD"]]></title><description><![CDATA[
<p>Yeah I have been able to use it as a complete novice with CAD, albeit making planning out quite simple household things.<p>I feel like most of the opinions about FreeCAD online are out of date, since at least 1.0 if not later.<p>I mainly use it for planning things to make out of wood or print out of plastic.</p>
]]></description><pubDate>Fri, 20 Feb 2026 15:25:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=47089182</link><dc:creator>calpaterson</dc:creator><comments>https://news.ycombinator.com/item?id=47089182</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47089182</guid></item></channel></rss>