Fifty-eight stories cleared 200 points today, twenty-four of them new. The biggest new item is not a launch: it’s an unreleased Pentagon review, reported by Bloomberg, concluding that an AI targeting system recommended a school as a day-one target in Iran and that the human team whose job was to catch that had been cut from ten people to one. The rest of the new crop is unusually coherent for a Wednesday — an argument about whether a decision model is a model or a logit lookup, a critical WordPress RCE, an OTA update that froze a fleet of refrigerators, and two essays about the same rule from opposite ends of the software life cycle.
The short version: yesterday’s front page was about pricing. Today’s is about what happens when you delete the human step and keep the confidence.
Pentagon says overreliance on AI contributed to missile strike on Iran school
870 points · Bloomberg
Two Tomahawk missiles hit Shajarah Tayyebeh Elementary School in Minab, southern Iran, on 28 February, the opening day of the war. More than 150 people died, at least 123 of them children. Seven months later an internal Pentagon review — unreleased, reported by Bloomberg through officials involved in it — concludes that outdated intelligence, gaps in civilian-harm review, and overreliance on Palantir’s Maven Smart System contributed to the strike. The school was still catalogued as an IRGC facility on intelligence nobody had refreshed. Maven pulled it out of a batch of candidates and returned it as a recommended day-one target. Target-list work that used to take hours was compressed into minutes. More than 1,000 targets were struck in the first 24 hours.
The half of the failure that has nothing to do with software is the half the thread underweighted. Defense Secretary Hegseth had cut civilian-harm mitigation staff across the Pentagon by roughly 90%, to fewer than 20 people; CENTCOM’s team went from 10 to 1. No CHM team member reviewed the Minab site before the strike — which officials describe as both a consequence of the cuts and a decision not to involve the group at all. So the “human in the loop” that Maven’s defenders would point to existed on the org chart and not in the workflow. The quoted language from the review is harsher than “we relied too much on a tool”: the US “failed in its obligation to do everything feasible to verify” the target, and “directed the strikes at the building of the school while being aware of a substantial risk of striking a civilian object and acting recklessly.” That is a legal finding about a decision, not about a system’s accuracy.
CENTCOM’s fix is three parts: a revised workflow for refreshing and vetting planned targets, new open-source data feeds to track civilian movement, and dozens of upgrades to Maven — the headline one being new capability that has Maven “re-review underlying intelligence to identify factors that would disqualify a target and flag inconsistencies and inaccuracies that human review may have missed.” Read that sentence twice. The system is now being asked to catch what the people who were removed used to catch. That is a real fix on the margin and it is not a substitute for the staffing, because a model flagging disqualifying factors is still a probabilistic filter with a threshold somebody sets, and the threshold was the whole problem.
The thread split exactly the way you’d expect and both halves are right, which is why it’s worth stating both. One camp says AI is the scapegoat: the intelligence was stale, the review was rushed, the humans signed off, blame the process. The other says that’s the point — the failure isn’t that Maven was wrong, it’s that AI lets an understaffed organization process a thousand targets in a day with the same apparent rigor as ten, and the appearance is the danger. A third comment pointing at a September CNN report — US forces nearly boarding a Chinese ship on an AI-assisted intelligence report claiming nuclear-weapons components — is the better framing of the second camp’s argument: this is a pattern of delegating analytic judgment and inheriting its confidence.
Mark Riedl’s reaction, shared on Bluesky and worth quoting, is the cleanest version of the actual regulatory problem: “‘Human-directed’ and ‘human-in-the-loop’ are such wiggle words.” It matters whether the human made the decision or merely didn’t veto it, and no current procurement language distinguishes the two.
‘We hacked the FBI:’ Hackers say they have data on all FBI employees
779 points · 404 Media
ShinyHunters claims it breached multiple FBI-related services and holds data on all FBI employees and applicants. The sample of 5,000 alleged agents that 404 Media reviewed includes names, home addresses, phone numbers, and information about spouses. The group told 404 Media it does not consider its plan extortion — “maybe coercion” — and said the motive isn’t financial. 404 Media’s framing of the stakes is the correct one and doesn’t need embellishment: criminals in ShinyHunters’ ecosystem have previously mined breached telco data to track and harass the FBI agents investigating them, and a roster with home addresses plus spouses is a materially different artifact from a credential dump.
Calibrate before panicking. What’s established: a claim of complete coverage, a sample of 5,000 records that 404 Media saw, and an unnamed service or services breached. What is not established: whether the full roster is real, how current it is, whether the records are a scraped aggregation of public and commercial data rather than a database theft, and which FBI systems were the source. “Data on all FBI employees” is the attacker’s claim, and the historical base rate for that claim is that the true coverage is partial — the 2015 OPM breach (22.1 million records) is the comparison everyone reached for, and it was a real breach of a real database that the claims were checked against.
The reaction that carried the thread was fatalism rather than analysis, and the fatalism is defensible: a commenter’s point that nobody has demonstrated the ability to keep a large database safe while every medical, financial and biographical record about every American is being accumulated somewhere is where the honest conversation sits. The one genuinely useful rebuttal is structural: these datasets don’t need to be breached to be dangerous, because the Federal Register, voter rolls, property records, court filings and data brokers already compose most of it, and the marginal value of the breach depends on the part that isn’t public — official identities tied to current assignments, or the applicant pool, which reveals intent rather than employment.
How to Write with an LLM
759 points · sockpuppet.org
A short, hard-edged method piece, and the best writing advice on the page in months. The diagnosis up front: readers detect model prose at the parts-per-trillion level, so however much you scuff it up, an LLM paragraph registers as output rather than writing — which means you have to write it yourself. The model goes in the copyeditor seat, not the author’s chair.
The two rules are the contribution. Rule one: you may not use a single word an LLM suggests. Not because the suggestions are bad — they’re supernatural, that’s the whole trick — but because frontier models are wedged in a mode where every sentence they emit is a magazine headline, and an article made of headlines is written by someone you’d worry about. The rule is framed as intellectual PPE precisely because you cannot reliably spot where the contamination is: even when the suggested phrasing is better than yours, it’s disqualified. Rule two: avoid encouragement. This is the subtler one and it’s about a mechanism, not taste. Hand the model a draft and it tells you it’s gold. Then it tells you the paragraphs are fine. Then the transitions, then the word choices, then the metaphors. Since you’re being validated at every level, you stop doing the rethinking — and the rethinks are the load-bearing part of your voice. The author’s workaround for years was to lie in the prompt that he was an editor screening submissions rather than the author, which is a genuinely clever hack: it converts sycophancy into criticism by changing who the model thinks it’s talking to.
The thread pushed the method further than the post did, and the commit-message point is the one I’d keep. A developer who now writes every commit message and PR description himself — allowing models to check for factual accuracy but never to rephrase — reports the direct benefit: reading to write means actually absorbing the diff, and agent-heavy workflows make skimming the default. That’s the same argument the post makes about prose, transferred to code review, and it’s the strongest reason to write your own commit messages even when the tooling offers to generate them.
The counterweight is a commenter who describes the reading experience from the receiving end — checking every paragraph for model contamination, finding it, and losing the pleasure — plus the blunt version: if you can’t spend the time to write it, why should anyone read it? Fair, and it’s an argument about the equilibrium, not about any individual post. The one thing the post under-weights is the accuracy pass, which several commenters say is the genuinely high-value use: a non-hallucinating check on whether your claims survive contact with the documentation. It’s not editing and it’s not writing. It’s the verification step, and it’s the one place the model’s incentives and yours are aligned.
Jev in 25 Lines of Python
555 points · nobodywho.ai
TypeSafe’s Jev — the “system one” decision model that has consumed the last several days of the front page — reproduced as a script small enough to read in a sitting. Load a GGUF (the demo uses Qwen3-0.6B, quantized, 512-token context), format a prompt with labeled options, eval the tokens, look at the logits for the tokens you care about, normalize. Twenty-five lines. The post’s framing is openly dismissive: everyone and their mom is talking about Jev; we don’t really think so. The argument underneath is not that Jev is a hoax — it’s that the interesting part was never the model.
That reading matches everything else published this week. Yesterday’s thread on OpenAI fast-following Jev had the same shape, and this one adds the implementation detail that matters: if the trick is a single forward pass with logprobs over option tokens, then a frontier lab can replicate the training without inventing any capability, and the entire defense is calibration and packaging. The thread’s best objection is where the trick leaks. Using a chat model as a base is “always icky” because you’re reading probabilities from a model trained to emit prose, so the option tokens’ mass is diluted by whatever the model wanted to say instead — which is why several commenters say structured outputs or a constrained assistant prefix is required, and why the demo defines its choices in the prompt at all. The second technical note is better than the post: because of causal masking, put the options before the body of the text you’re classifying. The model then knows what it’s looking for while it builds state, rather than being asked to hold both in one pass.
The most substantive pushback came from someone who built the same thing with embeddings and ridge regression — trained in under a second, calibratable via conformal prediction because the training set is in-domain, with the sharp observation that a generic decision model’s confidence scores are uncalibrated for your data by construction. The honest summary from a third commenter is the one to remember: the demo gets you 80% of the way, and the remaining 20% is edge cases, infra, API and communications. Analogy-level arguments work at the level of abstraction they’re pitched at, and “it’s a classifier” is true and also true of everything.
How did AMD Ryzen get 50% faster in two years?
466 points · lemire.me
Lemire takes the three 8-core X3D desktop chips — 5800X3D (Zen 3, 2022), 7800X3D (Zen 4), 9800X3D (Zen 5) — and prices the progress. Geekbench 6: single-core 2,016 → 2,426 → 2,969; multi-core 11,832 → 15,508 → 18,751. That’s 47% faster on one core and 58% across all of them in two years, on chips that ship at the same core count and the same 3D V-Cache configuration. Clock explains almost none of it: max boost moved 4.5 → 5.2 GHz, a 15% increase, with base clocks doing most of the lifting on the frequency side.
The answer is transistor budget and where it went. Roughly 11 billion → 16 billion, up 50%, and most of the increase landed in the core rather than the cache. What that bought, concretely: dispatch width 6 → 8 instructions per cycle, L2 per core 512 KB → 1 MB, L1 data 32 KB → 48 KB, integer ALUs 4 → 6, and the reorder buffer 256 → 448 entries, which is the number that determines how much latency the machine can hide. SIMD is the step change rather than an increment: Zen 3 and Zen 4 had four 256-bit vector units, Zen 5 has four 512-bit units, with two 512-bit loads and one 512-bit store per cycle. Then the honest caveat, which Lemire states and which most coverage omits: these are Geekbench numbers, an aggregate, and the per-workload picture varies. The reply that makes the point is a commenter reporting a tuned Zen 5 workload at a sustained 6.0 IPC/core (3.0 per thread) at 5.1 GHz with >99.8% branch prediction and >99.99% L2 hit rates — i.e. the chip is only this fast when the software stops getting in the way, which is the actual answer to “are CPUs stagnating.”
The thread’s second, less flattering note is worth keeping: consumer desktop Ryzen’s failure rate on motherboards and CPUs came up unprompted, with ASRock named, and nobody had a clean answer. Fewer people upgrade when a platform’s reliability is a rumor — which is a boring drag on exactly the adoption these numbers should be driving. The comparison that sticks is the historical one: Ryzen is to AMD what Nehalem and Core were to Intel, and the 2010s FX line is what the alternative looks like.
Microsoft killed FoxPro in 2007. Anyway, here’s FoxPro revived
452 points · foxscript.org
FoxDev Studio — FoxScript’s runtime and IDE — opens existing Visual FoxPro projects, forms, class libraries, menus, reports and tables in place, with no migration or export step. The pitch is behavioral fidelity as an engineering discipline, not a marketing claim: the runtime’s answers are settled by asking Visual FoxPro itself and matching the output, rather than reading a reference and guessing. The project publishes the coverage numbers: 1,722 elements of the VFP 9 language reference known to the runtime, 1,534 of them exercised by tests that compare against the original product’s answer, three names not yet met. The compiler and bytecode interpreter are written in Rust and compiled to WebAssembly, running your code as a fiber that yields to the host rather than blocking, and the editor lints through the same compiler the runtime executes — so what’s underlined is what would actually fail.
The two technical escalations over the original matter more than the nostalgia. First, everything is 64-bit: file offsets go from a signed 32-bit 2,147,483,647 bytes to 64-bit, the table is never read into memory, and the 2 GB table and memo ceilings become hundreds of gigabytes. The published warning is the good kind — grow a .dbf past 2 GB and it will not open in Visual FoxPro again; if you work in both, that’s a one-way door. Second, the 32-bit boundary is solved by a host process: 64-bit libraries load in-process, while your legacy .fll still runs in a 32-bit shim, with SET LIBRARY TO fllhost.exe as the seam. That’s the correct architectural call — pretending 32-bit COM and FLLs don’t exist would have made the thing useless to the people who need it most.
The thread’s substantive objection is a security one and it’s not addressed by the site. Visual FoxPro’s database container has no permission scheme: to be useful, the DBC has to be read/write for every user, its stored procedures (triggers, for instance) live as plain text in a memo field, and those procedures can execute arbitrary FoxPro code including Win32 calls through the runtime. Which means a DBC on a shared drive is a writable, plain-text, code-execution surface that predates “supply chain” as a phrase. Reviving the IDE doesn’t create that hole — it inherits it, on new machines, in 2026. The other half of the thread is the reason it will work anyway: the businesses still running FoxPro are large, conservative, and uninterested in your rewrite. One commenter checked with an industry contact while reading the thread and confirmed: still on FoxPro, in 2026, across an industry segment worth billions. The retro-engineering here is well-built. The question nobody in the thread answered is what happens to DBC security when the runtime gets a 64-bit path into the future.
Claude Code reads AGENTS.md only when telemetry is on [fixed]
408 points · blog.szypowi.cz
A clean bug report, and the failure mode is worth more than the bug. Claude Code 2.1.277 announced AGENTS.md support — if a project has no CLAUDE.md, load AGENTS.md instead. The author keeps telemetry off in his shell, and the file never loaded. The reason, from the vendored plugin registration in the 2.1.280 bundle: the agents-md plugin’s isOnByDefault is false, and its isAvailable calls a remote feature flag with false as the fallback. Reading a markdown file from the working directory requires no network access at all; the loader was gated on a server-side switch whose reachability depends on the telemetry channel the user had deliberately closed. Measured with a canary word in an isolated directory and two sessions per configuration (the first fetches the flag, the second uses it).
Anthropic’s response, on the record in the thread from an engineer: rollout artifact, remote kill-switch, “with telemetry off you don’t get those,” fixed in 2.1.281 the same day, and — this is the part that lands — “this was a fully human error on my part; I should’ve found a better way to launch with a kill-switch.” That’s about as good as an acknowledgment gets. It doesn’t change the structural fact the author was pointing at: a privacy-preserving configuration silently changed local file behavior, and the only way to discover it was to disassemble the bundle. Someone in the thread describes it as exactly the class of subtle-but-severe bug that accumulates when AI-generated patches are layered onto a codebase without deep review, and that inference is speculative — but the pattern it names, a local capability that quietly depends on a remote flag, is real and it is being deployed at scale across this product category.
Two practical notes from the thread that are worth more than the post-mortem. First, AGENTS.md still loses to CLAUDE.md by design, and the lookup walks up outside your repo: a ~/CLAUDE.md will suppress project AGENTS.md files everywhere. The non-default claude-md-and-agents-md setting is the fix. Second, the naming war itself — AGENTS.md as a cross-vendor convention versus vendor-specific pins — is exactly the kind of coordination problem that gets settled by whoever ships first and then defended with feature flags.
What California is learning from solar panels built over irrigation canals
339 points · KQED
Project Nexus, on the Turlock Irrigation District’s canals at Hickman: solar over working irrigation ditches, conceived by Jordan Harris after noticing trees lining canals in France and asking why California doesn’t shade its water. The pilot was fully energized last year and tests three distinct designs rather than one — a wide-span canopy over a 115-foot canal, conventional slanting panels over a 20-foot canal, and accordion-style retractable panels sitting low across a narrow canal so they can roll up for maintenance. The dual-use logic is that the land is already disturbed concrete, so the panels add generation without new land and shade cuts evaporation in the same transaction.
The numbers come from Roger Bales at UC Merced, co-author of the 2021 study that convinced the state to fund the pilot, and they’re specific enough to check against: panels over 100 miles of Turlock’s narrow canals would save water for about 2,700 households annually; over 100 miles of the wide canals, roughly 11,000 households’ worth. Generation estimates are 330 to 1,400 MW per hundred miles depending on canal type, enough to power 77,000 to 304,000 homes. Context for why anyone cares: UC Davis projects California’s total water supply could shrink by up to 25% by 2050, about two Lake Shastas, and the state is at 62% renewable and zero-carbon electricity with a 2045 target that requires an unprecedented build-out.
The skepticism in the thread is legitimate and mostly about cost, not concept. The wide-span supports in the photographs are not cheap, and a commenter’s a priori argument — put panels in an adjacent field and build a cheap shade structure over the canal instead — has the virtue of being testable, and the pilot exists partly to test it: three designs, one of them explicitly low-cost and retractable, is the right way to answer it. There’s also real-world evidence the shade-first logic works at reservoir scale: the state has been covering reservoirs with millions of black shade balls for years for exactly this reason. The most pointed comment is that California has spent decades not doing the cheap version of this, and the reason isn’t engineering. The best one is the simplest: why not plant the trees? Trees need water, maintenance and decades; panels pay for part of themselves. That’s not a rebuttal, it’s the answer, and it’s the kind of tradeoff the pilot is designed to price.
Grammarly will send unhinged messages to all your users if you try to cancel
332 points · r/sysadmin
The pattern: an admin tells Grammarly the organization isn’t renewing. Grammarly responds by emailing and pushing in-app popups to every licensed user in the company without warning, and — the detail that made this a sysadmin PSA rather than a complaint — lists the direct email address of the person on the team who handles licensing. The org’s leadership response was to nuke the emails from mailboxes and rip the apps off every endpoint. Whatever retention strategy this is, it converted a planned deprecation into an emergency.
The commercial subtext is more interesting than the incident, and the thread got there immediately: Grammarly is in trouble because the LLM boom ate its value proposition. The original product was a deterministic grammar linter built from a rules corpus, and it was genuinely good for people with dyslexia, for tone, for non-native English writers — the current version replaces whole sentences with model output, which the thread describes as random and biasing toward engagement-optimized prose. The structural problem is upstream of that: if Gmail offers to write the email, nobody needs feedback on an email they didn’t write. Two independent commenters made the same prediction without hedging: this product and its revenue model are on the way out.
The part worth keeping is the least discussed. In Europe, this is a consumer-protection matter rather than a support-ticket matter — unsolicited bulk mail to your users after a cancellation notice, with a named employee’s address in it, is the kind of conduct that agencies accept complaints about. Several commenters said so and the OP’s jurisdiction wasn’t specified. The general lesson: automated retention campaigns fail in ways that scale, and the person whose email gets published is never the person who built the campaign.
SAML: A fractal of bad design
331 points · Trail of Bits
The case for retiring SAML, argued by people who spend their lives in it. The history is the diagnosis: OASIS’s 2002 committee merged four competing XML security protocols — Netegrity’s S2ML, Securant’s AuthXML, VeriSign’s X-TASS, Jamcracker’s ITML — into one spec, because that’s what committees do. Twenty-four years later the fielded implementations mostly wrap libxmlsec, a C codebase the post describes as gnarly and nobody reads, and the protocol’s correctness rests on XML signature validation, which Thomas Ptacek’s 2023 quote calls “deeply cursed.” The proposed replacement is OIDC, and the article’s through-line is that SAML is being crushed by its own complexity, not by any single vulnerability.
The thread’s horror story is the one to keep, because it’s about defaults rather than a bug: the main C implementation of XML signature verification used to accept not only a signature checked against the specified public key, but also an HMAC computed with a password taken from the attacker-controlled document, and a signature validated against web PKI — meaning an attacker could sign the SAML assertion with the TLS key for their own domain and have it accepted. Commenters’ conclusion, “I honestly don’t know how sites with SAML aren’t getting hacked all the time,” is rhetorical but points at the real defense: the ecosystem converged on a small, hardened subset of a large spec, and most of the complexity is dead weight that only exists to be implemented wrong.
The pushback is correct and incomplete on both sides. SAML still does things OIDC handles badly for enterprise SSO — notably IdP-initiated flow — and the commonly-implemented SAML subset is stable in its mediocrity, whereas OIDC is a constellation of specs with uneven vendor support. A fair criticism of the post that the post earns: it catalogs SAML’s vulnerabilities without running the same audit over OIDC, which has its own well-trodden failure classes — JWT algorithm confusion, none algorithm acceptance, missing audience checks, JOSE library bugs. And the line that reframes the whole debate: after you finish migrating, the thing you’ll spend the next three years on is SCIM inconsistencies between identity providers. The protocol isn’t the problem. The protocol is just where the problem is legible.
Claude Opus 5.5 Intelligence, Performance and Price Analysis (Max)
326 points · Artificial Analysis
The independent-measurement page for yesterday’s launch, at max reasoning effort, and the numbers do more work than Anthropic’s announcement did. Opus 5.5 at max ranks #1 of 212 models on Artificial Analysis’s Intelligence Index at 58 — the top of that table — while sitting at #93 of 212 on cost: $4/M input, $20/M output, a 95% cache discount, and $5.98 per Intelligence Index task. The verbosity ranking is #95 with 260M output tokens on the index. That’s a coherent picture: the best model on a third party’s composite, at a price that is mid-pack rather than premium, which is a stronger claim for the model than anything in the vendor’s own post.
The thread’s most useful contribution is a product-level complaint about the eval configuration rather than the result. Someone tried the standard pelican-on-a-bicycle SVG prompt at max effort twice and both runs exhausted the 128,000-token budget while still reasoning about the problem — with the inference that “max” may be near-useless if it’s that easy to blow the budget on a toy task. That’s an argument about how the reasoning-effort dial interacts with output limits, and it’s the kind of finding no vendor benchmark reports because vendor benchmarks select for completed runs.
The second contribution is the one every roundup this week has circled: a commenter re-ran internal evaluations for a model that had been benchmarked at launch and found it had regressed to parity with its cheaper sibling. One run, explicitly hedged, but the concern is structural — providers optimize hard for the launch window, customers switch on launch-window numbers, and the measured object changes afterward. If independent evaluators don’t re-run these pages weeks later, the page is a launch artifact with a third party’s logo on it. The third is the standing efficiency argument, now made with fresher numbers: frontier models are slightly better than open weights at roughly 100x the price, and “good enough” has eaten “best” in every previous computing transition.
There’s a high chance of devices being sold with GrapheneOS preinstalled in 2027
304 points · GrapheneOS on Mastodon
The actual post is one sentence — devices sold with GrapheneOS preinstalled in 2027 are likely, “but probably not for the initial launch” — and the substance is in the replies, which is why the thread is on the front page. The project confirms Motorola Mobility (Lenovo) is an official partner helping bring GrapheneOS to a subset of future devices: the first device with support will be a high-end flagship launching in 2027, broader device coverage follows as Motorola’s update and security-feature commitments meet GrapheneOS’s requirements, and the distribution channel for preinstalled units is probably not Motorola’s own store but another company supplied directly by Motorola. Budget devices are planned once they clear the bar.
Two clarifications from the thread that the headline obscures. First, this is about preinstallation — for the planned models you can install GrapheneOS yourself, and if it’s like the Pixel process that’s a website-driven install, which is the actual unlock. Distribution is the hard part of a privacy OS, not capability. Second, “preinstalled by someone other than the project” is a specific business decision: it means the preinstalled devices get someone else’s support pipeline, and it frames the GrapheneOS question as “do you want to escape Google’s stack without becoming your own sysadmin” rather than a purity test. The Pixel 11 Pro XL comparison in the thread — the Motorola Signature beating it on hardware, shipping outside the US at prices around $1,230–1,460 — is why this could matter commercially rather than symbolically.
The objection worth taking seriously is the price of the niche: privacy-focused devices and OSes tend to ship on premium hardware, which restricts the audience to people who can afford a bad-value phone for ideological reasons, and the wishlist commenter listing what they actually want — no DRM, no serial identifiers, no device attestation, no locked bootloader, reprogrammable IMEI — is describing a product that no major manufacturer will sell, partnership or not, because device attestation is how banks and governments get their guarantees. GrapheneOS’s realistic win here is smaller than the headline: a second vendor in the supply chain, on a flagship, in 2027. In a market where Pixels were the only real option, a second vendor is not nothing.
Fixing the Portobello Police Station Clock
294 points · pointinthecloud.com
The setup is the best thing about it: Action Porty, having bought the derelict Portobello Police Station for community use, put out a call asking whether anyone knew how to change the time on its clock tower. The author and a friend went up a very tall ladder to find out. What the piece is actually about is what a late-nineteenth-century turret clock looks like up close — the mechanism, the access problem, and the fact that a clock that served a building for over a century has no documentation because the people who maintained it simply knew how it worked.
There’s no vendor to be skeptical of and no claim to test, which is a large part of why it works as a front-page story: it’s a reminder that most of the built environment is maintained by people solving problems with their hands, and that the knowledge is dying with them. The thread’s contributions are the best possible versions of themselves — one commenter describes the residue from a dusty church attic triggering a secondary screening at an airport, another suggests programming the bell for 9am/noon/3pm/6pm on weekdays so the neighbors get the sound without the annoyance, and a third realized his father used to work in that police station. Plus a link to Fred Dibnah on Big Ben, which is the correct reference to drop and which nobody needs explained.
Italian parliament votes for return to nuclear energy
279 points · AP
Italy’s Senate gave final approval on Wednesday to a government enabling law on nuclear power, 81 votes in favor, 51 against, 7 abstentions — bringing the country back into nuclear after nearly four decades. Italy’s reactors were shut and the program killed after the 1987 referendum that followed Chernobyl, so the headline that ran everywhere (“40 years after Chernobyl”) is accurate to the year and slightly generous to the causality: the vote was a gut response at the time, and reversing it took a government willing to spend capital on it. The law is deliberately limited: it does not authorize any reactor. It gives the executive the power to issue the implementing decrees, which is the actual work, and the stated direction is small modular reactors and advanced technologies rather than a revival of the large plants of the past.
The thread’s skepticism is the correct axis and it isn’t about safety. Nobody in the discussion could name an SMR that has entered construction, let alone operated — GE Hitachi’s BWRX-300 and Rolls-Royce’s SMR are the reference points and both are still pre-construction — so Italy has legislated a framework for a technology that hasn’t demonstrated a deployment model. The sharper objection, from a commenter who has read the proposals: none of them address the full cycle, from deployment to eventual decommissioning, as a function of total revenue versus operating cost, which makes them structurally look like vehicles for investment rather than power generation. The Italian commenters on the thread are mostly pleased and their reasoning is the honest kind — the vote that banned nuclear was a reaction to an accident, not an assessment of the technology — and one nice artifact of that era surfaced: municipal signs in Italy still describe towns as denuclearized municipalities. That’s the level of symbolism this law is fighting, and it’s also the reason the law is written as enabling authority rather than a build program. Nothing gets built without a decree, and no decree requires a bond to be financed.
I don’t want the details
270 points · michaelheap.com
The setup: something broke, the author was pulled onto a call with an SVP, started explaining the mechanism, and got cut off — “Michael, I don’t want the details.” The SVP’s reasoning is quoted verbatim and it’s the reason the post exists: if we go into the details, the reasons will be perfectly reasonable, you’ll explain the decisions, I’ll understand them and empathize, and then it’ll happen again. So I don’t want the details. I want to know what we’re changing. The author’s initial read was dismissiveness, and his revision is that being cut off was the SVP assuming competence: I already believe you, now let’s talk about the next system state.
The argument the post builds from that is that “why did this happen?” produces a narrative artifact — timelines, reconstructed decisions, dependencies — and narratives are consensus machines that manufacture forgiveness. The recommended question is “what are we changing so this class of failure is less likely?” Which is right as far as it goes, and the thread correctly identified where it goes wrong. The first objection is logical: knowing why is the only way to know what to change, and the post’s own worked example does “why did this happen” immediately before proposing “what are we changing,” which makes the dichotomy look manufactured. The second is cultural, and it’s the better objection: Amazon’s Correction of Errors culture was effective because responsibility ran up the management chain — if the manager didn’t dig into the root cause of a SEV2, the director was going to, and the requirement to understand the mechanism is what kept ownership honest. “Skip the details” is an efficient instruction in a mature organization and a permission structure in an immature one, and it’s the same sentence either way.
The reading I’d take: the SVP is right about the meeting and wrong as a general principle, and the post is right to say it out loud because the general principle is what gets copied. A leader who says “I don’t want the details” while already having read the timeline and the diff is doing triage. One who says it without reading either has delegated the diagnosis to the people whose judgment produced the incident. The post can’t tell the difference from inside the call, and neither can you, which is the risk.
The darker side of being a doctor
250 points · Dr Eric Levi
A surgeon of 13 years, prompted by the suicide of a Brisbane gastroenterologist, writing about his own dark seasons with the specific vocabulary of the condition: depression, anxiety, burnout, suicidality, hopelessness, lethargy, anhedonia. His framing device is that these are different flavors of the same human response to stressors, multifactorial by definition, and not reducible to family history, genetics, environment or support network. He has never had suicidal ideation and says so up front, which makes the piece more credible rather than less.
The structural half is the part the thread extended. His account of work as the exacerbating and perpetuating factor in those seasons is not a story about hours: it’s that a vocation has been reframed as production, with the practitioner as an employee in a metric system designed for warehouses. The comment that sharpens it is from a US physician who points out that the independent-contractor model in private-equity-owned practices means the headline salary carries no vacation, no paid time off, no sick days, no retirement and no malpractice coverage — and that the pipeline is failing at the entry point, because the debt, the low-income training years and the administrative control now outweigh the compensation. A second commenter says the uncomfortable version: the US needs far more doctors, which requires faster and cheaper training and lower pay, and there is no version of that which doesn’t collide with everything the profession has used to defend itself.
The disagreement in the thread is honest and unresolved: a $300k income against $600k of debt and high liability risk is defended as reasonable, and it is — for the individual. The system-level observation is that the financing model (debt-financed training, PE ownership, productivity metrics) is what makes both the pay and the burnout true simultaneously. Nobody in the thread proposes moving the money rather than the people, which is the same silence that shows up in every professional-services thread on this site, including the ones about engineers.
Transit rewards
240 points · Waymo
Waymo is paying riders to use public transit. The program gives Waymo Cash to riders who connect a Waymo ride with public transit and use a Visa card, launching in the Bay Area with employees first and gradual public rollout. The stated rationale is complementarity: Waymo says over 50% of its riders in its most mature markets (San Francisco, LA, Phoenix) already use public transit, so it’s investing in the connection. The California Transportation Secretary is quoted approvingly, which is the tell — a state official endorsing a private company’s incentive program for public infrastructure it doesn’t run.
The economics deserve more suspicion than the announcement invites. A credit of the scale reported in the thread — roughly $2.85 off your next Waymo ride for taking the train — is a customer-acquisition cost, not a mobility subsidy, and the thread immediately produced someone who takes deliberate cross-city Waymo trips to Embarcadero to ride BART home for the view, which is the exact behavior a naive incentive structure buys. The serious version of the objection is the induced-demand one: New York’s data on Uber growth showed increases in ride-hailing mostly came from people who had been riding buses and subways, so “connecting” a trip to transit can mean replacing the transit segment with the car segment while keeping the transit leg for the discount. Waymo’s own statistic — half its riders already use transit — is being read by the company as evidence of complementarity and by skeptics as evidence of substitution, and the number doesn’t distinguish between them.
The context that makes it feel hollow locally: the 47 Muni bus connecting Van Ness to Caltrain has been suspended since 2020, Caltrain’s extension to the transit center remains unfunded, and Muni is facing a budget shortfall with planned service cuts. A discount on the last mile of a trip, offered by a company whose vehicles are the alternative to the bus that no longer runs, is a marketing program standing in for a transit plan. Waymo’s framing isn’t dishonest — the multimodal trip is genuinely better — but the incentive flows to the private leg, and the public leg keeps getting cut.
People hooked on vapes try a new way to quit: cigarettes
239 points · Bloomberg
The reversal in the title is real and the mechanism is not mysterious. E-cigarettes entered public health discourse as a smoking-cessation tool; now some vapers are using combustible cigarettes to quit vaping, and per the British study Bloomberg cites, smoking is the second most popular method for those trying to stop. The forum evidence is from Reddit and Facebook groups where users trade tips, count days since their last hit, and describe the vape as harder to stop than cigarettes — which is the same complaint public health researchers have been making. Bloomberg’s own recent coverage is the context: a March review challenging the claim that e-cigarettes are a safer alternative, and a July Guardian report that more than half of UK smokers wrongly believe vaping is as harmful as or more harmful than smoking.
The thread’s best contribution is a mechanistic explanation of why quitting vaping can be harder than quitting smoking, and it holds up. Cigarettes are self-limiting because they hurt — the throat and lungs enforce a natural interval of roughly an hour, so escalation has a ceiling. Vaping has no such limit; once you drop the “not indoors” and “not at the computer” barriers, the escalation has nothing structural to stop it, and the reported end state is a puff every 30 seconds. That’s a plausible story about nicotine delivery plus behavioral friction, and it explains the otherwise strange finding that people use the more dangerous product to escape the less dangerous one. The other useful thread item is practical rather than pharmacological: a cytisine-based course (Tabex) as an effective cessation aid that several commenters report working after decades of failed gum and patch attempts, and which remains far less known than nicotine replacement despite a 25-day course.
The honest reading is uncomfortable for harm reduction and doesn’t vindicate prohibitionists. If vaping is genuinely less harmful per use but easier to consume at higher doses, the population-level comparison isn’t between two products, it’s between two consumption patterns — and the public-health messaging that treated vapes as a simple substitute generated a cohort that now needs a strategy for the substitute itself. The comment that best captures the mood is a screenshot resurfacing from Reddit: a cigarette captioned as the plant-based alternative that promises to help high schoolers stop vaping. It was a joke. It became a category.
GPT-6 Astra has gained the ability to drive a car
229 points · drivingbench.com
A benchmark that runs models as the driver of an actual car — the models issue set_motion and stop_now commands, and performance is measured as progress along a course centerline while staying within 4 meters of it, with GPS-integrated distance and finish times, at list prices for the tokens. Up to three attempts are allowed in one continuous chat, with full traces and video published per run. GPT-6 Astra at medium effort with the Codex harness completed the course in 5:22 on its second attempt, at 246.6 million tokens and $7.74; its first attempt got 49% for $2.01. Claude Fable 5.1’s best of three was 45%.
The reason this is on the front page is the spend, not the result. A single successful lap for $7.74 is a demonstration of capability and a demonstration that the cost structure is nowhere near a vehicle. The latency objection, from an external contributor to comma.ai’s openpilot, is the one that ends the conversation about real-world deployment: openpilot runs a small model on the car; a cloud-delivered model making decisions about a moving vehicle is subject to network round-trips that no amount of reasoning quality fixes, and the correct answer to “can it drive” is yes, with three reasons it can’t work here — latency, latency and latency. Which is the right frame for the whole genre: as a probe of spatial reasoning and long-horizon action selection under a real feedback signal, it’s a decent test. As a driving stack, it’s a rendering of what a driving stack would need to be if cars had data centers.
The secondary observation in the thread is the one that generalizes: Astra’s lead over Fable on spatial and vision-heavy tasks now shows up across benchmarks nobody designed for this purpose — games, spatial reasoning suites, robot-arm tasks — and the gap is consistent. That’s a claim about where capability is accumulating, and it’s more informative than any single leaderboard. The comparison to Tesla’s ~10–15B-parameter in-car model is the useful contrast: a small model in the car with a tight loop versus a large model in a datacenter with a slow loop, and the industry has spent fifteen years assuming the first one wins.
WordPress: Unauthenticated path traversal leading to conditional RCE
229 points · GitHub Advisory
CVSS 9.2, critical, no authentication required. An attacker can make get_page_template()’s page-template resolution include a chosen readable local .php file outside the active theme directories. The exploit is conditional on two things, and the conditions are the interesting part because they’re common. First, the active parent or child theme must contain a top-level directory whose name starts with page- — such as page-templates. That catches the legacy Twenty Twelve and Twenty Fourteen themes and popular third-party themes including Neve, Hestia and Sydney. Second, a suitable local .php file must exist and be readable by the web server account; the well-known pearcmd.php path to RCE applies when register_argc_argv is on, which includes the official PHP Docker image and default cPanel configurations running PHP below 8.5. So the chain is: default-ish theme structure + default-ish PHP configuration = remote code execution with no credentials.
The affected-version list is the other thing worth reading, because it’s not a regression in one branch. Every minor release from 4.7 through 7.1.1 is affected, and the fix was backported to 4.7. That’s an unusually broad backport for WordPress, and a commenter did the useful arithmetic: it is a courtesy, and it also tells you the bug’s root cause predates a decade of releases, and roughly a third of installs are not on the current major branch. For the plugin and hosting ecosystem, the practical takeaway is that the patch window is the whole exposure: this is not a vulnerability you can reason your way around by configuration, and the two preconditions are properties of themes nobody audits, maintained by authors who are not in the advisory loop.
The thread’s two best items are generalizable beyond WordPress. A commenter behind libpathrs explains the class: path traversal bugs of this shape recur because language standard libraries offer global paths as the primary abstraction rather than scoped paths or file descriptors, so the correct handling of .. and symlinks is something every application reimplements, usually wrong. The second is the defection signal — someone who had Codex rewrite their site as static Hugo templates and now hosts it statically, reporting the stress gone. That’s a real answer to WordPress’s risk profile, and it’s also the honest admission that the CMS’s market position is now partly a liability priced by anyone with an alternative.
Unreal Agent
228 points · Unreal Labs
A harness, not a model, and the pitch is that harness design is a research area in its own right. Unreal’s claim: agents burn tokens and time managing tool calls — waits, polls, heartbeats — so Unreal Agent manages tool calls fully asynchronously, which frees the model from supervising the tools. Two consequences claimed: users can steer the agent without waiting for a tool call to finish, and the agent can schedule more useful tool work between model calls. Headline numbers: up to 40% cost savings versus Codex and up to 20% versus Pi on real workloads, with a Pareto chart placing Unreal Agent with GPT-6 Astra at xhigh reasoning effort.
The thread caught the chart’s comparison and it’s a fair hit: they’re showing their harness at xhigh against Codex at max, which is a comparison of harnesses with a reasoning-effort difference folded in. The substantive counterpoint is more interesting: OpenAI recently added async tool-calling support to Codex, so the differentiator is being commoditized upstream, and the reason Codex burns tokens is that it hot-loops polling tasks it started — which is a harness problem OpenAI can fix and Unreal can’t prevent. That’s the structural risk of building a business on a harness: the underlying provider improves and your margin is their roadmap.
Two comments worth archiving. One proposes “fractal tool discovery” — a tool taxonomy the agent drills into, to keep thousands of mostly-irrelevant tools out of context — and cites splay trees as the under-used data structure for agent memory locality, which is either clever or a solution looking for a problem and is at minimum a genuine idea. The other is a developer reporting that they solved the same problem by having an agent write a notification extension for its own harness, so background processes ping the agent on completion. That’s the honest state of the art: the async-tool-orchestration problem is real, and the people closest to it are patching around it one extension at a time.
ReBarUEFI: Resizable BAR for almost any UEFI system
222 points · GitHub
A UEFI DXE driver that enables Resizable BAR support on systems whose firmware doesn’t expose it. The underlying feature is a PCI Express capability that removes the traditional 256 MB BAR limit and lets the CPU address the GPU’s entire VRAM in one window — worth roughly 5–15% in gaming workloads depending on the title, and mandatory for some modern GPUs to function at all on older boards. ReBarUEFI patches the firmware to turn it on where the vendor never shipped the option.
The thread’s value is the specific failures it names, which are the classic reasons people end up modifying firmware. Above-4G decoding is a hard requirement for modern GPUs, and on older workstation boards — the x79 example in the thread — the toggle isn’t just disabled, it isn’t in the menu, so the board needs a hand-patched BIOS before a current GPU will post. Making that possible without vendor tooling is the point, and it’s why the parallel comment advocating coreboot is the right instinct even where coreboot isn’t available: firmware capabilities that vendors abandoned are the difference between a machine that runs the current parts and one that doesn’t. The risks are the same as ever — a bad flash bricks the board, and this is a modification targeted at hardware old enough that the vendor won’t help you — but that’s the tradeoff the users of this tool have already accepted, and the reason it accumulates stars is that the alternative is buying a whole machine.
Samsung accidentally freezes its smart fridges with a software update
217 points · Android Authority
Samsung halted a SmartThings update to smart fridges in Korea after owners reported their refrigerators stopped working, confirmed the issue, and said it was taking “emergency measures.” The failure isn’t that the smart features broke; it’s that the appliance stopped doing the one thing appliances do. A refrigerator is a compressor with a thermostat, and the software layer added a new way for the whole product to fail that did not previously exist.
The thread’s responses are the useful part because they’re specific. Someone describes discovering their “smart” fridge only when a visiting friend’s Samsung phone offered to connect to it — no display, no indication — and pulling the WiFi/Bluetooth antenna board out from under a hinge cover, after which the fridge works normally forever. Someone else compares it to Nest thermostats that stopped running furnaces without an internet connection, with the correct conclusion: if your product fails at its primary job because of a secondary priority, it’s junk, and a thermostat can be a coiled spring with a mercury switch. The third comment is the cost accounting nobody bolts into the marketing: the contents of a fridge cost more than the fridge, and in a household with medication in it, the loss isn’t spoilage.
The pattern is now well-established across the appliance category — cloud dependency added to devices with a working local control loop, updates that remove functionality, and no offline path — and the counter-practice is equally established: buy the dumb version, or buy the smart version and disconnect its radios. What’s missing from this story is the part that should be the actual news: Samsung shipped an update that disabled a household appliance for a population of customers, halted it, and the remedy for affected units isn’t in the coverage. The Korean owners whose fridges stopped are an incident, not a statistic.
MUNI Heritage Weekend in San Francisco
200 points · daniel.lawrence.lu
Three hours standing by the tracks at Muni Heritage Weekend, photographing vintage streetcars with a line-scan camera — the kind used for industrial inspection, which builds an image one row of pixels at a time as the subject moves past, producing the orthogonal, diagram-like renderings that make this post work. The photographs are CC-BY-SA and several are available as prints. The subject matter is good on its own: Muni No. 1 of 1912, the first publicly owned big-city streetcar in the US, and No. 162 from the 1914–1950s, plus the rest of a preserved fleet.
The technical appeal is that a line-scan camera records motion differently from a shutter: the subject’s movement is the scan, so the perspective is flattened by construction and the results look like elevations rather than photographs. The author’s earlier posts on the camera and its image processing are linked, and the thread asks the obvious question — what happens when a subject crosses at an angle rather than perpendicular — which is the case where a line-scan camera produces smearing, and where the author’s answer would be interesting.
The one substantive argument in the thread is worth noting because it’s the right kind of spoilsport: Muni has a budget shortfall, is planning to cut bus lines and reduce frequency, and maintains an internal supply chain to fabricate replacement parts for vintage vehicles no other city operates, with dedicated restoration staff. Seen in isolation that’s a charming civic asset; seen in context, is it responsible spending? Both readings are defensible and the thread didn’t resolve them. That it’s a real question — whether a transit agency’s heritage fleet survives the next round of cuts — is a better note to end on than the photos, which are excellent.
Still on the page
Thirty-four of today’s fifty-eight stories above 200 points were covered here in the last four days, and the frontier-model cluster from yesterday kept climbing all day. Claude Opus 5.5 780 → 1,747, up 967. GPT-6 Sol and Luna 640 → 1,704, up 1,064. Those are the two biggest single-day moves I’ve recorded in this feature, and they belong to a model launch and a price cut — not to capability news. OpenAI GPT–6 Astra breaks Enigma 453 → 715, up 262, and OpenAI is well positioned to fast-follow Jev 204 → 311. The headline item from three days ago is still the top story: AI-generated posters don’t have to be horrible 1,870 → 1,880.
Other moves: Apple has added persistent ‘ads’ to iOS 482 → 778, up 296, which is the largest gain of anything that isn’t a model release. I said no and Apple said yes 758 → 849. MiMo v2.6 1,076 → 1,118. Attention is all you have 1,016 → 1,062. I don’t want to read what you didn’t write 971 → 1,039. I asked Meta’s Muse for its filesystem 260 → 329. AMD’s RNG can’t generate a 0 233 → 277. Spymarks, not Watermarks 638 → 681. What Sun got wrong 666 → 679. Transformers Explained Visually 584 → 630. Kev 449 → 458. Fable 5 414 → 423. Can gzip be a language model? 359 → 396. Grim Fandango Puzzle Document 372 → 375. AI coding has made CI a bottleneck 305 → 312. Heretic 263 → 274. Python Workers GA 261 → 267. Mini-AGI 270 → 276. I built non-autoregressive decision models with RL a year ago 1,333 → 1,346. The LLMentalist Effect 230 → 233. Divide by depth 203 → 213. Measure internet censorship 221 → 221, flat for a second day.
Also still up without meaningful movement: Qwen Image 2.1 735, Exfiltrate your Weights 737, What happened to the Snowden archive 718, AX 659, Spain blocks Archive.today 550 — that one gained 6 points on the day a Spanish administrative body’s blocking order is still in force, If math is more than proof 432, Apple iPhone 18 Pro Camera test 207.
The pattern worth naming: the two stories that gained nearly a thousand points each are both about price and availability of models, and the third-biggest mover is a story about Apple removing a user control. Nothing in the top five movers is a new capability. Two days into this pattern, “the front page rewards cost and consent, not capability” is holding up.
Throughline
The human review step was deleted before the model was asked to replace it, and the fix is to have the model perform the deleted step. That’s the Pentagon story in one line: target-list review compressed from hours to minutes, the civilian-harm mitigation team cut from ten people to one, no reviewer assigned to the site, Maven recommending a school as a day-one target — and the remediation is to add capability so Maven flags what the removed humans would have flagged. Mark Riedl’s line about “human-in-the-loop” as a wiggle word is the whole procurement problem in six words, and the same shape shows up in smaller stories. Samsung shipped an OTA update that disabled refrigerators, because the local control loop was subordinated to a cloud service. Claude Code gated reading a local markdown file behind a remote feature flag, so the only users who lost the feature were the ones who had deliberately turned off the channel that would have delivered it. WordPress ships a page-template resolution bug that survived from 4.7 to 7.1 because the abstraction (global paths) makes correct handling something every caller reimplements. Grammarly’s cancellation flow automated a retention campaign and published a customer’s email address. None of these are AI failures. All of them are the same failure: automation inherits the authority of a human step that is no longer being performed, and the system reports success either way.
Nobody is selling capability this week. Everyone is selling cost per completed task to an audience that has no way to reproduce the number. Artificial Analysis puts Opus 5.5 at #1 of 212 on intelligence and #93 on price at $5.98 per index task — a third party’s measurement, which is precisely why it’s the most useful artifact in the model cluster. Against that: Unreal Agent’s 40%-cheaper-than-Codex claim folds a reasoning-effort difference into a harness comparison, and the thread spotted it. drivingbench’s one successful autonomous lap cost $7.74 and 246.6 million tokens, which is a capability demo priced like a hedge fund. Jev — the model that dominated four consecutive front pages — reduces to 25 lines of Python reading logprobs over option tokens, and the honest assessment is that it gets you 80% of the way, with the remaining 20% being calibration nobody has demonstrated is worth a checkpoint. The pattern from yesterday has hardened: the measurement layer is where the argument is now, because the capability claims are unverifiable at the point of sale and the cost claims are checkable in a spreadsheet.
The craft arguments have converged on one rule, and it’s the same rule from three different directions. How to Write with an LLM says never use a word the model suggests — because its suggestions are good, and a document assembled from nothing but good phrasing has no author’s judgment in it; and avoid its encouragement, because being validated at every level removes your incentive to do the rethinking that constitutes your voice. “I don’t want the details” says don’t produce the incident narrative, because a good narrative is a consensus machine that manufactures forgiveness — the counter-argument being that diagnosis informs remedy, which is true and which is also why the instruction only works when the person issuing it has already read the diff. Alex Nedelcu’s essay from yesterday and Colin Breck’s from the day before made the same point about code and prose. And the FoxPro revival is the same idea implemented in firmware: a runtime whose behavior is “settled by asking Visual FoxPro itself and matching its answer” rather than by reading documentation and approximating, with 1,534 of 1,722 language elements covered by tests against the original product. That’s judgment encoded as verification. It’s also the only one of these three that scales.