CloudFront
tcp/80
Open service 2600:9000:2096:4400:1d:e1bc:c480:93a1:80 · onerdy.com
2026-01-12 13:23
HTTP/1.1 301 Moved Permanently Server: CloudFront Date: Mon, 12 Jan 2026 13:23:46 GMT Content-Type: text/html Content-Length: 167 Connection: close Location: https://onerdy.com/ X-Cache: Redirect from cloudfront Via: 1.1 23e907ff6b79ce55a7f547e682506202.cloudfront.net (CloudFront) X-Amz-Cf-Pop: FRA60-P14 Alt-Svc: h3=":443"; ma=86400 X-Amz-Cf-Id: 3o2PCiWJSwzhl1jpqaEFhViA1GZBXb6VHJnyja7EipN4CL_wcqkZvQ== Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>CloudFront</center> </body> </html>
Open service 2600:9000:2096:b200:1d:e1bc:c480:93a1:80 · onerdy.com
2026-01-12 13:23
HTTP/1.1 301 Moved Permanently Server: CloudFront Date: Mon, 12 Jan 2026 13:23:46 GMT Content-Type: text/html Content-Length: 167 Connection: close Location: https://onerdy.com/ X-Cache: Redirect from cloudfront Via: 1.1 0f2cc30066f82a3492113a7d3ebae254.cloudfront.net (CloudFront) X-Amz-Cf-Pop: FRA60-P14 Alt-Svc: h3=":443"; ma=86400 X-Amz-Cf-Id: sKI3XYhAfIzqlJAP9j6qPaEM4WnRAoR3n-VOImZEN2rMVE8hPALZDw== Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>CloudFront</center> </body> </html>
Open service 2600:9000:2096:b200:1d:e1bc:c480:93a1:443 · onerdy.com
2026-01-12 13:23
HTTP/1.1 200 OK Content-Type: text/html; charset=utf-8 Content-Length: 8699 Connection: close Date: Mon, 12 Jan 2026 13:23:47 GMT x-powered-by: Next.js ETag: "15yj99pi4u06pn" Vary: Accept-Encoding X-Cache: Miss from cloudfront Via: 1.1 3fe1b65a21db2155ab695e76b3fc80ca.cloudfront.net (CloudFront) X-Amz-Cf-Pop: FRA60-P14 Alt-Svc: h3=":443"; ma=86400 X-Amz-Cf-Id: YxPSq4KMT1CO__TOWVhjq4oDS-N82lxb31HNfKKW6XrmxpiPG9mgvw== Page title: onerdy.com | home <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><link rel="apple-touch-icon" sizes="180x180" href="/favicon/apple-touch-icon.png"/><link rel="icon" type="image/png" sizes="32x32" href="/favicon/favicon-32x32.png"/><link rel="icon" type="image/png" sizes="16x16" href="/favicon/favicon-16x16.png"/><link rel="manifest" href="/favicon/site.webmanifest"/><link rel="mask-icon" href="/favicon/safari-pinned-tab.svg" color="#000000"/><link rel="shortcut icon" href="/favicon/favicon.ico"/><meta name="msapplication-TileColor" content="#000000"/><meta name="msapplication-config" content="/favicon/browserconfig.xml"/><meta name="theme-color" content="#000"/><link rel="alternate" type="application/rss+xml" href="/feed.xml"/><meta name="onerdy.com" content="The personal website for Rodney Mort."/><meta property="og:image" content="/assets/img/logo.svg"/><title>onerdy.com | home</title><meta name="next-head-count" content="15"/><link rel="preload" href="/_next/static/css/0d2388f7d443c3df.css" as="style"/><link rel="stylesheet" href="/_next/static/css/0d2388f7d443c3df.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"></script><script src="/_next/static/chunks/webpack-8fa1640cc84ba8fe.js" defer=""></script><script src="/_next/static/chunks/framework-2c79e2a64abdb08b.js" defer=""></script><script src="/_next/static/chunks/main-d1728c3a778f1232.js" defer=""></script><script src="/_next/static/chunks/pages/_app-0e6bc8fd3233945b.js" defer=""></script><script src="/_next/static/chunks/pages/index-3c43b2d3fbeafad5.js" defer=""></script><script src="/_next/static/jdnR_swwSaPdwlbahtZ4C/_buildManifest.js" defer=""></script><script src="/_next/static/jdnR_swwSaPdwlbahtZ4C/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div class="min-h-screen overflow-auto font-comfortaa bg-[url('/img/bg.svg')] bg-[length:1920px_1200px] bg-fixed bg-gray-800 flex flex-col items-center"><div class="fixed w-full h-20 p-0 m-0 bg-black bg-opacity-60 flex sm:flex-col items-center border-b-4 border-secondary"><div class="fixed h-20 p-1 w-full sm:w-[478px] flex sm:flex-col justify-between items-center text-white text-xl"><div class="flex items-center "><a href="/"><img src="/img/logo.svg" class="ml-2 mr-4 hover:animate-wiggle" alt="Logo" width="50" height="50"/></a><a class="no-underline text-white text-4xl hover:text-white" href="/">onerdy.com</a></div><div class="w-[480px] bg-gray-600 h-8 px-2 items-center justify-between hidden sm:flex sm:mt-2 sm:rounded-3xl"><div class="flex items-center"><a class="px-2 font-bold text-white no-underline hover:text-white" href="/">home</a><a class="px-2 text-white no-underline hover:text-white hover:underline hover:decoration-secondary" href="/blog">blog</a><a class="px-2 text-white no-underline hover:text-white hover:underline hover:decoration-secondary" href="/projects">projects</a></div><div class="flex items-center"><a class="px-2 text-white hover:text-secondary" rel="noopener noreferrer" target="_blank" href="https://github.com/onerdy"><svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" fill="currentColor" viewBox="0 0 24 24"><path d="M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z"></path></svg></a><a class="px-2 text-white hover:text-secondary" rel="noopener noreferrer" target="_blank" href="htt
Open service 2600:9000:2096:6e00:1d:e1bc:c480:93a1:80 · onerdy.com
2026-01-12 13:23
HTTP/1.1 301 Moved Permanently Server: CloudFront Date: Mon, 12 Jan 2026 13:23:46 GMT Content-Type: text/html Content-Length: 167 Connection: close Location: https://onerdy.com/ X-Cache: Redirect from cloudfront Via: 1.1 adbe45cb4997e6da65586fdd3a19215e.cloudfront.net (CloudFront) X-Amz-Cf-Pop: FRA60-P14 Alt-Svc: h3=":443"; ma=86400 X-Amz-Cf-Id: GtVAZ3T9yjSt5bNyLuPs2h40E9Us8GYk9PWX6gKeH-giHR7rk7aEiQ== Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>CloudFront</center> </body> </html>
Open service 65.9.175.25:80 · onerdy.com
2026-01-12 13:23
HTTP/1.1 301 Moved Permanently Server: CloudFront Date: Mon, 12 Jan 2026 13:23:46 GMT Content-Type: text/html Content-Length: 167 Connection: close Location: https://onerdy.com/ X-Cache: Redirect from cloudfront Via: 1.1 2e1545751358065284c508c87f8e3d4c.cloudfront.net (CloudFront) X-Amz-Cf-Pop: FRA60-P14 Alt-Svc: h3=":443"; ma=86400 X-Amz-Cf-Id: fiEYsgFVYaPNClHDr_i9wUNmJ5El2ncxFcOOv0Nwj31PJq6FREi_JQ== Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>CloudFront</center> </body> </html>
Open service 2600:9000:2096:3e00:1d:e1bc:c480:93a1:443 · onerdy.com
2026-01-12 13:23
HTTP/1.1 200 OK Content-Type: text/html; charset=utf-8 Content-Length: 8699 Connection: close Date: Mon, 12 Jan 2026 13:23:46 GMT x-powered-by: Next.js ETag: "15yj99pi4u06pn" Vary: Accept-Encoding X-Cache: Miss from cloudfront Via: 1.1 c20b1585cc14f7313af71d342a8c81a4.cloudfront.net (CloudFront) X-Amz-Cf-Pop: FRA60-P14 Alt-Svc: h3=":443"; ma=86400 X-Amz-Cf-Id: tLCEQtV0-8RMF-rmgopCMkiFrYDjaA5theJNLrkgwYvpAx-rVXPR6w== Page title: onerdy.com | home <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><link rel="apple-touch-icon" sizes="180x180" href="/favicon/apple-touch-icon.png"/><link rel="icon" type="image/png" sizes="32x32" href="/favicon/favicon-32x32.png"/><link rel="icon" type="image/png" sizes="16x16" href="/favicon/favicon-16x16.png"/><link rel="manifest" href="/favicon/site.webmanifest"/><link rel="mask-icon" href="/favicon/safari-pinned-tab.svg" color="#000000"/><link rel="shortcut icon" href="/favicon/favicon.ico"/><meta name="msapplication-TileColor" content="#000000"/><meta name="msapplication-config" content="/favicon/browserconfig.xml"/><meta name="theme-color" content="#000"/><link rel="alternate" type="application/rss+xml" href="/feed.xml"/><meta name="onerdy.com" content="The personal website for Rodney Mort."/><meta property="og:image" content="/assets/img/logo.svg"/><title>onerdy.com | home</title><meta name="next-head-count" content="15"/><link rel="preload" href="/_next/static/css/0d2388f7d443c3df.css" as="style"/><link rel="stylesheet" href="/_next/static/css/0d2388f7d443c3df.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"></script><script src="/_next/static/chunks/webpack-8fa1640cc84ba8fe.js" defer=""></script><script src="/_next/static/chunks/framework-2c79e2a64abdb08b.js" defer=""></script><script src="/_next/static/chunks/main-d1728c3a778f1232.js" defer=""></script><script src="/_next/static/chunks/pages/_app-0e6bc8fd3233945b.js" defer=""></script><script src="/_next/static/chunks/pages/index-3c43b2d3fbeafad5.js" defer=""></script><script src="/_next/static/jdnR_swwSaPdwlbahtZ4C/_buildManifest.js" defer=""></script><script src="/_next/static/jdnR_swwSaPdwlbahtZ4C/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div class="min-h-screen overflow-auto font-comfortaa bg-[url('/img/bg.svg')] bg-[length:1920px_1200px] bg-fixed bg-gray-800 flex flex-col items-center"><div class="fixed w-full h-20 p-0 m-0 bg-black bg-opacity-60 flex sm:flex-col items-center border-b-4 border-secondary"><div class="fixed h-20 p-1 w-full sm:w-[478px] flex sm:flex-col justify-between items-center text-white text-xl"><div class="flex items-center "><a href="/"><img src="/img/logo.svg" class="ml-2 mr-4 hover:animate-wiggle" alt="Logo" width="50" height="50"/></a><a class="no-underline text-white text-4xl hover:text-white" href="/">onerdy.com</a></div><div class="w-[480px] bg-gray-600 h-8 px-2 items-center justify-between hidden sm:flex sm:mt-2 sm:rounded-3xl"><div class="flex items-center"><a class="px-2 font-bold text-white no-underline hover:text-white" href="/">home</a><a class="px-2 text-white no-underline hover:text-white hover:underline hover:decoration-secondary" href="/blog">blog</a><a class="px-2 text-white no-underline hover:text-white hover:underline hover:decoration-secondary" href="/projects">projects</a></div><div class="flex items-center"><a class="px-2 text-white hover:text-secondary" rel="noopener noreferrer" target="_blank" href="https://github.com/onerdy"><svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" fill="currentColor" viewBox="0 0 24 24"><path d="M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z"></path></svg></a><a class="px-2 text-white hover:text-secondary" rel="noopener noreferrer" target="_blank" href="htt
Open service 2600:9000:2096:8600:1d:e1bc:c480:93a1:443 · onerdy.com
2026-01-12 13:23
HTTP/1.1 200 OK Content-Type: text/html; charset=utf-8 Content-Length: 8699 Connection: close Date: Mon, 12 Jan 2026 13:23:48 GMT x-powered-by: Next.js ETag: "15yj99pi4u06pn" Vary: Accept-Encoding X-Cache: Miss from cloudfront Via: 1.1 b608ed0f3426ba08cff51718fbecc028.cloudfront.net (CloudFront) X-Amz-Cf-Pop: FRA60-P14 Alt-Svc: h3=":443"; ma=86400 X-Amz-Cf-Id: BmmjeSpTdxdJiywzGzVlFF4vmY1fa47ub5DPELIFYSk1QvuZmHvJ_A== Page title: onerdy.com | home <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><link rel="apple-touch-icon" sizes="180x180" href="/favicon/apple-touch-icon.png"/><link rel="icon" type="image/png" sizes="32x32" href="/favicon/favicon-32x32.png"/><link rel="icon" type="image/png" sizes="16x16" href="/favicon/favicon-16x16.png"/><link rel="manifest" href="/favicon/site.webmanifest"/><link rel="mask-icon" href="/favicon/safari-pinned-tab.svg" color="#000000"/><link rel="shortcut icon" href="/favicon/favicon.ico"/><meta name="msapplication-TileColor" content="#000000"/><meta name="msapplication-config" content="/favicon/browserconfig.xml"/><meta name="theme-color" content="#000"/><link rel="alternate" type="application/rss+xml" href="/feed.xml"/><meta name="onerdy.com" content="The personal website for Rodney Mort."/><meta property="og:image" content="/assets/img/logo.svg"/><title>onerdy.com | home</title><meta name="next-head-count" content="15"/><link rel="preload" href="/_next/static/css/0d2388f7d443c3df.css" as="style"/><link rel="stylesheet" href="/_next/static/css/0d2388f7d443c3df.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"></script><script src="/_next/static/chunks/webpack-8fa1640cc84ba8fe.js" defer=""></script><script src="/_next/static/chunks/framework-2c79e2a64abdb08b.js" defer=""></script><script src="/_next/static/chunks/main-d1728c3a778f1232.js" defer=""></script><script src="/_next/static/chunks/pages/_app-0e6bc8fd3233945b.js" defer=""></script><script src="/_next/static/chunks/pages/index-3c43b2d3fbeafad5.js" defer=""></script><script src="/_next/static/jdnR_swwSaPdwlbahtZ4C/_buildManifest.js" defer=""></script><script src="/_next/static/jdnR_swwSaPdwlbahtZ4C/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div class="min-h-screen overflow-auto font-comfortaa bg-[url('/img/bg.svg')] bg-[length:1920px_1200px] bg-fixed bg-gray-800 flex flex-col items-center"><div class="fixed w-full h-20 p-0 m-0 bg-black bg-opacity-60 flex sm:flex-col items-center border-b-4 border-secondary"><div class="fixed h-20 p-1 w-full sm:w-[478px] flex sm:flex-col justify-between items-center text-white text-xl"><div class="flex items-center "><a href="/"><img src="/img/logo.svg" class="ml-2 mr-4 hover:animate-wiggle" alt="Logo" width="50" height="50"/></a><a class="no-underline text-white text-4xl hover:text-white" href="/">onerdy.com</a></div><div class="w-[480px] bg-gray-600 h-8 px-2 items-center justify-between hidden sm:flex sm:mt-2 sm:rounded-3xl"><div class="flex items-center"><a class="px-2 font-bold text-white no-underline hover:text-white" href="/">home</a><a class="px-2 text-white no-underline hover:text-white hover:underline hover:decoration-secondary" href="/blog">blog</a><a class="px-2 text-white no-underline hover:text-white hover:underline hover:decoration-secondary" href="/projects">projects</a></div><div class="flex items-center"><a class="px-2 text-white hover:text-secondary" rel="noopener noreferrer" target="_blank" href="https://github.com/onerdy"><svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" fill="currentColor" viewBox="0 0 24 24"><path d="M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z"></path></svg></a><a class="px-2 text-white hover:text-secondary" rel="noopener noreferrer" target="_blank" href="htt
Open service 2600:9000:2096:de00:1d:e1bc:c480:93a1:80 · onerdy.com
2026-01-12 13:23
HTTP/1.1 301 Moved Permanently Server: CloudFront Date: Mon, 12 Jan 2026 13:23:46 GMT Content-Type: text/html Content-Length: 167 Connection: close Location: https://onerdy.com/ X-Cache: Redirect from cloudfront Via: 1.1 46f339c21ed78b531c3c65cde3e4ddfe.cloudfront.net (CloudFront) X-Amz-Cf-Pop: FRA60-P14 Alt-Svc: h3=":443"; ma=86400 X-Amz-Cf-Id: RYo2ZHk86VK7M4Qyc0RAupHGP0ws9dmJReA5EQa5X5fEwXhcvw1c5A== Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>CloudFront</center> </body> </html>
Open service 2600:9000:2096:200:1d:e1bc:c480:93a1:443 · onerdy.com
2026-01-12 13:23
HTTP/1.1 200 OK Content-Type: text/html; charset=utf-8 Content-Length: 8699 Connection: close Date: Mon, 12 Jan 2026 13:23:46 GMT x-powered-by: Next.js ETag: "15yj99pi4u06pn" Vary: Accept-Encoding X-Cache: Miss from cloudfront Via: 1.1 909271198a8193608c0cc833172af082.cloudfront.net (CloudFront) X-Amz-Cf-Pop: FRA60-P14 Alt-Svc: h3=":443"; ma=86400 X-Amz-Cf-Id: xvOGLQK2MaQ8kpqQsUV7IJva9XsPeDSHMB4I6s5_i46Sz2klaKD1UA== Page title: onerdy.com | home <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><link rel="apple-touch-icon" sizes="180x180" href="/favicon/apple-touch-icon.png"/><link rel="icon" type="image/png" sizes="32x32" href="/favicon/favicon-32x32.png"/><link rel="icon" type="image/png" sizes="16x16" href="/favicon/favicon-16x16.png"/><link rel="manifest" href="/favicon/site.webmanifest"/><link rel="mask-icon" href="/favicon/safari-pinned-tab.svg" color="#000000"/><link rel="shortcut icon" href="/favicon/favicon.ico"/><meta name="msapplication-TileColor" content="#000000"/><meta name="msapplication-config" content="/favicon/browserconfig.xml"/><meta name="theme-color" content="#000"/><link rel="alternate" type="application/rss+xml" href="/feed.xml"/><meta name="onerdy.com" content="The personal website for Rodney Mort."/><meta property="og:image" content="/assets/img/logo.svg"/><title>onerdy.com | home</title><meta name="next-head-count" content="15"/><link rel="preload" href="/_next/static/css/0d2388f7d443c3df.css" as="style"/><link rel="stylesheet" href="/_next/static/css/0d2388f7d443c3df.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"></script><script src="/_next/static/chunks/webpack-8fa1640cc84ba8fe.js" defer=""></script><script src="/_next/static/chunks/framework-2c79e2a64abdb08b.js" defer=""></script><script src="/_next/static/chunks/main-d1728c3a778f1232.js" defer=""></script><script src="/_next/static/chunks/pages/_app-0e6bc8fd3233945b.js" defer=""></script><script src="/_next/static/chunks/pages/index-3c43b2d3fbeafad5.js" defer=""></script><script src="/_next/static/jdnR_swwSaPdwlbahtZ4C/_buildManifest.js" defer=""></script><script src="/_next/static/jdnR_swwSaPdwlbahtZ4C/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div class="min-h-screen overflow-auto font-comfortaa bg-[url('/img/bg.svg')] bg-[length:1920px_1200px] bg-fixed bg-gray-800 flex flex-col items-center"><div class="fixed w-full h-20 p-0 m-0 bg-black bg-opacity-60 flex sm:flex-col items-center border-b-4 border-secondary"><div class="fixed h-20 p-1 w-full sm:w-[478px] flex sm:flex-col justify-between items-center text-white text-xl"><div class="flex items-center "><a href="/"><img src="/img/logo.svg" class="ml-2 mr-4 hover:animate-wiggle" alt="Logo" width="50" height="50"/></a><a class="no-underline text-white text-4xl hover:text-white" href="/">onerdy.com</a></div><div class="w-[480px] bg-gray-600 h-8 px-2 items-center justify-between hidden sm:flex sm:mt-2 sm:rounded-3xl"><div class="flex items-center"><a class="px-2 font-bold text-white no-underline hover:text-white" href="/">home</a><a class="px-2 text-white no-underline hover:text-white hover:underline hover:decoration-secondary" href="/blog">blog</a><a class="px-2 text-white no-underline hover:text-white hover:underline hover:decoration-secondary" href="/projects">projects</a></div><div class="flex items-center"><a class="px-2 text-white hover:text-secondary" rel="noopener noreferrer" target="_blank" href="https://github.com/onerdy"><svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" fill="currentColor" viewBox="0 0 24 24"><path d="M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z"></path></svg></a><a class="px-2 text-white hover:text-secondary" rel="noopener noreferrer" target="_blank" href="htt
Open service 65.9.175.25:443 · onerdy.com
2026-01-12 13:23
HTTP/1.1 200 OK Content-Type: text/html; charset=utf-8 Content-Length: 8699 Connection: close Date: Mon, 12 Jan 2026 13:23:46 GMT x-powered-by: Next.js ETag: "15yj99pi4u06pn" Vary: Accept-Encoding X-Cache: Miss from cloudfront Via: 1.1 f21aebe726db54f921ea6610dfe923ba.cloudfront.net (CloudFront) X-Amz-Cf-Pop: FRA60-P14 Alt-Svc: h3=":443"; ma=86400 X-Amz-Cf-Id: DO1YQnA9EqgzKUZbqkP_IZ1lqkBhb0A93dWkjlD7vTtJ6TwheB_sAA== Page title: onerdy.com | home <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><link rel="apple-touch-icon" sizes="180x180" href="/favicon/apple-touch-icon.png"/><link rel="icon" type="image/png" sizes="32x32" href="/favicon/favicon-32x32.png"/><link rel="icon" type="image/png" sizes="16x16" href="/favicon/favicon-16x16.png"/><link rel="manifest" href="/favicon/site.webmanifest"/><link rel="mask-icon" href="/favicon/safari-pinned-tab.svg" color="#000000"/><link rel="shortcut icon" href="/favicon/favicon.ico"/><meta name="msapplication-TileColor" content="#000000"/><meta name="msapplication-config" content="/favicon/browserconfig.xml"/><meta name="theme-color" content="#000"/><link rel="alternate" type="application/rss+xml" href="/feed.xml"/><meta name="onerdy.com" content="The personal website for Rodney Mort."/><meta property="og:image" content="/assets/img/logo.svg"/><title>onerdy.com | home</title><meta name="next-head-count" content="15"/><link rel="preload" href="/_next/static/css/0d2388f7d443c3df.css" as="style"/><link rel="stylesheet" href="/_next/static/css/0d2388f7d443c3df.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"></script><script src="/_next/static/chunks/webpack-8fa1640cc84ba8fe.js" defer=""></script><script src="/_next/static/chunks/framework-2c79e2a64abdb08b.js" defer=""></script><script src="/_next/static/chunks/main-d1728c3a778f1232.js" defer=""></script><script src="/_next/static/chunks/pages/_app-0e6bc8fd3233945b.js" defer=""></script><script src="/_next/static/chunks/pages/index-3c43b2d3fbeafad5.js" defer=""></script><script src="/_next/static/jdnR_swwSaPdwlbahtZ4C/_buildManifest.js" defer=""></script><script src="/_next/static/jdnR_swwSaPdwlbahtZ4C/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div class="min-h-screen overflow-auto font-comfortaa bg-[url('/img/bg.svg')] bg-[length:1920px_1200px] bg-fixed bg-gray-800 flex flex-col items-center"><div class="fixed w-full h-20 p-0 m-0 bg-black bg-opacity-60 flex sm:flex-col items-center border-b-4 border-secondary"><div class="fixed h-20 p-1 w-full sm:w-[478px] flex sm:flex-col justify-between items-center text-white text-xl"><div class="flex items-center "><a href="/"><img src="/img/logo.svg" class="ml-2 mr-4 hover:animate-wiggle" alt="Logo" width="50" height="50"/></a><a class="no-underline text-white text-4xl hover:text-white" href="/">onerdy.com</a></div><div class="w-[480px] bg-gray-600 h-8 px-2 items-center justify-between hidden sm:flex sm:mt-2 sm:rounded-3xl"><div class="flex items-center"><a class="px-2 font-bold text-white no-underline hover:text-white" href="/">home</a><a class="px-2 text-white no-underline hover:text-white hover:underline hover:decoration-secondary" href="/blog">blog</a><a class="px-2 text-white no-underline hover:text-white hover:underline hover:decoration-secondary" href="/projects">projects</a></div><div class="flex items-center"><a class="px-2 text-white hover:text-secondary" rel="noopener noreferrer" target="_blank" href="https://github.com/onerdy"><svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" fill="currentColor" viewBox="0 0 24 24"><path d="M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z"></path></svg></a><a class="px-2 text-white hover:text-secondary" rel="noopener noreferrer" target="_blank" href="htt
Open service 2600:9000:2096:de00:1d:e1bc:c480:93a1:443 · onerdy.com
2026-01-12 13:23
HTTP/1.1 200 OK Content-Type: text/html; charset=utf-8 Content-Length: 8699 Connection: close Date: Mon, 12 Jan 2026 13:23:46 GMT x-powered-by: Next.js ETag: "15yj99pi4u06pn" Vary: Accept-Encoding X-Cache: Miss from cloudfront Via: 1.1 6636538a05247c80bd9b1634a2f35fb4.cloudfront.net (CloudFront) X-Amz-Cf-Pop: FRA60-P14 Alt-Svc: h3=":443"; ma=86400 X-Amz-Cf-Id: m9PQA20C-yDrk-H_BROLdRFwjBDENM9q530C0aa7er8qhhY7K0p4zw== Page title: onerdy.com | home <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><link rel="apple-touch-icon" sizes="180x180" href="/favicon/apple-touch-icon.png"/><link rel="icon" type="image/png" sizes="32x32" href="/favicon/favicon-32x32.png"/><link rel="icon" type="image/png" sizes="16x16" href="/favicon/favicon-16x16.png"/><link rel="manifest" href="/favicon/site.webmanifest"/><link rel="mask-icon" href="/favicon/safari-pinned-tab.svg" color="#000000"/><link rel="shortcut icon" href="/favicon/favicon.ico"/><meta name="msapplication-TileColor" content="#000000"/><meta name="msapplication-config" content="/favicon/browserconfig.xml"/><meta name="theme-color" content="#000"/><link rel="alternate" type="application/rss+xml" href="/feed.xml"/><meta name="onerdy.com" content="The personal website for Rodney Mort."/><meta property="og:image" content="/assets/img/logo.svg"/><title>onerdy.com | home</title><meta name="next-head-count" content="15"/><link rel="preload" href="/_next/static/css/0d2388f7d443c3df.css" as="style"/><link rel="stylesheet" href="/_next/static/css/0d2388f7d443c3df.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"></script><script src="/_next/static/chunks/webpack-8fa1640cc84ba8fe.js" defer=""></script><script src="/_next/static/chunks/framework-2c79e2a64abdb08b.js" defer=""></script><script src="/_next/static/chunks/main-d1728c3a778f1232.js" defer=""></script><script src="/_next/static/chunks/pages/_app-0e6bc8fd3233945b.js" defer=""></script><script src="/_next/static/chunks/pages/index-3c43b2d3fbeafad5.js" defer=""></script><script src="/_next/static/jdnR_swwSaPdwlbahtZ4C/_buildManifest.js" defer=""></script><script src="/_next/static/jdnR_swwSaPdwlbahtZ4C/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div class="min-h-screen overflow-auto font-comfortaa bg-[url('/img/bg.svg')] bg-[length:1920px_1200px] bg-fixed bg-gray-800 flex flex-col items-center"><div class="fixed w-full h-20 p-0 m-0 bg-black bg-opacity-60 flex sm:flex-col items-center border-b-4 border-secondary"><div class="fixed h-20 p-1 w-full sm:w-[478px] flex sm:flex-col justify-between items-center text-white text-xl"><div class="flex items-center "><a href="/"><img src="/img/logo.svg" class="ml-2 mr-4 hover:animate-wiggle" alt="Logo" width="50" height="50"/></a><a class="no-underline text-white text-4xl hover:text-white" href="/">onerdy.com</a></div><div class="w-[480px] bg-gray-600 h-8 px-2 items-center justify-between hidden sm:flex sm:mt-2 sm:rounded-3xl"><div class="flex items-center"><a class="px-2 font-bold text-white no-underline hover:text-white" href="/">home</a><a class="px-2 text-white no-underline hover:text-white hover:underline hover:decoration-secondary" href="/blog">blog</a><a class="px-2 text-white no-underline hover:text-white hover:underline hover:decoration-secondary" href="/projects">projects</a></div><div class="flex items-center"><a class="px-2 text-white hover:text-secondary" rel="noopener noreferrer" target="_blank" href="https://github.com/onerdy"><svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" fill="currentColor" viewBox="0 0 24 24"><path d="M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z"></path></svg></a><a class="px-2 text-white hover:text-secondary" rel="noopener noreferrer" target="_blank" href="htt
Open service 65.9.175.70:80 · onerdy.com
2026-01-12 13:23
HTTP/1.1 301 Moved Permanently Server: CloudFront Date: Mon, 12 Jan 2026 13:23:46 GMT Content-Type: text/html Content-Length: 167 Connection: close Location: https://onerdy.com/ X-Cache: Redirect from cloudfront Via: 1.1 bab0321b4bf0fd055bdfb0282cee7346.cloudfront.net (CloudFront) X-Amz-Cf-Pop: FRA60-P14 Alt-Svc: h3=":443"; ma=86400 X-Amz-Cf-Id: xqcvypSIls2OiTmQa5-gk8qE0976M0LKs2S4fzsn2cQhgrFDWojiwg== Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>CloudFront</center> </body> </html>
Open service 2600:9000:2096:4400:1d:e1bc:c480:93a1:443 · onerdy.com
2026-01-12 13:23
HTTP/1.1 200 OK Content-Type: text/html; charset=utf-8 Content-Length: 8699 Connection: close Date: Mon, 12 Jan 2026 13:23:47 GMT x-powered-by: Next.js ETag: "15yj99pi4u06pn" Vary: Accept-Encoding X-Cache: Miss from cloudfront Via: 1.1 c20b1585cc14f7313af71d342a8c81a4.cloudfront.net (CloudFront) X-Amz-Cf-Pop: FRA60-P14 Alt-Svc: h3=":443"; ma=86400 X-Amz-Cf-Id: WIvvmDqI4QFtpAy7-YSifV4uqdrQNOR9jrQeZi-gPsZa-iduzASn7g== Page title: onerdy.com | home <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><link rel="apple-touch-icon" sizes="180x180" href="/favicon/apple-touch-icon.png"/><link rel="icon" type="image/png" sizes="32x32" href="/favicon/favicon-32x32.png"/><link rel="icon" type="image/png" sizes="16x16" href="/favicon/favicon-16x16.png"/><link rel="manifest" href="/favicon/site.webmanifest"/><link rel="mask-icon" href="/favicon/safari-pinned-tab.svg" color="#000000"/><link rel="shortcut icon" href="/favicon/favicon.ico"/><meta name="msapplication-TileColor" content="#000000"/><meta name="msapplication-config" content="/favicon/browserconfig.xml"/><meta name="theme-color" content="#000"/><link rel="alternate" type="application/rss+xml" href="/feed.xml"/><meta name="onerdy.com" content="The personal website for Rodney Mort."/><meta property="og:image" content="/assets/img/logo.svg"/><title>onerdy.com | home</title><meta name="next-head-count" content="15"/><link rel="preload" href="/_next/static/css/0d2388f7d443c3df.css" as="style"/><link rel="stylesheet" href="/_next/static/css/0d2388f7d443c3df.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"></script><script src="/_next/static/chunks/webpack-8fa1640cc84ba8fe.js" defer=""></script><script src="/_next/static/chunks/framework-2c79e2a64abdb08b.js" defer=""></script><script src="/_next/static/chunks/main-d1728c3a778f1232.js" defer=""></script><script src="/_next/static/chunks/pages/_app-0e6bc8fd3233945b.js" defer=""></script><script src="/_next/static/chunks/pages/index-3c43b2d3fbeafad5.js" defer=""></script><script src="/_next/static/jdnR_swwSaPdwlbahtZ4C/_buildManifest.js" defer=""></script><script src="/_next/static/jdnR_swwSaPdwlbahtZ4C/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div class="min-h-screen overflow-auto font-comfortaa bg-[url('/img/bg.svg')] bg-[length:1920px_1200px] bg-fixed bg-gray-800 flex flex-col items-center"><div class="fixed w-full h-20 p-0 m-0 bg-black bg-opacity-60 flex sm:flex-col items-center border-b-4 border-secondary"><div class="fixed h-20 p-1 w-full sm:w-[478px] flex sm:flex-col justify-between items-center text-white text-xl"><div class="flex items-center "><a href="/"><img src="/img/logo.svg" class="ml-2 mr-4 hover:animate-wiggle" alt="Logo" width="50" height="50"/></a><a class="no-underline text-white text-4xl hover:text-white" href="/">onerdy.com</a></div><div class="w-[480px] bg-gray-600 h-8 px-2 items-center justify-between hidden sm:flex sm:mt-2 sm:rounded-3xl"><div class="flex items-center"><a class="px-2 font-bold text-white no-underline hover:text-white" href="/">home</a><a class="px-2 text-white no-underline hover:text-white hover:underline hover:decoration-secondary" href="/blog">blog</a><a class="px-2 text-white no-underline hover:text-white hover:underline hover:decoration-secondary" href="/projects">projects</a></div><div class="flex items-center"><a class="px-2 text-white hover:text-secondary" rel="noopener noreferrer" target="_blank" href="https://github.com/onerdy"><svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" fill="currentColor" viewBox="0 0 24 24"><path d="M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z"></path></svg></a><a class="px-2 text-white hover:text-secondary" rel="noopener noreferrer" target="_blank" href="htt
Open service 2600:9000:2096:200:1d:e1bc:c480:93a1:80 · onerdy.com
2026-01-12 13:23
HTTP/1.1 301 Moved Permanently Server: CloudFront Date: Mon, 12 Jan 2026 13:23:46 GMT Content-Type: text/html Content-Length: 167 Connection: close Location: https://onerdy.com/ X-Cache: Redirect from cloudfront Via: 1.1 909271198a8193608c0cc833172af082.cloudfront.net (CloudFront) X-Amz-Cf-Pop: FRA60-P14 Alt-Svc: h3=":443"; ma=86400 X-Amz-Cf-Id: XJze2bXv5dsR9IaUebVNn_G2gQRfEs8I9lMkc3nq9rul-cpuqgK9fg== Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>CloudFront</center> </body> </html>
Open service 65.9.175.73:80 · onerdy.com
2026-01-12 13:23
HTTP/1.1 301 Moved Permanently Server: CloudFront Date: Mon, 12 Jan 2026 13:23:46 GMT Content-Type: text/html Content-Length: 167 Connection: close Location: https://onerdy.com/ X-Cache: Redirect from cloudfront Via: 1.1 5a7aeff2d396b9667469b83aa6741fca.cloudfront.net (CloudFront) X-Amz-Cf-Pop: FRA60-P14 Alt-Svc: h3=":443"; ma=86400 X-Amz-Cf-Id: E6dcFkWldLbLAqTK4xIq98FVrZpEeW9aWAy0VElV5fDpPCVe9r9Z3w== Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>CloudFront</center> </body> </html>
Open service 2600:9000:2096:2200:1d:e1bc:c480:93a1:80 · onerdy.com
2026-01-12 13:23
HTTP/1.1 301 Moved Permanently Server: CloudFront Date: Mon, 12 Jan 2026 13:23:46 GMT Content-Type: text/html Content-Length: 167 Connection: close Location: https://onerdy.com/ X-Cache: Redirect from cloudfront Via: 1.1 2e1545751358065284c508c87f8e3d4c.cloudfront.net (CloudFront) X-Amz-Cf-Pop: FRA60-P14 Alt-Svc: h3=":443"; ma=86400 X-Amz-Cf-Id: KdeMvaFEr1b0E6mi7cbLDC8QVyRqxBRnDpczvqTQWkm-9v5TKMq1jw== Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>CloudFront</center> </body> </html>
Open service 2600:9000:2096:6e00:1d:e1bc:c480:93a1:443 · onerdy.com
2026-01-12 13:23
HTTP/1.1 200 OK Content-Type: text/html; charset=utf-8 Content-Length: 8699 Connection: close Date: Mon, 12 Jan 2026 13:23:46 GMT x-powered-by: Next.js ETag: "15yj99pi4u06pn" Vary: Accept-Encoding X-Cache: Miss from cloudfront Via: 1.1 01bfa2cb468985bd24126d7b3dbae26a.cloudfront.net (CloudFront) X-Amz-Cf-Pop: FRA60-P14 Alt-Svc: h3=":443"; ma=86400 X-Amz-Cf-Id: Gy5OINIOsW00XRIepcndex4sX4eJlLsl-cxcdX85QBjnMA3_6iH4JQ== Page title: onerdy.com | home <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><link rel="apple-touch-icon" sizes="180x180" href="/favicon/apple-touch-icon.png"/><link rel="icon" type="image/png" sizes="32x32" href="/favicon/favicon-32x32.png"/><link rel="icon" type="image/png" sizes="16x16" href="/favicon/favicon-16x16.png"/><link rel="manifest" href="/favicon/site.webmanifest"/><link rel="mask-icon" href="/favicon/safari-pinned-tab.svg" color="#000000"/><link rel="shortcut icon" href="/favicon/favicon.ico"/><meta name="msapplication-TileColor" content="#000000"/><meta name="msapplication-config" content="/favicon/browserconfig.xml"/><meta name="theme-color" content="#000"/><link rel="alternate" type="application/rss+xml" href="/feed.xml"/><meta name="onerdy.com" content="The personal website for Rodney Mort."/><meta property="og:image" content="/assets/img/logo.svg"/><title>onerdy.com | home</title><meta name="next-head-count" content="15"/><link rel="preload" href="/_next/static/css/0d2388f7d443c3df.css" as="style"/><link rel="stylesheet" href="/_next/static/css/0d2388f7d443c3df.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"></script><script src="/_next/static/chunks/webpack-8fa1640cc84ba8fe.js" defer=""></script><script src="/_next/static/chunks/framework-2c79e2a64abdb08b.js" defer=""></script><script src="/_next/static/chunks/main-d1728c3a778f1232.js" defer=""></script><script src="/_next/static/chunks/pages/_app-0e6bc8fd3233945b.js" defer=""></script><script src="/_next/static/chunks/pages/index-3c43b2d3fbeafad5.js" defer=""></script><script src="/_next/static/jdnR_swwSaPdwlbahtZ4C/_buildManifest.js" defer=""></script><script src="/_next/static/jdnR_swwSaPdwlbahtZ4C/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div class="min-h-screen overflow-auto font-comfortaa bg-[url('/img/bg.svg')] bg-[length:1920px_1200px] bg-fixed bg-gray-800 flex flex-col items-center"><div class="fixed w-full h-20 p-0 m-0 bg-black bg-opacity-60 flex sm:flex-col items-center border-b-4 border-secondary"><div class="fixed h-20 p-1 w-full sm:w-[478px] flex sm:flex-col justify-between items-center text-white text-xl"><div class="flex items-center "><a href="/"><img src="/img/logo.svg" class="ml-2 mr-4 hover:animate-wiggle" alt="Logo" width="50" height="50"/></a><a class="no-underline text-white text-4xl hover:text-white" href="/">onerdy.com</a></div><div class="w-[480px] bg-gray-600 h-8 px-2 items-center justify-between hidden sm:flex sm:mt-2 sm:rounded-3xl"><div class="flex items-center"><a class="px-2 font-bold text-white no-underline hover:text-white" href="/">home</a><a class="px-2 text-white no-underline hover:text-white hover:underline hover:decoration-secondary" href="/blog">blog</a><a class="px-2 text-white no-underline hover:text-white hover:underline hover:decoration-secondary" href="/projects">projects</a></div><div class="flex items-center"><a class="px-2 text-white hover:text-secondary" rel="noopener noreferrer" target="_blank" href="https://github.com/onerdy"><svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" fill="currentColor" viewBox="0 0 24 24"><path d="M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z"></path></svg></a><a class="px-2 text-white hover:text-secondary" rel="noopener noreferrer" target="_blank" href="htt
Open service 65.9.175.89:80 · onerdy.com
2026-01-12 13:23
HTTP/1.1 301 Moved Permanently Server: CloudFront Date: Mon, 12 Jan 2026 13:23:46 GMT Content-Type: text/html Content-Length: 167 Connection: close Location: https://onerdy.com/ X-Cache: Redirect from cloudfront Via: 1.1 6636538a05247c80bd9b1634a2f35fb4.cloudfront.net (CloudFront) X-Amz-Cf-Pop: FRA60-P14 Alt-Svc: h3=":443"; ma=86400 X-Amz-Cf-Id: Jmzue5Fb49exh1JmDtb1gsuPzHhuwRyU-rx3OXWIAlzJaAO0Yi3U7Q== Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>CloudFront</center> </body> </html>
Open service 2600:9000:2096:3e00:1d:e1bc:c480:93a1:80 · onerdy.com
2026-01-12 13:23
HTTP/1.1 301 Moved Permanently Server: CloudFront Date: Mon, 12 Jan 2026 13:23:46 GMT Content-Type: text/html Content-Length: 167 Connection: close Location: https://onerdy.com/ X-Cache: Redirect from cloudfront Via: 1.1 c20b1585cc14f7313af71d342a8c81a4.cloudfront.net (CloudFront) X-Amz-Cf-Pop: FRA60-P14 Alt-Svc: h3=":443"; ma=86400 X-Amz-Cf-Id: 6R_HcJvL5APxfDtN-xoEWldD0Hz2ibfEjwnX7YwhI36GV1fJireHmA== Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>CloudFront</center> </body> </html>
Open service 65.9.175.73:443 · onerdy.com
2026-01-12 13:23
HTTP/1.1 200 OK Content-Type: text/html; charset=utf-8 Content-Length: 8699 Connection: close Date: Mon, 12 Jan 2026 13:23:46 GMT x-powered-by: Next.js ETag: "15yj99pi4u06pn" Vary: Accept-Encoding X-Cache: Miss from cloudfront Via: 1.1 25ecafb130dcf586014e40cd7d2ba2fc.cloudfront.net (CloudFront) X-Amz-Cf-Pop: FRA60-P14 Alt-Svc: h3=":443"; ma=86400 X-Amz-Cf-Id: 4NQ1Cq5i3a3LEghNiK_K4nKO0lyPfvBNFycv9OHUKI7ZDgESKQEbJA== Page title: onerdy.com | home <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><link rel="apple-touch-icon" sizes="180x180" href="/favicon/apple-touch-icon.png"/><link rel="icon" type="image/png" sizes="32x32" href="/favicon/favicon-32x32.png"/><link rel="icon" type="image/png" sizes="16x16" href="/favicon/favicon-16x16.png"/><link rel="manifest" href="/favicon/site.webmanifest"/><link rel="mask-icon" href="/favicon/safari-pinned-tab.svg" color="#000000"/><link rel="shortcut icon" href="/favicon/favicon.ico"/><meta name="msapplication-TileColor" content="#000000"/><meta name="msapplication-config" content="/favicon/browserconfig.xml"/><meta name="theme-color" content="#000"/><link rel="alternate" type="application/rss+xml" href="/feed.xml"/><meta name="onerdy.com" content="The personal website for Rodney Mort."/><meta property="og:image" content="/assets/img/logo.svg"/><title>onerdy.com | home</title><meta name="next-head-count" content="15"/><link rel="preload" href="/_next/static/css/0d2388f7d443c3df.css" as="style"/><link rel="stylesheet" href="/_next/static/css/0d2388f7d443c3df.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"></script><script src="/_next/static/chunks/webpack-8fa1640cc84ba8fe.js" defer=""></script><script src="/_next/static/chunks/framework-2c79e2a64abdb08b.js" defer=""></script><script src="/_next/static/chunks/main-d1728c3a778f1232.js" defer=""></script><script src="/_next/static/chunks/pages/_app-0e6bc8fd3233945b.js" defer=""></script><script src="/_next/static/chunks/pages/index-3c43b2d3fbeafad5.js" defer=""></script><script src="/_next/static/jdnR_swwSaPdwlbahtZ4C/_buildManifest.js" defer=""></script><script src="/_next/static/jdnR_swwSaPdwlbahtZ4C/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div class="min-h-screen overflow-auto font-comfortaa bg-[url('/img/bg.svg')] bg-[length:1920px_1200px] bg-fixed bg-gray-800 flex flex-col items-center"><div class="fixed w-full h-20 p-0 m-0 bg-black bg-opacity-60 flex sm:flex-col items-center border-b-4 border-secondary"><div class="fixed h-20 p-1 w-full sm:w-[478px] flex sm:flex-col justify-between items-center text-white text-xl"><div class="flex items-center "><a href="/"><img src="/img/logo.svg" class="ml-2 mr-4 hover:animate-wiggle" alt="Logo" width="50" height="50"/></a><a class="no-underline text-white text-4xl hover:text-white" href="/">onerdy.com</a></div><div class="w-[480px] bg-gray-600 h-8 px-2 items-center justify-between hidden sm:flex sm:mt-2 sm:rounded-3xl"><div class="flex items-center"><a class="px-2 font-bold text-white no-underline hover:text-white" href="/">home</a><a class="px-2 text-white no-underline hover:text-white hover:underline hover:decoration-secondary" href="/blog">blog</a><a class="px-2 text-white no-underline hover:text-white hover:underline hover:decoration-secondary" href="/projects">projects</a></div><div class="flex items-center"><a class="px-2 text-white hover:text-secondary" rel="noopener noreferrer" target="_blank" href="https://github.com/onerdy"><svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" fill="currentColor" viewBox="0 0 24 24"><path d="M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z"></path></svg></a><a class="px-2 text-white hover:text-secondary" rel="noopener noreferrer" target="_blank" href="htt
Open service 2600:9000:2096:8600:1d:e1bc:c480:93a1:80 · onerdy.com
2026-01-12 13:23
HTTP/1.1 301 Moved Permanently Server: CloudFront Date: Mon, 12 Jan 2026 13:23:46 GMT Content-Type: text/html Content-Length: 167 Connection: close Location: https://onerdy.com/ X-Cache: Redirect from cloudfront Via: 1.1 b608ed0f3426ba08cff51718fbecc028.cloudfront.net (CloudFront) X-Amz-Cf-Pop: FRA60-P14 Alt-Svc: h3=":443"; ma=86400 X-Amz-Cf-Id: WToFGpP9bujjIOlkvkAI6MjuZtjd7mAb5JXqtB6qHWMHKBdKbyIx3w== Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>CloudFront</center> </body> </html>
Open service 65.9.175.70:443 · onerdy.com
2026-01-12 13:23
HTTP/1.1 200 OK Content-Type: text/html; charset=utf-8 Content-Length: 8699 Connection: close Date: Mon, 12 Jan 2026 13:23:46 GMT x-powered-by: Next.js ETag: "15yj99pi4u06pn" Vary: Accept-Encoding X-Cache: Miss from cloudfront Via: 1.1 23e907ff6b79ce55a7f547e682506202.cloudfront.net (CloudFront) X-Amz-Cf-Pop: FRA60-P14 Alt-Svc: h3=":443"; ma=86400 X-Amz-Cf-Id: yw78DM4e99HXTbMZrbktj_6JiPqTN0XUcjWEhiXziuiJUJih8DCF7g== Page title: onerdy.com | home <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><link rel="apple-touch-icon" sizes="180x180" href="/favicon/apple-touch-icon.png"/><link rel="icon" type="image/png" sizes="32x32" href="/favicon/favicon-32x32.png"/><link rel="icon" type="image/png" sizes="16x16" href="/favicon/favicon-16x16.png"/><link rel="manifest" href="/favicon/site.webmanifest"/><link rel="mask-icon" href="/favicon/safari-pinned-tab.svg" color="#000000"/><link rel="shortcut icon" href="/favicon/favicon.ico"/><meta name="msapplication-TileColor" content="#000000"/><meta name="msapplication-config" content="/favicon/browserconfig.xml"/><meta name="theme-color" content="#000"/><link rel="alternate" type="application/rss+xml" href="/feed.xml"/><meta name="onerdy.com" content="The personal website for Rodney Mort."/><meta property="og:image" content="/assets/img/logo.svg"/><title>onerdy.com | home</title><meta name="next-head-count" content="15"/><link rel="preload" href="/_next/static/css/0d2388f7d443c3df.css" as="style"/><link rel="stylesheet" href="/_next/static/css/0d2388f7d443c3df.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"></script><script src="/_next/static/chunks/webpack-8fa1640cc84ba8fe.js" defer=""></script><script src="/_next/static/chunks/framework-2c79e2a64abdb08b.js" defer=""></script><script src="/_next/static/chunks/main-d1728c3a778f1232.js" defer=""></script><script src="/_next/static/chunks/pages/_app-0e6bc8fd3233945b.js" defer=""></script><script src="/_next/static/chunks/pages/index-3c43b2d3fbeafad5.js" defer=""></script><script src="/_next/static/jdnR_swwSaPdwlbahtZ4C/_buildManifest.js" defer=""></script><script src="/_next/static/jdnR_swwSaPdwlbahtZ4C/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div class="min-h-screen overflow-auto font-comfortaa bg-[url('/img/bg.svg')] bg-[length:1920px_1200px] bg-fixed bg-gray-800 flex flex-col items-center"><div class="fixed w-full h-20 p-0 m-0 bg-black bg-opacity-60 flex sm:flex-col items-center border-b-4 border-secondary"><div class="fixed h-20 p-1 w-full sm:w-[478px] flex sm:flex-col justify-between items-center text-white text-xl"><div class="flex items-center "><a href="/"><img src="/img/logo.svg" class="ml-2 mr-4 hover:animate-wiggle" alt="Logo" width="50" height="50"/></a><a class="no-underline text-white text-4xl hover:text-white" href="/">onerdy.com</a></div><div class="w-[480px] bg-gray-600 h-8 px-2 items-center justify-between hidden sm:flex sm:mt-2 sm:rounded-3xl"><div class="flex items-center"><a class="px-2 font-bold text-white no-underline hover:text-white" href="/">home</a><a class="px-2 text-white no-underline hover:text-white hover:underline hover:decoration-secondary" href="/blog">blog</a><a class="px-2 text-white no-underline hover:text-white hover:underline hover:decoration-secondary" href="/projects">projects</a></div><div class="flex items-center"><a class="px-2 text-white hover:text-secondary" rel="noopener noreferrer" target="_blank" href="https://github.com/onerdy"><svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" fill="currentColor" viewBox="0 0 24 24"><path d="M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z"></path></svg></a><a class="px-2 text-white hover:text-secondary" rel="noopener noreferrer" target="_blank" href="htt
Open service 2600:9000:2096:2200:1d:e1bc:c480:93a1:443 · onerdy.com
2026-01-12 13:23
HTTP/1.1 200 OK Content-Type: text/html; charset=utf-8 Content-Length: 8699 Connection: close Date: Mon, 12 Jan 2026 13:23:46 GMT x-powered-by: Next.js ETag: "15yj99pi4u06pn" Vary: Accept-Encoding X-Cache: Miss from cloudfront Via: 1.1 909271198a8193608c0cc833172af082.cloudfront.net (CloudFront) X-Amz-Cf-Pop: FRA60-P14 Alt-Svc: h3=":443"; ma=86400 X-Amz-Cf-Id: WrBOFYj-5SIcGYHXPELr07JXyf4GzRRlujIDGSMpn2jLNWcO212ZJA== Page title: onerdy.com | home <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><link rel="apple-touch-icon" sizes="180x180" href="/favicon/apple-touch-icon.png"/><link rel="icon" type="image/png" sizes="32x32" href="/favicon/favicon-32x32.png"/><link rel="icon" type="image/png" sizes="16x16" href="/favicon/favicon-16x16.png"/><link rel="manifest" href="/favicon/site.webmanifest"/><link rel="mask-icon" href="/favicon/safari-pinned-tab.svg" color="#000000"/><link rel="shortcut icon" href="/favicon/favicon.ico"/><meta name="msapplication-TileColor" content="#000000"/><meta name="msapplication-config" content="/favicon/browserconfig.xml"/><meta name="theme-color" content="#000"/><link rel="alternate" type="application/rss+xml" href="/feed.xml"/><meta name="onerdy.com" content="The personal website for Rodney Mort."/><meta property="og:image" content="/assets/img/logo.svg"/><title>onerdy.com | home</title><meta name="next-head-count" content="15"/><link rel="preload" href="/_next/static/css/0d2388f7d443c3df.css" as="style"/><link rel="stylesheet" href="/_next/static/css/0d2388f7d443c3df.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"></script><script src="/_next/static/chunks/webpack-8fa1640cc84ba8fe.js" defer=""></script><script src="/_next/static/chunks/framework-2c79e2a64abdb08b.js" defer=""></script><script src="/_next/static/chunks/main-d1728c3a778f1232.js" defer=""></script><script src="/_next/static/chunks/pages/_app-0e6bc8fd3233945b.js" defer=""></script><script src="/_next/static/chunks/pages/index-3c43b2d3fbeafad5.js" defer=""></script><script src="/_next/static/jdnR_swwSaPdwlbahtZ4C/_buildManifest.js" defer=""></script><script src="/_next/static/jdnR_swwSaPdwlbahtZ4C/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div class="min-h-screen overflow-auto font-comfortaa bg-[url('/img/bg.svg')] bg-[length:1920px_1200px] bg-fixed bg-gray-800 flex flex-col items-center"><div class="fixed w-full h-20 p-0 m-0 bg-black bg-opacity-60 flex sm:flex-col items-center border-b-4 border-secondary"><div class="fixed h-20 p-1 w-full sm:w-[478px] flex sm:flex-col justify-between items-center text-white text-xl"><div class="flex items-center "><a href="/"><img src="/img/logo.svg" class="ml-2 mr-4 hover:animate-wiggle" alt="Logo" width="50" height="50"/></a><a class="no-underline text-white text-4xl hover:text-white" href="/">onerdy.com</a></div><div class="w-[480px] bg-gray-600 h-8 px-2 items-center justify-between hidden sm:flex sm:mt-2 sm:rounded-3xl"><div class="flex items-center"><a class="px-2 font-bold text-white no-underline hover:text-white" href="/">home</a><a class="px-2 text-white no-underline hover:text-white hover:underline hover:decoration-secondary" href="/blog">blog</a><a class="px-2 text-white no-underline hover:text-white hover:underline hover:decoration-secondary" href="/projects">projects</a></div><div class="flex items-center"><a class="px-2 text-white hover:text-secondary" rel="noopener noreferrer" target="_blank" href="https://github.com/onerdy"><svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" fill="currentColor" viewBox="0 0 24 24"><path d="M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z"></path></svg></a><a class="px-2 text-white hover:text-secondary" rel="noopener noreferrer" target="_blank" href="htt
Open service 65.9.175.89:443 · onerdy.com
2026-01-12 13:23
HTTP/1.1 200 OK Content-Type: text/html; charset=utf-8 Content-Length: 8699 Connection: close Date: Mon, 12 Jan 2026 13:23:46 GMT x-powered-by: Next.js ETag: "15yj99pi4u06pn" Vary: Accept-Encoding X-Cache: Miss from cloudfront Via: 1.1 def78bd9f6b4ff6109111fdb39be66f6.cloudfront.net (CloudFront) X-Amz-Cf-Pop: FRA60-P14 Alt-Svc: h3=":443"; ma=86400 X-Amz-Cf-Id: P8kERglZby-udbf90rHbIWRVu77D0xoRkWyvpYW8WpjKxNcIsiA9OA== Page title: onerdy.com | home <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><link rel="apple-touch-icon" sizes="180x180" href="/favicon/apple-touch-icon.png"/><link rel="icon" type="image/png" sizes="32x32" href="/favicon/favicon-32x32.png"/><link rel="icon" type="image/png" sizes="16x16" href="/favicon/favicon-16x16.png"/><link rel="manifest" href="/favicon/site.webmanifest"/><link rel="mask-icon" href="/favicon/safari-pinned-tab.svg" color="#000000"/><link rel="shortcut icon" href="/favicon/favicon.ico"/><meta name="msapplication-TileColor" content="#000000"/><meta name="msapplication-config" content="/favicon/browserconfig.xml"/><meta name="theme-color" content="#000"/><link rel="alternate" type="application/rss+xml" href="/feed.xml"/><meta name="onerdy.com" content="The personal website for Rodney Mort."/><meta property="og:image" content="/assets/img/logo.svg"/><title>onerdy.com | home</title><meta name="next-head-count" content="15"/><link rel="preload" href="/_next/static/css/0d2388f7d443c3df.css" as="style"/><link rel="stylesheet" href="/_next/static/css/0d2388f7d443c3df.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"></script><script src="/_next/static/chunks/webpack-8fa1640cc84ba8fe.js" defer=""></script><script src="/_next/static/chunks/framework-2c79e2a64abdb08b.js" defer=""></script><script src="/_next/static/chunks/main-d1728c3a778f1232.js" defer=""></script><script src="/_next/static/chunks/pages/_app-0e6bc8fd3233945b.js" defer=""></script><script src="/_next/static/chunks/pages/index-3c43b2d3fbeafad5.js" defer=""></script><script src="/_next/static/jdnR_swwSaPdwlbahtZ4C/_buildManifest.js" defer=""></script><script src="/_next/static/jdnR_swwSaPdwlbahtZ4C/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div class="min-h-screen overflow-auto font-comfortaa bg-[url('/img/bg.svg')] bg-[length:1920px_1200px] bg-fixed bg-gray-800 flex flex-col items-center"><div class="fixed w-full h-20 p-0 m-0 bg-black bg-opacity-60 flex sm:flex-col items-center border-b-4 border-secondary"><div class="fixed h-20 p-1 w-full sm:w-[478px] flex sm:flex-col justify-between items-center text-white text-xl"><div class="flex items-center "><a href="/"><img src="/img/logo.svg" class="ml-2 mr-4 hover:animate-wiggle" alt="Logo" width="50" height="50"/></a><a class="no-underline text-white text-4xl hover:text-white" href="/">onerdy.com</a></div><div class="w-[480px] bg-gray-600 h-8 px-2 items-center justify-between hidden sm:flex sm:mt-2 sm:rounded-3xl"><div class="flex items-center"><a class="px-2 font-bold text-white no-underline hover:text-white" href="/">home</a><a class="px-2 text-white no-underline hover:text-white hover:underline hover:decoration-secondary" href="/blog">blog</a><a class="px-2 text-white no-underline hover:text-white hover:underline hover:decoration-secondary" href="/projects">projects</a></div><div class="flex items-center"><a class="px-2 text-white hover:text-secondary" rel="noopener noreferrer" target="_blank" href="https://github.com/onerdy"><svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" fill="currentColor" viewBox="0 0 24 24"><path d="M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z"></path></svg></a><a class="px-2 text-white hover:text-secondary" rel="noopener noreferrer" target="_blank" href="htt
2600:9000:2096:4400:1d:e1bc:c480:93a1 1 2600:9000:2096:b200:1d:e1bc:c480:93a1 1 2600:9000:2096:6e00:1d:e1bc:c480:93a1 1 65.9.175.25 1 2600:9000:2096:3e00:1d:e1bc:c480:93a1 1 2600:9000:2096:8600:1d:e1bc:c480:93a1 1 2600:9000:2096:de00:1d:e1bc:c480:93a1 1 2600:9000:2096:200:1d:e1bc:c480:93a1 1 65.9.175.70 1 65.9.175.73 1 2600:9000:2096:2200:1d:e1bc:c480:93a1 1 65.9.175.89 1