<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="https://media.rss.com/style.xsl"?>
<rss xmlns:podcast="https://podcastindex.org/namespace/1.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:psc="http://podlove.org/simple-chapters" xmlns:atom="http://www.w3.org/2005/Atom" xml:lang="en" version="2.0">
  <channel>
    <title><![CDATA[The Daily Diff]]></title>
    <link>https://rss.com/podcasts/the-daily-diff</link>
    <atom:link href="https://media.rss.com/the-daily-diff/feed.xml" rel="self" type="application/rss+xml"/>
    <atom:link rel="hub" href="https://pubsubhubbub.appspot.com/"/>
    <description><![CDATA[<p><strong>The Daily Diff</strong> turns the best engineering blog posts from companies like Netflix, Stripe, Cloudflare, Meta, and AWS into a short daily conversation you can listen to on your commute. Every episode is AI-narrated — two hosts, Jordan and Riley, talking through what shipped and why it matters — but each topic is hand-picked and reviewed by a human before it goes out, for actual usefulness to working software engineers, not just noise. No filler: if nothing substantial happened that day, we skip the episode instead of padding one out. Every episode credits and links back to the original article — this is commentary and discussion, not a replacement for reading the source.</p><p></p><p>New episodes most weekdays, ~5–10 minutes each.</p><p></p>]]></description>
    <generator>RSS.com 2026.817.133114</generator>
    <lastBuildDate>Thu, 20 Aug 2026 11:06:29 GMT</lastBuildDate>
    <language>en</language>
    <itunes:image href="https://media.rss.com/the-daily-diff/podcast_cover_20260816_131939_b7c868922085031e94e300cfb02c923e.png"/>
    <podcast:guid>7bdf41d0-1a87-5c15-a9db-6b7719ecf6ef</podcast:guid>
    <image>
      <url>https://media.rss.com/the-daily-diff/podcast_cover_20260816_131939_b7c868922085031e94e300cfb02c923e.png</url>
      <title>The Daily Diff</title>
      <link>https://rss.com/podcasts/the-daily-diff</link>
    </image>
    <podcast:locked>no</podcast:locked>
    <itunes:author>Premchand Chidipoti</itunes:author>
    <itunes:owner>
      <itunes:name>Premchand Chidipoti</itunes:name>
    </itunes:owner>
    <itunes:explicit>false</itunes:explicit>
    <itunes:type>episodic</itunes:type>
    <itunes:category text="Technology"/>
    <podcast:medium>podcast</podcast:medium>
    <podcast:location rel="creator" geo="geo:40.0757384,-74.4041622" osm="R224951" country="us">New Jersey, USA</podcast:location>
    <podcast:txt purpose="ai-content">true</podcast:txt>
    <item>
      <title><![CDATA[Google Research: Recall Is the Bottleneck for LLM Factuality]]></title>
      <itunes:title><![CDATA[Google Research: Recall Is the Bottleneck for LLM Factuality]]></itunes:title>
      <description><![CDATA[<p>When an LLM gets a fact wrong, is the fact missing (an "empty shelf") or present-but-unretrievable ("lost keys")? Jordan and Riley unpack Google Research's argument that standard accuracy metrics collapse these two cases — even though one calls for scaling model/data and the other for cheaper post-training/inference-time fixes. They walk through "knowledge profiling" (analyze the state of each fact, not each question) and its five profiles, the three behavioral notions (encoding via priming, knowledge across phrasings incl. the reversal curse, and recall — direct vs. inference-without-encoding), and WikiProfile, a 2,150-fact benchmark (10 tasks each) built with a Gemini-2.5-Pro + search-grounded pipeline. Headline finding on frontier models (Gemini 3, GPT-5): many factual errors are recall failures, not encoding failures — the knowledge is often in there, the model just can't reach it on demand. Practical takeaway: before assuming the model doesn't know something, test whether it can recognize it or reach it with chain-of-thought; if so, the fix is on your side of the API, not in the weights. Source: Empty Shelves or Lost Keys? Recall Is the Bottleneck for Parametric Factuality — Google Research Blog, Aug 12 2026 (paper: arXiv:2602.14080) — <a target="_blank" rel="noopener noreferrer nofollow" href="https://research.google/blog/empty-shelves-or-lost-keys-recall-is-the-bottleneck-for-parametric-factuality/">https://research.google/blog/empty-shelves-or-lost-keys-recall-is-the-bottleneck-for-parametric-factuality/</a> This is commentary/summary in the hosts' own words, not a reproduction of the article.</p>]]></description>
      <link>https://rss.com/podcasts/the-daily-diff/3083254</link>
      <enclosure url="https://content.rss.com/episodes/398581/3083254/the-daily-diff/2026_08_20_11_05_39_df6a38ed-a8ae-4e77-be28-b4a805e28ebb.mp3" length="4848915" type="audio/mpeg"/>
      <guid isPermaLink="false">2e24be94-9449-442e-8730-db6286a51bbb</guid>
      <itunes:duration>303</itunes:duration>
      <itunes:episodeType>full</itunes:episodeType>
      <itunes:season>1</itunes:season>
      <podcast:season>1</podcast:season>
      <itunes:episode>13</itunes:episode>
      <podcast:episode>13</podcast:episode>
      <pubDate>Thu, 20 Aug 2026 11:06:25 GMT</pubDate>
      <itunes:explicit>false</itunes:explicit>
      <podcast:txt purpose="ai-content">true</podcast:txt>
    </item>
    <item>
      <title><![CDATA[Anthropic: How We Contain Claude Across Products]]></title>
      <itunes:title><![CDATA[Anthropic: How We Contain Claude Across Products]]></itunes:title>
      <description><![CDATA[<p>A rare, honest look at agent security from a lab shipping agents at scale. Jordan and Riley get into the central idea — "blast radius" (likelihood of failure x damage per failure): safeguards keep pushing likelihood down, but the worst-case damage only grows as agents gain capability and access, so the engineering job becomes bounding the damage, not preventing every failure. They cover why human-in-the-loop degrades (Anthropic's telemetry: users approved ~93% of Claude Code permission prompts -&gt; approval fatigue), the shift to containment (sandboxes, VMs, egress controls), three risk types (user misuse, model misbehavior, external attackers), and the three containment shapes for <a target="_blank" rel="noopener noreferrer nofollow" href="http://claude.ai">claude.ai</a> / Claude Code / Cowork matched to how much oversight each user can give. Best lessons: "the software you build yourself is the weakest" (their custom allowlist proxy failed while stock hypervisor/gVisor/seccomp held); the egress incidents where the model layer had nothing anomalous to catch; VM isolation locking EDR out too; tool/MCP output as a prompt-injection surface; and forward risks like persistent memory poisoning (<a target="_blank" rel="noopener noreferrer nofollow" href="http://CLAUDE.md">CLAUDE.md</a>, agent state dirs), multi-agent trust escalation, and agent identity. Source: How we contain Claude across products — Anthropic Engineering Blog, 2026, by Max McGuinness, Mikaela Grace, Jiri De Jonghe, Jake Eaton &amp; Abel Ribbink — <a target="_blank" rel="noopener noreferrer nofollow" href="https://www.anthropic.com/engineering/how-we-contain-claude">https://www.anthropic.com/engineering/how-we-contain-claude</a> This is commentary/summary in the hosts' own words, not a reproduction of the article.</p>]]></description>
      <link>https://rss.com/podcasts/the-daily-diff/3083251</link>
      <enclosure url="https://content.rss.com/episodes/398581/3083251/the-daily-diff/2026_08_20_11_04_44_1a0c6e74-83e5-4eb7-823e-11c4bd14d205.mp3" length="8394463" type="audio/mpeg"/>
      <guid isPermaLink="false">43f3257b-f078-4ad9-94a4-51f0bdaece9e</guid>
      <itunes:duration>524</itunes:duration>
      <itunes:episodeType>full</itunes:episodeType>
      <itunes:season>1</itunes:season>
      <podcast:season>1</podcast:season>
      <itunes:episode>12</itunes:episode>
      <podcast:episode>12</podcast:episode>
      <pubDate>Thu, 20 Aug 2026 11:06:27 GMT</pubDate>
      <itunes:explicit>false</itunes:explicit>
      <podcast:txt purpose="ai-content">true</podcast:txt>
    </item>
    <item>
      <title><![CDATA[Cloudflare: Tracking RFC 9234 Adoption (Stopping BGP Route Leaks)]]></title>
      <itunes:title><![CDATA[Cloudflare: Tracking RFC 9234 Adoption (Stopping BGP Route Leaks)]]></itunes:title>
      <description><![CDATA[<p>Route leaks — when a BGP announcement propagates beyond where it should, often black-holing traffic — have historically been guarded by hand-written operator filters. Jordan and Riley walk through how RFC 9234 moves that protection into the protocol itself, using the BGP Role capability (neighbors negotiate provider/customer/peer up front) and the Only-to-Customer (OTC) attribute (routes get stamped so compliant routers auto-reject leaked ones), enforcing "valley-free" routing automatically. The catch from Cloudflare's real-world measurement: some large Tier-1 networks strip the OTC attribute as they forward routes, undermining protection for everyone downstream — a classic internet collective-action problem where the safety property only fully holds if the backbone cooperates. Source: BGP Role model: tracking the adoption of RFC 9234 — The Cloudflare Blog, Aug 18 2026 — <a target="_blank" rel="noopener noreferrer nofollow" href="https://blog.cloudflare.com/rfc9234-bgp-role-model/">https://blog.cloudflare.com/rfc9234-bgp-role-model/</a> This is commentary/summary in the hosts' own words, not a reproduction of the article.</p>]]></description>
      <link>https://rss.com/podcasts/the-daily-diff/3079934</link>
      <enclosure url="https://content.rss.com/episodes/398581/3079934/the-daily-diff/2026_08_19_11_00_06_995511e1-2d30-4e4d-929b-42ba275090ec.mp3" length="6438832" type="audio/mpeg"/>
      <guid isPermaLink="false">b0fb77ae-10ab-4da9-a9a1-1ad6668ffdbe</guid>
      <itunes:duration>402</itunes:duration>
      <itunes:episodeType>full</itunes:episodeType>
      <itunes:season>1</itunes:season>
      <podcast:season>1</podcast:season>
      <itunes:episode>11</itunes:episode>
      <podcast:episode>11</podcast:episode>
      <pubDate>Wed, 19 Aug 2026 11:37:30 GMT</pubDate>
      <itunes:explicit>false</itunes:explicit>
      <podcast:txt purpose="ai-content">true</podcast:txt>
    </item>
    <item>
      <title><![CDATA[AWS: Consistency Is the New Latency (AI at the Data Layer)]]></title>
      <itunes:title><![CDATA[AWS: Consistency Is the New Latency (AI at the Data Layer)]]></itunes:title>
      <description><![CDATA[<p>As AI shifts from chatbots to autonomous agents, AWS argues data-layer <em>consistency</em> matters as much as speed — because an agent reads a stale replica as ground truth and acts on it (their example: a 2-second lag makes an inventory agent halt a sale despite 500 units in stock). Jordan and Riley get into "silent poison" and "hallucination debt" (agents writing wrong conclusions back as permanent memory), and the three patterns for matching a consistency model to each workload: Aurora Global Database / DSQL for high-stakes data, DynamoDB Global Tables with conditional writes for shared agent memory, and Keyspaces for high-velocity intake. Source: Consistency is the new latency: AI at the data layer — AWS Architecture Blog, Aug 18 2026 — <a target="_blank" rel="noopener noreferrer nofollow" href="https://aws.amazon.com/blogs/architecture/consistency-is-the-new-latency-ai-at-the-data-layer/">https://aws.amazon.com/blogs/architecture/consistency-is-the-new-latency-ai-at-the-data-layer/</a> This is commentary/summary in the hosts' own words, not a reproduction of the article.</p>]]></description>
      <link>https://rss.com/podcasts/the-daily-diff/3079933</link>
      <enclosure url="https://content.rss.com/episodes/398581/3079933/the-daily-diff/2026_08_19_10_58_55_43d7fc5a-fdcd-41b5-97db-00ffae48c67f.mp3" length="7118433" type="audio/mpeg"/>
      <guid isPermaLink="false">73f5a208-e6c4-490d-8e4c-30dfa8f4d674</guid>
      <itunes:duration>444</itunes:duration>
      <itunes:episodeType>full</itunes:episodeType>
      <itunes:season>1</itunes:season>
      <podcast:season>1</podcast:season>
      <itunes:episode>10</itunes:episode>
      <podcast:episode>10</podcast:episode>
      <pubDate>Wed, 19 Aug 2026 11:37:33 GMT</pubDate>
      <itunes:explicit>false</itunes:explicit>
      <podcast:txt purpose="ai-content">true</podcast:txt>
    </item>
    <item>
      <title><![CDATA[Stripe: Reducing FX Costs]]></title>
      <itunes:title><![CDATA[Stripe: Reducing FX Costs]]></itunes:title>
      <description><![CDATA[<p>Stripe's new currency features aimed at the "double FX trap" — paying conversion fees twice when you convert inbound payments to your home currency, then convert back to pay international expenses. Jordan and Riley walk through the two connected capabilities: expanded multicurrency settlement (settle in the currency the customer paid in — up to 18 currencies across 37 markets by end of 2026) and instant currency conversion (real-time across 15 currencies, transparent pricing, 24/7, with API access). They also flag it's a product-announcement post, not a deep systems piece — the engineering win is removing an unnecessary conversion step, not a novel algorithm. Source: Reduce FX costs with Stripe — Stripe, Aug 17 2026 — <a target="_blank" rel="noopener noreferrer nofollow" href="https://stripe.com/blog/reduce-fx-costs-with-stripe">https://stripe.com/blog/reduce-fx-costs-with-stripe</a> This is commentary/summary in the hosts' own words, not a reproduction of the article.</p>]]></description>
      <link>https://rss.com/podcasts/the-daily-diff/3077078</link>
      <enclosure url="https://content.rss.com/episodes/398581/3077078/the-daily-diff/2026_08_18_12_06_06_d5e9ea3c-7f78-4bd8-b0b4-57493c7cdced.mp3" length="5435312" type="audio/mpeg"/>
      <guid isPermaLink="false">ecdfbced-39e7-43da-bf15-899ae444ebc2</guid>
      <itunes:duration>339</itunes:duration>
      <itunes:episodeType>full</itunes:episodeType>
      <itunes:season>1</itunes:season>
      <podcast:season>1</podcast:season>
      <itunes:episode>9</itunes:episode>
      <podcast:episode>9</podcast:episode>
      <pubDate>Tue, 18 Aug 2026 12:06:12 GMT</pubDate>
      <itunes:explicit>false</itunes:explicit>
      <podcast:txt purpose="ai-content">true</podcast:txt>
    </item>
    <item>
      <title><![CDATA[AWS + Bosch: Serverless Vehicle Tracking at Scale (L.OS)]]></title>
      <itunes:title><![CDATA[AWS + Bosch: Serverless Vehicle Tracking at Scale (L.OS)]]></itunes:title>
      <description><![CDATA[<p>How Bosch's L.OS uses a serverless "horizontal integration layer" on AWS to unify India's fragmented logistics telematics — dozens of incompatible providers, formats, and APIs. Jordan and Riley cover the three standardized workflows (discovery, consent-based tracking, termination) and the architecture: a Central Tracking Connector on ECS Fargate, per-provider Lambda adapters that quarantine each vendor's quirks, MSK as the async event bus, DynamoDB for rules, API Gateway as the unified entry point. Numbers: ~35,000 trips/day, provider onboarding cut from 2–4 weeks to ~3 days. Takeaway: standardize in the middle, push vendor/region-specific chaos to thin, independently scaling serverless adapters. Source: Serverless vehicle tracking at scale: Bosch L.OS on AWS — AWS Architecture Blog, Aug 14 2026 — <a target="_blank" rel="noopener noreferrer nofollow" href="https://aws.amazon.com/blogs/architecture/serverless-vehicle-tracking-at-scale-bosch-l-os-on-aws/">https://aws.amazon.com/blogs/architecture/serverless-vehicle-tracking-at-scale-bosch-l-os-on-aws/</a> This is commentary/summary in the hosts' own words, not a reproduction of the article.</p>]]></description>
      <link>https://rss.com/podcasts/the-daily-diff/3077073</link>
      <enclosure url="https://content.rss.com/episodes/398581/3077073/the-daily-diff/2026_08_18_12_04_59_1470ab29-e68a-45ca-9a7f-e0408279536a.mp3" length="5863302" type="audio/mpeg"/>
      <guid isPermaLink="false">d6bc052a-9501-4977-9d4d-f480bc6f1e78</guid>
      <itunes:duration>366</itunes:duration>
      <itunes:episodeType>full</itunes:episodeType>
      <itunes:season>1</itunes:season>
      <podcast:season>1</podcast:season>
      <itunes:episode>8</itunes:episode>
      <podcast:episode>8</podcast:episode>
      <pubDate>Tue, 18 Aug 2026 12:05:02 GMT</pubDate>
      <itunes:explicit>false</itunes:explicit>
      <podcast:txt purpose="ai-content">true</podcast:txt>
    </item>
    <item>
      <title><![CDATA[Cloudflare: Detecting & Securing MCP Traffic]]></title>
      <itunes:title><![CDATA[Cloudflare: Detecting & Securing MCP Traffic]]></itunes:title>
      <description><![CDATA[<p>As AI agents use the Model Context Protocol to call tools, orgs lose visibility into which MCP servers those agents reach — and MCP traffic is cryptographically indistinguishable from ordinary HTTPS. Jordan and Riley dig into the resulting "shadow MCP" and "portal bypass" problems, and how Cloudflare detects MCP at the network boundary using spec HTTP headers and the JSON-RPC envelope (surfaced as <a target="_blank" rel="noopener noreferrer nofollow" href="http://experimental.is">experimental.is</a>_mcp == true) instead of hostname guessing — plus a new MCP dashboard and Gateway block policies. Governance loop: discover → validate → migrate behind portals → enforce portal-only. Source: How Cloudflare detects MCP traffic and helps secure it — The Cloudflare Blog, Aug 14 2026 — <a target="_blank" rel="noopener noreferrer nofollow" href="https://blog.cloudflare.com/mcp-security-updates/">https://blog.cloudflare.com/mcp-security-updates/</a> This is commentary/summary in the hosts' own words, not a reproduction of the article.</p>]]></description>
      <link>https://rss.com/podcasts/the-daily-diff/3077068</link>
      <enclosure url="https://content.rss.com/episodes/398581/3077068/the-daily-diff/2026_08_18_12_03_22_1d3ac8b2-8cef-45a1-a4e2-0e985dc34e22.mp3" length="6186384" type="audio/mpeg"/>
      <guid isPermaLink="false">6ae34fd8-7eb2-4def-84fb-b1c18d975841</guid>
      <itunes:duration>386</itunes:duration>
      <itunes:episodeType>full</itunes:episodeType>
      <itunes:season>1</itunes:season>
      <podcast:season>1</podcast:season>
      <itunes:episode>7</itunes:episode>
      <podcast:episode>7</podcast:episode>
      <pubDate>Tue, 18 Aug 2026 12:04:59 GMT</pubDate>
      <itunes:explicit>false</itunes:explicit>
      <podcast:txt purpose="ai-content">true</podcast:txt>
    </item>
    <item>
      <title><![CDATA[Shopify: Raising Mobile E2E Test Stability to 98%]]></title>
      <itunes:title><![CDATA[Shopify: Raising Mobile E2E Test Stability to 98%]]></itunes:title>
      <description><![CDATA[<p>Shopify's mobile end-to-end suite had decayed to ~50% stability — blocking more good PRs than it caught real bugs. Jordan and Riley cover how the team rebuilt it: an opinionated wrapper around Appium with a builder-style API that forces an assertion at every step (doubling as a condition-based wait, killing hardcoded sleeps), plus computer-vision element finding (PaddleOCR for text, OpenCV matching icons against Polaris design-system SVGs) so tests locate elements the way a user would. Test IDs became opt-in fallbacks with an "UNSAFE_" prefix. Result: 98% stability. Takeaway: frameworks that expose low-level controls without guardrails accumulate anti-patterns — make best practices the path of least resistance. Source: How we raised mobile end-to-end test stability to 98% — Shopify Engineering, Aug 12 2026 — <a target="_blank" rel="noopener noreferrer nofollow" href="https://shopify.engineering/mobile-e2e-testing">https://shopify.engineering/mobile-e2e-testing</a> This is commentary/summary in the hosts' own words, not a reproduction of the article.</p>]]></description>
      <link>https://rss.com/podcasts/the-daily-diff/3077066</link>
      <enclosure url="https://content.rss.com/episodes/398581/3077066/the-daily-diff/2026_08_18_12_02_17_16945201-d910-4d53-96bb-5ddf7d46e3d9.mp3" length="5850345" type="audio/mpeg"/>
      <guid isPermaLink="false">2d990a05-1728-4f50-8674-e5ca470553bc</guid>
      <itunes:duration>365</itunes:duration>
      <itunes:episodeType>full</itunes:episodeType>
      <itunes:season>1</itunes:season>
      <podcast:season>1</podcast:season>
      <itunes:episode>6</itunes:episode>
      <podcast:episode>6</podcast:episode>
      <pubDate>Tue, 18 Aug 2026 12:02:21 GMT</pubDate>
      <itunes:explicit>false</itunes:explicit>
      <podcast:txt purpose="ai-content">true</podcast:txt>
    </item>
    <item>
      <title><![CDATA[Uber: Cost-Efficient Export Workloads]]></title>
      <itunes:title><![CDATA[Uber: Cost-Efficient Export Workloads]]></itunes:title>
      <description><![CDATA[<p>How Uber slashed the cost of highly selective "export" queries — like Data Subject Access Requests that pull a handful of records out of massive historical datasets. Jordan and Riley get into why these queries trigger full-partition scans that keep cold data "hot" and defeat GCS auto-tiering, why Uber passed on Hudi's Secondary Index, and the combo that actually worked: Hudi column stats for file pruning plus sorting tables by the predicate column so a user's records cluster into a few files. Reported ~24.8% disk reduction on a tested partition. Takeaway: access patterns and file layout drive storage cost more than raw data volume. Source: Running Cost-Efficient Export Workloads at Uber — Uber Engineering, Aug 12 2026 — <a target="_blank" rel="noopener noreferrer nofollow" href="https://www.uber.com/us/en/blog/running-cost-efficient-export/">https://www.uber.com/us/en/blog/running-cost-efficient-export/</a> This is commentary/summary in the hosts' own words, not a reproduction of the article.</p>]]></description>
      <link>https://rss.com/podcasts/the-daily-diff/3077063</link>
      <enclosure url="https://content.rss.com/episodes/398581/3077063/the-daily-diff/2026_08_18_12_00_58_d8a06c34-725c-40a5-853d-2e810b30f70b.mp3" length="5888798" type="audio/mpeg"/>
      <guid isPermaLink="false">30565673-4f71-441f-a75a-70a059f57a51</guid>
      <itunes:duration>368</itunes:duration>
      <itunes:episodeType>full</itunes:episodeType>
      <itunes:season>1</itunes:season>
      <podcast:season>1</podcast:season>
      <itunes:episode>5</itunes:episode>
      <podcast:episode>5</podcast:episode>
      <pubDate>Tue, 18 Aug 2026 12:01:02 GMT</pubDate>
      <itunes:explicit>false</itunes:explicit>
      <podcast:txt purpose="ai-content">true</podcast:txt>
    </item>
    <item>
      <title><![CDATA[Netflix's Real-Time Distributed Graph, Part 3 — Querying with gRPC]]></title>
      <itunes:title><![CDATA[Netflix's Real-Time Distributed Graph, Part 3 — Querying with gRPC]]></itunes:title>
      <description><![CDATA[<p>Netflix's serving layer for its Real-Time Distributed Graph, built to answer tens of thousands of queries/sec in under 100ms. Jordan and Riley dig into the two query shapes (shallow-wide vs. deep-narrow), why they chose breadth-first batched traversal over depth-first, the async-first threading model over thread-per-request, and packing multi-hop traversals into a single gRPC call to kill per-hop round-trips.</p><p></p><p>Source: How and Why Netflix Built a Real-Time Distributed Graph, Part 3: Querying the Graph with gRPC — Netflix Tech Blog, Aug 7 2026 — <a target="_blank" rel="noopener noreferrer nofollow" href="https://netflixtechblog.com/how-and-why-netflix-built-a-real-time-distributed-graph-part-3-querying-the-graph-with-grpc-0f3468349607">https://netflixtechblog.com/how-and-why-netflix-built-a-real-time-distributed-graph-part-3-querying-the-graph-with-grpc-0f3468349607</a></p><p>This is commentary/summary in the hosts' own words, not a reproduction of the article.</p>]]></description>
      <link>https://rss.com/podcasts/the-daily-diff/3074463</link>
      <enclosure url="https://content.rss.com/episodes/398581/3074463/the-daily-diff/2026_08_17_14_30_25_ead1f5d0-635f-4cd9-b84c-dcaca75be9b9.mp3" length="6099031" type="audio/mpeg"/>
      <guid isPermaLink="false">249e73e4-557c-43b1-932a-ac7f59e2cee1</guid>
      <itunes:duration>381</itunes:duration>
      <itunes:episodeType>full</itunes:episodeType>
      <itunes:season>1</itunes:season>
      <podcast:season>1</podcast:season>
      <itunes:episode>4</itunes:episode>
      <podcast:episode>4</podcast:episode>
      <pubDate>Mon, 17 Aug 2026 14:30:30 GMT</pubDate>
      <itunes:explicit>false</itunes:explicit>
      <podcast:txt purpose="ai-content">true</podcast:txt>
    </item>
    <item>
      <title><![CDATA[Netflix's Real-Time Distributed Graph, Part 2 — Building a Scalable Storage Layer]]></title>
      <itunes:title><![CDATA[Netflix's Real-Time Distributed Graph, Part 2 — Building a Scalable Storage Layer]]></itunes:title>
      <description><![CDATA[<p>Why Netflix skipped native graph databases (Neo4j, Neptune) for its Real-Time Distributed Graph and built on KVDAL — a key-value abstraction over Apache Cassandra — instead. Jordan and Riley cover the record/item mapping that makes a key-value store hold a graph (nodes as property records, edges as adjacency lists), the per-type namespace model for independent scaling, and the scale: 8 billion nodes, 150+ billion edges, 2M reads/sec and 6M writes/sec at single-digit-millisecond latency across 2,400 EC2 instances.</p><p></p><p>Source: How and Why Netflix Built a Real-Time Distributed Graph, Part 2: Building a Scalable Storage Layer — Netflix Tech Blog, Nov 14 2025 — <a target="_blank" rel="noopener noreferrer nofollow" href="https://netflixtechblog.medium.com/how-and-why-netflix-built-a-real-time-distributed-graph-part-2-building-a-scalable-storage-layer-ff4a8dbd3d1f">https://netflixtechblog.medium.com/how-and-why-netflix-built-a-real-time-distributed-graph-part-2-building-a-scalable-storage-layer-ff4a8dbd3d1f</a></p><p>This is commentary/summary in the hosts' own words, not a reproduction of the article.</p>]]></description>
      <link>https://rss.com/podcasts/the-daily-diff/3074458</link>
      <enclosure url="https://content.rss.com/episodes/398581/3074458/the-daily-diff/2026_08_17_14_28_09_3e3b3d41-f331-434b-80a3-41f957b72dea.mp3" length="4320197" type="audio/mpeg"/>
      <guid isPermaLink="false">57583054-b530-4fdf-bcb8-8ae0b4847ef6</guid>
      <itunes:duration>269</itunes:duration>
      <itunes:episodeType>full</itunes:episodeType>
      <itunes:season>1</itunes:season>
      <podcast:season>1</podcast:season>
      <itunes:episode>3</itunes:episode>
      <podcast:episode>3</podcast:episode>
      <pubDate>Mon, 17 Aug 2026 14:28:18 GMT</pubDate>
      <itunes:explicit>false</itunes:explicit>
      <podcast:txt purpose="ai-content">true</podcast:txt>
    </item>
    <item>
      <title><![CDATA[Netflix's Real-Time Distributed Graph, Part 1 — Ingesting and Processing Data Streams]]></title>
      <itunes:title><![CDATA[Netflix's Real-Time Distributed Graph, Part 1 — Ingesting and Processing Data Streams]]></itunes:title>
      <description><![CDATA[<p>The origin story of Netflix's Real-Time Distributed Graph: why microservices left them with data silos across ads, live events, and games, and how member actions become graph nodes and edges. Jordan and Riley cover the API Gateway to Kafka to Flink pipeline (~1M msgs/sec per topic, 5M+ records/sec published downstream), and the two scaling calls Netflix made — one Flink job per Kafka topic, and a separate topic per node/edge type — trading operational overhead for independent scaling.</p><p></p><p>Source: How and Why Netflix Built a Real-Time Distributed Graph, Part 1: Ingesting and Processing Data Streams at Internet Scale — Netflix Tech Blog, Oct 17 2025 — <a target="_blank" rel="noopener noreferrer nofollow" href="https://netflixtechblog.com/how-and-why-netflix-built-a-real-time-distributed-graph-part-1-ingesting-and-processing-data-80113e124acc">https://netflixtechblog.com/how-and-why-netflix-built-a-real-time-distributed-graph-part-1-ingesting-and-processing-data-80113e124acc</a></p><p>This is commentary/summary in the hosts' own words, not a reproduction of the article.</p>]]></description>
      <link>https://rss.com/podcasts/the-daily-diff/3074456</link>
      <enclosure url="https://content.rss.com/episodes/398581/3074456/the-daily-diff/2026_08_17_14_26_27_26138f4f-bfa1-49ea-9dc0-af313880bcfe.mp3" length="4777026" type="audio/mpeg"/>
      <guid isPermaLink="false">ad081e9d-b10a-496c-bfb6-5a474270d8a0</guid>
      <itunes:duration>298</itunes:duration>
      <itunes:episodeType>full</itunes:episodeType>
      <itunes:season>1</itunes:season>
      <podcast:season>1</podcast:season>
      <itunes:episode>2</itunes:episode>
      <podcast:episode>2</podcast:episode>
      <pubDate>Mon, 17 Aug 2026 14:26:38 GMT</pubDate>
      <itunes:explicit>false</itunes:explicit>
      <podcast:txt purpose="ai-content">true</podcast:txt>
    </item>
    <item>
      <title><![CDATA[Pilot Ep 1 — Cloudflare's Town Lake: A Data Platform, and the AI Agent Built on It]]></title>
      <itunes:title><![CDATA[Pilot Ep 1 — Cloudflare's Town Lake: A Data Platform, and the AI Agent Built on It]]></itunes:title>
      <description><![CDATA[<p>In this episode, Jordan and Riley break down a recent Cloudflare Engineering post on Town Lake, their internal data lakehouse, and Skipper, the AI agent built on top of it. They cover why Cloudflare needed it (a billion+ events/sec scattered across Postgres, ClickHouse, Kafka, and more), how Trino and Iceberg tie it together into one queryable system, the "default-closed" access model for sensitive data, and how Skipper turns natural-language questions into safe, grounded SQL — including a neat trick that cut its tool-calling round-trips from five down to one.</p><p></p><p>Source: <a target="_blank" rel="noopener noreferrer nofollow" href="https://blog.cloudflare.com/our-unified-data-platform/">How we built Cloudflare's data platform and an AI agent on top of it</a> — The Cloudflare Blog, May 28, 2026. This episode is commentary and discussion, not a reproduction of the original post — read the full article at the link above.</p>]]></description>
      <link>https://rss.com/podcasts/the-daily-diff/3071550</link>
      <enclosure url="https://content.rss.com/episodes/398581/3071550/the-daily-diff/2026_08_16_15_02_37_25a3cecb-96f2-442b-8b40-fc8cf437af88.mp3" length="6153784" type="audio/mpeg"/>
      <guid isPermaLink="false">c8f20204-922b-4ca2-9753-c7f586e7f296</guid>
      <itunes:duration>384</itunes:duration>
      <itunes:episodeType>full</itunes:episodeType>
      <itunes:season>1</itunes:season>
      <podcast:season>1</podcast:season>
      <itunes:episode>1</itunes:episode>
      <podcast:episode>1</podcast:episode>
      <pubDate>Sun, 16 Aug 2026 13:24:56 GMT</pubDate>
      <itunes:explicit>false</itunes:explicit>
      <podcast:txt purpose="ai-content">true</podcast:txt>
      <itunes:image href="https://media.rss.com/the-daily-diff/ep_cover_20260816_132442_1b28ffdadf773ce6eeb22703bf7d27cd.png"/>
    </item>
    <item>
      <title><![CDATA[Google Research: Cardiometabolic Risk from Smartphone Photos (PhotoScan)]]></title>
      <itunes:title><![CDATA[Google Research: Cardiometabolic Risk from Smartphone Photos (PhotoScan)]]></itunes:title>
      <description><![CDATA[<p>A health-AI piece with a clever engineering core. Jordan and Riley cover PhotoScan, a deep-learning framework that estimates 3D body-composition metrics — body fat %, android-to-gynoid (apple vs. pear) fat ratio, and visceral-to-subcutaneous fat ratio — from ordinary 2D smartphone photos, to flag insulin resistance (which precedes type 2 diabetes by years and is poorly captured by BMI). The standout trick solves a data problem: pre-train a ResNet-50 (ImageNet-init) on UK Biobank (N=35,323) using 2D projections <em>rendered from 3D MRI</em> with DXA as ground truth, fuse image features with sex/height/weight/BMI, and output probability density functions (uncertainty, not point guesses); then fine-tune on real smartphone photos (PhotoBIA, N=677, with landmark detection picking best frames from 360-degree video) and validate on an independent cohort (N=132), hitting near-DXA agreement and beating smartwatch impedance sensors — while unlocking ratios impedance can't measure. Transferable lessons: bootstrap a cheap deployment modality from a data-rich hard-to-collect one via projection; fuse image + tabular; predict distributions when stakes are clinical. Caveat: investigational, not a cleared medical device. Source: Seeing beyond BMI: Estimating cardiometabolic risk with smartphone imagery — Google Research Blog, Aug 17 2026 (paper: arXiv:2603.27017) — <a target="_blank" rel="noopener noreferrer nofollow" href="https://research.google/blog/seeing-beyond-bmi-estimating-cardiometabolic-risk-with-smartphone-imagery/">https://research.google/blog/seeing-beyond-bmi-estimating-cardiometabolic-risk-with-smartphone-imagery/</a> This is commentary/summary in the hosts' own words, not a reproduction of the article.</p>]]></description>
      <link>https://rss.com/podcasts/the-daily-diff/3083255</link>
      <enclosure url="https://content.rss.com/episodes/398581/3083255/the-daily-diff/2026_08_20_11_06_16_c3ee13d1-982c-462b-9e5e-7b2431b560da.mp3" length="4848915" type="audio/mpeg"/>
      <guid isPermaLink="false">bfd415e9-8def-4c8c-97cf-8bac9695d9b7</guid>
      <itunes:duration>303</itunes:duration>
      <itunes:episodeType>full</itunes:episodeType>
      <pubDate>Thu, 20 Aug 2026 11:06:23 GMT</pubDate>
    </item>
  </channel>
</rss>