<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
    <title>Jakub Kozłowski</title>
    <subtitle>A 1.00000000000001x engineering blog</subtitle>
    <link rel="self" type="application/atom+xml" href="https://blog.kubukoz.com/atom.xml"/>
    <link rel="alternate" type="text/html" href="https://blog.kubukoz.com"/>
    <generator uri="https://www.getzola.org/">Zola</generator>
    <updated>2024-03-02T00:00:00+00:00</updated>
    <id>https://blog.kubukoz.com/atom.xml</id>
    <entry xml:lang="en">
        <title>Flavors of shared state in Cats Effect</title>
        <published>2024-03-02T00:00:00+00:00</published>
        <updated>2024-03-02T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.kubukoz.com/flavors-of-shared-state/"/>
        <id>https://blog.kubukoz.com/flavors-of-shared-state/</id>
        
        <summary type="html">&lt;p&gt;In this post, we will explore the various ways to share state in a &lt;a href=&quot;https:&#x2F;&#x2F;blog.kubukoz.com&#x2F;flavors-of-shared-state&#x2F;cats-effect&quot;&gt;Cats Effect&lt;&#x2F;a&gt; application.&lt;&#x2F;p&gt;
</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>Asking better questions</title>
        <published>2023-02-24T00:00:00+00:00</published>
        <updated>2023-02-24T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.kubukoz.com/asking-better-questions/"/>
        <id>https://blog.kubukoz.com/asking-better-questions/</id>
        
        <summary type="html">&lt;p&gt;From the very first day I started learning how to program, I had questions. &lt;strong&gt;So many questions!&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Thing is, after some time, as my career progressed, I ended up being on the receiving end of such questions more and more. That never changed - in fact, I&#x27;m used to people asking for help many times a day.&lt;&#x2F;p&gt;
&lt;p&gt;All of this is to say, I&#x27;ve asked and been asked probably thousands of questions - good ones, but also bad ones, and I would like to share a couple of tips on how to ask better questions.
These tips will not only help you &lt;strong&gt;reach a solution sooner&lt;&#x2F;strong&gt;, but possibly a &lt;strong&gt;better solution altogether&lt;&#x2F;strong&gt;.&lt;&#x2F;p&gt;
</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>Nix Flakes: first steps</title>
        <published>2022-10-22T00:00:00+00:00</published>
        <updated>2022-10-22T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.kubukoz.com/flakes-first-steps/"/>
        <id>https://blog.kubukoz.com/flakes-first-steps/</id>
        
        <summary type="html">&lt;p&gt;I keep getting questions about how to start with Nix. I believe the way to go in 2022 is to start with Flakes, so in this post I&#x27;ll describe just that.&lt;&#x2F;p&gt;
&lt;p&gt;If you want to learn Nix from first principles instead, I recommend &lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;nixos.org&#x2F;guides&#x2F;nix-pills&#x2F;&quot;&gt;Nix Pills&lt;&#x2F;a&gt; and &lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;nix.dev&#x2F;&quot;&gt;nix.dev&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>Talks</title>
        <published>2022-10-22T00:00:00+00:00</published>
        <updated>2022-10-22T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.kubukoz.com/talks/"/>
        <id>https://blog.kubukoz.com/talks/</id>
        
        <content type="html" xml:base="https://blog.kubukoz.com/talks/">&lt;!-- This is generated using talks-page.sc. Manual edits will be lost. --&gt;
&lt;!-- GENERATED TALKS BEGIN --&gt;
&lt;div&gt;
  &lt;p&gt;I&#x27;ve presented 25 talks at 36 events across 14 countries.&lt;&#x2F;p&gt;
  &lt;p&gt;Here&#x27;s a list of all the talks I&#x27;ve given to date, with slides and videos if available.&lt;&#x2F;p&gt;
  &lt;table&gt;
    &lt;thead&gt;
      &lt;tr&gt;
        &lt;th&gt;Title&lt;&#x2F;th&gt;
        &lt;th&gt;Events&lt;&#x2F;th&gt;
        &lt;th&gt;Links&lt;&#x2F;th&gt;
      &lt;&#x2F;tr&gt;
    &lt;&#x2F;thead&gt;
    &lt;tbody&gt;
      &lt;tr&gt;
        &lt;td&gt;
          &lt;p&gt;&lt;b&gt;Are You Tall Enough for This Ride? Real-world Challenges in Code Generation&lt;&#x2F;b&gt;&lt;span&gt; (2025)&lt;&#x2F;span&gt;&lt;&#x2F;p&gt;
        &lt;&#x2F;td&gt;
        &lt;td&gt;
          &lt;p&gt;&lt;span title=&quot;Scala Days (Lausanne, Switzerland)&quot;&gt;🇨🇭&amp;nbsp;Scala&amp;nbsp;Days&lt;&#x2F;span&gt;&lt;&#x2F;p&gt;
        &lt;&#x2F;td&gt;
        &lt;td&gt;&lt;span&gt;&lt;span&gt;&lt;a href=&quot;https:&#x2F;&#x2F;polyvariant.github.io&#x2F;are-you-tall-enough&quot; target=&quot;_blank&quot;&gt;slides&lt;&#x2F;a&gt;&lt;&#x2F;span&gt;&lt;span&gt; | &lt;&#x2F;span&gt;&lt;span&gt;&lt;a href=&quot;https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=5bUuGhSmrIU&quot; target=&quot;_blank&quot;&gt;recording&lt;&#x2F;a&gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;td&gt;
      &lt;&#x2F;tr&gt;
      &lt;tr&gt;
        &lt;td&gt;
          &lt;p&gt;&lt;b&gt;All the projects I didn&#x27;t finish, and why it was worth it&lt;&#x2F;b&gt;&lt;span&gt; (2025)&lt;&#x2F;span&gt;&lt;&#x2F;p&gt;
        &lt;&#x2F;td&gt;
        &lt;td&gt;
          &lt;p&gt;&lt;span title=&quot;Scalar (Warsaw, Poland)&quot;&gt;🇵🇱&amp;nbsp;Scalar&lt;&#x2F;span&gt;&lt;&#x2F;p&gt;
        &lt;&#x2F;td&gt;
        &lt;td&gt;&lt;span&gt;&lt;span&gt;&lt;a href=&quot;https:&#x2F;&#x2F;speakerdeck.com&#x2F;kubukoz&#x2F;all-the-projects-i-didnt-finish-and-why-it-was-worth-it&quot; target=&quot;_blank&quot;&gt;slides&lt;&#x2F;a&gt;&lt;&#x2F;span&gt;&lt;span&gt; | &lt;&#x2F;span&gt;&lt;span&gt;&lt;a href=&quot;https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=EjY7ELQKSFM&quot; target=&quot;_blank&quot;&gt;recording&lt;&#x2F;a&gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;td&gt;
      &lt;&#x2F;tr&gt;
      &lt;tr&gt;
        &lt;td&gt;
          &lt;p&gt;&lt;b&gt;Scala Native and Nix - a match made in heaven??&lt;&#x2F;b&gt;&lt;span&gt; (2024)&lt;&#x2F;span&gt;&lt;&#x2F;p&gt;
        &lt;&#x2F;td&gt;
        &lt;td&gt;
          &lt;p&gt;&lt;span title=&quot;Wrocław Scala User Group (Wrocław, Poland)&quot;&gt;🇵🇱&amp;nbsp;Wrocław&amp;nbsp;Scala&amp;nbsp;User&amp;nbsp;Group&lt;&#x2F;span&gt;&lt;&#x2F;p&gt;
        &lt;&#x2F;td&gt;
        &lt;td&gt;&lt;span&gt;&lt;span&gt;&lt;a href=&quot;https:&#x2F;&#x2F;speakerdeck.com&#x2F;kubukoz&#x2F;scala-native-and-nix-a-match-made-in-heaven&quot; target=&quot;_blank&quot;&gt;slides&lt;&#x2F;a&gt;&lt;&#x2F;span&gt;&lt;span&gt; | &lt;&#x2F;span&gt;&lt;span&gt;&lt;a href=&quot;https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=old8N9u3QKU&quot; target=&quot;_blank&quot;&gt;recording&lt;&#x2F;a&gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;td&gt;
      &lt;&#x2F;tr&gt;
      &lt;tr&gt;
        &lt;td&gt;
          &lt;p&gt;&lt;b&gt;Calico - the functional frontend library you didn&#x27;t know you needed&lt;&#x2F;b&gt;&lt;span&gt; (2024)&lt;&#x2F;span&gt;&lt;&#x2F;p&gt;
        &lt;&#x2F;td&gt;
        &lt;td&gt;
          &lt;p&gt;&lt;span title=&quot;Art of Scala (Warsaw, Poland)&quot;&gt;🇵🇱&amp;nbsp;Art&amp;nbsp;of&amp;nbsp;Scala&lt;&#x2F;span&gt;&lt;&#x2F;p&gt;
        &lt;&#x2F;td&gt;
        &lt;td&gt;&lt;span&gt;&lt;span&gt;&lt;a href=&quot;https:&#x2F;&#x2F;kubukoz.github.io&#x2F;talks&#x2F;calico-intro&#x2F;slides&#x2F;build&#x2F;&quot; target=&quot;_blank&quot;&gt;slides&lt;&#x2F;a&gt;&lt;&#x2F;span&gt;&lt;span&gt; | &lt;&#x2F;span&gt;&lt;span&gt;&lt;a href=&quot;https:&#x2F;&#x2F;kubukoz.github.io&#x2F;talks&#x2F;calico-intro&#x2F;client&#x2F;dist&#x2F;&quot; target=&quot;_blank&quot;&gt;demo&lt;&#x2F;a&gt;&lt;&#x2F;span&gt;&lt;span&gt; | &lt;&#x2F;span&gt;&lt;span&gt;&lt;a href=&quot;https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=JP1FRRatcgI&quot; target=&quot;_blank&quot;&gt;recording&lt;&#x2F;a&gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;td&gt;
      &lt;&#x2F;tr&gt;
      &lt;tr&gt;
        &lt;td&gt;
          &lt;p&gt;&lt;b&gt;Foraging into embedded lands - writing Playdate games in Scala&lt;&#x2F;b&gt;&lt;span&gt; (2024)&lt;&#x2F;span&gt;&lt;&#x2F;p&gt;
        &lt;&#x2F;td&gt;
        &lt;td&gt;
          &lt;p&gt;&lt;span title=&quot;Scalar (Warsaw, Poland)&quot;&gt;🇵🇱&amp;nbsp;Scalar&lt;&#x2F;span&gt;&lt;&#x2F;p&gt;
        &lt;&#x2F;td&gt;
        &lt;td&gt;&lt;span&gt;&lt;span&gt;&lt;a href=&quot;https:&#x2F;&#x2F;speakerdeck.com&#x2F;kubukoz&#x2F;foraging-into-embedded-lands-the-path-to-writing-playdate-games-in-scala&quot; target=&quot;_blank&quot;&gt;slides&lt;&#x2F;a&gt;&lt;&#x2F;span&gt;&lt;span&gt; | &lt;&#x2F;span&gt;&lt;span&gt;&lt;a href=&quot;https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=paHZkg8Py1U&quot; target=&quot;_blank&quot;&gt;recording&lt;&#x2F;a&gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;td&gt;
      &lt;&#x2F;tr&gt;
      &lt;tr&gt;
        &lt;td&gt;
          &lt;p&gt;&lt;b&gt;Let&#x27;s build an IDE!&lt;&#x2F;b&gt;&lt;span&gt; (2023)&lt;&#x2F;span&gt;&lt;&#x2F;p&gt;
        &lt;&#x2F;td&gt;
        &lt;td&gt;
          &lt;p&gt;&lt;span title=&quot;Scala in the City (London, UK)&quot;&gt;🇬🇧&amp;nbsp;Scala&amp;nbsp;in&amp;nbsp;the&amp;nbsp;City&lt;&#x2F;span&gt;&lt;&#x2F;p&gt;
        &lt;&#x2F;td&gt;
        &lt;td&gt;&lt;span&gt;&lt;span&gt;&lt;a href=&quot;https:&#x2F;&#x2F;gist.github.com&#x2F;kubukoz&#x2F;5779d7d275e2c2241a1b2535235cf3a2&quot; target=&quot;_blank&quot;&gt;slides&lt;&#x2F;a&gt;&lt;&#x2F;span&gt;&lt;span&gt; | &lt;&#x2F;span&gt;&lt;span&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;kubukoz&#x2F;badlang&#x2F;tree&#x2F;smol&quot; target=&quot;_blank&quot;&gt;code&lt;&#x2F;a&gt;&lt;&#x2F;span&gt;&lt;span&gt; | &lt;&#x2F;span&gt;&lt;span&gt;&lt;a href=&quot;https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=VVHDWtcPkk4&quot; target=&quot;_blank&quot;&gt;recording&lt;&#x2F;a&gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;td&gt;
      &lt;&#x2F;tr&gt;
      &lt;tr&gt;
        &lt;td&gt;
          &lt;p&gt;&lt;b&gt;Adventures in the land of Language Servers&lt;&#x2F;b&gt;&lt;span&gt; (2023)&lt;&#x2F;span&gt;&lt;&#x2F;p&gt;
        &lt;&#x2F;td&gt;
        &lt;td&gt;
          &lt;p&gt;&lt;span title=&quot;Lambda Days (Kraków, Poland)&quot;&gt;🇵🇱&amp;nbsp;Lambda&amp;nbsp;Days&lt;&#x2F;span&gt;&lt;&#x2F;p&gt;
        &lt;&#x2F;td&gt;
        &lt;td&gt;&lt;span&gt;&lt;span&gt;&lt;a href=&quot;https:&#x2F;&#x2F;speakerdeck.com&#x2F;kubukoz&#x2F;adventures-in-the-land-of-language-servers&quot; target=&quot;_blank&quot;&gt;slides&lt;&#x2F;a&gt;&lt;&#x2F;span&gt;&lt;span&gt; | &lt;&#x2F;span&gt;&lt;span&gt;&lt;a href=&quot;https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=HF0xVrBZqtI&quot; target=&quot;_blank&quot;&gt;recording&lt;&#x2F;a&gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;td&gt;
      &lt;&#x2F;tr&gt;
      &lt;tr&gt;
        &lt;td&gt;
          &lt;p&gt;&lt;b&gt;Pain-free APIs with Smithy4s&lt;&#x2F;b&gt;&lt;span&gt; (2023)&lt;&#x2F;span&gt;&lt;&#x2F;p&gt;
        &lt;&#x2F;td&gt;
        &lt;td&gt;
          &lt;p&gt;&lt;span title=&quot;Scalar (Warsaw, Poland)&quot;&gt;🇵🇱&amp;nbsp;Scalar&lt;&#x2F;span&gt;&lt;span&gt;, &lt;&#x2F;span&gt;&lt;span title=&quot;Wrocław Scala User Group (Wrocław, Poland)&quot;&gt;🇵🇱&amp;nbsp;Wrocław&amp;nbsp;Scala&amp;nbsp;User&amp;nbsp;Group&lt;&#x2F;span&gt;&lt;&#x2F;p&gt;
        &lt;&#x2F;td&gt;
        &lt;td&gt;&lt;span&gt;&lt;span&gt;&lt;a href=&quot;https:&#x2F;&#x2F;speakerdeck.com&#x2F;kubukoz&#x2F;pain-free-apis-with-smithy4s&quot; target=&quot;_blank&quot;&gt;slides (EN)&lt;&#x2F;a&gt;&lt;&#x2F;span&gt;&lt;span&gt; | &lt;&#x2F;span&gt;&lt;span&gt;&lt;a href=&quot;https:&#x2F;&#x2F;speakerdeck.com&#x2F;kubukoz&#x2F;uwolnij-swoje-api-od-bolu-z-smithy4s-c06de564-4646-422e-befd-dabd4579e5e1&quot; target=&quot;_blank&quot;&gt;slides (PL)&lt;&#x2F;a&gt;&lt;&#x2F;span&gt;&lt;span&gt; | &lt;&#x2F;span&gt;&lt;span&gt;&lt;a href=&quot;https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=LvCDzDYfgsI&quot; target=&quot;_blank&quot;&gt;recording&lt;&#x2F;a&gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;td&gt;
      &lt;&#x2F;tr&gt;
      &lt;tr&gt;
        &lt;td&gt;
          &lt;p&gt;&lt;b&gt;Things I didn&#x27;t want to know about JVM bytecode but learned anyway&lt;&#x2F;b&gt;&lt;span&gt; (2022)&lt;&#x2F;span&gt;&lt;&#x2F;p&gt;
        &lt;&#x2F;td&gt;
        &lt;td&gt;
          &lt;p&gt;&lt;span title=&quot;Art of Scala (Warsaw, Poland)&quot;&gt;🇵🇱&amp;nbsp;Art&amp;nbsp;of&amp;nbsp;Scala&lt;&#x2F;span&gt;&lt;&#x2F;p&gt;
        &lt;&#x2F;td&gt;
        &lt;td&gt;&lt;span&gt;&lt;span&gt;&lt;a href=&quot;https:&#x2F;&#x2F;kubukoz.github.io&#x2F;talks&#x2F;things-jvm&#x2F;dist&quot; target=&quot;_blank&quot;&gt;slides&lt;&#x2F;a&gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;td&gt;
      &lt;&#x2F;tr&gt;
      &lt;tr&gt;
        &lt;td&gt;
          &lt;p&gt;&lt;b&gt;Nix for Scala folks&lt;&#x2F;b&gt;&lt;span&gt; (2022)&lt;&#x2F;span&gt;&lt;&#x2F;p&gt;
        &lt;&#x2F;td&gt;
        &lt;td&gt;
          &lt;p&gt;&lt;span title=&quot;Art of Scala (Warsaw, Poland)&quot;&gt;🇵🇱&amp;nbsp;Art&amp;nbsp;of&amp;nbsp;Scala&lt;&#x2F;span&gt;&lt;&#x2F;p&gt;
        &lt;&#x2F;td&gt;
        &lt;td&gt;&lt;span&gt;&lt;span&gt;&lt;a href=&quot;https:&#x2F;&#x2F;speakerdeck.com&#x2F;kubukoz&#x2F;nix-for-scala-folks&quot; target=&quot;_blank&quot;&gt;slides&lt;&#x2F;a&gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;td&gt;
      &lt;&#x2F;tr&gt;
      &lt;tr&gt;
        &lt;td&gt;
          &lt;p&gt;&lt;b&gt;Connecting the dots - building and structuring a functional application in Scala&lt;&#x2F;b&gt;&lt;span&gt; (2021)&lt;&#x2F;span&gt;&lt;&#x2F;p&gt;
        &lt;&#x2F;td&gt;
        &lt;td&gt;
          &lt;p&gt;&lt;span title=&quot;YOW! Lambda Jam (Remote &#x2F; Australia)&quot;&gt;🌎&#x2F;🇦🇺&amp;nbsp;YOW!&amp;nbsp;Lambda&amp;nbsp;Jam&lt;&#x2F;span&gt;&lt;&#x2F;p&gt;
        &lt;&#x2F;td&gt;
        &lt;td&gt;&lt;span&gt;&lt;span&gt;&lt;a href=&quot;https:&#x2F;&#x2F;speakerdeck.com&#x2F;kubukoz&#x2F;connecting-the-dots-building-and-structuring-a-functional-application-in-scala&quot; target=&quot;_blank&quot;&gt;slides&lt;&#x2F;a&gt;&lt;&#x2F;span&gt;&lt;span&gt; | &lt;&#x2F;span&gt;&lt;span&gt;&lt;a href=&quot;https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=JbMjq8VehLc&quot; target=&quot;_blank&quot;&gt;recording&lt;&#x2F;a&gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;td&gt;
      &lt;&#x2F;tr&gt;
      &lt;tr&gt;
        &lt;td&gt;
          &lt;p&gt;&lt;b&gt;Irresistible party tricks with cats-tagless&lt;&#x2F;b&gt;&lt;span&gt; (2020)&lt;&#x2F;span&gt;&lt;&#x2F;p&gt;
        &lt;&#x2F;td&gt;
        &lt;td&gt;
          &lt;p&gt;&lt;span title=&quot;Scala UA (Remote &#x2F; Kiyv, Ukraine)&quot;&gt;🌎&#x2F;🇺🇦&amp;nbsp;Scala&amp;nbsp;UA&lt;&#x2F;span&gt;&lt;&#x2F;p&gt;
        &lt;&#x2F;td&gt;
        &lt;td&gt;&lt;span&gt;&lt;span&gt;&lt;a href=&quot;https:&#x2F;&#x2F;speakerdeck.com&#x2F;kubukoz&#x2F;irresistible-party-tricks-with-cats-tagless&quot; target=&quot;_blank&quot;&gt;slides&lt;&#x2F;a&gt;&lt;&#x2F;span&gt;&lt;span&gt; | &lt;&#x2F;span&gt;&lt;span&gt;&lt;a href=&quot;https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=rzS9lkg3Cf8&quot; target=&quot;_blank&quot;&gt;recording&lt;&#x2F;a&gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;td&gt;
      &lt;&#x2F;tr&gt;
      &lt;tr&gt;
        &lt;td&gt;
          &lt;p&gt;&lt;b&gt;Keep your sanity with compositional tracing&lt;&#x2F;b&gt;&lt;span&gt; (2020)&lt;&#x2F;span&gt;&lt;&#x2F;p&gt;
        &lt;&#x2F;td&gt;
        &lt;td&gt;
          &lt;p&gt;&lt;span title=&quot;Typelevel Summit (New York, USA)&quot;&gt;🇺🇸&amp;nbsp;Typelevel&amp;nbsp;Summit&lt;&#x2F;span&gt;&lt;&#x2F;p&gt;
        &lt;&#x2F;td&gt;
        &lt;td&gt;&lt;span&gt;&lt;span&gt;&lt;a href=&quot;https:&#x2F;&#x2F;speakerdeck.com&#x2F;kubukoz&#x2F;keep-your-sanity-with-compositional-tracing&quot; target=&quot;_blank&quot;&gt;slides&lt;&#x2F;a&gt;&lt;&#x2F;span&gt;&lt;span&gt; | &lt;&#x2F;span&gt;&lt;span&gt;&lt;a href=&quot;https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=CKS8c1di3Z0&quot; target=&quot;_blank&quot;&gt;recording&lt;&#x2F;a&gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;td&gt;
      &lt;&#x2F;tr&gt;
      &lt;tr&gt;
        &lt;td&gt;
          &lt;p&gt;&lt;b&gt;Introduction to interruption&lt;&#x2F;b&gt;&lt;span&gt; (2019)&lt;&#x2F;span&gt;&lt;&#x2F;p&gt;
        &lt;&#x2F;td&gt;
        &lt;td&gt;
          &lt;p&gt;&lt;span title=&quot;Functional Scala (London, UK)&quot;&gt;🇬🇧&amp;nbsp;Functional&amp;nbsp;Scala&lt;&#x2F;span&gt;&lt;&#x2F;p&gt;
        &lt;&#x2F;td&gt;
        &lt;td&gt;&lt;span&gt;&lt;span&gt;&lt;a href=&quot;https:&#x2F;&#x2F;speakerdeck.com&#x2F;kubukoz&#x2F;introduction-to-interruption&quot; target=&quot;_blank&quot;&gt;slides&lt;&#x2F;a&gt;&lt;&#x2F;span&gt;&lt;span&gt; | &lt;&#x2F;span&gt;&lt;span&gt;&lt;a href=&quot;https:&#x2F;&#x2F;youtube.com&#x2F;watch?v=EQWAQF6Yj5Q&quot; target=&quot;_blank&quot;&gt;recording&lt;&#x2F;a&gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;td&gt;
      &lt;&#x2F;tr&gt;
      &lt;tr&gt;
        &lt;td&gt;
          &lt;p&gt;&lt;b&gt;A sky full of streams&lt;&#x2F;b&gt;&lt;span&gt; (2019)&lt;&#x2F;span&gt;&lt;&#x2F;p&gt;
        &lt;&#x2F;td&gt;
        &lt;td&gt;
          &lt;p&gt;&lt;span title=&quot;Scala World (Penrith, UK)&quot;&gt;🇬🇧&amp;nbsp;Scala&amp;nbsp;World&lt;&#x2F;span&gt;&lt;span&gt;, &lt;&#x2F;span&gt;&lt;span title=&quot;London Scala Community Day (London, UK)&quot;&gt;🇬🇧&amp;nbsp;London&amp;nbsp;Scala&amp;nbsp;Community&amp;nbsp;Day&lt;&#x2F;span&gt;&lt;&#x2F;p&gt;
        &lt;&#x2F;td&gt;
        &lt;td&gt;&lt;span&gt;&lt;span&gt;&lt;a href=&quot;https:&#x2F;&#x2F;speakerdeck.com&#x2F;kubukoz&#x2F;a-sky-full-of-streams&quot; target=&quot;_blank&quot;&gt;slides&lt;&#x2F;a&gt;&lt;&#x2F;span&gt;&lt;span&gt; | &lt;&#x2F;span&gt;&lt;span&gt;&lt;a href=&quot;https:&#x2F;&#x2F;youtube.com&#x2F;watch?v=oluPEFlXumw&quot; target=&quot;_blank&quot;&gt;recording&lt;&#x2F;a&gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;td&gt;
      &lt;&#x2F;tr&gt;
      &lt;tr&gt;
        &lt;td&gt;
          &lt;p&gt;&lt;b&gt;Flawless testing for the functional folks&lt;&#x2F;b&gt;&lt;span&gt; (2019)&lt;&#x2F;span&gt;&lt;&#x2F;p&gt;
        &lt;&#x2F;td&gt;
        &lt;td&gt;
          &lt;p&gt;&lt;span title=&quot;LX Scala (Lisbon, Portugal)&quot;&gt;🇵🇹&amp;nbsp;LX&amp;nbsp;Scala&lt;&#x2F;span&gt;&lt;span&gt;, &lt;&#x2F;span&gt;&lt;span title=&quot;Scala Italy (Bologna, Italy)&quot;&gt;🇮🇹&amp;nbsp;Scala&amp;nbsp;Italy&lt;&#x2F;span&gt;&lt;&#x2F;p&gt;
        &lt;&#x2F;td&gt;
        &lt;td&gt;&lt;span&gt;&lt;span&gt;&lt;a href=&quot;https:&#x2F;&#x2F;speakerdeck.com&#x2F;kubukoz&#x2F;flawless-testing-for-the-functional-folks&quot; target=&quot;_blank&quot;&gt;slides&lt;&#x2F;a&gt;&lt;&#x2F;span&gt;&lt;span&gt; | &lt;&#x2F;span&gt;&lt;span&gt;&lt;a href=&quot;https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=v9nv3dfYfw4&quot; target=&quot;_blank&quot;&gt;recording&lt;&#x2F;a&gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;td&gt;
      &lt;&#x2F;tr&gt;
      &lt;tr&gt;
        &lt;td&gt;
          &lt;p&gt;&lt;b&gt;A server is just a function: introduction to http4s&lt;&#x2F;b&gt;&lt;span&gt; (2019)&lt;&#x2F;span&gt;&lt;&#x2F;p&gt;
        &lt;&#x2F;td&gt;
        &lt;td&gt;
          &lt;p&gt;&lt;span title=&quot;Kraków Scala User Group (Kraków, Poland)&quot;&gt;🇵🇱&amp;nbsp;Kraków&amp;nbsp;Scala&amp;nbsp;User&amp;nbsp;Group&lt;&#x2F;span&gt;&lt;span&gt;, &lt;&#x2F;span&gt;&lt;span title=&quot;Lambda Conf (Boulder, USA)&quot;&gt;🇺🇸&amp;nbsp;Lambda&amp;nbsp;Conf&lt;&#x2F;span&gt;&lt;&#x2F;p&gt;
        &lt;&#x2F;td&gt;
        &lt;td&gt;&lt;span&gt;&lt;span&gt;&lt;a href=&quot;https:&#x2F;&#x2F;speakerdeck.com&#x2F;kubukoz&#x2F;a-server-is-just-a-function-introduction-to-http4s&quot; target=&quot;_blank&quot;&gt;slides&lt;&#x2F;a&gt;&lt;&#x2F;span&gt;&lt;span&gt; | &lt;&#x2F;span&gt;&lt;span&gt;&lt;a href=&quot;https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=9YsZ8loRVDA&quot; target=&quot;_blank&quot;&gt;recording 1&lt;&#x2F;a&gt;&lt;&#x2F;span&gt;&lt;span&gt; | &lt;&#x2F;span&gt;&lt;span&gt;&lt;a href=&quot;https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=jwKzluH5jFg&quot; target=&quot;_blank&quot;&gt;recording 2&lt;&#x2F;a&gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;td&gt;
      &lt;&#x2F;tr&gt;
      &lt;tr&gt;
        &lt;td&gt;
          &lt;p&gt;&lt;b&gt;Conquering concurrency with functional programming&lt;&#x2F;b&gt;&lt;span&gt; (2019)&lt;&#x2F;span&gt;&lt;&#x2F;p&gt;
        &lt;&#x2F;td&gt;
        &lt;td&gt;
          &lt;p&gt;&lt;span title=&quot;Scalar (Warsaw, Poland)&quot;&gt;🇵🇱&amp;nbsp;Scalar&lt;&#x2F;span&gt;&lt;span&gt;, &lt;&#x2F;span&gt;&lt;span title=&quot;Scala UA (Kiyv, Ukraine)&quot;&gt;🇺🇦&amp;nbsp;Scala&amp;nbsp;UA&lt;&#x2F;span&gt;&lt;&#x2F;p&gt;
        &lt;&#x2F;td&gt;
        &lt;td&gt;&lt;span&gt;&lt;span&gt;&lt;a href=&quot;https:&#x2F;&#x2F;speakerdeck.com&#x2F;kubukoz&#x2F;conquering-concurrency-with-functional-programming&quot; target=&quot;_blank&quot;&gt;slides&lt;&#x2F;a&gt;&lt;&#x2F;span&gt;&lt;span&gt; | &lt;&#x2F;span&gt;&lt;span&gt;&lt;a href=&quot;https:&#x2F;&#x2F;youtube.com&#x2F;watch?v=6z6C1EmxzaI&quot; target=&quot;_blank&quot;&gt;recording 1&lt;&#x2F;a&gt;&lt;&#x2F;span&gt;&lt;span&gt; | &lt;&#x2F;span&gt;&lt;span&gt;&lt;a href=&quot;https:&#x2F;&#x2F;youtube.com&#x2F;watch?v=fZO2lV2xjEo&quot; target=&quot;_blank&quot;&gt;recording 2&lt;&#x2F;a&gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;td&gt;
      &lt;&#x2F;tr&gt;
      &lt;tr&gt;
        &lt;td&gt;
          &lt;p&gt;&lt;b&gt;Lightweight, functional microservices with http4s and doobie&lt;&#x2F;b&gt;&lt;span&gt; (2019)&lt;&#x2F;span&gt;&lt;&#x2F;p&gt;
        &lt;&#x2F;td&gt;
        &lt;td&gt;
          &lt;p&gt;&lt;span title=&quot;Scala Night (Minsk, Belarus)&quot;&gt;🇧🇾&amp;nbsp;Scala&amp;nbsp;Night&lt;&#x2F;span&gt;&lt;&#x2F;p&gt;
        &lt;&#x2F;td&gt;
        &lt;td&gt;&lt;span&gt;&lt;span&gt;&lt;a href=&quot;https:&#x2F;&#x2F;kubukoz.github.io&#x2F;talks&#x2F;http4s-doobie-micro&#x2F;slides&#x2F;&quot; target=&quot;_blank&quot;&gt;slides&lt;&#x2F;a&gt;&lt;&#x2F;span&gt;&lt;span&gt; | &lt;&#x2F;span&gt;&lt;span&gt;&lt;a href=&quot;https:&#x2F;&#x2F;youtube.com&#x2F;watch?v=fQfMiUDsLv4&quot; target=&quot;_blank&quot;&gt;recording&lt;&#x2F;a&gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;td&gt;
      &lt;&#x2F;tr&gt;
      &lt;tr&gt;
        &lt;td&gt;
          &lt;p&gt;&lt;b&gt;Incremental purity&lt;&#x2F;b&gt;&lt;span&gt; (2018)&lt;&#x2F;span&gt;&lt;&#x2F;p&gt;
        &lt;&#x2F;td&gt;
        &lt;td&gt;
          &lt;p&gt;&lt;span title=&quot;Dublin Scala User Group (Dublin, Ireland)&quot;&gt;🇮🇪&amp;nbsp;Dublin&amp;nbsp;Scala&amp;nbsp;User&amp;nbsp;Group&lt;&#x2F;span&gt;&lt;&#x2F;p&gt;
        &lt;&#x2F;td&gt;
        &lt;td&gt;&lt;span&gt;&lt;span&gt;&lt;a href=&quot;https:&#x2F;&#x2F;kubukoz.github.io&#x2F;talks&#x2F;incremental-purity&#x2F;slides&#x2F;&quot; target=&quot;_blank&quot;&gt;slides&lt;&#x2F;a&gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;td&gt;
      &lt;&#x2F;tr&gt;
      &lt;tr&gt;
        &lt;td&gt;
          &lt;p&gt;&lt;b&gt;Typelevel alchemist (workshop)&lt;&#x2F;b&gt;&lt;span&gt; (2018)&lt;&#x2F;span&gt;&lt;&#x2F;p&gt;
        &lt;&#x2F;td&gt;
        &lt;td&gt;
          &lt;p&gt;&lt;span title=&quot;Scala Wave (Gdańsk, Poland)&quot;&gt;🇵🇱&amp;nbsp;Scala&amp;nbsp;Wave&lt;&#x2F;span&gt;&lt;&#x2F;p&gt;
        &lt;&#x2F;td&gt;
        &lt;td&gt;&lt;span&gt;&lt;span&gt;&lt;a href=&quot;https:&#x2F;&#x2F;kubukoz.github.io&#x2F;talks&#x2F;typelevel-alchemist&#x2F;slides&quot; target=&quot;_blank&quot;&gt;slides&lt;&#x2F;a&gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;td&gt;
      &lt;&#x2F;tr&gt;
      &lt;tr&gt;
        &lt;td&gt;
          &lt;p&gt;&lt;b&gt;Legacy code from day one&lt;&#x2F;b&gt;&lt;span&gt; (2018)&lt;&#x2F;span&gt;&lt;&#x2F;p&gt;
        &lt;&#x2F;td&gt;
        &lt;td&gt;
          &lt;p&gt;&lt;span title=&quot;Scala Matsuri (Tokyo, Japan)&quot;&gt;🇯🇵&amp;nbsp;Scala&amp;nbsp;Matsuri&lt;&#x2F;span&gt;&lt;&#x2F;p&gt;
        &lt;&#x2F;td&gt;
        &lt;td&gt;&lt;span&gt;&lt;span&gt;&lt;a href=&quot;https:&#x2F;&#x2F;kubukoz.github.io&#x2F;talks&#x2F;legacy-code-from-day-1&#x2F;slides&#x2F;#&#x2F;&quot; target=&quot;_blank&quot;&gt;slides&lt;&#x2F;a&gt;&lt;&#x2F;span&gt;&lt;span&gt; | &lt;&#x2F;span&gt;&lt;span&gt;&lt;a href=&quot;https:&#x2F;&#x2F;youtube.com&#x2F;watch?v=6FYISbNdanE&quot; target=&quot;_blank&quot;&gt;recording&lt;&#x2F;a&gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;td&gt;
      &lt;&#x2F;tr&gt;
      &lt;tr&gt;
        &lt;td&gt;
          &lt;p&gt;&lt;b&gt;Fantastic monads and where to find them&lt;&#x2F;b&gt;&lt;span&gt; (2017&#x2F;2018)&lt;&#x2F;span&gt;&lt;&#x2F;p&gt;
        &lt;&#x2F;td&gt;
        &lt;td&gt;
          &lt;p&gt;&lt;span title=&quot;Scala UA (Kiyv, Ukraine)&quot;&gt;🇺🇦&amp;nbsp;Scala&amp;nbsp;UA&lt;&#x2F;span&gt;&lt;span&gt;, &lt;&#x2F;span&gt;&lt;span title=&quot;BeeScala (Ljubljana, Slovenia)&quot;&gt;🇸🇮&amp;nbsp;BeeScala&lt;&#x2F;span&gt;&lt;span&gt;, &lt;&#x2F;span&gt;&lt;span title=&quot;flatMap(Oslo) (Oslo, Norway)&quot;&gt;🇳🇴&amp;nbsp;flatMap(Oslo)&lt;&#x2F;span&gt;&lt;span&gt;, &lt;&#x2F;span&gt;&lt;span title=&quot;LX Scala (Lisbon, Portugal)&quot;&gt;🇵🇹&amp;nbsp;LX&amp;nbsp;Scala&lt;&#x2F;span&gt;&lt;span&gt;, &lt;&#x2F;span&gt;&lt;span title=&quot;Berlin Scala User Group (Berlin, Germany)&quot;&gt;🇩🇪&amp;nbsp;Berlin&amp;nbsp;Scala&amp;nbsp;User&amp;nbsp;Group&lt;&#x2F;span&gt;&lt;&#x2F;p&gt;
        &lt;&#x2F;td&gt;
        &lt;td&gt;&lt;span&gt;&lt;span&gt;&lt;a href=&quot;https:&#x2F;&#x2F;kubukoz.github.io&#x2F;talks&#x2F;fantastic-monads-and-where-to-find-them&#x2F;slides&#x2F;#&#x2F;&quot; target=&quot;_blank&quot;&gt;slides&lt;&#x2F;a&gt;&lt;&#x2F;span&gt;&lt;span&gt; | &lt;&#x2F;span&gt;&lt;span&gt;&lt;a href=&quot;https:&#x2F;&#x2F;youtube.com&#x2F;watch?v=hOvyL28t0Yc&quot; target=&quot;_blank&quot;&gt;recording 1&lt;&#x2F;a&gt;&lt;&#x2F;span&gt;&lt;span&gt; | &lt;&#x2F;span&gt;&lt;span&gt;&lt;a href=&quot;https:&#x2F;&#x2F;youtube.com&#x2F;watch?v=HMs_F7LXTak&quot; target=&quot;_blank&quot;&gt;recording 2&lt;&#x2F;a&gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;td&gt;
      &lt;&#x2F;tr&gt;
      &lt;tr&gt;
        &lt;td&gt;
          &lt;p&gt;&lt;b&gt;7 sins of a Scala beginner&lt;&#x2F;b&gt;&lt;span&gt; (2016&#x2F;2017)&lt;&#x2F;span&gt;&lt;&#x2F;p&gt;
        &lt;&#x2F;td&gt;
        &lt;td&gt;
          &lt;p&gt;&lt;span title=&quot;Scala Wave (Gdańsk, Poland)&quot;&gt;🇵🇱&amp;nbsp;Scala&amp;nbsp;Wave&lt;&#x2F;span&gt;&lt;span&gt;, &lt;&#x2F;span&gt;&lt;span title=&quot;ScalaIO (Lyon, France)&quot;&gt;🇫🇷&amp;nbsp;ScalaIO&lt;&#x2F;span&gt;&lt;&#x2F;p&gt;
        &lt;&#x2F;td&gt;
        &lt;td&gt;&lt;span&gt;&lt;span&gt;&lt;a href=&quot;https:&#x2F;&#x2F;kubukoz.github.io&#x2F;talks&#x2F;seven-sins-of-a-scala-developer&#x2F;slides&#x2F;#&#x2F;&quot; target=&quot;_blank&quot;&gt;slides&lt;&#x2F;a&gt;&lt;&#x2F;span&gt;&lt;span&gt; | &lt;&#x2F;span&gt;&lt;span&gt;&lt;a href=&quot;https:&#x2F;&#x2F;youtu.be&#x2F;8ZAKrcnQ7Ww&quot; target=&quot;_blank&quot;&gt;recording 1&lt;&#x2F;a&gt;&lt;&#x2F;span&gt;&lt;span&gt; | &lt;&#x2F;span&gt;&lt;span&gt;&lt;a href=&quot;https:&#x2F;&#x2F;youtube.com&#x2F;watch?v=Z2YzCzfUNNk&quot; target=&quot;_blank&quot;&gt;recording 2&lt;&#x2F;a&gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;td&gt;
      &lt;&#x2F;tr&gt;
      &lt;tr&gt;
        &lt;td&gt;
          &lt;p&gt;&lt;b&gt;Macro sourcery&lt;&#x2F;b&gt;&lt;span&gt; (2016)&lt;&#x2F;span&gt;&lt;&#x2F;p&gt;
        &lt;&#x2F;td&gt;
        &lt;td&gt;
          &lt;p&gt;&lt;span title=&quot;Functional Tricity (Gdańsk, Poland)&quot;&gt;🇵🇱&amp;nbsp;Functional&amp;nbsp;Tricity&lt;&#x2F;span&gt;&lt;span&gt;, &lt;&#x2F;span&gt;&lt;span title=&quot;Kraków Scala User Group (Kraków, Poland)&quot;&gt;🇵🇱&amp;nbsp;Kraków&amp;nbsp;Scala&amp;nbsp;User&amp;nbsp;Group&lt;&#x2F;span&gt;&lt;&#x2F;p&gt;
        &lt;&#x2F;td&gt;
        &lt;td&gt;&lt;span&gt;&lt;span&gt;&lt;a href=&quot;https:&#x2F;&#x2F;kubukoz.github.io&#x2F;talks&#x2F;macro-sourcery&#x2F;slides&#x2F;#&#x2F;&quot; target=&quot;_blank&quot;&gt;slides&lt;&#x2F;a&gt;&lt;&#x2F;span&gt;&lt;span&gt; | &lt;&#x2F;span&gt;&lt;span&gt;&lt;a href=&quot;https:&#x2F;&#x2F;youtube.com&#x2F;watch?v=-ayx8NIDv4Q&quot; target=&quot;_blank&quot;&gt;recording 1&lt;&#x2F;a&gt;&lt;&#x2F;span&gt;&lt;span&gt; | &lt;&#x2F;span&gt;&lt;span&gt;&lt;a href=&quot;https:&#x2F;&#x2F;youtube.com&#x2F;watch?v=KvZlYAOtzmU&quot; target=&quot;_blank&quot;&gt;recording 2&lt;&#x2F;a&gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;td&gt;
      &lt;&#x2F;tr&gt;
    &lt;&#x2F;tbody&gt;
  &lt;&#x2F;table&gt;
&lt;&#x2F;div&gt;
&lt;!-- GENERATED TALKS END --&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Learning vim by blogging</title>
        <published>2019-04-30T00:00:00+00:00</published>
        <updated>2019-04-30T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.kubukoz.com/learning-vim-by-blogging/"/>
        <id>https://blog.kubukoz.com/learning-vim-by-blogging/</id>
        
        <summary type="html">&lt;p&gt;I decided that writing about something is one of the easiest ways to learn it for a longer period of time. In this blog post, which I hope to update once in a while, I&#x27;ll be sharing my findings about Vim (neovim).&lt;&#x2F;p&gt;
&lt;p&gt;This post will be written exclusively in (variants of) Vim.&lt;&#x2F;p&gt;
</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>Data coherence at large</title>
        <published>2019-04-14T00:00:00+00:00</published>
        <updated>2019-04-14T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.kubukoz.com/data-coherence-at-large/"/>
        <id>https://blog.kubukoz.com/data-coherence-at-large/</id>
        
        <summary type="html">&lt;p&gt;A week ago, while coming back from &lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;http:&#x2F;&#x2F;scalar-conf.com&quot;&gt;Scalar&lt;&#x2F;a&gt;, I was thinking about coherent data. In particular, I was wondering if it&#x27;s possible to perform certain simple validations and encode their results in types. Here&#x27;s what i found.&lt;&#x2F;p&gt;
</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>What makes a function pure?</title>
        <published>2018-12-02T00:00:00+00:00</published>
        <updated>2018-12-02T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.kubukoz.com/what-makes-a-function-pure/"/>
        <id>https://blog.kubukoz.com/what-makes-a-function-pure/</id>
        
        <summary type="html">&lt;p&gt;Everyone knows that naming things is hard. In fact, often it seems to be one of the hardest things
in computer science and programming in general. In addition, sometimes a single word has multiple meanings,
or worse - a term is explained in a variety of slightly differing definitions. One such term is a pure function.&lt;&#x2F;p&gt;
</summary>
        
    </entry>
</feed>
