<?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[James Haworth Wheatman: Development Journal]]></title>
        <description><![CDATA[An RSS feed for my development journal - you can consume this to be notified whenever I post something.       I'm a Tech Lead on full-stack web and mobile applications and I write about Tech Quality,      Training, and Leadership amongst other things that interest me!]]></description>
        <link>https://www.jameshw.dev/journal</link>
        <image>
            <url>https://www.jameshw.dev/avatar.png</url>
            <title>James Haworth Wheatman: Development Journal</title>
            <link>https://www.jameshw.dev/journal</link>
        </image>
        <generator>RSS for Node</generator>
        <lastBuildDate>Wed, 15 Apr 2026 20:39:59 GMT</lastBuildDate>
        <atom:link href="https://www.jameshw.dev/journal.xml" rel="self" type="application/rss+xml"/>
        <pubDate>Wed, 15 Apr 2026 20:39:59 GMT</pubDate>
        <language><![CDATA[en-GB]]></language>
        <ttl>1440</ttl>
        <item>
            <title><![CDATA[Web Scrapers Maxing Out My Vercel Fast Data Transfer]]></title>
            <description><![CDATA[Development Journal Entry made on 2026-01-09]]></description>
            <link>https://www.jameshw.dev/journal/2026-01-09/fast-data-transfer</link>
            <guid isPermaLink="true">https://www.jameshw.dev/journal/2026-01-09/fast-data-transfer</guid>
            <category><![CDATA[Robots.txt]]></category>
            <dc:creator><![CDATA[James Haworth Wheatman]]></dc:creator>
            <pubDate>Fri, 09 Jan 2026 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Adobe CEP ExtendScript Hot Module Reloading]]></title>
            <description><![CDATA[Development Journal Entry made on 2025-12-16]]></description>
            <link>https://www.jameshw.dev/journal/2025-12-16/extendscript-hot-module-reloading</link>
            <guid isPermaLink="true">https://www.jameshw.dev/journal/2025-12-16/extendscript-hot-module-reloading</guid>
            <category><![CDATA[Adobe CEP]]></category>
            <category><![CDATA[ExtendScript]]></category>
            <category><![CDATA[HMR]]></category>
            <dc:creator><![CDATA[James Haworth Wheatman]]></dc:creator>
            <pubDate>Tue, 16 Dec 2025 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Slack Attachments as a Package Deployment System]]></title>
            <description><![CDATA[Development Journal Entry made on 2025-12-16]]></description>
            <link>https://www.jameshw.dev/journal/2025-12-16/slack-attachments-as-package-deployment</link>
            <guid isPermaLink="true">https://www.jameshw.dev/journal/2025-12-16/slack-attachments-as-package-deployment</guid>
            <category><![CDATA[GitHub]]></category>
            <category><![CDATA[GitHub Actions]]></category>
            <category><![CDATA[Slack]]></category>
            <category><![CDATA[Adobe CEP]]></category>
            <dc:creator><![CDATA[James Haworth Wheatman]]></dc:creator>
            <pubDate>Tue, 16 Dec 2025 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Promisifying Callbacks in TypeScript]]></title>
            <description><![CDATA[Development Journal Entry made on 2025-12-01]]></description>
            <link>https://www.jameshw.dev/journal/2025-12-01/promisifying-callbacks-in-typescript</link>
            <guid isPermaLink="true">https://www.jameshw.dev/journal/2025-12-01/promisifying-callbacks-in-typescript</guid>
            <category><![CDATA[JavaScript]]></category>
            <category><![CDATA[TypeScript]]></category>
            <category><![CDATA[Clean Code]]></category>
            <dc:creator><![CDATA[James Haworth Wheatman]]></dc:creator>
            <pubDate>Mon, 01 Dec 2025 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Tailwind CSS Typing Text Animation ]]></title>
            <description><![CDATA[Development Journal Entry made on 2025-02-08]]></description>
            <link>https://www.jameshw.dev/journal/2025-02-08/typing-animation</link>
            <guid isPermaLink="true">https://www.jameshw.dev/journal/2025-02-08/typing-animation</guid>
            <category><![CDATA[Tailwind]]></category>
            <dc:creator><![CDATA[James Haworth Wheatman]]></dc:creator>
            <pubDate>Sat, 08 Feb 2025 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[React: Element type is invalid: expected a string or a class/function but got: undefined]]></title>
            <description><![CDATA[Development Journal Entry made on 2025-01-23]]></description>
            <link>https://www.jameshw.dev/journal/2025-01-23/undefined-component</link>
            <guid isPermaLink="true">https://www.jameshw.dev/journal/2025-01-23/undefined-component</guid>
            <category><![CDATA[React]]></category>
            <category><![CDATA[Debugging]]></category>
            <dc:creator><![CDATA[James Haworth Wheatman]]></dc:creator>
            <pubDate>Thu, 23 Jan 2025 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[VS Code Extension: VSChameleon]]></title>
            <description><![CDATA[Development Journal Entry made on 2025-01-21]]></description>
            <link>https://www.jameshw.dev/journal/2025-01-21/vschameleon</link>
            <guid isPermaLink="true">https://www.jameshw.dev/journal/2025-01-21/vschameleon</guid>
            <category><![CDATA[VSCode]]></category>
            <dc:creator><![CDATA[James Haworth Wheatman]]></dc:creator>
            <pubDate>Tue, 21 Jan 2025 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Recurring Tasks in Notion]]></title>
            <description><![CDATA[Development Journal Entry made on 2025-01-04]]></description>
            <link>https://www.jameshw.dev/journal/2025-01-04/notion-recurring-tasks</link>
            <guid isPermaLink="true">https://www.jameshw.dev/journal/2025-01-04/notion-recurring-tasks</guid>
            <category><![CDATA[Notion]]></category>
            <dc:creator><![CDATA[James Haworth Wheatman]]></dc:creator>
            <pubDate>Sat, 04 Jan 2025 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[FizzBuzz in BASIC on a Sinclair ZX81]]></title>
            <description><![CDATA[Development Journal Entry made on 2024-03-10]]></description>
            <link>https://www.jameshw.dev/journal/2024-03-10/fizzbuzz-in-basic</link>
            <guid isPermaLink="true">https://www.jameshw.dev/journal/2024-03-10/fizzbuzz-in-basic</guid>
            <category><![CDATA[BASIC]]></category>
            <dc:creator><![CDATA[James Haworth Wheatman]]></dc:creator>
            <pubDate>Sun, 10 Mar 2024 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Adding Static Typing to 381 GraphQL Queries with Codemods]]></title>
            <description><![CDATA[Development Journal Entry made on 2024-03-04]]></description>
            <link>https://www.jameshw.dev/journal/2024-03-04/graphql-static-typing-codemod</link>
            <guid isPermaLink="true">https://www.jameshw.dev/journal/2024-03-04/graphql-static-typing-codemod</guid>
            <category><![CDATA[Codemods]]></category>
            <category><![CDATA[GraphQL]]></category>
            <category><![CDATA[TypeScript]]></category>
            <dc:creator><![CDATA[James Haworth Wheatman]]></dc:creator>
            <pubDate>Mon, 04 Mar 2024 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Live Chat: WebSockets with NestJS Mini-Hackathon ]]></title>
            <description><![CDATA[Development Journal Entry made on 2024-01-31]]></description>
            <link>https://www.jameshw.dev/journal/2024-01-31/nestjs-websockets-hackathon</link>
            <guid isPermaLink="true">https://www.jameshw.dev/journal/2024-01-31/nestjs-websockets-hackathon</guid>
            <category><![CDATA[WebSockets]]></category>
            <category><![CDATA[NestJS]]></category>
            <dc:creator><![CDATA[James Haworth Wheatman]]></dc:creator>
            <pubDate>Wed, 31 Jan 2024 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Disconnected references after class component refactor - always use useRef!]]></title>
            <description><![CDATA[Development Journal Entry made on 2023-11-28]]></description>
            <link>https://www.jameshw.dev/journal/2023-11-28/disconnected-references</link>
            <guid isPermaLink="true">https://www.jameshw.dev/journal/2023-11-28/disconnected-references</guid>
            <category><![CDATA[React]]></category>
            <category><![CDATA[useRef]]></category>
            <dc:creator><![CDATA[James Haworth Wheatman]]></dc:creator>
            <pubDate>Tue, 28 Nov 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[.map(parseInt) does not do what it says on the tin]]></title>
            <description><![CDATA[Development Journal Entry made on 2023-07-20]]></description>
            <link>https://www.jameshw.dev/journal/2023-07-20/map-parseint-to-convert-to-numbers</link>
            <guid isPermaLink="true">https://www.jameshw.dev/journal/2023-07-20/map-parseint-to-convert-to-numbers</guid>
            <category><![CDATA[JavaScript]]></category>
            <dc:creator><![CDATA[James Haworth Wheatman]]></dc:creator>
            <pubDate>Thu, 20 Jul 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Higher Order Component pattern causing confusion]]></title>
            <description><![CDATA[Development Journal Entry made on 2023-06-09]]></description>
            <link>https://www.jameshw.dev/journal/2023-06-09/higher-order-confusion</link>
            <guid isPermaLink="true">https://www.jameshw.dev/journal/2023-06-09/higher-order-confusion</guid>
            <category><![CDATA[React]]></category>
            <dc:creator><![CDATA[James Haworth Wheatman]]></dc:creator>
            <pubDate>Fri, 09 Jun 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Finding documentation for old versions of libraries (feat. Flowable)]]></title>
            <description><![CDATA[Development Journal Entry made on 2023-05-17]]></description>
            <link>https://www.jameshw.dev/journal/2023-05-17/flowable-documentation</link>
            <guid isPermaLink="true">https://www.jameshw.dev/journal/2023-05-17/flowable-documentation</guid>
            <category><![CDATA[Flowable]]></category>
            <category><![CDATA[Groovy]]></category>
            <category><![CDATA[Java]]></category>
            <dc:creator><![CDATA[James Haworth Wheatman]]></dc:creator>
            <pubDate>Wed, 17 May 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Preparing SEO for NextJS 13 site]]></title>
            <description><![CDATA[Development Journal Entry made on 2023-04-09]]></description>
            <link>https://www.jameshw.dev/journal/2023-04-09/nextjs-seo</link>
            <guid isPermaLink="true">https://www.jameshw.dev/journal/2023-04-09/nextjs-seo</guid>
            <category><![CDATA[Google]]></category>
            <category><![CDATA[SEO]]></category>
            <category><![CDATA[NextJS]]></category>
            <dc:creator><![CDATA[James Haworth Wheatman]]></dc:creator>
            <pubDate>Sun, 09 Apr 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Setting Up Vercel Audiences with NextJS 13.0.0]]></title>
            <description><![CDATA[Development Journal Entry made on 2023-04-02]]></description>
            <link>https://www.jameshw.dev/journal/2023-04-02/next-audiences</link>
            <guid isPermaLink="true">https://www.jameshw.dev/journal/2023-04-02/next-audiences</guid>
            <category><![CDATA[NextJS]]></category>
            <dc:creator><![CDATA[James Haworth Wheatman]]></dc:creator>
            <pubDate>Sun, 02 Apr 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Initialising the value of a useState based on useRouter with NextJS SSR]]></title>
            <description><![CDATA[Development Journal Entry made on 2023-03-30]]></description>
            <link>https://www.jameshw.dev/journal/2023-03-30/next-js-ssr-router-hook-query-params</link>
            <guid isPermaLink="true">https://www.jameshw.dev/journal/2023-03-30/next-js-ssr-router-hook-query-params</guid>
            <category><![CDATA[NextJS]]></category>
            <category><![CDATA[React]]></category>
            <dc:creator><![CDATA[James Haworth Wheatman]]></dc:creator>
            <pubDate>Thu, 30 Mar 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Rename files in GDrive programatically with Google Apps Script]]></title>
            <description><![CDATA[Development Journal Entry made on 2023-03-02]]></description>
            <link>https://www.jameshw.dev/journal/2023-03-02/gdrive-apps-script-renaming</link>
            <guid isPermaLink="true">https://www.jameshw.dev/journal/2023-03-02/gdrive-apps-script-renaming</guid>
            <category><![CDATA[Apps Script]]></category>
            <category><![CDATA[Google Drive]]></category>
            <dc:creator><![CDATA[James Haworth Wheatman]]></dc:creator>
            <pubDate>Thu, 02 Mar 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Case sensitive directory/file names in git]]></title>
            <description><![CDATA[Development Journal Entry made on 2023-02-17]]></description>
            <link>https://www.jameshw.dev/journal/2023-02-17/git-case-sensitivity</link>
            <guid isPermaLink="true">https://www.jameshw.dev/journal/2023-02-17/git-case-sensitivity</guid>
            <category><![CDATA[Git]]></category>
            <dc:creator><![CDATA[James Haworth Wheatman]]></dc:creator>
            <pubDate>Fri, 17 Feb 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Typescript XOR puzzle: the union operator]]></title>
            <description><![CDATA[Development Journal Entry made on 2023-02-08]]></description>
            <link>https://www.jameshw.dev/journal/2023-02-08/typescript-xor</link>
            <guid isPermaLink="true">https://www.jameshw.dev/journal/2023-02-08/typescript-xor</guid>
            <category><![CDATA[TypeScript]]></category>
            <dc:creator><![CDATA[James Haworth Wheatman]]></dc:creator>
            <pubDate>Wed, 08 Feb 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Setup Kotlin build.gradle for React Native Expo plugin]]></title>
            <description><![CDATA[Development Journal Entry made on 2023-02-07]]></description>
            <link>https://www.jameshw.dev/journal/2023-02-07/expo-kotlin-plugin</link>
            <guid isPermaLink="true">https://www.jameshw.dev/journal/2023-02-07/expo-kotlin-plugin</guid>
            <category><![CDATA[Expo]]></category>
            <category><![CDATA[React Native]]></category>
            <category><![CDATA[Kotlin]]></category>
            <category><![CDATA[Android]]></category>
            <dc:creator><![CDATA[James Haworth Wheatman]]></dc:creator>
            <pubDate>Tue, 07 Feb 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[EAS CI fails due to gitignore pattern preventing upload of bundle]]></title>
            <description><![CDATA[Development Journal Entry made on 2023-02-06]]></description>
            <link>https://www.jameshw.dev/journal/2023-02-06/eas-ci-broken-by-gitignore</link>
            <guid isPermaLink="true">https://www.jameshw.dev/journal/2023-02-06/eas-ci-broken-by-gitignore</guid>
            <category><![CDATA[EAS]]></category>
            <category><![CDATA[Expo]]></category>
            <category><![CDATA[React Native]]></category>
            <dc:creator><![CDATA[James Haworth Wheatman]]></dc:creator>
            <pubDate>Mon, 06 Feb 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Debugging React Native Android NativeModules with Expo]]></title>
            <description><![CDATA[Development Journal Entry made on 2023-02-02]]></description>
            <link>https://www.jameshw.dev/journal/2023-02-02/expo-native-modules</link>
            <guid isPermaLink="true">https://www.jameshw.dev/journal/2023-02-02/expo-native-modules</guid>
            <category><![CDATA[React Native]]></category>
            <category><![CDATA[Expo]]></category>
            <category><![CDATA[Android]]></category>
            <dc:creator><![CDATA[James Haworth Wheatman]]></dc:creator>
            <pubDate>Thu, 02 Feb 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Drawing a Refactor]]></title>
            <description><![CDATA[Development Journal Entry made on 2023-01-23]]></description>
            <link>https://www.jameshw.dev/journal/2023-01-23/drawing-a-refactor</link>
            <guid isPermaLink="true">https://www.jameshw.dev/journal/2023-01-23/drawing-a-refactor</guid>
            <category><![CDATA[Ways of Work]]></category>
            <dc:creator><![CDATA[James Haworth Wheatman]]></dc:creator>
            <pubDate>Mon, 23 Jan 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[React Navigation with Typescript for nested navigators]]></title>
            <description><![CDATA[Development Journal Entry made on 2023-01-16]]></description>
            <link>https://www.jameshw.dev/journal/2023-01-16/react-nested-navigator-types</link>
            <guid isPermaLink="true">https://www.jameshw.dev/journal/2023-01-16/react-nested-navigator-types</guid>
            <category><![CDATA[React Native]]></category>
            <category><![CDATA[React Navigation (v6)]]></category>
            <dc:creator><![CDATA[James Haworth Wheatman]]></dc:creator>
            <pubDate>Mon, 16 Jan 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Debugging Postgres query times - EXPLAIN ANALYZE]]></title>
            <description><![CDATA[Development Journal Entry made on 2023-01-13]]></description>
            <link>https://www.jameshw.dev/journal/2023-01-13/postgresql-query-analysis</link>
            <guid isPermaLink="true">https://www.jameshw.dev/journal/2023-01-13/postgresql-query-analysis</guid>
            <category><![CDATA[PostgreSQL]]></category>
            <dc:creator><![CDATA[James Haworth Wheatman]]></dc:creator>
            <pubDate>Fri, 13 Jan 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[CircleCI failure after return to project - Poetry update ]]></title>
            <description><![CDATA[Development Journal Entry made on 2023-01-12]]></description>
            <link>https://www.jameshw.dev/journal/2023-01-12/breaking-poetry-update</link>
            <guid isPermaLink="true">https://www.jameshw.dev/journal/2023-01-12/breaking-poetry-update</guid>
            <category><![CDATA[CircleCI]]></category>
            <category><![CDATA[Python]]></category>
            <category><![CDATA[Poetry]]></category>
            <category><![CDATA[PIP]]></category>
            <dc:creator><![CDATA[James Haworth Wheatman]]></dc:creator>
            <pubDate>Thu, 12 Jan 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Import error for a valid relative file path with Supabase Edge Functions]]></title>
            <description><![CDATA[Development Journal Entry made on 2023-01-10]]></description>
            <link>https://www.jameshw.dev/journal/2023-01-10/import-local-files</link>
            <guid isPermaLink="true">https://www.jameshw.dev/journal/2023-01-10/import-local-files</guid>
            <category><![CDATA[Supabase]]></category>
            <category><![CDATA[Deno]]></category>
            <dc:creator><![CDATA[James Haworth Wheatman]]></dc:creator>
            <pubDate>Tue, 10 Jan 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Create a fade-in/out effect at the edges of a carousel with Tailwind]]></title>
            <description><![CDATA[Development Journal Entry made on 2023-01-06]]></description>
            <link>https://www.jameshw.dev/journal/2023-01-06/carousel-faded-edges</link>
            <guid isPermaLink="true">https://www.jameshw.dev/journal/2023-01-06/carousel-faded-edges</guid>
            <category><![CDATA[Tailwind]]></category>
            <dc:creator><![CDATA[James Haworth Wheatman]]></dc:creator>
            <pubDate>Fri, 06 Jan 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Deploy Supabase Edge Functions in CI]]></title>
            <description><![CDATA[Development Journal Entry made on 2023-01-04]]></description>
            <link>https://www.jameshw.dev/journal/2023-01-04/deploy-supabase-edge-functions</link>
            <guid isPermaLink="true">https://www.jameshw.dev/journal/2023-01-04/deploy-supabase-edge-functions</guid>
            <category><![CDATA[Supabase]]></category>
            <category><![CDATA[Serverless]]></category>
            <category><![CDATA[CI]]></category>
            <category><![CDATA[GitHub]]></category>
            <dc:creator><![CDATA[James Haworth Wheatman]]></dc:creator>
            <pubDate>Wed, 04 Jan 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[GitHub Action for Expo Go pre-staging preview branch]]></title>
            <description><![CDATA[Development Journal Entry made on 2022-12-31]]></description>
            <link>https://www.jameshw.dev/journal/2022-12-31/pre-staging-automated-expo-preview-deployments</link>
            <guid isPermaLink="true">https://www.jameshw.dev/journal/2022-12-31/pre-staging-automated-expo-preview-deployments</guid>
            <category><![CDATA[React Native]]></category>
            <category><![CDATA[Expo]]></category>
            <category><![CDATA[CI]]></category>
            <category><![CDATA[GitHub]]></category>
            <dc:creator><![CDATA[James Haworth Wheatman]]></dc:creator>
            <pubDate>Sat, 31 Dec 2022 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Create elements “invisible” to touch gestures (pointerEvents)]]></title>
            <description><![CDATA[Development Journal Entry made on 2022-12-16]]></description>
            <link>https://www.jameshw.dev/journal/2022-12-16/pointer-events</link>
            <guid isPermaLink="true">https://www.jameshw.dev/journal/2022-12-16/pointer-events</guid>
            <category><![CDATA[React Native]]></category>
            <dc:creator><![CDATA[James Haworth Wheatman]]></dc:creator>
            <pubDate>Fri, 16 Dec 2022 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Webpack error in Storybook after installing react-map-gl library]]></title>
            <description><![CDATA[Development Journal Entry made on 2022-05-16]]></description>
            <link>https://www.jameshw.dev/journal/2022-05-16/webpack-react-gl</link>
            <guid isPermaLink="true">https://www.jameshw.dev/journal/2022-05-16/webpack-react-gl</guid>
            <category><![CDATA[Webpack]]></category>
            <category><![CDATA[Storybook.js]]></category>
            <category><![CDATA[Mapbox]]></category>
            <dc:creator><![CDATA[James Haworth Wheatman]]></dc:creator>
            <pubDate>Mon, 16 May 2022 00:00:00 GMT</pubDate>
        </item>
    </channel>
</rss>