<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: 6gvONxR4sf7o</title><link>https://news.ycombinator.com/user?id=6gvONxR4sf7o</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sat, 13 Jun 2026 14:27:05 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=6gvONxR4sf7o" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by 6gvONxR4sf7o in "The ways we contain Claude across products"]]></title><description><![CDATA[
<p>My point wasn’t about risk vs reward, or in their words “harm” vs reward. It’s about how increasing the opportunity for reward increases the justifiable harm. “X is bad (unless it makes me rich).”<p>I guess it’s the fact that Anthropic usually frame this around morality and risk to society that makes it different. Instead of “risk/harm to me vs reward to me,” their framing reads as “risk/harm to us vs reward to me” or “immorality vs reward to me.” That’s what makes it feel like a great metaphor.<p>The standard cost benefit analysis we all do justifies increasing the harm to others if the opportunity to benefit ourselves goes up.</p>
]]></description><pubDate>Fri, 05 Jun 2026 15:58:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=48414350</link><dc:creator>6gvONxR4sf7o</dc:creator><comments>https://news.ycombinator.com/item?id=48414350</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48414350</guid></item><item><title><![CDATA[New comment by 6gvONxR4sf7o in "The ways we contain Claude across products"]]></title><description><![CDATA[
<p>The framing they use is hilarious and their little graphic is perfect. The risk of harm doesn't go down, but the reward goes up, so the harm just becomes the cost of doing business, justified by the reward. So as the reward gets higher and higher, the amount of harm they're willing to justify goes up. Feels like society in a nutshell.</p>
]]></description><pubDate>Thu, 04 Jun 2026 01:55:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=48392688</link><dc:creator>6gvONxR4sf7o</dc:creator><comments>https://news.ycombinator.com/item?id=48392688</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48392688</guid></item><item><title><![CDATA[New comment by 6gvONxR4sf7o in "AI didn't delete your database, you did"]]></title><description><![CDATA[
<p>Another view of the accountability is that we're currently often pointing accountability in the wrong direction, and it's gaining momentum. Aspects of it have been around so long it's a trope: important work around maintainability is undervalued.<p>Imagine two parallel universes:<p>- in one, you take ten minutes to make a dashboard that shows management what they asked for. It passes code review before merge and the exec who asked for it says it's what they wanted.<p>- in the other, you take a day or two to make it. Again, it passes code review before merge and the exec who asked for it says it's what they wanted.<p>Which version of you is more likely to get positive versus negative feedback? Even if the quick-to-build version isn't actually correct? If you're too slow and aren't doing enough that <i>looks</i> correct, you'll be held accountable. But if you're fast and do things that <i>look</i> correct but aren't, you won't be held accountable. You'll only be held accountable for incorrect work if the incorrectness is observed, which is rarer and rarer with fewer and fewer people directly observing anything.<p>So oddly, with nobody doing it on purpose, people get held accountable specifically for building things the way you're advocating.<p>I imagine that orgs that do lots of incorrect work <i>could</i> be outcompeted but won't be, because observability is hard and the "not get in trouble" move is to just not look too hard at what you're doing and move to the next ticket.</p>
]]></description><pubDate>Tue, 05 May 2026 16:26:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=48024733</link><dc:creator>6gvONxR4sf7o</dc:creator><comments>https://news.ycombinator.com/item?id=48024733</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48024733</guid></item><item><title><![CDATA[New comment by 6gvONxR4sf7o in "Tesla owner won $10k in court for Tesla's FSD lies. Tesla is still fighting him"]]></title><description><![CDATA[
<p>Why just the $10k? Could you get a full refund? If I order a $12 burrito and you give me a $10 sandwich, I would feel owed my $12 back, not the $2 difference in price.</p>
]]></description><pubDate>Sun, 03 May 2026 02:56:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=47992877</link><dc:creator>6gvONxR4sf7o</dc:creator><comments>https://news.ycombinator.com/item?id=47992877</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47992877</guid></item><item><title><![CDATA[New comment by 6gvONxR4sf7o in "We mourn our craft"]]></title><description><![CDATA[
<p>I don't mourn coding for itself, since I've always kinda disliked that side of my work (numerical software, largely).<p>What I do mourn is the reliability. We're in this weird limbo where it's like rolling a die for every piece of work. If it comes up 1-5, I would have been better off implementing it myself. If it comes up 6, it'll get it done orders of magnitude faster than doing it by hand. Since the overall speedup is worthwhile, I have to try it every time, even if most of the time it fails. And of course it's a moving target, so I have to keep trying the things that failed yesterday because today's models are more capable.</p>
]]></description><pubDate>Sat, 07 Feb 2026 20:02:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=46927266</link><dc:creator>6gvONxR4sf7o</dc:creator><comments>https://news.ycombinator.com/item?id=46927266</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46927266</guid></item><item><title><![CDATA[New comment by 6gvONxR4sf7o in "Managing Unreliable Compilers"]]></title><description><![CDATA[
<p>plan -> code -> verify is nice in theory, but is super failure prone without the TDD or “preregistration” version: plan -> code verification -> code implementation -> verify.<p>Doing the verification after the execution tends to lead to “yeah this is good” when it really isn’t. Stuff like copilot annoyingly loves to change the tests so it can pass, rather than changing the implementation to make the tests pass. I wonder if their platform prevents that kind of thing.</p>
]]></description><pubDate>Sat, 31 Jan 2026 22:31:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=46841576</link><dc:creator>6gvONxR4sf7o</dc:creator><comments>https://news.ycombinator.com/item?id=46841576</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46841576</guid></item><item><title><![CDATA[New comment by 6gvONxR4sf7o in "I wanted a camera that doesn't exist, so I built it"]]></title><description><![CDATA[
<p>If they just remade it with modern AF <i>software</i>, I'd probably carry mine around most every I went. Not to mention what they could do by updating hardware.</p>
]]></description><pubDate>Wed, 07 Jan 2026 07:07:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=46523445</link><dc:creator>6gvONxR4sf7o</dc:creator><comments>https://news.ycombinator.com/item?id=46523445</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46523445</guid></item><item><title><![CDATA[New comment by 6gvONxR4sf7o in "Catala – Law to Code"]]></title><description><![CDATA[
<p>So is the "bitter lesson" that fuzzy overlords will be practically preferable to hand coded legislation?</p>
]]></description><pubDate>Sun, 07 Dec 2025 04:55:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=46179264</link><dc:creator>6gvONxR4sf7o</dc:creator><comments>https://news.ycombinator.com/item?id=46179264</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46179264</guid></item><item><title><![CDATA[New comment by 6gvONxR4sf7o in "Catala – Law to Code"]]></title><description><![CDATA[
<p>How's that account for language drift over centuries?</p>
]]></description><pubDate>Sun, 07 Dec 2025 04:50:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=46179239</link><dc:creator>6gvONxR4sf7o</dc:creator><comments>https://news.ycombinator.com/item?id=46179239</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46179239</guid></item><item><title><![CDATA[New comment by 6gvONxR4sf7o in "Catala – Law to Code"]]></title><description><![CDATA[
<p>I have a potentially more optimistic (and simultaneously more pessimistic!) view to offer.<p>Some differing interpretations of the law distinguish between the lawmakers' intention vs the literal meaning (and keep in mind that language itself changes a lot in just a few centuries. The hard problem is that, in PL terms, the law is written in syntax without agreed upon semantics. So a decent step could be just using some agreed upon semantics, like we do in code! Then at least "interpreting" it would be unambiguous.<p>Maybe a decent analogy would be gcc vs clang might produce different programs for certain undefined behavior, and different combinations of pieces might lead to different behavior too (like race conditions), and somebody (the plaintiff/user) is asking you (the judge/compiler) to decide what's going to happen in this next loop/program/whatever.<p>Or maybe a decent analogy would be getting a ticket that the API is erroring in some rare user's case and having to look into the code and stacktrace to realize it's some weird unanticipated interaction between two different pieces of legacy code (150 year old law) that now interact due to a recent merge (a new law from last year), and now it's crashing, so we have to figure out how to interpret/compile/resolve this user's case.<p>If law was usable like code, we'd never have any of those issues, just like we never have those issues with actual literal programs. And when we do, it's just because we're using the wrong language/aren't encoding enough things in the types and semantics/shouldn't have used this niche compiler so now let's get a new interpretation from another Supreme Compiler/etc. Life would be easier \s<p>So it's maybe more optimistic than you, in that the run/read time power (judicial) doesn't get diminished, but more pessimistic in that I believe it because I believe that changing the language from english law jargon to some formal language doesn't actually eliminate the issues it might be intended to eliminate.</p>
]]></description><pubDate>Sun, 07 Dec 2025 04:48:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=46179227</link><dc:creator>6gvONxR4sf7o</dc:creator><comments>https://news.ycombinator.com/item?id=46179227</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46179227</guid></item><item><title><![CDATA[New comment by 6gvONxR4sf7o in "When if is just a function"]]></title><description><![CDATA[
<p>10 days later... sorry, I didn't see your comment.<p>The example I gave had a few pieces:<p>- x is defined prior to the if/else, and overwritten in just one branch
- y is defined in both branches<p>So in the rest of the function, we have both x and y available, regardless of which branch is taken.<p>I just took a quick read of the context page and the context basics page, but it's still unclear to me whether you can program how scopes/contexts <i>interact</i> in rye.<p>In my example, we I'd say we have a few different scopes worth mentioning, and I'm curious how programmably we can make them interact in rye:<p>Scope 1. Right below the first x = ...: we have names available form <beginning of the function> and have x available as the ... stuff. Presumably the `foo` in `if foo` lives in this scope.<p>Scope 2T. Right after the true branch's y, we have scope 1 plus y introduced<p>Scope 2F. Right after the false branch's x and y, we have scope 1 plus x "pointing to" something new and y introduced.<p>Scope 3. Below the if/else, where <rest of the function> lives. This is either scope 2T or scope 2F. x is either scope 1's x or scope 2F's x, and y is either scope 2T's y or 2F's y.<p>In the original articles language,<p>So the scope relationships in an if/else are a diamond DAG taking the names from before it, making them available in each branch's scopes, and then making a sorta disjoint union of the branch's names available afterwards. Could that be programmed in rye, to allow the kinds of naming ergonomics in my previous example, but with the if/else being programmable in the sense of the original article? I'm especially interested in whether we could overload it in the traditional autodiff sense.<p>Responding to a different part of your comment about using names rarely in rye, I've found that I benefit a ton from handing out names more than most people do in functional languages, just for clarity and more self-documenting code. Like, the ide can say "`apples` is broken" instead of "error in location xyz" and I can rebuild my mental state better too when revisiting code.</p>
]]></description><pubDate>Wed, 29 Oct 2025 20:39:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=45752716</link><dc:creator>6gvONxR4sf7o</dc:creator><comments>https://news.ycombinator.com/item?id=45752716</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45752716</guid></item><item><title><![CDATA[New comment by 6gvONxR4sf7o in "AI is making us work more"]]></title><description><![CDATA[
<p>As always, labor is a marketplace, and the supply side boils down to a) how much the next person else is willing to work (all else equal), and b) external forces (like overtime requirements kicking in at 40 hours).</p>
]]></description><pubDate>Tue, 21 Oct 2025 16:43:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=45657967</link><dc:creator>6gvONxR4sf7o</dc:creator><comments>https://news.ycombinator.com/item?id=45657967</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45657967</guid></item><item><title><![CDATA[New comment by 6gvONxR4sf7o in "DeepSeek OCR"]]></title><description><![CDATA[
<p>OCR for printed documents is super robust, but handwriting, low res, and aligned recognition (not just image to "hello world" but also having "h is here in space e is here in space...) are all still well behind "basically solved."</p>
]]></description><pubDate>Mon, 20 Oct 2025 17:40:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=45646756</link><dc:creator>6gvONxR4sf7o</dc:creator><comments>https://news.ycombinator.com/item?id=45646756</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45646756</guid></item><item><title><![CDATA[New comment by 6gvONxR4sf7o in "When if is just a function"]]></title><description><![CDATA[
<p>There's more to this that I'd absolutely love to see in a language, and I can't tell if rye supports. If you want an ergonomic `if` you need its scope aspects too.<p>Consider this example<p><pre><code>    <beginning of the function>
    x = ...
    if foo:
       y = ...
    else:
       x = ...
       y = ...
    <rest of the function>
</code></pre>
Critical parts of the ergonomics are that<p>a) in each branch, we have everything in scope that comes from <beginning of the function><p>b) in <rest of the function>, we have everything in scope that was assigned or reassigned in the executed branch<p>I'd love a language that supports programmable stuff like if, since I'm tired of python autodiff not handling `if` and `for`. But it would really need programmable scope stuff to still allow the ergonomic "scope effects" that make `if` and `for` blocks ergonomic.</p>
]]></description><pubDate>Sat, 18 Oct 2025 16:18:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=45628450</link><dc:creator>6gvONxR4sf7o</dc:creator><comments>https://news.ycombinator.com/item?id=45628450</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45628450</guid></item><item><title><![CDATA[New comment by 6gvONxR4sf7o in "A tutorial for the Mercury programming language"]]></title><description><![CDATA[
<p>Mercury is one of those languages that seems to support so many different styles of programming in a nicely unified way, I've always been curious about it. This is so much more readable than I remember any of the Mercury docs being. Worth checking out.<p>It's one of those languages where I'd love to see the mainstreamification of some of its ideas, but as is, it just seems too clunky.</p>
]]></description><pubDate>Tue, 30 Sep 2025 16:55:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=45427984</link><dc:creator>6gvONxR4sf7o</dc:creator><comments>https://news.ycombinator.com/item?id=45427984</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45427984</guid></item><item><title><![CDATA[New comment by 6gvONxR4sf7o in "US airlines are pushing to remove protections for passengers and add more fees"]]></title><description><![CDATA[
<p>> Not particularly, no. What I want is for you to purchase the seats your family needs ahead of time, not ask me for them for free.<p>What happened to "if you want it, then you have to pay for the privilege?" If you want to be sure you aren't next to a kid, just pay for a first class ticket, instead of making other people pay extra for your comfort. You knew your preferences when you bought the ticket, after all. Select the seat you find necessary. /s<p>The point being that the status quo rolls dice that make everyone unhappy, and there are options for everyone to avoid it by paying extra. Those options are priced by the people creating the situation in order to make a maximally profitable 'pay to avoid this' scenario. I always pay for my family to get together, but blame the airline for making you uncomfortable, not the family.</p>
]]></description><pubDate>Wed, 24 Sep 2025 15:55:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=45362143</link><dc:creator>6gvONxR4sf7o</dc:creator><comments>https://news.ycombinator.com/item?id=45362143</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45362143</guid></item><item><title><![CDATA[New comment by 6gvONxR4sf7o in "Many hard LeetCode problems are easy constraint problems"]]></title><description><![CDATA[
<p>Of course, the challenge is that the next question after solving a leetcode problem is often to explain and optimize the performance characteristics, which in prolog can get stupidly hairy.</p>
]]></description><pubDate>Fri, 12 Sep 2025 22:22:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=45227414</link><dc:creator>6gvONxR4sf7o</dc:creator><comments>https://news.ycombinator.com/item?id=45227414</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45227414</guid></item><item><title><![CDATA[New comment by 6gvONxR4sf7o in "The sisters “paradox” – counter-intuitive probability"]]></title><description><![CDATA[
<p>The way to see this is bayes rule. p(answer | data) = p(data | answer) * p(answer) / (sum_{all possible answers'} p(data | answer') * p(answer')). So for this question, that's expands to:<p><pre><code>    p(both are girls | you're told at least one is a girl)
     = p(you're told at least one is a girl | both are girls) * p(both are girls) / (
            p(you're told at least one is a girl | both are girls) * p(both are girls)
            +
            p(you're told at least one is a girl | they aren't both girls) * p(they aren't both girls)
        )
</code></pre>
The problem is that we don't know p(you're told at least one is a girl | they aren't both girls). Clearly if both are boys, then you won't be told at least one is a girl (or at least it's implied that you're told the truth). But that still leaves us p(you're told at least one is a girl | one boy and one girl).<p>This is the crux of the thing. Different readings of the setup imply different answers to p(what you're told | the unknowns).<p>It's also a great case of where bayes rule shorthands can be slippery. You'll usually abbreviate it out (hell, it was tedious to write this way even with copy-paste). But if you abbreviate "you're told there's at least one girl" to "there's at least one girl", then you've stopped modeling a crucial part of the setup. p(there's at least one girl | they aren't both girls) has an unambiguous answer.</p>
]]></description><pubDate>Thu, 28 Aug 2025 20:39:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=45056790</link><dc:creator>6gvONxR4sf7o</dc:creator><comments>https://news.ycombinator.com/item?id=45056790</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45056790</guid></item><item><title><![CDATA[New comment by 6gvONxR4sf7o in "Typechecker Zoo"]]></title><description><![CDATA[
<p>I love this. It looks like this covers a very practical version of a similar buildup that I like [0]. The book I linked is a much shorter textbook path through these type systems than the books linked in the article, and I found it pretty readable.<p>[0] <a href="https://anggtwu.net/tmp/nederpelt_geuvers__type_theory_and_formal_proof_an_introduction.pdf" rel="nofollow">https://anggtwu.net/tmp/nederpelt_geuvers__type_theory_and_f...</a></p>
]]></description><pubDate>Mon, 18 Aug 2025 20:47:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=44945154</link><dc:creator>6gvONxR4sf7o</dc:creator><comments>https://news.ycombinator.com/item?id=44945154</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44945154</guid></item><item><title><![CDATA[New comment by 6gvONxR4sf7o in "Who Invented Backpropagation?"]]></title><description><![CDATA[
<p>My favorite take on this is that yes, in fact it is just the chain rule. The usual argument goes that automatic and symbolic differentiation are fundamentally different, so anything particularly old (pre-computers, for example) doesn't count as inventing back prop. But here's my favorite take on equivalences between AD and symbolic diff [0]. I wish there wasn't such importance placed on who invented it for stuff like this. Clearly, someone codifying backprop wasn't a bottleneck in making ML progress, so why's it get so much attention?<p>[0] <a href="https://emilien.ca/Notes/Notes/notes/1904.02990v4.pdf" rel="nofollow">https://emilien.ca/Notes/Notes/notes/1904.02990v4.pdf</a></p>
]]></description><pubDate>Mon, 18 Aug 2025 20:23:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=44944881</link><dc:creator>6gvONxR4sf7o</dc:creator><comments>https://news.ycombinator.com/item?id=44944881</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44944881</guid></item></channel></rss>