<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: chowells</title><link>https://news.ycombinator.com/user?id=chowells</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Fri, 23 Oct 2026 08:10:35 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=chowells" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by chowells in "The recently proposed o(n log n) integer multiplication algorithm [pdf]"]]></title><description><![CDATA[
<p>If you can't understand what the machine has done, math is not being done. Math is not pushing symbols around to find sequences that follow all the rules. Math is the process of understanding how those sequences of symbols map to meanings. If you can't follow the proof but have validated it's correct, all you know is that it's a proof of <i>something</i>. Is it a proof of what's claimed in the adjacent plaintext? Who knows!<p>Math is about clear communication between people first and foremost. That's why Shinichi Mochizuki's claimed proof of the ABC conjecture isn't accepted - he's unable to communicate it to enough mathematicians to get a consensus on its validity. LLMs generating Lean proofs are basically following that same schema. Sure, something has been proven. But what? Where's the clear communication explaining it to the satisfaction of other mathematicians?</p>
]]></description><pubDate>Thu, 22 Oct 2026 05:19:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=50191476</link><dc:creator>chowells</dc:creator><comments>https://news.ycombinator.com/item?id=50191476</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50191476</guid></item><item><title><![CDATA[New comment by chowells in "Oregon lawmakers approve money to buy an iconic waterfall listed on Redfin"]]></title><description><![CDATA[
<p>A lot of the Cascade range is basalt, and you don't need to cut down very far to expose it. A result is that most waterways in Oregon have revealed a lot of basalt around them, at least in the mountains.</p>
]]></description><pubDate>Wed, 21 Oct 2026 16:11:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=50183385</link><dc:creator>chowells</dc:creator><comments>https://news.ycombinator.com/item?id=50183385</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50183385</guid></item><item><title><![CDATA[New comment by chowells in "JDK 28"]]></title><description><![CDATA[
<p>Fortunately, we now have 50 years of evidence of the negative effects of this philosophy on the ecosystem. Being strict in both results in net positive effects for the entire ecosystem. Trying to be lenient in what you accept results in HTML5, where the exact parse tree for every possible input sequence is specified in order to enforce compatibility. It's no longer lenient, because that doesn't work.</p>
]]></description><pubDate>Sun, 18 Oct 2026 00:22:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=50136585</link><dc:creator>chowells</dc:creator><comments>https://news.ycombinator.com/item?id=50136585</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50136585</guid></item><item><title><![CDATA[New comment by chowells in "Plunging test scores are a slow-moving catastrophe"]]></title><description><![CDATA[
<p>Tied test scores to what outcomes? Bush the second tried tying test results to one kind of outcomes (school funding), and the result was schools getting worse.</p>
]]></description><pubDate>Sat, 26 Sep 2026 19:17:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=49859628</link><dc:creator>chowells</dc:creator><comments>https://news.ycombinator.com/item?id=49859628</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49859628</guid></item><item><title><![CDATA[New comment by chowells in "C++26: Trivial infinite loops are no longer undefined behaviour"]]></title><description><![CDATA[
<p>You're right. I didn't enumerate every way UB can make a program go wrong. I'm sure I don't even know every way that can happen. But "UB doesn't happen at run time" is an assumption that lots of "optimizations" are based on.</p>
]]></description><pubDate>Sat, 19 Sep 2026 19:13:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=49769348</link><dc:creator>chowells</dc:creator><comments>https://news.ycombinator.com/item?id=49769348</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49769348</guid></item><item><title><![CDATA[New comment by chowells in "C++26: Trivial infinite loops are no longer undefined behaviour"]]></title><description><![CDATA[
<p>That sounds like 1.5 decades to me...</p>
]]></description><pubDate>Sat, 19 Sep 2026 10:28:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=49765202</link><dc:creator>chowells</dc:creator><comments>https://news.ycombinator.com/item?id=49765202</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49765202</guid></item><item><title><![CDATA[New comment by chowells in "C++26: Trivial infinite loops are no longer undefined behaviour"]]></title><description><![CDATA[
<p>Not only that, the code was <i>wrong</i>. The specification is quite clear that correct programs don't cause UB to be executed at run time. If your wrong code now produces wrong results, that's because it's wrong. That your compiler allowed you to get away with it for decades is a compiler bug, not a feature.<p>Do I fully believe all of the above? Not exactly. But compiler authors do. Does it make a really good argument to never use C or C++? Yes. If only we had 50 years of optimization work in any language with better semantics.</p>
]]></description><pubDate>Sat, 19 Sep 2026 02:17:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=49762657</link><dc:creator>chowells</dc:creator><comments>https://news.ycombinator.com/item?id=49762657</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49762657</guid></item><item><title><![CDATA[New comment by chowells in "Will there be a 7G?"]]></title><description><![CDATA[
<p>People still believe this? Google pays their ISP. I pay my ISP. Google does not pay my ISP. Why is my ISP's response to the amount of traffic I use demanding to bill someone other than me?<p>To be clear, Google was doing this out of self-interest. Paying user ISPs for access to those users is not a cost they want to pay. But it's the same as any other protection racket. A local shopkeeper has personal reasons to not want to pay off the mob, but that doesn't mean their position is wrong.</p>
]]></description><pubDate>Sat, 12 Sep 2026 21:17:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=49677306</link><dc:creator>chowells</dc:creator><comments>https://news.ycombinator.com/item?id=49677306</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49677306</guid></item><item><title><![CDATA[New comment by chowells in "List of references on Sony websites to players "owning" their digital games"]]></title><description><![CDATA[
<p>It's not difficult to communicate the difference between losing all future rights and settling a dispute over an incident that has already happened. I don't know why you'd act like it's a huge challenge to understand the difference.<p>But yeah; don't join the military.</p>
]]></description><pubDate>Fri, 11 Sep 2026 02:24:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=49652844</link><dc:creator>chowells</dc:creator><comments>https://news.ycombinator.com/item?id=49652844</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49652844</guid></item><item><title><![CDATA[New comment by chowells in "The asteroid currently hitting front end web development"]]></title><description><![CDATA[
<p>No. C is a language with a specification independent of implementation. If you write correct C code (according to the specification, which no one does), it does not depend on any of those factors. C is almost uniquely bad in terms of accepting broken programs and just compiling them differently. But that doesn't change the fact that the language <i>has</i> semantics, even if most code that violates the documented preconditions those semantics depend on.</p>
]]></description><pubDate>Fri, 04 Sep 2026 19:46:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=49569346</link><dc:creator>chowells</dc:creator><comments>https://news.ycombinator.com/item?id=49569346</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49569346</guid></item><item><title><![CDATA[New comment by chowells in "The asteroid currently hitting front end web development"]]></title><description><![CDATA[
<p>It's nothing at all how like C runs on top of assembly. C has semantics. Code means something without ever being run. You can check in your source code and (assuming it actually follows the C standard and your compiler's documented extensions, which almost no real C code does - C was a horrible example) it will work just as well in a year as it does today.<p>Try checking in only your prompts and nothing else. Just the parts you actually typed. See how well it works to regenerate the same application next week, let alone next year. Prompts are fundamentally a different sort of thing from code. Do not mix them up.</p>
]]></description><pubDate>Thu, 03 Sep 2026 21:51:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=49557624</link><dc:creator>chowells</dc:creator><comments>https://news.ycombinator.com/item?id=49557624</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49557624</guid></item><item><title><![CDATA[New comment by chowells in "Fences, Not Sandboxes"]]></title><description><![CDATA[
<p>Eh. A quick scan of steam reviews shows a clear pattern - the game has been in decline ever since Yegge took over, well before LLMs were a product. It seems he started upsetting people with a capitalist-brain insistence on extracting value, and nothing has changed since. As long as he doesn't understand that his goals are contrary to building a game people enjoy, quality of the code is completely irrelevant. I don't think this one works as a test case on the value of programming like this, as the intended audience just isn't interested.</p>
]]></description><pubDate>Tue, 25 Aug 2026 00:24:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=49427625</link><dc:creator>chowells</dc:creator><comments>https://news.ycombinator.com/item?id=49427625</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49427625</guid></item><item><title><![CDATA[New comment by chowells in "A Friendly Introduction to Racket"]]></title><description><![CDATA[
<p>Yes, I know they're orthogonal. But every example of using macros I see in lisp is either some horrendous non-local logic, or something that can be done better using simpler tools. Where's the killer use case that clearly is good software engineering and not papering over the lack of another feature?</p>
]]></description><pubDate>Sun, 23 Aug 2026 00:12:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=49405080</link><dc:creator>chowells</dc:creator><comments>https://news.ycombinator.com/item?id=49405080</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49405080</guid></item><item><title><![CDATA[New comment by chowells in "A Friendly Introduction to Racket"]]></title><description><![CDATA[
<p>That's not at all what local reasoning means. Local reasoning is the property that a piece of code contains (when including the call graph) everything that can affect what it does. All mutation of a value is kept within some scope of ownership of that value. If you want to understand a piece of code, you can do it by understanding <i>that piece of code</i>, not the program as a whole.<p>Assembly makes non-local reasoning mandatory, as any code can update any location in memory without restriction. All memory accesses are global. References need not even be by name - they can be via computed addresses. There are no restrictions in place allowing the structure of the program to provide boundaries on what pieces of code may be understood as units.</p>
]]></description><pubDate>Sat, 22 Aug 2026 21:01:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=49403851</link><dc:creator>chowells</dc:creator><comments>https://news.ycombinator.com/item?id=49403851</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49403851</guid></item><item><title><![CDATA[New comment by chowells in "Dynamical dark energy and the week that broke cosmology"]]></title><description><![CDATA[
<p>Yes, you're describing cosmology. We can't create separate test universes, so all we can do is argue over which model is the best way to explain our observations. The difference from ad-hoc reasoning is the exact same as any other science. You make predictions based on models and then try to find places where those predictions hold - or are broken. In either case, you're testing the validity of a model. And when something isn't good enough, you either adjust the model or find a new one that works better.<p>This isn't some slapdash random patching. Everyone involved knows that assuming that the λ in λCDM is a constant is shaky. It could be a function of time, or even location in some way. But it's simplest if it's a constant. So you start by modeling the universe as if it is. Then you determine what sorts of observations would support or contradict that, and you start making them. When you get results, you start examining what version of the model best explains those observations. And someone somewhere goes off to try find a better model than any version of λCDM. If they succeed, their model will eventually supplant it. This <i>is</i> how science progresses, even if the experiments are less under the control of the experimentors than they'd like. The important part that you make revisions in response to observations.<p>(FWIW, particle physicists are constantly frustrated that they can't find counterexamples to the Standard Model. They know it has to be incomplete, but the lack of contradictory observation leaves them no direction to try to improve it.)</p>
]]></description><pubDate>Sat, 22 Aug 2026 18:52:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=49402604</link><dc:creator>chowells</dc:creator><comments>https://news.ycombinator.com/item?id=49402604</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49402604</guid></item><item><title><![CDATA[New comment by chowells in "A Friendly Introduction to Racket"]]></title><description><![CDATA[
<p>This doesn't strike me as better than the alternatives. In Haskell, it's just a few different functions to handle the different use cases. That strikes me as <i>far</i> better than one "function" that magically does different things depending on how it's called. It <i>is</i> local, I'll give you that. But it still seems bad because you have overloaded the semantics along multiple axes simultaneously. I prefer building blocks with only a single set of semantics each. I believe it's better to write precise code than DWIM code.</p>
]]></description><pubDate>Sat, 22 Aug 2026 17:52:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=49402052</link><dc:creator>chowells</dc:creator><comments>https://news.ycombinator.com/item?id=49402052</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49402052</guid></item><item><title><![CDATA[New comment by chowells in "A Friendly Introduction to Racket"]]></title><description><![CDATA[
<p>What makes this a desirable feature? From the perspective where local reasoning is the most desirable property a language can have, how does homoiconicity support that?<p>I honestly am curious. I've seen a few examples presented for it, but they always seem like bad software engineering to me. Where's an example that does something in a cleaner way than alternatives present in other languages while remaining compatible with local reasoning?</p>
]]></description><pubDate>Sat, 22 Aug 2026 17:26:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=49401766</link><dc:creator>chowells</dc:creator><comments>https://news.ycombinator.com/item?id=49401766</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49401766</guid></item><item><title><![CDATA[New comment by chowells in "Linux 7.3 improves performance when running out of vRAM"]]></title><description><![CDATA[
<p>The ideal would be to go into swap without becoming unresponsive, so that the user can quit a program of their choice to free memory. If you <i>really</i> want to make an issue out of it, do something like pre-X macOS, where it would provide a warning when you are getting close to running out of memory, so that a user might have the chance to do something before the current process starts getting swapped out.</p>
]]></description><pubDate>Tue, 18 Aug 2026 19:34:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=49351395</link><dc:creator>chowells</dc:creator><comments>https://news.ycombinator.com/item?id=49351395</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49351395</guid></item><item><title><![CDATA[New comment by chowells in "Retire the Abstractions"]]></title><description><![CDATA[
<p>Following this argument to its natural conclusion, we should tell LLMs to generate the binary directly. It's still an abstraction, but it's the lowest level we can go to on current consumer hardware.<p>I don't think raw machine code (not even assembly) is the best form to reason about program logic. It just takes too many steps to execute sophisticated processes to keep them all in your head at once - or keep them all in an LLM context at once.</p>
]]></description><pubDate>Wed, 12 Aug 2026 02:58:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=49267355</link><dc:creator>chowells</dc:creator><comments>https://news.ycombinator.com/item?id=49267355</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49267355</guid></item><item><title><![CDATA[New comment by chowells in "Lost my phone at the office. Claude suggested tracking Bluetooth signal strength"]]></title><description><![CDATA[
<p>Good lord, the damage LLM use has done to deep thinking is amazing for such a short time. Maybe if it stayed hard to find your phone, you would have put some time into considering the root cause of the problem: you put an employer MDM on your phone. Except, well. Now it's their phone. You just pay for it.</p>
]]></description><pubDate>Sun, 09 Aug 2026 00:32:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=49227222</link><dc:creator>chowells</dc:creator><comments>https://news.ycombinator.com/item?id=49227222</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49227222</guid></item></channel></rss>