<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: jchw</title><link>https://news.ycombinator.com/user?id=jchw</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 11 Jun 2026 02:59:46 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=jchw" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by jchw in "Cybersecurity researchers aren't happy about the guardrails on Anthropic's Fable"]]></title><description><![CDATA[
<p>You know, I'm not saying I don't understand what they are doing from a business perspective, but I'm just saying: DeepSeek V4 doesn't silently sabotage you because it thinks you are trying to violate a ToS. Anthropic's clawing back a bit of a moat perhaps, with Fable being an actual improvement of sorts, but now with torching user trust they are <i>really</i> banking on open weight models not catching up to where they are now. I wonder if they have a good reason to believe that they won't, or are hoping for something entirely different to save them.<p>(P.S. Yes of course I know about model censorship, a different problem, but all of the models are censored to some degree. It happens to be less of a problem for open weight models anyhow, but I figured I'd just preempt this since it's inevitable.)<p>I actually kinda like DSv4 over Opus 4.7 for some tasks, although I have not figured out what the deciding factor is. (Opus 4.8 so far has not worked very well for me at all, no idea why.)</p>
]]></description><pubDate>Thu, 11 Jun 2026 02:26:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=48485548</link><dc:creator>jchw</dc:creator><comments>https://news.ycombinator.com/item?id=48485548</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48485548</guid></item><item><title><![CDATA[New comment by jchw in "Port React Compiler to Rust"]]></title><description><![CDATA[
<p>Sure but it certainly seems that way. There were already thousands and this PR adds a fair bit more too.<p>It is possible to have thousands of tests and a lot of blind spots, but it's easier to get a grip on that using instrumentation like code coverage and indeed by using LLMs to prod at edge cases.<p>I am OK with trusting that it is likely the React team understands how to rigorously test based on how well-tested React itself is.</p>
]]></description><pubDate>Wed, 10 Jun 2026 14:28:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=48476843</link><dc:creator>jchw</dc:creator><comments>https://news.ycombinator.com/item?id=48476843</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48476843</guid></item><item><title><![CDATA[New comment by jchw in "Port React Compiler to Rust"]]></title><description><![CDATA[
<p>If this works and passes all of the tests, then it seems like a done deal to me. LLMs are just too good at doing ports where they have a rigorous automated test suite or oracle to compare against. They're oddly <i>bad</i> at following instructions like "port this mechanically, exactly" - worse than a human for sure - but they seem to do a great job of sitting there and comparing results to find bugs for hours and hours. It's hard for me to imagine a world where they aren't used to assist ports, not just writing them but especially refining them.<p>I suspect this <i>won't</i> have as big of a shit storm as the Bun port in part just due to the input/output nature of the React compiler.<p>That said, while I use React still, I still have never tried the React compiler... So I have no idea how important this is. But you know, very few people are ever upset over faster iteration cycles or CI builds.</p>
]]></description><pubDate>Wed, 10 Jun 2026 12:25:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=48475265</link><dc:creator>jchw</dc:creator><comments>https://news.ycombinator.com/item?id=48475265</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48475265</guid></item><item><title><![CDATA[New comment by jchw in "Porting the ThinkPad X61 to Coreboot"]]></title><description><![CDATA[
<p>100% believe this one. The good thing about Wacom devices is that they're actually quite simple to deal with. All of the Wacom devices use a simple packet-based format that, while it varies per model, is quite well documented, what with being in the Linux kernel and several user mode tablet drivers (including OpenTabletDriver and TabletMagic.) You really don't need reverse engineering for Wacom, from old serial Graphires to the latest Intuous'. The knowledge, or at least certainly knowledge of where to look, should be baked into any frontier model.<p>When I was in college I had an ARM Chromebook which didn't have the Wacom driver, so I wound up trying to use the then-new Chrome USB APIs to make myself a tablet driver in a Chrome extension. This was long before LLM coding was a thing, but thanks to the Linux wacom.ko it wasn't really an obstacle.<p>The biggest problem I had was that while I was decoding digitizer inputs just fine I had nowhere to put them. I tried making a simple painting app in JS and it worked but without having native cursor movement it was just too jank and I gave up.<p>I eventually uploaded the code for posterity sake. I doubt it works at all anymore, even with the specific tablet it was hard-coded for. But it's still online, anyhow.<p><a href="https://github.com/jchv/crwacom" rel="nofollow">https://github.com/jchv/crwacom</a></p>
]]></description><pubDate>Tue, 09 Jun 2026 12:28:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=48460225</link><dc:creator>jchw</dc:creator><comments>https://news.ycombinator.com/item?id=48460225</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48460225</guid></item><item><title><![CDATA[New comment by jchw in "Porting the ThinkPad X61 to Coreboot"]]></title><description><![CDATA[
<p>I may have tried this exact thing a few years ago without LLMs, though I can no longer remember if it was a ThinkPad X61 or not. I just know it was an Intel ICH that wasn't supported by Coreboot and wasn't documented at all. I tried for quite a while and getting it to output anything to the serial port was very exciting for me, but at that point I definitely hit a wall: the RAM initialization and other platform init was a complete mystery and the only way I was going to learn about it was by reverse engineering the BIOS, since it wasn't documented. Ultimately I just never found the time to get to it, so it never happened, which still to this day feels like a shame.<p>What a mixed blessing it is now that theoretically, especially as LLMs increase in competence, an idiot like me might actually be able to port Coreboot to an unsupported platform with some LLM-assisted reverse engineering. I mean, it's probably still a long shot without as much arcane knowledge as you gain from working in stuff like this professionally, but at this point it's probably the best shot I have since I probably won't find myself in such a scenario.<p>I guess I should try to find time to revisit a reverse engineering project that I haven't had time to dig deep into... It does feel like a shame that this way I'll never really improve my skills related to reversing, though.</p>
]]></description><pubDate>Tue, 09 Jun 2026 12:21:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=48460159</link><dc:creator>jchw</dc:creator><comments>https://news.ycombinator.com/item?id=48460159</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48460159</guid></item><item><title><![CDATA[New comment by jchw in "Fooling Go's X.509 Certificate Verification"]]></title><description><![CDATA[
<p>That's a different point, this particular thread is actually about a behavior that Chrome/OpenSSL/etc. have that is actually somewhat <i>undesirable</i> due to being complex and error prone.<p>Simply following Chrome/OpenSSL/etc. yields the best compatibility, but the Go behavior is much simpler in this very security critical path, and I'm not sure if it really occurs on the web. It seems most people are reporting it for other uses of X.509 like TPM. You can certainly see the argument in favor of Go's <i>vastly</i> simpler approach.<p>Go has a lot of trade-offs like this. If you can't decode from or encode into UTF-8 a given filename, Go's high level I/O APIs can't deal with it - depending on your exact point of view, the kinds of software you write and certainly some level of taste, you may see this as horrible, or you may see it as a totally reasonable trade-off. Some programs can go ahead and say "Sorry, we only support UTF-8 filenames" and some really can't.<p>But when being rational and reasoned it's really challenging to make the argument that Go's choices are bad due to inexperience from the language designers or standard library authors or general poor attention to detail. Calling the developers "Go kids" is already amusing considering it is very famously a project originally created by Rob Pike, Ken Thompson and Robert Griesemer - not foolish young developers who are likely to repeat mistakes of the past by way of ignorance. Of course, that doesn't mean say, the TLS stack, deserves to carry some special weight just because the language was designed by computer science stalwarts, but I've dug into the Go TLS stack a fair bit in my leisure and to me personally it definitely does not feel like the work of people who are ignorant or foolish.<p>I may be over-indexing on two recent comments here, but it does sort of feel like there's an undercurrent of this, and it bums me out because I particularly like Go for the exact opposite reason, I really think a lot of the tradeoffs, love them or hate them, are very well thought out.<p>edit: For posterity sake, it is worth noting that it was wrong for me to say "Chrome/OpenSSL/etc." as Chrome actually has a similar behavior to Go here.</p>
]]></description><pubDate>Mon, 08 Jun 2026 23:50:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=48454115</link><dc:creator>jchw</dc:creator><comments>https://news.ycombinator.com/item?id=48454115</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48454115</guid></item><item><title><![CDATA[New comment by jchw in "Fooling Go's X.509 Certificate Verification"]]></title><description><![CDATA[
<p>Between this and the IPv6 zone identifier issue, it feels like there's a bit of a trend of commenters more or less assuming Go is doing the wrong thing when it's actually following the standards/best practices <i>more</i> correctly than average. I wonder where this reputation came from.</p>
]]></description><pubDate>Mon, 08 Jun 2026 21:22:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=48452321</link><dc:creator>jchw</dc:creator><comments>https://news.ycombinator.com/item?id=48452321</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48452321</guid></item><item><title><![CDATA[New comment by jchw in "Learn PHP in 2026 (Yes, Really)"]]></title><description><![CDATA[
<p>Aside from the LLM smell, the most egregious thing about this article to me is simply implying that it's going to be much of a surprise to people that PHP has improved since the "fractal of bad design" days. The most popular Hacker News post that matches "php" in HN Algolia is this post from 2019:<p><a href="https://stitcher.io/blog/php-in-2019" rel="nofollow">https://stitcher.io/blog/php-in-2019</a><p><a href="https://news.ycombinator.com/item?id=19917655">https://news.ycombinator.com/item?id=19917655</a><p>And while sentiment is understandably mixed even then, I actually think a lot of people <i>have</i> already come around on PHP as being "not as bad as it once was", if not even "good".<p>Some of its reputation, though, hinges not on out-of-date internet commentary, but instead on the fact that in practice a lot of the PHP code that's still in production today is simply legacy code and not up to modern standards, and most of the time when someone <i>says</i> PHP, they really mean <i>that</i> PHP. I think <i>that</i> is actually the thing that is holding PHP back hard outside of bubbles like HN. And honestly, even though I don't hate modern PHP, I don't have many codebases that come to mind when I think about modern PHP that are exemplary. I actually was relatively impressed with the s9e TextFormatter library used by phpBB3 when I looked at it, but even that is dated by today's standards.<p>Still, I think that PHP has an undeservedly bad reputation <i>relative to other languages</i>. I've recently come back into Python lately after having not really touched a ton of Python in a while and I gotta say, other than `uv` and `ty`, I don't feel a whole lot has improved in Python land. It's not that greenlets and gevent were fantastic or anything, but I thought it was satisfactory enough. Now that there's <i>also</i> asyncio, it feels like a nightmare trying to untangle old code and bring it into the async future... So many things just don't really work in this world, like old-school lazy fetching in SQLAlchemy. Python was most famous for the horrible Python 3000 migration, but so many years later and I'm not sure how much was really learned as reconciling greenlet and asyncio worlds feels like yet another Sisyphean task of trying to rebuild everything at once. OK, it isn't <i>as</i> bad, especially since you can at least wrap sync code into thread pools, but it definitely is an absolute PITA, and I feel like what we're getting out of it doesn't exceed what we're putting in.<p>So that's my thoughts. Internet commentary is probably no longer PHP's biggest enemy; instead, it's more like its own past successes. (And, also, the fact that we easily forgive the tools we use regularly for the faults that we have been used to for years.)</p>
]]></description><pubDate>Mon, 08 Jun 2026 00:48:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=48440190</link><dc:creator>jchw</dc:creator><comments>https://news.ycombinator.com/item?id=48440190</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48440190</guid></item><item><title><![CDATA[New comment by jchw in "Podman 6: machine usability improvements (2025)"]]></title><description><![CDATA[
<p>I <i>believe</i> this is primarily for running Podman on macOS and Windows, where you need to run everything through a VM for anything to really work.</p>
]]></description><pubDate>Sun, 07 Jun 2026 19:02:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=48437611</link><dc:creator>jchw</dc:creator><comments>https://news.ycombinator.com/item?id=48437611</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48437611</guid></item><item><title><![CDATA[New comment by jchw in "LLMs are eroding my software engineering career and I don't know what to do"]]></title><description><![CDATA[
<p>Same boat here, just a couple years more experience.<p>Current LLMs are still kind of shit at actually programming so many jobs <i>do</i> still care to have professional programmers. However, I think it's evident that if things stand where they are, employers will care to have far fewer of them, at least of highly paid highly experienced programmers. If this is the state we're in with LLM adoption when they can't help but create the same helper functions 15 times, god knows we're screwed.<p>So we should probably work on clearing out our debts and figuring out what else we might want to do with our time, I reckon.<p>I'm still going to try to do a good job. I'm still trying to learn the best effective ways to apply current LLMs (Right now I still prefer to mostly write code myself but have been using LLMs to bang code into shape via iterative code review; this is a way to exploit LLMs to make <i>better</i> code, especially applicable if your velocity was already good.)</p>
]]></description><pubDate>Sun, 07 Jun 2026 13:12:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=48434483</link><dc:creator>jchw</dc:creator><comments>https://news.ycombinator.com/item?id=48434483</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48434483</guid></item><item><title><![CDATA[New comment by jchw in "Win16 Memory Management"]]></title><description><![CDATA[
<p>As someone who grew up coding after it was mostly 32-bit, I can't say this with certainty, but my gut feeling is that paradoxically you would have and it would've made you stronger.</p>
]]></description><pubDate>Sun, 07 Jun 2026 12:33:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=48434191</link><dc:creator>jchw</dc:creator><comments>https://news.ycombinator.com/item?id=48434191</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48434191</guid></item><item><title><![CDATA[New comment by jchw in "Did Claude increase bugs in rsync?"]]></title><description><![CDATA[
<p>Uh... huh.<p>I waited a minute to make sure you weren't going to delete this post because frankly, if I had written it, I would have. Guess not, so... Here goes.<p>No. It is not the fault of my "attitude" that the Internet is going to suck. That is a complete reversal of the reality. The fact that even people without bad intent are already spreading slop everywhere should be enough evidence to essentially prove that there was never any hope. If this is what good actors are doing, what exactly do you expect from <i>bad</i> actors?<p>Also, to stress it yet again, I don't care if people use LLMs in general. I'll even say that I don't particularly care very much if people use them without disclosing it in most cases. If you're using it like a normal tool and not merely just dumping the output verbatim there is not any particular need to disclose it any more than you'd disclose other tools, though I think people would prefer if you did just for transparency.<p>My chief complaint is just how bad LLM slop writing is. It simply is not good at all. It would literally be <i>much</i> better for the Internet if they <i>weren't</i> so turboshit at writing. There is almost no writing style I <i>don't</i> prefer over garbage LLM writing. I'm dead serious. Early LLMs were worse at almost everything else, but they were a lot better at writing for sure. Something went wrong somewhere.<p>But I do <i>also</i> believe that it is inherently bad to dump prose as-if you are communicating as a human, but said prose isn't actually written by a human. If someone shows me a cool drawing that they made, that means that they sat there and went through the process of sketching, possibly multiple drafts, inking, coloring/shading/painting/etc. to create an expression. This involves many human skills that take years to hone, and every detail carries someone's explicit intention. I think that this is cool, and shows a great degree of skill and effort.<p>When you, of course, generate some crap from an image generator, it may very well look similar. It may emulate some actual defects that make it look like someone really drew it. But someone didn't. A model went directly from a text prompt and dumped out pixels on screen. No sketching. No layers. No thought processes about how to frame things or what details to include. That doesn't mean zero effort went in: I'm sure in many cases someone sat around and fudged with LoRas and inpainting for a couple hours and pulled the slot machine lever to get good seeds and etc. That doesn't mean that an AI model does not have some model for how to structure an appealing image: it does, that's obviously why the results can look decent to begin with. But when you dump out an image from an image generator and you wink wink nudge nudge present it as your own and people evaluate it as if you drew it, this is basically fraud. Everyone looking at it who doesn't know it is AI generated actually believes you went through the normal effort of drawing that image and all of the years of practicing skills and acquiring knowledge that takes. That's bullshit, and it takes away from the actual accomplishments of people who put in the work like cheating in sports does.<p>Like yeah, a lot of people are cheating at chess, by passing off engine play as their own, but does that really make it okay? When the entire point is using your brain and not just the raw outputs themselves, doesn't that hit you as a problem?<p>For generative AI, I personally draw this line at what I feel are expressions of creativity. If you use AI for drawing references, whatever. If you use AI to generate globs of repetitive code, whatever. Code can be creative but I do not view it as an expression of creativity and almost any tool is fair game. If you are using ML models for motion capture or some other data processing thing where humans had to do repetitive work before, whatever. Maybe these tools sometimes do devalue the work, but the LLMs are not doing the interesting part here, they're doing the <i>boring</i> part. (This is, in part, an admission that actually writing code is often pretty boring in and of itself, something that I realize programmers have been inconsistent with in an attempt to justify their value. But, I still believe it to be true.)<p>So okay fine. People are reluctant to disclose that they used AI to generate text because they fear the backlash that it will get them. This is understandable. What upsets me about this is that well-meaning people are apparently falling back to the idea that because LLM backlash is strong, what would be better than either trying to just simply write your own damn posts or be honest about your usage of LLMs... Is to just try to wink wink nudge nudge pass off more or less verbatim LLM writing as if it's a post that you wrote.<p>I am not ruining the Internet. There is literally nothing I or any group of angry mobs could do that would even remotely slow down the decay of the Internet even if we desperately wanted to.<p>So in fact, I'm not even trying to not ruin the Internet. I don't particularly care if my attitude is not helping or hurting. I'm not having an attitude as part of some grand strategy to save or destroy the internet. I'm having an attitude, because I am pissed off.<p>And I am pissed off because I am tired of reading posts the author probably only skimmed themselves.</p>
]]></description><pubDate>Fri, 05 Jun 2026 20:06:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=48417486</link><dc:creator>jchw</dc:creator><comments>https://news.ycombinator.com/item?id=48417486</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48417486</guid></item><item><title><![CDATA[New comment by jchw in "Redis 8.8: New array data structure, rate limiter, performance improvements"]]></title><description><![CDATA[
<p>Unfortunately I have never really used Erlang outside of deploying RabbitMQ. I mostly use Go, Rust, Python, sometimes C/C++.<p>However, Mnesia seems like it is quite a bit more of a complete distributed database engine than Redis. To me the nicest thing about Redis is just the convenience of what it offers: very fast data structures, serialized, optimized (at least by default) for cases where speed is more important than durability. It is simple on many levels and somewhat constrained in scope. Mnesia seems to be aiming more generally in the distributed database category.<p>So how do you feel they compare?</p>
]]></description><pubDate>Fri, 05 Jun 2026 17:40:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=48415806</link><dc:creator>jchw</dc:creator><comments>https://news.ycombinator.com/item?id=48415806</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48415806</guid></item><item><title><![CDATA[New comment by jchw in "Redis 8.8: New array data structure, rate limiter, performance improvements"]]></title><description><![CDATA[
<p>I am not aware of an in-process alternative similar to what Redis offers.</p>
]]></description><pubDate>Fri, 05 Jun 2026 16:45:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=48415066</link><dc:creator>jchw</dc:creator><comments>https://news.ycombinator.com/item?id=48415066</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48415066</guid></item><item><title><![CDATA[New comment by jchw in "Redis 8.8: New array data structure, rate limiter, performance improvements"]]></title><description><![CDATA[
<p>To me the thing I like about Redis is that it gives you a storage engine very suitable for caches; it handles TTLs and memory pressure, as well as built-in serialization with the ability to get better performance by allowing for some data loss. At the same time, many users will be deploying small programs to individual machines. If you could just have Redis be embedded this would make it very operationally simple: no additional daemons and a single file to backup if you want to.<p>It would also be useful because of the ability to switch modalities. When running a multi node service, you can use Redis to share data between nodes and use Redis pubsub as a communication bus. If you wanted to support a simple single node configuration too, then it wouldn't need to be a special case, it could just go through the same mechanism but with an embedded Redis instance.<p>It's pretty similar to SQLite: being able to embed more or less a complete storage engine into your app can be very convenient and powerful.</p>
]]></description><pubDate>Fri, 05 Jun 2026 14:45:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=48413257</link><dc:creator>jchw</dc:creator><comments>https://news.ycombinator.com/item?id=48413257</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48413257</guid></item><item><title><![CDATA[New comment by jchw in "Did Claude increase bugs in rsync?"]]></title><description><![CDATA[
<p>When you say, "I see content, not style," you are separating what is being said from how it is being said. While it is great that you can extract the core message, you are missing a <i>fundamental truth</i> about writing: <i>style and content are rarely completely separate.</i> Writing involves both.<p>Poor prose does not just make writing ugly — it creates friction, obscures nuance, and introduces ambiguity.<p>You can eat a gourmet meal out of a dirty paper bowl. You still get the calories, but the delivery mechanism definitely impacts the experience and the perceived value of the food. Same food, different response.<p>See? I can write slop too, I don't even need to burn down a forest to do it. If you are OK with every fucking thing being written exactly like this, good for you. I am not.</p>
]]></description><pubDate>Fri, 05 Jun 2026 14:29:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=48413057</link><dc:creator>jchw</dc:creator><comments>https://news.ycombinator.com/item?id=48413057</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48413057</guid></item><item><title><![CDATA[New comment by jchw in "Did Claude increase bugs in rsync?"]]></title><description><![CDATA[
<p>I just find it to be utter dreck. It has one of the most agitating prose styles I've ever seen. I would legitimately rather read actual broken English than the cliché polished turds Claude pops out. I am not an LLM hater, I think these tools are pretty impressive and often even useful, but even if I didn't care about the fact that I want to read communication from humans and not robots (and I <i>do</i> care about that, FWIW) I just find the current LLMs are horrid at writing.<p>And while the comments are always flooded with people like me, the upvotes seem to tell a different story; clearly LLM writing really does appeal to some people. Or idk, maybe a lot of people who vote on stories and don't comment don't actually read them. Hard to say for sure.</p>
]]></description><pubDate>Fri, 05 Jun 2026 14:23:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=48412976</link><dc:creator>jchw</dc:creator><comments>https://news.ycombinator.com/item?id=48412976</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48412976</guid></item><item><title><![CDATA[New comment by jchw in "Did Claude increase bugs in rsync?"]]></title><description><![CDATA[
<p>Sorry to say but I'm absolutely certain I would've preferred to read your worst attempt at a write-up over the grating utter shite LLMs output. It's not even a question, this is unreadable.</p>
]]></description><pubDate>Fri, 05 Jun 2026 13:27:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=48412260</link><dc:creator>jchw</dc:creator><comments>https://news.ycombinator.com/item?id=48412260</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48412260</guid></item><item><title><![CDATA[New comment by jchw in "Did Claude increase bugs in rsync?"]]></title><description><![CDATA[
<p>I really struggle to believe you wrote text like:<p>> A simple distributional analysis of every rsync release with bug data. No model. No assumptions. Just placement.</p>
]]></description><pubDate>Fri, 05 Jun 2026 13:00:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=48411855</link><dc:creator>jchw</dc:creator><comments>https://news.ycombinator.com/item?id=48411855</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48411855</guid></item><item><title><![CDATA[New comment by jchw in "IPv6 zones in URLs are a mistake"]]></title><description><![CDATA[
<p>I ran into some of these issues when working on IPv6 validation in a library. I found that if you just call system functions like inet_pton, you would also get OS-dependent restrictions on what zone identifiers are valid! This isn't ideal so I wound up just making an IPv4/IPv6 parser with a very liberal zone ID production. Said library also supported URLs, and I <i>did not</i> implement it to parse the IPv6 literal as percent encoded in this edge case, but it winds up working both ways anyways. Is this good? Maybe not: maybe it would've been better to pick a strict subset instead. However, whether or not that would be better depends on specific use cases. Unfortunately, there is just no perfect answer sometimes.</p>
]]></description><pubDate>Thu, 04 Jun 2026 23:05:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=48405877</link><dc:creator>jchw</dc:creator><comments>https://news.ycombinator.com/item?id=48405877</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48405877</guid></item></channel></rss>