<?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[TheFarrelly.com posts]]></title>
        <description><![CDATA[Software engineering articles and thoughts from TheFarrelly]]></description>
        <link>https://www.thefarrelly.com/</link>
        <generator>RSS for Node</generator>
        <lastBuildDate>Sat, 04 Apr 2026 08:55:23 GMT</lastBuildDate>
        <atom:link href="https://www.thefarrelly.com/posts/rss.xml" rel="self" type="application/rss+xml"/>
        <pubDate>Sat, 04 Apr 2026 08:55:23 GMT</pubDate>
        <language><![CDATA[en]]></language>
        <item>
            <title><![CDATA[Is RSS making a comeback; tutorial adding support]]></title>
            <description><![CDATA[RSS was a lone gone Internet hero. However, algorithm fatigue has the potential to bring around another heyday of popularity. Reassuringly it's still easy to support and use.]]></description>
            <link>https://www.thefarrelly.com/posts/is-rss-making-a-comeback-tutorial-adding-support/</link>
            <guid isPermaLink="true">https://www.thefarrelly.com/posts/is-rss-making-a-comeback-tutorial-adding-support/</guid>
            <pubDate>Sat, 04 Apr 2026 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Nodemailer and Fastmail tutorial]]></title>
            <description><![CDATA[Turns out sending emails is really, really, easy.]]></description>
            <link>https://www.thefarrelly.com/posts/nodemailer-and-fastmail-tutorial/</link>
            <guid isPermaLink="true">https://www.thefarrelly.com/posts/nodemailer-and-fastmail-tutorial/</guid>
            <pubDate>Wed, 25 Mar 2026 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Could this file be under a hundred lines?]]></title>
            <description><![CDATA[For those who have had me review their PR it may bring a shudder. However, as a rule of thumb I've found it helps improve overall code quality.]]></description>
            <link>https://www.thefarrelly.com/posts/could-this-file-be-under-a-hundred-lines/</link>
            <guid isPermaLink="true">https://www.thefarrelly.com/posts/could-this-file-be-under-a-hundred-lines/</guid>
            <pubDate>Sun, 01 Mar 2026 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Introducing SnipIt]]></title>
            <description><![CDATA[Being an Engineer means you come across opportunities to be the change you want to see in the world. I've become sick of seeing 'promoted' and 'suggested' posts across websites. They're not ads so AdBlock doesn't remove them, but they aren't content I'm asking for either. Without the websites in question providing a way to hide them, what is an Engineer to do? Well, good news. You could just SnipIt.]]></description>
            <link>https://www.thefarrelly.com/posts/introducing-snipit/</link>
            <guid isPermaLink="true">https://www.thefarrelly.com/posts/introducing-snipit/</guid>
            <pubDate>Sat, 14 Feb 2026 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[FarrellyFilm case study: From MVP to release]]></title>
            <description><![CDATA[Capturing the MVP design and my thoughts, all the way to the release version. This post breaks down the what and why for how FarrellyFilm functions, with a real focus on the UX side of things. Broken down into two parts, design and feedback. I walk through each screen across both phases, with the latter focused on improvements made for users and UX.]]></description>
            <link>https://www.thefarrelly.com/posts/farrellyfilm-case-study-from-mvp-to-release/</link>
            <guid isPermaLink="true">https://www.thefarrelly.com/posts/farrellyfilm-case-study-from-mvp-to-release/</guid>
            <pubDate>Wed, 21 Jan 2026 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[FarrellyFilm is live!]]></title>
            <description><![CDATA[FarrellyFilm is an analogue film camera app which allows you to experience the joy of film photography from your phone.]]></description>
            <link>https://www.thefarrelly.com/posts/farrellyfilm-is-live/</link>
            <guid isPermaLink="true">https://www.thefarrelly.com/posts/farrellyfilm-is-live/</guid>
            <pubDate>Tue, 13 Jan 2026 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[The React Compiler is out!]]></title>
            <description><![CDATA[Developers hand rolling their own React optimisations are about to disappear. Now that the React team have celebrated their 1.0 launch of the React Compiler.]]></description>
            <link>https://www.thefarrelly.com/posts/the-react-compiler-is-out/</link>
            <guid isPermaLink="true">https://www.thefarrelly.com/posts/the-react-compiler-is-out/</guid>
            <pubDate>Mon, 22 Dec 2025 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Understanding the role of tech lead]]></title>
            <description><![CDATA[hen I first became a tech lead I had one vision for what that would mean. However, now having worked many tech lead roles, my vision has changed.]]></description>
            <link>https://www.thefarrelly.com/posts/understanding-the-role-of-tech-lead/</link>
            <guid isPermaLink="true">https://www.thefarrelly.com/posts/understanding-the-role-of-tech-lead/</guid>
            <pubDate>Fri, 21 Nov 2025 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[The public private message problem]]></title>
            <description><![CDATA[For every member of a group there's a path of communication between them and every other person. As a group grows that graph can become unwieldy. Especially when conversations are held in private.]]></description>
            <link>https://www.thefarrelly.com/posts/the-public-private-message-problem/</link>
            <guid isPermaLink="true">https://www.thefarrelly.com/posts/the-public-private-message-problem/</guid>
            <pubDate>Mon, 10 Nov 2025 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Should I be using rem or px?]]></title>
            <description><![CDATA[Do you feel a twinge of confusion when picking between using a pixel or rem value? Are you unsure when to use which? Let's walk through it together]]></description>
            <link>https://www.thefarrelly.com/posts/should-i-be-using-rem-or-px/</link>
            <guid isPermaLink="true">https://www.thefarrelly.com/posts/should-i-be-using-rem-or-px/</guid>
            <pubDate>Thu, 06 Nov 2025 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Saying I don't know is a green flag]]></title>
            <description><![CDATA[Throughout all tiers of Software Developers and frankly also people in the world. I've come across those who insist to know or willingly pretend to be knowledgeable. It's all a waste of time, it's okay not to know everything.]]></description>
            <link>https://www.thefarrelly.com/posts/saying-i-dont-know-is-a-green-flag/</link>
            <guid isPermaLink="true">https://www.thefarrelly.com/posts/saying-i-dont-know-is-a-green-flag/</guid>
            <pubDate>Sat, 25 Oct 2025 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Let's tackle it when it's a problem]]></title>
            <description><![CDATA[As developers we're trained to think through a solution and identify the edge cases. We then want to safe guard against the edge case scenarios ever being able to happen. But are they?]]></description>
            <link>https://www.thefarrelly.com/posts/lets-tackle-it-when-its-a-problem/</link>
            <guid isPermaLink="true">https://www.thefarrelly.com/posts/lets-tackle-it-when-its-a-problem/</guid>
            <pubDate>Fri, 03 Oct 2025 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[The pipeline: your arbiter of truth]]></title>
            <description><![CDATA[Let your pipeline doing the heavy lifting for you. Moving towards having a clear structure in how code is written allows your tooling to enforce the patterns you want.]]></description>
            <link>https://www.thefarrelly.com/posts/the-pipeline-your-arbiter-of-truth/</link>
            <guid isPermaLink="true">https://www.thefarrelly.com/posts/the-pipeline-your-arbiter-of-truth/</guid>
            <pubDate>Sat, 27 Sep 2025 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Don't be a git, just get going]]></title>
            <description><![CDATA[Using tools you know well will aid you in your development flow. Don't get bogged down trying to learn 20 different tools. You could end up getting stuck trying to quit vim.]]></description>
            <link>https://www.thefarrelly.com/posts/dont-be-a-git-just-get-going/</link>
            <guid isPermaLink="true">https://www.thefarrelly.com/posts/dont-be-a-git-just-get-going/</guid>
            <pubDate>Tue, 09 Sep 2025 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Communication is key; gifs are your friend]]></title>
            <description><![CDATA[We're all denizens of the digital world. So we're all aware of how fraught and difficult it can be to communicate via text. Especially when that one coworker keeps ending every sentence like this..]]></description>
            <link>https://www.thefarrelly.com/posts/communication-is-key-gifs-are-your-friend/</link>
            <guid isPermaLink="true">https://www.thefarrelly.com/posts/communication-is-key-gifs-are-your-friend/</guid>
            <pubDate>Thu, 28 Aug 2025 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Mob Review]]></title>
            <description><![CDATA[In search of improving your team's PR reviews? Have you tried Mob Programming? How about Mob Review?]]></description>
            <link>https://www.thefarrelly.com/posts/mob-review/</link>
            <guid isPermaLink="true">https://www.thefarrelly.com/posts/mob-review/</guid>
            <pubDate>Fri, 22 Aug 2025 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Intermediate ego: a cautionary tale of career growth and ego]]></title>
            <description><![CDATA[A few times in my career I've seen the same thing happen. It's never pleasant. And when it's happened, I haven't always dealt with it the right way.]]></description>
            <link>https://www.thefarrelly.com/posts/intermediate-ego-a-cautionary-tale-of-career-growth-and-ego/</link>
            <guid isPermaLink="true">https://www.thefarrelly.com/posts/intermediate-ego-a-cautionary-tale-of-career-growth-and-ego/</guid>
            <pubDate>Sun, 27 Jul 2025 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[What I've found helps form team culture]]></title>
            <description><![CDATA[We all want to work in an environment where the company culture is genuinely good. From my experience I've found a good handful of ways to help facilitate that at the team level.]]></description>
            <link>https://www.thefarrelly.com/posts/what-ive-found-helps-form-team-culture/</link>
            <guid isPermaLink="true">https://www.thefarrelly.com/posts/what-ive-found-helps-form-team-culture/</guid>
            <pubDate>Sat, 19 Jul 2025 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[ChatGPT will lie to you]]></title>
            <description><![CDATA[We're all new to using LLMs in our Engineering workflow. One lesson I've taken from my experience is that, ChatGPT will lie to you. So how we can we work with a tool that lies to us?]]></description>
            <link>https://www.thefarrelly.com/posts/chatgpt-will-lie-to-you/</link>
            <guid isPermaLink="true">https://www.thefarrelly.com/posts/chatgpt-will-lie-to-you/</guid>
            <pubDate>Mon, 07 Jul 2025 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Web scraping basics with Puppeteer]]></title>
            <description><![CDATA[Web scraping is a way to collect data on webpages across the internet. See something on a webpage that you want? Take it, scrape it. This tutorial is going to use Puppeteer, a NodeJS tool specialised for web scraping, and automation.]]></description>
            <link>https://www.thefarrelly.com/posts/web-scraping-basics-with-puppeteer/</link>
            <guid isPermaLink="true">https://www.thefarrelly.com/posts/web-scraping-basics-with-puppeteer/</guid>
            <pubDate>Tue, 12 Jul 2022 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[The last Google image search]]></title>
            <description><![CDATA[90% of us don’t go past the first page of Google search results. From living within a career where the quality of search terms resolving your queries is a measurable correlation to your overall skills, you, the question asker, begin to embark on a journey to increase efficiency, and reduce pondering. It is either the answer, or it is not.]]></description>
            <link>https://www.thefarrelly.com/posts/the-last-google-image-search/</link>
            <guid isPermaLink="true">https://www.thefarrelly.com/posts/the-last-google-image-search/</guid>
            <pubDate>Fri, 08 Jul 2022 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Developers are sensitive, review with caution]]></title>
            <description><![CDATA[Us as humans tend to focus on negatives rather than positive, that’s an artefact of our monkey brains focusing on survival. Although it may feel like it at times, code review isn’t a question of survival, it should be constructive criticism to improve the codebase, and it’s maintainers.]]></description>
            <link>https://www.thefarrelly.com/posts/developers-are-sensitive-review-with-caution/</link>
            <guid isPermaLink="true">https://www.thefarrelly.com/posts/developers-are-sensitive-review-with-caution/</guid>
            <pubDate>Sat, 01 Jan 2022 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[React/React-native monorepo with yarn workspaces tutorial]]></title>
            <description><![CDATA[Monorepos are a great tool to use when you have code to share across many different repositories. For example, if you have a web, and native app which can share code, creating a 'common' or 'shared' repository can keep your code DRY. Otherwise you're going to be abusing copy and paste in a way Larry Tesler won't be proud of.]]></description>
            <link>https://www.thefarrelly.com/posts/react-react-native-monorepo-with-yarn/</link>
            <guid isPermaLink="true">https://www.thefarrelly.com/posts/react-react-native-monorepo-with-yarn/</guid>
            <pubDate>Tue, 07 Dec 2021 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Programming tests don't have to suck]]></title>
            <description><![CDATA[We’ve all been here. You’re looking for a new job, and you’ve aced a couple of interviews. They now ask you to do a take-home technical test, no worries you think, I’m a great developer. Then you look at the test... It’s 10 hours worth of work. You cringe, you cry, you wonder if it’s worth your time.]]></description>
            <link>https://www.thefarrelly.com/posts/programming-tests-dont-have-to-suck/</link>
            <guid isPermaLink="true">https://www.thefarrelly.com/posts/programming-tests-dont-have-to-suck/</guid>
            <pubDate>Tue, 26 Oct 2021 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Git tags: standard, and somewhat unnecessary]]></title>
            <description><![CDATA[During a release, one of the tasks you’ll need to do is bump the current version. Generally by incrementing the patch number (assuming semantic versioning). Then you’ll create a git tag, but why do we? It’s easier to read. That’s it. It doesn’t provide any hidden benefit, it’s just a more readable way to find a specific point in time of your codebase.]]></description>
            <link>https://www.thefarrelly.com/posts/git-tags-standard-and-somewhat-unnecessary/</link>
            <guid isPermaLink="true">https://www.thefarrelly.com/posts/git-tags-standard-and-somewhat-unnecessary/</guid>
            <pubDate>Sat, 01 May 2021 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Designing the perfect programming test]]></title>
            <description><![CDATA[At the end of the day, no test is perfect, we can only aim for perfection. However we look at three different programming tests - PR review, Pomodoro timer, and the hands-off test. Then delve into the how, and why of each.
Keeping in mind feedback is critical, ask the developers who took the test what they thought about it.]]></description>
            <link>https://www.thefarrelly.com/posts/designing-the-perfect-programming-test/</link>
            <guid isPermaLink="true">https://www.thefarrelly.com/posts/designing-the-perfect-programming-test/</guid>
            <pubDate>Mon, 01 Feb 2021 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Now that I've made too many promises, how can I keep them all]]></title>
            <description><![CDATA[Now that we’re able to make promises, access the result, and handle rejection. We’re in a stellar place to start to tackle some more complex situations we may find ourselves in. Such as having a series of Promises to make, but not caring about the result. Or needing each Promise to resolve. The Promise API provides us four distinct methods...]]></description>
            <link>https://www.thefarrelly.com/posts/now-that-ive-made-too-many-promises-how-can-i-keep-them-all/</link>
            <guid isPermaLink="true">https://www.thefarrelly.com/posts/now-that-ive-made-too-many-promises-how-can-i-keep-them-all/</guid>
            <pubDate>Sun, 02 Feb 2020 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[It started with a promise]]></title>
            <description><![CDATA[A promise is an object which will return an asynchronous (think not at the same time) result. The classic promise use case is fetching data from a remote server. You have no idea how long it’ll take for the data to come back, you’re just promising Javascript that it’ll come, along with some code to run when it does.]]></description>
            <link>https://www.thefarrelly.com/posts/it-started-with-a-promise/</link>
            <guid isPermaLink="true">https://www.thefarrelly.com/posts/it-started-with-a-promise/</guid>
            <pubDate>Wed, 01 Jan 2020 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[An overly enthusiastic developer, Machine learning, and a Twitter bot]]></title>
            <description><![CDATA[Once upon a time I stumbled across an article chronicling a machine learning algorithm using the Harry Potter series as input to write it’s own chapter. Enthralled by the pure oddity of what a machine’s understanding of language and creativity turned out to be, I was intrigued to do something similar...]]></description>
            <link>https://www.thefarrelly.com/posts/an-overly-enthusiastic-developer-machine-learning-and-a-Twitter-bot/</link>
            <guid isPermaLink="true">https://www.thefarrelly.com/posts/an-overly-enthusiastic-developer-machine-learning-and-a-Twitter-bot/</guid>
            <pubDate>Tue, 09 Jul 2019 00:00:00 GMT</pubDate>
        </item>
    </channel>
</rss>