<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: raphlinus</title><link>https://news.ycombinator.com/user?id=raphlinus</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Mon, 06 Apr 2026 06:54:38 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=raphlinus" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by raphlinus in "Gerd Faltings, who proved the Mordell conjecture, wins the Abel Prize"]]></title><description><![CDATA[
<p>My understanding, which is to be taken with a grain of salt, is that there's an additional constraint, not stated in the Scientific American article, that the plane curve be <i>irreducible.</i> The example of x^4 is reducible, it's x^2 * x^2 among other thing. The actual conjecture is expressed in terms of genus, but this follows from the genus-degree formula.</p>
]]></description><pubDate>Tue, 24 Mar 2026 10:33:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=47500707</link><dc:creator>raphlinus</dc:creator><comments>https://news.ycombinator.com/item?id=47500707</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47500707</guid></item><item><title><![CDATA[New comment by raphlinus in "BIO: The Bao I/O Coprocessor"]]></title><description><![CDATA[
<p>Yes, I can see BIO being really good at USB host. With 4k of SRAM I can see it doing a lot more of the protocol than just NRZI; easily CRC and the 1kHz SOF heartbeat, and I wouldn't be surprised if it could even do higher level things like enumeration.<p>You may be right about not much scope for DVI in volume products. I should be clear I'm just playing with RP2350 because it's fun. But the limitation you describe really has more to do with the architectural decision to use a framebuffer. I'm interested in how much rendering you can get done racing the beam, and have come to the conclusion it's quite a lot. It certainly includes proportional fonts, tiles'n'sprites, and 4bpp image decompression (I've got a blog post in the queue). Retro emulators are a sweet spot for sure (mostly because their VRAM fits neatly in on-chip SRAM), but I can imagine doing a kiosk.<p>Definitely agree that bit-banging USB at 480Mbps makes no sense, a purpose-built PHY is the way to go.</p>
]]></description><pubDate>Tue, 24 Mar 2026 08:09:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=47499816</link><dc:creator>raphlinus</dc:creator><comments>https://news.ycombinator.com/item?id=47499816</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47499816</guid></item><item><title><![CDATA[New comment by raphlinus in "BIO: The Bao I/O Coprocessor"]]></title><description><![CDATA[
<p>Thanks btw for saying clearly that BIO is not suitable for DVI output. I was curious about this and was planning to ask on social media.<p>I've done some fun stuff in PIO, in particular the NRZI bit stuffing for USB (12Mbps max). That's stretching it to its limit. Clearly there will be things for which BIO is much better.<p>I suspect that a variant of BIO could probably do DVI by optimizing for that specific use case (in particular, configuring shifters on the output FIFO), but I'm not sure it's worth the lift.</p>
]]></description><pubDate>Mon, 23 Mar 2026 19:17:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=47493894</link><dc:creator>raphlinus</dc:creator><comments>https://news.ycombinator.com/item?id=47493894</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47493894</guid></item><item><title><![CDATA[New comment by raphlinus in "Plane and ground vehicle collide at New York's LaGuardia airport halting flights"]]></title><description><![CDATA[
<p>Very informative, thanks for the link!<p>ATC audio is <a href="https://archive.liveatc.net/klga/KLGA-Twr-Mar-23-2026-0330Z.mp3" rel="nofollow">https://archive.liveatc.net/klga/KLGA-Twr-Mar-23-2026-0330Z....</a><p>The clearance for AC8646 to land on runway 4 is given in a sequence starting at 4:58. "Vehicle needs to cross the runway" at 6:43.  Truck 1 and company asks for clearance to cross 4 at 6:53. Clearance is granted at 7:00. Then ATC asks both a Frontier and Truck 1 to stop, voice is hurried and it's confusing.</p>
]]></description><pubDate>Mon, 23 Mar 2026 09:30:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=47487098</link><dc:creator>raphlinus</dc:creator><comments>https://news.ycombinator.com/item?id=47487098</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47487098</guid></item><item><title><![CDATA[New comment by raphlinus in "Every layer of review makes you 10x slower"]]></title><description><![CDATA[
<p>Funny enough, the author of this blog post wrote another one on exactly that topic, entitled "What do executives do, anyway?"[1]. If you read it, you'll find it's written from quite an interesting perspective, not quite "fly on the wall," but perhaps as close as you're going to get in a realistic scenario.<p>[1]: <a href="https://apenwarr.ca/log/20190926" rel="nofollow">https://apenwarr.ca/log/20190926</a></p>
]]></description><pubDate>Tue, 17 Mar 2026 09:51:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=47410523</link><dc:creator>raphlinus</dc:creator><comments>https://news.ycombinator.com/item?id=47410523</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47410523</guid></item><item><title><![CDATA[New comment by raphlinus in "Show HN: I built a zero-browser, pure-JS typesetting engine for bit-perfect PDFs"]]></title><description><![CDATA[
<p>Unfortunately, your complex script shaping for Arabic and Devanagari is wrong. The Arabic is missing the joining (all forms are isolated), and the Devanagari doesn't have the vowels combining (so you see those dotted circles).<p>To fix this you'll need Harfbuzz or something similar. Taking a quick look at the code, it seems like you're just doing a glyph at a time through the cmap. That, uh, won't do.</p>
]]></description><pubDate>Mon, 02 Mar 2026 04:47:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=47214003</link><dc:creator>raphlinus</dc:creator><comments>https://news.ycombinator.com/item?id=47214003</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47214003</guid></item><item><title><![CDATA[New comment by raphlinus in "Tell HN: Ralph Giles has died (Xiph.org| Rust@Mozilla | Ghostscript)"]]></title><description><![CDATA[
<p>I worked with him at Ghostscript, then we occasionally crossed paths in Rust. He was indeed very kind. Peace.</p>
]]></description><pubDate>Fri, 13 Feb 2026 11:30:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=47001570</link><dc:creator>raphlinus</dc:creator><comments>https://news.ycombinator.com/item?id=47001570</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47001570</guid></item><item><title><![CDATA[New comment by raphlinus in "Art of Roads in Games"]]></title><description><![CDATA[
<p>I don't agree that the clothoid is a math nightmare. One of the central problems you have to solve for roads is the offset curve. And a clothoid is extremely unusual in that its offset curve has a clean analytic solution. This won't be the case for the cubic parabola (which is really just a special case of the cubic Bézier).<p>Sure, you have to have some facility with math to use clothoids, but I think the only other curve that will actually be <i>simpler</i> is circular arcs.</p>
]]></description><pubDate>Mon, 09 Feb 2026 08:23:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=46942931</link><dc:creator>raphlinus</dc:creator><comments>https://news.ycombinator.com/item?id=46942931</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46942931</guid></item><item><title><![CDATA[New comment by raphlinus in "The Waymo World Model"]]></title><description><![CDATA[
<p>Not true at all. I interacted with Meena[1] while I was there, and the <i>publication</i> was almost three years before the release of ChatGPT. It was an unsettling experience, felt very science fiction.<p>[1]: <a href="https://research.google/blog/towards-a-conversational-agent-that-can-chat-aboutanything/" rel="nofollow">https://research.google/blog/towards-a-conversational-agent-...</a></p>
]]></description><pubDate>Fri, 06 Feb 2026 21:02:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=46918080</link><dc:creator>raphlinus</dc:creator><comments>https://news.ycombinator.com/item?id=46918080</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46918080</guid></item><item><title><![CDATA[New comment by raphlinus in "Dell UltraSharp 52 Thunderbolt Hub Monitor"]]></title><description><![CDATA[
<p>On the official Kuycon site, it says "Since 2023, Kuycon has partnered exclusively with ClickClack.io to bring its innovative line of monitors to customers outside of China[...]". I'm seriously considering getting one of these.</p>
]]></description><pubDate>Fri, 16 Jan 2026 20:44:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=46651964</link><dc:creator>raphlinus</dc:creator><comments>https://news.ycombinator.com/item?id=46651964</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46651964</guid></item><item><title><![CDATA[New comment by raphlinus in "Happy 50th Birthday KIM-1"]]></title><description><![CDATA[
<p>I had one of these as a kid, actually on loan from another microcomputer enthusiast. My dad and I had soldered an SDK-85 kit (which I have) and we swapped that for the KIM-1 with another microcomputer enthusiast. It's the machine where I first started to learn programming, in machine code, entered in hex.<p>There's something really appealing about machines this simple which has been lost in the modern era. But this particular board was very limited, there wasn't a lot you could actually do with it.</p>
]]></description><pubDate>Sun, 11 Jan 2026 19:05:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=46578682</link><dc:creator>raphlinus</dc:creator><comments>https://news.ycombinator.com/item?id=46578682</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46578682</guid></item><item><title><![CDATA[New comment by raphlinus in "Z8086: Rebuilding the 8086 from Original Microcode"]]></title><description><![CDATA[
<p>My reading is that there aren't really a lot of addressing modes on 286, as there are on 68000 and friends, rather every address is generated by summing an optional immediate 8 or 16 bit value and from zero to two registers. There aren't modes where you do one memory fetch, then use that as the base address for a second fetch, which is arguably a vaguely RISC flavored choice. There is a one cycle penalty for summing 3 elements ("based indexed mode").</p>
]]></description><pubDate>Sat, 13 Dec 2025 21:28:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=46258255</link><dc:creator>raphlinus</dc:creator><comments>https://news.ycombinator.com/item?id=46258255</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46258255</guid></item><item><title><![CDATA[New comment by raphlinus in "If you're going to vibe code, why not do it in C?"]]></title><description><![CDATA[
<p>Memory safety in particular, actually UB in general (got to watch out for integer overflows, among other things). But one could prove arbitrary properties, including lack of panics (would have been helpful for a recent Cloudflare outage), etc.<p>In order to prove lack of UB, you have to be able to reason about other things. For example, to safely call qsort, you have to prove that the comparison is a total order. That's not easy, especially if comparing larger and more complicated structures with pointers.<p>And of course, proving the lack of pointer aliasing in C is <i>extremely</i> difficult, even more so if pointer arithmetic is employed.</p>
]]></description><pubDate>Tue, 09 Dec 2025 19:03:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=46209092</link><dc:creator>raphlinus</dc:creator><comments>https://news.ycombinator.com/item?id=46209092</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46209092</guid></item><item><title><![CDATA[New comment by raphlinus in "If you're going to vibe code, why not do it in C?"]]></title><description><![CDATA[
<p>There's a straightforward answer to the "why not" question: because it will result in codebases with the same kind of memory unsafety and vulnerability as existing C code.<p>If an LLM is in fact capable of generating code free of memory safety errors, then it's certainly also capable of writing the Rust types that guarantee this and are checkable. We could go even further and have automated generation of proofs, either in C using tools similar to CompCert, or perhaps something like ATS2. The reason we don't do these at scale is that they're tedious and verbose, and that's presumably something AI can solve.<p>Similar points were also made in Martin Kleppmann's recent blog post [1].<p>[1]: <a href="https://martin.kleppmann.com/2025/12/08/ai-formal-verification.html" rel="nofollow">https://martin.kleppmann.com/2025/12/08/ai-formal-verificati...</a></p>
]]></description><pubDate>Tue, 09 Dec 2025 18:13:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=46208356</link><dc:creator>raphlinus</dc:creator><comments>https://news.ycombinator.com/item?id=46208356</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46208356</guid></item><item><title><![CDATA[Prediction: AI will make formal verification go mainstream]]></title><description><![CDATA[
<p>Article URL: <a href="https://martin.kleppmann.com/2025/12/08/ai-formal-verification.html">https://martin.kleppmann.com/2025/12/08/ai-formal-verification.html</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46198874">https://news.ycombinator.com/item?id=46198874</a></p>
<p>Points: 10</p>
<p># Comments: 2</p>
]]></description><pubDate>Mon, 08 Dec 2025 23:01:06 +0000</pubDate><link>https://martin.kleppmann.com/2025/12/08/ai-formal-verification.html</link><dc:creator>raphlinus</dc:creator><comments>https://news.ycombinator.com/item?id=46198874</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46198874</guid></item><item><title><![CDATA[New comment by raphlinus in "You can't fool the optimizer"]]></title><description><![CDATA[
<p>That's because the 1 instruction variant may read past the end of an array. Let's say s is a single null byte at 0x2000fff, for example (and that memory is only mapped through 0x2001000); the function as written is fine, but the optimized version may page fault.</p>
]]></description><pubDate>Wed, 03 Dec 2025 17:22:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=46137219</link><dc:creator>raphlinus</dc:creator><comments>https://news.ycombinator.com/item?id=46137219</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46137219</guid></item><item><title><![CDATA[New comment by raphlinus in "Dr Matthew Garrett v Dr Roy Schestowitz and Anor"]]></title><description><![CDATA[
<p>Matthew's side of the story is here: <a href="https://mastodon.online/@mjg59@nondeterministic.computer/115581961773157620" rel="nofollow">https://mastodon.online/@mjg59@nondeterministic.computer/115...</a></p>
]]></description><pubDate>Thu, 20 Nov 2025 15:15:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=45993452</link><dc:creator>raphlinus</dc:creator><comments>https://news.ycombinator.com/item?id=45993452</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45993452</guid></item><item><title><![CDATA[New comment by raphlinus in "High-performance 2D graphics rendering on the CPU using sparse strips [pdf]"]]></title><description><![CDATA[
<p>Unfortunately graphics APIs suck pretty hard when it comes to actually sharing memory between CPU and GPU. A copy is definitely required when using WebGPU, and also on discrete cards (which is what these APIs were originally designed for). It's <i>possible</i> that using native APIs directly would let us avoid copies, but we haven't done that.</p>
]]></description><pubDate>Tue, 11 Nov 2025 01:46:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=45883197</link><dc:creator>raphlinus</dc:creator><comments>https://news.ycombinator.com/item?id=45883197</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45883197</guid></item><item><title><![CDATA[New comment by raphlinus in "High-performance 2D graphics rendering on the CPU using sparse strips [pdf]"]]></title><description><![CDATA[
<p>It's analogous, but vertex shaders are just triangles, and in 2D graphics you have a lot of other stuff going on.<p>The actual process of fine rasterization happens in quads, so there's a simple vertex shader that runs on GPU, sampling from the geometry buffers that are produced on CPU and uploaded.</p>
]]></description><pubDate>Tue, 11 Nov 2025 01:04:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=45882926</link><dc:creator>raphlinus</dc:creator><comments>https://news.ycombinator.com/item?id=45882926</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45882926</guid></item><item><title><![CDATA[New comment by raphlinus in "High-performance 2D graphics rendering on the CPU using sparse strips [pdf]"]]></title><description><![CDATA[
<p>Thanks for the pointer, we were not actually aware of this, and the claimed benchmark numbers look really impressive.</p>
]]></description><pubDate>Tue, 11 Nov 2025 00:34:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=45882752</link><dc:creator>raphlinus</dc:creator><comments>https://news.ycombinator.com/item?id=45882752</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45882752</guid></item></channel></rss>