Articles

Multi-Account Aws Environments

I first heard about the full potential of AWS Organisations in this excellent talk on IAM Policies. I had seen this option in the console before, but I thought it would be overkill to create an organisation with multiple accounts when I only had a few small projects running on AWS at the time. Nowadays I make a new account for every new project I host on AWS. I love the organisation and separation of concerns that this brings to my setup. It's given me a lot of confidence to experiment with new AWS features and configurations.

#What is a multi-account environment?

A multi-account environment is the name that AWS gives to a setup in which you spread your resources across multiple accounts. This might sound like it adds a lot of complexity to your setup, but it's actually very simple to implement and brings a number of benefits in exchange.

I first heard about the full potential of AWS Organisations in this excellent talk on IAM Policies. I had seen this option in the console before, but I thought it would be overkill to create an organisation with multiple accounts when I only had a few small projects running on AWS at the time. Nowadays I make a new account for every new project I host on AWS. I love the organisation and separation of concerns that this brings to my setup. It's given me a lot of confidence to experiment with new AWS features and configurations.

#What is a multi-account environment?

A multi-account environment is the name that AWS gives to a setup in which you spread your resources across multiple accounts. This might sound like it adds a lot of complexity to your setup, but it's actually very simple to implement and brings a number of benefits in exchange.

I first heard about the full potential of AWS Organisations in this excellent talk on IAM Policies. I had seen this option in the console before, but I thought it would be overkill to create an organisation with multiple accounts when I only had a few small projects running on AWS at the time. Nowadays I make a new account for every new project I host on AWS. I love the organisation and separation of concerns that this brings to my setup. It's given me a lot of confidence to experiment with new AWS features and configurations.

#What is a multi-account environment?

A multi-account environment is the name that AWS gives to a setup in which you spread your resources across multiple accounts. This might sound like it adds a lot of complexity to your setup, but it's actually very simple to implement and brings a number of benefits in exchange.

Thank you for reading this article.

If you've made it this far, you might like to connect with me on 𝕏 where I post similar content and interact with like-minded people. If this article was helpful to you I'd really appreciate it if you would consider buying me a coffee.
Continue Reading

Add Google Analytics To A Nuxt Js App

Over recent weeks, I've been working hard to make this blog look and work well. Now that I'm writing more often, I wanted a way to see what's working and what's not. My first thought was to add Google Analytics as I remember it being a quick and easy process.

That said, the days when you could just add analytics without thinking about the privacy of your users is thankfully coming to an end. As it turns out, some more work is needed to comply with GDPR and other legislation. In this article, I'll show you how I went about adding Google Analytics and a compliant Cookie Banner to this site.

If you've installed Google Analytics on a website in the past, you might be familiar with the analytics.js script. Google has now moved away from this script in favour of its gtag.js or Global Site Tag solution. They strongly recommend that we should upgrade to the new "modern measurement library" and so we'll do just that.

Over recent weeks, I've been working hard to make this blog look and work well. Now that I'm writing more often, I wanted a way to see what's working and what's not. My first thought was to add Google Analytics as I remember it being a quick and easy process.

That said, the days when you could just add analytics without thinking about the privacy of your users is thankfully coming to an end. As it turns out, some more work is needed to comply with GDPR and other legislation. In this article, I'll show you how I went about adding Google Analytics and a compliant Cookie Banner to this site.

If you've installed Google Analytics on a website in the past, you might be familiar with the analytics.js script. Google has now moved away from this script in favour of its gtag.js or Global Site Tag solution. They strongly recommend that we should upgrade to the new "modern measurement library" and so we'll do just that.

Over recent weeks, I've been working hard to make this blog look and work well. Now that I'm writing more often, I wanted a way to see what's working and what's not. My first thought was to add Google Analytics as I remember it being a quick and easy process.

That said, the days when you could just add analytics without thinking about the privacy of your users is thankfully coming to an end. As it turns out, some more work is needed to comply with GDPR and other legislation. In this article, I'll show you how I went about adding Google Analytics and a compliant Cookie Banner to this site.

If you've installed Google Analytics on a website in the past, you might be familiar with the analytics.js script. Google has now moved away from this script in favour of its gtag.js or Global Site Tag solution. They strongly recommend that we should upgrade to the new "modern measurement library" and so we'll do just that.

Thank you for reading this article.

If you've made it this far, you might like to connect with me on 𝕏 where I post similar content and interact with like-minded people. If this article was helpful to you I'd really appreciate it if you would consider buying me a coffee.
Continue Reading

Add Comments To Your Blog In Under Five Minutes

While reading a blog post on web mentions I noticed that the author, Freek Van der Herten was using a comment system that I had never seen before. It looked very similar to a GitHub issue, which piqued my interest. After some digging, I found that it was powered by a free and open source tool called Utterances.

Utterances provides a GitHub app and a lightweight script to embed a comment widget on your website. When Utterances loads, it will use the GitHub API to find a matching issue based on one of the following criteria:

  • the article pathname
  • the site url
  • the page title
  • the page open graph title
  • a specific issue number
  • an issue title containing a specific term


  • While reading a blog post on web mentions I noticed that the author, Freek Van der Herten was using a comment system that I had never seen before. It looked very similar to a GitHub issue, which piqued my interest. After some digging, I found that it was powered by a free and open source tool called Utterances.

    Utterances provides a GitHub app and a lightweight script to embed a comment widget on your website. When Utterances loads, it will use the GitHub API to find a matching issue based on one of the following criteria:

  • the article pathname
  • the site url
  • the page title
  • the page open graph title
  • a specific issue number
  • an issue title containing a specific term


  • While reading a blog post on web mentions I noticed that the author, Freek Van der Herten was using a comment system that I had never seen before. It looked very similar to a GitHub issue, which piqued my interest. After some digging, I found that it was powered by a free and open source tool called Utterances.

    Utterances provides a GitHub app and a lightweight script to embed a comment widget on your website. When Utterances loads, it will use the GitHub API to find a matching issue based on one of the following criteria:

  • the article pathname
  • the site url
  • the page title
  • the page open graph title
  • a specific issue number
  • an issue title containing a specific term
  • Thank you for reading this article.

    If you've made it this far, you might like to connect with me on 𝕏 where I post similar content and interact with like-minded people. If this article was helpful to you I'd really appreciate it if you would consider buying me a coffee.
    Continue Reading

    Reset Data In A Vue Component

    Data is declared on a vue component using a function that returns the initial data object. Vue will recursively convert the properties of the data object to getters and setters to make it ‘reactive’. It is often useful to be able to reset this data to its original state (the way it was when the component was initialised). It might not be immediately obvious how to do this, so we’ll take a look at two good options.

    #1. Create an initial data function

    Let’s imagine that we have the following data structure:

    Data is declared on a vue component using a function that returns the initial data object. Vue will recursively convert the properties of the data object to getters and setters to make it ‘reactive’. It is often useful to be able to reset this data to its original state (the way it was when the component was initialised). It might not be immediately obvious how to do this, so we’ll take a look at two good options.

    #1. Create an initial data function

    Let’s imagine that we have the following data structure:

    Data is declared on a vue component using a function that returns the initial data object. Vue will recursively convert the properties of the data object to getters and setters to make it ‘reactive’. It is often useful to be able to reset this data to its original state (the way it was when the component was initialised). It might not be immediately obvious how to do this, so we’ll take a look at two good options.

    #1. Create an initial data function

    Let’s imagine that we have the following data structure:

    Thank you for reading this article.

    If you've made it this far, you might like to connect with me on 𝕏 where I post similar content and interact with like-minded people. If this article was helpful to you I'd really appreciate it if you would consider buying me a coffee.
    Continue Reading

    Prop Destructuring In Vue Js

    In a couple of recent tweets, Caleb Porzio demonstrated an easy way to pass Javascript object properties to a child component without declaring a separate prop for each property.

    Here's how it works. Let's say that we have a Javascript object with several properties in the data object of a Vue JS component:

    data() { return { post: { id: 1, name: 'Prop destructuring in Vue Js', author: 'Carl Cassar' } }; }

    In a couple of recent tweets, Caleb Porzio demonstrated an easy way to pass Javascript object properties to a child component without declaring a separate prop for each property.

    Here's how it works. Let's say that we have a Javascript object with several properties in the data object of a Vue JS component:

    data() { return { post: { id: 1, name: 'Prop destructuring in Vue Js', author: 'Carl Cassar' } }; }

    In a couple of recent tweets, Caleb Porzio demonstrated an easy way to pass Javascript object properties to a child component without declaring a separate prop for each property.

    Here's how it works. Let's say that we have a Javascript object with several properties in the data object of a Vue JS component:

    data() { return { post: { id: 1, name: 'Prop destructuring in Vue Js', author: 'Carl Cassar' } }; }

    Thank you for reading this article.

    If you've made it this far, you might like to connect with me on 𝕏 where I post similar content and interact with like-minded people. If this article was helpful to you I'd really appreciate it if you would consider buying me a coffee.
    Continue Reading