<?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[The Learning Curve: Issue 1]]></title><description><![CDATA[August, 2025]]></description><link>https://thelearningcurvenjack.substack.com/s/issue-1-august-2025</link><image><url>https://substackcdn.com/image/fetch/$s_!ZSmu!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55f5b59c-7191-4051-84c9-11d3f5e1d918_512x512.png</url><title>The Learning Curve: Issue 1</title><link>https://thelearningcurvenjack.substack.com/s/issue-1-august-2025</link></image><generator>Substack</generator><lastBuildDate>Tue, 26 May 2026 06:47:41 GMT</lastBuildDate><atom:link href="https://thelearningcurvenjack.substack.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[The Learning Curve]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[thelearningcurvenjack@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[thelearningcurvenjack@substack.com]]></itunes:email><itunes:name><![CDATA[The Learning Curve]]></itunes:name></itunes:owner><itunes:author><![CDATA[The Learning Curve]]></itunes:author><googleplay:owner><![CDATA[thelearningcurvenjack@substack.com]]></googleplay:owner><googleplay:email><![CDATA[thelearningcurvenjack@substack.com]]></googleplay:email><googleplay:author><![CDATA[The Learning Curve]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Which is the Greatest Neural Network ever built ?]]></title><description><![CDATA[Inside the architecture of nature's very own deep learning masterpiece, the heart and soul of modern-day innovation in Artificial Intelligence]]></description><link>https://thelearningcurvenjack.substack.com/p/which-is-the-greatest-neural-network</link><guid isPermaLink="false">https://thelearningcurvenjack.substack.com/p/which-is-the-greatest-neural-network</guid><dc:creator><![CDATA[Kingshuk Haldar]]></dc:creator><pubDate>Fri, 15 Aug 2025 08:17:56 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!v_uE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F030299f9-a935-499a-9137-1b2fdcbe2307_1366x768.webp" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>It is the world of artificial neural networks, and we are just living in it. On August 7, 2025, OpenAI officially launched GPT-5 which is now available via ChatGPT. Designed on the GPT-4o (omni) architecture, this version is touted as OpenAI's most powerful language model yet, as it promises to be more intuitive, faster in response, and better at understanding context-including voice, images, and real-time conversations.</p><p>Whether GPT-5 can now solve my homework assignments better is still yet to be determined, over the year, we have witnessed an <strong>AI Cold War</strong> starting from the DeepSeek-R1, Anthropic&#8217;s Claude 4 Opus, Google&#8217;s Gemini 2.5 Pro, xAI&#8217;s Grok-4 and eventually the brand new, GPT-5, each claiming to be a step forward in the race towards <strong>AGI</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_!xwOk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcff0bb2-0e20-4061-9d78-2f745f466c28_480x270.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xwOk!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcff0bb2-0e20-4061-9d78-2f745f466c28_480x270.png 424w, https://substackcdn.com/image/fetch/$s_!xwOk!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcff0bb2-0e20-4061-9d78-2f745f466c28_480x270.png 848w, https://substackcdn.com/image/fetch/$s_!xwOk!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcff0bb2-0e20-4061-9d78-2f745f466c28_480x270.png 1272w, https://substackcdn.com/image/fetch/$s_!xwOk!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcff0bb2-0e20-4061-9d78-2f745f466c28_480x270.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xwOk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcff0bb2-0e20-4061-9d78-2f745f466c28_480x270.png" width="534" height="300.375" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dcff0bb2-0e20-4061-9d78-2f745f466c28_480x270.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:270,&quot;width&quot;:480,&quot;resizeWidth&quot;:534,&quot;bytes&quot;:57206,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://thelearningcurvenjack.substack.com/i/170964275?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf9b79c0-0b0f-4b6b-b856-6664d85a82ff_480x270.avif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!xwOk!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcff0bb2-0e20-4061-9d78-2f745f466c28_480x270.png 424w, https://substackcdn.com/image/fetch/$s_!xwOk!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcff0bb2-0e20-4061-9d78-2f745f466c28_480x270.png 848w, https://substackcdn.com/image/fetch/$s_!xwOk!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcff0bb2-0e20-4061-9d78-2f745f466c28_480x270.png 1272w, https://substackcdn.com/image/fetch/$s_!xwOk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcff0bb2-0e20-4061-9d78-2f745f466c28_480x270.png 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>With tensions at its peak and occasional nightmares of this unstoppable force called AI taking away my job, I woke up late one night at 3 a.m. with a random thought crossing my mind. &#8220;Which is the most powerful neural network architecture ever to exist ?&#8221;. I sat down with my laptop and asked ChatGPT the question, its response was GPT- 4o. Such a narcissist ! But suddenly a moment of realization dawned upon me, isn&#8217;t the Human Brain supposed to be the most powerful neural network ?</p><p>Turns out the human brain is by far the most powerful, efficient, and adaptable neural network ever to exist. In fact almost any neural network architecture we&#8217;ve ever invented whether CNNs, RNNs, attention mechanism, reinforcement learning or Hebbian learning, are all inspired by the brain. This simple yet hard truth hits at the root of AI research that inspires AI researchers and neuroscientists all over the world.</p><div class="pullquote"><p><em>Artificial neural networks are nothing but a crude shadow of the human brain, but they are humanity&#8217;s best attempt at understanding ourselves and recreating our own mind through computation.</em></p></div><h3>Why is the Human Brain the Ultimate Neural Network ?</h3><p>Here are 5 facts you surely knew but never realized, which makes your brain &#8220;far superior to even the best artificial neural networks&#8221; that have been developed till date.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!v_uE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F030299f9-a935-499a-9137-1b2fdcbe2307_1366x768.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!v_uE!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F030299f9-a935-499a-9137-1b2fdcbe2307_1366x768.webp 424w, https://substackcdn.com/image/fetch/$s_!v_uE!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F030299f9-a935-499a-9137-1b2fdcbe2307_1366x768.webp 848w, https://substackcdn.com/image/fetch/$s_!v_uE!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F030299f9-a935-499a-9137-1b2fdcbe2307_1366x768.webp 1272w, https://substackcdn.com/image/fetch/$s_!v_uE!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F030299f9-a935-499a-9137-1b2fdcbe2307_1366x768.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!v_uE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F030299f9-a935-499a-9137-1b2fdcbe2307_1366x768.webp" width="1366" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/030299f9-a935-499a-9137-1b2fdcbe2307_1366x768.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:768,&quot;width&quot;:1366,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:78634,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://thelearningcurvenjack.substack.com/i/170964275?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F030299f9-a935-499a-9137-1b2fdcbe2307_1366x768.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!v_uE!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F030299f9-a935-499a-9137-1b2fdcbe2307_1366x768.webp 424w, https://substackcdn.com/image/fetch/$s_!v_uE!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F030299f9-a935-499a-9137-1b2fdcbe2307_1366x768.webp 848w, https://substackcdn.com/image/fetch/$s_!v_uE!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F030299f9-a935-499a-9137-1b2fdcbe2307_1366x768.webp 1272w, https://substackcdn.com/image/fetch/$s_!v_uE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F030299f9-a935-499a-9137-1b2fdcbe2307_1366x768.webp 1456w" sizes="100vw"></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><h4>1. Energy efficiency : </h4><blockquote><p>The human brain has evolved to use energy extremely efficiently. It runs on the power of a light bulb, stores the equivalent of millions of gigabytes, and performs trillions of operations every second and yet we still doubt our own potential. Isn&#8217;t that wild? For context, today&#8217;s computer doing the same work would require the output of a small hydroelectric plant.</p></blockquote><h4>2. Generalization / One-Shot Learning :</h4><blockquote><p>Our brains learn new concepts from very few examples. Both you and me can probably recognize a new object after seeing it only once or twice. This is however not the case for ANN&#8217;s which usually need millions of training examples. In general, human excel at understanding abstract patterns and applying knowledge to new situations, a capability still limited in AI.</p></blockquote><h4>3. Lifelong Learning :</h4><blockquote><p>Humans keep learning throughout life and can add new skills without forgetting old ones, <em>(excluding us IITians though, we can&#8217;t even remember what we learnt in the previous semester)</em>. Our brains continually integrate fresh information into existing knowledge. In contrast, standard neural networks suffer from catastrophic forgetting - learning something new often erases what was learned before.</p></blockquote><h4>4. Multi-modal Reasoning:</h4><blockquote><p>Our brain naturally combines sight, sound, touch, language, sixth, seventh and all our senses to decide which questions are important for the exam or which food to order at Nescafe. We can look at a pizza, smell it, taste it and immediately know what a pizza is. Many of us can even distinguish from which shop it was ordered. Most AI systems, even large ones, still specialize in one or two modalities at a time (e.g. image or text) unlike us who fuse multiple inputs for better understanding.</p></blockquote><h4>5. Consciousness and self-awareness:</h4><blockquote><p>Uniquely, the human brain has subjective awareness. We know we exist, have thoughts, goals and feelings. Tough situations often compel us to go beyond our limits improving our performance massively. We all know how powerful our brain becomes when self-realization hits us the night before our exams. By contrast, AI programs have no real consciousness or real emotions. This self-reflective aspect of the brain is far beyond current machines.</p><div><hr></div></blockquote><h3>The Human Brain&#8217;s Architecture in a Deep Learning Style :</h3><p>Cerebrum, cerebellum, and medulla oblongata - Class 8 biology book, that&#8217;s pretty much all I remember when it comes to the brain&#8217;s architecture. Wait, but that&#8217;s not a neural network! What about all those perceptrons, hidden layers, activation functions, backpropagation, and regularization? Well, it turns out our &#8220;empty&#8221; brain is not so empty after all, it has all these components in its own way. In fact, researchers often draw analogies between the brain&#8217;s structure and deep learning models. So today, let&#8217;s traverse through our brain&#8217;s neural network architecture, the deep learning style.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!XWQV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfcc46c6-4712-4c45-949c-c4fef65792e2_1200x675.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!XWQV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfcc46c6-4712-4c45-949c-c4fef65792e2_1200x675.webp 424w, https://substackcdn.com/image/fetch/$s_!XWQV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfcc46c6-4712-4c45-949c-c4fef65792e2_1200x675.webp 848w, https://substackcdn.com/image/fetch/$s_!XWQV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfcc46c6-4712-4c45-949c-c4fef65792e2_1200x675.webp 1272w, https://substackcdn.com/image/fetch/$s_!XWQV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfcc46c6-4712-4c45-949c-c4fef65792e2_1200x675.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!XWQV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfcc46c6-4712-4c45-949c-c4fef65792e2_1200x675.webp" width="1200" height="675" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dfcc46c6-4712-4c45-949c-c4fef65792e2_1200x675.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:675,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:101046,&quot;alt&quot;:null,&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;:&quot;https://thelearningcurvenjack.substack.com/i/170964275?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfcc46c6-4712-4c45-949c-c4fef65792e2_1200x675.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!XWQV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfcc46c6-4712-4c45-949c-c4fef65792e2_1200x675.webp 424w, https://substackcdn.com/image/fetch/$s_!XWQV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfcc46c6-4712-4c45-949c-c4fef65792e2_1200x675.webp 848w, https://substackcdn.com/image/fetch/$s_!XWQV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfcc46c6-4712-4c45-949c-c4fef65792e2_1200x675.webp 1272w, https://substackcdn.com/image/fetch/$s_!XWQV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfcc46c6-4712-4c45-949c-c4fef65792e2_1200x675.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><h4>The Input Layer :</h4><p>The brain&#8217;s &#8220;input layer&#8221; is made up of our sensory organs : eyes, ears, nose, tongue, and skin. The eyes work like image sensors, performing convolution-like operations before sending signals to the brain. Similarly, the ears receive audio signals and process time-frequency features, much like a spectrogram input. Overall, our senses convert light, sound, touch, and other stimuli into electrical signals for the brain to interpret.</p><h4>Hidden layers : Cortical Processing = Deep Feature Abstractions</h4><p>The neocortex(80% of the brain&#8217;s volume) oversees hierarchical processing, combining simple sensory signals into increasingly complex features.</p><p>Our Visual System (like CNN&#8217;s) comprises of :</p><ul><li><p> V1 (primary visual cortex) = edge detectors</p></li><li><p>V2-V4 = complex shapes and patterns</p></li><li><p>IT (inferotemporal cortex) = object categories</p></li><li><p>Hierarchical, feedforward &amp; feedback loops, similar to ResNet / DenseNet.</p></li></ul><p>The Auditory System also follows a similar hierarchy (A1 &#8594; A2 &#8594; belt areas) for extracting time-frequency features. The Prefrontal Cortex acts like a transformer decoder block<strong>,</strong> handling reasoning, planning and working memory. Meanwhile, the Motor Cortex is equivalent to the decoder or output layers in a sequence-to-sequence model.</p><h4>Activation function :</h4><p>Apparently, neurons don&#8217;t use the traditional activation functions we use like sigmoid or ReLU. Instead, they use something called Leaky Integrate-and-Fire, which is basically nothing but brief electrical spikes when a threshold is reached.</p><p>Spiking Neural Networks (SNNs) in neuromorphic chips such as BrainScaleS try to replicate this :  <strong>f(x) = 1  if potential &gt; &#952;  else 0. </strong></p><p>Each neuron&#8217;s spike is analogous to a binary activation function in AI models, but the brain&#8217;s sparse spiking is far more nuanced as it also includes timing, rate and refractory periods.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!GqyW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cce2bc5-abb5-4642-b267-55edcfe5665c_600x325.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!GqyW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cce2bc5-abb5-4642-b267-55edcfe5665c_600x325.png 424w, https://substackcdn.com/image/fetch/$s_!GqyW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cce2bc5-abb5-4642-b267-55edcfe5665c_600x325.png 848w, https://substackcdn.com/image/fetch/$s_!GqyW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cce2bc5-abb5-4642-b267-55edcfe5665c_600x325.png 1272w, https://substackcdn.com/image/fetch/$s_!GqyW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cce2bc5-abb5-4642-b267-55edcfe5665c_600x325.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!GqyW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cce2bc5-abb5-4642-b267-55edcfe5665c_600x325.png" width="600" height="325" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1cce2bc5-abb5-4642-b267-55edcfe5665c_600x325.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:325,&quot;width&quot;:600,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:329228,&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;:&quot;https://thelearningcurvenjack.substack.com/i/170964275?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cce2bc5-abb5-4642-b267-55edcfe5665c_600x325.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!GqyW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cce2bc5-abb5-4642-b267-55edcfe5665c_600x325.png 424w, https://substackcdn.com/image/fetch/$s_!GqyW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cce2bc5-abb5-4642-b267-55edcfe5665c_600x325.png 848w, https://substackcdn.com/image/fetch/$s_!GqyW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cce2bc5-abb5-4642-b267-55edcfe5665c_600x325.png 1272w, https://substackcdn.com/image/fetch/$s_!GqyW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cce2bc5-abb5-4642-b267-55edcfe5665c_600x325.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><h4>Learning rules (Hebbian and Backpropagation):</h4><p>The brain updates connections through multiple mechanisms. One is Hebbian learning analogous to unsupervised learning which is roughly, &#8220;cells that fire together wire together.&#8221; The most obvious one though is Reinforcement learning through dopamine modulation in which dopamine gives feedback, like reinforcement signals.</p><p>We haven&#8217;t really found anything though that works quite like the back-propagation algorithm that artificial neural networks use, and researchers are exploring brain-like approximations<em>. </em></p><p><em>But when did humans start learning from their mistakes ?  After all, History repeats itself  !</em></p><h4>Feedback &amp; Attention: Transformers in Biology ?</h4><p>Modern AI uses &#8220;attention&#8221; mechanisms (the core of Transformer models) to focus on relevant inputs. The brain also has top-down feedback and attention networks that highlight valuable information. Intriguingly, recent work suggests that networks of neurons and astrocytes (a type of brain cell) could implement a transformer-like attention operation.</p><h4>Optimization (neuromodulation):</h4><p>Just as AI optimizers tune learning rates, the brain uses neuromodulators, like dopamine and serotonin, to regulate learning and plasticity. These chemicals help the brain balance stability vs change, similar to how an optimizer balances fitting vs noise.</p><h4>Regularization :</h4><p>Our brain actively forgets irrelevant details and adds noise to signals which prevents overfitting. Sleep plays a crucial role, neural replay at night consolidates memory and prunes unused connections (synaptic pruning). This is analogous to popularly used techniques like dropout, L1 regularization or rehearsal used in AI to improve the performance of the neural network and to prevent forgetting. </p><p><em>Well, that explains why I have such a bad memory, turns out I am just sleep deprived.</em></p><blockquote><p><strong>Another interesting fact, remember the weird dreams you used to encounter in your sleep that totally made no sense, could they be a source of imaginative data augmentation ? Well, I&#8217;ll leave this mystery up to you to decipher.</strong></p></blockquote><p></p><h4>Plasticity: Continual, Online Learning</h4><p>Brain connections change continuously over time i.e. our weights and biases evolve with experiences. Unlike static-trained ANNs, out brain does lifelong learning, any time or plac<strong>e</strong> without catastrophic forgetting. Inspired by this, researchers call for more continual learning or elastic weight consolidation algorithms to emulate the brain&#8217;s nonstop adaptation.</p><h4>The Output layer :</h4><p>The brain&#8217;s outputs are our decisions and actions &#8211; moving muscles, speaking words, etc. In a neural network, the output layer might label an image or make a prediction. However, whether in the physical world or in the software world, we are both judged by the decisions we make and we must face the necessary consequences. </p><p><em>Damn, that was deep &#8230;&#8230;</em></p><div><hr></div><h4>Where AI Still Lags: Innovation vs. Pattern-Learning</h4><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!R5m1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe34c7282-fe2b-4305-bfaf-ef1d116bef7c_1080x1080.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!R5m1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe34c7282-fe2b-4305-bfaf-ef1d116bef7c_1080x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!R5m1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe34c7282-fe2b-4305-bfaf-ef1d116bef7c_1080x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!R5m1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe34c7282-fe2b-4305-bfaf-ef1d116bef7c_1080x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!R5m1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe34c7282-fe2b-4305-bfaf-ef1d116bef7c_1080x1080.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!R5m1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe34c7282-fe2b-4305-bfaf-ef1d116bef7c_1080x1080.jpeg" width="1080" height="1080" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e34c7282-fe2b-4305-bfaf-ef1d116bef7c_1080x1080.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1080,&quot;width&quot;:1080,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:130132,&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;:&quot;https://thelearningcurvenjack.substack.com/i/170964275?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe34c7282-fe2b-4305-bfaf-ef1d116bef7c_1080x1080.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!R5m1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe34c7282-fe2b-4305-bfaf-ef1d116bef7c_1080x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!R5m1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe34c7282-fe2b-4305-bfaf-ef1d116bef7c_1080x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!R5m1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe34c7282-fe2b-4305-bfaf-ef1d116bef7c_1080x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!R5m1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe34c7282-fe2b-4305-bfaf-ef1d116bef7c_1080x1080.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></p><div class="pullquote"><p><em>&#8220; The human brain created something that mimics itself, but nothing it creates can yet surpass it.&#8221;</em></p></div><p>Despite impressive capabilities, AI today is still fundamentally a pattern-matcher. It can analyse data, generate art or music, write coherent text but only by remixing what it has seen. In practice, this means AI struggles to invent truly novel concepts or ask original questions without human guidance.</p><p>In a very recent paper by Apple, titled <em>&#8220;The Illusion of Thinking&#8221;</em>, researchers tested Large Reasoning Models (LRMs), AI systems that generate step-by-step reasoning before producing an answer. They created controlled puzzle environments where complexity could be adjusted without altering the logical structure. The results showed that LRMs outperform standard LLMs on medium-complexity puzzles but underperform on simpler ones and collapse entirely on overly complex tasks. Surprisingly, their reasoning effort rose with difficulty only up to a certain point, after which it dropped, despite having resources left. Further analysis of their reasoning traces revealed inconsistent logic, lack of explicit algorithm use, and fundamental limitations in their true reasoning ability.</p><p>The human brain, however, constantly imagines the unimagined. People form abstract concepts without direct examples (wormholes or time travel being the best examples), reason counterfactually (&#8220;What if ? How ? Why ?&#8221;) and dream about inventions that have never existed. Our brains master new ideas from very few examples .</p><p>Sir Issac Newton saw an apple fall from the tree and came up with the Universal Law of Gravitation. Mr Albert Einstein who has never himself been to space formed the revolutionary field equations whose solutions describe the conditions under which black holes can form. Isn&#8217;t that mid-blowingly incredible ?</p><p>Learning is not the same as understanding. And understanding is not the same as creativity. The spark of creativity and genuine understanding i.e. going beyond the data remains uniquely human.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!uPtc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8015d095-dd69-421d-bd65-4dc959437a11_1000x1000.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!uPtc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8015d095-dd69-421d-bd65-4dc959437a11_1000x1000.jpeg 424w, https://substackcdn.com/image/fetch/$s_!uPtc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8015d095-dd69-421d-bd65-4dc959437a11_1000x1000.jpeg 848w, https://substackcdn.com/image/fetch/$s_!uPtc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8015d095-dd69-421d-bd65-4dc959437a11_1000x1000.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!uPtc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8015d095-dd69-421d-bd65-4dc959437a11_1000x1000.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!uPtc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8015d095-dd69-421d-bd65-4dc959437a11_1000x1000.jpeg" width="432" height="432" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8015d095-dd69-421d-bd65-4dc959437a11_1000x1000.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1000,&quot;width&quot;:1000,&quot;resizeWidth&quot;:432,&quot;bytes&quot;:159835,&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;:&quot;https://thelearningcurvenjack.substack.com/i/170964275?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8015d095-dd69-421d-bd65-4dc959437a11_1000x1000.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!uPtc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8015d095-dd69-421d-bd65-4dc959437a11_1000x1000.jpeg 424w, https://substackcdn.com/image/fetch/$s_!uPtc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8015d095-dd69-421d-bd65-4dc959437a11_1000x1000.jpeg 848w, https://substackcdn.com/image/fetch/$s_!uPtc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8015d095-dd69-421d-bd65-4dc959437a11_1000x1000.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!uPtc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8015d095-dd69-421d-bd65-4dc959437a11_1000x1000.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><h4>Conclusion : Towards Brain Like AI</h4><p>Artificial intelligence has come a long way, but even our most advanced models remain far from matching the human brain&#8217;s efficiency and adaptability. Enter neuromorphic computing, a cutting-edge approach that aims to close that gap by mimicking the brain&#8217;s architecture and processing style, promising AI that is faster, more energy-efficient, and closer to human-like cognition. Looking ahead, we could expect advanced AI systems with real-time learning and adaptability, to cognitive computing systems, and even AI designed to better align with human values and ethics.  Neuromorphic computing is not just a technological leap, it&#8217;s a paradigm shift in the development of intelligent machines.</p><p>As we stand on the brink of this new era, it&#8217;s worth remembering the words of Alan Turing: </p><div class="pullquote"><p><em>&#8220;We can only see a short distance ahead, but we can see plenty there that needs to be done.&#8221;</em></p></div><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[Engineering by Storytelling]]></title><description><![CDATA[How software engineers pretend to do their jobs]]></description><link>https://thelearningcurvenjack.substack.com/p/engineering-by-storytelling</link><guid isPermaLink="false">https://thelearningcurvenjack.substack.com/p/engineering-by-storytelling</guid><dc:creator><![CDATA[Tejas Singh]]></dc:creator><pubDate>Thu, 14 Aug 2025 21:10:20 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!USwd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1bfc9b68-7c1a-4813-9014-4bdd1b45fc70_1229x827.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2>So You Want to Build Something</h2><p>Let's assume you have a reasonably clear picture of what you want to build. In reality, this is rarely the case&#8212;especially when venturing into uncharted territory&#8212;but let's stick with this simpler scenario.</p><p>When crafting anything meaningful, it helps to think within two distinct realms:</p><ul><li><p><strong>The Problem Space:</strong> The landscape of all the things you may set out to accomplish. A point in this space might be <em>"Create a 2D platformer."</em></p></li><li><p><strong>The Solution Space:</strong> The vast territory of all possible ways to make them happen. A corresponding point in this space would be <em>&lt;The complete C source code for the game&gt;.</em></p></li></ul><p>Through this perspective, we've captured something fundamental about the act of creation&#8212;it's about finding your way through the solution space until you reach something that fulfils what you set out to do in the problem space.</p><h2>The Mountain in the Fog</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!USwd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1bfc9b68-7c1a-4813-9014-4bdd1b45fc70_1229x827.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!USwd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1bfc9b68-7c1a-4813-9014-4bdd1b45fc70_1229x827.png 424w, https://substackcdn.com/image/fetch/$s_!USwd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1bfc9b68-7c1a-4813-9014-4bdd1b45fc70_1229x827.png 848w, https://substackcdn.com/image/fetch/$s_!USwd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1bfc9b68-7c1a-4813-9014-4bdd1b45fc70_1229x827.png 1272w, https://substackcdn.com/image/fetch/$s_!USwd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1bfc9b68-7c1a-4813-9014-4bdd1b45fc70_1229x827.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!USwd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1bfc9b68-7c1a-4813-9014-4bdd1b45fc70_1229x827.png" width="1229" height="827" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1bfc9b68-7c1a-4813-9014-4bdd1b45fc70_1229x827.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:827,&quot;width&quot;:1229,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:108202,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://thelearningcurvenjack.substack.com/i/170760688?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1bfc9b68-7c1a-4813-9014-4bdd1b45fc70_1229x827.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!USwd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1bfc9b68-7c1a-4813-9014-4bdd1b45fc70_1229x827.png 424w, https://substackcdn.com/image/fetch/$s_!USwd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1bfc9b68-7c1a-4813-9014-4bdd1b45fc70_1229x827.png 848w, https://substackcdn.com/image/fetch/$s_!USwd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1bfc9b68-7c1a-4813-9014-4bdd1b45fc70_1229x827.png 1272w, https://substackcdn.com/image/fetch/$s_!USwd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1bfc9b68-7c1a-4813-9014-4bdd1b45fc70_1229x827.png 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>This journey bears striking parallels to climbing a mountain shrouded in dense fog while equipped only with a barometer. You can see your immediate surroundings clearly, get a rough sense of your altitude, but the path ahead remains largely obscured. The summit exists somewhere above you, but the route to reach it unfolds step by step.</p><p>Analogously, in software engineering, local deviations in the problem space translate smoothly into the solution space. Sticking with the example of a 2D platformer, if you want to change the size of the enemies, that's a straightforward parameter adjustment. Need to add another collectable? Once you've built the infrastructure for one, the second follows naturally from established patterns.</p><p>But global changes prove treacherous. Deciding to add a particle-effects system or water-tiles that obey fluid physics can send you scrambling across entirely different terrain in the solution space. These aren't simple parameter tweaks or copy-and-pastes&#8212;they're architectural shifts that demand new foundations.</p><p>The way you summit a mountain isn't by staring hard into the fog from a standstill, desperately trying to foresee the entire path. You move around, follow locally-upward terrain, and backtrack when the path ahead proves insurmountable. Progress emerges from this dance between exploration and retreat, and the same is true in the domain of software engineering.</p><p>This mirrors the actor-critic model that governs effective problem-solving. In mountain climbing, the real world serves as both simulator and critic&#8212;it shows you where you can step next, and whether each step takes you higher. But who fills these roles in software engineering?</p><h2>The Simulator Dilemma</h2><p>You have two options for your simulator. The first is obvious: the code and the computer. Write something, run it, see what happens. Fast feedback, accurate results, reality as your guide&#8212;if the way you architect your code sucks, it eventually sticks out like a sore thumb.</p><p>The second option seduces many: design up-front, making yourself the simulator. You sit in your chair, stare at whiteboards, and try to mentally execute every possible path through your imagined system. This approach suffers from two fatal flaws: it's glacially slow, and it's breathtakingly inaccurate. You end up solving problems that don't exist while the real problems laugh at you from the shadows.</p><p>As Mike Acton puts it in his <a href="https://www.youtube.com/watch?v=rX0ItVEVjHc">brilliant talk</a>: "solving problems you probably don't have creates more problems you definitely do." Your mental simulator isn't just unreliable&#8212;it's actively counterproductive, generating phantom requirements that will haunt your codebase long after you've forgotten why you added them.</p><h2>What Do We Care About?</h2><p>Strip away the buzzwords and methodologies, and software engineering boils down to two fundamental concerns: runtime speed and development speed. Everything else is commentary.</p><p>We could use these as our critics, but they're sparse metrics. They'll tell you whether something is good or bad, but they won't whisper hints about what you could do locally to climb higher. It's like having a barometer that only reads "terrible" or "acceptable"&#8212;not particularly useful when you're trying to navigate the next few steps.</p><p>Ideally, we want a critic that stays true to our terminal objectives of runtime and development speed while also providing dense information about the local terrain. We need something that can guide our immediate decisions while keeping us pointed toward the summit. Luckily, the ivory tower of software architecture has a decree for us: OOP.</p><h2>Projection Oriented Programming</h2><p>OOP has a widely agreed upon set of characteristics often referred to as the "four pillars": encapsulation, inheritance, polymorphism, and abstraction. However, in practice, OOP literature seems to prescribe something more: basing the code&#8217;s hierarchy of encapsulation on the underlying domain model. Have some enemies in your game? Better have an <code>Enemy</code> class. Have more than one kind? Make sure to inherit from an <code>AbstractEnemy</code> class.</p><p>To spare the <a href="https://x.com/cmuratori/status/1950789293171228682">onslaught</a> of No-true-Scotsman arguments, let&#8217;s call this subset of OOP &#8220;Projection Oriented Programming&#8221; after <a href="https://x.com/cmuratori/status/1946602647571886549">this</a> clever comment.</p><p>A central issue with this style of programming is that software performance often ties deeply to code architecture. No amount of posterior optimization will resurrect the data-cache performance lost to bloated objects stuffed with computationally unrelated fields. No clever tricks will recover from the instruction-cache carnage wrought by pointless inheritance hierarchies and virtual function calls.</p><p>As Mike Acton, again, puts it: this reflects a kind of engineering by "storytelling" rather than engineering by engineering&#8212;prioritizing making code "read like a story" about the problem domain over making it actually solve computational problems efficiently.<br>(P.S. You should <em>really</em> watch <a href="https://www.youtube.com/watch?v=rX0ItVEVjHc">that talk</a>)</p><p>Besides, effective performance optimization demands holistic context and deep domain knowledge. When you've architected your code around encapsulation based on the underlying domain model, you've simply set yourself up for failure. What scope remains for noticing domain knowledge that may motivate optimization, if your code is a tangled web of objects trying to interface with other objects using only the methods that have &#8220;meaning&#8221; in the underlying domain model? Every potential improvement gets strangled by the very boundaries you thought were helping.</p><h2>Premature Encapsulation</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!MT41!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b5c890a-21f7-4172-87ce-500bbf3b8078_800x450.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MT41!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b5c890a-21f7-4172-87ce-500bbf3b8078_800x450.png 424w, https://substackcdn.com/image/fetch/$s_!MT41!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b5c890a-21f7-4172-87ce-500bbf3b8078_800x450.png 848w, https://substackcdn.com/image/fetch/$s_!MT41!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b5c890a-21f7-4172-87ce-500bbf3b8078_800x450.png 1272w, https://substackcdn.com/image/fetch/$s_!MT41!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b5c890a-21f7-4172-87ce-500bbf3b8078_800x450.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!MT41!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b5c890a-21f7-4172-87ce-500bbf3b8078_800x450.png" width="800" height="450" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3b5c890a-21f7-4172-87ce-500bbf3b8078_800x450.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:450,&quot;width&quot;:800,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:173240,&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;:&quot;https://thelearningcurvenjack.substack.com/i/170760688?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b5c890a-21f7-4172-87ce-500bbf3b8078_800x450.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!MT41!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b5c890a-21f7-4172-87ce-500bbf3b8078_800x450.png 424w, https://substackcdn.com/image/fetch/$s_!MT41!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b5c890a-21f7-4172-87ce-500bbf3b8078_800x450.png 848w, https://substackcdn.com/image/fetch/$s_!MT41!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b5c890a-21f7-4172-87ce-500bbf3b8078_800x450.png 1272w, https://substackcdn.com/image/fetch/$s_!MT41!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b5c890a-21f7-4172-87ce-500bbf3b8078_800x450.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><p>While the "final" code may well benefit from strategic encapsulation boundaries, that doesn't mean we should commit to encapsulating from the get-go while we're still navigating the fog of early development and discovery.</p><p>POP may wreck performance, but even stripped of its domain-modelling baggage, traditional OOP remains surprisingly rigid for rapid development. When you're still figuring out what your code actually needs to do, locking yourself into interface contracts feels like building walls before you know where the rooms should go.</p><h2>Trash the Faulty Map</h2><p>There's a vacuum for an important metric in the space of software architecture: locality of behaviour. Keep related things close together. Don't scatter the implementation of a single concept across seven different interfaces just because some methodology told you to.</p><p>Casey Muratori offers <a href="https://caseymuratori.com/blog_0015">another compass bearing</a>: don't plan abstractions; build first, discover them later. Let the real patterns emerge from flat code rather than imposing theoretical structures on problems you don't yet understand.</p><p>There's nothing wrong with omniscient code&#8212;code that&#8217;s aware of the entire context of the problem you&#8217;re trying to solve. The imaginary boundaries we draw between "concerns" often cause more problems than they solve.</p>]]></content:encoded></item><item><title><![CDATA[Running LLMs Locally]]></title><description><![CDATA[Taking AI Offline]]></description><link>https://thelearningcurvenjack.substack.com/p/running-llms-locally</link><guid isPermaLink="false">https://thelearningcurvenjack.substack.com/p/running-llms-locally</guid><dc:creator><![CDATA[Aayan tejani]]></dc:creator><pubDate>Thu, 14 Aug 2025 09:11:01 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!JuPd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2d3517c-01c1-4da7-a051-146bc6f29acd_1024x608.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h1>Why Local LLMs are gaining popularity </h1><p>Large Language Models like GPT-4 have revolutionized the way we communicate with AI so we can write text more easily, get coding help, generate ideas, and a lot more. While cloud-hosted LLMs are the trend of the day today, increasingly, people are going the local LLM way, hosting such models on their local machines themselves.. Why the shift ?</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!yXdO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5340268c-c729-41e5-af79-a0d21acfde55_698x616.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yXdO!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5340268c-c729-41e5-af79-a0d21acfde55_698x616.png 424w, https://substackcdn.com/image/fetch/$s_!yXdO!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5340268c-c729-41e5-af79-a0d21acfde55_698x616.png 848w, https://substackcdn.com/image/fetch/$s_!yXdO!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5340268c-c729-41e5-af79-a0d21acfde55_698x616.png 1272w, https://substackcdn.com/image/fetch/$s_!yXdO!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5340268c-c729-41e5-af79-a0d21acfde55_698x616.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!yXdO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5340268c-c729-41e5-af79-a0d21acfde55_698x616.png" width="698" height="616" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5340268c-c729-41e5-af79-a0d21acfde55_698x616.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:616,&quot;width&quot;:698,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&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_!yXdO!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5340268c-c729-41e5-af79-a0d21acfde55_698x616.png 424w, https://substackcdn.com/image/fetch/$s_!yXdO!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5340268c-c729-41e5-af79-a0d21acfde55_698x616.png 848w, https://substackcdn.com/image/fetch/$s_!yXdO!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5340268c-c729-41e5-af79-a0d21acfde55_698x616.png 1272w, https://substackcdn.com/image/fetch/$s_!yXdO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5340268c-c729-41e5-af79-a0d21acfde55_698x616.png 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><h2>More Concerns about Privacy</h2><p>If you &#8216;re running a cloud-hosted LLM, all of the text that you type - your input, your personal information, even your own proprietary code is sent over the internet to remote servers. And there, you have no agency. Who specifically can view it? How is it secured? Could it leak, get hacked, get sent in a lawsuit? For anyone who&#8217;s got sensitive information, these aren&#8217;t theoretical concerns they&#8217;re showstoppers. Local LLMs avoid that altogether. All the processing is done on your computer, so your data never actually exists outside of your ownership. For privacy-minded individuals and communities, that&#8217;s compelling reason to go local. The thing with cloud AI is that when you delete a conversation, it doesn&#8217;t necessarily mean it is deleted. Most of them keep chat logs for 30 days or forever if there&#8217;s a law that requires them to. within that time, Humans sometimes do read conversations for safety review, policy enforcement, or training the model. Even after deletion, backups and legal compliance can preserve your words in the system.</p><p>OpenAI CEO Sam Altman himself recently made headlines quoting a plain fact: ChatGPT chat has no specific legal safeguards. In a This Past Weekend podcast interview, he equated it with talking to a therapist without privilege your talks can be subpoenaed. In recent court hearings, including the New York Times case, even those which are deleted have to be stored. Altman himself called it a "privacy nightmare" and admitted, "We haven't figured out that yet for when you chat with ChatGPT."</p><p>Aside from the concern, OpenAI's terms of service allow your data to be used to enhance models unless you choose not to in a process that is not necessarily front-and-center or convenient. So, inadvertently, your own work, research, or code could get baked into future AI training sets. </p><p>For the majority of individuals, especially those who are working with sensitive information, that is too much to give up for convenience.</p><p></p><h2>API fees</h2><p>Yes, not everybody uses LLMs in visible API calls, but cost is still a huge consideration:</p><p>The majority of business AI tools available today have subscription or pay-per-use-based models, and thus intense or frequent use may quickly be expensive. For example, OpenAI's $20/month ChatGPT Plus subscription and even extensive use can still hit usage caps or be charged additionally. </p><p>Students and enthusiasts testing out complicated projects frequently encounter these thresholds, and thus cloud AI is less convenient for repetitive experimenting or large-scale work.</p><p>For some, running an LLM locally is a means of evading periodic subscription fees and usage limits entirely, gaining unlimited use without cost shock.</p><h2>Internet Dependency is a Real workflow killer</h2><p>Cloud-based LLMs require but one inevitability: a solid internet connection. Easy enough until you're in a coffee shop with spotty Wi-Fi, on a train with iffy signal strength, or in a rural area where "high-speed internet" is 3 Mbps on a good day. </p><p>When that occurs, your previously useful AI is now sluggish, unresponsive, or simply unavailable. And it's not only annoying it can bring workflows to a screeching halt. Picture never finishing your train of thought during a brainstorm because your request took 30 seconds to reply. Or losing a critical project deadline only to have your AI session timeout. </p><p>Local LLMs eliminate all that in the first place. The moment the model is loaded onto your computer, it is ready to go no buffering, no cut-off sessions, no "reconnecting&#8230;" messages. You can work in the middle of the forest, on a flight, or in the event of an internet outage without losing a beat. </p><p>For remote workers, travel, or students in low-connectivity zones, or simply anyone who wants AI to work every time they launch it, this reliability is not a nicety, it is a complete game-changer.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JuPd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2d3517c-01c1-4da7-a051-146bc6f29acd_1024x608.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JuPd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2d3517c-01c1-4da7-a051-146bc6f29acd_1024x608.png 424w, https://substackcdn.com/image/fetch/$s_!JuPd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2d3517c-01c1-4da7-a051-146bc6f29acd_1024x608.png 848w, https://substackcdn.com/image/fetch/$s_!JuPd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2d3517c-01c1-4da7-a051-146bc6f29acd_1024x608.png 1272w, https://substackcdn.com/image/fetch/$s_!JuPd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2d3517c-01c1-4da7-a051-146bc6f29acd_1024x608.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JuPd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2d3517c-01c1-4da7-a051-146bc6f29acd_1024x608.png" width="1024" height="608" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e2d3517c-01c1-4da7-a051-146bc6f29acd_1024x608.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:608,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&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_!JuPd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2d3517c-01c1-4da7-a051-146bc6f29acd_1024x608.png 424w, https://substackcdn.com/image/fetch/$s_!JuPd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2d3517c-01c1-4da7-a051-146bc6f29acd_1024x608.png 848w, https://substackcdn.com/image/fetch/$s_!JuPd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2d3517c-01c1-4da7-a051-146bc6f29acd_1024x608.png 1272w, https://substackcdn.com/image/fetch/$s_!JuPd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2d3517c-01c1-4da7-a051-146bc6f29acd_1024x608.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><figcaption class="image-caption">Locally running LLMs have a lot of advantages</figcaption></figure></div><h2>Why Use Local LLMs Even When It Feels Counterintuitive</h2><p>If you're unaware, open-source large language models (LLMs) are a lot like the large brands you already know such as OpenAI's GPT or Google's Gemini but with one huge difference: with open models, you receive the weights. That's the secret sauce of their training, and what it means is that you get to host them on your hardware whether that be your laptop, a custom desktop, or even a server you own. </p><p>But you might ask: "Aren't these models huge? How in the world could my laptop possibly accommodate one?" And you'd be correct the largest proprietary models are huge, sometimes requiring clusters of high-end GPUs just to execute. But the open-source world has been developing smaller, more efficient models that can be executed on consumer hardware. And don't let their size fool you many of these smaller models punch well above their weight. Just check out the leaderboards and you'll find entries like the 27 billion parameter Gemma holding its own against industry giants. </p><p>Running AI locally isn't without its disadvantages. You'll need lots of disk space, good RAM, and sometimes a good GPU. Getting it all installed can even be a weekend project instead of a plug-and-play service. On paper, the usability of cloud APIs may seem like the no-brainer option. </p><p>So why are so many getting local? Because local LLMs give you what the cloud just can't: </p><p>Control - You have total control over what runs, what gets calculated, and where it happens. </p><p>Speed - Local inference removes the network bottleneck, therefore responses tend to be quicker. </p><p>Offline Access - Whether you are on the move, on a flaky connection, or completely off-grid, your AI is always with you. </p><p>To increasingly more users, these advantages are well worth the additional setup time. The outcome? Local LLMs are no longer a hobbyist's plaything they're becoming a serious, functional device for AI-powered work.</p><div><hr></div><h1>Tools That Enable Running Local LLMs</h1><p>Running large language models on your machine can look intimidating, but through a chain of welcoming libraries and tools, it has never been simpler. These platforms offer a simple means of installing, running, and hosting local LLMs, making access easier for students, software developers, and AI enthusiasts.</p><h3>Ollama</h3><p>Ollama offers a tidy, user-friendly interface for running numerous local models. Ollama offers model management, inference, and integration, which makes it easy to download, run, and deploy top LLMs with minimal technical inconvenience. Ollama works with models like Llama 2, deepseek-r1 and many more specifically built for local running, and it works with most operating systems like Windows and macOS.</p><h3>LM Studio</h3><p>LM Studio is customization and tuning all the way. It's for users who want more control over model performance and behavior, like the ability to train models on your data or adjust parameters for specific tasks. This type of flexibility makes it popular with researchers and special projects.</p><h3>LLaMA.cpp</h3><p>A lightweight and efficient open-source counterpart to Meta's LLaMA models, LLaMA.cpp allows for LLaMA models to be run on consumer hardware, like laptops without the need for specialized GPUs. It's ideal for users who need to run high-power models on low-resource setups.</p><h3>GPT4All</h3><p>GPT4All offers open weights of different models based on privacy and access. It comes with everything required to quickly get started and is particularly welcoming for new users who desire a convenient local AI experience. </p><p>These technologies are now making local LLMs available to a broad audience ranging from ordinary users who need a personalized chatbot to developers creating personalized AI programs.</p><div><hr></div><h1>What models can be executed locally</h1><p>Due to the rate of acceleration of AI, it is no longer a fantasy to run gigantic language models on individual devices. There are now a number of effective, high-performance models that are being used extensively by developers, researchers, and hobbyists who desire AI capability without depending on the cloud. </p><p>Some of the Most Popular Local Models Today </p><p><strong>Qwen 2.5</strong> - Alibaba created Qwen 2.5, which stands out in the sense that it is multilingual and CPU-friendly in design. It can run well in PCs with about 16GB RAM, which means it is accessible to most users who might not have high-end GPUs. People like it since it provides power with simplicity. </p><p><strong>LLaMA 3 Series</strong> - Meta's new LLaMA 3 models are in high demand. Their smaller counterparts (like the 8-billion-parameter model) can be executed on regular laptops with 16GB RAM and have excellent reasoning and general knowledge capabilities. The open LLaMA framework encourages community contributions and custom development. </p><p><strong>Mistral 7B</strong> - With its stable performance and adequate memory efficiency, Mistral 7B is best suited for users who want a high-performance but thrifty model. Both general AI assistants and memory-demanding tasks are suitable for it. </p><p><strong>DeepSeek Coder (7B)</strong> - In case you are in need of coding as your main goal, DeepSeek Coder is suitable for coding activities like code generation and debugging, which works well on mid-range hardware. </p><p><strong>Gemma 2B</strong> - Google DeepMind's Gemma 2B is praised for its responsiveness and adaptability in different hardware setups, ranging from consumer-grade laptops and desktops. </p><p><strong>DeepSeek-R1</strong> &#8211; One of the strongest models out there disrupting the LLM world. It uses state-of-the-art reasoning techniques like reinforcement learning, mixture-of-experts (MoE), and chain-of-thought reasoning to tackle challenging problems in math, programming, and clinical reasoning occasionally outperforming models like OpenAI's o1 often at a fraction of the cost. Fully open-sourced under an MIT license, DeepSeek-R1 has extensively distilled variants (1.5B to 70B) that are performance- and resource-optimized many of which can be executed locally with as little as 8-16 GB RAM.</p><h3>Why These Models Matter </h3><p>While these local models are still in the process of reaching the sheer size of cloud giants like GPT-4, they are catching up very fast. They can offer sufficient power for ordinary tasks like conversing, coding assistance, document Q&amp;A, etc., without the cost of infrastructure. </p><p>And because they're performance-optimized, they can be run on 8 to 16GB RAM machines, and even on CPUs by themselves, so local AI is accessible to more people than ever before.</p><div><hr></div><h1>How do you install an LLM locally </h1><p>Having a local large language model running may seem daunting, but software now has made it surprisingly easy. Below is a straightforward guide to use <strong>Ollama</strong>, one of the simpler platforms to host and run local LLMs. </p><p><em><strong>Step 1:</strong></em><strong> </strong>Check Your Hardware </p><p>Prior to beginning, make sure that your computer has the below minimums: <strong>RAM</strong>: 8-16 GB minimum (the higher, the better) <br><strong>CPU</strong>: latest multi-core processor (GPU is optional but will accelerate inference) <br><strong>Disk Space</strong>: Minimum of 10&#8211;20 GB of available space for storing models </p><p><em><strong>Step 2:</strong></em> Download and Install Ollama<br>Visit ollama.com and download the correct installer for your platform (Windows or macOS). <br>Run the installer and follow the on-screen instructions. </p><p><em><strong>Step 3:</strong></em> Choose and Download Models <br>Ollama provides many popular local models such as LLaMA 2, Phi-2, and others.<br>Download your preferred model(s) via the Ollama app or CLI. The download will take some time depending on your internet speed and model size. </p><p><em><strong>Step 4:</strong></em> Deploying Your Model Locally <br>Once you've installed, launch Ollama's app and start developing your model straight on your computer. <br>For CLI users, you are able to run commands like ollama run llama2 to start a session. </p><p><em><strong>Step 5</strong></em>: Explore Advanced Use <br>All of these tools, including Ollama, allow you to integrate local LLMs into your own applications or automate workflows. <br>You may also train models on your data or customize responses as you gain more experience. </p><p>Useful Links </p><p><a href="https://ollama.com/search">Ollama Documentation</a> - Step-by-step directions and troubleshooting. </p><p><a href="https://huggingface.co/models">Model Libraries</a> - Browse and download other open-source models. </p><h2>Conclusion: Local LLMs - Making AI Personal, Private, and Practical </h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!KHl3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78a7c61b-7918-4e1f-af0e-cb7851c4185c_605x455.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!KHl3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78a7c61b-7918-4e1f-af0e-cb7851c4185c_605x455.png 424w, https://substackcdn.com/image/fetch/$s_!KHl3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78a7c61b-7918-4e1f-af0e-cb7851c4185c_605x455.png 848w, https://substackcdn.com/image/fetch/$s_!KHl3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78a7c61b-7918-4e1f-af0e-cb7851c4185c_605x455.png 1272w, https://substackcdn.com/image/fetch/$s_!KHl3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78a7c61b-7918-4e1f-af0e-cb7851c4185c_605x455.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!KHl3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78a7c61b-7918-4e1f-af0e-cb7851c4185c_605x455.png" width="605" height="455" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/78a7c61b-7918-4e1f-af0e-cb7851c4185c_605x455.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:455,&quot;width&quot;:605,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Does anyone use local LLM via Ollama on their MacBook Pro or similiar?  Curious about your choices... : r/LocalLLaMA&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&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="Does anyone use local LLM via Ollama on their MacBook Pro or similiar?  Curious about your choices... : r/LocalLLaMA" title="Does anyone use local LLM via Ollama on their MacBook Pro or similiar?  Curious about your choices... : r/LocalLLaMA" srcset="https://substackcdn.com/image/fetch/$s_!KHl3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78a7c61b-7918-4e1f-af0e-cb7851c4185c_605x455.png 424w, https://substackcdn.com/image/fetch/$s_!KHl3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78a7c61b-7918-4e1f-af0e-cb7851c4185c_605x455.png 848w, https://substackcdn.com/image/fetch/$s_!KHl3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78a7c61b-7918-4e1f-af0e-cb7851c4185c_605x455.png 1272w, https://substackcdn.com/image/fetch/$s_!KHl3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78a7c61b-7918-4e1f-af0e-cb7851c4185c_605x455.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><p><strong>Only true AI connoisseurs know the value of a locally running fine-tuned model.</strong></p><p>Local large language models are changing the way we access AI. They give back control to your hands by preserving data in a private manner and off-loading costly subscription charges. Offline running of AI makes you less reliant on a shoddy internet connection or worried about ballooning API expenses. While local LLMs require a bit more configuration and hardware, the benefits - privacy, affordability, speed, and autonomy make them increasingly popular among developers, students, and AI enthusiasts. As the technology advances further, expect local models to be more powerful and intuitive, unleashing their productivity and creativity without compromise.</p>]]></content:encoded></item><item><title><![CDATA[Segment Trees Are Not Scary]]></title><description><![CDATA[They are pretty simple, trust me]]></description><link>https://thelearningcurvenjack.substack.com/p/segment-trees-are-not-scary</link><guid isPermaLink="false">https://thelearningcurvenjack.substack.com/p/segment-trees-are-not-scary</guid><dc:creator><![CDATA[Ayush Bansal]]></dc:creator><pubDate>Thu, 14 Aug 2025 08:49:08 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!rpI4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2dcc8eb6-4150-4309-a214-609408874d59_800x533.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I see everyone saying that segment trees are very hard and that no one will ever ask you to implement one because it takes too long. And I just want to say they&#8217;re wrong.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!rpI4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2dcc8eb6-4150-4309-a214-609408874d59_800x533.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!rpI4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2dcc8eb6-4150-4309-a214-609408874d59_800x533.jpeg 424w, https://substackcdn.com/image/fetch/$s_!rpI4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2dcc8eb6-4150-4309-a214-609408874d59_800x533.jpeg 848w, https://substackcdn.com/image/fetch/$s_!rpI4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2dcc8eb6-4150-4309-a214-609408874d59_800x533.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!rpI4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2dcc8eb6-4150-4309-a214-609408874d59_800x533.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!rpI4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2dcc8eb6-4150-4309-a214-609408874d59_800x533.jpeg" width="800" height="533" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2dcc8eb6-4150-4309-a214-609408874d59_800x533.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:533,&quot;width&quot;:800,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Public Domain Trees Images | Free CC0 Art, Vintage Illustrations &amp;  Paintings - rawpixel&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&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="Public Domain Trees Images | Free CC0 Art, Vintage Illustrations &amp;  Paintings - rawpixel" title="Public Domain Trees Images | Free CC0 Art, Vintage Illustrations &amp;  Paintings - rawpixel" srcset="https://substackcdn.com/image/fetch/$s_!rpI4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2dcc8eb6-4150-4309-a214-609408874d59_800x533.jpeg 424w, https://substackcdn.com/image/fetch/$s_!rpI4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2dcc8eb6-4150-4309-a214-609408874d59_800x533.jpeg 848w, https://substackcdn.com/image/fetch/$s_!rpI4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2dcc8eb6-4150-4309-a214-609408874d59_800x533.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!rpI4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2dcc8eb6-4150-4309-a214-609408874d59_800x533.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><h1><strong>The need for segment trees?</strong></h1><p>To understand why segment trees exist ,let's consider a scenario that every programmer encounters: array range queries. You have an array of numbers, and you keep getting annoying queries like "What's the sum from index 3 to 17?" or "What's the minimum value between positions 5 and 12?"</p><p>The common approaches are both slow when dealing with many updates and queries</p><p>The na&#239;ve approach: iterate through the range for every query. This gives us O(n) time complexity per query and O(1) per update.</p><p>The other approach is Prefix Sums which give us O(1) queries but O(n) for updates.</p><p>Segment trees give us a middle path for times when we want both updates and queries with O(log n) queries and O(log n) updates</p><h1><strong>The Basic Idea</strong></h1><p>To represent the input array as a binary tree. (I&#8217;m sure you guys can start to smell the log n).</p><p>Each Node represents a piece of the array (the root has the whole array) and contains the answer for that piece (like the sum of all elements in the piece). Each node has 2 children representing the left and right half of the piece.</p><p>And to answer queries we combine the answers of these nodes to get the answer for our desired segment.</p><h1><strong>The Lifecycle of a segment tree</strong></h1><p><strong>1) Build the tree-</strong></p><p>Building the tree is a one-time investment with O(n) complexity. We use a bottom-up approach, starting with individual elements and combining them level by level until we reach the root.</p><p><strong>2) Use for Queries and Updates</strong></p><p>Once built, the tree handles two main operations:</p><ul><li><p>Queries: Finding the answer for a specific range by combining relevant node values</p></li><li><p>Updates: Modifying individual elements and propagating changes up the tree</p></li></ul><blockquote></blockquote><p><strong>3) Profit</strong></p><p>Once you understand how to combine the segments to get a answer the code for building the tree, updates and queries looks very similar. So lets see that in action.</p><p>Consider a query the sum from index 2 to 8.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!s-I9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5b6a047-b68f-4d22-a4ed-f11ccf02848d_567x300.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!s-I9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5b6a047-b68f-4d22-a4ed-f11ccf02848d_567x300.png 424w, https://substackcdn.com/image/fetch/$s_!s-I9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5b6a047-b68f-4d22-a4ed-f11ccf02848d_567x300.png 848w, https://substackcdn.com/image/fetch/$s_!s-I9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5b6a047-b68f-4d22-a4ed-f11ccf02848d_567x300.png 1272w, https://substackcdn.com/image/fetch/$s_!s-I9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5b6a047-b68f-4d22-a4ed-f11ccf02848d_567x300.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!s-I9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5b6a047-b68f-4d22-a4ed-f11ccf02848d_567x300.png" width="567" height="300" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e5b6a047-b68f-4d22-a4ed-f11ccf02848d_567x300.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:300,&quot;width&quot;:567,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:23459,&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;:&quot;https://thelearningcurvenjack.substack.com/i/170760264?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5b6a047-b68f-4d22-a4ed-f11ccf02848d_567x300.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!s-I9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5b6a047-b68f-4d22-a4ed-f11ccf02848d_567x300.png 424w, https://substackcdn.com/image/fetch/$s_!s-I9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5b6a047-b68f-4d22-a4ed-f11ccf02848d_567x300.png 848w, https://substackcdn.com/image/fetch/$s_!s-I9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5b6a047-b68f-4d22-a4ed-f11ccf02848d_567x300.png 1272w, https://substackcdn.com/image/fetch/$s_!s-I9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5b6a047-b68f-4d22-a4ed-f11ccf02848d_567x300.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><figcaption class="image-caption"><strong>A Segment Tree</strong></figcaption></figure></div><p>You can see that if we combine all the red nodes, we will get our answer.<br>Now How Do we choose the red nodes?</p><p>Simple we start from root and see if a child has a overlap with the target indexes 2 to 8 then we query it and return the combination of the answers from the children So for sum that&#8217;s just answer(left) + answer(right). We do this recursively.</p><p>The stopping condition is</p><p>1) if the node is entirely in the target like [3,4] and [5,8] we just return there answer for the node directly [Remember that each node contains answer for its piece of the array].</p><p>2) if the node has only one element, we return the answer for that node since there are no more children</p><h2><strong>The implementation is not long</strong></h2><p><strong>Source Trust me - </strong>My usual implementation for max segment tree is 26 lines all said and done and these are short lines.<br>Practice a bit and you can spam these out in a few minutes.</p><h2><strong>Proof of Correctness</strong></h2><p>Here's a secret: <strong>you don't need to know the proof of correctness to use them</strong>. While knowing these proofs is good and will help you write modifications of segment trees when questions call for it. You don&#8217;t need to stress too much about doing immediately, take time try different websites and blogs and find one that explains it in a way you find easy to understand.</p>]]></content:encoded></item><item><title><![CDATA[Let There Be Light]]></title><description><![CDATA[The life and work of Bui Tuong Phong.]]></description><link>https://thelearningcurvenjack.substack.com/p/let-there-be-light</link><guid isPermaLink="false">https://thelearningcurvenjack.substack.com/p/let-there-be-light</guid><dc:creator><![CDATA[Suvrayan Bandyopadhyay]]></dc:creator><pubDate>Thu, 14 Aug 2025 08:44:18 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!OJ5o!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2bd211f4-42f5-403c-9478-e8155484d758_3992x2992.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>The writing of sketchpad, the world&#8217;s first CAD software opened an entirely new way of drawing using computers. However, in the years that followed, 3D graphics looked boring, lifeless and uninspiring. Researchers were eager to bridge the gap between what we see and what the screens depict, and started searching for ways to bring more depth into their virtual creations. The answer lay in the art of illumination, which revealed a whole new depth for the field of computer graphics and pushed the boundaries of computer science itself.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!OJ5o!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2bd211f4-42f5-403c-9478-e8155484d758_3992x2992.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!OJ5o!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2bd211f4-42f5-403c-9478-e8155484d758_3992x2992.jpeg 424w, https://substackcdn.com/image/fetch/$s_!OJ5o!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2bd211f4-42f5-403c-9478-e8155484d758_3992x2992.jpeg 848w, https://substackcdn.com/image/fetch/$s_!OJ5o!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2bd211f4-42f5-403c-9478-e8155484d758_3992x2992.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!OJ5o!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2bd211f4-42f5-403c-9478-e8155484d758_3992x2992.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!OJ5o!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2bd211f4-42f5-403c-9478-e8155484d758_3992x2992.jpeg" width="727.9947509765625" height="545.4960668375204" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2bd211f4-42f5-403c-9478-e8155484d758_3992x2992.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:1091,&quot;width&quot;:1456,&quot;resizeWidth&quot;:727.9947509765625,&quot;bytes&quot;:4675269,&quot;alt&quot;:&quot;Sun Rays Photos, Download The BEST Free Sun Rays Stock Photos &amp; HD Images&quot;,&quot;title&quot;:&quot;Sun Rays Photos, Download The BEST Free Sun Rays Stock Photos &amp; HD Images&quot;,&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;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-normal" alt="Sun Rays Photos, Download The BEST Free Sun Rays Stock Photos &amp; HD Images" title="Sun Rays Photos, Download The BEST Free Sun Rays Stock Photos &amp; HD Images" srcset="https://substackcdn.com/image/fetch/$s_!OJ5o!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2bd211f4-42f5-403c-9478-e8155484d758_3992x2992.jpeg 424w, https://substackcdn.com/image/fetch/$s_!OJ5o!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2bd211f4-42f5-403c-9478-e8155484d758_3992x2992.jpeg 848w, https://substackcdn.com/image/fetch/$s_!OJ5o!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2bd211f4-42f5-403c-9478-e8155484d758_3992x2992.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!OJ5o!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2bd211f4-42f5-403c-9478-e8155484d758_3992x2992.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><h1>Why we need to see the light.</h1><p>But hold on,  why is <em>lighting, </em>out of all things, so vital for creating realistic computer graphics? Well, to illustrate, allow me to show you what happens when we do not apply lighting to a 3D scene</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!u59B!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7551f114-1fd5-437e-8bae-37ab8a93a890_1920x1080.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!u59B!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7551f114-1fd5-437e-8bae-37ab8a93a890_1920x1080.png 424w, https://substackcdn.com/image/fetch/$s_!u59B!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7551f114-1fd5-437e-8bae-37ab8a93a890_1920x1080.png 848w, https://substackcdn.com/image/fetch/$s_!u59B!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7551f114-1fd5-437e-8bae-37ab8a93a890_1920x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!u59B!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7551f114-1fd5-437e-8bae-37ab8a93a890_1920x1080.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!u59B!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7551f114-1fd5-437e-8bae-37ab8a93a890_1920x1080.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7551f114-1fd5-437e-8bae-37ab8a93a890_1920x1080.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1416734,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://thelearningcurvenjack.substack.com/i/170677726?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7551f114-1fd5-437e-8bae-37ab8a93a890_1920x1080.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!u59B!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7551f114-1fd5-437e-8bae-37ab8a93a890_1920x1080.png 424w, https://substackcdn.com/image/fetch/$s_!u59B!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7551f114-1fd5-437e-8bae-37ab8a93a890_1920x1080.png 848w, https://substackcdn.com/image/fetch/$s_!u59B!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7551f114-1fd5-437e-8bae-37ab8a93a890_1920x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!u59B!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7551f114-1fd5-437e-8bae-37ab8a93a890_1920x1080.png 1456w" sizes="100vw"></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></p><p>It&#8217;s pretty hard to make out that the scene in front of us is in 3D. The details of each model are difficult to make out and the overall scene looks flat.</p><p>Let&#8217;s turn on the light</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0EZy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecd66cf2-b691-4d78-8820-2deeed47be47_1920x1080.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0EZy!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecd66cf2-b691-4d78-8820-2deeed47be47_1920x1080.png 424w, https://substackcdn.com/image/fetch/$s_!0EZy!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecd66cf2-b691-4d78-8820-2deeed47be47_1920x1080.png 848w, https://substackcdn.com/image/fetch/$s_!0EZy!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecd66cf2-b691-4d78-8820-2deeed47be47_1920x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!0EZy!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecd66cf2-b691-4d78-8820-2deeed47be47_1920x1080.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0EZy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecd66cf2-b691-4d78-8820-2deeed47be47_1920x1080.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ecd66cf2-b691-4d78-8820-2deeed47be47_1920x1080.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1504451,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://thelearningcurvenjack.substack.com/i/170677726?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecd66cf2-b691-4d78-8820-2deeed47be47_1920x1080.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!0EZy!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecd66cf2-b691-4d78-8820-2deeed47be47_1920x1080.png 424w, https://substackcdn.com/image/fetch/$s_!0EZy!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecd66cf2-b691-4d78-8820-2deeed47be47_1920x1080.png 848w, https://substackcdn.com/image/fetch/$s_!0EZy!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecd66cf2-b691-4d78-8820-2deeed47be47_1920x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!0EZy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecd66cf2-b691-4d78-8820-2deeed47be47_1920x1080.png 1456w" sizes="100vw"></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>Much better isn&#8217;t it. With a little illumination we have revealed an entirely new world. One can easily distinguish the various features of the monkey and the sphere looks more like a three-dimensional object than a circle.</p><p>But before we dive into the process of how we can achieve basic lightning, it is only befitting to first talk about the man who made this possible, Bui Tuong Phong.</p><h1>The life of Phong</h1><p>Bui Tuong Phong was born in Hanoi in 1942. At this time, Vietnam was officially controlled by the French and was known as French Indochina. However, Paris had fallen to the Germans and in the ensuing chaos the Japanese had occupied a large portion of Phong&#8217;s homeland. This foreign intervention had united the Vietnamese in armed struggle, and the communist guerillas were being led by Ho Chi Minh. When Japan left the country in 1945, Ho Chi Minh declared Vietnam independent, something which the French would not accept.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!fFxC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3c7cef6-8c97-41cf-bea0-32a3babfa931_189x266.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!fFxC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3c7cef6-8c97-41cf-bea0-32a3babfa931_189x266.jpeg 424w, https://substackcdn.com/image/fetch/$s_!fFxC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3c7cef6-8c97-41cf-bea0-32a3babfa931_189x266.jpeg 848w, https://substackcdn.com/image/fetch/$s_!fFxC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3c7cef6-8c97-41cf-bea0-32a3babfa931_189x266.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!fFxC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3c7cef6-8c97-41cf-bea0-32a3babfa931_189x266.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!fFxC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3c7cef6-8c97-41cf-bea0-32a3babfa931_189x266.jpeg" width="189" height="266" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f3c7cef6-8c97-41cf-bea0-32a3babfa931_189x266.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:266,&quot;width&quot;:189,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;The Life and Legacy of Bui Tuong Phong&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&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="The Life and Legacy of Bui Tuong Phong" title="The Life and Legacy of Bui Tuong Phong" srcset="https://substackcdn.com/image/fetch/$s_!fFxC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3c7cef6-8c97-41cf-bea0-32a3babfa931_189x266.jpeg 424w, https://substackcdn.com/image/fetch/$s_!fFxC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3c7cef6-8c97-41cf-bea0-32a3babfa931_189x266.jpeg 848w, https://substackcdn.com/image/fetch/$s_!fFxC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3c7cef6-8c97-41cf-bea0-32a3babfa931_189x266.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!fFxC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3c7cef6-8c97-41cf-bea0-32a3babfa931_189x266.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"><strong>Bui Tuong Phong</strong></figcaption></figure></div><p>What followed became known as the First Indochina war, where the French suffered a shocking defeat. In the peace talks that followed it was decided that the country would be split in two, with a communist government in the north and a pro-western government in the south. Neither side was happy with this arrangement and the Second Indochina war (Popularly known as the Vietnam war) soon followed.</p><p>By this time, Phong had moved to Saigon (modern day Ho Chi Minh City). During this time the United States started Operation Ranch Hand, a campaign to spray herbicides in Vietnam to remove the dense vegetive cover used by North Vietnamese forces. Herbicide was often stored in key military facilities around Saigon and their surroundings were often sprayed for security purposes.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!VNWY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb23623a-b957-4f7c-91af-afb6d8d810e6_522x409.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!VNWY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb23623a-b957-4f7c-91af-afb6d8d810e6_522x409.jpeg 424w, https://substackcdn.com/image/fetch/$s_!VNWY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb23623a-b957-4f7c-91af-afb6d8d810e6_522x409.jpeg 848w, https://substackcdn.com/image/fetch/$s_!VNWY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb23623a-b957-4f7c-91af-afb6d8d810e6_522x409.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!VNWY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb23623a-b957-4f7c-91af-afb6d8d810e6_522x409.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!VNWY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb23623a-b957-4f7c-91af-afb6d8d810e6_522x409.jpeg" width="522" height="409" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/db23623a-b957-4f7c-91af-afb6d8d810e6_522x409.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:409,&quot;width&quot;:522,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:76314,&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;:&quot;https://thelearningcurvenjack.substack.com/i/170677726?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb23623a-b957-4f7c-91af-afb6d8d810e6_522x409.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!VNWY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb23623a-b957-4f7c-91af-afb6d8d810e6_522x409.jpeg 424w, https://substackcdn.com/image/fetch/$s_!VNWY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb23623a-b957-4f7c-91af-afb6d8d810e6_522x409.jpeg 848w, https://substackcdn.com/image/fetch/$s_!VNWY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb23623a-b957-4f7c-91af-afb6d8d810e6_522x409.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!VNWY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb23623a-b957-4f7c-91af-afb6d8d810e6_522x409.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"><strong>American bombers spraying herbicides in the Vietnamese countryside</strong></figcaption></figure></div><p>Some have speculated that Phong might have been indirectly exposed to these chemicals during his time in the city and have theorized that this might have had a hand in his later illness. However, we don&#8217;t have direct evidence to validate this.</p><p>In 1964 Phong went to France to further his education. He left during the same year as the Gulf of Tonkin incident which was one of the key events which lead to the deployment of US forces in Vietnam. In France, he obtained several degrees before joining the Institut de Recherche en Informatique et en Automatique (then known as IRIA, now INRIA) where he focused on operating system development.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!pYNZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F317c2eae-b8a8-4ba2-8724-3b03999eeda0_530x299.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!pYNZ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F317c2eae-b8a8-4ba2-8724-3b03999eeda0_530x299.jpeg 424w, https://substackcdn.com/image/fetch/$s_!pYNZ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F317c2eae-b8a8-4ba2-8724-3b03999eeda0_530x299.jpeg 848w, https://substackcdn.com/image/fetch/$s_!pYNZ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F317c2eae-b8a8-4ba2-8724-3b03999eeda0_530x299.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!pYNZ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F317c2eae-b8a8-4ba2-8724-3b03999eeda0_530x299.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!pYNZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F317c2eae-b8a8-4ba2-8724-3b03999eeda0_530x299.jpeg" width="530" height="299" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/317c2eae-b8a8-4ba2-8724-3b03999eeda0_530x299.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:299,&quot;width&quot;:530,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:11938,&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;:&quot;https://thelearningcurvenjack.substack.com/i/170677726?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F317c2eae-b8a8-4ba2-8724-3b03999eeda0_530x299.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!pYNZ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F317c2eae-b8a8-4ba2-8724-3b03999eeda0_530x299.jpeg 424w, https://substackcdn.com/image/fetch/$s_!pYNZ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F317c2eae-b8a8-4ba2-8724-3b03999eeda0_530x299.jpeg 848w, https://substackcdn.com/image/fetch/$s_!pYNZ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F317c2eae-b8a8-4ba2-8724-3b03999eeda0_530x299.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!pYNZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F317c2eae-b8a8-4ba2-8724-3b03999eeda0_530x299.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"><strong>The Utah Teapot, a famous model used for computer graphic experiments, with Phong Lighting</strong></figcaption></figure></div><p>Phong immigrated to the United States in 1971, and joined the University of Utah as a research assistant. It was here that he first worked on a new method of light simulation. The most novel approach of his work was the manner in which he dealt with light reflection, which greatly enhanced the realism of computer graphics. He introduced his groundbreaking ideas in his 1973 PhD dissertation and published it in a paper in 1975. Unfortunately, all this coincided with his diagnosis of leukaemia, and the absence of modern methods of treatment made the disease fatal. Phong passed away in 1975, right after joining Stanford as a professor.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://thelearningcurvenjack.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Learning Curve! Subscribe for free to receive new posts and support our work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h1>The Phong Reflection Model</h1><p>Let us now turn our attention to the actual implementation of the Phong Reflection Model. We know that real objects get their illumination from 3 primary sources.</p><ul><li><p>The Environment</p></li><li><p>Direct Sources of Light</p></li><li><p>It&#8217;s inherent &#8216;shininess&#8217;, that is how much light it can reflect.</p></li></ul><p>Phong lighting recreates this by adding 3 components while computing the amount of lighting, namely:-</p><ul><li><p>Ambient Lighting</p></li><li><p>Diffuse Lighting</p></li><li><p>Specular Lighting</p></li></ul><p>Let&#8217;s explore each component individually</p><h2>Ambient Lighting</h2><p>The word Ambience refers to the character and atmosphere. Hence, ambient lighting refers to the background lighting which affects all objects in the scene. In the Phong Model, ambient lighting is approximated by just multiplying a constant value with the inherent colour of the object. For bright environments the value of this constant is high, while it is lowered to simulate darker scenes</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!66pJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8521b82-8a0c-44be-b997-87e741f747c9_185x173.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!66pJ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8521b82-8a0c-44be-b997-87e741f747c9_185x173.png 424w, https://substackcdn.com/image/fetch/$s_!66pJ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8521b82-8a0c-44be-b997-87e741f747c9_185x173.png 848w, https://substackcdn.com/image/fetch/$s_!66pJ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8521b82-8a0c-44be-b997-87e741f747c9_185x173.png 1272w, https://substackcdn.com/image/fetch/$s_!66pJ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8521b82-8a0c-44be-b997-87e741f747c9_185x173.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!66pJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8521b82-8a0c-44be-b997-87e741f747c9_185x173.png" width="185" height="173" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a8521b82-8a0c-44be-b997-87e741f747c9_185x173.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:173,&quot;width&quot;:185,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:33816,&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;:&quot;https://thelearningcurvenjack.substack.com/i/170677726?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8521b82-8a0c-44be-b997-87e741f747c9_185x173.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!66pJ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8521b82-8a0c-44be-b997-87e741f747c9_185x173.png 424w, https://substackcdn.com/image/fetch/$s_!66pJ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8521b82-8a0c-44be-b997-87e741f747c9_185x173.png 848w, https://substackcdn.com/image/fetch/$s_!66pJ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8521b82-8a0c-44be-b997-87e741f747c9_185x173.png 1272w, https://substackcdn.com/image/fetch/$s_!66pJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8521b82-8a0c-44be-b997-87e741f747c9_185x173.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption"><strong>Ambient Lightint</strong></figcaption></figure></div><p>Mathematically, it is computed using the formula</p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;I_a = K_a \\cdot L_a&quot;,&quot;id&quot;:&quot;GQYGONHECO&quot;}" data-component-name="LatexBlockToDOM"></div><p></p><p>Here I<sub>a</sub> is a vector giving the colour and intensity of ambient light, k<sub>a </sub>varies from 0 to 1 and L<sub>a </sub>is the inherent colour of the face.</p><h2>Diffuse Lighting</h2><p>Diffuse lighting tries to mimic the effect of light on rough surfaces. This shading effect is not dependent on the angle at which we view it, giving a non-shiny appearance.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!guH5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6abb5d27-15bc-463d-a58a-32679c71d361_182x159.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!guH5!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6abb5d27-15bc-463d-a58a-32679c71d361_182x159.png 424w, https://substackcdn.com/image/fetch/$s_!guH5!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6abb5d27-15bc-463d-a58a-32679c71d361_182x159.png 848w, https://substackcdn.com/image/fetch/$s_!guH5!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6abb5d27-15bc-463d-a58a-32679c71d361_182x159.png 1272w, https://substackcdn.com/image/fetch/$s_!guH5!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6abb5d27-15bc-463d-a58a-32679c71d361_182x159.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!guH5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6abb5d27-15bc-463d-a58a-32679c71d361_182x159.png" width="182" height="159" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6abb5d27-15bc-463d-a58a-32679c71d361_182x159.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:159,&quot;width&quot;:182,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:38072,&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;:&quot;https://thelearningcurvenjack.substack.com/i/170677726?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6abb5d27-15bc-463d-a58a-32679c71d361_182x159.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!guH5!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6abb5d27-15bc-463d-a58a-32679c71d361_182x159.png 424w, https://substackcdn.com/image/fetch/$s_!guH5!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6abb5d27-15bc-463d-a58a-32679c71d361_182x159.png 848w, https://substackcdn.com/image/fetch/$s_!guH5!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6abb5d27-15bc-463d-a58a-32679c71d361_182x159.png 1272w, https://substackcdn.com/image/fetch/$s_!guH5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6abb5d27-15bc-463d-a58a-32679c71d361_182x159.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption"><strong>Diffuse Lighting</strong></figcaption></figure></div><p>In computer graphics, diffuse lighting is computed using Lambert&#8217;s Cosine Law, which states that the intensity of light on a surface is proportional to the cosine of the angle between the surface normal and the direction of light.</p><p>Mathematically, we can say</p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;I_d \\propto \\cos\\theta&quot;,&quot;id&quot;:&quot;MFNSXNQBFA&quot;}" data-component-name="LatexBlockToDOM"></div><p>Where I<sub>d </sub>is the amount of diffuse lighting and theta is the angle between surface normal and direction of light.</p><p>Let us take n to be the surface normal and l to be the direction of light from the surface as shown in the figure below.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ugN8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd5e0c92-1566-4c77-89aa-cdd1f9d68232_265x248.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ugN8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd5e0c92-1566-4c77-89aa-cdd1f9d68232_265x248.png 424w, https://substackcdn.com/image/fetch/$s_!ugN8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd5e0c92-1566-4c77-89aa-cdd1f9d68232_265x248.png 848w, https://substackcdn.com/image/fetch/$s_!ugN8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd5e0c92-1566-4c77-89aa-cdd1f9d68232_265x248.png 1272w, https://substackcdn.com/image/fetch/$s_!ugN8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd5e0c92-1566-4c77-89aa-cdd1f9d68232_265x248.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ugN8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd5e0c92-1566-4c77-89aa-cdd1f9d68232_265x248.png" width="265" height="248" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dd5e0c92-1566-4c77-89aa-cdd1f9d68232_265x248.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:248,&quot;width&quot;:265,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:16274,&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;:&quot;https://thelearningcurvenjack.substack.com/i/170677726?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd5e0c92-1566-4c77-89aa-cdd1f9d68232_265x248.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ugN8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd5e0c92-1566-4c77-89aa-cdd1f9d68232_265x248.png 424w, https://substackcdn.com/image/fetch/$s_!ugN8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd5e0c92-1566-4c77-89aa-cdd1f9d68232_265x248.png 848w, https://substackcdn.com/image/fetch/$s_!ugN8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd5e0c92-1566-4c77-89aa-cdd1f9d68232_265x248.png 1272w, https://substackcdn.com/image/fetch/$s_!ugN8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd5e0c92-1566-4c77-89aa-cdd1f9d68232_265x248.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><figcaption class="image-caption"><strong>An Image to show the various vectors in diffuse lighting. Note that the light vector is taken in the opposite direction for simplicity.</strong></figcaption></figure></div><p>We can then say, using the properties of dot product that</p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;I_d = n \\cdot l&quot;,&quot;id&quot;:&quot;LAEFMAYAKD&quot;}" data-component-name="LatexBlockToDOM"></div><p>This fits logically as well. Objects just under a light source will be more illuminated than objects at an angle.</p><p></p><p>Hence, we compute the component of diffuse lighting as:</p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;I_d = k_d \\, \\max(0, \\vec{n} \\cdot \\vec{l}) \\, L_d&quot;,&quot;id&quot;:&quot;UQGYXHFUNM&quot;}" data-component-name="LatexBlockToDOM"></div><p>Here I<sub>d</sub> is a vector representing the colour and intensity of diffuse lighting, k<sub>d </sub>is the surface&#8217;s coefficient of diffuse reflection (generally the same as the colour of the object) and L<sub>d </sub>is a vector representing the colour and intensity of the light source. We take the max of n.l and 0 to avoid errors coming from negative cosines.</p><h2>Specular Lighting</h2><p>The main innovation of Phong&#8217;s lighting model was the manner in which it handled reflections. Shiny surfaces reflect light, and when this reflected light reaches our eyes, it creates a concentrated bright spot on the object, known as a specular highlight.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!cf95!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f128bff-6611-481e-ab61-9692a8d88f43_211x189.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cf95!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f128bff-6611-481e-ab61-9692a8d88f43_211x189.png 424w, https://substackcdn.com/image/fetch/$s_!cf95!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f128bff-6611-481e-ab61-9692a8d88f43_211x189.png 848w, https://substackcdn.com/image/fetch/$s_!cf95!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f128bff-6611-481e-ab61-9692a8d88f43_211x189.png 1272w, https://substackcdn.com/image/fetch/$s_!cf95!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f128bff-6611-481e-ab61-9692a8d88f43_211x189.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cf95!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f128bff-6611-481e-ab61-9692a8d88f43_211x189.png" width="211" height="189" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3f128bff-6611-481e-ab61-9692a8d88f43_211x189.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:189,&quot;width&quot;:211,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3122,&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;:&quot;https://thelearningcurvenjack.substack.com/i/170677726?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f128bff-6611-481e-ab61-9692a8d88f43_211x189.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!cf95!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f128bff-6611-481e-ab61-9692a8d88f43_211x189.png 424w, https://substackcdn.com/image/fetch/$s_!cf95!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f128bff-6611-481e-ab61-9692a8d88f43_211x189.png 848w, https://substackcdn.com/image/fetch/$s_!cf95!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f128bff-6611-481e-ab61-9692a8d88f43_211x189.png 1272w, https://substackcdn.com/image/fetch/$s_!cf95!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f128bff-6611-481e-ab61-9692a8d88f43_211x189.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption"><strong>Specular Lighting</strong></figcaption></figure></div><p>In order to compute these specular highlights, we need to consider the position of both the viewer and the source of light with respect to the surface.</p><p>Let us assume I is the direction of light, n is the direction of the normal of the surface, r is the direction of reflected light and e is the direction of the viewer&#8217;s eye from the surface as shown in the figure below.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!PVWB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59b6726d-e005-48df-aa8e-ec9dad4c8f2d_277x202.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!PVWB!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59b6726d-e005-48df-aa8e-ec9dad4c8f2d_277x202.jpeg 424w, https://substackcdn.com/image/fetch/$s_!PVWB!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59b6726d-e005-48df-aa8e-ec9dad4c8f2d_277x202.jpeg 848w, https://substackcdn.com/image/fetch/$s_!PVWB!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59b6726d-e005-48df-aa8e-ec9dad4c8f2d_277x202.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!PVWB!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59b6726d-e005-48df-aa8e-ec9dad4c8f2d_277x202.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!PVWB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59b6726d-e005-48df-aa8e-ec9dad4c8f2d_277x202.jpeg" width="277" height="202" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/59b6726d-e005-48df-aa8e-ec9dad4c8f2d_277x202.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:202,&quot;width&quot;:277,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:7598,&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;:&quot;https://thelearningcurvenjack.substack.com/i/170677726?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59b6726d-e005-48df-aa8e-ec9dad4c8f2d_277x202.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!PVWB!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59b6726d-e005-48df-aa8e-ec9dad4c8f2d_277x202.jpeg 424w, https://substackcdn.com/image/fetch/$s_!PVWB!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59b6726d-e005-48df-aa8e-ec9dad4c8f2d_277x202.jpeg 848w, https://substackcdn.com/image/fetch/$s_!PVWB!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59b6726d-e005-48df-aa8e-ec9dad4c8f2d_277x202.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!PVWB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59b6726d-e005-48df-aa8e-ec9dad4c8f2d_277x202.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption"><strong>A diagram showing specular lighting</strong></figcaption></figure></div><p></p><p>We can immediately conclude that for the eyes to receive maximum reflected light, the angle between r and e should be as small as possible. Therefore, we can write the equation as</p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;I_s = cl \\cdot (e \\cdot r)&quot;,&quot;id&quot;:&quot;LGMCQIUKJJ&quot;}" data-component-name="LatexBlockToDOM"></div><p>Where I<sub>s</sub> is the colour and intensity of the specular highlight and cl is the colour of the light source.</p><p>But there is still something missing. We know that some objects are &#8220;shinier&#8221; than others. However, in this equation we do not consider the inherent property of the material to reflect light. To remedy this, we introduce a new constant called p to depict the capacity of an object to reflect light.</p><p>Using this new constant, we can increase the realism of our lighting model. We know that the shinier objects have crisper reflections. To simulate this, we modify our original equation to</p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;I_s = cl \\cdot \\max(0, \\mathbf{e} \\cdot \\mathbf{r})^p\n&quot;,&quot;id&quot;:&quot;PTRNHWUMDE&quot;}" data-component-name="LatexBlockToDOM"></div><p>Since max (0, e.r) is between 0 and 1, increasing the value of p will make the specular highlight smaller and more concentrated, while a lower value of p will give the impression of a duller surface.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!TLGF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3e81452-da46-472c-bc71-4d246a9941dc_270x62.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!TLGF!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3e81452-da46-472c-bc71-4d246a9941dc_270x62.jpeg 424w, https://substackcdn.com/image/fetch/$s_!TLGF!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3e81452-da46-472c-bc71-4d246a9941dc_270x62.jpeg 848w, https://substackcdn.com/image/fetch/$s_!TLGF!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3e81452-da46-472c-bc71-4d246a9941dc_270x62.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!TLGF!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3e81452-da46-472c-bc71-4d246a9941dc_270x62.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!TLGF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3e81452-da46-472c-bc71-4d246a9941dc_270x62.jpeg" width="270" height="62" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b3e81452-da46-472c-bc71-4d246a9941dc_270x62.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:62,&quot;width&quot;:270,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:7112,&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;:&quot;https://thelearningcurvenjack.substack.com/i/170677726?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa70e7354-8e2c-4c88-a798-a7ee4a13032f_277x70.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!TLGF!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3e81452-da46-472c-bc71-4d246a9941dc_270x62.jpeg 424w, https://substackcdn.com/image/fetch/$s_!TLGF!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3e81452-da46-472c-bc71-4d246a9941dc_270x62.jpeg 848w, https://substackcdn.com/image/fetch/$s_!TLGF!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3e81452-da46-472c-bc71-4d246a9941dc_270x62.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!TLGF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3e81452-da46-472c-bc71-4d246a9941dc_270x62.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption"><strong>Effect of decreasing the value of p</strong></figcaption></figure></div><h2>Putting it all together</h2><p>After calculating the ambient, diffuse and specular components for a surface, all that remains is to add them up to get the final result</p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;I = I_{\\text{ambient}} + \\sum_{m \\in \\text{Lights}} \\left( I_{\\text{diff}} + I_{\\text{spec}} \\right)\n&quot;,&quot;id&quot;:&quot;RNAVUHFYUV&quot;}" data-component-name="LatexBlockToDOM"></div><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!WZk6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2538b297-43cb-408f-a99a-51bb75cf4727_222x204.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!WZk6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2538b297-43cb-408f-a99a-51bb75cf4727_222x204.png 424w, https://substackcdn.com/image/fetch/$s_!WZk6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2538b297-43cb-408f-a99a-51bb75cf4727_222x204.png 848w, https://substackcdn.com/image/fetch/$s_!WZk6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2538b297-43cb-408f-a99a-51bb75cf4727_222x204.png 1272w, https://substackcdn.com/image/fetch/$s_!WZk6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2538b297-43cb-408f-a99a-51bb75cf4727_222x204.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!WZk6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2538b297-43cb-408f-a99a-51bb75cf4727_222x204.png" width="222" height="204" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2538b297-43cb-408f-a99a-51bb75cf4727_222x204.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:204,&quot;width&quot;:222,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:64350,&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;:&quot;https://thelearningcurvenjack.substack.com/i/170677726?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2538b297-43cb-408f-a99a-51bb75cf4727_222x204.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!WZk6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2538b297-43cb-408f-a99a-51bb75cf4727_222x204.png 424w, https://substackcdn.com/image/fetch/$s_!WZk6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2538b297-43cb-408f-a99a-51bb75cf4727_222x204.png 848w, https://substackcdn.com/image/fetch/$s_!WZk6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2538b297-43cb-408f-a99a-51bb75cf4727_222x204.png 1272w, https://substackcdn.com/image/fetch/$s_!WZk6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2538b297-43cb-408f-a99a-51bb75cf4727_222x204.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption"><strong>The final image</strong></figcaption></figure></div><p>Pretty cool huh? Do note that while the ambient component is added just once, the diffuse and specular components need to be added for every light source in the environment.</p><h1>A bit about Shaders</h1><p>It is also important to discuss shaders, which are special programs executed by the GPU whenever we draw an object. There are 2 main types of shaders, vertex shaders and fragment shaders.</p><p>While a full tutorial on shader algorithms is beyond the scope of this article, keep in mind that vertex shaders are called once for each vertex, while fragment shaders are called for every pixel. Since we need to calculate lighting for each pixel, all the calculations discussed so far are usually programmed into the fragment shader.</p><h1>Further Reading</h1><p>If you are still curious about the fascinating world of computer graphics, do check out the following related topics: -</p><ul><li><p>Blinn Phong Reflection Model</p></li><li><p>Physics Based Rendering</p></li><li><p>Inverse Square Law in Lighting</p></li><li><p>GLSL (The OpenGL Shading Language)</p></li></ul><h1>Sources</h1><p><a href="https://arxiv.org/pdf/2404.14376v2">https://arxiv.org/pdf/2404.14376v2</a></p><p><a href="https://shuangz.com/courses/cs114/docs/proj1/">https://shuangz.com/courses/cs114/docs/proj1/</a></p><p><a href="https://ulink.utah.edu/s/1077/20/interior.aspx?sid=1077&amp;gid=1&amp;pgid=252&amp;cid=3074&amp;ecid=3074&amp;ciid=9191&amp;crid=0">https://ulink.utah.edu/s/1077/20/interior.aspx?sid=1077&amp;gid=1&amp;pgid=252&amp;cid=3074&amp;ecid=3074&amp;ciid=9191&amp;crid=0</a></p><p><a href="https://cs184.eecs.berkeley.edu/sp20/lecture/6-32/the-rasterization-pipeline">https://cs184.eecs.berkeley.edu/sp20/lecture/6-32/the-rasterization-pipeline</a></p><p><a href="https://www.tutorialspoint.com/computer_graphics/computer_graphics_diffuse_shading.htm">https://www.tutorialspoint.com/computer_graphics/computer_graphics_diffuse_shading.htm</a></p><p><a href="https://cs184.eecs.berkeley.edu/sp20/lecture/6-32/the-rasterization-pipeline">https://cs184.eecs.berkeley.edu/sp20/lecture/6-32/the-rasterization-pipeline</a></p><p><a href="https://www.nv5geospatialsoftware.com/docs/IntroShaders.html">https://www.nv5geospatialsoftware.com/docs/IntroShaders.html</a></p>]]></content:encoded></item><item><title><![CDATA[Conversations: Panav Arpit Raaj ]]></title><description><![CDATA[Lessons and insights after 4 years @ IITP]]></description><link>https://thelearningcurvenjack.substack.com/p/conversations-panav-arpit-raaj</link><guid isPermaLink="false">https://thelearningcurvenjack.substack.com/p/conversations-panav-arpit-raaj</guid><dc:creator><![CDATA[Sushant bharti]]></dc:creator><pubDate>Thu, 14 Aug 2025 08:37:27 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!_BPD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff492dd98-5c69-47d3-a78b-4b52ebca4b7c_896x896.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Panav Arpit Raaj has had quite the journey at IIT Patna. From reviving the robotics club as the captain, winning a Gold medal at the Inter IIT Tech Meet and serving the student body as the Undergraduate Representative for the year 2024-25, he has left his mark on the technical community. Recently, The Learning Curve caught up with him in order to learn more about his experience and vision for the college.</p><p></p><h3>Four years is quite a long time... How have you seen IIT Patna transform over the years?</h3><p><em>I joined IIT Patna in 2021, the medium of instruction was Online for 1.5 semesters, given this predicament a lot of us did not get the proper exposure that a fresher would get, let&#8217;s say actual knowledge building and networking within clubs and events started a year later for us, that&#8217;s one less year of exposure and learning which significantly impacted mine and the previous batch.<br><br>IIT Patna was doing great in the technical field, some stellar figures and headlines in research. Until late IIT Patna was consistently sending a good number of students to International Internships and exchange programs. In terms of campus it was pretty humble, 2 food outlets inside campus and 2 outside, not much. The growth in infrastructure in the past years has been remarkable, but <strong>we aspire for more</strong>, there is so much in terms of facilities we have now, Super Computer even an auditorium included, that we simply did not enjoy then.<br><br>As for students, I feel to a certain extent their morale has come down, you talk to someone pre-covid, the campus morale was pretty high, if there was a certain inconvenience people would show up and be vocal about their problems, everyone was active and optimistic, newer boundaries were being pushed. I feel post Covid that is not the case. </em></p><p></p><h3>You have served many roles in these 4 years, from robotics captain to UGR. Which one was your favourite and why?</h3><p><em>There are things we do out of want, and the rest we do out of need. I wanted to lead the Robotics program here, in fact when I came to IIT Patna there were barely 1-2 people who even had legit experience with hobby micro-controllers. But after covid, we had no experienced seniors left, I recall those nights in the lab where I would learn each and every component&#8217;s use, how it would have to be coded or engineered and show the rest of the team how we could do it. Every night 10 PM to 2 AM my batch-mates would find Panav in the lab, half the days even alone or just one friend to accompany.<br><br>Fun fact is, I never wanted to go for UGR, what I actually wanted to go for was Students&#8217; Technical Council, not as the General Secretary, but as a 4th year secretary instead. I wanted to contribute what I could to the tech culture actively, but as need dictated I reluctantly stood for UGR, while people saw remarkable change and reforms, I for the most part I did not enjoy it. The UGR in my term took up unnecessary responsibilities, I hope Yash (UGR 2025-2026) does not get to experience the amount of stress and pressure that I did.</em></p><p></p><h3>What interests you the most in technology and how have your interests evolved over the years at IIT Patna?</h3><p><em>What I work in is an intersection of Robotics and Software, currently I am a Robotics Software Engineer. Now whatever code I wrote, I didn&#8217;t like it Vanilla, I wanted it to be of use somewhere.</em></p><p><em>Some might be learning Dijkstra, Dynamic Window Algorithm, RAN-SAC, Graph Optimization on Google Colab or Leetcode, I get the thrill when I run it on a robot, the amount of understanding when that code interacts with the physical world is <strong>unparalleled</strong>, one parameter change could make the difference between a 500 kg bot navigating in peace or <strong>crushing my teammate&#8217;s foot, very cool</strong>!</em></p><p><em>Clubs at IIT Patna are underrated, they can take something that just means a hobby to you and make it a viable career option, events, guidance from seniors, competitions these will teach you more than your B. Tech curriculum.<br></em></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_BPD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff492dd98-5c69-47d3-a78b-4b52ebca4b7c_896x896.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_BPD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff492dd98-5c69-47d3-a78b-4b52ebca4b7c_896x896.jpeg 424w, https://substackcdn.com/image/fetch/$s_!_BPD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff492dd98-5c69-47d3-a78b-4b52ebca4b7c_896x896.jpeg 848w, https://substackcdn.com/image/fetch/$s_!_BPD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff492dd98-5c69-47d3-a78b-4b52ebca4b7c_896x896.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!_BPD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff492dd98-5c69-47d3-a78b-4b52ebca4b7c_896x896.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_BPD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff492dd98-5c69-47d3-a78b-4b52ebca4b7c_896x896.jpeg" width="896" height="896" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f492dd98-5c69-47d3-a78b-4b52ebca4b7c_896x896.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:896,&quot;width&quot;:896,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:149264,&quot;alt&quot;:&quot;&quot;,&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;:&quot;https://thelearningcurvenjack.substack.com/i/170950024?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff492dd98-5c69-47d3-a78b-4b52ebca4b7c_896x896.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!_BPD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff492dd98-5c69-47d3-a78b-4b52ebca4b7c_896x896.jpeg 424w, https://substackcdn.com/image/fetch/$s_!_BPD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff492dd98-5c69-47d3-a78b-4b52ebca4b7c_896x896.jpeg 848w, https://substackcdn.com/image/fetch/$s_!_BPD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff492dd98-5c69-47d3-a78b-4b52ebca4b7c_896x896.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!_BPD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff492dd98-5c69-47d3-a78b-4b52ebca4b7c_896x896.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"><strong>Winning Inter-IIT</strong></figcaption></figure></div><h3>IIT Patna will once again go for the Inter IITs this December. What do you think we should focus on in order to maximize our chances of winning?</h3><p><em>From what we saw last year, many problem statements which we were confident at ended with inconsistent outcomes, <strong>you really need to judge the judge</strong>, if it&#8217;s a scientist don&#8217;t propose something radical they cannot digest, if it&#8217;s a corporate employee jaw dropping numbers or radical approaches may go well, some judges to be honest haven&#8217;t explored the problem statement as much as the teams, they are often wooed by hollow pitches from some teams. There were a few fields not explored as well yet but the team constantly looked for help from professors, seniors, alumni, and eventually PS&#8217;s we were not very confident at gave us good outcomes.</em></p><p><em>The <strong>most apparent and fixable bottleneck was of compute</strong>, we have a super computer at IIT Patna now, through PIC Technical as a supervising professor we could and should be able to access those, furthermore Google Colab Credits and other cloud computing platforms can be used for intensive tasks.</em></p><p><em>Our teams put so much effort into showcasing detail, but they fall short in avoiding penalties that cost us 4 or more places each year, let&#8217;s say you show some material to the judge on your phone or make a late submission for the sake of adding a little more detail, that can cost you 75% or more points overall, will that little detail matter if missing in the report ? Probably not!<br><br>My point being if we&#8217;re putting X amount of effort into a problem statement, we can avoid losing it all by just putting 5% of our conscious effort into avoiding penalties, but these repeat every year.</em></p><p></p><h3>Many first and second year students are interested in knowing how to prepare and contribute to the inter IITs. What would your advice be to them?</h3><p><em>Team formation must <strong>strike a balance</strong> between fielding your best and experienced people along with a few who learn enough to carry the learnings for next year. As a sophomore even I was asked by many to join in a team but chose not to, I helped out in minor things wherever I could.</em></p><p><em>Now the good news for the freshers and sophomores here is, they get a better representation in teams than the older IITs, especially Mid-Prep onwards. Else they can contribute from the auxiliary team and gain all the project experience and credits they need.</em></p><p><em>Last year I saw a few motivated freshers pulling equal or more weight than their seniors in some cases. Reaching out to any faculty, facility inside or outside the institute for help. That's the kind of energy we need.</em></p><h3></h3><h3>What in your opinion is the most important skill which freshers should work on right after entering the institute?</h3><p><em>I would like them to understand what vertical and horizontal skill means. Coding as you know it is turning into a horizontal skill rather than a vertical skill, because it goes along with so many things. Simulations for material science, programming micro-controllers, running a simulation in MATLAB. What I'm trying to say is having some coding proficiency is becoming a need, but this alone won't get you in most places. You need a vertical domain/skill where you focus.</em></p><p><em>Learn time management and worth ethic, when you commit to something see it through, if they keep jumping ship whenever the going gets tough they'll end up average with a paperweight resume by final year, avoid that.</em></p><h3>Many people want to start learning technology in college, but are often confused and overwhelmed with all the different choices they have. What would your advice be to them?</h3><p><em>Good question, what would you pursue ? What club you join will dictate your career too. In this case I took up whatever club I found thrilling. When one does something out of sheer interest and to push the limits it doesn't feel like a chore or work. Naturally you will be focused and enjoy working to an extent you will master the field. With enough proficiency you'll find a place to apply your skills however big or small the demand will be. And this is the career I would ask you to pursue. Imagine working the next 40 years on something that doesn't excite you, must be miserable right ?</em></p><p><em>Future scope and novelty should have some weightage but your interest must lie first.</em></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!E2-z!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1265098c-ceb6-4567-960d-bcfdfa9dd9ce_1280x1280.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!E2-z!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1265098c-ceb6-4567-960d-bcfdfa9dd9ce_1280x1280.jpeg 424w, https://substackcdn.com/image/fetch/$s_!E2-z!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1265098c-ceb6-4567-960d-bcfdfa9dd9ce_1280x1280.jpeg 848w, https://substackcdn.com/image/fetch/$s_!E2-z!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1265098c-ceb6-4567-960d-bcfdfa9dd9ce_1280x1280.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!E2-z!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1265098c-ceb6-4567-960d-bcfdfa9dd9ce_1280x1280.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!E2-z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1265098c-ceb6-4567-960d-bcfdfa9dd9ce_1280x1280.jpeg" width="1280" height="1280" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1265098c-ceb6-4567-960d-bcfdfa9dd9ce_1280x1280.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1280,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:170532,&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;:&quot;https://thelearningcurvenjack.substack.com/i/170950024?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1265098c-ceb6-4567-960d-bcfdfa9dd9ce_1280x1280.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!E2-z!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1265098c-ceb6-4567-960d-bcfdfa9dd9ce_1280x1280.jpeg 424w, https://substackcdn.com/image/fetch/$s_!E2-z!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1265098c-ceb6-4567-960d-bcfdfa9dd9ce_1280x1280.jpeg 848w, https://substackcdn.com/image/fetch/$s_!E2-z!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1265098c-ceb6-4567-960d-bcfdfa9dd9ce_1280x1280.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!E2-z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1265098c-ceb6-4567-960d-bcfdfa9dd9ce_1280x1280.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></p><p></p><h3>Many people ignore technical clubs in college because they are unable to fit it in their schedules. How did you manage time across club activities, academics and internships?</h3><p><em>Okay, that&#8217;s pretty important. Now you need to participate and sports and cultural activities to maintain fitness and sanity, but <strong>what made going for a tech club so glamorous ?</strong> You get PoR&#8217;s, Projects and technical expertise all in one package. For those who ignore tech clubs in the first two years are going to have a vanilla resume which they will struggle to fill with redundant projects such as To-Do apps or calculators on python, <strong>You&#8217;re from an IIT do better!</strong></em></p><p><em>Every batch has a few students who participate in many clubs, put time into physical activities, still pull off top tier grades and even branch changes. It is going to be inconvenient, now you need to do well in &#8220;academics&#8221; but for the most part what you'll learn through clubs will be far more relevant. You need to master time management, get out of that comfort zone.</em></p><p></p><h3>Currently many students in their 3rd year are looking for good internships. However non-IT roles don't often come to campus. Could you share your journey in order to help students find opportunities they would be interested in.</h3><p><em>I often tell people to land jobs with ease today you either need to be 95 percentile in some skill else you can make do with 80 percentile in proficiency if you are good at networking.</em></p><p><em>Go for competitions and hackathons, you will build valuable contacts, host events on campus, call up entrepreneurs and alumni working in that field.</em></p><p><em>I agree most opportunities lie off campus, you need to look out for them, hunting for the right emails is quite valuable. I don't remember getting many responses from LinkedIn, alternate job portals help, and the best however are posts on Linkedin. I've seen these recruiters they are facing a genuine shortage of talent, however the resume needs to be up to the mark the expectation from an IITians resume and questioning is much higher. <strong>The problem with most IITians I see is they dabble with all fields nervously and end up mastering none, by the time they apply for a job, they&#8217;re not at par with expectations.</strong></em></p><p></p><h3>Is there anything which you feel that STC could improve on this year in order to enhance the tech culture at IITP?</h3><p><em>Well, STC has taken up a lot of initiatives, one cannot say they haven&#8217;t done enough. The OneIITP app, I recently came across the recently updated Cabshare app, They also assisted with team formation of some of the best people who made the institute site prototype. The hostel allocation, and so many digital platforms that the institute relies on.<br><br>Other than HelloWorld and ICTC which are just very intense, a lot of work goes into that from STC and the Clubs, <strong>I&#8217;d say they are trying pretty hard and the students need to show up for themselves.<br></strong><br>One thing I would like STC to do is to try and <strong>procure GPU Servers</strong>, preferably Physical systems for the long run, because the students will need computers for ever-increasing computing demands for quality work. This could be training models, running local LLM&#8217;s, Simulating Robots in Nvidia&#8217;s cutting edge simulators, 3d modelling or even aerodynamic/material simulations.<br><br>I recall how I was a part of the ISRO team and we had about 10 or more people run small batches of training, fitting data on individual laptops, combine them to get a result and something goes wrong all over again. Computing was a huge bottleneck, what would take 3-4 hours, would take us 1-2 days of gruelling teamwork.</em></p><p></p><h3>Do you have any final words of advice for the tech community here at IIT Patna?</h3><p><em><strong>The people who get farthest are the ones who do it out of passion</strong>, don&#8217;t just try to master algorithms for Online Assessments or Interviews!! Go after Olympiads, Go after ICTC, try to see if you can make something novel of your own. If learning just enough to get a job is your goal, this can be done without an IIT. You&#8217;re here for more!<br></em></p>]]></content:encoded></item></channel></rss>