<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
    <channel>
        <title>Singlehanded Blog | RSS Feed</title>
        <link>http://www.singlehanded.dev</link>
        <description>A software engineering blog</description>
        <lastBuildDate>Tue, 24 Feb 2026 21:43:27 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <item>
            <title><![CDATA[GitHub Actions for Static Site Deployment]]></title>
            <link>http://www.singlehanded.dev/blog/github-actions-setup</link>
            <guid>http://www.singlehanded.dev/blog/github-actions-setup</guid>
            <pubDate>Sun, 03 Aug 2025 11:50:00 GMT</pubDate>
            <description><![CDATA[GitHub Actions allows automatic deployment of static sites to GitHub Pages whenever code is pushed to the repository. This eliminates manual file uploads and creates a seamless CI/CD pipeline.]]></description>
        </item>
        <item>
            <title><![CDATA[Building a RabbitMQ Publisher with Spring Boot]]></title>
            <link>http://www.singlehanded.dev/blog/rabbitmq-spring-boot-beginners-part2</link>
            <guid>http://www.singlehanded.dev/blog/rabbitmq-spring-boot-beginners-part2</guid>
            <pubDate>Sat, 10 May 2025 10:00:00 GMT</pubDate>
            <description><![CDATA[Learn how to build a simple Spring Boot app that will publish messages to a RabbitMQ queue]]></description>
        </item>
        <item>
            <title><![CDATA[Understanding RabbitMQ: From HTTP to Event-Driven Architecture]]></title>
            <link>http://www.singlehanded.dev/blog/rabbitmq-spring-boot-beginners-part1</link>
            <guid>http://www.singlehanded.dev/blog/rabbitmq-spring-boot-beginners-part1</guid>
            <pubDate>Sat, 03 May 2025 10:48:00 GMT</pubDate>
            <description><![CDATA[Comparing and contrasting traditional request/response systems with event-driven systems]]></description>
        </item>
        <item>
            <title><![CDATA[How to take notes using the Zettelkasten method]]></title>
            <link>http://www.singlehanded.dev/blog/note-taking-using-the-zettelkasten-method</link>
            <guid>http://www.singlehanded.dev/blog/note-taking-using-the-zettelkasten-method</guid>
            <pubDate>Sun, 05 Jan 2025 10:01:00 GMT</pubDate>
            <description><![CDATA[Zettelkasten: more than just taking notes - it's a framework that maximises the utility of interconnected notes as a tool for thinking.]]></description>
        </item>
        <item>
            <title><![CDATA[Understanding the Children Prop in React: Building reusable components]]></title>
            <link>http://www.singlehanded.dev/blog/understanding-react-children-props</link>
            <guid>http://www.singlehanded.dev/blog/understanding-react-children-props</guid>
            <pubDate>Thu, 15 Aug 2024 19:52:42 GMT</pubDate>
            <description><![CDATA[Learn how to create flexible, reusable React components using the children prop with practical examples like Card layouts]]></description>
        </item>
        <item>
            <title><![CDATA[Using webpack in multi-page applications]]></title>
            <link>http://www.singlehanded.dev/blog/webpack-with-multiple-pages</link>
            <guid>http://www.singlehanded.dev/blog/webpack-with-multiple-pages</guid>
            <pubDate>Fri, 02 Aug 2024 19:52:42 GMT</pubDate>
            <description><![CDATA[Webpack isn't only for SPAs. You can use it to bundle up apps with multiple pages or entry points]]></description>
        </item>
        <item>
            <title><![CDATA[Destructuring objects and arrays in JavaScript]]></title>
            <link>http://www.singlehanded.dev/blog/destructuring-objects-and-arrays-in-javascript</link>
            <guid>http://www.singlehanded.dev/blog/destructuring-objects-and-arrays-in-javascript</guid>
            <pubDate>Sun, 21 Jan 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[The JavaScript destructuring assignment is often used in React projects. This post looks into what's going on under the hood]]></description>
        </item>
        <item>
            <title><![CDATA[Towards fluency in JavaScript and other programming languages]]></title>
            <link>http://www.singlehanded.dev/blog/towards-fluency-in-javascript</link>
            <guid>http://www.singlehanded.dev/blog/towards-fluency-in-javascript</guid>
            <pubDate>Thu, 23 Nov 2023 17:02:35 GMT</pubDate>
            <description><![CDATA[Exploring the commonalities between the processes of learning a spoken language and learning a programming language]]></description>
        </item>
        <item>
            <title><![CDATA[Understanding the components prop in react-markdown]]></title>
            <link>http://www.singlehanded.dev/blog/understanding-the-components-prop-in-react-markdown</link>
            <guid>http://www.singlehanded.dev/blog/understanding-the-components-prop-in-react-markdown</guid>
            <pubDate>Wed, 08 Nov 2023 07:57:15 GMT</pubDate>
            <description><![CDATA[The react-markdown package takes a prop called components in which you can map HTML tags to custom React components. This post explains how it is structured.]]></description>
        </item>
        <item>
            <title><![CDATA[Building a Markdown-driven blog using Next.js 13 and App Router]]></title>
            <link>http://www.singlehanded.dev/blog/building-markdown-blog-with-nextjs-app-router</link>
            <guid>http://www.singlehanded.dev/blog/building-markdown-blog-with-nextjs-app-router</guid>
            <pubDate>Thu, 12 Oct 2023 11:32:00 GMT</pubDate>
            <description><![CDATA[A step by step guide to getting a Markdown-driven blog up and running using the new App Router architecture in Next.js version 13]]></description>
        </item>
        <item>
            <title><![CDATA[Making multiple http requests from a single Axios function]]></title>
            <link>http://www.singlehanded.dev/blog/make-multiple-endpoint-calls-from-single-axios-function</link>
            <guid>http://www.singlehanded.dev/blog/make-multiple-endpoint-calls-from-single-axios-function</guid>
            <pubDate>Thu, 05 Oct 2023 08:00:00 GMT</pubDate>
            <description><![CDATA[Using Promise.all() we can make multiple Axios requests from a single function]]></description>
        </item>
        <item>
            <title><![CDATA[How to transition from useState to React Reducer]]></title>
            <link>http://www.singlehanded.dev/blog/moving-from-use-state-to-react-reducer</link>
            <guid>http://www.singlehanded.dev/blog/moving-from-use-state-to-react-reducer</guid>
            <pubDate>Thu, 28 Sep 2023 20:00:00 GMT</pubDate>
            <description><![CDATA[Learn how React Reducer can help you to pull together the disparate strands of state management into a single, easy-to-manage location.]]></description>
        </item>
        <item>
            <title><![CDATA[remark-gfm version 4.0.0 appears to break table-rendering]]></title>
            <link>http://www.singlehanded.dev/blog/remark-gfm-plugin-v4.0.0-seems-to-break-table-rendering</link>
            <guid>http://www.singlehanded.dev/blog/remark-gfm-plugin-v4.0.0-seems-to-break-table-rendering</guid>
            <pubDate>Mon, 25 Sep 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[The react-markdown plugin remark-gfm was updated to version 4.0.0 a few days ago and markdown tables no longer seem to render]]></description>
        </item>
        <item>
            <title><![CDATA[Find the ID of a process running on a given port]]></title>
            <link>http://www.singlehanded.dev/blog/find-process-id-by-port</link>
            <guid>http://www.singlehanded.dev/blog/find-process-id-by-port</guid>
            <pubDate>Sun, 24 Sep 2023 14:03:00 GMT</pubDate>
            <description><![CDATA[How to find the ID of a process running on a specific port on Unix-based systems and how to stop that process]]></description>
        </item>
        <item>
            <title><![CDATA[Vercel error - ENOENT: no such file or directory]]></title>
            <link>http://www.singlehanded.dev/blog/vercel-error-enoent-no-such-file-or-directory</link>
            <guid>http://www.singlehanded.dev/blog/vercel-error-enoent-no-such-file-or-directory</guid>
            <pubDate>Thu, 21 Sep 2023 21:15:00 GMT</pubDate>
            <description><![CDATA[Solution to a server error encountered after uploading a Next.js blog application to Vercel]]></description>
        </item>
        <item>
            <title><![CDATA[Moving from in-component state to using React Context]]></title>
            <link>http://www.singlehanded.dev/blog/moving-from-in-component-state-to-context-provider</link>
            <guid>http://www.singlehanded.dev/blog/moving-from-in-component-state-to-context-provider</guid>
            <pubDate>Thu, 21 Sep 2023 16:00:00 GMT</pubDate>
            <description><![CDATA[React Context can provide an alternative solution to in-component state management. Find out why it might be useful and learn how to implement it.]]></description>
        </item>
        <item>
            <title><![CDATA[MongoDB M001 course notes]]></title>
            <link>http://www.singlehanded.dev/blog/mongodb-m001-course-notes</link>
            <guid>http://www.singlehanded.dev/blog/mongodb-m001-course-notes</guid>
            <pubDate>Fri, 15 Sep 2023 16:23:18 GMT</pubDate>
            <description><![CDATA[Notes from the MongoDB introductory course M001]]></description>
        </item>
        <item>
            <title><![CDATA[How to create an Axios instance with url and headers defined]]></title>
            <link>http://www.singlehanded.dev/blog/create-axios-instance-with-url-and-headers-set</link>
            <guid>http://www.singlehanded.dev/blog/create-axios-instance-with-url-and-headers-set</guid>
            <pubDate>Thu, 14 Sep 2023 07:00:00 GMT</pubDate>
            <description><![CDATA[Make multiple axios calls without having to repeat headers and base url]]></description>
        </item>
    </channel>
</rss>