<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: CodeWithIshwar</title>
    <description>The latest articles on Forem by CodeWithIshwar (@codewithishwar).</description>
    <link>https://forem.com/codewithishwar</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3690229%2Ffa0ea320-b80d-4411-b8a0-d6a018840c2c.png</url>
      <title>Forem: CodeWithIshwar</title>
      <link>https://forem.com/codewithishwar</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/codewithishwar"/>
    <language>en</language>
    <item>
      <title>🚨 Java &amp; JavaScript Are NOT Call by Reference</title>
      <dc:creator>CodeWithIshwar</dc:creator>
      <pubDate>Wed, 15 Apr 2026 17:16:28 +0000</pubDate>
      <link>https://forem.com/codewithishwar/-java-javascript-are-not-call-by-reference-33el</link>
      <guid>https://forem.com/codewithishwar/-java-javascript-are-not-call-by-reference-33el</guid>
      <description>&lt;p&gt;This is one of those concepts that seems obvious… until it breaks your code.&lt;/p&gt;

&lt;p&gt;Many developers believe:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Objects are passed by reference in Java or JavaScript”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;❌ That’s incorrect.&lt;/p&gt;

&lt;p&gt;👉 Both Java and JavaScript are strictly &lt;strong&gt;call by value&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  🧠 Why This Feels Wrong
&lt;/h2&gt;

&lt;p&gt;If you’ve ever done this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;function update(user):
    user.name = "Ishwar"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;…and seen the change reflected outside,&lt;br&gt;
it &lt;em&gt;feels&lt;/em&gt; like pass by reference.&lt;/p&gt;

&lt;p&gt;But then this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;function reset(user):
    user = new Object()
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Does nothing to the original.&lt;/p&gt;

&lt;p&gt;So what’s really going on?&lt;/p&gt;




&lt;h2&gt;
  
  
  ⚙️ What’s Actually Happening
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Variables store &lt;strong&gt;values&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;For objects → that value is a &lt;strong&gt;reference (memory address)&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 When calling a function:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A &lt;strong&gt;copy of that value&lt;/strong&gt; is passed&lt;/li&gt;
&lt;li&gt;Not the original variable&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🔍 The Key Insight
&lt;/h2&gt;

&lt;p&gt;Inside the function:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You get a &lt;strong&gt;copy of the reference&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Both point to the same object → mutation works&lt;/li&gt;
&lt;li&gt;But reassignment only affects the local copy&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🔁 Mental Model
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;original variable → copy value → function parameter
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;👉 You never get direct access to the original variable&lt;/p&gt;




&lt;h2&gt;
  
  
  📦 Stack vs Heap (Quick View)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Stack → variables (copies live here)&lt;/li&gt;
&lt;li&gt;Heap → actual objects&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 You copy the &lt;strong&gt;reference value&lt;/strong&gt;, not the object&lt;/p&gt;




&lt;h2&gt;
  
  
  🌍 Applies Beyond Just Java
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Language&lt;/th&gt;
&lt;th&gt;Behavior&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Java&lt;/td&gt;
&lt;td&gt;Call by Value&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;JavaScript&lt;/td&gt;
&lt;td&gt;Call by Value&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Python&lt;/td&gt;
&lt;td&gt;Call by Value (object ref)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;C#&lt;/td&gt;
&lt;td&gt;Call by Value (default)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  💡 Final Takeaway
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;Everything is pass by value.&lt;br&gt;
Some values just happen to be references.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  🚀 Why This Matters
&lt;/h2&gt;

&lt;p&gt;This concept shows up in real-world bugs:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Unexpected object mutations&lt;/li&gt;
&lt;li&gt;State issues in frontend apps&lt;/li&gt;
&lt;li&gt;Backend data inconsistencies&lt;/li&gt;
&lt;li&gt;API transformation bugs&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🤔 Discussion
&lt;/h2&gt;

&lt;p&gt;When did this finally click for you?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Early learning phase&lt;/li&gt;
&lt;li&gt;On the job&lt;/li&gt;
&lt;li&gt;Or after debugging something painful 😅&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;Built for devs who like understanding &lt;em&gt;why&lt;/em&gt;, not just &lt;em&gt;what&lt;/em&gt;.&lt;br&gt;
More deep dives coming.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>opensource</category>
      <category>learning</category>
    </item>
    <item>
      <title>🚨 Java &amp; JavaScript Are NOT Call by Reference (Let’s Break This Myth)</title>
      <dc:creator>CodeWithIshwar</dc:creator>
      <pubDate>Wed, 15 Apr 2026 17:14:43 +0000</pubDate>
      <link>https://forem.com/codewithishwar/java-javascript-are-not-call-by-reference-lets-break-this-myth-2i3o</link>
      <guid>https://forem.com/codewithishwar/java-javascript-are-not-call-by-reference-lets-break-this-myth-2i3o</guid>
      <description>&lt;p&gt;One of the most common misconceptions in programming:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Objects are passed by reference in Java or JavaScript”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;❌ That’s not true.&lt;/p&gt;

&lt;p&gt;👉 Both &lt;strong&gt;Java&lt;/strong&gt; and &lt;strong&gt;JavaScript&lt;/strong&gt; are &lt;strong&gt;call by value&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  🧠 Why the Confusion?
&lt;/h2&gt;

&lt;p&gt;Because when you pass objects into a function, changes sometimes reflect outside.&lt;/p&gt;

&lt;p&gt;That behavior &lt;em&gt;feels like&lt;/em&gt; call by reference… but it’s not.&lt;/p&gt;




&lt;h2&gt;
  
  
  ⚙️ What Actually Happens
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Every variable stores a &lt;strong&gt;value&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;For primitives → actual data&lt;/li&gt;
&lt;li&gt;For objects → &lt;strong&gt;memory address (reference)&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 During a function call:&lt;br&gt;
➡️ A &lt;strong&gt;copy of that value&lt;/strong&gt; is passed&lt;/p&gt;




&lt;h2&gt;
  
  
  🔍 Two Cases That Explain Everything
&lt;/h2&gt;

&lt;h3&gt;
  
  
  ✅ Case 1: Mutation (Works)
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;change&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;user&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;user&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Ishwar&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// ✅ affects original&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;✔️ Both variables point to the same object in memory&lt;br&gt;
✔️ Changes are visible&lt;/p&gt;




&lt;h3&gt;
  
  
  ❌ Case 2: Reassignment (Does NOT Work)
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;reassign&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;user&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;user&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;New&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="p"&gt;};&lt;/span&gt; &lt;span class="c1"&gt;// ❌ does NOT affect original&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;❌ Only the local copy changes&lt;br&gt;
❌ Original remains unchanged&lt;/p&gt;




&lt;h2&gt;
  
  
  ⚙️ The Algorithm Behind It
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Variable stores a value&lt;/li&gt;
&lt;li&gt;Function is called&lt;/li&gt;
&lt;li&gt;A new stack frame is created&lt;/li&gt;
&lt;li&gt;Parameters receive &lt;strong&gt;copy of argument values&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Function works on copied values&lt;/li&gt;
&lt;li&gt;Stack frame is destroyed&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  🔁 Mental Model
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Caller Variable → Copy Value → Function Parameter
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;👉 No direct access to original variable&lt;br&gt;
👉 Only a copy is used&lt;/p&gt;




&lt;h2&gt;
  
  
  📦 Stack vs Heap (Simple View)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Stack&lt;/strong&gt; → variables (copies live here)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Heap&lt;/strong&gt; → actual objects&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 You copy the &lt;strong&gt;reference value&lt;/strong&gt;, not the object&lt;/p&gt;




&lt;h2&gt;
  
  
  🌍 Applies to Multiple Languages
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Language&lt;/th&gt;
&lt;th&gt;Behavior&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Java&lt;/td&gt;
&lt;td&gt;Call by Value&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;JavaScript&lt;/td&gt;
&lt;td&gt;Call by Value&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Python&lt;/td&gt;
&lt;td&gt;Call by Value (object ref)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;C#&lt;/td&gt;
&lt;td&gt;Call by Value (default)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  💡 Final Rule
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;“Everything is pass by value.&lt;br&gt;
Some values just happen to be references.”&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  🚀 Why This Matters
&lt;/h2&gt;

&lt;p&gt;This concept helps avoid bugs in:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Backend APIs&lt;/li&gt;
&lt;li&gt;State management (React, Redux)&lt;/li&gt;
&lt;li&gt;Object mutation issues&lt;/li&gt;
&lt;li&gt;System design&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🤔 Question for You
&lt;/h2&gt;

&lt;p&gt;When did this concept finally click for you?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;College?&lt;/li&gt;
&lt;li&gt;First job?&lt;/li&gt;
&lt;li&gt;Or after debugging a weird bug? 😅&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;💬 If this helped, drop a comment or share with someone who still thinks it's call by reference 😉&lt;/p&gt;

&lt;p&gt;#java #javascript #programming #coding #softwareengineering #webdev #beginners #devtips&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>coding</category>
      <category>ai</category>
    </item>
    <item>
      <title>Limitations of System Design with Real-World Examples</title>
      <dc:creator>CodeWithIshwar</dc:creator>
      <pubDate>Mon, 13 Apr 2026 17:50:07 +0000</pubDate>
      <link>https://forem.com/codewithishwar/limitations-of-system-design-with-real-world-examples-2l22</link>
      <guid>https://forem.com/codewithishwar/limitations-of-system-design-with-real-world-examples-2l22</guid>
      <description>&lt;p&gt;System design looks clean in theory.&lt;/p&gt;

&lt;p&gt;But real systems are built on trade-offs.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. No Design is Future-Proof
&lt;/h2&gt;

&lt;p&gt;Netflix started with a monolith and later moved to microservices as scale increased.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Trade-offs are Unavoidable
&lt;/h2&gt;

&lt;p&gt;Amazon often prefers availability over strict consistency.&lt;br&gt;&lt;br&gt;
Users may see "Order Placed" even if systems are still syncing.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Over-Engineering Slows You Down
&lt;/h2&gt;

&lt;p&gt;Microservices too early can slow development.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Assumptions Fail
&lt;/h2&gt;

&lt;p&gt;Uber had to redesign systems as demand patterns changed.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Cost vs Performance
&lt;/h2&gt;

&lt;p&gt;Better performance requires more infrastructure cost.&lt;/p&gt;

&lt;h2&gt;
  
  
  6. Complexity Increases with Scale
&lt;/h2&gt;

&lt;p&gt;More services lead to more failures and harder debugging.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final Thought
&lt;/h2&gt;

&lt;p&gt;There is no perfect system design. Only trade-offs.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>productivity</category>
      <category>design</category>
    </item>
    <item>
      <title>Limitations of System Design (with Real-World Examples)</title>
      <dc:creator>CodeWithIshwar</dc:creator>
      <pubDate>Mon, 13 Apr 2026 17:48:26 +0000</pubDate>
      <link>https://forem.com/codewithishwar/limitations-of-system-design-with-real-world-examples-2jel</link>
      <guid>https://forem.com/codewithishwar/limitations-of-system-design-with-real-world-examples-2jel</guid>
      <description>&lt;p&gt;System design often looks clean in theory — neat diagrams, scalable architectures, and well-defined components.&lt;/p&gt;

&lt;p&gt;But in real-world systems, things are rarely that simple.&lt;/p&gt;

&lt;p&gt;Every design decision comes with trade-offs.&lt;/p&gt;

&lt;h2&gt;
  
  
  🚫 1. No Design is Future-Proof
&lt;/h2&gt;

&lt;p&gt;Systems evolve with scale.&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
Netflix started with a monolithic architecture and later moved to microservices as its user base grew.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Takeaway:&lt;/strong&gt; Design for current needs, but expect change.&lt;/p&gt;

&lt;h2&gt;
  
  
  ⚖️ 2. Trade-offs Are Unavoidable
&lt;/h2&gt;

&lt;p&gt;You cannot optimize everything at once.&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
Amazon often prioritizes availability over strict consistency. Users may see "Order Placed" even when backend systems are still syncing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Takeaway:&lt;/strong&gt; User experience &amp;gt; perfect consistency (sometimes).&lt;/p&gt;

&lt;h2&gt;
  
  
  ⚡ 3. Over-Engineering Slows You Down
&lt;/h2&gt;

&lt;p&gt;Microservices are powerful—but not always necessary.&lt;/p&gt;

&lt;p&gt;Common mistake:&lt;br&gt;
Teams adopt microservices too early, increasing complexity and slowing development.&lt;/p&gt;

&lt;h2&gt;
  
  
  🔄 4. Assumptions Don’t Hold Forever
&lt;/h2&gt;

&lt;p&gt;System design relies on assumptions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Traffic patterns&lt;/li&gt;
&lt;li&gt;User behavior&lt;/li&gt;
&lt;li&gt;Growth&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Example:&lt;br&gt;
Uber had to redesign parts of its system as demand patterns evolved.&lt;/p&gt;

&lt;h2&gt;
  
  
  💰 5. Cost vs Performance
&lt;/h2&gt;

&lt;p&gt;Improving performance comes at a cost:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Caching&lt;/li&gt;
&lt;li&gt;CDNs&lt;/li&gt;
&lt;li&gt;Replication&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Better performance = higher cost.&lt;/p&gt;

&lt;h2&gt;
  
  
  🧩 6. Complexity Increases with Scale
&lt;/h2&gt;

&lt;p&gt;As systems grow:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;More services&lt;/li&gt;
&lt;li&gt;More communication&lt;/li&gt;
&lt;li&gt;More failure points&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Debugging distributed systems is harder than building them.&lt;/p&gt;

&lt;h2&gt;
  
  
  🎯 Final Thoughts
&lt;/h2&gt;

&lt;p&gt;There is no perfect system design.&lt;/p&gt;

&lt;p&gt;Only trade-offs, constraints, and context.&lt;/p&gt;

&lt;p&gt;👉 Design for today. Prepare for tomorrow.&lt;/p&gt;

&lt;h2&gt;
  
  
  💬 Discussion
&lt;/h2&gt;

&lt;p&gt;What’s one system design challenge you’ve faced?&lt;/p&gt;

</description>
      <category>systemdesign</category>
      <category>webdev</category>
      <category>programming</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Most developers use indexes. Very few truly understand how they work.</title>
      <dc:creator>CodeWithIshwar</dc:creator>
      <pubDate>Sun, 12 Apr 2026 16:27:08 +0000</pubDate>
      <link>https://forem.com/codewithishwar/most-developers-use-indexes-very-few-truly-understand-how-they-work-1ojm</link>
      <guid>https://forem.com/codewithishwar/most-developers-use-indexes-very-few-truly-understand-how-they-work-1ojm</guid>
      <description>&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
        &lt;div class="c-embed__cover"&gt;
          &lt;a href="https://www.linkedin.com/pulse/most-developers-use-indexes-very-few-truly-understand-tiwari-wdtlc/" class="c-link align-middle" rel="noopener noreferrer"&gt;
            &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fmedia.licdn.com%2Fdms%2Fimage%2Fv2%2FD5612AQGvvsEFchTLew%2Farticle-cover_image-shrink_720_1280%2FB56Z2CaLV4IUAI-%2F0%2F1776009396629%3Fe%3D2147483647%26v%3Dbeta%26t%3DFPdpuCmfl7Di3_KYFuZzMhm0PNen4Xhzdja3QlIFKMU" height="720" class="m-0" width="1279"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="c-embed__body"&gt;
        &lt;h2 class="fs-xl lh-tight"&gt;
          &lt;a href="https://www.linkedin.com/pulse/most-developers-use-indexes-very-few-truly-understand-tiwari-wdtlc/" rel="noopener noreferrer" class="c-link"&gt;
            Most developers use indexes. Very few truly understand how they work
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            I’ve seen developers with years of experience write queries that scan millions of rows… Not because they lack skill. But because they don’t truly understand indexes.
          &lt;/p&gt;
        &lt;div class="color-secondary fs-s flex items-center"&gt;
            &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fstatic.licdn.com%2Faero-v1%2Fsc%2Fh%2Fal2o9zrvru7aqj8e1x2rzsrca" width="64" height="64"&gt;
          linkedin.com
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


</description>
    </item>
    <item>
      <title>Most developers use indexes. Very few truly understand how they work</title>
      <dc:creator>CodeWithIshwar</dc:creator>
      <pubDate>Sun, 12 Apr 2026 16:26:05 +0000</pubDate>
      <link>https://forem.com/codewithishwar/most-developers-use-indexes-very-few-truly-understand-how-they-work-2g1n</link>
      <guid>https://forem.com/codewithishwar/most-developers-use-indexes-very-few-truly-understand-how-they-work-2g1n</guid>
      <description>&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
        &lt;div class="c-embed__cover"&gt;
          &lt;a href="https://www.linkedin.com/pulse/most-developers-use-indexes-very-few-truly-understand-tiwari-wdtlc/" class="c-link align-middle" rel="noopener noreferrer"&gt;
            &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fmedia.licdn.com%2Fdms%2Fimage%2Fv2%2FD5612AQGvvsEFchTLew%2Farticle-cover_image-shrink_720_1280%2FB56Z2CaLV4IUAI-%2F0%2F1776009396629%3Fe%3D2147483647%26v%3Dbeta%26t%3DFPdpuCmfl7Di3_KYFuZzMhm0PNen4Xhzdja3QlIFKMU" height="720" class="m-0" width="1279"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="c-embed__body"&gt;
        &lt;h2 class="fs-xl lh-tight"&gt;
          &lt;a href="https://www.linkedin.com/pulse/most-developers-use-indexes-very-few-truly-understand-tiwari-wdtlc/" rel="noopener noreferrer" class="c-link"&gt;
            Most developers use indexes. Very few truly understand how they work
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            I’ve seen developers with years of experience write queries that scan millions of rows… Not because they lack skill. But because they don’t truly understand indexes.
          &lt;/p&gt;
        &lt;div class="color-secondary fs-s flex items-center"&gt;
            &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fstatic.licdn.com%2Faero-v1%2Fsc%2Fh%2Fal2o9zrvru7aqj8e1x2rzsrca" width="64" height="64"&gt;
          linkedin.com
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


</description>
    </item>
    <item>
      <title>Most developers use indexes. Very few truly understand how they work

https://www.linkedin.com/pulse/most-developers-use-indexes-very-few-truly-understand-tiwari-wdtlc/</title>
      <dc:creator>CodeWithIshwar</dc:creator>
      <pubDate>Sun, 12 Apr 2026 16:25:35 +0000</pubDate>
      <link>https://forem.com/codewithishwar/most-developers-use-indexes-very-few-truly-understand-how-they-work-39j</link>
      <guid>https://forem.com/codewithishwar/most-developers-use-indexes-very-few-truly-understand-how-they-work-39j</guid>
      <description>&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
        &lt;div class="c-embed__cover"&gt;
          &lt;a href="https://www.linkedin.com/pulse/most-developers-use-indexes-very-few-truly-understand-tiwari-wdtlc/" class="c-link align-middle" rel="noopener noreferrer"&gt;
            &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fmedia.licdn.com%2Fdms%2Fimage%2Fv2%2FD5612AQGvvsEFchTLew%2Farticle-cover_image-shrink_720_1280%2FB56Z2CaLV4IUAI-%2F0%2F1776009396629%3Fe%3D2147483647%26v%3Dbeta%26t%3DFPdpuCmfl7Di3_KYFuZzMhm0PNen4Xhzdja3QlIFKMU" height="720" class="m-0" width="1279"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="c-embed__body"&gt;
        &lt;h2 class="fs-xl lh-tight"&gt;
          &lt;a href="https://www.linkedin.com/pulse/most-developers-use-indexes-very-few-truly-understand-tiwari-wdtlc/" rel="noopener noreferrer" class="c-link"&gt;
            Most developers use indexes. Very few truly understand how they work
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            I’ve seen developers with years of experience write queries that scan millions of rows… Not because they lack skill. But because they don’t truly understand indexes.
          &lt;/p&gt;
        &lt;div class="color-secondary fs-s flex items-center"&gt;
            &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fstatic.licdn.com%2Faero-v1%2Fsc%2Fh%2Fal2o9zrvru7aqj8e1x2rzsrca" width="64" height="64"&gt;
          linkedin.com
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


</description>
    </item>
    <item>
      <title>🌐 What Actually Happens When You Type a URL? (DNS Breakdown)</title>
      <dc:creator>CodeWithIshwar</dc:creator>
      <pubDate>Fri, 10 Apr 2026 17:55:33 +0000</pubDate>
      <link>https://forem.com/codewithishwar/what-actually-happens-when-you-type-a-url-dns-breakdown-35mg</link>
      <guid>https://forem.com/codewithishwar/what-actually-happens-when-you-type-a-url-dns-breakdown-35mg</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Firtbhq3o6l84raly4zgh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Firtbhq3o6l84raly4zgh.png" alt=" " width="800" height="224"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frddhvrar785gxl6lbt1g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frddhvrar785gxl6lbt1g.png" alt=" " width="800" height="702"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We type URLs every day.&lt;/p&gt;

&lt;p&gt;But what actually happens when you enter something like:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;www.google.com&lt;/code&gt; ?&lt;/p&gt;




&lt;h2&gt;
  
  
  🔁 The DNS Resolution Flow
&lt;/h2&gt;

&lt;p&gt;Your system doesn’t know the IP address directly. It follows a lookup process:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Local Cache
&lt;/h3&gt;

&lt;p&gt;First stop:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Browser cache&lt;/li&gt;
&lt;li&gt;OS cache&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 If the IP is already known → instant response&lt;/p&gt;




&lt;h3&gt;
  
  
  2. DNS Resolver
&lt;/h3&gt;

&lt;p&gt;If not found, the request goes to a DNS resolver (ISP or public DNS).&lt;/p&gt;




&lt;h3&gt;
  
  
  3. Hierarchical Lookup
&lt;/h3&gt;

&lt;p&gt;The resolver queries step by step:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Root server → points to &lt;code&gt;.com&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;TLD server → points to &lt;code&gt;google.com&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Authoritative server → returns actual IP&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  4. Caching (TTL)
&lt;/h3&gt;

&lt;p&gt;The result is cached for future use.&lt;/p&gt;

&lt;p&gt;👉 This is why repeat requests feel fast.&lt;/p&gt;




&lt;h2&gt;
  
  
  🧠 What’s Interesting Here?
&lt;/h2&gt;

&lt;p&gt;DNS isn’t just a simple lookup.&lt;/p&gt;

&lt;p&gt;It combines:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Tree traversal&lt;/li&gt;
&lt;li&gt;Recursive + iterative queries&lt;/li&gt;
&lt;li&gt;Aggressive caching&lt;/li&gt;
&lt;li&gt;Efficient internal data structures&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  ⚡ Why It Feels Instant
&lt;/h2&gt;

&lt;p&gt;Without caching:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Multiple network hops per request&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;With caching:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Near constant-time lookup&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 That’s the real performance trick.&lt;/p&gt;




&lt;h2&gt;
  
  
  🚨 Real-World Perspective
&lt;/h2&gt;

&lt;p&gt;DNS is one of those systems you don’t think about… until it breaks.&lt;/p&gt;

&lt;p&gt;And when it does:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Apps can go down&lt;/li&gt;
&lt;li&gt;Services appear unreachable&lt;/li&gt;
&lt;li&gt;Debugging becomes tricky&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Even if your backend is perfectly fine.&lt;/p&gt;




&lt;h2&gt;
  
  
  💡 Final Thought
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;DNS is not just a lookup system.&lt;br&gt;
It’s a globally distributed system optimized for latency, scale, and reliability.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  💬 Discussion
&lt;/h2&gt;

&lt;p&gt;Have you run into DNS-related issues in production?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Cache inconsistencies?&lt;/li&gt;
&lt;li&gt;DNS propagation delays?&lt;/li&gt;
&lt;li&gt;Unexpected outages?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Curious to hear real-world experiences 👇&lt;/p&gt;




&lt;h1&gt;
  
  
  backend #dns #networking #systemdesign #performance #scalability #codewithishwar
&lt;/h1&gt;

</description>
      <category>programming</category>
      <category>codewithishwar</category>
      <category>systemdesign</category>
      <category>productivity</category>
    </item>
    <item>
      <title>🌐 What Happens When You Type a URL? (DNS Explained for Developers)</title>
      <dc:creator>CodeWithIshwar</dc:creator>
      <pubDate>Fri, 10 Apr 2026 17:52:41 +0000</pubDate>
      <link>https://forem.com/codewithishwar/what-happens-when-you-type-a-url-dns-explained-for-developers-30</link>
      <guid>https://forem.com/codewithishwar/what-happens-when-you-type-a-url-dns-explained-for-developers-30</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6q3zcoekswu3wvasvtye.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6q3zcoekswu3wvasvtye.png" alt=" " width="800" height="224"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw54hcv8kjrcdz8memf22.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw54hcv8kjrcdz8memf22.png" alt=" " width="800" height="702"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Every developer uses the internet… but very few truly understand what happens when you type:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;www.google.com
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Let’s break down the &lt;strong&gt;DNS resolution process&lt;/strong&gt; step by step.&lt;/p&gt;




&lt;h2&gt;
  
  
  🔁 DNS Resolution Flow
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Local Cache Check
&lt;/h3&gt;

&lt;p&gt;Your system first checks:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Browser cache&lt;/li&gt;
&lt;li&gt;OS cache&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 If found → instant response (no network call)&lt;/p&gt;




&lt;h3&gt;
  
  
  2. DNS Resolver
&lt;/h3&gt;

&lt;p&gt;If not cached, the request goes to a &lt;strong&gt;DNS resolver&lt;/strong&gt; (ISP or public DNS like Google DNS).&lt;/p&gt;




&lt;h3&gt;
  
  
  3. Hierarchical Lookup
&lt;/h3&gt;

&lt;p&gt;The resolver performs a step-by-step lookup:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Root Server → where is &lt;code&gt;.com&lt;/code&gt;?&lt;/li&gt;
&lt;li&gt;TLD Server → where is &lt;code&gt;google.com&lt;/code&gt;?&lt;/li&gt;
&lt;li&gt;Authoritative Server → returns actual IP&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  4. Caching (TTL)
&lt;/h3&gt;

&lt;p&gt;The result is cached for future requests.&lt;/p&gt;

&lt;p&gt;👉 This is why repeated requests are faster.&lt;/p&gt;




&lt;h2&gt;
  
  
  🧠 What’s the Algorithm Behind DNS?
&lt;/h2&gt;

&lt;p&gt;DNS is not a single algorithm. It’s a combination of:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🌳 Tree traversal (Root → TLD → Domain)&lt;/li&gt;
&lt;li&gt;🔁 Recursive + iterative queries&lt;/li&gt;
&lt;li&gt;⚡ Aggressive caching&lt;/li&gt;
&lt;li&gt;🧩 Hash-based lookups internally&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  ⚡ Try It Yourself
&lt;/h2&gt;

&lt;p&gt;Use &lt;code&gt;nslookup&lt;/code&gt; or &lt;code&gt;dig&lt;/code&gt; to see DNS in action:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;nslookup google.com
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;or&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;dig google.com
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  🚨 Why Caching Matters
&lt;/h2&gt;

&lt;p&gt;Without caching:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Every request → multiple network hops&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;With caching:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Near O(1) lookup&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 That’s the difference between slow systems and internet-scale systems.&lt;/p&gt;




&lt;h2&gt;
  
  
  🔥 Real-World Insight
&lt;/h2&gt;

&lt;p&gt;DNS is not just a lookup system.&lt;/p&gt;

&lt;p&gt;It is designed to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Handle billions of requests&lt;/li&gt;
&lt;li&gt;Maintain low latency&lt;/li&gt;
&lt;li&gt;Stay resilient during failures&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  💡 Final Thought
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;DNS is a globally distributed, cached lookup system optimized for speed and scale.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  💬 Discussion
&lt;/h2&gt;

&lt;p&gt;Have you ever debugged a DNS issue?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Cache inconsistency?&lt;/li&gt;
&lt;li&gt;Wrong IP resolution?&lt;/li&gt;
&lt;li&gt;DNS outage?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Share your experience 👇&lt;/p&gt;




&lt;h1&gt;
  
  
  webdev #backend #dns #systemdesign #networking #programming #devops #codewithishwar
&lt;/h1&gt;

</description>
      <category>programming</category>
      <category>systemdesign</category>
      <category>productivity</category>
      <category>codewithishwar</category>
    </item>
    <item>
      <title>You Don’t Need to Scale Yet (Most Engineers Get This Wrong)</title>
      <dc:creator>CodeWithIshwar</dc:creator>
      <pubDate>Wed, 08 Apr 2026 17:16:53 +0000</pubDate>
      <link>https://forem.com/codewithishwar/you-dont-need-to-scale-yet-most-engineers-get-this-wrong-dkj</link>
      <guid>https://forem.com/codewithishwar/you-dont-need-to-scale-yet-most-engineers-get-this-wrong-dkj</guid>
      <description>&lt;p&gt;Scaling is often treated as the ultimate goal in system design.&lt;/p&gt;

&lt;p&gt;But here’s the truth:&lt;/p&gt;

&lt;p&gt;Most systems don’t need scaling.&lt;br&gt;
They need better thinking.&lt;/p&gt;




&lt;h2&gt;
  
  
  🚨 The Problem
&lt;/h2&gt;

&lt;p&gt;We design systems for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Millions of users&lt;/li&gt;
&lt;li&gt;High availability&lt;/li&gt;
&lt;li&gt;Distributed scale&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Even when our current system:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Handles traffic comfortably&lt;/li&gt;
&lt;li&gt;Has no real bottlenecks&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So we add:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Microservices&lt;/li&gt;
&lt;li&gt;Queues&lt;/li&gt;
&lt;li&gt;Caching layers&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And complexity increases.&lt;/p&gt;




&lt;h2&gt;
  
  
  🔍 What’s Actually Going Wrong?
&lt;/h2&gt;

&lt;p&gt;Before scaling, most systems suffer from:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Poor queries&lt;/li&gt;
&lt;li&gt;Weak data models&lt;/li&gt;
&lt;li&gt;Unnecessary processing&lt;/li&gt;
&lt;li&gt;Lack of clarity in requirements&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Scaling doesn’t solve these.&lt;/p&gt;

&lt;p&gt;It hides them.&lt;/p&gt;




&lt;h2&gt;
  
  
  ⚡ Real Signals You Need to Scale
&lt;/h2&gt;

&lt;p&gt;You should consider scaling when:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;CPU usage is consistently high&lt;/li&gt;
&lt;li&gt;Database becomes a bottleneck&lt;/li&gt;
&lt;li&gt;Response time increases with traffic&lt;/li&gt;
&lt;li&gt;System fails under load&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And importantly:&lt;/p&gt;

&lt;p&gt;👉 You’ve already optimized your system.&lt;/p&gt;




&lt;h2&gt;
  
  
  ❌ The Cost of Scaling Too Early
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Harder debugging&lt;/li&gt;
&lt;li&gt;Slower development&lt;/li&gt;
&lt;li&gt;More failure points&lt;/li&gt;
&lt;li&gt;Increased complexity&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You end up solving problems you created.&lt;/p&gt;




&lt;h2&gt;
  
  
  ✅ A Better Way
&lt;/h2&gt;

&lt;p&gt;Before scaling:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Optimize queries&lt;/li&gt;
&lt;li&gt;Improve data modeling&lt;/li&gt;
&lt;li&gt;Remove unnecessary work&lt;/li&gt;
&lt;li&gt;Identify real bottlenecks&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Then scale.&lt;/p&gt;




&lt;h2&gt;
  
  
  💣 Key Insight
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;You don’t scale your system.&lt;br&gt;
You scale your problems.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  💬 Let’s Discuss
&lt;/h2&gt;

&lt;p&gt;At what point do you decide it’s time to scale your system?&lt;/p&gt;

</description>
      <category>ai</category>
      <category>programming</category>
      <category>productivity</category>
      <category>systemdesign</category>
    </item>
    <item>
      <title>You Probably Don’t Need to Scale Yet</title>
      <dc:creator>CodeWithIshwar</dc:creator>
      <pubDate>Wed, 08 Apr 2026 17:15:36 +0000</pubDate>
      <link>https://forem.com/codewithishwar/you-probably-dont-need-to-scale-yet-2n62</link>
      <guid>https://forem.com/codewithishwar/you-probably-dont-need-to-scale-yet-2n62</guid>
      <description>&lt;p&gt;Scaling is one of the most talked-about topics in system design.&lt;/p&gt;

&lt;p&gt;But here’s the reality:&lt;/p&gt;

&lt;p&gt;Most systems don’t need scaling.&lt;br&gt;
They need better design.&lt;/p&gt;




&lt;h2&gt;
  
  
  🚨 The Common Trap
&lt;/h2&gt;

&lt;p&gt;It’s easy to design for “future scale.”&lt;/p&gt;

&lt;p&gt;So we add:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Microservices&lt;/li&gt;
&lt;li&gt;Message queues&lt;/li&gt;
&lt;li&gt;Caching layers&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Even when our system has:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Low to moderate traffic&lt;/li&gt;
&lt;li&gt;Manageable load&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It feels like we’re being prepared.&lt;/p&gt;

&lt;p&gt;But often, we’re just adding complexity.&lt;/p&gt;




&lt;h2&gt;
  
  
  🔍 Real Problems vs Imaginary Problems
&lt;/h2&gt;

&lt;p&gt;Before scaling, most systems actually suffer from:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Poor database queries&lt;/li&gt;
&lt;li&gt;Inefficient data models&lt;/li&gt;
&lt;li&gt;Unnecessary processing&lt;/li&gt;
&lt;li&gt;Lack of clear requirements&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Scaling doesn’t fix these.&lt;/p&gt;

&lt;p&gt;It hides them.&lt;/p&gt;




&lt;h2&gt;
  
  
  ⚡ When You Actually Need to Scale
&lt;/h2&gt;

&lt;p&gt;You should think about scaling when:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;CPU usage stays consistently high&lt;/li&gt;
&lt;li&gt;Database becomes a bottleneck&lt;/li&gt;
&lt;li&gt;Response time increases with traffic&lt;/li&gt;
&lt;li&gt;Traffic spikes cause failures&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And most importantly:&lt;/p&gt;

&lt;p&gt;👉 You’ve already optimized your system.&lt;/p&gt;




&lt;h2&gt;
  
  
  ❌ What Happens If You Scale Too Early?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Debugging becomes harder&lt;/li&gt;
&lt;li&gt;System complexity increases&lt;/li&gt;
&lt;li&gt;Development slows down&lt;/li&gt;
&lt;li&gt;Ownership becomes unclear&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You end up solving problems you created.&lt;/p&gt;




&lt;h2&gt;
  
  
  ✅ A Better Approach
&lt;/h2&gt;

&lt;p&gt;Before scaling:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Optimize queries&lt;/li&gt;
&lt;li&gt;Improve data modeling&lt;/li&gt;
&lt;li&gt;Remove unnecessary work&lt;/li&gt;
&lt;li&gt;Identify real bottlenecks&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Then—and only then—scale.&lt;/p&gt;




&lt;h2&gt;
  
  
  💣 Key Insight
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;You don’t scale your system.&lt;br&gt;
You scale your problems.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  🧠 Final Thought
&lt;/h2&gt;

&lt;p&gt;Simple systems scale better.&lt;/p&gt;

&lt;p&gt;Not because they are powerful,&lt;br&gt;
but because they are understood.&lt;/p&gt;




&lt;h2&gt;
  
  
  💬 Discussion
&lt;/h2&gt;

&lt;p&gt;When do you usually decide it’s time to scale your system?&lt;/p&gt;

</description>
      <category>systemdesign</category>
      <category>webperf</category>
      <category>backend</category>
      <category>softwareengineering</category>
    </item>
    <item>
      <title>When “Healthy Systems” Fail: A Debugging Story You Don’t See in Tutorials</title>
      <dc:creator>CodeWithIshwar</dc:creator>
      <pubDate>Tue, 07 Apr 2026 17:15:12 +0000</pubDate>
      <link>https://forem.com/codewithishwar/when-healthy-systems-fail-a-debugging-story-you-dont-see-in-tutorials-4bll</link>
      <guid>https://forem.com/codewithishwar/when-healthy-systems-fail-a-debugging-story-you-dont-see-in-tutorials-4bll</guid>
      <description>&lt;h1&gt;
  
  
  When “Healthy Systems” Fail: A Debugging Story You Don’t See in Tutorials
&lt;/h1&gt;

&lt;blockquote&gt;
&lt;p&gt;Everything looked normal. That was the problem.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  ⏰ It Started at 2:07 AM
&lt;/h2&gt;

&lt;p&gt;Production issues usually come with noise.&lt;/p&gt;

&lt;p&gt;High CPU.&lt;br&gt;
Memory spikes.&lt;br&gt;
Error logs everywhere.&lt;/p&gt;

&lt;p&gt;This one didn’t.&lt;/p&gt;




&lt;p&gt;CPU was stable.&lt;br&gt;
Memory was fine.&lt;br&gt;
Logs were clean.&lt;/p&gt;

&lt;p&gt;And yet…&lt;/p&gt;

&lt;p&gt;Users were dropping.&lt;/p&gt;




&lt;h2&gt;
  
  
  🤯 The Most Dangerous Kind of Failure
&lt;/h2&gt;

&lt;p&gt;When systems break loudly, they’re easier to fix.&lt;/p&gt;

&lt;p&gt;When they break silently, they’re dangerous.&lt;/p&gt;

&lt;p&gt;Because:&lt;/p&gt;

&lt;p&gt;👉 Your tools tell you everything is fine&lt;br&gt;
👉 Your users tell you it’s not&lt;/p&gt;




&lt;h2&gt;
  
  
  🔍 Where We Started
&lt;/h2&gt;

&lt;p&gt;We followed the standard debugging path:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Infrastructure&lt;/li&gt;
&lt;li&gt;Database&lt;/li&gt;
&lt;li&gt;Network&lt;/li&gt;
&lt;li&gt;APIs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Everything checked out.&lt;/p&gt;

&lt;p&gt;No bottlenecks. No anomalies.&lt;/p&gt;




&lt;h2&gt;
  
  
  🧠 The Turning Point
&lt;/h2&gt;

&lt;p&gt;At some point, we realized:&lt;/p&gt;

&lt;p&gt;This is not a system problem.&lt;/p&gt;

&lt;p&gt;This is a &lt;strong&gt;thinking problem&lt;/strong&gt;.&lt;/p&gt;




&lt;p&gt;We changed the question:&lt;/p&gt;

&lt;p&gt;❌ “What is broken?”&lt;br&gt;
✅ “What is different?”&lt;/p&gt;




&lt;h2&gt;
  
  
  🔄 Looking Beyond Metrics
&lt;/h2&gt;

&lt;p&gt;Instead of staring at dashboards, we started looking at:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Request patterns&lt;/li&gt;
&lt;li&gt;User behavior&lt;/li&gt;
&lt;li&gt;Flow-level anomalies&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;And that’s where things got interesting.&lt;/p&gt;




&lt;h2&gt;
  
  
  💡 The Root Cause
&lt;/h2&gt;

&lt;p&gt;A rarely used user flow.&lt;/p&gt;

&lt;p&gt;Almost invisible under normal conditions.&lt;/p&gt;

&lt;p&gt;But when triggered:&lt;/p&gt;

&lt;p&gt;👉 It created a silent loop&lt;br&gt;
👉 Requests never completed&lt;br&gt;
👉 No logs. No errors. No alerts&lt;/p&gt;




&lt;p&gt;The system didn’t crash.&lt;/p&gt;

&lt;p&gt;It just… stopped responding.&lt;/p&gt;




&lt;h2&gt;
  
  
  ⚡ The Reality
&lt;/h2&gt;

&lt;p&gt;Fixing it?&lt;/p&gt;

&lt;p&gt;→ 5 minutes&lt;/p&gt;

&lt;p&gt;Finding it?&lt;/p&gt;

&lt;p&gt;→ Hours&lt;/p&gt;




&lt;h2&gt;
  
  
  📉 Why This Was Hard
&lt;/h2&gt;

&lt;p&gt;Because we were trained to look for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Errors&lt;/li&gt;
&lt;li&gt;Exceptions&lt;/li&gt;
&lt;li&gt;Resource spikes&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But none of those existed.&lt;/p&gt;




&lt;h2&gt;
  
  
  🧠 What This Taught Me
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. “Healthy” Doesn’t Mean Working
&lt;/h3&gt;

&lt;p&gt;Systems can look fine and still fail users.&lt;/p&gt;




&lt;h3&gt;
  
  
  2. Monitoring Has Limits
&lt;/h3&gt;

&lt;p&gt;Metrics show signals — not always truth.&lt;/p&gt;




&lt;h3&gt;
  
  
  3. Debugging Is About Thinking
&lt;/h3&gt;

&lt;p&gt;The real skill is not tools.&lt;/p&gt;

&lt;p&gt;It’s:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Asking better questions&lt;/li&gt;
&lt;li&gt;Challenging assumptions&lt;/li&gt;
&lt;li&gt;Seeing patterns others miss&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  4. Silent Failures Are the Worst
&lt;/h3&gt;

&lt;p&gt;Because they hide in plain sight.&lt;/p&gt;




&lt;h2&gt;
  
  
  🤖 AI Can Help… But Not Here
&lt;/h2&gt;

&lt;p&gt;AI can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Write code&lt;/li&gt;
&lt;li&gt;Suggest fixes&lt;/li&gt;
&lt;li&gt;Improve speed&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But this kind of problem?&lt;/p&gt;

&lt;p&gt;Requires:&lt;/p&gt;

&lt;p&gt;💥 Context&lt;br&gt;
💥 Intuition&lt;br&gt;
💥 Pattern recognition&lt;/p&gt;




&lt;h2&gt;
  
  
  🚀 Final Thought
&lt;/h2&gt;

&lt;p&gt;The hardest bugs are not the ones that crash your system.&lt;/p&gt;

&lt;p&gt;They are the ones that quietly break it…&lt;/p&gt;

&lt;p&gt;While everything looks fine.&lt;/p&gt;




&lt;h2&gt;
  
  
  💬 Let’s Discuss
&lt;/h2&gt;

&lt;p&gt;Have you ever faced a situation where:&lt;/p&gt;

&lt;p&gt;👉 Monitoring said “all good”&lt;br&gt;
👉 But reality said “something’s wrong”&lt;/p&gt;

&lt;p&gt;What did you learn from it?&lt;/p&gt;

</description>
      <category>programming</category>
      <category>productivity</category>
      <category>opensource</category>
      <category>coding</category>
    </item>
  </channel>
</rss>
