{ "updated": "2026-08-04", "topics": [ "macos-apps", "apple-tips", "tools", "gifts", "clothing", "travel", "quotes", "dad-jokes", "general-delight" ], "sources": [ { "name": "MacStories", "url": "https://www.macstories.net", "type": "blog", "topics": [ "macos-apps" ], "cadence": "daily", "fetch": "feed", "feedUrl": "https://www.macstories.net/feed/", "notes": "Federico Viticci's site. Long-form, considered reviews of Apple-platform apps. Pair with their Club MacStories newsletter. Feed validated 2026-07-03 (macstories.net/feed/)." }, { "name": "The Sweet Setup", "url": "https://thesweetsetup.com", "type": "blog", "topics": [ "macos-apps", "tools" ], "cadence": "weekly", "fetch": "skip", "skipReason": "Cloudflare JS challenge — both WebFetch and curl with Safari UA are blocked. Only headless-browser scraping would work.", "notes": "App-of-the-week recommendations and workflow guides — opinionated picks rather than exhaustive roundups." }, { "name": "Tools and Toys", "url": "https://toolsandtoys.net", "type": "blog", "topics": [ "macos-apps", "tools", "gifts" ], "cadence": "weekly", "fetch": "skip", "skipReason": "No 2026 content — the feed (toolsandtoys.net/feed/) confirms the newest entry is Sep 2024; site appears to be on indefinite hiatus.", "notes": "Shawn Blanc's curated picks across software and physical objects. Strong taste, light volume. Confirmed defunct 2026-07-03 via feed (newest entry Sep 2024, feed itself is live but stale)." }, { "name": "One Thing Well", "url": "https://onethingwell.org", "type": "blog", "topics": [ "macos-apps", "tools" ], "cadence": "weekly", "fetch": "skip", "skipReason": "Feed (onethingwell.org/rss) confirms the newest post is Jan 2023 — site is defunct.", "notes": "Tiny posts about software that does one thing well — heavy on indie utilities. Confirmed defunct 2026-07-03 via feed (newest entry Jan 2023, feed itself is live but stale)." }, { "name": "Six Colors", "url": "https://sixcolors.com", "type": "blog", "topics": [ "macos-apps" ], "cadence": "daily", "fetch": "feed", "feedUrl": "http://feedpress.me/sixcolors", "notes": "Jason Snell + Dan Moren on Apple. Reviews mixed with industry coverage; scan for app posts. Feed validated 2026-07-03 (feedpress.me/sixcolors)." }, { "name": "Daring Fireball — Linked List", "url": "https://daringfireball.net", "type": "blog", "topics": [ "macos-apps", "general-delight" ], "cadence": "daily", "fetch": "feed", "feedUrl": "https://daringfireball.net/feeds/main", "notes": "Gruber's link blog often surfaces small Mac utilities and design-y oddities. Feed validated 2026-07-03 (daringfireball.net/feeds/main)." }, { "name": "r/macapps", "url": "https://www.reddit.com/r/macapps/", "type": "subreddit", "topics": [ "macos-apps" ], "cadence": "as-needed", "fetch": "feed", "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//.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. Re-measured 2026-08-01 (eighth consecutive dark run): unchanged in every particular — old.reddit.com//.rss still serves a ~300KB 'Welcome to Reddit' login wall to a Safari UA. Nothing here is fixable from inside a run; the operator fix is still to regenerate the secret on the Reddit app page. Re-measured 2026-08-04 (ninth consecutive dark run): unchanged. client_credentials against www.reddit.com/api/v1/access_token still returns HTTP 401, and old.reddit.com//.rss still serves the ~300KB 'Welcome to Reddit' login wall to a Safari UA. Operator fix unchanged: regenerate the secret on the Reddit app page." }, { "name": "Indie App Sunday", "url": "https://mastodon.social/tags/IndieAppSunday", "type": "hashtag", "topics": [ "macos-apps" ], "cadence": "weekly", "fetch": "skip", "skipReason": "mastodon.social returns 404 for hashtag pages and the .rss endpoint to non-authenticated requests. Need a logged-in Mastodon account or a different instance.", "notes": "Mastodon hashtag where indie devs surface their apps each Sunday — good for pre-launch / unknown finds." }, { "name": "Cool Tools", "url": "https://kk.org/cooltools/", "type": "blog", "topics": [ "tools", "gifts" ], "cadence": "daily", "fetch": "feed", "feedUrl": "https://kk.org/cooltools/feed", "notes": "Kevin Kelly's long-running catalog of physical and digital tools. The original source for this kind of taste. Feed validated 2026-07-03 (kk.org/cooltools/feed)." }, { "name": "Recomendo", "url": "https://recomendo.com", "type": "newsletter", "topics": [ "tools", "gifts", "travel", "general-delight" ], "cadence": "weekly", "fetch": "feed", "feedUrl": "https://recomendo.substack.com/feed", "notes": "Six recommendations a week from Kevin Kelly, Mark Frauenfelder, Claudia Dawson. Almost always includes one delightful object or app. Use the Substack RSS feed — full issue content is in the feed, the public site is locked down. Re-validated 2026-07-03; migrated from fetch:curl to fetch:feed (same URL)." }, { "name": "Uses This", "url": "https://usesthis.com", "type": "interviews", "topics": [ "tools", "macos-apps" ], "cadence": "weekly", "fetch": "feed", "feedUrl": "https://usesthis.com/feed.atom", "notes": "Interviews about the hardware and software people use. Good for triangulating what genuinely useful people pick. Feed validated 2026-07-03 (usesthis.com/feed.atom)." }, { "name": "r/BuyItForLife", "url": "https://www.reddit.com/r/BuyItForLife/", "type": "subreddit", "topics": [ "tools", "clothing", "gifts" ], "cadence": "as-needed", "fetch": "feed", "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//.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. Re-measured 2026-08-01 (eighth consecutive dark run): unchanged in every particular — old.reddit.com//.rss still serves a ~300KB 'Welcome to Reddit' login wall to a Safari UA. Nothing here is fixable from inside a run; the operator fix is still to regenerate the secret on the Reddit app page. Re-measured 2026-08-04 (ninth consecutive dark run): unchanged. client_credentials against www.reddit.com/api/v1/access_token still returns HTTP 401, and old.reddit.com//.rss still serves the ~300KB 'Welcome to Reddit' login wall to a Safari UA. Operator fix unchanged: regenerate the secret on the Reddit app page." }, { "name": "Hacker News — Show HN", "url": "https://news.ycombinator.com/show", "type": "aggregator", "topics": [ "macos-apps", "tools" ], "cadence": "daily", "fetch": "feed", "feedUrl": "https://news.ycombinator.com/showrss", "notes": "Devs surfacing what they built. High volume — scan top of week. Feed validated 2026-07-03 (news.ycombinator.com/showrss) — official Show HN RSS, replaces homepage scraping." }, { "name": "Product Hunt", "url": "https://www.producthunt.com", "type": "aggregator", "topics": [ "macos-apps", "tools" ], "cadence": "daily", "fetch": "feed", "feedUrl": "https://www.producthunt.com/feed", "notes": "Marketing-heavy, but the daily top-5 often includes a Mac app or utility worth a closer look. Feed validated 2026-07-03 (producthunt.com/feed)." }, { "name": "Carryology", "url": "https://www.carryology.com", "type": "blog", "topics": [ "tools", "clothing", "gifts" ], "cadence": "weekly", "fetch": "feed", "feedUrl": "https://www.carryology.com/feed/", "notes": "Bags, EDC, and well-made carry gear — overlaps clothing and tools. Feed validated 2026-07-03 (carryology.com/feed/)." }, { "name": "This Is Why I'm Broke", "url": "https://www.thisiswhyimbroke.com", "type": "aggregator", "topics": [ "gifts" ], "cadence": "daily", "fetch": "feed", "feedUrl": "https://www.thisiswhyimbroke.com/feed", "notes": "Internet-flotsam product aggregator. Quality varies wildly but the genuinely-novel finds are hard to get elsewhere. WebFetch and curl both hit an empty Angular SPA shell as of 2026-06-21, but /feed returns a full, fresh RSS feed — validated 2026-07-03; switched to fetch:feed. 2026-08-01: recording the item-level path explicitly, because guessing it wrong cost a run. The RSS feed carries titles and links but EMPTY elements, and the product pages are still an Angular shell, so the only way to get price, outbound link and stock is GET https://www.thisiswhyimbroke.com/api/posts/ (note the plural 'posts' — /api/product/ returns the SPA shell with HTTP 200 and looks like a block). Second signal worth acting on: of 14 in-window items on 2026-08-01, 13 returned \"unavailable\":1 / \"stock\":0 (real estate listings, auction lots, and republished old posts), and exactly one was genuinely buyable. Check the stock flags before writing anything." }, { "name": "Cool Material", "url": "https://coolmaterial.com", "type": "blog", "topics": [ "gifts", "clothing", "tools" ], "cadence": "daily", "fetch": "skip", "skipReason": "Full Cloudflare JS challenge on all URLs (homepage, /feed, /rss) — regressed from previously curl-friendly; no bypass found as of 2026-07-03.", "notes": "Men's-leaning lifestyle finds: gear, gifts, apparel. Previously curl-friendly; now a full Cloudflare JS challenge on all URLs including /feed and /rss (403) — no working bypass found as of 2026-07-03." }, { "name": "Werd.com", "url": "https://werd.com", "type": "blog", "topics": [ "gifts", "clothing", "tools" ], "cadence": "daily", "fetch": "skip", "skipReason": "HTTP 403 to curl and WebFetch on homepage and all guessed feed paths (/feed, /rss) — no working bypass found as of 2026-07-03.", "notes": "Compact daily roundup of gear and gifts in a Tools-and-Toys vein. Blocked as of 2026-06-21 and reconfirmed 2026-07-03 (403 on homepage, /feed, /rss)." }, { "name": "Gear Patrol", "url": "https://www.gearpatrol.com", "type": "magazine", "topics": [ "gifts", "clothing", "tools" ], "cadence": "weekly", "fetch": "feed", "feedUrl": "https://www.gearpatrol.com/feed/", "notes": "Editorial gift guides and product features. Skim seasonal guides for gift candidates. Feed bypasses the Cloudflare challenge entirely — validated 2026-07-03 (gearpatrol.com/feed/); switched from fetch:skip to fetch:feed. Demoted daily → weekly 2026-07-22: the feed is live and enormous (45–46 in-window items every run) but its content has collapsed into commodity roundups — 'best knives/sneakers/watches of 2026 so far' listicles, car news, retail discount posts — and it has produced zero finds across the 07-20, 07-21 and 07-22 runs. Not blocked, just low-yield; a weekly skim is enough to catch the occasional genuine product launch." }, { "name": "The Awesomer", "url": "https://theawesomer.com", "type": "aggregator", "topics": [ "gifts", "general-delight" ], "cadence": "daily", "fetch": "feed", "feedUrl": "https://theawesomer.com/feed/", "notes": "Quirky finds across products, art, and video — hits the 'delight' brief directly. Feed bypasses the Cloudflare challenge — validated 2026-07-03 (theawesomer.com/feed/, trailing slash required); switched from fetch:skip to fetch:feed. 2026-08-04: article pages now sit behind a Cloudflare 'Just a moment...' challenge to curl, but the feed returns 200 with a usable one-paragraph description and an image per item. The enclosure is the _t.jpg thumbnail at 600x500 — over the hero floor, and the un-suffixed .jpg is NOT a valid URL, so use the enclosure as-is rather than trying to de-thumbnail it." }, { "name": "MoMA Design Store", "url": "https://store.moma.org", "type": "shop", "topics": [ "gifts" ], "cadence": "ongoing", "fetch": "skip", "fetchUrl": "https://store.moma.org/collections/new/products.json", "skipReason": "2026-08-03: Cloudflare JS challenge on every path — third consecutive blocked run (08-01, 08-02, 08-03). Feed probe before skipping found none: /collections/new.atom, /collections/all.atom, /blogs/news.atom, /feed, /rss.xml and the bare homepage all return the same ~5.7KB 'Just a moment...' interstitial (HTTP 403) to the Safari UA. Re-probe due 2026-11-01.", "notes": "Museum-curated objects. New Arrivals reliably includes one beautifully-designed daily-use thing. WebFetch and the plain collection URL both return nav-only Shopify SPA shells — /collections/new/products.json returns the full product grid instead; fetchUrl updated 2026-07-03 (still 30 products, re-validated), kept on record so the quarterly re-probe has the working endpoint to test. 2026-08-01 was the first blocked run after a productive 07-29; skipped on the third strike per the daily-finds maintenance rule." }, { "name": "Kikkerland", "url": "https://www.kikkerland.com", "type": "shop", "topics": [ "gifts" ], "cadence": "as-needed", "fetch": "curl", "fetchUrl": "https://www.kikkerland.com/collections/new/products.json", "notes": "Affordable design gifts; small clever objects. HTML collection pages are a Shopify SPA (nav-only) — /collections/new/products.json returns the full grid instead; fetch:curl + fetchUrl added 2026-07-03 (30 products validated). Demoted ongoing → as-needed 2026-07-13: the endpoint still works, but every product in the 'new' grid is dated 2026-03-11..24 — the grid has not refreshed since March, and essentially all 30 are already captured. Re-check when a seasonal drop lands rather than scanning every run. Re-checked 2026-08-01: endpoint healthy, still no refresh. Correcting the figure carried in this note and the log since 07-13 — the newest published_at is 2026-03-24 (Robin 3d Puzzle), not 2026-03-11; either way the grid is four and a half months stale, already as-needed, and not yet a year old, so no demotion applies. 2026-08-04: /collections/new/products.json returns 200 and parses, but the newest published_at across the collection is 2026-03-24 — no new product in over four months. Live but quiet; already as-needed, and under a year stale so not skipped." }, { "name": "A Continuous Lean", "url": "https://www.acontinuouslean.com", "type": "blog", "topics": [ "clothing" ], "cadence": "as-needed", "fetch": "feed", "feedUrl": "https://www.acontinuouslean.com/feed/", "notes": "Michael Williams on Americana, heritage menswear, and the makers behind it. Cadence is quarterly/seasonal rather than dead — the feed shows a Jun 9 2026 'Father's Day Gift Guide' post after a Dec 2025 gap; the earlier 'dormant since Dec 2025' assessment was a stale snapshot, not a dead site. Feed validated 2026-07-03 (acontinuouslean.com/feed/); switched to fetch:feed. 2026-08-01: PRODUCTIVE — the ACL x Rivay Highland Field Shirt (2026-07-29) was captured from this feed. Worth recording because ACL has been carried in the log's 'dormancy stalemate' list for eight consecutive runs; the as-needed cadence caught the post the run after it landed, which is the cadence working rather than a source going dark. The quarterly/seasonal read in this note holds." }, { "name": "Put This On", "url": "https://putthison.com", "type": "blog", "topics": [ "clothing" ], "cadence": "weekly", "fetch": "feed", "feedUrl": "https://putthison.com/feed/", "notes": "Long-running menswear blog. Strong on classic tailoring + rotating sale roundups. Feed validated 2026-07-03 (putthison.com/feed/)." }, { "name": "Permanent Style", "url": "https://www.permanentstyle.com", "type": "blog", "topics": [ "clothing" ], "cadence": "daily", "fetch": "feed", "feedUrl": "https://www.permanentstyle.com/feed", "notes": "Simon Crompton on craft tailoring and permanent-wardrobe pieces. Deep, evidence-led reviews. Feed bypasses the Cloudflare challenge — validated 2026-07-03 (permanentstyle.com/feed); switched from fetch:skip to fetch:feed." }, { "name": "Heddels", "url": "https://www.heddels.com", "type": "blog", "topics": [ "clothing" ], "cadence": "daily", "fetch": "skip", "skipReason": "Cloudflare JS challenge — both WebFetch and curl with Safari UA are blocked.", "notes": "Raw denim, workwear, and 'fades' culture. Strong on construction details." }, { "name": "Standard & Strange Journal", "url": "https://www.standardandstrange.com/blogs/standard-strange-stories", "type": "shop-blog", "topics": [ "clothing" ], "cadence": "as-needed", "fetch": "feed", "feedUrl": "https://www.standardandstrange.com/blogs/standard-strange-stories.atom", "notes": "Bay Area shop's editorial — small-batch workwear and Japanese makers, with substantive notes per piece. The journal lives at /blogs/standard-strange-stories. Feed validated 2026-07-03 (standardandstrange.com/blogs/standard-strange-stories.atom). Demoted weekly→as-needed 2026-07-21: feed is live but its newest entry is 2026-06-29, i.e. nothing new across three-plus weekly windows." }, { "name": "Outlier", "url": "https://outlier.nyc", "type": "shop", "topics": [ "clothing" ], "cadence": "as-needed", "notes": "Technical fabric clothing for daily use — the brand itself is a source. Watch product drops + the Out of Office blog. Demoted ongoing → as-needed 2026-07-28: three consecutive scans (07-25, 07-27, 07-28) surfaced nothing new — the homepage still exposes only injected-linen, sunwarp, futurelittlebigs and ultra-ultra-easy-shorts, all captured, plus a 'Nycogaze' name with no reachable product page (outlier.nyc/products/nycogaze serves the generic site OG). The shop is live, so this is cadence, not a block; /collections/new/products.json is not served, so there is no Shopify JSON path to record." }, { "name": "Snow Peak", "url": "https://www.snowpeak.com", "type": "shop", "topics": [ "clothing", "tools" ], "cadence": "as-needed", "fetch": "feed", "feedUrl": "https://www.snowpeak.com/blogs/news.atom", "notes": "Japanese outdoors brand whose apparel and titanium kit reliably qualify as 'delightful daily-use.' Product grid is JS-rendered and not scrapable; the Journal/news feed works but is quiet. Demoted ongoing → as-needed 2026-07-13: newest feed post is 'Snow Peak Seattle Grand Opening' (2026-05-16), nothing since, and the feed carries store/event news rather than product drops — the gear that would actually qualify never appears in it." }, { "name": "Mr Porter Journal", "url": "https://www.mrporter.com/en-us/journal", "type": "magazine", "topics": [ "clothing", "gifts" ], "cadence": "weekly", "fetch": "skip", "skipReason": "Active anti-bot — both WebFetch and curl time out indefinitely (status 000) even with browser UA.", "notes": "Glossy but often surfaces small makers and well-photographed individual pieces." }, { "name": "StyleForum", "url": "https://www.styleforum.net", "type": "forum", "topics": [ "clothing" ], "cadence": "as-needed", "fetch": "feed", "feedUrl": "https://www.styleforum.net/forums/-/index.rss", "notes": "Long threads (some 1000+ pages) where subject-matter obsessives compare specific brands — best for deep dives, not browsing. Forum-wide 'recent posts' RSS validated 2026-07-03. Demoted daily → as-needed 2026-07-13: the feed is technically live but its signal has collapsed — all 49 items on 2026-07-13 were Temu/Insta360/wellness coupon-code spam threads, zero legitimate style content, and it has produced no finds across many runs. Not blocked, just worthless as a daily scan. Revisit if the forum cleans up its spam. Re-probed 2026-07-27: unchanged and worse — all 48 items in the forum-wide feed were coupon/supplement spam. Sub-forum feed probes for a cleaner path have now failed twice: classic-menswear.11 and menswear-advice.104 return 404, streetwear-and-denim.12 and the-fine-living-lounge.15 return 403; only buying-and-selling.10 answers 200, and classifieds are not an editorial path. No better fetch path exists to record — choosing a sub-forum to follow instead is an operator call. Spot-checked 2026-08-01, fourth consecutive run unchanged: 50 of 50 items are Temu/Shein/LemFi/Ibotta/Insta360 coupon-code spam. No action available without an operator choosing a sub-forum. 2026-08-04: signal check — index.rss is sorted by last-post time, so all 25 entries carry today's date regardless of thread age, and this run's set was mostly referral-code spam (LemFi, Shein, OKX) plus perennially bumped threads. No dateable new content and nothing capturable. Held at as-needed rather than skipped, but a per-subforum or 'new threads' feed would be the fix if one exists." }, { "name": "Atlas Obscura", "url": "https://www.atlasobscura.com", "type": "site", "topics": [ "travel", "general-delight" ], "cadence": "daily", "fetch": "feed", "feedUrl": "https://www.atlasobscura.com/feeds/latest", "notes": "The definitive catalog of unusual places. Use the 'Places' filter for destinations; the editorial covers oddities globally. Quirk: returns HTTP 403 status with real HTML body — the skill should ignore the status code when the body parses as content. Feed at /feeds/latest fully bypasses the Cloudflare block — validated 2026-07-03, 27 items all dated within the last week; switched from fetch:curl to fetch:feed. 2026-08-04: the feed is now the ONLY working path — individual /places/ pages return a Cloudflare 'Attention Required' interstitial (~5.5KB) to both curl with a Safari UA and WebFetch, while the feed itself returns 200 and carries the full place description. Heroes are still recoverable: the img.atlasobscura.com proxy URLs in the feed are 300x200 crops, but the trailing path segment is the base64 (slash-chunked, strip the slashes) of the original atlas-dev.s3.amazonaws.com URL, which fetches full-resolution with no signature check." }, { "name": "Roadtrippers Magazine", "url": "https://roadtrippers.com/magazine", "type": "magazine", "topics": [ "travel" ], "cadence": "as-needed", "fetch": "feed", "feedUrl": "https://roadtrippers.com/feed", "notes": "North-America-leaning road trip routes and stops, often hitting roadside oddities. Feed validated 2026-07-03. Demoted weekly → as-needed 2026-07-13: live but dormant — newest feed item is 2026-06-09 (5+ weeks), and it has produced nothing across 3+ consecutive runs; what it does publish is round-up/listicle content ('20 National Park lodges'), not the single specific places this site captures. 2026-08-04: feed returns 200 with 24 entries, newest 2026-06-09 — roughly eight weeks stale. Already as-needed; revisit for fetch:skip if nothing new appears by 2026-09." }, { "name": "Spotted by Locals", "url": "https://www.spottedbylocals.com", "type": "blog-network", "topics": [ "travel" ], "cadence": "weekly", "fetch": "skip", "skipReason": "Cloudflare JS challenge — both WebFetch and curl with Safari UA are blocked.", "notes": "Resident-written tips for ~80 cities — better signal than algorithmic 'top 10' lists." }, { "name": "Messy Nessy Chic", "url": "https://www.messynessychic.com", "type": "blog", "topics": [ "travel", "general-delight" ], "cadence": "as-needed", "fetch": "feed", "feedUrl": "https://www.messynessychic.com/feed/", "notes": "'13 Things I Found on the Internet' weekly roundup; lots of obscure travel + cultural curiosities. Feed validated 2026-07-03 (messynessychic.com/feed/). Demoted weekly → as-needed 2026-07-24: feed is live but the newest '13 Things' volume is Vol.776 (2026-07-04) — nothing across 3 weekly windows. It publishes irregular link-dumps rather than a reliable weekly, so check as-needed and mine the whole volume when a new one lands; restore weekly if cadence recovers." }, { "name": "The Outbound Collective", "url": "https://www.theoutbound.com", "type": "site", "topics": [ "travel" ], "cadence": "as-needed", "fetch": "skip", "skipReason": "No recency signal (probed 2026-07-13). /feed and /rss both return a real 404; WebFetch on the homepage does return genuine trail/place cards, but the site carries NO publish dates anywhere — it's an evergreen trail database, not a chronological feed, so a daily pipeline cannot tell new from years-old. Not blocked, just undateable.", "notes": "User-submitted outdoor adventures with photos — useful for trail/landscape destinations specifically. Would be usable again if a dated 'new adventures' endpoint is ever found; the places themselves (The Narrows, Diamond Fork Hot Springs, Sunset Cliffs cave) do clear the bar and several were captured in earlier runs." }, { "name": "Unusual Hotels of the World", "url": "https://www.unusualhotelsoftheworld.com", "type": "site", "topics": [ "travel" ], "cadence": "ongoing", "fetch": "skip", "skipReason": "SPA shell (~4KB, JS-rendered) with no server-rendered content — confirmed 2026-06-21 and 2026-07-03; /feed and /rss.xml guesses return the same empty shell, not real feeds.", "notes": "Catalog of architecturally unusual stays — treehouses, ice hotels, repurposed structures. Earlier sources.json had wrong domain (uhotw.com — now a gambling site). Confirmed dead end 2026-07-03 — no working feed; switched to fetch:skip." }, { "name": "AFAR", "url": "https://www.afar.com", "type": "magazine", "topics": [ "travel" ], "cadence": "weekly", "fetch": "webfetch", "notes": "Editorial travel mag; 'experiential' coverage that surfaces more idiosyncratic destinations than typical glossies. Feed probe 2026-07-13: NO RSS exists — /feed, /rss and /magazine/rss all return a real HTTP 404 (not a challenge page). WebFetch on the homepage works and returns dated article listings, so fetch:webfetch is recorded explicitly as the only working path. Signal is thin (heavy on 'best hotels in X' listicles, which fail the bar) — demoted daily → weekly." }, { "name": "Wallpaper* Travel", "url": "https://www.wallpaper.com/travel", "type": "magazine", "topics": [ "travel" ], "cadence": "weekly", "fetch": "feed", "feedUrl": "https://www.wallpaper.com/feeds/tag/travel", "notes": "Design-forward stays and destinations — overlaps with architectural delight. Feed validated 2026-07-03 (wallpaper.com/feeds/tag/travel) — travel-tag-specific, fresher and more targeted than the site-wide feeds.xml." }, { "name": "Boutique Homes", "url": "https://www.boutique-homes.com", "type": "shop", "topics": [ "travel" ], "cadence": "as-needed", "fetch": "skip", "skipReason": "No recency signal (probed 2026-07-13). /feed returns 404; the sitemap exists (2,180 URLs) but every single entry carries an identical placeholder lastmod of 2024-12-19, so it is useless for freshness. WebFetch returns real property listings but they are presented as an undated evergreen 'City List' — no way to tell new from old.", "notes": "Hand-picked architectural rentals worldwide — useful as a 'destination via the building' source. Its properties do clear the bar (Casa Siza, CasaCau, 34 Rue Louise-Emilie were all captured in earlier runs) — the blocker is purely that nothing on the site is dated. Re-probe if a 'new listings' endpoint appears." }, { "name": "Kottke.org", "url": "https://kottke.org", "type": "blog", "topics": [ "general-delight" ], "cadence": "daily", "fetch": "feed", "feedUrl": "https://feeds.kottke.org/main", "notes": "Jason Kottke's link blog. The single best low-noise feed for cross-disciplinary delight. Feed validated 2026-07-03 (feeds.kottke.org/main)." }, { "name": "The Browser", "url": "https://thebrowser.com", "type": "newsletter", "topics": [ "general-delight" ], "cadence": "daily", "fetch": "feed", "feedUrl": "https://thebrowser.com/free/rss/", "notes": "Five hand-picked articles per day. Paid; the picks are unusually consistent. Correction 2026-07-03: the /free/rss/ feed is public and unauthenticated, delivering all ~5 daily picks with full summaries — no login needed. The 'no public picks page' assumption was wrong; switched from fetch:skip to fetch:feed. 2026-07-14: the free RSS tier now exposes only 2 of the 5 daily picks (the rest are paywalled), so coverage from this source is inherently partial — its own daily word game (Nomido) is the reliably linkable artifact." }, { "name": "Web Curios", "url": "https://webcurios.co.uk", "type": "newsletter", "topics": [ "general-delight" ], "cadence": "weekly", "fetch": "feed", "feedUrl": "https://webcurios.co.uk/feed/", "notes": "Matt Muir's enormous Friday roundup of internet curios. High volume, idiosyncratic taste. Use /all-curios/ — the homepage only lists newsletter titles. The 2026-06-21 homepage ECONNREFUSED was transient — site and /feed/ both validated live 2026-07-03 (weekly cadence, latest dated today); switched from fetch:curl (/all-curios/) to fetch:feed." }, { "name": "Things Magazine", "url": "https://www.thingsmagazine.net", "type": "blog", "topics": [ "general-delight", "gifts" ], "cadence": "monthly", "fetch": "feed", "feedUrl": "https://www.thingsmagazine.net/feed/", "notes": "Quiet, image-heavy notes on objects, architecture, and obscure design corners. Feed validated 2026-07-03. Cadence corrected weekly → monthly 2026-07-13: it is NOT dormant — it publishes dense link-dump posts roughly monthly, and the 2026-06-12 post alone yielded 3 finds this run. Scanning it weekly just re-reads the same post; check it monthly and mine the whole link-dump when it lands." }, { "name": "Open Culture", "url": "https://www.openculture.com", "type": "blog", "topics": [ "general-delight" ], "cadence": "daily", "fetch": "feed", "feedUrl": "https://www.openculture.com/feed", "notes": "Free cultural & educational media — adjacent to the brief but a steady source of unusual-thing stories. Feed validated 2026-07-03 (openculture.com/feed)." }, { "name": "Kevin Kelly — kk.org", "url": "https://kk.org", "type": "blog", "topics": [ "tools", "general-delight" ], "cadence": "as-needed", "fetch": "feed", "feedUrl": "https://kk.org/thetechnium/feed", "notes": "Kelly's main site — the '68 Bits of Advice' / Excellent Advice posts often link out to delightful tools and books. Posts live at /thetechnium/; the homepage is a static about page. Feed validated 2026-07-03 (kk.org/thetechnium/feed); switched from fetch:curl to fetch:feed. Demoted weekly → as-needed 2026-07-14: the Technium is pure long-form essay — live and updating, but structurally it never names a buyable/usable thing (2 posts in the 07-05..07-14 window, 0 candidates). KK's product taste already reaches us through Cool Tools." }, { "name": "TidBITS", "url": "https://tidbits.com", "type": "magazine", "topics": [ "apple-tips", "macos-apps" ], "cadence": "weekly", "fetch": "feed", "feedUrl": "https://tidbits.com/feed/", "notes": "Adam Engst's long-running Apple-platform publication. Tip-rich, technically careful, never reckless — a steady source of considered advice. Feed validated 2026-07-03 (tidbits.com/feed/) — sidesteps the earlier 403-to-WebFetch issue entirely." }, { "name": "The Eclectic Light Company", "url": "https://eclecticlight.co", "type": "blog", "topics": [ "apple-tips" ], "cadence": "daily", "fetch": "feed", "feedUrl": "https://eclecticlight.co/feed/", "notes": "Howard Oakley's deep dives into macOS internals, system maintenance, and forgotten corners of the OS — endlessly delightful for anyone who likes pulling threads. Feed validated 2026-07-03 (eclecticlight.co/feed/)." }, { "name": "Brett Terpstra", "url": "https://brettterpstra.com", "type": "blog", "topics": [ "apple-tips", "macos-apps" ], "cadence": "weekly", "fetch": "feed", "feedUrl": "http://brett.trpstra.net/brettterpstra", "notes": "Power-user Mac scripts, automation, and small utilities from the author of TextExpander/Marked — generous with workflow snippets and 'web excursions' link roundups. Feed validated 2026-07-03 (the site's own declared feed URL, brett.trpstra.net/brettterpstra)." }, { "name": "Dr. Drang — leancrew.com", "url": "https://leancrew.com", "type": "blog", "topics": [ "apple-tips" ], "cadence": "weekly", "fetch": "feed", "feedUrl": "https://leancrew.com/all-this/feed/", "notes": "And now it's all this — engineer's perspective on macOS automation, command-line tricks, and Shortcuts. Quiet authority. Feed validated 2026-07-03 (leancrew.com/all-this/feed/)." }, { "name": "r/shortcuts", "url": "https://www.reddit.com/r/shortcuts/", "type": "subreddit", "topics": [ "apple-tips" ], "cadence": "as-needed", "fetch": "feed", "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//.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. Re-measured 2026-08-01 (eighth consecutive dark run): unchanged in every particular — old.reddit.com//.rss still serves a ~300KB 'Welcome to Reddit' login wall to a Safari UA. Nothing here is fixable from inside a run; the operator fix is still to regenerate the secret on the Reddit app page. Re-measured 2026-08-04 (ninth consecutive dark run): unchanged. client_credentials against www.reddit.com/api/v1/access_token still returns HTTP 401, and old.reddit.com//.rss still serves the ~300KB 'Welcome to Reddit' login wall to a Safari UA. Operator fix unchanged: regenerate the secret on the Reddit app page." }, { "name": "OSXDaily", "url": "https://osxdaily.com", "type": "blog", "topics": [ "apple-tips" ], "cadence": "daily", "fetch": "feed", "feedUrl": "https://osxdaily.com/feed/", "notes": "Long-running daily Mac/iOS tip site. Signal is mixed but it surfaces obscure things others miss — good for the occasional gem. Feed validated 2026-07-03 (osxdaily.com/feed/)." }, { "name": "Quote Investigator", "url": "https://quoteinvestigator.com", "type": "blog", "topics": [ "quotes" ], "cadence": "weekly", "fetch": "feed", "feedUrl": "https://quoteinvestigator.com/feed/atom/", "notes": "Garson O'Toole's research-driven investigation of quote provenance — debunks misattributions and lands on the actual source. The gold standard. Feed discovered and validated 2026-07-13 (trailing slash required; /feed 301s to /feed/); switched from webfetch to fetch:feed. GOTCHA (RSS path only): Cloudflare served /feed/ pre-compressed with Brotli regardless of the client's Accept-Encoding, and system curl (8.7.1) has no Brotli support — HTTP 200 with undecodable binary and no error signal; by 2026-07-25 it had degraded further to HTTP 200 with a zero-length body, twice consecutively. Better fetch path recorded 2026-07-27: the Atom feed at /feed/atom/ returns clean uncompressed XML (~42KB, 10 entries) to plain curl with no Brotli handling needed. Use it, not /feed/." }, { "name": "Wikiquote", "url": "https://en.wikiquote.org", "type": "wiki", "topics": [ "quotes" ], "cadence": "as-needed", "notes": "Wikipedia's sister project. Citation-disciplined and wide-ranging — the place to verify a half-remembered line before passing it on." }, { "name": "The Marginalian", "url": "https://www.themarginalian.org", "type": "blog", "topics": [ "quotes", "general-delight" ], "cadence": "weekly", "fetch": "feed", "feedUrl": "https://feeds.feedburner.com/brainpickings/rss", "notes": "Maria Popova's literary essays, dense with sourced quotations from books worth tracking down. Formerly Brain Pickings. Feed validated 2026-07-03 (feeds.feedburner.com/brainpickings/rss)." }, { "name": "A.Word.A.Day", "url": "https://wordsmith.org/awad/", "type": "newsletter", "topics": [ "quotes" ], "cadence": "daily", "fetch": "feed", "feedUrl": "https://wordsmith.org/awad/rss1.xml", "notes": "Anu Garg's daily word arrives with a 'Thought for Today' quotation — a reliable trickle of well-chosen lines. Feed validated 2026-07-03 (wordsmith.org/awad/rss1.xml) — single daily item, matching the site's one-word-a-day cadence." }, { "name": "r/dadjokes", "url": "https://www.reddit.com/r/dadjokes/", "type": "subreddit", "topics": [ "dad-jokes" ], "cadence": "as-needed", "fetch": "feed", "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//.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. Re-measured 2026-08-01 (eighth consecutive dark run): unchanged in every particular — old.reddit.com//.rss still serves a ~300KB 'Welcome to Reddit' login wall to a Safari UA. Nothing here is fixable from inside a run; the operator fix is still to regenerate the secret on the Reddit app page. Re-measured 2026-08-04 (ninth consecutive dark run): unchanged. client_credentials against www.reddit.com/api/v1/access_token still returns HTTP 401, and old.reddit.com//.rss still serves the ~300KB 'Welcome to Reddit' login wall to a Safari UA. Operator fix unchanged: regenerate the secret on the Reddit app page." }, { "name": "icanhazdadjoke", "url": "https://icanhazdadjoke.com", "type": "api", "topics": [ "dad-jokes" ], "cadence": "daily", "notes": "Curated dad-joke service with a clean JSON API (Accept: application/json). Quality is consistent; jokes do recycle, so dedupe by text." }, { "name": "Reader's Digest — Jokes", "url": "https://www.rd.com/jokes/", "type": "site", "topics": [ "dad-jokes" ], "cadence": "weekly", "fetch": "skip", "skipReason": "No fresh joke feed exists (probed 2026-07-13). /jokes/ 301s to /list/short-jokes/, an evergreen listicle last updated Jun 2024 (over a year stale) whose jokes are well-worn chestnuts; /feed/ is RD's general site feed (travel/health/lifestyle), not jokes. Nothing rotates day to day — a dead end for a daily-dedupe pipeline.", "notes": "Listicle-format joke roundups. Curl reaches the page fine (server-rendered, no JS needed) — the problem is staleness, not access. icanhazdadjoke and r/dadjokes cover this topic with actually-fresh content." } ] }