<?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[Matthew Gorzelinski's website]]></title>
        <description><![CDATA[I write about design, web development, tech, science, and other nerdy stuff I'm currently interested in.]]></description>
        <link>https://gorzelinski.com/</link>
        <image>
            <url>https://gorzelinski.com/images/logo.png</url>
            <title>Matthew Gorzelinski&apos;s website</title>
            <link>https://gorzelinski.com/</link>
        </image>
        <generator>Next.js</generator>
        <lastBuildDate>Wed, 10 Jun 2026 18:36:20 GMT</lastBuildDate>
        <atom:link href="https://gorzelinski.com/feed.xml" rel="self" type="application/rss+xml"/>
        <pubDate>Wed, 10 Jun 2026 18:36:20 GMT</pubDate>
        <copyright><![CDATA[© 2026 Matthew Gorzelinski]]></copyright>
        <language><![CDATA[en]]></language>
        <managingEditor><![CDATA[Matthew Gorzelinski]]></managingEditor>
        <webMaster><![CDATA[Matthew Gorzelinski]]></webMaster>
        <ttl>60</ttl>
        <item>
            <title><![CDATA[Every DOM element casts a shadow]]></title>
            <description><![CDATA[Shadow DOM gives your components their own isolated world—scoped styles, encapsulated markup, and a boundary that keeps everything in place.]]></description>
            <link>https://gorzelinski.com/blog/every-dom-element-casts-a-shadow/</link>
            <guid isPermaLink="false">https://gorzelinski.com/blog/every-dom-element-casts-a-shadow/</guid>
            <dc:creator><![CDATA[Matthew Gorzelinski]]></dc:creator>
            <pubDate>Mon, 18 May 2026 07:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Intro to web components—what are custom elements?]]></title>
            <description><![CDATA[The browser lets you define your own HTML tags—learn how lifecycle callbacks, attributes, and properties make them work.]]></description>
            <link>https://gorzelinski.com/blog/intro-to-web-components-what-are-custom-elements/</link>
            <guid isPermaLink="false">https://gorzelinski.com/blog/intro-to-web-components-what-are-custom-elements/</guid>
            <dc:creator><![CDATA[Matthew Gorzelinski]]></dc:creator>
            <pubDate>Wed, 18 Mar 2026 16:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Jesus Christ, that's Bourne… Again Shell Scripting]]></title>
            <description><![CDATA[Stop being afraid of Bash scripting! Learn core syntax—expansions, variables, tests, loops, functions—and how to handle args, options, and input.]]></description>
            <link>https://gorzelinski.com/blog/jesus-christ-thats-bourne-again-shell-scripting/</link>
            <guid isPermaLink="false">https://gorzelinski.com/blog/jesus-christ-thats-bourne-again-shell-scripting/</guid>
            <dc:creator><![CDATA[Matthew Gorzelinski]]></dc:creator>
            <pubDate>Mon, 05 Jan 2026 15:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Jesus Christ, that's Bourne… Again Shell]]></title>
            <description><![CDATA[Stop being afraid of the terminal! Get to know the difference between shell, CLI, and Bash. Learn about commands, file operations, pipes, and more.]]></description>
            <link>https://gorzelinski.com/blog/jesus-christ-thats-bourne-again-shell/</link>
            <guid isPermaLink="false">https://gorzelinski.com/blog/jesus-christ-thats-bourne-again-shell/</guid>
            <dc:creator><![CDATA[Matthew Gorzelinski]]></dc:creator>
            <pubDate>Tue, 09 Sep 2025 18:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[The biggest problem in software design]]></title>
            <description><![CDATA[Learn how to spot and address common pitfalls in software projects. See how thoughtful design choices can lead to simpler, more robust code.]]></description>
            <link>https://gorzelinski.com/blog/the-biggest-problem-in-software-design/</link>
            <guid isPermaLink="false">https://gorzelinski.com/blog/the-biggest-problem-in-software-design/</guid>
            <dc:creator><![CDATA[Matthew Gorzelinski]]></dc:creator>
            <pubDate>Sat, 10 May 2025 09:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Playwright vs. Cypress—comparison of E2E testing frameworks]]></title>
            <description><![CDATA[A detailed comparison of two popular E2E testing frameworks—Playwright and Cypress. What features are comparable, and which of them offers more?]]></description>
            <link>https://gorzelinski.com/blog/playwright-vs-cypress-comparison-of-e2e-testing-frameworks/</link>
            <guid isPermaLink="false">https://gorzelinski.com/blog/playwright-vs-cypress-comparison-of-e2e-testing-frameworks/</guid>
            <dc:creator><![CDATA[Matthew Gorzelinski]]></dc:creator>
            <pubDate>Sun, 03 Nov 2024 09:30:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[TypeScript Decorators]]></title>
            <description><![CDATA[Let's learn how to decorate our cak… code with TypeScript decorators. Decorators are a tasty addition to classes and provide metaprogramming syntax.]]></description>
            <link>https://gorzelinski.com/blog/typescript-decorators/</link>
            <guid isPermaLink="false">https://gorzelinski.com/blog/typescript-decorators/</guid>
            <dc:creator><![CDATA[Matthew Gorzelinski]]></dc:creator>
            <pubDate>Sat, 21 Oct 2023 15:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Intro to AI]]></title>
            <description><![CDATA[Instead of boarding the ChatGPT hype train, let's learn the basics of AI first.]]></description>
            <link>https://gorzelinski.com/blog/intro-to-ai/</link>
            <guid isPermaLink="false">https://gorzelinski.com/blog/intro-to-ai/</guid>
            <dc:creator><![CDATA[Matthew Gorzelinski]]></dc:creator>
            <pubDate>Tue, 15 Aug 2023 08:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Take action and learn GitHub Actions!]]></title>
            <description><![CDATA[Programmers love to automate stuff. But automation is beneficial only when it takes less time than it returns. With GitHub Actions, we may achieve that profit.]]></description>
            <link>https://gorzelinski.com/blog/take-action-and-learn-github-actions/</link>
            <guid isPermaLink="false">https://gorzelinski.com/blog/take-action-and-learn-github-actions/</guid>
            <dc:creator><![CDATA[Matthew Gorzelinski]]></dc:creator>
            <pubDate>Wed, 14 Jun 2023 17:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[The attitude of writing]]></title>
            <description><![CDATA[What attitude to take during writing?]]></description>
            <link>https://gorzelinski.com/blog/the-attitude-of-writing/</link>
            <guid isPermaLink="false">https://gorzelinski.com/blog/the-attitude-of-writing/</guid>
            <dc:creator><![CDATA[Matthew Gorzelinski]]></dc:creator>
            <pubDate>Sun, 07 May 2023 14:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[TypeScript Generics]]></title>
            <description><![CDATA[Generics don't exist in JavaScript but are one of the essential concepts in TypeScript. They offer the best of both worlds: flexibility and type safety.]]></description>
            <link>https://gorzelinski.com/blog/typescript-generics/</link>
            <guid isPermaLink="false">https://gorzelinski.com/blog/typescript-generics/</guid>
            <dc:creator><![CDATA[Matthew Gorzelinski]]></dc:creator>
            <pubDate>Wed, 19 Apr 2023 18:30:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Object-Oriented Programming in TypeScript]]></title>
            <description><![CDATA[Object-oriented programming is a foundation for many programming languages. So, we'll familiarize ourselves with the OOP TypeScript syntax and compare it to JavaScript.]]></description>
            <link>https://gorzelinski.com/blog/object-oriented-programming-in-typescript/</link>
            <guid isPermaLink="false">https://gorzelinski.com/blog/object-oriented-programming-in-typescript/</guid>
            <dc:creator><![CDATA[Matthew Gorzelinski]]></dc:creator>
            <pubDate>Thu, 30 Mar 2023 21:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[TypeScript basic types]]></title>
            <description><![CDATA[With the growing usage of TypeScript, I think it's time to start learning it. What is it? Why use it? We'll try to answer these questions and learn some basic types.]]></description>
            <link>https://gorzelinski.com/blog/typescript-basic-types/</link>
            <guid isPermaLink="false">https://gorzelinski.com/blog/typescript-basic-types/</guid>
            <dc:creator><![CDATA[Matthew Gorzelinski]]></dc:creator>
            <pubDate>Sun, 05 Mar 2023 09:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[SEO meta tags]]></title>
            <description><![CDATA[In this post, we will try to answer the question—what to put in our “heads” to save ourselves headaches caused by SEO problems?]]></description>
            <link>https://gorzelinski.com/blog/seo-meta-tags/</link>
            <guid isPermaLink="false">https://gorzelinski.com/blog/seo-meta-tags/</guid>
            <dc:creator><![CDATA[Matthew Gorzelinski]]></dc:creator>
            <pubDate>Sat, 28 Jan 2023 11:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Why use HSL in your next design system?]]></title>
            <description><![CDATA[In this post, we will look at different color formats. We'll compare the most popular ones available in CSS: hex values, RGB, and HSL. Why use the last one?]]></description>
            <link>https://gorzelinski.com/blog/why-use-hsl-in-your-next-design-system/</link>
            <guid isPermaLink="false">https://gorzelinski.com/blog/why-use-hsl-in-your-next-design-system/</guid>
            <dc:creator><![CDATA[Matthew Gorzelinski]]></dc:creator>
            <pubDate>Wed, 21 Dec 2022 16:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Webpack, Parcel, Babel, blah, blah… why do I need a module bundler?]]></title>
            <description><![CDATA[A module bundler is a base for many projects and frameworks. Usually, we don't pay much attention to these underlying tools. But maybe we should?]]></description>
            <link>https://gorzelinski.com/blog/webpack-parcel-babel-blah-blah-why-do-i-need-a-module-bundler/</link>
            <guid isPermaLink="false">https://gorzelinski.com/blog/webpack-parcel-babel-blah-blah-why-do-i-need-a-module-bundler/</guid>
            <dc:creator><![CDATA[Matthew Gorzelinski]]></dc:creator>
            <pubDate>Mon, 07 Nov 2022 16:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Next.js overview in 1000 words]]></title>
            <description><![CDATA[Next.js is one of many static site generators. But it has one feature that stands out from the competition. In this brief overview, I'll try to describe it.]]></description>
            <link>https://gorzelinski.com/blog/next-js-overview-in-1000-words/</link>
            <guid isPermaLink="false">https://gorzelinski.com/blog/next-js-overview-in-1000-words/</guid>
            <dc:creator><![CDATA[Matthew Gorzelinski]]></dc:creator>
            <pubDate>Mon, 24 Oct 2022 14:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Object-Oriented Programming in JavaScript]]></title>
            <description><![CDATA[Object-oriented programming is a foundation for many programming languages. So, we'll familiarize ourselves with this paradigm, put it in context and use it in practice.]]></description>
            <link>https://gorzelinski.com/blog/object-oriented-programming-in-javascript/</link>
            <guid isPermaLink="false">https://gorzelinski.com/blog/object-oriented-programming-in-javascript/</guid>
            <dc:creator><![CDATA[Matthew Gorzelinski]]></dc:creator>
            <pubDate>Thu, 13 Oct 2022 10:30:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Gatsby with Netlify CMS]]></title>
            <description><![CDATA[In this post, we will look closely at Netlify CMS. It is an example of a new type of CMS that is Git-based. We will integrate it with a Gatsby example project.]]></description>
            <link>https://gorzelinski.com/blog/gatsby-with-netlify-cms/</link>
            <guid isPermaLink="false">https://gorzelinski.com/blog/gatsby-with-netlify-cms/</guid>
            <dc:creator><![CDATA[Matthew Gorzelinski]]></dc:creator>
            <pubDate>Fri, 23 Sep 2022 14:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Converting design tokens to CSS variables with Node.js]]></title>
            <description><![CDATA[Converting design tokens is an error-prone process—I found out the hard way. So, I made a simple Node.js script that will help me with that task.]]></description>
            <link>https://gorzelinski.com/blog/converting-design-tokens-to-css-variables-with-node-js/</link>
            <guid isPermaLink="false">https://gorzelinski.com/blog/converting-design-tokens-to-css-variables-with-node-js/</guid>
            <dc:creator><![CDATA[Matthew Gorzelinski]]></dc:creator>
            <pubDate>Wed, 14 Sep 2022 14:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Accessible animations in React]]></title>
            <description><![CDATA[Or how not to spin your users round (like a record). Some animations can make users sick. We'll take care of them and make nonessential animations optional.]]></description>
            <link>https://gorzelinski.com/blog/accessible-animations-in-react/</link>
            <guid isPermaLink="false">https://gorzelinski.com/blog/accessible-animations-in-react/</guid>
            <dc:creator><![CDATA[Matthew Gorzelinski]]></dc:creator>
            <pubDate>Thu, 01 Sep 2022 13:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Sssearch for books like a programmer]]></title>
            <description><![CDATA[I enjoy reading books, and I spend many hours searching for them. So, I automated this process with a Python script that scrapes books from the web.]]></description>
            <link>https://gorzelinski.com/blog/sssearch-for-books-like-a-programmer/</link>
            <guid isPermaLink="false">https://gorzelinski.com/blog/sssearch-for-books-like-a-programmer/</guid>
            <dc:creator><![CDATA[Matthew Gorzelinski]]></dc:creator>
            <pubDate>Mon, 22 Aug 2022 18:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Why is your stove hard to use?]]></title>
            <description><![CDATA[In this post, I'll try to answer the burning question about stoves and their burners—why do we repeat mistakes when igniting them?]]></description>
            <link>https://gorzelinski.com/blog/why-your-stove-is-hard-to-use/</link>
            <guid isPermaLink="false">https://gorzelinski.com/blog/why-your-stove-is-hard-to-use/</guid>
            <dc:creator><![CDATA[Matthew Gorzelinski]]></dc:creator>
            <pubDate>Tue, 16 Aug 2022 08:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[The craft of writing]]></title>
            <description><![CDATA[What constitutes good writing?]]></description>
            <link>https://gorzelinski.com/blog/the-craft-of-writing/</link>
            <guid isPermaLink="false">https://gorzelinski.com/blog/the-craft-of-writing/</guid>
            <dc:creator><![CDATA[Matthew Gorzelinski]]></dc:creator>
            <pubDate>Thu, 11 Aug 2022 12:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Is it native JavaScript? Isn't it??]]></title>
            <description><![CDATA[My first encounter with optional chaining and the nullish coalescing operator.]]></description>
            <link>https://gorzelinski.com/blog/is-it-native-javascript-isnt-it/</link>
            <guid isPermaLink="false">https://gorzelinski.com/blog/is-it-native-javascript-isnt-it/</guid>
            <dc:creator><![CDATA[Matthew Gorzelinski]]></dc:creator>
            <pubDate>Sat, 23 Jul 2022 14:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Jamstack. What, why, how?]]></title>
            <description><![CDATA[Websites and apps created with this new architecture are characterized by performance, security, and scalability.]]></description>
            <link>https://gorzelinski.com/blog/jamstack-what-why-how/</link>
            <guid isPermaLink="false">https://gorzelinski.com/blog/jamstack-what-why-how/</guid>
            <dc:creator><![CDATA[Matthew Gorzelinski]]></dc:creator>
            <pubDate>Sat, 16 Jul 2022 13:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Stylish design principles with a nasty acronym]]></title>
            <description><![CDATA[In this post, we will look at four universal design principles that can improve any graphical work: website, slide, document, etc.]]></description>
            <link>https://gorzelinski.com/blog/stylish-design-principles-with-a-nasty-acronym/</link>
            <guid isPermaLink="false">https://gorzelinski.com/blog/stylish-design-principles-with-a-nasty-acronym/</guid>
            <dc:creator><![CDATA[Matthew Gorzelinski]]></dc:creator>
            <pubDate>Fri, 08 Jul 2022 15:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Hello… world?]]></title>
            <description><![CDATA[What am I actually doing?]]></description>
            <link>https://gorzelinski.com/blog/hello-world/</link>
            <guid isPermaLink="false">https://gorzelinski.com/blog/hello-world/</guid>
            <dc:creator><![CDATA[Matthew Gorzelinski]]></dc:creator>
            <pubDate>Thu, 07 Jul 2022 14:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Behind the scenes of my website]]></title>
            <description><![CDATA[After several months of designing, coding, and writing, I have finally published my website.]]></description>
            <link>https://gorzelinski.com/portfolio/gorzelinski/</link>
            <guid isPermaLink="false">https://gorzelinski.com/portfolio/gorzelinski/</guid>
            <dc:creator><![CDATA[Matthew Gorzelinski]]></dc:creator>
            <pubDate>Thu, 07 Jul 2022 14:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[An-lam—business website]]></title>
            <description><![CDATA[An-lam is a small Polish local business that repairs boats and yachts. Its niche character also makes it interesting for distant clients.]]></description>
            <link>https://gorzelinski.com/portfolio/an-lam/</link>
            <guid isPermaLink="false">https://gorzelinski.com/portfolio/an-lam/</guid>
            <dc:creator><![CDATA[Matthew Gorzelinski]]></dc:creator>
            <pubDate>Wed, 19 May 2021 14:00:00 GMT</pubDate>
        </item>
    </channel>
</rss>