<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: wahern</title><link>https://news.ycombinator.com/user?id=wahern</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Fri, 29 May 2026 17:37:34 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=wahern" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by wahern in "Blue Origin's New Glenn blows up during static fire test"]]></title><description><![CDATA[
<p>Crushing only because their cadence is so slow compared to SpaceX. Their process seems much closer to the highly risk averse methodology of traditional incumbents than to SpaceX's style. Failure becomes a self-fulfilling prophecy.<p>Rockets are ridiculously complex. Slow-and-steady wins the race makes sense for many individual components, depending on how well understood the problem domain is, and your ability to rigorously model things. But if you take that approach when testing all the thousands of components together, which is simply just too complex to exhaustively model[1], you'll never get anywhere. You have to be prepared to not only break some eggs in epic fashion, but to break many as quickly as you can, so you can parallelize your problem solving and iterate faster.<p>[1] At least without a large multiple in time and monetary expenditure that ends up costing more than even the US (government and private capital combined) is prepared to spend.</p>
]]></description><pubDate>Fri, 29 May 2026 05:49:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=48319528</link><dc:creator>wahern</dc:creator><comments>https://news.ycombinator.com/item?id=48319528</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48319528</guid></item><item><title><![CDATA[New comment by wahern in "Announcing Rust 1.96"]]></title><description><![CDATA[
<p>Or just make it more difficult to squat obvious namespaces, and add an identity management system (like PGP Web of Trust, but simpler) so you can limit yourself to trusted packages, e.g. packages vouched by your preferred set of root signers who publish compilations of trusted publisher keys.<p>Expecting a kitchen sink approach for a low-level language can't work out. In low level systems languages your algorithms and interfaces are (or should be) much more tightly bound to specific solutions. It's much easier for abstraction to become excessive and counterproductive.</p>
]]></description><pubDate>Fri, 29 May 2026 01:57:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=48318052</link><dc:creator>wahern</dc:creator><comments>https://news.ycombinator.com/item?id=48318052</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48318052</guid></item><item><title><![CDATA[New comment by wahern in "I hated writing until I learned there’s a science to it (2024)"]]></title><description><![CDATA[
<p>"Writing is nature's way of letting you know how sloppy your thinking is." -- Richard Guindon, Michigan So Far, 1991.<p>The comic has been quoted online many times, but I had to buy an old copy of Michigan So Far on eBay to actually <i>see</i> the comic: <a href="https://25thandClement.com/~william/links/img/Writing-Guindon-1991.jpg" rel="nofollow">https://25thandClement.com/~william/links/img/Writing-Guindo...</a></p>
]]></description><pubDate>Thu, 28 May 2026 23:34:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=48317028</link><dc:creator>wahern</dc:creator><comments>https://news.ycombinator.com/item?id=48317028</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48317028</guid></item><item><title><![CDATA[New comment by wahern in "We are Poles, so, of course, we print in Latin"]]></title><description><![CDATA[
<p>What's colloquially called the Latin Mass is the Tridentine Mass, which among other things uses a different calendar, including different biblical readings each week (a smaller selection of biblical passages than the Novus Ordo uses). So it's not just a variation of the Novus Ordo, though the Novus Ordo could be performed in a way that satisfies the vast majority of traditional-minded parishioners. It's exasperating because certain ideologues behind the movement are elevating small changes into pseudo-doctrinal issues that have a tendency to lead to schism. The Orthodox churches have fractured over the centuries over calendar related issues, for example. It's fundamentally traditionalism for traditionalism's sake, which is a little ironic because in many respects the Novus Ordo reverts the mass to an older form more similar to the practices of the church over a millennia ago, as well as more similar in some respects to Orthodox masses.<p>If the Latin Mass advocates were serious, they'd engage with the Novus Ordo. For example, seek more uniformity--the Novus Ordo has too many optional variations, which means the mass might have different prayers in one geographic area than another, whereas the Tridentine Mass is more uniform. (See, e.g., <a href="https://lms.org.uk/missals" rel="nofollow">https://lms.org.uk/missals</a>) The fact they don't betrays some of the underlying motivations and dynamics.<p>Another aspect mostly unrelated to the mass itself was the Second Vatican Council deemphasisizing the role of clerics and religious--nuns, religious sisters, etc. That's a whole 'nother thing, but it's a significant factor behind the movement. It's far more understandable, but again can be addressed directly, without the subterfuge.<p>All institutional religions struggle with the tension between traditionalists and reformers; it's a form of politics. What has made the Roman Catholic church almost singularly unique has been it's ability to hold together so many people across diverse cultures and geographies. What's playing out now has played out many times before, though obviously the Roman Church has not always been successful at avoiding schism. Notably, though, it continues to keep in mind undoing previous schisms, and some choices made by the Second Vatican Council were focused on reconciliation, both with Protestant but also Orthodox churches. For example, the change in biblical readings seems to have been aimed at Protestantism--the readings in the US are coordinated through a group that includes representatives from, IIRC, Methodists and Episcopalians. Being less doctrinaire about some of the prayers in the Tridentine Mass was a way to affirm the validity of Orthodox rites.</p>
]]></description><pubDate>Thu, 28 May 2026 01:51:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=48303380</link><dc:creator>wahern</dc:creator><comments>https://news.ycombinator.com/item?id=48303380</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48303380</guid></item><item><title><![CDATA[New comment by wahern in "We are Poles, so, of course, we print in Latin"]]></title><description><![CDATA[
<p>What's called "Roman law" in Europe  derives from the Justinian Code, which was nominally a codification of but in many respects a radical reinterpretation of late roman law. Prior to the Justinian Code, and especially Scholastic era glosses, Roman law was arguably more like a very rigid style of common law; that is, requiring judges to hew closely to precedent rather than applying abstract legal principles.<p>It was the rediscovery of the Justinian Code during the Scholastic age which kickstarted a blossoming of legal theory in Europe. But they didn't understand that the Justinian Code wasn't a  reflection of Roman law so much as a reflection of Emperor Justinian's reforms, which were in part an attempt to reassert control over and simplify the legal system.</p>
]]></description><pubDate>Wed, 27 May 2026 20:02:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=48299767</link><dc:creator>wahern</dc:creator><comments>https://news.ycombinator.com/item?id=48299767</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48299767</guid></item><item><title><![CDATA[New comment by wahern in "We are Poles, so, of course, we print in Latin"]]></title><description><![CDATA[
<p>The modern mass can be done ad orientem. The switch of orientation was only permitted, not required, in the Novus Ordo.<p>Most of the changes people associate with the Novus Ordo were completely optional and often not even expected to have become so common. This is why all the popes have been exasperated, to varying extents, with the Latin Mass movement. Literally nothing prevents dioceses from celebrating the Novus Ordo mass in Latin, ad orientem, chanting, etc.</p>
]]></description><pubDate>Wed, 27 May 2026 19:49:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=48299580</link><dc:creator>wahern</dc:creator><comments>https://news.ycombinator.com/item?id=48299580</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48299580</guid></item><item><title><![CDATA[New comment by wahern in "Everything in C is undefined behavior"]]></title><description><![CDATA[
<p>No. You only get EINTR when a signal handler fires and you didn't use the SA_RESTART flag with sigaction. If you don't install any signal handlers, or you use SA_RESTART on all handlers, or you've blocked/masked all signals (or at least the ones with handlers), you won't get EINTR.<p>When writing library code, it's important to consider EINTR because you can't know about signal dispositions. Though, the common practice of looping on EINTR kind of defeats the purpose.</p>
]]></description><pubDate>Thu, 21 May 2026 09:13:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=48219850</link><dc:creator>wahern</dc:creator><comments>https://news.ycombinator.com/item?id=48219850</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48219850</guid></item><item><title><![CDATA[New comment by wahern in "Intuit to lay off over 3k employees to refocus on AI"]]></title><description><![CDATA[
<p>> [US] tax law drafting style follows default logic, a non-monotonic logic that is hard to encode in languages with first-order logic (FOL).<p><a href="https://arxiv.org/pdf/2011.07966.pdf" rel="nofollow">https://arxiv.org/pdf/2011.07966.pdf</a><p>Most law generally is non-monotonic. (See  <a href="https://en.wikipedia.org/wiki/Non-monotonic_logic" rel="nofollow">https://en.wikipedia.org/wiki/Non-monotonic_logic</a>) The French tax code is one of the few exceptions.</p>
]]></description><pubDate>Thu, 21 May 2026 04:53:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=48218012</link><dc:creator>wahern</dc:creator><comments>https://news.ycombinator.com/item?id=48218012</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48218012</guid></item><item><title><![CDATA[New comment by wahern in "Everything in C is undefined behavior"]]></title><description><![CDATA[
<p>> Now, is it exploitable that `find` also reads the uninitialized auto variable `status` (UB) from a `waitpid(&status)` before checking if `waitpid()` returned error? (not reported) I can't imagine an architecture or compiler where it would be, no.<p>I presume you're referring to this code:<p><pre><code>  pid = waitpid(pid, &status, 0);
  if (WIFEXITED(status))
    rval = WEXITSTATUS(status);
  else
    rval = -1;
</code></pre>
The only signal handler find installs is for SIGINFO, and it uses the SA_RESTART flag, so EINTR can be ruled out. The pid argument is definitely valid as you can't reach the above if it wasn't, and there's no other way for the child process to be reaped[1], so no ECHILD.<p>A check should probably be added in case the situation changes in the future, triggering spooky action at a distance, or were that code to be copy+pasted somewhere where the invariants didn't hold. But I think the current code in its current context is, strictly speaking, correct as-is.<p>[1] OpenBSD lacks the kernel features for such surprises that might theoretically be possible on Linux.</p>
]]></description><pubDate>Wed, 20 May 2026 17:30:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=48211141</link><dc:creator>wahern</dc:creator><comments>https://news.ycombinator.com/item?id=48211141</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48211141</guid></item><item><title><![CDATA[New comment by wahern in "Pope Leo XIV’s first encyclical Magnifica humanitas to be published May 25"]]></title><description><![CDATA[
<p>Sure, just like many other animals exhibit analytical intelligence and complex communication. The seeds are there. The distinction is by degree, but the gap is pretty wide in all three cases.<p>No other species has been shown to <i>systematically</i> display non-kin, non-mating-system altruism (for which empathy is probably an integral component). It seems likely you need systematic non-kin altruism to achieve the ubiquitous, complex cooperation humans exhibit. And that complex cooperation is probably a prerequisite to make our degree of intelligence evolutionarily profitable. Otherwise human-level intelligence should be more common than our immediate lineage. (Some cousin species may very well have been smarter or more cooperative than us; <i>relatively</i> speaking it could be homo sapiens found a more effective equilibrium. Nonetheless our immediate lineage seems to be the only one to break through the selfish gene bottleneck that restricts other species along these axes.)</p>
]]></description><pubDate>Wed, 20 May 2026 00:05:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=48201342</link><dc:creator>wahern</dc:creator><comments>https://news.ycombinator.com/item?id=48201342</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48201342</guid></item><item><title><![CDATA[New comment by wahern in "OpenBSD 7.9"]]></title><description><![CDATA[
<p>unveil was designed and intended to effectively sandbox root when combined with sufficiently strict pledge permissions. I don't think this exploit would have effected any existing OpenBSD services, but sometimes services need to keep around processes with higher privileges than the network-facing process, yet you still want to sandbox them as much as possible. For example, sshd uses a special auth process, and that process needs higher privileges to be able to access the password database. On OpenBSD this auth process doesn't need root, but there may be similar cases where you want to use unveil with a root process for defense-in-depth. Suffice it to say, it would be foolish to <i>only</i> use unveil with such processes.<p>The bug here actually involved the intersection of unveil and pledge. IIUC, it was more a pledge bug that accidentally allowed bypassing unveil checks.</p>
]]></description><pubDate>Tue, 19 May 2026 22:18:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=48200444</link><dc:creator>wahern</dc:creator><comments>https://news.ycombinator.com/item?id=48200444</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48200444</guid></item><item><title><![CDATA[New comment by wahern in "OpenBSD 7.9"]]></title><description><![CDATA[
<p>All OpenBSD services, including HTTP (httpd), SMTP (smtpd), and DNS (nsd, unbound, unwind), use privilege separation and sandbox themselves with pledge and either unveil or chroot. There's no extra configuration. And the developers dog-food these services; it's why they're in the base system.<p>How many Linux services use seccomp? Or chroot, mount namespaces, or landlock? If they do at all, it's usually imposed externally by systemd or docker, in which case they usually run with overly broad permissions because there's no integration with the specific application code, thus the AF_ALG exploits in containers. On OpenBSD services continue to narrow their privileges after starting up so by the time an external request is serviced they have only minimal access to syscalls and the filesystem, often only read/write/send/recv syscalls, and if open is allowed only the specific files and directories needed to service requests. Typically even the network-facing daemon accepting TLS connections doesn't have access to the private key--you simply can't do that by running a vanilla service application in docker.<p>Does OpenBSD have bugs? Of course. The question is, which environment has more trustworthy backstops? The Linux kernel provides all the facilities, but they're not used effectively, for many reasons.</p>
]]></description><pubDate>Tue, 19 May 2026 22:06:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=48200328</link><dc:creator>wahern</dc:creator><comments>https://news.ycombinator.com/item?id=48200328</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48200328</guid></item><item><title><![CDATA[New comment by wahern in "Mocked by a scandal sheet, Kierkegaard endured months of personal attacks"]]></title><description><![CDATA[
<p>Mencken's cynicism and mockery were arguably the type of thing Kierkegaard lamented, and perhaps in a sense were more a cause of social breakdown more than a consequence.</p>
]]></description><pubDate>Tue, 19 May 2026 06:37:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=48189986</link><dc:creator>wahern</dc:creator><comments>https://news.ycombinator.com/item?id=48189986</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48189986</guid></item><item><title><![CDATA[New comment by wahern in "War game exposed U.S. vulnerability to low-tech warfare"]]></title><description><![CDATA[
<p>Russia also does this, with both drones and missiles. It also sends cheap decoys mixed in with the Shaheds, because it turns out they're not as cheap and plentiful as people think, especially when you're trying to hit hard targets.</p>
]]></description><pubDate>Tue, 19 May 2026 06:27:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=48189926</link><dc:creator>wahern</dc:creator><comments>https://news.ycombinator.com/item?id=48189926</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48189926</guid></item><item><title><![CDATA[New comment by wahern in "Pope Leo XIV’s first encyclical Magnifica humanitas to be published May 25"]]></title><description><![CDATA[
<p>The concept of fundamental human rights is certainly new, but our notion of intrinsic human value (and intrinsic value of other life and things) arises from our empathy, which at least in its degree is perhaps our most important defining trait as a species. (Our empathy may have been a prerequisite for the emergence of our intelligence.)<p>Conflating the two is why some people have trouble understanding why religions like Buddhism and Christianity seemed to tolerate so much inequality and violence; or more generally just assumed people writ large were historically more callous and uncaring than today.<p>Arguably one of the downsides, though, to a focus on rights vs intrinsic value is that rights are typically couched in materialist terms. Most of the time that's probably for the better, but sometimes maybe not.</p>
]]></description><pubDate>Tue, 19 May 2026 06:06:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=48189794</link><dc:creator>wahern</dc:creator><comments>https://news.ycombinator.com/item?id=48189794</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48189794</guid></item><item><title><![CDATA[New comment by wahern in "Earth's Radio Bubble: Every signal we've ever sent into space"]]></title><description><![CDATA[
<p>Lasers obey the inverse square law as perfect collimation isn't possible. But I guess as a practical matter it does make it easier to achieve a particular energy level at a target. You still  apparently need megawatt scale lasers just to discern a signal from Alpha Centauri, though: <a href="https://academic.oup.com/mnras/article/516/2/2938/6668809" rel="nofollow">https://academic.oup.com/mnras/article/516/2/2938/6668809</a> (I dunno how to calculate the other way around--from here to there--as it's partly a function of the origin star's luminosity.)</p>
]]></description><pubDate>Tue, 19 May 2026 05:47:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=48189675</link><dc:creator>wahern</dc:creator><comments>https://news.ycombinator.com/item?id=48189675</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48189675</guid></item><item><title><![CDATA[New comment by wahern in "C++26 Shipped a SIMD Library Nobody Asked For"]]></title><description><![CDATA[
<p>Those type attributes are also used for the x86 intrinsics API, and they override default C behaviors like promotions and presumptions around aliasing (ironically they make type punning easier, though maybe it was just the few use cases I explored, and this isn't an area where I have alot of experience). C23 also gained the _BitInt type, which discards all the old promotion rules, which should help autovectorization.<p>I think ISPC is still the proper way to go. But these days everybody wants One Language to Rule Them All along with standard libraries for doing everything out-of-the-box. And while in principle ISPC's approach could be stitched into C or C++ in a fairly clean manner (perhaps with well-defined and enforced segregation of constructs to minimize complexity), it's just not gonna happen: C++ is too enamored with constructing libraries through deeply complex templated types (hammer, nail, yada yada), and C is just too conservative (though if GCC or clang went the distance with a full implementation, there's a good chance the C committee would adopt it).</p>
]]></description><pubDate>Sun, 17 May 2026 06:57:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=48166641</link><dc:creator>wahern</dc:creator><comments>https://news.ycombinator.com/item?id=48166641</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48166641</guid></item><item><title><![CDATA[New comment by wahern in "Nearly 50 Years Later, WKRP in Cincinnati Becomes a Real Radio Station"]]></title><description><![CDATA[
<p>There are more shows, too, including two 3 hour shows with Chris on KBHR Cicely (i.e. Northern Exposure):<p><a href="https://www.awphooey.com/kbhr" rel="nofollow">https://www.awphooey.com/kbhr</a><p><a href="https://www.awphooey.com/retrofit/autumn" rel="nofollow">https://www.awphooey.com/retrofit/autumn</a><p>Full list at <a href="https://www.awphooey.com/retrofit" rel="nofollow">https://www.awphooey.com/retrofit</a><p>(I only know this from your post, so thank you. Just mentioning in case KBHR piques someone's interest more than WKRP. I loved both TV shows.)</p>
]]></description><pubDate>Sat, 16 May 2026 23:11:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=48164601</link><dc:creator>wahern</dc:creator><comments>https://news.ycombinator.com/item?id=48164601</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48164601</guid></item><item><title><![CDATA[New comment by wahern in "Kioxia and Dell cram 10 PB into slim 2RU server"]]></title><description><![CDATA[
<p>AFAICT[1] the latest generation of SpaceX Starlink satellites use AMD Versal XQR SoCs, which are built on a 7nm process with components like the main processor (dual-core ARM Cortex A-72) and memory (DDR4) clocked in the gigahertz, not megahertz, range.[2] At least some of these SoCs models (presumably the lower-clocked ones) are certified for geosynchronous orbits, not just low-earth orbits.<p>[1] <a href="https://www.pcmag.com/news/amd-chips-are-powering-newest-starlink-satellites" rel="nofollow">https://www.pcmag.com/news/amd-chips-are-powering-newest-sta...</a><p>[2] <a href="https://docs.amd.com/r/en-US/ds955-xqr-versal-ai-edge/General-Description" rel="nofollow">https://docs.amd.com/r/en-US/ds955-xqr-versal-ai-edge/Genera...</a></p>
]]></description><pubDate>Sat, 16 May 2026 20:52:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=48163698</link><dc:creator>wahern</dc:creator><comments>https://news.ycombinator.com/item?id=48163698</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48163698</guid></item><item><title><![CDATA[New comment by wahern in "A 0-click exploit chain for the Pixel 10"]]></title><description><![CDATA[
<p>It's not about lawyers cutting a good deal for themselves. Liability issues get complicated along multiple dimensions when they involve licensed professionals, even when they're day-to-day working relationship is indistinguishable from any other employee. And lawyers, even more than doctors, are at the furthest extreme of this complication spectrum. Even were software engineering to become a mandatorily licensed profession like some other engineering disciplines, there's little reason to believe insurance products would mirror those in the legal profession. I seriously doubt we'd end up in a place where employers are common--let alone routinely--paying to cover liability for work outside the scope of employment.</p>
]]></description><pubDate>Fri, 15 May 2026 18:59:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=48152470</link><dc:creator>wahern</dc:creator><comments>https://news.ycombinator.com/item?id=48152470</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48152470</guid></item></channel></rss>