{"name":"Stephen AfamO's Blog","short_name":"Stephen AfamO's Blog","icons":[{"src":"https://cdn.swish.ink/a9af59c2-0fdb-4a2a-9a9f-719eeb17b3b0/branding/favicon-192.png?last_modified=1751583379","sizes":"192x192","type":"image/png"},{"src":"https://cdn.swish.ink/a9af59c2-0fdb-4a2a-9a9f-719eeb17b3b0/branding/favicon-256.png?last_modified=1751583379","sizes":"256x256","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone","start_url":"https://stephenafamo.com/blog"}
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <link rel="pgpkey" href="https://stephenafamo.com/blog/public-key.txt">

    <link type="image/png" sizes="32x32" href="https://cdn.swish.ink/a9af59c2-0fdb-4a2a-9a9f-719eeb17b3b0/branding/favicon-32.png?last_modified=1751583379" rel="icon">
    <link type="image/png" sizes="128x128" href="https://cdn.swish.ink/a9af59c2-0fdb-4a2a-9a9f-719eeb17b3b0/branding/favicon-128.png?last_modified=1751583379" rel="icon">
    <link type="image/png" sizes="196x196" href="https://cdn.swish.ink/a9af59c2-0fdb-4a2a-9a9f-719eeb17b3b0/branding/favicon-196.png?last_modified=1751583379" rel="shortcut icon">
    <link type="image/png" sizes="180x180" href="https://cdn.swish.ink/a9af59c2-0fdb-4a2a-9a9f-719eeb17b3b0/branding/favicon-180.png?last_modified=1751583379" rel="apple-touch-icon">

    <link rel="manifest" href="https://stephenafamo.com/blog/site.webmanifest">
    <meta name="theme-color" content="#9c0000">
    <meta name="msapplication-TileColor" content="#ffffff">

    

    

    

    
    <style>
      :where(body, iframe, pre, img, svg, video, canvas, select) {
        max-width: 100%;
        overflow: auto;
        word-break: break-word;
      }
    </style>

    <link rel="alternate" type="application/rss+xml" title="RSS feed | Stephen AfamO&#39;s Blog"  href="https://stephenafamo.com/blog/feed.xml"/>

    <style>
:root {
  --light-primary-color: 156, 0, 0;
  --light-primary-color-hex: #9c0000;
  --light-background-color: 255, 253, 249;
  --light-background-color-hex: #FFFDF9;
  --heading-font-family: 'Poppins', var(--font-family-sans);
  --body-font-family: 'Work Sans', var(--font-family-sans);
  --mono-font-family: JetBrains Mono, var(--font-family-mono);
}
</style>

<link rel="stylesheet" href="https://stephenafamo.com/blog/assets/css/main.css?theme=medium&amp;time=1751583435">

    
  </head>
  <body class="">

    <div class="antialiased flex flex-col justify-between min-h-screen">

  <div class="text-medium-black">
    <div id="navbar" class="grid sm:flex items-center sm:justify-between text-sm text-medium-gray sm:border-b border-medium-ash">
      <div id="logo-and-search" class="px-6 py-2 flex flex-none grow sm:grow-0 items-center justify-between sm:justify-start border-b sm:border-0 border-medium-ash">
        <a href="https://stephenafamo.com/blog" class="flex-none text-lg font-bold text-gray-900">
          <img width="196" height="196" class="inline-block w-auto h-12 mr-2" src="https://cdn.swish.ink/a9af59c2-0fdb-4a2a-9a9f-719eeb17b3b0/branding/favicon-196.png?last_modified=1751583379" alt="Stephen AfamO&#39;s Blog logo">
        </a>
        <form method="GET" action="https://stephenafamo.com/blog/posts/search" class="flex items-center rounded-full bg-medium-bg pl-3 focus-within:ring-1 focus-within:ring-light-primary focus-within:border-light-primary">
          <button type="submit">
<svg width="24" height="24" viewBox="0 0 24 24" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M4.1 11.06a6.95 6.95 0 1 1 13.9 0 6.95 6.95 0 0 1-13.9 0zm6.94-8.05a8.05 8.05 0 1 0 5.13 14.26l3.75 3.75a.56.56 0 1 0 .8-.79l-3.74-3.73A8.05 8.05 0 0 0 11.04 3v.01z" fill="currentColor"></path></svg>
</button>
          <input type="text" name="q" id="query" placeholder="Search this blog" class="py-2.5 pr-5 w-full border-none bg-medium-bg rounded-full text-medium-black text-sm focus:ring-0 focus:border-0" value="" required/>
        </form>
      </div>
      <span class="order-first sm:order-none flex flex-initial justify-end px-6 text-xs sm:text-sm border-b sm:border-0 border-medium-ash">
        
          <a href="https://stephenafamo.com"  rel="noopener" class="my-2 mr-2 text-medium-gray hover:text-medium-black transition duration-150 ease-in-out [&:not(:any-link)]:text-medium-black">
            Homepage
          </a>
        
          <a href="https://twitter.com/stephenafamo" target="_blank" rel="noopener" class="my-2 mr-2 text-medium-gray hover:text-medium-black transition duration-150 ease-in-out [&:not(:any-link)]:text-medium-black">
            Twitter
          </a>
        
      </span>
    </div>

    
  <div class="flex justify-center">
    <div class="mx-6 w-full max-w-[680px]">
      <h1 class="my-10 text-2xl sm:text-[2.625rem] font-bold">
        404: Not Found
      </h1>
    </div>
  </div>

  </div>

  
    <div class="w-full py-6 text-center text-sm text-medium-gray">
      Powered By <a href="https://swish.ink" class="font-bold powered-by">Swish</a>
    </div>
  

</div>

<script type="text/javascript" src="https://stephenafamo.com/blog/assets/js/main.js?theme=medium&amp;time=1751583435"></script>


    <script async defer data-api-url="https://app.swish.ink/" data-hostname="a9af59c2-0fdb-4a2a-9a9f-719eeb17b3b0.i.swish.ink" data-collect-dnt="true" src="https://app.swish.ink/assets/js/latest.js"></script>
<noscript><img src="https://app.swish.ink/simple.gif?collect-dnt=true&hostname=a9af59c2-0fdb-4a2a-9a9f-719eeb17b3b0.i.swish.ink" alt="" referrerpolicy="no-referrer-when-downgrade"/></noscript>


    <script>
      var eTag
      
      window.getEtag = function(callback) {
        if (eTag) {
          console.log('cached eTag', eTag)
          callback(eTag)
          return
        }

        fetch('https:\/\/stephenafamo.com\/blog/etag', {
          method: 'GET',
        }).then(function (response) {
          eTag = response.headers.get('ETag')
          callback(eTag)
        }.bind(this)).catch(function(err) {
          console.log('Fetch Error :-S', err);
        })
      }

      function addStylesheetURL(url) {
        var link = document.createElement('link');
        link.rel = 'stylesheet';
        link.href = url;
        document.getElementsByTagName('head')[0].appendChild(link);
      }

      addStylesheetURL('https:\/\/fonts.swish.ink/css2?family=Poppins:ital,wght@0,400;0,700;1,400;1,700&display=swap');
      addStylesheetURL('https:\/\/fonts.swish.ink/css2?family=Work Sans:ital,wght@0,400;0,700;1,400;1,700&display=swap');

      
        addStylesheetURL('https:\/\/fonts.swish.ink/css2?family=JetBrains Mono:ital,wght@0,400;0,700;1,400;1,700&display=swap');
      
    </script>

    

    
  </body>

</html>