<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: nneonneo</title><link>https://news.ycombinator.com/user?id=nneonneo</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Tue, 03 Nov 2026 09:30:17 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=nneonneo" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by nneonneo in "The Megadonors Who Have Poured $1.2B into the Midterms"]]></title><description><![CDATA[
<p><a href="https://archive.ph/hYaHF" rel="nofollow">https://archive.ph/hYaHF</a></p>
]]></description><pubDate>Mon, 02 Nov 2026 03:55:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=50332953</link><dc:creator>nneonneo</dc:creator><comments>https://news.ycombinator.com/item?id=50332953</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50332953</guid></item><item><title><![CDATA[New comment by nneonneo in "I went to Mexico to test-drive the cars Americans can’t buy"]]></title><description><![CDATA[
<p>From TFA:<p><pre><code>  Government subsidies in China — while 5 to 10 percent of Chinese automakers’ capital spending, estimated O’Donovan, compared to about 1.5 percent in Europe — are no longer the Chinese auto sector’s primary advantage. Chinese carmakers now enjoy deeper structural advantages from their enormous scale, dense supply chains, high factory utilization and automated production.
</code></pre>
Several companies in China now tout their “dark factories” where they make or assemble many parts of their cars with no human labour at all. It’s likely that the larger Chinese companies are capable of undercutting European makers even without government subsidies or wage parity.</p>
]]></description><pubDate>Thu, 29 Oct 2026 18:56:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=50294104</link><dc:creator>nneonneo</dc:creator><comments>https://news.ycombinator.com/item?id=50294104</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50294104</guid></item><item><title><![CDATA[New comment by nneonneo in "StackOverflow now gets fewer than 1000 questions a month"]]></title><description><![CDATA[
<p>SO turned into a place that heavily favoured their experienced answerers over new answerers <i>and</i> askers. Admittedly, I fell into the former camp: someone with some excess time on his hands and an itch to answer interesting questions - and like most of the experienced answerers, I ended up being very disinterested in answering homework questions, “lazy” questions, and the like. “Downvote and move on” was the motto.<p>In hindsight, one thing we could’be done - as a community - was leave <i>easy questions to be answered by new answerers</i>. There’s still a lot of careful design to consider here - how do you avoid “broken windows” for newbies (and search engines), how do you moderate posts that the experienced users don’t/won’t interact with, etc. On the other hand, it would get those questions answered, give new answerers a chance to gain experience (and points) without getting beaten to the punch by some 100k’er, and generally reduce that air of unfriendliness and elitism that eventually permeated the site.<p>In any case, for better or for worse, I guess we have LLMs now. The real loss is the deep expertise embodied by all the answerers on SO. While 90+% of questions can probably be answered now by an LLM, it was nice to have a place where those remaining few questions could get a real, deep answer.</p>
]]></description><pubDate>Thu, 29 Oct 2026 04:12:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=50284475</link><dc:creator>nneonneo</dc:creator><comments>https://news.ycombinator.com/item?id=50284475</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50284475</guid></item><item><title><![CDATA[New comment by nneonneo in "eMudhra to exit global SSL/TLS certificate business"]]></title><description><![CDATA[
<p>p=84491346121303840713246978535231635954643146756451201037561748571580203988423<p>q=82392744353585332429460820191121154258120959554076291572887591391377445536703<p>n=6961473881062880999817189307002435362675293718841800458853975151946795609411283948376850761685158526939121778595276868395992041449207352173613540433589369<p>e=1305276352699290187465722995062956630501617572282837586035120340990024176764584449553695476096002966088824142338449519554315283866861919281309484272012046<p>d=4<p>assert n == p * q<p>assert pow(pow(123456789, e, n), d, n) == 123456789<p>(This doesn't work for all messages `m`, so I agree with what you've said - d=4 is not a good choice. But it can work.)</p>
]]></description><pubDate>Fri, 23 Oct 2026 01:11:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=50203296</link><dc:creator>nneonneo</dc:creator><comments>https://news.ycombinator.com/item?id=50203296</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50203296</guid></item><item><title><![CDATA[New comment by nneonneo in "eMudhra to exit global SSL/TLS certificate business"]]></title><description><![CDATA[
<p>As long as they continue to support the surviving root cert, they are beholden to the root program and need to be accountable for this incident.<p>So far their responses to critical questions in the Bugzilla (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=2083449" rel="nofollow">https://bugzilla.mozilla.org/show_bug.cgi?id=2083449</a>) have been rather weak and delayed.</p>
]]></description><pubDate>Thu, 22 Oct 2026 16:00:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=50197210</link><dc:creator>nneonneo</dc:creator><comments>https://news.ycombinator.com/item?id=50197210</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50197210</guid></item><item><title><![CDATA[New comment by nneonneo in "eMudhra to exit global SSL/TLS certificate business"]]></title><description><![CDATA[
<p>“d=4” is a perfectly legal RSA private key. The corresponding <i>public</i> key would probably have a weird e (not 65537, the usual choice), but would otherwise be legal, and could have an arbitrarily large modulus n (thus appearing “secure”).<p>Note that p,q (the primes you’re thinking of) are not actually required for decryption. They enable you to calculate d, the decryption exponent, and also enable decryption-time optimizations (exponentiation with d_p and d_q followed by CRT recombination), but that’s optional. In fact, p,q can be computed from n, e and d.</p>
]]></description><pubDate>Thu, 22 Oct 2026 15:56:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=50197164</link><dc:creator>nneonneo</dc:creator><comments>https://news.ycombinator.com/item?id=50197164</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50197164</guid></item><item><title><![CDATA[New comment by nneonneo in "Qwen3-Coder writes less secure code when told it's for a US persona"]]></title><description><![CDATA[
<p>1. Were these the only prompts tested, or are these selected comparisons? I note that prior work used other triggers, like Tibet, which are omitted here - were they not tested, or did they simply fail to show similar results?<p>2. This is an old model that isn’t very good at writing secure code in the first place; I’m not sure it’s an improvement to use a “westernized” model that still writes insecure code 50+% of the time. If this is a genuine issue, it should be demonstrable with later models and with models that are more secure-by-default.</p>
]]></description><pubDate>Wed, 21 Oct 2026 13:48:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=50180916</link><dc:creator>nneonneo</dc:creator><comments>https://news.ycombinator.com/item?id=50180916</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50180916</guid></item><item><title><![CDATA[New comment by nneonneo in "eMudhra intermediate CA compromise"]]></title><description><![CDATA[
<p>> After Wayne's report of key recovery, I was able to recover the private keys for the impacted keys trivially. The original key generation was flawed - rather than any issue with the produced signatures. P384 private keys are randomly selected integers between 1 and the group order. The 8 impacted keys all used integers less than 256. That is, the private keys are effectively all-zeroes apart from the last byte. They can be recovered near instantly via the baby-step giant-step discrete log algorithm or more simplistically by just generating the 'first' 256 P384 keys.<p>Yeah that’s just <i>oof</i>. Not hard to imagine the kind of code error that could cause this, but hard to imagine that any serious vendor of cryptography hardware or software could make a mistake like this.</p>
]]></description><pubDate>Tue, 20 Oct 2026 18:59:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=50171024</link><dc:creator>nneonneo</dc:creator><comments>https://news.ycombinator.com/item?id=50171024</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50171024</guid></item><item><title><![CDATA[New comment by nneonneo in "A Visual Intro to Complex Numbers"]]></title><description><![CDATA[
<p>You’ve asserted several times in this thread that this is “LLM slop”. Having read a decent amount of math content on the internet, I’m not sure I quite agree, so I’d like to hear why you think it’s LLM slop?<p>For one, this article has (charmingly?) terrible math rendering, rather reminiscent of someone copy-pasting random pictures of equations from the Internet and supplementing them with Word’s Equation Editor or something. An LLM would have just dumped a pile of LaTeX and called it a day. For another, I don’t sense any of the usual writing tics that are suggestive of LLM writing. I don’t claim either of those are remotely definitive, but my personal feeling is that this was largely hand-written and aimed at a very introductory level (i.e. not the sort of level that will benefit from knowing about Riemann surfaces).</p>
]]></description><pubDate>Tue, 13 Oct 2026 17:07:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=50075102</link><dc:creator>nneonneo</dc:creator><comments>https://news.ycombinator.com/item?id=50075102</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50075102</guid></item><item><title><![CDATA[New comment by nneonneo in "A Visual Intro to Complex Numbers"]]></title><description><![CDATA[
<p>This article misses one of the most useful and <i>deep</i> representations for complex numbers: polar coordinates. There’s some bits in there about adding angles and such when multiplying, but it turns out these are “obvious” in polar notation.<p>A complex number can be expressed in Cartesian coordinates as (x,y) or x+yi. It can be expressed as polar coordinates as (r,theta). What’s the corresponding complex notation? Surprisingly, it’s r*e^(i theta), where the angle is taken in radians. It might seem really weird to see an exponential there, but it turns out that the exponential behaves like a trig function when given an imaginary exponent - to be precise, e^(i theta) = cos theta + i sin theta.<p>Now multiplication becomes easy: multiplying two polar-notation complex numbers (r1,t1) x (r2,t2) gives r1r2 e^(i (t1+t2)) following the usual rules of exponential arithmetic, i.e. (r1r1, t1+t2).<p>The complex exponential looks like a very strange notation at first because we’re all used to grade school exponents, but you can think of it as a function that takes an angle and produces a point on the unit circle. Feed it a continuous input, and it traces out an arc or a circle. sin and cos are merely the one-dimensional projections of this function.<p>Frequency becomes simply e^(i ft) where f is the frequency in radians and t is time - representing a point racing around a circle at a set speed. Multiplying two signals with different (complex) frequencies produces a new signal with the sum of their frequencies. With this notation, complex signals are the simple ones to understand - real signals are the “more complex” ones, as every real signal consists of a complex signal added to its conjugate.</p>
]]></description><pubDate>Tue, 13 Oct 2026 15:38:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=50073420</link><dc:creator>nneonneo</dc:creator><comments>https://news.ycombinator.com/item?id=50073420</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50073420</guid></item><item><title><![CDATA[New comment by nneonneo in "The case against JPEG XL"]]></title><description><![CDATA[
<p>The problem is that JXL has a ridiculously versatile modular mode which enables high-complexity “prediction” computations. These were designed to encode reusable, custom predictors that could reduce the prediction error and thus the number of bits needed to encode the error. However, the predictors can be abused to perform very complex computations instead. The prime image is only 4kx2k, but encodes a very complex prediction algorithm that happens to generate prime numbers.<p>In principle, a decoder could refuse to process images with predictors above a certain complexity limit, but it’s hard to know how to set such limits accurately.</p>
]]></description><pubDate>Mon, 14 Sep 2026 02:38:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=49691255</link><dc:creator>nneonneo</dc:creator><comments>https://news.ycombinator.com/item?id=49691255</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49691255</guid></item><item><title><![CDATA[New comment by nneonneo in "The case against JPEG XL"]]></title><description><![CDATA[
<p>Probably not; for PNG, the image size is declared in the header, so a decoder can decide immediately if it wants to decode the image or not. The output is bounded by the size of the image times the bit depth, and decompression runs in time proportional to output size. zlib bombs exist, but they don't affect png because a decoder can simply refuse to decompress past the size of the pixel buffer.</p>
]]></description><pubDate>Mon, 14 Sep 2026 02:09:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=49691015</link><dc:creator>nneonneo</dc:creator><comments>https://news.ycombinator.com/item?id=49691015</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49691015</guid></item><item><title><![CDATA[New comment by nneonneo in "The case against JPEG XL"]]></title><description><![CDATA[
<p>Worth noting that this progressive AVIF, when viewed in Chrome, has only two states: a "base layer" which pops in around 8KB, and the full image which appears 270KB later. The comparison JXL continues to refine during most of the download, so it winds up looking substantially better than the AVIF at around 95KB loaded, and looks pretty good (almost as good as the full 280KB AVIF) by 175KB. I suspect that there are a lot of knobs to turn for both progressive modes, but this particular case could definitely be cherry-picked to favour either codec.</p>
]]></description><pubDate>Mon, 14 Sep 2026 01:51:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=49690882</link><dc:creator>nneonneo</dc:creator><comments>https://news.ycombinator.com/item?id=49690882</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49690882</guid></item><item><title><![CDATA[New comment by nneonneo in "The case against JPEG XL"]]></title><description><![CDATA[
<p>That JPEG XL prime computation is a pretty ugly DoS. Just selecting it in Finder, with the preview pane open, maxed out every core on my Mac inside a QuickLookSatellite that also ate 4GB of RAM while doing so - for a good 15 seconds. Not bad for a 2KB picture. It seems like Apple did not set sane limits on their JXL previewer.<p>It is, however, an incredibly cool demo of what the format is capable of. I'm not completely sure if an image format <i>should</i> be that flexible, but I'm impressed nonetheless.</p>
]]></description><pubDate>Mon, 14 Sep 2026 01:44:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=49690834</link><dc:creator>nneonneo</dc:creator><comments>https://news.ycombinator.com/item?id=49690834</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49690834</guid></item><item><title><![CDATA[New comment by nneonneo in ".name Termination"]]></title><description><![CDATA[
<p>It seems like the right thing they should do is discontinue <i>new</i> registrations but continue to honour existing ones (+ continuing to reserve any 2LD that has a 3LD registered on top). It’s a bit insane that they can decide to just terminate all existing 3LD registrations. One would <i>hope</i> that they’d at least continue to reserve the 2LDs for some period to avoid domain squatting, but this isn’t mentioned in the proposal and I doubt Verisign would graciously do so.</p>
]]></description><pubDate>Thu, 03 Sep 2026 16:44:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=49552960</link><dc:creator>nneonneo</dc:creator><comments>https://news.ycombinator.com/item?id=49552960</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49552960</guid></item><item><title><![CDATA[New comment by nneonneo in ".name Termination"]]></title><description><![CDATA[
<p>Since neither smith.name nor the wildcard *.name appear in the <i>Public Suffix List</i> (<a href="https://publicsuffix.org/" rel="nofollow">https://publicsuffix.org/</a>), browsers would likely allow any page on a *.smith.name domain to set cookies for .smith.name.<p>There was an effort to properly handle the .name 2LDs, but it was never resolved because there’s no easy way to tell a reserved 2LD (open for 3LD registrations only) apart from a normal 2LD on .name: <a href="https://github.com/publicsuffix/list/issues/2306" rel="nofollow">https://github.com/publicsuffix/list/issues/2306</a><p>So yes, this TLD’s setup is in fact pretty insane.</p>
]]></description><pubDate>Thu, 03 Sep 2026 16:38:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=49552857</link><dc:creator>nneonneo</dc:creator><comments>https://news.ycombinator.com/item?id=49552857</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49552857</guid></item><item><title><![CDATA[New comment by nneonneo in "Tell HN: HN's IPv6 address is down"]]></title><description><![CDATA[
<p>Thanks, good call. I posted this partly hoping that one of those status sites could add IPv6 testing as a feature, but that’s probably asking too much :)</p>
]]></description><pubDate>Sun, 30 Aug 2026 18:11:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=49501213</link><dc:creator>nneonneo</dc:creator><comments>https://news.ycombinator.com/item?id=49501213</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49501213</guid></item><item><title><![CDATA[New comment by nneonneo in "Creepy Crawlies"]]></title><description><![CDATA[
<p>The kernel folks likely have a good profile on what page people trigger Anubis on (i.e. what page people hit first). From that they could make heuristics about what pages are likely to be useful deep links.<p>Keep in mind that Anubis will rarely inconvenience an actual user who visits the site often; it’s meant to keep out first-time scrapers trying to grab a few pages from their queue.</p>
]]></description><pubDate>Sun, 30 Aug 2026 15:50:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=49499775</link><dc:creator>nneonneo</dc:creator><comments>https://news.ycombinator.com/item?id=49499775</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49499775</guid></item><item><title><![CDATA[New comment by nneonneo in "Creepy Crawlies"]]></title><description><![CDATA[
<p>I disagree. The kernel finds it effective - 66% of scrapers are turned away directly.<p>The scraper problem now is fleets of residential proxy devices - often things like smart TVs, phones, and browsers with some “proxy SDK” installed as part of an app’s monetization scheme. They make a couple of requests to a site - just enough to fly under the radar - and move on to a different site.<p>If each new site they hit forces them to solve a proof-of-work, that’s a meaningful dent in their scraping performance. Many of these boxes may not even have the spare CPU power to efficiently solve so many proofs of work - and anything that makes an owner notice their device is running slow is something that could meaningfully impede adoption of these SDKs, or force the operators to choose between minimizing performance impact or scraping more sites.</p>
]]></description><pubDate>Sun, 30 Aug 2026 15:45:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=49499727</link><dc:creator>nneonneo</dc:creator><comments>https://news.ycombinator.com/item?id=49499727</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49499727</guid></item><item><title><![CDATA[New comment by nneonneo in "Creepy Crawlies"]]></title><description><![CDATA[
<p>I wonder if one solution here could be to turn up Anubis difficulty if the first page hit is <i>not</i> one of the obvious entry-points to cgit. It could even have a little hint that says something to the effect of “go visit the home page if this is taking too long”. (Better not to ban them entirely, in case people really did click on some random link e.g. in a news story or mailing list message).<p>Distributed scrapers are going to generally try and hit their assigned list of pages; it’s a bigger waste of time if they have to go off to visit other pages first to get the cookie challenge.</p>
]]></description><pubDate>Sun, 30 Aug 2026 15:32:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=49499593</link><dc:creator>nneonneo</dc:creator><comments>https://news.ycombinator.com/item?id=49499593</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49499593</guid></item></channel></rss>