1 2 3<!doctype html> 4<html lang="en"> 5<head> 6 <title>Holding Kafka Right: Product-Friendly Streaming with TypeStream</title> 7 <meta charset="utf-8" /> 8 <meta http-equiv="Cache-Control" content="public, max-age=3600" /> 9 <meta name="description" content="Summary 
In this episode Jevin Maltais talks about the practical realities of building reliable, product-focused streaming systems with Kafka. Jevin shares…"> 10 <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 11 12 <!-- Twitter --> 13 <meta name="twitter:site" content="@PodhomeFM"> 14 <meta name="twitter:title" content="Holding Kafka Right: Product-Friendly Streaming with TypeStream"> 15 <meta name="twitter:description" content="Summary 
In this episode Jevin Maltais talks about the practical realities of building reliable, product-focused streaming systems with Kafka. Jevin shares…"> 16 <meta name="twitter:card" content="summary"> 17 <meta name="twitter:image" content="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638557928872209534cover.jpg"> 18 19 <!-- Facebook --> 20 <meta property="og:url" content="https://www.dataengineeringpodcast.com/episodepage/holding-kafka-right-product-friendly-streaming-with-typestream"> 21 <meta property="og:image" content="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638557928872209534cover.jpg?2019591086"> 22 <meta property="og:type" content="website"> 23 <meta property="og:site_name" content="Data Engineering Podcast"> 24 <meta property="og:description" content="Summary 
In this episode Jevin Maltais talks about the practical realities of building reliable, product-focused streaming systems with Kafka. Jevin shares…"> 25 <meta property="og:title" content="Holding Kafka Right: Product-Friendly Streaming with TypeStream"> 26 27 <meta content="Summary 
In this episode Jevin Maltais talks about the practical realities of building reliable, product-focused streaming systems with Kafka. Jevin shares…" name="description"> 28 29 30 <!-- iTunes Banner --> 31 <meta content="app-id=1193040557" name="apple-itunes-app"> 32 33 <link type="application/rss+xml" rel="alternate" title="Data Engineering Podcast" href="https://serve.podhome.fm/rss/1c0357c0-6aba-5766-a2d5-2090d8dab6bc"> 34 35 <link href="https://cdn.podhome.fm/bulma.min.css" rel="stylesheet" defer async /> 36 <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@mdi/[email protected]/css/materialdesignicons.min.css" /> 37 <link href="https://cdn.podhome.fm/servesite3.min.css" rel="stylesheet" defer async /> 38
38<script src="https://cdn.podhome.fm/servesite3.min.js"></script>
38 39 40 41 42 43 <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png"> 44 <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png"> 45 <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png"> 46 <link rel="manifest" href="/site.webmanifest"> 47 48 <meta name="theme-color" content="#f5f5f5" /> 49 50 51</head> 52<body id="websiteBody"> 53 54 <section class="container is-max-widescreen is-centered section" style="padding: 1rem;"> 55 56 <div class="is-mobile is-tablet is-hidden-desktop"> 57 58 59<nav class="navbar navMobile " style="font-size: larger;" role="navigation" aria-label="main navigation"> 60 61 <div class="navbar-brand"> 62 <a role="button" class="navbar-burger" aria-label="menu" id="navbar-burger" aria-expanded="false" data-target="navbarBasicExample" onclick="ToggleActive()"> 63 <span aria-hidden="true"></span> 64 <span aria-hidden="true"></span> 65 <span aria-hidden="true"></span> 66 </a> 67 </div> 68 69 70 <div id="navbarBasicExample" class="navbar-menu"> 71 <div class="navbar-start" style="align-items: end!important;"> 72 <a class="navbar-item " href="/"> 73 <strong>Home</strong> 74 </a> 75 <a class="navbar-item " href="/custompage/guest-info"> 76 <strong>Be Our Guest</strong> 77 </a> 78 <a class="navbar-item " href="/custompage/sponsorship"> 79 <strong>Advertise With Us</strong> 80 </a> 81 </div> 82 </div> 83 84</nav> 85 </div> 86 <div class="columns "> 87 <div class="column is-narrow imageColumn"> 88 <figure class="image showArtwork"> 89 <img src="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638557928872209534cover.jpg" alt="Data Engineering Podcast" /> 90 </figure> 91 </div> 92 <div class="column titleColumn"> 93 <h1 class="title">Data Engineering Podcast</h1> 94 <div class="is-hidden-touch"> 95 96 97<nav class="navbar navMobile " style="font-size: larger;" role="navigation" aria-label="main navigation"> 98 99 <div class="navbar-brand"> 100 <a role="button" class="navbar-burger" aria-label="menu" id="navbar-burger" aria-expanded="false" data-target="navbarBasicExample" onclick="ToggleActive()"> 101 <span aria-hidden="true"></span> 102 <span aria-hidden="true"></span> 103 <span aria-hidden="true"></span> 104 </a> 105 </div> 106 107 108 <div id="navbarBasicExample" class="navbar-menu"> 109 <div class="navbar-start" style="align-items: end!important;"> 110 <a class="navbar-item " href="/"> 111 <strong>Home</strong> 112 </a> 113 <a class="navbar-item " href="/custompage/guest-info"> 114 <strong>Be Our Guest</strong> 115 </a> 116 <a class="navbar-item " href="/custompage/sponsorship"> 117 <strong>Advertise With Us</strong> 118 </a> 119 </div> 120 </div> 121 122</nav> 123 </div> 124 </div> 125 </div> 126 127 <div> 128 <div class="columns"> 129 <div class="box column"> 130 <br /> 131 132 <div class="mt-2"> 133 134 135 136 137 138 <a class="mr-2" style="vertical-align:top" href="https://linkedin.com/in/tmacey" target="_blank" title="Connect with me on LinkedIn"> 139 <svg xmlns="http://www.w3.org/2000/svg" style="width: 24px;height: 24px;" viewBox="0 0 24 24"> 140 <path fill="#000000" d="M19 3A2 2 0 0 1 21 5V19A2 2 0 0 1 19 21H5A2 2 0 0 1 3 19V5A2 2 0 0 1 5 3H19M18.5 18.5V13.2A3.26 3.26 0 0 0 15.24 9.94C14.39 9.94 13.4
14010.46 12.92 11.24V10.13H10.13V18.5H12.92V13.57C12.92 12.8 13.54 12.17 14.31 12.17A1.4 1.4 0 0 1 15.71 13.57V18.5H18.5M6.88 8.56A1.68 1.68 0 0 0 8.56 6.88C8.56 5.95 7.81 5.19 6.88 5.19A1.69 1.69 0 0 0 5.19 6.88C5.19 7.81 5.95 8.56 6.88 8.56M8.27 18.5V10.13H5.5V18.5H8.27Z" /> 141 </svg> 142 </a> 143 144 145 146 147 148 </div> 149 <br /> 150 151 152 153 154<p class="subtitle">This show goes behind the scenes for the tools, techniques, and difficulties associated with the discipline of data engineering. Databases, workflows, automation, and data manipulation are just some of the topics that you will find here.</p> 155 156 <a href="https://dataengineering.supercast.com/" target="_blank"> 157Support the show! <span class="icon is-medium"> 158 <i class="mdi mdi-18px mdi-open-in-new"></i> 159 </span> 160 </a> 161 <br /> 162 163<hr /> 164 <div id="mainPlayer"> 165 <div class="columns "> 166 <div class="column is-narrow"> 167 <div class="playButtonMain" id="play-buttonMain" title="Play" aria-label="Play" onclick='episodeAudioPlayPause(["8ecda746-bff7-4c7e-b384-3fc00c01f44a"], {"ProcessedAudioURL":"f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6391733588741892878ecda746-bff7-4c7e-b384-3fc00c01f44av1.mp3","ImageURL":null,"EpisodeId":"8ecda746-bff7-4c7e-b384-3fc00c01f44a","Title":"Holding Kafka Right: Product-Friendly Streaming with TypeStream","EpisodeNr":512,"SeasonNr":null,"Duration":"00:49:51"}, "Data Engineering Podcast", "https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638557928872209534cover.jpg", "https://op3.dev/e/dts.podtrac.com/redirect.mp3/")'> 168 169 <svg xmlns="http://www.w3.org/2000/svg" id="playIconMain" class="podhomesvgEpisode" viewBox="0 0 24 24" style=""> 170 <path d="M10,16.5V7.5L16,12M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z" /> 171 </svg> 172 <svg xmlns="http://www.w3.org/2000/svg" class="rotationEpisode podhomesvgEpisode" style="display:none" id="pauseIconMain" viewBox="0 0 24 24"> 173 <path d="M15,16H13V8H15M11,16H9V8H11M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z" /> 174 </svg> 175 </div> 176 </div> 177 <div class="column" id="controlContainerMain"> 178 <p class="has-text-grey"> 179 18 June 2026 180 </p> 181 <p class="subtitle" id="episodeTitleMain">Holding Kafka Right: Product-Friendly Streaming with TypeStream - E512</p> 182 183 184 <input type="range" class="podhomeRange" id="seek-sliderMain" max="100" value="0" style="margin-bottom: 7px;"> 185 <div class="flexRow"> 186 <div class="flexRow" style="width:100%;"> 187 <svg fill="#000000" id="rewindMain" class="controlButton" xmlns="http://www.w3.org/2000/svg"
188 viewBox="0 0 24 24"> 189 <path d="M12.5,3C17.15,3 21.08,6.03 22.47,10.22L20.1,11C19.05,7.81 16.04,5.5 12.5,5.5C10.54,5.5 8.77,6.22 7.38,7.38L10,10H3V3L5.6,5.6C7.45,4 9.85,3 12.5,3M10,12V22H8V14H6V12H10M18,14V20C18,21.11 17.11,22 16,22H14A2,2 0 0,1 12,20V14A2,2 0 0,1 14,12H16C17.11,12 18,12.9 18,14M14,14V20H16V14H14Z" /> 190 <title>Rewind 10 seconds</title> 191 </svg> 192 <div class="speedButton" id="change-speedMain" 193 alt="Change playback speed button" title="Change playback speed"> 194 1X 195 </div> 196 197 <svg fill="#000000" id="skipMain" class="controlButton" xmlns="http://www.w3.org/2000/svg" 198 viewBox="0 0 24 24"> 199 <path d="M11.5,3C6.85,3 2.92,6.03 1.53,10.22L3.9,11C4.95,7.81 7.96,5.5 11.5,5.5C13.46,5.5 15.23,6.22 16.62,7.38L14,10H21V3L18.4,5.6C16.55,4 14.15,3 11.5,3M19,14V20C19,21.11 18.11,22 17,22H15A2,2 0 0,1 13,20V14A2,2 0 0,1 15,12H17C18.11,12 19,12.9 19,14M15,14V20H17V14H15M11,20C11,21.11 10.1,22 9,22H5V20H9V18H7V16H9V14H5V12H9A2,2 0 0,1 11,14V15.5A1.5,1.5 0 0,1 9.5,17A1.5,1.5 0 0,1 11,18.5V20Z" /> 200 <title>Skip 30 seconds ahead</title> 201 </svg> 202 203 204 <a style="margin-left:10px;width:22px;height:22px;" title="Download episode file" id="downloadButton" href="https://op3.dev/e/dts.podtrac.com/redirect.mp3/https://serve.podhome.fm/episode/Podhomefromf6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6391733588741892878ecda746-bff7-4c7e-b384-3fc00c01f44av1.mp3" target="_blank" 205 download> 206 207 <svg style="cursor:pointer;opacity:.6" fill="#000000" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"> 208 <path d="M8 17V15H16V17H8M16 10L12 14L8 10H10.5V6H13.5V10H16M12 2C17.5 2 22 6.5 22 12C22 17.5 17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2M12 4C7.58 4 4 7.58 4 12C4 16.42 7.58 20 12 20C16.42 20 20 16.42 20 12C20 7.58 16.42 4 12 4Z" /> 209 </svg> 210 </a> 211 212 </div> 213 214 <div class="time margin"> 215 <span id="current-timeMain">0:00</span>/<span id="durationMain">0:00</span> 216 </div> 217 218 </div> 219 220 </div> 221 222 </div> 223<div> 224 <p class="content">Share on social media:</p> 225 226 <div class="columns is-mobile"> 227 <div class="column is-narrow"> 228 <a href="https://twitter.com/intent/tweet?text=Holding Kafka Right: Product-Friendly Streaming with TypeStream Hosted on @Podhomefm&url=https://www.dataengineeringpodcast.com/typestream-kafka-as-code-for-product-teams-episode-512" target="_blank"> 229 <svg xmlns="http://www.w3.org/2000/svg" width="34" height="34" viewBox="0 0 1200 1227" style="cursor:pointer; background-color: whitesmoke; color:black; border-radius: 50%;padding:2px"> 230 <path fill="currentColor" d="M714.163 519.284L1160.89 0H1055.03L667.137 450.887L357.328 0H0L468.492 681.821L0 1226.37H105.866L515.491 750.218L842.672 1226.37H1200L714.137 519.284H714.163ZM569.165 687.828L521.697 619.934L144.011 79.6944H306.615L611.412 515.685L658.88 583.579L1055.08 1150.3H892.476L569.165 687.854V687.828Z" /> 231 </svg> 232 </a> 233 </div> 234 <div class="column is-narrow"> 235 <a href="https://linkedin.com/shareArticle?url=https://www.dataengineeringpodcast.com/typestream-kafka-as-code-for-product-teams-episode-512" target="_blank"> 236 <svg xmlns="http://www.w3.org/2000/svg" style="cursor:pointer;width: 34px;height: 34px; background-color: whitesmoke; color:black; border-radius: 50%;padding:2px" viewBox="0 0 24 24"> 237 <path fill="currentColor" d="M19 3A2 2 0 0 1 21 5V19A2 2 0 0 1 19 21H5A2 2
2370 0 1 3 19V5A2 2 0 0 1 5 3H19M18.5 18.5V13.2A3.26 3.26 0 0 0 15.24 9.94C14.39 9.94 13.4 10.46 12.92 11.24V10.13H10.13V18.5H12.92V13.57C12.92 12.8 13.54 12.17 14.31 12.17A1.4 1.4 0 0 1 15.71 13.57V18.5H18.5M6.88 8.56A1.68 1.68 0 0 0 8.56 6.88C8.56 5.95 7.81 5.19 6.88 5.19A1.69 1.69 0 0 0 5.19 6.88C5.19 7.81 5.95 8.56 6.88 8.56M8.27 18.5V10.13H5.5V18.5H8.27Z" /> 238 </svg> 239 </a> 240 </div> 241 <div class="column is-narrow"> 242 <a href="https://www.instagram.com/" target="_blank"> 243 <svg style="cursor:pointer;width: 34px;height: 34px;background-color: whitesmoke; color:black; border-radius: 50%;padding:2px" viewBox="0 0 24 24"> 244 <path fill="currentColor" d="M7.8,2H16.2C19.4,2 22,4.6 22,7.8V16.2A5.8,5.8 0 0,1 16.2,22H7.8C4.6,22 2,19.4 2,16.2V7.8A5.8,5.8 0 0,1 7.8,2M7.6,4A3.6,3.6 0 0,0 4,7.6V16.4C4,18.39 5.61,20 7.6,20H16.4A3.6,3.6 0 0,0 20,16.4V7.6C20,5.61 18.39,4 16.4,4H7.6M17.25,5.5A1.25,1.25 0 0,1 18.5,6.75A1.25,1.25 0 0,1 17.25,8A1.25,1.25 0 0,1 16,6.75A1.25,1.25 0 0,1 17.25,5.5M12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9Z"></path> 245 </svg> 246 </a> 247 </div> 248 <div class="column is-narrow"> 249 <a href="https://www.facebook.com/sharer/sharer.php?u=https://www.dataengineeringpodcast.com/typestream-kafka-as-code-for-product-teams-episode-512?411179951" target="_blank"> 250 <svg xmlns="http://www.w3.org/2000/svg" style="cursor:pointer;width: 34px;height: 34px;background-color: whitesmoke; color:black; border-radius: 50%;padding:2px" viewBox="0 0 24 24"> 251 <path fill="currentColor" d="M12 2.04C6.5 2.04 2 6.53 2 12.06C2 17.06 5.66 21.21 10.44 21.96V14.96H7.9V12.06H10.44V9.85C10.44 7.34 11.93 5.96 14.22 5.96C15.31 5.96 16.45 6.15 16.45 6.15V8.62H15.19C13.95 8.62 13.56 9.39 13.56 10.18V12.06H16.34L15.89 14.96H13.56V21.96A10 10 0 0 0 22 12.06C22 6.53 17.5 2.04 12 2.04Z" /> 252 </svg> 253 </a> 254 </div> 255 </div> 256 257</div> 258 259 260 <hr /> 261 262 263 <div class="tabs is-boxed "> 264 <ul> 265 <li class="is-active" onclick="selectTab('description')" id="descriptionTabPanel"> 266 <a> 267 <span class="icon is-small "><i class="mdi mdi-text" aria-hidden="true"></i></span> 268 <span>Description</span> 269 </a> 270 </li> 271 <li class="" onclick="selectTab('transcript')" id="transcriptTabPanel"> 272 <a> 273 <span class="icon is-small "><i class="mdi mdi-text-box" aria-hidden="true"></i></span> 274 <span>Transcript</span> 275 </a> 276 </li> 277 278 <li class="" onclick="selectTab('chapter')" id="chapterTabPanel"> 279 <a> 280 <span class="icon is-small "><i class="mdi mdi-view-list" aria-hidden="true"></i></span> 281 <span>Chapters</span> 282 </a> 283 </li> 284 </ul> 285 </div> 286 287 288 289 <div id="descriptionTab" style=""> 290 291 Summary <br />In this episode Jevin Maltais talks about the practical realities of building reliable, product-focused streaming systems with Kafka. Jevin shares lessons from roles at Zapier, Humi, and Clio, where real-time synchronization, customer data unification, and document sync at scale highlighted both the strengths and common misuses of Kafka. He digs into using events as the source of truth, materialized views with KTables, and how schema registries and type safety prevent downstream breakage. Jevin explains why teams often reach for heavyweight Kafka clusters without leveraging Streams, Connect, or interactive queriesâand how his project, TypeStream, aims to make those capabilities accessible via config-as-code while keeping a thin abstraction and clear escape hatches. He also explore trade-offs across Kafka-compatible alternatives, CDC with Debezium in the real world, and where abstractions should stop so teams can scale responsibility as complexity grows. <br /><br /><br />Announcements <br /><ul><li>Hello and welcome to the Data Engineering Podcast, the show about modern data management</li><li>This episode is sponsored by DataDriven.io, the free data engineering interview prep platform built by data engineers for data engineers. Ever walked into a data engineering interview and gotten a question that has nothing to do with real data engineering work? Interviewing is its own skill, separate from the job. Watch your code execute live, inspect Spark internals, and whiteboard your data models and pipelines and defend your decisions. Unlike SQL-only or Python-only practice, DataDriven.io covers the full interview loop: star schemas, slowly changing dimensions, grain and fact table design, idempotency, watermarks, dead letter queues, change data capture, and backpressure. Every question comes from real Data Engineer interview loops at Google, Amazon, Meta, Stripe, Databricks, Netflix, and Airbnb. Go to <a href="https://datadriven.io/?utm_source=dataengineeringpodcast&utm_medium=podcast&utm_campaign=macey_sponsorship&utm_content=ep_512" target="_blank">dataengineeringpodcast.com/datadriven</a> today to start practicing.</li><li>Your host is Tobias Macey and today I'm interviewing Jevin Maltais about the challenges of building a reliable streaming </li></ul><br />Interview<br /> <br /><ul><li>Introduction</li><li>How did you get involved in the area of data management?</li><li>
291Can you describe what Typestream is and the story behind it?</li><li>What are the common challenges that teams encounter when trying to build on top of Kafka?</li><li>How do those challenges/misconfigurations impact the team's ability to deliver on product goals?</li><li>What are the fundamental design aspects of Kafka that contribute to the difficulties that teams encounter when using it as an element of their architecture?</li><li>There have been numerous projects taking aim at Kafka, with varying approaches and degrees of effectiveness (e.g. RedPanda, AutoMQ, Pulsar, etc.). What are the tradeoffs that each of those approaches requires?</li><li>What makes the original Kafka project so resilient in the face of all of that competition?</li><li>Can you describe the architecture of Typestream and how each of the core elements contribute to a better user experience?</li><li>For teams who want to take advantage of streaming capabilities, but don't want to invest in becoming Kafka experts, what does the Typestream workflow look like?</li><li>If they don't want to manage the operational overhead of a Kafka cluster, how tightly coupled is Typestream to the original Kafka? (can someone use RedPanda or AutoMQ instead?)</li><li>
291What are the most interesting, innovative, or unexpected ways that you have seen Typestream used?</li><li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on Typestream?</li><li>When is Typestream the wrong choice?</li><li>What do you have planned for the future of Typestream?</li></ul><br />Contact Info<br /> <br /><ul><li><a href="https://www.jevy.org/" target="_blank">Website</a></li></ul><br />Parting Question<br /> <br /><ul><li>From your perspective, what is the biggest gap in the tooling or technology for data management today?</li></ul><br />Closing Announcements<br /> <br /><ul><li>Thank you for listening! Don't forget to check out our other shows. <a href="https://www.pythonpodcast.com" target="_blank">Podcast.__init__</a> covers the Python language, its community, and the innovative ways it is being used. The <a href="https://www.aiengineeringpodcast.com" target="_blank">AI Engineering Podcast</a> is your guide to the fast-moving world of building AI systems.</li><li>Visit the <a href="https://www.dataengineeringpodcast.com" target="_blank">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li><li>If you've learned something or tried out a project from the show then tell us about it! Email [email protected] with your story.</li></ul><br />Links<br /> <br /><ul><li><a href="https://typestream.io/" target="_blank">Typestream</a></li><li><a href="https://zapier.com/" target="_blank">Zapier</a></li><li><a href="http://airflow.apache.org/" target="_blank">Airflow</a></li><li><a href="https://kafka.apache.org/" target="_blank">Kafka</a></li><li><a href="https://developer.confluent.io/courses/kafka-streams/ktable/" target="_blank">KTables</a></li><li><a href="https://github.com/confluentinc/ksql" target="_blank">KSQL</a></li><li><a href="https://www.redpanda.com/" target="_blank">RedPanda</a></li><li><a href="https://pulsar.apache.org/" target="_blank">Pulsar</a></li><li><a href="https://www.automq.com/" target="_blank">AutoMQ</a></li><li><a href="https://github.com/confluentinc/schema-registry" target="_blank">Kafka Schema Registry</a></li><li><a href="https://debezium.io/" target="_blank">Debezium</a></li><li><a href="https://en.wikipedia.org/wiki/Change_data_capture" target="_blank">Change Data Capture</a></li><li><a href="https://kafka.apache.org/43/kafka-connect/overview/" target="_blank">Kafka Connect</a></li><li><a href="https://developer.hashicorp.com/terraform" target="_blank">Terraform</a></li><li><a href="https://developer.confluent.io/courses/architecture/compaction/" target="_blank">Kafka Compacted Topic</a></li></ul><br />The intro and outro music is from <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/Love_death_and_a_drunken_monkey/04_-_The_Hug" target="_blank">The Hug</a> by <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/" target="_blank">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/" target="_blank">CC BY-SA</a> 292 293 </div> 294 <div id="transcriptTab" style="display:none"> 295 <div id="transcriptLoading" class="has-text-centered p-4"> 296 <span class="icon is-large"> 297 <i class="mdi mdi-36px mdi-loading mdi-spin"></i> 298 </span> 299 <p>Loading transcript...</p> 300 </div> 301 <div id="transcriptContent"></div> 302 </div> 303 304 <div id="chapterTab" style="display:none"> 305 <div class="columns is-mobile" style="align-items:center"> 306 <div class="column"> 307 <p data-t="11" data-chapter="true">Welcome and episode setup</p> 308 </div> 309 <div class="column is-narrow"> 310 <a onclick="moveAudio('11')"> 00:00:11</a> 311 </div> 312 </div> 313 <div class="columns is-mobile" style="align-items:center"> 314 <div class="column">
315 <p data-t="69" data-chapter="true">Guest intro and background across Zapier, Humi, and Clio</p> 316 </div> 317 <div class="column is-narrow"> 318 <a onclick="moveAudio('69')"> 00:01:09</a> 319 </div> 320 </div> 321 <div class="columns is-mobile" style="align-items:center"> 322 <div class="column"> 323 <p data-t="264" data-chapter="true">From product needs to data pipelines and streaming</p> 324 </div> 325 <div class="column is-narrow"> 326 <a onclick="moveAudio('264')"> 00:04:24</a> 327 </div> 328 </div> 329 <div class="columns is-mobile" style="align-items:center"> 330 <div class="column"> 331 <p data-t="292" data-chapter="true">Why TypeStream: making Kafkas power approachable</p> 332 </div> 333 <div class="column is-narrow"> 334 <a onclick="moveAudio('292')"> 00:04:52</a> 335 </div> 336 </div> 337 <div class="columns is-mobile" style="align-items:center"> 338 <div class="column"> 339 <p data-t="439" data-chapter="true">Real examples: user sync and document sync at Clio</p> 340 </div> 341 <div class="column is-narrow"> 342 <a onclick="moveAudio('439')"> 00:07:19</a> 343 </div> 344 </div> 345 <div class="columns is-mobile" style="align-items:center"> 346 <div class="column"> 347 <p data-t="614" data-chapter="true">Operational tradeoffs: Kafka vs managed and compatibles</p> 348 </div> 349 <div class="column is-narrow"> 350 <a onclick="moveAudio('614')"> 00:10:14</a> 351 </div> 352 </div> 353 <div class="columns is-mobile" style="align-items:center"> 354 <div class="column"> 355 <p data-t="807" data-chapter="true">Adoption hurdles: governance and the need for a schema registry</p> 356 </div> 357 <div class="column is-narrow"> 358 <a onclick="moveAudio('807')"> 00:13:27</a> 359 </div> 360 </div> 361 <div class="columns is-mobile" style="align-items:center"> 362 <div class="column"> 363 <p data-t="979" data-chapter="true">Designing safer abstractions and partitions 101</p> 364 </div> 365 <div class="column is-narrow"> 366 <a onclick="moveAudio('979')"> 00:16:19</a> 367 </div> 368 </div> 369 <div class="columns is-mobile" style="align-items:center"> 370 <div class="column"> 371 <p data-t="1132" data-chapter="true">TypeStream approach: config as code, Streams, KTables, gRPC</p> 372 </div> 373 <div class="column is-narrow"> 374 <a onclick="moveAudio('1132')"> 00:18:52</a> 375 </div> 376 </div> 377 <div class="columns is-mobile" style="align-items:center"> 378 <div class="column"> 379 <p data-t="1238" data-chapter="true">Thin abstractions and observability escape hatches</p> 380 </div> 381 <div class="column is-narrow"> 382 <a onclick="moveAudio('1238')"> 00:20:38</a> 383 </div> 384 </div> 385 <div class="columns is-mobile" style="align-items:center"> 386 <div class="column">
387 <p data-t="1342" data-chapter="true">Common pipelines: CDC to transform to search/analytics</p> 388 </div> 389 <div class="column is-narrow"> 390 <a onclick="moveAudio('1342')"> 00:22:22</a> 391 </div> 392 </div> 393 <div class="columns is-mobile" style="align-items:center"> 394 <div class="column"> 395 <p data-t="1542" data-chapter="true">CDC realities: Debezium edge cases and limits</p> 396 </div> 397 <div class="column is-narrow"> 398 <a onclick="moveAudio('1542')"> 00:25:42</a> 399 </div> 400 </div> 401 <div class="columns is-mobile" style="align-items:center"> 402 <div class="column"> 403 <p data-t="1680" data-chapter="true">Expectation setting: easy on ramp, deeper complexity later</p> 404 </div> 405 <div class="column is-narrow"> 406 <a onclick="moveAudio('1680')"> 00:28:00</a> 407 </div> 408 </div> 409 <div class="columns is-mobile" style="align-items:center"> 410 <div class="column"> 411 <p data-t="1904" data-chapter="true">Event modeling, schema evolution, and compatibility</p> 412 </div> 413 <div class="column is-narrow"> 414 <a onclick="moveAudio('1904')"> 00:31:44</a> 415 </div> 416 </div> 417 <div class="columns is-mobile" style="align-items:center"> 418 <div class="column"> 419 <p data-t="2097" data-chapter="true">Who uses TypeStream and how to deploy it</p> 420 </div> 421 <div class="column is-narrow"> 422 <a onclick="moveAudio('2097')"> 00:34:57</a> 423 </div> 424 </div> 425 <div class="columns is-mobile" style="align-items:center"> 426 <div class="column"> 427 <p data-t="2228" data-chapter="true">Unexpected uses: trying new data stores quickly</p> 428 </div> 429 <div class="column is-narrow"> 430 <a onclick="moveAudio('2228')"> 00:37:08</a> 431 </div> 432 </div> 433 <div class="columns is-mobile" style="align-items:center"> 434 <div class="column"> 435 <p data-t="2299" data-chapter="true">Lessons learned: deployment pain and underused features</p> 436 </div> 437 <div class="column is-narrow"> 438 <a onclick="moveAudio('2299')"> 00:38:19</a> 439 </div> 440 </div> 441 <div class="columns is-mobile" style="align-items:center"> 442 <div class="column"> 443 <p data-t="2431" data-chapter="true">Platform risk and portability across Kafka compatibles</p> 444 </div> 445 <div class="column is-narrow"> 446 <a onclick="moveAudio('2431')"> 00:40:31</a> 447 </div> 448 </div> 449 <div class="columns is-mobile" style="align-items:center"> 450 <div class="column"> 451 <p data-t="2596" data-chapter="true">When not to use TypeStream and custom Streams needs</p> 452 </div> 453 <div class="column is-narrow"> 454 <a onclick="moveAudio('2596')"> 00:43:16</a> 455 </div> 456 </div> 457 <div class="columns is-mobile" style="align-items:center"> 458 <div class="column">
459 <p data-t="2683" data-chapter="true">Roadmap: portability, users, and licensing</p> 460 </div> 461 <div class="column is-narrow"> 462 <a onclick="moveAudio('2683')"> 00:44:43</a> 463 </div> 464 </div> 465 <div class="columns is-mobile" style="align-items:center"> 466 <div class="column"> 467 <p data-t="2784" data-chapter="true">Closing thoughts and biggest gaps in data and AI</p> 468 </div> 469 <div class="column is-narrow"> 470 <a onclick="moveAudio('2784')"> 00:46:24</a> 471 </div> 472 </div> 473 <div class="columns is-mobile" style="align-items:center"> 474 <div class="column"> 475 <p data-t="2920" data-chapter="true">Wrap up and credits</p> 476 </div> 477 <div class="column is-narrow"> 478 <a onclick="moveAudio('2920')"> 00:48:40</a> 479 </div> 480 </div> 481 </div> 482 483 </div> 484 <br /> 485<div> 486 <p class="content">Share on social media:</p> 487 488 <div class="columns is-mobile"> 489 <div class="column is-narrow"> 490 <a href="https://twitter.com/intent/tweet?text=Holding Kafka Right: Product-Friendly Streaming with TypeStream Hosted on @Podhomefm&url=https://www.dataengineeringpodcast.com/typestream-kafka-as-code-for-product-teams-episode-512" target="_blank"> 491 <svg xmlns="http://www.w3.org/2000/svg" width="34" height="34" viewBox="0 0 1200 1227" style="cursor:pointer; background-color: whitesmoke; color:black; border-radius: 50%;padding:2px"> 492 <path fill="currentColor" d="M714.163 519.284L1160.89 0H1055.03L667.137 450.887L357.328 0H0L468.492 681.821L0 1226.37H105.866L515.491 750.218L842.672 1226.37H1200L714.137 519.284H714.163ZM569.165 687.828L521.697 619.934L144.011 79.6944H306.615L611.412 515.685L658.88 583.579L1055.08 1150.3H892.476L569.165 687.854V687.828Z" /> 493 </svg> 494 </a> 495 </div> 496 <div class="column is-narrow"> 497 <a href="https://linkedin.com/shareArticle?url=https://www.dataengineeringpodcast.com/typestream-kafka-as-code-for-product-teams-episode-512" target="_blank"> 498 <svg xmlns="http://www.w3.org/2000/svg" style="cursor:pointer;width: 34px;height: 34px; background-color: whitesmoke; color:black; border-radius: 50%;padding:2px" viewBox="0 0 24 24"> 499 <path fill="currentColor" d="M19 3A2 2 0 0 1 21 5V19A2 2 0 0 1 19 21H5A2 2 0 0 1 3 19V5A2 2 0 0 1 5 3H19M18.5 18.5V13.2A3.26 3.26 0 0 0 15.24 9.94C14.39 9.94 13.4 10.46 12.92 11.24V10.13H10.13V18.5H12.92V13.57C12.92 12.8 13.54 12.17 14.31 12.17A1.4 1.4 0 0 1 15.71 13.57V18.5H18.5M6.88 8.56A1.68 1.68 0 0 0 8.56 6.88C8.56 5.95 7.81 5.19 6.88 5.19A1.69 1.69 0 0 0 5.19 6.88C5.19 7.81 5.95 8.56 6.88 8.56M8.27 18.5V10.13H5.5V18.5H8.27Z" /> 500 </svg> 501 </a> 502 </div> 503 <div class="column is-narrow"> 504 <a href="https://www.instagram.com/" target="_blank"> 505 <svg style="cursor:pointer;width: 34px;height: 34px;background-color: whitesmoke; color:black; border-radius: 50%;padding:2px" viewBox="0 0 24 24"> 506 <path fill="currentColor" d="M7.8,2H16.2C19.4,2 22,4.6 22,7.8V16.2A5.8,5.8 0 0,1 16.2,22H7.8C4.6,22 2,19.4 2,16.2V7.8A5.8,5.8 0 0,1 7.8,2M7.6,4A3.6,3.6 0 0,0 4,7.6V16.4C4,18.39 5.61,20 7.6,20H16.4A3.6,3.6 0 0,0 20,16.4V7.6C20,5.61 18.39,4 16.4,4H7.6M17.25,5.5A1.25,1.25 0 0,1 18.5,6.75A1.25,1.25 0 0,1 17.25,8A1.25,1.25 0 0,1 16,6.75A1.25,1.25 0 0,1 17.25,5.5M12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9Z"></path> 507 </svg> 508 </a> 509 </div> 510 <div class="column is-narrow"> 511 <a href="https://www.facebook.com/sharer/sharer.php?u=https://www.dataengineeringpodcast.com/typestream-kafka-as-code-for-product-teams-episode-512?211225161" target="_blank"> 512 <svg xmlns="http://www.w3.org/2000/svg" style="cursor:pointer;width: 34px;height: 34px;background-color: whitesmoke; color:black; border-radius: 50%;padding:2px" viewBox="0 0 24 24">
513 <path fill="currentColor" d="M12 2.04C6.5 2.04 2 6.53 2 12.06C2 17.06 5.66 21.21 10.44 21.96V14.96H7.9V12.06H10.44V9.85C10.44 7.34 11.93 5.96 14.22 5.96C15.31 5.96 16.45 6.15 16.45 6.15V8.62H15.19C13.95 8.62 13.56 9.39 13.56 10.18V12.06H16.34L15.89 14.96H13.56V21.96A10 10 0 0 0 22 12.06C22 6.53 17.5 2.04 12 2.04Z" /> 514 </svg> 515 </a> 516 </div> 517 </div> 518 519</div> 520 <hr /> 521 522 523<p class="subtitle">Listen in your favorite app:</p> 524 525 526 <a class="button subscribeButton" href="https://api.podverse.fm/api/v1/podcast/podcastindex/403671" title="Listen on Podverse" target="_blank"> 527 <span class="icon"> 528 <img src="https://cdn.podhome.fm/podverse.jpg" alt="Podverse logo" height="24" width="24"> 529 </span> 530 <span>Podverse</span> 531 </a> 532 533 534 <a class="button subscribeButton" href="https://app.podcastguru.io/podcast/1193040557" title="Listen on Podcast Guru" target="_blank"> 535 <span class="icon"> 536 <img src="https://cdn.podhome.fm/podcastguru.jpg" alt="Podcast Guru logo" height="24" width="24"> 537 538 </span> 539 <span>Podcast Guru</span> 540 </a> 541 542 <a class="button subscribeButton" href="https://podcasts.apple.com/us/podcast/data-engineering-podcast/id1193040557?uo=4" title="Listen on Apple Podcasts" target="_blank"> 543 <span class="icon"> 544 <img src="https://cdn.podhome.fm/apple.png" alt="Apple Podcasts logo" height="24" width="24"> 545 </span> 546 <span>Apple Podcasts</span> 547 </a> 548 549 <a class="button subscribeButton" href="https://pca.st/itunes/1193040557" title="Listen on Pocket Casts" target="_blank"> 550 <span class="icon"> 551 <img src="https://cdn.podhome.fm/pocket-casts.png" alt="Pocket Casts logo" height="24" width="24"> 552 </span> 553 <span>Pocket Casts</span> 554 </a> 555 556 <a class="button subscribeButton" href="https://overcast.fm/itunes1193040557" title="Listen on Overcast" target="_blank"> 557 <span class="icon"> 558 <img src="https://cdn.podhome.fm/overcast.svg" alt="Overcast logo" height="24" width="24"> 559 560 </span> 561 <span>Overcast</span> 562 </a> 563 564 <a class="button subscribeButton" href="https://open.spotify.com/show/2iLvljRGVVIGlJshT5vNDS?si=97hjsjm4QYG-r6bFi3UkxA" title="Listen on Spotify" target="_blank"> 565 <span class="icon"> 566 <img src="https://cdn.podhome.fm/spotify.png" alt="Spotify for Podcasters logo" height="24" width="24"> 567 </span> 568 <span>Spotify</span> 569 </a> 570 571 572 573 <a class="button subscribeButton" href="https://pod.link/1193040557" title="Pick your app with Podlink" target="_blank"> 574 <span class="icon"> 575 <img src="https://cdn.podhome.fm/podlink.png" alt="Podlink logo" height="24" width="24"> 576 </span> 577 <span>Podlink</span> 578 </a> 579 580<br /> 581<br /> 582 583<details> 584 <summary>More options</summary> 585 <br /> 586 <div> 587 588 <a class="button subscribeButton" href="https://podcastindex.org/podcast/403671" title="Listen on Podcast Index" target="_blank"> 589 <span class="icon"> 590 <img src="https://cdn.podhome.fm/podcast-index.svg" alt="Podcast Index logo" height="24" width="24"> 591 </span> 592 <span>Podcast Index</span> 593 </a> 594 595 <a class="button subscribeButton" href="https://truefans.fm/1c0357c0-6aba-5766-a2d5-2090d8dab6bc" title="Listen on TrueFans" target="_blank"> 596 <span class="icon"> 597 <img src="https://cdn.podhome.fm/podfans.png" alt="TrueFans logo" height="24" width="24"> 598 </span> 599 <span>TrueFans</span> 600 </a> 601 602 <a class="button subscribeButton" href="https://castbox.fm/vic/1193040557" title="Listen on Castbox" target="_blank"> 603 <span class="icon"> 604 <img src="https://cdn.podhome.fm/castbox.png" alt="Castbox logo" height="24" width="24"> 605 </span> 606 <span>CastBox</span> 607 </a> 608 609 610 611 <a class="button subscribeButton" href="https://castro.fm/itunes/1193040557" title="Listen on Castro" target="_blank"> 612 <span class="icon"> 613 <img src="https://cdn.podhome.fm/castro.png" alt="Castro logo" height="24" width="24"> 614 </span> 615 <span>Castro</span> 616 </a> 617 618 <a class="button subscribeButton" href="https://music.amazon.com/podcasts/4c60afdb-050c-49de-9053-ffcaeaa9fcb7/data-engineering-podcast" title="Listen on Amazon Music" target="_blank">
619 <span class="icon"> 620 <img src="https://cdn.podhome.fm/amazon.png" alt="Amazon Music logo" height="24" width="24"> 621 </span> 622 <span>Amazon Music</span> 623 </a> 624 625 626 627 628 629 630 631 632 633 634 <div class="field mt-3" style="width:100%"> 635 <label class="label"> 636 <span class="icon is-medium has-text-primary is-right"> 637 <i class="mdi mdi-24px mdi-rss"></i> 638 </span> 639 Show RSS Feed 640 </label> 641 <div class="control has-icons-right"> 642 <input autocomplete="off" readonly id="rssFeedUrl" class="input is-primary" value="https://serve.podhome.fm/rss/1c0357c0-6aba-5766-a2d5-2090d8dab6bc" title="Copy the Show RSS feed" style="cursor:pointer" onclick="copyText('https://serve.podhome.fm/rss/1c0357c0-6aba-5766-a2d5-2090d8dab6bc')"> 643 <span class="icon is-medium has-text-primary is-right"> 644 <i class="mdi mdi-18px mdi-content-copy"></i> 645 </span> 646 <span class="is-size-7 has-text-grey" id="copyTextMessage">Click to copy to clipboard</span> 647 </div> 648 </div> 649 </div> 650</details> 651 <hr /> 652 653<p class="subtitle">Here are shows you might like</p> 654 655<details> 656 <summary>See show recommendations</summary> 657 <br /> 658 <div> 659 660 <div class="columns"> 661 <div class="column " style="text-align:center"> 662 <div class="container" style="position: relative;width:160px"> 663 <a href="https://www.aiengineeringpodcast.com" target="_blank" title="Go to https://www.aiengineeringpodcast.com"> 664 <img src="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638557211890591941ai_engineering_podcast_logo.jpg" alt="AI Engineering Podcast artwork" title="AI Engineering Podcast artwork" onerror="this.onerror=null; this.src='https://cdn.podhome.fm/artworknotfound.png';" height="150" width="150"> 665 </a> 666 </div> 667 668 <strong>AI Engineering Podcast</strong> 669 <br /> 670 <span>Tobias Macey</span> 671 672 </div> 673 <div class="column " style="text-align:center"> 674 <div class="container" style="position: relative;width:160px"> 675 <a href="https://www.pythonpodcast.com" target="_blank" title="Go to https://www.pythonpodcast.com"> 676 <img src="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385252964948
67603510cover.jpg" alt="The Python Podcast.__init__ artwork" title="The Python Podcast.__init__ artwork" onerror="this.onerror=null; this.src='https://cdn.podhome.fm/artworknotfound.png';" height="150" width="150"> 677 </a> 678 </div> 679 680 <strong>The Python Podcast.__init__</strong> 681 <br /> 682 <span>Tobias Macey</span> 683 684 </div> 685 </div> 686 687 </div> 688</details> 689 690 691 692 693 <audio id="episodeAudio"> 694 </audio> 695
696<script type="text/javascript"> 697 698 let transcriptLoaded = false; 699 700 function loadTranscript() { 701 if (transcriptLoaded) return; 702 703 fetch('/api/transcript/8ecda746-bff7-4c7e-b384-3fc00c01f44a') 704 .then(response => { 705 if (!response.ok) throw new Error('Failed to load transcript'); 706 return response.text(); 707 }) 708 .then(html => { 709 document.getElementById('transcriptContent').innerHTML = html; 710 document.getElementById('transcriptLoading').style.display = 'none'; 711 transcriptLoaded = true; 712 }) 713 .catch(error => { 714 document.getElementById('transcriptLoading').innerHTML = 715 '<p class="has-text-danger">Failed to load transcript. Please try again.</p>'; 716 console.error('Transcript load error:', error); 717 }); 718 } 719 720 // Override selectTab to lazy-load transcript 721 const originalSelectTab = typeof selectTab === 'function' ? selectTab : null; 722 723 function selectTab(tabName) { 724 // Hide all tabs 725 document.getElementById('descriptionTab').style.display = 'none'; 726 const transcriptTab = document.getElementById('transcriptTab'); 727 if (transcriptTab) transcriptTab.style.display = 'none'; 728 const chapterTab = document.getElementById('chapterTab'); 729 if (chapterTab) chapterTab.style.display = 'none'; 730 731 // Remove active class from all tab panels 732 document.getElementById('descriptionTabPanel').classList.remove('is-active'); 733 const transcriptPanel = document.getElementById('transcriptTabPanel'); 734 if (transcriptPanel) transcriptPanel.classList.remove('is-active'); 735 const chapterPanel = document.getElementById('chapterTabPanel'); 736 if (chapterPanel) chapterPanel.classList.remove('is-active'); 737 738 // Show selected tab and add active class 739 if (tabName === 'description') { 740 document.getElementById('descriptionTab').style.display = ''; 741 document.getElementById('descriptionTabPanel').classList.add('is-active'); 742 } else if (tabName === 'transcript') { 743 if (transcriptTab) transcriptTab.style.display = ''; 744 if (transcriptPanel) transcriptPanel.classList.add('is-active'); 745 loadTranscript(); // Lazy load! 746 } else if (tabName === 'chapter') { 747 if (chapterTab) chapterTab.style.display = ''; 748 if (chapterPanel) chapterPanel.classList.add('is-active'); 749 } 750 } 751 752 document.addEventListener('DOMContentLoaded', () => { 753 displayLivePendingLocalTime(''); 754 }); 755</script>
755 756 757 758 759 <footer> 760 <hr /> 761 762 <div class="mb-2"> 763 764 765 766 767 768 <a class="mr-2" style="vertical-align:top" href="https://linkedin.com/in/tmacey" target="_blank" title="Connect with me on LinkedIn"> 769 <svg xmlns="http://www.w3.org/2000/svg" style="width: 24px;height: 24px;" viewBox="0 0 24 24"> 770 <path fill="#000000" d="M19 3A2 2 0 0 1 21 5V19A2 2 0 0 1 19 21H5A2 2 0 0 1 3 19V5A2 2 0 0 1 5 3H19M18.5 18.5V13.2A3.26 3.26 0 0 0 15.24 9.94C14.39 9.94 13.4 10.46 12.92 11.24V10.13H10.13V18.5H12.92V13.57C12.92 12.8 13.54 12.17 14.31 12.17A1.4 1.4 0 0 1 15.71 13.57V18.5H18.5M6.88 8.56A1.68 1.68 0 0 0 8.56 6.88C8.56 5.95 7.81 5.19 6.88 5.19A1.69 1.69 0 0 0 5.19 6.88C5.19 7.81 5.95 8.56 6.88 8.56M8.27 18.5V10.13H5.5V18.5H8.27Z" /> 771 </svg> 772 </a> 773 774 775 776 777 778 </div> 779 780 <span class="has-text-grey is-size-7 ">© 2025 Boundless Notions, LLC.</span> 781 </footer> 782 783 </div> 784 785 <div class="column is-narrow ml-3" style="padding-top: 0px;"> 786 787 <div class="box" style="max-width: 300px;position:relative"> 788 789 <strong style="position: absolute;top: -12px;">EPISODE SPONSORS</strong> 790 791 <strong class="subtitle">Data Driven</strong> 792 <figure class="image mt-2 mb-2"> 793 <img src="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/639158741255171190datadriven-logo.png" alt="Data Driven" /> 794 </figure> 795 <p>DataDriven.io is the free data engineering interview prep platform built for data engineers. Practice real data engineering interview questions asked in interviews by top companies across SQL, Python, data modeling, and pipeline architecture, with live code execution and interactive whiteboarding. Unlike SQL-only or Python-only practice, DataDriven.io covers the full data engineering interview loop: star schema and data modeling, slowly changing dimensions, grain and fact table design, idempotency, watermarks, dead letter queues, CDC, and backpressure. Questions are sourced from actual interview loops asked in real interviews, at companies including Google, Amazon, Meta, Stripe, Databricks, Netflix, and Airbnb. Free forever, no paywall, no credit card. Prepare for your data engineering interview today at dataengineeringpodcast.com/datadriven.</p> 796 <a href="https://datadriven.io/?utm_source=dataengineeringpodcast&utm_medium=podcast&utm_campaign=macey_sponsorship&utm_content=ep_all" target="_blank">https://datadriven.io/?utm_source=dataengineeringpodcast&utm_medium=podcast&utm_campaign=macey_sponsorship&utm_content=ep_all</a> 797 </div> 798 799 800 801 </div> 802 </div> 803 </div> 804 </section> 805 806 <div style="text-align: center;"> 807 808 <a href="https://www.podhome.fm" title="Host your Podcast on Podhome.fm" target="_blank"> 809 810 <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" zoomAndPan="magnify" viewBox="0 0 150 33.749998" height="45" preserveAspectRatio="xMidYMid meet" version="1.0"> 811 <defs><g /><clipPath id="98cad2cb55"><path d="M 0.550781 11.914062 L 25.121094 11.914062 L 25.121094 30.527344 L 0.550781 30.527344 Z M 0.550781 11.914062 " clip-rule="nonzero" /></clipPath></defs> 812 <g clip-path="url(#98cad2cb55)"><path fill="#ffffff" d="M 16.296875 19.359375 L 16.296875 23.703125 C 16.296875 24.386719 15.734375 24.945312 15.039062 24.945312 C 14.34375 24.945312 13.78125 24.386719 13.78125 23.703125 L 13.78125 19.359375 C 13.78125 18.675781 14.34375 18.121094 15.039062 18.121094 C 15.734375 18.121094 16.296875 18.675781 16.296875 19.359375 Z M 19.445312 13.777344 C 18.75 13.777344 18.183594 14.332031 18.183594 15.015625 L 18.183594 27.425781 C 18.183594 28.109375 18.75 28.667969 19.445312 28.667969 C 20.140625 28.667969 20.703125 28.109375 20.703125 27.425781 L 20.703125 15.015625 C 20.703125 14.332031 20.136719 13.777344 19.445312 13.777344 Z M 1.824219 18.738281 L 1.820312 18.738281 C 1.128906 18.738281 0.5625 19.296875 0.5625 19.980469 L 0.5625 22.460938 C 0.5625 23.148438 1.128906 23.703125 1.820312 23.703125 L 1.824219 23.703125 C 2.519531 23.703125 3.082031 23.148438 3.082031 22.460938 L 3.082031 19.980469 C 3.082031 19.296875 2.519531 18.738281 1.824219 18.738281 Z M 6.226562 15.015625 C 5.53125 15.015625 4.96875 15.574219 4.96875 16.257812 L 4.96875 26.804688 C 4.96875 27.488281 5.53125 28.046875 6.226562 28.046875 C 6.921875 28.046875 7.488281 27.488281 7.488281 26.804688 L 7.488281 16.257812 C 7.488281 15.574219 6.921875 15.015625 6.226562 15.015625 Z M 10.632812 11.914062 C 9.9375 11.914062 9.375 12.46875 9.375 13.15625 L 9.375 29.285156 C 9.375 29.972656 9.9375 30.527344 10.632812 30.527344 C 11.328125 30.527344 11.890625 29.972656 11.890625 29.285156 L 11.890625 13.15625 C 11.890625 12.46875 11.328125 11.914062 10.632812 11.914062 Z M 23.847656 19.359375 C 23.152344 19.359375 22.589844 19.914062 22.589844 20.601562 L 22.589844 22.460938 C 22.589844 23.148438 23.152344 23.703125 23.847656 23.703125 C 24.542969 23.703125 25.105469 23.148438 25.105469 22.460938 L 25.105469 20.601562 C 25.105469 19.914062 24.542969 19.359375 23.847656 19.359375 Z M 23.847656 19.359375 " fill-opacity="1" fill-rule="nonzero" /></g> 813 <g fill="#ffffff" fill-opacity="1"><g transform="translate(26.623669, 27.754971)"><g><path d="M 2.921875 0.125 C 2.515625 0.125 2.191406 0.00390625 1.953125 -0.234375 C 1.710938 -0.484375 1.59375
813-0.816406 1.59375 -1.234375 L 1.59375 -13.453125 C 1.59375 -13.859375 1.707031 -14.171875 1.9375 -14.390625 C 2.164062 -14.617188 2.484375 -14.734375 2.890625 -14.734375 L 8.015625 -14.734375 C 9.585938 -14.734375 10.8125 -14.335938 11.6875 -13.546875 C 12.570312 -12.765625 13.015625 -11.660156 13.015625 -10.234375 C 13.015625 -8.816406 12.570312 -7.707031 11.6875 -6.90625 C 10.8125 -6.113281 9.585938 -5.71875 8.015625 -5.71875 L 4.28125 -5.71875 L 4.28125 -1.234375 C 4.28125 -0.816406 4.15625 -0.484375 3.90625 -0.234375 C 3.664062 0.00390625 3.335938 0.125 2.921875 0.125 Z M 7.6875 -7.796875 C 9.539062 -7.796875 10.46875 -8.601562 10.46875 -10.21875 C 10.46875 -11.832031 9.539062 -12.640625 7.6875 -12.640625 L 4.28125 -12.640625 L 4.28125 -7.796875 Z M 7.6875 -7.796875 " /></g></g></g> 814 <g fill="#ffffff" fill-opacity="1"><g transform="translate(40.412817, 27.754971)"><g><path d="M 6.015625 0.171875 C 4.972656 0.171875 4.054688 -0.0390625 3.265625 -0.46875 C 2.484375 -0.90625 1.875 -1.523438 1.4375 -2.328125 C 1.007812 -3.140625 0.796875 -4.082031 0.796875 -5.15625 C 0.796875 -6.226562 1.007812 -7.164062 1.4375 -7.96875 C 1.875 -8.769531 2.484375 -9.382812 3.265625 -9.8125 C 4.054688 -10.25 4.972656 -10.46875 6.015625 -10.46875 C 7.054688 -10.46875 7.96875 -10.25 8.75 -9.8125 C 9.539062 -9.382812 10.148438 -8.769531 10.578125 -7.96875 C 11.003906 -7.164062 11.21875 -6.226562 11.21875 -5.15625 C 11.21875 -4.082031 11.003906 -3.140625 10.578125 -2.328125 C 10.148438 -1.523438 9.539062 -0.90625 8.75 -0.46875 C 7.96875 -0.0390625 7.054688 0.171875 6.015625 0.171875 Z M 6 -1.859375 C 6.84375 -1.859375 7.488281 -2.132812 7.9375 -2.6875 C 8.382812 -3.25 8.609375 -4.070312 8.609375 -5.15625 C 8.609375 -6.226562 8.382812 -7.046875 7.9375 -7.609375 C 7.488281 -8.171875 6.847656 -8.453125 6.015625 -8.453125 C 5.179688 -8.453125 4.535156 -8.171875 4.078125 -7.609375 C 3.628906 -7.046875 3.40625 -6.226562 3.40625 -5.15625 C 3.40625 -4.070312 3.628906 -3.25 4.078125 -2.6875 C 4.523438 -2.132812 5.164062 -1.859375 6 -1.859375 Z M 6 -1.859375 " /></g></g></g> 815 <g fill="#ffffff" fill-opacity="1"><g transform="translate(52.426091, 27.754971)"><g><path d="M 9.875 -14.828125 C 10.269531 -14.828125 10.59375 -14.710938 10.84375 -14.484375 C 11.09375 -14.265625 11.21875 -13.976562 11.21875 -13.625 L 11.21875 -1.125 C 11.21875 -0.75 11.097656 -0.445312 10.859375 -0.21875 C 10.628906 0 10.316406 0.109375 9.921875 0.109375 C 9.535156 0.109375 9.222656 0 8.984375 -0.21875 C 8.742188 -0.445312 8.625 -0.75 8.625 -1.125 L 8.625 -1.65625 C 8.320312 -1.082031 7.878906 -0.632812 7.296875 -0.3125 C 6.722656 0.0078125 6.066406 0.171875 5.328125 0.171875 C 4.453125 0.171875 3.664062 -0.0507812 2.96875 -0.5 C 2.28125 -0.945312 1.742188 -1.578125 1.359375 -2.390625 C 0.984375 -3.203125 0.796875 -4.140625 0.796875 -5.203125 C 0.796875 -6.265625 0.984375 -7.191406 1.359375 -7.984375 C 1.742188 -8.773438 2.273438 -9.382812 2.953125 -9.8125 C 3.640625 -10.25 4.429688 -10.46875 5.328125 -10.46875 C 6.066406 -10.46875 6.71875 -10.3125 7.28125 -10 C 7.851562 -9.695312 8.296875 -9.269531 8.609375 -8.71875 L 8.609375 -13.65625 C 8.609375 -14.007812 8.722656 -14.289062 8.953125 -14.5 C 9.179688 -14.71875 9.488281 -14.828125 9.875 -14.828125 Z M 6.015625 -1.859375 C 6.847656 -1.859375 7.488281 -2.144531 7.9375 -2.71875 C 8.394531 -3.289062 8.625 -4.101562 8.625 -5.15625 C 8.625 -6.21875 8.394531 -7.03125 7.9375 -7.59375 C 7.488281 -8.15625 6.851562 -8.4375 6.03125 -8.4375 C 5.195312 -8.4375 4.550781 -8.15625 4.09375 -7.59375 C 3.632812 -7.039062 3.40625 -6.242188 3.40625 -5.203125 C 3.40625 -4.140625 3.632812 -3.316406 4.09375 -2.734375 C 4.550781 -2.148438 5.191406 -1.859375 6.015625 -1.859375 Z M 6.015625 -1.859375 " /></g></g></g> 816 <g fill="#ffffff" fill-opacity="1"><g transform="translate(64.982575, 27.754971)"><g><path d="M 7.328125 -10.46875 C 9.722656 -10.46875 10.921875 -9.066406 10.921875 -6.265625 L 10.921875 -1.125 C 10.921875 -0.738281 10.804688 -0.429688 10.578125 -0.203125 C 10.347656 0.015625 10.03125 0.125 9.625 0.125 C 9.226562 0.125 8.910156 0.015625 8.671875 -0.203125 C 8.429688 -0.429688 8.3125 -0.738281 8.3125 -1.125 L 8.3125 -6.265625 C 8.3125 -7.003906 8.160156 -7.539062 7.859375
816-7.875 C 7.566406 -8.21875 7.097656 -8.390625 6.453125 -8.390625 C 5.703125 -8.390625 5.097656 -8.15625 4.640625 -7.6875 C 4.191406 -7.21875 3.96875 -6.582031 3.96875 -5.78125 L 3.96875 -1.125 C 3.96875 -0.738281 3.847656 -0.429688 3.609375 -0.203125 C 3.378906 0.015625 3.0625 0.125 2.65625 0.125 C 2.25 0.125 1.929688 0.015625 1.703125 -0.203125 C 1.472656 -0.429688 1.359375 -0.738281 1.359375 -1.125 L 1.359375 -13.625 C 1.359375 -13.976562 1.476562 -14.265625 1.71875 -14.484375 C 1.96875 -14.710938 2.285156 -14.828125 2.671875 -14.828125 C 3.066406 -14.828125 3.378906 -14.722656 3.609375 -14.515625 C 3.847656 -14.304688 3.96875 -14.019531 3.96875 -13.65625 L 3.96875 -8.796875 C 4.3125 -9.335938 4.769531 -9.75 5.34375 -10.03125 C 5.925781 -10.320312 6.585938 -10.46875 7.328125 -10.46875 Z M 7.328125 -10.46875 " /></g></g></g> 817 <g fill="#ffffff" fill-opacity="1"><g transform="translate(77.20478, 27.754971)"><g><path d="M 6.015625 0.171875 C 4.972656 0.171875 4.054688 -0.0390625 3.265625 -0.46875 C 2.484375 -0.90625 1.875 -1.523438 1.4375 -2.328125 C 1.007812 -3.140625 0.796875 -4.082031 0.796875 -5.15625 C 0.796875 -6.226562 1.007812 -7.164062 1.4375 -7.96875 C 1.875 -8.769531 2.484375 -9.382812 3.265625 -9.8125 C 4.054688 -10.25 4.972656 -10.46875 6.015625 -10.46875 C 7.054688 -10.46875 7.96875 -10.25 8.75 -9.8125 C 9.539062 -9.382812 10.148438 -8.769531 10.578125 -7.96875 C 11.003906 -7.164062 11.21875 -6.226562 11.21875 -5.15625 C 11.21875 -4.082031 11.003906 -3.140625 10.578125 -2.328125 C 10.148438 -1.523438 9.539062 -0.90625 8.75 -0.46875 C 7.96875 -0.0390625 7.054688 0.171875 6.015625 0.171875 Z M 6 -1.859375 C 6.84375 -1.859375 7.488281 -2.132812 7.9375 -2.6875 C 8.382812 -3.25 8.609375 -4.070312 8.609375 -5.15625 C 8.609375 -6.226562 8.382812 -7.046875 7.9375 -7.609375 C 7.488281 -8.171875 6.847656 -8.453125 6.015625 -8.453125 C 5.179688 -8.453125 4.535156 -8.171875 4.078125 -7.609375 C 3.628906 -7.046875 3.40625 -6.226562 3.40625 -5.15625 C 3.40625 -4.070312 3.628906 -3.25 4.078125 -2.6875 C 4.523438 -2.132812 5.164062 -1.859375 6 -1.859375 Z M 6 -1.859375 " /></g></g></g> 818 <g fill="#ffffff" fill-opacity="1"><g transform="translate(89.218054, 27.754971)"><g><path d="M 13.5 -10.46875 C 14.613281 -10.46875 15.460938 -10.132812 16.046875 -9.46875 C 16.640625 -8.8125 16.9375 -7.742188 16.9375 -6.265625 L 16.9375 -1.125 C 16.9375 -0.71875 16.816406 -0.40625 16.578125 -0.1875 C 16.335938 0.0195312 16.019531 0.125 15.625 0.125 C 15.25 0.125 14.9375 0.0195312 14.6875 -0.187
8185 C 14.445312 -0.40625 14.328125 -0.71875 14.328125 -1.125 L 14.328125 -6.265625 C 14.328125 -7.035156 14.191406 -7.582031 13.921875 -7.90625 C 13.648438 -8.226562 13.238281 -8.390625 12.6875 -8.390625 C 12 -8.390625 11.453125 -8.15625 11.046875 -7.6875 C 10.648438 -7.226562 10.453125 -6.59375 10.453125 -5.78125 L 10.453125 -1.125 C 10.453125 -0.71875 10.328125 -0.40625 10.078125 -0.1875 C 9.835938 0.0195312 9.53125 0.125 9.15625 0.125 C 8.78125 0.125 8.460938 0.0195312 8.203125 -0.1875 C 7.953125 -0.40625 7.828125 -0.71875 7.828125 -1.125 L 7.828125 -6.265625 C 7.828125 -7.035156 7.691406 -7.582031 7.421875 -7.90625 C 7.148438 -8.226562 6.738281 -8.390625 6.1875 -8.390625 C 5.5 -8.390625 4.957031 -8.15625 4.5625 -7.6875 C 4.164062 -7.226562 3.96875 -6.59375 3.96875 -5.78125 L 3.96875 -1.125 C 3.96875 -0.71875 3.84375 -0.40625 3.59375 -0.1875 C 3.34375 0.0195312 3.03125 0.125 2.65625 0.125 C 2.28125 0.125 1.96875 0.0195312 1.71875 -0.1875 C 1.476562 -0.40625 1.359375 -0.71875 1.359375 -1.125 L 1.359375 -9.21875 C 1.359375 -9.601562 1.484375 -9.898438 1.734375 -10.109375 C 1.984375 -10.316406 2.296875 -10.421875 2.671875 -10.421875 C 3.035156 -10.421875 3.332031 -10.316406 3.5625 -10.109375 C 3.789062 -9.910156 3.90625 -9.625 3.90625 -9.25 L 3.90625 -8.75 C 4.226562 -9.3125 4.65625 -9.738281 5.1875 -10.03125 C 5.726562 -10.320312 6.347656 -10.46875 7.046875 -10.46875 C 8.578125 -10.46875 9.597656 -9.828125 10.109375 -8.546875 C 10.421875 -9.128906 10.875 -9.59375 11.46875 -9.9375 C 12.070312 -10.289062 12.75 -10.46875 13.5 -10.46875 Z M 13.5 -10.46875 " /></g></g></g> 819 <g fill="#ffffff" fill-opacity="1"><g transform="translate(107.457336, 27.754971)"><g><path d="M 9.4375 -2.796875 C 9.675781 -2.796875 9.867188 -2.703125 10.015625 -2.515625 C 10.160156 -2.335938 10.234375 -2.097656 10.234375 -1.796875 C 10.234375 -1.367188 9.976562 -1.003906 9.46875 -0.703125 C 8.988281 -0.441406 8.445312 -0.226562 7.84375 -0.0625 C 7.25 0.09375 6.679688 0.171875 6.140625 0.171875 C 4.492188 0.171875 3.191406 -0.300781 2.234375 -1.25 C 1.273438 -2.195312 0.796875 -3.492188 0.796875 -5.140625 C 0.796875 -6.179688 1.003906 -7.101562 1.421875 -7.90625 C 1.835938 -8.71875 2.425781 -9.347656 3.1875 -9.796875 C 3.945312 -10.242188 4.804688 -10.46875 5.765625 -10.46875 C 6.679688 -10.46875 7.476562 -10.265625 8.15625 -9.859375 C 8.84375 -9.453125 9.375 -8.878906 9.75 -8.140625 C 10.125 -7.410156 10.3125 -6.539062 10.3125 -5.53125 C 10.3125 -4.9375 10.050781 -4.640625 9.53125 -4.640625 L 3.359375 -4.640625 C 3.441406 -3.679688 3.710938 -2.972656 4.171875 -2.515625 C 4.640625 -2.066406 5.3125 -1.84375 6.1875 -1.84375 C 6.632812 -1.84375 7.023438 -1.894531 7.359375 -2 C 7.703125 -2.113281 8.085938 -2.269531 8.515625 -2.46875 C 8.941406 -2.6875 9.25 -2.796875 9.4375 -2.796875 Z M 5.828125 -8.625 C 5.117188 -8.625 4.550781 -8.398438 4.125 -7.953125 C 3.695312 -7.515625 3.441406 -6.875 3.359375 -6.03125 L 8.078125 -6.03125 C 8.054688 -6.882812 7.847656 -7.53125 7.453125 -7.96875 C 7.066406 -8.40625 6.523438 -8.625 5.828125 -8.625 Z M 5.828125 -8.625 " /></g></g></g> 820 <g fill="#ffffff" fill-opacity="1"><g transform="translate(118.551343, 27.754971)"><g><path d="M 2.59375 0.125 C 2.144531 0.125 1.773438 -0.0195312 1.484375 -0.3125 C 1.191406 -0.613281 1.046875 -0.988281 1.046875 -1.4375 C 1.046875 -1.882812 1.191406 -2.257812 1.484375 -2.5625 C 1.773438 -2.863281 2.144531 -3.015625 2.59375 -3.015625 C 3.039062 -3.015625 3.410156 -2.863281 3.703125 -2.5625 C 3.992188 -2.257812 4.140625 -1.882812 4.140625 -1.4375 C 4.140625 -0.988281 3.992188 -0.613281 3.703125 -0.3125 C 3.410156 -0.0195312 3.039062 0.125 2.59375 0.125 Z M 2.59375 0.125 " /></g></g></g> 821 <g fill="#ffffff" fill-opacity="1"><g transform="translate(123.732724, 27.754971)"><g><path d="M 6.515625 -12.78125 C 5.878906 -12.738281 5.410156 -12.539062 5.109375 -12.1875 C 4.816406 -11.84375 4.671875 -11.347656 4.671875 -10.703125 L 4.671875 -10.21875 L 6.453125 -10.21875 C 7.234375 -10.21875 7.625 -9.890625 7.625 -9.234375 C 7.625 -8.578125 7.234375 -8.25 6.453125 -8.25 L 4.671875 -8.25 L 4.671875 -1.125 C 4.671875 -0.71875 4.550781 -0.410156 4.3125 -0.203125 C 4.070312 0.00390625 3.765625 0.109375 3.390625 0.109375 C 3.003906 0.109375 2.6875 0.00390625 2.4375 -0.203125 C 2.1875 -0.410156 2.0625 -0.71875 2.0625 -1.125 L 2.0625 -8.25 L 1.03125 -8.25 C 0.25 -8.25 -0.140625 -8.578125 -0.140625 -9.234375 C -0.140625 -9.890625 0.25 -10.21875 1.03125 -10.21875 L 2.0625 -10.21875 L 2.0625 -10.359375 C 2.0625 -11.671875 2.40625 -12.695312 3.09375 -13.4375 C 3.789062 -14.1875 4.765625 -14.609375 6.015625 -14.703125 L 6.5625 -14.75 C 7.113281 -14.789062 7.503906 -14.726562 7.734375 -14.5625 C 7.960938 -14.40625 8.078125 -14.160156 8.078125 -13.828125 C 8.078125 -13.234375 7.738281 -12.898438 7.0625 -12.828125 Z M 6.515625 -12.78125 " /></g></g></g> 822 <g fill="#ffffff" fill-opacity="1"><g transform="translate(131.212293, 27.754971)"><g><path d="M 13.5 -10.46875 C 14.613281 -10.46875 15.460938 -10.132812 16.046875 -9.46875 C 16.640625 -8.8125 16.9375 -7.742188 16.9375 -6.265625 L 16.9375 -1.125 C 16.9375 -0.71875 16.816406 -0.40625 16.578125 -0.1875 C 16.335938 0.0195312 16.019531 0.125 15.625 0.125 C 15.25 0.125 14.9375 0.0195312 14.6875 -0.187
8225 C 14.445312 -0.40625 14.328125 -0.71875 14.328125 -1.125 L 14.328125 -6.265625 C 14.328125 -7.035156 14.191406 -7.582031 13.921875 -7.90625 C 13.648438 -8.226562 13.238281 -8.390625 12.6875 -8.390625 C 12 -8.390625 11.453125 -8.15625 11.046875 -7.6875 C 10.648438 -7.226562 10.453125 -6.59375 10.453125 -5.78125 L 10.453125 -1.125 C 10.453125 -0.71875 10.328125 -0.40625 10.078125 -0.1875 C 9.835938 0.0195312 9.53125 0.125 9.15625 0.125 C 8.78125 0.125 8.460938 0.0195312 8.203125 -0.1875 C 7.953125 -0.40625 7.828125 -0.71875 7.828125 -1.125 L 7.828125 -6.265625 C 7.828125 -7.035156 7.691406 -7.582031 7.421875 -7.90625 C 7.148438 -8.226562 6.738281 -8.390625 6.1875 -8.390625 C 5.5 -8.390625 4.957031 -8.15625 4.5625 -7.6875 C 4.164062 -7.226562 3.96875 -6.59375 3.96875 -5.78125 L 3.96875 -1.125 C 3.96875 -0.71875 3.84375 -0.40625 3.59375 -0.1875 C 3.34375 0.0195312 3.03125 0.125 2.65625 0.125 C 2.28125 0.125 1.96875 0.0195312 1.71875 -0.1875 C 1.476562 -0.40625 1.359375 -0.71875 1.359375 -1.125 L 1.359375 -9.21875 C 1.359375 -9.601562 1.484375 -9.898438 1.734375 -10.109375 C 1.984375 -10.316406 2.296875 -10.421875 2.671875 -10.421875 C 3.035156 -10.421875 3.332031 -10.316406 3.5625 -10.109375 C 3.789062 -9.910156 3.90625 -9.625 3.90625 -9.25 L 3.90625 -8.75 C 4.226562 -9.3125 4.65625 -9.738281 5.1875 -10.03125 C 5.726562 -10.320312 6.347656 -10.46875 7.046875 -10.46875 C 8.578125 -10.46875 9.597656 -9.828125 10.109375 -8.546875 C 10.421875 -9.128906 10.875 -9.59375 11.46875 -9.9375 C 12.070312 -10.289062 12.75 -10.46875 13.5 -10.46875 Z M 13.5 -10.46875 " /></g></g></g> 823 <g fill="#ffffff" fill-opacity="1"><g transform="translate(53.636804, 9.31336)"><g><path d="M 5.921875 -6.71875 C 6.109375 -6.71875 6.253906 -6.660156 6.359375 -6.546875 C 6.460938 -6.429688 6.515625 -6.285156 6.515625 -6.109375 L 6.515625 -0.5625 C 6.515625 -0.375 6.457031 -0.222656 6.34375 -0.109375 C 6.238281 0.00390625 6.097656 0.0625 5.921875 0.0625 C 5.742188 0.0625 5.597656 0.00390625 5.484375 -0.109375 C 5.378906 -0.222656 5.328125 -0.375 5.328125 -0.5625 L 5.328125 -2.890625 L 1.921875 -2.890625 L 1.921875 -0.5625 C 1.921875 -0.375 1.863281 -0.222656 1.75 -0.109375 C 1.644531 0.00390625 1.5 0.0625 1.3125 0.0625 C 1.132812 0.0625 0.988281 0.00390625 0.875 -0.109375 C 0.769531 -0.222656 0.71875 -0.375 0.71875 -0.5625 L 0.71875 -6.109375 C 0.71875 -6.285156 0.769531 -6.429688 0.875 -6.546875 C 0.988281 -6.660156 1.132812 -6.71875 1.3125 -6.71875 C 1.5 -6.71875 1.644531 -6.660156 1.75 -6.546875 C 1.863281 -6.429688 1.921875 -6.285156 1.921875 -6.109375 L 1.921875 -3.875 L 5.328125 -3.875 L 5.328125 -6.109375 C 5.328125 -6.285156 5.378906 -6.429688 5.484375 -6.546875 C 5.597656 -6.660156 5.742188 -6.71875 5.921875 -6.71875 Z M 5.921875 -6.71875 " /></g></g></g> 824 <g fill="#ffffff" fill-opacity="1"><g transform="translate(60.881941, 9.31336)"><g><path d="M 2.71875 0.078125 C 2.25 0.078125 1.832031 -0.0195312 1.46875 -0.21875 C 1.113281 -0.414062 0.835938 -0.695312 0.640625 -1.0625 C 0.453125 -1.425781 0.359375 -1.847656 0.359375 -2.328125 C 0.359375 -2.816406 0.453125 -3.242188 0.640625 -3.609375 C 0.835938 -3.972656 1.113281 -4.25 1.46875 -4.4375 C 1.832031 -4.632812 2.25 -4.734375 2.71875 -4.734375 C 3.195312 -4.734375 3.613281 -4.632812 3.96875 -4.4375 C 4.320312 -4.25 4.59375 -3.972656 4.78125 -3.609375 C 4.976562 -3.242188 5.078125 -2.816406 5.078125 -2.328125 C 5.078125 -1.847656 4.976562 -1.425781 4.78125 -1.0625 C 4.59375 -0.695312 4.320312 -0.414062 3.96875 -0.21875 C 3.613281 -0.0195312 3.195312 0.078125 2.71875 0.078125 Z M 2.71875 -0.84375 C 3.101562 -0.84375 3.394531 -0.96875 3.59375 -1.21875 C 3.789062 -1.46875 3.890625 -1.835938 3.890625 -2.328125 C 3.890625 -2.816406 3.789062 -3.1875 3.59375 -3.4375 C 3.394531 -3.695312 3.101562 -3.828125 2.71875 -3.828125 C 2.34375 -3.828125 2.050781 -3.695312 1.84375 -3.4375 C 1.644531 -3.1875 1.546875 -2.816406 1.546875 -2.328125 C 1.546875 -1.835938 1.644531 -1.46875 1.84375 -1.21875 C 2.039062 -0.96875 2.332031 -0.84375 2.71875 -0.84375 Z M 2.71875 -0.84375 " /></g></g></g> 825 <g fill="#ffffff" fill-opacity="1"><g transform="translate(66.320523, 9.31336)"><g><path d="M 2.28125 0.078125 C 1.59375 0.078125 1.039062 -0.0546875 0.625 -0.328125 C 0.425781 -0.453125 0.328125 -0.625 0.328125 -0.84375 C 0.328125 -0.96875 0.359375
825-1.066406 0.421875 -1.140625 C 0.492188 -1.222656 0.582031 -1.265625 0.6875 -1.265625 C 0.789062 -1.265625 0.9375 -1.210938 1.125 -1.109375 C 1.320312 -1.015625 1.503906 -0.941406 1.671875 -0.890625 C 1.835938 -0.847656 2.050781 -0.828125 2.3125 -0.828125 C 2.582031 -0.828125 2.789062 -0.867188 2.9375 -0.953125 C 3.082031 -1.046875 3.15625 -1.171875 3.15625 -1.328125 C 3.15625 -1.429688 3.125 -1.515625 3.0625 -1.578125 C 3.007812 -1.640625 2.90625 -1.695312 2.75 -1.75 C 2.59375 -1.800781 2.359375 -1.863281 2.046875 -1.9375 C 1.484375 -2.050781 1.078125 -2.210938 0.828125 -2.421875 C 0.585938 -2.628906 0.46875 -2.914062 0.46875 -3.28125 C 0.46875 -3.5625 0.550781 -3.8125 0.71875 -4.03125 C 0.882812 -4.257812 1.109375 -4.429688 1.390625 -4.546875 C 1.679688 -4.671875 2.007812 -4.734375 2.375 -4.734375 C 2.632812 -4.734375 2.882812 -4.695312 3.125 -4.625 C 3.375 -4.5625 3.597656 -4.46875 3.796875 -4.34375 C 4.003906 -4.21875 4.109375 -4.050781 4.109375 -3.84375 C 4.109375 -3.71875 4.070312 -3.613281 4 -3.53125 C 3.925781 -3.445312 3.84375 -3.40625 3.75 -3.40625 C 3.675781 -3.40625 3.601562 -3.414062 3.53125 -3.4375 C 3.46875 -3.46875 3.390625 -3.515625 3.296875 -3.578125 C 3.109375 -3.671875 2.945312 -3.738281 2.8125 -3.78125 C 2.6875 -3.832031 2.523438 -3.859375 2.328125 -3.859375 C 2.085938 -3.859375 1.898438 -3.8125 1.765625 -3.71875 C 1.628906 -3.625 1.5625 -3.492188 1.5625 -3.328125 C 1.5625 -3.171875 1.628906 -3.050781 1.765625 -2.96875 C 1.910156 -2.882812 2.179688 -2.800781 2.578125 -2.71875 C 3.003906 -2.632812 3.335938 -2.535156 3.578125 -2.421875 C 3.816406 -2.304688 3.988281 -2.160156 4.09375 -1.984375 C 4.195312 -1.816406 4.25 -1.601562 4.25 -1.34375 C 4.25 -0.914062 4.066406 -0.570312 3.703125 -0.3125 C 3.347656 -0.0507812 2.875 0.078125 2.28125 0.078125 Z M 2.28125 0.078125 " /></g></g></g> 826 <g fill="#ffffff" fill-opacity="1"><g transform="translate(70.907848, 9.31336)"><g><path d="M 3.015625 -0.828125 C 3.328125 -0.804688 3.484375 -0.660156 3.484375 -0.390625 C 3.484375 -0.242188 3.421875 -0.128906 3.296875 -0.046875 C 3.179688 0.0234375 3.007812 0.0546875 2.78125 0.046875 L 2.53125 0.03125 C 1.46875 -0.0390625 0.9375 -0.609375 0.9375 -1.671875 L 0.9375 -3.734375 L 0.46875 -3.734375 C 0.289062 -3.734375 0.15625 -3.769531 0.0625 -3.84375 C -0.0195312 -3.914062 -0.0625 -4.023438 -0.0625 -4.171875 C -0.0625 -4.316406 -0.0195312 -4.425781 0.0625 -4.5 C 0.15625 -4.582031 0.289062 -4.625 0.46875 -4.625 L 0.9375 -4.625 L 0.9375 -5.5 C 0.9375 -5.664062 0.988281 -5.796875 1.09375 -5.890625 C 1.195312 -5.992188 1.34375 -6.046875 1.53125 -6.046875 C 1.707031 -6.046875 1.847656 -5.992188 1.953125 -5.890625 C 2.066406 -5.796875 2.125 -5.664062 2.125 -5.5 L 2.125 -4.625 L 2.921875 -4.625 C 3.085938 -4.625 3.21875 -4.582031 3.3125 -4.5 C 3.40625 -4.425781 3.453125 -4.316406 3.453125 -4.171875 C 3.453125 -4.023438 3.40625 -3.914062 3.3125 -3.84375 C 3.21875 -3.769531 3.085938 -3.734375 2.921875 -3.734375 L 2.125 -3.734375 L 2.125 -1.59375 C 2.125 -1.125 2.335938 -0.875 2.765625 -0.84375 Z M 3.015625 -0.828125 " /></g></g></g> 827 <g fill="#ffffff" fill-opacity="1"><g transform="translate(74.398004, 9.31336)"><g><path d="M 4.265625 -1.265625 C 4.378906 -1.265625 4.46875 -1.222656 4.53125 -1.140625 C 4.59375 -1.054688 4.625 -0.945312 4.625 -0.8125 C 4.625 -0.613281 4.507812 -0.453125 4.28125 -0.328125 C 4.0625 -0.203125 3.816406 -0.101562 3.546875 -0.03125 C 3.273438 0.0390625 3.019531 0.078125 2.78125 0.078125 C 2.03125 0.078125 1.4375 -0.132812 1 -0.5625 C 0.570312 -0.988281 0.359375 -1.578125 0.359375 -2.328125 C 0.359375 -2.796875 0.453125 -3.210938 0.640625 -3.578125 C 0.828125 -3.941406 1.09375 -4.222656 1.4375 -4.421875 C 1.78125 -4.628906 2.171875 -4.734375 2.609375 -4.734375 C 3.023438 -4.734375 3.382812 -4.640625 3.6875 -4.453125 C 4 -4.273438 4.238281 -4.019531 4.40625 -3.6875 C 4.582031 -3.351562 4.671875 -2.957031 4.671875 -2.5 C 4.671875 -2.226562 4.550781 -2.09375 4.3125 -2.09375 L 1.515625 -2.09375 C 1.554688 -1.664062 1.679688 -1.347656 1.890625 -1.140625 C 2.097656 -0.929688 2.398438 -0.828125 2.796875 -0.828125 C 2.992188 -0.828125 3.171875 -0.851562 3.328125 -0.90625 C 3.484375 -0.957031 3.660156 -1.
827023438 3.859375 -1.109375 C 4.046875 -1.210938 4.179688 -1.265625 4.265625 -1.265625 Z M 2.640625 -3.90625 C 2.316406 -3.90625 2.054688 -3.800781 1.859375 -3.59375 C 1.671875 -3.394531 1.554688 -3.109375 1.515625 -2.734375 L 3.65625 -2.734375 C 3.644531 -3.117188 3.550781 -3.410156 3.375 -3.609375 C 3.195312 -3.804688 2.953125 -3.90625 2.640625 -3.90625 Z M 2.640625 -3.90625 " /></g></g></g> 828 <g fill="#ffffff" fill-opacity="1"><g transform="translate(79.420421, 9.31336)"><g><path d="M 4.46875 -6.71875 C 4.644531 -6.71875 4.789062 -6.664062 4.90625 -6.5625 C 5.019531 -6.457031 5.078125 -6.320312 5.078125 -6.15625 L 5.078125 -0.515625 C 5.078125 -0.335938 5.019531 -0.195312 4.90625 -0.09375 C 4.800781 0 4.660156 0.046875 4.484375 0.046875 C 4.304688 0.046875 4.164062 0 4.0625 -0.09375 C 3.957031 -0.195312 3.90625 -0.335938 3.90625 -0.515625 L 3.90625 -0.75 C 3.769531 -0.488281 3.566406 -0.285156 3.296875 -0.140625 C 3.035156 0.00390625 2.738281 0.078125 2.40625 0.078125 C 2.007812 0.078125 1.65625 -0.0195312 1.34375 -0.21875 C 1.03125 -0.425781 0.785156 -0.710938 0.609375 -1.078125 C 0.441406 -1.453125 0.359375 -1.878906 0.359375 -2.359375 C 0.359375 -2.835938 0.441406 -3.253906 0.609375 -3.609375 C 0.785156 -3.972656 1.03125 -4.25 1.34375 -4.4375 C 1.65625 -4.632812 2.007812 -4.734375 2.40625 -4.734375 C 2.738281 -4.734375 3.035156 -4.660156 3.296875 -4.515625 C 3.554688 -4.378906 3.753906 -4.1875 3.890625 -3.9375 L 3.890625 -6.1875 C 3.890625 -6.34375 3.941406 -6.46875 4.046875 -6.5625 C 4.148438 -6.664062 4.289062 -6.71875 4.46875 -6.71875 Z M 2.71875 -0.84375 C 3.101562 -0.84375 3.394531 -0.96875 3.59375 -1.21875 C 3.800781 -1.476562 3.90625 -1.847656 3.90625 -2.328125 C 3.90625 -2.804688 3.800781 -3.171875 3.59375 -3.421875 C 3.394531 -3.679688 3.109375 -3.8125 2.734375 -3.8125 C 2.359375 -3.8125 2.066406 -3.6875 1.859375 -3.4375 C 1.648438 -3.1875 1.546875 -2.828125 1.546875 -2.359375 C 1.546875 -1.878906 1.648438 -1.503906 1.859375 -1.234375 C 2.066406 -0.972656 2.351562 -0.84375 2.71875 -0.84375 Z M 2.71875 -0.84375 " /></g></g></g> 829 <g fill="#ffffff" fill-opacity="1"><g transform="translate(85.104922, 9.31336)"><g /></g></g> 830 <g fill="#ffffff" fill-opacity="1"><g transform="translate(87.668147, 9.31336)"><g><path d="M 3.265625 -4.734375 C 3.671875 -4.734375 4.023438 -4.632812 4.328125 -4.4375 C 4.640625 -4.25 4.882812 -3.972656 5.0625 -3.609375 C 5.238281 -3.253906 5.328125 -2.835938 5.328125 -2.359375 C 5.328125 -1.878906 5.238281 -1.453125 5.0625 -1.078125 C 4.882812 -0.710938 4.640625 -0.425781 4.328125 -0.21875 C 4.015625 -0.0195312 3.660156 0.078125 3.265625 0.078125 C 2.929688 0.078125 2.632812 0.00390625 2.375 -0.140625 C 2.113281 -0.285156 1.914062 -0.488281 1.78125 -0.75 L 1.78125 -0.515625 C 1.78125 -0.335938 1.722656 -0.195312 1.609375 -0.09375 C 1.503906 0 1.363281 0.046875 1.1875 0.046875 C 1.007812 0.046875 0.867188 0 0.765625 -0.09375 C 0.660156 -0.195312 0.609375 -0.335938 0.609375 -0.515625 L 0.609375 -6.15625 C 0.609375 -6.320312 0.660156 -6.457031 0.76
8305625 -6.5625 C 0.878906 -6.664062 1.023438 -6.71875 1.203125 -6.71875 C 1.378906 -6.71875 1.519531 -6.664062 1.625 -6.5625 C 1.738281 -6.46875 1.796875 -6.34375 1.796875 -6.1875 L 1.796875 -3.953125 C 1.929688 -4.203125 2.128906 -4.394531 2.390625 -4.53125 C 2.648438 -4.664062 2.941406 -4.734375 3.265625 -4.734375 Z M 2.953125 -0.84375 C 3.328125 -0.84375 3.617188 -0.972656 3.828125 -1.234375 C 4.035156 -1.503906 4.140625 -1.878906 4.140625 -2.359375 C 4.140625 -2.828125 4.035156 -3.1875 3.828125 -3.4375 C 3.628906 -3.6875 3.335938 -3.8125 2.953125 -3.8125 C 2.578125 -3.8125 2.285156 -3.679688 2.078125 -3.421875 C 1.878906 -3.171875 1.78125 -2.804688 1.78125 -2.328125 C 1.78125 -1.847656 1.878906 -1.476562 2.078125 -1.21875 C 2.285156 -0.96875 2.578125 -0.84375 2.953125 -0.84375 Z M 2.953125 -0.84375 " /></g></g></g> 831 <g fill="#ffffff" fill-opacity="1"><g transform="translate(93.352649, 9.31336)"><g><path d="M 3.84375 -4.375 C 3.882812 -4.488281 3.945312 -4.570312 4.03125 -4.625 C 4.125 -4.675781 4.21875 -4.703125 4.3125 -4.703125 C 4.457031 -4.703125 4.585938 -4.65625 4.703125 -4.5625 C 4.828125 -4.46875 4.890625 -4.347656 4.890625 -4.203125 C 4.890625 -4.128906 4.867188 -4.054688 4.828125 -3.984375 L 2.25 1.421875 C 2.144531 1.640625 1.976562 1.75 1.75 1.75 C 1.601562 1.75 1.472656 1.703125 1.359375 1.609375 C 1.253906 1.515625 1.203125 1.398438 1.203125 1.265625 C 1.203125 1.191406 1.21875 1.113281 1.25 1.03125 L 1.90625 -0.328125 L 0.140625 -3.984375 C 0.109375 -4.046875 0.09375 -4.117188 0.09375 -4.203125 C 0.09375 -4.347656 0.15625 -4.46875 0.28125 -4.5625 C 0.40625 -4.664062 0.546875 -4.71875 0.703125 -4.71875 C 0.804688 -4.71875 0.898438 -4.691406 0.984375 -4.640625 C 1.078125 -4.585938 1.148438 -4.503906 1.203125 -4.390625 L 2.53125 -1.46875 Z M 3.84375 -4.375 " /></g></g></g> 832 </svg> 833 </a> 834 </div> 835 836</body> 837</html>
838<script type="text/javascript"> 839 function ToggleActive() { 840 var elementBurger = document.getElementById("navbar-burger"); 841 var elementMenu = document.getElementById("navbarBasicExample"); 842 843 elementBurger.classList.toggle("is-active"); 844 elementMenu.classList.toggle("is-active"); 845 } 846 847 document.addEventListener('DOMContentLoaded', () => { 848 setColor('#2a385b', '#D4D7DE'); 849 }); 850</script>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.