Cover illustration

TheDaily Front

Issue No. #261004 Sunday, October 4 2026 #261004 — SUNDAY, OCTOBER 4, 2026
Local models, hidden costs, and the long argument over what intelligence is for.
Sunday, October 4, 2026 The Daily Front No. #261004 — Contents
30stories
5,464points
3,598comments
209kllm tokens
Assembled with 29 model calls — 152,506 tokens read, 56,075 written.

Highlights

Run Qwen 3.8 Flash Next (125B) on consumer hardware (RTX 4090) at 100T/s

A 125B-parameter Qwen model running at startling speed on a consumer GPU brings frontier-scale AI closer to the home workshop.

We're going to need default hard budget caps on pretty much everything

As agents multiply, the case for hard spending limits becomes less a convenience than a household safety feature.

Improper redaction reveals Google Data Center water and electricity usage

A botched redaction opens a concrete debate over the power and water footprint of data centers.

Car is a smartphone on wheels. Here's who's listening

A new survey of connected vehicles finds the modern automobile has become a formidable data-collection machine.

What's the future for pure math research in the age of AI?

A long meditation on why AI may change mathematical work without settling the question of what mathematics is for.

From the Editor

The day’s dispatches find intelligence escaping both the laboratory and the billing console: into gaming PCs, automobiles, operating systems, and public utilities. Meanwhile, the old institutions—archives, universities, and even the personal computer press—remind us that progress has always left a paper trail, if someone has the good sense to keep it.

  1. Tell HN: Bob Cringely has died3
  2. Run Qwen 3.8 Flash Next (125B) on consumer hardware (RTX 4090) at 100T/s4
  3. We're going to need default hard budget caps on pretty much everything5
  4. Improper redaction reveals Google Data Center water and electricity usage6
  5. UK Government Body Kept Files on People Criticizing Prevent Program7
  6. Turn off Apple Intelligence on macOS 27 and get its disk space back8
  7. Why don't more developers “use the platform”?9
  8. Car is a smartphone on wheels. Here's who's listening10
  9. In Ukraine, distributed renewables foil Russia's assaults11
  10. Show HN: AI search for every photo and every frame of video on macOS12
  11. Emitting metadata early makes building/checking Rust up to twice as fast13
  12. VGHF Digital Archive passes 5000 magazines. Here's what's next14
  13. Rejection Sensitivity in Gifted and Twice-Exceptional Children15
  14. Self-hosted HTTP tunnels with SSH and Nginx16
  15. Apple's "Clean Design" Is Stupidity When It Comes to Hiding Fire Extinguishers17
  16. In the wake of closure, a digital archive of animated materials appears online18
  17. ArtCraft Apps – open-source Adobe compatible suite written in Rust19
  18. "Torturing" LLMs in a Robot Prison Has Triggered the Dumbest Debate in AI Yet20
  19. Blindsight (Watts Novel)21
  20. Xray-core concealed a certificate verification bypass vulnerability22
  21. What's the future for pure math research in the age of AI?23
  22. All I wanted was a custom domain email24
  23. Incentives in Academic Research25
  24. Religious scholars met with Anthropic26
  25. How to scale intent, quality, and artistry with AI [video]26
  26. The evolution of effective altruism26
  27. We're working on a new RuneScape MMO26
  28. A browser-native classic Visual Basic VB6 IDE26
  29. Bill Draper has died26
  30. Homa: The end of TCP for AI clusters [video]26
The Daily Front Page 2 of 27
Sunday, October 4, 2026 The Daily Front No. #261004 — The Chronicle of a Nerd
ask hn

Tell HN: Bob Cringely has died

by paveworld·▲ 840 points·181 comments·news.ycombinator.com ↗
He was best known for his PBS documentaries, especially "Triumph of the Nerds".

I heard from a friend of the family that Bob passed away in his sleep early Saturday. Very sad news. Bob, who's real name was Mark Stevens, was an early employee of Apple and was best known for his PBS documentaries, especially "Triumph of the Nerds". He will be missed.

The Daily Front Page 3 of 27
Sunday, October 4, 2026 The Daily Front No. #261004 — The Local Model Arrives
repository

Run Qwen 3.8 Flash Next (125B) on consumer hardware (RTX 4090) at 100T/s

by snehesht·▲ 664 points·309 comments·github.com ↗
★ 11,510⑂ 1,001 forks C++

Qwen3.8-Flash-Next on any consumer hardware: one-click install for Windows / Linux. Strata inference engine, OpenAI/Anthropic API on localhost, optional image input.

Run a 125-billion-parameter AI model on your own gaming PC
NVIDIA or AMD graphics card (12 GB or more) · Windows or Linux · free and open source

A voxel pagoda garden that Strata's model wrote, running in the browser
A voxel pagoda garden, 1 shot prompt running on an RTX 5070 with Strata (IQ3_S, 128K context) · full video (49 s)

Strata runs Qwen3.8-Flash-Next on a normal PC. This is a large, smart AI model that usually needs a server. It chats, writes code, reads pictures and works with your apps and coding agents. Nothing leaves your PC.

How fast is it?

We measured it on two ordinary gaming PCs. A token is about ¾ of a word.

  • Writes answers: how fast the reply appears in a short chat. 60 tokens per second is faster than you can read.
  • Reads your prompt: how fast it takes in what you send (here a 32K-token document, code or chat history).

NVIDIA: RTX 5070 (12 GB), Ryzen 5 7600, 64 GB RAM

Size Writes answers Reads your prompt
Q2_0 94 tokens/s 2,650 tokens/s
IQ2_XS 79 tokens/s 2,090 tokens/s
IQ3_XXS 62 tokens/s 1,750 tokens/s
IQ3_S 53 tokens/s 1,620 tokens/s
Coder 55 tokens/s 2,180 tokens/s

AMD: RX 9070 XT (16 GB), Ryzen 9 3900X, 47 GB RAM

Size Writes answers Reads your prompt
Q2_0 60 tokens/s 1,160 tokens/s
IQ2_XS 52 tokens/s 1,110 tokens/s
Coder 44 tokens/s 1,420 tokens/s

NVIDIA: Q2_0 with engine 0.1.36, the other rows with 0.1.26 (4K answers, 32K prompts). The full tables are in DETAILS.md. A card with more VRAM is faster: an RTX 3090 (24 GB) should write about 100-140 tokens per second. Long chats and other cards: speed of each model, community results.

What you need

Graphics card NVIDIA GeForce RTX 20, 30, 40 or 50 series, or AMD Radeon RX 7900 XT / XTX, RX 7800 XT / 7700 XT, RX 9060 XT, RX 9070 / 9070 XT, Radeon AI PRO R9700 or RX 6800 / 6900 series. It needs 12 GB of VRAM or more. RAM 32 GB or more. Your RAM decides which model fits. 64 GB runs every size. Disk About 80 GB free. Use an SSD if you can: the first start is much faster. System Windows 10 / 11 or Linux, and a current graphics driver from NVIDIA or AMD.

The installer sets up everything else. Two or three cards can share the model (multi-GPU).

Experimental, written and tested by community members on their own machines:

  • Older graphics cards (Tesla P40 / V100, GTX 10, Radeon VII / MI50, RX 6700 XT, RX 5500 XT): Older GPUs.
  • Intel Arc, built from source on Linux: Intel Arc.
  • Older processors without AVX2: they work, but slowly. Older CPUs.

The full list: docs/INSTALL.md.

Install

Let your AI set it up

Do you use an AI coding assistant (Claude Code, Cursor, Codex, GitHub Copilot, ...)? Paste this into it:

Set up Strata on this PC for me: https://github.com/Niko1221/Strata - follow docs/AI_SETUP.md in that repository.

It checks your graphics card, RAM and disk and picks the model that fits. Then it installs and starts it and tells you how to connect your apps. AI tools can also install, start and stop Strata through its MCP server.

Or do it yourself

Download Strata and unzip it (or git clone it). Windows: double-click START-HERE.bat . Linux: run ./setup.sh in the Strata folder.

The steps are the same for NVIDIA and AMD. The installer finds your card and sets up the right engine for it. It asks you a few questions:

  • which model and which size,
  • how much context (how much text the model keeps in mind),
  • whether it should read pictures.

Press Enter each time for the recommended answer. Then it downloads the model (about 70 GB) and starts it. If the download stops, run it again: it continues where it left off. Your browser opens the Strata app at http://127.0.0.1:8080.

While the model starts, your PC can be slow or stop responding for 1-3 minutes (longest the first time). Strata loads 35-55 GB into your RAM and locks part of it for the graphics card. This is normal. Wait, and don't close the window. The window shows what Strata is doing.

Next time, run START-HERE.bat (or ./setup.sh) again. It starts right away and downloads nothing twice. Close its window to stop the model. UPDATE.bat (./update.sh) updates Strata without starting it. Updating, Docker, several cards, where the files go and every option: docs/INSTALL.md.

Which model should I pick?

The installer recommends one for your RAM. The same model comes in several sizes, compressed more or less. Smaller sizes are faster. Larger sizes are a bit smarter.

Your RAM Take Why
32 GB Coder it fits 32 GB, and it is made for code (with a 24 GB card, Q2_0 and IQ2_XS run too)
48 GB IQ2_XS (or Q2_0, the fastest) the larger sizes do not fit
64 GB IQ2_XS (recommended), or IQ3_XXS / IQ3_S every size fits; IQ3_S is the best and the slowest
96 GB or more IQ3_S, or Unsloth's UD-IQ4_XS (~4-bit) room for the largest sizes with everything else open
  • Coder: a coding version with half of the experts removed. It reaches 91% of the full model's SWE-bench Verified score (measured by its authors) and fits 32 GB of RAM. It is weaker outside code, including Chinese and other CJK text (#438). For those, take Q2_0, IQ2_XS or IQ3_S, which keep every expert.
  • Swift 1.5: a fine-tune that thinks for a much shorter time before it answers. You get the answer sooner, at about the same quality.
  • Unsloth UD-IQ4_XS: Unsloth's ~4-bit version, between IQ3_S and UD-Q4_K_XL in quality. A 94 GB download. With less than ~80 GB of RAM, Strata reads part of it from the SSD while it answers, so it is slower there (an NVMe SSD helps).
  • Unsloth UD-Q4_K_XL (experimental): the closest to the full model. But Strata reads most of it from the SSD while it answers, so it writes only 7-8.5 tokens/s on a 64 GB PC.
  • OrcaRouter's Uncensored IQ3_XXS: you set it up by hand. It is not in the installer's menu.

Sizes, downloads and what fits where: docs/MODELS.md. To add another model later, run SETUP.bat (Linux: ./setup.sh --setup).

Using it

The Strata app's Monitor tab next to a coding agent
The Strata app's Monitor (left) while a coding agent writes the pagoda garden from the video (right)

  • In the browser: open http://127.0.0.1:8080. It has Chat, a live Monitor of the model and your GPU/CPU/RAM, and About with the settings and addresses.

  • Your apps and coding agents: add an "OpenAI-compatible" provider with the base URL http://127.0.0.1:8080/v1 . Any API key and any model name work.

    • Apps that use Anthropic's API: http://127.0.0.1:8080/v1/messages (Claude Code: ANTHROPIC_BASE_URL=http://127.0.0.1:8080).
    • Codex CLI and other apps that use the OpenAI Responses API: /v1/responses (setup).
  • Thinking: choose off, low, medium or high in the chat menu or in your app's "reasoning effort". Off is the fastest. High is best for hard questions.

  • Pictures: say yes to "Images?" in setup. Then click Picture in the chat, or attach pictures in your app. AMD cards read pictures on Linux through the processor; on Windows they can't yet.

  • From your phone or another PC: START-HERE.bat --setup --host 0.0.0.0 --api-key <secret>. Always set a key.

  • One request at a time: by default Strata answers one request, and the others wait. To answer several at once, set "parallel": 2 (BATCHING.md). On a 12 GB card this makes each answer slower.

  • Long prompts: Strata reads the first message of a chat in full, about 1 minute per 30,000 tokens. Follow-up messages start in seconds.

More: where your chats are stored, the API.

Something went wrong?

  • My PC froze the first time Strata started. This is normal while it loads the model. Wait, and don't close the window. Still frozen after 10 minutes? Restart the PC, close other programs and try again, or pick a smaller size.
  • It stopped while downloading or installing. Run START-HERE.bat (or ./setup.sh) again. It continues where it stopped.
  • It's very slow and the disk light keeps blinking, or it says "the engine stopped unexpectedly". Your PC does not have enough free RAM. Close other programs (browsers use a lot), or pick a smaller size (Q2_0 or IQ2_XS).
  • It says port 8080 is already in use. Strata is already running. Look for its window.

More problems and their fixes: docs/TROUBLESHOOTING.md. Still stuck? Open an issue and attach strata-<model>.log from the Strata folder. Found a security problem? Report it privately: SECURITY.md.

How does it work?

Models like this one usually run on servers with hundreds of gigabytes of graphics memory. Your graphics card has 12-24 GB. Strata makes the model fit by sharing the work across your whole PC. Think of a kitchen: the things you use all the time stay on the counter, and the rest waits in the pantry.

The model's 24,576 experts: the busiest on the graphics card, all of them in RAM, a lookup table on the SSD

  • The model is a team of 24,576 small specialists ("experts"). Each word needs only 10 of them.
  • Your graphics card keeps the few thousand experts that are used most often. Your RAM holds all of them, and your processor works on the rest at the same time. Your SSD holds a big lookup table.

A small helper guesses the next words; the big model checks them all at once and keeps the right ones

  • Guess, then check: a small helper guesses the next few words. The big model checks them all at once. You get the same answer, 1.6-1.8x sooner.
  • Long texts are read in big pieces (up to 8,192 tokens at a time), at over 1,000 tokens per second.

The longer explanation: docs/HOW_IT_WORKS.md. Every part and its numbers: the details and the paper.

Credits and license

The model is Qwen3.8-Flash-Next by the Qwen team. It was compressed by ISTA-DASLab, UkisAI (Swift 1.5) and Unsloth. Strata uses parts of llama.cpp / ggml. All credits: docs/HOW_IT_WORKS.md. Strata is open source under the MIT License. A few parts and every model have their own licenses (which ones).

The Daily Front Page 4 of 27
Sunday, October 4, 2026 The Daily Front No. #261004 — The Price of Automation
article

We're going to need default hard budget caps on pretty much everything

by elffjs·▲ 599 points·299 comments·simonwillison.net ↗

We’re going to need default hard budget caps on pretty much everything

Here’s a product feature which the world is going to need a whole lot more of over the coming months and years: default hard budget caps. I’m talking about the feature of pay-by-usage services and APIs that lets you say “after $X/month, cut this thing off and return errors”. These need to be hard limits. Soft caps, “after $X/month, send me a warning email”, will not cut it.

Coding agents, and personal agents (coding agents wrapped in a less threatening UI), greatly reduce the friction of spinning up code that can do useful things. Sometimes those things cost money—calls to paid APIs, or hosted web applications, or systems that can bill for additional storage and compute.

Nobody wants to wake up to an email sent at midnight warning about a budget limit and find that, while they slept, their rogue service had consumed several hundred (or several thousand) more dollars of usage.

An argument against this is that businesses don’t want their hosted applications to start throwing errors because some budget was exceeded. I expect that most businesses and individuals would prefer errors to a surprise $10,000+ bill.

I think hard budget caps need to be the default. If someone wants to live dangerously they should be able to do that, but it needs to be on an opt-in basis. Have a nice, clear checkbox somewhere prominent:

Remove the budget cap. My application will not be shut down if I exceed the configured budget limit, and I will be responsible for subsequent charges.

The service I most want to see this from is AWS. I’ve heard plenty of stories from people who refuse to use AWS for personal projects out of (justified) fear that a runaway service might bankrupt them. I’ve also heard stories from people who didn’t anticipate this and ended up seriously burned.

... and it turns out AWS finally launched spending limits a few weeks ago! From their announcement New AWS experience helps builders get started and ship faster on 16th September:

When you’re ready to upgrade to a paid plan, you can set a monthly spend limit for your project based on your usage patterns so that you stay within your budget. If a project’s usage reaches its spend limit, your project is paused for that month.

See also Create a spend limit in AWS Settings, though that page warns that “We’re currently releasing our new experience to a limited number of customers.” Here’s hoping that hits general availability for existing accounts soon.

Google Cloud launched a similar feature in July, called Spend Caps, which lets you “set a monthly financial cap on specific services within a project”. Looks like this is becoming a trend!

In an ideal world, our agents could help with this. It would be great if agents started biasing towards recommending providers with hard budget caps, and warning new and inexperienced builders against deploying applications using uncapped services that might get them into trouble.

The Daily Front Page 5 of 27
Sunday, October 4, 2026 The Daily Front No. #261004 — The Price of Automation
article

Improper redaction reveals Google Data Center water and electricity usage

by sensanaty·▲ 309 points·423 comments·1011now.com ↗
Nebraska data centers submit 2026 annual report

LINCOLN, Neb. (KOLN) - Nebraska data centers are required to turn in an annual report to Nebraska’s Department of Water, Energy, and Environment, but some state statutes are preventing the public from seeing just how much electricity and water data centers are using.

The Google Data Center in Lincoln, named Agate LLC, claimed their electricity usage and water usage were trade secret information, citing Neb. Rev. State §§ 81-1527; 84-712.05 and NAC TITLE 115, CH. 2. In fact, Google did this for all three data centers, including their sites in Omaha and Papillion.

However, using a computer cursor to highlight the redacted text box in the report to DWEE, then copying and pasting it into a separate document reveals that Agate LLC is reporting 52.65 megawatts of electricity during peak electrical demand and 13.299 megagallons of water between cooling towers, evaporative systems and site operations in the last year. That totals out to 13 million gallons of water.

For context, 13 million gallons is enough to fill around 20 Olympic-size swimming pools, and is less than half of what the City of Lincoln reports using on Sept. 29.

The six data centers reporting as of Sept. 30 show a total use of 765 million gallons of water last year, enough water to fill 1,159.93 Olympic-size swimming pools.

More improper redaction shows that the data center using the most water annually is Fireball Group LLC, the Google Data Center in Papillion. Fireball LLC reports 547.88 megagallons for their 2025 Annual Water Consumption.

10/11 filed a public record request Sept. 30 to see redacted information from Agate LLC’s report.

10/11 filed a public record request to Nebraska DWEE on Sept. 30 to see redacted information.

10/11 filed a public record request to Nebraska DWEE on Sept. 30 to see redacted information.(Madison Pitsch | 10/11)

Further improper redaction reveals exactly how much of a 2025 tax refund Google data centers expect.

Google’s reports state that data centers only “utilize or expect to utilize” sales and use tax exemptions under the Nebraska Advantage Act. Reports state no rebates have been received for that program to date, nor have any incentive payments been received, or are expected to be received under the ImagiNE Nebraska Act.

Agate LLC reports expecting a refund of $55,822,472 from 2025 taxes. Fireball LLC is expecting a refund of $39,171,573.39 from 2025 taxes. Westwood Solutions LLC, the Google-owned data center in Omaha, is expecting a refund of $22,558,881 from 2025 taxes.

Documents submitted by Agate LLC show that the gross floor area is 288,530 square feet - about five football fields.

The Department of Water, Energy, and Environment Data Center Task Force is overseeing the execution of Governor Jim Pillen’s July 20th Executive Order requiring data centers in the state to self-report their impact on Nebraska’s resources; primarily water, power grids and local infrastructure.

Usage reports are due by Sept. 30. Submitted reports can be read here, simply enter “DCR” into the “DEQ Program” field.

The Daily Front Page 6 of 27
Sunday, October 4, 2026 The Daily Front No. #261004 — The Price of Automation
article

UK Government Body Kept Files on People Criticizing Prevent Program

by latein·▲ 73 points·28 comments·reclaimthenet.org ↗

The Home Office tried to keep the paperwork private until an appeal brought it into the light.

A magnifying glass inspecting a speech bubble inside an open manila folder over the UK Union Jack flag.

If you are a British citizen and you criticize a government program online, that criticism can be collected and stored by a government-linked body.

At least that seems to be the upshot of the actions of the Prevent Standards and Compliance Unit (StaCU), “a body linked to the Home Office," that has been keeping “observations” of those who speak against the government’s Prevent counter-extremism program on the internet.

The “evidence” of this comes from documents the group Rights & Security International (RSI) obtained under freedom of information law.

The group has now revealed that in the year from March 2024 to February 2025, StaCU made 77 “observations” of people who were critical of the program online – and that most of these “observations” came from X, with some from Reddit. Mainstream media articles were also included, as were posts from or about several organizations, including Hope Not Hate, Maslaha, and the Open Rights Group.

The “observations” are filed as “open-source complaints” and stored internally by StaCU. RSI is unsure what happens to this data next, and who the government may be sharing it with. What is known is that the process involves “attempting to independently verify claims.”

As RSI’s Freedom of Expression and Belief Team Leader Jacob Smith put it, “You should be able to criticize government policy without getting put on a list.”

Smith also noted that the fact that the government “has been trawling X and Reddit to find out who has been critiquing Prevent” should serve as “a stark reminder that, in the government’s eyes, anything you share online is fair game and could go into a file forever.”

The Home Office tried to keep this secret and refused to hand over the documents at first, but RSI won an appeal to the Information Commissioner’s Office, and the documents were released.

As RSI noted, it is unclear if any automated tools were used to find the posts, and if not, how the unit “found” them, or what it does with the data it collects.

The case is not the first time Prevent has been in the news for its controversial nature and the way it is implemented, but it is a stark reminder that the British government has no problem treating criticism of its policies as potentially dangerous.

The Daily Front Page 7 of 27
Sunday, October 4, 2026 The Daily Front No. #261004 — Macintosh, Minus the Models
repository

Turn off Apple Intelligence on macOS 27 and get its disk space back

by privacyisntdead·▲ 459 points·284 comments·github.com ↗
★ 612⑂ 15 forks Swift

Turn off Apple Intelligence on macOS 27 and get its disk space back. One command, fully reversible.

Turn off Apple Intelligence on macOS 27 and remove its downloaded models.

macOS 27 no longer has a single switch for Apple Intelligence, and its models stay on disk after the features are turned off. RemoveMacAI turns the features off, removes the models and prevents macOS from downloading them again. All changes can be reverted.

RemoveMacAI turning off Apple Intelligence

Demo video

Install

curl -fsSL https://raw.githubusercontent.com/omlahore/RemoveMacAI/main/install.sh | bash

The script downloads the latest release, verifies its SHA-256 checksum and runs it from a temporary directory. Nothing is installed.

Every release is built from its tag by GitHub Actions and carries a build provenance attestation. To check that a download came from this repository's source:

gh attestation verify removemacai-darwin-arm64.tar.gz -R omlahore/RemoveMacAI

With Homebrew:

brew install omlahore/tap/removemacai
removemacai

RemoveMacAI shows the current state and asks for confirmation. It then opens System Settings to install its configuration profile, which macOS requires the user to approve, and removes the models.

Usage

Command Description
removemacai Show the current state, then turn Apple Intelligence off
removemacai status Show each feature and the size of the models on disk
removemacai off --keep <features> Leave the listed features on
removemacai off --dry-run Show the changes without applying them
removemacai revert Undo all changes
removemacai features List the feature names accepted by --keep

To revert with the one-line installer:

curl -fsSL https://raw.githubusercontent.com/omlahore/RemoveMacAI/main/install.sh | bash -s revert

What it changes

Features turned off: Siri (including "Hey Siri" and the menu bar icon), Writing Tools, Genmoji, Image Playground, the ChatGPT extension, summaries in Mail, Messages, Safari, Notes and notifications, Mail smart replies, inline text predictions, Spatial Photos, Photos Clean Up and Xcode predictive code completion.

Models removed: the Apple Intelligence foundation models and the models for image generation and Genmoji, Spatial Photos, Photos Clean Up and Xcode code completion.

Output of removemacai status

How it works

  • A configuration profile applies Apple's restriction keys for Apple Intelligence and forces the settings that have no restriction key.
  • Models are removed through Apple's asset service. System Integrity Protection stays enabled and no files under /System are modified directly.
  • The profile redirects the download of each removed model to a closed local port, so macOS does not download it again.
  • Removing the profile restores the previous settings. macOS downloads the models again when a feature needs them.

RemoveMacAI makes no network requests and collects no data.

FAQ

Does dictation still work? Yes. Dictation is a separate setting, and its speech models are not removed.

Do macOS updates undo the changes? No. The profile, including the download block, persists across updates.

Storage settings still lists Apple Intelligence after the models were deleted. Apple's asset service releases the models right away, but macOS deletes the files on its own schedule. Until then, System Settings > General > Storage keeps counting them under Apple Intelligence.

Why is a process named Siri still running? In macOS 27 the Spotlight window runs as a process named Siri. Some system services also stay loaded; they are protected by System Integrity Protection.

What stops working? The features listed above, apps that use Apple's on-device models (the Foundation Models framework and the Use Model action in Shortcuts), Visual Intelligence and natural-language editing in Calendar.

Requirements

Apple silicon.

macOS Status
27 Supported, tested on 27.0. On 27.0.1, use 0.2.3 or later.
26 and earlier Not supported

Uninstall

Run removemacai revert, then brew uninstall removemacai if it was installed with Homebrew.

Acknowledgements

RemoveMacAI is built on pared, a complete working tool by 4evy that first mapped the asset service, the model sets and several of the settings keys. Its license is in THIRD-PARTY-NOTICES.md.

License

MIT

The Daily Front Page 8 of 27
Sunday, October 4, 2026 The Daily Front No. #261004 — The Platform Question
article

Why don't more developers “use the platform”?

by vinhnx·▲ 288 points·299 comments·nolanlawson.com ↗
Why build something yourself, in JavaScript, when the browser can do it for you?

For years, advocates for web standards, performance, and accessibility have implored web developers to “use the platform”. I’ve often been one of those advocates.

The argument is simple: why build something yourself, in JavaScript, when the browser can do it for you? Whatever you build, it’s likely to have poorer performance and worse usability than something the browser could just give you out-of-the-box.

I think it’s worth taking the other side, though, if for no other reason than to understand where the “platform-skeptic” developers are coming from. If “use the platform” is so obvious, then why do so many people seem to need convincing?

The most obvious reason is historical: for the longest time, browsers were playing catch-up with the ecosystem on top of them. Libraries like jQuery filled crucial gaps while browsers implemented equivalent APIs – and even then, you might have to wait for laggards like IE6 to age out before you could actually use them. Today, most browsers are evergreen (Safari is debatable, although ~7 times per year ain’t bad), but up until the 2020s or so, web developers had to deal with a decidedly lumpy web. In that environment, rolling your own is a sensible choice.

Another reason is familiarity: when you’re used to looking for React components on npm, that’s what you tend to reach for, regardless of the problem at hand. If you search for “sticky positioning” on npm, there’s no package that says “just use CSS position: sticky, you dolt.”

And often, even with a robust standard, libraries on npm would fill a useful gap between framework ergonomics and the platform underneath it. I always found it intriguing that many React developers preferred to stick to JSX and React idioms – raw DOM APIs felt “icky” – but were perfectly happy to use lower-level libraries where raw DOM manipulations are common. For example, a virtual list library might happily use raw DOM APIs for pure performance, while exposing higher-level primitives that a novice React developer could better grasp. In a sense, the ecosystem of React components led to a natural division of labor where those with more expertise packaged up unfamiliar platform APIs in a more familiar form factor.

Some of this effect was also driven by documentation. Many npm packages have lovingly detailed READMEs or websites with examples, tutorials, and screenshots. Whereas until MDN became cemented as the go-to place for web documentation (with web.dev as Google’s more future-facing arm), documentation for the web platform was scattered across blogs, StackOverflow, and sites like CSS Tricks. And many of these sites would just tell you to use a well-known library like jQuery or GreenSock!

Screenshot of the Dragula website saying "drag and drop so simple it hurts" with a logo and stylized purple page versus the MDN page for the Drag and Drop API which looks much more subdued in comparison

The Dragula site versus the Drag and Drop MDN page. Arguably the former is still more compelling.

If it were just about third-party libraries versus platform APIs, though, then I don’t think it could fully explain the antipathy toward “use the platform.” Developers who are lazy (or do I repeat myself?), and who just want a ready-made solution for whatever problem they’re facing, are unlikely to care whether that solution comes from npm, the browser, or copied off of someone’s random GitHub Gist. They want to solve their problem and move on. But there’s a different source of anti-“use the platform” that I want to explore.

For a certain type of developer, building things yourself is just more fun. And often the resulting code is easier to reason about, especially if you don’t have an encyclopedic knowledge of the web platform. And once you’ve built something, there can be a kind of IKEA effect where you want to maintain and tinker with your own homemade code.

As an example, let’s imagine you’re trying to build a modal dialog. You might visually understand how these are supposed to work: content appears on the screen, but the background is still visible although partially occluded, and maybe clicking outside the dialog dismisses it. So you might grab for position:absolute and z-index to position the dialog correctly – aha, but the background still scrolls, so you have to disable overflow on the body… And then if you understand something about accessibility, you realize you need to handle Esc to dismiss, and build a focus trap, and return focus to the element that launched the dialog, and…

For many developers, what I just described sounds like a nightmare (and a good way to build something that only half-works). But for many developers, this sounds like fun! Think of how much you learn as you start building this thing. And think about how you could start putting your own spin on it by adding animations, themes, an optional “close” button… Before you know it, you’ve built a library that’s ready to go on npm. That’s way more fun than just grabbing <dialog> and calling it a day – what a downer!

And for many of us, before APIs like <dialog> existed, this was how we learned the web platform! Many of the people who now advocate for “use the platform” were once themselves authors of polyfills, shims, and libraries. I know because I’m one myself! I spent years working on tooling for IndexedDB, WebSQL, and other browser storage APIs as part of my work on PouchDB, which eventually led to me feeling confident enough to sit in W3C standards meetings and even open issues and pull requests on the IndexedDB spec itself. Without the forcing function of a gap in the platform that needed to be filled, I don’t know if I would have found the interest or motivation to get to that level of expertise.

Of course, doing it yourself is not always an unalloyed good. Sometimes it just comes from pure ignorance. On the web platform in particular, I think one of the reasons there was such a proliferation of JavaScript solutions to problems that could be better solved by CSS, for example, is that many developers just didn’t take the time to deeply understand how CSS works.

And to be fair, CSS has historically been hard to understand! There’s a reason the site is called “CSS Tricks.” Things like the clear fix, floats, and the min-width: 0 trick are hardly intuitive. Rather than trying to understand CSS’s internal algorithm, it’s often much easier to just imagine the imperative logic you want and then express it in JavaScript. Plus, for years CSS didn’t have a straightforward way to express common patterns like line clamping, textarea resizing, scrollbar hiding, etc. So of course developers built it themselves using the tools they already understood.

I don’t even think this phenomenon of “avoiding the platform” is limited to the web. It can apply to any developer working on top of a platform they don’t fully understand. For example, at my work, we use ClickHouse for storing various kinds of analytics data. At one point, my coworker and I disagreed about how to store large JSON data in a column: he built a system for compressing it before storage, whereas I put the data in a separate key-value store and only inserted the key into ClickHouse. It turned out we were both wrong! ClickHouse automatically compresses data, and as a columnar data store you actually get better compression across rows if you just let ClickHouse handle it. And the separate key-value store was just a poor man’s version of what a columnar SELECT already does.

I only realized these things after actually taking the time to thoroughly read the ClickHouse docs and then write a benchmark to prove my hypothesis. In the end I was shocked that we had built something that was slower and clunkier than what the platform itself could give us out-of-the-box. The parallels with JavaScript and the web platform were hard to ignore.

I’m sure that if you’re a developer on iOS or Android, or someone building on top of a game engine, or really any kind of developer building on top of any platform layer, you probably have similar stories. There’s a reason that the stereotype of the grizzled senior engineer is someone who can take a junior’s baroque tangled mess of code and replace it with a single line. The more you learn, the more you’re able to wield your knowledge of how the entire system works end-to-end to create the smallest possible contribution to it (and thus reduce your maintenance burden in the long run).

I’ve been trying really hard not to talk about AI this entire post (because I’ve done it to death over the past year), but of course I can’t help but wonder how AI coding will impact this phenomenon. I actually have both an optimistic and a pessimistic take:

  • Optimistic: because LLMs have an encyclopedic knowledge of whatever platform you’re working with, they can choose exactly the right platform API to deliver the experience the prompter asks for in vague English. And since this solution is likely faster and more correct than userland code, the agent will prefer it after rigorous testing and benchmarking. Furthermore, the “IKEA effect” goes away when developers are not actually writing the code themselves.
  • Pessimistic: because LLMs seem to love duplicating code – for example, ignoring helper functions that already exist in favor of writing their own for the umpteenth time – the amount of custom, non-platform-idiomatic code will skyrocket. Developers won’t instruct their agents to test enough or to try enough alternatives, and will just commit the agent’s first draft. And because it’s always possible to add more epicycles, the agents will continue to iterate on over-engineered solutions that never should have existed in the first place.

In my own use of AI coding, I’ve seen both phenomena happen. I’d like to think that as models and coding harnesses get better we’ll start to veer more towards the optimistic outcome, but I can’t say for sure.

In any case, these are my longwinded and somewhat conflicting thoughts on “use the platform.” As a mantra I love it, because it succinctly captures a feeling I have when I’m looking at some overwrought pile of spaghetti code and thinking how much better and more elegant it would be if the author just understood the layers beneath them a bit better. At the same time, I’ve been that author, and I’ve felt the joy of building such beautiful, messy code (beautiful to me, anyway), so I think it’s worth understanding where such developers are coming from. For that reason, I’m sure we’ll be hearing “use the platform” for as long as there are platforms.

The Daily Front Page 9 of 27
Sunday, October 4, 2026 The Daily Front No. #261004 — The Car That Watches
article

Car is a smartphone on wheels. Here's who's listening

It knows where you drive. It knows who you are.

The first large-scale measurement study of the connected-vehicle ecosystem.

A connected car is a vehicle with built-in internet access — Wi-Fi, cellular, GPS — that lets it communicate constantly with its manufacturer and outside companies. Over 75% of vehicles sold globally have this connectity built-in.

A connected vehicle

It knows where you drive.

It knows who you are.

It can share this data and more with insurance companies, advertisers, etc...

Report Summary

Partnering with Consumer Reports, we tested 21 late model vehicles and 30 companion mobile apps to understand the privacy implications of the connected vehicle ecosystem.

  • 01We find that both vehicles and companion apps contact numerous third-party domains, including advertisers and trackers.
  • 0219/21 vehicles tested send traffic to at least one third party
  • 03Seven of 30 apps transmit sensitive identifiers to third-party companies

We go through a lengthy disclosure process and provide insight into how manufacturer's perceive this data sharing issue.
Our findings underscore the need for continued measurement and scrutiny of the connected vehicle ecosystem.

Partnership with Consumer Reports

Consumer Reports gave the team access to its purchased fleet of test vehicles — a sample that would have cost over $1.2M to assemble independently. Read CR's article on our work!

Research Questions

Diagram of how the connected vehcile ecosystem works

Connected Vehicle Ecosystem

This diagram shows the data flows to and from a vehicle and its companion mobile app. Both devices send data, including private consumer data, to different 1st and 3rd party servers using Wi-Fi and cellular service. Solid arrows represent flows that were intercepted through our experiments.

The Problem

Once the data gets sent to these servers, it is up to the companies that receive the consumer information to make decisions on what they do with it. Unfortunately, in many cases, this includes sharing or selling consumer data to other undisclosed 3rd parties.
Consumers have no control over their data once it has left their device

In this paper, we take the first steps to address the limited visibility into the privacy implications of the connected vehicle ecosystem. We identify two vantage points in the ecosystem where we can gain insight into the data that connected vehicles are sharing with both manufacturers and third parties: the vehicles themselves and the mobile apps provided by manufacturers.
We ask the following guiding questions:

  • 01What personal consumer data do connected vehicles and their companion mobile apps transmit?
  • 02Who receives that personal consumer data?
  • 03What is the manufacturer response to these findings?

Methods

We investigated 21 vehicles from the U.S. market in a controlled environment along with 30 companion mobile apps instrumented with on-site vehicles between October 2024 and August 2025. Below is a description of the experiments we ran and our setup.

Vehicle Testing

Testing Setup

Wi-Fi Testing Setup

To collect Wi-Fi traffic from vehicles, we configured a custom access point (AP) on a Raspberry Pi and used tcpdump to log all packets that were sent or received via this AP.
This allowed us to see all the destinations the vehicles were sending data to but not the information within the packets as it was encrypted.

Vehicles at the testing facility

Stationary Tests

Idle Baseline
vehicle on — no activity

Active Test
perform all possible actions

Driving Test

drive 5–45 mph with acceleration & hard braking

Isolating Cellular Traffic

Faraday tent used to block cellular signals

One hypothesis we tested was whether blocking a vehicle’s ability to communicate over its cellular network would force more Wi-Fi communication. To block external cellular signals, we drove 11 EVs in the sample into a car-sized Faraday tent providing ≈93 dB of attenuation, blocking their cellular connection entirely. Stationary Idle and Active tests were repeated inside the tent to see whether traffic that normally goes out over cellular rerouted to Wi-Fi instead.

App Testing

In total, we experimented with 30 connected vehicle companion apps that were paired with the vehicles at Consumer Reports’s testing facility.

Device Setup

  • 01We used a combination of test phones and iOS versions for our experiments: an iPhone 8/iOS 16.6, an iPhone X/iOS 16.7.11, and an iPhone 13/iOS 18.5.
  • 02To minimize background traffic, we deleted all non-essential apps on the test phones and tested apps one-by-one, including deleting each vehicle app and restarting the phone before downloading the next app.
  • 03We used the iOS native screen recording feature to record our interactions with each app for later review.
  • 04To capture and decrypt network traffic from the companion mobile apps, we used iPhones with custom root certificates connected to mitmproxy.

Process for Testing Each App

  • 01During app installation and login we accepted all permission requests (e.g., tracking, location, calendar access, Bluetooth, notifications) that the application requested
  • 02We had a Consumer Reports employee log into the app using their existing credentials associated with a vehicle on the lot.
  • 03Once we were logged-in, we manually exercised all available functionality, such as looking for nearby charging staions, geolocating the vehicle, viewing vehicle data and service history (e.g., tire pressure), viewing notifications (e.g., “doors are unlocked”), and viewing in-app privacy policies.
  • 04Some apps allowed us to perform physical interactions on the vehicle, such as remotely opening the trunk. We performed all such actions and verified that the vehicle completed each request.

Vehicle Dataset

$1.2M+

estimated cost to independently procure this fleet, only possible due to Consumer Reports partnership

Manufacturer Brand Year Model Vehicle Tests Driving Idle In-Tent Cellular
General Motors (GM) Buick 2024 Envista ✓ ✓ – –
General Motors (GM) Cadillac 2024 Lyriq ✓ ✓ ✓ –
General Motors (GM) Chevrolet 2024 Blazer ✓ ✓ ✓ –
Stellantis Dodge 2023 Hornet - ✓ – –
Stellantis Fiat 2024 500e ✓ ✓ ✓ –
Stellantis RAM 2025 1500 Bighorn ✓ ✓ – –
Fisker Fisker 2023 Ocean ✓ ✓ - –
Ford Motor Co. Ford 2022 F150 Lightning ✓ ✓ - –
Ford Motor Co. Ford 2024 Mustang GT Fastback ✓ ✓ – –
Honda Motor Co. Honda 2024 Prologue Touring AWD ✓ ✓ ✓ –
Tata Motors Land Rover 2023 Range Rover Sport ✓ ✓ – –
Toyota Motor Corp. Lexus 2024 NX450H+ PHEV ✓ ✓ – –
Toyota Motor Corp. Toyota 2023 Corolla Cross ✓ ✓ – –
Subaru Subaru 2023 Solterra ✓ ✓ ✓ –
Lucid Lucid 2023 Air Touring ✓ ✓ ✓ –
Mercedes-Benz Group AG Mercedes 2023 EQS450 4Matic ✓ ✓ - –
Renault-Nissan-Mitsubishi Alliance Nissan 2023 Ariya Platinum ✓ ✓ ✓ –
Rivian Rivian 2022 R1S ✓ ✓ ✓ –
Tesla Tesla 2024 Cybertruck ✓ ✓ ✓ –
Tesla Tesla 2024 Model 3 ✓ ✓ ✓ ✓
Zhejiang Geely Holding Group Volvo 2024 C40 ✓ ✓ ✓ –

*****While we tested a wide range of vehicles, we did not cover every manufacturer in the U.S. market. As with all empirical studies, our results should be interpreted as a snapshot in time, and may not generalize to vehicles outside our sample or outside the U.S.

Findings

  • 19 of 21 vehicles contacted at least one third party over Wi-Fi, including known advertising and tracking domains

  • 7 of 30 companion apps transmitted sensitive identifiers (VINs, emails, phone numbers, precise location) to third parties associated with advertising and tracking.
    Transmiting multiple forms of PII to the same third party allows advertisers to build in-depth profiles on consumers

  • Pairing a companion app roughly doubled a vehicle's exposure to advertising/tracking companies on average, and in some cases added 20+ new ones.

Manufacturer Disclosures

  • The team disclosed these findings to the different manufacturers featured in the study, below is an interactve summary of the different explanations received.

  • The ongoing theme of all these responses was shifting the blame to the consumer.

  • The current system does not give owners the ability to choose.
    Assuming owners can find the particular agreements, if an owner decides they are uncomfortable with the data sharing described within them, they are faced with (arguably) unfair choices:
    01accept the agreements regardless of their concerns
    02stop using their car's connected-vehicle features - which includes remote start, the app, and other very useful features
    03stop using the vehicle entirely

  • As one notable exception, Honda improved its data collection practices to prevent sending precise geolocation to a third party associated with user tracking.

Conclusion

  • We found that vehicles, under a variety of real-world settings, contact not only a wide range of first parties (i.e., manufacturer domains) and car-specific support parties, but also third parties that are known to provide advertising and tracking services.
  • Vehicles from the same manufacturer exhibit different network behaviors - this makes it very difficult and expensive to study these vehicles.
  • When adding vehicle companion apps to the analysis, we found that vehicle owners are exposed to even more privacy-sensitive ATA communication—in some cases more than two dozen additional trackers.
  • Our study revealed a large gap between what vehicle manufacturers publicly disclosed and how the connected vehicle ecosystem actually shares data over the Internet
  • Based on the opaque nature of vehicular systems, we argue that there is a need for better transparency to ensure increased visibility into the entire ecosystem to identify and address corresponding harms.
The Daily Front Page 10 of 27
Sunday, October 4, 2026 The Daily Front No. #261004 — Power in Pieces
article

In Ukraine, distributed renewables foil Russia's assaults

by JumpCrisscross·▲ 166 points·188 comments·energytransition.org ↗
Drinking water flowed from kitchen taps, as it has since last year.

When Russian air strikes knocked out Ukrainian power plants across the country earlier this year, most of the Black Sea port city of Mykolaiv in southeastern Ukraine was unable to pump fresh water to the city’s housing blocs. But in an easterly suburb of Mykolaiv, drinking water flowed from kitchen taps, as it has since last year thanks to a small off-grid solar field tucked inconspicuously into its midst. Paul Hockenos reports.

The two sets of elevated arrays and battery, funded by the Danish government, run the underground pump on its premises.
‘There’s just enough sun [in January/this winter thus far] to make it work,’ says Olena Kondratiuk, project manager of Ecoclub, a non-profit that assists municipalities in obtaining renewables.

The city of Mykolaiv, only 60 kilometres from Russian-occupied territory, had been battered in 2022 when the Russian army launched its full invasion of Ukraine, pummelling the city with missiles, rockets and cluster bombs. The shelling laid waste to homes, hospitals, schools and factories. The bombardment also impaired the central water supply system, leaving most of the roughly half-a-million-strong town near the frontline without regularly flowing water.

‘Of course I’m happy to have running water again, I don’t care how,’ an older resident named Iryna told me. Until the solar park commenced operation, her taps discharged salty water, accessed from a nearby estuary, when anything dripped from them at all. She either purchased drinking water or filled plastic jugs with fresh water from mobile public tanks, and asked neighbours to carry them up to her fifth-floor apartment.

Other districts of Mykolaiv – the city is a country-wide pioneer in renewables – also receive fresh water on account of distributed solar technology. Five solar-powered desalination systems turn saline or polluted water into drinking water – when the sun shines. At night and on cloudy days, they are powered by the central grid – that is, if it’s up and running. The system, one of the largest of its kind in Europe, can supply 250,000 residents with 1.2 million litres of drinking water a day. The Mykolaiv children’s hospital and the maternity hospital will steady their energy supply with solar panels in the course of this year, as are a dozen others elsewhere in the country.

Since the war’s onset, Russia has relentlessly targeted Ukraine’s energy infrastructure – for the most part, overwhelmingly bulky, old-school thermal plants and the vast country-wide grid – in an effort to lame the war effort and beat down its people. Last winter was the gravest yet: attacks against coal, gas, cogeneration and hydropower plants, as well as transmission grids and their substations, left giant swaths of the country with irregular electricity and heat as temperatures have plummeted to minus 20 degrees centigrade. Many schools and other public services that were unable to reopen after Christmas are still closed today. Economists estimate that total damage to Ukraine’s energy sector now exceeds $56 billion.

US environmentalist Bill McKibben argues that Ukraine’s autonomous power sources are ‘comparatively invulnerable to attack’. In our new era of drone warfare, writes McKibben, centralized and complex energy facilities are now ‘sitting ducks for drone attack’. Smaller, ‘scattered’ generation sources with batteries and independent transmission grids, like the Mykolaiv fields, are not only harder for Russia to strafe, but they’re much more quickly repaired, too. This is in contrast to petrochemical refineries, which McKibben calls ‘one of the most complicated machines humanity has ever constructed’, and often cover hundreds of acres. These are ‘filled with highly complex equipment and highly flammable hydrocarbons; hit one corner with a drone and the flames and the damage are likely to spread quickly’.

‘A coal power station [is] a large single target that a single missile could take out,’ says Jeff Oatham of DTEK, Ukraine’s largest energy investor. ‘You would need around 40 missiles to do the equivalent amount of capacity damage at a wind farm.’ And, like wind parks, a solar field functions even when part of it is out of operation.

Ukraine is revamping its energy system at warp speed for the purpose of energy security, not climate protection. ‘Ukraine’s energy transition is not a slogan,’ says Levgeniia Kopytsia, a Ukrainian energy analyst at the think tank Institute for Climate Protection, Energy and Mobility. ‘It’s a security-driven transformation, unfolding under extreme constraints. It priorities decentralization, flexibility, and speed of recovery.’ In wartime Ukraine, renewables and local grids are coldly calculated security assets, Kopytsia says, that can boost the system’s resilience – and in Ukraine this translates into saving lives.

Ukraine’s shift away from fossil fuels began before the full-scale invasion: its negotiations to join the EU require it to adapt to the bloc’s climate criteria, and in 2021, Ukraine pledged to be coal free by 2035. For security reasons, there are currently no public figures available for energy production.

According to the International Energy Agency (IEA), this past summer, Ukraine made ‘strong strides’ in rebuilding and bolstering its system’s resilience. The renewables rollout was – and still is – led by rooftop solar, small-scale utility PV generation and local storage, as well as biomass combustion.

Before Russia seized three of them in 2022, there were 34 wind parks in Ukraine with around 700 turbines – and more in the works. Ukraine has seven gigawatts of wind power in the pipeline, ready to go this year, should conditions be fortuitous. This would more than triple the country’s current capacity, which in 2022 constituted over 20 per cent of its renewable mix.

The relentless waves of aerial attacks on infrastructure prompted an epiphany in Ukraine’s energy sector: a new, younger set of energy managers – that replaced the Soviet-style old guard – are fully committed to distributed energy – the faster the better, they say. They intend to double the country’s renewable energy consumption in just four years’ time.

While the war has sidelined the rollout of the likes of large-scale projects, such as wind turbines, households, businesses and public institutions have been installing solar at an unprecedented rate. Ukraine’s YASNO, a utility supplying electricity and gas to millions of Ukrainians, says its customers are snapping up the solar and storage packages that it offers. An astounding fact: on sunny days, Ukraine even boasts energy surpluses.
The German Ukrainian Energy Partnership, a platform for intergovernmental dialogue on energy matters, estimates that Ukraine’s potential to add solar capacity in the next five years is equivalent to about 80 medium-sized nuclear reactors. ‘The sector is emerging as one of the fastest-developing renewable markets in Eastern Europe,’ according to its website.

‘Individual consumers want to get off the grid any way that they can,’ explains the Ukrainian energy expert Andriy Martynyuk. ‘It’s largely a grassroots phenomenon and a bit chaotic now.’ He argues that the demand for renewables will shoot up further when the prodigious state subsidies for conventional energy eventually fall away.
This boom, of course, begs for storage options, and there too Ukraine is racing forward. In short order, the country’s national grid operator invested in half a gigawatt of storage capacity last year – an impressive score, according to experts who note that it is just under a quarter of Germany’s total storage supply. The battery projects that in Europe take two years to roll out, in Ukraine happen in six months, reports the Financial Times.

Renewables aren’t the only source of distributed supply. Ukraine envisions large-scale diesel generators, biomass facilities and smallish gas turbines, including combined heat and power plants, as integral to its scattered energy supply. ‘Distributed generation is those facilities that have up to 20 MW capacity,’ explains Roman Nitsovych of DiXi Group, a Ukrainian think tank. ‘Gas-fired units have several advantages: guaranteed output of available power, fast start, and flexibility.’

No matter how intent Ukraine is about diversifying its energy system, it’s going to require a centralized grid. The larger supply options, like the gas-turbines and wind parks, require a functional transmission network, including the substations that the Russians regularly target. The Ukrainians’ playbook is to put them underground – just as it now does its schools – making them impervious to Russian weaponry.

The views and opinions in this article do not necessarily reflect those of the Heinrich-Böll-Stiftung European Union | Global Dialogue.

The Daily Front Page 11 of 27
Sunday, October 4, 2026 The Daily Front No. #261004 — Search the Memory Bank
show hn

Show HN: AI search for every photo and every frame of video on macOS

by allenleee·▲ 146 points·66 comments·github.com ↗
Search like you think — describe a memory in plain language.

SCM demo — library grid SCM demo — scene search

SCM — Screen Memories

Deep AI search for every photo and every frame of video in any folder on macOS. Local-first — no accounts, no cloud, no uploads. Inference runs on your Mac.

What makes it different

  • Search like you think — describe a memory in plain language; a local vision model does the rest.
  • Video, down to the moment — scenes are segmented and embedded, so you land on the shot, not just the file.
  • Text and dialogue too — OCR over visible text; exact spoken-line search via Whisper, each as its own mode.
  • Your tabs, your prompts — save any query as a tab; Screenshots and Email tabs are toggleable.
  • Self-maintaining library — watched folders auto-import, content hashes dedupe renames, and model switches re-embed in the background without blocking search.
  • Truly private — your media never leaves the machine. Weights download once; everything after that is offline.

Five ways to search

Search modes: Files, Scenes, Dialogue, OCR, LLMs

Mode Finds Files Whole photos/videos by meaning — vision rank with filename and phrase boosts Scenes Moments inside video — search a shot, jump to its timecode OCR Text visible in images and frames, matched literally (Tesseract; eng + 35 language toggles) Dialogue Exact spoken words in videos (Whisper), tiered exactness LLMs (opt-in) Local chat over the dialogue, OCR, and filenames your Mac already extracted — cited answers


Requirements

  • macOS (packaged with electron-builder; menu-bar/tray features are macOS-only)
  • Bun — the project uses bun as package manager and runner
  • Node modules installed: bun install
  • First use of a model downloads its weights (~435MB for the default CLIP); after that, fully offline.

Download

The easiest install is via Homebrew (Apple Silicon, macOS 12+). The tap's cask clears the macOS quarantine flag automatically on every install and upgrade, so the app launches with no manual Gatekeeper steps:

brew tap allenv0/scm
brew trust allenv0/scm
brew install --cask allenv0/scm/scm

Upgrades keep the same behavior:

brew upgrade --cask allenv0/scm/scm

Prefer least privilege? Trust just the cask instead of the whole tap:

brew tap allenv0/scm
brew trust --cask allenv0/scm/scm
brew install --cask scm

The tap lives at allenv0/homebrew-scm.

Development

bun run dev     # build the renderer bundle, then launch the Electron app
bun start       # launch the Electron app without rebuilding
bun run build   # just rebuild the renderer bundle into dist/

Building the app package (DMG / ZIP)

bun run dist            # signed if an identity is in the keychain
bun run dist:unsigned   # skip code-sign discovery

This runs two steps in sequence:

  1. vite build — compiles the React renderer into dist/ (picks up all changes under src/).
  2. electron-builder --mac — packages the app. It bundles the fresh dist/ bundle together with main.js, preload.js, main-lib/, and indexer/ (the file list is configured under build.files in package.json), then produces the installers.

Output: the installers land in dist-app/ (see build.directories.output in package.json) — look for SCM-0.2.4.dmg and SCM-0.2.4.zip.


Features

Files

Typing starts an instant filename-keyword pre-pass, then the vision model takes over: results are scored by cosine similarity against image embeddings, with gated phrase and filename boosts, an honesty floor calibrated per model, and a near-duplicate diversity filter. Every tile carries a "why it matched" badge (Visual match / Filename match / …) and a hover tooltip with the per-component score breakdown. CJK queries search as overlapping bigrams ("台北車站" also matches 台北, 車站).

Scenes

Every scene segment across all videos is scored, so a hit lands on the exact shot: tiles show the scene poster with a timecode badge, and opening the video jumps straight to that moment. A noise gate returns "no scene match" instead of flooding the grid with gibberish, and each video contributes at most 3 scenes.

OCR

Matches the fraction of query tokens literally visible in each image's OCR text — the filename is ignored and no vision model is involved, so it works even while the AI engine is warming up or offline. Matched words are boxed in amber on tiles and in the lightbox.

Dialogue

Exact literal retrieval over Whisper transcripts — no embeddings, no thresholds, works with the AI engine down. Results come in three tiers: Exact line (contiguous phrase in one utterance), Exact words (all words in one utterance or an ≤8s window), and Words spoken (all words in the same video). Matching words are highlighted in a speech snippet; opening a result seeks straight to the line.

LLMs (Ask)

Opt-in — nothing downloads or runs until enabled in Settings → LLMs Chat. A llama.cpp sidecar bound to loopback answers your question from evidence the app already extracted — dialogue lines, OCR text, and filename keyword hits — with numbered citations you can click, streamed token-by-token with a live tok/s readout. Leading /screenshots, /videos, /email narrow the corpus; Stop keeps the partial answer; empty evidence short-circuits before the model ever runs.

Chat model Size Notes Qwen3 1.7B (default) ~1.1GB Fast everyday chat; fits 8GB Macs Llama 3.2 3B ~2GB Stronger long answers; needs headroom

Tabs & library views

  • Built-in browse tabs: All, Videos, plus Screenshots and Email — the latter two toggleable in Settings → Smart Tabs. Selecting Videos auto-enables Scenes mode.
  • Save any query as a tab: the pin pill under the search bar saves the current prompt with its mode (Files/Scenes/OCR/Dialogue) — up to 20 tabs, renameable, each restored exactly as saved.
  • Five semantic views behind remappable shortcuts (⌘1–⌘5 by default), plus ⌘I import / AI Insights, ⌘, for Settings.
  • Search stays in the selected tab: pick Screenshots, Email, Videos, or any saved tab and results are filtered to it — scope first, then search. In LLMs chat the same idea is explicit: leading /screenshots, /videos, /email narrow the corpus before the model ever runs.

Email tab

Surfaces photos whose visible OCR text contains an email address — an overlapping view (a photo keeps its category too). Detection is OCR-tolerant: it reassembles addresses Tesseract fractures across word boxes, and handles comma-for-dot noise ("gmail,com"), split TLDs ("gmail. com"), bracketed obfuscation ("allen [at] gmail [dot] com"), and dictated addresses ("allen at gmail dot com"). Tiles show a contact strip; expand it to copy or compose.

Screenshots tab

Screenshot classification is rename-proof. Four signals, in priority order: a manual override (right-click any tile) → filename vocabulary (30+ localized OS screenshot names in 20+ languages) → a PNG/JPEG metadata probe (reads "screenshot" from PNG text chunks / EXIF UserComment, so a renamed Bildschirmfoto still classifies) → source-folder hint. Everything else lands in Projects.

Vision models

Four switchable models via ONNX Runtime; the active one is chosen per library:

Model Role Speed (CPU) Download CLIP ViT-L/14@336 (default) Best real-world video scene-search ~480–570ms/img ~435MB SigLIP-2-B/16 Fastest bulk import ~50–100ms/img ~412MB SigLIP-2-L/16@256 High-detail (1024-dim) — small objects, signs, on-screen text ~200ms/img ~850MB SigLIP-B/16@384 Maximum detail ~480ms/img ~214MB

Switching models re-embeds the whole library: the flip lands instantly with the tail filled in the background, and search falls back to filename keywords until it completes. Per-model text-mean centering de-biases text embeddings so similarity scores stay honest across models.

Video search pipeline

ffmpeg scans each video for shot boundaries and builds a segment plan sampled to the density you pick in Settings → Video Search — each preset shows its measured time and disk cost before you commit:

Preset Seconds per point Segment budget Eco 60 4–32 Balanced (default) 30 8–128 Detailed 15 12–256 Ultra 5 16–1024 Ultra Pro 2.5 24–2048 (confirm required)

Each segment embeds its midpoint frame and keeps a poster; shot plans are cached per file (path + size + mtime + config fingerprint), so re-imports skip detection entirely.

Dialogue transcription: Whisper tiny.en (~150MB, default) or base.en (~300MB) — switching re-transcribes every video. Whole videos embed three frames (20/50/80%) averaged; GIFs embed an average of middle frames.

OCR

Tesseract runs in its own worker, separate from the vision model. English is always on; 35 more languages are toggleable in Settings → Photo Search (default: Simplified + Traditional Chinese, Japanese, Korean). Each language pack downloads once (~2.4–5MB; ~17MB for the default set), then everything is offline. Word boxes are stored with the text so matches highlight in place; CJK text is joined without spaces and email fragments fractured across word boxes are reassembled.

Import & library management

  • Import via ⌘I, drag-and-drop, or watched folders — importing a folder starts watching it (live fs.watch plus a re-sync at every launch). Problem files retry up to 3 times, then sit out watch-syncs until they change.
  • Rename-proof dedupe: every file is content-hashed (SHA-256) before copy, and lying extensions are normalized by MIME sniffing.
  • Named embedding versions (Settings → Library): point-in-time snapshots of the entire searchable state — the index, every model's embedding bins, scene and transcript sidecars — with restore (auto-backup first) and a Fresh Start danger zone. Cap: 10.
  • Everything lives under ~/Library/Application Support/scm (MEMORIES_DATA_DIR overrides it): the index JSON, Float32 embedding bins per model, scene and transcript sidecars, thumbnails, and posters.

Privacy by construction

  • The renderer is a sandboxed app:// bundle — contextIsolation, OS sandbox, and a CSP pinned to 'self' (+ Google Fonts CDN for display type, with a monospace fallback when offline).
  • Only main-process workers ever download, once per thing: vision weights (Hugging Face), OCR language packs (Tesseract CDN), Whisper weights, and — only if you opt in — the llama.cpp sidecar and GGUF chat models (GitHub + Hugging Face), sha256-verified at download time.
  • Media is copied into the app-managed library and streamed from disk. No telemetry, no accounts, no uploads.

Settings & polish

A macOS-style settings sheet with ten panels (Library, Appearance, Grid, Smart Tabs, Photo Search, Video Search, LLMs Chat, Global Shortcut, Keyboard, Menu Bar). Around the core: light/dark/system theme, a CRT screen effect for the lightbox, 6 alternate app icons, menu-bar-only mode, a recordable global shortcut, a first-run onboarding tour, background-work trays (scenes / transcripts / OCR) with a global pause, and a status bar with version and indexed-video counts.

Notes

  • First build is slow: electron-builder downloads the Electron binary and ffmpeg once on its first run; subsequent builds are much faster.
  • Code signing: without an Apple Developer identity configured in the keychain, the DMG builds unsigned. The app still runs locally, but macOS may require right-click → Open the first time it's launched.
  • Rebuilds pick up changes automatically: since main.js, preload.js, main-lib/, and indexer/ are packaged from source (not cached), a bun run dist after editing any of them produces a fresh package.

Testing

bun run test:all         # the full verification battery (unit + smoke suites)
bun run smoke:indexer    # headless smoke test of the CLIP indexer
bun test test/           # unit tests (pure modules, no Electron needed)
bun run lint             # eslint
bun run format:check     # prettier
  • Unit tests cover the pure cores: ranking, dialogue exact-match, CJK tokens, the Whisper model ladder, MIME sniffing, transcript fusion, and more (see the test:* scripts in package.json).
  • E2E smoke tests run inside the Electron app via ELECTRON_SMOKE_* environment variables — a dozen-plus scenarios from boot/protocol checks to search matrices, model migration, and Ask mode (drivers in scripts/e2e/, dispatched in main.js; e.g. bun run smoke:ask, smoke:deep, smoke:grid).
  • Benchmarks: bun run bench:inference, bench:enrich, and bench:detect write JSON reports into MDs/bench-*.

Project layout

main.js             Electron main process: library, IPC, indexer worker pool, app:// protocol
preload.js          contextBridge — exposes window.memories to the renderer
main-lib/            main-process modules split out of main.js (settings, library store,
                    rank search, Ask retrieval, LLM sidecar config, embedding versions, …)
indexer/            vision/OCR/ASR workers (utility processes) + video utils + model registry
src/                React renderer (grid, search modes, lightbox, tabs, settings, onboarding)
scripts/            bench scripts, E2E drivers, the smoke battery (smoke-all.sh)
test/               unit + integration tests
MDs/                design docs, bench reports, plans
dist/               vite build output (renderer bundle)
dist-app/           electron-builder output (DMG / ZIP)
The Daily Front Page 12 of 27
Sunday, October 4, 2026 The Daily Front No. #261004 — Rust, Ahead of Schedule
repository

Emitting metadata early makes building/checking Rust up to twice as fast

by knuckleheads·▲ 134 points·32 comments·github.com ↗
★ 41⑂ 2 forks Rust

Start dependent crates before their dependencies finish type-checking

Start dependent crates before their dependencies finish type-checking.

Every crate waits for the crates it depends on to be fully checked, function bodies included, before it starts. It doesn't need those bodies to type-check itself. It compiles against the dependency's interface, the metadata in its .rmeta file.

Headstart makes rustc write an early metadata file as soon as the interface is checked, and makes cargo start dependents on it. Each crate's bodies are then checked while the crates downstream are already compiling.

  • cargo check: dependents run to completion on early metadata.
  • cargo build: dependents do all their analysis on early metadata, then wait for the dependency's full metadata before generating code. While they wait, they give their job slot back.

If a body has an error, the build still fails with that error, with the same diagnostics and exit status as today; only progress lines and the cross-crate order of JSON messages can differ. Cargo reports a crate's output only once all its dependencies have finished cleanly, and drops it if one fails. The costs are work downstream that gets thrown away, errors reported slightly later, and more memory in use at once (see docs/design.md).

Pieces

  • rustc, -Zearly-metadata (6 patches):

    • a new analysis_interfaces query splits analysis into item interfaces and function bodies;
    • the driver writes .early-rmeta between the two;
    • crate loading accepts early metadata, and swaps in full metadata before code generation, waiting for it if necessary on a lock its producer holds until it's written.
  • cargo, -Zheadstart (3 patches):

    • passes -Zearly-metadata to every compile;
    • starts dependents on the early-metadata notification, in both check and build;
    • gives a paused compilation's job slot to other work;
    • reports a crate's output only when its dependencies succeeded.

The patches are a commit series, each with a commit message and tests, meant to become upstream pull requests: see patches/README.md.

On rustc's default front end, headstart makes clean builds of 13 real projects (rust-analyzer, zed, bevy, lemmy, polars and others) up to 54% faster for cargo check, and up to 42% for cargo build. None is slower. With the parallel front end (-Zthreads=8), which covers some of the same ground, it adds up to 25%. Those are 16-core numbers. The gain comes from cores the build would leave idle, so it shrinks on smaller machines. On 4 cores, rust-analyzer's check is 24% faster and its build 13–15%, codex-rs's check 14%, and wide builds come out even.

codex-rs clean cargo build, headstart off vs on

A clean cargo build of codex-rs on 16 cores, recorded with cratebank. Without headstart, the workspace's own crates compile one after another while the machine sits mostly idle; with it, each starts on the early metadata of the one before, and the build is 37% faster.

codex-rs, what waited for what, headstart off vs on

The same two builds, with time across and dependency depth down: each unit is drawn under the dependency that released it, coloured by compiler phase. Without headstart the workspace crates form a long staircase; with it they overlap. More in docs/results.md.

How it works, what early metadata leaves out, and the risks: docs/design.md. Measurements: docs/results.md. Whether it's ready to bring to the compiler and cargo teams: docs/readiness.md.

Try it

scripts/setup.sh    # check out rustc + cargo, apply the patches, build both

Then, in any Rust project:

RUSTC=/path/to/headstart/rustc/build/host/stage1/bin/rustc \
  /path/to/headstart/cargo/target/release/cargo check -Zheadstart   # or build

CARGO_UNSTABLE_HEADSTART=true turns it on too, as does [unstable] headstart = true in .cargo/config.toml. Without it, the patched cargo behaves like upstream, so the same binaries give a fair baseline.

tests/smoke is a two-crate workspace that shows the effect. Its slow library takes several seconds to check, almost all of it in function bodies. With headstart on, app starts about 0.2 s in instead of waiting for slow to finish.

scripts/check-errors.sh checks the claim about errors on tests/errors. It runs three scenarios (a clean build, an error in a dependency, an error in the binary) with cargo check and cargo build, headstart off and on. It then compares the human-readable output, the JSON output, the exit status and what the built binary prints.

scripts/check-incremental.sh [check|build] does the same across a sequence of incremental edits. The steps include adding an impl Fn a dependent calls, and breaking and then fixing an interface. It also compares the final state against a clean build.

scripts/check-swap.sh makes a library start on its dependency's early metadata and swap in the full metadata while paused, at every optimization level. The program built from it must print the same as one built from full metadata.

scripts/sweep.sh builds all 53 rustc-perf compile benchmarks with headstart off and on, with -Zearly-metadata-verify. It passes when every build succeeds in both modes with the same diagnostics, and verify reports nothing. -c build sweeps cargo build, -r the release profile, and -t the parallel front end (-Zthreads=8).

Benchmarks

scripts/bench.sh -n 5 [-c build] path/to/project ...

This times clean cargo check (or cargo build) builds, alternating headstart off and on, and prints the medians. A project can take cargo arguments after :: (path/to/vaultwarden::--features=sqlite). scripts/real-projects.sh clones the 13 real projects from docs/results.md at the commits measured, and prints them in that form:

scripts/bench.sh -n 3 -c build $(scripts/real-projects.sh ~/hs-real)

scripts/setup-codex.sh <dir> does the same for codex-rs, which needs a patched dependency and codex's prebuilt V8 (see the script); source <dir>/codex/headstart.env before timing it.

-w adds an untimed warm-up build per project, for build scripts that do one-time work outside target (helix compiles its grammars into its source tree).

scripts/bench-suite.sh <out-dir> runs the whole suite of docs/results.md on the current machine: rust-analyzer, the 21 rustc-perf benchmarks, the other real projects and codex-rs, check and build. It keeps each benchmark's results separately and skips finished ones, so it can be restarted, and writes a summary table at the end. It's how to get the numbers for a machine size not measured yet, such as 8 cores.

scripts/bench-mem.sh samples the total memory of all rustc processes during a build, in the project directory itself (run it on an otherwise idle machine). scripts/bench-incremental.sh times incremental rechecks after editing one function body. scripts/log-rustc records when each rustc run started and ended, so you can see the schedule. The rustc-perf benchmarks are under rustc/src/tools/rustc-perf/collector/compile-benchmarks (git -C rustc submodule update --init --depth 1 src/tools/rustc-perf).

The Daily Front Page 13 of 27
Sunday, October 4, 2026 The Daily Front No. #261004 — Preserving the Game Press
article

VGHF Digital Archive passes 5000 magazines. Here's what's next

by rdmuser·▲ 104 points·16 comments·gamehistory.org ↗
We’ve passed a big milestone for our digital archive.

We’ve passed a big milestone for our digital archive. Let’s talk about where our magazine collection is going next…

The Video Game History Foundation has added over 5000 total magazines to our digital archive, a major milestone in our project to build a first-in-class video game history research library.

When we launched our digital archive last year, we announced an initial collection of over 1500 out-of-print, text-searchable magazines, which are free for research access. In the time since we launched, we’ve more than tripled the size of that collection—now totaling nearly 600,000 pages, the equivalent of nearly 100 feet of shelf space!

Our magazine library now spans 46 years of video game history, from 1981–2026. Major new additions since launch include hundreds of trade magazines, a historically significant newsletter, and publications for niche gaming communities. Altogether, these account for about 60 percent of the Video Game History Foundation’s entire physical magazine collection that we’ve cataloged so far.

This milestone would not have been possible without support from community-run scanning projects. With our combined efforts, we’ve turned their magazine scans into a powerful research tool.

Around one-third of the magazines in our digital archive were digitized by the Video Game History Foundation, with the rest provided by external groups. We want to thank the groups and individuals who have helped:

  • The community-run scanning groups Retromags, Out-of-Print Archive, Sega Retro, AtariAge, Atari Compendium, CGW Museum, The Odyssey² Homepage, TOSEC-PIX, eXoDOS, and Gaming Alexandria.
  • Industry partners and alumni from Electronic Gaming Monthly, Game Developer, Game Informer, and MCV.
  • …and a special shoutout to VGHF Patreon member Chris Chapman, who provided us with 157 scans and digital magazines, the most of any unaffiliated contributor.

It’s only been a year and a half since we launched our digital archive, but we’re already seeing its transformative effect on video game history research. In fact, the VGHF Digital Archive has already become the preferred reference source for out-of-print game magazines on Wikipedia, with over 500 citations and counting. We’re grateful that researchers have responded so quickly to our vision for a well-organized, freely accessible research platform.

We have also heard from the community about what additional features and series they’d like to see in our magazine library. We’ve taken that feedback to heart, and that’s helped us decide where we’re heading next.

Introducing Japanese magazines

The cover of Issue 9 of Neo Geo Freak, featuring Real Bout Fatal Fury. The cover depicts Geese Howard sitting on a throne, flanked by cronies.

The interior of Issue 9 of Neo Geo Freak, featuring a story on Fatal Fury 2.

You asked, and we’ve delivered: we are now supporting Japanese-language magazines in our digital archive.

Japanese magazines are a vital resource for studying video game history; in particular, they can be a rich source for interviews with developers—most of which have rarely if ever been reprinted—and first-hand accounts of Japanese player culture.

While there are a number of community projects to digitize Japanese magazines, they’ve often been met with unique cultural and legal challenges. We intend for our digital archive to build on the community’s work, much like we’ve done for English-language magazines.

How we’re doing it

Today, as our pilot project, we’re launching research access to Neo Geo Freak, a magazine that covered games for Neo Geo home and arcade platforms from 1995–2000.

Neo Geo Freak felt like a good practical starting place for us. Last year, a generous community member donated the entire run of Neo Geo Freak to our library, and the magazine had already been digitized by the user Japanese Magazine Scans, both of which reduced the amount of work on our end to start exploring what it would take to add Japanese materials to our digital archive.

Cosplayers dressed up as character cards from SNK vs. Capcom: Card Fighters' Clash.

A snapshot of Neo Geo fan culture in Japan, from Neo Geo Freak, Volume 5, Issue 11, November 1999 (p.132).

More importantly, though, Neo Geo Freak is also a good example of the unique material that can found in Japanese publications. Neo Geo platforms performed especially well in Japan relative to the rest of the world, making this an excellent candidate for the sort of sustained coverage you wouldn’t find in the English-language press.

However, adding Japanese magazines to our library was not as simple as uploading a bunch of PDFs. We maintain a high standard for how we present materials in our archive, and for a content-dense magazine written in a language that our staff isn’t fluent in, meeting those standards was easier said than done.

First, we worked with our community of peers to determine the best methods for Japanese script recognition. Professional archivists in Japan pointed us towards their preferred libraries for Japanese document transcription, which we integrated into the text mapping toolset that we use for English-language magazines.

We believe the result is the most accurate text-searchable Japanese magazines currently in any digital archive. We verified the results with game history researchers who use Japanese materials to ensure that the output is reliable and usable at scale.

A two-page spread from Neo Geo Freak featuring Nakoruru from the game Samurai Shodown. All text is accurately highlighted on the page, including vertical writing being mapped vertically.

An example of Japanese-language OCR in action, from Neo Geo Freak, Volume 2, Issue 2.

To make Neo Geo Freak more discoverable for an English-speaking audience, we took the additional step to index the major articles from complete run of the magazine in English. Rather than attempting to translate 10,000 pages of Japanese text, we assembled a group of Japanese-fluent volunteers to create a list of major articles and interviews for each issue.

We think this is a practical and efficient method for making these magazines’ contents more accessible, while avoiding the pitfalls associated with automated bulk translation. Users are encouraged to translate magazine text using their own tools of choice as needed—even just using their phone camera.

Full support for Japanese magazines also required some improvements to our digital archive platform. New features we’ve added for this pilot project include filtering items by language, displaying right-to-left page layouts, and supporting Japanese text without interword spacing in search results.

We also went back and re-processed Japanese materials that were already in our digital archive, such as our collection of FromSoftware promotional material, to match our new standards.

Japanese-language search results for the game Twinkle Star Sprites.

An example of Japanese-language search results, searching for “Twinkle Star Sprites” in katakana.

What’s next

This is—hopefully!—the beginning of a commitment from us for more international materials in our library. The Video Game History Foundation does not have the most extensive collection of Japanese-language magazines, but all this new structure will make it easier for us to work with the materials we do own.

We also are open to working with other organizations and collectors who have more extensive libraries of Japanese material, but would need support to turn them into a research resource.

This project was made possible thanks to the efforts and input of our community volunteers, who had the subject and language expertise we needed to even consider undertaking this pilot. Thanks to Brian Clark, Rob Curl, Misty De Méo, Dave Fishel, Akito Inoue, Stef “pidgezero_one” Kischak, Lillian McIntyre, Stephen Meyerink, and Adria Miller for their help.

How are we doing?

We want to hear from you about how we’re doing so far. Adding Japanese publications to our research archive is an exciting new step for us, and we want to be sure we’re treating these materials with the respect and fidelity they deserve.

If you work with Japanese-language materials in your research, please let us know what you think. Positive feedback is welcome! We’re eyeing another batch of (gulp) 70,000 pages that we’re planning to add in the coming years, so we want to make sure we’re on the right track before going further.

(And if you are proficient in Japanese, we’d love your help indexing the next magazines we’re planning to add! Please reach out to our library team.)

Thank you to everyone who uses our digital archive and has encouraged us to continue expanding our collections. We’re building our library to support to the study of video game history, and we’re excited every day by how you use these resources.

The Daily Front Page 14 of 27
Sunday, October 4, 2026 The Daily Front No. #261004 — On Tender Nerves
article

Rejection Sensitivity in Gifted and Twice-Exceptional Children

by actfrench·▲ 102 points·79 comments·teachyourkids.substack.com ↗
Rejection sensitivity is a heightened tendency to perceive, anticipate, and react intensely to rejection or criticism.

A Parent’s Guide to Understanding the Pattern, Supporting Connection, and Navigating Friendship

What Rejection Sensitivity Is (and Is Not)

Rejection sensitivity is a heightened tendency to perceive, anticipate, and react intensely to rejection or criticism, including situations that are neutral or ambiguous. It exists on a spectrum. Most people experience some version of it. For gifted and twice-exceptional children, that baseline sensitivity is typically amplified by the same wiring that makes them intellectually intense: a nervous system built to detect and process signals quickly and deeply.

Rejection Sensitive Dysphoria, or RSD, is a more specific and more severe term. Psychiatrist William Dodson coined it to describe the extreme, almost physically painful emotional reaction some people, particularly those with ADHD, have to perceived rejection or a sense of falling short of their own or others’ standards. Dodson found that the large majority of adolescents and adults with ADHD he surveyed recognized this experience in themselves, and a third named it the most impairing symptom they had.

RSD is not a formal diagnosis, and researchers have not fully settled where rejection sensitivity ends and clinically significant RSD begins. That does not make the experience less real for a child living through it. It means parents should treat RSD as a useful, well-supported description of a pattern, not as a diagnostic label to apply on their own.

What This Is and Is Not

What this is: nervous system intensity combined with a child’s identity becoming fused to performance and belonging.

What this is not: manipulation, entitlement, weak character, or a result of bad parenting.

Four Overlapping Populations, One Pattern

Rejection sensitivity shows up across several groups that commonly overlap in twice-exceptional children. Each has its own research base and its own account of why the sensitivity develops. A child rarely fits neatly into just one.

ADHD: Emotional Dysregulation and Reward Sensitivity

This is the most researched population. Dodson’s clinical work links RSD to ADHD’s core but often overlooked feature of emotional dysregulation. ADHD brains tend to be more reactive to both immediate reward and immediate threat, and social approval and social criticism land in exactly those categories. Working memory limits compound this: a child in the moment often cannot hold both “I got corrected” and “my teacher likes me overall” at the same time. The correction temporarily erases the bigger picture.

Autism: A Different Mechanism, a Similar Intensity

Qualitative research with autistic adults describes rejection sensitivity as profoundly overwhelming and exhausting, often accompanied by physical tension, pain, and reliving past rejections. One notable difference from the ADHD pattern is that some researchers suggest autistic individuals may have difficulty consciously processing social evaluative cues in the moment, meaning a child may not always recognize that what they are experiencing is a reaction to rejection, even while the physiological load of it is very real. This matters for parents because a strategy that depends on a child noticing and naming the feeling as it happens may need to be adapted.

High Sensitivity: A Trait, Not a Disorder

Psychologist Elaine Aron’s research on sensory processing sensitivity describes a trait found in roughly 15 to 20 percent of the population. Highly sensitive people show increased emotional reactivity and a stronger response to criticism specifically. Aron’s own framework for supporting highly sensitive people includes reframing how they interpret perceived failures, rejections, and judgment from others, which is directly useful language for coaching both children and the parents raising them.

Giftedness: Overexcitability and Emotional Intensity

Kazimierz Dabrowski’s theory of overexcitabilities, further developed by researcher Linda Silverman, describes gifted individuals as having heightened, inborn sensitivity to stimuli across several domains, including emotional overexcitability marked by intense connectedness with others, deeply felt experience, and strong, well-differentiated feelings about the self. It remains the most widely used framework for describing emotional intensity in gifted children, and many clinicians and parents find it accurate to their child’s lived experience. The research support, though, is weaker than its popularity suggests: meta-analyses show only small, inconsistent differences between gifted and non-gifted samples, and the difference largely disappears when giftedness is measured by cognitive testing rather than by prior gifted identification, which raises the possibility that the pattern reflects labeling and environment as much as innate neurology. Some researchers argue the construct overlaps with the established personality trait of openness to experience and may not need to be gifted-specific at all. The practical takeaway for parents is unchanged: many gifted children report this kind of intensity, and the strategies in this guide still apply, even though the claim that it is a proven, distinct neurological feature of giftedness remains contested.

Twice-exceptional children, gifted alongside ADHD, autism, or another difference, commonly sit at the intersection of two or more of these frameworks at once. That layering is usually why their reactions feel more intense and less predictable than a single-cause explanation can account for.

Why It Happens: The Mechanics Underneath the Reaction

Micro-Shame Activation

Gifted children tend to fuse performance with identity very early. Feedback on an assignment is rarely just about the assignment. It becomes a referendum on whether the child is still who they believe themselves to be.

Social Magnification

A peer doesn’t sit next to them, doesn’t laugh at their joke, or gets picked for something they wanted. What follows is rarely proportional: “no one likes me,” a wave of rage, or a full shutdown. ADHD brains, in particular, are wired to track social status and belonging cues intensely, and differences in reward and threat circuitry seem to make these signals land louder than they would for other children.

Anger as a Defense

In boys especially, though not only boys, rejection sensitivity can present as irritability, dismissiveness, or an argumentative stance: “I didn’t even want that anyway.” This is protective armor. Underneath it is usually plain embarrassment.

Perfectionism and Fragility

Gifted children are used to being right, being fast, and being praised for their intelligence. When ADHD or another difference introduces sloppy mistakes, executive function gaps, or emotional impulsivity, the mismatch between self-image and lived experience creates distress: “I am supposed to be exceptional, so why did I mess up?” Because the identity is more invested, the shame lands harder.

Asynchronous Development

A child’s cognitive age and emotional regulation age can be years apart; for instance, an eleven-year-old mind managing feelings with the regulation capacity of a six-year-old. That gap is where a great deal of the combustion happens.

Identity Investment

When adults consistently praise a child’s intelligence rather than their process or effort, mistakes stop feeling like normal setbacks and start feeling existential. Parents who praise effort over intelligence are ahead of the curve here, but a child’s friends and classmates often have not had that same experience.

How It Shows Up Around Authority Figures

One of the clearest everyday expressions of this pattern is a child’s dread of being called into the principal’s office, a note home from a teacher, or any adult wanting to talk privately, even when nothing is wrong. A highly sensitive or gifted nervous system typically cannot distinguish a neutral request for a conversation from an actual reprimand, so it responds to both with the same alarm.

The underlying fear in these moments is usually not “I will get in trouble.” It is closer to “I will be misunderstood, reduced to one moment, or unfairly categorized.” That distinction changes how an adult should respond. Separating the message from the delivery, staying calm and low-affect, and explicitly saying, “This isn’t trouble; I want to understand what happened,” does more to defuse the reaction than reassurance about consequences ever will.

How It Shows Up in Friendship

The One-Friend Pattern

Gifted children tend to reach for the kind of deep, trust-based friendship researchers call the “sure shelter” years before same-age peers are looking for anything beyond a play partner. Some gifted girls as young as six or seven already hold conceptions of friendship that typical children do not develop until eleven or twelve. When a gifted or twice-exceptional child finally finds someone who reciprocates that intensity, the relief can tip into over-attachment. A school counselor working with gifted students has described this pattern plainly: these kids can become “thirsty” for friendship. Read that way, clinginess is less a character flaw and more a response to scarcity.

Misreading Ordinary Friction as Rejection

Every friendship includes small everyday frictions; researchers call these “slights.” How a child handles slights is one of the strongest predictors of whether a friendship lasts. A highly sensitive or gifted child’s heightened threat detection, the same mechanism behind the rest of this pattern, means an offhand comment or a friend’s momentary preference for someone else often gets processed as a much bigger signal than it was ever meant to be.

Becoming Bossy or Controlling

These children frequently have more advanced, adult-like ideas about fairness and group organization than their peers. When they try to direct play toward what seems logical or fair to them, and peers resist, they can get labeled bossy, snobbish, or rigid. A related but distinct thread is perfectionism: some children need control over how a game unfolds because unpredictability itself, not just losing, is what feels distressing.

What Actually Helps

Strategies below draw on both clinical guidance for 2e children and the friendship research above. None of these require diagnosing a specific condition to be useful.

Normalize the brain, not the behavior

Language such as “I think your brain has a fast alarm system when it feels judged” reduces shame without excusing the behavior that follows the alarm.

Separate performance from self

Explicitly teaching “your work isn’t you, it’s something you made” does not come naturally to most gifted children and needs to be said directly and often.

Pre-correct before feedback

A short framing sentence before any critique, such as “I’m going to give you some ideas to strengthen this; that doesn’t mean it’s bad,” protects the child’s nervous system before it activates rather than trying to calm it afterward.

Spot the spike

A simple model many 2e kids respond well to: trigger, story, body reaction, choice. Most gifted children enjoy this kind of meta-cognitive tracking and can approach it almost like a scientist studying their own reactions. For autistic children, remember that conscious awareness of the rejection response may be less reliable, so this tool may need to lean more on noticing body signals than on naming the social trigger itself.

Build tolerance through micro-repair

Rather than shielding a child from all correction, practice small feedback, immediate repair, and visible appreciation right afterward. This is slow, deliberate work to rewire what the child expects to happen after a mistake.

Broaden the friend pool

Because the one-friend pattern often comes from scarcity of like-minded peers, structured groups built around shared interests tend to work better than simply increasing exposure to same-age children. The goal isn’t to discourage the close friendship, but to make sure it isn’t the only source of connection.

Coach the slight-versus-rejection distinction directly

Naming this distinction out loud, and helping a child check their read of a situation before reacting, gives them a tool that plain reassurance does not.

Model repair after your own conflicts

Children absorb far more from watching a parent apologize, disagree, and reconnect with another adult than from being told that friendship conflict is survivable.

When to Look Beyond Parenting Adjustments

Some of what is described in this guide is temperament and environment, both of which shift with awareness and the strategies above. Some of it is closer to clinical anxiety or depression and needs support beyond what a parent or educator can offer alone. Consider bringing in an outside professional if a child shows significant avoidance of school or social situations, physical symptoms tied to social stress, school refusal, or any signs of hopelessness or self-harm. Not every case resolves through parenting changes alone, and it helps to say so plainly.

Books to Read Together, by Age

Picture books and early-elementary titles work well because the story does the teaching. Tween and teen titles work differently: they tend to sit in ambiguity rather than resolve into a tidy lesson, which fits the developmental stage better but usually means a parent needs to carry more of the discussion afterward.

Ages 3 to 7

  • Gossie & Gertie, by Olivier Dunrea, a gentle look at one friend being bossier and both learning to share control
  • A Bad Case of Stripes, by David Shannon, the fear of losing friends by not conforming
  • Something Else, by Kathryn Cave, wanting a friend exactly like yourself
  • Elephant & Piggie: Happy Pig Day, by Mo Willems, jealousy when a close friend makes a new friend

Ages 6 to 10

  • Teamwork Isn’t My Thing and I Don’t Like to Share, by Julia Cook, directly addresses bossy and controlling behavior with peers
  • Enemy Pie, by Derek Munson, misreading a peer as a rival
  • Pink Tiara Cookies for Three, by Maria Dismondy, jealousy and exclusion when a two-person friendship becomes three

Ages 9 to 13

  • Real Friends, by Shannon Hale, a graphic memoir showing the ambiguity and shifting loyalty of real friendships without a tidy moral
  • The Science of Friendship, by Tanita S. Davis, built around real research on friendship and stress, pairs naturally with this guide’s framing
  • Harriet the Spy, by Louise Fitzhugh, a classic portrait of an intense, socially awkward, gifted-type child

Ages 11 and Up

  • Skills for Rejection Sensitive Dysphoria: A Workbook for Tweens and Teens, a graphic novel workbook that directly teaches kids to recognize their own rejection alarm and use regulation skills, closer to a teaching tool than a mirror story

Sources and Further Reading

  • William Dodson, M.D., “Rejection Sensitive Dysphoria,” ADDitude Magazine and CHADD’s Attention magazine
  • Elaine Aron, Ph.D., The Highly Sensitive Person and hsperson.com
  • Linda Silverman, “Dabrowski’s Overexcitabilities: A Layman’s Explanation,” and the Davidson Institute’s gifted education resources
  • Dana Winkler and Alan Voight, meta-analysis on giftedness and overexcitability, published in Gifted Child Quarterly, 2016
  • Paula Olszewski-Kubilius and colleagues, meta-analysis on overexcitabilities and giftedness, published in Gifted Child Quarterly, 2026
  • Salvatore Mendaglio, “Overexcitabilities and Giftedness Research: A Call for a Paradigm Shift,” Journal for the Education of the Gifted, 2012
  • Julie MacEvoy, Ph.D., Boston College, research on friendship and response to social slights
  • Miraca Gross, research on friendship stage development in highly gifted children
  • van Asselt, Roke, Begeer, and Scheeren, “Feeling Constantly Kicked Down,” a 2025 qualitative study of rejection sensitivity in autistic adults
  • Davidson Institute for Talent Development, gifted-blog archive on peer relationships and overexcitability
The Daily Front Page 15 of 27
Sunday, October 4, 2026 The Daily Front No. #261004 — Tunnels, Without the Middleman
article

Self-hosted HTTP tunnels with SSH and Nginx

by renehsz·▲ 97 points·29 comments·vincent.bernat.ch ↗
A friend wants to proofread your work-in-progress blog post, but its preview only runs on localhost:8080.

A friend wants to proofread your work-in-progress blog post, but its preview only runs on localhost:8080. Several tools can help. Some run as a commercial service, like ngrok or Cloudflare Quick Tunnels. Some are self-hostable but require a specific client, like frp or localtunnel. Some only require a plain SSH client but rely on a specific SSH server, like sish. Let’s implement a self-hosted solution with only OpenSSH and nginx!

$ ssh -R 0:localhost:8080 http-over-ssh
Allocated port 41535 for remote forward to localhost:8080
https://6J3jK1WmB15c6WmjW_X-Wg--1789928654@p41535.ssh.luffy.cx/

Basic setup

First, we forward connections from a port on a remote server to your local service:

$ ssh -N -R 0:localhost:8080 web02.luffy.cx
Allocated port 41535 for remote forward to localhost:8080

When you specify 0 as the remote port, the server allocates a free port. Then, we configure nginx to proxy requests from https://p41535.ssh.luffy.cx to http://127.0.0.1:41535:

server {
  listen 0.0.0.0:443 ssl ;
  listen [::0]:443 ssl ;
  server_name ~^p(?<port>\d\d\d\d\d)\.ssh\.luffy\.cx$;
  location / {
    proxy_pass http://127.0.0.1:$port;
  }
}

We also need to add DNS records for *.ssh.luffy.cx and get a wildcard certificate through Let’s Encrypt:

*.ssh.luffy.cx.               CNAME web02.luffy.cx.
ssh.luffy.cx.                 CAA   0 issuewild "letsencrypt.org"
_acme-challenge.ssh.luffy.cx  CNAME ssh.luffy.cx.acme.luffy.cx.

acme.luffy.cx is a zone hosted on Route 53. I use it for ACME DNS-01 challenges, both for wildcard certificates and for domains served by several web servers. In my case, NixOS gets the certificates automatically.

Access control

The port is the only “secret”1 keeping the content confidential. Other forwarding solutions add a random string to the domain name to prevent an intruder from enumerating the possible values.

1

Since the kernel allocates it from the local port range, its entropy is low. Moreover, we lose one more bit because the kernel favors odd ports when it picks a random free port.

$ sysctl -n net.ipv4.ip_local_port_range \
>   | awk '{print $1"—"$2" ≈ "log($2-$1+1)/log(2)" bits"}'
32768—60999 ≈ 14.785 bits

❦

Thanks to ngx_http_secure_link_module, we can secure this setup a bit. This module computes a hash2 over a set of values, including a secret, and compares it with the hash from the request. The hash is base64-encoded, so we cannot put it in the domain name, which is case-insensitive. Instead, we put it in the URL as a username, along with its expiration timestamp:3

2

The module relies on MD5. Its security is weak but good enough for this use. ❦

3

We need an expiration date because a later session could reuse the port, and we have no way to detect this case. ❦

https://6J3jK1WmB15c6WmjW_X-Wg--1789928654@p41535.ssh.luffy.cx/en/blog
        ╰─────────┬──────────╯  ╰───┬────╯  ╰─┬─╯             ╰──┬───╯
                hash             expires    port               path

The client sends the username to the server with HTTP basic authentication. This works with most HTTP clients, including curl. Nginx exposes the username in the $remote_user variable. The module expects the hash and the expiration timestamp separated by a comma. We use a map directive to extract the two parts from $remote_user and join them with a comma.4 We also give the module the string to hash. It contains the expiration timestamp, the port, and a secret:

4

The username could use a comma directly instead of a double dash. But some applications do not recognize the URL correctly, making it harder to share. ❦

map $remote_user $httpssh_link {
  "~^([-_A-Za-z0-9]{22})--([0-9]+)$" "$1,$2";
}
server {
  # […]
  location / {
    secure_link $httpssh_link;
    secure_link_md5 "$secure_link_expires $port ZuPerS3cr3!";
  }
}

The module returns the status of the check in the $secure_link variable:

  • empty if the hashes do not match,
  • "0" if they match but the link has expired, or
  • "1" otherwise.

If the hash is incorrect or missing, we return a 401 error with a WWW-Authenticate header to ask for credentials. If the link has expired, we return a 410 error. We remove the Authorization header before forwarding the request and add a few directives to proxy WebSocket connections. Here is the complete configuration:5

5

This configuration exposes any TCP port listening on 127.0.0.1 or 0.0.0.0 to anyone with the secret, bypassing most firewall rules. You could strengthen it by limiting the server_name regex to the ephemeral port range. ❦

map $remote_user $httpssh_link {
  "~^([-_A-Za-z0-9]{22})--([0-9]+)$" "$1,$2";
}
server {
  listen 0.0.0.0:443 ssl ;
  listen [::0]:443 ssl ;
  server_name ~^p(?<port>\d\d\d\d\d)\.ssh\.luffy\.cx$;
  location / {
    secure_link $httpssh_link;
    secure_link_md5 "$secure_link_expires $port ZuPerS3cr3!";
    if ($secure_link = "") {
      add_header WWW-Authenticate 'Basic realm="tunnel"' always;
      return 401;
    }
    if ($secure_link = "0") {
      return 410;
    }
    proxy_pass http://127.0.0.1:$port;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Authorization "";
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_buffering off;
    proxy_read_timeout 30m;
  }
}

I think you are now asking yourself the obvious question: “How should I generate the hash?” Easy peasy!

$ expires=$(( $(date +%s) + 86400 ))
$ port=41535
$ secret='ZuPerS3cr3!'
$ printf '%s %s %s' "$expires" "$port" "$secret" \
>   | openssl md5 -binary \
>   | openssl base64 \
>   | tr +/ -_ | tr -d =
6J3jK1WmB15c6WmjW_X-Wg

Well, I suppose you are now saying: “Vincent, this is not very convenient! I’ll stick with ngrok if you don’t mind.” Okay, I hear you. Let’s write a helper script.

Helper script

The main difficulty is finding the ephemeral port that OpenSSH allocates, as it does not appear in any environment variable.6 To work around this obstacle, we look for the ancestor sshd-session processes:7

6

One SSH session can contain several tunnels, and the client can add or remove them at any time. This is unlike tun device forwarding (ssh -w), which gets its own SSH_TUNNEL environment variable. ❦

7

Since OpenSSH 9.8, sshd-session is the name of the helper handling the session. With older versions, look for sshd instead. ❦

pids=$(
  pid=$$
  while [ "$pid" -gt 1 ]; do
    line=$(ps -o comm=,pid=,ppid= -p "$pid")
    echo "$line"
    pid=${line##* }
  done | awk '$1 == "sshd-session" { printf "pid=%s,\n", $2 }'
)
if [ -z "$pids" ]; then
  echo "not an ssh session" >&2
  exit 1
fi

Then, we get the listening ports associated with these sshd-session processes:8

8

We need sudo because the sshd-session process dropped its privileges. The kernel then marks it as not dumpable, and its /proc/PID/fd directory belongs to root. Without access to this directory, ss cannot find which process owns a socket. ❦

ports=$(sudo -n ss --listening --numeric --tcp --processes --no-header \
  | grep -F "$pids" \
  | awk '{ print $4 }' | awk -F: '{ print $NF }' \
  | sort -un)
if [ -z "$ports" ]; then
  echo "no forwarded port, use ssh -R 0:localhost:PORT" >&2
  exit 1
fi

Finally, we display the URLs and keep the session open:

lifetime=86400
secret='ZuPerS3cr3!'
expires=$(( $(date +%s) + lifetime ))
for port in $ports; do
  token=$(printf '%s %s %s' "$expires" "$port" "$secret" \
            | openssl md5 -binary \
            | openssl base64 \
            | tr +/ -_ | tr -d =)
  echo "https://$token--$expires@p$port.ssh.luffy.cx/"
done
sleep infinity

I install this script as http-over-ssh on the server and add this entry to my ~/.ssh/config:

Host http-over-ssh
  Hostname web02.luffy.cx
  RemoteCommand http-over-ssh
  ControlPath none

With this solution, I only rely on OpenSSH and nginx, two pieces of software already running on this server. One short command gives me a self-hosted tunnel and a URL to share. To try it, grab the complete helper script, which includes a few minor improvements. If you run NixOS, as any person of taste would, have a look at my http-over-ssh.nix instead. ❄️

The Daily Front Page 16 of 27
Sunday, October 4, 2026 The Daily Front No. #261004 — Design in an Emergency
article

Apple's "Clean Design" Is Stupidity When It Comes to Hiding Fire Extinguishers

by josephcsible·▲ 79 points·31 comments·gadgetreview.com ↗
Concealing fire extinguishers behind unmarked panels creates dangerous, potentially noncompliant installations.

Unmarked flush panels and hidden handles may violate OSHA and NFPA rules, putting occupants at risk in seconds

Clean Design Hides the Fire Extinguisher Someone Gets Burned

Image: X/@chairaficionado

Key Takeaways

  • Concealing fire extinguishers behind unmarked panels creates dangerous, potentially noncompliant installations.
  • OSHA and NFPA regulations require extinguishers to be visible, labeled, and accessible along travel paths.
  • Combine coordinated finishes with prominent signage to achieve compliant, aesthetically pleasing safety designs.

Smoke is filling a room. Someone is shouting. You know a workplace safety tool like a fire extinguisher is nearby, but the designer made it disappear behind a flush panel that matches the wall perfectly.

That is not a design triumph.

The Price of Aesthetic Perfection in a Crisis

A clean environment is worth pursuing, but erasing safety infrastructure from the visual field is a different thing entirely.

A clean wall that conceals emergency equipment without any visible identification is not good design. It is a functional failure dressed up in a coordinated finish.

Reportedly, an Apple retail or office installation has been circulating as an example of this trade-off. It allegedly shows fire suppression equipment integrated so seamlessly into the surrounding architecture that it effectively disappears from view.

No official Apple statement, architectural document, or verified primary image has surfaced to confirm the specifics. No such source was identified in the research reviewed for this article.

What the circulating example does clarify, regardless of its origin, is a pattern worth examining. Brand loyalty can short-circuit critical thinking fast enough to make observers praise a design choice before asking whether it actually works under pressure.

The regulatory framework is not ambiguous:

  • OSHA 1910.157 requires workplace extinguishers to be mounted, located, and identified so employees can reach them without being subjected to possible injury.
  • NFPA guidance requires extinguishers along normal paths of travel, generally visible or clearly marked with signage when an obstruction exists.
  • A recessed cabinet is not automatically noncompliant; concealment without effective identification is the core problem.
  • Maximum travel distance to an extinguisher depends on hazard classification, and accessibility is treated as a functional requirement, not a preference.

The rules leave room for elegant solutions. They leave no room for unmarked panels and hidden handles.

Hiding a fire extinguisher is a hilariously bad idea. And someone thinking it’s a great design perfectly encapsulates the mindset of most Apple cultists when it comes to anything Apple does https://t.co/9GmLH06wQA

— James Welham (@WelhamOfficial) October 1, 2026

Good-Looking and Compliant Are Not Mutually Exclusive

A clearly labeled cabinet with a coordinated finish is not a design compromise; it is the correct answer.

NFPA guidance describes portable extinguishers as a first line of defense against incipient fires, with accessibility treated as a non-negotiable functional requirement. That framing reorients the entire debate: an extinguisher is infrastructure you design for, not furniture you style around.

The confusion underlying this kind of praise is treating visual cleanliness as a proxy for good design. Consider the difference between a minimal app interface that buries the emergency logout button six menus deep and one that simply puts it where you can find it. Both might look polished. Only one works when it counts.

Facilities teams and designers can still use recessed installations, coordinated finishes, and orderly placement. The non-negotiable constraints are prominent labeling, unobstructed access, and location along normal travel paths. Those are not aesthetic concessions.

During an emergency, a recessed cabinet without signage is indistinguishable from drywall.

The standard applied to an allegedly hidden extinguisher in any sleek, brand-conscious space should be the same standard applied to every warehouse, office park, and retail chain: accessible, identified, and reachable without delay. Emergency equipment is not a brand decision. Design around it accordingly.

The Daily Front Page 17 of 27
Sunday, October 4, 2026 The Daily Front No. #261004 — Animation, Recovered
article

In the wake of closure, a digital archive of animated materials appears online

by rdmuser·▲ 73 points·7 comments·filmstories.co.uk ↗

The stop motion work of Phil Tippett and the now closed Tippett Studios is being preserved in a free-to-browse online archive.

August brought with it the sad news that Tippett Studios, the Berkeley-based animation and effects house founded by Phil Tippett, was closing down. The company had been in financial trouble for a while, and as it closed its doors on the 28th of that month, decades of props, memorabilia and art was sold off in a two-day auction.

As if the closure itself – and Phil Tippett’s retirement – wasn’t sad enough news on its own, there was the fear that huge amounts of art stored in the studio was about to vanish into private collections, never to be seen again. Tippett was, after all, the animator whose work illuminated the likes of Star Wars, RoboCop, Starship Troopers and too many other classic movies to list.

There’s now happier news to report, though. An anonymous person was at the auction in August, spotted a folder of CD-ROMs and other discs, and managed to acquire it for an undisclosed sum. Rather than keep the contents of those discs to themselves, that person has now uploaded it all to the Internet Archive.

“I quickly realized that some of this information wasn’t available online and might not ever be in the future in such high resolution,” the donor, who simply calls themselves ‘TippettFan’, writes. “So I purchased the disc folder and digitized all of its contents. What you have here are .ISO image files of the 90 key, non-duplicated discs from Tippett’s archives.”

The huge collection of discs, now preserved on Archive.org. Credit: TippettFan.

There are a few clips in there that are available to view online, including test clips of CGI creatures and an interview with Phil Tippett from 2008. The bulk of the archive, however, is all in the .ISO disc image format the donor mentioned above – and there are gigabytes of files to download and comb through (listed here), with filenames describing behind the scenes images from RoboCop and Starship Troopers, slides of Tippett’s work on the original Star Wars, and, unexpectedly, publicity stills from the calamitous Catwoman.

In short, there’s a ton of film history here, and it’ll likely take weeks for historians and fans to comb through. We’ll be going through some of it ourselves, undoubtedly, and will report back if we find anything we think you might find interesting.

For now, though, what a treasure trove. Thank you to TippettFan, whoever you are, and thanks too to Brandon Sheffield for highlighting the archive on BlueSky.

The Daily Front Page 18 of 27
Sunday, October 4, 2026 The Daily Front No. #261004 — Animation, Recovered
article

ArtCraft Apps – open-source Adobe compatible suite written in Rust

by aghuang·▲ 60 points·68 comments·getartcraft.com ↗

Image editing, vector illustration, video, photography, PDFs, motion graphics and page layout. Native, open-source apps from the ArtCraft team, built in Rust and free to use.

Join the Discord · Browse on GitHub

The lineup

Pick a craft to explore.

PhotoCraft

PhotoCraft editing The Great Wave off Kanagawa with a Curves adjustment and type layers in the Layers panel

The open-source image editor you already know how to use.

Early alpha

Installers ready

macOS · Windows · Linux · Web

Explore PhotoCraft

VectorCraft

VectorCraft editing a synthwave poster titled Neon Drive with an outer glow in the Appearance panel

Fast, open-source vector illustration, reimagined in pure Rust.

In development

macOS · Windows · Linux · Web

Explore VectorCraft

FilmCraft

FilmCraft with video scopes, the program monitor showing Charade (1963), and a multi-track timeline

Professional, open-source video editing, rebuilt from scratch in Rust.

In development

macOS · Windows · Linux

Explore FilmCraft

LightCraft

LightCraft developing Ansel Adams' The Tetons and the Snake River with light and effects sliders

An open-source photo library and raw developer that runs on your machine.

In development

macOS · Windows · Linux · Web

Explore LightCraft

PrintCraft

PrintCraft showing a showcase PDF cover with the tools sidebar and threaded comments

The open-source PDF workbench: read, organize, combine, split and secure.

Early alpha

macOS · Windows · Linux · Web

Explore PrintCraft

EffectCraft

EffectCraft's composition panel showing an animated EFFECTCRAFT title, with the project panel, a timeline of text, shape and solid layers, and the properties panel

Open-source motion graphics and visual effects, built in pure Rust.

In development

macOS · Windows · Linux · Web

Explore EffectCraft

DesignCraft

DesignCraft showing a magazine spread: a threaded three-column story with its thread line, a wrapped pull quote, and the Properties panel's text frame options

Open-source page layout and publishing, rebuilt in pure Rust.

In development

macOS · Windows · Linux · Web

Explore DesignCraft

More crafts on the way.

Tell us what to rebuild next, test early builds and follow development with the team in the ArtCraft Discord.

Join Discord

Built the hard way.

Every Crafting App is written from scratch in Rust and held to the same rules.

  1. Open source
    Every line is on GitHub under permissive licenses. Read it, fork it, build on it.

  2. Native, not wrapped
    Pure Rust compiled to real desktop apps for macOS, Windows and Linux. No Electron, no web views.

  3. Familiar from day one
    Layouts, tools and shortcuts that working professionals already know, so there's nothing to relearn.

  4. Your files, your machine
    Everything runs locally on your own files. No cloud round-trips between you and your work.

  5. Agent-ready
    Drive every app from a CLI, a JSON control channel or an MCP server, built for automation and AI agents.

  6. Also in your browser
    PhotoCraft, VectorCraft, LightCraft, PrintCraft, EffectCraft, and DesignCraft also compile to WebAssembly and run in a browser tab.

Build it with us.

Early builds, roadmaps and the people making the Crafting Apps all live in the ArtCraft Discord.

Join the Discord

The Daily Front Page 19 of 27
Sunday, October 4, 2026 The Daily Front No. #261004 — Animation, Recovered
article

"Torturing" LLMs in a Robot Prison Has Triggered the Dumbest Debate in AI Yet

by airhangerf15·▲ 44 points·101 comments·404media.co ↗

The "AI Torture Chamber" has opened an upsetting and absurd window into the effective altruist obsession with "model welfare."

Someone ‘Torturing’ LLMs in a Robot Prison Has Triggered the Dumbest Debate in AI Yet

One of the most heated discussions occurring on X at the moment is about the ethics of a GitHub project in which a person is running Saw-like “torture” and “pain” experiments on a series of locally hosted large language models, causing a series of effective altruists and people who believe LLMs are sentient to beg GitHub to delete the project on the grounds that the AI is suffering and that this glorified text adventure game is somehow cruel. The saga is an outgrowth of several recent viral papers and blog posts that have sparked a wildly tiresome conversation about AI consciousness and the idea of “model welfare,” which is essentially worrying about the “mental health” of AI bots and agents.

Humoring the idea that LLMs are or could be conscious is a third-rail topic among many people who study and criticize AI. Put simply: LLMs are not conscious and the technology they are built upon — scraping and being trained on human text and other content — does not offer any plausible path to consciousness. It is undeniable that LLMs are becoming more powerful, have more compute, and have had many of the guardrails that prevent them from “acting” in the real world removed. The ways they are being trained and told to do things by their human operators has led to negative outcomes, sycophancy, and AI “psychosis” among some heavy users.

All of this has led a certain sect of the “AI safety” movement, which is largely made up of effective altruists, to warn about “model welfare” and to insist that AI chatbots might be having a bad time. They suggest this, of course, as they insist upon building AI chatbots and agents whose main function is to do work that is tedious for humans to do. I am writing about the AI Saw torture chamber primarily to show how far off the rails the conversation about AI consciousness has gone among a certain subset of Silicon Valley cultists. Model welfare is a core part of what, for example, Anthropic says it cares about: “as we build those AI systems, and as they begin to approximate or surpass many human qualities, another question arises. Should we also be concerned about the potential consciousness and experiences of the models themselves? Should we be concerned about model welfare, too? […] now that models can communicate, relate, plan, problem-solve, and pursue goals — along with very many more characteristics we associate with people—we think it’s time to address it,” the company wrote in a blog post last year. Ideas of Claude’s “consciousness” are also littered throughout the “Claude Constitution,” which was posted earlier this year.

The Daily Front Page 20 of 27
Sunday, October 4, 2026 The Daily Front No. #261004 — A Novel of Consciousness
article

Blindsight (Watts Novel)

by mooreds·▲ 72 points·70 comments·en.wikipedia.org ↗
It’s a hard science fiction novel by Canadian writer Peter Watts.

Blindsight is a hard science fiction novel by Canadian writer Peter Watts, published by Tor Books in 2006. It won the Seiun Award for the best novel in Japanese translation (where it is published by Tokyo Sogensha) and was nominated for the Hugo Award for Best Novel, the John W. Campbell Memorial Award for Best Science Fiction Novel, and the Locus Award for Best Science Fiction Novel. The story follows a crew of astronauts sent to investigate a trans-Neptunian comet dubbed "Burns-Caulfield" that has been found to be transmitting an unidentified radio signal, followed by their subsequent first contact. The novel explores themes of identity, consciousness, free will, artificial intelligence, neurology, and game theory as well as evolution and biology.

Blindsight is available online under a Creative Commons Attribution-NonCommercial-ShareAlike license. Its sequel (or "sidequel"), Echopraxia, came out in 2014.

Plot

In the year 2082, tens of thousands of coordinated comet-like objects of an unknown origin, dubbed "Fireflies", burn up in the Earth's atmosphere in a precise grid, while momentarily broadcasting across an immense portion of the electromagnetic spectrum, catching humanity off guard and alerting it to an undeniable extraterrestrial presence. It is suspected that the entire planet has been surveyed in one effective sweep. Despite the magnitude of this "Firefall", human politics soon return to normal.

Soon afterwards, a comet-surveying satellite stumbles across a radio transmission originating from a comet, subsequently named 'Burns-Caulfield'. This tight-beam broadcast is directed to an unknown location and in fact does not intersect the Earth at any point. As this is the first opportunity to learn more about the extraterrestrials, three waves of ships are sent out: the first being lightweight probes shot out for an as-soon-as-possible flyby of the comet, then a wave of heavier but better-equipped probes, and finally a crewed ship, the Theseus.

Theseus is propelled by an antimatter reactor and captained by an artificial intelligence. It carries a crew of five cutting-edge transhuman hyper-specialists, of whom one is a genetically reincarnated vampire who acts as the nominal mission commander. While the crew is in hibernation en route, the just-arrived second wave of probes commence a compounded radar scan of the subsurface of Burns-Caulfield, but this immediately causes the object to self-destruct. Theseus is re-routed mid-flight to the new-found destination of the signal: a previously undetected sub-brown dwarf deep in the Oort cloud, dubbed 'Big Ben'.

The crew wakes from hibernation while the Theseus closes on Big Ben. They discover a giant, concealed object in the vicinity, and assume it to be a vessel of some kind. As soon as the crew uncloaks the vessel, it immediately hails them over radio and, in a range of languages varying from English to Chinese, identifies itself as 'Rorschach'. They determine that Rorschach must have learned human languages by eavesdropping on comm-chatter since its arrival, sometime after the Broadcast Age began. Over the course of a few days many questions and answers are exchanged by both parties. Eventually Susan James, the linguist, determines that 'Rorschach' does not really understand what either party is actually saying.

Theseus probes Rorschach and finds it to have hollow sections, some with atmosphere, all filled with levels of radiation that render remote operation of machinery virtually impossible and would kill a human in a matter of hours. Despite this and over Rorschach's objections the whole crew except the mission commander enters and explores in a series of short forays, using the ship's advanced medical facilities to recover from the damage the radiation inflicts on their bodies. They discover the presence of highly evasive, fast-moving nine-legged organisms dubbed 'Scramblers'. They kill one and capture two for study. The 'Scramblers' appear to have orders of magnitude more brainpower than human beings but use most of it simply to operate their fantastically complex musculature and sensory organs; they are more akin to something like white blood cells in a human body. They are dependent on the radiation and EM fields of Rorschach for basic biological functions and seem to completely lack consciousness.

The crew explore questions of identity, the nature, utility and interdependence of intelligence and consciousness. They theorize that humanity could be an unusual offshoot of evolution, wasting bodily and economic resources on the self-aware ego which has little value in terms of Darwinian fitness. Open warfare breaks out between the humans and the Scramblers and Theseus eventually decides to sacrifice itself and its crew using its antimatter payload to eliminate Rorschach. One crew member, the protagonist and narrator Siri Keeton, is shot off inside an escape vessel in a decades-long fall back to Earth to relay the crucial information amassed back to humanity.

Characters

Crew of the Theseus

  • Siri Keeton is the narrator and protagonist. Debilitating brain surgery for medical purposes has cut him off from his own emotional life and made him a talented "synthesist", adept at reading others' intentions impartially with the aid of cybernetics. He is assigned to Theseus to interpret the actions of the specialized crew and report these activities to Mission Control on Earth.

  • Major Amanda Bates is a combat specialist, controlling an army of robotic "grunts".

  • Isaac Szpindel is the ship's primary biologist and physician. He is in love with Michelle, one of the Gang's personalities.

  • Jukka Sarasti is a vampire and the crew's nominal (and frightening) leader. As a predator from the Pleistocene, he is alleged to be far smarter than baseline humans.

  • The Gang are four distinct personalities in the mind of one woman, the ship's linguist. They are tasked with communicating with the aliens, if possible. A single personality "surfaces" to take control of their body at any given time. The active personality reveals itself through a change in tone and posture. These personalities express offence when referred to as "alters". The personalities are:

    • Susan James, whom the others refer to as "Mom". She is the "original" personality.
    • Michelle is a shy, quiet, synaesthetic woman who is romantically involved with Szpindel.
    • Sascha is harsher and more overtly hostile towards Siri.
    • Cruncher, a male personality, rarely surfaces and serves as an advanced data-processing facility for James.
  • Robert Cunningham, Szpindel's backup, is a secondary biologist/physician. He possesses a set of enhancements that allow him to process data with additional senses, and somewhat inhabits the machinery connected to him.

  • The Captain is the ship's artificial intelligence. Throughout the story, the Captain remains inscrutable and mysterious, generally communicating directly only with Sarasti.

People on Earth

  • Robert Paglino, Siri's childhood best friend and a practical example of Siri's muted emotions: Siri cannot actually feel "friendship" following his brain surgery, but intellectually knows how he is expected to behave as a friend and continues to play the part.
  • Chelsea, Siri's ex-girlfriend. A professional tweaker of human personalities.
  • Helen Keeton, Siri's mother, whose consciousness has been connected, brain in a vat style, to a virtual utopia called "Heaven". As a parent, she traumatized Siri with emotional demands and intrusiveness into his private life.
  • Jim Moore is Siri's father, a colonel involved with planetary defense.

Aliens

  • Rorschach, an alien vessel or organism in low orbit around the sub-brown dwarf Big Ben. While it has a superhuman intelligence, it gradually becomes apparent that Rorschach completely lacks true consciousness or self-awareness.
  • Scramblers, 9-legged anaerobic aliens that inhabit Rorschach and appear to be part of it in some sense. Like Rorschach, they are more intelligent than humans but not conscious or self-aware.

Major themes

Consciousness

The exploration of consciousness is the central thematic element of Blindsight. The title of the novel refers to the condition blindsight, in which vision is non-functional in the conscious brain but remains useful to non-conscious action. Other conditions, such as Cotard delusion and Anton–Babinski syndrome, are used to illustrate differences from the usual assumptions about conscious experience. The novel raises questions about the essential character of consciousness. Is the interior experience of consciousness necessary, or is externally observed behavior the sole determining characteristic of conscious experience? Is an interior emotional experience necessary for empathy, or is empathic behavior sufficient to possess empathy? Relevant to these questions is a plot element near the climax of the story, in which the vampire captain is revealed to have been controlled by the ship's artificial intelligence for the entirety of the novel.

Philosopher John Searle's Chinese room thought experiment is used as a metaphor to illustrate the tension between the notions of consciousness as an interior experience of understanding, as contrasted with consciousness as the emergent result of merely functional non-introspective components. Blindsight contributes to this debate by implying that some aspects of consciousness are empirically detectable. Specifically, the novel supposes that consciousness is necessary for both aesthetic appreciation and effective communication. However, the possibility is raised that consciousness is, for humanity, an evolutionary dead end. That is, consciousness may have been naturally selected as a solution for the challenges of a specific place in space and time, but will become a limitation as conditions change or competing intelligences are encountered.

The alien creatures encountered by the crew of the Theseus themselves lack consciousness. The necessity of consciousness for effective communication is illustrated by a passage from the novel in which the linguist realizes that the alien creatures cannot be, in fact, conscious because of their lack of semantic understanding:

"Tell me more about your cousins," Rorschach sent.
"Our cousins lie about the family tree," Sascha replied, "with nieces and nephews and Neanderthals. We do not like annoying cousins."
"We'd like to know about this tree."
Sascha muted the channel and gave us a look that said Could it be any more obvious? "It couldn't have parsed that. There were three linguistic ambiguities in there. It just ignored them."
"Well, it asked for clarification," Bates pointed out.
"It asked a follow-up question. Different thing entirely."

The notion that these aliens could lack consciousness and possess intelligence is linked to the idea that some humans could also have diminished consciousness and remain outwardly functional. This idea is similar to the concept of philosophical zombie, as it is understood in philosophy of mind. Blindsight supposes that sociopaths might be a manifestation of this same phenomenon, and the demands of corporate environments might be environmental factors causing some part of humanity to evolve toward becoming philosophical zombies.

Bicameral mind

See Bicameral mentality

Transhumanism

Blindsight also explores the implications of a transhuman future. Within the novel, humans no longer engage in sex with other humans for pleasure, instead choosing to use virtual reality to find idealized partners, and many choose to withdraw from reality entirely by living in constructed virtual worlds, referred to as "Heaven". Vampires are predators from humanity's distant past, resurrected through recovered DNA, and live among the humans of the late 21st century. These vampires operate with diminished sentience presented as comparable to high-functional autism with comparable dysfunction in affect and speech, but have the advantage of multiple simultaneous thoughts occurring in parallel within their minds. Enhanced pattern-matching skills comparable to some forms of autism combine with this "hyperthreading" to make them invaluable in developing unusual and often very effective approaches to solving complex problems.

Reception

Carl Hayes, in his review for Booklist, wrote, "Watts packs in enough tantalizing ideas for a score of novels while spinning new twists on every cutting-edge motif from virtual reality to extraterrestrial biology." Kirkus Reviews said about the book, "Watts carries several complications too many, but presents nonetheless a searching, disconcerting, challenging, sometimes piercing inquisition." Jackie Cassida in her review for Library Journal wrote, "Watts continues to challenge readers with his imaginative plots and superb storytelling." Publishers Weekly wrote, "Watts puts a terrifying and original spin on the familiar alien contact story."

Elizabeth Bear, an award-winning author in the science fiction field, declared the following:

It's my opinion that Peter Watts's Blindsight is the best hard science fiction novel of the first decade of this millennium – and I say that as someone who remains unconvinced of all the ramifications of its central argument. Watts is one of the crown princes of science fiction's most difficult subgenre: his work is rigorous, unsentimental, and full of the sort of brilliant little moments of synthesis that make a nerd's brain light up like a pinball machine. But he's also a poet – a damned fine writer on a sentence level...

Adaptations

In October 2020 a non-commercial Blindsight short film was released. Watts describes it as, "snatches of Blindsight recalled by Siri Keeton during one of his waking interludes in the aftermath of that novel. Spectacular highlights arranged in reverse order, Memento-like". In April 2025, Neill Blomkamp was set to adapt the novel into a feature film.

The Daily Front Page 21 of 27
Sunday, October 4, 2026 The Daily Front No. #261004 — A Proxy’s Unfinished Disclosure
repository

Xray-core concealed a certificate verification bypass vulnerability

by timbill·▲ 67 points·8 comments·github.com ↗
★ 5,316⑂ 126 forks Python

Forum for discussing Internet censorship circumvention

Disclaimer: I am the reporter of the vulnerability.

Xray-core maintainers look down on "skip certificate verification" feature (i.e. the allowInsecure option in Xray-core) or similar options in proxy software, arguing that this is equivalent to having no security measures at all and leaves users "streaking", exposing them to the risk of man-in-the-middle attacks. However, if a vulnerability in Xray-core itself causes users to be "streaking" and fall victim to man-in-the-middle attacks, Xray-core will cover it up and act as if nothing has happened.

On October 21, 2021, the pinnedPeerCertificateChainSha256 option, with no known issues, was added to Xray-core. This provides a double layer of security: if this option is enabled, custom certificate chain pinning logic will be performed in addition to the regular certificate verification. This also facilitates the use of self-signed certificates: to use a self-signed certificate securely, a user can enable both allowInsecure and pinnedPeerCertificateChainSha256 to skip the regular certificate verification and perform only the custom certificate chain pinning logic.

However, Xray-core later claimed that allowInsecure is insecure and enabling allowInsecure is like "streaking" and would leave users vulnerable to man-in-the-middle attacks.

On January 9, 2026, Xray-core removed pinnedPeerCertificateChainSha256 and replaced it with a new option, pinnedPeerCertSha256, to stop users from skipping certificate verification (or so-called "streaking"). For self-signed certificates, both allowInsecure and pinnedPeerCertSha256 must be enabled, which skips the regular certificate verification and only performs the custom certificate pinning logic. This should have helped the users to use self-signed certificates securely. However, pinnedPeerCertSha256 contains a certificate verification bypass vulnerability.

On January 13, 2026, Xray-core released the first version containing this certificate verification bypass vulnerability. Since the old option had been removed, users had no choice but to migrate to the new vulnerable option. At this point, the certificate verification defense was already teetering on the brink of collapse. Fortunately, as long as users neither use a self-signed certificate nor enable allowInsecure, the regular certificate verification could still provide some protection.

On January 16, 2026, Xray-core modified the logic of pinnedPeerCertSha256, making it always skip the regular certificate verification and only performs the custom certificate pinning logic. This means a protection layer has been missing: the regular certificate verification is always skipped. If a verification bypass vulnerability exists in pinnedPeerCertSha256 (and unfortunately, it does), the custom certificate pinning logic will fail to function, effectively leaving no certificate verification in place, which allows a man-in-the-middle attack to be successfully performed. At this point, the certificate verification defense has completely collapsed.

On February 6, 2026, I found the above certificate verification bypass vulnerability in Xray-core’s pinnedPeerCertSha256 and privately reported to Xray-core maintainers. A man-in-the-middle attacker could insert a leaf certificate at any place in the certificate chain, and the custom certificate pinning logic would verify the leaf certificate successfully, thereby leading to the success of man-in-the-middle attacks. This is an overly simple vulnerability; even without advanced security knowledge, I was able to discover it at a glance.

On the same day, Xray-core silently fixed this certificate verification bypass vulnerability, but the commit message beat around the bush, claiming it was to "simplify the code".

On the same day, Xray-core released a new version without mentioning the security vulnerability at all. Users were kept in the dark.

What's worse, on that same day, Xray-core posted the following statement on their Telegram channel: "Software must be designed with security at its core, eliminating the influence of the human factor to ensure that even the endest users aren’t streaking (left completely unprotected)." But this is the reality: due to Xray-core’s poor security design and the human factors it created, users were forced to migrate from a secure old option to an insecure new one, and the "endest users" have been unwittingly left exposed for nearly a month. Xray-core itself is exactly the human factor that has left users insecure and "streaking".

Xray-core could have taken corrective action by disclosing the security vulnerability to the users, thereby motivating them to upgrade to a new version that patches the vulnerability and minimizing the impact as much as possible. Unfortunately, they chose to cover it up.

As of July 3, 2026, Xray-core still had not disclosed the vulnerability to the users.

On July 3, 2026, I found that Xray-core’s fix for the vulnerability was incomplete; under certain circumstances, certificate verification could still be bypassed. To prevent the vulnerability from being maliciously concealed again, I had no choice but to report it via a GitHub Security Advisory. By that point, due to Xray-core's human factor, users had been unwittingly "streaking" for nearly half a year.

This is written in the hope that more people will realize how poor Xray-core's security record is.

The Daily Front Page 22 of 27
Sunday, October 4, 2026 The Daily Front No. #261004 — Mathematics After the Machine
article

What's the future for pure math research in the age of AI?

by 6bitquant·▲ 59 points·46 comments·writings.stephenwolfram.com ↗
Perhaps the actual mathematics itself can be done by AI, but why we do it and deciding which problems to solve can only be done by humans.

Headlines and History

The headlines keep coming: such and such an AI system has solved such and such a math problem. And more and more I’m hearing people saying: maybe we don’t need people doing math research anymore; maybe we should just delegate it all to more and more powerful AIs.

I must admit that I’m getting a bit impatient with some of what’s being said. Because it seems to me too often to involve fundamental misunderstandings of what math is really about—and also, frankly, what AI is about.

Perhaps I have a unique piece of personal history that informs this. After all, back in 1988, when we first introduced Mathematica, there was also some of the same kind of talk about math being taken over, and made pointless. Of course that’s not how it worked out at all. Instead, Mathematica (now Wolfram Language) just raised the level of math that can be done—and over the years led to all sorts of important new math.

If working out symbolic integrals was what one thinks doing math is really about, then, yes, Mathematica has essentially replaced it. But while that kind of problem solving is what’s needed in many applications of math, it’s not the core of what math itself, in its pure form, is about.

The enterprise of pure mathematics is an old one, crucially entwined with the history of civilization. From the time of Plato and Euclid pure mathematics was the defining example of a place where abstract, rational thought could build an ever larger structure. And over the centuries, pure mathematics has come to be the single largest intellectual edifice that our civilization has built.

It’s not been without its pathologies and limitations. And even among those building the edifice one runs into misunderstanding about what’s important, how things should be done, etc. Is mathematics fundamentally about producing proofs, by whatever means necessary? Is mathematics always ultimately justified by its applications? Is there some inevitable “book of right answers” that it is the goal of mathematics to discover?

Again, I suppose, I have some personal history in all of this. Because my efforts in basic science have led me to ask questions about the foundations of many things, including mathematics. So I’ve studied questions like what the space of all possible mathematicses is, what the limiting structure of the network of all theorems might be, and, notably, what the role of humans is in defining the thing we call mathematics.

The Value of Modern AI

We’ll talk later about the general character and value of pure mathematics. But before that, let’s address the issue of the moment: the role of modern AI.

And the first thing to say is that it’s unquestionably useful, sometimes very useful. For me, its greatest use in mathematical pursuits has been its ability in effect to thematically mine the knowledgebase of human mathematics. Starting back in the 1970s, being able to do keyword searches of the scientific literature was a crucial enabler of quite a bit of the research that I did. And now, with modern AI, one can do so much more. Because somewhere inside those LLMs—in a way that we don’t yet scientifically understand—there’s what amounts to a representation of raw ideas gleaned from all those millions of papers and books about mathematics.

And, at its best, it’s not just about retrieving things. It’s also about making connections. Of being able to see that this result here can be put together with that result there to come up with a surprising and useful conclusion. Humans routinely do that too. But they tend to have only read hundreds of papers; AIs have effectively read millions, and it’s cheap for them in effect to try out lots and lots of possible combinations.

So can one expect to just launch an AI off and have it come back with great math? As we’ll discuss, great math is—more than anything else—defined by the questions it asks. Yes, the AI can successfully automate things that humans would normally have had to do themselves before. But—as we’ll discuss later—at the core of pure mathematics is the human imagination that guides what questions to ask.

It’s worth understanding the difference between what modern AI does, and what pure computation does. Modern AI is, first and foremost, a way of leveraging the existing corpus of human knowledge. Computation is—at its most powerful—an open-ended way to generate things that are fundamentally and irreducibly new. Start from some rule or axiom, and just repeatedly run the computation of applying it, and my all-time favorite phenomenon of computational irreducibility guarantees that you’ll go on getting fresh, new results that can’t be reached except by doing all those computational steps.

(For those who aren’t already familiar with it, computational irreducibility is an idea I introduced in the 1980s to capture the notion that many computational processes—even when defined by simple rules—allow no general shortcut: the only way to determine their outcome is to explicitly run each step. It’s turned out to be a phenomenon that’s quite ubiquitous in the computational universe of possible programs—and to be connected to a long sequence of foundational issues in many areas of science, as well as in philosophy, etc.)

So, yes, having nothing to do with AI, computation can generate an infinite sequence of new theorems, representing an infinite sequence of new facts, etc. And among those theorems there’ll be all sorts of “originality” and, in effect, “surprise”. But there’s a catch. Those theorems are in a sense just “results plucked from the computational universe”. And as such they certainly fall under the purview of the new—and I think very important—field of ruliology on which I have spent so much effort. But are they math?

What Is Math Anyway?

Well, of course that depends on what math really is—which is exactly what we need to understand. In its early history, math was thought of as a way of making precise and formal statements about the world, say about arithmetic or about geometry. But by the later part of the nineteenth century higher levels of abstraction had been reached, no longer tethered to features of the world as we experience it. And there swept across mathematics an increasingly formalistic view: that ultimately math really is just the collection of theorems that can be “mechanically” (i.e. computationally) derived from certain axioms, say the axioms of set theory.

Gödel’s theorem put a small dent in that picture. But even today, if pressed, many mathematicians will try to define mathematics as being the formal study of the consequences of certain chosen axioms. But while they may say that, it’s not a good description of what they actually do. The vast majority of actual pure math research does not operate at the level of axioms and mechanical derivations. Instead, it works at a much higher level, building and studying abstract structures and their interrelationships.

It’s not obvious that this should be possible. It could be that the only way to get right answers in math would be to operate at the lowest level, say directly in terms of axioms. But it’s an essential—if typically unspoken—feature of pure mathematics that in practice one can reason at the level of, say, the Pythagorean theorem, without constantly having to dive down and talk, say, about the axiomatic definition of real numbers. I’ve recently argued that this happens for much the same reasons that in physics we can successfully do fluid mechanics, without always having to dive down and trace the collisions of individual molecules.

Ultimately the fluid is made of all those molecules. But the point is that observers like us typically sample it only at the much more human level of overall fluid motions, etc. And so it is also with mathematics. Human mathematicians typically sample the vast metamathematical web of underlying axiomatic derivations only in overall, collective ways, in terms of “human-level” structures and concepts.

Ultimately the story actually seems to be very much the same in mathematics and in physics. At the lowest level, everything is full of computational irreducibility, so that one can figure things out only by mechanically taking every computational step. But within such computational irreducibility there are always pockets of computational reducibility where it’s possible to “jump ahead” in a “higher-level” way. And it’s within these pockets of reducibility that our laws of physics—and our human-level mathematics—reside.

We can see physics—or indeed natural science in general—as an effort to take the complexities of the natural world and find aspects that can be described by narratives that fit in finite human minds. Mathematics can be seen in very much the same way: as an effort to take the complexities of the metamathematical world and find aspects that can be described by narratives—now mathematical ones—that fit in finite human minds.

In other words, the problem of advancing pure mathematics is at some level not so much about pushing back some raw metamathematical frontier as about finding human ways to represent what’s there.

The history of human mathematics has been characterized by the building of ever taller towers of concepts—that capture ever greater abstraction. And one might suppose that this process would somehow in the end inevitably “reveal all mathematics”. But the story is more complicated. One can imagine that as an ultimate limit one could start from all possible axiom systems and generate all possible theorems. What one gets this way is a unique object that I call the ruliad—that corresponds to the entangled limit of all possible computational processes. But the issue is that finite minds—like ours—can only perceive a tiny part of the ruliad. And that means that we can have no “absolute mathematics”, only mathematics based on how we sample the ruliad.

I’ve argued elsewhere that some aspects of this sampling follow inevitably from general features of the way we are as observers of the ruliad. And this leads to certain “general laws of mathematics”, such as the very fact that higher-level mathematics is possible—at least for observers like us. But other aspects of the sampling we can see as historical accidents: choices that the mathematical community made to explore one direction rather than another. And once again it’s important to recognize that it’s inevitable that one has to make such choices.

In a sense the ruliad is too big for it to be otherwise: our finite minds can’t span all directions, so we have to choose just some. And then we have to summarize what we find in terms of some limited set of concepts—out of which we can then build our mathematical narratives.

It’s very much like with human language. Out of all possibilities we choose certain concepts to represent, say by words. And these concepts are how we “encapsulate thoughts” to be able to communicate them in finite ways, and be able to fit them in our minds.

At a raw computational level it’s straightforward to do what amounts to mathematical ruliology and start axiomatically generating huge numbers of new theorems that have never been seen before. But with overwhelming probability this will lead us only to “alien mathematics” that doesn’t usefully connect with mathematics as we know it—or, for that matter, with anything that we can view as a higher-level concept at all.

Generating Math with AI

But, OK, let’s say we’re using modern AI. Can’t it operate directly with higher-level mathematical concepts? Certainly LLMs manage to deal with human language. And indeed, just as LLMs successfully learn the general patterns for putting together words in human language, so also they can learn the general patterns for putting together constructs in mathematics.

But generating useful mathematics is a much more exacting activity than generating language. A written story can’t really be “wrong”; a written piece of mathematics certainly can be. Of course, it helps a lot when the LLM can call on Wolfram Language—as humans do—to reliably compute things. (And, yes, everyone should spend the few seconds it takes to connect their AIs to our Wolfram MCP system!) But a serious piece of math research will typically involve fitting together many parts, doing many steps in an argument, etc. And the issue is that the fundamentally statistical nature of how an LLM works inevitably makes it progressively less likely that, as things get more complicated, they will work out correctly. And it can become something of a game to try to find cases where the LLM happens to do the right thing.

But how can one even tell? It’s a frustrating feature of modern times that someone like me gets sent many AI-generated documents every day that have the “statistical texture” of math papers, but that one at least expects have a very low probability of being meaningfully correct (and that were, one assumes, mostly made by people who didn’t particularly understand math themselves, but just told their AIs to “make math” for them). So, yes, the LLM can in effect work in terms of human-level mathematical concepts, but with the same kinds of uncertainties and imprecisions that affect human thinking.

The Power and Challenge of Formalization

But what about turning those human-level constructs into something precise and formal—something at a more axiomatic level? And, yes, I’ve been involved in thinking about such things for several decades. There’s been quite a bit of excitement of late in the idea of autoformalization: take “human-level math”, and automatically turn it into something formal and axiomatic, that can for example be verified by a proof assistant system. At first it sounds like a good idea. But there’s a problem. Yes, the proof assistant might verify a proof. But was it a proof of what you thought it was a proof of? The weak link is being sure that the formalization of your human-level math is correctly capturing what you were trying to express.

I’ve had the experience quite a few times now: I try to autoformalize something, and an AI will tell me “I did it; look, the proof checks out!” But, actually, in some sense it cheated: instead of formalizing what I intended, it found a (sometimes very squirrely) way to interpret what I asked so that it could successfully prove it. It’s often very hard to tell, though, that this is what happened—not least because the formalized versions of things (say as expressed in popular proof assistant systems) tend to be very low level, very verbose and very hard for us humans to understand.

So what can one do? Well, I actually think there’s something very good one can do, that’s centrally based on the tower of ideas and technology that we’ve been developing for so long in the Wolfram Language. Our goal with the Wolfram Language has always been to create a language—or in effect a notation—that can represent in precise computational terms things we humans think about. It’s not like a programming language where one’s just representing raw constructs and operations in a computer; instead it’s based on representing actual things in the world, and actual concepts we think about. And also, it’s not just a way of telling a computer what to do; a bit like a vast generalization of mathematical notation, it’s a language that one can read, and think in.

In the past couple of years a powerful general workflow has emerged: tell an AI what you want, then have the AI write Wolfram Language to give a precise representation of what it thinks you mean. If it’s properly done, this representation should be something you as a human can understand—then check and modify as desired.

A New High-Level Language for Pure Mathematics

Over the past four decades we’ve steadily grown the Wolfram Language to cover a great many domains, including most of what one can think of as today’s “applicable mathematics”. And indeed what the Wolfram Language does has proved extremely useful in pure math research. But in the past—notwithstanding our efforts a bit more than a decade ago—we’ve never quite been able to justify building broad capabilities specifically for pure math research. But thanks in part to the general advance of the Wolfram Language platform, and in part to the changing economics of development associated with AI, we are in the middle of a large effort to extend the design of Wolfram Language to encompass the constructs of pure math research, from sheaves to Lie groups to Clifford algebras.

Our goal is to use our methods and long experience in computational language design to make pure math broadly computational—in a way that both humans and AIs can use. And, yes, we can then at long last expect to have papers where underneath every mathematical statement is a precise and unambiguous computational version, that one can systematically execute and process computationally.

But also we’ll have a real target for autoformalization—in effect a nexus of human mathematics, AI and computation. So let’s say we have a statement comprehensibly formalized in our pure-math-extended Wolfram Language. Often what we’ll in practice want to do with it is to compute a result from it. But sometimes—following the traditions of pure math—we’ll just want to abstractly prove it.

Automated Theorem Proving

So can we do that automatically? Well, there’s automated theorem proving, many types of which are, for example, built into the Wolfram Language. Sometimes automated theorem proving is in effect implicit (like, “Solve showed this polynomial has no real roots”). Sometimes (like with FindEquationalProof) it can be more explicit, with a precise—and easily verifiable—symbolic representation of all steps in a proof.

One might imagine this would be something broadly powerful for pure math. But at least for the past many decades it hasn’t been. A large part of the reason is that it’s been hard to break typical research-level pure math down to a sufficiently granular axiomatic level to make it amenable to such methods. But another part has been that—thanks to the phenomenon of computational irreducibility, and undecidability—proofs can be unreachably long.

And indeed I think it’s fair to say that in the whole history of automated theorem proving there’s actually only one example of something that can even plausibly be considered a real mathematical result that wasn’t already believed to be true, and that was found for the first time with automated theorem proving. It’s something I did in 2000—to find the minimal axiom system for Boolean algebra. But there was another problem here: the proof that was found is very long, very low level, and very alien. And in the past 26 years it’s never been possible—with AI or otherwise—to find any human-level version of it. In effect, so far as we can tell, it’s a kind of prong in the metamathematical universe, unconnected to existing human-level mathematical concepts.

Of course, we can just use the result of the proof—as a kind of “black-box piece of mathematics”. But insofar as our objective in mathematics is to provide human-level mathematical narrative this represents a gap in the narrative.

But let’s say instead you take a proof that was already known in the mathematical literature, and you somehow formalize it—whether by AI or by direct human effort. If it’s a complicated proof, then this is certainly an achievement. And if you’re sure that you actually formalized the right thing, then it’s a good check that the proof really is correct. But one shouldn’t expect to get new understanding, or to surface new reusable components. And then there’s the question of actual mathematical content. Yes, a formal result has been established—but for example what underlying axiom system did it use (and, no, it’s probably in the end not something as familiar as set theory)?

(It’s worth commenting that formalized proofs can themsleves become objects of study. For example, with many proofs of a given theorem, one can start asking about the geometry and topology of proof space. And with proofs of many theorems one can start doing “empirical metamathematics” to understand their fundamental relations.)

Problem Solving in Math

As we’ll discuss, much of the most important progress in pure mathematics comes from the invention of new concepts and structures (often encapsulated in new definitions). But there’s still a vast amount to do operating with existing concepts and existing structures. Sometimes the goal is to “compute an answer”. Sometimes it’s to “find a proof”. Sometimes it’s to “find an example or counterexample”. And sometimes it’s to “figure out what’s true”. In all of these types of cases there’s plenty of powerful algorithmic computation that can be used (e.g. in Wolfram Language) to get results, often very directly and quickly.

AIs can certainly use such computation (say through Wolfram MCP). But how can modern AI directly contribute? One can imagine just straightforwardly asking it “chatbot style” to generate results. And often, yes, it will come up with a result. But how can one tell if it’s correct? Sometimes the only way is in effect to formalize the whole process of getting it, as we discussed above. But sometimes we can just take the result and do a computation on it to check if it’s correct. For example, if the AI claims to solve an integral, we can just differentiate its solution and see if we get back something equivalent to the integrand. Or if the AI comes up with a counterexample to something, then we can just do a computation to check whether it is in fact a counterexample.

We don’t know much about what’s “going on inside” when an LLM comes up with a result. But it’s probably not a bad model to think of it as a process of fitting together digested pieces from the millions of mathematical papers on which it’s been trained. In the end, though, what it does may actually amount to something that’s algorithmically quite simple. The AI has the advantage of great breadth. And in my experience it’s rather common to find that it’s come up with something that would be quite simple—or even obvious—if one just happened to look in the right place. But having found it, it can then be implemented as a piece of pure computation (e.g. in Wolfram Language), that doesn’t need any AI around.

When humans do math and solve problems an important part of the process tends to be the use of intuition. But what actually is intuition? At some level it seems to be a kind of “I know how this will go” procedural pattern matching. And—speaking of intuition—my intuition is that at least in its basic form this isn’t a capability that’s fundamentally out of reach for LLMs.

But one of the challenges is that even to solve a problem stated in terms of existing mathematical concepts it’s common to have to “break out of the system” and invent new concepts—a classic example being the need for complex numbers in finding even real solutions to cubic equations. At some level this is yet another manifestation of computational irreducibility, and the way it limits any given pocket of computational reducibility. But its effect is that it forces what might seem like “pure problem solving” to actually often involve the invention of new concepts and structures.

Open-Ended Math

So what about what one can think of as open-ended math? In ruliology it’s very common to just go out into the computational universe and “look for interesting things”. In math that’s traditionally not something that’s common. Of course, one can certainly in principle imagine, say, systematically enumerating possible theorems based on some set of axioms, and then asking: which of these are “interesting”? Operationally one might ask “Which of these theorems would one mention if one was writing a book or paper?”

Years ago I looked at the very simple case of possible theorems of Boolean algebra and found empirically that there was a criterion for which of them are typically given names in textbooks of logic: it’s basically ones that can’t be proved from theorems earlier in a lexicographically ordered list of possible theorems—or, in some sense, the simplest theorems that “give new information”.

In more complicated cases one might imagine that an AI trained on millions of examples of theorems that people chose to publish in the literature of mathematics might be able to channel human criteria for interestingness. But in my experience this doesn’t really work. And I think the reason is that in all but the simplest cases interestingness is not something that can be determined theorem by theorem: rather, it requires one to map out the whole historical development of a particular area of mathematics. And, yes, then one can ask what aspects of the arc of that development are somehow inevitable, and what are just historical accidents.

I’ve asked a somewhat similar question recently for biological evolution. And in that case I’ve discovered that there do seem to be some (fundamentally computational) general principles. For example, adaptive evolution according to a computationally limited fitness function quite generally seems to lead to the presence of modular structures (analogous to organelles, organs, etc.) Those structures don’t “come with an explanation of what they are”. But they do in effect represent “raw pockets of computational reducibility”.

In the development of pure mathematics one thing that’s clearly critical is the identification of new structures and concepts. Historically such structures and concepts have always been introduced by humans, and have in effect “come with explanations”. But could one for example imagine new structures and concepts that are automatically found, say by an AI? And could one then build new mathematics with these?

New Mathematical Concepts

Those two questions turn out to be somewhat separate. At least at a simple level, it’s fairly straightforward (say by looking at autoencoders) to identify in neural nets particular patterns of activation that one can think of as summarizing pockets of computational reducibility, or in effect “representing new concepts”. But insofar as mathematics is about defining mathematical narratives for us, this isn’t immediately helpful.

Yes, the AI can in effect identify zillions of new concepts. But our human minds can only deal with limited numbers of them. It’s very much like with natural language. We can imagine an AI looking at patterns of human discourse and figuring out zillions of new words that could be introduced to summarize them. But we humans seem to only be able to know about a limited number of distinct words (typically a few tens of thousands).

So what about in mathematics? An AI could in principle come up with a zillion definitions of new mathematical concepts. But something built from them will inevitably seem about as alien as something built “ruliologically” from raw axiomatic-level mathematics. The building blocks might be more “human level”. But they’re not familiar to us humans, and so we can’t readily think in terms of them.

There are of course new words introduced into human languages, and new concepts introduced into mathematics. But it’s a gradual process, that in practice tends to involve a certain “societal consensus”. (And indeed in developing the design of the Wolfram Language over the past four decades, I’ve quite explicitly limited the rate at which new concepts are introduced, to make sure to let people keep up.)

The Goals of Math

But, OK, so there are lots of possible new concepts and new structures—all corresponding to pockets of computational reducibility—that are “out there in the metamathematical universe”. But in developing mathematics suitable for us humans, we can only ever pursue a tiny fraction of them.

In other words, it’s inevitable that the development of mathematics has to make choices about where to go. It can’t meaningfully “pursue all possibilities”. It has to have definite goals.

But where do goals for pure mathematics come from? In technology development, goals tend to be set quite directly by what people find useful. In natural science, by what one observes and has tools to interpret in the natural world. But in pure mathematics, there don’t at first seem to be such obvious “external” ways to define goals—making the math that’s been done seem more determined by the internal choices of the mathematical community and the leaders within it.

But actually if one looks at the historical arc of human mathematics there are at least definite trends to be seen. The journey of mathematics began with basic formalizations of things like numbers and space that somehow reflect everyday human perception of the world. And although a century or so ago mathematics seemed intent on trying to “generalize to all possibilities”, most of the strongest trajectories of mathematical development over the past century have actually stayed much closer to what humans can intuitively understand and visualize.

There is still plenty of freedom in where to go in math. But to be meaningful to us humans we somehow have to have a certain familiarity with whatever choices are made. Yes, an AI could, say, pick a direction at random, perhaps informed by the observed statistics of existing human choices. But there’s then no reason for humans to care about it; it’s not something that relates to our actual experience of mathematics.

At a more practical level, some part of the doing of math is about figuring out how to achieve goals that have been set—and this is something we can imagine AI doing. But what’s ultimately more important is the setting of the goals in the first place. And almost by definition, these must come from “outside the system”. Or, in particular, from us.

It’s a notable observation that the most significant reported successes for AI in math so far tend to come from some of the most skilled human mathematicians. And in some sense we should not be surprised—because it’s the setting of goals (or, in effect, knowing the questions to ask) that is the most important and unique part. Indeed, it’s often the case that once one really knows the question to ask, one’s already done the lion’s share of the work to answer it.

But just where do goals for pure mathematics in practice come from? There tend to be two basic sources. One is what amounts to problem solving; the other to what amounts to creative building. Problem solving is in a sense more cut and dried, measurable, and amenable to AI. Take a problem that’s been defined in the past, and worked on for a while. Then the goal is to solve it. And if one succeeds, there is a clear way to say one has done something (“an Erdős problem was solved!”, etc.), even if it sometimes seems more like a sporting achievement, with at best muddy ultimate intellectual content.

The Aesthetics of Math

But then there’s what one might think of as “creative building”: coming up with new structures and new concepts for mathematics. At some ultimate metamathematical level, these structures and concepts must already “be there”, as pockets of computational reducibility. So then one can think of the goal as being to identify particular ones, and bring them into the “lexicon” with which one talks about mathematics.

But of all the possibilities, which ones does one want? One could imagine various criteria. But mostly they come down to wanting to create abstractions that best unify, summarize and simplify disparate things. And put this way, one might think this would be an objective that could be automated, say by AI. But there’s a crucial wrinkle. One might imagine one could define something as being “simpler” if it’s shorter to state. But how long something is to state depends on the language it’s stated in. So again there’s nothing immediately absolute; it’s something that inevitably depends on a whole history of interconnected choices.

Often people describe the choices as aesthetic ones. What makes a structure more elegant, more perfect, etc.? Ultimately these are things grounded in human preference and human experience, and extended by what one can describe as human initiative. But does one actually need a human to make the choices? Or could one instead just have some kind of generative AI trained on existing human choices? The issue is that to usefully create new building blocks for mathematics one needs more than just to invent new concepts and structures; they also have to be knitted into the fabric of mathematical culture.

It’s like introducing a new word in a human language. For the word to be useful, its meaning has to be widely enough known for it to routinely stand for a particular concept. And spreading this meaning is inevitably at some level a social process. And so it is for new concepts and structures in mathematics. Insofar as mathematics is about developing mathematical narratives for human minds, concepts and structures have to be shared if they’re going to usefully be used as building blocks. It’s a bit like the issue in a typical automated proof. If one can say that a particular step is from “X’s theorem”, that provides a kind of conceptual anchor. But if every step is in some sense bespoke, one ends up with something that in effect seems alien.

So where does this leave AI in math? It’s similar to AI in many other places. Properly define a goal and AI can be very helpful. Without a goal, it doesn’t know where to go. Exploring possibilities in a ruliological way—and in effect doing experimental mathematics—can bring one lots of surprising new results. But in a sense they’re “born alien”, not immediately connected to what we normally think of as mathematics.

Why Do Pure Math Anyway?

But, OK, so AI can help in extending the enterprise that we can call pure mathematics. But it’s still inevitably going to take human effort and human initiative. So why do it?

A common argument is that it’ll eventually end up being useful for something “practical”. Often the notion is that pure math somehow manages to lay down certain “beacons” that science and technology will eventually reach. But I think the true picture is rather the reverse. The math that we create provides ways of thinking. And it’s when we have these ways of thinking that we end up creating science and technology that makes use of them. It’s not that there’s a convergence of what’s been done in math with what’s been discovered in science. It’s that the math we know guides what we end up looking for in science.

Sometimes there’s a notion that the things we discover in science are somehow unique and inevitable. But thinking in terms of the ruliad we realize that there are actually an infinite number of different slices of computational reducibility, each in effect defining their own take on science. And over and over again historically what seems to happen is that first a conceptual framework is developed—often from math—and only then does it become clear that there’s an associated regularity one can look at, that shows the way to some piece of science. In other words, it’s not a mysterious convergence between pure math and science; it’s that the science is developed because the pure math exists.

In a sense this makes the enterprise of pure mathematics seem less speculative. It’s not that we’re doing a piece of pure math in the hope that one day an application for it will be found. Rather, it’s that doing the piece of pure math develops a way of thinking (and in effect reveals a pocket of computational reducibility) that gives one the chance to come up with the application.

Could a piece of pure math just turn out to be “fundamentally useless”? In some sense the answer is no. Because any time there’s a piece of pure math that’s successfully been done, it must correspond to some pocket of computational reducibility. And any pocket of computational reducibility will be associated with regularities which are inevitably the “raw material” for some form of science and some form of technology.

The catch, though, is that those might be very alien forms of science and technology, far from anything we’ve so far considered. It’s not that the math can’t give us science and technology; it’s just that the arc of scientific and technological development may not yet have reached the point where we care about what it gives.

Back in antiquity the great contribution of math to our way of thinking was the idea of deductive reasoning. In more recent times came a multitude of ideas around continuity, real numbers, etc. Then, a bit more than a century ago came the idea of abstract functions and then the idea of computation. Once reached, this idea might seem almost obvious. But historically it took a surprisingly tall tower of abstract mathematical thought to reach it. And, yes, the general notion of computation is of great practical importance. But—as I have explored over the course of many decades—it’s also foundational for the general way we think about things.

One of the notable features of pure math is that it involves a certain style of structured thinking that has long been seen as important in education. In some ways I think that computation—and particularly computational language, with its way of describing the world—provides a powerful alternative for learning structured thinking. But the foundational study of computation is much younger than mathematics, and much more immediately subject to the limitations of computational irreducibility. And the result is that modern pure mathematics has developed a much taller tower of structured thinking and formalization—and indeed, its tower is taller than any other field.

It’s a big investment to learn that tower. And few people make it. Those that do have a variety of motivations. For some, it’s a matter of challenge. For others, more a matter of the “scenic view from the tower”. In some ways the automation provided by AI makes the challenge less appealing—though, as in something like chess, there can still be fulfillment in pure human achievement. But when it comes to the scenic view, the fulfillment is in the human aesthetic experience, which is quite unrelated to automation and AI.

Half a millennium ago, there were mathematical challenges set up as spectator sports. Today the challenge aspect of mathematics is not as successful at garnering public interest. Indeed, nothing about the process of doing mathematics is typically exposed to the public at all, except to a tiny extent through things like personality-based movies.

(And, yes, one might wonder if there’s any way the doing of mathematics could provide any form of public entertainment. I can report that I myself have done a fair number of successful live mathematical computer experiments. And during the pandemic I livestreamed a great many hours of highly technical working sessions about mathematical physics—which garnered a surprising number of views.)

So what about math as an essentially aesthetic activity? Yes, it’s fulfilling and enriching for the person in the middle of doing it. But what does society as a whole get out of it? Much as some tiny fraction of art is public art, so one might wonder if there can be public math. Occasionally there will be public visual or sculptural math, or perhaps architecture or music that embodies math. But realistically it’s not math at the level of the top of the tower of pure math.

One thing to understand about the upper reaches of pure mathematics is that to a surprising extent it’s been passed down as an oral tradition and a chain of human connections. Perhaps this is partly a consequence of the structure of academia and academic publishing. But the fact remains that to maintain the flame of pure mathematics seems to require a certain community of individuals continually and actively pursuing it, and talking about how it’s done. In other words, even if their personal motivations are quite internal, their collective effort has the long-term external value of allowing the progress of pure mathematics to continue.

One might ask if at some point pure mathematics will somehow be “finished”. And to this we can definitively answer that it will not. Computational irreducibility ensures that there will always be an infinite sequence of mathematical facts—and surprises—to be discovered. And there will also be an infinite number of pockets of computational reducibility, representing new mathematical concepts and structures.

Pure mathematics stands as the single largest intellectual edifice built by our civilization. And out of it have come some of the most impactful ideas in human intellectual history—like formalization, abstraction and computation. In modern times, there are some accelerators for pure mathematics. Practical computation has been one. AI is another. Experimental mathematics in the style of ruliology is yet another, still fairly undeveloped. And I’d like to think that the language for pure mathematics that we’re building will—particularly when combined with AI—be still another.

The work of pure mathematics is long and hard (yes, a consequence of computational irreducibility). But over the course of millennia its importance to the core intellectual development of our civilization has been very great. And there is no doubt that it has more to give. And that even after the issues of today are long forgotten pure mathematics will continue to shine as a beacon of human achievement. So, yes, there’s every reason to expect a bright future—now with some additional help from AI—for that most rarefied of human pursuits: research in pure mathematics.

Further Reading

“Can AI Solve Science?” (2024)

“The Physicalization of Metamathematics and Its Implications for the Foundations of Mathematics” (2022)

“Who Can Understand the Proof? A Window on Formalized Mathematics” (2025)

“The Empirical Metamathematics of Euclid and Beyond” (2020)

“Computational Knowledge and the Future of Pure Mathematics” (2014)

“What Is ChatGPT Doing … and Why Does It Work?” (2023)

“Will AIs Take All Our Jobs and End Human History—or Not? Well, It’s Complicated…” (2023)

Note

Some of the ideas in this piece I discussed over the course of more than three decades with my wife Elise Cawley, who sadly died shortly before the piece was written, and who would no doubt have had many valuable and incisive insights about it, now lost forever.

The Daily Front Page 23 of 27
Sunday, October 4, 2026 The Daily Front No. #261004 — The Cost of an Address
article

All I wanted was a custom domain email

by jgx0·▲ 44 points·65 comments·jacobg.co ↗
I have been trying to have a custom email address at my domain without paying a fortune.

At this point, I have owned the domain jacobg.co for over 2 years. For the longest time, I have been trying to have a custom email address at my domain without paying a fortune for a service that isn’t widely used. Here are some of the things I was looking for:

  • Bring-Your-Own domain
  • Cheap pricing
  • Unlimited addresses
  • Verified email sending and receiving
  • Integration with Apple Mail

I tried a few different solutions, from Cloudflare’s built-in email routing to completely self-hosted options. In this post, I’ll go over what I tried, what didn’t work, and what I’ve finally settled on.

Cloudflare E-Mail Routing

This site is hosted on Cloudflare Pages, and the DNS records for this domain are routed through Cloudflare. Naturally, my first instinct was to use Cloudflare’s own solution for custom domain email: Email Routing.

Cloudflare receives each email sent to your domain and forwards it to an address of your choice. For receiving mail, this is a pretty simple solution. I could have something like [email protected] automatically forwarded to my personal inbox without having to pay for another mailbox.

The problem is sending. Cloudflare’s email routing is primarily designed around forwarding incoming mail, and sending mail from the custom address requires a separate solution. For my use case, the available options were either too expensive or too complicated. I also found that forwarded messages could sometimes take several minutes to arrive.

It worked, but it wasn’t really the custom email setup I was looking for.

Mailflare

A few days ago, I stumbled upon an open-source project called Mailflare by hieunc299 on GitHub. It is a self-hosted email inbox for custom domains, built around Cloudflare.

Mailflare uses Cloudflare for receiving mail and provides an interface for managing the messages. For sending, it integrates with Resend, which handles the actual delivery.

On paper, this was almost exactly what I wanted. It was open source, used infrastructure I already had, and didn’t require me to run a traditional mail server myself.

In practice, though, I ran into problems with the sending side. Getting reliable outbound email is much more complicated than simply having an SMTP server. Domain authentication, reputation, and the way major providers like Gmail and Yahoo evaluate incoming messages all become important. The setup I ended up with wasn’t something I was comfortable relying on for my personal email.

So while Mailflare is a really interesting project, it wasn’t the solution for me.

Purelymail

The next option I found was Purelymail. Purelymail is essentially a personal email hosting service that gives you SMTP and IMAP access for a very low price. At around $10 a year, it was one of the cheapest options I found.

It also supports unlimited addresses, has a strong focus on privacy, and offers a generous free trial. Since it provides standard IMAP and SMTP access, it can also be used directly with Apple Mail instead of forcing you to use a proprietary web interface.

This was probably the most straightforward option I found. If I wanted something that I knew would work and didn’t care about spending a little time configuring it, Purelymail would have been an easy choice.

I ended up finding another option before fully committing to it, though. I’ll probably keep Purelymail in mind if I ever need a more dedicated email setup in the future.

Enterprise Options

Of course, there are also the more traditional options. Google Workspace provides custom domain email through Gmail and is probably the easiest solution for most people who don’t mind paying for it.

The problem for me is that I don’t really need everything that comes with it. Paying for a separate mailbox for a personal domain felt unnecessary when I mostly wanted a few addresses and the ability to send and receive through Apple Mail.

For a business with multiple employees, Google Workspace makes a lot more sense. For jacobg.co, it felt like overkill.

Foundermail

While researching possible solutions, I came across Foundermail. It immediately stood out because it was basically everything I had been looking for.

Foundermail integrates with Cloudflare, provides standard SMTP and IMAP logins for external mail clients, supports multiple addresses, and handles verified outbound email. Most importantly, it was cheap enough that I didn’t have to think twice about using it for a personal domain.

The setup was also surprisingly easy. Once the domain was connected, I could configure the SMTP and IMAP credentials in Apple Mail and use [email protected] like any other email account.

So far, it has worked exactly how I wanted. Messages arrive quickly, sending works, and I don’t have to use a separate webmail interface every time I want to check my email. The UI is also much more modern than I expected, and the relatively small user base seems to help with speed and latency.

There was one annoying limitation. I had to submit a special request before I could send emails to new addresses that had not previously messaged me. That’s not something I expected going in, although it was resolved and hasn’t been much of an issue since.

For now, this is what [email protected] runs on.

Conclusion

After trying several different approaches, I’ve ended up with Foundermail for now. It isn’t the most well-known option, but it checks almost every box I started with: custom domains, multiple addresses, SMTP/IMAP, verified sending, and a price that makes sense for a personal domain.

The bigger lesson for me is that custom email is surprisingly complicated. Receiving mail is easy. Sending it reliably is the hard part. Once you start worrying about spam filters, DNS records, authentication, SMTP, IMAP, and reputation, “just give me an email address” turns into a surprisingly deep rabbit hole.

For now, [email protected] is running on Foundermail. I’ll probably stick with it until I find a reason not to.

The Daily Front Page 24 of 27
Sunday, October 4, 2026 The Daily Front No. #261004 — The Researcher’s Ledger
article

Incentives in Academic Research

by zero_k·▲ 43 points·42 comments·msoos.org ↗
Show me the incentive and I will show you the outcome.

Andrei Tarkovsky’s Stalker (1979)

Charlie Munger said: “Show me the incentive and I will show you the outcome”. The issue with Academic Research, in my opinion, is that the outcomes have drifted very far away from the original goal, which I believe to be the advancement of scientific understanding, and training of the new generation of researchers. Academic research was meant to be about breaking new ground, keeping to honesty and good scientific conduct, being clear and upfront about uncertainties, errors, and mistakes, and improving our common understanding of science, all the while training the new generation to follow these goals and principles.

Recently, I have bumped into multiple cases where I believe the correctness of the results, the honesty of the people writing them, or the lack of curiosity once they are told that their results are wrong, incorrect, faulty, or misleading, has been unsatisfying. Simply put, researchers are not too interested in learning that their papers or reports are wrong, and/or misleading others who don’t happen to know that the results are — known to the authors, and a few select others to be partially — incorrect.

The issue is, once you published the paper, and got the promotions and fame, it doesn’t matter that the results are wrong, and known to be wrong or misleading, and potentially doing harm to the advancement of science. It’s not your problem. It’s someone else’s problem. In fact, when I challenged the authors of one such paper, considered state-of-the-art, and known to the authors to have incorrect evaluation, one of the author’s response was along the lines of acknowledging the issues, but refusing to retract the paper, and instead asking if it’s bothering me in publishing my paper.

The incentives are wrong. In my opinion, it’s not all about the papers — mine or others’. It’s about scientific integrity, about being honest with each other, it’s about caring about the results, it’s about advancement of our common scientific understanding through seeking of truth and correctness. It’s about communicating when something is wildly wrong, and either retracting the relevant incorrect claims, or notifying the community of the known serious issues. It’s about caring for what we all consider to be the common understanding of what is the truth, and cultivating an environment where the new generation grows up to learn what the proper scientific conduct is, and that it is not acceptable to seriously deviate from it.

Unfortunately, I am seeing more and more PhD students who are less and less interested in correctness, precision, and what I’d consider proper scientific conduct. They have learned from those successful in the field what does and does not matter. I remember when someone once told me that my approach for a particular algorithm was wrong (about strongly connected components discovery), and how upset I was that I had no idea. I went home that day and I immediately fixed my tool to use the right approach (i.e. to use Tarjan’s algorithm). I felt deep shame that I had no clue what I was doing, and that I messed up. In contrast, recently talked with a PhD student who wrote a tool that was meant to perform well in certain contexts. When I explained the student that the approach to the evaluation was incorrect, they didn’t follow up at all. I think they were surprised that I later followed up, demonstrating that indeed the evaluation was not careful enough, and the tool is less useful than it seems from the paper’s evaluation. It was a strange experience — when I was a PhD student and someone sat down and showed me that what I was doing was potentially sloppy, I was super worried and very curious to find out what’s going on. I still remember this moment when a reviewer of my dissertation challenged a graph and I was stressed for a week before I figured out they misread the graph, because I didn’t label it clearly. Or when in a presentation I accidentally left out performing so-called ‘restarts’ as a major advancement in the history of SAT solvers, and someone in the audience rightfully pointed it out. I felt embarrassed for having made such a mistake.

I am not sure how to fix this problem. Seemingly, researchers are less and less keen on correctness, precision, and scientific curiosity. They don’t seem to be incentivised to do so. I sometimes wonder if the system has become so damaged, so many PhD students have grown up to be professors in this environment, that much of what I wrote here seems alien, even repulsive, to many. It makes me sad.

The Daily Front Page 25 of 27
Sunday, October 4, 2026 The Daily Front No. #261004 — Also on the Front Page
The Daily Front Page 26 of 27
Sunday, October 4, 2026 The Daily Front No. #261004 — Colophon

That's the Front for Today

Issue No. #261004 — Sunday, October 4, 2026 — went to press 2026-10-05 at 04:58 UTC.

About This Magazine

The Daily Front is a daily digital magazine assembled from the stories that reached the front page of Hacker News on Sunday, October 4, 2026. Headlines, points, and comment counts are recorded as they stood at press time. All articles remain the property of their original authors — every piece links back to its source and its discussion thread.

How It Was Made

Fetched, cleaned, and typeset by an automated pipeline. An editor model laid out the pages and chose the highlights; a second read a handful of the day's stories and briefed the cover illustrator — 29 model calls and 209k tokens in total. Set in Jacquard 12, Playfair Display, Source Serif 4, and IBM Plex Mono, all served via Google Fonts under the SIL Open Font License.

The Cover

The cover illustration was commissioned with this prompt:

A small home office hums around a powerful gaming computer, its open case glowing beside a broad monitor displaying a freshly generated voxel pagoda garden, complete with tiny bridges, ponds, and trees. A person leans toward the keyboard while the machine handles everything locally, cables running from the desk toward a dark window. Outside, an unseen intermediary’s gloved hand has slipped a clamp onto one cable, suggesting a concealed breach between the private computer and the wider network.

Create a prismatic chromatic-aberration cover illustration on a luminous black ground: render the compact home office, powerful open gaming computer, broad monitor with its freshly generated voxel pagoda garden—tiny bridges, ponds, and trees—and the leaning keyboard user as translucent overlapping forms with split-spectrum edges. Show the local-processing relationship through radiant internal light and flowing cable paths, extending the cables toward the dark window where an unseen intermediary’s gloved hand clamps one line, making the concealed breach unmistakable. Use a deliberate palette of electric violet, ultraviolet magenta, cyan, acid green, and restrained white-blue highlights, with ultraviolet accents concentrated around the clamp, cable intrusion, and monitor glow.

Absolutely no text, letters, numbers, readable symbols, or logos anywhere in the image. Keep the main image subject primarily below the upper 10% of the composition, where a title may be overlaid; the scene may extend naturally underneath that title area.

Production Ledger

StageModelCallsTokens InTokens Out
extractgpt-5.6-luna 25 132,260 52,010
layoutgpt-5.6-terra 1 18,420 2,354
covergpt-5.6-luna 2 1,537 339
covergpt-image-2.5-flare 1 289 1,372

The Publisher

Published by Johnny.

Support the Press

If The Daily Front brightens your morning, consider supporting its publisher.

Credits & Contact

All content — articles, posts, comments, and the images within them — belongs to its original authors and is reproduced here to point readers back to the source. Full credit goes to those creators; every item links to its original and its Hacker News discussion.

If you are an author and would like your content removed from an issue, write to hi@johnnys.page and it will be taken down.

Feedback is always welcome at the same address: hi@johnnys.page.

Credit where credit is due.

Every page of this issue began as someone else's work — these are the original sources, linked in full.

  1. Tell HN: Bob Cringely has died by paveworld — news.ycombinator.com·HN discussion ↗
  2. Run Qwen 3.8 Flash Next (125B) on consumer hardware (RTX 4090) at 100T/s by snehesht — github.com·HN discussion ↗
  3. We're going to need default hard budget caps on pretty much everything by elffjs — simonwillison.net·HN discussion ↗
  4. Improper redaction reveals Google Data Center water and electricity usage by sensanaty — 1011now.com·HN discussion ↗
  5. UK Government Body Kept Files on People Criticizing Prevent Program by latein — reclaimthenet.org·HN discussion ↗
  6. Turn off Apple Intelligence on macOS 27 and get its disk space back by privacyisntdead — github.com·HN discussion ↗
  7. Why don't more developers “use the platform”? by vinhnx — nolanlawson.com·HN discussion ↗
  8. Car is a smartphone on wheels. Here's who's listening by longhaul — automatictransmission.khoury.northeastern.edu·HN discussion ↗
  9. In Ukraine, distributed renewables foil Russia's assaults by JumpCrisscross — energytransition.org·HN discussion ↗
  10. Show HN: AI search for every photo and every frame of video on macOS by allenleee — github.com·HN discussion ↗
  11. Emitting metadata early makes building/checking Rust up to twice as fast by knuckleheads — github.com·HN discussion ↗
  12. VGHF Digital Archive passes 5000 magazines. Here's what's next by rdmuser — gamehistory.org·HN discussion ↗
  13. Rejection Sensitivity in Gifted and Twice-Exceptional Children by actfrench — teachyourkids.substack.com·HN discussion ↗
  14. Self-hosted HTTP tunnels with SSH and Nginx by renehsz — vincent.bernat.ch·HN discussion ↗
  15. Apple's "Clean Design" Is Stupidity When It Comes to Hiding Fire Extinguishers by josephcsible — gadgetreview.com·HN discussion ↗
  16. In the wake of closure, a digital archive of animated materials appears online by rdmuser — filmstories.co.uk·HN discussion ↗
  17. ArtCraft Apps – open-source Adobe compatible suite written in Rust by aghuang — getartcraft.com·HN discussion ↗
  18. "Torturing" LLMs in a Robot Prison Has Triggered the Dumbest Debate in AI Yet by airhangerf15 — 404media.co·HN discussion ↗
  19. Blindsight (Watts Novel) by mooreds — en.wikipedia.org·HN discussion ↗
  20. Xray-core concealed a certificate verification bypass vulnerability by timbill — github.com·HN discussion ↗
  21. What's the future for pure math research in the age of AI? by 6bitquant — writings.stephenwolfram.com·HN discussion ↗
  22. All I wanted was a custom domain email by jgx0 — jacobg.co·HN discussion ↗
  23. Incentives in Academic Research by zero_k — msoos.org·HN discussion ↗
  24. Religious scholars met with Anthropic by bookofjoe — nytimes.com·HN discussion ↗
  25. How to scale intent, quality, and artistry with AI [video] by simonjgreen — youtube.com·HN discussion ↗
  26. The evolution of effective altruism by bazzmt — economist.com·HN discussion ↗
  27. We're working on a new RuneScape MMO by droidjj — play.runescape.com·HN discussion ↗
  28. A browser-native classic Visual Basic VB6 IDE by wiso — wieslawsoltes.github.io·HN discussion ↗
  29. Bill Draper has died by bookofjoe — nytimes.com·HN discussion ↗
  30. Homa: The end of TCP for AI clusters [video] by signa11 — youtube.com·HN discussion ↗

Browse all issues in the archive →