<?xml version='1.0' encoding='UTF-8'?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <id>https://jdsalaro.com</id>
  <title>Jayson Salazar Rodriguez | @jdsalaro | Blog</title>
  <updated>2023-11-16T14:25:20.033374+00:00</updated>
  <link href="https://jdsalaro.com"/>
  <link href="https://jdsalaro.com/blog/atom.xml" rel="self"/>
  <generator uri="https://ablog.readthedocs.io/" version="0.11.4.post1">ABlog</generator>
  <subtitle>@jdsalaro</subtitle>
  <entry>
    <id>https://jdsalaro.com/tutorial/git-configuration-folder-dependent-conditional-includes/</id>
    <title>🪆  Multiple Git Configurations and Identities with Folder-Dependent Includes for GitLab, GitHub et al</title>
    <updated>2023-11-14T00:00:00+00:00</updated>
    <author>
      <name>Jayson Salazar Rodriguez</name>
    </author>
    <content type="html">&lt;p class="ablog-post-excerpt"&gt;&lt;p&gt;People, shout out to some of my friends and collegues, like to configure their development environments in a myriad of ways. Even setting one’s Git author identity, a seemingly boring and mundane task, is sometimes approached in the most creative ways. This, of course, includes not only configuring &lt;code class="docutils literal notranslate"&gt;&lt;span class="pre"&gt;git&lt;/span&gt;&lt;/code&gt;, the tool itself, but also any relevant repositories as well as the platforms where those eventually end up hosted. In this brief tutorial I show how to properly handle multiple identities and configurations as well as how to manage Git projects which might be spread throughout multiple Git backends.&lt;/p&gt;
&lt;p&gt;Please beware this tutorial will likely only be relevant or interesting to you if you already have some experience with Git, otherwise this sort of setup may feel like unnecessary or overly complicated. In case you are new to Git, I highly recommend you go through &lt;a class="reference internal" href="../tutorial/git/"&gt;&lt;span class="doc"&gt;Git for Beginners: Zero to Hero 🐙&lt;/span&gt;&lt;/a&gt; and also have a look at &lt;a class="reference internal" href="../cheatsheet/git/"&gt;&lt;span class="doc"&gt;Git Cheatsheet: Commands, Tips and Tricks 📝&lt;/span&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;img alt="https://jdsalaro.com/_images/linus-fake-commit.png" src="https://jdsalaro.com/_images/linus-fake-commit.png" /&gt;&lt;/p&gt;

    &lt;script type="text/x-thebe-config"&gt;
    {
        requestKernel: true,
        binderOptions: {
            repo: "binder-examples/jupyter-stacks-datascience",
            ref: "master",
        },
        codeMirrorConfig: {
            theme: "abcdef",
            mode: "python"
        },
        kernelOptions: {
            name: "python3",
            path: "./."
        },
        predefinedOutput: true
    }
    &lt;/script&gt;
    &lt;script&gt;kernelName = 'python3'&lt;/script&gt;</content>
    <link href="https://jdsalaro.com/tutorial/git-configuration-folder-dependent-conditional-includes/" rel="alternate"/>
    <summary>People, shout out to some of my friends and collegues, like to configure their development environments in a myriad of ways. Even setting one’s Git author identity, a seemingly boring and mundane task, is sometimes approached in the most creative ways. This, of course, includes not only configuring git, the tool itself, but also any relevant repositories as well as the platforms where those eventually end up hosted. In this brief tutorial I show how to properly handle multiple identities and configurations as well as how to manage Git projects which might be spread throughout multiple Git backends.Please beware this tutorial will likely only be relevant or interesting to you if you already have some experience with Git, otherwise this sort of setup may feel like unnecessary or overly complicated. In case you are new to Git, I highly recommend you go through /tutorial/git and also have a look at /cheatsheet/git.</summary>
    <category term="git" label="git"/>
    <category term="github" label="github"/>
    <category term="gitlab" label="gitlab"/>
    <category term="pin" label="pin"/>
    <category term="technology" label="technology"/>
    <category term="workspacecustomization" label="workspace customization"/>
    <published>2023-11-14T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://jdsalaro.com/bookmark/quote/marcus-aurelius-meditations/</id>
    <title>Excellent Quotes from Marcus Aurelius’ Meditations</title>
    <updated>2023-09-28T00:00:00+00:00</updated>
    <author>
      <name>Jayson Salazar Rodriguez</name>
    </author>
    <content type="html">&lt;p class="ablog-post-excerpt"&gt;&lt;p&gt;While on a military campaign which started in 170 and ended in 180, Marcus Aurelius&lt;a class="footnote-reference brackets" href="#author" id="id1" role="doc-noteref"&gt;&lt;span class="fn-bracket"&gt;[&lt;/span&gt;1&lt;span class="fn-bracket"&gt;]&lt;/span&gt;&lt;/a&gt; wrote his Meditations in Greek for his own guidance and self-development. The original title of the work, if it had one, is unknown. ‘Meditations’ – as well as other titles including ‘To Himself’ – were adopted later. He had a logical mind, and his notes were representative of Stoic philosophy and spirituality.&lt;/p&gt;
&lt;/p&gt;

    &lt;script type="text/x-thebe-config"&gt;
    {
        requestKernel: true,
        binderOptions: {
            repo: "binder-examples/jupyter-stacks-datascience",
            ref: "master",
        },
        codeMirrorConfig: {
            theme: "abcdef",
            mode: "python"
        },
        kernelOptions: {
            name: "python3",
            path: "./."
        },
        predefinedOutput: true
    }
    &lt;/script&gt;
    &lt;script&gt;kernelName = 'python3'&lt;/script&gt;</content>
    <link href="https://jdsalaro.com/bookmark/quote/marcus-aurelius-meditations/" rel="alternate"/>
    <summary>While on a military campaign which started in 170 and ended in 180, Marcus Aurelius1 wrote his Meditations in Greek for his own guidance and self-development. The original title of the work, if it had one, is unknown. ‘Meditations’ – as well as other titles including ‘To Himself’ – were adopted later. He had a logical mind, and his notes were representative of Stoic philosophy and spirituality.</summary>
    <category term="innerwork" label="inner work"/>
    <category term="quote" label="quote"/>
    <category term="resilience" label="resilience"/>
    <category term="stoicism" label="stoicism"/>
    <published>2023-09-28T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://jdsalaro.com/bookmark/quote/benjamin-franklin-liberty-security-fear-wealth-power/</id>
    <title>Benjamin Franklin on the Tension between Liberty, Virtue, Safety, Wealth and Power</title>
    <updated>2023-09-28T00:00:00+00:00</updated>
    <author>
      <name>Jayson Salazar Rodriguez</name>
    </author>
    <content type="html">&lt;p class="ablog-post-excerpt"&gt;&lt;p&gt;Those who would give up essential Liberty, to purchase a little temporary Safety, deserve neither Liberty nor Safety.&lt;/p&gt;
&lt;/p&gt;

    &lt;script type="text/x-thebe-config"&gt;
    {
        requestKernel: true,
        binderOptions: {
            repo: "binder-examples/jupyter-stacks-datascience",
            ref: "master",
        },
        codeMirrorConfig: {
            theme: "abcdef",
            mode: "python"
        },
        kernelOptions: {
            name: "python3",
            path: "./."
        },
        predefinedOutput: true
    }
    &lt;/script&gt;
    &lt;script&gt;kernelName = 'python3'&lt;/script&gt;</content>
    <link href="https://jdsalaro.com/bookmark/quote/benjamin-franklin-liberty-security-fear-wealth-power/" rel="alternate"/>
    <summary>Those who would give up essential Liberty, to purchase a little temporary Safety, deserve neither Liberty nor Safety.</summary>
    <category term="innerwork" label="inner work"/>
    <category term="pin" label="pin"/>
    <category term="quote" label="quote"/>
    <category term="resilience" label="resilience"/>
    <category term="stoicism" label="stoicism"/>
    <published>2023-09-28T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://jdsalaro.com/bookmark/movie/ghost-in-the-shell-2017/</id>
    <title>Ghost in the Shell (2017)</title>
    <updated>2023-09-24T00:00:00+00:00</updated>
    <author>
      <name>Jayson Salazar Rodriguez</name>
    </author>
    <content type="html">&lt;p class="ablog-post-excerpt"&gt;&lt;p&gt;&lt;a class="reference external" href="https://en.wikipedia.org/wiki/Ghost_in_the_Shell_(2017_film)"&gt;Read more on Wikipedia&lt;/a&gt;&lt;/p&gt;
&lt;/p&gt;

    &lt;script type="text/x-thebe-config"&gt;
    {
        requestKernel: true,
        binderOptions: {
            repo: "binder-examples/jupyter-stacks-datascience",
            ref: "master",
        },
        codeMirrorConfig: {
            theme: "abcdef",
            mode: "python"
        },
        kernelOptions: {
            name: "python3",
            path: "./."
        },
        predefinedOutput: true
    }
    &lt;/script&gt;
    &lt;script&gt;kernelName = 'python3'&lt;/script&gt;</content>
    <link href="https://jdsalaro.com/bookmark/movie/ghost-in-the-shell-2017/" rel="alternate"/>
    <summary>Read more on Wikipedia</summary>
    <category term="cyberpunk" label="cyberpunk"/>
    <category term="movie" label="movie"/>
    <published>2023-09-24T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://jdsalaro.com/bookmark/poem/ryokan-nothing-better-worse/</id>
    <title>🍂 Ryōkan: In the scenery of spring …</title>
    <updated>2023-09-23T00:00:00+00:00</updated>
    <author>
      <name>Jayson Salazar Rodriguez</name>
    </author>
    <content type="html">&lt;p class="ablog-post-excerpt"&gt;&lt;p&gt;&lt;a class="reference external" href="https://en.wikiquote.org/wiki/Ry%C5%8Dkan"&gt;Read more on Wikiquote&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This poem by Ryōkan was quoted by Alan Watts&lt;a class="footnote-reference brackets" href="#alanwatts" id="id1" role="doc-noteref"&gt;&lt;span class="fn-bracket"&gt;[&lt;/span&gt;1&lt;span class="fn-bracket"&gt;]&lt;/span&gt;&lt;/a&gt; in one of his lectures&lt;a class="footnote-reference brackets" href="#wattspoemquote" id="id2" role="doc-noteref"&gt;&lt;span class="fn-bracket"&gt;[&lt;/span&gt;2&lt;span class="fn-bracket"&gt;]&lt;/span&gt;&lt;/a&gt;; this was what originally motivated me to look for it in full and reproduce it here. The source of the painting is not related to Ryōkan&lt;a class="footnote-reference brackets" href="#ukiyoeorgtoshiyoshida" id="id3" role="doc-noteref"&gt;&lt;span class="fn-bracket"&gt;[&lt;/span&gt;3&lt;span class="fn-bracket"&gt;]&lt;/span&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;img alt="https://jdsalaro.com/_images/toshi-yoshida-birds-of-the-seasons-set-of-four-horizontal.webp" src="https://jdsalaro.com/_images/toshi-yoshida-birds-of-the-seasons-set-of-four-horizontal.webp" /&gt;&lt;/p&gt;

    &lt;script type="text/x-thebe-config"&gt;
    {
        requestKernel: true,
        binderOptions: {
            repo: "binder-examples/jupyter-stacks-datascience",
            ref: "master",
        },
        codeMirrorConfig: {
            theme: "abcdef",
            mode: "python"
        },
        kernelOptions: {
            name: "python3",
            path: "./."
        },
        predefinedOutput: true
    }
    &lt;/script&gt;
    &lt;script&gt;kernelName = 'python3'&lt;/script&gt;</content>
    <link href="https://jdsalaro.com/bookmark/poem/ryokan-nothing-better-worse/" rel="alternate"/>
    <summary>Read more on WikiquoteThis poem by Ryōkan was quoted by Alan Watts1 in one of his lectures2; this was what originally motivated me to look for it in full and reproduce it here. The source of the painting is not related to Ryōkan3.</summary>
    <category term="haiku" label="haiku"/>
    <category term="nature" label="nature"/>
    <category term="non-duality" label="non-duality"/>
    <category term="pin" label="pin"/>
    <category term="poem" label="poem"/>
    <category term="ukiyo-e" label="ukiyo-e"/>
    <published>2023-09-23T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://jdsalaro.com/howto/fix-pipenv-runtimeerror-no-dist-info-has-pip/</id>
    <title>Fix runtimeerror: no .dist-info has pip in broken pipenv installs and virtualenv wheels</title>
    <updated>2023-09-19T00:00:00+00:00</updated>
    <author>
      <name>Jayson Salazar Rodriguez</name>
    </author>
    <content type="html">&lt;p class="ablog-post-excerpt"&gt;&lt;p&gt;As mentioned in &lt;a class="reference internal" href="../howto/fix-pipenv-asdf-runtimeerror-no-dist-info-has-pip/"&gt;&lt;span class="doc"&gt;❌ RuntimeError: no .dist-info at ... has pip for pipenv install managed via asdf-vm&lt;/span&gt;&lt;/a&gt;, I was initially confronted with issue some weeks ago but could attribute and fix the problem to &lt;code class="docutils literal notranslate"&gt;&lt;span class="pre"&gt;asdf&lt;/span&gt;&lt;/code&gt; misbehaving. The issue, however, resurfaced and that was no longer the case. To my surprise, &lt;code class="docutils literal notranslate"&gt;&lt;span class="pre"&gt;asdf&lt;/span&gt;&lt;/code&gt; seemed to be behaving as expected and was therefore of no relevance to the problem I was observing:&lt;/p&gt;
&lt;p&gt;If you are experiencing this problem and do not use &lt;code class="docutils literal notranslate"&gt;&lt;span class="pre"&gt;asdf&lt;/span&gt;&lt;/code&gt;, this post might be of help as I managed to further narrow down its root cause.&lt;/p&gt;
&lt;/p&gt;

    &lt;script type="text/x-thebe-config"&gt;
    {
        requestKernel: true,
        binderOptions: {
            repo: "binder-examples/jupyter-stacks-datascience",
            ref: "master",
        },
        codeMirrorConfig: {
            theme: "abcdef",
            mode: "python"
        },
        kernelOptions: {
            name: "python3",
            path: "./."
        },
        predefinedOutput: true
    }
    &lt;/script&gt;
    &lt;script&gt;kernelName = 'python3'&lt;/script&gt;</content>
    <link href="https://jdsalaro.com/howto/fix-pipenv-runtimeerror-no-dist-info-has-pip/" rel="alternate"/>
    <summary>As mentioned in /howto/fix-pipenv-asdf-runtimeerror-no-dist-info-has-pip, I was initially confronted with issue some weeks ago but could attribute and fix the problem to asdf misbehaving. The issue, however, resurfaced and that was no longer the case. To my surprise, asdf seemed to be behaving as expected and was therefore of no relevance to the problem I was observing:If you are experiencing this problem and do not use asdf, this post might be of help as I managed to further narrow down its root cause.</summary>
    <category term="pipenv" label="pipenv"/>
    <category term="python" label="python"/>
    <category term="troubleshooting" label="troubleshooting"/>
    <category term="virtualenv" label="virtualenv"/>
    <published>2023-09-19T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://jdsalaro.com/poem/folklore-night-sky-overcoming-ancestry/</id>
    <title>Folklore Night Sky: Overcoming Ancestry</title>
    <updated>2023-09-09T00:00:00+00:00</updated>
    <author>
      <name>Jayson Salazar Rodriguez</name>
    </author>
    <content type="html">&lt;p class="ablog-post-excerpt"&gt;&lt;p&gt;This poem was originally written for KAMINA’s&lt;a class="footnote-reference brackets" href="#kamina" id="id1" role="doc-noteref"&gt;&lt;span class="fn-bracket"&gt;[&lt;/span&gt;1&lt;span class="fn-bracket"&gt;]&lt;/span&gt;&lt;/a&gt; act at the Heidelberger Literaturherbst 2023&lt;a class="footnote-reference brackets" href="#literaturherbst" id="id2" role="doc-noteref"&gt;&lt;span class="fn-bracket"&gt;[&lt;/span&gt;2&lt;span class="fn-bracket"&gt;]&lt;/span&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;/p&gt;

    &lt;script type="text/x-thebe-config"&gt;
    {
        requestKernel: true,
        binderOptions: {
            repo: "binder-examples/jupyter-stacks-datascience",
            ref: "master",
        },
        codeMirrorConfig: {
            theme: "abcdef",
            mode: "python"
        },
        kernelOptions: {
            name: "python3",
            path: "./."
        },
        predefinedOutput: true
    }
    &lt;/script&gt;
    &lt;script&gt;kernelName = 'python3'&lt;/script&gt;</content>
    <link href="https://jdsalaro.com/poem/folklore-night-sky-overcoming-ancestry/" rel="alternate"/>
    <summary>This poem was originally written for KAMINA’s1 act at the Heidelberger Literaturherbst 20232.</summary>
    <category term="ancestry" label="ancestry"/>
    <category term="art" label="art"/>
    <category term="growth" label="growth"/>
    <category term="pin" label="pin"/>
    <published>2023-09-09T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://jdsalaro.com/bookmark/quote/kafka-nietzsche-antonio-machado-paths-wege/</id>
    <title>Paths are Made by Walking</title>
    <updated>2023-09-04T00:00:00+00:00</updated>
    <author>
      <name>Jayson Salazar Rodriguez</name>
    </author>
    <content type="html">&lt;p class="ablog-post-excerpt"&gt;&lt;p&gt;paths are made by walking&lt;/p&gt;
&lt;p&gt;This aphorism is also found in German as follows:&lt;/p&gt;
&lt;p&gt;Wege entstehen dadurch, dass wir sie gehen&lt;/p&gt;
&lt;img alt="https://jdsalaro.com/_images/adrianus-van-everdingen-horseman-forest-path-1856.jpg" src="https://jdsalaro.com/_images/adrianus-van-everdingen-horseman-forest-path-1856.jpg" /&gt;&lt;/p&gt;

    &lt;script type="text/x-thebe-config"&gt;
    {
        requestKernel: true,
        binderOptions: {
            repo: "binder-examples/jupyter-stacks-datascience",
            ref: "master",
        },
        codeMirrorConfig: {
            theme: "abcdef",
            mode: "python"
        },
        kernelOptions: {
            name: "python3",
            path: "./."
        },
        predefinedOutput: true
    }
    &lt;/script&gt;
    &lt;script&gt;kernelName = 'python3'&lt;/script&gt;</content>
    <link href="https://jdsalaro.com/bookmark/quote/kafka-nietzsche-antonio-machado-paths-wege/" rel="alternate"/>
    <summary>paths are made by walkingThis aphorism is also found in German as follows:Wege entstehen dadurch, dass wir sie gehen</summary>
    <category term="ephemerality" label="ephemerality"/>
    <category term="quote" label="quote"/>
    <category term="uncertainty" label="uncertainty"/>
    <published>2023-09-04T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://jdsalaro.com/poem/freier-fall-migrantenspsyche/</id>
    <title>Freier Fall: ein Gedicht über die Migrantenpsyche</title>
    <updated>2023-08-29T00:00:00+00:00</updated>
    <author>
      <name>Jayson Salazar Rodriguez</name>
    </author>
    <content type="html">&lt;p class="ablog-post-excerpt"&gt;&lt;p&gt;Dieses Gedicht wurde ursprünglich für den Akt von KAMINA&lt;a class="footnote-reference brackets" href="#kamina" id="id1" role="doc-noteref"&gt;&lt;span class="fn-bracket"&gt;[&lt;/span&gt;1&lt;span class="fn-bracket"&gt;]&lt;/span&gt;&lt;/a&gt; beim Heidelberger Literaturherbst 2023&lt;a class="footnote-reference brackets" href="#literaturherbst" id="id2" role="doc-noteref"&gt;&lt;span class="fn-bracket"&gt;[&lt;/span&gt;2&lt;span class="fn-bracket"&gt;]&lt;/span&gt;&lt;/a&gt; geschrieben.&lt;/p&gt;
&lt;/p&gt;

    &lt;script type="text/x-thebe-config"&gt;
    {
        requestKernel: true,
        binderOptions: {
            repo: "binder-examples/jupyter-stacks-datascience",
            ref: "master",
        },
        codeMirrorConfig: {
            theme: "abcdef",
            mode: "python"
        },
        kernelOptions: {
            name: "python3",
            path: "./."
        },
        predefinedOutput: true
    }
    &lt;/script&gt;
    &lt;script&gt;kernelName = 'python3'&lt;/script&gt;</content>
    <link href="https://jdsalaro.com/poem/freier-fall-migrantenspsyche/" rel="alternate"/>
    <summary>Dieses Gedicht wurde ursprünglich für den Akt von KAMINA1 beim Heidelberger Literaturherbst 20232 geschrieben.</summary>
    <category term="belonging" label="belonging"/>
    <category term="freedom" label="freedom"/>
    <category term="growth" label="growth"/>
    <category term="migration" label="migration"/>
    <category term="pin" label="pin"/>
    <published>2023-08-29T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://jdsalaro.com/howto/fix-pipenv-asdf-runtimeerror-no-dist-info-has-pip/</id>
    <title>❌ RuntimeError: no .dist-info at ... has pip for pipenv install managed via asdf-vm1</title>
    <updated>2023-08-22T00:00:00+00:00</updated>
    <author>
      <name>Jayson Salazar Rodriguez</name>
    </author>
    <content type="html">&lt;p class="ablog-post-excerpt"&gt;&lt;p&gt;&lt;span style="font-size: 1.5em;"&gt;ℹ️&lt;/span&gt; Several folks who are not using &lt;code class="docutils literal notranslate"&gt;&lt;span class="pre"&gt;asdf-vm&lt;/span&gt;&lt;/code&gt; but are facing similar issues have asked me for advice, I’ve detailed how you can troubleshoot and fix this issue on &lt;a class="reference internal" href="../howto/fix-pipenv-runtimeerror-no-dist-info-has-pip/"&gt;&lt;span class="doc"&gt;Fix runtimeerror: no .dist-info has pip in broken pipenv installs and virtualenv wheels&lt;/span&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Having said that, I’ve mentioned in several occasions that &lt;code class="docutils literal notranslate"&gt;&lt;span class="pre"&gt;pipenv&lt;/span&gt;&lt;/code&gt; is my virtual environment manager of choice in Python projects and that I use it in tandem with asdf-vm&lt;a class="footnote-reference brackets" href="#asdfvm" id="id2" role="doc-noteref"&gt;&lt;span class="fn-bracket"&gt;[&lt;/span&gt;1&lt;span class="fn-bracket"&gt;]&lt;/span&gt;&lt;/a&gt;, which allows me to seemlesly switch between Python versions depending on the project I’m working on. However, after updating one of my Ubuntu test systems (20.04.6 LTS) and installing a couple of Python versions via &lt;code class="docutils literal notranslate"&gt;&lt;span class="pre"&gt;asdf-vm&lt;/span&gt;&lt;/code&gt;, &lt;code class="docutils literal notranslate"&gt;&lt;span class="pre"&gt;pipenv&lt;/span&gt;&lt;/code&gt; suddenly stopped working. In this brief HOWTO I hope to provide a couple of hints as to how you may debug and ultimately fix a PipEnv installation which finds itself in a weird state.&lt;/p&gt;
&lt;/p&gt;

    &lt;script type="text/x-thebe-config"&gt;
    {
        requestKernel: true,
        binderOptions: {
            repo: "binder-examples/jupyter-stacks-datascience",
            ref: "master",
        },
        codeMirrorConfig: {
            theme: "abcdef",
            mode: "python"
        },
        kernelOptions: {
            name: "python3",
            path: "./."
        },
        predefinedOutput: true
    }
    &lt;/script&gt;
    &lt;script&gt;kernelName = 'python3'&lt;/script&gt;</content>
    <link href="https://jdsalaro.com/howto/fix-pipenv-asdf-runtimeerror-no-dist-info-has-pip/" rel="alternate"/>
    <summary>&lt;span style="font-size: 1.5em;"&gt;ℹ️&lt;/span&gt; Several folks who are not using asdf-vm but are facing similar issues have asked me for advice, I’ve detailed how you can troubleshoot and fix this issue on /howto/fix-pipenv-runtimeerror-no-dist-info-has-pip.Having said that, I’ve mentioned in several occasions that pipenv is my virtual environment manager of choice in Python projects and that I use it in tandem with asdf-vm1, which allows me to seemlesly switch between Python versions depending on the project I’m working on. However, after updating one of my Ubuntu test systems (20.04.6 LTS) and installing a couple of Python versions via asdf-vm, pipenv suddenly stopped working. In this brief HOWTO I hope to provide a couple of hints as to how you may debug and ultimately fix a PipEnv installation which finds itself in a weird state.</summary>
    <category term="asdf-vm" label="asdf-vm"/>
    <category term="pipenv" label="pipenv"/>
    <category term="python" label="python"/>
    <category term="troubleshooting" label="troubleshooting"/>
    <category term="virtualenv" label="virtualenv"/>
    <published>2023-08-22T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://jdsalaro.com/poem/calipso-amores-complicados/</id>
    <title>Calipso: amores complicados</title>
    <updated>2023-08-19T00:00:00+00:00</updated>
    <author>
      <name>Jayson Salazar Rodriguez</name>
    </author>
    <content type="html">&lt;p class="ablog-post-excerpt"&gt;&lt;p&gt;En la mitología griega Calipso (Καλυψώ: «la que oculta») era una ninfa que vivía en la isla de Ogigia, donde, según la Odisea de Homero, detuvo a Odiseo durante siete años &lt;a class="footnote-reference brackets" href="#calipso" id="id2" role="doc-noteref"&gt;&lt;span class="fn-bracket"&gt;[&lt;/span&gt;2&lt;span class="fn-bracket"&gt;]&lt;/span&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;img alt="https://jdsalaro.com/_images/calypso-waiting.jpg" src="https://jdsalaro.com/_images/calypso-waiting.jpg" /&gt;&lt;/p&gt;

    &lt;script type="text/x-thebe-config"&gt;
    {
        requestKernel: true,
        binderOptions: {
            repo: "binder-examples/jupyter-stacks-datascience",
            ref: "master",
        },
        codeMirrorConfig: {
            theme: "abcdef",
            mode: "python"
        },
        kernelOptions: {
            name: "python3",
            path: "./."
        },
        predefinedOutput: true
    }
    &lt;/script&gt;
    &lt;script&gt;kernelName = 'python3'&lt;/script&gt;</content>
    <link href="https://jdsalaro.com/poem/calipso-amores-complicados/" rel="alternate"/>
    <summary>En la mitología griega Calipso (Καλυψώ: «la que oculta») era una ninfa que vivía en la isla de Ogigia, donde, según la Odisea de Homero, detuvo a Odiseo durante siete años 2.</summary>
    <category term="art" label="art"/>
    <category term="communication" label="communication"/>
    <category term="love" label="love"/>
    <category term="pin" label="pin"/>
    <category term="relationships" label="relationships"/>
    <published>2023-08-19T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://jdsalaro.com/bookmark/quote/newton-chartres-shoulders-giants/</id>
    <title>Standing on the Shoulders of Giants</title>
    <updated>2023-08-07T00:00:00+00:00</updated>
    <author>
      <name>Jayson Salazar Rodriguez</name>
    </author>
    <content type="html">&lt;p class="ablog-post-excerpt"&gt;&lt;p&gt;If I have seen further, it is by standing on the shoulders of giants.&lt;/p&gt;
&lt;/p&gt;

    &lt;script type="text/x-thebe-config"&gt;
    {
        requestKernel: true,
        binderOptions: {
            repo: "binder-examples/jupyter-stacks-datascience",
            ref: "master",
        },
        codeMirrorConfig: {
            theme: "abcdef",
            mode: "python"
        },
        kernelOptions: {
            name: "python3",
            path: "./."
        },
        predefinedOutput: true
    }
    &lt;/script&gt;
    &lt;script&gt;kernelName = 'python3'&lt;/script&gt;</content>
    <link href="https://jdsalaro.com/bookmark/quote/newton-chartres-shoulders-giants/" rel="alternate"/>
    <summary>If I have seen further, it is by standing on the shoulders of giants.</summary>
    <category term="progress" label="progress"/>
    <category term="quote" label="quote"/>
    <category term="science" label="science"/>
    <category term="society" label="society"/>
    <published>2023-08-07T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://jdsalaro.com/bookmark/quote/oppenheimer-death-destroyer-worlds/</id>
    <title>Oppenheimer: Death, the Destroyer of Worlds</title>
    <updated>2023-08-07T00:00:00+00:00</updated>
    <author>
      <name>Jayson Salazar Rodriguez</name>
    </author>
    <content type="html">&lt;p class="ablog-post-excerpt"&gt;&lt;p&gt;We waited until the blast had passed, walked out of the shelter and then it was extremely solemn. We knew the world would not be the same. A few people laughed; a few people cried. Most people were silent. I remembered the line from the Hindu scripture, the Bhagavad Gita; Vishnu is trying to persuade the prince that he should do his duty, and to impress him, takes on his multiarmed form and says, “Now I am become Death, the destroyer of worlds.” I suppose we all thought that, one way or another.&lt;/p&gt;
&lt;/p&gt;

    &lt;script type="text/x-thebe-config"&gt;
    {
        requestKernel: true,
        binderOptions: {
            repo: "binder-examples/jupyter-stacks-datascience",
            ref: "master",
        },
        codeMirrorConfig: {
            theme: "abcdef",
            mode: "python"
        },
        kernelOptions: {
            name: "python3",
            path: "./."
        },
        predefinedOutput: true
    }
    &lt;/script&gt;
    &lt;script&gt;kernelName = 'python3'&lt;/script&gt;</content>
    <link href="https://jdsalaro.com/bookmark/quote/oppenheimer-death-destroyer-worlds/" rel="alternate"/>
    <summary>We waited until the blast had passed, walked out of the shelter and then it was extremely solemn. We knew the world would not be the same. A few people laughed; a few people cried. Most people were silent. I remembered the line from the Hindu scripture, the Bhagavad Gita; Vishnu is trying to persuade the prince that he should do his duty, and to impress him, takes on his multiarmed form and says, “Now I am become Death, the destroyer of worlds.” I suppose we all thought that, one way or another.</summary>
    <category term="destruction" label="destruction"/>
    <category term="power" label="power"/>
    <category term="quote" label="quote"/>
    <category term="science" label="science"/>
    <published>2023-08-07T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://jdsalaro.com/bookmark/quote/thurstons-paean/</id>
    <title>Thurston’s Paean</title>
    <updated>2023-07-18T00:00:00+00:00</updated>
    <author>
      <name>Jayson Salazar Rodriguez</name>
    </author>
    <content type="html">&lt;p class="ablog-post-excerpt"&gt;&lt;p&gt;On an uneventful Tuesday afternoon I was, as usual, enjoying my lunch while mindlessly scrolling HackerNews and, also as usual, a post caught my attention which hit home&lt;a class="footnote-reference brackets" href="#source" id="id1" role="doc-noteref"&gt;&lt;span class="fn-bracket"&gt;[&lt;/span&gt;1&lt;span class="fn-bracket"&gt;]&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/p&gt;

    &lt;script type="text/x-thebe-config"&gt;
    {
        requestKernel: true,
        binderOptions: {
            repo: "binder-examples/jupyter-stacks-datascience",
            ref: "master",
        },
        codeMirrorConfig: {
            theme: "abcdef",
            mode: "python"
        },
        kernelOptions: {
            name: "python3",
            path: "./."
        },
        predefinedOutput: true
    }
    &lt;/script&gt;
    &lt;script&gt;kernelName = 'python3'&lt;/script&gt;</content>
    <link href="https://jdsalaro.com/bookmark/quote/thurstons-paean/" rel="alternate"/>
    <summary>On an uneventful Tuesday afternoon I was, as usual, enjoying my lunch while mindlessly scrolling HackerNews and, also as usual, a post caught my attention which hit home1</summary>
    <category term="purpose" label="purpose"/>
    <category term="quote" label="quote"/>
    <published>2023-07-18T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://jdsalaro.com/bookmark/painting/hokusai-great-wave-off-kanagawa/</id>
    <title>The Great Wave off Kanagawa by Hokusai</title>
    <updated>2023-07-18T00:00:00+00:00</updated>
    <author>
      <name>Jayson Salazar Rodriguez</name>
    </author>
    <content type="html">&lt;p class="ablog-post-excerpt"&gt;&lt;p&gt;Although it might be a cliché by now, I’ve always been quite fond of ukiyo-e, the Japanese art of woodblock printing&lt;a class="footnote-reference brackets" href="#wikiukiyoe" id="id1" role="doc-noteref"&gt;&lt;span class="fn-bracket"&gt;[&lt;/span&gt;1&lt;span class="fn-bracket"&gt;]&lt;/span&gt;&lt;/a&gt;, and of course of Hokusai’s work. As for many, my earliest exposure to this type of art was Hokusai’s The Great Wave off Kanagawa &lt;a class="footnote-reference brackets" href="#wikipedia" id="id2" role="doc-noteref"&gt;&lt;span class="fn-bracket"&gt;[&lt;/span&gt;2&lt;span class="fn-bracket"&gt;]&lt;/span&gt;&lt;/a&gt; and so it’s here for posterity.&lt;/p&gt;
&lt;img alt="https://jdsalaro.com/_images/1024x688.jpg" src="https://jdsalaro.com/_images/1024x688.jpg" /&gt;&lt;/p&gt;

    &lt;script type="text/x-thebe-config"&gt;
    {
        requestKernel: true,
        binderOptions: {
            repo: "binder-examples/jupyter-stacks-datascience",
            ref: "master",
        },
        codeMirrorConfig: {
            theme: "abcdef",
            mode: "python"
        },
        kernelOptions: {
            name: "python3",
            path: "./."
        },
        predefinedOutput: true
    }
    &lt;/script&gt;
    &lt;script&gt;kernelName = 'python3'&lt;/script&gt;</content>
    <link href="https://jdsalaro.com/bookmark/painting/hokusai-great-wave-off-kanagawa/" rel="alternate"/>
    <summary>Although it might be a cliché by now, I’ve always been quite fond of ukiyo-e, the Japanese art of woodblock printing1, and of course of Hokusai’s work. As for many, my earliest exposure to this type of art was Hokusai’s The Great Wave off Kanagawa 2 and so it’s here for posterity.</summary>
    <category term="ocean" label="ocean"/>
    <category term="painting" label="painting"/>
    <category term="ukiyo-e" label="ukiyo-e"/>
    <published>2023-07-18T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://jdsalaro.com/cheatsheet/git-revision-selection/</id>
    <title>Git Revision Selection and Expressions A…B</title>
    <updated>2023-07-15T00:00:00+00:00</updated>
    <author>
      <name>Jayson Salazar Rodriguez</name>
    </author>
    <content type="html">&lt;p class="ablog-post-excerpt"&gt;&lt;p&gt;While using git it’s common to use object identifiers to operate on the underlying objects: checking branches out, reverting a commit, resetting to a given point in the history, and more.&lt;/p&gt;
&lt;img alt="https://jdsalaro.com/_images/revision-parents-ancestors.png" src="https://jdsalaro.com/_images/revision-parents-ancestors.png" /&gt;&lt;/p&gt;

    &lt;script type="text/x-thebe-config"&gt;
    {
        requestKernel: true,
        binderOptions: {
            repo: "binder-examples/jupyter-stacks-datascience",
            ref: "master",
        },
        codeMirrorConfig: {
            theme: "abcdef",
            mode: "python"
        },
        kernelOptions: {
            name: "python3",
            path: "./."
        },
        predefinedOutput: true
    }
    &lt;/script&gt;
    &lt;script&gt;kernelName = 'python3'&lt;/script&gt;</content>
    <link href="https://jdsalaro.com/cheatsheet/git-revision-selection/" rel="alternate"/>
    <summary>While using git it’s common to use object identifiers to operate on the underlying objects: checking branches out, reverting a commit, resetting to a given point in the history, and more.</summary>
    <category term="git" label="git"/>
    <category term="pin" label="pin"/>
    <category term="technology" label="technology"/>
    <published>2023-07-15T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://jdsalaro.com/note/comparison-new-microsoft-default-font-calibri-aptos/</id>
    <title>🖋 A Look into Aptos, Microsoft’s New Default Font</title>
    <updated>2023-07-14T00:00:00+00:00</updated>
    <author>
      <name>Jayson Salazar Rodriguez</name>
    </author>
    <content type="html">&lt;p class="ablog-post-excerpt"&gt;&lt;p&gt;icrosoft has been planning a design revamp when it comes to the typography of their whole Office product line; and probably beyond that. They have worked on selecting their new default font for quite a bit&lt;a class="footnote-reference brackets" href="#microsoftnewfonts" id="id1" role="doc-noteref"&gt;&lt;span class="fn-bracket"&gt;[&lt;/span&gt;1&lt;span class="fn-bracket"&gt;]&lt;/span&gt;&lt;/a&gt;. The finalists among which the successor to the familiar Calibri typeface&lt;a class="footnote-reference brackets" href="#wikipediacalibri" id="id2" role="doc-noteref"&gt;&lt;span class="fn-bracket"&gt;[&lt;/span&gt;2&lt;span class="fn-bracket"&gt;]&lt;/span&gt;&lt;/a&gt; was to be chosen were long known: Bierstadt, Grandview, Seaford, Skeena, and Tenorite. The decision, however, hadn’t been made and apparently no winner was yet selected nor known. That all changed today, though, as The Verge has reported &lt;a class="footnote-reference brackets" href="#thevergemicrosoftnewfonts" id="id3" role="doc-noteref"&gt;&lt;span class="fn-bracket"&gt;[&lt;/span&gt;3&lt;span class="fn-bracket"&gt;]&lt;/span&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;img alt="https://jdsalaro.com/_images/calibri-over-aptos.png" src="https://jdsalaro.com/_images/calibri-over-aptos.png" /&gt;&lt;/p&gt;

    &lt;script type="text/x-thebe-config"&gt;
    {
        requestKernel: true,
        binderOptions: {
            repo: "binder-examples/jupyter-stacks-datascience",
            ref: "master",
        },
        codeMirrorConfig: {
            theme: "abcdef",
            mode: "python"
        },
        kernelOptions: {
            name: "python3",
            path: "./."
        },
        predefinedOutput: true
    }
    &lt;/script&gt;
    &lt;script&gt;kernelName = 'python3'&lt;/script&gt;</content>
    <link href="https://jdsalaro.com/note/comparison-new-microsoft-default-font-calibri-aptos/" rel="alternate"/>
    <summary>icrosoft has been planning a design revamp when it comes to the typography of their whole Office product line; and probably beyond that. They have worked on selecting their new default font for quite a bit1. The finalists among which the successor to the familiar Calibri typeface2 was to be chosen were long known: Bierstadt, Grandview, Seaford, Skeena, and Tenorite. The decision, however, hadn’t been made and apparently no winner was yet selected nor known. That all changed today, though, as The Verge has reported 3.</summary>
    <category term="art" label="art"/>
    <category term="design" label="design"/>
    <category term="pin" label="pin"/>
    <category term="typography" label="typography"/>
    <category term="workspacecustomization" label="workspace customization"/>
    <published>2023-07-14T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://jdsalaro.com/reflection/grieving-the-early-internet/</id>
    <title>Grieving the Early Internet 💾</title>
    <updated>2023-07-13T00:00:00+00:00</updated>
    <author>
      <name>Jayson Salazar Rodriguez</name>
    </author>
    <content type="html">&lt;p class="ablog-post-excerpt"&gt;&lt;p&gt;This is a topic I’ve wanted to write about for a while; and one for which I had way too many references stored. Until now, I hadn’t found a way to jump-start my internal monologue on the matter and spur the necessary motivation to put my thoughts to paper. That, however, changed last week when I engaged in a couple of conversations online on HackerNews &lt;a class="footnote-reference brackets" href="#hackernewsopenfreewebsites" id="id1" role="doc-noteref"&gt;&lt;span class="fn-bracket"&gt;[&lt;/span&gt;1&lt;span class="fn-bracket"&gt;]&lt;/span&gt;&lt;/a&gt; and Tildes&lt;a class="footnote-reference brackets" href="#tildeswheretogo" id="id2" role="doc-noteref"&gt;&lt;span class="fn-bracket"&gt;[&lt;/span&gt;2&lt;span class="fn-bracket"&gt;]&lt;/span&gt;&lt;/a&gt; about the openness and diversity of our present-day Internet.&lt;/p&gt;
&lt;img alt="https://jdsalaro.com/_images/carta-marina-olaus-magnus-1539-cropped.jpg" src="https://jdsalaro.com/_images/carta-marina-olaus-magnus-1539-cropped.jpg" /&gt;&lt;/p&gt;

    &lt;script type="text/x-thebe-config"&gt;
    {
        requestKernel: true,
        binderOptions: {
            repo: "binder-examples/jupyter-stacks-datascience",
            ref: "master",
        },
        codeMirrorConfig: {
            theme: "abcdef",
            mode: "python"
        },
        kernelOptions: {
            name: "python3",
            path: "./."
        },
        predefinedOutput: true
    }
    &lt;/script&gt;
    &lt;script&gt;kernelName = 'python3'&lt;/script&gt;</content>
    <link href="https://jdsalaro.com/reflection/grieving-the-early-internet/" rel="alternate"/>
    <summary>This is a topic I’ve wanted to write about for a while; and one for which I had way too many references stored. Until now, I hadn’t found a way to jump-start my internal monologue on the matter and spur the necessary motivation to put my thoughts to paper. That, however, changed last week when I engaged in a couple of conversations online on HackerNews 1 and Tildes2 about the openness and diversity of our present-day Internet.</summary>
    <category term="humaninteraction" label="human interaction"/>
    <category term="internethistory" label="internet history"/>
    <category term="pin" label="pin"/>
    <published>2023-07-13T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://jdsalaro.com/cheatsheet/sphinx-myst-markdown/</id>
    <title>MySt and Markdown for Sphinx Cheatsheet</title>
    <updated>2023-07-12T00:00:00+00:00</updated>
    <author>
      <name>Jayson Salazar Rodriguez</name>
    </author>
    <content type="html">&lt;p class="ablog-post-excerpt"&gt;&lt;p&gt;I’ve never been a fan of Re-StructuredText, but most importantly I’m new to MySt, which leads to a lot of googling and painstaking trial-and-error while writing. Although my preferred references are the &lt;a class="reference external" href="https://jupyterbook.org/en/stable/reference/cheatsheet.html"&gt;Jupyter Book MyST Cheatsheet&lt;/a&gt;, the &lt;a class="reference external" href="https://sphinx-book-theme.readthedocs.io/en/stable"&gt;Sphinx Book Theme Documentation&lt;/a&gt;, and the &lt;a class="reference external" href="https://myst-parser.readthedocs.io/en/latest/syntax"&gt;MyST Parser Reference&lt;/a&gt;, they are way too extensive, sometimes incorrect, and I don’t really use every directive or variant thereof. Therefore, I’ll use this post to gather the bits of the syntax and snippets I use the most.&lt;/p&gt;
&lt;/p&gt;

    &lt;script type="text/x-thebe-config"&gt;
    {
        requestKernel: true,
        binderOptions: {
            repo: "binder-examples/jupyter-stacks-datascience",
            ref: "master",
        },
        codeMirrorConfig: {
            theme: "abcdef",
            mode: "python"
        },
        kernelOptions: {
            name: "python3",
            path: "./."
        },
        predefinedOutput: true
    }
    &lt;/script&gt;
    &lt;script&gt;kernelName = 'python3'&lt;/script&gt;</content>
    <link href="https://jdsalaro.com/cheatsheet/sphinx-myst-markdown/" rel="alternate"/>
    <summary>I’ve never been a fan of Re-StructuredText, but most importantly I’m new to MySt, which leads to a lot of googling and painstaking trial-and-error while writing. Although my preferred references are the Jupyter Book MyST Cheatsheet, the Sphinx Book Theme Documentation, and the MyST Parser Reference, they are way too extensive, sometimes incorrect, and I don’t really use every directive or variant thereof. Therefore, I’ll use this post to gather the bits of the syntax and snippets I use the most.</summary>
    <category term="myst" label="myst"/>
    <category term="pin" label="pin"/>
    <category term="sphinx" label="sphinx"/>
    <category term="technology" label="technology"/>
    <published>2023-07-12T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://jdsalaro.com/snippet/kill-processes-with-expression/</id>
    <title>Kill (9-TERM) Processes with Expression(s) in Name or Call</title>
    <updated>2023-07-12T00:00:00+00:00</updated>
    <author>
      <name>Jayson Salazar Rodriguez</name>
    </author>
    <content type="html">&lt;p class="ablog-post-excerpt"&gt;&lt;p&gt;I often find myself needing to terminate processes containing certain string literals or whose call matches a given regular expression. For that reason I probably re-write and tweak this one-liner several times a month; which is why I’m putting it out there.&lt;/p&gt;
&lt;/p&gt;

    &lt;script type="text/x-thebe-config"&gt;
    {
        requestKernel: true,
        binderOptions: {
            repo: "binder-examples/jupyter-stacks-datascience",
            ref: "master",
        },
        codeMirrorConfig: {
            theme: "abcdef",
            mode: "python"
        },
        kernelOptions: {
            name: "python3",
            path: "./."
        },
        predefinedOutput: true
    }
    &lt;/script&gt;
    &lt;script&gt;kernelName = 'python3'&lt;/script&gt;</content>
    <link href="https://jdsalaro.com/snippet/kill-processes-with-expression/" rel="alternate"/>
    <summary>I often find myself needing to terminate processes containing certain string literals or whose call matches a given regular expression. For that reason I probably re-write and tweak this one-liner several times a month; which is why I’m putting it out there.</summary>
    <category term="bash" label="bash"/>
    <published>2023-07-12T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://jdsalaro.com/howto/fix-pre-commit-ci-poetry-invalid-config/</id>
    <title>Fixing ❌ “Poetry configuration is invalid” Errors in pre-commit.ci GitHub Actions</title>
    <updated>2023-07-11T00:00:00+00:00</updated>
    <author>
      <name>Jayson Salazar Rodriguez</name>
    </author>
    <content type="html">&lt;p class="ablog-post-excerpt"&gt;&lt;p&gt;Last Sunday I decided to try and understand the &lt;a class="reference external" href="https://www.sphinx-doc.org"&gt;Sphinx&lt;/a&gt; codebase better after playing around with &lt;a class="reference external" href="https://github.com/executablebooks/jupyter-book"&gt;Jupyter Book&lt;/a&gt; and experiencing &lt;a class="reference external" href="https://github.com/executablebooks/jupyter-book/issues/1414"&gt;issue#1414&lt;/a&gt;. After falling down the codebase review rabbit hole I felt like fixing the bug itself was worthwhile. Eventually, fixing the issue proved to be easier than understanding where and what to fix or how to get the GitHub actions maze of checks to properly pass.&lt;/p&gt;
&lt;/p&gt;

    &lt;script type="text/x-thebe-config"&gt;
    {
        requestKernel: true,
        binderOptions: {
            repo: "binder-examples/jupyter-stacks-datascience",
            ref: "master",
        },
        codeMirrorConfig: {
            theme: "abcdef",
            mode: "python"
        },
        kernelOptions: {
            name: "python3",
            path: "./."
        },
        predefinedOutput: true
    }
    &lt;/script&gt;
    &lt;script&gt;kernelName = 'python3'&lt;/script&gt;</content>
    <link href="https://jdsalaro.com/howto/fix-pre-commit-ci-poetry-invalid-config/" rel="alternate"/>
    <summary>Last Sunday I decided to try and understand the Sphinx codebase better after playing around with Jupyter Book and experiencing issue#1414. After falling down the codebase review rabbit hole I felt like fixing the bug itself was worthwhile. Eventually, fixing the issue proved to be easier than understanding where and what to fix or how to get the GitHub actions maze of checks to properly pass.</summary>
    <category term="ci/cd" label="ci/cd"/>
    <category term="github" label="github"/>
    <category term="python" label="python"/>
    <category term="troubleshooting" label="troubleshooting"/>
    <published>2023-07-11T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://jdsalaro.com/howto/sphinx-load-environment-pickle/</id>
    <title>Load Sphinx environment.pickle and List all Labels</title>
    <updated>2023-07-10T00:00:00+00:00</updated>
    <author>
      <name>Jayson Salazar Rodriguez</name>
    </author>
    <content type="html">&lt;p class="ablog-post-excerpt"&gt;&lt;p&gt;In order to come up with a reliable and standardized way of referring to document sections and document it in &lt;a class="reference internal" href="../cheatsheet/sphinx-myst-markdown/"&gt;&lt;span class="doc"&gt;MySt and Markdown for Sphinx Cheatsheet&lt;/span&gt;&lt;/a&gt;, I went down a pretty deep rabbit hole of Sphinx label manipulations.&lt;/p&gt;
&lt;/p&gt;

    &lt;script type="text/x-thebe-config"&gt;
    {
        requestKernel: true,
        binderOptions: {
            repo: "binder-examples/jupyter-stacks-datascience",
            ref: "master",
        },
        codeMirrorConfig: {
            theme: "abcdef",
            mode: "python"
        },
        kernelOptions: {
            name: "python3",
            path: "./."
        },
        predefinedOutput: true
    }
    &lt;/script&gt;
    &lt;script&gt;kernelName = 'python3'&lt;/script&gt;</content>
    <link href="https://jdsalaro.com/howto/sphinx-load-environment-pickle/" rel="alternate"/>
    <summary>In order to come up with a reliable and standardized way of referring to document sections and document it in /cheatsheet/sphinx-myst-markdown, I went down a pretty deep rabbit hole of Sphinx label manipulations.</summary>
    <category term="sphinx" label="sphinx"/>
    <published>2023-07-10T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://jdsalaro.com/note/best-programming-fonts/</id>
    <title>🎭 Best Fonts for Programming</title>
    <updated>2023-06-30T00:00:00+00:00</updated>
    <author>
      <name>Jayson Salazar Rodriguez</name>
    </author>
    <content type="html">&lt;p class="ablog-post-excerpt"&gt;&lt;p&gt;It seems like there’s never enough time to be really passionate about aesthetics, so that’s why when the opportunity presents itself I just roll with it and indulge that inclination. This post is the result of one such opportunity.&lt;/p&gt;
&lt;p&gt;Seeing as many of us spend a considerable amount of time in front of some sort of computing device, which is specially true for those of us who program, I wanted to put the list of my favorite programming typefaces out there for your enjoyment.&lt;/p&gt;
&lt;img alt="hack" src="https://jdsalaro.com/_images/hack.png" /&gt;&lt;/p&gt;

    &lt;script type="text/x-thebe-config"&gt;
    {
        requestKernel: true,
        binderOptions: {
            repo: "binder-examples/jupyter-stacks-datascience",
            ref: "master",
        },
        codeMirrorConfig: {
            theme: "abcdef",
            mode: "python"
        },
        kernelOptions: {
            name: "python3",
            path: "./."
        },
        predefinedOutput: true
    }
    &lt;/script&gt;
    &lt;script&gt;kernelName = 'python3'&lt;/script&gt;</content>
    <link href="https://jdsalaro.com/note/best-programming-fonts/" rel="alternate"/>
    <summary>It seems like there’s never enough time to be really passionate about aesthetics, so that’s why when the opportunity presents itself I just roll with it and indulge that inclination. This post is the result of one such opportunity.Seeing as many of us spend a considerable amount of time in front of some sort of computing device, which is specially true for those of us who program, I wanted to put the list of my favorite programming typefaces out there for your enjoyment.hack</summary>
    <category term="design" label="design"/>
    <category term="pin" label="pin"/>
    <category term="technology" label="technology"/>
    <category term="typography" label="typography"/>
    <category term="workspacecustomization" label="workspace customization"/>
    <published>2023-06-30T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://jdsalaro.com/howto/linux-gnome-add-padding-terminal/</id>
    <title>How to Add 👉   👈 Padding to the Ubuntu Gnome Terminal</title>
    <updated>2023-06-29T00:00:00+00:00</updated>
    <author>
      <name>Jayson Salazar Rodriguez</name>
    </author>
    <content type="html">&lt;p class="ablog-post-excerpt"&gt;&lt;p&gt;I often make screen captures of terminal outputs while documenting my work or helping colleagues and was always bothered when its contents were too close to the left border.&lt;/p&gt;
&lt;p&gt;Adding padding to the gnome terminal on Ubuntu, and likely any distribution using Gnome, is trivial, as it suffices to edit &lt;code class="docutils literal notranslate"&gt;&lt;span class="pre"&gt;~/.config/gtk-3.0/gtk.css&lt;/span&gt;&lt;/code&gt;.&lt;/p&gt;
&lt;img alt="https://jdsalaro.com/_images/load-gtk-theme-error.png" src="https://jdsalaro.com/_images/load-gtk-theme-error.png" /&gt;&lt;/p&gt;

    &lt;script type="text/x-thebe-config"&gt;
    {
        requestKernel: true,
        binderOptions: {
            repo: "binder-examples/jupyter-stacks-datascience",
            ref: "master",
        },
        codeMirrorConfig: {
            theme: "abcdef",
            mode: "python"
        },
        kernelOptions: {
            name: "python3",
            path: "./."
        },
        predefinedOutput: true
    }
    &lt;/script&gt;
    &lt;script&gt;kernelName = 'python3'&lt;/script&gt;</content>
    <link href="https://jdsalaro.com/howto/linux-gnome-add-padding-terminal/" rel="alternate"/>
    <summary>I often make screen captures of terminal outputs while documenting my work or helping colleagues and was always bothered when its contents were too close to the left border.Adding padding to the gnome terminal on Ubuntu, and likely any distribution using Gnome, is trivial, as it suffices to edit ~/.config/gtk-3.0/gtk.css.</summary>
    <category term="workspacecustomization" label="workspace customization"/>
    <published>2023-06-29T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://jdsalaro.com/note/git-wrist-friendly-shortcuts-aliases/</id>
    <title>Wrist-friendly Git Shortcuts and Aliases #️⃣</title>
    <updated>2023-06-21T00:00:00+00:00</updated>
    <author>
      <name>Jayson Salazar Rodriguez</name>
    </author>
    <content type="html">&lt;p class="ablog-post-excerpt"&gt;&lt;p&gt;Things tend to get repetitive with git after you start consistently using it. Of course, it’s still an irreplaceable tool, but that doesn’t mean we cannot try to abide by &lt;a class="reference external" href="https://en.wikipedia.org/wiki/Keyboard_layout#cite_ref-21"&gt;DVORAK principles&lt;/a&gt; and minimize the distance our fingers travel on the keyboard.&lt;/p&gt;
&lt;p&gt;As past and current colleagues can attest, I’m a serial keyboard customizer and shortcut afficionado, so my suggestion to give git console aliases a try should not come as a surprise.&lt;/p&gt;
&lt;/p&gt;

    &lt;script type="text/x-thebe-config"&gt;
    {
        requestKernel: true,
        binderOptions: {
            repo: "binder-examples/jupyter-stacks-datascience",
            ref: "master",
        },
        codeMirrorConfig: {
            theme: "abcdef",
            mode: "python"
        },
        kernelOptions: {
            name: "python3",
            path: "./."
        },
        predefinedOutput: true
    }
    &lt;/script&gt;
    &lt;script&gt;kernelName = 'python3'&lt;/script&gt;</content>
    <link href="https://jdsalaro.com/note/git-wrist-friendly-shortcuts-aliases/" rel="alternate"/>
    <summary>Things tend to get repetitive with git after you start consistently using it. Of course, it’s still an irreplaceable tool, but that doesn’t mean we cannot try to abide by DVORAK principles and minimize the distance our fingers travel on the keyboard.As past and current colleagues can attest, I’m a serial keyboard customizer and shortcut afficionado, so my suggestion to give git console aliases a try should not come as a surprise.</summary>
    <category term="git" label="git"/>
    <category term="pin" label="pin"/>
    <category term="technology" label="technology"/>
    <category term="workspacecustomization" label="workspace customization"/>
    <published>2023-06-21T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://jdsalaro.com/tutorial/git/</id>
    <title>Git for Beginners: Zero to Hero 🐙</title>
    <updated>2023-06-18T00:00:00+00:00</updated>
    <author>
      <name>Jayson Salazar Rodriguez</name>
    </author>
    <content type="html">&lt;p class="ablog-post-excerpt"&gt;&lt;p&gt;Git plays a crucial role in the software development industry and should therefore be part of every developer’s toolkit. Both experienced and beginner developers can increase their productivity by leveraging a code versioning system as powerful as git. Unfortunately, introductory materials are often either too shallow, making readers feel like they only scratched the surface, or too long-winded, diving into details which needn’t interest everybody.&lt;/p&gt;
&lt;p&gt;Seeing as colleagues and students often ask me about good, self-contained guides, I decided to republish this guide for git beginners as well as those looking for a refresher.&lt;/p&gt;
&lt;img alt="https://jdsalaro.com/_images/conventions.svg" src="https://jdsalaro.com/_images/conventions.svg" /&gt;&lt;/p&gt;

    &lt;script type="text/x-thebe-config"&gt;
    {
        requestKernel: true,
        binderOptions: {
            repo: "binder-examples/jupyter-stacks-datascience",
            ref: "master",
        },
        codeMirrorConfig: {
            theme: "abcdef",
            mode: "python"
        },
        kernelOptions: {
            name: "python3",
            path: "./."
        },
        predefinedOutput: true
    }
    &lt;/script&gt;
    &lt;script&gt;kernelName = 'python3'&lt;/script&gt;</content>
    <link href="https://jdsalaro.com/tutorial/git/" rel="alternate"/>
    <summary>Git plays a crucial role in the software development industry and should therefore be part of every developer’s toolkit. Both experienced and beginner developers can increase their productivity by leveraging a code versioning system as powerful as git. Unfortunately, introductory materials are often either too shallow, making readers feel like they only scratched the surface, or too long-winded, diving into details which needn’t interest everybody.Seeing as colleagues and students often ask me about good, self-contained guides, I decided to republish this guide for git beginners as well as those looking for a refresher.</summary>
    <category term="git" label="git"/>
    <category term="pin" label="pin"/>
    <category term="technology" label="technology"/>
    <published>2023-06-18T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://jdsalaro.com/snippet/gitlab-create-projects-directory-list/</id>
    <title>🦊 Create GitLab Projects for Directory List via API</title>
    <updated>2023-06-13T00:00:00+00:00</updated>
    <author>
      <name>Jayson Salazar Rodriguez</name>
    </author>
    <content type="html">&lt;p class="ablog-post-excerpt"&gt;&lt;/p&gt;

    &lt;script type="text/x-thebe-config"&gt;
    {
        requestKernel: true,
        binderOptions: {
            repo: "binder-examples/jupyter-stacks-datascience",
            ref: "master",
        },
        codeMirrorConfig: {
            theme: "abcdef",
            mode: "python"
        },
        kernelOptions: {
            name: "python3",
            path: "./."
        },
        predefinedOutput: true
    }
    &lt;/script&gt;
    &lt;script&gt;kernelName = 'python3'&lt;/script&gt;</content>
    <link href="https://jdsalaro.com/snippet/gitlab-create-projects-directory-list/" rel="alternate"/>
    <category term="bash" label="bash"/>
    <category term="gitlab" label="gitlab"/>
    <published>2023-06-13T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://jdsalaro.com/howto/gitlab-git-lfs/</id>
    <title>Git LFS Usage on GitLab Repositories</title>
    <updated>2023-06-13T00:00:00+00:00</updated>
    <author>
      <name>Jayson Salazar Rodriguez</name>
    </author>
    <content type="html">&lt;p class="ablog-post-excerpt"&gt;&lt;p&gt;In newer GitLab versions LFS Storage needs to be specifically enabled for projects; you can achieve this in the settings of your project &lt;a class="footnote-reference brackets" href="#gldocslfs" id="id1" role="doc-noteref"&gt;&lt;span class="fn-bracket"&gt;[&lt;/span&gt;1&lt;span class="fn-bracket"&gt;]&lt;/span&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;/p&gt;

    &lt;script type="text/x-thebe-config"&gt;
    {
        requestKernel: true,
        binderOptions: {
            repo: "binder-examples/jupyter-stacks-datascience",
            ref: "master",
        },
        codeMirrorConfig: {
            theme: "abcdef",
            mode: "python"
        },
        kernelOptions: {
            name: "python3",
            path: "./."
        },
        predefinedOutput: true
    }
    &lt;/script&gt;
    &lt;script&gt;kernelName = 'python3'&lt;/script&gt;</content>
    <link href="https://jdsalaro.com/howto/gitlab-git-lfs/" rel="alternate"/>
    <summary>In newer GitLab versions LFS Storage needs to be specifically enabled for projects; you can achieve this in the settings of your project 1.</summary>
    <category term="git" label="git"/>
    <category term="gitlab" label="gitlab"/>
    <published>2023-06-13T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://jdsalaro.com/howto/git-hooks-basics/</id>
    <title>Git Hooks Basics 🪝</title>
    <updated>2023-06-08T00:00:00+00:00</updated>
    <author>
      <name>Jayson Salazar Rodriguez</name>
    </author>
    <content type="html">&lt;p class="ablog-post-excerpt"&gt;&lt;p&gt;Git hooks are scripts which can be executed after an action is performed, the options are: &lt;code class="docutils literal notranslate"&gt;&lt;span class="pre"&gt;applypatch-msg&lt;/span&gt;&lt;/code&gt;, &lt;code class="docutils literal notranslate"&gt;&lt;span class="pre"&gt;commit-msg&lt;/span&gt;&lt;/code&gt;, &lt;code class="docutils literal notranslate"&gt;&lt;span class="pre"&gt;post-update&lt;/span&gt;&lt;/code&gt;, &lt;code class="docutils literal notranslate"&gt;&lt;span class="pre"&gt;pre-applypatch&lt;/span&gt;&lt;/code&gt;, &lt;code class="docutils literal notranslate"&gt;&lt;span class="pre"&gt;pre-commit&lt;/span&gt;&lt;/code&gt;, &lt;code class="docutils literal notranslate"&gt;&lt;span class="pre"&gt;prepare-commit-msg&lt;/span&gt;&lt;/code&gt;, &lt;code class="docutils literal notranslate"&gt;&lt;span class="pre"&gt;pre-push&lt;/span&gt;&lt;/code&gt;, &lt;code class="docutils literal notranslate"&gt;&lt;span class="pre"&gt;pre-rebase&lt;/span&gt;&lt;/code&gt;, &lt;code class="docutils literal notranslate"&gt;&lt;span class="pre"&gt;update&lt;/span&gt;&lt;/code&gt;.&lt;/p&gt;
&lt;/p&gt;

    &lt;script type="text/x-thebe-config"&gt;
    {
        requestKernel: true,
        binderOptions: {
            repo: "binder-examples/jupyter-stacks-datascience",
            ref: "master",
        },
        codeMirrorConfig: {
            theme: "abcdef",
            mode: "python"
        },
        kernelOptions: {
            name: "python3",
            path: "./."
        },
        predefinedOutput: true
    }
    &lt;/script&gt;
    &lt;script&gt;kernelName = 'python3'&lt;/script&gt;</content>
    <link href="https://jdsalaro.com/howto/git-hooks-basics/" rel="alternate"/>
    <summary>Git hooks are scripts which can be executed after an action is performed, the options are: applypatch-msg, commit-msg, post-update, pre-applypatch, pre-commit, prepare-commit-msg, pre-push, pre-rebase, update.</summary>
    <category term="git" label="git"/>
    <published>2023-06-08T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://jdsalaro.com/cheatsheet/git/</id>
    <title>Git Cheatsheet: Commands, Tips and Tricks 📝</title>
    <updated>2023-06-06T00:00:00+00:00</updated>
    <author>
      <name>Jayson Salazar Rodriguez</name>
    </author>
    <content type="html">&lt;p class="ablog-post-excerpt"&gt;&lt;p&gt;This is compilation of useful git commands, tips and tricks I created for myself since I kept forgetting some commands related to configuring, searching and managing git repositories. The format is simple, just a list with short descriptions for some common, and other less common, commands which I often find myself looking up online.&lt;/p&gt;
&lt;img alt="https://jdsalaro.com/_images/gitworkflow.png" src="https://jdsalaro.com/_images/gitworkflow.png" /&gt;&lt;/p&gt;

    &lt;script type="text/x-thebe-config"&gt;
    {
        requestKernel: true,
        binderOptions: {
            repo: "binder-examples/jupyter-stacks-datascience",
            ref: "master",
        },
        codeMirrorConfig: {
            theme: "abcdef",
            mode: "python"
        },
        kernelOptions: {
            name: "python3",
            path: "./."
        },
        predefinedOutput: true
    }
    &lt;/script&gt;
    &lt;script&gt;kernelName = 'python3'&lt;/script&gt;</content>
    <link href="https://jdsalaro.com/cheatsheet/git/" rel="alternate"/>
    <summary>This is compilation of useful git commands, tips and tricks I created for myself since I kept forgetting some commands related to configuring, searching and managing git repositories. The format is simple, just a list with short descriptions for some common, and other less common, commands which I often find myself looking up online.</summary>
    <category term="git" label="git"/>
    <category term="pin" label="pin"/>
    <category term="technology" label="technology"/>
    <published>2023-06-06T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://jdsalaro.com/bookmark/quote/seneca-suffer-from-imagination/</id>
    <title>Seneca: We Suffer more from Imagination than Reality</title>
    <updated>2022-08-22T00:00:00+00:00</updated>
    <author>
      <name>Jayson Salazar Rodriguez</name>
    </author>
    <content type="html">&lt;p class="ablog-post-excerpt"&gt;&lt;p&gt;In his thirteenth letter&lt;a class="footnote-reference brackets" href="#wikisource" id="id1" role="doc-noteref"&gt;&lt;span class="fn-bracket"&gt;[&lt;/span&gt;1&lt;span class="fn-bracket"&gt;]&lt;/span&gt;&lt;/a&gt;, “On groundless fears”, Seneca the Younger&lt;a class="footnote-reference brackets" href="#author" id="id2" role="doc-noteref"&gt;&lt;span class="fn-bracket"&gt;[&lt;/span&gt;2&lt;span class="fn-bracket"&gt;]&lt;/span&gt;&lt;/a&gt; writes to Lucilius about, predictably, human fear and how we, often without sufficient grounds, are affraid of that which is yet to come.&lt;/p&gt;
&lt;/p&gt;

    &lt;script type="text/x-thebe-config"&gt;
    {
        requestKernel: true,
        binderOptions: {
            repo: "binder-examples/jupyter-stacks-datascience",
            ref: "master",
        },
        codeMirrorConfig: {
            theme: "abcdef",
            mode: "python"
        },
        kernelOptions: {
            name: "python3",
            path: "./."
        },
        predefinedOutput: true
    }
    &lt;/script&gt;
    &lt;script&gt;kernelName = 'python3'&lt;/script&gt;</content>
    <link href="https://jdsalaro.com/bookmark/quote/seneca-suffer-from-imagination/" rel="alternate"/>
    <summary>In his thirteenth letter1, “On groundless fears”, Seneca the Younger2 writes to Lucilius about, predictably, human fear and how we, often without sufficient grounds, are affraid of that which is yet to come.</summary>
    <category term="fear" label="fear"/>
    <category term="imagination" label="imagination"/>
    <category term="quote" label="quote"/>
    <category term="stoicism" label="stoicism"/>
    <category term="suffering" label="suffering"/>
    <published>2022-08-22T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://jdsalaro.com/poem/scarbleed-unhealed-wounds/</id>
    <title>Scarbleed: Closed, yet Open, Wounds</title>
    <updated>2021-03-14T00:00:00+00:00</updated>
    <author>
      <name>Jayson Salazar Rodriguez</name>
    </author>
    <content type="html">&lt;p class="ablog-post-excerpt"&gt;&lt;p&gt;While experiencing traumatic circumnstances it is not uncommon to ask oneself whether the feeling of unease, desperation and sorrow will eventually pass. As impermanence&lt;a class="footnote-reference brackets" href="#wikiimpermanence" id="id1" role="doc-noteref"&gt;&lt;span class="fn-bracket"&gt;[&lt;/span&gt;1&lt;span class="fn-bracket"&gt;]&lt;/span&gt;&lt;/a&gt; would have it, suffering passes eventually in order to give room to other, not necessarily pleasant, feelings and experiences. Scarbleed is a poem about the aftermath of intense pain. When sorrow has passed and wounds have allegedly healed can, and do, scars bleed?&lt;/p&gt;
&lt;/p&gt;

    &lt;script type="text/x-thebe-config"&gt;
    {
        requestKernel: true,
        binderOptions: {
            repo: "binder-examples/jupyter-stacks-datascience",
            ref: "master",
        },
        codeMirrorConfig: {
            theme: "abcdef",
            mode: "python"
        },
        kernelOptions: {
            name: "python3",
            path: "./."
        },
        predefinedOutput: true
    }
    &lt;/script&gt;
    &lt;script&gt;kernelName = 'python3'&lt;/script&gt;</content>
    <link href="https://jdsalaro.com/poem/scarbleed-unhealed-wounds/" rel="alternate"/>
    <summary>While experiencing traumatic circumnstances it is not uncommon to ask oneself whether the feeling of unease, desperation and sorrow will eventually pass. As impermanence1 would have it, suffering passes eventually in order to give room to other, not necessarily pleasant, feelings and experiences. Scarbleed is a poem about the aftermath of intense pain. When sorrow has passed and wounds have allegedly healed can, and do, scars bleed?</summary>
    <category term="trauma" label="trauma"/>
    <published>2021-03-14T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://jdsalaro.com/bookmark/quote/epictetus-decide-do-become/</id>
    <title>Epictetus: Decide, Do, Become</title>
    <updated>2018-08-17T00:00:00+00:00</updated>
    <author>
      <name>Jayson Salazar Rodriguez</name>
    </author>
    <content type="html">&lt;p class="ablog-post-excerpt"&gt;&lt;p&gt;In the third volume, chapter XXIII §1, of his discourses compiled by Arrian&lt;a class="footnote-reference brackets" href="#wikisource" id="id1" role="doc-noteref"&gt;&lt;span class="fn-bracket"&gt;[&lt;/span&gt;1&lt;span class="fn-bracket"&gt;]&lt;/span&gt;&lt;/a&gt;, Epictetus&lt;a class="footnote-reference brackets" href="#author" id="id2" role="doc-noteref"&gt;&lt;span class="fn-bracket"&gt;[&lt;/span&gt;2&lt;span class="fn-bracket"&gt;]&lt;/span&gt;&lt;/a&gt; gives his advice “to those who read and discuss for the purpose of display”.&lt;/p&gt;
&lt;/p&gt;

    &lt;script type="text/x-thebe-config"&gt;
    {
        requestKernel: true,
        binderOptions: {
            repo: "binder-examples/jupyter-stacks-datascience",
            ref: "master",
        },
        codeMirrorConfig: {
            theme: "abcdef",
            mode: "python"
        },
        kernelOptions: {
            name: "python3",
            path: "./."
        },
        predefinedOutput: true
    }
    &lt;/script&gt;
    &lt;script&gt;kernelName = 'python3'&lt;/script&gt;</content>
    <link href="https://jdsalaro.com/bookmark/quote/epictetus-decide-do-become/" rel="alternate"/>
    <summary>In the third volume, chapter XXIII §1, of his discourses compiled by Arrian1, Epictetus2 gives his advice “to those who read and discuss for the purpose of display”.</summary>
    <category term="innerwork" label="inner work"/>
    <category term="quote" label="quote"/>
    <category term="resilience" label="resilience"/>
    <category term="stoicism" label="stoicism"/>
    <published>2018-08-17T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://jdsalaro.com/bookmark/movie/john-wick-chapter-4-2023/</id>
    <title>John Wick: Chapter 4 (2023)</title>
    <updated>2018-04-27T00:00:00+00:00</updated>
    <author>
      <name>Jayson Salazar Rodriguez</name>
    </author>
    <content type="html">&lt;p class="ablog-post-excerpt"&gt;&lt;p&gt;&lt;a class="reference external" href="https://en.wikipedia.org/wiki/John_Wick:_Chapter_4"&gt;Read more on Wikipedia&lt;/a&gt;&lt;/p&gt;
&lt;/p&gt;

    &lt;script type="text/x-thebe-config"&gt;
    {
        requestKernel: true,
        binderOptions: {
            repo: "binder-examples/jupyter-stacks-datascience",
            ref: "master",
        },
        codeMirrorConfig: {
            theme: "abcdef",
            mode: "python"
        },
        kernelOptions: {
            name: "python3",
            path: "./."
        },
        predefinedOutput: true
    }
    &lt;/script&gt;
    &lt;script&gt;kernelName = 'python3'&lt;/script&gt;</content>
    <link href="https://jdsalaro.com/bookmark/movie/john-wick-chapter-4-2023/" rel="alternate"/>
    <summary>Read more on Wikipedia</summary>
    <category term="cyberpunk" label="cyberpunk"/>
    <category term="movie" label="movie"/>
    <published>2018-04-27T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://jdsalaro.com/bookmark/poem/william-henley-invictus/</id>
    <title>Invictus ✊</title>
    <updated>2018-04-27T00:00:00+00:00</updated>
    <author>
      <name>Jayson Salazar Rodriguez</name>
    </author>
    <content type="html">&lt;p class="ablog-post-excerpt"&gt;&lt;p&gt;&lt;a class="reference external" href="https://en.wikipedia.org/wiki/Invictus"&gt;Read more on Wikipedia&lt;/a&gt;&lt;/p&gt;
&lt;/p&gt;

    &lt;script type="text/x-thebe-config"&gt;
    {
        requestKernel: true,
        binderOptions: {
            repo: "binder-examples/jupyter-stacks-datascience",
            ref: "master",
        },
        codeMirrorConfig: {
            theme: "abcdef",
            mode: "python"
        },
        kernelOptions: {
            name: "python3",
            path: "./."
        },
        predefinedOutput: true
    }
    &lt;/script&gt;
    &lt;script&gt;kernelName = 'python3'&lt;/script&gt;</content>
    <link href="https://jdsalaro.com/bookmark/poem/william-henley-invictus/" rel="alternate"/>
    <summary>Read more on Wikipedia</summary>
    <category term="pin" label="pin"/>
    <category term="poem" label="poem"/>
    <category term="resilience" label="resilience"/>
    <category term="trauma" label="trauma"/>
    <published>2018-04-27T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://jdsalaro.com/bookmark/concepts/</id>
    <title>💡 Favorite Concepts and Ideas</title>
    <updated>2013-08-07T00:00:00+00:00</updated>
    <author>
      <name>Jayson Salazar Rodriguez</name>
    </author>
    <content type="html">&lt;p class="ablog-post-excerpt"&gt;&lt;p&gt;Here you’ll find concepts I found valuable, identify with or want to read and write more about in the future.&lt;/p&gt;
&lt;/p&gt;

    &lt;script type="text/x-thebe-config"&gt;
    {
        requestKernel: true,
        binderOptions: {
            repo: "binder-examples/jupyter-stacks-datascience",
            ref: "master",
        },
        codeMirrorConfig: {
            theme: "abcdef",
            mode: "python"
        },
        kernelOptions: {
            name: "python3",
            path: "./."
        },
        predefinedOutput: true
    }
    &lt;/script&gt;
    &lt;script&gt;kernelName = 'python3'&lt;/script&gt;</content>
    <link href="https://jdsalaro.com/bookmark/concepts/" rel="alternate"/>
    <summary>Here you’ll find concepts I found valuable, identify with or want to read and write more about in the future.</summary>
    <published>2013-08-07T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://jdsalaro.com/bookmark/assets/</id>
    <title>📦 Free Asset Aggregators</title>
    <updated>2013-07-18T00:00:00+00:00</updated>
    <author>
      <name>Jayson Salazar Rodriguez</name>
    </author>
    <content type="html">&lt;p class="ablog-post-excerpt"&gt;&lt;p&gt;Here you’ll find links to some content aggregators I’ve used and continue to use.&lt;/p&gt;
&lt;/p&gt;

    &lt;script type="text/x-thebe-config"&gt;
    {
        requestKernel: true,
        binderOptions: {
            repo: "binder-examples/jupyter-stacks-datascience",
            ref: "master",
        },
        codeMirrorConfig: {
            theme: "abcdef",
            mode: "python"
        },
        kernelOptions: {
            name: "python3",
            path: "./."
        },
        predefinedOutput: true
    }
    &lt;/script&gt;
    &lt;script&gt;kernelName = 'python3'&lt;/script&gt;</content>
    <link href="https://jdsalaro.com/bookmark/assets/" rel="alternate"/>
    <summary>Here you’ll find links to some content aggregators I’ve used and continue to use.</summary>
    <published>2013-07-18T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://jdsalaro.com/bookmark/podcasts/</id>
    <title>🎙️ Enriching Podcasts and Radio Shows</title>
    <updated>2013-06-18T00:00:00+00:00</updated>
    <author>
      <name>Jayson Salazar Rodriguez</name>
    </author>
    <content type="html">&lt;p class="ablog-post-excerpt"&gt;&lt;p&gt;Here you’ll find podcasts I’ve found valuable over the years.&lt;/p&gt;
&lt;/p&gt;

    &lt;script type="text/x-thebe-config"&gt;
    {
        requestKernel: true,
        binderOptions: {
            repo: "binder-examples/jupyter-stacks-datascience",
            ref: "master",
        },
        codeMirrorConfig: {
            theme: "abcdef",
            mode: "python"
        },
        kernelOptions: {
            name: "python3",
            path: "./."
        },
        predefinedOutput: true
    }
    &lt;/script&gt;
    &lt;script&gt;kernelName = 'python3'&lt;/script&gt;</content>
    <link href="https://jdsalaro.com/bookmark/podcasts/" rel="alternate"/>
    <summary>Here you’ll find podcasts I’ve found valuable over the years.</summary>
    <published>2013-06-18T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://jdsalaro.com/bookmark/main/</id>
    <title>🌱 Main Information Sources and Entertainment</title>
    <updated>2013-06-18T00:00:00+00:00</updated>
    <author>
      <name>Jayson Salazar Rodriguez</name>
    </author>
    <content type="html">&lt;p class="ablog-post-excerpt"&gt;&lt;p&gt;These are resources I enjoy and sporadically review to get an idea for what’s going on out there. I don’t watch cable news and consume the content listed here and elsewhere slowly and sporadically.&lt;/p&gt;
&lt;/p&gt;

    &lt;script type="text/x-thebe-config"&gt;
    {
        requestKernel: true,
        binderOptions: {
            repo: "binder-examples/jupyter-stacks-datascience",
            ref: "master",
        },
        codeMirrorConfig: {
            theme: "abcdef",
            mode: "python"
        },
        kernelOptions: {
            name: "python3",
            path: "./."
        },
        predefinedOutput: true
    }
    &lt;/script&gt;
    &lt;script&gt;kernelName = 'python3'&lt;/script&gt;</content>
    <link href="https://jdsalaro.com/bookmark/main/" rel="alternate"/>
    <summary>These are resources I enjoy and sporadically review to get an idea for what’s going on out there. I don’t watch cable news and consume the content listed here and elsewhere slowly and sporadically.</summary>
    <published>2013-06-18T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://jdsalaro.com/bookmark/blogs/</id>
    <title>✍️ Interesting Blogs</title>
    <updated>2013-06-18T00:00:00+00:00</updated>
    <author>
      <name>Jayson Salazar Rodriguez</name>
    </author>
    <content type="html">&lt;p class="ablog-post-excerpt"&gt;&lt;p&gt;Here you’ll find links to content written by people that I’ve found valuable over the years.&lt;/p&gt;
&lt;/p&gt;

    &lt;script type="text/x-thebe-config"&gt;
    {
        requestKernel: true,
        binderOptions: {
            repo: "binder-examples/jupyter-stacks-datascience",
            ref: "master",
        },
        codeMirrorConfig: {
            theme: "abcdef",
            mode: "python"
        },
        kernelOptions: {
            name: "python3",
            path: "./."
        },
        predefinedOutput: true
    }
    &lt;/script&gt;
    &lt;script&gt;kernelName = 'python3'&lt;/script&gt;</content>
    <link href="https://jdsalaro.com/bookmark/blogs/" rel="alternate"/>
    <summary>Here you’ll find links to content written by people that I’ve found valuable over the years.</summary>
    <published>2013-06-18T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://jdsalaro.com/idea/</id>
    <title>💡 Idea: A Placeholder for Topics I Want to Write About</title>
    <updated>2013-05-20T00:00:00+00:00</updated>
    <author>
      <name>Jayson Salazar Rodriguez</name>
    </author>
    <content type="html">&lt;p class="ablog-post-excerpt"&gt;&lt;p&gt;This is a simplistic and implicit backlog to which I can link from other places. This makes it easier to remember what I want or wanted to write about as well as programmatically generate a listing.&lt;/p&gt;
&lt;/p&gt;

    &lt;script type="text/x-thebe-config"&gt;
    {
        requestKernel: true,
        binderOptions: {
            repo: "binder-examples/jupyter-stacks-datascience",
            ref: "master",
        },
        codeMirrorConfig: {
            theme: "abcdef",
            mode: "python"
        },
        kernelOptions: {
            name: "python3",
            path: "./."
        },
        predefinedOutput: true
    }
    &lt;/script&gt;
    &lt;script&gt;kernelName = 'python3'&lt;/script&gt;</content>
    <link href="https://jdsalaro.com/idea/" rel="alternate"/>
    <summary>This is a simplistic and implicit backlog to which I can link from other places. This makes it easier to remember what I want or wanted to write about as well as programmatically generate a listing.</summary>
    <category term="stub" label="stub"/>
    <published>2013-05-20T00:00:00+00:00</published>
  </entry>
</feed>
