cloudflare
tcp/443 tcp/80 tcp/8443
Open service 2606:4700:3030::6815:3f0f:443 · christophermcd.dev
2026-01-09 18:44
HTTP/1.1 200 OK
Date: Fri, 09 Jan 2026 18:44:37 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Access-Control-Allow-Origin: *
Cache-Control: public, max-age=0, must-revalidate
cf-cache-status: DYNAMIC
referrer-policy: strict-origin-when-cross-origin
x-content-type-options: nosniff
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=%2BBciCLAMB%2BUWu4%2B6C6Pnr3Lh4tqcF1G6joF6fEGuOGXeuJg8lykFsZGVjur0EiIQGIE6WCN3hiOiVI7aqc0G5VyzJR5MSSWlAHE8uVWARhBL2SnJDBBgrQYHVWj5QQ%3D%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=11,cfOrigin;dur=46
CF-RAY: 9bb616460cf58183-SJC
alt-svc: h3=":443"; ma=86400
Page title: Christopher McDevitt's Website
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Christopher McDevitt's Website</title>
<script type="module" crossorigin src="/assets/main-B5JWQGSU.js"></script>
<link rel="stylesheet" crossorigin href="/assets/main-Bk6erhsH.css">
</head>
<body>
<header oncontextmenu="return false;"><h1>Christopher McDevitt</h1></header>
<div class="center" oncontextmenu="return false;">
<img src="/assets/picture-B2fRUrDy.png" width="512" height="512" class="image">
<div class="stack">
<p id="text" class="stack-item" oncontextmenu="return false;"></p>
<p id="text2" class="stack-item" oncontextmenu="return false;"></p>
</div>
</div>
<footer>
<a href="https://github.com/RebelAndroid" class="footer-text"><img src="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23ffffff'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%20class='lucide%20lucide-github'%3e%3cpath%20d='M15%2022v-4a4.8%204.8%200%200%200-1-3.5c3%200%206-2%206-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35%200-3.5%200%200-1%200-3%201.5-2.64-.5-5.36-.5-8%200C6%202%205%202%205%202c-.3%201.15-.3%202.35%200%203.5A5.403%205.403%200%200%200%204%209c0%203.5%203%205.5%206%205.5-.39.49-.68%201.05-.85%201.65-.17.6-.22%201.23-.15%201.85v4'/%3e%3cpath%20d='M9%2018c-4.51%202-5-2-7-2'/%3e%3c/svg%3e" class="inline-image">Github</a>
<a href="contact/" class="footer-text"><img src="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23ffffff'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%20class='lucide%20lucide-arrow-right-left'%3e%3cpath%20d='m16%203%204%204-4%204'/%3e%3cpath%20d='M20%207H4'/%3e%3cpath%20d='m8%2021-4-4%204-4'/%3e%3cpath%20d='M4%2017h16'/%3e%3c/svg%3e" class="inline-image">Contact</a>
<a href="https://blog.christophermcd.dev" class="footer-text"><img src="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23ffffff'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%20class='lucide%20lucide-feather'%3e%3cpath%20d='M12.67%2019a2%202%200%200%200%201.416-.588l6.154-6.172a6%206%200%200%200-8.49-8.49L5.586%209.914A2%202%200%200%200%205%2011.328V18a1%201%200%200%200%201%201z'/%3e%3cpath%20d='M16%208%202%2022'/%3e%3cpath%20d='M17.5%2015H9'/%3e%3c/svg%3e" class="inline-image">Blog</a>
</footer>
<canvas class="background" id="canvas" oncontextmenu="return false;"></div>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"5e6ef8833b80480e974a8624089db3bb","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
</body>
</html>
Open service 2606:4700:3030::6815:3f0f:8443 · christophermcd.dev
2026-01-09 18:44
HTTP/1.1 200 OK
Date: Fri, 09 Jan 2026 18:44:37 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Access-Control-Allow-Origin: *
Cache-Control: public, max-age=0, must-revalidate
cf-cache-status: DYNAMIC
referrer-policy: strict-origin-when-cross-origin
x-content-type-options: nosniff
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=ErbXkB66YDb%2BE7lvvp6UHpW6qzJI2a0XYBUIt10iXqE1RVJT3i62vqmyhFt33UEdc2gVOPqJg8ZIPpvo7tw6yd17kyilSNz91kJ%2Bd%2FFce4qToyG09hxphsqFT%2BfCvg%3D%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=23,cfOrigin;dur=38
CF-RAY: 9bb616460c46c6f6-SIN
alt-svc: h3=":8443"; ma=86400
Page title: Christopher McDevitt's Website
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Christopher McDevitt's Website</title>
<script type="module" crossorigin src="/assets/main-B5JWQGSU.js"></script>
<link rel="stylesheet" crossorigin href="/assets/main-Bk6erhsH.css">
</head>
<body>
<header oncontextmenu="return false;"><h1>Christopher McDevitt</h1></header>
<div class="center" oncontextmenu="return false;">
<img src="/assets/picture-B2fRUrDy.png" width="512" height="512" class="image">
<div class="stack">
<p id="text" class="stack-item" oncontextmenu="return false;"></p>
<p id="text2" class="stack-item" oncontextmenu="return false;"></p>
</div>
</div>
<footer>
<a href="https://github.com/RebelAndroid" class="footer-text"><img src="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23ffffff'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%20class='lucide%20lucide-github'%3e%3cpath%20d='M15%2022v-4a4.8%204.8%200%200%200-1-3.5c3%200%206-2%206-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35%200-3.5%200%200-1%200-3%201.5-2.64-.5-5.36-.5-8%200C6%202%205%202%205%202c-.3%201.15-.3%202.35%200%203.5A5.403%205.403%200%200%200%204%209c0%203.5%203%205.5%206%205.5-.39.49-.68%201.05-.85%201.65-.17.6-.22%201.23-.15%201.85v4'/%3e%3cpath%20d='M9%2018c-4.51%202-5-2-7-2'/%3e%3c/svg%3e" class="inline-image">Github</a>
<a href="contact/" class="footer-text"><img src="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23ffffff'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%20class='lucide%20lucide-arrow-right-left'%3e%3cpath%20d='m16%203%204%204-4%204'/%3e%3cpath%20d='M20%207H4'/%3e%3cpath%20d='m8%2021-4-4%204-4'/%3e%3cpath%20d='M4%2017h16'/%3e%3c/svg%3e" class="inline-image">Contact</a>
<a href="https://blog.christophermcd.dev" class="footer-text"><img src="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23ffffff'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%20class='lucide%20lucide-feather'%3e%3cpath%20d='M12.67%2019a2%202%200%200%200%201.416-.588l6.154-6.172a6%206%200%200%200-8.49-8.49L5.586%209.914A2%202%200%200%200%205%2011.328V18a1%201%200%200%200%201%201z'/%3e%3cpath%20d='M16%208%202%2022'/%3e%3cpath%20d='M17.5%2015H9'/%3e%3c/svg%3e" class="inline-image">Blog</a>
</footer>
<canvas class="background" id="canvas" oncontextmenu="return false;"></div>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"5e6ef8833b80480e974a8624089db3bb","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
</body>
</html>
Open service 2606:4700:3030::6815:3f0f:80 · christophermcd.dev
2026-01-09 18:44
HTTP/1.1 301 Moved Permanently
Date: Fri, 09 Jan 2026 18:44:37 GMT
Content-Length: 0
Connection: close
Location: https://christophermcd.dev/
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=5hOnD%2BMHHw7UDFXSn1oM1HmINl9UZFKpbPqL5fAB5uot9q9d%2Bsr%2F1L3N7%2FdJfpHsJNK55vnfNc%2Fa5sof3B8fpUMQnv9EWVxIlHBcZnjyy0k4H8P4R6%2F89NPehQm81A%3D%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=18,cfOrigin;dur=7
cf-cache-status: DYNAMIC
CF-RAY: 9bb616459e12cf26-SJC
alt-svc: h3=":443"; ma=86400
Open service 2606:4700:3033::ac43:8e65:80 · christophermcd.dev
2026-01-09 18:44
HTTP/1.1 301 Moved Permanently
Date: Fri, 09 Jan 2026 18:44:37 GMT
Content-Length: 0
Connection: close
Location: https://christophermcd.dev/
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=w3SGNf63l3HQoXjQz0zoHYRa038qbj%2B%2FjJumWMLxK5o%2Bs2bMIInqLASELfoCMt4KMBTxouhYseCIqLrNozmy6r59O6PoZxeX4LZIHHHhtKRwoHiKOznuKx7K94VOvw%3D%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=18,cfOrigin;dur=6
cf-cache-status: DYNAMIC
CF-RAY: 9bb6164568e1a742-SIN
alt-svc: h3=":443"; ma=86400
Open service 2606:4700:3033::ac43:8e65:8443 · christophermcd.dev
2026-01-09 18:44
HTTP/1.1 200 OK
Date: Fri, 09 Jan 2026 18:44:37 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Access-Control-Allow-Origin: *
Cache-Control: public, max-age=0, must-revalidate
cf-cache-status: DYNAMIC
referrer-policy: strict-origin-when-cross-origin
x-content-type-options: nosniff
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=stDe12ALsTA3%2Fg2iFbLJmJSp2HNKtgGbr3ZvliePCltI0QFQ3q8%2B08LJlbTCosk4b2ChQ57L9YkIn%2BOl%2B3LTQVmiVdr%2BFWyHXomSC7ShpVyR0gCFODXgZPlM%2FYcErg%3D%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=10,cfOrigin;dur=40
CF-RAY: 9bb61645be1efbec-SJC
alt-svc: h3=":8443"; ma=86400
Page title: Christopher McDevitt's Website
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Christopher McDevitt's Website</title>
<script type="module" crossorigin src="/assets/main-B5JWQGSU.js"></script>
<link rel="stylesheet" crossorigin href="/assets/main-Bk6erhsH.css">
</head>
<body>
<header oncontextmenu="return false;"><h1>Christopher McDevitt</h1></header>
<div class="center" oncontextmenu="return false;">
<img src="/assets/picture-B2fRUrDy.png" width="512" height="512" class="image">
<div class="stack">
<p id="text" class="stack-item" oncontextmenu="return false;"></p>
<p id="text2" class="stack-item" oncontextmenu="return false;"></p>
</div>
</div>
<footer>
<a href="https://github.com/RebelAndroid" class="footer-text"><img src="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23ffffff'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%20class='lucide%20lucide-github'%3e%3cpath%20d='M15%2022v-4a4.8%204.8%200%200%200-1-3.5c3%200%206-2%206-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35%200-3.5%200%200-1%200-3%201.5-2.64-.5-5.36-.5-8%200C6%202%205%202%205%202c-.3%201.15-.3%202.35%200%203.5A5.403%205.403%200%200%200%204%209c0%203.5%203%205.5%206%205.5-.39.49-.68%201.05-.85%201.65-.17.6-.22%201.23-.15%201.85v4'/%3e%3cpath%20d='M9%2018c-4.51%202-5-2-7-2'/%3e%3c/svg%3e" class="inline-image">Github</a>
<a href="contact/" class="footer-text"><img src="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23ffffff'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%20class='lucide%20lucide-arrow-right-left'%3e%3cpath%20d='m16%203%204%204-4%204'/%3e%3cpath%20d='M20%207H4'/%3e%3cpath%20d='m8%2021-4-4%204-4'/%3e%3cpath%20d='M4%2017h16'/%3e%3c/svg%3e" class="inline-image">Contact</a>
<a href="https://blog.christophermcd.dev" class="footer-text"><img src="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23ffffff'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%20class='lucide%20lucide-feather'%3e%3cpath%20d='M12.67%2019a2%202%200%200%200%201.416-.588l6.154-6.172a6%206%200%200%200-8.49-8.49L5.586%209.914A2%202%200%200%200%205%2011.328V18a1%201%200%200%200%201%201z'/%3e%3cpath%20d='M16%208%202%2022'/%3e%3cpath%20d='M17.5%2015H9'/%3e%3c/svg%3e" class="inline-image">Blog</a>
</footer>
<canvas class="background" id="canvas" oncontextmenu="return false;"></div>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"5e6ef8833b80480e974a8624089db3bb","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
</body>
</html>
Open service 104.21.63.15:8443 · christophermcd.dev
2026-01-09 18:44
HTTP/1.1 200 OK
Date: Fri, 09 Jan 2026 18:44:37 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Access-Control-Allow-Origin: *
Cache-Control: public, max-age=0, must-revalidate
referrer-policy: strict-origin-when-cross-origin
x-content-type-options: nosniff
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=TT%2B%2BpoGbCucBewRU1Yji%2F9NH9Z%2FibXGUicHxx80JcVmC2LuLHLB45udzGegyGzgfbnWjcmaaekuzk9AU78Kb6tyQC%2FpH4ASaooXE4eclFDw%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
cf-cache-status: DYNAMIC
CF-RAY: 9bb61645af1a9b22-FRA
alt-svc: h3=":8443"; ma=86400
Page title: Christopher McDevitt's Website
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Christopher McDevitt's Website</title>
<script type="module" crossorigin src="/assets/main-B5JWQGSU.js"></script>
<link rel="stylesheet" crossorigin href="/assets/main-Bk6erhsH.css">
</head>
<body>
<header oncontextmenu="return false;"><h1>Christopher McDevitt</h1></header>
<div class="center" oncontextmenu="return false;">
<img src="/assets/picture-B2fRUrDy.png" width="512" height="512" class="image">
<div class="stack">
<p id="text" class="stack-item" oncontextmenu="return false;"></p>
<p id="text2" class="stack-item" oncontextmenu="return false;"></p>
</div>
</div>
<footer>
<a href="https://github.com/RebelAndroid" class="footer-text"><img src="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23ffffff'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%20class='lucide%20lucide-github'%3e%3cpath%20d='M15%2022v-4a4.8%204.8%200%200%200-1-3.5c3%200%206-2%206-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35%200-3.5%200%200-1%200-3%201.5-2.64-.5-5.36-.5-8%200C6%202%205%202%205%202c-.3%201.15-.3%202.35%200%203.5A5.403%205.403%200%200%200%204%209c0%203.5%203%205.5%206%205.5-.39.49-.68%201.05-.85%201.65-.17.6-.22%201.23-.15%201.85v4'/%3e%3cpath%20d='M9%2018c-4.51%202-5-2-7-2'/%3e%3c/svg%3e" class="inline-image">Github</a>
<a href="contact/" class="footer-text"><img src="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23ffffff'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%20class='lucide%20lucide-arrow-right-left'%3e%3cpath%20d='m16%203%204%204-4%204'/%3e%3cpath%20d='M20%207H4'/%3e%3cpath%20d='m8%2021-4-4%204-4'/%3e%3cpath%20d='M4%2017h16'/%3e%3c/svg%3e" class="inline-image">Contact</a>
<a href="https://blog.christophermcd.dev" class="footer-text"><img src="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23ffffff'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%20class='lucide%20lucide-feather'%3e%3cpath%20d='M12.67%2019a2%202%200%200%200%201.416-.588l6.154-6.172a6%206%200%200%200-8.49-8.49L5.586%209.914A2%202%200%200%200%205%2011.328V18a1%201%200%200%200%201%201z'/%3e%3cpath%20d='M16%208%202%2022'/%3e%3cpath%20d='M17.5%2015H9'/%3e%3c/svg%3e" class="inline-image">Blog</a>
</footer>
<canvas class="background" id="canvas" oncontextmenu="return false;"></div>
</body>
</html>
Open service 104.21.63.15:443 · christophermcd.dev
2026-01-09 18:44
HTTP/1.1 200 OK
Date: Fri, 09 Jan 2026 18:44:37 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Access-Control-Allow-Origin: *
Cache-Control: public, max-age=0, must-revalidate
cf-cache-status: DYNAMIC
referrer-policy: strict-origin-when-cross-origin
x-content-type-options: nosniff
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=DmphB%2F6%2FqNnL0EAyLWp8jn8TfunRtswrbA1gkheyLxtH4hZKT14OBuDkCY7zbO4NvbOOdozJigH5yLqCwnD9MYlNHRvXXQUBrold%2Bou%2BPNggDg%3D%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=8,cfOrigin;dur=44
CF-RAY: 9bb616452c88e428-SIN
alt-svc: h3=":443"; ma=86400
Page title: Christopher McDevitt's Website
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Christopher McDevitt's Website</title>
<script type="module" crossorigin src="/assets/main-B5JWQGSU.js"></script>
<link rel="stylesheet" crossorigin href="/assets/main-Bk6erhsH.css">
</head>
<body>
<header oncontextmenu="return false;"><h1>Christopher McDevitt</h1></header>
<div class="center" oncontextmenu="return false;">
<img src="/assets/picture-B2fRUrDy.png" width="512" height="512" class="image">
<div class="stack">
<p id="text" class="stack-item" oncontextmenu="return false;"></p>
<p id="text2" class="stack-item" oncontextmenu="return false;"></p>
</div>
</div>
<footer>
<a href="https://github.com/RebelAndroid" class="footer-text"><img src="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23ffffff'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%20class='lucide%20lucide-github'%3e%3cpath%20d='M15%2022v-4a4.8%204.8%200%200%200-1-3.5c3%200%206-2%206-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35%200-3.5%200%200-1%200-3%201.5-2.64-.5-5.36-.5-8%200C6%202%205%202%205%202c-.3%201.15-.3%202.35%200%203.5A5.403%205.403%200%200%200%204%209c0%203.5%203%205.5%206%205.5-.39.49-.68%201.05-.85%201.65-.17.6-.22%201.23-.15%201.85v4'/%3e%3cpath%20d='M9%2018c-4.51%202-5-2-7-2'/%3e%3c/svg%3e" class="inline-image">Github</a>
<a href="contact/" class="footer-text"><img src="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23ffffff'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%20class='lucide%20lucide-arrow-right-left'%3e%3cpath%20d='m16%203%204%204-4%204'/%3e%3cpath%20d='M20%207H4'/%3e%3cpath%20d='m8%2021-4-4%204-4'/%3e%3cpath%20d='M4%2017h16'/%3e%3c/svg%3e" class="inline-image">Contact</a>
<a href="https://blog.christophermcd.dev" class="footer-text"><img src="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23ffffff'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%20class='lucide%20lucide-feather'%3e%3cpath%20d='M12.67%2019a2%202%200%200%200%201.416-.588l6.154-6.172a6%206%200%200%200-8.49-8.49L5.586%209.914A2%202%200%200%200%205%2011.328V18a1%201%200%200%200%201%201z'/%3e%3cpath%20d='M16%208%202%2022'/%3e%3cpath%20d='M17.5%2015H9'/%3e%3c/svg%3e" class="inline-image">Blog</a>
</footer>
<canvas class="background" id="canvas" oncontextmenu="return false;"></div>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"5e6ef8833b80480e974a8624089db3bb","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
</body>
</html>
Open service 172.67.142.101:80 · christophermcd.dev
2026-01-09 18:44
HTTP/1.1 301 Moved Permanently
Date: Fri, 09 Jan 2026 18:44:37 GMT
Content-Length: 0
Connection: close
Location: https://christophermcd.dev/
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=IBEIFW3tMdLFMCuRbhjufo8owFcdW9vgLc6AuVbig2AfCaQZ%2BXWbTTBowC5WG7AiB8zryIzTH5kHvw7ew6cqjfRbic3LQAjmKlE1oYqBVE%2Buug%3D%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=17,cfOrigin;dur=6
cf-cache-status: DYNAMIC
CF-RAY: 9bb616450c11fd9b-SIN
alt-svc: h3=":443"; ma=86400
Open service 2606:4700:3033::ac43:8e65:443 · christophermcd.dev
2026-01-09 18:44
HTTP/1.1 200 OK
Date: Fri, 09 Jan 2026 18:44:37 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Access-Control-Allow-Origin: *
Cache-Control: public, max-age=0, must-revalidate
referrer-policy: strict-origin-when-cross-origin
x-content-type-options: nosniff
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=gpgN7f7mUEX1i5jwZ1fE4eTTG0rxxuIpJWC5vjtXeehw%2FCpN0xuMLCuhgr3eLPWS52f%2F%2FxTjKCef7eZEPhcvqX2QoNIEXBpod%2BmDw5LjTFAerPcRNcykDX4h9b8%2FyQ%3D%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
cf-cache-status: DYNAMIC
CF-RAY: 9bb616451830d35a-FRA
alt-svc: h3=":443"; ma=86400
Page title: Christopher McDevitt's Website
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Christopher McDevitt's Website</title>
<script type="module" crossorigin src="/assets/main-B5JWQGSU.js"></script>
<link rel="stylesheet" crossorigin href="/assets/main-Bk6erhsH.css">
</head>
<body>
<header oncontextmenu="return false;"><h1>Christopher McDevitt</h1></header>
<div class="center" oncontextmenu="return false;">
<img src="/assets/picture-B2fRUrDy.png" width="512" height="512" class="image">
<div class="stack">
<p id="text" class="stack-item" oncontextmenu="return false;"></p>
<p id="text2" class="stack-item" oncontextmenu="return false;"></p>
</div>
</div>
<footer>
<a href="https://github.com/RebelAndroid" class="footer-text"><img src="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23ffffff'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%20class='lucide%20lucide-github'%3e%3cpath%20d='M15%2022v-4a4.8%204.8%200%200%200-1-3.5c3%200%206-2%206-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35%200-3.5%200%200-1%200-3%201.5-2.64-.5-5.36-.5-8%200C6%202%205%202%205%202c-.3%201.15-.3%202.35%200%203.5A5.403%205.403%200%200%200%204%209c0%203.5%203%205.5%206%205.5-.39.49-.68%201.05-.85%201.65-.17.6-.22%201.23-.15%201.85v4'/%3e%3cpath%20d='M9%2018c-4.51%202-5-2-7-2'/%3e%3c/svg%3e" class="inline-image">Github</a>
<a href="contact/" class="footer-text"><img src="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23ffffff'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%20class='lucide%20lucide-arrow-right-left'%3e%3cpath%20d='m16%203%204%204-4%204'/%3e%3cpath%20d='M20%207H4'/%3e%3cpath%20d='m8%2021-4-4%204-4'/%3e%3cpath%20d='M4%2017h16'/%3e%3c/svg%3e" class="inline-image">Contact</a>
<a href="https://blog.christophermcd.dev" class="footer-text"><img src="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23ffffff'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%20class='lucide%20lucide-feather'%3e%3cpath%20d='M12.67%2019a2%202%200%200%200%201.416-.588l6.154-6.172a6%206%200%200%200-8.49-8.49L5.586%209.914A2%202%200%200%200%205%2011.328V18a1%201%200%200%200%201%201z'/%3e%3cpath%20d='M16%208%202%2022'/%3e%3cpath%20d='M17.5%2015H9'/%3e%3c/svg%3e" class="inline-image">Blog</a>
</footer>
<canvas class="background" id="canvas" oncontextmenu="return false;"></div>
</body>
</html>
Open service 172.67.142.101:443 · christophermcd.dev
2026-01-09 18:44
HTTP/1.1 200 OK
Date: Fri, 09 Jan 2026 18:44:37 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Access-Control-Allow-Origin: *
Cache-Control: public, max-age=0, must-revalidate
referrer-policy: strict-origin-when-cross-origin
x-content-type-options: nosniff
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=PjtV%2FZjVF9k6TneYMs32ST4lLC1dup8B6CKFTf%2BkQ2CF0hoVec%2BApFVFXx180bTfHAeSHVysqLY6kL2nUE0Xnkj%2Feauk1XWLS%2BogvRXfzUY%2BzA%3D%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
cf-cache-status: DYNAMIC
CF-RAY: 9bb6164519ffe85e-FRA
alt-svc: h3=":443"; ma=86400
Page title: Christopher McDevitt's Website
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Christopher McDevitt's Website</title>
<script type="module" crossorigin src="/assets/main-B5JWQGSU.js"></script>
<link rel="stylesheet" crossorigin href="/assets/main-Bk6erhsH.css">
</head>
<body>
<header oncontextmenu="return false;"><h1>Christopher McDevitt</h1></header>
<div class="center" oncontextmenu="return false;">
<img src="/assets/picture-B2fRUrDy.png" width="512" height="512" class="image">
<div class="stack">
<p id="text" class="stack-item" oncontextmenu="return false;"></p>
<p id="text2" class="stack-item" oncontextmenu="return false;"></p>
</div>
</div>
<footer>
<a href="https://github.com/RebelAndroid" class="footer-text"><img src="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23ffffff'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%20class='lucide%20lucide-github'%3e%3cpath%20d='M15%2022v-4a4.8%204.8%200%200%200-1-3.5c3%200%206-2%206-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35%200-3.5%200%200-1%200-3%201.5-2.64-.5-5.36-.5-8%200C6%202%205%202%205%202c-.3%201.15-.3%202.35%200%203.5A5.403%205.403%200%200%200%204%209c0%203.5%203%205.5%206%205.5-.39.49-.68%201.05-.85%201.65-.17.6-.22%201.23-.15%201.85v4'/%3e%3cpath%20d='M9%2018c-4.51%202-5-2-7-2'/%3e%3c/svg%3e" class="inline-image">Github</a>
<a href="contact/" class="footer-text"><img src="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23ffffff'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%20class='lucide%20lucide-arrow-right-left'%3e%3cpath%20d='m16%203%204%204-4%204'/%3e%3cpath%20d='M20%207H4'/%3e%3cpath%20d='m8%2021-4-4%204-4'/%3e%3cpath%20d='M4%2017h16'/%3e%3c/svg%3e" class="inline-image">Contact</a>
<a href="https://blog.christophermcd.dev" class="footer-text"><img src="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23ffffff'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%20class='lucide%20lucide-feather'%3e%3cpath%20d='M12.67%2019a2%202%200%200%200%201.416-.588l6.154-6.172a6%206%200%200%200-8.49-8.49L5.586%209.914A2%202%200%200%200%205%2011.328V18a1%201%200%200%200%201%201z'/%3e%3cpath%20d='M16%208%202%2022'/%3e%3cpath%20d='M17.5%2015H9'/%3e%3c/svg%3e" class="inline-image">Blog</a>
</footer>
<canvas class="background" id="canvas" oncontextmenu="return false;"></div>
</body>
</html>
Open service 104.21.63.15:80 · christophermcd.dev
2026-01-09 18:44
HTTP/1.1 301 Moved Permanently
Date: Fri, 09 Jan 2026 18:44:37 GMT
Content-Length: 0
Connection: close
Location: https://christophermcd.dev/
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=gcVr3UWIHBezIZP49%2F6b5K2DuKn1TAkCs%2FNjTTvm0x6R9AnWt6yXzz8TQ0Uqqm5K1B%2B%2FnW3Jg1%2F%2FI4dm6B2FUeI%2BxZVs0WznLl%2FB31EE86duDQ%3D%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
cf-cache-status: DYNAMIC
CF-RAY: 9bb61644ce92d381-FRA
alt-svc: h3=":443"; ma=86400
Open service 172.67.142.101:8443 · christophermcd.dev
2026-01-09 18:44
HTTP/1.1 200 OK
Date: Fri, 09 Jan 2026 18:44:37 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Access-Control-Allow-Origin: *
Cache-Control: public, max-age=0, must-revalidate
referrer-policy: strict-origin-when-cross-origin
x-content-type-options: nosniff
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=CDNSr1L0JwNI0K24wRXvqSyeyI9EQQ5U%2FdupmOgVMqeR5oWMYJiTo3R%2FED9S90AgMMNjL%2BZoRlea2T3sYiATctme%2FhQ5OIm2QU04Z%2FjLHvqTrg%3D%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
cf-cache-status: DYNAMIC
CF-RAY: 9bb616451a604a19-AMS
alt-svc: h3=":8443"; ma=86400
Page title: Christopher McDevitt's Website
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Christopher McDevitt's Website</title>
<script type="module" crossorigin src="/assets/main-B5JWQGSU.js"></script>
<link rel="stylesheet" crossorigin href="/assets/main-Bk6erhsH.css">
</head>
<body>
<header oncontextmenu="return false;"><h1>Christopher McDevitt</h1></header>
<div class="center" oncontextmenu="return false;">
<img src="/assets/picture-B2fRUrDy.png" width="512" height="512" class="image">
<div class="stack">
<p id="text" class="stack-item" oncontextmenu="return false;"></p>
<p id="text2" class="stack-item" oncontextmenu="return false;"></p>
</div>
</div>
<footer>
<a href="https://github.com/RebelAndroid" class="footer-text"><img src="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23ffffff'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%20class='lucide%20lucide-github'%3e%3cpath%20d='M15%2022v-4a4.8%204.8%200%200%200-1-3.5c3%200%206-2%206-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35%200-3.5%200%200-1%200-3%201.5-2.64-.5-5.36-.5-8%200C6%202%205%202%205%202c-.3%201.15-.3%202.35%200%203.5A5.403%205.403%200%200%200%204%209c0%203.5%203%205.5%206%205.5-.39.49-.68%201.05-.85%201.65-.17.6-.22%201.23-.15%201.85v4'/%3e%3cpath%20d='M9%2018c-4.51%202-5-2-7-2'/%3e%3c/svg%3e" class="inline-image">Github</a>
<a href="contact/" class="footer-text"><img src="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23ffffff'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%20class='lucide%20lucide-arrow-right-left'%3e%3cpath%20d='m16%203%204%204-4%204'/%3e%3cpath%20d='M20%207H4'/%3e%3cpath%20d='m8%2021-4-4%204-4'/%3e%3cpath%20d='M4%2017h16'/%3e%3c/svg%3e" class="inline-image">Contact</a>
<a href="https://blog.christophermcd.dev" class="footer-text"><img src="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23ffffff'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%20class='lucide%20lucide-feather'%3e%3cpath%20d='M12.67%2019a2%202%200%200%200%201.416-.588l6.154-6.172a6%206%200%200%200-8.49-8.49L5.586%209.914A2%202%200%200%200%205%2011.328V18a1%201%200%200%200%201%201z'/%3e%3cpath%20d='M16%208%202%2022'/%3e%3cpath%20d='M17.5%2015H9'/%3e%3c/svg%3e" class="inline-image">Blog</a>
</footer>
<canvas class="background" id="canvas" oncontextmenu="return false;"></div>
</body>
</html>
Open service 172.67.142.101:443 · christophermcd.dev
2026-01-03 23:18
HTTP/1.1 200 OK
Date: Sat, 03 Jan 2026 23:18:25 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Access-Control-Allow-Origin: *
Cache-Control: public, max-age=0, must-revalidate
cf-cache-status: DYNAMIC
referrer-policy: strict-origin-when-cross-origin
x-content-type-options: nosniff
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=R8Z3hBVvYeUTxGMN%2FogWtN4AepEsRfCU%2BVPNi3ejutWDdeNaohl5KedXNTk8XgfupZJlDzb%2Fq8Arnni6WC8OYwykbWnuVkpgs7F7mnGnslM%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=8,cfOrigin;dur=41
CF-RAY: 9b86371bcdff3413-SIN
alt-svc: h3=":443"; ma=86400
Page title: Christopher McDevitt's Website
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Christopher McDevitt's Website</title>
<script type="module" crossorigin src="/assets/main-B5JWQGSU.js"></script>
<link rel="stylesheet" crossorigin href="/assets/main-Bk6erhsH.css">
</head>
<body>
<header oncontextmenu="return false;"><h1>Christopher McDevitt</h1></header>
<div class="center" oncontextmenu="return false;">
<img src="/assets/picture-B2fRUrDy.png" width="512" height="512" class="image">
<div class="stack">
<p id="text" class="stack-item" oncontextmenu="return false;"></p>
<p id="text2" class="stack-item" oncontextmenu="return false;"></p>
</div>
</div>
<footer>
<a href="https://github.com/RebelAndroid" class="footer-text"><img src="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23ffffff'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%20class='lucide%20lucide-github'%3e%3cpath%20d='M15%2022v-4a4.8%204.8%200%200%200-1-3.5c3%200%206-2%206-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35%200-3.5%200%200-1%200-3%201.5-2.64-.5-5.36-.5-8%200C6%202%205%202%205%202c-.3%201.15-.3%202.35%200%203.5A5.403%205.403%200%200%200%204%209c0%203.5%203%205.5%206%205.5-.39.49-.68%201.05-.85%201.65-.17.6-.22%201.23-.15%201.85v4'/%3e%3cpath%20d='M9%2018c-4.51%202-5-2-7-2'/%3e%3c/svg%3e" class="inline-image">Github</a>
<a href="contact/" class="footer-text"><img src="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23ffffff'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%20class='lucide%20lucide-arrow-right-left'%3e%3cpath%20d='m16%203%204%204-4%204'/%3e%3cpath%20d='M20%207H4'/%3e%3cpath%20d='m8%2021-4-4%204-4'/%3e%3cpath%20d='M4%2017h16'/%3e%3c/svg%3e" class="inline-image">Contact</a>
<a href="https://blog.christophermcd.dev" class="footer-text"><img src="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23ffffff'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%20class='lucide%20lucide-feather'%3e%3cpath%20d='M12.67%2019a2%202%200%200%200%201.416-.588l6.154-6.172a6%206%200%200%200-8.49-8.49L5.586%209.914A2%202%200%200%200%205%2011.328V18a1%201%200%200%200%201%201z'/%3e%3cpath%20d='M16%208%202%2022'/%3e%3cpath%20d='M17.5%2015H9'/%3e%3c/svg%3e" class="inline-image">Blog</a>
</footer>
<canvas class="background" id="canvas" oncontextmenu="return false;"></div>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"5e6ef8833b80480e974a8624089db3bb","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
</body>
</html>
Open service 172.67.142.101:8443 · christophermcd.dev
2026-01-03 23:18
HTTP/1.1 200 OK
Date: Sat, 03 Jan 2026 23:18:25 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Access-Control-Allow-Origin: *
Cache-Control: public, max-age=0, must-revalidate
cf-cache-status: DYNAMIC
referrer-policy: strict-origin-when-cross-origin
x-content-type-options: nosniff
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=PrtE1TroiKcBHXKD4xjdJ3m3u2yQWVrg6KPLoNKjD%2F2xV36MsmwBnDikDkcZiK9WluWsfUMmwJrmGcMBce8lmkc3c5dA5KlyB0oJT9dn1eUtsw%3D%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=6,cfOrigin;dur=37
CF-RAY: 9b86371b3e56f8c8-SIN
alt-svc: h3=":8443"; ma=86400
Page title: Christopher McDevitt's Website
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Christopher McDevitt's Website</title>
<script type="module" crossorigin src="/assets/main-B5JWQGSU.js"></script>
<link rel="stylesheet" crossorigin href="/assets/main-Bk6erhsH.css">
</head>
<body>
<header oncontextmenu="return false;"><h1>Christopher McDevitt</h1></header>
<div class="center" oncontextmenu="return false;">
<img src="/assets/picture-B2fRUrDy.png" width="512" height="512" class="image">
<div class="stack">
<p id="text" class="stack-item" oncontextmenu="return false;"></p>
<p id="text2" class="stack-item" oncontextmenu="return false;"></p>
</div>
</div>
<footer>
<a href="https://github.com/RebelAndroid" class="footer-text"><img src="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23ffffff'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%20class='lucide%20lucide-github'%3e%3cpath%20d='M15%2022v-4a4.8%204.8%200%200%200-1-3.5c3%200%206-2%206-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35%200-3.5%200%200-1%200-3%201.5-2.64-.5-5.36-.5-8%200C6%202%205%202%205%202c-.3%201.15-.3%202.35%200%203.5A5.403%205.403%200%200%200%204%209c0%203.5%203%205.5%206%205.5-.39.49-.68%201.05-.85%201.65-.17.6-.22%201.23-.15%201.85v4'/%3e%3cpath%20d='M9%2018c-4.51%202-5-2-7-2'/%3e%3c/svg%3e" class="inline-image">Github</a>
<a href="contact/" class="footer-text"><img src="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23ffffff'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%20class='lucide%20lucide-arrow-right-left'%3e%3cpath%20d='m16%203%204%204-4%204'/%3e%3cpath%20d='M20%207H4'/%3e%3cpath%20d='m8%2021-4-4%204-4'/%3e%3cpath%20d='M4%2017h16'/%3e%3c/svg%3e" class="inline-image">Contact</a>
<a href="https://blog.christophermcd.dev" class="footer-text"><img src="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23ffffff'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%20class='lucide%20lucide-feather'%3e%3cpath%20d='M12.67%2019a2%202%200%200%200%201.416-.588l6.154-6.172a6%206%200%200%200-8.49-8.49L5.586%209.914A2%202%200%200%200%205%2011.328V18a1%201%200%200%200%201%201z'/%3e%3cpath%20d='M16%208%202%2022'/%3e%3cpath%20d='M17.5%2015H9'/%3e%3c/svg%3e" class="inline-image">Blog</a>
</footer>
<canvas class="background" id="canvas" oncontextmenu="return false;"></div>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"5e6ef8833b80480e974a8624089db3bb","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
</body>
</html>
Open service 2606:4700:3030::6815:3f0f:8443 · christophermcd.dev
2026-01-03 23:18
HTTP/1.1 200 OK
Date: Sat, 03 Jan 2026 23:18:25 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Access-Control-Allow-Origin: *
Cache-Control: public, max-age=0, must-revalidate
cf-cache-status: DYNAMIC
referrer-policy: strict-origin-when-cross-origin
x-content-type-options: nosniff
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=WwrqcPxFtImTvXepDuGRLPUU1wkddPMNGQSBHtvmkOA2brZXzpoDhLMgoR%2FXPFZ0ndHnwB87NxuJtYtefUR4ggMAePbNMB1Moav43mgbIOWgymx206Q9rlQuKlNvMw%3D%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=12,cfOrigin;dur=87
CF-RAY: 9b86371aead0abfd-YYZ
alt-svc: h3=":8443"; ma=86400
Page title: Christopher McDevitt's Website
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Christopher McDevitt's Website</title>
<script type="module" crossorigin src="/assets/main-B5JWQGSU.js"></script>
<link rel="stylesheet" crossorigin href="/assets/main-Bk6erhsH.css">
</head>
<body>
<header oncontextmenu="return false;"><h1>Christopher McDevitt</h1></header>
<div class="center" oncontextmenu="return false;">
<img src="/assets/picture-B2fRUrDy.png" width="512" height="512" class="image">
<div class="stack">
<p id="text" class="stack-item" oncontextmenu="return false;"></p>
<p id="text2" class="stack-item" oncontextmenu="return false;"></p>
</div>
</div>
<footer>
<a href="https://github.com/RebelAndroid" class="footer-text"><img src="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23ffffff'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%20class='lucide%20lucide-github'%3e%3cpath%20d='M15%2022v-4a4.8%204.8%200%200%200-1-3.5c3%200%206-2%206-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35%200-3.5%200%200-1%200-3%201.5-2.64-.5-5.36-.5-8%200C6%202%205%202%205%202c-.3%201.15-.3%202.35%200%203.5A5.403%205.403%200%200%200%204%209c0%203.5%203%205.5%206%205.5-.39.49-.68%201.05-.85%201.65-.17.6-.22%201.23-.15%201.85v4'/%3e%3cpath%20d='M9%2018c-4.51%202-5-2-7-2'/%3e%3c/svg%3e" class="inline-image">Github</a>
<a href="contact/" class="footer-text"><img src="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23ffffff'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%20class='lucide%20lucide-arrow-right-left'%3e%3cpath%20d='m16%203%204%204-4%204'/%3e%3cpath%20d='M20%207H4'/%3e%3cpath%20d='m8%2021-4-4%204-4'/%3e%3cpath%20d='M4%2017h16'/%3e%3c/svg%3e" class="inline-image">Contact</a>
<a href="https://blog.christophermcd.dev" class="footer-text"><img src="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23ffffff'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%20class='lucide%20lucide-feather'%3e%3cpath%20d='M12.67%2019a2%202%200%200%200%201.416-.588l6.154-6.172a6%206%200%200%200-8.49-8.49L5.586%209.914A2%202%200%200%200%205%2011.328V18a1%201%200%200%200%201%201z'/%3e%3cpath%20d='M16%208%202%2022'/%3e%3cpath%20d='M17.5%2015H9'/%3e%3c/svg%3e" class="inline-image">Blog</a>
</footer>
<canvas class="background" id="canvas" oncontextmenu="return false;"></div>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"5e6ef8833b80480e974a8624089db3bb","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
</body>
</html>
Open service 104.21.63.15:443 · christophermcd.dev
2026-01-03 23:18
HTTP/1.1 200 OK
Date: Sat, 03 Jan 2026 23:18:25 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Access-Control-Allow-Origin: *
Cache-Control: public, max-age=0, must-revalidate
cf-cache-status: DYNAMIC
referrer-policy: strict-origin-when-cross-origin
x-content-type-options: nosniff
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=ZRc7%2BM8Ir5dKCTutAOoMnb1a0OYVKeXY7ipnKy161TTv2HuQ5AbLEfq%2FpHup4%2BYmju4uniXsboUVD70hsJyySGs2bmn21%2BtL1BpLuBhKM0A%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=14,cfOrigin;dur=104
CF-RAY: 9b86371ae80ca21c-YYZ
alt-svc: h3=":443"; ma=86400
Page title: Christopher McDevitt's Website
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Christopher McDevitt's Website</title>
<script type="module" crossorigin src="/assets/main-B5JWQGSU.js"></script>
<link rel="stylesheet" crossorigin href="/assets/main-Bk6erhsH.css">
</head>
<body>
<header oncontextmenu="return false;"><h1>Christopher McDevitt</h1></header>
<div class="center" oncontextmenu="return false;">
<img src="/assets/picture-B2fRUrDy.png" width="512" height="512" class="image">
<div class="stack">
<p id="text" class="stack-item" oncontextmenu="return false;"></p>
<p id="text2" class="stack-item" oncontextmenu="return false;"></p>
</div>
</div>
<footer>
<a href="https://github.com/RebelAndroid" class="footer-text"><img src="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23ffffff'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%20class='lucide%20lucide-github'%3e%3cpath%20d='M15%2022v-4a4.8%204.8%200%200%200-1-3.5c3%200%206-2%206-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35%200-3.5%200%200-1%200-3%201.5-2.64-.5-5.36-.5-8%200C6%202%205%202%205%202c-.3%201.15-.3%202.35%200%203.5A5.403%205.403%200%200%200%204%209c0%203.5%203%205.5%206%205.5-.39.49-.68%201.05-.85%201.65-.17.6-.22%201.23-.15%201.85v4'/%3e%3cpath%20d='M9%2018c-4.51%202-5-2-7-2'/%3e%3c/svg%3e" class="inline-image">Github</a>
<a href="contact/" class="footer-text"><img src="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23ffffff'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%20class='lucide%20lucide-arrow-right-left'%3e%3cpath%20d='m16%203%204%204-4%204'/%3e%3cpath%20d='M20%207H4'/%3e%3cpath%20d='m8%2021-4-4%204-4'/%3e%3cpath%20d='M4%2017h16'/%3e%3c/svg%3e" class="inline-image">Contact</a>
<a href="https://blog.christophermcd.dev" class="footer-text"><img src="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23ffffff'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%20class='lucide%20lucide-feather'%3e%3cpath%20d='M12.67%2019a2%202%200%200%200%201.416-.588l6.154-6.172a6%206%200%200%200-8.49-8.49L5.586%209.914A2%202%200%200%200%205%2011.328V18a1%201%200%200%200%201%201z'/%3e%3cpath%20d='M16%208%202%2022'/%3e%3cpath%20d='M17.5%2015H9'/%3e%3c/svg%3e" class="inline-image">Blog</a>
</footer>
<canvas class="background" id="canvas" oncontextmenu="return false;"></div>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"5e6ef8833b80480e974a8624089db3bb","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
</body>
</html>
Open service 2606:4700:3033::ac43:8e65:443 · christophermcd.dev
2026-01-03 23:18
HTTP/1.1 200 OK
Date: Sat, 03 Jan 2026 23:18:25 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Access-Control-Allow-Origin: *
Cache-Control: public, max-age=0, must-revalidate
cf-cache-status: DYNAMIC
referrer-policy: strict-origin-when-cross-origin
x-content-type-options: nosniff
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=hbEo%2BqcpmOABt%2FLjdtUkom6BAdBSTQoG3KWXkWHbn0AJCqDfyW80HGAymVlAuavW7ks4Ysq2FRT%2F%2F2GknNLWjCy00zc8S892IZ23W25Mf%2BS2hyIIbUXflV6xolT5wQ%3D%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=12,cfOrigin;dur=45
CF-RAY: 9b86371adb06ab45-YYZ
alt-svc: h3=":443"; ma=86400
Page title: Christopher McDevitt's Website
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Christopher McDevitt's Website</title>
<script type="module" crossorigin src="/assets/main-B5JWQGSU.js"></script>
<link rel="stylesheet" crossorigin href="/assets/main-Bk6erhsH.css">
</head>
<body>
<header oncontextmenu="return false;"><h1>Christopher McDevitt</h1></header>
<div class="center" oncontextmenu="return false;">
<img src="/assets/picture-B2fRUrDy.png" width="512" height="512" class="image">
<div class="stack">
<p id="text" class="stack-item" oncontextmenu="return false;"></p>
<p id="text2" class="stack-item" oncontextmenu="return false;"></p>
</div>
</div>
<footer>
<a href="https://github.com/RebelAndroid" class="footer-text"><img src="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23ffffff'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%20class='lucide%20lucide-github'%3e%3cpath%20d='M15%2022v-4a4.8%204.8%200%200%200-1-3.5c3%200%206-2%206-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35%200-3.5%200%200-1%200-3%201.5-2.64-.5-5.36-.5-8%200C6%202%205%202%205%202c-.3%201.15-.3%202.35%200%203.5A5.403%205.403%200%200%200%204%209c0%203.5%203%205.5%206%205.5-.39.49-.68%201.05-.85%201.65-.17.6-.22%201.23-.15%201.85v4'/%3e%3cpath%20d='M9%2018c-4.51%202-5-2-7-2'/%3e%3c/svg%3e" class="inline-image">Github</a>
<a href="contact/" class="footer-text"><img src="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23ffffff'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%20class='lucide%20lucide-arrow-right-left'%3e%3cpath%20d='m16%203%204%204-4%204'/%3e%3cpath%20d='M20%207H4'/%3e%3cpath%20d='m8%2021-4-4%204-4'/%3e%3cpath%20d='M4%2017h16'/%3e%3c/svg%3e" class="inline-image">Contact</a>
<a href="https://blog.christophermcd.dev" class="footer-text"><img src="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23ffffff'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%20class='lucide%20lucide-feather'%3e%3cpath%20d='M12.67%2019a2%202%200%200%200%201.416-.588l6.154-6.172a6%206%200%200%200-8.49-8.49L5.586%209.914A2%202%200%200%200%205%2011.328V18a1%201%200%200%200%201%201z'/%3e%3cpath%20d='M16%208%202%2022'/%3e%3cpath%20d='M17.5%2015H9'/%3e%3c/svg%3e" class="inline-image">Blog</a>
</footer>
<canvas class="background" id="canvas" oncontextmenu="return false;"></div>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"5e6ef8833b80480e974a8624089db3bb","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
</body>
</html>
Open service 172.67.142.101:80 · christophermcd.dev
2026-01-03 23:18
HTTP/1.1 301 Moved Permanently
Date: Sat, 03 Jan 2026 23:18:25 GMT
Content-Length: 0
Connection: close
Location: https://christophermcd.dev/
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=uOAGHzOIfc%2F%2B%2FzIcLZ%2BdIQzY6mBGdqYapLIyKo7o6H6Oc7k%2BeudzMRUhSiivN2EBsDREsHYrD85%2B3Iay22x9iPB4tVkrVt1boo5dXqiHHfaivQ%3D%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
cf-cache-status: DYNAMIC
CF-RAY: 9b863719dda7dca0-FRA
alt-svc: h3=":443"; ma=86400
Open service 2606:4700:3030::6815:3f0f:443 · christophermcd.dev
2026-01-03 23:18
HTTP/1.1 200 OK
Date: Sat, 03 Jan 2026 23:18:25 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Access-Control-Allow-Origin: *
Cache-Control: public, max-age=0, must-revalidate
cf-cache-status: DYNAMIC
referrer-policy: strict-origin-when-cross-origin
x-content-type-options: nosniff
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=RfvVP5hYrewS6ja0LLI7F4pIFq8iZxkrAIyEM6TGgWen%2B35fu7XJ920tV2SuYs53KSnHZ0Yjlk5VzaaYVPCpNx5SB3J8q2zYiAoads7aEMl84HZGnDycG4oyTTRY7w%3D%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=10,cfOrigin;dur=44
CF-RAY: 9b86371a3ee68c73-EWR
alt-svc: h3=":443"; ma=86400
Page title: Christopher McDevitt's Website
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Christopher McDevitt's Website</title>
<script type="module" crossorigin src="/assets/main-B5JWQGSU.js"></script>
<link rel="stylesheet" crossorigin href="/assets/main-Bk6erhsH.css">
</head>
<body>
<header oncontextmenu="return false;"><h1>Christopher McDevitt</h1></header>
<div class="center" oncontextmenu="return false;">
<img src="/assets/picture-B2fRUrDy.png" width="512" height="512" class="image">
<div class="stack">
<p id="text" class="stack-item" oncontextmenu="return false;"></p>
<p id="text2" class="stack-item" oncontextmenu="return false;"></p>
</div>
</div>
<footer>
<a href="https://github.com/RebelAndroid" class="footer-text"><img src="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23ffffff'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%20class='lucide%20lucide-github'%3e%3cpath%20d='M15%2022v-4a4.8%204.8%200%200%200-1-3.5c3%200%206-2%206-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35%200-3.5%200%200-1%200-3%201.5-2.64-.5-5.36-.5-8%200C6%202%205%202%205%202c-.3%201.15-.3%202.35%200%203.5A5.403%205.403%200%200%200%204%209c0%203.5%203%205.5%206%205.5-.39.49-.68%201.05-.85%201.65-.17.6-.22%201.23-.15%201.85v4'/%3e%3cpath%20d='M9%2018c-4.51%202-5-2-7-2'/%3e%3c/svg%3e" class="inline-image">Github</a>
<a href="contact/" class="footer-text"><img src="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23ffffff'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%20class='lucide%20lucide-arrow-right-left'%3e%3cpath%20d='m16%203%204%204-4%204'/%3e%3cpath%20d='M20%207H4'/%3e%3cpath%20d='m8%2021-4-4%204-4'/%3e%3cpath%20d='M4%2017h16'/%3e%3c/svg%3e" class="inline-image">Contact</a>
<a href="https://blog.christophermcd.dev" class="footer-text"><img src="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23ffffff'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%20class='lucide%20lucide-feather'%3e%3cpath%20d='M12.67%2019a2%202%200%200%200%201.416-.588l6.154-6.172a6%206%200%200%200-8.49-8.49L5.586%209.914A2%202%200%200%200%205%2011.328V18a1%201%200%200%200%201%201z'/%3e%3cpath%20d='M16%208%202%2022'/%3e%3cpath%20d='M17.5%2015H9'/%3e%3c/svg%3e" class="inline-image">Blog</a>
</footer>
<canvas class="background" id="canvas" oncontextmenu="return false;"></div>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"5e6ef8833b80480e974a8624089db3bb","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
</body>
</html>
Open service 2606:4700:3033::ac43:8e65:80 · christophermcd.dev
2026-01-03 23:18
HTTP/1.1 301 Moved Permanently
Date: Sat, 03 Jan 2026 23:18:25 GMT
Content-Length: 0
Connection: close
Location: https://christophermcd.dev/
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=1M4JeTJpl%2BegSFAzIlyHA3d8elPkGD%2BzErRTZ3r5S5HFaVWlnawNItEZJBghPGIeDAB%2F6OsdjzUShetIjMV3LnCfppKVnHfCKSq0ZZ3kVlUuekPL5UGSpPPF4YQ6Dg%3D%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=16,cfOrigin;dur=7
cf-cache-status: DYNAMIC
CF-RAY: 9b863719bfb96e28-EWR
alt-svc: h3=":443"; ma=86400
Open service 2606:4700:3030::6815:3f0f:80 · christophermcd.dev
2026-01-03 23:18
HTTP/1.1 301 Moved Permanently
Date: Sat, 03 Jan 2026 23:18:25 GMT
Content-Length: 0
Connection: close
Location: https://christophermcd.dev/
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=EuYK2k6ID2qdmxvlD2P2Kt4OuTfhiFaUjdt2upZWD36nQzDl7VebfgL8C05jqVLSo9qd%2BGfdzjQMTr6xhe9sLyuvDr4EcKEc6BRS31nVLW1ugjlULLWGH0ZdlRE%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=22,cfOrigin;dur=10
cf-cache-status: DYNAMIC
CF-RAY: 9b8637198dde5024-SJC
alt-svc: h3=":443"; ma=86400
Open service 2606:4700:3033::ac43:8e65:8443 · christophermcd.dev
2026-01-03 23:18
HTTP/1.1 200 OK
Date: Sat, 03 Jan 2026 23:18:26 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Access-Control-Allow-Origin: *
Cache-Control: public, max-age=0, must-revalidate
cf-cache-status: DYNAMIC
referrer-policy: strict-origin-when-cross-origin
x-content-type-options: nosniff
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=WkMP98et8NDw5fGjs1HJZY%2BFtPcjU5F%2FEFcpFoW%2BEVLPRk%2BlK6ZXzmBPcjiaB9tHyFK6GQ8lbfY8aqwWv3euhfQPL7goHGJPyztBl2qhmjnPpp4Pnudd33uJa%2BA%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=8,cfOrigin;dur=181
CF-RAY: 9b86371cec5c6edd-BOM
alt-svc: h3=":8443"; ma=86400
Page title: Christopher McDevitt's Website
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Christopher McDevitt's Website</title>
<script type="module" crossorigin src="/assets/main-B5JWQGSU.js"></script>
<link rel="stylesheet" crossorigin href="/assets/main-Bk6erhsH.css">
</head>
<body>
<header oncontextmenu="return false;"><h1>Christopher McDevitt</h1></header>
<div class="center" oncontextmenu="return false;">
<img src="/assets/picture-B2fRUrDy.png" width="512" height="512" class="image">
<div class="stack">
<p id="text" class="stack-item" oncontextmenu="return false;"></p>
<p id="text2" class="stack-item" oncontextmenu="return false;"></p>
</div>
</div>
<footer>
<a href="https://github.com/RebelAndroid" class="footer-text"><img src="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23ffffff'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%20class='lucide%20lucide-github'%3e%3cpath%20d='M15%2022v-4a4.8%204.8%200%200%200-1-3.5c3%200%206-2%206-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35%200-3.5%200%200-1%200-3%201.5-2.64-.5-5.36-.5-8%200C6%202%205%202%205%202c-.3%201.15-.3%202.35%200%203.5A5.403%205.403%200%200%200%204%209c0%203.5%203%205.5%206%205.5-.39.49-.68%201.05-.85%201.65-.17.6-.22%201.23-.15%201.85v4'/%3e%3cpath%20d='M9%2018c-4.51%202-5-2-7-2'/%3e%3c/svg%3e" class="inline-image">Github</a>
<a href="contact/" class="footer-text"><img src="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23ffffff'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%20class='lucide%20lucide-arrow-right-left'%3e%3cpath%20d='m16%203%204%204-4%204'/%3e%3cpath%20d='M20%207H4'/%3e%3cpath%20d='m8%2021-4-4%204-4'/%3e%3cpath%20d='M4%2017h16'/%3e%3c/svg%3e" class="inline-image">Contact</a>
<a href="https://blog.christophermcd.dev" class="footer-text"><img src="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23ffffff'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%20class='lucide%20lucide-feather'%3e%3cpath%20d='M12.67%2019a2%202%200%200%200%201.416-.588l6.154-6.172a6%206%200%200%200-8.49-8.49L5.586%209.914A2%202%200%200%200%205%2011.328V18a1%201%200%200%200%201%201z'/%3e%3cpath%20d='M16%208%202%2022'/%3e%3cpath%20d='M17.5%2015H9'/%3e%3c/svg%3e" class="inline-image">Blog</a>
</footer>
<canvas class="background" id="canvas" oncontextmenu="return false;"></div>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"5e6ef8833b80480e974a8624089db3bb","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
</body>
</html>
Open service 104.21.63.15:8443 · christophermcd.dev
2026-01-03 23:18
HTTP/1.1 200 OK
Date: Sat, 03 Jan 2026 23:18:25 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Access-Control-Allow-Origin: *
Cache-Control: public, max-age=0, must-revalidate
cf-cache-status: DYNAMIC
referrer-policy: strict-origin-when-cross-origin
x-content-type-options: nosniff
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=E1Vtjxodh3hWVUxTr%2FHm4XIDnqLxzoIs8yhMHN0xEPFVkziejC%2BTjgYqSdRUWMbZ9Nd7XHjXGFTzIfnPkNHxV2yqXbbtTK%2F1wtsTemqgaguN7Q%3D%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=16,cfOrigin;dur=44
CF-RAY: 9b863719ab3b91bf-SIN
alt-svc: h3=":8443"; ma=86400
Page title: Christopher McDevitt's Website
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Christopher McDevitt's Website</title>
<script type="module" crossorigin src="/assets/main-B5JWQGSU.js"></script>
<link rel="stylesheet" crossorigin href="/assets/main-Bk6erhsH.css">
</head>
<body>
<header oncontextmenu="return false;"><h1>Christopher McDevitt</h1></header>
<div class="center" oncontextmenu="return false;">
<img src="/assets/picture-B2fRUrDy.png" width="512" height="512" class="image">
<div class="stack">
<p id="text" class="stack-item" oncontextmenu="return false;"></p>
<p id="text2" class="stack-item" oncontextmenu="return false;"></p>
</div>
</div>
<footer>
<a href="https://github.com/RebelAndroid" class="footer-text"><img src="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23ffffff'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%20class='lucide%20lucide-github'%3e%3cpath%20d='M15%2022v-4a4.8%204.8%200%200%200-1-3.5c3%200%206-2%206-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35%200-3.5%200%200-1%200-3%201.5-2.64-.5-5.36-.5-8%200C6%202%205%202%205%202c-.3%201.15-.3%202.35%200%203.5A5.403%205.403%200%200%200%204%209c0%203.5%203%205.5%206%205.5-.39.49-.68%201.05-.85%201.65-.17.6-.22%201.23-.15%201.85v4'/%3e%3cpath%20d='M9%2018c-4.51%202-5-2-7-2'/%3e%3c/svg%3e" class="inline-image">Github</a>
<a href="contact/" class="footer-text"><img src="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23ffffff'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%20class='lucide%20lucide-arrow-right-left'%3e%3cpath%20d='m16%203%204%204-4%204'/%3e%3cpath%20d='M20%207H4'/%3e%3cpath%20d='m8%2021-4-4%204-4'/%3e%3cpath%20d='M4%2017h16'/%3e%3c/svg%3e" class="inline-image">Contact</a>
<a href="https://blog.christophermcd.dev" class="footer-text"><img src="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23ffffff'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%20class='lucide%20lucide-feather'%3e%3cpath%20d='M12.67%2019a2%202%200%200%200%201.416-.588l6.154-6.172a6%206%200%200%200-8.49-8.49L5.586%209.914A2%202%200%200%200%205%2011.328V18a1%201%200%200%200%201%201z'/%3e%3cpath%20d='M16%208%202%2022'/%3e%3cpath%20d='M17.5%2015H9'/%3e%3c/svg%3e" class="inline-image">Blog</a>
</footer>
<canvas class="background" id="canvas" oncontextmenu="return false;"></div>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"5e6ef8833b80480e974a8624089db3bb","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
</body>
</html>
Open service 104.21.63.15:80 · christophermcd.dev
2026-01-03 23:18
HTTP/1.1 301 Moved Permanently
Date: Sat, 03 Jan 2026 23:18:25 GMT
Content-Length: 0
Connection: close
Location: https://christophermcd.dev/
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=5LXUmUhbXVyNSTTkEb8u0gH7KpzQ0wy55rsod4tdr4c7x2vGUXoneVcJolhTbb%2BtFKa9lEIVVgvKx3objxIleNHg5%2BvvCpzQXcQynHA%2BvUGZvA%3D%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
cf-cache-status: DYNAMIC
CF-RAY: 9b8637190a4d8f32-FRA
alt-svc: h3=":443"; ma=86400