<?xml version="1.0" encoding="UTF-8"?>

<!--|
    | RSS feed templated extracted from the Zola SSG builtin templates source code.
    | 
    | Modified to add support for a custom icon image and reverse the order of
    | the title.
    |
    | File copied at 2026-08-22, permalink:
    |   <https://github.com/getzola/zola/blob/5835ee8ea605ae7bc6a8dba28f032233a6c00b43/components/templates/src/builtins/rss.xml>.
    |
    | This file is licensed under the MIT Licence.
    | It is Copyright (c) 2026 Jorge Dobón Blanco, Vincent Prouillet
    | and contributors (see <https://github.com/getzola/zola/graphs/contributors>).
    |
    |-->

<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
    <channel>
        
        
        
        
        <image>
            <!--|
                | The image cannot be AVIF because, as enforced by the RSS spec:
                |
                | "<url> is the URL of a GIF, JPEG or PNG image that represents the channel."
                |
                | See also <https://cyber.harvard.edu/rss/rss.html#ltimagegtSubelementOfLtchannelgt>.
                |-->
            
            
            <url>https://dobon.dev/processed_images/icon.71b98cfab668a04b.png</url>
            
            <!--|
                | As noted by the RSS spec:
                |
                | "Note, in practice the image <title> and <link> should have
                | the same value as the channel's <title> and <link>"
                |
                | See also <https://cyber.harvard.edu/rss/rss.html#ltimagegtSubelementOfLtchannelgt>.
                |-->
            <title>
        
        Jorge Dobón Blanco
        </title>
            <link>
        
        https://dobon.dev
        
        </link>
        </image>

        <title>
        
        Jorge Dobón Blanco
        </title>
        <link>
        
        https://dobon.dev
        
        </link>
        <description>Personal website about computer science, art, politics and other topics.</description>
        <generator>Zola</generator>
        <language>en</language>
        <atom:link href="https://dobon.dev/en/rss.xml/" rel="self" type="application/rss+xml"/>
        <lastBuildDate>Sat, 15 Aug 2026 00:00:00 +0000</lastBuildDate>
        <item>
            <title>88x31</title>
            <pubDate>Sat, 15 Aug 2026 00:00:00 +0000</pubDate>
            <author>Jorge Dobón Blanco</author>
            <link>https://dobon.dev/en/88x31/</link>
            <guid>https://dobon.dev/en/88x31/</guid>
            <description xml:base="https://dobon.dev/en/88x31/">&lt;p&gt;You may have noticed the abstract greenish &lt;a rel=&quot;external&quot; href=&quot;https://indieweb.org/88x31&quot;&gt;88x31&lt;/a&gt; image that
appears at the bottom of every page on this website. It is a
reduced version of the main &lt;a rel=&quot;external&quot; href=&quot;https://dobon.dev&quot;&gt;dobon.dev&lt;/a&gt; logo.&lt;/p&gt;
&lt;div class=&quot;pixel-art&quot;&gt;
&lt;figure&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #F2F4F8; background-color: #000000;&quot; &gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;&amp;lt;picture&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    &amp;lt;source srcset=&amp;quot;https://dobon.dev/processed_images/me.d7909b6ed2f8f277.avif&amp;quot; type=&amp;quot;image/avif&amp;quot;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    &amp;lt;source srcset=&amp;quot;https://dobon.dev/processed_images/me.74fcbc10b115f317.webp&amp;quot; type=&amp;quot;image/webp&amp;quot;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    &amp;lt;!--|&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;        | If the picture is inside a figure, the `alt` information should be&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;        | removed to avoid the screen reader reading the same text twice.&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;        |&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;        | See also &amp;lt;https://stackoverflow.com/a/58468470&amp;gt;.&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;        |--&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    &amp;lt;img&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;            src=&amp;quot;https://dobon.dev/processed_images/me.a2dc909c1bde0ed8.jpg&amp;quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;            loading=&amp;quot;lazy&amp;quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;            width=&amp;quot;88&amp;quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;            height=&amp;quot;31&amp;quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;            &lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    &amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;&amp;lt;/picture&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;&amp;lt;figcaption&amp;gt;The 88x31 image representing this website.&amp;lt;/figcaption&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;Given the &lt;a rel=&quot;external&quot; href=&quot;https://indieweb.org/IndieWeb&quot;&gt;IndieWeb&lt;/a&gt; tradition regarding this type of image, I grant full permission
for it to be used on other websites as a way of expressing support or recommendation
for my artistic project.&lt;/p&gt;
&lt;p&gt;Please refrain from hot-linking the image; download a copy of it to your personal website hosting and
link to that copy.&lt;/p&gt;
&lt;p&gt;Given the low resolution of these images and the use of pixel art techniques,
I recommend applying the following CSS properties to all &lt;a rel=&quot;external&quot; href=&quot;https://indieweb.org/88x31&quot;&gt;88x31&lt;/a&gt; images:&lt;/p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #F2F4F8; background-color: #000000;&quot; &gt;&lt;code data-lang=&quot;css&quot; data-name=&quot;style.css&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;.pixel-art {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #08BDBA;&quot;&gt;    image-rendering&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #08BDBA;&quot;&gt; auto&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #08BDBA;&quot;&gt;    image-rendering&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #08BDBA;&quot;&gt; crisp-edges&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #08BDBA;&quot;&gt;    image-rendering&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #08BDBA;&quot;&gt; pixelated&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;</description>
        </item>
        <item>
            <title>Favorites</title>
            <pubDate>Fri, 14 Aug 2026 00:00:00 +0000</pubDate>
            <author>Jorge Dobón Blanco</author>
            <link>https://dobon.dev/en/favs/</link>
            <guid>https://dobon.dev/en/favs/</guid>
            <description xml:base="https://dobon.dev/en/favs/">&lt;p&gt;&lt;em&gt;Inspired by the &lt;a rel=&quot;external&quot; href=&quot;https://vlad.website/recommendations&quot;&gt;&lt;em&gt;Recommendations&lt;/em&gt;&lt;/a&gt; page by &lt;a rel=&quot;external&quot; href=&quot;https://vlad.website&quot;&gt;Vlad-Stefan Harbuz&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;h2 id=&quot;web-directory&quot;&gt;Web Directory&lt;/h2&gt;
&lt;p&gt;Listing all the websites I frequent would be an impossible task;&lt;/p&gt;
&lt;p&gt;this list isn&#39;t meant to be exhaustive, consider it a series of recommendations:&lt;/p&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Site&lt;/th&gt;&lt;th&gt;Feeds&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a rel=&quot;external&quot; href=&quot;https://xeiaso.net&quot;&gt;Xe Iaso&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a rel=&quot;external&quot; href=&quot;https://xeiaso.net/blog.rss&quot;&gt;RSS&lt;/a&gt;, &lt;a rel=&quot;external&quot; href=&quot;https://xeiaso.net/blog.json&quot;&gt;JSON Feed&lt;/a&gt;&lt;/td&gt;&lt;td&gt;Personal website with posts about technology, mainly infrastructure management.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;a rel=&quot;external&quot; href=&quot;https://unsung.aresluna.org&quot;&gt;Unsung&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a rel=&quot;external&quot; href=&quot;https://unsung.aresluna.org/feed.xml&quot;&gt;Atom&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a rel=&quot;external&quot; href=&quot;https://aresluna.org&quot;&gt;Marcin Wichary&lt;/a&gt;&#39;s technology blog, numerous posts about UI/UX.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;a rel=&quot;external&quot; href=&quot;https://lobste.rs&quot;&gt;lobste.rs&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;Community link aggregator.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;a rel=&quot;external&quot; href=&quot;https://www.aprilcools.club&quot;&gt;April Cools&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;Initiative to make April 1st a more interesting day on the &lt;a rel=&quot;external&quot; href=&quot;https://indieweb.org/IndieWe&quot;&gt;IndieWeb&lt;/a&gt;.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;a rel=&quot;external&quot; href=&quot;https://vlad.website&quot;&gt;Vlad-Stefan Harbuz&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a rel=&quot;external&quot; href=&quot;https://vlad.website/index.xml&quot;&gt;RSS&lt;/a&gt;&lt;/td&gt;&lt;td&gt;Personal website about philosophy and Open Source.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;a rel=&quot;external&quot; href=&quot;https://xxiivv.com&quot;&gt;xxiivv&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a rel=&quot;external&quot; href=&quot;https://wiki.xxiivv.com/links/log.xml&quot;&gt;RSS (Log)&lt;/a&gt; &lt;a rel=&quot;external&quot; href=&quot;https://wiki.xxiivv.com/links/img.xml&quot;&gt;RSS (Images)&lt;/a&gt;&lt;/td&gt;&lt;td&gt;Personal wiki of Devine Lu Linvega, artist and programmer.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;a rel=&quot;external&quot; href=&quot;https://kokorobot.ca&quot;&gt;kokorobot&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a rel=&quot;external&quot; href=&quot;https://kokorobot.ca/links/rss.xml&quot;&gt;RSS&lt;/a&gt;&lt;/td&gt;&lt;td&gt;Personal website of Rek Bellum, artist and illustrator.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;a rel=&quot;external&quot; href=&quot;https://100r.ca&quot;&gt;Hundred Rabbits&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a rel=&quot;external&quot; href=&quot;https://100r.ca/links/rss.xml&quot;&gt;RSS&lt;/a&gt;&lt;/td&gt;&lt;td&gt;Art and life project of Devine Lu Linvega and Rek Bellum.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;a rel=&quot;external&quot; href=&quot;https://michael.stapelberg.ch&quot;&gt;Michael Stapelberg&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a rel=&quot;external&quot; href=&quot;https://michael.stapelberg.ch/feed.xml&quot;&gt;Atom&lt;/a&gt;&lt;/td&gt;&lt;td&gt;Personal website with posts on various computer topics, by a former Debian maintainer.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;a rel=&quot;external&quot; href=&quot;https://faultlore.com&quot;&gt;Faultlore&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a rel=&quot;external&quot; href=&quot;https://faultlore.com/blah/rss.xml&quot;&gt;RSS&lt;/a&gt;&lt;/td&gt;&lt;td&gt;Aria Desires&#39; personal website and blog, with many articles on low-level computer science.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;a rel=&quot;external&quot; href=&quot;https://rknight.me&quot;&gt;Robb Knight&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a rel=&quot;external&quot; href=&quot;https://rknight.me/subscribe&quot;&gt;Atom, RSS &amp;amp; JSON Feed&lt;/a&gt;&lt;/td&gt;&lt;td&gt;Personal blog with articles about computing and other various topics.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;a rel=&quot;external&quot; href=&quot;https://ooni.org&quot;&gt;OONI&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;An organization that seeks to document and record cases of internet censorship by institutions. I highly recommend &lt;a rel=&quot;external&quot; href=&quot;https://ooni.org/get-involved/&quot;&gt;supporting them&lt;/a&gt;.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;h2 id=&quot;music&quot;&gt;Music&lt;/h2&gt;
&lt;p&gt;I love many genres of music, listening to anything that resembles hip-hop, rock, rap, or jazz.
I have a Last.fm profile where the music I listen to is displayed.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;There&#39;s only one beer left...&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&quot;miscellaneous&quot;&gt;Miscellaneous&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;My favorite color is &lt;span style=&quot;color: red;&quot;&gt;red&lt;/span&gt;.&lt;/li&gt;
&lt;li&gt;My favorite Unicode character is the Angzarr ⍼.&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
            <title>Guestbook</title>
            <pubDate>Fri, 14 Aug 2026 00:00:00 +0000</pubDate>
            <author>Jorge Dobón Blanco</author>
            <link>https://dobon.dev/en/guestbook/</link>
            <guid>https://dobon.dev/en/guestbook/</guid>
            <description xml:base="https://dobon.dev/en/guestbook/">&lt;p&gt;On this page, you, the readers of this website, can leave messages for the world.
To leave a message, email &lt;a href=&quot;mailto:guestbook@dobon.dev&quot;&gt;guestbook@dobon.dev&lt;/a&gt; with your name, the message body
and optionally a link to your website.&lt;/p&gt;
&lt;p&gt;The following formats are allowed:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Plain text.&lt;/li&gt;
&lt;li&gt;Markdown &lt;a rel=&quot;external&quot; href=&quot;https://commonmark.org/&quot;&gt;CommonMark&lt;/a&gt; (hybrid with HTML is allowed).&lt;/li&gt;
&lt;li&gt;&lt;a rel=&quot;external&quot; href=&quot;https://en.wikipedia.org/wiki/HTML&quot;&gt;HTML&lt;/a&gt; (provided it is not intrusive or malicious).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;To show up as an anonymous reader, please indicate it explicitly.&lt;/em&gt;&lt;/p&gt;
</description>
        </item>
        <item>
            <title>Feeds</title>
            <pubDate>Wed, 12 Aug 2026 00:00:00 +0000</pubDate>
            <author>Jorge Dobón Blanco</author>
            <link>https://dobon.dev/en/feeds/</link>
            <guid>https://dobon.dev/en/feeds/</guid>
            <description xml:base="https://dobon.dev/en/feeds/">&lt;p&gt;The following &lt;a rel=&quot;external&quot; href=&quot;https://en.wikipedia.org/wiki/Atom_(web_standard)&quot;&gt;Atom feeds&lt;/a&gt; are available to keep track
of new publications or updates:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;/en/atom.xml&quot;&gt;Global feed&lt;/a&gt;: Lists everything published or updated on the site.
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;/en/articles/atom.xml&quot;&gt;Articles feed&lt;/a&gt;: New or updated &lt;a href=&quot;/en/articles&quot;&gt;articles&lt;/a&gt; on the site.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;/en/notes/atom.xml&quot;&gt;Notes feed&lt;/a&gt;: New or updated &lt;a href=&quot;/en/notes&quot;&gt;notes&lt;/a&gt; on the site.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
            <title>Exploring Paginated Arrays</title>
            <pubDate>Mon, 10 Aug 2026 00:00:00 +0000</pubDate>
            <author>Jorge Dobón Blanco</author>
            <link>https://dobon.dev/en/notes/exploring-paginated-arrays/</link>
            <guid>https://dobon.dev/en/notes/exploring-paginated-arrays/</guid>
            <description xml:base="https://dobon.dev/en/notes/exploring-paginated-arrays/">&lt;p&gt;&lt;em&gt;Throughout this text, I work exclusively with signed numbers.&lt;/em&gt;
&lt;em&gt;This is because one of my personal requirements is that my libraries must be compatible&lt;/em&gt;
&lt;em&gt;with the &lt;a rel=&quot;external&quot; href=&quot;https://learn.microsoft.com/es-es/dotnet/standard/language-independence&quot;&gt;CLS independence agreement&lt;/a&gt; described in the &lt;a rel=&quot;external&quot; href=&quot;https://ecma-international.org/publications-and-standards/standards/ecma-335/&quot;&gt;ECMA-335 CLI&lt;/a&gt; standard.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Recently, I was working on a personal project developed in C# that,
for various reasons and with the desire to experiment a bit, required an array
that could use a &lt;code&gt;long&lt;/code&gt; integer as its index, that is, with 64 bits of indexing.&lt;/p&gt;
&lt;p&gt;The .NET runtime environment only natively supports arrays with &lt;code&gt;int&lt;/code&gt; integers,32 bits, as indices.
This is not only a limitation of its standard library but also of its own &lt;a rel=&quot;external&quot; href=&quot;https://en.wikipedia.org/wiki/Garbage_collection_(computer_science)&quot;&gt;garbage collector (GC)&lt;/a&gt;;
unless a specific configuration is enabled, objects are limited to 2 GiB.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;&amp;lt;gcAllowVeryLargeObjects&amp;gt;&lt;/code&gt; element&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;On 64-bit platforms, enables arrays that are greater than 2 gigabytes (GB)
in total size.&lt;/p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #F2F4F8; background-color: #000000;&quot; &gt;&lt;code data-lang=&quot;xml&quot; data-name=&quot;Company.Project.csproj&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #DDE1E6;&quot;&gt;gcAllowVeryLargeObjects&lt;/span&gt;&lt;span&gt; enabled=&lt;/span&gt;&lt;span style=&quot;color: #BE95FF;&quot;&gt;&amp;quot;true|false&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt; /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;— Microsoft Learn (&lt;a rel=&quot;external&quot; href=&quot;https://learn.microsoft.com/en-us/dotnet/framework/configure-apps/file-schema/runtime/gcallowverylargeobjects-element&quot;&gt;source&lt;/a&gt;)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;In any case, creating an array of such a size wouldn&#39;t be ideal either,
as it would result in large monolithic blocks of managed memory that would be problematic
for the GC.&lt;/p&gt;
&lt;h2 id=&quot;paginated-arrays&quot;&gt;Paginated Arrays&lt;/h2&gt;
&lt;p&gt;I decided to use a resource that would solve the memory problems and,
in my mind, would also allow me to have 64-bit indexing: paginated arrays.&lt;/p&gt;
&lt;p&gt;A paginated array is a data structure in which the elements are stored in
fixed-size arrays called pages. My theory was that with enough pages,
I could simulate 64-bit indexing.&lt;/p&gt;
&lt;p&gt;My implementation consisted of a sparse list, a data structure that allows
access to non-contiguous indices by inserting null pointers into completely empty pages.&lt;/p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #F2F4F8; background-color: #000000;&quot; &gt;&lt;code data-lang=&quot;csharp&quot; data-name=&quot;SparseList.cs&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt; 1&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;font-style: italic;&quot;&gt;namespace&lt;/span&gt;&lt;span style=&quot;color: #DDE1E6;&quot;&gt; Redacted&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span style=&quot;color: #DDE1E6;&quot;&gt;Collections&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt; 2&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt; 3&lt;/span&gt;&lt;span style=&quot;color: #33B1FF;&quot;&gt;internal&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;font-style: italic;&quot;&gt; class&lt;/span&gt;&lt;span style=&quot;color: #DDE1E6;&quot;&gt; SparseList&lt;/span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #DDE1E6;&quot;&gt;T&lt;/span&gt;&lt;span&gt;&amp;gt;(&lt;/span&gt;&lt;span style=&quot;color: #78A9FF;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #DDE1E6;&quot;&gt; pageSize&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #DDE1E6;&quot;&gt; T tombstone&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt; = default!&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt; 4&lt;/span&gt;&lt;span&gt;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt; 5&lt;/span&gt;&lt;span style=&quot;color: #33B1FF;&quot;&gt;    public&lt;/span&gt;&lt;span style=&quot;color: #DDE1E6;&quot;&gt; T&lt;/span&gt;&lt;span style=&quot;color: #FFFFFF;&quot;&gt; this&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;&lt;span style=&quot;color: #78A9FF;&quot;&gt;long&lt;/span&gt;&lt;span style=&quot;color: #DDE1E6;&quot;&gt; index&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt; 6&lt;/span&gt;&lt;span&gt;    {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt; 7&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;font-style: italic;&quot;&gt;        get&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt; =&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #FF7EB6;font-weight: bold;&quot;&gt; Get&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span style=&quot;color: #FFFFFF;&quot;&gt;index&lt;/span&gt;&lt;span&gt;);&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt; 8&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;font-style: italic;&quot;&gt;        set&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt; =&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #FF7EB6;font-weight: bold;&quot;&gt; Set&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span style=&quot;color: #FFFFFF;&quot;&gt;index&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #FFFFFF;&quot;&gt; value&lt;/span&gt;&lt;span&gt;);&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt; 9&lt;/span&gt;&lt;span&gt;    }&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;10&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;11&lt;/span&gt;&lt;span style=&quot;color: #33B1FF;&quot;&gt;    private readonly&lt;/span&gt;&lt;span style=&quot;color: #DDE1E6;&quot;&gt; List&lt;/span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #DDE1E6;&quot;&gt;SparseListPage&lt;/span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #DDE1E6;&quot;&gt;T&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt;?&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #DDE1E6;&quot;&gt; _pages&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt; =&lt;/span&gt;&lt;span&gt; [];&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;12&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;13&lt;/span&gt;&lt;span style=&quot;color: #33B1FF;&quot;&gt;    private&lt;/span&gt;&lt;span style=&quot;color: #DDE1E6;&quot;&gt; T&lt;/span&gt;&lt;span style=&quot;color: #FF7EB6;font-weight: bold;&quot;&gt; Get&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span style=&quot;color: #78A9FF;&quot;&gt;long&lt;/span&gt;&lt;span style=&quot;color: #DDE1E6;&quot;&gt; index&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;14&lt;/span&gt;&lt;span&gt;    {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;15&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;font-style: italic;&quot;&gt;        var&lt;/span&gt;&lt;span&gt; (&lt;/span&gt;&lt;span style=&quot;color: #DDE1E6;&quot;&gt;pageIndex&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #DDE1E6;&quot;&gt; elementIndex&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color: #FF7EB6;font-weight: bold;&quot;&gt; GetIndices&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span style=&quot;color: #FFFFFF;&quot;&gt;index&lt;/span&gt;&lt;span&gt;);&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;16&lt;/span&gt;&lt;span style=&quot;color: #78A9FF;&quot;&gt;        if&lt;/span&gt;&lt;span&gt; (&lt;/span&gt;&lt;span style=&quot;color: #FFFFFF;&quot;&gt;pageIndex&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt; &amp;gt;=&lt;/span&gt;&lt;span style=&quot;color: #FFFFFF;&quot;&gt; _pages&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span style=&quot;color: #FFFFFF;&quot;&gt;Count&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span style=&quot;color: #78A9FF;&quot;&gt; return&lt;/span&gt;&lt;span style=&quot;color: #FFFFFF;&quot;&gt; tombstone&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;17&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;18&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;font-style: italic;&quot;&gt;        var&lt;/span&gt;&lt;span style=&quot;color: #DDE1E6;&quot;&gt; page&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color: #FFFFFF;&quot;&gt; _pages&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;&lt;span style=&quot;color: #FFFFFF;&quot;&gt;pageIndex&lt;/span&gt;&lt;span&gt;];&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;19&lt;/span&gt;&lt;span style=&quot;color: #78A9FF;&quot;&gt;        if&lt;/span&gt;&lt;span&gt; (&lt;/span&gt;&lt;span style=&quot;color: #FFFFFF;&quot;&gt;page&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt; ==&lt;/span&gt;&lt;span style=&quot;color: #82CFFF;&quot;&gt; null&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span style=&quot;color: #78A9FF;&quot;&gt; return&lt;/span&gt;&lt;span style=&quot;color: #FFFFFF;&quot;&gt; tombstone&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;20&lt;/span&gt;&lt;span&gt;        &lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;21&lt;/span&gt;&lt;span style=&quot;color: #78A9FF;&quot;&gt;        return&lt;/span&gt;&lt;span style=&quot;color: #FFFFFF;&quot;&gt; _pages&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;&lt;span style=&quot;color: #FFFFFF;&quot;&gt;pageIndex&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt;!&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;&lt;span style=&quot;color: #FFFFFF;&quot;&gt;elementIndex&lt;/span&gt;&lt;span&gt;];&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;22&lt;/span&gt;&lt;span&gt;    }&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;23&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;24&lt;/span&gt;&lt;span style=&quot;color: #33B1FF;&quot;&gt;    private&lt;/span&gt;&lt;span style=&quot;color: #78A9FF;&quot;&gt; void&lt;/span&gt;&lt;span style=&quot;color: #FF7EB6;font-weight: bold;&quot;&gt; Set&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span style=&quot;color: #78A9FF;&quot;&gt;long&lt;/span&gt;&lt;span style=&quot;color: #DDE1E6;&quot;&gt; index&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #DDE1E6;&quot;&gt; T value&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;25&lt;/span&gt;&lt;span&gt;    {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;26&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;font-style: italic;&quot;&gt;        var&lt;/span&gt;&lt;span&gt; (&lt;/span&gt;&lt;span style=&quot;color: #DDE1E6;&quot;&gt;pageIndex&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #DDE1E6;&quot;&gt; elementIndex&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color: #FF7EB6;font-weight: bold;&quot;&gt; GetIndices&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span style=&quot;color: #FFFFFF;&quot;&gt;index&lt;/span&gt;&lt;span&gt;);&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;27&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;font-style: italic;&quot;&gt;        var&lt;/span&gt;&lt;span style=&quot;color: #DDE1E6;&quot;&gt; isValueTombstone&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color: #FF7EB6;font-weight: bold;&quot;&gt; Equals&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span style=&quot;color: #FFFFFF;&quot;&gt;value&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #FFFFFF;&quot;&gt; tombstone&lt;/span&gt;&lt;span&gt;);&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;28&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;29&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;font-style: italic;&quot;&gt;        var&lt;/span&gt;&lt;span style=&quot;color: #DDE1E6;&quot;&gt; missingPages&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt; =&lt;/span&gt;&lt;span&gt; (&lt;/span&gt;&lt;span style=&quot;color: #FFFFFF;&quot;&gt;pageIndex&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt; +&lt;/span&gt;&lt;span style=&quot;color: #82CFFF;&quot;&gt; 1&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt; -&lt;/span&gt;&lt;span style=&quot;color: #FFFFFF;&quot;&gt; _pages&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span style=&quot;color: #FFFFFF;&quot;&gt;Count&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;30&lt;/span&gt;&lt;span style=&quot;color: #78A9FF;&quot;&gt;        if&lt;/span&gt;&lt;span&gt; (&lt;/span&gt;&lt;span style=&quot;color: #FFFFFF;&quot;&gt;missingPages&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt; &amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #82CFFF;&quot;&gt; 0&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt; &amp;amp;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #FFFFFF;&quot;&gt; isValueTombstone&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span style=&quot;color: #78A9FF;&quot;&gt; return&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;31&lt;/span&gt;&lt;span&gt;        &lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;32&lt;/span&gt;&lt;span style=&quot;color: #78A9FF;&quot;&gt;        for&lt;/span&gt;&lt;span&gt; (&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;font-style: italic;&quot;&gt;var&lt;/span&gt;&lt;span style=&quot;color: #DDE1E6;&quot;&gt; i&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color: #82CFFF;&quot;&gt; 0&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;span style=&quot;color: #FFFFFF;&quot;&gt; i&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt; &amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #FFFFFF;&quot;&gt; missingPages&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;span style=&quot;color: #FFFFFF;&quot;&gt; i&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt;++&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;33&lt;/span&gt;&lt;span&gt;        {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;34&lt;/span&gt;&lt;span style=&quot;color: #FFFFFF;&quot;&gt;            _pages&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span style=&quot;color: #FF7EB6;font-weight: bold;&quot;&gt;Add&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span style=&quot;color: #82CFFF;&quot;&gt;null&lt;/span&gt;&lt;span&gt;);&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;35&lt;/span&gt;&lt;span&gt;        }&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;36&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;37&lt;/span&gt;&lt;span style=&quot;color: #FFFFFF;&quot;&gt;        _pages&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;&lt;span style=&quot;color: #FFFFFF;&quot;&gt;pageIndex&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt; ??= new&lt;/span&gt;&lt;span style=&quot;color: #DDE1E6;&quot;&gt; SparseListPage&lt;/span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #DDE1E6;&quot;&gt;T&lt;/span&gt;&lt;span&gt;&amp;gt;(&lt;/span&gt;&lt;span style=&quot;color: #FFFFFF;&quot;&gt;pageSize&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #FFFFFF;&quot;&gt; tombstone&lt;/span&gt;&lt;span&gt;);&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;38&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;font-style: italic;&quot;&gt;        var&lt;/span&gt;&lt;span style=&quot;color: #DDE1E6;&quot;&gt; page&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color: #FFFFFF;&quot;&gt; _pages&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;&lt;span style=&quot;color: #FFFFFF;&quot;&gt;pageIndex&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt;!&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;39&lt;/span&gt;&lt;span&gt;        &lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;40&lt;/span&gt;&lt;span style=&quot;color: #78A9FF;&quot;&gt;        if&lt;/span&gt;&lt;span&gt; (&lt;/span&gt;&lt;span style=&quot;color: #FFFFFF;&quot;&gt;page&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span style=&quot;color: #FFFFFF;&quot;&gt;Count&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt; ==&lt;/span&gt;&lt;span style=&quot;color: #82CFFF;&quot;&gt; 1&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt; &amp;amp;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #FFFFFF;&quot;&gt; isValueTombstone&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;41&lt;/span&gt;&lt;span&gt;        {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;42&lt;/span&gt;&lt;span style=&quot;color: #FFFFFF;&quot;&gt;            _pages&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;&lt;span style=&quot;color: #FFFFFF;&quot;&gt;pageIndex&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color: #82CFFF;&quot;&gt; null&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;43&lt;/span&gt;&lt;span style=&quot;color: #78A9FF;&quot;&gt;            return&lt;/span&gt;&lt;span&gt;;   &lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;44&lt;/span&gt;&lt;span&gt;        }&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;45&lt;/span&gt;&lt;span&gt;        &lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;46&lt;/span&gt;&lt;span style=&quot;color: #FFFFFF;&quot;&gt;        page&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;&lt;span style=&quot;color: #FFFFFF;&quot;&gt;elementIndex&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color: #FFFFFF;&quot;&gt; value&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;47&lt;/span&gt;&lt;span&gt;    }&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;48&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;49&lt;/span&gt;&lt;span style=&quot;color: #33B1FF;&quot;&gt;    private&lt;/span&gt;&lt;span&gt; (&lt;/span&gt;&lt;span style=&quot;color: #78A9FF;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #DDE1E6;&quot;&gt; pageIndex&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #78A9FF;&quot;&gt; int&lt;/span&gt;&lt;span style=&quot;color: #DDE1E6;&quot;&gt; elementIndex&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span style=&quot;color: #FF7EB6;font-weight: bold;&quot;&gt; GetIndices&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span style=&quot;color: #78A9FF;&quot;&gt;long&lt;/span&gt;&lt;span style=&quot;color: #DDE1E6;&quot;&gt; index&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;50&lt;/span&gt;&lt;span&gt;    {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;51&lt;/span&gt;&lt;span style=&quot;color: #78A9FF;&quot;&gt;        return&lt;/span&gt;&lt;span&gt; ((&lt;/span&gt;&lt;span style=&quot;color: #78A9FF;&quot;&gt;int&lt;/span&gt;&lt;span&gt;)(&lt;/span&gt;&lt;span style=&quot;color: #FFFFFF;&quot;&gt;index&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt; /&lt;/span&gt;&lt;span style=&quot;color: #FFFFFF;&quot;&gt; pageSize&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt;,&lt;/span&gt;&lt;span&gt; (&lt;/span&gt;&lt;span style=&quot;color: #78A9FF;&quot;&gt;int&lt;/span&gt;&lt;span&gt;)(&lt;/span&gt;&lt;span style=&quot;color: #FFFFFF;&quot;&gt;index&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt; %&lt;/span&gt;&lt;span style=&quot;color: #FFFFFF;&quot;&gt; pageSize&lt;/span&gt;&lt;span&gt;));&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;52&lt;/span&gt;&lt;span&gt;    }&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;53&lt;/span&gt;&lt;span&gt;}⏎&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;pre class=&quot;giallo&quot; style=&quot;color: #F2F4F8; background-color: #000000;&quot; &gt;&lt;code data-lang=&quot;csharp&quot; data-name=&quot;SparseListPage.cs&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt; 1&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;font-style: italic;&quot;&gt;namespace&lt;/span&gt;&lt;span style=&quot;color: #DDE1E6;&quot;&gt; Redacted&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span style=&quot;color: #DDE1E6;&quot;&gt;Collections&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt; 2&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt; 3&lt;/span&gt;&lt;span style=&quot;color: #33B1FF;&quot;&gt;internal&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;font-style: italic;&quot;&gt; class&lt;/span&gt;&lt;span style=&quot;color: #DDE1E6;&quot;&gt; SparseListPage&lt;/span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #DDE1E6;&quot;&gt;T&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt; 4&lt;/span&gt;&lt;span&gt;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt; 5&lt;/span&gt;&lt;span style=&quot;color: #33B1FF;&quot;&gt;    public&lt;/span&gt;&lt;span style=&quot;color: #78A9FF;&quot;&gt; int&lt;/span&gt;&lt;span style=&quot;color: #DDE1E6;&quot;&gt; Size&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt; =&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #FFFFFF;&quot;&gt; _size&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt; 6&lt;/span&gt;&lt;span style=&quot;color: #33B1FF;&quot;&gt;    public&lt;/span&gt;&lt;span style=&quot;color: #78A9FF;&quot;&gt; int&lt;/span&gt;&lt;span style=&quot;color: #DDE1E6;&quot;&gt; Count&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt; 7&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt; 8&lt;/span&gt;&lt;span style=&quot;color: #33B1FF;&quot;&gt;    public&lt;/span&gt;&lt;span style=&quot;color: #DDE1E6;&quot;&gt; T&lt;/span&gt;&lt;span style=&quot;color: #FFFFFF;&quot;&gt; this&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;&lt;span style=&quot;color: #78A9FF;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #DDE1E6;&quot;&gt; index&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt; 9&lt;/span&gt;&lt;span&gt;    {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;10&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;font-style: italic;&quot;&gt;        get&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt; =&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #FFFFFF;&quot;&gt; _data&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;&lt;span style=&quot;color: #FFFFFF;&quot;&gt;index&lt;/span&gt;&lt;span&gt;];&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;11&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;font-style: italic;&quot;&gt;        set&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;12&lt;/span&gt;&lt;span&gt;        {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;13&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;font-style: italic;&quot;&gt;            var&lt;/span&gt;&lt;span style=&quot;color: #DDE1E6;&quot;&gt; isNewValueTombstone&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color: #FF7EB6;font-weight: bold;&quot;&gt; Equals&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span style=&quot;color: #FFFFFF;&quot;&gt;value&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #FFFFFF;&quot;&gt; _tombstone&lt;/span&gt;&lt;span&gt;);&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;14&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;font-style: italic;&quot;&gt;            var&lt;/span&gt;&lt;span style=&quot;color: #DDE1E6;&quot;&gt; isStoredValueTombstone&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color: #FF7EB6;font-weight: bold;&quot;&gt; Equals&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span style=&quot;color: #FFFFFF;&quot;&gt;_data&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;&lt;span style=&quot;color: #FFFFFF;&quot;&gt;index&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #FFFFFF;&quot;&gt; _tombstone&lt;/span&gt;&lt;span&gt;);&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;15&lt;/span&gt;&lt;span&gt;            &lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;16&lt;/span&gt;&lt;span style=&quot;color: #78A9FF;&quot;&gt;            if&lt;/span&gt;&lt;span&gt; (&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt;!&lt;/span&gt;&lt;span style=&quot;color: #FFFFFF;&quot;&gt;isNewValueTombstone&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt; &amp;amp;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #FFFFFF;&quot;&gt; isStoredValueTombstone&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;17&lt;/span&gt;&lt;span&gt;            {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;18&lt;/span&gt;&lt;span style=&quot;color: #FFFFFF;&quot;&gt;                Count&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt;++&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;19&lt;/span&gt;&lt;span&gt;            }&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;20&lt;/span&gt;&lt;span style=&quot;color: #78A9FF;&quot;&gt;            else if&lt;/span&gt;&lt;span&gt; (&lt;/span&gt;&lt;span style=&quot;color: #FFFFFF;&quot;&gt;isNewValueTombstone&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt; &amp;amp;&amp;amp; !&lt;/span&gt;&lt;span style=&quot;color: #FFFFFF;&quot;&gt;isStoredValueTombstone&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;21&lt;/span&gt;&lt;span&gt;            {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;22&lt;/span&gt;&lt;span style=&quot;color: #FFFFFF;&quot;&gt;                Count&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt;--&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;23&lt;/span&gt;&lt;span&gt;            }&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;24&lt;/span&gt;&lt;span&gt;            &lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;25&lt;/span&gt;&lt;span style=&quot;color: #FFFFFF;&quot;&gt;            _data&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;&lt;span style=&quot;color: #FFFFFF;&quot;&gt;index&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color: #FFFFFF;&quot;&gt; value&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;26&lt;/span&gt;&lt;span&gt;        }&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;27&lt;/span&gt;&lt;span&gt;    }&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;28&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;29&lt;/span&gt;&lt;span style=&quot;color: #33B1FF;&quot;&gt;    private readonly&lt;/span&gt;&lt;span style=&quot;color: #78A9FF;&quot;&gt; int&lt;/span&gt;&lt;span style=&quot;color: #DDE1E6;&quot;&gt; _size&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;30&lt;/span&gt;&lt;span style=&quot;color: #33B1FF;&quot;&gt;    private readonly&lt;/span&gt;&lt;span style=&quot;color: #DDE1E6;&quot;&gt; T _tombstone&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;31&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;32&lt;/span&gt;&lt;span style=&quot;color: #33B1FF;&quot;&gt;    private readonly&lt;/span&gt;&lt;span style=&quot;color: #DDE1E6;&quot;&gt; T&lt;/span&gt;&lt;span&gt;[]&lt;/span&gt;&lt;span style=&quot;color: #DDE1E6;&quot;&gt; _data&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;33&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;34&lt;/span&gt;&lt;span style=&quot;color: #33B1FF;&quot;&gt;    public&lt;/span&gt;&lt;span style=&quot;color: #FF7EB6;font-weight: bold;&quot;&gt; SparseListPage&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span style=&quot;color: #78A9FF;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #DDE1E6;&quot;&gt; size&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #DDE1E6;&quot;&gt; T tombstone&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt; = default!&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;35&lt;/span&gt;&lt;span&gt;    {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;36&lt;/span&gt;&lt;span style=&quot;color: #FFFFFF;&quot;&gt;        _size&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color: #FFFFFF;&quot;&gt; size&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;37&lt;/span&gt;&lt;span style=&quot;color: #FFFFFF;&quot;&gt;        _tombstone&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color: #FFFFFF;&quot;&gt; tombstone&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;38&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;39&lt;/span&gt;&lt;span style=&quot;color: #FFFFFF;&quot;&gt;        _data&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt; = new&lt;/span&gt;&lt;span style=&quot;color: #DDE1E6;&quot;&gt; T&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;&lt;span style=&quot;color: #FFFFFF;&quot;&gt;size&lt;/span&gt;&lt;span&gt;];&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;40&lt;/span&gt;&lt;span style=&quot;color: #FFFFFF;&quot;&gt;        Array&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span style=&quot;color: #FF7EB6;font-weight: bold;&quot;&gt;Fill&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span style=&quot;color: #FFFFFF;&quot;&gt;_data&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #FFFFFF;&quot;&gt; _tombstone&lt;/span&gt;&lt;span&gt;);&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;41&lt;/span&gt;&lt;span&gt;    }&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;42&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;With my implementation working and passing my unit tests,
I set about bringing these structures to the real world. I dedicated a few hours to my project,
I ran &lt;code&gt;dotnet run&lt;/code&gt; in the terminal and...&lt;/p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #F2F4F8; background-color: #000000;&quot; &gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;Unhandled exception. System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection. (Parameter &amp;#39;index&amp;#39;)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    at System.Collections.Generic.List`1.get_Item(Int32 index)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    at Redacted.Collections.SparseSet.SparseList`1.Get(Int64 index) in [...]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    at Redacted.Collections.SparseSet.SparseList`1.get_Item(Int64 index) in [...]&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;At that moment I was surprised. It turns out that when trying to use the highest possible index,
&lt;code&gt;long.MaxValue&lt;/code&gt;, that is, with the number 9,223,372,036,854,775,807, the &lt;code&gt;GetIndices()&lt;/code&gt; method
returns the value -1 as the page index.&lt;/p&gt;
&lt;p&gt;This is because the &lt;code&gt;index / pageSize&lt;/code&gt; operation does not guarantee that it will be
a value less than or equal to &lt;code&gt;int.maxValue&lt;/code&gt;, that is, the number 2,147,483,648.&lt;/p&gt;
&lt;p&gt;This makes sense; it&#39;s not hard to see that any &lt;code&gt;long / int&lt;/code&gt; operation doesn&#39;t guarantee this.&lt;/p&gt;
&lt;h2 id=&quot;reason&quot;&gt;Reason&lt;/h2&gt;
&lt;p&gt;The reason, which disproves any possibility that my theory was true, is straightforward.&lt;/p&gt;
&lt;p&gt;An array with 32-bit indices can store up to $ 2^{31} $ elements.
This implies that each page can store that many elements;
and since pointers to pages are also stored in an array, there can be up to $ 2^{31} $ pages.&lt;/p&gt;
&lt;p&gt;This means there can be up to $ 2^{31} * 2^{31} = 2^{31 + 31} = 2^{62} $
elements in total in a paginated array, but an array with 64-bit indices can
accumulate up to $ 2^{63} $ elements. There are $ 2^{63} - 2^{62} $ inaccessible elements;
that is, the last $ 4,611,686,018,427,387,904 $ indices of the array are not indexable.&lt;/p&gt;
&lt;h3 id=&quot;what-if-we-removed-the-sign&quot;&gt;What if we removed the sign?&lt;/h3&gt;
&lt;p&gt;If we encountered a language that allowed 32-bit unsigned indices,
up to $ 2^{32} $ elements could be stored; using the same reasoning as before,
we could have up to $ 2^{32} $ pages.&lt;/p&gt;
&lt;p&gt;This would allow us to reach $ 2^{32} * 2^{32} = 2^{32 + 32} = 2^{64} $ elements
in total when using a paginated array. It&#39;s interesting that in this hypothetical language,
a paginated array could store not only all the elements of a 64-bit signed index
array ($ 2^{63} $ elements) but also of a 64-bit unsigned index array ($ 2^{64} $ elements).&lt;/p&gt;
&lt;h3 id=&quot;proof&quot;&gt;Proof&lt;/h3&gt;
&lt;p&gt;Given the previous results, it&#39;s natural to be interested in finding a mathematical proof:&lt;/p&gt;
&lt;p&gt;We set up $a \gt b$, where $a \in \mathbb{N^+}$ is the number of bits of the
indices of the array we want to replicate, and $b \in \mathbb{N^+}$ is the number
of bits of the indices of the arrays that make up our paginated array (the replica).&lt;/p&gt;
&lt;p&gt;For the replica to be valid, all elements of the original array must be able to
be included in the replica:&lt;/p&gt;
&lt;p&gt;$$ 2^a = 2^b * 2^b \implies 2^a = 2^{b + b} \implies a = 2b \implies a / 2 = b $$&lt;/p&gt;
&lt;p&gt;And since we are working with integer arithmetic, the expression $a / 2$
only exists if $a \bmod 2 = 0$;
In other words, &lt;u&gt;$ a $ must be an even number&lt;/u&gt; $ \blacksquare $.&lt;/p&gt;
&lt;h2 id=&quot;alternatives&quot;&gt;Alternatives&lt;/h2&gt;
&lt;p&gt;I doubt there are alternatives to cover this specific case; most systems
where such a need might arise are capable of using 64-bit indices.&lt;/p&gt;
&lt;p&gt;This attempt of mine has turned out to be little more than a curious experiment
that I wanted to share.&lt;/p&gt;
</description>
        </item>
        <item>
            <title>SSG Adventures</title>
            <pubDate>Sun, 09 Aug 2026 00:00:00 +0000</pubDate>
            <author>Jorge Dobón Blanco</author>
            <link>https://dobon.dev/en/articles/ssg-adventures/</link>
            <guid>https://dobon.dev/en/articles/ssg-adventures/</guid>
            <description xml:base="https://dobon.dev/en/articles/ssg-adventures/">&lt;p&gt;It&#39;s practically a given that every user of &lt;a rel=&quot;external&quot; href=&quot;https://indieweb.org/IndieWeb&quot;&gt;IndieWeb&lt;/a&gt; should have as their first post a text
explaining their initial misadventures creating and deploying their personal website.&lt;/p&gt;
&lt;p&gt;My case is no exception. I originally tried to bring my site to life, first
by creating my own SSG (&lt;em&gt;Static Site Generator&lt;/em&gt;), &lt;a rel=&quot;external&quot; href=&quot;https://codeberg.org/jdobonb/amiga&quot;&gt;of which remnants still remain&lt;/a&gt;.
Shortly after, I realized the complexity of this task, and with university
still consuming much of my time, I decided to put this project on hold for a while.&lt;/p&gt;
&lt;p&gt;With this article, I want to test the writing and format of a &lt;em&gt;blog&lt;/em&gt;,
and discuss the creative and design process that led to the current technology
stack of &lt;a href=&quot;/en&quot;&gt;dobon.dev&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&quot;and-in-the-beginning-there-was-lobste-rs&quot;&gt;And in the beginning there was &lt;a rel=&quot;external&quot; href=&quot;https://lobste.rs&quot;&gt;lobste.rs&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;My interest in having my own digital space goes back a long way.
Accidentally, while trying to resolve the various doubts that arose during
my self-taught journey in the world of computing, I came across texts that
I found very interesting and educational, as in many cases they opened the
door to completely new concepts.&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;external&quot; href=&quot;https://michael.stapelberg.ch&quot;&gt;Michael Stapelberg&lt;/a&gt;&#39;s explanations of his experimental package manager &lt;a rel=&quot;external&quot; href=&quot;https://michael.stapelberg.ch/posts/2019-08-17-introducing-distri/&quot;&gt;d1stri&lt;/a&gt;,
&lt;a rel=&quot;external&quot; href=&quot;https://xeiaso.net&quot;&gt;Xe Iaso&lt;/a&gt;&#39;s detailed explanations of his &lt;a rel=&quot;external&quot; href=&quot;https://xeiaso.net/blog/paranoid-nixos-2021-07-18/&quot;&gt;paranoid NixOS configuration&lt;/a&gt;,
and &lt;a rel=&quot;external&quot; href=&quot;https://faultlore.com&quot;&gt;Aria Desires&lt;/a&gt;&#39; rant about &lt;a rel=&quot;external&quot; href=&quot;https://faultlore.com/blah/c-isnt-a-language/&quot;&gt;the current state of C-based ABIs&lt;/a&gt;
were small windows into everything in my field that I didn&#39;t know.&lt;/p&gt;
&lt;p&gt;It was therefore natural for the desire to write and share my opinions and
discoveries to arise within me, a desire that remained latent but constant
throughout the years. Upon arriving at university and speaking with my peers,
I realized that perhaps I had underestimated both my ability to teach and show
others my discoveries, and the pleasure I derive from doing so.&lt;/p&gt;
&lt;p&gt;After the first semester, somewhat more settled in university life,
I decided to dedicate my scarce free time to building my own website.
During that period, while routinely browsing &lt;a rel=&quot;external&quot; href=&quot;https://lobste.rs&quot;&gt;lobste.rs&lt;/a&gt;,
I came across a new, clear, and direct entry:
&lt;a rel=&quot;external&quot; href=&quot;https://arne.me/blog/write-your-own-ssg&quot;&gt;Why You Should Write Your Own Static Site Generator&lt;/a&gt;
(&lt;a rel=&quot;external&quot; href=&quot;https://lobste.rs/s/5hf7qf/why_you_should_write_your_own_static_site&quot;&gt;entry on lobste.rs&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;Motivated by this article, I opened RustRover with the intention of creating a SSG
that would fulfill a short and humble list of features:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Incremental rendering.&lt;/li&gt;
&lt;li&gt;Rendering based on HTML templates.&lt;/li&gt;
&lt;li&gt;Multilingual support.&lt;/li&gt;
&lt;li&gt;Atom font generation.&lt;/li&gt;
&lt;li&gt;AVIF image optimization and generation of WEBP and JPEG fallbacks.&lt;/li&gt;
&lt;li&gt;Hot reloading.&lt;/li&gt;
&lt;li&gt;Taxonomy system.&lt;/li&gt;
&lt;li&gt;Comment support with Webmention.&lt;/li&gt;
&lt;li&gt;Minification of HTML, CSS, and JS.&lt;/li&gt;
&lt;li&gt;&lt;a rel=&quot;external&quot; href=&quot;https://indieweb.org/POSSE&quot;&gt;POSSE&lt;/a&gt; syndication.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I hope the irony is clear... Looking back, my mistake is obvious;
the complexity of the system I needed was far too high.
Development quickly became an uphill battle due to the second semester,
which was already running at full capacity, and a series of self-imposed restrictions,
I wanted it to be a fully-fledged general-purpose SSG, not a &lt;a rel=&quot;external&quot; href=&quot;https://hannahilea.com/blog/houseplant-programming/&quot;&gt;houseplant program&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;All of this led to the project ending prematurely, dissatisfied with what I had managed to achieve.
I believe there were a few key points that made the task much more difficult:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;I underestimated the difficulty of creating a functional cache and the limited
need for incremental rendering in most SSGs, given the rendering speeds they can achieve.&lt;/li&gt;
&lt;li&gt;Converting between image formats proved to be more complex than simply adding&lt;/li&gt;
&lt;li&gt;an extra library and function call. &lt;a rel=&quot;external&quot; href=&quot;https://imagemagick.org&quot;&gt;ImageMagick&lt;/a&gt; has a highly complex API.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In short:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;There are only two hard things in Computer Science: cache invalidation
and naming things.&lt;/p&gt;
&lt;p&gt;— Phil Karlton (&lt;a rel=&quot;external&quot; href=&quot;https://www.karlton.org/2017/12/naming-things-hard/&quot;&gt;source&lt;/a&gt;)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&quot;hugo-makes-me-dizzy&quot;&gt;Hugo Makes Me Dizzy&lt;/h2&gt;
&lt;p&gt;I was away from this topic for a while; a self-hosting project,
which I want to write about in the future, took up a lot of my time.&lt;/p&gt;
&lt;p&gt;Just as August was beginning, I decided to finally have my own website,
and I chose &lt;a rel=&quot;external&quot; href=&quot;https://gohugo.io/&quot;&gt;Hugo&lt;/a&gt;, which is undoubtedly, along with &lt;a rel=&quot;external&quot; href=&quot;https://jekyllrb.com/&quot;&gt;Jekyll&lt;/a&gt;, &lt;a rel=&quot;external&quot; href=&quot;https://www.11ty.dev/&quot;&gt;Eleventy&lt;/a&gt;, and &lt;a rel=&quot;external&quot; href=&quot;https://astro.build/&quot;&gt;Astro&lt;/a&gt;,
one of the most widely used SSGs in the world...&lt;/p&gt;
&lt;p&gt;It wasn&#39;t a productive afternoon; &lt;a rel=&quot;external&quot; href=&quot;https://gohugo.io/&quot;&gt;Hugo&lt;/a&gt;&#39;s documentation turned out to be a disaster
More like a reference guide than a document that helps you learn how to use the tool,
it constantly introduces new concepts and links too many pages together,
making the whole thing overwhelming.&lt;/p&gt;
&lt;p&gt;Their &lt;a rel=&quot;external&quot; href=&quot;https://gohugo.io/getting-started/quick-start/&quot;&gt;Quick start guide&lt;/a&gt; treats the tool as a black box,
forcing the installation of a theme, as it doesn&#39;t explain how the template and styling system works.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Hugo&#39;s Glossary&lt;/summary&gt;
&lt;p&gt;&lt;em&gt;This section wasn&#39;t originally going to be hidden behind a dropdown,&lt;/em&gt;
&lt;em&gt;but I made it too long. Besides, it ended up sounding too much like a rant.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;An example of this problem is his &lt;a rel=&quot;external&quot; href=&quot;https://gohugo.io/quick-reference/glossary&quot;&gt;glossary of terms&lt;/a&gt;,
which has many issues such as:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;The addition of common computer terms that only make the
glossary too long, for example:&lt;/p&gt;
&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;Boolean: A &lt;em&gt;boolean&lt;/em&gt; is a data type with two possible values, either &lt;code&gt;true&lt;/code&gt; or &lt;code&gt;false&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Cache: A &lt;em&gt;cache&lt;/em&gt; is a software component that stores data so that
future requests for the same data are faster.&lt;/li&gt;
&lt;li&gt;CLI: &lt;em&gt;CLI&lt;/em&gt; stands for command-line interface, a text-based method for
interacting with computer programs or operating systems.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;— The Hugo SSG Glossary (&lt;a rel=&quot;external&quot; href=&quot;https://gohugo.io/quick-reference/glossary&quot;&gt;source&lt;/a&gt;)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The existence of proxy terms, for example:&lt;/p&gt;
&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;Dimension of content: See dimension.&lt;/li&gt;
&lt;li&gt;Bundle: See page bundle.&lt;/li&gt;
&lt;li&gt;Bool: See boolean.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;— The Hugo SSG Glossary (&lt;a rel=&quot;external&quot; href=&quot;https://gohugo.io/quick-reference/glossary&quot;&gt;source&lt;/a&gt;)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The invention of unnecessarily complex terminology:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Dimension: A &lt;em&gt;dimension&lt;/em&gt; is a categorized axis of content variation that
allows multiple variations of a logical page to exist simultaneously.
The three dimensions are &lt;em&gt;language&lt;/em&gt;, &lt;em&gt;role&lt;/em&gt;, and &lt;em&gt;version&lt;/em&gt;. For example,
a logical page may exist in 6 languages, 4 versions, and 2 roles.&lt;/p&gt;
&lt;p&gt;— The Hugo SSG Glossary (&lt;a rel=&quot;external&quot; href=&quot;https://gohugo.io/quick-reference/glossary&quot;&gt;source&lt;/a&gt;)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Don&#39;t get me wrong, this glossary isn&#39;t a critical issue,
but it perfectly exemplifies the poor state of Hugo&#39;s documentation.&lt;/p&gt;
&lt;/details&gt;
&lt;h3 id=&quot;what-if-i-use-bash&quot;&gt;What if I use Bash?&lt;/h3&gt;
&lt;p&gt;For a very brief period, I considered not using an SSG, but rather a series of
Bash scripts that would utilize tools like &lt;a rel=&quot;external&quot; href=&quot;https://pandoc.org/&quot;&gt;Pandoc&lt;/a&gt; or &lt;a rel=&quot;external&quot; href=&quot;https://mikefarah.gitbook.io/yq&quot;&gt;yq&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The idea lasted only an afternoon. I quickly realized how it would end up
with the same problems as my original attempt at an SSG, and I also remembered
my hatred of shell scripting.&lt;/p&gt;
&lt;h2 id=&quot;using-zola&quot;&gt;Using Zola&lt;/h2&gt;
&lt;p&gt;Finally, I gave a second chance to a tool that once performed flawlessly and
that I still don&#39;t know why I abandoned: &lt;a rel=&quot;external&quot; href=&quot;https://www.getzola.org/&quot;&gt;Zola&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I have no complaints. Its &lt;a rel=&quot;external&quot; href=&quot;https://www.getzola.org/documentation/getting-started/overview/&quot;&gt;Getting Started - Overview&lt;/a&gt;
quickly guided me in creating a simple personal blog, demonstrating the functionality
of its template system and its concise terminology based on pages, sections, and indices.&lt;/p&gt;
&lt;p&gt;It&#39;s a &lt;em&gt;SSG&lt;/em&gt; that aims to be fast, unobtrusive, and offer just the right amount of functionality.&lt;/p&gt;
&lt;h2 id=&quot;let-s-talk-about-open-source&quot;&gt;Let&#39;s Talk About Open Source&lt;/h2&gt;
&lt;p&gt;On a more personal note, I was pleased to see that the project transitioned from
a MIT licence (permisive) to the EUPL (&lt;em&gt;libre&lt;/em&gt; and viral).
I&#39;d like to include the following excerpt from a conversation that took place on GitHub:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Unfortunately there is a massive change for corporate users in the US.
EUPL is categorically prohibited across the tech industry as
it gets lumpedin with AGPL and SSPL. This license effectively makes zola
impossible to even run the binary in any US commercial setting.
— psarossy&lt;/p&gt;
&lt;p&gt;Too bad for US corporate users then? No reason to lump EUPL with AGPL.
[Version] 0.21 is still available for those users.
— Keats (creator of &lt;a rel=&quot;external&quot; href=&quot;https://www.getzola.org/&quot;&gt;Zola&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;— Excerpt from the conversation in Issue #3093 of the Zola GitHub repository
(&lt;a rel=&quot;external&quot; href=&quot;https://github.com/getzola/zola/issues/3093&quot;&gt;source&lt;/a&gt;)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I think it perfectly illustrates the asymmetrical situation we find ourselves in
the Open Source world. The corporate and professional world has created a set
of expectations over volunteers and people who practice computer science as a hobby,
forcing them to provide products and services of excellence and business-ready.&lt;/p&gt;
&lt;p&gt;I think it&#39;s relevant to reiterate a series of often-forgotten truths:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Everyone is free to create when and how they want, regardless of whether
what they create has &lt;em&gt;practical use&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;You are under no obligation to examine Pull Requests or any other proposals
for adding code, whether written by a human or AI.&lt;/li&gt;
&lt;li&gt;THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I highly recommend the text &lt;a rel=&quot;external&quot; href=&quot;https://lake.computer/blog/help-wanted/&quot;&gt;help wanted&lt;/a&gt; by &lt;a rel=&quot;external&quot; href=&quot;https://lake.computer/&quot;&gt;Lake Hope&lt;/a&gt;,
which explores this topic in greater depth.&lt;/p&gt;
&lt;h2 id=&quot;post-mortem&quot;&gt;&lt;em&gt;Post mortem&lt;/em&gt;&lt;/h2&gt;
&lt;p&gt;On the one hand, I&#39;m very happy to finally have a place to share my ideas and opinions.
But I can&#39;t help thinking that I haven&#39;t managed to develop the necessary skills
of a software engineer; burnout, exhaustion, and a lack of knowledge have played
a key role in this, but not having been able to develop a more competent
SSG program leaves me with a bittersweet feeling.&lt;/p&gt;
</description>
        </item>
        <item>
            <title>About Me</title>
            <pubDate>Fri, 20 Mar 2026 00:00:00 +0000</pubDate>
            <author>Jorge Dobón Blanco</author>
            <link>https://dobon.dev/en/about/</link>
            <guid>https://dobon.dev/en/about/</guid>
            <description xml:base="https://dobon.dev/en/about/">&lt;p&gt;Hello! I&#39;m Jorge, a computer science and statistics student from Spain.&lt;/p&gt;
&lt;p&gt;On this page, I want to tell you a little about myself, so you can get to know
the author behind all the text on this website.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;On this page, I try to avoid mentioning preferences or dislikes regarding&lt;/em&gt;
specific products, services, or pieces of art._
&lt;em&gt;My &lt;a href=&quot;/en/favs&quot;&gt;recommendations&lt;/a&gt; page already serves that purpose.&lt;/em&gt;&lt;/p&gt;
&lt;h2 id=&quot;computer-science&quot;&gt;Computer Science&lt;/h2&gt;
&lt;p&gt;I&#39;ve been discovering computer science on my own, and now also academically,
for as long as I can remember. This has been, is, and surely will be the
passion to which I&#39;ve dedicated the most time.&lt;/p&gt;
&lt;p&gt;I&#39;ve tried and studied, to a greater or lesser extent, a wide variety of the
fields that make it up: software development, UI design, the web, systems administration,
reproducible systems (NixOS), DevOps, CI/CDs, and much more.&lt;/p&gt;
&lt;p&gt;And even with all the hours spent in front of a screen,
I just want to learn more, read more, and tinker a little more.&lt;/p&gt;
&lt;h2 id=&quot;in-two-words-vi-deogames&quot;&gt;In two words: vi-deogames&lt;/h2&gt;
&lt;p&gt;Since I was a child, I&#39;ve been a huge video game enthusiast.
I&#39;ve dedicated thousands of hours to them and tried dozens of different genres.&lt;/p&gt;
&lt;p&gt;I&#39;ll never say no to playing a Metroidvania, a good puzzle game, a Souls-like,
a survival adventure, or a decent platformer.&lt;/p&gt;
&lt;p&gt;And no matter how hard I try, and no matter how many times it&#39;s recommended to me,
I&#39;ve never managed to have fun playing a Rogue-like (or a Rogue-lite).&lt;/p&gt;
&lt;h2 id=&quot;reading&quot;&gt;Reading&lt;/h2&gt;
&lt;p&gt;Although for some years now I&#39;ve been used to reading some kind of technical
text every day, usually written by members of the IndieWeb, I still don&#39;t hav
a strong reading habit.&lt;/p&gt;
&lt;p&gt;I hope to update this section of the site with a more positive tone in a few years.&lt;/p&gt;
&lt;h2 id=&quot;photography&quot;&gt;Photography&lt;/h2&gt;
&lt;p&gt;Not too long ago, thanks to a holiday that led to some very photogenic locations,
I&#39;ve become interested in photography.&lt;/p&gt;
&lt;p&gt;For now, I&#39;m just a beginner (ab)using a high-end mobile phone;
some of the photos I take I found them are attractive enough to &lt;a href=&quot;/en/photos&quot;&gt;post them on this site&lt;/a&gt;.&lt;/p&gt;
</description>
        </item>
        <item>
            <title>Now</title>
            <pubDate>Fri, 20 Mar 2026 00:00:00 +0000</pubDate>
            <author>Jorge Dobón Blanco</author>
            <link>https://dobon.dev/en/now/</link>
            <guid>https://dobon.dev/en/now/</guid>
            <description xml:base="https://dobon.dev/en/now/">&lt;p&gt;As of August 8, 2026, I find myself:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Enjoying my summer break.&lt;/li&gt;
&lt;li&gt;Migrating from my custom SSG (&lt;em&gt;Static Site Generator&lt;/em&gt;) to &lt;a rel=&quot;external&quot; href=&quot;https://www.getzola.org&quot;&gt;Zola&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This is a &lt;a rel=&quot;external&quot; href=&quot;https://nownownow.com/&quot;&gt;/now&lt;/a&gt; page, an idea started by &lt;a rel=&quot;external&quot; href=&quot;https://sive.rs&quot;&gt;Derek Sivers&lt;/a&gt; and &lt;a rel=&quot;external&quot; href=&quot;https://skillstopractice.com/&quot;&gt;Greg Albritton&lt;/a&gt;&lt;/p&gt;
</description>
        </item>
        <item>
            <title>Test card — This is a very very long title</title>
            <pubDate>Thu, 11 Jan 2007 00:00:00 +0000</pubDate>
            <author>Jorge Dobón Blanco</author>
            <link>https://dobon.dev/en/test-card/</link>
            <guid>https://dobon.dev/en/test-card/</guid>
            <description xml:base="https://dobon.dev/en/test-card/">&lt;p&gt;&lt;em&gt;This page exists only to test and ensure that the SSG (&lt;em&gt;Static Site Generator&lt;/em&gt;)&lt;/em&gt;
&lt;em&gt;in use for this website, &lt;a rel=&quot;external&quot; href=&quot;https://www.getzola.org&quot;&gt;Zola&lt;/a&gt;, is working as intended.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;It also serves as a showcase of the design used for this site.&lt;/em&gt;&lt;/p&gt;
&lt;h2 id=&quot;paragraphs&quot;&gt;Paragraphs&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Lorem ipsum dolor sit amet&lt;/strong&gt;, &lt;strong&gt;&lt;em&gt;consectetur adipiscing elit&lt;/em&gt;&lt;/strong&gt;. Fusce in eros at tortor
bibendum imperdiet eget at magna. Ut in ligula eget ex dapibus porta ut a sapien.
Curabitur urna tortor, aliquet at luctus ut, scelerisque sit amet lectus.
Mauris ac velit nulla. Nulla dolor nulla, feugiat sit amet erat eu, maximus aliquam nisi.
Morbi eleifend nulla non odio aliquam laoreet. Suspendisse sollicitudin sit amet nisl sit amet
ultrices. Duis ut enim sit amet lectus dictum ullamcorper id sed enim. Praesent quis tempor purus,
ut molestie quam.&lt;/p&gt;
&lt;p&gt;Duis efficitur, turpis a lacinia pellentesque, leo nulla congue elit, vel fringilla nulla risus ac odio.
Nulla facilisi. Proin velit purus, maximus at quam et, placerat finibus nibh. Etiam ut quam sed urna
blandit posuere. Suspendisse ex magna, molestie sed lobortis vitae, sodales eu lacus. Fusce consequat
tellus sit amet est pharetra, vel iaculis tortor iaculis. Nulla luctus magna eu erat finibus dapibus.&lt;/p&gt;
&lt;p&gt;Curabitur viverra nunc quis sapien sagittis maximus. Nunc maximus mollis nunc, ut rhoncus velit
posuere vitae. Morbi egestas, felis et faucibus pretium, odio nisl scelerisque urna, vitae finibus
tortor arcu sed mauris. Mauris sed tortor facilisis, eleifend lectus at, pellentesque urna.
Praesent ut varius massa, vel imperdiet est. Donec felis arcu, consequat ac tempus in, iaculis in
ligula. Vestibulum sagittis eleifend nulla, non maximus est bibendum id. Nam varius nibh ac ex
gravida imperdiet. Mauris eu nunc sed lorem lacinia interdum.&lt;/p&gt;
&lt;h2 id=&quot;headings&quot;&gt;Headings&lt;/h2&gt;
&lt;h1 id=&quot;heading-1&quot;&gt;Heading 1&lt;/h1&gt;
&lt;h2 id=&quot;heading-2&quot;&gt;Heading 2&lt;/h2&gt;
&lt;h3 id=&quot;heading-3&quot;&gt;Heading 3&lt;/h3&gt;
&lt;h4 id=&quot;heading-4&quot;&gt;Heading 4&lt;/h4&gt;
&lt;h5 id=&quot;heading-5&quot;&gt;Heading 5&lt;/h5&gt;
&lt;h2 id=&quot;quote-blocks&quot;&gt;Quote blocks&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;I never said half the crap people said I did.&lt;/p&gt;
&lt;p&gt;— Albert Einstein&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;Let&#39;s check nesting&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I&#39;m a quote inside a quote.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;There is no limit!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;That was cool, right?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;That&#39;s it, enough nesting.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&quot;code-blocks&quot;&gt;Code blocks&lt;/h2&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #F2F4F8; background-color: #000000;&quot; &gt;&lt;code data-lang=&quot;c&quot; data-name=&quot;q_math.c&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt; 3&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;font-style: italic;&quot;&gt;float&lt;/span&gt;&lt;span style=&quot;color: #FF7EB6;font-weight: bold;&quot;&gt; Q_rsqrt&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;font-style: italic;&quot;&gt; float&lt;/span&gt;&lt;span style=&quot;color: #FFFFFF;font-style: italic;&quot;&gt; number&lt;/span&gt;&lt;span&gt; )&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt; 4&lt;/span&gt;&lt;span&gt;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt; 5&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;font-style: italic;&quot;&gt;	long&lt;/span&gt;&lt;span&gt; i;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt; 6&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;font-style: italic;&quot;&gt;	float&lt;/span&gt;&lt;span&gt; x2&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt;,&lt;/span&gt;&lt;span&gt; y;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt; 7&lt;/span&gt;&lt;span style=&quot;color: #33B1FF;&quot;&gt;	const&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;font-style: italic;&quot;&gt; float&lt;/span&gt;&lt;span&gt; threehalfs &lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #82CFFF;&quot;&gt; 1.5&lt;/span&gt;&lt;span style=&quot;color: #33B1FF;&quot;&gt;F&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt; 8&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt; 9&lt;/span&gt;&lt;span&gt;	x2 &lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt;=&lt;/span&gt;&lt;span&gt; number &lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #82CFFF;&quot;&gt; 0.5&lt;/span&gt;&lt;span style=&quot;color: #33B1FF;&quot;&gt;F&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;10&lt;/span&gt;&lt;span&gt;	y  &lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt;=&lt;/span&gt;&lt;span&gt; number;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;11&lt;/span&gt;&lt;span&gt;	i  &lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt;= *&lt;/span&gt;&lt;span&gt; (&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;font-style: italic;&quot;&gt; long&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt; *&lt;/span&gt;&lt;span&gt; )&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt; &amp;amp;&lt;/span&gt;&lt;span&gt;y;&lt;/span&gt;&lt;span style=&quot;color: #6F6F6F;&quot;&gt;                       // evil floating point bit level hacking&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;12&lt;/span&gt;&lt;span&gt;	i  &lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #33B1FF;&quot;&gt; 0x&lt;/span&gt;&lt;span style=&quot;color: #82CFFF;&quot;&gt;5f3759df&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt; -&lt;/span&gt;&lt;span&gt; ( i &lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #82CFFF;&quot;&gt; 1&lt;/span&gt;&lt;span&gt; );&lt;/span&gt;&lt;span style=&quot;color: #6F6F6F;&quot;&gt;               // what the fuck?&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;13&lt;/span&gt;&lt;span&gt;	y  &lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt;= *&lt;/span&gt;&lt;span&gt; (&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;font-style: italic;&quot;&gt; float&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt; *&lt;/span&gt;&lt;span&gt; )&lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt; &amp;amp;&lt;/span&gt;&lt;span&gt;i;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;14&lt;/span&gt;&lt;span&gt;	y  &lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt;=&lt;/span&gt;&lt;span&gt; y &lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt;*&lt;/span&gt;&lt;span&gt; ( threehalfs &lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt;-&lt;/span&gt;&lt;span&gt; ( x2 &lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt;*&lt;/span&gt;&lt;span&gt; y &lt;/span&gt;&lt;span style=&quot;color: #3DDBD9;&quot;&gt;*&lt;/span&gt;&lt;span&gt; y ) );&lt;/span&gt;&lt;span style=&quot;color: #6F6F6F;&quot;&gt;   // 1st iteration&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;15&lt;/span&gt;&lt;span style=&quot;color: #6F6F6F;&quot;&gt;//	y  = y * ( threehalfs - ( x2 * y * y ) );   // 2nd iteration, this can be removed&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;16&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;17&lt;/span&gt;&lt;span style=&quot;color: #78A9FF;&quot;&gt;	return&lt;/span&gt;&lt;span&gt; y;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;giallo-ln&quot; style=&quot;color: #393939;&quot;&gt;18&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&quot;inline-code&quot;&gt;Inline code&lt;/h2&gt;
&lt;p&gt;Like &lt;code&gt;let x = 3&lt;/code&gt; or &lt;code&gt;cargo fmt&lt;/code&gt;;&lt;/p&gt;
&lt;h2 id=&quot;details&quot;&gt;Details&lt;/h2&gt;
&lt;details&gt;
&lt;summary&gt;You can click me!&lt;/summary&gt;
&lt;p&gt;This is cool soooo cool.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;I can even be nested&lt;/summary&gt;
&lt;p&gt;Amazing!&lt;/p&gt;
&lt;/details&gt;
&lt;/details&gt;
</description>
        </item>
        <item>
            <title>Caw</title>
            <pubDate>Thu, 01 Jan 1981 00:00:00 +0000</pubDate>
            <author>Jorge Dobón Blanco</author>
            <link>https://dobon.dev/en/caw/</link>
            <guid>https://dobon.dev/en/caw/</guid>
            <description xml:base="https://dobon.dev/en/caw/">&lt;blockquote&gt;
&lt;p&gt;Milana bonita, milana bonita...&lt;/p&gt;
&lt;p&gt;— Azarías&lt;/p&gt;
&lt;/blockquote&gt;
</description>
        </item>
    </channel>
</rss>