<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>Alex Hyett</title>
        <link>https://paragraph.com/@devfig</link>
        <description>undefined</description>
        <lastBuildDate>Sat, 16 May 2026 01:10:29 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <image>
            <title>Alex Hyett</title>
            <url>https://storage.googleapis.com/papyrus_images/e7d255c857d7cd56624e29c81a20e872ec89f4b89860305456761a8e23dafd19.jpg</url>
            <link>https://paragraph.com/@devfig</link>
        </image>
        <copyright>All rights reserved</copyright>
        <item>
            <title><![CDATA[Using Hashnode as a Source for Gatsby]]></title>
            <link>https://paragraph.com/@devfig/using-hashnode-as-a-source-for-gatsby</link>
            <guid>hQG0yGlYbULeJoE2mBol</guid>
            <pubDate>Tue, 16 Nov 2021 11:01:34 GMT</pubDate>
            <description><![CDATA[Using Hashnode as a Source for GatsbySubscribe to my newsletter and never miss my upcoming articles I have done quite a few website migrations over the years. My blog like many first started out on WordPress. After several attempts at optimisation, I ended up generating a static version of my WordPress website. On my static site generation journey, I discovered Gatsby.js and completely redesigned my website around it. However, writing posts locally in markdown has its own downsides and lacks ...]]></description>
            <content:encoded><![CDATA[<figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/d88d451b60ab234ac0cb06c1f6e9dcc077ae6998b132672c5f228ecd9abd5aa7.png" alt="Using Hashnode as a Source for Gatsby" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">Using Hashnode as a Source for Gatsby</figcaption></figure><p>Subscribe to my newsletter and never miss my upcoming articles</p><p>I have done quite a few website migrations over the years. My blog like many first started out on WordPress. After several <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.alexhyett.com/speed-up-wordpress">attempts at optimisation</a>, I ended up generating a static version of my WordPress website.</p><p>On my static site generation journey, I discovered Gatsby.js and completely redesigned my website around it. However, writing posts locally in markdown has its own downsides and lacks the discoverability you get from blogging on Hashnode.</p><p>So I decided to move my blog posts over to Hashnode but I still wanted my posts to appear on my <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.alexhyett.com/blog">main blog</a>.</p><h2 id="h-migrating-the-blog-posts" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Migrating the Blog Posts</h2><p>The first step was to import all my blog posts to Hashnode. There are a few methods you can use to import your blog posts.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/9bfb00cc1592e83ab3dc701211a4547a6790d2d1c58445b6301701d1c7794e99.png" alt="Hashnode import methods" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">Hashnode import methods</figcaption></figure><p>I decided to use the <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="http://dev.to/">Dev.to</a> importer as I repost all my posts on <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="http://dev.to/">dev.to</a> anyway. Unfortunately, the bulk import didn&apos;t work for me so I had to import my posts one at a time.</p><p>This was handy though as you need to set the following for each post manually:</p><ul><li><p>Post slug</p></li><li><p>Tags</p></li><li><p>Canonical URL</p></li></ul><p>Once all my posts were imported it was time to edit my Gatsby website to start pulling down the posts.</p><h2 id="h-gatsby-plugins" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Gatsby plugins</h2><p>If you do a search for <code>gatsby-source-hashnode</code> you will find a couple of plugins on the Gatsby website.</p><ul><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.gatsbyjs.com/plugins/gatsby-source-hashnode">gatsby-source-hashnode</a></p></li><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.gatsbyjs.com/plugins/gatsby-source-hashnode-devblog">gatsby-source-hashnode-devblog</a></p></li></ul><p>I decided to go with the first one (gatsby-source-hashnode) as it has a lot more downloads and still appears to be maintained.</p><p>However, I quickly noticed when testing out the plugin that it was only pulling down the first 6 posts from my Hashnode blog. This might be a recent change to the API which hasn&apos;t yet been picked up by the plugins.</p><p>Luckily, the plugin is open source so I <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/nitzano/gatsby-source-hashnode/pull/184">raised a PR</a> for the plugin owner to review.</p><p>In the meantime, I copied my modified code to a folder in my gatsby repository called <code>plugins/gatsby-source-hashnode</code>. I then used the plugin as described in the documentation.</p><h2 id="h-graphql-queries" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">GraphQL queries</h2><p>I am using GraphQL queries in a few places to pull down posts:</p><ul><li><p>Blog Feed</p></li><li><p>Blog Post</p></li><li><p>Latest Posts</p></li><li><p>RSS Feed</p></li></ul><p>For reference, this is what a couple of my queries look like for pulling from Hashnode.</p><h3 id="h-blog-feed" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Blog Feed</h3><pre data-type="codeBlock" text="query pageQuery($skip: Int!, $limit: Int!) {
    site {
      siteMetadata {
        title
        description
      }
    }
    allHashNodePost(
      sort: { fields: [dateAdded], order: DESC }
      limit: $limit
      skip: $skip
    ) {
      edges {
        node {
          brief
          slug
          title
          coverImage {
            childImageSharp {
              gatsbyImageData(
                width: 920
                height: 483
                layout: CONSTRAINED
                transformOptions: {cropFocus: CENTER}
              )
            }
          }
        }
      }
    }
  }
"><code>query <span class="hljs-title function_ invoke__">pageQuery</span>(<span class="hljs-variable">$skip</span>: Int!, <span class="hljs-variable">$limit</span>: Int!) {
    site {
      siteMetadata {
        title
        description
      }
    }
    <span class="hljs-title function_ invoke__">allHashNodePost</span>(
      <span class="hljs-attr">sort</span>: { <span class="hljs-attr">fields</span>: [dateAdded], <span class="hljs-attr">order</span>: DESC }
      <span class="hljs-attr">limit</span>: <span class="hljs-variable">$limit</span>
      <span class="hljs-attr">skip</span>: <span class="hljs-variable">$skip</span>
    ) {
      edges {
        node {
          brief
          slug
          title
          coverImage {
            childImageSharp {
              <span class="hljs-title function_ invoke__">gatsbyImageData</span>(
                <span class="hljs-attr">width</span>: <span class="hljs-number">920</span>
                <span class="hljs-attr">height</span>: <span class="hljs-number">483</span>
                <span class="hljs-attr">layout</span>: CONSTRAINED
                <span class="hljs-attr">transformOptions</span>: {<span class="hljs-attr">cropFocus</span>: CENTER}
              )
            }
          }
        }
      }
    }
  }
</code></pre><h3 id="h-blog-post" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Blog Post</h3><pre data-type="codeBlock" text="query BlogPostBySlug($slug: String!) {
    site {
      siteMetadata {
        title
        author
        siteUrl
      }
    }
    hashNodePost(slug: { eq: $slug }) {
      _id
      brief
      childMarkdownRemark {
        htmlAst
      }
      slug
      title
      dateAdded
      coverImage {
        publicURL
        childImageSharp {
          gatsbyImageData(
            width: 920
            height: 483
            layout: CONSTRAINED
            transformOptions: {cropFocus: CENTER}
          )
        }
      }
    }
  }
"><code>query <span class="hljs-title function_ invoke__">BlogPostBySlug</span>(<span class="hljs-variable">$slug</span>: String!) {
    site {
      siteMetadata {
        title
        author
        siteUrl
      }
    }
    <span class="hljs-title function_ invoke__">hashNodePost</span>(<span class="hljs-attr">slug</span>: { <span class="hljs-attr">eq</span>: <span class="hljs-variable">$slug</span> }) {
      _id
      brief
      childMarkdownRemark {
        htmlAst
      }
      slug
      title
      dateAdded
      coverImage {
        publicURL
        childImageSharp {
          <span class="hljs-title function_ invoke__">gatsbyImageData</span>(
            <span class="hljs-attr">width</span>: <span class="hljs-number">920</span>
            <span class="hljs-attr">height</span>: <span class="hljs-number">483</span>
            <span class="hljs-attr">layout</span>: CONSTRAINED
            <span class="hljs-attr">transformOptions</span>: {<span class="hljs-attr">cropFocus</span>: CENTER}
          )
        }
      }
    }
  }
</code></pre><p>I am not yet pulling down tags or reading time from the API. That is something I will try out later.</p><h2 id="h-automation-with-github-actions" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Automation with GitHub actions</h2><p>I already have GitHub actions set up for my website so that any new commits to the <code>main</code> branch trigger a website build and push to S3. I <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.alexhyett.com/github-actions-deploy-to-s3">wrote a post</a> about it if you want to find out how.</p><p>However, now that I am not committing articles to that repo I needed a way to automatically trigger builds when I publish a new post on Hashnode.</p><p>Luckily, Hashnode has an option to backup your blog posts to GitHub which we can use as the trigger point.</p><h3 id="h-step-1-add-workflowdispatch-to-your-github-action" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Step 1: Add workflow_dispatch to your GitHub action</h3><p>To be able to remotely trigger a build on GitHub you need to add <code>workflow_dispatch</code> to the <code>on:</code> section of your workflow file.</p><p>This is what the top of mine looks like:</p><pre data-type="codeBlock" text="name: Deploy Blog

on:
  workflow_dispatch:
  push:
    branches:
      - main
"><code><span class="hljs-attr">name:</span> <span class="hljs-string">Deploy</span> <span class="hljs-string">Blog</span>

<span class="hljs-attr">on:</span>
  <span class="hljs-attr">workflow_dispatch:</span>
  <span class="hljs-attr">push:</span>
    <span class="hljs-attr">branches:</span>
      <span class="hljs-bullet">-</span> <span class="hljs-string">main</span>
</code></pre><h3 id="h-step-2-create-a-personal-access-token" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Step 2: Create a personal access token</h3><p>Next, we need to create a personal access token that we will use as the API Key for triggering the remote build.</p><p>You can do this in GitHub under Settings &gt; Developer Settings &gt; <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/settings/tokens">Personal Access Tokens</a></p><p>I set my access token with the following permissions.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/7b0a6abc550d751924fa49ffedc6e613d5cf1359a24b92fad990f4a9c329bead.png" alt="GitHub Access" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">GitHub Access</figcaption></figure><p>You will need to set an expiry date as well and set yourself a reminder to generate a new token before it expires.</p><p>Make sure you copy the access key as you won&apos;t get a chance again!</p><h3 id="h-step-3-add-the-key-as-a-secret-to-your-backup-repository" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Step 3: Add the key as a secret to your backup repository</h3><p>To be able to use this access key we need to add it as a secret to the repository where Hashnode is backing up your posts.</p><p>On the backup repository go to Settings &gt; Secrets and add a new repository secret called <code>ACCESS_TOKEN</code> and put in the key from the previous step.</p><h3 id="h-step-4-add-a-workflow-file" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Step 4: Add a workflow file</h3><p>Next, we need to add a workflow that gets triggered every time a commit is added to this repository. In our case, this will be whenever we publish a post on Hashnode (Note: Drafts aren&apos;t saved in GitHub).</p><p>Add the following file to your backup repository <code>.github/workflows/workflow.yml</code></p><pre data-type="codeBlock" text="---
name: Trigger Deploy

on:
  push:
    branches:
      - main

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - run: |
          curl -X POST \
          -H &quot;Authorization: Bearer ${{secrets.ACCESS_TOKEN}}&quot; \
          -H &quot;Accept: application/vnd.github.v3+json&quot; \
          https://api.github.com/repos/GITHUB_USERNAME/WEBSITE_REPO/actions/workflows/workflow.yml/dispatches \
          -d &apos;{&quot;ref&quot;: &quot;main&quot;}&apos;
"><code><span class="hljs-meta">---</span>
<span class="hljs-attr">name:</span> <span class="hljs-string">Trigger</span> <span class="hljs-string">Deploy</span>

<span class="hljs-attr">on:</span>
  <span class="hljs-attr">push:</span>
    <span class="hljs-attr">branches:</span>
      <span class="hljs-bullet">-</span> <span class="hljs-string">main</span>

<span class="hljs-attr">jobs:</span>
  <span class="hljs-attr">deploy:</span>
    <span class="hljs-attr">runs-on:</span> <span class="hljs-string">ubuntu-latest</span>
    <span class="hljs-attr">steps:</span>
      <span class="hljs-bullet">-</span> <span class="hljs-attr">run:</span> <span class="hljs-string">|
          curl -X POST \
          -H "Authorization: Bearer ${{secrets.ACCESS_TOKEN}}" \
          -H "Accept: application/vnd.github.v3+json" \
          https://api.github.com/repos/GITHUB_USERNAME/WEBSITE_REPO/actions/workflows/workflow.yml/dispatches \
          -d '{"ref": "main"}'
</span></code></pre><p>Make sure you change <code>GITHUB_USERNAME</code> to match your GitHub username, <code>WEBSITE_REPO</code> to the repository with your Gatsby.js website and <code>workflow.yml</code> to match the name of your deploy workflow file.</p><p>To test, try updating one of your posts in Hashnode and you see this workflow get triggered then followed by your website workflow.</p>]]></content:encoded>
            <author>devfig@newsletter.paragraph.com (Alex Hyett)</author>
        </item>
        <item>
            <title><![CDATA[What is Web3? The Decentralised Internet Explained]]></title>
            <link>https://paragraph.com/@devfig/what-is-web3-the-decentralised-internet-explained</link>
            <guid>kWXDAZJgCPtrLXV4FOTA</guid>
            <pubDate>Tue, 16 Nov 2021 11:01:12 GMT</pubDate>
            <description><![CDATA[If you have stumbled upon this article you have probably seen the term web3 being mentioned around the internet. Especially on Twitter at the moment it seems to be the latest buzzword. With all the hype around NFTs and crypto at the moment, a lot of people are assuming that this is all web3 is. However, web3 (or web 3.0) has a lot more to it than that. Before I go into more details, let us look at how we got here and what we consider web 1.0 and 2.0.Web 1.0: The Read-Only WebWhen the internet...]]></description>
            <content:encoded><![CDATA[<p>If you have stumbled upon this article you have probably seen the term web3 being mentioned around the internet. Especially on Twitter at the moment it seems to be the latest buzzword.</p><p>With all the hype around NFTs and crypto at the moment, a lot of people are assuming that this is all web3 is. However, web3 (or web 3.0) has a lot more to it than that.</p><p>Before I go into more details, let us look at how we got here and what we consider web 1.0 and 2.0.</p><h2 id="h-web-10-the-read-only-web" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Web 1.0: The Read-Only Web</h2><p>When the internet first went mainstream it consisted of static HTML pages that were uploaded to servers using FTP.</p><p>People who had the technical skills were the only ones that could contribute to the internet at that time. The internet was limited to news sites and technical sites and wasn’t of great interest to the general public.</p><p>This stage of the internet is now nicknamed the read-only web.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/1c28d32deeb11be53bb16f5965ad1d761fb9a58ecf47294d15c80e592bd791f8.png" alt="first-website.png" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">first-website.png</figcaption></figure><p>Soon websites started to be backed by databases instead of static files. It was now possible to interact with websites and not just read them.</p><p>Websites started allowing people to comment on their articles and soon we had online stores that we could buy from.</p><p>As traffic to these websites increased people started looking for ways to monetise their work. As with traditional media such as magazines and newspapers, the solution was to sell advertising space on their website to companies looking to advertise their products and services.</p><p>In the early days of Web 2.0, apart from comments the content on the web was still mostly produced by website owners.</p><p>In 2003 MySpace was launched. People now had a space to create their own content and share it with others. By 2005 MySpace was seeing 16 million monthly users and was acquired by News Corporation for $580 million.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/542ffd57046e281395f2c53f86dabbd2cdcce5cdba08d825a8b0f7dfdff77bad.png" alt="facebook.png" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">facebook.png</figcaption></figure><p>Facebook was already out but limited to university students. This all changed in 2006 when Facebook opened up to everyone over 13. It didn’t take long for everyone and their Mum to have a Facebook account and sharing everything about themselves with the world.</p><p>With everyone using Facebook and Google, these companies amassed a large amount of data about their users.</p><p>Facebook was looking for ways of monetising its site. As selling the user data was morally wrong (although it didn’t stop some) they instead went with allowing people to target users with adverts.</p><p>Instead of paying for advertising space on a website and hoping your target market was looking, you could now push adverts directly into people’s Facebook feeds based on age, sex, location and interests.</p><p>Social media companies started reaching billion-dollar valuations even before they started monetising due to the information they had on their millions of users.</p><blockquote><p>If the product is free, you are the product.</p></blockquote><p>Tech companies didn’t need to sell products or charge for the use of their service. Instead, they could collect data on their users and sell access to that anonymised data to companies.</p><p>The users became the product.</p><h2 id="h-what-is-wrong-with-the-internet-now" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">What is wrong with the internet now?</h2><p>Of course, with there being so much value in user data these companies became targets for hackers and over the last decade, there have been a lot of high profile data leaks.</p><p>Not convinced, sites like <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://haveibeenpwned.com/">Have I Been Pwned</a> can show you whether your details have been compromised. There is also a very long list of data breaches listed on <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://en.wikipedia.org/wiki/List_of_data_breaches">Wikipedia</a>.</p><p>If you have used any of the major websites chances are your details have been leaked.</p><p>In some cases, it hasn’t been the result of hackers but the companies outright selling your data.</p><h3 id="h-where-is-your-data" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Where is your data?</h3><p>If you are an active internet user like me, chances are you have lost track of the number of websites that you have given your email address and other information.</p><p>There are so many services that I have signed up to but later decided it wasn’t what I was looking for. Most of these sites don’t have ways to delete your account and there is no way of knowing they do delete your details anyway.</p><p>Let’s take the example of buying something from a trusted website.</p><ol><li><p>As part of the checkout process you have to enter your name, email, card number and billing address (even if you are buying a digital product). These are stored (hopefully securely) on the servers of the company you are buying from. Depending on how the company has set up their store this could be another third party like Shopify.</p></li><li><p>To be able to take payment for your order, they need to use a payment gateway like Stripe. So your name, email address, card number and billing address are now on the payment gateway’s servers too.</p></li><li><p>Did you get an email confirmation of your order and possibly some marketing emails? Well, your data is now stored on their email providers servers such as Mailchimp.</p></li><li><p>If you bought a physical product then I can guarantee the company isn’t going to hand-deliver it to you. They are going to use a courier and as such your details would be given to them as well so they can deliver your product and contact you in case of difficulties.</p></li></ol><p>Chances are you would have agreed to all this in the 20 pages of terms and conditions you agreed to but didn’t read.</p><p>Of course, to be able to have a credit or debit card you would have had to hand over all your details and money to a bank. They also would have used a bunch of third parties to be able to validate who you are and print the cards you are using.</p><h2 id="h-web-30-the-decentralised-web" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Web 3.0: The Decentralised Web</h2><p>In 2008 a <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://bitcoinwhitepaper.co/">whitepaper</a> was written by someone called <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://en.wikipedia.org/wiki/Satoshi_Nakamoto">Satoshi Nakamoto</a> on a peer to peer cash system that lives on a “blockchain” and Bitcoin was born.</p><p>With cryptocurrency, it is now possible to send money (or crypto tokens) from one wallet to another without sharing any personal information. No third party is involved it is purely peer-to-peer.</p><p>Now if this blockchain was hosted by a single company it wouldn’t be much better than the payment system we have now. However, the blockchain is decentralised, not owned by a single entity and impossible to take down. All the payments are immutable and verified by the network.</p><p>If something is completely decentralised then it cannot be taken down as it doesn’t exist in a single place. Of course, this is useful for more than just payments.</p><p>The power of web3 is the ability to be able to create applications and websites that live and work with the blockchain. Completely decentralised and available to everyone.</p><h3 id="h-nfts" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">NFTs</h3><p>NFTs or Non-Fungible Tokens are assets that can be bought for cryptocurrency and stored in your crypto wallet.</p><p>You will probably be familiar with NFTs from people talking about NFT art. NFT Art is about ownership. Yes, it might just be a JPEG that you are buying but you own it and can prove that you own it.</p><p>It is the digital equivalent of owning the Mona Lisa versus owning a print.</p><p>The uses of NFT go far beyond the artwork. It provides a trustless system for ownership. Anything digital that you own can be represented as an NFT and then verified by a third party that you are the owner.</p><p>Nearly every website you log into requires a username and password. With web3 all you need is your wallet connected with your NFT. No personal information needs to be transferred.</p><p>Not only that but you can transfer your ownership to someone else. This is something that the digital space has been sorely lacking.</p><p>Let’s have a look at a few examples:</p><h4 id="h-digital-media" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">Digital Media</h4><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/40a53c4e073f26f5181487a65564f28ac0e08e84525bc68b30495d2e65896ff1.png" alt="books.png" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">books.png</figcaption></figure><p>At some point, you have probably bought a digital copy of a book, game, song or movie.</p><p>Chances are it wasn’t much cheaper than buying the physical object. However, with a physical book, you can donate or sell it once you are done. With a digital copy, you don’t have that option.</p><p>However, if that book or game was an NFT in your wallet you would be able to donate or sell it when you no longer wanted it.</p><h4 id="h-authorisation" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">Authorisation</h4><p>An NFT can also be used to provide access to a resource. By having the NFT in your wallet a web3 website can check whether it exists before granting you access.</p><p>Let’s say you bought an online course. You might be given lifetime access to this course but if you find you no longer need it you are stuck with it.</p><p>However, if course access was granted via an NFT then you would have the ability to sell or donate that course when you were done with it.</p><p>This can be used in the physical world too. Any event that requires a ticket could be sold as an NFT. Only those with that NFT in their wallet have access.</p><h4 id="h-gaming" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">Gaming</h4><p>I love the scene at the start of Ready Player One where they all fighting in one of the game rooms to try and get the special item (I think it was a sword but I need to watch it again).</p><p>In the online gaming world, there are already unofficial markets for gaming items. I never played WoW but I remember people selling their rare items on marketplaces.</p><p>The problem is you can easily be scammed as you are trusting the user to hand over the item once you have paid. Or trusting the marketplace to verify that the money and items have been transferred.</p><p>If game items were NFTs they would be yours to own and transfer.</p><p>There are already some games coming out that rely on NFTs and these are being coined Play-To-Earn games. <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://axieinfinity.com/">Axie Infinity</a> is the most popular at the moment.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/55ffa4fd5eaa4526425994925c59578d65227cd2e75de4832774c1ff307a86d8.png" alt="axie-infinity.png" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">axie-infinity.png</figcaption></figure><p>In some cases, it is possible to earn several thousand dollars a month playing this game.</p><p>This game is particularly popular in some countries in Asia at the moment as people can earn more playing this game than they can from local jobs. What would you rather do, work in a factory, on the fields or at home playing a video game?</p><p>Unfortunately, you need to own 3 Axies to start playing and with prices starting at 0.034 ETH ($129) per Axie it can be steep for some.</p><p>Axie Infinity has started offering sponsorships as an option. Where people can pay for the Axie’s for someone else and in return get a percentage of the profits.</p><h3 id="h-the-spatial-connected-web" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">The Spatial Connected Web</h3><p>The other aspect of web3 is how the physical world is going to merge with our digital one.</p><p>We now have a few VR (virtual reality) headsets on the market as well as AR (augmented reality) built into our phones.</p><p>Facebook is also currently working on <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://about.facebook.com/realitylabs/projectaria/">AR glasses</a>, I am sure other companies too.</p><p>As more devices get released, there are sure to be more uses for them. The same way everyone has come to embrace wireless payments at some point the same will be true for AR and VR.</p><p>You can read more about the spatial web in the book <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://geni.us/afx1Bf">The Spatial Web</a>.</p><h4 id="h-potential-uses" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">Potential uses</h4><p>Imagine wearing your AR glasses to the supermarket and being shown a route to the items on your shopping list.</p><p>AR could also be used to subtly highlight the products on the shelves that meet your dietary requirements. No need to look at labels to check for wheat or dairy.</p><p>Looking online for clothes but not sure how they would look on you? Well, your AR glasses could help with that too. Augmenting the clothes you pick onto your body, maybe even helping you pick the correct size.</p><p>Can’t get out at the moment? Wellm why not visit the same shops but virtually and pick the items from your shelves in VR.</p><p>The problem with these uses at the moment is it is dependent on device support. It isn’t going to work if some stores only support certain devices.</p><p>Imagine being able to use your Apple Glasses in Waitrose but you need Samsung Glasses in Asda. It just won’t work. This is where the metaverse comes in.</p><h4 id="h-metaverse" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">Metaverse</h4><p>The virtual world (or worlds) and the augmented world is being collectively called the metaverse. The metaverse is an interconnected network of worlds that allow continuity of identity and objects.</p><p>Currently, the apps and games we use are often dependent on the devices we have.</p><p>Some games are only available on XBOX or Playstation while others can be played on all devices.</p><p>Even online games available on all platforms have limitations between them. Sometimes you can’t see other players on a different device than yours and you certainly can’t transfer your saved game between different types of devices.</p><p>The metaverse is completely connected so not only would you be able to move your identity between different devices but also between different virtual worlds. Everything is interconnected. Say you win a sword in one game, you could then take this sword with you and use it in another game.</p><p>Again, I am going to reference Ready Player One here. Where no matter what virtual world they were in, their identity travelled with them, as did their inventory and they could use that in any of the other worlds.</p><p>Where do you think your identity and inventory would live? You guessed it, your digital wallet on the blockchain.</p><p>With the help of AR you could even see your VR items in the real world too.</p><h3 id="h-dao-decentralised-autonomous-organisations" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">DAO: Decentralised Autonomous Organisations</h3><p>With everything else being decentralised then why not businesses. Instead of a business being owned by a CEO and its founders, a DAO is own by all of its token holders. Each token holder is given voting rights and can decide on the direction the DAO will take.</p><p>Any profits made by a DAO are then evenly distributed to the token holders.</p><p>There are a few DAOs going around at the moment. It is worth having a read about them and see if you want (or can) join them.</p><ul><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://makerdao.com/en/">MakerDAO</a></p></li><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/developer_dao">Developer DAO</a></p></li><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/thugDAO">Thug DAO</a></p></li></ul><h3 id="h-where-we-are-now" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Where we are now</h3><p>This all sounds great but we are only at the beginning at the moment. We are a little way off chasing keys to the kingdom in the Oasis metaverse just yet.</p><p>So we have our decentralised currency that, will work across all our virtual worlds and soon the physical world. Bitcoin is the main candidate and now being legal tender in El Salvador.</p><p>However, we also have a mind-boggling array of other cryptocurrencies. Ethereum is the most well known. It builds on Bitcoin by having smart contracts and assets which give us NFTs. It is currently hindered by the expensive “gas” fees that are needed to do anything.</p><p>Until cryptocurrency is accepted in physical stores we are still reliant on exchanges to convert the currency back into local fiat currencies. This usually involves handing over a lot of personal information before you can make the conversion.</p><p>At some point, we may select a winning cryptocurrency but for now, we need to cope with all the different varieties and rely on exchanges to convert between them.</p><p>Web3 websites are starting to crop up here and there mostly around the NFT space. If you own an NFT you gain access to their community and unlock areas of their website. I expect we will see more websites using NFTs for access soon.</p><h2 id="h-getting-started-with-web3-development" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Getting started with Web3 Development</h2><p>Currently, web3 is still browser-based. You will need a browser extension to be able to access web3 features.</p><p>You need the <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://metamask.io/">Metamask</a> extension, that we allow you to connect your wallet to web3 websites. Provided you have funds in your wallet you will be able to mint NFTs on their websites as well active the owners only features.</p><p>If you want to get started with web3 development there are some great resources out there already.</p><ul><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/dabit3">Nader Dabit</a> has a couple of great articles on <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://dev.to/dabit3/">dev.to</a>. He also has some great content on his <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.youtube.com/naderdabit/">YouTube Channel</a></p></li><li><p>If you are interested in building NFTs then <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/de_botha">Daniel Botha</a> has loads of videos on the subject on his <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.youtube.com/c/hashlipsnft/featured">Hashlips YouTube</a> channel.</p></li><li><p>Join the <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/developer_dao">Developer DAO</a>. You will need to mint a “free” (gas fees still apply) NFT token to join <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://developerdao.vercel.app/">https://developerdao.vercel.app/</a>. There are only 8,000 so join soon. This will give you access to contribute to the discord community.</p></li></ul><p>I am still getting started myself with web3 but it is an interesting space and I am sure to post more content here soon.</p>]]></content:encoded>
            <author>devfig@newsletter.paragraph.com (Alex Hyett)</author>
        </item>
        <item>
            <title><![CDATA[Dealing with Imposter Syndrome as a Software Developer]]></title>
            <link>https://paragraph.com/@devfig/dealing-with-imposter-syndrome-as-a-software-developer</link>
            <guid>casXRlNC2uJQRk88CvK4</guid>
            <pubDate>Tue, 16 Nov 2021 11:00:21 GMT</pubDate>
            <description><![CDATA[I have been a professional software developer for over a decade and I have been writing code for over 25 years. However, sometimes I still feel like a fraud. It turns out, I am not the only one that feels this way and they have a name for it, it is called “Imposter Syndrome”.xkcd: Imposter SyndromeWhat is Imposter Syndrome?Have you ever felt like you don’t know what you are doing? Do you feel like you aren’t good enough for your job, that you don’t deserve to be where you are in life? That ev...]]></description>
            <content:encoded><![CDATA[<p>I have been a professional software developer for over a decade and I have been writing code for over 25 years.</p><p>However, sometimes I still feel like a fraud.</p><p>It turns out, I am not the only one that feels this way and they have a name for it, it is called “Imposter Syndrome”.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/2eb336ba17cc381eec0950c77174fdc00a43cb76d347bceb3164790cd3df379e.png" alt="xkcd: Imposter Syndrome" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">xkcd: Imposter Syndrome</figcaption></figure><h2 id="h-what-is-imposter-syndrome" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">What is Imposter Syndrome?</h2><p>Have you ever felt like you don’t know what you are doing? Do you feel like you aren’t good enough for your job, that you don’t deserve to be where you are in life?</p><p>That everyone else seems to know more than you do and your are just stumbling along working things out as you go along. One of these days they are going to find out you don’t know what you are doing!</p><p>If you have, you likely suffered from imposter syndrome.</p><h3 id="h-imposter-syndrome-definition" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Imposter Syndrome Definition</h3><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.dictionary.com/browse/impostor-syndrome">Dictionary.com</a> defines this as:</p><blockquote><p>anxiety or self-doubt that results from persistently undervaluing one’s competence and active role in achieving success, while falsely attributing one’s accomplishments to luck or other external forces.</p></blockquote><p>Essentially, imposter syndrome comes about when you doubt your abilities.</p><p>It is common in all careers but I think it is especially apparent in the software development industry.</p><h3 id="h-imposter-syndrome-as-a-programmer" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Imposter Syndrome as a Programmer</h3><p>We are constantly having to keep up with technologies and learn new skills. As such, it is impossible to be able to know everything. There will always be gaps in your knowledge and someone else is bound to know something that you don’t.</p><p>Anyone who has worked in frontend development will relate to this. With new frameworks coming out every year, it can feel like you are constantly on a hamster wheel never getting to the finish line. You dedicate your time to learning Angular just to find out that everyone is switching to React or Vue, and now you are back to square one.</p><p>This becomes especially apparent when you start to specialise in a particular area. The more time you dedicate to one subject, the less time you are going to have to learn about new things.</p><p>This always reminds me of this quote:</p><blockquote><p>You learn more and more about less and less until you know absolutely everything about nothing. - Nicholas Butler</p></blockquote><p>I would consider myself a full stack developer. I know enough technologies to be able to take a product from idea to production including, frontend, backend, database and infrastructure.</p><p>However, I specialise in backend development. My frontend knowledge is limited to creating my own personal projects or updating existing projects. I wouldn’t say I was up to date with the latest best practices. My database knowledge is fairly good but I don’t know as much as a dedicated DBA. My infrastructure knowledge is getting better but I am constantly learning from my colleagues.</p><h3 id="h-dunning-kruger-effect" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Dunning-Kruger Effect</h3><p>What makes matters worse is something called the Dunning-Kruger effect. Another definition, this time from <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect">Wikipedia</a>:</p><blockquote><p>The Dunning–Kruger effect is a hypothetical cognitive bias stating that people with low ability at a task overestimate their ability.</p></blockquote><p>With the “Anyone Can Code” movement (which I am not entirely against) we have more and more people who know just enough to be dangerous. In some cases, they have only just started and think because they can put an HTML page together that they suddenly know all there is to know. Or they might have a couples of years experience and have got very good at one thing.</p><p>These people tend to have a lot of confidence, as they are unaware at just how clueless they are about everything they don’t know.</p><p>Whereas those of us with many years experience under our belt, understand that there is a lot that we don’t know and therefore you shouldn’t get too cocky with what you can do.</p><p>However, as we end up feeling inadequate we are less likely to share what we do know with the world.</p><h2 id="h-how-to-get-over-imposter-syndrome" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">How to Get Over Imposter Syndrome?</h2><p>So know that you understand what imposter syndrome is (and probably relate to a lot of it), how do we deal with this?</p><h3 id="h-recognise-your-accomplishments" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Recognise your accomplishments</h3><p>A lot of us tend to downplay our accomplishments. Maybe you have just done a difficult release, managed to solve a bug that has been driving your team mad or even just completing your work for the sprint on time.</p><p>If you just move on to the next task without patting yourself on the back it can feel like you aren’t accomplishing anything.</p><p>I recommend you write down your achievements. This is especially important when it comes to review time and you need to tell your boss why you should get a pay rise.</p><p>This is something that I am trying to do more. Push myself out of my comfort zone and get out there and share what I know.</p><p>Whether this is via blog, company talk, Instagram, Twitter or YouTube, sharing is an important part of giving back to the development community and helping aspiring engineers improve their skills.</p><p>I forget that I have been writing code for 25 years and end up thinking that I haven’t got anything worth sharing. However, not everyone is in the same place you are. Even if you are just starting out there is going to be someone who doesn’t know what you know and would benefit from your knowledge.</p><p>So don’t be afraid to get out there and start that blog that you have been putting off for years.</p><p>It is always nice to know that you have helped others and it can stop you from feeling like a fraud.</p><h3 id="h-be-humble" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Be Humble</h3><p>This is my motto for life and the number 1 advice I give to others, “Be Humble”. Once you realise that you do actually know more than other people it can be difficult to keep your ego in check (how do you get your head out of the door?).</p><p>So remind yourself to always be humble. Don’t look down on others that don’t know as much as you, as I can guarantee they know more than you about a different topic.</p><p>Don’t be afraid to ask questions, even if you think it will make you look stupid. Chances are that if you don’t know the answer there will be someone else who doesn’t either. It is always better to clarify something than assume.</p><blockquote><p>Never <strong>ASSUME</strong> as it will make an <strong>ASS</strong> out of <strong>U</strong> and <strong>ME</strong></p></blockquote><h2 id="h-final-thoughts" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Final Thoughts</h2><p>No matter how much you know, there is going to be plenty of things you are clueless about. Instead of getting down about it, take the opportunity to learn more and share your knowledge with others.</p><p>Hopefully, this post will be helpful for those going through something similar.</p>]]></content:encoded>
            <author>devfig@newsletter.paragraph.com (Alex Hyett)</author>
        </item>
        <item>
            <title><![CDATA[Ditch the Ads: The Future of Website Monetization]]></title>
            <link>https://paragraph.com/@devfig/ditch-the-ads-the-future-of-website-monetization</link>
            <guid>74ZjObAN5yCtPSOjjqhO</guid>
            <pubDate>Tue, 16 Nov 2021 10:58:29 GMT</pubDate>
            <description><![CDATA[Do you remember that scene in Ready Player One, when IOI are showing what the future of the Oasis will look like once they take over?“We have determined that we’ll be able to fill 80% of the user’s display with advertising before inducing seizures”Ready Player OneDisplay AdvertisingWe aren’t living our lives in virtual reality just yet but already it feels like adverts are taking over the web. Especially if you go on some of the big news websites it can be hard to distinguish the content from...]]></description>
            <content:encoded><![CDATA[<p>Do you remember that scene in Ready Player One, when IOI are showing what the future of the Oasis will look like once they take over?</p><blockquote><p>“We have determined that we’ll be able to fill 80% of the user’s display with advertising before inducing seizures”</p></blockquote><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/d01ac31281e83e660953028c13cbab6b9c4050685818d6cad52db0a727696e3f.gif" alt="Ready Player One" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">Ready Player One</figcaption></figure><h2 id="h-display-advertising" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Display Advertising</h2><p>We aren’t living our lives in virtual reality just yet but already it feels like adverts are taking over the web. Especially if you go on some of the big news websites it can be hard to distinguish the content from the adverts.</p><p>I recently experimented with using Google Adsense on this website and the results were surprising. Now, this isn’t a high traffic website. I currently only get around 250 - 300 page views a day. However, I was still able to “earn” on average £0.50 a day. This isn’t bad considering I haven’t written a post in 4 months and this is entirely passive income.</p><p>Over the month, this would have added up to around £15, which is more than enough to pay for this websites expenses. However, with a minimum Adsense payout of £60, it would have been 4 months until I was able to cash out.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/bdb8289dc44de967be47f41a1c8953235dccc831e81ede4ed5041f7f16c46fc8.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>I used the Auto Ads feature of Google Adsense and made sure I turned off the personalised ads and the obnoxious page filling ads. I also made sure to only include ads on blog post pages and turned the ad load down to half of the recommended setting.</p><p>This resulted in around 5 - 8 adverts per blog post mixed in amongst the content. If I was only interested in the money, then I could have left them on and in a few more months I would have got a paycheque from the big G.</p><p>However, I wasn’t comfortable not knowing exactly what adverts were being shown on my website and with the auto ads feature you have little control over where the ads appear.</p><p>Adverts have given website owners a lazy way of generating an income from their content but times are changing and more people are choosing to block adverts.</p><p>As a software developer with a tech-savvy readership, the chances of my readers choosing to block adverts is quite high. I even have a Pi-Hole set up in my house to block adverts on all my devices (I should really do a tutorial on this). So it seems a bit hypocritical to serve adverts on my website as well.</p><p>So what is the alternative? It turns out there are quite a few alternatives to make an income from your content without resorting to advertising.</p><h2 id="h-medium" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Medium</h2><p>As part of my blog post syndication, I also re-publish my blog posts on <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://alexhyett.medium.com/">Medium</a> with a canonical link back to my website. As you are probably aware, Medium has a paid membership service where you pay $5 a month which allows you to get access to all articles on Medium.</p><p>For publishers you get a portion of this membership, depending on how many people read your articles. It is similar to how authors earn revenue on course sites like Pluralsight.</p><p>My articles aren’t that popular on Medium. I think part of that is because since they are re-published rather than Medium exclusive articles. So not only are they less likely to be promoted by Medium, they are also less likely to rank in Google as the original article is on <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.alexhyett.com/">alexhyett.com</a>.</p><p>So far this year I have earned $0.40 (£0.30) from Medium. I won’t be cracking open the champagne just yet.</p><p>However, on Medium, I have only had 26 people read my content according to the Medium stats. So actually $0.015 per reading isn’t that bad. I will continue publishing on Medium and may even do some Medium exclusive posts if the content doesn’t quite match what I normally publish on this site.</p><h2 id="h-web-monetization" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Web Monetization</h2><p>With the rise of cryptocurrency coming into mainstream use, we now have other ways of transferring money from one person to another.</p><p>Including the ability to stream fractional amounts of money to the content creators you visit.</p><h3 id="h-metadata-tag-monetization" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Metadata tag monetization</h3><p>This has now made its way into the browser and is also being proposed as a W3C standard. You can read more about the standard at <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://webmonetization.org/">webmonetization.org</a>.</p><p>This is all done with a metadata tag on your website. This is what mine looks like:</p><pre data-type="codeBlock" text="&lt;meta name=&quot;monetization&quot; content=&quot;$ilp.uphold.com/3QmRGLJq4F9d&quot;&gt;
"><code><span class="hljs-operator">&#x3C;</span>meta name<span class="hljs-operator">=</span><span class="hljs-string">"monetization"</span> content<span class="hljs-operator">=</span><span class="hljs-string">"$ilp.uphold.com/3QmRGLJq4F9d"</span><span class="hljs-operator">></span>
</code></pre><p>You can get your own wallet address by signing up with an account with <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://uphold.com/en-gb">Uphold</a> or <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://gatehub.net/">Gatehub</a>. This will allow you to start receiving funds via the <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://interledger.org/">Interledger network</a>.</p><p>At the moment there is only one Web Monetization Provider called <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://coil.com/">Coil</a>. Coil is a bit like Medium, in that it costs $5 a month and that money is used to distribute funds to the websites you visit. You will need to install the Coil Extension in your browser to start supporting content creators.</p><p>Once the above has been added to your website you will start to receive micropayments from your readers who are signed up for Coil. You get $0.36 for every hour a visitor spends on your site. Payments are made using micropayments every second per visitor.</p><p>You can even link this to your <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://dev.to/settings/extensions">Dev.to</a> account and receive funds from your readers there too. You will find this option under Settings &gt; Extensions &gt; Web monetization.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/beca55f759436873c2c37b66a79f60a5ae95b7848b62891a76245eaf39562a56.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>If you sign up for Coil and download the extension you will see this when you are on a monetised website:</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/12dfba5a33577e31f3accbf598eb0ec1190acfc0cb2df88c7f9a096c79f2304b.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>You can actually see money streaming into your account in the Uphold app which is pretty cool. To be able to transfer the money to your account you need to have received at least £0.02 which isn’t hard.</p><p>It is also possible to make exclusive content for paying visitors which is something I will experiment with soon.</p><h3 id="h-paywall" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Paywall</h3><p>Talking of exclusive content. There are more and more websites that are locking all of their content behind a paywall. This is in response to dropping ad revenue.</p><p>Generally, this is being used by big established media outlets like The Times or The Guardian. However, there are smaller websites that are locking content behind membership sites. They have most of their content available for free but for additional help, exclusive information and access to a community a membership option is available.</p><p>If you are expecting people to pay monthly for access to your content you need to make sure you are committed to creating content on a regular basis.</p><h3 id="h-brave-browser" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Brave Browser</h3><p>The other option for streaming money is via the <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://brave.com/">Brave Browser</a>. This browser is based on Chrome but is security and privacy-focused and has better support for Web3 with cryptocurrency wallets built-in.</p><p>Brave will block ads and trackers for you while you visit websites. This does mean that sites that rely on adverts for their income won’t be getting any money from your visits. To counteract this Brave have come up with <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://brave.com/brave-rewards/">Brave Rewards</a>. With Brave Rewards turned on you will get the occasional notifications adverts that don’t track you or use your data.</p><p>Each time you view an advert you earn BAT tokens. These can then be converted to fiat currencies by you or you can use them to contribute to the websites you visit or you can even tip a website directly.</p><p>To become a creator and earn BAT from visitors to your site you will need to <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://creators.brave.com/sign-up">signup and verify</a> your website.</p><p>Once verified visitors will see this in the browser:</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/b7390461d9ecbca72ab58a71cc0cfa90f0f8d24c51dc18bb358250eb9b214fd7.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>Users then have the option to Send a Tip or add in a monthly contribution.</p><h2 id="h-donations" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Donations</h2><p>The other option you may have noticed on my website is my <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.buymeacoffee.com/alexhyett">Buy Me A Coffee</a> button. We don’t think twice about spending £3 - 4 on a coffee at Starbucks but we don’t even consider paying for content that we consume. A long blog post can take many hours to research and write and the chances are the blog owner won’t earn anything from that.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/34cf478191911b7033d0503f7c361c34c31474aecdd871633aee9314236e9a2f.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>If a blog post has helped you and is written by a single developer then sending that person a “coffee” can be a great way to support them.</p><p>Buy Me A Coffee is set up to send money directly to Stripe or Paypal which means there is no minimum payout, unlike ad networks.</p><p>I am very grateful to the few people that have already bought me a coffee as a thank you for the articles I have written.</p><h2 id="h-affiliate-links" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Affiliate Links</h2><p>The other way many website owners earn money is through affiliate links. Affiliates are people who promote another companies product and in return earn a commission.</p><p>The person clicking the link doesn’t pay any more but if they buy something, you will earn a commission from the sale. Lots of websites have affiliate programs you can sign up for. The commissions can vary from 4 - 25% and generally there will be a minimum payout before you can receive the funds.</p><p>As a software developer, I don’t talk about a lot of products. The software I use daily is free after all (Visual Studio Code). However, I do have affiliate links to the physical things that make up my <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.alexhyett.com/resources/gear/">home office</a>.</p><h2 id="h-product-sales" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Product Sales</h2><p>Finally, the last ad-free way of making money on your blog is to sell products. This could be eBooks, software, website templates or courses. Of course, a lot of effort goes into building out a product but it can be very profitable.</p><p>I have made some money in the past from website templates and desktop software and it can be a good little side hustle or even a full-time income.</p>]]></content:encoded>
            <author>devfig@newsletter.paragraph.com (Alex Hyett)</author>
        </item>
    </channel>
</rss>