<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[Ran out of Tokens: Concepts]]></title><description><![CDATA[Here you'll find "How does X work?", "Why is Y working like it?" and so on.]]></description><link>https://blog.gouravkhanijoe.com/s/concepts</link><image><url>https://substackcdn.com/image/fetch/$s_!QPgM!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81993219-8041-4989-b90c-8798a96e16ca_167x167.png</url><title>Ran out of Tokens: Concepts</title><link>https://blog.gouravkhanijoe.com/s/concepts</link></image><generator>Substack</generator><lastBuildDate>Wed, 01 Jul 2026 12:39:29 GMT</lastBuildDate><atom:link href="https://blog.gouravkhanijoe.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Gourav Khanijoe]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[gouravkhanijoe@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[gouravkhanijoe@substack.com]]></itunes:email><itunes:name><![CDATA[Curiosity With Gourav]]></itunes:name></itunes:owner><itunes:author><![CDATA[Curiosity With Gourav]]></itunes:author><googleplay:owner><![CDATA[gouravkhanijoe@substack.com]]></googleplay:owner><googleplay:email><![CDATA[gouravkhanijoe@substack.com]]></googleplay:email><googleplay:author><![CDATA[Curiosity With Gourav]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Gangnam Style view count broke YouTube once. Why is counting a f***ing hard engineering problem?]]></title><description><![CDATA[Count++ isn't a simple Counting]]></description><link>https://blog.gouravkhanijoe.com/p/gangnam-style-view-count-broke-youtube</link><guid isPermaLink="false">https://blog.gouravkhanijoe.com/p/gangnam-style-view-count-broke-youtube</guid><dc:creator><![CDATA[Curiosity With Gourav]]></dc:creator><pubDate>Wed, 10 Jun 2026 01:43:32 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!QPgM!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81993219-8041-4989-b90c-8798a96e16ca_167x167.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><code>count++</code>. Seem easy, right?</p><p>It is. Until it&#8217;s every view on YouTube.</p><p>Then the same one-line operation turns into the most architecturally consequential problem in your stack. </p><h3>Simple lie</h3><p>Everyone starts small. For all the right reasons. </p><p>Throw it in Postgres, add an index, scale up the box if needed, sprinkle some Redis if it gets hot. Done. Like reallllyyy done.</p><p>Right up until the moment your platform goes viral. That&#8217;s kinda problem Youtube deals with, everyday.</p><p>A video goes viral and your &#8220;simple counter row&#8221; becomes the slowest object in your entire system.</p><p>Counting itself isn&#8217;t one problem. It&#8217;s a combination of 6 problems wearing a trench coat, and youtube has dealt with all of those.</p><h3>The hard problems</h3><p><strong>1. Counter overflow</strong>. Sounds boring. It&#8217;s not.</p><p>&#8220;Gangnam Style&#8221; hit 2^31 views and crashed YouTube&#8217;s display because the field was a signed 32-bit integer. They migrated to 64-bit and bought themselves a few quintillion views of headroom.</p><p>But, relatively easy gotcha.</p><p><strong>2. Volume &amp; Concurrency.</strong> A million events per second means a million writes per second. </p><p>YouTube serves a million video views per second. But raw volume isn&#8217;t even the worst part. Concurrency is. </p><p>If you use postgres, every increment on a hot counter takes a row lock. Postgres uses MVCC, so an <code>UPDATE</code> is actually an insert plus a tombstone, meaning your hot row is generating thousands of dead versions per second that vacuum has to chase down. </p><p>The row lock serializes everyone. The fsync caps you again.</p><p>You&#8217;ve got a 96-core machine watching one logical row&#8217;s lock chain decide the throughput of your entire product. The fanciest hardware in the world bottlenecked by one number.</p><p><strong>3. Distribution.</strong> Events happen in Tokyo. The counter lives in Iowa. </p><p>Physics is in the room, and it doesn&#8217;t care about your roadmap. You cannot make this fast if every increment needs a round trip to one global database.</p><p><strong>4. Late events.</strong> A view happens at 09:59:55 and arrives at 10:00:55. </p><p>View events usually have streaming processor working with watermarks. That event belongs to the 9 AM bucket. The 9 AM bucket already closed. </p><p>Now what? How long do you wait? Do you process that late event? What about the event that shows up <em>tomorrow</em>? </p><p><strong>5. Exactness is contested.</strong> Did the user actually watch, or click and bounce? Bot? Self-view? Same person refreshing? </p><p><strong>6. Failures.</strong> A consumer crashes mid-batch. A network splits. Did the event get counted? Twice? Lost? Pick: at-most-once, at-least-once, exactly-once. Each one wrecks your architecture in a different direction.</p><p><strong>7. Hot keys</strong>: no matter how you shard, one celebrity&#8217;s post will overwhelm one physical row. </p><h3>Youtube uses BigTable</h3><p>Of course, YouTube doesn&#8217;t use Postgres for view counts. They use Bigtable.</p><p>The mental model:</p><pre><code><code>LSM tree = append to log + insert into memtable
no row locks, no in-place updates, no vacuum</code></code></pre><p>Every Bigtable write is just an append to a commit log plus an in-memory insert into a sorted structure. </p><p>No random disk write. No lock that serializes writers to the same row; writes are timestamped and merged later. </p><p>When a single row gets too hot, the tablet splits automatically and the load redistributes.</p><p>A single Bigtable cluster eats millions of writes per second without sweating. The view counter you see ticking up under a viral video? That&#8217;s a <code>IncrementColumn</code> on one row, absorbed at memory speed.</p><p>But Bigtable can&#8217;t tell you the top 100 most-viewed videos. There&#8217;s no <code>ORDER BY view_count DESC LIMIT 100</code>. No secondary indexes by default.</p><p>That&#8217;s a whole different topic. We might cover it separately.</p><h3>But..do we even need to count <em>precisely</em>?</h3><p>Sometimes the right count is <s>wrong</s> approximate count.</p><p>Reddit uses it. Google Analytics uses it. The number you see is statistically a lie (close enough though). It&#8217;s also correct enough that nobody cares.</p><p><a href="https://en.wikipedia.org/wiki/Count%E2%80%93min_sketch">Count-Min Sketch</a> does the trick for frequency counts and approximation. </p><p>YouTube <em>actually</em> utilizes the <strong>Count-Min Sketch</strong> algorithm to track real-time view frequencies, trending topics, and to identify the <strong>"Top K"</strong> most viewed across its massive global traffic.</p><p><a href="https://redis.io/blog/count-min-sketch-the-art-and-science-of-estimating-stuff/">Count-Min Sketch could be visualised is a tiny 2D grid of counters</a> (say 5 rows &#215; 1000 columns) paired with one hash function per row. Play with it here.</p><p>To record an item, you hash it through each function and bump the cell it lands on in every row: 5 hashes, 5 increments, done. </p><p>To ask &#8220;how many times have I seen this?&#8221;, you hash it again, look up those same 5 cells, and return the <em>minimum</em> value. Why min? </p><p>Because different items can collide on the same cell and inflate it, but they almost never collide in <em>all</em> rows, so the smallest cell is your cleanest read. </p><p>You get approximate frequency counts for billions of items in a few kilobytes of memory, the estimate is always an upper bound (it lies high, never low), and two sketches merge by just adding their cells together which is why every distributed streaming system reaches for it.</p><h3>Summary</h3><p>This is the mental model: counting accuracy is a knob, not a constant. Pick it per access pattern and distribution.</p><p>The dashboard showing "1.2M views" can be a HyperLogLog estimate that's off by 1% and nobody cares. </p><p>But if you are not viral, then a single tick from 99 views to 100 views may matter to you. </p><p>Think differently when designing your systems.</p><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[How do companies analyze what an ordinary Joe should be wearing?]]></title><description><![CDATA[Data Engineering from the lens of a Software Engineer]]></description><link>https://blog.gouravkhanijoe.com/p/how-do-companies-analyze-what-an</link><guid isPermaLink="false">https://blog.gouravkhanijoe.com/p/how-do-companies-analyze-what-an</guid><dc:creator><![CDATA[Curiosity With Gourav]]></dc:creator><pubDate>Wed, 09 Oct 2024 19:40:08 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!y4M8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1bc0281e-85ec-4138-8ef4-4f1a74454d7f_2000x1600.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Of course, they use AI... right??</p><p>Well, yes and no.</p><p>Sure, AI and Machine Learning (ML) are big parts of it, but they rely on data&#8212;<em>lots</em> of data (Big Data, anyone?)&#8212;to train model and be analyzed. </p><p>Humans like Data Analysts and Scientists spot trends in the market, then tweak strategies to make sure the recommendation systems are on point. </p><p>But it&#8217;s Data engineering and engineers that makes the magic happen. Huge Respect!</p><p>But hey, I&#8217;m a software engineer, so why should I care about data engineering? &#129488;</p><p>Think twice, you might be wrong!</p><p>Today, I'll give software engineers a quick intro to data engineering, covering:</p><ul><li><p><strong>Why It Matters</strong>: Why learning data engineering basics is helpful, even if you&#8217;re not aiming to become a data engineer.</p></li><li><p><strong>Role Breakdown</strong>: A simple example to explain the roles of software engineers, data engineers, analysts, and scientists, and how they work together.</p></li><li><p><strong>Tech Overview</strong>: A snapshot of data engineering platforms, tech stacks, and processing workflows.</p></li></ul><blockquote><p><em>&#128075; Hey there, I am <a href="https://www.linkedin.com/in/gourav-khanijoe/">Gourav</a>. I write about Engineering, Productivity, Thought Leadership, and the Mysteries of the mind!</em></p></blockquote><div class="pullquote"><h3>Tech Comprehension #1</h3><p>Welcome to the latest edition type of <em>The Curious Soul&#8217;s Corner</em>! Every month, I&#8217;ll drop a tech story that helps you <em>get</em> how systems work. Don&#8217;t just gather knowledge&#8212;build understanding!</p></div><h2>Why should software engineers care about data engineering?</h2><p>As a junior engineer, terms like "Big Data," "Spark," and "Data Warehouse" would fly right over my head. </p><p>I used to think, <em>"That&#8217;s for the data engineers. I&#8217;m busy building distributed systems, so why should I bother?"</em></p><p>Being a senior engineer, I realized knowing data pipelines, batch-processing, and data analysis influences my system&#8217;s design.</p><p>So, I rolled up my sleeves and dove into a project and got hands-on experience with MapReduce, and Spark&#8212;just enough to get by. </p><p>Then, I got pulled into other business-critical projects and that little spark (pun intended) of interest in data engineering fizzled out.</p><p>As a staff engineer now, there&#8217;s no more room for excuses. I need to understand enough to help the company make tradeoff decisions.</p><p>In general, software engineers benefit by just knowing the basics:</p><ul><li><p><strong>Better System Design &amp; Architecture:</strong> Knowing data pipelines will help you understand their trade-offs. You'll build more scalable, efficient systems.</p></li><li><p><strong>Enhanced Debugging</strong>: Ever had a bug that&#8217;s tied to data? Understanding data will make you a better problem-solver when those tricky issues pop up.</p></li><li><p><strong>Data-Informed Decision Making:</strong> As you grow into leadership roles, understanding data engineering will help you. It will give you more insight into product, system, and business decisions.</p></li></ul><h2>The Difference Between Software Engineers, Data Engineers, Data Analysts, and Data Scientists</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!y4M8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1bc0281e-85ec-4138-8ef4-4f1a74454d7f_2000x1600.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!y4M8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1bc0281e-85ec-4138-8ef4-4f1a74454d7f_2000x1600.jpeg 424w, https://substackcdn.com/image/fetch/$s_!y4M8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1bc0281e-85ec-4138-8ef4-4f1a74454d7f_2000x1600.jpeg 848w, https://substackcdn.com/image/fetch/$s_!y4M8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1bc0281e-85ec-4138-8ef4-4f1a74454d7f_2000x1600.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!y4M8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1bc0281e-85ec-4138-8ef4-4f1a74454d7f_2000x1600.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!y4M8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1bc0281e-85ec-4138-8ef4-4f1a74454d7f_2000x1600.jpeg" width="1456" height="1165" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1bc0281e-85ec-4138-8ef4-4f1a74454d7f_2000x1600.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1165,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:335889,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!y4M8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1bc0281e-85ec-4138-8ef4-4f1a74454d7f_2000x1600.jpeg 424w, https://substackcdn.com/image/fetch/$s_!y4M8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1bc0281e-85ec-4138-8ef4-4f1a74454d7f_2000x1600.jpeg 848w, https://substackcdn.com/image/fetch/$s_!y4M8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1bc0281e-85ec-4138-8ef4-4f1a74454d7f_2000x1600.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!y4M8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1bc0281e-85ec-4138-8ef4-4f1a74454d7f_2000x1600.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">DE=DataEngineer, DA/DS=Data Analyst/DataScientist, SWE=SoftwareEngineer</figcaption></figure></div><p>Here&#8217;s the breakdown:</p><ul><li><p><strong>Data Engineers</strong> build data pipelines&#8212;systems that transform raw data into something useful for analysis.</p></li><li><p><strong>Data Analysts</strong> take that clean, processed data and use it to find patterns and trends, helping companies figure out what&#8217;s happening now.</p></li><li><p><strong>Data Scientists</strong> go a step further by building models that predict future trends and offer recommendations.</p></li><li><p><strong>Software Engineers</strong> build the systems that solve the problems those data insights reveal.</p></li></ul><p>In short, the <strong>data engineer sets up the infrastructure</strong>. The data <strong>analyst finds current trends</strong>. The data <strong>scientist makes future predictions</strong>. The software <strong>engineer builds the product</strong> that uses them.&nbsp;&#128640;</p><h2>Data Engineering Tech Stack: A Primer for Software Engineers</h2><p>Oh man! The field&#8217;s come a long way, and it&#8217;s still changing fast!</p><p>Concepts like Data Lakes and Lakehouses and tools like Trino, Flink, data formats like Apache Iceberg, Avro, and Parquet.</p><p>More confusing than ever!</p><p>I&#8217;ll try to explain simply and cover only the Tech Stack of Data Engineering.</p><h3><strong>Tech Stack of Data Engineering</strong></h3><p>The image below is a courtesy of <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Junaid Effendi&quot;,&quot;id&quot;:21393641,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb06559f3-ee33-46f8-bfa0-50964179f235_1200x1200.png&quot;,&quot;uuid&quot;:&quot;7feee7c9-4dca-4937-afde-1f7ca3f58394&quot;}" data-component-name="MentionToDOM"></span>. Thanks to him for creating this. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ZvaE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1410905-f590-471f-9549-63035687f4ae_1874x2327.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ZvaE!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1410905-f590-471f-9549-63035687f4ae_1874x2327.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ZvaE!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1410905-f590-471f-9549-63035687f4ae_1874x2327.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ZvaE!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1410905-f590-471f-9549-63035687f4ae_1874x2327.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ZvaE!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1410905-f590-471f-9549-63035687f4ae_1874x2327.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ZvaE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1410905-f590-471f-9549-63035687f4ae_1874x2327.jpeg" width="1456" height="1808" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b1410905-f590-471f-9549-63035687f4ae_1874x2327.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1808,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:390065,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ZvaE!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1410905-f590-471f-9549-63035687f4ae_1874x2327.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ZvaE!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1410905-f590-471f-9549-63035687f4ae_1874x2327.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ZvaE!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1410905-f590-471f-9549-63035687f4ae_1874x2327.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ZvaE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1410905-f590-471f-9549-63035687f4ae_1874x2327.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>As a software engineer, you're likely familiar with the request lifecycle in an app. It starts with an API call (ingestion), runs some business logic (processing), then saves it to a database (storage). This is what we call <strong>Online Transaction Processing</strong> (OLTP), where the system handles day-to-day operations.</p><p>Data engineering works similarly but picks up <strong>after</strong> your application&#8217;s database. Just as APIs bring in data for apps, data engineers create pipelines. They process and store data on a much larger scale for analytics.&nbsp;This is called <strong>Online Analytical Processing</strong> (OLAP).</p><h3>The Basics: ETL vs. ELT</h3><p>Data engineering revolves around one key idea: building systems that ingest, process, and store data in ways that make it useful for analysis. This process is called building a <strong>data pipeline</strong>, and the most common architecture for this is <strong>ETL</strong>:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!fbJf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd859475f-5d78-4754-8885-eef456231c5d_2680x1070.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!fbJf!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd859475f-5d78-4754-8885-eef456231c5d_2680x1070.png 424w, https://substackcdn.com/image/fetch/$s_!fbJf!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd859475f-5d78-4754-8885-eef456231c5d_2680x1070.png 848w, https://substackcdn.com/image/fetch/$s_!fbJf!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd859475f-5d78-4754-8885-eef456231c5d_2680x1070.png 1272w, https://substackcdn.com/image/fetch/$s_!fbJf!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd859475f-5d78-4754-8885-eef456231c5d_2680x1070.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!fbJf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd859475f-5d78-4754-8885-eef456231c5d_2680x1070.png" width="1456" height="581" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d859475f-5d78-4754-8885-eef456231c5d_2680x1070.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:581,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:355103,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!fbJf!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd859475f-5d78-4754-8885-eef456231c5d_2680x1070.png 424w, https://substackcdn.com/image/fetch/$s_!fbJf!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd859475f-5d78-4754-8885-eef456231c5d_2680x1070.png 848w, https://substackcdn.com/image/fetch/$s_!fbJf!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd859475f-5d78-4754-8885-eef456231c5d_2680x1070.png 1272w, https://substackcdn.com/image/fetch/$s_!fbJf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd859475f-5d78-4754-8885-eef456231c5d_2680x1070.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!7piY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa392852e-1931-4036-b35c-50db438c7fd7_1016x82.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7piY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa392852e-1931-4036-b35c-50db438c7fd7_1016x82.png 424w, https://substackcdn.com/image/fetch/$s_!7piY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa392852e-1931-4036-b35c-50db438c7fd7_1016x82.png 848w, https://substackcdn.com/image/fetch/$s_!7piY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa392852e-1931-4036-b35c-50db438c7fd7_1016x82.png 1272w, https://substackcdn.com/image/fetch/$s_!7piY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa392852e-1931-4036-b35c-50db438c7fd7_1016x82.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7piY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa392852e-1931-4036-b35c-50db438c7fd7_1016x82.png" width="430" height="34.70472440944882" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a392852e-1931-4036-b35c-50db438c7fd7_1016x82.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:82,&quot;width&quot;:1016,&quot;resizeWidth&quot;:430,&quot;bytes&quot;:19447,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!7piY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa392852e-1931-4036-b35c-50db438c7fd7_1016x82.png 424w, https://substackcdn.com/image/fetch/$s_!7piY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa392852e-1931-4036-b35c-50db438c7fd7_1016x82.png 848w, https://substackcdn.com/image/fetch/$s_!7piY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa392852e-1931-4036-b35c-50db438c7fd7_1016x82.png 1272w, https://substackcdn.com/image/fetch/$s_!7piY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa392852e-1931-4036-b35c-50db438c7fd7_1016x82.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><ul><li><p><strong>Extract</strong>: You grab raw data from various sources like APIs, databases, or files.</p></li><li><p><strong>Transform</strong>: You clean and shape the data into a usable format.</p></li><li><p><strong>Load</strong>: You store it somewhere (like a data warehouse) where analysts and business tools can easily access it.</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!rVzH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0d4092b-159f-4c13-8f7c-ecaa928594e3_2744x1080.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!rVzH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0d4092b-159f-4c13-8f7c-ecaa928594e3_2744x1080.png 424w, https://substackcdn.com/image/fetch/$s_!rVzH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0d4092b-159f-4c13-8f7c-ecaa928594e3_2744x1080.png 848w, https://substackcdn.com/image/fetch/$s_!rVzH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0d4092b-159f-4c13-8f7c-ecaa928594e3_2744x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!rVzH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0d4092b-159f-4c13-8f7c-ecaa928594e3_2744x1080.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!rVzH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0d4092b-159f-4c13-8f7c-ecaa928594e3_2744x1080.png" width="1456" height="573" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f0d4092b-159f-4c13-8f7c-ecaa928594e3_2744x1080.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:573,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:291559,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!rVzH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0d4092b-159f-4c13-8f7c-ecaa928594e3_2744x1080.png 424w, https://substackcdn.com/image/fetch/$s_!rVzH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0d4092b-159f-4c13-8f7c-ecaa928594e3_2744x1080.png 848w, https://substackcdn.com/image/fetch/$s_!rVzH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0d4092b-159f-4c13-8f7c-ecaa928594e3_2744x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!rVzH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0d4092b-159f-4c13-8f7c-ecaa928594e3_2744x1080.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!IPjl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed12d37e-bdc2-4946-ae07-f2f0b5b27930_996x86.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!IPjl!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed12d37e-bdc2-4946-ae07-f2f0b5b27930_996x86.png 424w, https://substackcdn.com/image/fetch/$s_!IPjl!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed12d37e-bdc2-4946-ae07-f2f0b5b27930_996x86.png 848w, https://substackcdn.com/image/fetch/$s_!IPjl!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed12d37e-bdc2-4946-ae07-f2f0b5b27930_996x86.png 1272w, https://substackcdn.com/image/fetch/$s_!IPjl!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed12d37e-bdc2-4946-ae07-f2f0b5b27930_996x86.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!IPjl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed12d37e-bdc2-4946-ae07-f2f0b5b27930_996x86.png" width="462" height="39.89156626506024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ed12d37e-bdc2-4946-ae07-f2f0b5b27930_996x86.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:86,&quot;width&quot;:996,&quot;resizeWidth&quot;:462,&quot;bytes&quot;:19263,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!IPjl!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed12d37e-bdc2-4946-ae07-f2f0b5b27930_996x86.png 424w, https://substackcdn.com/image/fetch/$s_!IPjl!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed12d37e-bdc2-4946-ae07-f2f0b5b27930_996x86.png 848w, https://substackcdn.com/image/fetch/$s_!IPjl!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed12d37e-bdc2-4946-ae07-f2f0b5b27930_996x86.png 1272w, https://substackcdn.com/image/fetch/$s_!IPjl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed12d37e-bdc2-4946-ae07-f2f0b5b27930_996x86.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>There&#8217;s also <strong>ELT</strong>, which is like ETL&#8217;s cooler cousin. Instead of transforming the data right away, you load it into a storage system first and then transform it as needed. This is especially useful when you don&#8217;t know upfront what the data might be used for. It keeps your options open and flexible.</p><h3>Data Warehouses, Lakes, and Lakehouses</h3><p>Where does all this data go? Great question!</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3gKz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a5489e6-2db3-4e11-9755-bad69ae0936f_1436x982.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3gKz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a5489e6-2db3-4e11-9755-bad69ae0936f_1436x982.png 424w, https://substackcdn.com/image/fetch/$s_!3gKz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a5489e6-2db3-4e11-9755-bad69ae0936f_1436x982.png 848w, https://substackcdn.com/image/fetch/$s_!3gKz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a5489e6-2db3-4e11-9755-bad69ae0936f_1436x982.png 1272w, https://substackcdn.com/image/fetch/$s_!3gKz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a5489e6-2db3-4e11-9755-bad69ae0936f_1436x982.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3gKz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a5489e6-2db3-4e11-9755-bad69ae0936f_1436x982.png" width="1436" height="982" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5a5489e6-2db3-4e11-9755-bad69ae0936f_1436x982.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:982,&quot;width&quot;:1436,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1234101,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!3gKz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a5489e6-2db3-4e11-9755-bad69ae0936f_1436x982.png 424w, https://substackcdn.com/image/fetch/$s_!3gKz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a5489e6-2db3-4e11-9755-bad69ae0936f_1436x982.png 848w, https://substackcdn.com/image/fetch/$s_!3gKz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a5489e6-2db3-4e11-9755-bad69ae0936f_1436x982.png 1272w, https://substackcdn.com/image/fetch/$s_!3gKz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a5489e6-2db3-4e11-9755-bad69ae0936f_1436x982.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><ul><li><p><strong>Data Warehouse</strong>: This is structured storage for quick analysis. It&#8217;s fast and optimized for answering specific questions.</p></li><li><p><strong>Data Lake</strong>: This is a giant storage pool for <em>raw</em> data. It&#8217;s great for when you have tons of different data but aren&#8217;t sure yet what you want to do with it.</p></li><li><p><strong>Lakehouse</strong>: A happy blend of the two. It offers the flexibility of a data lake with the structured query power of a data warehouse.</p></li></ul><p>The <a href="https://www.databricks.com/blog/2021/05/19/evolution-to-the-data-lakehouse.html">evolution from warehouses to lakes to lakehouses</a> happened because businesses needed faster, more scalable ways to handle growing amounts of data.</p><h3>Big Data: The Heavyweights</h3><p>Big Data is all about handling <em>massive</em> amounts of information, the kind that Amazon, Netflix, and Instagram deal with every day. Traditional systems can&#8217;t handle this scale, so we use distributed systems like Hadoop.</p><p><strong>Hadoop</strong> is an ecosystem that chops up huge datasets and processes them across multiple servers at once, kind of like an army of worker bees.</p><p>Here&#8217;s the core of Hadoop:</p><ul><li><p><strong>HDFS</strong> (Hadoop Distributed File System): Stores huge amounts of data.</p></li><li><p><strong>MapReduce</strong>: Breaks down data tasks and processes them in parallel.</p></li><li><p><strong>YARN</strong>: Keeps everything running smoothly.</p></li></ul><p>Other cool tools you should know about:</p><ul><li><p><strong>Apache Spark</strong>: A super fast engine for processing big data in near real-time.</p></li><li><p><strong>Apache Kafka</strong>: A messaging system for streaming data.</p></li><li><p><strong>Apache Flink</strong>: A tool that handles both real-time and batch processing.</p></li></ul><p>These tools are like the superheroes of Big Data, ensuring massive amounts of data can be processed and analyzed efficiently.</p><h3>File Formats: Keeping Data Organized</h3><p>When managing massive amounts of data, the format you choose can make or break performance and flexibility. Let&#8217;s break down some popular data formats you&#8217;ll see in data warehouses and lakehouses:</p><p><strong>Iceberg &amp; Delta (Lakehouse Formats)</strong></p><ul><li><p><strong>Apache Iceberg</strong> is the table format for huge, distributed datasets. It supports file formats like Parquet and ORC, and cool features like time travel (yes, you can query old data!) and dynamic partitions. Works great with Spark, Trino, and Flink.</p></li><li><p><strong>Delta Lake</strong> (by Databricks) is a fast, real-time data pro, optimized for Spark. It supports Parquet, gives you schema control, and speeds up read-heavy tasks like machine learning.</p></li></ul><p><strong>JSON &amp; Parquet (Warehouse Formats)</strong></p><ul><li><p><strong>JSON</strong> is the human-friendly, semi-structured format perfect for web apps, but not the fastest for big data crunching.</p></li><li><p><strong>Parquet</strong> is the warehouse star! A columnar format is perfect for large datasets. It's efficient for analytics and supported by all the big data platforms.</p></li></ul><p>There&#8217;s a lot about this data format that we can detail out but that&#8217;s beyond the scope of a basic primer. I may cover this in a future edition of Tech Comprehension. </p><h4>Wanna build a strong Data Engineering understanding and make a career in it?</h4><p>If you want to build a solid understanding of Data Engineering, try out <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Zach Wilson&quot;,&quot;id&quot;:10367987,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8a857d08-ec8d-4a0e-9cb5-ad8434fe519e_2333x3500.jpeg&quot;,&quot;uuid&quot;:&quot;02790fdc-1a86-45d0-82fb-f87c907193f5&quot;}" data-component-name="MentionToDOM"></span>&#8217;s bootcamp <a href="https://www.dataexpert.io/pricing">here</a>. Use coupon code &#8220;<strong>GOURAV</strong>&#8221; and you will get 25% off. :)</p><h2>Shoutouts &#128266;</h2><p>A big shout-out to all the Data Engineering folks I know <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Zach Wilson&quot;,&quot;id&quot;:10367987,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8a857d08-ec8d-4a0e-9cb5-ad8434fe519e_2333x3500.jpeg&quot;,&quot;uuid&quot;:&quot;12b677c9-971f-441b-ae2a-8ab37a527ad1&quot;}" data-component-name="MentionToDOM"></span>, <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Junaid Effendi&quot;,&quot;id&quot;:21393641,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb06559f3-ee33-46f8-bfa0-50964179f235_1200x1200.png&quot;,&quot;uuid&quot;:&quot;d71e6647-b73a-483a-b089-2c92a4b3bd77&quot;}" data-component-name="MentionToDOM"></span>, <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;SeattleDataGuy&quot;,&quot;id&quot;:4963622,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1ec905aa-9a7b-4f21-b0ff-fec92e8916d1_512x512.jpeg&quot;,&quot;uuid&quot;:&quot;dbced6ed-91e9-453c-8cdb-4100a8982181&quot;}" data-component-name="MentionToDOM"></span>, <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Vu Trinh&quot;,&quot;id&quot;:167177248,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4805f673-db97-4f7c-85c4-44b345a8de80_256x256.png&quot;,&quot;uuid&quot;:&quot;3599e7ba-eefc-44c8-926d-a352b00d410d&quot;}" data-component-name="MentionToDOM"></span>. You all are rockstars!</p><p>Also, special shoutout to other Tech newsletter writers - <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Neo Kim&quot;,&quot;id&quot;:135589200,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c103940f-0d8b-47e7-9a33-013202e17bb8_389x389.jpeg&quot;,&quot;uuid&quot;:&quot;6a827220-ca62-40f8-8e13-e720f3668a12&quot;}" data-component-name="MentionToDOM"></span>, <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Ashish Pratap Singh&quot;,&quot;id&quot;:83602743,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0a3654fc-7584-4098-a656-7bda89568f83_612x612.jpeg&quot;,&quot;uuid&quot;:&quot;9e1398de-e3ab-42e0-8b2b-4f5c643c38d4&quot;}" data-component-name="MentionToDOM"></span>, <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Kartik Singhal&quot;,&quot;id&quot;:247738947,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0718920e-8708-4b28-ba4e-4d85e3f838e1_336x428.png&quot;,&quot;uuid&quot;:&quot;ec3c1bee-acae-4e10-9a17-4b5f5b950d0e&quot;}" data-component-name="MentionToDOM"></span> - writing tech deep dive newsletter is hard.</p><h4>Interesting reads last week:</h4><ol><li><p><a href="https://thehustlingengineer.substack.com/p/swe-vs-mle">SWE v/s MLE</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Kartik Singhal&quot;,&quot;id&quot;:247738947,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0718920e-8708-4b28-ba4e-4d85e3f838e1_336x428.png&quot;,&quot;uuid&quot;:&quot;6906b0ea-8744-40fa-a26a-c1a8b0e81465&quot;}" data-component-name="MentionToDOM"></span> and <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Hemant Pandey&quot;,&quot;id&quot;:58770480,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5d8aef1-0399-40a0-9537-5615ca0fe8d4_1166x1167.jpeg&quot;,&quot;uuid&quot;:&quot;8cd1ffab-a853-4d35-a15d-c93cc57dcf9e&quot;}" data-component-name="MentionToDOM"></span> </p></li><li><p><a href="https://read.highgrowthengineer.com/p/5-keys-to-the-hiring-manager-interview">5 Keys to the Hiring Manager Interview from a Meta Senior Manager</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Jordan Cutler&quot;,&quot;id&quot;:58854493,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fe86d99-af64-4285-b982-9466a4c58d63_1311x1312.jpeg&quot;,&quot;uuid&quot;:&quot;d1c587b0-6ff4-4248-9846-bb6025a240c1&quot;}" data-component-name="MentionToDOM"></span> and <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Stefan Mai&quot;,&quot;id&quot;:177837112,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53b6f4bb-4840-4c8e-b89f-b330b39433ad_800x800.jpeg&quot;,&quot;uuid&quot;:&quot;9c2569cc-bc3f-4c9d-80b4-f38419f9bf8f&quot;}" data-component-name="MentionToDOM"></span> </p></li><li><p><a href="https://zaidesanton.substack.com/p/being-an-engineering-manager-at-amazon">Being an engineering manager at Amazon</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Anton Zaides&quot;,&quot;id&quot;:121956618,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fa87af7-7089-4977-ab32-dbcae410c190_3847x3564.jpeg&quot;,&quot;uuid&quot;:&quot;8d168aae-ec33-4dec-8b97-a5b656044071&quot;}" data-component-name="MentionToDOM"></span> and <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Gilad Naor&quot;,&quot;id&quot;:15576627,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff313a68b-9487-4388-9957-74a48cc5d6e2_500x500.jpeg&quot;,&quot;uuid&quot;:&quot;0cc0b633-6704-4469-931d-a2de2b1b608f&quot;}" data-component-name="MentionToDOM"></span> </p></li><li><p><a href="https://strategizeyourcareer.com/p/i-worked-more-and-achieved-less">I Worked More and Achieved Less</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Fran Soto&quot;,&quot;id&quot;:170998285,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/10f90fdb-11ac-48b4-8f51-6a59e07763d2_1149x1149.png&quot;,&quot;uuid&quot;:&quot;7b38b654-f195-465a-b10c-8692af2eeb04&quot;}" data-component-name="MentionToDOM"></span> </p></li></ol><h2>&#129309; Let&#8217;s Connect</h2><p><strong><a href="https://gouravkhanijoe.com/sponsor">Sponsorship</a> | <a href="https://www.linkedin.com/in/gourav-khanijoe/">Collaboration</a> | <a href="https://www.linkedin.com/in/gourav-khanijoe/">LinkedIn</a> | <a href="https://gouravkhanijoe.com/connect">1:1 Mentoring</a> | <a href="https://twitter.com/KhanijoeGourav">Twitter</a></strong></p><p><em>Gourav Khanijoe</em></p><p></p>]]></content:encoded></item><item><title><![CDATA[How earth's rotation caused Software Systems to go down?]]></title><description><![CDATA[Every second counts...sometimes!]]></description><link>https://blog.gouravkhanijoe.com/p/how-earths-rotation-caused-software</link><guid isPermaLink="false">https://blog.gouravkhanijoe.com/p/how-earths-rotation-caused-software</guid><dc:creator><![CDATA[Curiosity With Gourav]]></dc:creator><pubDate>Wed, 03 Jan 2024 16:24:34 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!4-oi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0f33910-4ce8-4ee7-918d-fa9dae6150f4_1284x1700.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<blockquote><p><em>&#128075; Hey there, fellow tech enthusiasts, professionals, and wanderers of the digital realm! &#128640;</em></p><p><em>I am <a href="https://substack.com/@gkhanijoe?utm_source=user-menu">Gourav</a>. I write about Engineering, Productivity, Thought Leadership, and the Mysteries of the mind!</em></p></blockquote><p>Welcome back and Happy New Year!</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!4-oi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0f33910-4ce8-4ee7-918d-fa9dae6150f4_1284x1700.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4-oi!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0f33910-4ce8-4ee7-918d-fa9dae6150f4_1284x1700.jpeg 424w, https://substackcdn.com/image/fetch/$s_!4-oi!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0f33910-4ce8-4ee7-918d-fa9dae6150f4_1284x1700.jpeg 848w, https://substackcdn.com/image/fetch/$s_!4-oi!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0f33910-4ce8-4ee7-918d-fa9dae6150f4_1284x1700.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!4-oi!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0f33910-4ce8-4ee7-918d-fa9dae6150f4_1284x1700.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4-oi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0f33910-4ce8-4ee7-918d-fa9dae6150f4_1284x1700.jpeg" width="490" height="648.7538940809969" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b0f33910-4ce8-4ee7-918d-fa9dae6150f4_1284x1700.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1700,&quot;width&quot;:1284,&quot;resizeWidth&quot;:490,&quot;bytes&quot;:149824,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!4-oi!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0f33910-4ce8-4ee7-918d-fa9dae6150f4_1284x1700.jpeg 424w, https://substackcdn.com/image/fetch/$s_!4-oi!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0f33910-4ce8-4ee7-918d-fa9dae6150f4_1284x1700.jpeg 848w, https://substackcdn.com/image/fetch/$s_!4-oi!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0f33910-4ce8-4ee7-918d-fa9dae6150f4_1284x1700.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!4-oi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0f33910-4ce8-4ee7-918d-fa9dae6150f4_1284x1700.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>(I clicked that pic on the New Year celebration at Space Needle, Seattle, Washington!)</p><p>Today, I am going to dive into an interesting puzzle of how many software systems crashed simultaneously; share a thought-provoking story, and expose what I am addicted to!</p><p><strong>Your engagement is what makes this community vibrant, so feel free to hit reply and share your thoughts, feedback, and ideas, or even just to say hello!</strong></p><div><hr></div><h3><strong>Today at a Glance</strong></h3><ul><li><p>Survey: It&#8217;s not your fault!</p></li><li><p>A Thought-provoking Quote</p></li><li><p>Main Topic: A &#8216;time&#8217; when multiple Software Systems crashed around the world</p></li><li><p>What am I addicted to?</p></li></ul><div><hr></div><h3>Survey: It&#8217;s not your fault!</h3><p>Despite having so many resources to learn, cracking a new skill or gathering life-changing knowledge isn&#8217;t simple.</p><p>It's not your fault that traditional learning methods demand time we don't have. Books are a time-consuming voyage, and audiobooks lack that personal touch.</p><p>Now, there are two main ways to learn.</p><p>1/ Learn by making mistakes yourselves; </p><p>2/ Learn through the wisdom gleaned from the mistakes of others</p><p><strong>Fill out <a href="https://docs.google.com/forms/d/e/1FAIpQLSftIPk5l4yf7bivQgMHCkGevBiMEVtBpZB7J91q8hrqRmKKVA/viewform?usp=sf_link">this free survey</a> in under 30 seconds</strong>, to help me understand the topic that you would like to learn and I will share my long-gathered wisdom via a course!</p><p>As a token of appreciation, you will enjoy <strong>an exclusive 20% discount</strong> when our course flings open its doors to enrollment. </p><p>Seize the opportunity to transform your future&#8212;let's make your career goals a reality! &#128640;</p><p><a href="https://docs.google.com/forms/d/e/1FAIpQLSftIPk5l4yf7bivQgMHCkGevBiMEVtBpZB7J91q8hrqRmKKVA/viewform">Link to the Survey</a></p><div><hr></div><h3>Thought-provoking Quote</h3><div class="pullquote"><p><strong>Men are not prisoners of fate, but only prisoners of their own minds</strong></p><p>&#8212; Franklin Roosevelt, legendary US President</p></div><p>This interesting story would help you retain this deeply:</p><p>A merchant traveling with his three camels stopped at an inn at night and had only two ropes to tie them to the tavern. </p><p>After tying two camels, as he fell short of the rope, he got a brilliant idea. </p><p>He simply pretended to put a noose around the third camel&#8217;s neck and then attach that virtual rope to a peg. </p><p>Thinking it was tied, the third camel sat down timidly, like the others.</p><p>In the morning, when they had to leave, he untied two camels, but the third one refused to budge&#8230;</p><p>&#8230;because it was under the impression that it was also tied, the merchant had to do a virtual or fake untie to make the third camel move.</p><p><em><strong>Like the camel, many times, we involuntarily tie ourselves to false beliefs created by our own minds. </strong></em></p><p>We must, therefore, crush those briefs like &#8220;I am a failure&#8221;, and &#8220;Success isn&#8217;t for me&#8221; and rather train our minds to think positively. </p><div><hr></div><h3>A story about a &#8216;time&#8217; when many Software Systems around the world crashed at the same time&#8230;</h3><p>On the night of June 30th to July 1st, 2012, many online services and systems around the world crashed simultaneously.</p><p>The servers locked up and stopped responding.</p><p>Many airlines could not process any reservations or online check-in for several hours.</p><p>So, what happened here?</p><p>Well, A <strong>Leap second</strong> happened. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!NT1s!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37635245-294f-4085-bb6d-17a6735bcbef_736x736.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!NT1s!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37635245-294f-4085-bb6d-17a6735bcbef_736x736.jpeg 424w, https://substackcdn.com/image/fetch/$s_!NT1s!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37635245-294f-4085-bb6d-17a6735bcbef_736x736.jpeg 848w, https://substackcdn.com/image/fetch/$s_!NT1s!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37635245-294f-4085-bb6d-17a6735bcbef_736x736.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!NT1s!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37635245-294f-4085-bb6d-17a6735bcbef_736x736.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!NT1s!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37635245-294f-4085-bb6d-17a6735bcbef_736x736.jpeg" width="736" height="736" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/37635245-294f-4085-bb6d-17a6735bcbef_736x736.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:736,&quot;width&quot;:736,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:66484,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!NT1s!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37635245-294f-4085-bb6d-17a6735bcbef_736x736.jpeg 424w, https://substackcdn.com/image/fetch/$s_!NT1s!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37635245-294f-4085-bb6d-17a6735bcbef_736x736.jpeg 848w, https://substackcdn.com/image/fetch/$s_!NT1s!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37635245-294f-4085-bb6d-17a6735bcbef_736x736.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!NT1s!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37635245-294f-4085-bb6d-17a6735bcbef_736x736.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>Source of picture: https://in.pinterest.com/pin/742249582348637613/</em></p><p>Before we can understand what happened, we need to understand what is <strong>leap second</strong>.</p><p>In short,</p><p><a href="https://en.wikipedia.org/wiki/Leap_second">Leap seconds</a> are inserted in UTC to keep UTC and GMT from drifting apart.</p><p><em>GMT, UTC&#8230;leap seconds&#8230;what the heck&#8230;</em></p><p><em>what is even a &#8216;second&#8217;? How is time calculated?</em></p><p><strong>Explain &#8216;Time&#8217; like I&#8217;m a novice!</strong></p><p>Don&#8217;t worry, let&#8217;s understand it in a very simple manner. </p><p>The <strong>notion of time</strong> is related to the <strong>duration it takes for Earth to revolve around the sun. </strong></p><p><strong>GMT</strong>: stands for <em>Greenwich Mean Time</em>, the mean solar time at the <a href="https://en.wikipedia.org/wiki/Royal_Observatory%2C_Greenwich">Royal Observatory in Greenwich</a> on the south bank in Eastern London, UK. When the sun is at its highest point exactly above Greenwich, it is 12 noon GMT. Except: The Earth spins slightly unevenly, so 12 noon is defined as the annual average, the mean of when the sun is at its highest, its culmination. </p><p>So, GMT is based on astronomical observations. </p><p><strong>Atomic Clocks and Time:</strong> This is the international way of defining time. <a href="https://en.wikipedia.org/wiki/International_Atomic_Time">Internal Atomic Time (TAI)</a> is based on the caesium atom&#8217;s resonant frequency. So, put simply, we count the oscillations in this atom to calculate time.</p><pre><code>1 day = 20 x 60 x 60 x 9,192, 631, 770 periods of caesium atom&#8217;s resonant frequency </code></pre><p>Thus, this is based on the Quantum mechanism and is very accurate.</p><p><strong>The problem is our Earth &#127759; &#8230;. lol</strong></p><p>Remember, GMT is based on astronomical observations. The problem is that the earth&#8217;s rotation speed is not constant. Earth&#8217;s rotation slows down or increases because of earthquakes and tidal friction.</p><p>So, the 1-second duration may sometimes differ in GMT.</p><p>Thus, GMT is not accurate but is still widely used and the Atomic clock is accurate but could go unmatched by GMT.</p><p><strong>So, enter UTC, as a compromise.</strong></p><p><a href="https://en.wikipedia.org/wiki/Coordinated_Universal_Time">UTC</a>, which stands for Coordinated Universal Time is <strong>TAI</strong>, <strong>but</strong> <strong>with corrections applied to account for Earth&#8217;s rotation (astronomy).</strong></p><p><strong>Leap Second: </strong>It is the adjustment applied to UTC to make it consistent with GMT. It&#8217;s an extra second that could be added to or removed from TAI to accommodate GMT. So, you may end up with a time like &#8216;00:59:60&#8217; &#128517;</p><p>But it&#8217;s done on a certain date. Either 30th June or December 31st. And this is usually announced several months beforehand.</p><p><strong>But back then, how were Software systems used to handle this extra or less 1-second?</strong></p><p>Any guesses? </p><p>The answer is <strong>the systems ignored it!</strong> &#128568;</p><p>In many applications, 1 second doesn&#8217;t make a huge difference but in other systems, it makes quite a significant difference.</p><p>Hope you got the answer to the puzzle of what happened on June 30th, 2012. The bug in Linux kernels caused livelock on leap second, causing many internet services to go down!</p><p>Fortunately, now it&#8217;s handled by smearing or spreading that one second across a day so we don&#8217;t have to insert or remove a second explicitly.</p><p>[<a href="https://www.youtube.com/watch?v=FQ_2N3AQu0M&amp;list=PLeKd45zvjcDFUEv_ohr_HdUFe97RItdiB&amp;index=8">Source</a>]</p><div><hr></div><h3>What am I addicted to?</h3><p>Yes, I am addicted to something.</p><p>Something positive&#8230;or life-changing.</p><p>And that&#8217;s my morning routine&#8230;!</p><p>I literally crave my morning routine. When I miss it (rarely, but it happens) my whole day is affected. I don&#8217;t feel accomplished that day.</p><p>So, what&#8217;s my morning routine?</p><p><strong>4:30-5am</strong>: wake up</p><p><strong>5am-5:30am</strong>: drink water, prepare coffee, and enjoy that in the silence while creating a 3-4 pointer To-do list for succeeding at my day!</p><p><strong>5:30-6:00am</strong>: meditation, or listening to thought-provoking spiritual lectures.</p><p><strong>6-7am</strong>: &#8220;<em>Dawn Creations: Mind and Body Boost</em>&#8221; - I do one of these each day: exercise while listening to podcasts; newsletter content creation/researching; working on my website; or reading technical / non-fictional books.</p><p><strong>7-7:30am:</strong> some household chores</p><p><strong>7:30-8am</strong>: freshen up and get ready for work!</p><p><strong>8am:</strong> start office work!</p><p>It&#8217;s because of my morning routine that this content is coming all the way to your inbox!</p><p>It&#8217;s because of the morning rituals, that I feel productive the whole day&#8230;</p><p>But how did I get into this morning's build in the first place?</p><p>That&#8217;s a topic for another day, but here&#8217;s a short answer: We have an infant at home :)</p><div><hr></div><h3>In case you missed my previous articles&#8230;</h3><p><a href="https://blog.gouravkhanijoe.com/p/dancing-into-2024">Dancing into 2024</a></p><p><a href="https://blog.gouravkhanijoe.com/p/why-do-we-fall-short-despite-intelligence">Why do we fall short Despite Intelligence and Skill Excellence?</a></p><p><a href="https://blog.gouravkhanijoe.com/p/the-art-of-empowering-others-with">The Art of Empowering Others with Influential Leadership: Spreading Joy and Happiness</a></p><p><a href="https://blog.gouravkhanijoe.com/p/dispelling-career-advice-myths-in">Dispelling Career Advice Myths in the Tech World</a></p><p><a href="https://blog.gouravkhanijoe.com/p/how-to-apply-bhagavad-gita-teachings">How to apply Bhagavad Gita teachings to succeed at Work (without Stress)?</a></p><h3>Let&#8217;s Connect</h3><p>If we haven't crossed paths previously, I'd be delighted to receive a message from you! Don't hesitate to reply to this email and introduce yourself. I make it a point to respond to every direct message, email, and comment. You can also find me actively sharing on LinkedIn&#8212;let's connect:</p><p>&#129309; <a href="https://www.linkedin.com/in/gourav-khanijoe/">Connect with me on LinkedIn</a></p><p>&#120143;  <a href="https://twitter.com/KhanijoeGourav">Connect with me on Twitter</a></p><p>&#128170; <a href="https://gouravkhanijoe.com/connect">Connect for 1:1 mentorship</a></p><p><strong>Best regards,</strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!UHWn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8380b1c7-5370-4b97-bd4f-ce1c8b83ed8e_2268x2023.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!UHWn!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8380b1c7-5370-4b97-bd4f-ce1c8b83ed8e_2268x2023.webp 424w, https://substackcdn.com/image/fetch/$s_!UHWn!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8380b1c7-5370-4b97-bd4f-ce1c8b83ed8e_2268x2023.webp 848w, https://substackcdn.com/image/fetch/$s_!UHWn!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8380b1c7-5370-4b97-bd4f-ce1c8b83ed8e_2268x2023.webp 1272w, https://substackcdn.com/image/fetch/$s_!UHWn!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8380b1c7-5370-4b97-bd4f-ce1c8b83ed8e_2268x2023.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!UHWn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8380b1c7-5370-4b97-bd4f-ce1c8b83ed8e_2268x2023.webp" width="506" height="451.4381868131868" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8380b1c7-5370-4b97-bd4f-ce1c8b83ed8e_2268x2023.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1299,&quot;width&quot;:1456,&quot;resizeWidth&quot;:506,&quot;bytes&quot;:559820,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!UHWn!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8380b1c7-5370-4b97-bd4f-ce1c8b83ed8e_2268x2023.webp 424w, https://substackcdn.com/image/fetch/$s_!UHWn!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8380b1c7-5370-4b97-bd4f-ce1c8b83ed8e_2268x2023.webp 848w, https://substackcdn.com/image/fetch/$s_!UHWn!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8380b1c7-5370-4b97-bd4f-ce1c8b83ed8e_2268x2023.webp 1272w, https://substackcdn.com/image/fetch/$s_!UHWn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8380b1c7-5370-4b97-bd4f-ce1c8b83ed8e_2268x2023.webp 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>Gourav Khanijoe</em></p>]]></content:encoded></item></channel></rss>