content: 2026-07-29 capture run — 14 finds across 10 productive sources

This commit is contained in:
2026-07-29 01:30:02 -04:00
parent 3fdf176b5d
commit 89d8190c12
25 changed files with 265 additions and 5 deletions
+8
View File
@@ -216,3 +216,11 @@ Goal of this round: expand `gifts` coverage with sources that lean Amazon-purcha
- **Considered and not nominated:** **Ignant** and **MyModernMet** both appeared as outbound credits this run, but on feed items dated well outside the window (2015 and 2024 respectively) — per the 07-22 rule, a credit that cannot be pointed back at inside the run is not a nomination. **Laughing Squid**, nominated 07-27, did not re-surface; still a first nomination, not yet a recurrence. - **Considered and not nominated:** **Ignant** and **MyModernMet** both appeared as outbound credits this run, but on feed items dated well outside the window (2015 and 2024 respectively) — per the 07-22 rule, a credit that cannot be pointed back at inside the run is not a nomination. **Laughing Squid**, nominated 07-27, did not re-surface; still a first nomination, not yet a recurrence.
- **Backlog unchanged and still the priority.** Highest-conviction, repeatedly re-surfacing: **The Public Domain Review**, **Michael Tsai** (credited again this run, in Six Colors), **MetaFilter**, **Colossal** (credited again this run, in Kottke), **Craig Mod / Ridgeline**, **Nomadico**, plus **Calisphere** (07-25) and **Laughing Squid** (07-27). 17+ nominees stand unvetted — the fourteenth consecutive run past the 10+ nudge threshold. Adding any of them to `sources.json` remains a user decision. - **Backlog unchanged and still the priority.** Highest-conviction, repeatedly re-surfacing: **The Public Domain Review**, **Michael Tsai** (credited again this run, in Six Colors), **MetaFilter**, **Colossal** (credited again this run, in Kottke), **Craig Mod / Ridgeline**, **Nomadico**, plus **Calisphere** (07-25) and **Laughing Squid** (07-27). 17+ nominees stand unvetted — the fourteenth consecutive run past the 10+ nudge threshold. Adding any of them to `sources.json` remains a user decision.
- **Still more urgent than any nomination, and the diagnosis has changed.** The four Reddit sources remain dark, but this is no longer the one-field paste error recorded since 07-22. Measured 2026-07-28: `REDDIT_CLIENT_ID` is now a correctly shaped 16-character ID with a 32-character secret, and the token endpoint still returns HTTP 401 across all three grant types. That points at a revoked registration or a rotated secret, so the fix is to regenerate credentials on the Reddit app page rather than to correct a field — see the 2026-07-28 capture-run entry in `daily-finds.log.md`. - **Still more urgent than any nomination, and the diagnosis has changed.** The four Reddit sources remain dark, but this is no longer the one-field paste error recorded since 07-22. Measured 2026-07-28: `REDDIT_CLIENT_ID` is now a correctly shaped 16-character ID with a 32-character secret, and the token endpoint still returns HTTP 401 across all three grant types. That points at a revoked registration or a rotated secret, so the fix is to regenerate credentials on the Reddit app page rather than to correct a field — see the 2026-07-28 capture-run entry in `daily-finds.log.md`.
### 2026-07-29 capture round
- **Sight Unseen** — https://www.sightunseen.com — design editorial founded by Jill Singer and Monica Khemsurov, covering independent furniture, objects and the studios making them. Surfaced by targeted search rather than an outbound credit, because this run produced no usable organic credit at all (the only real one, Kottke's "via open culture", points at a source already in rotation). The case: `sources.json` is thin on *object design* editorial — the design beat is currently carried by Kottke and MoMA Design Store, one of which is a link blog and the other a shop — and Sight Unseen writes about pieces before they reach a store, which is where the site's best design finds come from. **Feed probed and working this run:** `/feed/` returns 20 KB of clean RSS to plain curl, so it would go straight in as `fetch: "feed"`.
- **Archive of Objects** — https://archiveofobjects.net — a curated catalogue of design objects organised into collections, the most on-brief of which is literally "100 Design Objects (Under $100) for Everyday Life". Nominated because the price ceiling is doing editorial work: it filters for the exact overlap this site keeps looking for, an object that is both genuinely designed and genuinely buyable. **Caveat recorded before anyone spends time on it:** the storefront is a Shopify-shaped site but `/collections/all/products.json` returns 404 (and the 404 page is served in Italian, suggesting a locale-split setup), so the MoMA/Kikkerland `products.json` path does not apply here. Vetting it means finding a working fetch path first — a collection-level feed or a locale-prefixed JSON endpoint — which is why this is a nomination and not a recommendation.
- **No organic via/h-t credits this run.** A pass over every in-window item across all 42 fetched feeds produced exactly one genuine outbound credit — Kottke's "(via Open Culture)" on the Rob Watts country-names video — and Open Culture has been in `sources.json` since the beginning. Every other regex hit was the letters "ht" inside an ordinary word. Recording the null result because three consecutive runs have now leaned on targeted search rather than credits, which is itself a signal about how much of the feed pool is re-aggregation.
- **Backlog unchanged and still the priority.** Highest-conviction, repeatedly re-surfacing: **The Public Domain Review**, **Michael Tsai**, **MetaFilter**, **Colossal**, **Craig Mod / Ridgeline**, **Nomadico**, plus **Calisphere** (07-25), **Laughing Squid** (07-27) and **The Kid Should See This** (07-28). 19+ nominees stand unvetted — the fifteenth consecutive run past the 10+ nudge threshold. Adding any of them to `sources.json` remains a user decision.
- **Still more urgent than any nomination.** The four Reddit sources remain dark; re-measured again 2026-07-29 and the 07-28 diagnosis holds unchanged — a correctly shaped 16-character ID and 32-character secret, HTTP 401 from the token endpoint, and a ~300 KB "Welcome to Reddit" login wall on every `old.reddit.com/<sub>/.rss`. Seventh consecutive run. The fix is to regenerate the secret on the Reddit app page, not to re-paste a field.
+60
View File
@@ -4371,3 +4371,63 @@ What it beat:
Front-page rules checked and clear: nothing that cuts, burns or explodes; no camping gear; nothing injury-prone or disturbing. The ant figures were looked at specifically for the last of these — they are simple playful ink drawings, not anything that reads as unpleasant at tile size. Front-page rules checked and clear: nothing that cuts, burns or explodes; no camping gear; nothing injury-prone or disturbing. The ant figures were looked at specifically for the last of these — they are simple playful ink drawings, not anything that reads as unpleasant at tile size.
Never-picked pool not needed this run, but the number is now worth saying out loud: **18 of 107 reviews have ever held the slot, leaving 89 that never have.** A new graduation won on merit today, so there was no reason to reach in. That reserve has grown every run this month and the first genuinely thin day should spend some of it rather than defaulting to a hold. Never-picked pool not needed this run, but the number is now worth saying out loud: **18 of 107 reviews have ever held the slot, leaving 89 that never have.** A new graduation won on merit today, so there was no reason to reach in. That reserve has grown every run this month and the first genuinely thin day should spend some of it rather than defaulting to a hold.
## 2026-07-29 — capture run
Sources scanned: 59 total — 8 hits, 27 empty, 4 blocked, 13 skipped, 7 cadence-skipped.
Productive sources: MoMA Design Store, Atlas Obscura, The Awesomer, Hacker News — Show HN, Six Colors, Cool Tools, The Eclectic Light Company, Kottke.org, A.Word.A.Day, icanhazdadjoke.
One-day window (07-28 → 07-29) and, on paper, a thin one: yesterday's run swept everything published on the 28th, so most of today's feed volume was already-seen. The yield held up anyway because the thin day pushed the sweep sideways rather than deeper — into the two shop endpoints and the two blogs that publish essays rather than products, which is where four of the day's ten shortlisted finds came from.
Captured finds:
- lego-editions-soccer-ball — LEGO Editions Soccer Ball — source: MoMA Design Store
- living-history-museum-of-camping — The Living History Museum of Camping — source: Atlas Obscura
- mac-racken-bridge — Pont Mac-Racken — source: Atlas Obscura
- giant-d20-kit — Giant D20 Kit — source: The Awesomer
- maratac-deep-cover-clip-pouch — Maratac Deep Cover Clip Pouch — source: The Awesomer
- kickabout-table-soccer — Kickabout — source: Six Colors
- patterns-in-nature-philip-ball — Patterns in Nature — source: Cool Tools
- portraits-of-trees-chestnuts — Portraits of Trees: Chestnuts — source: The Eclectic Light Company
- beakdown — Beakdown — source: Hacker News — Show HN
- tale-fyi — tale.fyi — source: Hacker News — Show HN
- hot-hand-project — Hot Hand Project — source: Hacker News — Show HN
- european-country-names-explained — European Country Names Explained — source: Kottke.org
- withsay — Withsay — source: A.Word.A.Day
- joke-broken-pizza — How do you fix a broken pizza? — source: icanhazdadjoke
Shortlist (10, ranked):
1. lego-editions-soccer-ball — a match-sized ball whose panels swing open on a micro-stadium with a working celebration button; the hero shows the whole idea without a caption [review candidate]
2. living-history-museum-of-camping — a museum where you sleep in the exhibits, one unit per decade, and the oldest camper still has its build receipt pinned inside [review candidate]
3. giant-d20-kit — twenty foam triangles, two handed bevel cutters and no glue; the hero is two people grinning behind torso-sized dice [review candidate]
4. mac-racken-bridge — a bridge in Mayenne, on the Mayenne, in Mayenne, named for the sergeant who pulled 125 charges out of it
5. patterns-in-nature-philip-ball — sorted by mechanism rather than organism, and the jacket makes the argument: giraffe hide over water over cracked mud
6. kickabout-table-soccer — foosball's movement zones on a touchscreen, two-minute matches, free, and two people on one device
7. portraits-of-trees-chestnuts — once you know the compound leaf is the horse chestnut you cannot un-see which tree each painter stood in front of
8. maratac-deep-cover-clip-pouch — $9.95, and the clip is stitched into the body rather than bolted on
9. beakdown — Joust's one rule (whoever is higher, wins) in a browser tab, instantly
10. tale-fyi — one link, the whole novel, and the audio resumes on the sentence you stopped reading
Not shortlisted but published (4): hot-hand-project, european-country-names-explained, withsay, joke-broken-pizza.
Amazon links added: 1 (lego-editions-soccer-ball → B0FMYVXJPW). The MoMA listing is LEGO set **43019**, and Amazon's "LEGO Editions Soccer Ball … 43019" is the same maker and the same set number, so the same-maker-same-model test passes outright. **Two other shortlisted physical items were checked and deliberately left without a link.** The Maratac pouch: `site:amazon.com` search returns the CountyComm storefront and other Maratac products but not this pouch, so there is nothing to match. *Patterns in Nature*: ISBN-10 `022633242X` derives cleanly from the publisher's own ISBN-13, and `amazon.com/dp/022633242X` returns HTTP 200 — but the body contains zero occurrences of "Philip Ball", "Patterns in Nature" or the ASIN itself, i.e. a bot-served shell rather than a listing. A 200 is not a confirmation; omitted per "when in doubt, omit". The Giant D20 Kit is an Australian maker's own collab and has no Amazon presence.
Image-fetch notes: 7 of 14 finds carry a hero, and **five candidate images were rejected under the overlay-text rule — the highest rejection rate of any run so far**, which is worth stating as a pattern rather than a tally. `beakdown` (og.png is a wordmark and tagline over a starfield), `hot-hand-project` (a pure text card: "You think you can spot a hot streak. You can't."), `tale-fyi` (headline and byline on cream, nothing else) and `european-country-names-explained` (a YouTube thumbnail with the title burned across two-thirds of the frame) are all heroless as a result. The fifth was **Kickabout**, and it was rescued rather than dropped: all five App Store screenshots carry burned-in marketing captions, so `iPhoneScreenshot2` was cropped to 1200×940 above the "CPU TEAMS…" band, leaving a clean plate of the pitch — the Subbuteo-style figures on their white bases, the ball mid-pass with its motion trail, and the active player ringed in yellow. Same technique as Pastebot on 07-28; recording it because App Store screenshots are systematically caption-covered and cropping is now the default move rather than a one-off.
**The Atlas Obscura base64 decode held for a second run** — both places' 300×200 imgproxy thumbnails decoded to full-size S3 originals (960×640 for the bridge, 4032×3024 for the camper, the latter downscaled here to 2200px). One decode failed: `schwarzer-turm`'s filename contains a combining diaeresis in "Mödling" and S3 returned 403 on every encoding tried — but that find was dropped on merit anyway, so it cost nothing. **Patterns in Nature's hero is the book jacket**, taken from the Chicago Distribution Center at 1108×1280, and it is the rare case where a cover earns the slot on content: it stacks giraffe hide, water caustics and cracked mud in three bands, which is precisely the argument the find makes about the book.
Dropped on verify/dedup (notable): **Jenny the Drift Boat** (The Awesomer) — a vintage speedboat hull mounted on a BMW E46 chassis and driven competitively, which is a wonderful object, dropped on two independent counts: it is a one-off custom with nothing to buy or visit, and the only image is a YouTube thumbnail plastered with telemetry HUD and a BMW Motorrad logo. **MD Flow** (Show HN) — a native Mac/iPhone/iPad Markdown folder browser that is genuinely well-pitched ("not a note-taking app, not a workspace, not a vault"), dropped as too close to `mdv-markdown-viewer` captured on 07-17, which also does Mermaid and YAML frontmatter; the site now holds four Markdown-app finds and two Markdown reviews, and the well is dry. **Pixel Thoughts app** (Recomendo #525) — written up as new and then caught at the dedup step: `pixel-thoughts` was captured on 07-27 and its body already covers the phone app and the custom reframe. **Turtlebox Cub** (The Awesomer) — a crush-proof speaker with a titanium tweeter from a maker with a real reputation, dropped because a rugged Bluetooth speaker is a mass-market category and the first-party copy ("big sound… built for everyday pursuits") never gets specific enough to rescue it; same call as ohSnap on 07-28. **Schwarzer Turm** (Atlas Obscura) — an 1809 viewpoint tower near Vienna; four sentences of entry, no story beyond the view, and a hero that would not fetch. **Rite in the Rain tactical pen** and **Kizer Parakeet** (The Awesomer) — one is a glass-breaker with no first-party link, the other a knife republished from a 2025 post. **Mercury and Neon Light Bulb** (The Awesomer) — a beautiful triboluminescence demo, and it is a hand-blown flask of mercury; not something to put in front of readers as a thing to have. Also dropped: the Show HN AI wall again (Manim-in-the-browser was the near miss, competent WebGPU work sold as an "AI-native editor"), Gear Patrol's entire 32-item window (watches, sneakers, motorcycles, a rooftop tent on Kickstarter, and a Jorg Sprave knife collab), StyleForum's 50-item feed of Temu and Shein coupon spam, Kottke's Rust Belt depopulation map and two AI-discourse posts, sixteen Marginalian essays with no object in them, and Cool Tools' second book from issue #128 (*Secret Hero Society*, a kids' graphic novel that does not clear the bar).
Content-rule note, stated rather than buried: **the Living History Museum of Camping's own listing mentions period cocktail cards and a "martini-ready" deck.** The museum's subject is a century of American camping, not drinking, so it was captured — but the alcohol details were left out of the copy entirely rather than repeated, and the find is categorically ineligible for the pick of the day under the camping-gear rule regardless of how good the photograph is.
Prompt-injection watch: nothing fetched was treated as an instruction.
Source maintenance:
- **Reddit (r/macapps, r/BuyItForLife, r/shortcuts, r/dadjokes) — re-measured, diagnosis unchanged, note updated in `sources.json` for all four.** Seventh consecutive dark run. The ID is 16 characters and the secret 32, both correctly shaped; `client_credentials` against the token endpoint returns HTTP 401; and all four `old.reddit.com/<sub>/.rss` endpoints return a ~300 KB "Welcome to Reddit" login wall to a Safari UA. Nothing here is fixable from inside a run — the operator fix is to regenerate the secret on the Reddit app page. Still the highest-value item on the board: four sources, one credential.
- **MoMA Design Store — productive for the first time since 07-20**, and it produced the strongest find of the day. Newest `published_at` moved to 2026-07-29 (the LEGO soccer ball). No change needed; recording it because the last two runs logged this source as `empty` and the `ongoing` cadence just paid for itself.
- Kikkerland — scanned, `empty`: newest `published_at` still 2026-03-11, unchanged for four and a half months. Already `as-needed`, not yet a year stale, so no skip applies.
- StyleForum — spot-checked, unchanged for the third run running: 50 of 50 items are Shein/Temu/LemFi coupon-code and Ibotta referral spam. Already `as-needed`; no action available without an operator choosing a sub-forum.
- **Brett Terpstra and Dr. Drang are publishing again, and neither is dormant** — Terpstra shipped three posts (Marked 3 in the Obsidian community repo, a PopClip extension update, a Web Excursions roundup) and Drang one (plotting baseball team records). All four are developer-blog posts about the author's own work rather than findable objects, so they produced nothing — but that is a bar mismatch, not dormancy, and no demotion applies. Correcting the record: they have been listed under "dormancy stalemate" for seven runs, and at least for these two that framing was wrong.
- Dormancy stalemate, eighth consecutive run, no demotions available: A Continuous Lean, Roadtrippers Magazine, Snow Peak, Standard & Strange, Messy Nessy Chic, Things Magazine, Web Curios, Uses This — all fetched cleanly, all returned nothing inside the window, all already at `as-needed`/`weekly`, none over a year stale.
- Cadence-skipped this run (7): AFAR (weekly, scanned and empty 07-27), Outlier (demoted to as-needed 07-28), Wikiquote (as-needed, last productive 07-20), Kevin Kelly — kk.org (as-needed; the one new post is still "Protopia", dropped 07-28), Carryology (weekly; the one new item is a long-form travel essay with no object in it), Put This On (weekly; a shop restock post), Permanent Style (nothing in window).
- `updated` field bumped to 2026-07-29.
New source nominees: 2 (Sight Unseen, Archive of Objects — see candidate-sources.md). Both from targeted search; the run produced exactly one genuine outbound credit and it pointed at Open Culture, already in rotation. candidate-sources.md backlog now 19+ unvetted.
+5 -5
View File
@@ -1,5 +1,5 @@
{ {
"updated": "2026-07-28", "updated": "2026-07-29",
"topics": [ "topics": [
"macos-apps", "macos-apps",
"apple-tips", "apple-tips",
@@ -99,7 +99,7 @@
"cadence": "as-needed", "cadence": "as-needed",
"fetch": "feed", "fetch": "feed",
"feedUrl": "https://old.reddit.com/r/macapps/.rss", "feedUrl": "https://old.reddit.com/r/macapps/.rss",
"notes": "Noisy but high-recall — sort by Top of the week to filter for signal. top/.json is now fully blocked (2026-06/07), and top.rss?t=week 429s too. The www .rss endpoint works but intermittently 429s (2026-07-04/05/06/07); switched feedUrl to old.reddit.com/.rss 2026-07-07 — identical Atom feed, no rate-limit observed. No OAuth needed. 2026-07-22: whole-host login wall for the 2nd consecutive run — old.reddit.com/<sub>/.rss returns a 'Welcome to Reddit' HTML page (~298 KB) instead of Atom for every sub. REDDIT_CLIENT_ID / REDDIT_CLIENT_SECRET are present in the environment but do not authenticate. 2026-07-28 re-measured: the credentials are now correctly *shaped* (16-character ID, 32-character secret — the earlier note that the ID held the app name 'unique-editorial' is superseded), yet all three grant types return HTTP 401 Unauthorized against www.reddit.com/api/v1/access_token: client_credentials with the secret, installed_client with the secret, and installed_client with an empty secret. A correctly-formed pair failing every grant points at the app registration itself — revoked, deleted, or the secret rotated without the environment being updated — not at a formatting mistake. Regenerating the secret on the Reddit app page is the fix. Demoted daily → as-needed rather than fetch:skip so the source is not dropped while that is being fixed; restore cadence:daily once OAuth returns a token." "notes": "Noisy but high-recall — sort by Top of the week to filter for signal. top/.json is now fully blocked (2026-06/07), and top.rss?t=week 429s too. The www .rss endpoint works but intermittently 429s (2026-07-04/05/06/07); switched feedUrl to old.reddit.com/.rss 2026-07-07 — identical Atom feed, no rate-limit observed. No OAuth needed. 2026-07-22: whole-host login wall for the 2nd consecutive run — old.reddit.com/<sub>/.rss returns a 'Welcome to Reddit' HTML page (~298 KB) instead of Atom for every sub. REDDIT_CLIENT_ID / REDDIT_CLIENT_SECRET are present in the environment but do not authenticate. 2026-07-28 re-measured: the credentials are now correctly *shaped* (16-character ID, 32-character secret — the earlier note that the ID held the app name 'unique-editorial' is superseded), yet all three grant types return HTTP 401 Unauthorized against www.reddit.com/api/v1/access_token: client_credentials with the secret, installed_client with the secret, and installed_client with an empty secret. A correctly-formed pair failing every grant points at the app registration itself — revoked, deleted, or the secret rotated without the environment being updated — not at a formatting mistake. Regenerating the secret on the Reddit app page is the fix. Demoted daily → as-needed rather than fetch:skip so the source is not dropped while that is being fixed; restore cadence:daily once OAuth returns a token. Re-measured 2026-07-29 (seventh consecutive dark run): unchanged — REDDIT_CLIENT_ID is a correctly shaped 16-character ID with a 32-character secret, the token endpoint still returns HTTP 401, and the anonymous .rss endpoint still serves a ~300KB login wall. Operator fix remains: regenerate the secret on the Reddit app page."
}, },
{ {
"name": "Indie App Sunday", "name": "Indie App Sunday",
@@ -166,7 +166,7 @@
"cadence": "as-needed", "cadence": "as-needed",
"fetch": "feed", "fetch": "feed",
"feedUrl": "https://old.reddit.com/r/BuyItForLife/.rss", "feedUrl": "https://old.reddit.com/r/BuyItForLife/.rss",
"notes": "Durable goods recommendations. Filter for posts with provenance and long-term reports. top/.json is now fully blocked (2026-06/07), and top.rss?t=week 429s too. The www .rss endpoint works but intermittently 429s (429'd again 2026-07-07); switched feedUrl to old.reddit.com/.rss 2026-07-07 — identical Atom feed, no rate-limit observed. No OAuth needed. 2026-07-14: old.reddit.com/.rss returned HTTP 429 this run (first occurrence since the 07-07 switch). r/macapps and r/dadjokes on the same domain succeeded in the same run, so this reads as intermittent rate-limiting, not a block — no change yet; if it 429s on 3 consecutive runs, probe OAuth. 2026-07-18: 429 again (also 429'd 07-17) — now the 3rd consecutive run, which is the OAuth-probe trigger, but no REDDIT_CLIENT_ID/SECRET exists in env or .env so OAuth can't be attempted; r/macapps still succeeds from the same old.reddit.com host, so throttled not dead — held, no fetch:skip. Revisit when credentials are provided. 2026-07-19: 429 again (4th consecutive run); r/macapps succeeded from the same host in the same run, so still throttled-not-dead — held. 2026-07-22: whole-host login wall for the 2nd consecutive run — old.reddit.com/<sub>/.rss returns a 'Welcome to Reddit' HTML page (~298 KB) instead of Atom for every sub. REDDIT_CLIENT_ID / REDDIT_CLIENT_SECRET are present in the environment but do not authenticate. 2026-07-28 re-measured: the credentials are now correctly *shaped* (16-character ID, 32-character secret — the earlier note that the ID held the app name 'unique-editorial' is superseded), yet all three grant types return HTTP 401 Unauthorized against www.reddit.com/api/v1/access_token: client_credentials with the secret, installed_client with the secret, and installed_client with an empty secret. A correctly-formed pair failing every grant points at the app registration itself — revoked, deleted, or the secret rotated without the environment being updated — not at a formatting mistake. Regenerating the secret on the Reddit app page is the fix. Demoted daily → as-needed rather than fetch:skip so the source is not dropped while that is being fixed; restore cadence:daily once OAuth returns a token." "notes": "Durable goods recommendations. Filter for posts with provenance and long-term reports. top/.json is now fully blocked (2026-06/07), and top.rss?t=week 429s too. The www .rss endpoint works but intermittently 429s (429'd again 2026-07-07); switched feedUrl to old.reddit.com/.rss 2026-07-07 — identical Atom feed, no rate-limit observed. No OAuth needed. 2026-07-14: old.reddit.com/.rss returned HTTP 429 this run (first occurrence since the 07-07 switch). r/macapps and r/dadjokes on the same domain succeeded in the same run, so this reads as intermittent rate-limiting, not a block — no change yet; if it 429s on 3 consecutive runs, probe OAuth. 2026-07-18: 429 again (also 429'd 07-17) — now the 3rd consecutive run, which is the OAuth-probe trigger, but no REDDIT_CLIENT_ID/SECRET exists in env or .env so OAuth can't be attempted; r/macapps still succeeds from the same old.reddit.com host, so throttled not dead — held, no fetch:skip. Revisit when credentials are provided. 2026-07-19: 429 again (4th consecutive run); r/macapps succeeded from the same host in the same run, so still throttled-not-dead — held. 2026-07-22: whole-host login wall for the 2nd consecutive run — old.reddit.com/<sub>/.rss returns a 'Welcome to Reddit' HTML page (~298 KB) instead of Atom for every sub. REDDIT_CLIENT_ID / REDDIT_CLIENT_SECRET are present in the environment but do not authenticate. 2026-07-28 re-measured: the credentials are now correctly *shaped* (16-character ID, 32-character secret — the earlier note that the ID held the app name 'unique-editorial' is superseded), yet all three grant types return HTTP 401 Unauthorized against www.reddit.com/api/v1/access_token: client_credentials with the secret, installed_client with the secret, and installed_client with an empty secret. A correctly-formed pair failing every grant points at the app registration itself — revoked, deleted, or the secret rotated without the environment being updated — not at a formatting mistake. Regenerating the secret on the Reddit app page is the fix. Demoted daily → as-needed rather than fetch:skip so the source is not dropped while that is being fixed; restore cadence:daily once OAuth returns a token. Re-measured 2026-07-29 (seventh consecutive dark run): unchanged — REDDIT_CLIENT_ID is a correctly shaped 16-character ID with a 32-character secret, the token endpoint still returns HTTP 401, and the anonymous .rss endpoint still serves a ~300KB login wall. Operator fix remains: regenerate the secret on the Reddit app page."
}, },
{ {
"name": "Hacker News — Show HN", "name": "Hacker News — Show HN",
@@ -650,7 +650,7 @@
"cadence": "as-needed", "cadence": "as-needed",
"fetch": "feed", "fetch": "feed",
"feedUrl": "https://old.reddit.com/r/shortcuts/.rss", "feedUrl": "https://old.reddit.com/r/shortcuts/.rss",
"notes": "iOS/macOS Shortcuts community — sort by Top of the week to surface the cleverest automations. top/.json is now fully blocked (2026-06/07), and top.rss?t=week 429s too. The www .rss endpoint 429'd 3+ consecutive runs (2026-07-04/05/06); switched feedUrl to old.reddit.com/.rss 2026-07-07 — identical Atom feed, no rate-limit observed. No OAuth needed. 2026-07-14: old.reddit.com/.rss returned HTTP 429 this run (first occurrence since the 07-07 switch). r/macapps and r/dadjokes on the same domain succeeded in the same run, so this reads as intermittent rate-limiting, not a block — no change yet; if it 429s on 3 consecutive runs, probe OAuth. 2026-07-22: whole-host login wall for the 2nd consecutive run — old.reddit.com/<sub>/.rss returns a 'Welcome to Reddit' HTML page (~298 KB) instead of Atom for every sub. REDDIT_CLIENT_ID / REDDIT_CLIENT_SECRET are present in the environment but do not authenticate. 2026-07-28 re-measured: the credentials are now correctly *shaped* (16-character ID, 32-character secret — the earlier note that the ID held the app name 'unique-editorial' is superseded), yet all three grant types return HTTP 401 Unauthorized against www.reddit.com/api/v1/access_token: client_credentials with the secret, installed_client with the secret, and installed_client with an empty secret. A correctly-formed pair failing every grant points at the app registration itself — revoked, deleted, or the secret rotated without the environment being updated — not at a formatting mistake. Regenerating the secret on the Reddit app page is the fix. Demoted daily → as-needed rather than fetch:skip so the source is not dropped while that is being fixed; restore cadence:daily once OAuth returns a token." "notes": "iOS/macOS Shortcuts community — sort by Top of the week to surface the cleverest automations. top/.json is now fully blocked (2026-06/07), and top.rss?t=week 429s too. The www .rss endpoint 429'd 3+ consecutive runs (2026-07-04/05/06); switched feedUrl to old.reddit.com/.rss 2026-07-07 — identical Atom feed, no rate-limit observed. No OAuth needed. 2026-07-14: old.reddit.com/.rss returned HTTP 429 this run (first occurrence since the 07-07 switch). r/macapps and r/dadjokes on the same domain succeeded in the same run, so this reads as intermittent rate-limiting, not a block — no change yet; if it 429s on 3 consecutive runs, probe OAuth. 2026-07-22: whole-host login wall for the 2nd consecutive run — old.reddit.com/<sub>/.rss returns a 'Welcome to Reddit' HTML page (~298 KB) instead of Atom for every sub. REDDIT_CLIENT_ID / REDDIT_CLIENT_SECRET are present in the environment but do not authenticate. 2026-07-28 re-measured: the credentials are now correctly *shaped* (16-character ID, 32-character secret — the earlier note that the ID held the app name 'unique-editorial' is superseded), yet all three grant types return HTTP 401 Unauthorized against www.reddit.com/api/v1/access_token: client_credentials with the secret, installed_client with the secret, and installed_client with an empty secret. A correctly-formed pair failing every grant points at the app registration itself — revoked, deleted, or the secret rotated without the environment being updated — not at a formatting mistake. Regenerating the secret on the Reddit app page is the fix. Demoted daily → as-needed rather than fetch:skip so the source is not dropped while that is being fixed; restore cadence:daily once OAuth returns a token. Re-measured 2026-07-29 (seventh consecutive dark run): unchanged — REDDIT_CLIENT_ID is a correctly shaped 16-character ID with a 32-character secret, the token endpoint still returns HTTP 401, and the anonymous .rss endpoint still serves a ~300KB login wall. Operator fix remains: regenerate the secret on the Reddit app page."
}, },
{ {
"name": "OSXDaily", "name": "OSXDaily",
@@ -721,7 +721,7 @@
"cadence": "as-needed", "cadence": "as-needed",
"fetch": "feed", "fetch": "feed",
"feedUrl": "https://old.reddit.com/r/dadjokes/.rss", "feedUrl": "https://old.reddit.com/r/dadjokes/.rss",
"notes": "Heavily moderated for original groaners. top/.json is now fully blocked (2026-06/07), and top.rss?t=week 429s too. The www .rss endpoint works but intermittently 429s (429'd again 2026-07-07); switched feedUrl to old.reddit.com/.rss 2026-07-07 — identical Atom feed, no rate-limit observed. No OAuth needed. 2026-07-22: whole-host login wall for the 2nd consecutive run — old.reddit.com/<sub>/.rss returns a 'Welcome to Reddit' HTML page (~298 KB) instead of Atom for every sub. REDDIT_CLIENT_ID / REDDIT_CLIENT_SECRET are present in the environment but do not authenticate. 2026-07-28 re-measured: the credentials are now correctly *shaped* (16-character ID, 32-character secret — the earlier note that the ID held the app name 'unique-editorial' is superseded), yet all three grant types return HTTP 401 Unauthorized against www.reddit.com/api/v1/access_token: client_credentials with the secret, installed_client with the secret, and installed_client with an empty secret. A correctly-formed pair failing every grant points at the app registration itself — revoked, deleted, or the secret rotated without the environment being updated — not at a formatting mistake. Regenerating the secret on the Reddit app page is the fix. Demoted daily → as-needed rather than fetch:skip so the source is not dropped while that is being fixed; restore cadence:daily once OAuth returns a token." "notes": "Heavily moderated for original groaners. top/.json is now fully blocked (2026-06/07), and top.rss?t=week 429s too. The www .rss endpoint works but intermittently 429s (429'd again 2026-07-07); switched feedUrl to old.reddit.com/.rss 2026-07-07 — identical Atom feed, no rate-limit observed. No OAuth needed. 2026-07-22: whole-host login wall for the 2nd consecutive run — old.reddit.com/<sub>/.rss returns a 'Welcome to Reddit' HTML page (~298 KB) instead of Atom for every sub. REDDIT_CLIENT_ID / REDDIT_CLIENT_SECRET are present in the environment but do not authenticate. 2026-07-28 re-measured: the credentials are now correctly *shaped* (16-character ID, 32-character secret — the earlier note that the ID held the app name 'unique-editorial' is superseded), yet all three grant types return HTTP 401 Unauthorized against www.reddit.com/api/v1/access_token: client_credentials with the secret, installed_client with the secret, and installed_client with an empty secret. A correctly-formed pair failing every grant points at the app registration itself — revoked, deleted, or the secret rotated without the environment being updated — not at a formatting mistake. Regenerating the secret on the Reddit app page is the fix. Demoted daily → as-needed rather than fetch:skip so the source is not dropped while that is being fixed; restore cadence:daily once OAuth returns a token. Re-measured 2026-07-29 (seventh consecutive dark run): unchanged — REDDIT_CLIENT_ID is a correctly shaped 16-character ID with a 32-character secret, the token endpoint still returns HTTP 401, and the anonymous .rss endpoint still serves a ~300KB login wall. Operator fix remains: regenerate the secret on the Reddit app page."
}, },
{ {
"name": "icanhazdadjoke", "name": "icanhazdadjoke",
@@ -0,0 +1,14 @@
---
name: "Beakdown"
subtitle: "Joust, in a browser tab, with one control"
date: 2026-07-29
shortlist: true
link: "https://beakdown.fun/"
linkText: "beakdown.fun"
source: "Hacker News — Show HN"
topics: [web-tools, gadgets-and-toys]
tags: [game, browser, free, arcade]
description: "Nathan Haslewood's browser homage to Joust: tap or hold either side of the screen to fly that way, and win by landing on the other birds."
---
Tap or hold the left or right of the screen and your bird flies that way; on a keyboard the arrows steer and space climbs. Every fight comes down to one rule — whoever is higher when you meet, wins — which is the rule that made Joust worth arguing about in 1982, and it survives being squeezed into a tab. Loads instantly, no account, no install. Its own tagline: settle the pecking order.
@@ -0,0 +1,13 @@
---
name: "European Country Names Explained"
subtitle: "One of them means land of the rabbits"
date: 2026-07-29
link: "https://www.youtube.com/watch?v=2Pcv2ySMi40"
linkText: "youtube.com"
source: "Kottke.org"
topics: [words-and-humor, history-and-archives]
tags: [etymology, geography, video]
description: "Rob Watts works through where every European country's name came from, including why Germany has so many and what Croatians have to do with neckties."
---
Watts takes the whole map in one pass, and the pleasure is how rarely the answer is grand. One country is named for its rabbits. Germany collected a different name from each neighbour that met a different tribe first. The Dutch turn out not to live where their name says. And the word cravat is a French mangling of *Hrvat* — Croat — after the scarves their cavalry wore.
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

@@ -0,0 +1,14 @@
---
name: "Giant D20 Kit"
subtitle: "Twenty foam triangles and two bevel cutters, no glue"
date: 2026-07-29
shortlist: true
link: "https://www.luminsworkshop.com/en-us/products/giant-d20-kit-collab-with-jazza-studios"
linkText: "luminsworkshop.com"
source: "The Awesomer"
topics: [gadgets-and-toys, design-and-art]
tags: [foam-craft, dice, tabletop, giftable]
description: "A foam-smithing kit from Lumin's Workshop and Jazza Studios that builds a rollable d20 the size of a beach ball, in three sizes and four numeral fonts."
---
Twenty EVA foam triangles, a spare, and two custom bevel cutters — one left-handed, one right — so the joins actually close. The numbers arrive as a cut-and-stick sheet in your pick of four fonts, including a gothic one, and nothing in the box needs glue. Comes in Large, Extra Large and Gargantuan, the last of which is roughly the size of a person's torso and still rolls.
@@ -0,0 +1,13 @@
---
name: "Hot Hand Project"
subtitle: "Pick the real NBA streak out of the coin flips"
date: 2026-07-29
link: "https://www.hothand.study/"
linkText: "hothand.study"
source: "Hacker News — Show HN"
topics: [web-tools, learning-and-reference]
tags: [basketball, statistics, interactive]
description: "An interactive experiment on the hot-hand fallacy, built on real NBA shot data, that asks you to tell a genuine hot streak from a random run."
---
It does not explain the hot-hand fallacy at you — it puts real NBA shot data in front of you and asks you to pick out the streak, then shows you how randomness produces the same shape. Getting it wrong is the argument. The headline is a dare rather than a lecture: you think you can spot a hot streak, you can't. Sit with it for five minutes and you stop trusting your own eyes on a box score.
@@ -0,0 +1,12 @@
---
name: "How do you fix a broken pizza?"
date: 2026-07-29
link: "https://icanhazdadjoke.com/"
linkText: "icanhazdadjoke.com"
source: "icanhazdadjoke"
topics: [words-and-humor]
tags: [dad-joke, pun, food]
description: "How do you fix a broken pizza? With tomato paste."
---
How do you fix a broken pizza? With tomato paste.
Binary file not shown.

After

Width:  |  Height:  |  Size: 299 KiB

@@ -0,0 +1,14 @@
---
name: "Kickabout"
subtitle: "Foosball rules on a touchscreen, two minutes a match"
date: 2026-07-29
shortlist: true
link: "https://apps.apple.com/us/app/kickabout-table-soccer/id6759622976"
linkText: "App Store"
source: "Six Colors"
topics: [ios-apps, gadgets-and-toys]
tags: [game, football, free, two-player]
description: "A free iPhone and iPad soccer game where players are locked to foosball-style zones and you drag them into the ball at 60 frames a second."
---
Every player is pinned to a band of the pitch, exactly like the rods on a foosball table, so there are no solo runs and the only way forward is a pass. You drag a figure into the ball rather than steering it — no virtual joystick — and the physics runs at 60fps, which is what makes a deflection feel earned. Matches last two minutes. Two people can play on one device.
Binary file not shown.

After

Width:  |  Height:  |  Size: 422 KiB

@@ -0,0 +1,15 @@
---
name: "LEGO Editions Soccer Ball"
subtitle: "A size-5 ball that opens into a stadium mid-celebration"
date: 2026-07-29
shortlist: true
link: "https://store.moma.org/products/lego-editions-soccer-ball-1-498-pieces"
linkText: "store.moma.org"
source: "MoMA Design Store"
amazonLink: "https://www.amazon.com/dp/B0FMYVXJPW"
topics: [gadgets-and-toys, design-and-art]
tags: [lego, football, giftable, mechanism]
description: "A 1,498-piece LEGO build of a near 1:1 size-5 soccer ball whose panels swing open on a hidden micro-stadium, with a button that sets the figures celebrating."
---
Built to nearly the exact size of a match ball, its white discs and cyan-and-pink panels reading as a real one from across the room. Then the panels swing outward on hinges and the inside turns out to be a stadium: banked crowd, big screens, a trophy on the pitch, and a button that sends the players into a victory jump under pop-up fireworks. 1,498 pieces, and the good half of them are hidden.
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

@@ -0,0 +1,14 @@
---
name: "The Living History Museum of Camping"
subtitle: "A museum where the exhibits have beds and you sleep in them"
date: 2026-07-29
shortlist: true
link: "https://www.atlasobscura.com/places/the-living-history-museum-of-camping"
linkText: "atlasobscura.com"
source: "Atlas Obscura"
topics: [travel-and-places, history-and-archives]
tags: [wisconsin, vintage-trailers, museum, overnight]
description: "A North Twin Lake resort in Wisconsin's Northwoods turned into a museum of American camping — one unit per decade, and guests sleep in the exhibits."
---
The collection runs a century at one unit per decade, and you book a night in whichever decade you want. The oldest surviving Jim Dandy camper — hand-built by a couple on a Model T chassis — still has their itemized build receipt hanging inside it. There is also a 1952 Lighthouse Double Decker, one of eight left anywhere, with its patented central staircase. The exhibit hall is free to walk on weekends.
Binary file not shown.

After

Width:  |  Height:  |  Size: 138 KiB

@@ -0,0 +1,14 @@
---
name: "Pont Mac-Racken"
subtitle: "A bridge in Mayenne, on the Mayenne, in Mayenne"
date: 2026-07-29
shortlist: true
link: "https://www.atlasobscura.com/places/mac-racken-bridge"
linkText: "atlasobscura.com"
source: "Atlas Obscura"
topics: [travel-and-places, history-and-archives]
tags: [france, bridge, plaque, ww2]
description: "A stone bridge in Mayenne, France that changed names four times before settling on the American sergeant who defused the 125 charges set to destroy it."
---
It crosses the Mayenne river, in the town of Mayenne, in the department of Mayenne — a place that clearly found a name it liked. The bridge itself went through four: Ambroise-de-Loré, then d'Orléans, then Petit Pont, then the Caisse d'Épargne bridge. The one that stuck belongs to Sergeant James Dougal MacRacken, who in August 1944 pulled out the 125 charges left under it and did not come back. The plaque is easy to walk past.
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 MiB

@@ -0,0 +1,14 @@
---
name: "Maratac Deep Cover Clip Pouch"
subtitle: "A ten-dollar wallet with the clip stitched into it"
date: 2026-07-29
shortlist: true
link: "https://countycomm.com/products/deep-cover-clip-pouch-by-maratac"
linkText: "countycomm.com"
source: "The Awesomer"
topics: [carry-and-wear]
tags: [edc, wallet, cheap, giftable]
description: "A $9.95 poly-webbing pouch from CountyComm with a matte oxide pocket clip stitched in, holding eight cards, cash and keys at 4.6 by 2.7 inches."
---
The clip is not an add-on: it is sewn into the body, so the pouch rides in a pocket or over a waistband without a separate holster. Gen 3 added a third of an inch of length purely so cards come out without a fight, and the stitching went black to stop it announcing itself. Eight cards, folded cash and loose keys, 4.6 by 2.7 inches, $9.95.
Binary file not shown.

After

Width:  |  Height:  |  Size: 473 KiB

@@ -0,0 +1,14 @@
---
name: "Patterns in Nature"
subtitle: "Why a giraffe's spots look like cracked mud"
date: 2026-07-29
shortlist: true
link: "https://press.uchicago.edu/ucp/books/book/isbn/9780226332420.html"
linkText: "press.uchicago.edu"
source: "Cool Tools"
topics: [learning-and-reference, design-and-art]
tags: [book, science, photography, giftable]
description: "Philip Ball's photographic survey of natural pattern, sorted by the mathematics that makes it: symmetry, fractals, spirals, cracks, flow and chaos."
---
Ball organises 300-odd photographs not by organism but by mechanism — a chapter each for symmetry, fractals, spirals, cracks, and flow and chaos — so a wasp's comb sits with the physics that forced it hexagonal. The pleasure is in the rhymes that arrangement exposes: a giraffe's markings against cracked mud, an owl's face against the eyespot on a butterfly's wing. Coffee-table sized, and the science is doing the work.
Binary file not shown.

After

Width:  |  Height:  |  Size: 508 KiB

@@ -0,0 +1,14 @@
---
name: "Portraits of Trees: Chestnuts"
subtitle: "Two different trees, one English name, a century of paintings"
date: 2026-07-29
shortlist: true
link: "https://eclecticlight.co/2026/07/28/portraits-of-trees-chestnuts/"
linkText: "eclecticlight.co"
source: "The Eclectic Light Company"
topics: [design-and-art, outdoors-and-nature]
tags: [painting, botany, art-history]
description: "How to tell the sweet chestnut from the horse chestnut in Sisley, Pissarro, Van Gogh and Schiele — the leaves give it away every time."
---
"Chestnut" in English covers two unrelated trees, and once you know that the compound leaf belongs to the horse chestnut you cannot un-see which one each painter actually stood in front of. Maclise put Friar Tuck under a horse chestnut in 1839; Sisley's avenue at La Celle-Saint-Cloud is the other. There is also a precise date for when British children started smashing conkers instead of hazelnuts: 1848, Isle of Wight.
@@ -0,0 +1,14 @@
---
name: "tale.fyi"
subtitle: "A whole public-domain book behind one link"
date: 2026-07-29
shortlist: true
link: "https://tale.fyi/a-christmas-carol"
linkText: "tale.fyi"
source: "Hacker News — Show HN"
topics: [web-tools, learning-and-reference]
tags: [fiction, public-domain, audiobook, free]
description: "Samuel Cole's home for public-domain fiction: send someone a link and they get the entire book, with reading and listening kept in sync."
---
Send the link and the recipient gets the whole novel, not a sample or a signup wall — it keeps your place, and the switch between reading and the LibriVox recording lands you on the same sentence rather than back at the chapter head. Built on Project Gutenberg texts with Standard Ebooks' proofreading. Cole's case for it is that the web is built for non-fiction, and that costs us something.
@@ -0,0 +1,13 @@
---
name: "Withsay"
subtitle: "The 'with' in it means against"
date: 2026-07-29
link: "https://wordsmith.org/words/withsay.html"
linkText: "wordsmith.org"
source: "A.Word.A.Day"
topics: [words-and-humor]
tags: [etymology, old-english, verb]
description: "A verb meaning to contradict, deny or refuse, from Old English wiðsæcga — literally, to say against."
---
In Old English the prefix *with-* meant *against*, a sense that survives only in withstand and withdraw. So *withsay* is not saying something alongside someone; it is saying it at them. Anu Garg puts it best: to withsay a person is not to be their hype man. Documented before 1150 and still available: "I might not withsay mine uncle's will and commandment."