<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: tialaramex</title><link>https://news.ycombinator.com/user?id=tialaramex</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Mon, 15 Jun 2026 03:24:29 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=tialaramex" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by tialaramex in "A 'cold blob' in the Atlantic could be a sign of AMOC shutdown"]]></title><description><![CDATA[
<p>Blaming the consumer is a time-honoured way to ensure nothing is done. The consumer can't pick options which don't exist, so the producer says oh well, you can either burn coal or you can go without light - there's no mention that the producer doesn't <i>have</i> to burn coal to make electricity, just straight to blaming you for wanting light.</p>
]]></description><pubDate>Sun, 14 Jun 2026 16:45:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=48529434</link><dc:creator>tialaramex</dc:creator><comments>https://news.ycombinator.com/item?id=48529434</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48529434</guid></item><item><title><![CDATA[New comment by tialaramex in "A 'cold blob' in the Atlantic could be a sign of AMOC shutdown"]]></title><description><![CDATA[
<p>Below replacement would be terrifying if there were one thousand humans, it would be worrying if there were a million, and at least worthy of consideration if there were a hundred million, but there are almost <i>ten billion</i> simultaneous humans, we're fine.</p>
]]></description><pubDate>Sun, 14 Jun 2026 16:29:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=48529154</link><dc:creator>tialaramex</dc:creator><comments>https://news.ycombinator.com/item?id=48529154</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48529154</guid></item><item><title><![CDATA[New comment by tialaramex in "Orthodox C++ (2016)"]]></title><description><![CDATA[
<p>As with the likely/ unlikely branch hint the problem is that programmers are wrong much more often than they expect <i>on both sides</i>. They're too often wrong to think they know the final size - hence Bjarne's caution - but they're also too often wrong that they've got no idea how much capacity they need at all. So hence this API.<p>You're correct that this isn't a huge optimization. But it more than pulls its weight directly because it's a small boon when you're right and it doesn't have the terrible penalty that Vec::reserve_exact has when inevitably the programmer is sometimes wrong. It's very much about saving pennies, but the growable array type is <i>so</i> widely used that counting pennies makes sense.<p>I have a lot more thoughts about reservation, but these suffice for specifically the growable array type.</p>
]]></description><pubDate>Sun, 14 Jun 2026 10:45:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=48525982</link><dc:creator>tialaramex</dc:creator><comments>https://news.ycombinator.com/item?id=48525982</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48525982</guid></item><item><title><![CDATA[New comment by tialaramex in "Orthodox C++ (2016)"]]></title><description><![CDATA[
<p>If you want to see it where? If you want a string you've got a string. If you want to write text to something resembling file I/O (e.g. stdout) then std::print and std::println are what you need instead of std::format<p>Stroustrup's I/O Streams is a weird dead-end C++ technology. Bjarne is probably never going to get over it, but everybody else should forget about it ASAP.</p>
]]></description><pubDate>Sun, 14 Jun 2026 02:03:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=48523472</link><dc:creator>tialaramex</dc:creator><comments>https://news.ycombinator.com/item?id=48523472</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48523472</guid></item><item><title><![CDATA[New comment by tialaramex in "Orthodox C++ (2016)"]]></title><description><![CDATA[
<p>std::vector lacks what I call the "bifurcated reservation API". It has Rust's Vec::reserve_exact but not Vec::reserve -- these APIs serve subtly different purposes, the former (which C++ calls just "reserve") says "Here's a hint for exactly how big this container will ever grow" while the latter says "Here's a hint for how big this container will get in my immediate future, but it might grow further later".<p>The implementation always tries to grow (if necessary) to the exact size chosen for Vec::reserve_exact, but for plain Vec::reserve if growth is needed it always grows exponentially, <i>not</i> to the exact size, preserving the O(1) push cost.<p>For a typical "doubling" growable array type, if we're pushing groups of ten items, reserve_exact or C++ grows like 10, 20, 30, 40, 50, 60, 70, 80, 90, 100 ... which is much worse than O(1) whereas the correct reserve grows 10, 20, 40, 80, 160 preserving O(1)<p>For trivial types you can work around this in C++ with a little work, and for the non-trivial types you can work around it with a bunch more extra code, but you probably won't.<p>Bjarne among other people teaching C++ recommend just not using the reservation API as a reservation API because of this problem†, and the resulting teaching definitely leaks into CS graduates and even into languages which have the correct API and so you have to un-teach the bad lesson.<p>In applications where you actually can't afford to pay for growth (or at least in some cases can't afford this) I also like Vec::push_within_capacity which I believe comes from Rust for Linux where the kernel legitimately needs this "If there's room push, otherwise I have a plan B" approach.<p>† To Bjarne this API is instead conceived of as a way to preserve reference validity. Since it won't grow, our references will still work.</p>
]]></description><pubDate>Sat, 13 Jun 2026 23:43:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=48522605</link><dc:creator>tialaramex</dc:creator><comments>https://news.ycombinator.com/item?id=48522605</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48522605</guid></item><item><title><![CDATA[New comment by tialaramex in "Orthodox C++ (2016)"]]></title><description><![CDATA[
<p>> it comes with the territory<p>In the sense that C++ is complicated because it's C++, which is complicated? That's just a tautology. If you mean "the territory" in some other sense there's no reason to believe this.</p>
]]></description><pubDate>Sat, 13 Jun 2026 18:05:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=48519807</link><dc:creator>tialaramex</dc:creator><comments>https://news.ycombinator.com/item?id=48519807</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48519807</guid></item><item><title><![CDATA[New comment by tialaramex in "Orthodox C++ (2016)"]]></title><description><![CDATA[
<p>> nearly 99% of the C standard is in C++<p>But, one of the annoying habits of WG21 (the C++ committee) is sending stuff to WG14 (the C committee) to have them make it part of their language rather than accept that it's a C++ problem. Even the stupid type qualifiers are actually C++'s fault, K&R doesn't have this abomination but the pre-standard C++ did so too bad now it's in C89.</p>
]]></description><pubDate>Sat, 13 Jun 2026 18:03:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=48519792</link><dc:creator>tialaramex</dc:creator><comments>https://news.ycombinator.com/item?id=48519792</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48519792</guid></item><item><title><![CDATA[New comment by tialaramex in "Swift at Apple: Migrating the TrueType hinting interpreter"]]></title><description><![CDATA[
<p>I believe Swift tends to use reference counting and copy-on-write strategies. This, like GC, is less for the programmer to think about and doesn't require the semantic checks, but sometimes the performance cost is unacceptable compared to what you'd write in Rust.</p>
]]></description><pubDate>Fri, 12 Jun 2026 23:26:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=48510573</link><dc:creator>tialaramex</dc:creator><comments>https://news.ycombinator.com/item?id=48510573</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48510573</guid></item><item><title><![CDATA[New comment by tialaramex in "Solar generates more energy in US than coal for first time"]]></title><description><![CDATA[
<p>It's the same in the UK. The CfD "subsidy" mechanism for solar power results in the solar farms <i>paying us money</i> almost every day - including today - but you will still see right wing politicians vow to eliminate this "subsidy".</p>
]]></description><pubDate>Fri, 12 Jun 2026 00:40:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=48498403</link><dc:creator>tialaramex</dc:creator><comments>https://news.ycombinator.com/item?id=48498403</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48498403</guid></item><item><title><![CDATA[New comment by tialaramex in "Who's the smartest corvid?"]]></title><description><![CDATA[
<p>I suspect the corvids aren't obligate carnivores and so they <i>could</i> choose not to eat animals but they do it anyway.<p>Given that humans aren't obligate carnivores and further more, are capable of advanced chemistry so that even if they <i>were</i> obliged to eat other animals biologically they could just work around this without needing to kill anything - it seems much more compelling to judge <i>us</i> by such a metric than them. <i>We</i> decided that we liked steak so much we would deliberately raise cows just to eat them, the crow can't be anywhere near that "evil" if that's how we're characterising this outcome.</p>
]]></description><pubDate>Thu, 11 Jun 2026 10:49:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=48488628</link><dc:creator>tialaramex</dc:creator><comments>https://news.ycombinator.com/item?id=48488628</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48488628</guid></item><item><title><![CDATA[New comment by tialaramex in "Starfish by Peter Watts (1999)"]]></title><description><![CDATA[
<p>I should read his long form stuff, I don't do anywhere near enough long form reading these days. I read "Malak" in Engineering Infinity years ago and it's very good indeed.</p>
]]></description><pubDate>Thu, 11 Jun 2026 09:47:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=48488248</link><dc:creator>tialaramex</dc:creator><comments>https://news.ycombinator.com/item?id=48488248</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48488248</guid></item><item><title><![CDATA[New comment by tialaramex in "Who's the smartest corvid?"]]></title><description><![CDATA[
<p>Humans are allowed to just change their names. It's not very common, especially in academics because your name is attached to your reputation, but it's not forbidden or even especially unusual. [And of course in several important cultures <i>women</i> are expected to change their name when they marry, although this seems like a terrible idea to me and in general I recommend against it]<p>So it is entirely possible that they went "I think I will take the name Crow White, that's hilarious" and a PhD later they're a professor running research on corvids.<p>Edited to add mention of cultural convention to change names on marriage.</p>
]]></description><pubDate>Thu, 11 Jun 2026 08:07:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=48487651</link><dc:creator>tialaramex</dc:creator><comments>https://news.ycombinator.com/item?id=48487651</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48487651</guid></item><item><title><![CDATA[New comment by tialaramex in "Who's the smartest corvid?"]]></title><description><![CDATA[
<p>I believe that canonically the tunnel painting is made by the coyote, the problem is that because it's a cartoon the bird can run into the non-existent tunnel anyway and the coyote cannot because that's funnier.<p>It is interesting that e.g. "Coyote time" was copied into platform games but in real life if you're not stood on solid ground you fall immediately 'cos Mother Nature doesn't give a shit what's more fun.</p>
]]></description><pubDate>Thu, 11 Jun 2026 08:01:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=48487623</link><dc:creator>tialaramex</dc:creator><comments>https://news.ycombinator.com/item?id=48487623</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48487623</guid></item><item><title><![CDATA[New comment by tialaramex in "Port React Compiler to Rust"]]></title><description><![CDATA[
<p>> Memory safety is just a tiny part of over all security<p>Sure, in the same way that foundations are just a tiny part of house construction.<p>Foundations come first, it's great if you've got more on top, I recommend it actually, but if you don't have the foundations it's not even worth having the discussion about what else you built, it's all worthless.</p>
]]></description><pubDate>Wed, 10 Jun 2026 16:27:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=48478746</link><dc:creator>tialaramex</dc:creator><comments>https://news.ycombinator.com/item?id=48478746</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48478746</guid></item><item><title><![CDATA[New comment by tialaramex in "The beauty and simplicity of the good old C-style void* in C++"]]></title><description><![CDATA[
<p>Bjarne isn't <i>god</i> and I didn't say he was. So no, he isn't all-powerful.<p>Bjarne has <i>always</i> been frustrated by the failures of C++ and has always blamed them on other people. He's an egotist, they're always like that, I find it exhausting.</p>
]]></description><pubDate>Wed, 10 Jun 2026 13:25:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=48475983</link><dc:creator>tialaramex</dc:creator><comments>https://news.ycombinator.com/item?id=48475983</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48475983</guid></item><item><title><![CDATA[New comment by tialaramex in "Surprise, pay $1000"]]></title><description><![CDATA[
<p>Last century most people were only <i>sometimes</i> using the Internet. They'd "Go online", if you're young enough not to recognise that noise in Blue Prince when you use the network, that's a "Dial up modem" which is how a typical person would "Go online" in the mid-1990s. So in this regime counting minutes makes some sense.<p>I got a preview of the modern world from about 1996 because my first shared student house (shout out to any Hitchers reading) had a single dial-up modem set to always connect to a free-to-use University modem and then used IP Masquerading (the ancestor of today's NATs) so that all of our computers could share this tiny connection.<p>So by the time of my 21st birthday, I was "always on" in the same sense that you'd always be today, except with much, much lower bandwidth and what I can tell you is that this, not the bandwidth is what makes the difference.<p>When you're "always on" the reflexive answer to "Wait, where do Porcupines live?" is to look online. It's 1996 so Wikipedia doesn't exist yet. Google doesn't exist yet. But Tim's crap hypermedia system (the "World Wide Web") exists and so you just need to know where to look to find information about porcupines.<p>I didn't watch videos in 1996 because it'd take hours to receive a short low resolution video, even reading web comics was quite an undertaking, I remember downloading all of Bruno (at the time) <a href="https://en.wikipedia.org/wiki/Bruno_(webcomic)" rel="nofollow">https://en.wikipedia.org/wiki/Bruno_(webcomic)</a> over night so I could read it. But the fact you don't have to explicitly "go online" makes a huge qualitative difference even though the bandwidth is tiny.</p>
]]></description><pubDate>Wed, 10 Jun 2026 10:38:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=48474284</link><dc:creator>tialaramex</dc:creator><comments>https://news.ycombinator.com/item?id=48474284</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48474284</guid></item><item><title><![CDATA[New comment by tialaramex in "C++: The Documentary"]]></title><description><![CDATA[
<p>> Ok, I'll keep it short: I'm far from alone being surprised that a sort allocates temporary memory...<p>In a sense I'm sure this is true. C++ programmers routinely report being astonished about all sorts of properties of the language they have previously insisted they know well and who could blame them (for the former, at least).<p>Again, this <i>is not symmetrical</i>. LE and BE are symmetrical, if you have to pick one there isn't a "safe default" that isn't surprising to people who expected the other one†. In contrast sort stability isn't like that, all stable sorts also meet the criteria for an unstable sort. Likewise all the in-place sorts meet the criteria for an allocating sort.<p>C++ <i>chooses</i> to offer an unstable sort just named "sort". It doesn't offer a stable <i>in place</i> sort at all, but it does offer a stable allocating sort and names that stable_sort<p>† But what you <i>can</i> do is where it matters you explicitly offer the LE and BE options and silently whichever is native on your target is fast. Users can write whichever they meant and their program <i>works</i> rather than "Oops, by default on this platform it's the opposite byte order, there's a special conversion function to run". Needless to say C++ doesn't do this either.</p>
]]></description><pubDate>Wed, 10 Jun 2026 10:17:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=48474101</link><dc:creator>tialaramex</dc:creator><comments>https://news.ycombinator.com/item?id=48474101</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48474101</guid></item><item><title><![CDATA[New comment by tialaramex in "Let's Encrypt bans certificate usage in any US sanctioned territory [pdf]"]]></title><description><![CDATA[
<p>The Certificate Authorities are specifically forbidden from doing this because it's so obviously a terrible idea. Many of them also require that their resellers (obviously Let's Encrypt basically doesn't have resellers because that's stupid) also do not do this because it's a terrible idea.<p>But yes, you're correct that, especially when "cheap SSL" was a thing, outfits which did this really existed. In fact one of the companies which did this, and then deliberately revealed customer keys, resulting in all the affected certificates being revoked, isn't even <i>bankrupt</i> so apparently their customers are so stupid than they're still paying money for a service that's much worse than useless. Not an optimistic thought about humanity.</p>
]]></description><pubDate>Wed, 10 Jun 2026 01:03:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=48469906</link><dc:creator>tialaramex</dc:creator><comments>https://news.ycombinator.com/item?id=48469906</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48469906</guid></item><item><title><![CDATA[New comment by tialaramex in "The beauty and simplicity of the good old C-style void* in C++"]]></title><description><![CDATA[
<p>Yes, I am seriously making that comparison. It's not <i>as</i> bad of course but it's certainly enough to make me cringe.<p>> Where exactly have you seen this "parade of sycophants" in the C++ standards committee?<p>AIUI The committee itself operates under the "Chatham House Rule" in which participants agree not to tell anybody <i>who</i> said anything and so we can only see group outcomes for the committee itself. For example 100% affirmative votes for Bjarne's "Profiles" proposal. At 100% everybody who had the opportunity to vote "Against" has to admit that er, they didn't, because that's just maths - but you won't now find anybody who was enthusiastic, somehow a room full of people who all now remember being uncertain voted affirmatively anyway. How about that.<p>> Bjarne is just a regular committee member<p>For almost a decade, WG21 has a "Direction Group" with a handful of members which insists that while as you say everybody is just a "regular committee member" their group ought to set the "direction" for the language and thus the committee. The exact membership of the Direction Group varies over time, but of course Bjarne Stroustrup has always been a member of this group. The group (whatever its present membership) writes only unanimously, which means everything it says has been agreed by Bjarne Stroustrup, and it cites as its reference for how to set the direction several books about C++ all written by that same Bjarne Stroustrup.<p>So, sure, Bjarne is "just a regular committee member" in the same way that Britain's Prime Minister is "just a regular Member of Parliament" that is, very much in theory but not at all in practice.</p>
]]></description><pubDate>Wed, 10 Jun 2026 00:53:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=48469849</link><dc:creator>tialaramex</dc:creator><comments>https://news.ycombinator.com/item?id=48469849</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48469849</guid></item><item><title><![CDATA[New comment by tialaramex in "Let's Encrypt bans certificate usage in any US sanctioned territory [pdf]"]]></title><description><![CDATA[
<p><i>If</i> there's a competent admin or it's just entirely autopilot for some huge generic host you'll see a very boring pattern where there's a cert and then as it gets close to expiring a new cert is issued, e.g. 4-5 days before it expires, or on a Tuesday at about 8am, or whatever - and sure enough you'll see the same pattern in the cert presented when you access their web site.<p>In these cases it's really obvious if there's anything weird going on. You're correct that we can't know, as a third party <i>why</i> there's something weird. Maybe the server was being replaced and the new server just installed an ACME client and got itself a new cert last Tuesday even though the previous one doesn't expire for weeks. But if there was nothing we don't even need to ask anybody what's up - nothing is.<p>IMNSHO The statistics don't really work for targeted attacks. The odds you'll get away with it are unknowable and you only have to get unlucky once.</p>
]]></description><pubDate>Tue, 09 Jun 2026 23:48:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=48469375</link><dc:creator>tialaramex</dc:creator><comments>https://news.ycombinator.com/item?id=48469375</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48469375</guid></item></channel></rss>