<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>Mon, 13 Apr 2026 18:34:12 +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 "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><item><title><![CDATA[New comment by 6gvONxR4sf7o in "Claude Opus 4 and 4.1 can now end a rare subset of conversations"]]></title><description><![CDATA[
<p>I'm surprised to see such a negative reaction here. Anthropic's not saying "this thing is conscious and has moral status," but the reaction is acting as if they are.<p>It seems like if you think AI could have moral status in the future, are trying to build general AI, and have no idea how to tell when it has moral status, you ought to start thinking about it and learning how to navigate it. This whole post is couched in so much language of uncertainty and experimentation, it seems clear that they're just trying to start wrapping their heads around it and getting some practice thinking and acting on it, which seems reasonable?<p>Personally, I wouldn't be all that surprised if we start seeing AI that's person-ey enough to reasonable people question moral status in the next decade, and if so, that Anthropic might still be around to have to navigate it as an org.</p>
]]></description><pubDate>Fri, 15 Aug 2025 23:25:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=44918429</link><dc:creator>6gvONxR4sf7o</dc:creator><comments>https://news.ycombinator.com/item?id=44918429</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44918429</guid></item><item><title><![CDATA[New comment by 6gvONxR4sf7o in "Illinois limits the use of AI in therapy and psychotherapy"]]></title><description><![CDATA[
<p>Something like this can only really be worth approaching if there was an analog to losing your license for it. If a therapist screws up badly enough once, I'm assuming they can lose their license for good. If people want to replace them with AI, then screwing up badly enough should similarly lose that AI the ability to practice for good. I can already imagine companies behind these things saying "no, we've learned, we won't do it again, please give us our license back" just like a human would.<p>But I can't imagine companies going for that. Everyone seems to want to scale the profits but not accept the consequences of the scaled risks, and increased risks is basically what working a third as well amounts to.</p>
]]></description><pubDate>Wed, 13 Aug 2025 23:07:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=44894948</link><dc:creator>6gvONxR4sf7o</dc:creator><comments>https://news.ycombinator.com/item?id=44894948</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44894948</guid></item><item><title><![CDATA[New comment by 6gvONxR4sf7o in "AI promised efficiency. Instead, it's making us work harder"]]></title><description><![CDATA[
<p>We've had technological progress that rapidly shifts the number of person-hours per <output> for generations. We don't have to guess. We've seen this play out many times already.<p>At first, we spend our time one way (say eight hours, just to pick a number). Then we get the tools to do all of that in six hours. Then when job seeking and hiring, we get one worker willing to work six hours and another willing to work eight, so the eight-hour worker gets the job, all else equal. Labor is a marketplace, so we work as much as we're willing to in aggregate, which is roughly constant over time, so efficiency will never free up individuals' time.<p>In the context of TFA, it means we just shift our time to "harder" work (in the sense of work that AI can't do yet).</p>
]]></description><pubDate>Mon, 04 Aug 2025 16:59:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=44788511</link><dc:creator>6gvONxR4sf7o</dc:creator><comments>https://news.ycombinator.com/item?id=44788511</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44788511</guid></item><item><title><![CDATA[New comment by 6gvONxR4sf7o in "Ongoing Lean formalisation of the proof of Fermat's Last Theorem"]]></title><description><![CDATA[
<p>The level of rigor used in math if sometimes characterized as "sufficient to convince other mathematicians of correctness." So, yeah possibly, but not in a willy nilly way. It's not a proof sketch, it's a proof. It just isn't written in human language designed for communication.</p>
]]></description><pubDate>Sun, 03 Aug 2025 02:00:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=44773479</link><dc:creator>6gvONxR4sf7o</dc:creator><comments>https://news.ycombinator.com/item?id=44773479</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44773479</guid></item></channel></rss>