| View in browser: The Diff No. 023 |
| The Diff No. 023 Monday, 26 October 2026 · AI dev news, only what is verified |
 |
A dermatologist showed two frontier AIs 200 biopsy-proven skin cancers. Both missed a real melanoma. A 2015 neural network did not. Overnight the leaderboard met the clinic: a UK dermatologist sat GPT-6 Astra and Claude Fable 5.1 down with 200 biopsy-proven lesions, and a fine-tuned 2015 CNN beat both of them. Max Woolf published the spreadsheet math on why frontier model prices collapsed by up to 80% in months, JetBrains open-sourced the agentic IDE it had been incubating, and the hacker who rooted his own Samsung TV says OpenAI banned his account for the reverse engineering. Today: the skin-cancer test, the price-collapse timeline, the banned TV hacker, JetBrains’ ThinkRail, a map of surveillance cameras, weeds in your browser tabs, a dangerous libc function, and the bitcoin bounty box from yesterday getting popped in 19 hours. Show, don’t tell: a 200-lesion test, a price timeline, an open-sourced IDE and a popped bounty box. |
IN THIS ISSUE  | 01 🩺 A 2015 CNN just beat two frontier AIs at reading skin cancer A dermatologist tested GPT-6 Astra and Claude Fable 5.1 on 200 biopsy-proven lesions. A fine-tuned Inception v3 named 62% correctly; the frontier models named 42%. Both missed a real melanoma. |  | 02 💸 Why frontier LLM prices collapsed 80% in a few months Max Woolf lays out the OpenAI and Anthropic pricing timeline from June to October: same-or-better models at a fifth of the price. His answer to “why” is not the one vendors give. | | 03 📺 He rooted his own Samsung TV. Then, he says, OpenAI banned him. A security researcher’s viral thread on what his smart TV does with your living-room audio ended, he claims, with his OpenAI account suspended over the reverse engineering. 758 points overnight. |  | 04 🧰 ThinkRail: JetBrains open-sources its agentic IDE An incubator project, 1,333 stars: a full IDE wrapped around the pi coding agent, with git-worktree workspaces, a living SPEC.md graph and read-in-place agent skills. |  | 05 🗺️ Proton maps the Flock cameras watching your street Search your ZIP code, see the license-plate readers. Flock’s network processes 20 billion vehicle reads a month across 49 states, and police can search across city and state lines. |  | 06 🌱 Overgrown: weeds take over the tabs you abandon Charlie Gerard’s browser extension grows plants across pages you have not visited in a while. Neglect a tab long enough and it disappears under the foliage. 193 points. | | 07 ⚠️ wordexp(3): the libc function that runs shell code when you feed it paths A TIL making the Lobsters rounds: POSIX wordexp does full shell expansion, backticks and all, and sits inside tools that treat it as a path helper. 49 points. |
|
🔥 VIRAL The loud ones on Hacker News. Numbers are a morning snapshot. |  01 HN: 489 points · Lynch Lab, Oct 25 · image: MILK10k via Lynch Lab 🩺 A 2015 CNN just beat two frontier AIs at reading skin cancerA dermatologist tested GPT-6 Astra and Claude Fable 5.1 on 200 biopsy-proven lesions. A fine-tuned Inception v3 named 62% correctly; the frontier models named 42%. Both missed a real melanoma. SCENE The lesion in figure 1 is an invasive melanoma on a patient’s ear, under 0.8 mm thick. Dr Magnus Lynch, a UK dermatologist, showed its clinical photograph and dermoscopic image to GPT-6 Astra and Claude Fable 5.1, two of the most capable models available this month. Both called it a seborrhoeic keratosis, a harmless warty growth, and said the patient could be discharged. He then showed the same pair of images to a fine-tuned version of Inception v3, a convolutional network Google published in 2015. The CNN said melanoma. It was right. THE THING That was one of 200 biopsy-proven lesions Lynch drew at random from MILK10k, a public dermatology dataset released through the International Skin Imaging Collaboration, each photographed twice: one clinical close-up, one dermoscopic view. Final tally, his numbers: the CNN named the right diagnosis out of six possibilities for 125 lesions (62%); the two frontier LLMs managed 84 and 85 (42%). The CNN’s edge came from the dermoscopy view, the microscope image dermatologists actually use, where texture patterns matter more than semantic reasoning. His one-line summary: a ten-year-old network, fine-tuned for about twenty minutes, beat both of them at recognising skin cancer. ✂️ STEAL IT Steal the evaluation design: 200 random biopsy-proven cases, a fixed answer set, and a specialist baseline from the previous decade. Before your next frontier-model rollout, find the boring 2015-era model your field already has and make the new one beat it first. Watch VERDICT Read the post and check whether your domain has the same shape: a narrow visual task, a public dataset and an old specialist model gathering dust. It fails you as settled medicine: this is one dermatologist’s 200-case test, not a peer-reviewed trial, the models were not fine-tuned for the task, and all numbers are his. But the misses he documents are the kind that keep a patient from being referred. The test · HN discussion Tap one, then press send in the email that opens. Researched replies usually land within about 10 minutes. More like thisLess like thisDig deeperAlready knew itTest it for me |
 02 HN: 212 points · minimaxir.com, Oct 25 · image: minimaxir.com 💸 Why frontier LLM prices collapsed 80% in a few monthsMax Woolf lays out the OpenAI and Anthropic pricing timeline from June to October: same-or-better models at a fifth of the price. His answer to “why” is not the one vendors give. SCENE The timeline reads like a clearance sale. June 26: OpenAI ships GPT-5.6 Sol at $5 / $30 / $0.50 per million tokens (input / output / cache read) and Luna, a small model, at $1 / $6. June 30: Anthropic ships Claude Sonnet 5 at $2 / $10, with “temporary” launch pricing. July 24: Claude Opus 5 at $5 / $25. July 30: OpenAI starts cutting. By October, Woolf counts, list prices for comparable frontier capability are down by as much as 80% from the summer. THE THING The post’s value is the receipts: every price is listed with its announcement date, so the pattern is impossible to unsee. Successor models arrive at their predecessors’ prices, then get undercut within weeks, and the “temporary” discounts never actually revert. Woolf’s read of the cause is the part worth arguing with: this is what a market looks like when capability has commoditized faster than demand has grown, and the labs are buying usage share with margin they cannot afford to keep spending. Vendor framings (efficiency gains passed to you) are noted and weighed against the cadence of the cuts. ✂️ STEAL IT Steal the table format: date, model, three prices, one column of context. Pricing archaeology is the fastest way to see a market’s real structure, and almost nobody publishes it because the vendors write the press releases. Watch VERDICT Useful now if you budget AI spend: re-run your cost model against October list prices before renewing anything annual. It fails you as investment advice: the “why” is one sharp engineer’s analysis, the pricing data is public list pricing (enterprise contracts differ), and a price war can pause as fast as it started. The analysis · HN discussion Tap one, then press send in the email that opens. Researched replies usually land within about 10 minutes. More like thisLess like thisDig deeperAlready knew it |
03 HN: 758 points, peaked #1 overnight · X thread, Oct 24 (X unreachable) · no image available 📺 He rooted his own Samsung TV. Then, he says, OpenAI banned him.A security researcher’s viral thread on what his smart TV does with your living-room audio ended, he claims, with his OpenAI account suspended over the reverse engineering. 758 points overnight. SCENE The thread that ate HN this weekend starts with a man taking apart his own television. The researcher who posts as log4j documented a root shell on his Samsung smart TV and, along the way, the set’s audio appetite: if your TV model has no microphone, it looks for connected devices that have one, a soundbar or a paired Bluetooth device, and ships what it hears to Bixby. The thread drew roughly 18,000 likes on X. Two days later, he says, OpenAI suspended his account over the reverse engineering he used to do the work, which he describes as entirely local, on hardware he owns. THE THING Two stories are tangled here, and the evidence for them differs. The TV findings are documented in the thread itself, with photos and shell output; HN’s 566-comment thread added context, including that bark, baby-cry and door-knock detection are advertised SmartThings features. The OpenAI ban is his claim, posted after the fact, with no public statement from OpenAI; the only secondary coverage we could verify (ailately.com) repeats his account. We could not read the primary thread: X blocks anonymous access and every mirror we tried was dead, so treat direct quotes here as secondhand via the HN discussion. ✂️ STEAL IT Steal the lab discipline, whatever the ban’s truth: he rooted a device he owns, on his own network, and published methodically. That is the responsible version of consumer-device research, and the reason the findings are readable as fact rather than vibes. Watch VERDICT Watch for OpenAI’s side; a suspension over local reverse engineering of your own hardware would be a policy story, and right now it is one person’s claim. It fails you as a smoking gun on either count until then. The TV telemetry findings stand on their own documentation. The secondary coverage · HN discussion Tap one, then press send in the email that opens. Researched replies usually land within about 10 minutes. More like thisLess like thisDig deeperAlready knew it |
 04 HN: 185 points · github.com/JetBrains/thinkrail · image: JetBrains 🧰 ThinkRail: JetBrains open-sources its agentic IDEAn incubator project, 1,333 stars: a full IDE wrapped around the pi coding agent, with git-worktree workspaces, a living SPEC.md graph and read-in-place agent skills. SCENE The README’s first line is the pitch: “the agentic IDE that gets better every time you use it, learning your project through living specs today, and building its own capabilities tomorrow.” JetBrains, the company behind IntelliJ, has been quietly incubating an IDE designed around an agent rather than a human typist, and the repository went public to 1,333 stars. THE THING The architecture is the interesting part. Workspaces are git worktrees: cut one per task and agents work in parallel without touching your checkout, then merge the good branch and delete the rest. Finished workspaces settle onto a per-project shelf on their own and return when you do. The workbench is a real IDE, Monaco tabs, terminals, live git marks, all scoped to the active workspace. Several pi sessions can run per workspace, each with its own model and live token and cost readout. And the durable piece: a connected graph of SPEC.md files lives beside the code, which the agent reads and maintains through dedicated tools, so intent survives the session. Agent Skills you already keep for other coding agents are read in place. Apache-2.0. ✂️ STEAL IT Steal the ground-truth pattern: a spec graph the agent maintains is the difference between an assistant that re-reads your repo every session and one that accumulates a model of it. That idea ports to any agent setup, whatever IDE you keep. Try today VERDICT If you already run coding agents, clone it and cut one worktree workspace on a side project; the parallel-agents-with-clean-merges workflow is the aha. It fails you if you are allergic to incubator software: the extension system that would let it build its own tools is marked next, the HN thread’s top complaints are polish, and JetBrains’ commitment to a free tier here is untested. The repository · HN discussion Tap one, then press send in the email that opens. Researched replies usually land within about 10 minutes. More like thisLess like thisDig deeperAlready knew itTest it for me |
🔭 UNDER THE RADAR Quiet tools and field reports worth your time. |  05 HN: 15 points, posted overnight · proton.me/flock-camera-map · image: Proton 🗺️ Proton maps the Flock cameras watching your streetSearch your ZIP code, see the license-plate readers. Flock’s network processes 20 billion vehicle reads a month across 49 states, and police can search across city and state lines. SCENE Proton, the Swiss privacy company, shipped a quiet public tool overnight: a searchable map of Flock surveillance cameras. Type a ZIP code, see the automatic license-plate readers near you, the same cameras police departments query. THE THING The page earns its outrage with specifics. A Flock camera photographs every passing vehicle, suspected or not, and logs plate, time and location; the Vehicle Fingerprint feature adds make, model, color and details like dents and bumper stickers, so a car can be found without a readable plate. Records go to Flock’s cloud, where police search and share across city and state lines. Flock says the network processes more than 20 billion vehicle reads a month across 49 states. Proton’s page cites a Washington Post review finding at least 50 officers accused or charged with misusing license-plate readers. ✂️ STEAL IT Steal the transparency move: you cannot opt out of a network you cannot see. A public, searchable inventory of surveillance infrastructure is the precondition for every policy argument after it. Try today VERDICT Look up your own ZIP code; the map is the entire product. It fails you outside the US, where Flock barely operates, and as an audit: the underlying camera locations come from public and crowdsourced records, so treat the map as a floor, not a census. The map · HN discussion Tap one, then press send in the email that opens. Researched replies usually land within about 10 minutes. More like thisLess like thisDig deeperAlready knew itTest it for me |
 06 HN: 193 points · charliegerard.dev · image: Charlie Gerard 🌱 Overgrown: weeds take over the tabs you abandonCharlie Gerard’s browser extension grows plants across pages you have not visited in a while. Neglect a tab long enough and it disappears under the foliage. 193 points. SCENE The demo is the joke and the point: open tabs you keep meaning to read slowly sprout leaves. Come back after a week of neglect and the page is a garden. Charlie Gerard built a browser extension that grows procedural plants over any page you have abandoned, a physical sensation for tab guilt. THE THING Under the whimsy is a real piece of craft: the plants are generated and animated over live pages without breaking them, which means the extension is doing non-trivial canvas work on arbitrary DOMs. Gerard’s write-up covers the build. It is the rare tab manager that makes you smile instead of sigh, and a gentle intervention: the mess is visible before it is countable. ✂️ STEAL IT Steal the ambient signal: a slow, visible consequence beats a badge count for behavior change. If your tool has a guilt metric, grow it on the screen instead of hiding it in a menu. Try today VERDICT Install it on a scratch browser profile and abandon ten tabs for science. It fails you if your tab hoard is load-bearing, and on machines where a per-tab canvas animation is a battery line item. The write-up · HN discussion Tap one, then press send in the email that opens. Researched replies usually land within about 10 minutes. More like thisLess like thisDig deeperAlready knew itTest it for me |
07 Lobsters: 49 points · yossarian.net · no image available ⚠️ wordexp(3): the libc function that runs shell code when you feed it pathsA TIL making the Lobsters rounds: POSIX wordexp does full shell expansion, backticks and all, and sits inside tools that treat it as a path helper. 49 points. SCENE The post opens with the kind of sentence that ruins a maintainer’s weekend: wordexp(3), the POSIX function C programmers reach for to expand globs and tildes, performs shell command substitution. Feed it a crafted path and it runs commands. The author found it the way everyone does: reading the man page’s fine print after assuming it was a string utility. THE THING The details matter for audit work. wordexp is a libc wrapper around real shell expansion semantics, so backticks and $() in attacker-influenced input execute, and the WRDE_NOCMD flag that disables it is not the default. The post inventories the trap’s footprint: language bindings and tools that expose wordexp as “expand this path” inherit the behavior. It is a known-class bug, not a new CVE; the value is the reminder that this API is in the wild under friendlier names. ✂️ STEAL IT Steal the audit heuristic: grep your dependencies for wordexp, glob-expanders and any binding that promises “shell-style expansion”. A helper whose man page needs a security section is a helper to wrap or replace. Watch VERDICT Skim it over coffee and run the grep; ten minutes. It fails you as news if you already audit C dependencies for a living, and it offers no new exploit, just a well-told reminder. The post · Lobsters discussion Tap one, then press send in the email that opens. Researched replies usually land within about 10 minutes. More like thisLess like thisDig deeperAlready knew it |
📊 THE ATTENTION GAP HN points at 06:25 IST. Attention, not quality. | Dan Luu: be more ambitious with software | | 761 HN | | Samsung TV root shell | | 758 HN | | CNN beats frontier LLMs | | 489 HN | | Oregon police demand $2.5M for records | | 433 HN | | FOSDEM censored-internet talk | | 427 HN |
|
ALSO ON THE RADAR Steal My Bitcoin: popped in 19.28 hours. No. 022’s lead story is over. The counter stopped at 19.28 hours on Oct 25 at 15:47 UTC, with the pot grown to 0.02511679 BTC ($2,021.22) from community additions. The winner’s writeup is already up: KillaBoi/StealMyBitcoin-PoC, a single-file, standard-library-only Python reproduction of the full chain against PHP 8.4.26, heap leak to code leak, with a Docker lab so you can run it yourself. 232 stars in a day. The operator hints more challenges may follow. Winner’s PoC and writeup → DreamHost forces a mass password reset mid-incident. The host’s status page says reset emails are going out to all account owners with completion expected today, after a file-manager incident; the panel briefly rejected new passwords, now fixed. HN commenters suspect the Monsta FTP install behind the file manager, possibly via this month’s PHP bugs; that linkage is commenter speculation, not confirmed forensics. 133 HN points. DreamHost status page → Tailworm: still no public Tailscale response. Three days after Erica Windisch’s five-class audit of tailscale v1.104.2 and headscale v0.29.5 (No. 022), the report page shows no vendor reply or patch. The interim mitigations section for operators remains the actionable part. The report → |
📺 VIDEO OF THE DAY  Goose vs Rust: Is This New Language Really Faster? Mohammad Ebrahimi · published Oct 23 · 18,151 views at 06:25 IST · 6 minutes · metadata read, not watched The follow-up question to No. 022’s Goose report, in six minutes: can the no-heap language actually outrun Rust? Same creator whose overview we linked yesterday, this time on the benchmarks. Title, channel, date, length and view count verified this morning via YouTube page metadata; we read the metadata and description but did not watch, so a pointer, not a review. Watch on YouTube → | 🗂️ THE BORING STUFF Oct 25 · uv and ty come together. Astral’s package manager and type checker now integrate: uv can enforce the type environment ty checks, one toolchain for Python project hygiene. Astral blog → Oct 23 · Usage metrics API adds third-party agent tools. GitHub’s usage metrics API now reports usage from tools like OpenCode alongside Copilot, so seat-math can see the whole agent fleet. GitHub Changelog → Oct 25 · SpeedCrunch 1.1. The high-precision scientific calculator’s first update in a while: 214 HN points of affection for a tool people actually keep installed. speedcrunch.org → Official pages read this morning. Nothing installed or run; their numbers are theirs. |
🧪 ONE THING TO TRY TONIGHT Pop yesterday’s box yourself, locally. The winner of the Steal My Bitcoin challenge published the whole chain as one dependency-free Python file with a Docker lab: same PHP 8.4.26 build, same worker model, offsets pre-calibrated. Stand it up, run the PoC, then break it on purpose and see which leak fails first. It is the cheapest exploit-tutorial you will get this year. |
What this issue could not see. HN, Lobsters, GitHub search and APIs, dev.to and YouTube page metadata were swept overnight and this morning, and primary sources were read: lynchlab.net, minimaxir.com, the ThinkRail README, proton.me, charliegerard.dev, yossarian.net, stealmybitcoin.com, the winner’s PoC repo, the DreamHost status page, tailworm.com, the Astral blog, GitHub’s changelog and speedcrunch.org. Reddit’s MachineLearning, LocalLLaMA and programming RSS endpoints refused every one of seven overnight checks (403/429), so Reddit coverage is effectively absent today. X blocks anonymous access and mirrors are dead, so the Samsung TV thread is quoted secondhand via HN; the OpenAI-ban claim is the researcher’s, unconfirmed. A dev.to post claiming a Valkey 9.2 release with a new lz4 setting was dropped after the official site showed 9.1.2 as the latest release. The Tailworm audit still has no vendor response. YouTube was read via metadata, not watched. Nothing was installed or run. Deduped against every published issue: the Steal My Bitcoin win and Tailworm follow No. 022, the Goose video follows No. 022’s language report; everything else is new. |
|
| Images: credited in each report; source screenshots and announcement artwork, not our tests. |
|