It looks like this is a web page, not a feed. I looked for a feed associated with this page, but couldn't find one. Please enter the address of your feed to validate.

Source: http://peterkellner.net/feed/

  1. <!DOCTYPE html><html lang="en" class="false"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width"><link rel="icon" type="image/svg+xml" href="/favicon.svg"><link rel="canonical" href="https://peterkellner.net/404/"><meta name="generator" content="Astro v4.4.0"><!-- General Meta Tags --><title>404 Not Found | Peter Kellner&#39;s Blog</title><meta name="title" content="404 Not Found | Peter Kellner's Blog"><meta name="description" content="Problem solver author teacher"><meta name="author" content="Peter Kellner"><link rel="sitemap" href="/sitemap-index.xml"><!-- Open Graph / Facebook --><meta property="og:title" content="404 Not Found | Peter Kellner's Blog"><meta property="og:description" content="Problem solver author teacher"><meta property="og:url" content="https://peterkellner.net/404/"><meta property="og:image" content="https://peterkellner.net/peterkellnerlogo.png"><!-- Article Published/Modified time --><!-- Twitter --><meta property="twitter:card" content="summary_large_image"><meta property="twitter:url" content="https://peterkellner.net/404/"><meta property="twitter:title" content="404 Not Found | Peter Kellner's Blog"><meta property="twitter:description" content="Problem solver author teacher"><meta property="twitter:image" content="https://peterkellner.net/peterkellnerlogo.png"><!-- Google Font --><link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@0,400;0,500;0,600;0,700;1,400;1,600&display=swap" rel="stylesheet"><meta name="theme-color" content=""><meta name="astro-view-transitions-enabled" content="true"><meta name="astro-view-transitions-fallback" content="animate"><script src="/toggle-theme.js"></script><!-- Google tag (gtag.js) --><script async src="https://www.googletagmanager.com/gtag/js?id=UA-648264-1"></script><script>
  2.      window.dataLayer = window.dataLayer || [];
  3.      function gtag() {
  4.        dataLayer.push(arguments);
  5.      }
  6.      gtag("js", new Date());
  7.  
  8.      gtag("config", "UA-648264-1");
  9.    </script><script defer src="https://cdn.jsdelivr.net/npm/@alpinejs/collapse@3.x.x/dist/cdn.min.js"></script><link rel="stylesheet" href="/_astro/about.BQzwf6hM.css" />
  10. <style>#main-content:where(.astro-zetdm5md){margin-left:auto;margin-right:auto;display:flex;max-width:48rem;flex:1 1 0%;align-items:center;justify-content:center}.not-found-wrapper:where(.astro-zetdm5md){margin-bottom:3.5rem;display:flex;flex-direction:column;align-items:center;justify-content:center}.not-found-wrapper:where(.astro-zetdm5md) h1:where(.astro-zetdm5md){font-size:8rem;line-height:1;font-weight:700;--tw-text-opacity: 1;color:rgba(var(--color-accent),var(--tw-text-opacity))}.not-found-wrapper:where(.astro-zetdm5md) p:where(.astro-zetdm5md){margin-top:1rem;font-size:1.5rem;line-height:2rem}@media (min-width: 640px){.not-found-wrapper:where(.astro-zetdm5md) p:where(.astro-zetdm5md){font-size:1.875rem;line-height:2.25rem}}
  11. </style><script type="module" src="/_astro/hoisted.B2MTPbHz.js"></script>
  12. <script type="module" src="/_astro/page.DoUnMgOd.js"></script></head> <body>  <header class="astro-3ef6ksr2"> <a id="skip-to-content" href="#main-content" class="astro-3ef6ksr2">Skip to content</a> <div class="nav-container astro-3ef6ksr2"> <div class="top-nav-wrap astro-3ef6ksr2"> <a href="/" class="logo whitespace-nowrap astro-3ef6ksr2"> Peter Kellner&#39;s Blog </a> <nav id="nav-menu" class="astro-3ef6ksr2"> <button class="hamburger-menu focus-outline astro-3ef6ksr2" aria-label="Open Menu" aria-expanded="false" aria-controls="menu-items"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="menu-icon astro-3ef6ksr2"> <line x1="7" y1="12" x2="21" y2="12" class="line astro-3ef6ksr2"></line> <line x1="3" y1="6" x2="21" y2="6" class="line astro-3ef6ksr2"></line> <line x1="12" y1="18" x2="21" y2="18" class="line astro-3ef6ksr2"></line> <line x1="18" y1="6" x2="6" y2="18" class="close astro-3ef6ksr2"></line> <line x1="6" y1="6" x2="18" y2="18" class="close astro-3ef6ksr2"></line> </svg> </button> <ul id="menu-items" class="display-none sm:flex astro-3ef6ksr2"> <li class="astro-3ef6ksr2"> <a href="/posts/" class=" astro-3ef6ksr2">
  13. Posts
  14. </a> </li> <li class="astro-3ef6ksr2"> <a href="/courses/" class=" astro-3ef6ksr2">
  15. Courses
  16. </a> </li> <li class="astro-3ef6ksr2"> <a href="/contact/" class=" astro-3ef6ksr2">
  17. Contact
  18. </a> </li> <li class="astro-3ef6ksr2"> <a href="/about/" class=" astro-3ef6ksr2">
  19. About
  20. </a> </li> <li class="astro-3ef6ksr2"> <a href="/search/" class="group inline-block hover:text-skin-accent focus-outline p-3 sm:p-1  flex astro-3ef6ksr2" aria-label="search" title="Search"> <svg xmlns="http://www.w3.org/2000/svg" class="scale-125 sm:scale-100 astro-3ef6ksr2"><path d="M19.023 16.977a35.13 35.13 0 0 1-1.367-1.384c-.372-.378-.596-.653-.596-.653l-2.8-1.337A6.962 6.962 0 0 0 16 9c0-3.859-3.14-7-7-7S2 5.141 2 9s3.14 7 7 7c1.763 0 3.37-.66 4.603-1.739l1.337 2.8s.275.224.653.596c.387.363.896.854 1.384 1.367l1.358 1.392.604.646 2.121-2.121-.646-.604c-.379-.372-.885-.866-1.391-1.36zM9 14c-2.757 0-5-2.243-5-5s2.243-5 5-5 5 2.243 5 5-2.243 5-5 5z" class="astro-3ef6ksr2"></path> </svg> <span class="sr-only astro-3ef6ksr2">Search</span> </a> </li> <li class="astro-3ef6ksr2"> <button id="theme-btn" class="focus-outline astro-3ef6ksr2" title="Toggles light & dark" aria-label="auto" aria-live="polite"> <svg xmlns="http://www.w3.org/2000/svg" id="moon-svg" class="astro-3ef6ksr2"> <path d="M20.742 13.045a8.088 8.088 0 0 1-2.077.271c-2.135 0-4.14-.83-5.646-2.336a8.025 8.025 0 0 1-2.064-7.723A1 1 0 0 0 9.73 2.034a10.014 10.014 0 0 0-4.489 2.582c-3.898 3.898-3.898 10.243 0 14.143a9.937 9.937 0 0 0 7.072 2.93 9.93 9.93 0 0 0 7.07-2.929 10.007 10.007 0 0 0 2.583-4.491 1.001 1.001 0 0 0-1.224-1.224zm-2.772 4.301a7.947 7.947 0 0 1-5.656 2.343 7.953 7.953 0 0 1-5.658-2.344c-3.118-3.119-3.118-8.195 0-11.314a7.923 7.923 0 0 1 2.06-1.483 10.027 10.027 0 0 0 2.89 7.848 9.972 9.972 0 0 0 7.848 2.891 8.036 8.036 0 0 1-1.484 2.059z" class="astro-3ef6ksr2"></path> </svg> <svg xmlns="http://www.w3.org/2000/svg" id="sun-svg" class="astro-3ef6ksr2"> <path d="M6.993 12c0 2.761 2.246 5.007 5.007 5.007s5.007-2.246 5.007-5.007S14.761 6.993 12 6.993 6.993 9.239 6.993 12zM12 8.993c1.658 0 3.007 1.349 3.007 3.007S13.658 15.007 12 15.007 8.993 13.658 8.993 12 10.342 8.993 12 8.993zM10.998 19h2v3h-2zm0-17h2v3h-2zm-9 9h3v2h-3zm17 0h3v2h-3zM4.219 18.363l2.12-2.122 1.415 1.414-2.12 2.122zM16.24 6.344l2.122-2.122 1.414 1.414-2.122 2.122zM6.342 7.759 4.22 5.637l1.415-1.414 2.12 2.122zm13.434 10.605-1.414 1.414-2.122-2.122 1.414-1.414z" class="astro-3ef6ksr2"></path> </svg> </button> </li> </ul> </nav> </div> </div> <div class="max-w-3xl mx-auto px-4"> <hr class="border-skin-line" aria-hidden="true"> </div> </header>   <main id="main-content" class="astro-zetdm5md"> <div class="not-found-wrapper astro-zetdm5md"> <h1 aria-label="404 Not Found" class="astro-zetdm5md">404</h1> <span aria-hidden="true" class="astro-zetdm5md">¯\_(ツ)_/¯</span> <p class="astro-zetdm5md">Page Not Found</p> <a href="/" class="group inline-block hover:text-skin-accent my-6 text-lg underline decoration-dashed underline-offset-8 astro-zetdm5md">
  21. Go back home
  22. </a> </div> </main> <footer class="mt-auto astro-sz7xmlte"> <div class="max-w-3xl mx-auto px-0"> <hr class="border-skin-line" aria-hidden="true"> </div> <div class="footer-wrapper astro-sz7xmlte"> <div class="social-icons flex astro-upu6fzxr"> <a href="https://github.com/pkellner" class="group inline-block hover:text-skin-accent link-button astro-upu6fzxr" title=" Peter Kellner's Blog on Github"> <svg
  23.    xmlns="http://www.w3.org/2000/svg"
  24.    class="icon-tabler"
  25.    stroke-linecap="round"
  26.    stroke-linejoin="round"
  27.  >
  28.    <path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
  29.    <path
  30.      d="M9 19c-4.3 1.4 -4.3 -2.5 -6 -3m12 5v-3.5c0 -1 .1 -1.4 -.5 -2c2.8 -.3 5.5 -1.4 5.5 -6a4.6 4.6 0 0 0 -1.3 -3.2a4.2 4.2 0 0 0 -.1 -3.2s-1.1 -.3 -3.5 1.3a12.3 12.3 0 0 0 -6.2 0c-2.4 -1.6 -3.5 -1.3 -3.5 -1.3a4.2 4.2 0 0 0 -.1 3.2a4.6 4.6 0 0 0 -1.3 3.2c0 4.6 2.7 5.7 5.5 6c-.6 .6 -.6 1.2 -.5 2v3.5"
  31.    ></path>
  32.  </svg> <span class="sr-only astro-upu6fzxr"> Peter Kellner&#39;s Blog on Github</span> </a><a href="https://www.linkedin.com/in/peterkellner99/" class="group inline-block hover:text-skin-accent link-button astro-upu6fzxr" title="Peter Kellner's Blog on LinkedIn"> <svg
  33.    xmlns="http://www.w3.org/2000/svg"
  34.    class="icon-tabler"
  35.    stroke-linecap="round"
  36.    stroke-linejoin="round"
  37.  >
  38.    <path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
  39.    <rect x="4" y="4" width="16" height="16" rx="2"></rect>
  40.    <line x1="8" y1="11" x2="8" y2="16"></line>
  41.    <line x1="8" y1="8" x2="8" y2="8.01"></line>
  42.    <line x1="12" y1="16" x2="12" y2="11"></line>
  43.    <path d="M16 16v-3a2 2 0 0 0 -4 0"></path>
  44.  </svg> <span class="sr-only astro-upu6fzxr">Peter Kellner&#39;s Blog on LinkedIn</span> </a><a href="mailto:peterkellnerblog@svcc.zendesk.com" class="group inline-block hover:text-skin-accent link-button astro-upu6fzxr" title="Send an email to Peter Kellner's Blog"> <svg
  45.      xmlns="http://www.w3.org/2000/svg"
  46.      class="icon-tabler"
  47.      stroke-linecap="round"
  48.      stroke-linejoin="round"
  49.    >
  50.      <path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
  51.      <rect x="3" y="5" width="18" height="14" rx="2"></rect>
  52.      <polyline points="3 7 12 13 21 7"></polyline>
  53.    </svg> <span class="sr-only astro-upu6fzxr">Send an email to Peter Kellner&#39;s Blog</span> </a><a href="https://x.com/pkellner" class="group inline-block hover:text-skin-accent link-button astro-upu6fzxr" title="Peter Kellner's Blog on Twitter"> <svg
  54.      xmlns="http://www.w3.org/2000/svg"
  55.      class="icon-tabler"
  56.      stroke-linecap="round"
  57.      stroke-linejoin="round"
  58.    >
  59.      <path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
  60.      <path d="M22 4.01c-1 .49 -1.98 .689 -3 .99c-1.121 -1.265 -2.783 -1.335 -4.38 -.737s-2.643 2.06 -2.62 3.737v1c-3.245 .083 -6.135 -1.395 -8 -4c0 0 -4.182 7.433 4 11c-1.872 1.247 -3.739 2.088 -6 2c3.308 1.803 6.913 2.423 10.034 1.517c3.58 -1.04 6.522 -3.723 7.651 -7.742a13.84 13.84 0 0 0 .497 -3.753c-.002 -.249 1.51 -2.772 1.818 -4.013z"></path>
  61.    </svg> <span class="sr-only astro-upu6fzxr">Peter Kellner&#39;s Blog on Twitter</span> </a><a href="https://www.youtube.com/@SiliconValleyCodeCampVideos" class="group inline-block hover:text-skin-accent link-button astro-upu6fzxr" title="Peter Kellner's Blog on YouTube"> <svg
  62.      xmlns="http://www.w3.org/2000/svg"
  63.      class="icon-tabler"
  64.      stroke-linecap="round"
  65.      stroke-linejoin="round"
  66.    >
  67.      <path d="M22.54 6.42a2.78 2.78 0 0 0-1.94-2C18.88 4 12 4 12 4s-6.88 0-8.6.46a2.78 2.78 0 0 0-1.94 2A29 29 0 0 0 1 11.75a29 29 0 0 0 .46 5.33A2.78 2.78 0 0 0 3.4 19c1.72.46 8.6.46 8.6.46s6.88 0 8.6-.46a2.78 2.78 0 0 0 1.94-2 29 29 0 0 0 .46-5.25 29 29 0 0 0-.46-5.33z"></path>
  68.      <polygon points="9.75 15.02 15.5 11.75 9.75 8.48 9.75 15.02"></polygon>
  69.    </svg> <span class="sr-only astro-upu6fzxr">Peter Kellner&#39;s Blog on YouTube</span> </a><a href="https://techhub.social/@pkellner" class="group inline-block hover:text-skin-accent link-button astro-upu6fzxr" title="Peter Kellner's Blog on Mastodon"> <svg class="icon-tabler" viewBox="-10 -5 1034 1034" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1">
  70.    <path fill="currentColor"
  71.  d="M499 112q-93 1 -166 11q-81 11 -128 33l-14 8q-16 10 -32 25q-22 21 -38 47q-21 33 -32 73q-14 47 -14 103v37q0 77 1 119q3 113 18 188q19 95 62 154q50 67 134 89q109 29 210 24q46 -3 88 -12q30 -7 55 -17l19 -8l-4 -75l-22 6q-28 6 -57 10q-41 6 -78 4q-53 -1 -80 -7
  72.  q-43 -8 -67 -30q-29 -25 -35 -72q-2 -14 -2 -29l25 6q31 6 65 10q48 7 93 9q42 2 92 -2q32 -2 88 -9t107 -30q49 -23 81.5 -54.5t38.5 -63.5q9 -45 13 -109q4 -46 5 -97v-41q0 -56 -14 -103q-11 -40 -32 -73q-16 -26 -38 -47q-15 -15 -32 -25q-12 -8 -14 -8
  73.  q-46 -22 -127 -33q-74 -10 -166 -11h-3zM367 267q73 0 109 56l24 39l24 -39q36 -56 109 -56q63 0 101 43t38 117v239h-95v-232q0 -74 -61 -74q-69 0 -69 88v127h-94v-127q0 -88 -69 -88q-61 0 -61 74v232h-95v-239q0 -74 38 -117t101 -43z" />
  74.  </svg> <span class="sr-only astro-upu6fzxr">Peter Kellner&#39;s Blog on Mastodon</span> </a> </div>  <div class="copyright-wrapper astro-sz7xmlte"> <span class="astro-sz7xmlte">Copyright &#169; 2024</span> <span class="separator astro-sz7xmlte">&nbsp;|&nbsp;</span> <span class="astro-sz7xmlte">All rights reserved.</span> </div> </div> </footer>   </body></html>
Copyright © 2002-9 Sam Ruby, Mark Pilgrim, Joseph Walton, and Phil Ringnalda