<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
    <channel>
        <title><![CDATA[Blog | Alex Harri]]></title>
        <description><![CDATA[Welcome to my personal website and blog. I write about TypeScript and other software engineering topics.]]></description>
        <link>https://alexharri.com</link>
        <generator>RSS for Node</generator>
        <lastBuildDate>Sun, 03 May 2026 13:44:13 GMT</lastBuildDate>
        <atom:link href="https://alexharri.com/rss.xml" rel="self" type="application/rss+xml"/>
        <language><![CDATA[en]]></language>
        <item>
            <title><![CDATA[ASCII characters are not pixels: a deep dive into ASCII rendering]]></title>
            <description><![CDATA[A look at how I used shape vectors to achieve sharp, high-quality ASCII rendering.]]></description>
            <link>https://alexharri.com/blog/ascii-rendering</link>
            <guid isPermaLink="true">https://alexharri.com/blog/ascii-rendering</guid>
            <dc:creator><![CDATA[Alex Harri Jónsson]]></dc:creator>
            <pubDate>Sat, 17 Jan 2026 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Compressing Icelandic name declension patterns into a 3.27 kB trie]]></title>
            <description><![CDATA[How I used a compressed trie data structure to encode Icelandic declension data.]]></description>
            <link>https://alexharri.com/blog/icelandic-name-declension-trie</link>
            <guid isPermaLink="true">https://alexharri.com/blog/icelandic-name-declension-trie</guid>
            <dc:creator><![CDATA[Alex Harri Jónsson]]></dc:creator>
            <pubDate>Sat, 02 Aug 2025 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[A flowing WebGL gradient, deconstructed]]></title>
            <description><![CDATA[An introduction to writing WebGL shaders using gradient noise and cool math.]]></description>
            <link>https://alexharri.com/blog/webgl-gradients</link>
            <guid isPermaLink="true">https://alexharri.com/blog/webgl-gradients</guid>
            <dc:creator><![CDATA[Alex Harri Jónsson]]></dc:creator>
            <pubDate>Sat, 12 Apr 2025 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Sharing changes, visuals first]]></title>
            <description><![CDATA[Exploring my visuals-first approach to sharing my work internally.]]></description>
            <link>https://alexharri.com/blog/visuals-first</link>
            <guid isPermaLink="true">https://alexharri.com/blog/visuals-first</guid>
            <dc:creator><![CDATA[Alex Harri Jónsson]]></dc:creator>
            <pubDate>Sat, 09 Nov 2024 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Searching for and navigating Git commits]]></title>
            <description><![CDATA[Exploring Git’s built-in tools for searching through and analyzing Git commit logs and diffs.]]></description>
            <link>https://alexharri.com/blog/searching-and-navigating-git-commits</link>
            <guid isPermaLink="true">https://alexharri.com/blog/searching-and-navigating-git-commits</guid>
            <dc:creator><![CDATA[Alex Harri Jónsson]]></dc:creator>
            <pubDate>Sun, 20 Oct 2024 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[The web’s clipboard, and how it stores data of different types]]></title>
            <description><![CDATA[Exploring the web’s clipboard APIs, their limitations, and their history.]]></description>
            <link>https://alexharri.com/blog/clipboard</link>
            <guid isPermaLink="true">https://alexharri.com/blog/clipboard</guid>
            <dc:creator><![CDATA[Alex Harri Jónsson]]></dc:creator>
            <pubDate>Sat, 14 Sep 2024 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[2024 Icelandic Developer Survey: Compensation, Technologies, and more]]></title>
            <description><![CDATA[Analyzing data from Iceland’s 2024 developer survey: compensation figures, programming languages, and technologies used.]]></description>
            <link>https://alexharri.com/blog/icelandic-developer-survey-2024</link>
            <guid isPermaLink="true">https://alexharri.com/blog/icelandic-developer-survey-2024</guid>
            <dc:creator><![CDATA[Alex Harri Jónsson]]></dc:creator>
            <pubDate>Sat, 13 Jul 2024 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Introducing Arkio’s Pin Tool]]></title>
            <description><![CDATA[Archived version of a post I wrote introducing Arkio’s Pin Tool as part of Arkio’s 1.7 release]]></description>
            <link>https://alexharri.com/blog/arkio-pin-tool</link>
            <guid isPermaLink="true">https://alexharri.com/blog/arkio-pin-tool</guid>
            <dc:creator><![CDATA[Alex Harri Jónsson]]></dc:creator>
            <pubDate>Mon, 29 Apr 2024 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Planes in 3D space]]></title>
            <description><![CDATA[Visual and interactive introduction to 2D planes in 3D space.]]></description>
            <link>https://alexharri.com/blog/planes</link>
            <guid isPermaLink="true">https://alexharri.com/blog/planes</guid>
            <dc:creator><![CDATA[Alex Harri Jónsson]]></dc:creator>
            <pubDate>Sat, 27 Apr 2024 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[JSDoc as an alternative TypeScript syntax]]></title>
            <description><![CDATA[How to type your JavaScript code base without writing a single TypeScript file.]]></description>
            <link>https://alexharri.com/blog/jsdoc-as-an-alternative-typescript-syntax</link>
            <guid isPermaLink="true">https://alexharri.com/blog/jsdoc-as-an-alternative-typescript-syntax</guid>
            <dc:creator><![CDATA[Alex Harri Jónsson]]></dc:creator>
            <pubDate>Wed, 09 Oct 2024 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Iterating over Bit Sets quickly]]></title>
            <description><![CDATA[Multiplying iteration speed by exploiting two’s complement and Hamming weights.]]></description>
            <link>https://alexharri.com/blog/bit-set-iteration</link>
            <guid isPermaLink="true">https://alexharri.com/blog/bit-set-iteration</guid>
            <dc:creator><![CDATA[Alex Harri Jónsson]]></dc:creator>
            <pubDate>Sat, 06 Jan 2024 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Bit Sets: An introduction to bit manipulation]]></title>
            <description><![CDATA[Learn about bitwise operators and bit manipulation by implementing a BitSet class in JavaScript.]]></description>
            <link>https://alexharri.com/blog/bit-sets</link>
            <guid isPermaLink="true">https://alexharri.com/blog/bit-sets</guid>
            <dc:creator><![CDATA[Alex Harri Jónsson]]></dc:creator>
            <pubDate>Sat, 06 Jan 2024 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Making GRID’s spreadsheet engine 10% faster]]></title>
            <description><![CDATA[Optimizing the performance of GRID’s browser-based spreadsheet engine, through the use of shared immutable objects.]]></description>
            <link>https://alexharri.com/blog/grid-engine-performance</link>
            <guid isPermaLink="true">https://alexharri.com/blog/grid-engine-performance</guid>
            <dc:creator><![CDATA[Alex Harri Jónsson]]></dc:creator>
            <pubDate>Wed, 11 Oct 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Why doesn’t TypeScript properly type Object.keys?]]></title>
            <description><![CDATA[A look at TypeScript’s structural type system, and we how we can effectively use it to our benefit.]]></description>
            <link>https://alexharri.com/blog/typescript-structural-typing</link>
            <guid isPermaLink="true">https://alexharri.com/blog/typescript-structural-typing</guid>
            <dc:creator><![CDATA[Alex Harri Jónsson]]></dc:creator>
            <pubDate>Sat, 24 Jun 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Moving to a monorepo: Yes, but how?]]></title>
            <description><![CDATA[Migrating existing repositories to a monorepo structure. A step-by-step guide.]]></description>
            <link>https://alexharri.com/blog/move-to-monorepo</link>
            <guid isPermaLink="true">https://alexharri.com/blog/move-to-monorepo</guid>
            <dc:creator><![CDATA[Alex Harri Jónsson]]></dc:creator>
            <pubDate>Sun, 11 Jun 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Multi-cursor code editing: An animated introduction]]></title>
            <description><![CDATA[Animated and interactive intro to multi-cursor editing using Command D and clever text navigation techniques.]]></description>
            <link>https://alexharri.com/blog/multi-cursor-code-editing-animated-introduction</link>
            <guid isPermaLink="true">https://alexharri.com/blog/multi-cursor-code-editing-animated-introduction</guid>
            <dc:creator><![CDATA[Alex Harri Jónsson]]></dc:creator>
            <pubDate>Sat, 28 Jan 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Build your own schema language with TypeScript’s infer keyword]]></title>
            <description><![CDATA[Case study on using TypeScript’s infer keyword, combined with recursive types, to create a custom schema language using template literal types.]]></description>
            <link>https://alexharri.com/blog/build-schema-language-with-infer</link>
            <guid isPermaLink="true">https://alexharri.com/blog/build-schema-language-with-infer</guid>
            <dc:creator><![CDATA[Alex Harri Jónsson]]></dc:creator>
            <pubDate>Tue, 08 Nov 2022 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[The Engineering behind Figma’s Vector Networks]]></title>
            <description><![CDATA[A deep dive into the world of vector networks, and the engineering challenges involved in their implementation.]]></description>
            <link>https://alexharri.com/blog/vector-networks</link>
            <guid isPermaLink="true">https://alexharri.com/blog/vector-networks</guid>
            <dc:creator><![CDATA[Alex Harri Jónsson]]></dc:creator>
            <pubDate>Sun, 24 Nov 2019 00:00:00 GMT</pubDate>
        </item>
    </channel>
</rss>