<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: andrewf</title><link>https://news.ycombinator.com/user?id=andrewf</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 10 Sep 2026 05:35:25 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=andrewf" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by andrewf in "Claude × retrocomputing: emulating a QIC-117 tape drive"]]></title><description><![CDATA[
<p>I've a retrocomputing project which has been gathering dust since before I used an LLM. The idea is to render an isometric view with Quake-style lightmaps; if scrolling is slow enough I only need to render a small slice of the screen each time. I got as far as a proof of concept on a simulated 286 which indicates the pixels-per-second I can achieve is fast enough. Testing on a real 286 would be the next step.<p>All the assembly code, and the C harness which loads the textures etc, was hand done by me, and period correct. That's where the fun is!<p>Outside of that, there are so many anachronisms. I actually built the test geometry as a quake map, and processed it using Quake's BSP/lightmap tools. That's 1996 vintage.. except I'm using a newer Quake editor (Trenchbroom, 2013) and modern forks of the tools. All natively on a modern system with a 4K monitor. Building and non-performance testing of the DOS code happens in a Windows XP (2001) VirtualBox (2007) using its' Shared Folder feature.<p>I might have time to pick this up again soon. My post-processing of the Quake .bsp presently only handles axis-aligned 64x64 surfaces with some hardcoded texturing assumptions. I'll want a full .bsp-to-isometric-data "renderer" - either written from scratch or somehow derived from Quake's source. But this is all just to enable the 286 assembly code noodling, which is what I want to spend time on!<p>So I'll probably use Claude to assist with the tooling side. By "assist" I mean "do as much as possible to produce the file format I specify". It doesn't seem much worse to me than all the other modernisms I'm already relying on outside of the core task.</p>
]]></description><pubDate>Tue, 01 Sep 2026 07:51:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=49519228</link><dc:creator>andrewf</dc:creator><comments>https://news.ycombinator.com/item?id=49519228</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49519228</guid></item><item><title><![CDATA[New comment by andrewf in "The Snow/Leavis ‘two cultures’ clash"]]></title><description><![CDATA[
<p>I knew very little of this. I know about the Inns of Court, but I didn't know this was such an Inn; I know what a chancery court is (Delaware has them!) but similarly not that it applied in this case. I've no idea what Michaelmas is, but like Christmas, I assume it's an event and/or season which occurs periodically.<p>I could still read the text! And it's useful to read texts and understand 95%, or 80%, or even 50%! IMO "fully understand what you're reading" versus "can't understand what you're reading" is a harmfully discouraging dichotomy. You can often gloss over such things rather than struggle with them.</p>
]]></description><pubDate>Tue, 01 Sep 2026 01:28:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=49516862</link><dc:creator>andrewf</dc:creator><comments>https://news.ycombinator.com/item?id=49516862</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49516862</guid></item><item><title><![CDATA[New comment by andrewf in "Who's afraid of Chinese models?"]]></title><description><![CDATA[
<p>It strikes me as like setting up an IDE. People have preferences, switching is possible, but there are advantages to saying "we are a Visual Studio + Resharper shop" or "everyone uses IntelliJ to work on this project".</p>
]]></description><pubDate>Tue, 21 Jul 2026 00:22:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=48986670</link><dc:creator>andrewf</dc:creator><comments>https://news.ycombinator.com/item?id=48986670</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48986670</guid></item><item><title><![CDATA[New comment by andrewf in "CERN bids farewell to the LHC and enters Long Shutdown 3"]]></title><description><![CDATA[
<p>It's a brand gTLD, like .microsoft and .google. <a href="https://en.wikipedia.org/wiki/Generic_top-level_domain#Brand_gTLD" rel="nofollow">https://en.wikipedia.org/wiki/Generic_top-level_domain#Brand...</a></p>
]]></description><pubDate>Tue, 30 Jun 2026 23:12:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=48740446</link><dc:creator>andrewf</dc:creator><comments>https://news.ycombinator.com/item?id=48740446</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48740446</guid></item><item><title><![CDATA[New comment by andrewf in "80386 Early Start Memory Access"]]></title><description><![CDATA[
<p><a href="https://nand2mario.github.io/posts/2026/z386/#testing" rel="nofollow">https://nand2mario.github.io/posts/2026/z386/#testing</a> gets into this sort of thing a bit more.</p>
]]></description><pubDate>Tue, 23 Jun 2026 18:41:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=48649447</link><dc:creator>andrewf</dc:creator><comments>https://news.ycombinator.com/item?id=48649447</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48649447</guid></item><item><title><![CDATA[New comment by andrewf in "Running DOS on Behringers DDX3216 with a DIY x86-Bios from Scratch"]]></title><description><![CDATA[
<p>The Quark core lives on as a control processor inside Intel CPUs - <a href="https://pbx.sh/intelme_talk.pdf" rel="nofollow">https://pbx.sh/intelme_talk.pdf</a></p>
]]></description><pubDate>Mon, 15 Jun 2026 05:59:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=48537151</link><dc:creator>andrewf</dc:creator><comments>https://news.ycombinator.com/item?id=48537151</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48537151</guid></item><item><title><![CDATA[New comment by andrewf in "Serving Netflix Video Traffic at 400Gb/S and Beyond (2022) [pdf]"]]></title><description><![CDATA[
<p>Browser behavior like mixed content warnings (and a clear slide towards discouraging all non-HTTPS traffic) was the impetus for us at Twitch to TLS all our video in the mid-2010s. Mixed content delivery on a website would, I think, also fall below the bar for doing certain kinds of commerce, and ejecting people from your webapp to a separate payment flow discourages spending.</p>
]]></description><pubDate>Thu, 21 May 2026 20:17:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=48228346</link><dc:creator>andrewf</dc:creator><comments>https://news.ycombinator.com/item?id=48228346</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48228346</guid></item><item><title><![CDATA[New comment by andrewf in "Serving Netflix Video Traffic at 400Gb/S and Beyond (2022) [pdf]"]]></title><description><![CDATA[
<p>The author's answer as of 2021: <a href="https://news.ycombinator.com/item?id=28586767">https://news.ycombinator.com/item?id=28586767</a><p>EDIT: I recall reading that the Netflix client can continuously select between multiple content caches. I'm guessing they do this because it's a quality-of-service and capacity win over making a "best guess" at the start of a session, and sticking with it. It should also enable transparent recovery from a broken or slow cache node. If you test in a busy place with multiple caches, the loss of one needn't be a big deal.</p>
]]></description><pubDate>Thu, 21 May 2026 20:07:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=48228261</link><dc:creator>andrewf</dc:creator><comments>https://news.ycombinator.com/item?id=48228261</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48228261</guid></item><item><title><![CDATA[New comment by andrewf in "dBase: 1979-2026"]]></title><description><![CDATA[
<p>I wonder if anyone ever tried to make the Clipper 5 pre-processor spit out Delphi..</p>
]]></description><pubDate>Mon, 11 May 2026 23:26:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=48102129</link><dc:creator>andrewf</dc:creator><comments>https://news.ycombinator.com/item?id=48102129</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48102129</guid></item><item><title><![CDATA[New comment by andrewf in "dBase: 1979-2026"]]></title><description><![CDATA[
<p>> <i>Bizarrely, to protect dBase, there was no compatible Turbo C++ objects integration in dBase (you could import OBJ files from Microsoft C++). There was no way to natively use dBase from Turbo C++ or TurboPascal.</i><p>I'm guessing dBase was itself built using Microsoft's compilers, so pulling in other code from the same compiler was plausible. Not a product choice re: the Turbo compilers, just a disjoint path dependency between two acquired product lines (Ashton-Tate's dBase, and Wizard C).<p>This is the reason that Clipper, a third-party dBase compiler, could only link against .OBJs from particular versions of Microsoft C. Clipper compiles to p-code whose interpreter is implemented in Microsoft C; "linking" a Clipper program is actually linking a Microsoft C program with a static array comprising the Clipper compiler's output. So you can mix in a .OBJ expecting that version of the Microsoft C runtime library. Not a .OBJ expecting the Turbo C++ runtime library.</p>
]]></description><pubDate>Mon, 11 May 2026 21:27:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=48100902</link><dc:creator>andrewf</dc:creator><comments>https://news.ycombinator.com/item?id=48100902</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48100902</guid></item><item><title><![CDATA[New comment by andrewf in "What we lost the last time code got cheap"]]></title><description><![CDATA[
<p>I find the constant use of punchy style tiring.<p>Sometimes a "punch in the face" is useful. Makes you re-evaluate things. Being punched in the face all day, every day, is just tiring.</p>
]]></description><pubDate>Fri, 08 May 2026 21:04:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=48068750</link><dc:creator>andrewf</dc:creator><comments>https://news.ycombinator.com/item?id=48068750</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48068750</guid></item><item><title><![CDATA[New comment by andrewf in "IBM didn't want Microsoft to use the Tab key to move between dialog fields"]]></title><description><![CDATA[
<p>OS/2 1.0 and the first edition of the CUA were both released in December 1987 according to Wikipedia; Raymond's story isn't dated but could've happened before this. (If I had to make a wild guess, I could imagine this request was a side effect of some internal IBM battle about what the CUA should dictate).</p>
]]></description><pubDate>Tue, 05 May 2026 19:42:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=48027494</link><dc:creator>andrewf</dc:creator><comments>https://news.ycombinator.com/item?id=48027494</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48027494</guid></item><item><title><![CDATA[New comment by andrewf in "Linux 7.0 Broke PostgreSQL: The Preemption Regression Explained"]]></title><description><![CDATA[
<p>I don't think hardware page size has to match database page size. It would if Postgres was mmap'ing it. <a href="https://www.postgresql.org/docs/current/runtime-config-preset.html" rel="nofollow">https://www.postgresql.org/docs/current/runtime-config-prese...</a> says the database page size is 8KB by default.</p>
]]></description><pubDate>Wed, 29 Apr 2026 22:41:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=47955673</link><dc:creator>andrewf</dc:creator><comments>https://news.ycombinator.com/item?id=47955673</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47955673</guid></item><item><title><![CDATA[New comment by andrewf in "Diatec, known for its mechanical keyboard brand FILCO, has ceased operations"]]></title><description><![CDATA[
<p>Some keyboard enthusiasts obtain lighter keypresses by adding weight to the underside of the keys.</p>
]]></description><pubDate>Sat, 25 Apr 2026 20:31:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=47904328</link><dc:creator>andrewf</dc:creator><comments>https://news.ycombinator.com/item?id=47904328</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47904328</guid></item><item><title><![CDATA[New comment by andrewf in "Advancing human gut microbiota research by considering gut transit time"]]></title><description><![CDATA[
<p>Then you'll love <a href="https://onlinelibrary.wiley.com/doi/full/10.1111/jpc.14309" rel="nofollow">https://onlinelibrary.wiley.com/doi/full/10.1111/jpc.14309</a><p>"Six paediatric health-care professionals were recruited to swallow a Lego head."</p>
]]></description><pubDate>Mon, 20 Apr 2026 10:47:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=47832509</link><dc:creator>andrewf</dc:creator><comments>https://news.ycombinator.com/item?id=47832509</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47832509</guid></item><item><title><![CDATA[New comment by andrewf in "Mozilla Thunderbolt"]]></title><description><![CDATA[
<p>1. Potential donors get upset that they can't make directed donations to specifically support Firefox or Thunderbird rather than the whole kit-and-kaboodle<p>2. Separate entity spun up to focus on Thunderbird only. Now you can support Thunderbird development directly.<p>3. New separate entity is now in the business of extensible AI clients?<p>EDIT: I went back and read the launch announcement [1]. I'll concede it does say "will also allow us to explore offering our users products and services that were not possible under the Mozilla Foundation" which could mean anything, really. And this development was funded by a Mozilla grant, importantly not by Thunderbird donors. I'm still struggling to not see this as a distraction from the core mission. I wish they'd spun up a new entity instead.<p>[1] <a href="https://blog.thunderbird.net/2020/01/thunderbirds-new-home/" rel="nofollow">https://blog.thunderbird.net/2020/01/thunderbirds-new-home/</a></p>
]]></description><pubDate>Thu, 16 Apr 2026 22:24:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=47800314</link><dc:creator>andrewf</dc:creator><comments>https://news.ycombinator.com/item?id=47800314</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47800314</guid></item><item><title><![CDATA[New comment by andrewf in "IBM Announces Strategic Collaboration with Arm"]]></title><description><![CDATA[
<p>AIX is still ppc64be. That and s390x are the only big-endian CPUs I can think of which aren't end-of-life, which I think is going to be an increasing maintenance burden over time for IBM alone.</p>
]]></description><pubDate>Thu, 02 Apr 2026 20:38:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=47619857</link><dc:creator>andrewf</dc:creator><comments>https://news.ycombinator.com/item?id=47619857</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47619857</guid></item><item><title><![CDATA[New comment by andrewf in "Microsoft blocks trick to unlock native NVMe driver, but workarounds still exist"]]></title><description><![CDATA[
<p>They may not be confident in its reliability over the fall gamut of cheap consumer drives.</p>
]]></description><pubDate>Tue, 24 Mar 2026 21:22:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=47509533</link><dc:creator>andrewf</dc:creator><comments>https://news.ycombinator.com/item?id=47509533</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47509533</guid></item><item><title><![CDATA[New comment by andrewf in "How do you capture WHY engineering decisions were made, not just what?"]]></title><description><![CDATA[
<p>Did he write down everything he learned? That way the next person only needs to cover the intervening time period.<p>Conceivably LLMs might be good at answering questions from an unorganized mass of timestamped documents/tickets/chat logs. All the stuff that exists anyway without any extra continuous effort required to curate it - I think that's key.</p>
]]></description><pubDate>Fri, 13 Mar 2026 21:28:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=47370191</link><dc:creator>andrewf</dc:creator><comments>https://news.ycombinator.com/item?id=47370191</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47370191</guid></item><item><title><![CDATA[New comment by andrewf in "Practical Guide to Bare Metal C++"]]></title><description><![CDATA[
<p><a href="https://github.com/arobenko/embxx_on_rpi/blob/master/src/asm/startup.s" rel="nofollow">https://github.com/arobenko/embxx_on_rpi/blob/master/src/asm...</a><p>Their stuff isn't running on top of Linux on the Pi.</p>
]]></description><pubDate>Wed, 11 Mar 2026 09:49:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=47333563</link><dc:creator>andrewf</dc:creator><comments>https://news.ycombinator.com/item?id=47333563</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47333563</guid></item></channel></rss>