<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: pkasting</title><link>https://news.ycombinator.com/user?id=pkasting</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Tue, 11 Aug 2026 22:34:50 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=pkasting" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by pkasting in "There Will Come Soft Rains (1950) [pdf]"]]></title><description><![CDATA[
<p>Ray Bradbury is the best horror writer to have worked in a sci-fi milieu.<p>This story is one of only a couple sci-fi short stories to creep me out enough that I still remember them vividly decades later. (John Varley's "PRESS ENTER ■" is another.)</p>
]]></description><pubDate>Tue, 04 Aug 2026 16:45:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=49171418</link><dc:creator>pkasting</dc:creator><comments>https://news.ycombinator.com/item?id=49171418</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49171418</guid></item><item><title><![CDATA[New comment by pkasting in "How old is Ann?"]]></title><description><![CDATA[
<p>The closing problem is more fun.<p>> A man is twice the age his wife was when he was the age she is now. When she reaches his present age, their combined years will be 100. Find the age of each.<p>This seemed initially like something amenable to guessing and checking a few ratios. <narrator voice>It was not.</narrator voice><p>My answer: The man is 44 4/9 years old, the wife 33 1/3 years.</p>
]]></description><pubDate>Thu, 30 Jul 2026 19:53:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=49114903</link><dc:creator>pkasting</dc:creator><comments>https://news.ycombinator.com/item?id=49114903</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49114903</guid></item><item><title><![CDATA[New comment by pkasting in "The Voice of Google"]]></title><description><![CDATA[
<p>I was there 06-25, and this matches my recollection. Honestly, it's a very restrained document.</p>
]]></description><pubDate>Mon, 20 Jul 2026 17:05:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=48981588</link><dc:creator>pkasting</dc:creator><comments>https://news.ycombinator.com/item?id=48981588</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48981588</guid></item><item><title><![CDATA[New comment by pkasting in "Lore – Open source version control system designed for scalability"]]></title><description><![CDATA[
<p>The idea sounds good, even if Epic's recent track record of tools is not inspiring. But the commit messages etc. are very clearly products of vibe-coding. And version control is not the situation where "works 97% of the time" is a good-enough bar.<p>Passing for now.</p>
]]></description><pubDate>Wed, 17 Jun 2026 16:34:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=48572878</link><dc:creator>pkasting</dc:creator><comments>https://news.ycombinator.com/item?id=48572878</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48572878</guid></item><item><title><![CDATA[New comment by pkasting in "Forking the Web"]]></title><description><![CDATA[
<p>XHTML was never all the rage. Your premise is false.<p>Hard errors up front are great when you control the full content pipeline. It's very rare that that's the case, and was rare even in 2004. As soon as including someone else's broken content in your page prevents users from seeing your content, and that someone else can break the content at any time and you can't control it... few people will want hard errors.</p>
]]></description><pubDate>Sun, 10 May 2026 00:12:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=48079643</link><dc:creator>pkasting</dc:creator><comments>https://news.ycombinator.com/item?id=48079643</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48079643</guid></item><item><title><![CDATA[New comment by pkasting in "Forking the Web"]]></title><description><![CDATA[
<p>On the contrary, image decoders all run complex processes that try and guess what to do in erroneous cases. I used to maintain Chrome's image decoders, and every single image format has "what the spec says" and then "what people actually do in practice"; you must handle the latter, and it is often very difficult to figure out how to do so. For BMPs, for example, determining whether the author intended 24-bit RGB or 32-bit RGBA sometimes requires decoding the full image and scanning to see whether any pixels' alpha bytes differ from the others, since "all 00" and "all FF" might both be "no alpha".<p>I also used to work on a production C compiler. Compilers can and do "guess what you meant" in various cases, notably for producing actual human-readable errors or proceeding past various warnings, but if I recall correctly even in more obscure non-error cases.<p>Hyrum's Law is a real jerk sometimes.</p>
]]></description><pubDate>Sun, 10 May 2026 00:10:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=48079625</link><dc:creator>pkasting</dc:creator><comments>https://news.ycombinator.com/item?id=48079625</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48079625</guid></item><item><title><![CDATA[New comment by pkasting in "Laws of Software Engineering"]]></title><description><![CDATA[
<p>(Tangent: What a pleasure to see your username again; will always think of your readability help fondly!)</p>
]]></description><pubDate>Tue, 21 Apr 2026 19:50:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=47853656</link><dc:creator>pkasting</dc:creator><comments>https://news.ycombinator.com/item?id=47853656</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47853656</guid></item><item><title><![CDATA[New comment by pkasting in "Laws of Software Engineering"]]></title><description><![CDATA[
<p>This list is missing my personal law, Kasting's Law:<p>Asking "who wrote this stupid code?" will retroactively travel back in time and cause it to have been you.</p>
]]></description><pubDate>Tue, 21 Apr 2026 15:56:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=47850581</link><dc:creator>pkasting</dc:creator><comments>https://news.ycombinator.com/item?id=47850581</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47850581</guid></item><item><title><![CDATA[New comment by pkasting in "Gonon: Building a Clock with No Numerals"]]></title><description><![CDATA[
<p>Crowing over omitting Arabic numerals in the name of avoiding any kind of cultural influence or bias seems silly when everything is still going to be expressed in decimal.</p>
]]></description><pubDate>Mon, 30 Mar 2026 04:43:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=47570456</link><dc:creator>pkasting</dc:creator><comments>https://news.ycombinator.com/item?id=47570456</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47570456</guid></item><item><title><![CDATA[New comment by pkasting in "Banned C++ features in Chromium"]]></title><description><![CDATA[
<p>C++ module implementation is a story with a lot of drama, if you ever want to read up on it.<p>The short summary, though, is that no toolchain yet has a bulletproof implementation, though everybody at least has enough to let people kick the tires a bit.</p>
]]></description><pubDate>Sat, 24 Jan 2026 19:38:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=46746862</link><dc:creator>pkasting</dc:creator><comments>https://news.ycombinator.com/item?id=46746862</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46746862</guid></item><item><title><![CDATA[New comment by pkasting in "Banned C++ features in Chromium"]]></title><description><![CDATA[
<p>Yeah, maintainers would certainly +1 a CL that added a note about the parts of //base to use instead. Trivial oversight.</p>
]]></description><pubDate>Sat, 24 Jan 2026 19:37:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=46746838</link><dc:creator>pkasting</dc:creator><comments>https://news.ycombinator.com/item?id=46746838</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46746838</guid></item><item><title><![CDATA[New comment by pkasting in "Banned C++ features in Chromium"]]></title><description><![CDATA[
<p>FWIW, I still think the Google Style Guide banning UDLs entirely is too harsh. I think they should be used sparingly, but there are cases where they make sense.<p>In Chromium's UI code, we have a lot of APIs that deal with coordinates, which may be in either px or dp. And we have a lot of code that needs to hardcode various constants, e.g. layout values for different dialogs. IMO, it's sane to have UDL support here, e.g. `20_px` (at least if we had separate types to represent these two things, which we don't... don't get me started).</p>
]]></description><pubDate>Sat, 24 Jan 2026 19:22:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=46746662</link><dc:creator>pkasting</dc:creator><comments>https://news.ycombinator.com/item?id=46746662</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46746662</guid></item><item><title><![CDATA[New comment by pkasting in "Banned C++ features in Chromium"]]></title><description><![CDATA[
<p>A cursory Chromium code search does not find anything outside third_party/ forcing either signed or unsigned char.<p>I suspect if I dug into the archives, I'd find a discussion on cxx@ with some comments about how doing this would result in some esoteric risk. If I was still on the Chrome team I'd go looking and see if it made sense to reraise the issue now; I know we had at least one stable branch security bug this caused.</p>
]]></description><pubDate>Sat, 24 Jan 2026 19:18:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=46746626</link><dc:creator>pkasting</dc:creator><comments>https://news.ycombinator.com/item?id=46746626</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46746626</guid></item><item><title><![CDATA[New comment by pkasting in "Banned C++ features in Chromium"]]></title><description><![CDATA[
<p>Dunno! My last project there was to add support for one of the TI DSPs, but as I said, that's decades past now.<p>Anyway, I think there are two takeaways:<p>1. There probably do exist non-8-bit-byte architectures targeted by compilers that provide support for at-least-somewhat-recent C++ versions<p>2. Such cases are certainly rare<p>Where that leaves things, in terms of what the C++ standard should specify, I don't know. IIRC JF Bastien or one of the other Apple folks that's driven things like "twos complement is the only integer representation C++ supports" tried to push for "bytes are 8 bits" and got shot down?</p>
]]></description><pubDate>Sat, 24 Jan 2026 19:15:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=46746590</link><dc:creator>pkasting</dc:creator><comments>https://news.ycombinator.com/item?id=46746590</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46746590</guid></item><item><title><![CDATA[New comment by pkasting in "Banned C++ features in Chromium"]]></title><description><![CDATA[
<p>Yes, reading the actual data would still be UB. Hopefully will be fixed in C++29: <a href="https://github.com/cplusplus/papers/issues/592" rel="nofollow">https://github.com/cplusplus/papers/issues/592</a></p>
]]></description><pubDate>Sat, 24 Jan 2026 19:11:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=46746550</link><dc:creator>pkasting</dc:creator><comments>https://news.ycombinator.com/item?id=46746550</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46746550</guid></item><item><title><![CDATA[New comment by pkasting in "Banned C++ features in Chromium"]]></title><description><![CDATA[
<p>At least in Chromium that wouldn't help us, because we disable strict aliasing (and have to, as there are at least a few core places where we violate it and porting to an alternative looks challenging; some of our core string-handling APIs that presume that wchar_t* and char16_t* are actually interconvertible on Windows, for example, would have to begin memcpying, which rules out certain API shapes and adds a perf cost to the rest).</p>
]]></description><pubDate>Sat, 24 Jan 2026 19:07:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=46746513</link><dc:creator>pkasting</dc:creator><comments>https://news.ycombinator.com/item?id=46746513</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46746513</guid></item><item><title><![CDATA[New comment by pkasting in "Banned C++ features in Chromium"]]></title><description><![CDATA[
<p>When I led C++ style/modernization for Chromium, I made this argument frequently: we should prefer the stdlib version of something unless we have reason not to, because incoming engineers will know it, you can find advice on the internet about it, clang-tidy passes will be written for it, and it will receive optimizations and maintenance your team doesn't have to pay for.<p>There are cases, however, when the migration costs are significant enough that even those benefits aren't really enough. Migrating our date/time stuff to <chrono> seemed like one of those.</p>
]]></description><pubDate>Sat, 24 Jan 2026 19:03:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=46746473</link><dc:creator>pkasting</dc:creator><comments>https://news.ycombinator.com/item?id=46746473</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46746473</guid></item><item><title><![CDATA[New comment by pkasting in "Banned C++ features in Chromium"]]></title><description><![CDATA[
<p>It's weird to me, as the former lead maintainer of this page for ten years or so, that this got submitted to both r/c++ and HN on the same day. Like... what's so exciting about it? Was there something on the page that caught someone's eye?</p>
]]></description><pubDate>Sat, 24 Jan 2026 15:55:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=46744623</link><dc:creator>pkasting</dc:creator><comments>https://news.ycombinator.com/item?id=46744623</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46744623</guid></item><item><title><![CDATA[New comment by pkasting in "Banned C++ features in Chromium"]]></title><description><![CDATA[
<p>The majority of things Chromium bans would still get banned in green-field use.<p>Some notable exceptions: we'd have allowed std::shared_ptr<T> and <chrono>. We might also have allowed <thread> and friends.</p>
]]></description><pubDate>Sat, 24 Jan 2026 15:53:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=46744598</link><dc:creator>pkasting</dc:creator><comments>https://news.ycombinator.com/item?id=46744598</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46744598</guid></item><item><title><![CDATA[New comment by pkasting in "Banned C++ features in Chromium"]]></title><description><![CDATA[
<p>This bit us in Chromium. We at least discussed forcing the compiler to use unsigned char on all platforms; I don't recall if that actually happened.</p>
]]></description><pubDate>Sat, 24 Jan 2026 15:49:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=46744565</link><dc:creator>pkasting</dc:creator><comments>https://news.ycombinator.com/item?id=46744565</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46744565</guid></item></channel></rss>