Fergus Farrell

Experienced software engineer working at Canva, based in Ōtautahi Christchurch, NZ. Previously, frontend lead at Wayleadr, technical lead at Batch, full stack developer at Comrad and Orion Health, and CS at Otago, NZ. Email me at fergusfrl@gmail.com.

  • Get Shit Done with Notion

    Get Shit Done with Notion

    Notion is Productivity Workspace tool I've been using recently. So far I've thoroughly enjoyed using the tool. I built a straight forward prioritized task list and I've been using it for a little over a week now. Here's how.

    Continue Reading
  • Ordering of Aggregate Functions in PostgreSQL

    Ordering of Aggregate Functions in PostgreSQL

    When using multiple aggregate functions in PostgreSQL, the set of results is iterated through once. This is interesting behavior because it means that the order of the aggregated results is preserved across selection clauses. Looking at the output of the script below, we know that the three individuals are "George Martins", "Mary Wong" and "Amy Kelly".

    Continue Reading
  • Add a Custom Domain to Cloud Run

    Add a Custom Domain to Cloud Run

    I recently deployed a website using Google Cloud Platform (GCP) Cloud Run. Cloud Run is very easy to use, all you need to do is Dockerise your application and the serverless Cloud Run will handle deployment and scaling behind the scenes.

    Continue Reading
  • Unit Testing Firebase Background Functions

    Unit Testing Firebase Background Functions

    Testing Firebase Cloud Functions can be difficult, particularly background functions like PubSub, Authentication Triggered, Firestore Triggered and others. This guide will show you how to utilize the Jest testing framework to make asserting, mocking and spying against background cloud functions easy and robust.

    Continue Reading
  • 5 Helpful React Hooks I use Regularly

    5 Helpful React Hooks I use Regularly

    This is a great hook which behaves similarly to useState but is stored on the browser local storage so state is persisted between sessions. With only minor changes, this hook can be adapted to session storage instead.

    Continue Reading