<?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 Palindrome]]></title><description><![CDATA[mathematics ∪ machine learning]]></description><link>https://thepalindrome.org</link><image><url>https://substackcdn.com/image/fetch/$s_!5Jm3!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8b68cf8-d3f4-42f6-b8dd-cccde036005f_720x720.png</url><title>The Palindrome</title><link>https://thepalindrome.org</link></image><generator>Substack</generator><lastBuildDate>Sun, 21 Jun 2026 22:51:15 GMT</lastBuildDate><atom:link href="https://thepalindrome.org/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Tivadar Danka]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[thepalindrome@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[thepalindrome@substack.com]]></itunes:email><itunes:name><![CDATA[Tivadar Danka]]></itunes:name></itunes:owner><itunes:author><![CDATA[Tivadar Danka]]></itunes:author><googleplay:owner><![CDATA[thepalindrome@substack.com]]></googleplay:owner><googleplay:email><![CDATA[thepalindrome@substack.com]]></googleplay:email><googleplay:author><![CDATA[Tivadar Danka]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[The Math You Missed Behind Gradient Descent]]></title><description><![CDATA[Why gradient descent works]]></description><link>https://thepalindrome.org/p/the-math-you-missed-behind-gradient</link><guid isPermaLink="false">https://thepalindrome.org/p/the-math-you-missed-behind-gradient</guid><dc:creator><![CDATA[Tivadar Danka]]></dc:creator><pubDate>Wed, 17 Jun 2026 09:17:28 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/LsN5Ki9ZI9E" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>The single most important optimization algorithm in AI: gradient descent.</p><p>Even your state-of-the-art LLMs are trained with a beefed-up version of this ancient algorithm, generally described through a mountain-climbing analogy. Look around your current position in the loss landscape, find the direction of the steepest descent, then take a step toward it. Yet no one ever tells you what&#8217;s really happening behind the scenes.</p><p>Here&#8217;s the secret math behind gradient descent:</p><div id="youtube2-LsN5Ki9ZI9E" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;LsN5Ki9ZI9E&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/LsN5Ki9ZI9E?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><p>If you are still here, I have a small favor to ask of you. My YouTube channel is still small, and if you enjoy my content, you can support me by</p><ol><li><p>watching the video,</p></li><li><p>subscribing to my channel,</p></li><li><p>and leaving a comment on YouTube with your questions and thoughts.</p></li></ol><p>Over the last few months, I&#8217;ve been focused on making my deep dives into the mathematics of machine learning better and clearer. You already love my drawings, and moving from still images to animated visualizations is a light-year leap in quality. This is the future of The Palindrome.</p><p>It only takes a couple of clicks from you, but it means the world to me. With your support, I can continue being a full-time content creator, delivering bangers like the video above for you.</p><p>In any case, thanks for being here!</p><p>Cheers,<br>Tivadar</p>]]></content:encoded></item><item><title><![CDATA[Quick reader survey — 2 minutes]]></title><description><![CDATA[Help me send you better math/ML content]]></description><link>https://thepalindrome.org/p/quick-reader-survey-2-minutes</link><guid isPermaLink="false">https://thepalindrome.org/p/quick-reader-survey-2-minutes</guid><dc:creator><![CDATA[Tivadar Danka]]></dc:creator><pubDate>Thu, 11 Jun 2026 13:22:08 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/f4c756a4-fec7-4ebd-825f-e3cc70748f02_3840x2160.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hey!</p><p>It&#8217;s Tivadar from The Palindrome. The next post is already in the final stages (it&#8217;s going to be one of my best ones), but before that, I&#8217;d love to ask you a quick favor.</p><p>I&#8217;m running a short reader survey to better understand who&#8217;s reading, what you&#8217;re working on, and what you&#8217;d like to see more of.</p><p>I&#8217;ll use the results to improve the newsletter and make sure any future sponsors are actually relevant to you, and future issues will stay relevant to you. Individual responses won&#8217;t be shared, and your contact information will only be used if you explicitly opt in.</p><p>It only takes a few minutes:</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://thepalindrome.org/survey/7502275&quot;,&quot;text&quot;:&quot;Let's see the survey!&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://thepalindrome.org/survey/7502275"><span>Let's see the survey!</span></a></p><p>Thanks!</p><p>Cheers,<br>Tivadar</p><div><hr></div><p>P.S. Here&#8217;s a quick preview from my next video. Can you guess what I&#8217;m working on?</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;7471d3dc-7a51-4c1b-a3ad-679bfb48e5e3&quot;,&quot;duration&quot;:null}"></div><p></p>]]></content:encoded></item><item><title><![CDATA[I Hated Coding on Paper. It Made Me Smarter.]]></title><description><![CDATA[Coding as a process, not a product]]></description><link>https://thepalindrome.org/p/coding-on-paper-a62</link><guid isPermaLink="false">https://thepalindrome.org/p/coding-on-paper-a62</guid><dc:creator><![CDATA[Tivadar Danka]]></dc:creator><pubDate>Thu, 04 Jun 2026 08:19:44 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/Ru1t1BhZHag" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>If you liked this post, you should support me with a paid subscription. It&#8217;s $100 a year, or $10 a month, and in return you get well-researched machine learning/mathematics deep dives such as <a href="https://thepalindrome.org/p/machine-learning-is-not-just-statistics-4d9">Machine Learning is Not Just Statistics</a>, <a href="https://thepalindrome.org/p/matrices-and-graphs">Matrices and Graphs</a>, or <a href="https://thepalindrome.org/p/an-introduction-to-vectorization">Vectorization in Theory</a> + <a href="https://thepalindrome.org/p/vectorization-in-practice">Vectorization in Practice.</a></em></p><p><em>Your support makes it possible for me to write these high value, high signal posts every week.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://thepalindrome.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://thepalindrome.org/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><p>Hey!</p><p>It&#8217;s Tivadar from The Palindrome. Before we dive into today&#8217;s post, I&#8217;d like to ask you a favor.</p><p>I&#8217;m running a short reader survey to better understand who you are, what you&#8217;re working on, and what you&#8217;d like to see more of.</p><p>I&#8217;ll use the results to improve the newsletter and help match it with better sponsors. Individual responses won&#8217;t be shared, and your contact information will only be used if you explicitly opt in.</p><p>If you complete the survey, you&#8217;re an absolute legend. More importantly, you&#8217;ll be helping me make The Palindrome even better.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://thepalindrome.org/survey/7502275&quot;,&quot;text&quot;:&quot;Let's see the survey!&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://thepalindrome.org/survey/7502275"><span>Let's see the survey!</span></a></p><p>Thanks!</p><p>Let&#8217;s get back on track. Today&#8217;s post is a video-essay version of one of my earlier posts. This is a new format I&#8217;m experimenting with, turning my non-technical writing into podcast-like experiences that you can listen to while driving or perhaps washing the dishes.</p><p>I&#8217;ve been focusing on videos lately because I find the medium better suited to my technical content. If you enjoy my posts, don&#8217;t forget to subscribe to my YouTube channel!</p><p>Cheers,<br>Tivadar</p><h2>Video version</h2><div id="youtube2-Ru1t1BhZHag" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;Ru1t1BhZHag&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/Ru1t1BhZHag?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><h2><strong>Written version</strong></h2><p>The single most useful programming exercise I ever did was also the one I hated most: writing C code with a pen, on paper.</p><p>When I was a young mathematics student, one of my first university courses was called &#8220;Introduction to Programming,&#8221; where the computer scientists in our faculty threw us, innocent and naive mathematicians, straight into the deep end.</p><p>In the Eastern school system, we believe in immediately applying pressure so intense that it weeds out the unworthy faster than they can chug their welcome drinks at the regular semester launch parties. So, fifteen minutes into the first lecture, we were already dereferencing pointers left and right, because everything else was trivial. At least, according to our professor.</p><p>And by the way, this was the same in our math courses. The first sentence of our linear algebra class was &#8220;let <em>F</em> be a field, then <em>V</em> is a vector space over <em>F</em> if...&#8221;. And just like that, our heads went spinning.</p><p>I remember having classmates so technologically inept that they could hardly manage to navigate in Windows XP (the most popular OS at the time), let alone compile C code. So, the &#8220;Introduction&#8221; to Programming class felt like a punishment for most of us.</p><p>And the rock bottom of our whole miserable experience were the coding-on-paper exercises, where we had to write functioning C programs with a pen, on paper.</p><p>Coding on paper is antithetical to how we code in practice. Whenever I&#8217;m working on a project, I never move in a straight line. I refactor. I bugfix. I go back and forth.</p><p>These days, large language models write most of the code I ship. (Even the animation you are watching right now was written by Codex, my coding agent of choice.) But when I actually write the code myself, I use Jupyter Notebooks, where I take a shot at implementing the function, test it on a couple of examples, and fix all the dumb mistakes I&#8217;ve made, perhaps even prompting an LLM or two meanwhile. (Or Googling when I feel old school.)</p><p>None of that is available on paper. No autocomplete, no syntax checks, no code formatter.</p><p>With pen and paper, you can&#8217;t run the script, you don&#8217;t have autocomplete, and once you&#8217;ve written the &#8220;code,&#8221; you can&#8217;t really change it.</p><p>It&#8217;s linear, uninteractive, and tedious. Coding on paper felt like a punishment.</p><p>Is there a point?</p><p>I used to believe there wasn&#8217;t; now I know there is.</p><p>The revelation finally came by drawing analogies, my Number One Tool for noticing patterns. Sometimes, patterns are hard to see in the thing we&#8217;re looking at directly. But when we look at something similar, suddenly patterns become obvious.</p><p>(Sometimes, we are emotionally charged, like I am about coding on paper, which I used to hate. However, taking another perspective helped me see clearly.)</p><p>So, let&#8217;s talk about a different problem. What do you think about having an LLM write your essay for you?</p><p>Even when generative AI is allowed, you cheat yourself by outsourcing your cognition to a language model. The purpose of writing lies not only in the final outcome, ready to transfer your thoughts to other minds, but in forming those thoughts as well!</p><p>What is writing? As said by Donald M. Murray in his famous essay &#8220;Teach Writing as a Process Not Product&#8221;, writing is</p><blockquote><p>&#8220;<em>...the process of discovery through language. It is the process of exploration of what we know and what we feel about what we know through language. It is the process of using language to learn about our world, to evaluate what we learn about our world, to communicate what we learn about our world.&#8221;</em> - Donald M. Murray</p></blockquote><p>Coding - that is, engineering and building systems - is also a process, not just a product.</p><p>Here&#8217;s the catch: you can only get better at delivering products if you master the process. There are no shortcuts.</p><p><em>&#8220;But Tivadar, how to master the process?&#8221;</em>, you might ask.</p><p>By practice. Lots of practice. And by far the best way to practice is to restrict your tools. To make it as hard as possible.</p><p>Have you ever seen an athlete exercise with a mask that limits airflow? That&#8217;s just to make things hard, to help them perform even better when the restriction is lifted.</p><p>When I was practicing Kung Fu, our trainer instructed us to practice complex moves with our non-dominant hands. This technique is magic: after stumbling around with a wooden stick in my left hand for a couple of minutes, I could effortlessly perform the flashy movements with my right hand, which is my dominant one.</p><p>Another example: I love playing video games; a significant portion of my life skills are from some game, one way or another. My favorite one by far is Elden Ring, which is notoriously hard. Even the most basic enemies can easily whoop you if you are not on guard.</p><p>By purposefully denying yourself of the countless tools available in the game, say, you refuse to level up, you are forced to get good at reading attack patterns and dodging at the perfect moments. When any boss can one-shot you, there&#8217;s no room for error.</p><p>Thinking about all of these life lessons I learned, I suddenly realized that coding on paper fits the above. It took me a decade and a half, but I&#8217;m finally there.</p><p>Coding on paper forces you to pay attention to details (instead of letting autocomplete do it for you), to be deliberate (instead of brute forcing your way to a solution through trial and error), and to figure things out on your own (instead of outsourcing your cognitive abilities to an LLM).</p><p>Whenever you are alone with a pen and a piece of paper, there&#8217;s room for your thoughts.</p><p>Now, I know that by restricting our tools, we can build the muscles whose work we offload to tools.</p><p>Muscles that will carry all the cognitive load for you later.</p><div><hr></div><p><em>Thanks for reading!</em></p><p><em>If you liked this post, you should support me with a paid subscription. It&#8217;s $100 a year, or $10 a month, and in return you get well-researched machine learning/mathematics deep dives such as <a href="https://thepalindrome.org/p/machine-learning-is-not-just-statistics-4d9">Machine Learning is Not Just Statistics</a>, <a href="https://thepalindrome.org/p/matrices-and-graphs">Matrices and Graphs</a>, or <a href="https://thepalindrome.org/p/an-introduction-to-vectorization">Vectorization in Theory</a> + <a href="https://thepalindrome.org/p/vectorization-in-practice">Vectorization in Practice.</a></em></p><p><em>Your support makes it possible for me to write these high value, high signal posts every week.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://thepalindrome.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://thepalindrome.org/subscribe?"><span>Subscribe now</span></a></p>]]></content:encoded></item><item><title><![CDATA[How to OOP in Python Like a Pro]]></title><description><![CDATA[Inheritance and composition]]></description><link>https://thepalindrome.org/p/how-to-oop-in-python-like-a-pro</link><guid isPermaLink="false">https://thepalindrome.org/p/how-to-oop-in-python-like-a-pro</guid><dc:creator><![CDATA[Stephen Gruppetta]]></dc:creator><pubDate>Sat, 30 May 2026 06:49:08 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/f2c5ca9e-989d-47d2-8cce-001481f77916_1635x962.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>If you liked this post, you should support me with a paid subscription. It&#8217;s $100 a year, or $10 a month, and in return you get well-researched machine learning/mathematics deep dives such as <a href="https://thepalindrome.org/p/machine-learning-is-not-just-statistics-4d9">Machine Learning is Not Just Statistics</a>, <a href="https://thepalindrome.org/p/matrices-and-graphs">Matrices and Graphs</a>, or <a href="https://thepalindrome.org/p/an-introduction-to-vectorization">Vectorization in Theory</a> + <a href="https://thepalindrome.org/p/vectorization-in-practice">Vectorization in Practice.</a></em></p><p><em>Your support makes it possible for me to write these high value, high signal posts every week.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://thepalindrome.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://thepalindrome.org/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><p>Hey!</p><p>It&#8217;s Tivadar from The Palindrome. Back when I wrote the <em>Mathematics of Machine Learning</em> book, I realized</p><ol><li><p>what a great language Python is,</p></li><li><p>and that object-oriented Python should be the first thing taught to every machine learning engineer.</p></li></ol><p>So, I&#8217;ve been thinking about publishing a series, but my Python skills are not exactly top-of-the-line; I just hack and slash until things work. Fortunately, I found the best person who could do that!</p><p>It&#8217;s my pleasure to introduce <a href="https://open.substack.com/users/120170782-stephen-gruppetta?utm_source=mentions">Stephen Gruppetta</a>, author of <a href="https://open.substack.com/pub/thepythoncodingstack">The Python Coding Stack</a>, and my longtime online friend from back when X was called Twitter.</p><p>If you ever wanted to become a power user of Python and take advantage of all the heavy machinery provided by classes, operator overloading, inheritance, composition, etc., this is the article for you. </p><p>(It&#8217;s the second post in the object-oriented Python miniseries. <a href="https://thepalindrome.org/p/introduction-to-object-oriented-programming">Check the first one here for the foundations of OOP!</a>)</p><p>Dig in!</p><p>Cheers,<br>Tivadar</p><div><hr></div><p>A class is a template you can use to create several objects that share the same characteristics. All the objects created from a class will have the same structure and can perform the same actions.</p><p>However, sometimes you need to create objects that don&#8217;t have the same attributes but that are still similar to each other. You may need objects that share some characteristics but are sufficiently different from each other, so you can&#8217;t create them using the same class.</p><p>You want to avoid writing a brand new class from scratch. Instead, you&#8217;d like to reuse some of the code from the original class.</p><p>There are several options for handling overlap between classes. Inheritance is a common tool to link classes. However, inheritance is not always the right solution. Composition is an alternative technique to use a class as part of another class. In this article, you&#8217;ll learn about inheritance and composition. You&#8217;ll learn how to use each technique, and just as importantly, when to use them.</p><h1>The Velocity Class</h1><p>You learned about classes in <a href="https://thepalindrome.org/p/introduction-to-object-oriented-programming">the first article in this series</a>. You wrote <a href="https://thepalindrome.org/i/194861422/special-methods-how-python-works">a Vector class</a> that you can use to create vector instances.</p><p>You&#8217;ll make some changes to this class as you progress through this article. However, you&#8217;ll primarily work on a new class: the <code>Velocity</code> class.</p><p>You&#8217;ll consider two different routes to create the <code>Velocity</code> class. <a href="https://en.wikipedia.org/wiki/Velocity">Velocity</a> is a vector: it has a magnitude and a direction. Therefore, you can start from the <code>Vector</code> class you defined in the first article and use it as a starting point to build the <code>Velocity</code> class. This is the inheritance route.</p><p>However, you can also create a class that has a <code>Vector</code> instance as one of its attributes. You&#8217;ll also explore this composition route in this article.</p>
      <p>
          <a href="https://thepalindrome.org/p/how-to-oop-in-python-like-a-pro">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Explore LLM word representations using similarity analysis (part 2)]]></title><description><![CDATA[Investigate semantic information inside the attention matrices of GPT-2]]></description><link>https://thepalindrome.org/p/explore-llm-word-representations-c57</link><guid isPermaLink="false">https://thepalindrome.org/p/explore-llm-word-representations-c57</guid><dc:creator><![CDATA[Mike X Cohen, PhD]]></dc:creator><pubDate>Wed, 20 May 2026 11:06:26 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/49c6e1a4-b00f-4a2e-b2d0-87083aa4aecb_1200x630.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2>What you will learn in this 2-part post series</h2><p>The primary goal of this post series is to teach you the Representational Similarity Analysis (RSA), which is a machine-learning analysis that is used to compare distributed representations in different systems.</p><p>If you haven&#8217;t already read <a href="https://thepalindrome.org/p/explore-llm-word-representations">Part 1 in this series</a>, please do so! It provides necessary background about how the RSA score is calculated and interpreted.</p><p>As a brief reminder, an RSA (representational similarity analysis) works by comparing cosine similarity matrices across different embeddings spaces (layers, blocks, models, etc.). The idea is that different embeddings spaces may have distinct coordinate systems and even different dimensionalities, but if their internal representational structures are similar, the relative similarities should be strongly correlated even if the vectors are distinct.</p><p>The additional goals of this second post are (1) to learn more about RSA and category specificity, and (2) to learn how to dissect the &#8220;hid&#8230;</p>
      <p>
          <a href="https://thepalindrome.org/p/explore-llm-word-representations-c57">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[The 10 Most Important Lessons 20 Years of Mathematics Taught Me]]></title><description><![CDATA[#5. There are no shortcuts to mastery.]]></description><link>https://thepalindrome.org/p/the-10-most-important-lessons-20-abe</link><guid isPermaLink="false">https://thepalindrome.org/p/the-10-most-important-lessons-20-abe</guid><dc:creator><![CDATA[Tivadar Danka]]></dc:creator><pubDate>Sun, 17 May 2026 13:57:54 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/60c07f96-d990-473a-89e2-b64116427fb1_3840x2160.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[
      <p>
          <a href="https://thepalindrome.org/p/the-10-most-important-lessons-20-abe">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Introduction to Object-Oriented Programming in Python]]></title><description><![CDATA[The true way of doing stuff with data]]></description><link>https://thepalindrome.org/p/introduction-to-object-oriented-programming</link><guid isPermaLink="false">https://thepalindrome.org/p/introduction-to-object-oriented-programming</guid><dc:creator><![CDATA[Stephen Gruppetta]]></dc:creator><pubDate>Fri, 08 May 2026 12:29:01 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/4dfc98cb-b18b-4311-b358-ed04e8491619_1672x941.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hey!</p><p>It&#8217;s Tivadar from The Palindrome. Back when I wrote the <em>Mathematics of Machine Learning</em> book, I realized</p><ol><li><p>what a great language Python is,</p></li><li><p>and that object-oriented Python should be the first thing taught to every machine learning engineer.</p></li></ol><p>So, I&#8217;ve been thinking about publishing a series, but my Python skills are not exactly top-of-the-line; I just hack and slash until things work. Fortunately, I found the best person who could do that, and even better, he agreed to write a special article for you!</p><p>It&#8217;s my pleasure to introduce <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Stephen Gruppetta&quot;,&quot;id&quot;:120170782,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ca736a83-f5a1-4563-ac6c-c09a9e6fa351_800x800.png&quot;,&quot;uuid&quot;:&quot;4a700fa6-f573-43a7-bb02-df1279787ada&quot;}" data-component-name="MentionToDOM"></span>, author of <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;The Python Coding Stack&quot;,&quot;id&quot;:1563052,&quot;type&quot;:&quot;pub&quot;,&quot;url&quot;:&quot;https://open.substack.com/pub/thepythoncodingstack&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ab4a59e8-e362-456b-8427-934e87c31a0d_600x600.png&quot;,&quot;uuid&quot;:&quot;26bcf8de-47da-4533-a58b-b49266ccd00c&quot;}" data-component-name="MentionToDOM"></span>, and my longtime online friend from back when X was called Twitter.</p><p>If you ever wanted to become a power user of Python and take advantage of all the heavy machinery provided by classes, operator overloading, inheritance, composition, etc., this is the article for you.</p><p>Dig in!</p><p>Cheers,<br>Tivadar</p><div><hr></div><p><em>&#8220;A computer program stores data and does stuff with the data.&#8221;</em></p><p>This is not the most technical definition of a computer program you&#8217;ll see. But it&#8217;s a valid one. When you learn to code, you learn about data structures to store different types of data. And you also learn about tools needed to manipulate and transform the data. You often define functions containing code to &#8220;do stuff&#8221; with the data.</p><p>Your code will contain data structures and functions, and you pass those data structures to the functions when needed.</p><p>Object-oriented programming (OOP) brings these two aspects together into a single unit. This unit is the object, which contains the data and the tools needed to manipulate the data. This may not sound like much, but it enables you to think about the problem you&#8217;re trying to solve differently. You can visualize your problem in a way closer to how humans see the world.</p><p>Let&#8217;s look at some examples, starting with a concrete one. Consider a country. There&#8217;s plenty of data relevant to a country: its name, population size, geographical area, capital city, and more. All countries have these attributes. Therefore, you can create a template that includes these attributes that you can use each time you want to represent a different country. Countries also include people, so these can be included in the data for each country, too.</p><p>But countries also perform actions. They issue passports, they collect taxes, they create laws, and so on. OOP urges you to think of a single unit to represent a country, which includes all the data and tools needed for the country to perform the actions required. You&#8217;d create a class called Country&#8211;this is the template you need to create lots of countries. The class doesn&#8217;t represent a specific country but the idea of a country. Once you define the class, you can create as many instances of the class as you need. Each instance represents a specific country.</p><h2>Classes and Instances &#8226; The Vector Class</h2><p>But let&#8217;s work on a different example in this article. Let&#8217;s consider a vector. One way to view vectors is as entities with both magnitude and direction. In three-dimensional (3D) Euclidean geometry, a vector is represented by three numbers.</p><p>Let&#8217;s put on our OOP hat. We need a unit in our program to represent a vector. It needs to represent its data and its functionality. Let&#8217;s start by creating a class called Vector:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!u3p3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91aa0151-710d-4297-8136-508e350e1718_2120x428.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!u3p3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91aa0151-710d-4297-8136-508e350e1718_2120x428.png 424w, https://substackcdn.com/image/fetch/$s_!u3p3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91aa0151-710d-4297-8136-508e350e1718_2120x428.png 848w, https://substackcdn.com/image/fetch/$s_!u3p3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91aa0151-710d-4297-8136-508e350e1718_2120x428.png 1272w, https://substackcdn.com/image/fetch/$s_!u3p3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91aa0151-710d-4297-8136-508e350e1718_2120x428.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!u3p3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91aa0151-710d-4297-8136-508e350e1718_2120x428.png" width="1456" height="294" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/91aa0151-710d-4297-8136-508e350e1718_2120x428.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:294,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;code&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="code" title="code" srcset="https://substackcdn.com/image/fetch/$s_!u3p3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91aa0151-710d-4297-8136-508e350e1718_2120x428.png 424w, https://substackcdn.com/image/fetch/$s_!u3p3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91aa0151-710d-4297-8136-508e350e1718_2120x428.png 848w, https://substackcdn.com/image/fetch/$s_!u3p3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91aa0151-710d-4297-8136-508e350e1718_2120x428.png 1272w, https://substackcdn.com/image/fetch/$s_!u3p3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91aa0151-710d-4297-8136-508e350e1718_2120x428.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Admittedly, this class doesn&#8217;t do much for now. The ellipsis (...) is just a placeholder that&#8217;s valid Python syntax. You&#8217;ll add more to this class soon. In the previous section, I mentioned that a class is a template for creating many objects modelled from the same blueprint. Let&#8217;s create a few instances of this class:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!V99G!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71034348-fb22-4f22-a654-2652fab011c1_2120x611.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!V99G!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71034348-fb22-4f22-a654-2652fab011c1_2120x611.png 424w, https://substackcdn.com/image/fetch/$s_!V99G!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71034348-fb22-4f22-a654-2652fab011c1_2120x611.png 848w, https://substackcdn.com/image/fetch/$s_!V99G!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71034348-fb22-4f22-a654-2652fab011c1_2120x611.png 1272w, https://substackcdn.com/image/fetch/$s_!V99G!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71034348-fb22-4f22-a654-2652fab011c1_2120x611.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!V99G!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71034348-fb22-4f22-a654-2652fab011c1_2120x611.png" width="1456" height="420" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/71034348-fb22-4f22-a654-2652fab011c1_2120x611.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:420,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;code&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="code" title="code" srcset="https://substackcdn.com/image/fetch/$s_!V99G!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71034348-fb22-4f22-a654-2652fab011c1_2120x611.png 424w, https://substackcdn.com/image/fetch/$s_!V99G!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71034348-fb22-4f22-a654-2652fab011c1_2120x611.png 848w, https://substackcdn.com/image/fetch/$s_!V99G!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71034348-fb22-4f22-a654-2652fab011c1_2120x611.png 1272w, https://substackcdn.com/image/fetch/$s_!V99G!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71034348-fb22-4f22-a654-2652fab011c1_2120x611.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>There&#8217;s only one Vector class. But now you have two instances of this class. You create an instance of the class when you add parentheses after the class name. The objects referenced by v1 and v2 are separate objects that occupy different areas of your computer&#8217;s memory. You can confirm that they&#8217;re different objects by showing their identity using Python&#8217;s <code>id()</code> function. The two instances of the Vector class have different identities:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!2JPb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8126d64e-c245-4d07-8973-70caa9365ed6_2120x768.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2JPb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8126d64e-c245-4d07-8973-70caa9365ed6_2120x768.png 424w, https://substackcdn.com/image/fetch/$s_!2JPb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8126d64e-c245-4d07-8973-70caa9365ed6_2120x768.png 848w, https://substackcdn.com/image/fetch/$s_!2JPb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8126d64e-c245-4d07-8973-70caa9365ed6_2120x768.png 1272w, https://substackcdn.com/image/fetch/$s_!2JPb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8126d64e-c245-4d07-8973-70caa9365ed6_2120x768.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2JPb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8126d64e-c245-4d07-8973-70caa9365ed6_2120x768.png" width="1456" height="527" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8126d64e-c245-4d07-8973-70caa9365ed6_2120x768.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:527,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;code&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="code" title="code" srcset="https://substackcdn.com/image/fetch/$s_!2JPb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8126d64e-c245-4d07-8973-70caa9365ed6_2120x768.png 424w, https://substackcdn.com/image/fetch/$s_!2JPb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8126d64e-c245-4d07-8973-70caa9365ed6_2120x768.png 848w, https://substackcdn.com/image/fetch/$s_!2JPb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8126d64e-c245-4d07-8973-70caa9365ed6_2120x768.png 1272w, https://substackcdn.com/image/fetch/$s_!2JPb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8126d64e-c245-4d07-8973-70caa9365ed6_2120x768.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>You&#8217;ll get different values from the ones shown here when you run this code on your computer. But what matters is that the two numbers you get are different from each other. You can also confirm that <code>v1</code> and <code>v2</code> represent different objects by using <code>v1</code> is <code>v2</code>, which returns <code>False</code>.</p><p>Note that the terms object and instance are both commonly used to refer to the unit created by a class. They refer to the same thing.</p><p>However, these are &#8220;blank&#8221; objects. They don&#8217;t have anything beyond the bare minimum a Python object needs. Let&#8217;s add some data.</p>
      <p>
          <a href="https://thepalindrome.org/p/introduction-to-object-oriented-programming">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Explore LLM word representations using similarity analysis (part 1)]]></title><description><![CDATA[A hands-on introduction to representational similarity analysis (RSA) with GPT-2 and BERT embeddings]]></description><link>https://thepalindrome.org/p/explore-llm-word-representations</link><guid isPermaLink="false">https://thepalindrome.org/p/explore-llm-word-representations</guid><dc:creator><![CDATA[Mike X Cohen, PhD]]></dc:creator><pubDate>Wed, 22 Apr 2026 12:43:43 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/c50dc465-a555-4819-b83e-d9d4f29dba7c_1200x630.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Hey! It&#8217;s Tivadar.</em></p><p><em><span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Mike X Cohen, PhD&quot;,&quot;id&quot;:382604135,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3c804d93-69c2-49a9-a797-2216b4bae5ba_1000x1000.jpeg&quot;,&quot;uuid&quot;:&quot;b23ff038-6b40-48bb-ab4c-b4d5522ff932&quot;}" data-component-name="MentionToDOM"></span> returns to The Palindrome! You know I&#8217;m a big fan of his work, and if you are into machine learning, you should be too. His posts always strike the perfect balance between educational, practical, and entertaining.</em></p><p><em>He recently published the book <a href="https://github.com/mikexcohen/ML4LLM_book">50 ML Projects to Understand LLMs</a>, and his upcoming two-part series on exploring word representations is taken directly from the book. If you want to understand how Large Language Models work under the hood, don&#8217;t miss the post below.</em></p><p><em>Enjoy!</em></p><p><em>Cheers,<br>Tivadar</em></p>
      <p>
          <a href="https://thepalindrome.org/p/explore-llm-word-representations">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[I Built the Knowledge Graph of Machine Learning]]></title><description><![CDATA[Exploring the structure of machine learning]]></description><link>https://thepalindrome.org/p/i-built-the-knowledge-graph-of-machine</link><guid isPermaLink="false">https://thepalindrome.org/p/i-built-the-knowledge-graph-of-machine</guid><dc:creator><![CDATA[Tivadar Danka]]></dc:creator><pubDate>Sun, 19 Apr 2026 07:46:57 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/WR-VyH0pIgs" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hey! It&#8217;s Tivadar from The Palindrome.</p><p><em>&#8220;How to get started in machine learning?&#8221;</em> is one of the most common questions I get. I have a couple of default answers, but they are based more on my personal experience than on science.</p><p>Inspired by this, I&#8217;ve mapped out the knowledge graph of machine learning, building a hierarchy of concepts that can guide you from the foundations to the state of the art.</p><p>A couple of fascinating patterns have emerged from my journey: the thin spine of mathematics that holds up the entire knowledge graph, the central concepts like gradient descent that enable modern machine learning as we know it, and more.</p><p>Here&#8217;s the video where I talk about my findings:</p>
      <p>
          <a href="https://thepalindrome.org/p/i-built-the-knowledge-graph-of-machine">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[This Week at The Palindrome]]></title><description><![CDATA[Finishing up with knowledge graphs and building more interactive tools]]></description><link>https://thepalindrome.org/p/this-week-at-the-palindrome</link><guid isPermaLink="false">https://thepalindrome.org/p/this-week-at-the-palindrome</guid><dc:creator><![CDATA[Tivadar Danka]]></dc:creator><pubDate>Sat, 11 Apr 2026 09:42:48 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!xKLg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F462454e3-5f77-4889-b287-ebc2750db03b_1345x770.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hey! It&#8217;s Tivadar from The Palindrome. It&#8217;s time for an update. Let&#8217;s </p><p>I&#8217;m finishing up my video about <a href="https://the-palindrome.github.io/ml-knowledge-graph/">the knowledge graph of machine learning</a>, which will be released next week; I&#8217;ll do a live premiere right here on Substack Live, with a discussion after the viewing. (<a href="https://open.substack.com/live-stream/160251">You can join here.</a>)</p><p>This video will mark a milestone for me: instead of relying on hand-crafted slides and a presentation-style exposition, I built a scripting engine on top of the knowledge graph explorer that turns a JSON script like</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;json&quot;,&quot;nodeId&quot;:null}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-json">[{
  "at": 0.0,
  "action": "autoRotate",
  "axis": "y",
  "speed": 0.01,
  "duration": 9.3,
  "windDown": 2.0,
  "easing": "linear"
},
{
  "at": 9.3,
  "action": "selectNode",
  "nodeId": "gpt",
  "showPrerequisites": true,
  "showDependents": false,
  "duration": 2.0
}]</code></pre></div><p>into a beautifully rendered video.</p><p>Here&#8217;s a sneak peek:</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;f441ec90-5bce-463d-a7a6-504a23d70b56&quot;,&quot;duration&quot;:null}"></div><p>The machine learning knowledge graph project could serve as a template for my future content. From now on, I&#8217;ll go full multimodal, meaning that I&#8217;ll</p><ul><li><p>build interactive visualizations (such as <a href="https://the-palindrome.github.io/ml-knowledge-graph/">the knowledge graph explorer</a>),</p></li><li><p>then write posts and record videos, aided by the interactive tool.</p></li></ul><p>Now that the current video-in-progress is about to be finished, what&#8217;s next?</p><p>Read on.</p>
      <p>
          <a href="https://thepalindrome.org/p/this-week-at-the-palindrome">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[The Power of Mathematical Modeling]]></title><description><![CDATA[What do online rumors, computer viruses and zombie apocalypses have in common?]]></description><link>https://thepalindrome.org/p/the-power-of-mathematical-modeling</link><guid isPermaLink="false">https://thepalindrome.org/p/the-power-of-mathematical-modeling</guid><dc:creator><![CDATA[Tivadar Danka]]></dc:creator><pubDate>Tue, 07 Apr 2026 11:03:35 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!QFjt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5475cbc3-22c6-4279-a65a-f2a61e3d6f71_759x506.webp" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hey! It&#8217;s Tivadar from The Palindrome.</p><p>This week, it&#8217;s my pleasure to introduce <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Manlio De Domenico, Ph.D.&quot;,&quot;id&quot;:38842368,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/537de500-db20-4bcd-a894-5ef6226bbf13_1080x1080.jpeg&quot;,&quot;uuid&quot;:&quot;8477290e-4570-449a-b642-328a24f2b0f1&quot;}" data-component-name="MentionToDOM"></span>, a fellow scholar working at the forefront of physics, mathematics, and computer science.</p><p>One of the main reasons behind the success of modern science is mathematical modeling, the process of translating complex real-life observations into a language that allows us to generalize, understand, and predict.</p><p>If you have enjoyed this post, subscribe to his newsletter <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Complexity Thoughts&quot;,&quot;id&quot;:1183925,&quot;type&quot;:&quot;pub&quot;,&quot;url&quot;:&quot;https://open.substack.com/pub/manlius&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5d142d85-7836-48c2-8e36-664af3a7d8ef_1280x1280.png&quot;,&quot;uuid&quot;:&quot;943a9401-ffb7-4d44-a5dc-b0d8c29eade4&quot;}" data-component-name="MentionToDOM"></span>, a space dedicated to translating the complexity of the empirical world, from your cells to entire societies, into language that is <strong>as simple as possible, though not necessarily simpler.</strong></p>
      <p>
          <a href="https://thepalindrome.org/p/the-power-of-mathematical-modeling">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Explore Machine Learning as a Knowledge Graph]]></title><description><![CDATA[And see how everything connects]]></description><link>https://thepalindrome.org/p/explore-machine-learning-as-a-knowledge</link><guid isPermaLink="false">https://thepalindrome.org/p/explore-machine-learning-as-a-knowledge</guid><dc:creator><![CDATA[Tivadar Danka]]></dc:creator><pubDate>Mon, 30 Mar 2026 08:25:06 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!kyQK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13131e5c-5c36-4833-9ffe-4b89bf9e8f03_898x850.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>TL;DR: <em>Now you can play around with the <a href="https://the-palindrome.github.io/ml-knowledge-graph/">Machine Learning Knowledge Graph Explorer</a> I&#8217;ve been building. Check it out; it&#8217;s awesome.</em></p>
      <p>
          <a href="https://thepalindrome.org/p/explore-machine-learning-as-a-knowledge">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[This Week at The Palindrome (2025, Week 13)]]></title><description><![CDATA[Knowledge graphs and Minecraft epidemics]]></description><link>https://thepalindrome.org/p/this-week-at-the-palindrome-2025</link><guid isPermaLink="false">https://thepalindrome.org/p/this-week-at-the-palindrome-2025</guid><dc:creator><![CDATA[Tivadar Danka]]></dc:creator><pubDate>Fri, 27 Mar 2026 17:16:10 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!YMWO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F951085b5-b67c-44c0-970e-2943d5579254_926x875.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hey! It&#8217;s Tivadar from The Palindrome.</p><p>Let&#8217;s try something new. In recent months, I started to feel that the weekly publishing schedule takes its toll on the quality of my posts. I want to take more time per post to give you some high-quality technical content. I&#8217;m inspired by amazing writers such as Sebastian Raschka (<span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Ahead of AI&quot;,&quot;id&quot;:1174659,&quot;type&quot;:&quot;pub&quot;,&quot;url&quot;:&quot;https://open.substack.com/pub/sebastianraschka&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/49f25d0a-212b-4853-8bcb-128d0a3edbbf_1196x1196.png&quot;,&quot;uuid&quot;:&quot;030fabf3-a6a7-4feb-90dd-5f95e98572b6&quot;}" data-component-name="MentionToDOM"></span>) or Cameron R. Wolfe (<span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Deep (Learning) Focus&quot;,&quot;id&quot;:1092659,&quot;type&quot;:&quot;pub&quot;,&quot;url&quot;:&quot;https://open.substack.com/pub/cameronrwolfe&quot;,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/ab9b43fb-52d5-40da-995d-5b7cd3f91064_896x896.png&quot;,&quot;uuid&quot;:&quot;20698ad0-6f62-44dd-957b-39485eb37f8f&quot;}" data-component-name="MentionToDOM"></span>), who publish once a month, but each post is a work of art.</p><p>On the other hand, I miss you. A monthly schedule feels too long, and I have a lot to share with you. Ever since I got my ChatGPT Max subscription with access to Codex, my creativity is out of bounds.</p><p>So, here&#8217;s a new format. Each week, I&#8217;m sending you my unfiltered stream of consciousness, all the projects that I&#8217;m currently working on. Think of it as joining me for a coffee, where we talk about all the exciting/revolutionary/insane ideas we have in our minds.</p><p>This week, there are two things on my mind: knowledge graphs and Minecraft.</p><p>Let&#8217;s start with knowledge graphs.</p><h1>The Complete Map of Machine Learning</h1><p>If you are a regular reader, you know that one of the most common questions I get is <em>&#8220;which part of mathematics do I need to study machine learning?&#8221;</em> My default answer, based on my decade of experience, is: a ton of linear algebra, a decent amount of calculus, and a snippet of probability theory.</p><p>To be honest, I&#8217;m not completely satisfied with my reply. So, I dug deep with my newly found agentic AI-fueled superpower to find what is scientifically backed.</p><p>Without further ado: here&#8217;s the full knowledge graph of mathematics and machine learning. 2081 nodes, 5149 edges.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!pN9B!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60918a9d-6076-4b86-879b-cc39b7454f06_988x825.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!pN9B!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60918a9d-6076-4b86-879b-cc39b7454f06_988x825.png 424w, https://substackcdn.com/image/fetch/$s_!pN9B!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60918a9d-6076-4b86-879b-cc39b7454f06_988x825.png 848w, https://substackcdn.com/image/fetch/$s_!pN9B!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60918a9d-6076-4b86-879b-cc39b7454f06_988x825.png 1272w, https://substackcdn.com/image/fetch/$s_!pN9B!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60918a9d-6076-4b86-879b-cc39b7454f06_988x825.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!pN9B!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60918a9d-6076-4b86-879b-cc39b7454f06_988x825.png" width="728" height="607.8947368421053" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/60918a9d-6076-4b86-879b-cc39b7454f06_988x825.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:825,&quot;width&quot;:988,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:493437,&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://thepalindrome.org/i/192289224?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60918a9d-6076-4b86-879b-cc39b7454f06_988x825.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!pN9B!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60918a9d-6076-4b86-879b-cc39b7454f06_988x825.png 424w, https://substackcdn.com/image/fetch/$s_!pN9B!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60918a9d-6076-4b86-879b-cc39b7454f06_988x825.png 848w, https://substackcdn.com/image/fetch/$s_!pN9B!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60918a9d-6076-4b86-879b-cc39b7454f06_988x825.png 1272w, https://substackcdn.com/image/fetch/$s_!pN9B!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60918a9d-6076-4b86-879b-cc39b7454f06_988x825.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">The knowledge graph of machine learning</figcaption></figure></div><p>(The images are screenshots from the interactive graph explorer I&#8217;m building, which will be open source and publicly available.)</p><p>Let&#8217;s unravel this.</p>
      <p>
          <a href="https://thepalindrome.org/p/this-week-at-the-palindrome-2025">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Mathematics of Machine Learning workshop]]></title><description><![CDATA[Watch now | The full recording of the workshop]]></description><link>https://thepalindrome.org/p/mathematics-of-machine-learning-workshop</link><guid isPermaLink="false">https://thepalindrome.org/p/mathematics-of-machine-learning-workshop</guid><dc:creator><![CDATA[Tivadar Danka]]></dc:creator><pubDate>Sun, 22 Mar 2026 08:23:46 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/a06820a5-38c7-4999-825d-0dba24ca1159_1920x1008.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hey!</p><p>Yesterday we concluded our first monthly workshop! As promised, here is the full recording, exclusive to paid subscribers.</p><p>You can access the Jupyter Notebook lecture notes here: <a href="https://github.com/the-palindrome/mathematics-of-machine-learning-workshop">https://github.com/the-palindrome/mathematics-of-machine-learning-workshop</a></p><p>The next monthly workshop is already in the works; it&#8217;s going to be the next iteration of the Neural Networks From Scratch course. The tentative date is April 18th, 15:00&#8211;19:00 CET, but stay tuned for the announcement, as this date might change.</p><p>Thanks again so much for attending!</p><p>Cheers,<br>Tivadar</p>
      <p>
          <a href="https://thepalindrome.org/p/mathematics-of-machine-learning-workshop">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Machine Learning From Zero, Chapter 01]]></title><description><![CDATA[Machine Learning From Zero, Chapter 01]]></description><link>https://thepalindrome.org/p/what-is-machine-learning</link><guid isPermaLink="false">https://thepalindrome.org/p/what-is-machine-learning</guid><dc:creator><![CDATA[Tivadar Danka]]></dc:creator><pubDate>Sat, 14 Mar 2026 14:43:31 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/2554ada4-39ba-41ae-80ca-41a491e2e5e8_1200x630.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hey! This is Tivadar from The Palindrome.</p><p>I&#8217;m finally working on my upcoming book <em>Machine Learning From Zero</em>, the sequel to <em>Mathematics of Machine Learning</em>.</p><p>The first chapter has just been finished, which sets the foundations for the neat stuff, like implementing neural networks from scratch. (Which is the core of the book.)</p><p>Without further ado, here&#8217;s an exclusive preview.</p><p>Enjoy!</p><p>P.S. I&#8217;m writing this book in Jupyter Notebooks, and I turn them into Substack posts with <a href="https://notebookpress.xyz/">NotebookPress</a>, a tool I&#8217;m building to bring technical writing on Substack to the next level. If you write math-and-code-heavy content, you should check it out.</p><div><hr></div><p><em>Machine learning is training predictive models from data.</em></p><p>Sure, we can be academic about it and refine the definition of machine learning by looking at the countless of nuances, but that&#8217;s not what we are here to do. We are here to understand the core fundamentals of machine learning &#8212; the fundamentals that will take you further than anything else.</p><p>I believe the only way to aquire deep knowledge of any technical subject is to take it apart and put it back together again. <em>This</em> is what we are here to do.</p><p>The fundamental machine learning setup consists of:</p><ol><li><p>a dataset, usually coming in the form of input and target variables,</p></li><li><p>a parametric function that models the relation between the input and the target variables,</p></li><li><p>and a loss function that measures the model&#8217;s fit to the data.</p></li></ol><p>Let&#8217;s start with the data.</p><p>To look behind the curtain of machine learning algorithms, we have to precisely formulate the problems that we deal with. Three important parameters determine a machine learning paradigm: the input, the output, and the training data.</p><p>All machine learning tasks boil down to finding a model that provides additional insight into the data, i.e., a function <em>f</em> that transforms the input <em>x</em> into the useful representation <em>y</em>. This can be a prediction, an action to take, a high-level feature representation, and many more. We&#8217;ll learn about all of them.</p><p>Mathematically speaking, the basic machine learning setup consists of:</p><ol><li><p>a dataset &#119967;,</p></li><li><p>a function <em>f</em> that describes the true relation between the input and the output,</p></li><li><p>and a parametric model <em>h</em> &#8212; also called a <em>hypothesis</em> &#8212; that serves as our estimation of <em>f</em>.</p></li></ol><div><hr></div><p><strong>Remark.</strong> <em>(Common abuses of machine learning notation.)</em></p><p><em>Note that although the function f only depends on the input x, the parametric model h also depends on the parameters and the training dataset.</em></p><p><em>Thus, it is customary to write h(x) as h(x; w, &#119967;), where w represents the parameters, and &#119967; is our training dataset.</em></p><p><em>This dependence is often omitted, but keep in mind that it&#8217;s always there.</em></p><div><hr></div><p>We make no restrictions about how the model <em>f</em>&#770; is constructed. It can be a deterministic function like <em>h</em>(<em>x</em>) = &#8722;13.2 <em>x</em>&#178; + 0.92 <em>x</em> + 3.0 or a probability distribution <em>h</em>(<em>x</em>) = <em>P</em>(<em>Y</em> = <em>y</em> &#8739; <em>X</em> = <em>x</em>). Models have all kinds of families like <em>generative</em>, <em>discriminative</em>, and more. We&#8217;ll talk about them in detail; in fact, models will be the focal points of the majority of the chapters.</p><p>First, let&#8217;s focus on the paradigms themselves. There are four major ones:</p><ul><li><p>supervised learning,</p></li><li><p>unsupervised learning,</p></li><li><p>semi-supervised learning,</p></li><li><p>and reinforcement learning.</p></li></ul><p>What are these?</p><h2>Supervised learning</h2><p>The most common paradigm is <em>supervised learning</em>. There, we have inputs &#119857;&#7522; &#8712; &#8477;&#7504; and ground truth labels y&#7522; that form our training dataset</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!voUV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ec88697-eef9-4b76-ab01-752340845aa9_1920x236.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!voUV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ec88697-eef9-4b76-ab01-752340845aa9_1920x236.png 424w, https://substackcdn.com/image/fetch/$s_!voUV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ec88697-eef9-4b76-ab01-752340845aa9_1920x236.png 848w, https://substackcdn.com/image/fetch/$s_!voUV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ec88697-eef9-4b76-ab01-752340845aa9_1920x236.png 1272w, https://substackcdn.com/image/fetch/$s_!voUV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ec88697-eef9-4b76-ab01-752340845aa9_1920x236.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!voUV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ec88697-eef9-4b76-ab01-752340845aa9_1920x236.png" width="1456" height="179" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2ec88697-eef9-4b76-ab01-752340845aa9_1920x236.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:179,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;math&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="math" title="math" srcset="https://substackcdn.com/image/fetch/$s_!voUV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ec88697-eef9-4b76-ab01-752340845aa9_1920x236.png 424w, https://substackcdn.com/image/fetch/$s_!voUV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ec88697-eef9-4b76-ab01-752340845aa9_1920x236.png 848w, https://substackcdn.com/image/fetch/$s_!voUV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ec88697-eef9-4b76-ab01-752340845aa9_1920x236.png 1272w, https://substackcdn.com/image/fetch/$s_!voUV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ec88697-eef9-4b76-ab01-752340845aa9_1920x236.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Although the labels can be anything like numbers or text, they are all available for us. The goal is to construct a function that models the relationship between the input <em>x</em> and the target variable <em>y</em>.</p><p>Let&#8217;s saddle up and see a couple of examples.</p>
      <p>
          <a href="https://thepalindrome.org/p/what-is-machine-learning">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Let’s Bring Jupyter Notebooks to Substack]]></title><description><![CDATA[From Jupyter Notebook to Substack post in two clicks]]></description><link>https://thepalindrome.org/p/lets-bring-jupyter-notebooks-to-substack</link><guid isPermaLink="false">https://thepalindrome.org/p/lets-bring-jupyter-notebooks-to-substack</guid><dc:creator><![CDATA[Tivadar Danka]]></dc:creator><pubDate>Thu, 05 Mar 2026 12:30:25 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/c4e4cc41-93d5-4fbe-bb07-030c0c7aeea7_1200x630.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Jupyter Notebooks are my favorite publishing format by far. I write all my posts in them.</p><p>They are the perfect medium for math-and-code-heavy technical content: they support LaTeX snippets, code execution, and, to top it all, enable interactive exploration. Every time I&#8217;m reading a hands-on tutorial about some fancy new framework, I cannot resist the urge to jump into edit mode and break the code in ways no author can think of.</p><p>Unfortunately, if you choose to write in Jupyter Notebooks, you either abandon content distribution by platforms such as Substack, LinkedIn, or X (because they don&#8217;t support the format) or manually convert the notebooks to satisfy every possible whim of every possible editor.</p><p>So, I built a tool that enables writers to publish Jupyter Notebooks on Substack (and other platforms) with a couple of clicks. It&#8217;s called <a href="https://notebookpress.xyz/">NotebookPress</a>, and it solves four major pain points:</p><ul><li><p>LaTeX rendering,</p></li><li><p>code snippets,</p></li><li><p>user interactivity,</p></li><li><p>and cross-platform compatibility.</p></li></ul><p>Let me give you a t&#8230;</p>
      <p>
          <a href="https://thepalindrome.org/p/lets-bring-jupyter-notebooks-to-substack">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Accio Insights: The Marauder’s Map of the ML World]]></title><description><![CDATA[A deep dive into the swiss army knife of machine learning]]></description><link>https://thepalindrome.org/p/accio-insights-the-marauders-map</link><guid isPermaLink="false">https://thepalindrome.org/p/accio-insights-the-marauders-map</guid><dc:creator><![CDATA[Tivadar Danka]]></dc:creator><pubDate>Thu, 19 Feb 2026 10:58:20 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!chXt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff6f3fe5-9a37-40af-97c1-226ba20f247d_480x320.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hi there! It&#8217;s Tivadar from The Palindrome.</p><p>Please welcome <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Sairam Sundaresan&quot;,&quot;id&quot;:85853406,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!3vud!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79cc4b2d-3161-4743-85d8-97910007711b_1463x1463.jpeg&quot;,&quot;uuid&quot;:&quot;bc15a281-1e09-4497-a6e2-0e4c8ef5204a&quot;}" data-component-name="MentionToDOM"></span>, author of the brilliant <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Gradient Ascent&quot;,&quot;id&quot;:1199871,&quot;type&quot;:&quot;pub&quot;,&quot;url&quot;:&quot;https://open.substack.com/pub/artofsaience&quot;,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/01dfb858-3107-4656-b289-cf13de969a17_800x800.png&quot;,&quot;uuid&quot;:&quot;ce83f3e6-f9b6-4a5c-89ac-1b7d07b9f0fd&quot;}" data-component-name="MentionToDOM"></span> Substack. I&#8217;ve been following his work for years, and I&#8217;m honored to have him here for a guest post.</p><p>By the way, <a href="https://www.eventbrite.com/e/machine-learning-and-generative-ai-system-design-workshop-tickets-1975103644168?aff=Tivadar">he is hosting a workshop on February 28th titled &#8220;Machine Learning and Generative AI System Design,&#8221;</a> and he has kindly offered a 35% discount for readers of <em>The Palindrome</em>.</p><p>The code <strong>TIVADAR35</strong> is valid until February 24th.&#8221;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!COP6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe2d1426-cd58-44f5-9ac8-a90df07f85ec_1179x578.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!COP6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe2d1426-cd58-44f5-9ac8-a90df07f85ec_1179x578.webp 424w, https://substackcdn.com/image/fetch/$s_!COP6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe2d1426-cd58-44f5-9ac8-a90df07f85ec_1179x578.webp 848w, https://substackcdn.com/image/fetch/$s_!COP6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe2d1426-cd58-44f5-9ac8-a90df07f85ec_1179x578.webp 1272w, https://substackcdn.com/image/fetch/$s_!COP6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe2d1426-cd58-44f5-9ac8-a90df07f85ec_1179x578.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!COP6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe2d1426-cd58-44f5-9ac8-a90df07f85ec_1179x578.webp" width="1179" height="578" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/be2d1426-cd58-44f5-9ac8-a90df07f85ec_1179x578.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:578,&quot;width&quot;:1179,&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_!COP6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe2d1426-cd58-44f5-9ac8-a90df07f85ec_1179x578.webp 424w, https://substackcdn.com/image/fetch/$s_!COP6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe2d1426-cd58-44f5-9ac8-a90df07f85ec_1179x578.webp 848w, https://substackcdn.com/image/fetch/$s_!COP6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe2d1426-cd58-44f5-9ac8-a90df07f85ec_1179x578.webp 1272w, https://substackcdn.com/image/fetch/$s_!COP6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe2d1426-cd58-44f5-9ac8-a90df07f85ec_1179x578.webp 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 class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.eventbrite.com/e/machine-learning-and-generative-ai-system-design-workshop-tickets-1975103644168?aff=Tivadar&quot;,&quot;text&quot;:&quot;Reserve Your Seat&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.eventbrite.com/e/machine-learning-and-generative-ai-system-design-workshop-tickets-1975103644168?aff=Tivadar"><span>Reserve Your Seat</span></a></p><p>Now, I&#8217;ll pass the mic to Sairam.</p><p>Enjoy!</p><p>Cheers,<br>Tivadar</p>
      <p>
          <a href="https://thepalindrome.org/p/accio-insights-the-marauders-map">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[The Palindrome in 2026]]></title><description><![CDATA[What's coming]]></description><link>https://thepalindrome.org/p/the-palindrome-in-2026</link><guid isPermaLink="false">https://thepalindrome.org/p/the-palindrome-in-2026</guid><dc:creator><![CDATA[Tivadar Danka]]></dc:creator><pubDate>Sun, 15 Feb 2026 07:50:11 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/01a35c2b-d6bb-4a35-8a50-1ac8d52b15a3_1920x1008.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hey! It's Tivadar.</p><p>Yes, I know that it is February. It took me a bit longer to write this post.</p><p>I also know that your inbox is (<em>was</em>) overloaded with triumphant 2025 reviews and grand plans for 2026. To respect your time, here's a no-bullshit summary of what you'll get from The Palindrome this year, and if you want the details, just read on.</p><p><strong>All subscribers:</strong></p><ul><li><p>I'm finishing my Machine Learning From Zero book this year, where we'll implement all the fundamental algorithms from scratch. This'll be the topic for my technical posts.</p></li><li><p>I'll do more explainer-style videos, <a href="https://youtu.be/PB-1_JTHyEU?si=-7o5KsgJjA_WYRyc">like this one from the Matrices and Graphs post</a>.</p></li></ul><p><strong>Paid subscribers:</strong></p><ul><li><p>Monthly live workshops, streamed live right here on Substack.  </p></li><li><p>First workshop: Mathematics of Machine Learning, March 7th, 15:00 - 20:00 CET.</p></li><li><p>Second workshop: Neural Networks from Scratch, date TBD.</p></li></ul>
      <p>
          <a href="https://thepalindrome.org/p/the-palindrome-in-2026">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[The Day My Project Went to Space]]></title><description><![CDATA[From whiteboard to orbit to science]]></description><link>https://thepalindrome.org/p/the-day-my-project-went-to-space</link><guid isPermaLink="false">https://thepalindrome.org/p/the-day-my-project-went-to-space</guid><dc:creator><![CDATA[Tivadar Danka]]></dc:creator><pubDate>Mon, 02 Feb 2026 12:33:14 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!C5XA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff444b75c-8d7c-4ceb-ab1c-b20622d27b5f_1600x1200.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hi there! It&#8217;s Tivadar from The Palindrome.</p><p>Today&#8217;s post is a very special one, written by my friend Mikl&#243;s, whom I met during our PhD years. (Which was more than ten years ago. I feel old.) He is one of the smartest people I know, and he&#8217;s been doing impressive research projects since then.</p><p>One of his latest projects made the news recently, because the data collection took place on the International Space Station (ISS). This is interesting in itself, but what you rarely see is the &#8220;backend&#8221; side of science, the stuff that don&#8217;t make the news, but makes or breaks a research project of this scale.</p><p>What follows is a deep-dive report on the entire lifecycle of a space-bound project:</p><ul><li><p>grant proposal (moving from a whiteboard to orbit),</p></li><li><p>agile problem solving (like jumping hoops to meet Apple Store regulations),</p></li><li><p>stakeholder coordination (managing the logistics between international space agencies),</p></li><li><p>project management (handling &#8220;no second chance&#8221; execution under the pressure of shifting launch windo&#8230;</p></li></ul>
      <p>
          <a href="https://thepalindrome.org/p/the-day-my-project-went-to-space">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Why is the Golden Ratio Hiding in the Fibonacci Sequence?]]></title><description><![CDATA[The non-recursive formula for Fibonacci numbers]]></description><link>https://thepalindrome.org/p/why-is-the-golden-ratio-hiding-in</link><guid isPermaLink="false">https://thepalindrome.org/p/why-is-the-golden-ratio-hiding-in</guid><dc:creator><![CDATA[Tivadar Danka]]></dc:creator><pubDate>Fri, 30 Jan 2026 09:17:44 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/43220097-ce29-4505-aa4a-da3b6f699577_2090x1080.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>The Fibonacci numbers form one of the most famous integer sequences, known for their close connection to the golden ratio, sunflower spirals, the mating habits of rabbits, and several other things.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!iE9D!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F849eea4a-dec2-4dd5-bcb4-107d3e703b30_3840x2160.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!iE9D!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F849eea4a-dec2-4dd5-bcb4-107d3e703b30_3840x2160.png 424w, https://substackcdn.com/image/fetch/$s_!iE9D!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F849eea4a-dec2-4dd5-bcb4-107d3e703b30_3840x2160.png 848w, https://substackcdn.com/image/fetch/$s_!iE9D!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F849eea4a-dec2-4dd5-bcb4-107d3e703b30_3840x2160.png 1272w, https://substackcdn.com/image/fetch/$s_!iE9D!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F849eea4a-dec2-4dd5-bcb4-107d3e703b30_3840x2160.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!iE9D!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F849eea4a-dec2-4dd5-bcb4-107d3e703b30_3840x2160.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/849eea4a-dec2-4dd5-bcb4-107d3e703b30_3840x2160.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;:156485,&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://thepalindrome.org/i/186281090?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F849eea4a-dec2-4dd5-bcb4-107d3e703b30_3840x2160.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_!iE9D!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F849eea4a-dec2-4dd5-bcb4-107d3e703b30_3840x2160.png 424w, https://substackcdn.com/image/fetch/$s_!iE9D!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F849eea4a-dec2-4dd5-bcb4-107d3e703b30_3840x2160.png 848w, https://substackcdn.com/image/fetch/$s_!iE9D!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F849eea4a-dec2-4dd5-bcb4-107d3e703b30_3840x2160.png 1272w, https://substackcdn.com/image/fetch/$s_!iE9D!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F849eea4a-dec2-4dd5-bcb4-107d3e703b30_3840x2160.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>Because of its recursive nature, computing the Fibonacci sequence via brute force is computationally expensive.</p><p>However, the Fibonacci numbers have a simple and beautiful closed-form expression written in terms of the golden ratio (&#966;) and the conjugate golden ratio (&#968;).</p>
      <p>
          <a href="https://thepalindrome.org/p/why-is-the-golden-ratio-hiding-in">
              Read more
          </a>
      </p>
   ]]></content:encoded></item></channel></rss>