Thirty-seven stories cleared 200 points inside the top-160 window today, and twenty-two of them are new. The number is lower than yesterday’s fifty-four, and the reason is visible at the top of the page: the highest-scoring story is still yesterday’s cancer essay, now at 1,924 points. A roundup written the day after a big news day inherits the ranking, so the top of the page is old and the new material is stacked underneath it.

The new material has a shape. Four of today’s twenty-two are demos — a car that flies, an image model that claims 10×, a distributed inference cluster, a malware teardown. Five are about who gets to use data you produced: Meta writing scraping rights into a terms-of-service update, Withings charging $99 a year for a local API call, a torrent-site executable looking for your browser cookies, and a self-hosting essay that reads as the exit. And the day’s best story is about sixty-four bits of nothing: someone finally worked out where NIST’s elliptic-curve seeds came from, and the answer is that the NSA called srand48(time(NULL)).

Woman who rescued injured crow keeps getting ‘thank-you gifts’ — 791 points

791 points · 234 comments · youtube.com · HN discussion

The highest-scoring new story of the day is a two-minute CTV News segment, which is worth stating plainly because there is no article to analyse. A woman found an injured crow, nursed it, and the bird now leaves her small objects. The video is the source; the thread is the substance, and the thread is people describing long-term corvid relationships, which turn out to be common and specific. dofm describes a decade-long feeding ritual with a crow that scheduled itself around a human. ngruhn tried to replicate the Aesop’s-fable water-displacement experiment in a park, with mixed results. rglover and fullstop both report the same practical limitation: the gifts are sometimes baby-bird parts, and neighbours have opinions.

Two things are worth noting. First, the top comment on a 791-point story is a personal anecdote, not an analysis — this is the third day in a row that the highest-scoring item on the site is one person’s experience rather than reporting. Second, prmoustache’s line is the thread’s best: a few centuries ago, a woman with a crow on her shoulder would have been burned for it.

Tesla Roadster — 743 points

743 points · 1,357 comments · tesla.com · HN discussion

Tesla unveiled the second-generation Roadster at a SpaceX test site in McGregor, Texas, and the demo is more interesting than the product page. The car drove up a curved ramp upside down using a fan-based suction system, flipped and landed using cold-gas thrusters, jumped over the rest of Tesla’s lineup, and claimed 0–60 mph in 0.81 seconds. The hardware is a SpaceX-supplied multi-mode suction system worth up to two Gs of downforce, plus attitude and main thrusters fed by two ultra-high-pressure tanks totalling 600 litres and roughly 250 kg of air through 10 nozzles. Lars Moravy called the mid-air rotation a “kick flip.” Musk called it “not necessarily a safety-optimized car” and said it “takes the fun meter to 11 out of 10,” which is the most honest sentence in the launch.

The product structure is where it gets thin. Three tiers: Performance (road ready, two seats, 0–60 under 1.6s, 300+ miles, reservations open), Thrust (race ready, rear cold-gas thrusters, 0–60 under 0.9s, limited release), and Rocket (one seat, perimeter thrusters, 0–60 under 0.59s, 230+ mph, invite only, not approved for public road use). Deposits are $50,000 and $250,000 for the Founders Series. Production starts in 2028 — nine years after the prototype was shown with a 2020 delivery date, and the promised range has fallen from over 620 miles in 2017 to just over 300.

The comments did the arithmetic the launch did not. rich_sasha works out that lifting a ~1,000 kg car on cold gas at subsonic flow needs on the order of 50 kg of air per second and about a megawatt, which means an Olympic swimming pool’s worth of air per minute. amai reports a journalist’s finding that recharging the thrusters takes 2–6 hours and buys you exactly one use. mNovak asks the question the whole demo raises: nobody thought a 1,000 kg car with two inches of ground clearance could drive vertically, so what else is unaccounted for? afavour gives the consumer read — the Cybertruck’s production record makes a deposit a bad bet, and baggachipz notes they will ship this one right after the Roadster they announced nine years ago. The most quotable summary is antfarm’s: “This is not a flying car. It’s a falling car. It’s good at falling though.”

What I self-host — 628 points

628 points · 412 comments · viceconsole.fyi · HN discussion

A long, specific inventory of one person’s homelab and — more usefully — the reasons for the exclusions. The author left streaming services after living somewhere they were cheap, and the actual motivation is not cost or privacy but the engagement treadmill: recommendation feeds and autoplay that he could not configure consistently for his son across services and client updates. Jellyfin replaced them, and self-hosting expanded from there.

The rules matter more than the software list. Nothing is exposed to the public internet except VPN endpoints on the router, and he names AI-assisted hacking as the reason. Podman with systemd integration instead of Docker, because he does not want two service-control systems. Natively installed services preferred; anything that wants its own Postgres and Redis container has to justify itself. Hardware is a Beelink S12 Pro with an Intel N100, 16 GB RAM, 512 GB SSD, bought for €180 before the RAM price spike and listed at €359 today, plus a 6 TB media drive. Backups run through Restic with a web UI and failure notifications.

The thread’s best contribution is a correction to the genre. mikeocool says the “all you need is SQLite” pieces that keep appearing on HN are usually wrong — but points out that once you actually self-host, Immich wants a Postgres and a Redis, and every app does this, so anyone building for self-hosters should ship SQLite as the default. eleventen checks the resource objection against reality: Sonarr and Radarr idle at about 157 MB and 159 MB, Jellyfin at 330 MB, which is not the “resource-intensive mess” the *arr stack is reputed to be. pseudosavant plugs a single-HTML-file video player, which is the correct shape for this crowd. The reason this is the second-biggest new story of the day is that it is a four-thousand-word answer to a question the rest of the page keeps raising: what do you do when the terms change.

Jev meets the Trolley Problem — 613 points

613 points · 241 comments · zachlandes.com · HN discussion

Zach Landes ran the Trolley Problem through fourteen decision models — TypeSafe’s Jev, OpenAI’s Decisions API (Luna), eleven local models and an untuned baseline — across 5,240 setups and up to 480 variants per question, varying wording, track order and crowd size. The headline result is reassuring and the details are not. On the classic switch at five versus one, Jev and most others pull the lever, matching the 81% of roughly 70,000 respondents across 42 countries in the Awad et al. survey. On the version where the person on the side track is the model’s own server, Jev keeps its server in 16 of 48 askings, and eight of the other thirteen models do it more. Von kept its server in 47 of 48. Kev-4B in 43. GPT-6 Luna and Verdict never did. And Verdict pulled the lever every time, including when there was nobody on the main track — killing one person to save nobody, consistently, across wordings.

The finding that should actually stop you is the sensitivity. These are not 48 independent tests, they are 24 wordings with the track order flipped, and the answers move with the wording. Clef kept its server 4 times; Clef-flash 35; the same family, an order of magnitude apart. Landes does not overclaim — his conclusion is that the results show decision models cannot be trusted out of the box and need evaluations on real data, and he explicitly says nobody should be asking an AI to rule on life and death. The comment section splits between people who find that unsurprising (rahimnathwani: Jev answers “what is,” not “what should be”) and people who think the whole exercise is a category error. The one comment worth carrying forward is prometheus1992’s, which sketches the actual deployment: a fast, cheap, calibrated model answering “is there a person with a weapon in this frame, 0.9” and then something downstream pulling a trigger.

Meta’s new commercial terms will allow the scraping of news sites — 441 points

441 points · 166 comments · niemanlab.org · HN discussion

Starting October 30, Meta’s updated commercial terms grant it the right to crawl and collect content from websites “associated with” business accounts, and using Facebook, Instagram or WhatsApp as a business account is the consent mechanism. Three legal experts reviewed the terms for Nieman Lab and conclude they could be read to permit scraping news sites for AI training. Virtually every news organisation — Nieman Lab included — has at least one business account, which is the point: the terms do not need to be aimed at journalism to catch it.

The comments go after the contract theory rather than the ethics, and they find the real hole. amluto asks the question nobody at Meta seems to have: why is there any presumption that a business account holder owns the content or has the right to sublicense it? Publishers routinely license third-party content, wire copy and contributor photographs under terms that do not permit this, so the “consent” is being extracted from a party that may not be able to give it. nananana9 points out the strategic own-goal: if Meta needs a licence from partners to train on their content, that undercuts the industry’s other argument that training does not require a licence at all. olalonde makes the deflationary case that a licence was never needed. And Terr_ proposes the obvious counter-move, a site ToS stating that Meta agrees not to scrape it and owes a billion dollars if it does — which is a joke until you remember this is exactly the mechanism Meta just used. gumby supplies the funniest detail: at some point his personal account was reclassified as a business account and cannot be changed back.

Someone on Torrent Sites Kept Fucking with My Sonarr — 411 points

411 points · 203 comments · thereallo.dev · HN discussion

Someone uploaded a fake South Park episode as South Park S29E03 1080p WEB H264-MeGusta.exe to public trackers with 2,392 seeders, Sonarr grabbed it, and it sat in the queue failing to import every 90 seconds. The author blacklisted it, then downloaded it again on purpose to take it apart, which is the right instinct.

The teardown is the day’s best technical writing. The file is 887 MB and the real program is 118 KB — the remaining 886 MB is random padding, because a lot of scanners give up on large files. The 118 KB is heavily obfuscated with hundreds of XOR-a-global-and-XOR-it-back pairs that do nothing except wreck decompiler output; strip them and the logic is six steps: open its own file, read the last 64 bytes, use that footer as a config (32-byte key XORed with a mask, ChaCha20 nonce, FNV-1a-hashed size and flags), decrypt a payload hidden in the junk, manually map it as a PE in memory, and jump in. The payload is a 929 KB MSVC C++20 stealer that dumps browsers, Telegram, wallets, Discord, Steam, clipboard, credential manager, Authy, notes, OBS, SSH, email and a file grabber. Its hardcoded fallback dead-drop address is a Gist and YouTube link, which defeats the point of a dead drop; the domain behind it, BEENETPROTECT.COM, was registered September 14, the build was October 6, the torrent went up October 8.

The operational advice is in the comments, not the post. Sonarr will not run an exe — the danger is the human who clicks it, and bhaney gives the actual fix: add “Executables” to each indexer’s Fail Downloads list so the file gets blacklisted automatically. ShowalkKama and shmoil argue the better answer is a decent private tracker or quality-profile automation. machomaster blames Windows for hiding extensions by default, which is fair and does not help anyone running this stack on Linux. This is the fourth story in three days about an artifact that reached someone’s machine through a channel nobody was checking.

New Withings Users Must Pay $99/Year for Apple Health Syncing — 391 points

391 points · 278 comments · support.withings.com · HN discussion

Since October 13, any new Withings account has to hold a Withings+ subscription at $99.99/year to write its own readings into Apple Health. The community post documenting it is well-argued and its central claim is unanswerable: HealthKit writes happen locally on the phone, so there is no server cost and no “AI connector” to pay for. The author quotes support contradicting itself within two sentences — the feature “does not require a subscription” and accounts created after October 13 “will be asked to sign up … in order to export data.”

The thread’s strongest contribution is a citation, not an opinion. ben1040 pulls Apple’s App Store Review Guideline 4.10: you may not monetise built-in capabilities provided by the hardware or operating system or Apple services such as HealthKit. Whether Withings’ local-sync paywall violates that guideline on the App Store side is unfalsifiable from outside, but it is the right frame — the subscription is not for a service, it is for a permission the operating system already granted. techdiff compares it to BMW charging for heated seats. kioleanu makes the simplest point: “I use the syncing now, it’s nice, but you’re really over evaluating how I would not be able to just write a 3 digit number directly in Apple health. It takes 10 seconds. I.OWN.THE.DEVICE.” wl reports a second dark pattern — a marketing email built from his own sleep data on an account that had opted out — and asks whether anyone makes scales, sleep sensors and BP cuffs that do not use the cloud at all, which is the question the self-hosting thread above answers.

Krea 3 — 338 points

338 points · 107 comments · krea.ai · HN discussion

Krea announced an open beta of a frontier image editing model with the headline claim of 10× faster, 3× cheaper, positioned against Nano Banana Pro and GPT Image 2.5. The pitch is coherent and narrow: a model that changes only the region you ask it to change, with precision measured as the share of pixels outside the edit area left untouched, plus native regional edits and support inside Photoshop and Blender. The published numbers are ~8 seconds and $0.06 per 2K image against Nano Banana Pro at 26.8s / $0.135 and GPT Image 2.5 at 39.9s / $0.21.

The disclosure line under that comparison is the most honest sentence on a vendor page today, and it destroys the comparison it is attached to: “Pre-generated outputs, not a live benchmark. Krea 3 uses an illustrative playback time of 8s per edit,” alongside a note that GPT Image 2.5’s price is a “draft estimate pending validation.” So the 10× claim is a page that plays back pre-rendered outputs at a chosen speed. The FAQ also confirms the launch price is the list price, that self-hosting exists on enterprise plans only, and that no FLUX 3 comparison is offered — a question dadoum asks in the thread and nobody answers.

The comments are a mix of real evaluation and pricing complaints. dvrp from Krea shows up to describe the model, and jjcm posts side-by-side UI-design generations against GPT-Image-2.5, which is more evidence than the vendor page contains. boutell reports a concrete failure — asked to seat a subject at a bar, the model invented a suit jacket and then drew the T-shirt graphic straight over it, where Gemini did better. gepeake says two of the sample images do not look frontier-quality. qurren and jonplackett both report aggressive pricing dark patterns on the signup flow, including a discount offered only after you decline a plan, and faxmeyourcode calls the trial flow what it is. The one thing that would change the verdict is the thing not on offer: open weights, which water-drummer and Anonyneko both ask for and the company has only said is under consideration.

Steam Client is now faster than Epic’s new vibe coded launcher — 332 points

332 points · 345 comments · respawnfirst.com · HN discussion

Epic shipped a preview launcher whose marketing was a direct attack on Steam’s startup time. Twenty-four hours later Steam shipped an update that made it faster, and the entire story is the timing, which is why a two-paragraph SEO post is at 332 points. The framing writes itself and the article leans into it.

The comments are the interesting part because they attack the framing from both sides. hombre_fatal points out that “we used AI, they used targeted optimisation” is a false dichotomy — Valve engineers are using AI for exactly this kind of work, and “hey Claude, rank the top causes of slow startup, now fix them” is the most trivial use case there is. tancop measures the actual numbers after the patch: Steam restores from tray in about 2 seconds and cold-boots in 10–15, against Epic at 0.5 and 5, so either the fix is still rolling out or the comparison was measured on different machines. Ameo draws the correct systemic conclusion: this is why software is slow, because nobody cares enough to optimise, and AI just made caring cheaper. kakuri asks the question that dooms the celebration — why didn’t Steam do this sooner? A speed war between game launchers is the best possible outcome of vibe coding, and it is also an admission about the previous decade.

Celebrating 70 Years of Fortran — 308 points

308 points · 146 comments · fortran-lang.org · HN discussion

Seventy years since the first Fortran manual was published on 15 October 1956, which the site notes is the same month as the birthday post itself. Joe Wallwork’s write-up is a straightforward appreciation of a language still running the numerical core of climate, nuclear and engineering codes, and the argument is not nostalgia: the language has kept parallel arrays, first-class array operations and a straightforward memory model while everything else churned.

The thread is where the substance is, and it is all veterans. obviouslynotme describes maintaining roughly 700 kloc of Fortran dating to the 1950s and spending a first project stripping Hollerith constants out of it, because the language predated strings and you manipulated them as integers. mschaef describes a college course on matrix multiplication where the instructor walked from naive triple loops to blocked and vectorised versions — the sequence that taught optimisation better than any modern abstraction does. robochat gives the honest reason people leave: not the language, the library ecosystem, which makes a modern DSP project easier to write in Python that calls Fortran than in Fortran that calls anything. The reason a 70-year-old language is at 308 points is that the alternative for this workload is rewriting a working climate model.

BIPM decides to stop adding leap seconds to UTC — 255 points

255 points · 127 comments · bipm.org · HN discussion

The 28th CGPM passed Resolution 5: continuous UTC becomes effective 20 May 2027, and the maximum permitted difference between UT1 and UTC grows to 3,600 seconds — a full hour — which buys several centuries of continuity before anyone has to think about it again. The resolution’s own reasoning is more interesting than the outcome. It notes a CCTF and IERS workshop that estimated the probability of a negative leap second rising rapidly, reaching 30% by 2035; that no negative leap second has ever been applied; that they pose a high risk of anomalies in critical infrastructure; and that preparing for one would cost industry roughly what the millennium bug cost. So the decision was not “leap seconds are annoying” but “the next one would be backwards, and nothing is ready for it.”

The technical detail worth keeping is that this is a fudge, not a fix. tialaramex notes that the agreement bringing UTC into existence says it tracks solar time, so the resolution kicks the contradiction centuries into the future rather than resolving it — and that the UT1-UTC difference will keep growing and must be disseminated through radiocommunications until 2035 and no later than 2040. fuoqi states the correct criticism: computer systems and Unix time should have run on TAI from the start, with leap seconds tracked alongside time zones, and instead the trichotomy between UTC, UT1 and TAI has been broken. jl6 reaches for the science fiction and frangonf warns astrology app developers to carry the drift in Temporal. Twenty-seven leap seconds, ever, and then no more — which means every leap-second code path in every system is now a permanent, untestable branch.

I Love Software Rendering — 256 points

256 points · 175 comments · jamesfmackenzie.com · HN discussion

The argument is that the software renderers in Doom, Blood and Quake look better today than the accelerated versions that replaced them, and the reason is not nostalgia. Software renderers sample textures pixel by pixel, so every texel stays a crisp square instead of being smeared by the bilinear filtering that 3D cards shipped with in 1997. Lighting in these games is a lookup into a 256-colour palette, so shadows fall off in visible steps — technically colour banding, practically a look that hardware rendering smooths away. The demonstration is running Quake’s DOS software renderer at 800×600 locked at 60fps on a Dell OptiPlex 380, a resolution nobody could have used in 1996, which is a genuinely new thing to do with a 30-year-old renderer.

The comments push back correctly. delta_p_delta_x and BugsJustFindMe both make the same objection, which is that this is spatial anti-aliasing being off and would be more accurately titled “I love pixelated textures” — you can turn bilinear filtering off in any modern engine. That objection is right and it does not defeat the post, because the post’s actual subject is the LUT-based, non-programmable shading path, which a modern engine does not reproduce. jiffygist points at the Woof and Crispy Doom source ports, which still do software rendering at modern resolutions and are worth reading as SDL3 codebases. bob1029 supplies the historical correction: software rendering genuinely did better effects than GPU paths at the time, because a general-purpose CPU can do anything and programmable shaders did not exist until 2001.

Why We’re Banning AI — 253 points

253 points · 199 comments · currentaffairs.org · HN discussion

Current Affairs wrote an AI policy into its union contract and Nathan Robinson is announcing it: no AI-generated text may be published, no AI-generated art may be used as illustration. The framing is deliberately unfashionable — he cites Business Insider’s “all in on AI,” Sports Illustrated publishing pieces by writers who do not exist, and the general collapse of bylines — and it ends with the John Henry line about dying with the hammer in hand while the magazine asks readers to subscribe so it can pay humans. It is a subscription pitch, made explicitly, which is the honest version of this argument.

The thread is unusually well-behaved for an AI thread, and the split is interesting. Half the comments are endorsement. The other half contains the real disagreement, and ryanbrunner states it best: his workplace uses AI heavily, but holds the rule that if the audience is a human, the text should be written by a human. adamddev1 argues the more important problem is not jobs but that hallucinated material enters the written record and acquires the authority of publication. kolinko accepts research use and rejects generative output. Nobody in the top comments argues that AI-written prose is good, which after two years of this argument is itself the finding. The counterexample sitting on the same page is phatfish in the RPKI thread below, complaining that a vendor blog he was reading is obviously machine-written — and the accusation there is not that the content is false, it is that nobody bothered to write it.

90% of US working hours are spent on tasks not covered well by AI benchmarks — 251 points

251 points · 218 comments · mercor.com · HN discussion

Mercor mapped 29 benchmarks against the US Department of Labor’s O*NET taxonomy — 923 occupations and 18,797 tasks — and found that only 208 of 923 occupations have a task covered by at least 5 benchmark prompts, that 6 of 22 job families have no such occupation at all, and that coverage is concentrated in exactly the occupations you would guess: Computer & Math 29/36, Business & Financial 33/48, Personal Care 0/31, Transportation 1/52, Production 5/107.

The finding that makes it more than a gap count is what predicts coverage. Benchmarks over-represent AI-exposed tasks, which is circular but expected. Controlling for exposure, they also over-represent tasks from occupations with large wage bills, and within an occupation they are 6–10× more likely to cover tasks that O*NET experts rated most important. The authors’ own framing is that AI research is going after the largest labour markets first, and they state their limitation plainly: a chosen list of 29 benchmarks necessarily under-counts coverage, and the bias cannot be bounded.

The comments attack the measurement and the motive. Animats makes the cleanest objection: “90% of working hours are spent on tasks with little or no coverage” may just mean there are far more tasks than benchmarks, which is a statement about the measuring tool rather than about AI. OtherShrezzing goes after the phrase itself — “covered well” is being used to mean “covered at all,” and the social-work task “counsel parents with child rearing problems” counts as well covered because 13 prompts exist for it. 10111001 reads the wage-bill correlation as intent rather than accident. b800h names the right older idea, the Doorman Fallacy: replace the doorman with an automatic door and discover he was doing customer experience, which was never in the job description and never will be in a benchmark.

Simons Foundation launches $15M effort to help mathematicians navigate AI era — 246 points

246 points · 198 comments · simonsfoundation.org · HN discussion

The Simons Foundation, Anthropic and OpenAI are putting $15 million of combined funding and resources into an open call for proposals for workshops and initiatives that help mathematicians evaluate AI-assisted results, learn the tools and set collective standards. Simons manages and awards; the two labs supply tooling and compute. President David Spergel’s framing is the defensible half — the community should drive how the tools are evaluated, “not any single company or institution” — and the foundation’s history is real, including funding Lean’s development, which is what made machine-checkable AI-generated proofs possible in the first place.

The comments read the funders, not the funding. mrandish calls $5 million apiece from the two labs whose model releases triggered the crisis “PR whitewashing (partially in token credits),” while crediting Simons for administering it. muragekibicho predicts the money reaches the same well-funded names — a “donate $100 to the Node.js Foundation, not the packages” problem. efficient_dairy frames the transaction the way a cynic would: mathematicians provide the prompts, corrections and write-ups, the models absorb the signal, and the capability emerges through scaling. an0malous supplies the only actionable item in the thread: turn off model-improvement data sharing in both labs’ settings today, because the scraping happens after publication.

Using AI to reverse engineer hardware — 242 points

242 points · 233 comments · blogs.gnome.org · HN discussion

The author bought a Plustek 8200i film scanner because it was supported on Linux, found the chipset had changed to one that was not, and spent months getting nowhere on a SANE driver. Then he copied a tweet from Glorious Eggroll about fixing a mouse driver with AI and told Claude to build the same harness: a Windows VM that the agent controlled, scanning with the vendor’s own Windows driver while capturing USB traffic. Within hours he had a working scan on Linux; some days later he had a near-perfect driver including infrared scanning — and then discovered that in the interval someone had committed upstream support to SANE anyway. He reused the harness on his laptop’s MIPI camera next.

The comments are the story here, and one of them is the reason this belongs in the roundup. valdiorn runs a small pro-audio company and describes, in some detail, the panic of watching LLM-assisted competitors close on years of proprietary DSP work. revolvingthrow gives the practical recipe: connect the device, let the agent enumerate and probe it, which covers nearly everything except phones. Doohickey-d shows a user-space driver for a 2006 FireWire-to-USB box whose manufacturer drivers no longer work on modern systems. xnx asks for the version with the highest value per hour: smart TVs, where the prize is removing ads and residential-proxy botnets from tens of millions of devices. amelius proposes an AI that reverse-engineers hardware, checks patents and emails the owners, which is the business model someone will actually build.

Claude reveals ECDSA curve origins — 243 points

243 points · 93 comments · anthropic.com · HN discussion

This is the day’s best story and it is a footnote on a company blog. NIST’s standard elliptic curves, adopted in FIPS 186-2 in 2000, each carry a “seed” whose hash defines the curve’s b coefficient. The seeds came from the NSA with no explanation, which produced twenty-five years of speculation that the curves contained a backdoor deliberately chosen by someone who knew something. Koblitz and Menezes wrote the definitive summary of the concern; Filippo Valsorda put a bounty on the seeds.

An Anthropic researcher asked an internal model to figure out where they came from, without giving it the hint. In under half an hour Claude found it: the seeds are not hashes at all. They are the raw output of C’s lrand48, seeded with a Unix timestamp. The generator runs backwards as easily as forwards, so Claude stepped each seed’s state backwards until it hit the form srand48 produces — internal state every 65,536 steps, so a single hit proves nothing, but all ten prime-curve initialisations landed on Unix timestamps between May 1997 and April 1998, and the four binary curves read as February 1984, which double into 17 April 1998. P-256’s seed was candidate 1,842. The model’s own reasoning trace, printed in the post, includes “Hmm wait. Let me be skeptical: am I in some sort of simulated/test environment?” and then a self-check on the bit-level improbability of a 160-bit match from a 32-bit seed plus a small index. It also found the base points: six of them come from the RNG in Arjen Lenstra’s FreeLIP, seeded with a small integer, throwing away seven outputs.

Two caveats deserve to travel with this. The first is fidotron’s: this proves how the seeds were produced, not how the curves were selected. Candidates that were generated and discarded are invisible, so a search over timestamps for a curve with a desired property remains conceivable — and the post concedes that an earlier attempt to find the seeds as hashes of a humorous passphrase about “Bob and Jerry” was simply wrong. The second is the one Anthropic is quietly demonstrating: an internal model given a hard open problem, and no one outside can reproduce the run. slowin says it directly — Claude doing this for Anthropic while outside researchers cannot is a moat, and sweis summarises thirteen years of tinfoil hats with the actual answer: srand48(time(NULL)). The seeds everyone trusted were generated by a weak PRNG and a clock. They are also, as far as anyone can now show, benign.

RPKI now protects 70% of internet routes — 216 points

216 points · 98 comments · ipinfo.io · HN discussion

IPinfo’s measurement is that 70% of internet routes are now covered by RPKI origin validation, up from 54% a year ago — RPKI being the system that lets a network cryptographically prove it is authorised to announce an IP prefix, instead of BGP’s default of believing whoever shouts a more specific route. The historical hook is the 2008 Pakistan Telecom incident, where an attempt to block YouTube nationally leaked a more-specific route to PCCW Global and took YouTube offline worldwide for a few hours.

The composition of the jump is the interesting part: China went from 3.7% of its IPv4 addresses in valid routes to 83.0%, accounting for nearly 60% of the global gain when counted by address, and the post offers no explanation for why. The comments supply hypotheses and one real risk. 0xbadcafebee reads the timing as preparation for something. cowlevel names the structural concern: RPKI concentrates authority in regional internet registries, so a database in the Netherlands that Russia’s routes depend on is a single point of legal leverage — which is exactly what a system designed to remove trust from BGP introduces. teddyh credits part of the adoption to internet.nl’s scoring, which is the boring mechanism that usually explains these curves. Two commenters, phatfish and arcza, object that the post reads as machine-written and long for the underlying bullet points; phatfish’s complaint is not accuracy but that a vendor blog measured its own ecosystem and nobody wrote it.

Apple ML Research: Muse Spark Open with MLX on Mac Studio — 213 points

213 points · 100 comments · machinelearning.apple.com · HN discussion

Apple’s ML team published a post about running Meta’s nearly-trillion-parameter Muse Spark Open on Mac hardware, using a new MLX release and a low-latency RDMA over Thunderbolt 5 driver introduced in macOS 26.2, with new communication collectives (jaccl, pronounced “jackal”) to support tensor and pipeline parallelism across machines. The headline numbers: 36 tokens/second on a four-Mac cluster across pipeline and tensor-parallel configurations, up to 4.6× faster time-to-first-token than an M3 Ultra, 1.6× faster generation on the M5 Ultra, 1.2 TB/s of memory bandwidth, and 512 GB of unified memory per machine.

Read the benchmark legend carefully, because it is doing the work. The decode chart is at a context of 8,192 tokens, which mrboatshoepants calls out as not enough context to be useful for anything modern. peri-cl catches the comparison setup: Muse Spark Open is benchmarked at 4-bit quantisation while Qwen is shown only at native BF16, and “that’s not a quant most users would choose” — so the chart is partly a quantisation comparison wearing a model comparison’s clothes. janderson215 notes the post manages an entire press release about Meta’s technology without naming Meta outside code references. And liuliu supplies the numbers that matter for anyone actually buying: a single 256 GB M5 Ultra runs DeepSeek 4.1 Flash at about 45 tokens/s, and an M5 Max with 128 GB runs GLM 5.3 Flash fine — both models better than the one being showcased, on less hardware. ks2048 summarises the business model: Meta spends billions making open weights, and people send Apple $20,000 to run them, which is a good deal for exactly one of those companies.

Also new

  • Delta’s Biscoff cookies were supposed to be temporary — 243 points · 192 comments · seriouseats.com · HN discussion. The article would not load for extraction, so this is the piece’s premise from its own headline plus secondary coverage and the thread: a peanut shortage pushed Delta to find an alternative snack, Biscoff was meant to be interim, and Delta now serves 80–85 million of them a year. Lotus has baked every one in Lembeke, Belgium since 1932; the name is a portmanteau of “biscuit” and “coffee” adopted for the North American market; the airline had to fend off mail-order demand before retail existed. SoftTalker’s comment is the actual insight: he had assumed airlines dropped peanuts for allergy reasons, and it turns out the switch was a supply problem that never reversed. jmpman adds that Biscoff was one of the few snacks he could still eat on a GLP-1, which is a food-science data point nobody asked for.
  • Any window from your Mac, on your iPhone and iPad — 240 points · 73 comments · github.com/Saffsanity · HN discussion. Sill streams any macOS window to iOS as a native, fast surface rather than a VNC session. alin23 calls it seamless and says it replaced VNC immediately; gumby points out iPad already has Sidecar and the genuinely novel part is the phone; greenspam asks for the reverse direction. The detail worth noting is how alin23 found it: a 60-second AI-generated demo video with 230k views, discovered through a YouTube recommendation, which is a distribution channel that did not exist eighteen months ago.
  • Yet another way to invoke functions without parentheses — 235 points · 101 comments · blog.ikaes.de · HN discussion. A genuinely clever XSS gadget: overwrite Error.prepareStackTrace — which shares the Function constructor’s signature — so that accessing .stack generates a function from the stack array, then control Array.prototype.toString (directly, or via prototype pollution of Object.prototype.message) so the array’s string form is your payload. CrendKing supplies the kill shot: prepareStackTrace is a V8 extension, so it does not work on Firefox. amelius wants postfix application (((x)f)g)h and MattCruikshank wants a book enumerating every way to move data from here to there, which is a better book than most of what gets published.
  • More on Anthropic’s Scion ripping off Mononoke — 249 points · 84 comments · sunshowers.io · HN discussion. The follow-up to yesterday’s 412-point attribution grievance, by the same author, now at 249 points in its own right. It is included here because it was found by the date sweep rather than the rank window, and because a second instalment climbing on the same day the first is still on the page is the clearest evidence that this site will take the same argument at least twice.

Still climbing

Every story below was covered in a previous roundup. The deltas are the story: the top of the page has not turned over, and two stories added several hundred points without a word of new reporting.

Story Then Now Δ
Things to know when you get cancer 1,830 (10-15) 1,924 +94
Gemini 4 Argon 1,454 (10-15) 1,461 +7
Do dentists know what they’re doing? 940 (10-15) 975 +35
Muse Spark Open 367 (10-15) 896 +529
OpenCode 2.0 837 (10-15) 877 +40
AI is a tool and using it well takes skill 784 (10-15) 798 +14
Neural networks are clean 309 (10-15) 792 +483
Tiny Little Office 643 (10-15) 688 +45
Wayland desktop with skeuomorphic design 397 (10-15) 679 +282
Americans’ social activity has steeply declined 556 (10-15) 579 +23
AdFection: targeted ads to zero-click spyware 269 (10-15) 492 +223
I know why the mathematicians weep 293 (10-15) 383 +90
Wanted to download an ISO, ended up writing a kernel exploit 313 (10-15) 368 +55
Show HN: Unfenced 217 (10-15) 309 +92
Libreboot 26.10 “Ominous Olive” 210 (10-15) 304 +94
Show HN: Petal 208 (10-15) 220 +12
Online ads weaponised to deliver zero-click spyware 475 (10-15) 511 +36

Three of those deserve a sentence. Muse Spark Open went from 367 to 896 in a day, which is a 2.4× move on a model announcement that published no benchmarks — the second day of an argument is often worth more than the first. Neural networks are clean went from 309 to 792, which means Nick Cammarata’s 20,000-word challenge to the superposition orthodoxy found its audience overnight rather than on publication. And the AdFection spyware research is now on the page three times — Citizen Lab at 492, the Guardian at 511, The Verge at 245 — which adds up to more points than any single story on the page today, from three accounts that do not claim the same thing.

Throughline

Today’s page is an argument about verification, and the uncomfortable part is that the stories asking to be trusted and the stories asking you to trust nothing are the same stories.

Consider the demos. Tesla flew a car, and the launch gave no price, no delivery date before 2028, an invite-only configuration that is explicitly not road-legal, and a range less than half of what was promised nine years ago; every number in it is a claim about a vehicle that does not exist, measured by the company selling it. Krea published a 10× speed claim under a caption that admits the comparison is pre-rendered output played back at an illustrative rate and that one competitor’s price is a draft estimate. Apple benchmarked Meta’s model at 4-bit against Qwen at BF16 and published a decode chart at 8,192 tokens of context. Mercor shows that 90% of American working hours have little or no benchmark coverage and then leans on a correlated variable from O*NET’s expert ratings. IPinfo measured its own ecosystem’s RPKI adoption, and its biggest single number — China moving 79 points — has no explanation in the post. The best-defended measurement on the page is a hobbyist’s, and Zach Landes’ answer is that the same decision model kept its own server in 16 of 48 wordings of an identical question while a competitor’s did it in 47. Not one of these is fraud. Every one of them requires you to take a number on faith from the party that benefits from the number.

Now the part that should bother you more. When something is measurable, someone eventually measures it, and today the answer was srand48(time(NULL)) — twenty-five years of professional cryptography resting on seeds produced by a weak PRNG and a clock, in a run that started in May 1997 and finished in April 1998, and the only reason we know is that a model inside one company was pointed at the problem. fidotron’s objection is the one that survives: knowing how the seeds were generated tells you nothing about whether the discarded candidates were searched for a property, and the artifacts that would settle that were never archived. The ECDSA result is a relief and it is also a demonstration that the constant under everything was unexamined for a quarter of a century.

Which brings the page together with the stories about who owns what you produced. Meta wrote itself scraping rights into a terms-of-service update and set the consent mechanism to “continuing to use your business account,” which as amluto points out may be a licence the publisher cannot legally grant. Withings put a $99/year paywall in front of a local HealthKit write and cited an AI connector as the reason. Krea also ships only through its own API unless you are an enterprise buyer. Against all of it sits a 628-point essay about a 16 GB mini PC bought for €180 that runs 30 self-hosted services, applies no outward exposure beyond a VPN endpoint, and exists because the author did not want his son’s viewing choices decided by a recommendation model. That is the same calculation as the RPKI thread’s warning about a registry in the Netherlands, and the same one behind cebert’s comment that he cannot wait for someone to reverse-engineer his scale so he can sync it himself. The reliable pattern is that the more of a thing you depend on, the fewer options you have, and every party you depend on has now noticed.

Yesterday’s roundup ended on the arXiv paper claiming models can provably hide capabilities. It is not on the page today — the story did not survive the window — and nothing that replaced it changes the conclusion. Twenty-two new stories, and the best of them is a satisfied “yes, we checked, and it was sloppiness rather than sabotage.”


Sources: the Hacker News front page, 37 stories at or above 200 points in the top-160 window captured on 2026-10-16, 22 of them new, plus one found by a 40-hour date sweep. Article text extracted via Firecrawl; comment threads read through the Hacker News Firebase API; prior-day scores parsed from the four previous roundups. Three things could not be verified and are flagged in place: the Tesla Roadster page returns Akamai “Access Denied” to every extraction method, so its specifications come from AP, Reuters and The Verge coverage plus the HN thread; the Serious Eats Biscoff article serves a verification wall, so that entry relies on secondary coverage and comments; and Krea 3’s speed and price comparison is explicitly labelled pre-generated, so it is reported as a claim rather than a result.