<?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, 12 Jul 2026 06:14: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[Why I'm Slowing Down]]></title><description><![CDATA[(and why that&#8217;s a good thing)]]></description><link>https://thepalindrome.org/p/why-are-you-hearing-less-from-me</link><guid isPermaLink="false">https://thepalindrome.org/p/why-are-you-hearing-less-from-me</guid><dc:creator><![CDATA[Tivadar Danka]]></dc:creator><pubDate>Wed, 08 Jul 2026 13:33:22 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/abc408b0-0ee9-4586-939e-d3b0edca6d5b_1672x941.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I&#8217;ve been living on social media for the past ten years, and several times a day, I pick up my phone or open a new tab in my browser and check the fresh content my timeline throws at me.</p><p>Consuming content never felt as terrible as it feels now. Given the various &#8220;metas&#8221;<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a> of the past couple of years, that&#8217;s quite a statement: we&#8217;ve seen</p><ul><li><p>misogynistic red-pill shorts and Andrew Tate clips flooding every platform,</p></li><li><p>superstars shilling shitcoins for money on every available outlet,</p></li><li><p>or watched the chaos unfold during the first wave of COVID, with millions launching content creator careers from their quarantines.</p></li></ul><p>(If I ever launch a punk band, I&#8217;ll name it Superstars Shilling Shitcoins.)</p><p>Today, even though it doesn&#8217;t feel as dramatic, I can&#8217;t help but constantly feel that something is off. Sure, we all knew that the President of the United States minting his own crypto was absurd; it was a Black Mirror episode happening in real life.</p><p>Right now, it&#8217;s more like Pleasantville, as my wife pointed out. She has been obsessing quite a lot lately over the model collapse phenomenon.</p><p>If you don&#8217;t remember Pleasantville, let me explain. I wouldn&#8217;t have remembered it either if it was not the very first movie I watched on HBO in the early 2000s. Growing up in a post-socialist country like Hungary, HBO was like a gateway to the Western world. So, this movie became a foundational memory for me.</p><p>In Pleasantville, everything is <em>pleasant</em>. (Surprise.) People are nice. They politely greet each other when they meet in the mornings, noons, evenings. The handsome husbands go home straight after work, just in time for dinner perfectly served by their gorgeous wives. (In the always spotless kitchen.) The high school basketball players never miss shots, fires are impossible to start, and the firemen&#8217;s only job is to rescue cats stuck in trees. Dates always end well, with lovers holding hands, staring at the stars in the night sky. Pleasantville is the fictional version of LinkedIn. Oh, and everything is black and white. No pain, no pleasure, no lows, no highs. It&#8217;s all predictable. All average.</p><p>Why are we talking about this? Because reading AI-generated content feels like spending time in Pleasantville.</p><p>Sentences are well-formed. The grammar is spotless. The voice is polite. The content is designed to avoid challenging your beliefs, because that would perhaps make you stop reading. No swearing. No sarcasm. No controversial opinions.</p><p>Really, it&#8217;s the nature of AI-generated content. Large language models generate responses token by token, selecting the one that has the highest probability given the previous output tokens. In other words, at their hearts, LLMs are statistical bullshit generators.</p><p>They are trained to say what you want to hear. Not what you <em>need</em> to hear.</p><p>(Yeah, I know, there&#8217;s reasoning, tool calling, memory, and other neat tricks. Still, fundamentally, generative models are &#8220;stochastic parrots&#8221;.)</p><p>For functional purposes like building makeshift apps, they are unbeatable, though. I don&#8217;t want my Python scripts to challenge my beliefs; I want them to work. I&#8217;m using them to automate tasks and build things. If I want a short animation illustrating gradient descent, I don&#8217;t care how neat the Manim script is. I only care if it does what I ask it to do, and that&#8217;s it.</p><p>LLMs are also perfect for collecting and processing information. Whenever I want to quickly learn about a technical subject, such as video game architectures or epidemiological models, nothing beats chatting up Claude and going from zero to one in a couple of minutes. Hell, there are Substacks with LLM-written posts that provide a ton of valuable information, ranging from science to parenting through engineering and education. I&#8217;m even using LLMs to fix the grammar mistakes in this very post you are reading.</p><p>But that&#8217;s not what I want to read when I subscribe to you, and I&#8217;m guessing that this is not what you, who are reading The Palindrome, want from me either.</p><p>I&#8217;m reading Substack to find something that I cannot find in a discussion with a chatbot. I want you, the author, to make me uncomfortable. I want to glimpse into your beautiful mind, your unhinged thoughts, your limitless creativity. To question my beliefs, to see old things from new perspectives, to expand my horizons.</p><p>To update my weights.</p><p>Lately, it&#8217;s hard to do. I open my timeline(s), and it&#8217;s full of bland, uninspired, fortune-cookie bullshit. Every note and post is formulaic. Everyone is desperate for engagement, but no one wants to engage. I stopped reading Notes. I stopped writing them. I reached a point where I&#8217;m reluctant to read books released after 2022.</p><p>As a content creator, I&#8217;m facing a choice now. One: I automate the writing and publishing process with AI to keep up the pace. I&#8217;ll feed it all I ever wrote <em>(a couple thousand pages already)</em>, make it learn my voice <em>(Eastern European mathematician, loves death metal<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</a> and gardening)</em>, give it a couple of topic ideas <em>(machine learning, mathematics, growing up in a post-socialist country right after the collapse of the Soviet Union)</em>, and have it churn out post after post, feeding the content machine.</p><p>Two: I make something that&#8217;s better than 99% of what&#8217;s out there. Learn to tell great stories. Bring my words to life via beautiful animations. Take the time to execute grand ideas instead of publishing mediocre ones twice per week. To improve my skills, and use AI to augment them instead of replacing me. To be the signal, not the noise.</p><p>To reach for quality, instead of rushing for quantity.</p><p>If you have been following me for a while, you already know which path I&#8217;m taking. This year, I put growth on hold and spent all my work hours increasing the value of my content from every aspect.</p><p>I moved from static illustrations to rich animations.</p><p>I started to build interactive visualizations that you can explore along with the posts.</p><p>I learned the foundations of audio engineering, invested in a high-quality recording setup, and took a couple of voice coaching classes to improve my voiceovers.</p><p>When I&#8217;m not creating, I&#8217;m reading about writing, storytelling, and animation.</p><p>I&#8217;m becoming an artist. Not a content creator, not a technical writer, not a Substack author.</p><p>For me, nothing can replace the joy of creation. I&#8217;m writing these lines, rewriting them, picking them apart and putting them back together, second-third-hundredth-guessing every sentence, changing the pace, playing around with its rhythm, converging toward a chunk of text that has <em>me</em> within the lines.</p><p>For me, writing is thinking, a process where I zero in on the truth. (See my <a href="https://thepalindrome.org/p/coding-on-paper">Coding on Paper</a> essay, where I talk about this.)</p><p>I won&#8217;t automate my existence away. In the future, you&#8217;ll get more of <em>my thoughts</em>, instead of just more words, shaped by an algorithm.</p><div><hr></div><p>Thanks for reading! In a regular newsletter issue, this would be the place for a Call To Action, a message to convince you to subscribe, engage, etc. Instead of shoving you down a marketing funnel, I&#8217;m encouraging you to do some thoughtful introspection.</p><p>If you are a content creator: do you use AI responsibly, or is your channel just the Substack equivalent of dropshipping?</p><p>If you are a reader: if your body is what you eat, then your mind is what you read. <em>What</em> do you read?</p><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p><em>meta</em> is short for &#8220;most effective tactic available&#8221;, a term familiar from competitive games. Not picking the meta strategy automatically puts you at a disadvantage, usually narrowing players into particularly annoying playstyles.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-2" href="#footnote-anchor-2" class="footnote-number" contenteditable="false" target="_self">2</a><div class="footnote-content"><p>My OCD told me that &#8220;one footnote is not a footnote&#8221;, so I added one at random. Sorry for that.</p></div></div>]]></content:encoded></item><item><title><![CDATA[This Week at The Palindrome]]></title><description><![CDATA[What I'm working on: epidemiological models and post-apocalyptic ecosystems]]></description><link>https://thepalindrome.org/p/this-week-at-the-palindrome-8c3</link><guid isPermaLink="false">https://thepalindrome.org/p/this-week-at-the-palindrome-8c3</guid><dc:creator><![CDATA[Tivadar Danka]]></dc:creator><pubDate>Wed, 01 Jul 2026 08:00:12 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!-vgs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03492339-ac41-45ca-b894-291690c3af4f_640x640.webp" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hey! It&#8217;s been a hot minute since I shared what&#8217;s on my mind with you.</p><p>My son just turned eleven months old, and he is crawling around faster than a xenomorph facehugger in the vents of a Weyland-Yutani warship. Combine it with extreme curiosity and zero sense of fear, and you have a sweet little troublemaker who is at the top of a tall flight of stairs before I can say &#8220;what&#8221;.</p><p>So, I&#8217;m a full-time parent now, with a couple of work hours snuck in between 2:00 a.m. and 6:00 a.m.</p><p>But that&#8217;s alright: witnessing my little one grow every day is a blessing.</p><p>On the other hand, you are here for high-quality deep dives into mathematics and machine learning, and I have some exciting updates to share. I just finished with my latest video, talking about <a href="https://youtu.be/LsN5Ki9ZI9E">The Math You Missed Behind Gradient Descent</a>. Check it out if you haven&#8217;t already. It&#8217;s a level up from all aspects: procedural animations in Manim and superior storytelling.</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><p>(Make sure to subscribe to <a href="https://youtube.com/@drawocoward?si=AUA5A_IYPeFa6Si2">The Palindrome YouTube channel</a>. It would mean a great deal to me.)</p><p>Currently, I&#8217;m working on two new videos:</p><ul><li><p>one about how I rebuilt Liberty City from the original Grand Theft Auto just to run epidemic simulations,</p></li><li><p>and one about simulating the entire post-apocalyptic ecosystem from the Metro 2033 universe.</p></li></ul><p>Let&#8217;s see the details!</p><h1>The Math You Missed Behind Gradient Descent</h1><p>First, about my latest video. Differential equations and dynamical systems are two of my favorite topics by far; their beauty and usefulness are unparalleled.</p><p>Sadly, they are fully omitted from an average machine learning curriculum, as they require extensive familiarity with calculus. On the other hand, gradient descent feels like magic without looking through the lens of differential equations.</p><p>Think about it: why does going against the gradient of the loss landscape in parameter space get us to a local optimum?</p><p>Let me tell you: for the exact same reason a pendulum stops at the bottom. Mechanical systems converge to their equilibrium (if we are lucky), and gradient descent is a mechanical system in disguise.</p><p>I love this topic, so I decided to make a full video about it.</p><p>This video is a special one, as I created it with a new workflow. This time, I wrote an extremely detailed script in Manim (with voiceovers and scene descriptions), recorded the audio, then asked Codex to</p><ol><li><p>transcribe it,</p></li><li><p>add timestamps,</p></li><li><p>and create a Manim animation as specified in the script.</p></li></ol><p>Here&#8217;s a snippet from the script:</p>
      <p>
          <a href="https://thepalindrome.org/p/this-week-at-the-palindrome-8c3">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><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>
      <p>
          <a href="https://thepalindrome.org/p/quick-reader-survey-2-minutes">
              Read more
          </a>
      </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>
      <p>
          <a href="https://thepalindrome.org/p/coding-on-paper-a62">
              Read more
          </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></channel></rss>