{"id":1358,"date":"2026-04-21T09:51:00","date_gmt":"2026-04-21T16:51:00","guid":{"rendered":"https:\/\/www.kenwalger.com\/blog\/?p=1358"},"modified":"2026-03-17T10:59:27","modified_gmt":"2026-03-17T17:59:27","slug":"scaling-data-pipelines-physical-objects","status":"publish","type":"post","link":"https:\/\/www.kenwalger.com\/blog\/data-engineering\/scaling-data-pipelines-physical-objects\/","title":{"rendered":"The Backyard Quarry, Part 6: Scaling the Quarry"},"content":{"rendered":"<p>So far, the Backyard Quarry system has worked well.<\/p>\n<p>We have:<\/p>\n<ul>\n<li>a schema<\/li>\n<li>a capture process<\/li>\n<li>stored assets<\/li>\n<li>searchable data<\/li>\n<li>digital twins<\/li>\n<\/ul>\n<p>For a small dataset, everything feels manageable.<\/p>\n<p>A few rocks here and there.<\/p>\n<p>A handful of records.<\/p>\n<p>It\u2019s easy to reason about the system.<\/p>\n<h2>When the Dataset Grows<\/h2>\n<p>The moment the dataset starts to grow, the assumptions change.<\/p>\n<p>Instead of a few rocks, imagine:<\/p>\n<ul>\n<li>hundreds<\/li>\n<li>thousands<\/li>\n<li>eventually, many thousands<\/li>\n<\/ul>\n<p>At that point, a few new questions appear:<\/p>\n<ul>\n<li>How do we process incoming data efficiently?<\/li>\n<li>Where do we store large assets?<\/li>\n<li>How do we keep queries fast?<\/li>\n<li>What happens when processing takes longer than capture?<\/li>\n<\/ul>\n<p>These are the same questions that show up in any system dealing with real-world data.<\/p>\n<h2>The Pipeline Becomes the System<\/h2>\n<p>At small scale, the pipeline is implicit.<\/p>\n<p>You take a photo.<\/p>\n<p>You upload it.<\/p>\n<p>You update a record.<\/p>\n<p>At larger scale, that approach breaks down.<\/p>\n<p>The pipeline becomes explicit.<\/p>\n<figure id=\"attachment_1361\" aria-describedby=\"caption-attachment-1361\" style=\"width: 680px\" class=\"wp-caption aligncenter\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"1361\" data-permalink=\"https:\/\/www.kenwalger.com\/blog\/data-engineering\/scaling-data-pipelines-physical-objects\/attachment\/physical-object-data-pipeline-scalable-architecture\/\" data-orig-file=\"https:\/\/i0.wp.com\/www.kenwalger.com\/blog\/wp-content\/uploads\/2026\/04\/physical-object-data-pipeline-scalable-architecture.png?fit=680%2C763&amp;ssl=1\" data-orig-size=\"680,763\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"physical-object-data-pipeline-scalable-architecture\" data-image-description=\"\" data-image-caption=\"&lt;p&gt;At scale, simple data flows evolve into multi-stage pipelines with decoupled processing and storage.&lt;\/p&gt;\n\" data-medium-file=\"https:\/\/i0.wp.com\/www.kenwalger.com\/blog\/wp-content\/uploads\/2026\/04\/physical-object-data-pipeline-scalable-architecture.png?fit=267%2C300&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/www.kenwalger.com\/blog\/wp-content\/uploads\/2026\/04\/physical-object-data-pipeline-scalable-architecture.png?fit=680%2C763&amp;ssl=1\" class=\"size-full wp-image-1361\" src=\"https:\/\/i0.wp.com\/www.kenwalger.com\/blog\/wp-content\/uploads\/2026\/04\/physical-object-data-pipeline-scalable-architecture.png?resize=680%2C763&#038;ssl=1\" alt=\"Diagram showing a scalable data pipeline for physical objects including capture, ingestion queue, processing workings, storage, and indexing.\" width=\"680\" height=\"763\" srcset=\"https:\/\/i0.wp.com\/www.kenwalger.com\/blog\/wp-content\/uploads\/2026\/04\/physical-object-data-pipeline-scalable-architecture.png?w=680&amp;ssl=1 680w, https:\/\/i0.wp.com\/www.kenwalger.com\/blog\/wp-content\/uploads\/2026\/04\/physical-object-data-pipeline-scalable-architecture.png?resize=267%2C300&amp;ssl=1 267w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><figcaption id=\"caption-attachment-1361\" class=\"wp-caption-text\">At scale, simple data flows evolve into multi-stage pipelines with decoupled processing and storage.<\/figcaption><\/figure>\n<p>Each stage now has a role:<\/p>\n<ul>\n<li>capture generates raw input<\/li>\n<li>ingestion buffers incoming data<\/li>\n<li>processing transforms it<\/li>\n<li>storage persists it<\/li>\n<li>indexing makes it usable<\/li>\n<\/ul>\n<p>What used to be a simple flow becomes a system of components.<\/p>\n<h2>Decoupling the System<\/h2>\n<p>One of the first things that happens at scale is decoupling.<\/p>\n<p>Instead of doing everything at once, we separate concerns:<\/p>\n<ul>\n<li>capture does not block processing<\/li>\n<li>processing does not block storage<\/li>\n<li>storage does not block indexing<\/li>\n<\/ul>\n<p>This introduces queues and asynchronous work.<\/p>\n<p>Instead of:<\/p>\n<pre><code class=\"language-plaintext\">take photo \u2192 process \u2192 store \u2192 done\n<\/code><\/pre>\n<p>we now have:<\/p>\n<pre><code class=\"language-plaintext\">take photo \u2192 enqueue \u2192 process later \u2192 update system\n<\/code><\/pre>\n<p>This improves resilience.<\/p>\n<p>It also introduces complexity.<\/p>\n<h2>Storage Starts to Matter<\/h2>\n<p>At small scale, storage decisions are easy.<\/p>\n<p>At larger scale, they matter.<\/p>\n<p>We now have different types of data:<\/p>\n<ul>\n<li>metadata (small, structured)<\/li>\n<li>images (large, unstructured)<\/li>\n<li>3D models (larger, computationally expensive to generate)<\/li>\n<\/ul>\n<p>These tend to be stored differently:<\/p>\n<ul>\n<li>database for structured data<\/li>\n<li>object storage for assets<\/li>\n<li>references connecting the two<\/li>\n<\/ul>\n<p>This separation becomes critical for performance and cost.<\/p>\n<h2>Processing Becomes a Bottleneck<\/h2>\n<p>Not all steps in the pipeline are equal.<\/p>\n<p>Some are fast:<\/p>\n<ul>\n<li>inserting metadata<\/li>\n<li>updating records<\/li>\n<\/ul>\n<p>Others are slow:<\/p>\n<ul>\n<li>generating 3D models<\/li>\n<li>running image processing<\/li>\n<li>extracting features<\/li>\n<\/ul>\n<p>As the dataset grows, these slower steps become bottlenecks.<\/p>\n<p>Which leads to another pattern:<\/p>\n<p><strong>Parallelization<\/strong>.<\/p>\n<p>Instead of one process handling everything, we distribute the work.<\/p>\n<p>Multiple workers.<\/p>\n<p>Multiple jobs.<\/p>\n<p>Multiple stages running simultaneously.<\/p>\n<h2>Indexing at Scale<\/h2>\n<p>Search also changes at scale.<\/p>\n<p>At small scale:<\/p>\n<ul>\n<li>simple queries are fast<\/li>\n<li>no special indexing required<\/li>\n<\/ul>\n<p>At larger scale:<\/p>\n<ul>\n<li>indexes must be built and maintained<\/li>\n<li>similarity search requires preprocessing<\/li>\n<li>updates must propagate through the system<\/li>\n<\/ul>\n<p>Search becomes an active part of the pipeline, not just a query on top of it.<\/p>\n<h2>Failure Becomes Normal<\/h2>\n<p>At small scale, failures are rare and easy to fix.<\/p>\n<p>At larger scale, failures are expected.<\/p>\n<p>Examples:<\/p>\n<ul>\n<li>missing images<\/li>\n<li>failed processing jobs<\/li>\n<li>incomplete models<\/li>\n<li>inconsistent metadata<\/li>\n<\/ul>\n<p>The system must tolerate these failures.<\/p>\n<p>Not eliminate them.<\/p>\n<p>This leads to:<\/p>\n<ul>\n<li>retries<\/li>\n<li>partial results<\/li>\n<li>eventual consistency<\/li>\n<\/ul>\n<p>In other words, the system becomes more realistic.<\/p>\n<h2>A Familiar Architecture<\/h2>\n<p>At this point, the <strong>Backyard Quarry<\/strong> starts to resemble a typical data platform.<\/p>\n<figure id=\"attachment_1362\" aria-describedby=\"caption-attachment-1362\" style=\"width: 286px\" class=\"wp-caption aligncenter\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"1362\" data-permalink=\"https:\/\/www.kenwalger.com\/blog\/data-engineering\/scaling-data-pipelines-physical-objects\/attachment\/pyhsical-to-digital-system-architecture-layers\/\" data-orig-file=\"https:\/\/i0.wp.com\/www.kenwalger.com\/blog\/wp-content\/uploads\/2026\/04\/pyhsical-to-digital-system-architecture-layers.png?fit=388%2C1387&amp;ssl=1\" data-orig-size=\"388,1387\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"pyhsical-to-digital-system-architecture-layers\" data-image-description=\"\" data-image-caption=\"&lt;p&gt;A common architectural pattern for systems that transform physical inputs into digital data.&lt;\/p&gt;\n\" data-medium-file=\"https:\/\/i0.wp.com\/www.kenwalger.com\/blog\/wp-content\/uploads\/2026\/04\/pyhsical-to-digital-system-architecture-layers.png?fit=84%2C300&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/www.kenwalger.com\/blog\/wp-content\/uploads\/2026\/04\/pyhsical-to-digital-system-architecture-layers.png?fit=286%2C1024&amp;ssl=1\" class=\"size-large wp-image-1362\" src=\"https:\/\/i0.wp.com\/www.kenwalger.com\/blog\/wp-content\/uploads\/2026\/04\/pyhsical-to-digital-system-architecture-layers.png?resize=286%2C1024&#038;ssl=1\" alt=\"Layered architecture diagram showing physical world input flowing through capture, ingestion, processing, storage, indexing, and application layers.\" width=\"286\" height=\"1024\" srcset=\"https:\/\/i0.wp.com\/www.kenwalger.com\/blog\/wp-content\/uploads\/2026\/04\/pyhsical-to-digital-system-architecture-layers.png?resize=286%2C1024&amp;ssl=1 286w, https:\/\/i0.wp.com\/www.kenwalger.com\/blog\/wp-content\/uploads\/2026\/04\/pyhsical-to-digital-system-architecture-layers.png?resize=84%2C300&amp;ssl=1 84w\" sizes=\"auto, (max-width: 286px) 85vw, 286px\" \/><figcaption id=\"caption-attachment-1362\" class=\"wp-caption-text\">A common architectural pattern for systems that transform physical inputs into digital data.<code><br \/><\/code><\/figcaption><\/figure>\n<p>Different domains implement this differently.<\/p>\n<p>But the structure is remarkably consistent.<\/p>\n<h2>The Tradeoff<\/h2>\n<p>Scaling introduces tradeoffs.<\/p>\n<p>We gain:<\/p>\n<ul>\n<li>throughput<\/li>\n<li>flexibility<\/li>\n<li>resilience<\/li>\n<\/ul>\n<p>We lose:<\/p>\n<ul>\n<li>simplicity<\/li>\n<li>immediacy<\/li>\n<li>ease of reasoning<\/li>\n<\/ul>\n<p>What was once a straightforward system becomes a collection of interacting parts.<\/p>\n<h2>The Real Shift<\/h2>\n<p>The most important change isn\u2019t technical.<\/p>\n<p>It\u2019s conceptual.<\/p>\n<p>At small scale, you think about individual objects.<\/p>\n<p>At larger scale, you think about systems.<\/p>\n<p>You stop asking:<\/p>\n<p><em>How do I store this rock?<\/em><\/p>\n<p>And start asking:<\/p>\n<p><em>How does the system handle many rocks over time?<\/em><\/p>\n<p>That shift is what turns a project into a platform.<\/p>\n<h2>What Comes Next<\/h2>\n<p>At this point, the <strong>Backyard Quarry<\/strong> is no longer just a small experiment.<\/p>\n<p>It\u2019s a miniature version of a data platform.<\/p>\n<p>And the patterns we\u2019ve seen \u2014 schema design, pipelines, indexing, scaling \u2014 show up in many places.<\/p>\n<p>In the next post, we\u2019ll zoom out even further.<\/p>\n<p>Because once you start recognizing these patterns, you begin to see them everywhere.<\/p>\n<p>Not just in rock piles.<\/p>\n<p>But in systems across industries.<\/p>\n<p>And somewhere along the way, the Quarry stopped being about rocks.<\/p>\n<p>It became about how systems grow.<\/p>\n<h2>The Rock Quarry Series<\/h2>\n<ul>\n<li><a href=\"https:\/\/www.kenwalger.com\/blog\/software-engineering\/the-backyard-quarry-turning-rocks-into-data\/\">The Backyard Quarry: Turning Rocks Into Data<\/a><\/li>\n<li><a href=\"https:\/\/www.kenwalger.com\/blog\/data-engineering\/designing-a-schema-for-physical-objects\">The Backyard Quarry, Part 2: Designing a Schema for Physical Objects<\/a><\/li>\n<li><a href=\"https:\/\/www.kenwalger.com\/blog\/data-engineering\/capturing-physical-objects-data-pipeline\">The Backyard Quarry, Part 3: Capturing the Physical World<\/a><\/li>\n<li><a href=\"https:\/\/www.kenwalger.com\/blog\/data-engineering\/searching-physical-objects-data-indexing\">The Backyard Quarry, Part 4: Searching a Pile of Rocks<\/a><\/li>\n<li><a href=\"https:\/\/www.kenwalger.com\/blog\/data-engineering\/digital-twins-physical-objects-explained\">The Backyard Quarry, Part 5: Digital Twins for Physical Objects<\/a><\/li>\n<\/ul>\n<a class=\"synved-social-button synved-social-button-share synved-social-size-48 synved-social-resolution-single synved-social-provider-facebook nolightbox\" data-provider=\"facebook\" target=\"_blank\" rel=\"nofollow\" title=\"Share on Facebook\" href=\"https:\/\/www.facebook.com\/sharer.php?u=https%3A%2F%2Fwww.kenwalger.com%2Fblog%2Fwp-json%2Fwp%2Fv2%2Fposts%2F1358&#038;t=The%20Backyard%20Quarry%2C%20Part%206%3A%20Scaling%20the%20Quarry&#038;s=100&#038;p&#091;url&#093;=https%3A%2F%2Fwww.kenwalger.com%2Fblog%2Fwp-json%2Fwp%2Fv2%2Fposts%2F1358&#038;p&#091;images&#093;&#091;0&#093;=https%3A%2F%2Fwww.kenwalger.com%2Fblog%2Fwp-content%2Fuploads%2F2026%2F04%2Fphysical-object-data-pipeline-scalable-architecture.png&#038;p&#091;title&#093;=The%20Backyard%20Quarry%2C%20Part%206%3A%20Scaling%20the%20Quarry\" style=\"font-size: 0px;width:48px;height:48px;margin:0;margin-bottom:5px;margin-right:5px\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" alt=\"Facebook\" title=\"Share on Facebook\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"48\" height=\"48\" style=\"display: inline;width:48px;height:48px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/i0.wp.com\/www.kenwalger.com\/blog\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/96x96\/facebook.png?resize=48%2C48&#038;ssl=1\" \/><\/a><a class=\"synved-social-button synved-social-button-share synved-social-size-48 synved-social-resolution-single synved-social-provider-twitter nolightbox\" data-provider=\"twitter\" target=\"_blank\" rel=\"nofollow\" title=\"Share on Twitter\" href=\"https:\/\/twitter.com\/intent\/tweet?url=https%3A%2F%2Fwww.kenwalger.com%2Fblog%2Fwp-json%2Fwp%2Fv2%2Fposts%2F1358&#038;text=Hey%20check%20this%20out\" style=\"font-size: 0px;width:48px;height:48px;margin:0;margin-bottom:5px;margin-right:5px\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" alt=\"twitter\" title=\"Share on Twitter\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"48\" height=\"48\" style=\"display: inline;width:48px;height:48px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/i0.wp.com\/www.kenwalger.com\/blog\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/96x96\/twitter.png?resize=48%2C48&#038;ssl=1\" \/><\/a><a class=\"synved-social-button synved-social-button-share synved-social-size-48 synved-social-resolution-single synved-social-provider-reddit nolightbox\" data-provider=\"reddit\" target=\"_blank\" rel=\"nofollow\" title=\"Share on Reddit\" href=\"https:\/\/www.reddit.com\/submit?url=https%3A%2F%2Fwww.kenwalger.com%2Fblog%2Fwp-json%2Fwp%2Fv2%2Fposts%2F1358&#038;title=The%20Backyard%20Quarry%2C%20Part%206%3A%20Scaling%20the%20Quarry\" style=\"font-size: 0px;width:48px;height:48px;margin:0;margin-bottom:5px;margin-right:5px\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" alt=\"reddit\" title=\"Share on Reddit\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"48\" height=\"48\" style=\"display: inline;width:48px;height:48px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/i0.wp.com\/www.kenwalger.com\/blog\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/96x96\/reddit.png?resize=48%2C48&#038;ssl=1\" \/><\/a><a class=\"synved-social-button synved-social-button-share synved-social-size-48 synved-social-resolution-single synved-social-provider-linkedin nolightbox\" data-provider=\"linkedin\" target=\"_blank\" rel=\"nofollow\" title=\"Share on Linkedin\" href=\"https:\/\/www.linkedin.com\/shareArticle?mini=true&#038;url=https%3A%2F%2Fwww.kenwalger.com%2Fblog%2Fwp-json%2Fwp%2Fv2%2Fposts%2F1358&#038;title=The%20Backyard%20Quarry%2C%20Part%206%3A%20Scaling%20the%20Quarry\" style=\"font-size: 0px;width:48px;height:48px;margin:0;margin-bottom:5px;margin-right:5px\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" alt=\"linkedin\" title=\"Share on Linkedin\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"48\" height=\"48\" style=\"display: inline;width:48px;height:48px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/i0.wp.com\/www.kenwalger.com\/blog\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/96x96\/linkedin.png?resize=48%2C48&#038;ssl=1\" \/><\/a><a class=\"synved-social-button synved-social-button-share synved-social-size-48 synved-social-resolution-single synved-social-provider-mail nolightbox\" data-provider=\"mail\" rel=\"nofollow\" title=\"Share by email\" href=\"mailto:?subject=The%20Backyard%20Quarry%2C%20Part%206%3A%20Scaling%20the%20Quarry&#038;body=Hey%20check%20this%20out:%20https%3A%2F%2Fwww.kenwalger.com%2Fblog%2Fwp-json%2Fwp%2Fv2%2Fposts%2F1358\" style=\"font-size: 0px;width:48px;height:48px;margin:0;margin-bottom:5px\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" alt=\"mail\" title=\"Share by email\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"48\" height=\"48\" style=\"display: inline;width:48px;height:48px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/i0.wp.com\/www.kenwalger.com\/blog\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/96x96\/mail.png?resize=48%2C48&#038;ssl=1\" \/><\/a>","protected":false},"excerpt":{"rendered":"<p>So far, the Backyard Quarry system has worked well. We have: a schema a capture process stored assets searchable data digital twins For a small dataset, everything feels manageable. A few rocks here and there. A handful of records. It\u2019s easy to reason about the system. When the Dataset Grows The moment the dataset starts &hellip; <a href=\"https:\/\/www.kenwalger.com\/blog\/data-engineering\/scaling-data-pipelines-physical-objects\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;The Backyard Quarry, Part 6: Scaling the Quarry&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"pmpro_default_level":"","_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1739,1738],"tags":[1736,1748,1756,1755,1713],"yst_prominent_words":[99,964,575,797],"class_list":["post-1358","post","type-post","status-publish","format-standard","hentry","category-data-engineering","category-software-engineering","tag-data-engineering","tag-data-pipelines","tag-distributed-systems","tag-scalability","tag-system-design","pmpro-has-access"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p8lx70-lU","jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/www.kenwalger.com\/blog\/wp-json\/wp\/v2\/posts\/1358","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.kenwalger.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.kenwalger.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.kenwalger.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kenwalger.com\/blog\/wp-json\/wp\/v2\/comments?post=1358"}],"version-history":[{"count":6,"href":"https:\/\/www.kenwalger.com\/blog\/wp-json\/wp\/v2\/posts\/1358\/revisions"}],"predecessor-version":[{"id":1366,"href":"https:\/\/www.kenwalger.com\/blog\/wp-json\/wp\/v2\/posts\/1358\/revisions\/1366"}],"wp:attachment":[{"href":"https:\/\/www.kenwalger.com\/blog\/wp-json\/wp\/v2\/media?parent=1358"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.kenwalger.com\/blog\/wp-json\/wp\/v2\/categories?post=1358"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.kenwalger.com\/blog\/wp-json\/wp\/v2\/tags?post=1358"},{"taxonomy":"yst_prominent_words","embeddable":true,"href":"https:\/\/www.kenwalger.com\/blog\/wp-json\/wp\/v2\/yst_prominent_words?post=1358"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}