<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: jcranmer</title><link>https://news.ycombinator.com/user?id=jcranmer</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sun, 14 Jun 2026 23:22:57 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=jcranmer" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by jcranmer in "Rome Fell and Nobody Noticed"]]></title><description><![CDATA[
<p>Yes, there's a rupture between Eastern and Western Christianity, but Western Christianity still accepts the authority of the pope to speak on behalf of Christianity, and there's still a sense that they're still part of the same Christendom, just disputing who is going to come out on top. You might compare it to the modern "One China Policy" in that both Taiwan and China see themselves as the legitimate government representing all of China. Note that the Holy Roman Emperor and the Byzantine Emperor both titled themselves as Emperor of the Romans--they're still claiming heir to the same unified Christendom.<p>(And also note that the latest Byzantine Emperors repeatedly tried to mend the schism to secure Western aid in stabilizing their empire.)</p>
]]></description><pubDate>Sun, 14 Jun 2026 22:41:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=48533708</link><dc:creator>jcranmer</dc:creator><comments>https://news.ycombinator.com/item?id=48533708</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48533708</guid></item><item><title><![CDATA[New comment by jcranmer in "Formal methods and the future of programming"]]></title><description><![CDATA[
<p>There's a famous quote from Dijkstra: "Program testing can be used to show the presence of bugs, but never to show their absence." The flaw of testing is that it can only test the behaviors that you think might be problematic. To actually reach into the category of proactively fixing behaviors that you didn't know could go wrong, you have to reach for more exotic tools in the toolkit. Fuzz testing is a start down this path; formal verification is a different start down this path.<p>Obviously, the quality of these sorts of tools is dependent on your ability to write a formal model that is comprehensive in allowing behavior you want to be acceptable <i>and</i> disallowing behavior you want to be unacceptable, and we're still surprisingly far from that in many fields.</p>
]]></description><pubDate>Sun, 14 Jun 2026 22:26:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=48533538</link><dc:creator>jcranmer</dc:creator><comments>https://news.ycombinator.com/item?id=48533538</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48533538</guid></item><item><title><![CDATA[New comment by jcranmer in "Rome Fell and Nobody Noticed"]]></title><description><![CDATA[
<p>The best answer may well be some time in the 1500s. Recall that as the era shifts from the late Classical to early Medieval, all of these people are still speaking the Roman language (Vulgar Latin, which evolves into the various Romance languages), following the Roman religion (Christianity), obeying Roman legal codes, and in many aspects, still following Roman customs and experience the same Roman economic and administrative system. In the case of the Byzantines, there is continuous institutional survival until the Fourth Crusade in 1204. Now, what that Roman society looks like in the 500s is very much not the same Roman society we conceptualize of in the 100s, but there is largely no clean break [1]. There is political disunity, but that doesn't necessarily mean that there isn't a recognized commonality of culture (cf. China, where similar major periods of disunity are still categorized as all being part of China).<p>The major rupture is the Protestant Reformation, where the split between Protestant and Catholic Christianity proves irreconcilable, and results in the end of the notional idea of a unified Christendom. This is also when you start to see an end towards the practice of writing in the literate language of Christendom (i.e., Latin) and instead move towards working in the vernacular, especially in endeavors like scientific research.<p>[1] The major exception is Britain, where the end of Roman rule is very abruptly realized, and there is a distinct clear horizon between sub-Roman Britannia and Anglo-Saxon Britain. But the British experience is largely the exception, not the rule.</p>
]]></description><pubDate>Sun, 14 Jun 2026 22:01:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=48533287</link><dc:creator>jcranmer</dc:creator><comments>https://news.ycombinator.com/item?id=48533287</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48533287</guid></item><item><title><![CDATA[New comment by jcranmer in "The adder at the heart of Intel's 8087 floating-point chip"]]></title><description><![CDATA[
<p>AIUI, the 8087 was essentially at the extreme cutting edge of what was possible to produce with the technology of the time, and even Intel at the time was largely treating it as a likely-to-fail project.</p>
]]></description><pubDate>Sat, 13 Jun 2026 20:21:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=48521036</link><dc:creator>jcranmer</dc:creator><comments>https://news.ycombinator.com/item?id=48521036</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48521036</guid></item><item><title><![CDATA[New comment by jcranmer in "Orthodox C++ (2016)"]]></title><description><![CDATA[
<p>std::map and std::unordered_map are just unbelievably shitty implementations. The former is a red-black tree, which in my entire programming career I have needed to reach for like... twice? It's just not the right container for almost any problem you have, yet it's the one that gets the short, sweet name. The latter is a bucket-based hashmap, which is about the worst kind of hashmap that can be built. On top of that, their APIs are also really annoying to use compared to, say, Python or Rust's implementation. At least C++20 finally added a simple contains method, but something like setdefault is just a chore to get implemented.</p>
]]></description><pubDate>Sat, 13 Jun 2026 20:17:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=48520997</link><dc:creator>jcranmer</dc:creator><comments>https://news.ycombinator.com/item?id=48520997</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48520997</guid></item><item><title><![CDATA[New comment by jcranmer in "Sam Bankman-Fried loses bid to appeal against fraud conviction in FTX case"]]></title><description><![CDATA[
<p>Would you consider it theft if you asked someone to watch over your house, and when you came back, they told you they sold your house but give them a few months and they should be able to buy it back? That's basically what SBF did here--he sold the customer assets <i>that were not his to sell</i>, and his defense is trying to obscure the basic fact.</p>
]]></description><pubDate>Sat, 13 Jun 2026 18:04:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=48519796</link><dc:creator>jcranmer</dc:creator><comments>https://news.ycombinator.com/item?id=48519796</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48519796</guid></item><item><title><![CDATA[New comment by jcranmer in "Law Enforcement's "Warrior" Problem (2015)"]]></title><description><![CDATA[
<p>Another article in the same vein is this one, criticizing the increasing role of former special officers people in military planning roles: <a href="https://secretaryrofdefenserock.substack.com/p/the-triumph-of-the-operator" rel="nofollow">https://secretaryrofdefenserock.substack.com/p/the-triumph-o...</a>, seeing it as catalyzing a lot of destruction of US military capabilities.</p>
]]></description><pubDate>Fri, 12 Jun 2026 19:27:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=48508426</link><dc:creator>jcranmer</dc:creator><comments>https://news.ycombinator.com/item?id=48508426</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48508426</guid></item><item><title><![CDATA[New comment by jcranmer in "The Future of Email"]]></title><description><![CDATA[
<p>So Hashcash was, as far as I'm aware, the first PoW system ever developed, but I'm not aware of it ever actually being <i>deployed</i> as an antispam measure. And indeed, the history of bitcoin also demonstrates why Hashcash would have ultimately failed as a spam-prevention measure: bitcoin can only be effectively mined by large, dedicated farms (or just outright stealing others' resources). There is no clearing price for compute that would have let regular people (especially those on anemic hardware, think "feature phone in Africa") send email while prohibiting people with access to large resources (e.g., botfarms) from mass email.</p>
]]></description><pubDate>Fri, 12 Jun 2026 15:35:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=48505492</link><dc:creator>jcranmer</dc:creator><comments>https://news.ycombinator.com/item?id=48505492</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48505492</guid></item><item><title><![CDATA[New comment by jcranmer in "The Future of Email"]]></title><description><![CDATA[
<p>In 2026, pushing for encryption of emails is a sign that you care more about box-checking requirements rather than actual security practices. Encrypted email sounds good--it's encrypted, how can that be bad?--but when you actually work through various threats and see what encrypted email protects against, it's really not much compared to the status quo, and encrypted email also turns out to lose a lot of features.<p>Keep in mind that the baseline is that, when you send an email, it is encrypted from your computer to your email server, your email server to your recipients' email servers, and your recipients' email servers to their computers. The only people other than you and the recipients who can see it are the email servers involved in the middle, so the best you can get with encrypted emails is <i>maybe</i> cutting out some of the entities that have a critical role in the process (and which therefore can't entirely be cut out). In particular, encrypted email leaves all the email headers public, so it's not like the best case here is particularly private.<p>But encrypted email also breaks the ability to do any server-side processing of email, like server-side email filters (okay, not the hugest loss in the world). Or spam processing--no one's come up with a workable solution here, especially given the vast amount of spam that never hits an email folder (the things that get routed to your spam folder are the emails your spam filters aren't <i>sure</i> is spam). Users also expect the ability to log onto their email server's website and just read their email: such webmail is the dominant email client used, and even people like me who almost exclusively use email clients still end up using a webmail client from time-to-time. You can fix this by giving your email server your key... which puts them back on the list of people who can read your email again, oops, you've gained nothing over the status quo.<p>Worse still is the problem of key distribution. To send an email, you need to look up the recipients' keys... and the most practical approach to make that work at scale is probably to ask the mail server what its users' public keys are. The one entity that is guaranteed to be able to intercept literally every message to somebody, and thus is in prime position to offer its own key instead, strip the encryption, and re-encrypt it to the user without anybody else finding out. Alternative approaches like keyservers don't work: the PGP keyserver ecosystem collapsed several years ago when PGP encryption was of interest to fewer than a million users, far less scale than the billions of email users.<p>Encrypted email is a useless pipedream, and not because of the business models of email vendors, but because the architecture of email provides good-enough security today that makes improving on it very challenging without negating the supposed benefits of extra encryption.</p>
]]></description><pubDate>Fri, 12 Jun 2026 14:41:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=48504818</link><dc:creator>jcranmer</dc:creator><comments>https://news.ycombinator.com/item?id=48504818</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48504818</guid></item><item><title><![CDATA[New comment by jcranmer in "Thermodynamics rules future orbital data centers"]]></title><description><![CDATA[
<p>When I was peripherally working on some HPC stuff, there was a comment by one of the hardware guys that it mattered which national lab you were building the supercomputer for, because the guys at high altitude like Los Alamos get a lot more bitflips than someone closer to sea-level like Argonne. Although that said, for an exascale supercomputer, the mean time between uncorrected bit flip <i>somewhere</i> in the machine is on the order of a few hours, which means that large supercomputer-scale workloads should actually expect to hit a bit flip in their computation.</p>
]]></description><pubDate>Thu, 11 Jun 2026 15:53:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=48492073</link><dc:creator>jcranmer</dc:creator><comments>https://news.ycombinator.com/item?id=48492073</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48492073</guid></item><item><title><![CDATA[New comment by jcranmer in "World Capitals Voronoi"]]></title><description><![CDATA[
<p>Eyeballing the map:<p>For largest absolute net gain of land area, I guess Mongolia wins the cake, getting a very large slice of Siberia while losing almost no land. For a percentage net gain of land area, maybe one of the European microstates, or East Timor.<p>Largest absolute net loss of land area is Russia for sure. Largest percent loss is... probably Russia? Again, losing Siberia is a large fraction of its land, and nobody else seems to be so screwed by the distance.<p>Excluding overseas territories, there's three borders between Yakutia-cum-Japan and its current capital, Moscow, and another case of that in the far western reaches of Brazil. If you include overseas territories, well, French Polynesia is currently almost literally antipodal from Paris, and I don't really know how you would count 'most countries away' in that case, but you can't really get further than that.</p>
]]></description><pubDate>Thu, 11 Jun 2026 00:05:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=48484549</link><dc:creator>jcranmer</dc:creator><comments>https://news.ycombinator.com/item?id=48484549</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48484549</guid></item><item><title><![CDATA[New comment by jcranmer in "US Consumer Price Index up 4.2%"]]></title><description><![CDATA[
<p>Not all components rise in cost at the same time. Overall, prices have roughly doubled since the early 2000's--things that I expect to cost, say, $10 would now cost around $20. However, some things have risen in cost much more quickly: housing prices, for one.<p>The things you are talking about are a phenomenon largely of the COVID era and later. The biggest wage gains post-COVID have been in the lowest end of the job market, and services where almost-minimum-wage labor is a high fraction of their cost have commensurately risen in price the fastest (e.g., fast food). Similarly, a lot of the easy money flowing into unprofitable grow-then-make-money businesses (like delivery firms) have stopped flowing in, so those services have had to actually make money from customers, which causes their costs to rise.</p>
]]></description><pubDate>Wed, 10 Jun 2026 17:09:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=48479408</link><dc:creator>jcranmer</dc:creator><comments>https://news.ycombinator.com/item?id=48479408</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48479408</guid></item><item><title><![CDATA[New comment by jcranmer in "Lies we tell ourselves about email addresses"]]></title><description><![CDATA[
<p>Randall estimates in the alt-text of <a href="https://xkcd.com/1279/" rel="nofollow">https://xkcd.com/1279/</a> that there's about ¾ of a million people who just use somebody else's email on gmail without realizing it's not their email address.</p>
]]></description><pubDate>Wed, 10 Jun 2026 01:24:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=48470069</link><dc:creator>jcranmer</dc:creator><comments>https://news.ycombinator.com/item?id=48470069</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48470069</guid></item><item><title><![CDATA[New comment by jcranmer in "Lies we tell ourselves about email addresses"]]></title><description><![CDATA[
<p>I chuck IP address literals (both IPv4 and IPv6) on the list of things that you should care about for email if you're writing an MTA or an MUA but should otherwise generally not care about supporting if you're using email for something else (e.g., as a UID for login).</p>
]]></description><pubDate>Wed, 10 Jun 2026 01:08:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=48469943</link><dc:creator>jcranmer</dc:creator><comments>https://news.ycombinator.com/item?id=48469943</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48469943</guid></item><item><title><![CDATA[New comment by jcranmer in "Let's Encrypt bans certificate usage in any US sanctioned territory [pdf]"]]></title><description><![CDATA[
<p>How would they do that? The ACME protocol is "take the basic artifacts you use for certificate signing, wrap them in JSON (cryptographically, using standard JWS), then send them over using HTTP + TLS." Every part of that is something for which there exists a buttload of implementations in whatever language you care to use.</p>
]]></description><pubDate>Tue, 09 Jun 2026 22:38:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=48468797</link><dc:creator>jcranmer</dc:creator><comments>https://news.ycombinator.com/item?id=48468797</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48468797</guid></item><item><title><![CDATA[New comment by jcranmer in "No Babies? Blame Capitalism"]]></title><description><![CDATA[
<p>Jacobin has a reputation of being in the category of affirm-your-biases news media, albeit one that is left-leaning. Something strong enough that you'd have a prior that any Jacobin article is going to blame all of society's ills on capitalism, and since it's strongly baked into the priors of its readers, there's going to be no real investigation after blaming capitalism.<p>Which this article basically does, at first glance. It assumes capitalism is bad for baby-rearing, doesn't really motivate why, and instead just goes East Germany had a higher birth rate than West Germany before reunification, then after reunification, it flipped, therefore capitalism causes low birth rates.</p>
]]></description><pubDate>Sat, 06 Jun 2026 23:34:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=48430187</link><dc:creator>jcranmer</dc:creator><comments>https://news.ycombinator.com/item?id=48430187</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48430187</guid></item><item><title><![CDATA[New comment by jcranmer in "Pre-Modern Armies for Worldbuilders, Part I: Why They Fight"]]></title><description><![CDATA[
<p>It is a little rich to simultaneously complain that the article is too long, that it didn't go into enough detail, and that it didn't support your pet theory. Maybe if you'd read the article, you'd find out that not only does the author discuss money as a motivating factor as the first example (precisely because it is popularly hold to be the main motivating factor) but then immediately explain why it was the <i>least</i> important motivating factor for pre-modern societies.<p>It's also worth mentioning that directly linked from this blog post are several in-depth examinations of historical military systems, including Mongol, broader steppe nomad (note that the Mongols were exceptional), Roman, Carthaginian, Macedonian, Greek, and Gallic specifically covered in depth, and a couple of other cases (e.g., Medieval Europe and Mamluk examples) more covered in passing. The detail you think is lacking can easily be found in those blog posts.<p>You can also find a nice summary of the different motivating factors at the end, with 21 specific examples distributed among them. Is that not enough for you?</p>
]]></description><pubDate>Sat, 06 Jun 2026 19:14:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=48427991</link><dc:creator>jcranmer</dc:creator><comments>https://news.ycombinator.com/item?id=48427991</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48427991</guid></item><item><title><![CDATA[New comment by jcranmer in "Moving beyond fork() + exec()"]]></title><description><![CDATA[
<p>Calling that elegant is a path dependence of the history of fork+exec.<p>In an alternative world where fork+exec never existed, a lot of those "usual APIs" would probably have had an explicit pid argument to them that let you modify process configuration from a different process. (This is how Fuschia works, e.g.). There's a lot of benefit to this world: the most obvious is that you don't have to magic up some IPC system just to report configuration errors, but there's actually a good amount of utility in being able to have a manager process that is tweaking attributes of its children (e.g., debuggers would love it).</p>
]]></description><pubDate>Sat, 06 Jun 2026 18:17:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=48427492</link><dc:creator>jcranmer</dc:creator><comments>https://news.ycombinator.com/item?id=48427492</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48427492</guid></item><item><title><![CDATA[New comment by jcranmer in "New York just passed a one-year temporary ban on data centers"]]></title><description><![CDATA[
<p>Hell, after the 'competition' was announced, many commentators observed that it was pretty much written with Arlington, VA in mind, and the competition was less a serious competition and more a ploy to try to get a lot of subsidies for what their plans already were. It's also worth noting that the bids that were accepted (Arlington and New York) were some of the most miserly bids.</p>
]]></description><pubDate>Fri, 05 Jun 2026 15:30:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=48413896</link><dc:creator>jcranmer</dc:creator><comments>https://news.ycombinator.com/item?id=48413896</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48413896</guid></item><item><title><![CDATA[New comment by jcranmer in "Failing grades soar with AI usage, dwindling math skills in Berkeley CS classes"]]></title><description><![CDATA[
<p>The title is "failing grades soar" (one 'l', not two), not "falling grades soar."</p>
]]></description><pubDate>Thu, 04 Jun 2026 14:26:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=48399158</link><dc:creator>jcranmer</dc:creator><comments>https://news.ycombinator.com/item?id=48399158</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48399158</guid></item></channel></rss>