Caddy
tcp/80
Varnish
tcp/80
Vercel
tcp/443
openresty
tcp/443
Open service 2a04:4e42:400::775:80 · justinacton.com
2026-01-12 00:46
HTTP/1.1 301 Moved Permanently Connection: close Content-Length: 0 Server: Varnish Retry-After: 0 Location: https://justinacton.com/ Accept-Ranges: bytes Date: Mon, 12 Jan 2026 00:46:59 GMT Via: 1.1 varnish X-Served-By: cache-vie6330-VIE X-Cache: HIT X-Cache-Hits: 0 X-Timer: S1768178819.207976,VS0,VE1 x-request-id: fe75db0e-6911-4165-8dcc-c66319f27e93 Ghost-Fastly: true;production Alt-Svc: clear
Open service 2a04:4e42:400::775:443 · justinacton.com
2026-01-12 00:46
HTTP/1.1 200 OK
Connection: close
Content-Length: 63270
content-type: text/html; charset=utf-8
cache-control: public, max-age=0
etag: W/"f726-bLpdzvYb6W0yX7/1sNM2R0kqSXc"
status: 200 OK
via: 1.1 varnish, 1.1 varnish, 1.1 varnish
server: openresty
Accept-Ranges: bytes
Date: Mon, 12 Jan 2026 00:46:59 GMT
Age: 203725
X-Served-By: cache-ams2100147-AMS, cache-ams2100147-AMS, cache-vie6334-VIE
X-Cache: MISS, HIT, HIT
X-Cache-Hits: 0, 4, 1
X-Timer: S1768178819.279902,VS0,VE3
Vary: Cookie, Accept-Encoding
x-request-id: eb4da303-b7ad-402e-a9c3-9d05ec867a1e
Ghost-Fastly: true;production
Alt-Svc: clear
Page title: Justin Acton
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Justin Acton</title>
<link rel="stylesheet" href="https://justinacton.com/assets/built/screen.css?v=c2cfad947f">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:400,400i,500,700,700i">
<script>
var siteUrl = 'https://justinacton.com';
</script>
<meta name="description" content="Thoughts, tips, and documentation">
<link rel="canonical" href="https://justinacton.com/">
<meta name="referrer" content="no-referrer-when-downgrade">
<link rel="next" href="https://justinacton.com/page/2/">
<meta property="og:site_name" content="Justin Acton">
<meta property="og:type" content="website">
<meta property="og:title" content="Justin Acton">
<meta property="og:description" content="Thoughts, tips, and documentation">
<meta property="og:url" content="https://justinacton.com/">
<meta property="og:image" content="https://justinacton.com/content/images/size/w1200/2019/11/downtown-188848_1280.jpg">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Justin Acton">
<meta name="twitter:description" content="Thoughts, tips, and documentation">
<meta name="twitter:url" content="https://justinacton.com/">
<meta name="twitter:image" content="https://justinacton.com/content/images/size/w1200/2019/11/downtown-188848_1280.jpg">
<meta name="twitter:site" content="@justinacton">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="900">
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "WebSite",
"publisher": {
"@type": "Organization",
"name": "Justin Acton",
"url": "https://justinacton.com/",
"logo": {
"@type": "ImageObject",
"url": "https://justinacton.com/content/images/2019/11/Logo.png"
}
},
"url": "https://justinacton.com/",
"name": "Justin Acton",
"image": {
"@type": "ImageObject",
"url": "https://justinacton.com/content/images/size/w1200/2019/11/downtown-188848_1280.jpg",
"width": 1200,
"height": 900
},
"mainEntityOfPage": "https://justinacton.com/",
"description": "Thoughts, tips, and documentation"
}
</script>
<meta name="generator" content="Ghost 6.10">
<link rel="alternate" type="application/rss+xml" title="Justin Acton" href="https://justinacton.com/rss/">
<script defer src="https://cdn.jsdelivr.net/ghost/portal@~2.56/umd/portal.min.js" data-i18n="true" data-ghost="https://justinacton.com/" data-key="cfdbbfa1eb539dd4208756e099" data-api="https://justinacton.ghost.io/ghost/api/content/" data-locale="en" crossorigin="anonymous"></script><style id="gh-members-styles">.gh-post-upgrade-cta-content,
.gh-post-upgrade-cta {
display: flex;
flex-direction: column;
align-items: center;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
text-align: center;
width: 100%;
color: #ffffff;
font-size: 16px;
}
.gh-post-upgrade-cta-content {
border-radius: 8px;
padding: 40px 4vw;
}
.gh-post-upgrade-cta h2 {
color: #ffffff;
font-size: 28px;
letter-spacing: -0.2px;
margin: 0;
padding: 0;
}
.gh-post-upgrade-cta p {
margin: 20px 0 0;
padding: 0;
}
.gh-post-upgrade-cta small {
font-size: 16px;
letter-spacing: -0.2px;
}
.gh-post-upgrade-cta a {
color: #ffffff;
cursor: pointer;
font-weight: 500;
box-shadow: none;
text-decoration: underline;
}
.gh-post-upgrade-cta a:hover {
color: #ffffff;
opacity: 0.8;
box-shadow: none;
text-decoration: underline;
}
.gh-post-upgrade-cta a.gh-btn {
display: block;
background: #ffffff;
text-decoration: none;
margin: 28px 0 0;
padding: 8px 18px;
border-radius: 4px;
Open service 2a04:4e42:600::775:80 · justinacton.com
2026-01-12 00:46
HTTP/1.1 301 Moved Permanently Connection: close Content-Length: 0 Server: Varnish Retry-After: 0 Location: https://justinacton.com/ Accept-Ranges: bytes Date: Mon, 12 Jan 2026 00:46:59 GMT Via: 1.1 varnish X-Served-By: cache-fra-eddf8230031-FRA X-Cache: HIT X-Cache-Hits: 0 X-Timer: S1768178819.238376,VS0,VE1 x-request-id: e5117ac4-ef82-41bd-a601-e69bb28f8f82 Ghost-Fastly: true;production Alt-Svc: clear
Open service 2a04:4e42:200::775:443 · justinacton.com
2026-01-12 00:46
HTTP/1.1 200 OK
Connection: close
Content-Length: 63270
content-type: text/html; charset=utf-8
cache-control: public, max-age=0
etag: W/"f726-bLpdzvYb6W0yX7/1sNM2R0kqSXc"
status: 200 OK
via: 1.1 varnish, 1.1 varnish, 1.1 varnish
server: openresty
Accept-Ranges: bytes
Date: Mon, 12 Jan 2026 00:46:59 GMT
Age: 203725
X-Served-By: cache-ams2100147-AMS, cache-ams2100147-AMS, cache-vie6326-VIE
X-Cache: MISS, HIT, HIT
X-Cache-Hits: 0, 4, 1
X-Timer: S1768178819.236692,VS0,VE2
Vary: Cookie, Accept-Encoding
x-request-id: bc76ee98-9145-4668-909e-2c5088db3e8d
Ghost-Fastly: true;production
Alt-Svc: clear
Page title: Justin Acton
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Justin Acton</title>
<link rel="stylesheet" href="https://justinacton.com/assets/built/screen.css?v=c2cfad947f">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:400,400i,500,700,700i">
<script>
var siteUrl = 'https://justinacton.com';
</script>
<meta name="description" content="Thoughts, tips, and documentation">
<link rel="canonical" href="https://justinacton.com/">
<meta name="referrer" content="no-referrer-when-downgrade">
<link rel="next" href="https://justinacton.com/page/2/">
<meta property="og:site_name" content="Justin Acton">
<meta property="og:type" content="website">
<meta property="og:title" content="Justin Acton">
<meta property="og:description" content="Thoughts, tips, and documentation">
<meta property="og:url" content="https://justinacton.com/">
<meta property="og:image" content="https://justinacton.com/content/images/size/w1200/2019/11/downtown-188848_1280.jpg">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Justin Acton">
<meta name="twitter:description" content="Thoughts, tips, and documentation">
<meta name="twitter:url" content="https://justinacton.com/">
<meta name="twitter:image" content="https://justinacton.com/content/images/size/w1200/2019/11/downtown-188848_1280.jpg">
<meta name="twitter:site" content="@justinacton">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="900">
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "WebSite",
"publisher": {
"@type": "Organization",
"name": "Justin Acton",
"url": "https://justinacton.com/",
"logo": {
"@type": "ImageObject",
"url": "https://justinacton.com/content/images/2019/11/Logo.png"
}
},
"url": "https://justinacton.com/",
"name": "Justin Acton",
"image": {
"@type": "ImageObject",
"url": "https://justinacton.com/content/images/size/w1200/2019/11/downtown-188848_1280.jpg",
"width": 1200,
"height": 900
},
"mainEntityOfPage": "https://justinacton.com/",
"description": "Thoughts, tips, and documentation"
}
</script>
<meta name="generator" content="Ghost 6.10">
<link rel="alternate" type="application/rss+xml" title="Justin Acton" href="https://justinacton.com/rss/">
<script defer src="https://cdn.jsdelivr.net/ghost/portal@~2.56/umd/portal.min.js" data-i18n="true" data-ghost="https://justinacton.com/" data-key="cfdbbfa1eb539dd4208756e099" data-api="https://justinacton.ghost.io/ghost/api/content/" data-locale="en" crossorigin="anonymous"></script><style id="gh-members-styles">.gh-post-upgrade-cta-content,
.gh-post-upgrade-cta {
display: flex;
flex-direction: column;
align-items: center;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
text-align: center;
width: 100%;
color: #ffffff;
font-size: 16px;
}
.gh-post-upgrade-cta-content {
border-radius: 8px;
padding: 40px 4vw;
}
.gh-post-upgrade-cta h2 {
color: #ffffff;
font-size: 28px;
letter-spacing: -0.2px;
margin: 0;
padding: 0;
}
.gh-post-upgrade-cta p {
margin: 20px 0 0;
padding: 0;
}
.gh-post-upgrade-cta small {
font-size: 16px;
letter-spacing: -0.2px;
}
.gh-post-upgrade-cta a {
color: #ffffff;
cursor: pointer;
font-weight: 500;
box-shadow: none;
text-decoration: underline;
}
.gh-post-upgrade-cta a:hover {
color: #ffffff;
opacity: 0.8;
box-shadow: none;
text-decoration: underline;
}
.gh-post-upgrade-cta a.gh-btn {
display: block;
background: #ffffff;
text-decoration: none;
margin: 28px 0 0;
padding: 8px 18px;
border-radius: 4px;
Open service 2a04:4e42:600::775:443 · justinacton.com
2026-01-12 00:46
HTTP/1.1 200 OK
Connection: close
Content-Length: 63270
content-type: text/html; charset=utf-8
cache-control: public, max-age=0
etag: W/"f726-bLpdzvYb6W0yX7/1sNM2R0kqSXc"
status: 200 OK
via: 1.1 varnish, 1.1 varnish, 1.1 varnish
server: openresty
Accept-Ranges: bytes
Date: Mon, 12 Jan 2026 00:46:59 GMT
Age: 203725
X-Served-By: cache-ams2100147-AMS, cache-ams2100147-AMS, cache-fra-eddf8230105-FRA
X-Cache: MISS, HIT, HIT
X-Cache-Hits: 0, 3, 1
X-Timer: S1768178819.203385,VS0,VE3
Vary: Cookie, Accept-Encoding
x-request-id: 1ad2bee8-c407-4e84-abc4-1216fd680d8e
Ghost-Fastly: true;production
Alt-Svc: clear
Page title: Justin Acton
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Justin Acton</title>
<link rel="stylesheet" href="https://justinacton.com/assets/built/screen.css?v=c2cfad947f">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:400,400i,500,700,700i">
<script>
var siteUrl = 'https://justinacton.com';
</script>
<meta name="description" content="Thoughts, tips, and documentation">
<link rel="canonical" href="https://justinacton.com/">
<meta name="referrer" content="no-referrer-when-downgrade">
<link rel="next" href="https://justinacton.com/page/2/">
<meta property="og:site_name" content="Justin Acton">
<meta property="og:type" content="website">
<meta property="og:title" content="Justin Acton">
<meta property="og:description" content="Thoughts, tips, and documentation">
<meta property="og:url" content="https://justinacton.com/">
<meta property="og:image" content="https://justinacton.com/content/images/size/w1200/2019/11/downtown-188848_1280.jpg">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Justin Acton">
<meta name="twitter:description" content="Thoughts, tips, and documentation">
<meta name="twitter:url" content="https://justinacton.com/">
<meta name="twitter:image" content="https://justinacton.com/content/images/size/w1200/2019/11/downtown-188848_1280.jpg">
<meta name="twitter:site" content="@justinacton">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="900">
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "WebSite",
"publisher": {
"@type": "Organization",
"name": "Justin Acton",
"url": "https://justinacton.com/",
"logo": {
"@type": "ImageObject",
"url": "https://justinacton.com/content/images/2019/11/Logo.png"
}
},
"url": "https://justinacton.com/",
"name": "Justin Acton",
"image": {
"@type": "ImageObject",
"url": "https://justinacton.com/content/images/size/w1200/2019/11/downtown-188848_1280.jpg",
"width": 1200,
"height": 900
},
"mainEntityOfPage": "https://justinacton.com/",
"description": "Thoughts, tips, and documentation"
}
</script>
<meta name="generator" content="Ghost 6.10">
<link rel="alternate" type="application/rss+xml" title="Justin Acton" href="https://justinacton.com/rss/">
<script defer src="https://cdn.jsdelivr.net/ghost/portal@~2.56/umd/portal.min.js" data-i18n="true" data-ghost="https://justinacton.com/" data-key="cfdbbfa1eb539dd4208756e099" data-api="https://justinacton.ghost.io/ghost/api/content/" data-locale="en" crossorigin="anonymous"></script><style id="gh-members-styles">.gh-post-upgrade-cta-content,
.gh-post-upgrade-cta {
display: flex;
flex-direction: column;
align-items: center;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
text-align: center;
width: 100%;
color: #ffffff;
font-size: 16px;
}
.gh-post-upgrade-cta-content {
border-radius: 8px;
padding: 40px 4vw;
}
.gh-post-upgrade-cta h2 {
color: #ffffff;
font-size: 28px;
letter-spacing: -0.2px;
margin: 0;
padding: 0;
}
.gh-post-upgrade-cta p {
margin: 20px 0 0;
padding: 0;
}
.gh-post-upgrade-cta small {
font-size: 16px;
letter-spacing: -0.2px;
}
.gh-post-upgrade-cta a {
color: #ffffff;
cursor: pointer;
font-weight: 500;
box-shadow: none;
text-decoration: underline;
}
.gh-post-upgrade-cta a:hover {
color: #ffffff;
opacity: 0.8;
box-shadow: none;
text-decoration: underline;
}
.gh-post-upgrade-cta a.gh-btn {
display: block;
background: #ffffff;
text-decoration: none;
margin: 28px 0 0;
padding: 8px 18px;
border-radius: 4px;
Open service 2a04:4e42:200::775:80 · justinacton.com
2026-01-12 00:46
HTTP/1.1 301 Moved Permanently Connection: close Content-Length: 0 Server: Varnish Retry-After: 0 Location: https://justinacton.com/ Accept-Ranges: bytes Date: Mon, 12 Jan 2026 00:46:59 GMT Via: 1.1 varnish X-Served-By: cache-fra-eddf8230141-FRA X-Cache: HIT X-Cache-Hits: 0 X-Timer: S1768178819.214431,VS0,VE0 x-request-id: e7d8bd02-d0d1-42b0-a06d-ab876f8d6372 Ghost-Fastly: true;production Alt-Svc: clear
Open service 151.101.131.7:80 · justinacton.com
2026-01-12 00:46
HTTP/1.1 301 Moved Permanently Connection: close Content-Length: 0 Server: Varnish Retry-After: 0 Location: https://justinacton.com/ Accept-Ranges: bytes Date: Mon, 12 Jan 2026 00:46:59 GMT Via: 1.1 varnish X-Served-By: cache-fra-eddf8230187-FRA X-Cache: HIT X-Cache-Hits: 0 X-Timer: S1768178819.057729,VS0,VE0 x-request-id: 80c516bc-4f90-4ed5-93af-a40287746e1e Ghost-Fastly: true;production Alt-Svc: clear
Open service 151.101.67.7:80 · justinacton.com
2026-01-12 00:46
HTTP/1.1 301 Moved Permanently Connection: close Content-Length: 0 Server: Varnish Retry-After: 0 Location: https://justinacton.com/ Accept-Ranges: bytes Date: Mon, 12 Jan 2026 00:46:58 GMT Via: 1.1 varnish X-Served-By: cache-lcy-egml8630066-LCY X-Cache: HIT X-Cache-Hits: 0 X-Timer: S1768178819.969241,VS0,VE0 x-request-id: e39cc145-e18f-461b-88d0-f676c169d609 Ghost-Fastly: true;production Alt-Svc: clear
Open service 151.101.3.7:80 · justinacton.com
2026-01-12 00:46
HTTP/1.1 301 Moved Permanently Connection: close Content-Length: 0 Server: Varnish Retry-After: 0 Location: https://justinacton.com/ Accept-Ranges: bytes Date: Mon, 12 Jan 2026 00:46:58 GMT Via: 1.1 varnish X-Served-By: cache-lcy-egml8630045-LCY X-Cache: HIT X-Cache-Hits: 0 X-Timer: S1768178819.969950,VS0,VE0 x-request-id: 0906e31b-073d-4a36-b017-d1a30736bdd0 Ghost-Fastly: true;production Alt-Svc: clear
Open service 151.101.195.7:80 · justinacton.com
2026-01-12 00:46
HTTP/1.1 301 Moved Permanently Connection: close Content-Length: 0 Server: Varnish Retry-After: 0 Location: https://justinacton.com/ Accept-Ranges: bytes Date: Mon, 12 Jan 2026 00:46:58 GMT Via: 1.1 varnish X-Served-By: cache-lcy-egml8630038-LCY X-Cache: HIT X-Cache-Hits: 0 X-Timer: S1768178819.969098,VS0,VE1 x-request-id: 1a6e9a38-6d7b-4200-983b-6d317ddbe060 Ghost-Fastly: true;production Alt-Svc: clear
Open service 151.101.131.7:443 · justinacton.com
2026-01-12 00:46
HTTP/1.1 200 OK
Connection: close
Content-Length: 63270
Server: openresty
Content-Type: text/html; charset=utf-8
Status: 200 OK
cache-control: public, max-age=0
etag: W/"f726-wfMj1yeJbabzKkRMqtSPJgfMDrY"
Fastly-Restarts: 1
Via: 1.1 varnish, 1.1 varnish
Accept-Ranges: bytes
Date: Mon, 12 Jan 2026 00:46:58 GMT
Age: 376475
X-Served-By: cache-ams2100147-AMS, cache-sjc1000106-SJC
X-Cache: HIT, HIT
X-Cache-Hits: 15, 1
X-Timer: S1768178819.943166,VS0,VE2
Vary: Cookie, Accept-Encoding
x-request-id: a84224bd-6e2b-48b7-910a-23df9909eda7
Ghost-Fastly: true;production
Alt-Svc: clear
Page title: Justin Acton
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Justin Acton</title>
<link rel="stylesheet" href="https://justinacton.com/assets/built/screen.css?v=a43ddb9847">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:400,400i,500,700,700i">
<script>
var siteUrl = 'https://justinacton.com';
</script>
<meta name="description" content="Thoughts, tips, and documentation">
<link rel="canonical" href="https://justinacton.com/">
<meta name="referrer" content="no-referrer-when-downgrade">
<link rel="next" href="https://justinacton.com/page/2/">
<meta property="og:site_name" content="Justin Acton">
<meta property="og:type" content="website">
<meta property="og:title" content="Justin Acton">
<meta property="og:description" content="Thoughts, tips, and documentation">
<meta property="og:url" content="https://justinacton.com/">
<meta property="og:image" content="https://justinacton.com/content/images/size/w1200/2019/11/downtown-188848_1280.jpg">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Justin Acton">
<meta name="twitter:description" content="Thoughts, tips, and documentation">
<meta name="twitter:url" content="https://justinacton.com/">
<meta name="twitter:image" content="https://justinacton.com/content/images/size/w1200/2019/11/downtown-188848_1280.jpg">
<meta name="twitter:site" content="@justinacton">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="900">
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "WebSite",
"publisher": {
"@type": "Organization",
"name": "Justin Acton",
"url": "https://justinacton.com/",
"logo": {
"@type": "ImageObject",
"url": "https://justinacton.com/content/images/2019/11/Logo.png"
}
},
"url": "https://justinacton.com/",
"name": "Justin Acton",
"image": {
"@type": "ImageObject",
"url": "https://justinacton.com/content/images/size/w1200/2019/11/downtown-188848_1280.jpg",
"width": 1200,
"height": 900
},
"mainEntityOfPage": "https://justinacton.com/",
"description": "Thoughts, tips, and documentation"
}
</script>
<meta name="generator" content="Ghost 6.10">
<link rel="alternate" type="application/rss+xml" title="Justin Acton" href="https://justinacton.com/rss/">
<script defer src="https://cdn.jsdelivr.net/ghost/portal@~2.56/umd/portal.min.js" data-i18n="true" data-ghost="https://justinacton.com/" data-key="cfdbbfa1eb539dd4208756e099" data-api="https://justinacton.ghost.io/ghost/api/content/" data-locale="en" crossorigin="anonymous"></script><style id="gh-members-styles">.gh-post-upgrade-cta-content,
.gh-post-upgrade-cta {
display: flex;
flex-direction: column;
align-items: center;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
text-align: center;
width: 100%;
color: #ffffff;
font-size: 16px;
}
.gh-post-upgrade-cta-content {
border-radius: 8px;
padding: 40px 4vw;
}
.gh-post-upgrade-cta h2 {
color: #ffffff;
font-size: 28px;
letter-spacing: -0.2px;
margin: 0;
padding: 0;
}
.gh-post-upgrade-cta p {
margin: 20px 0 0;
padding: 0;
}
.gh-post-upgrade-cta small {
font-size: 16px;
letter-spacing: -0.2px;
}
.gh-post-upgrade-cta a {
color: #ffffff;
cursor: pointer;
font-weight: 500;
box-shadow: none;
text-decoration: underline;
}
.gh-post-upgrade-cta a:hover {
color: #ffffff;
opacity: 0.8;
box-shadow: none;
text-decoration: underline;
}
.gh-post-upgrade-cta a.gh-btn {
display: block;
background: #ffffff;
text-decoration: none;
margin: 28px 0 0;
padding: 8px 18px;
border-radius: 4px;
Open service 2a04:4e42::775:443 · justinacton.com
2026-01-12 00:46
HTTP/1.1 200 OK
Connection: close
Content-Length: 63270
Server: openresty
Content-Type: text/html; charset=utf-8
Status: 200 OK
cache-control: public, max-age=0
etag: W/"f726-wfMj1yeJbabzKkRMqtSPJgfMDrY"
Fastly-Restarts: 1
Via: 1.1 varnish, 1.1 varnish
Accept-Ranges: bytes
Date: Mon, 12 Jan 2026 00:46:58 GMT
Age: 376475
X-Served-By: cache-ams2100147-AMS, cache-sjc10070-SJC
X-Cache: HIT, HIT
X-Cache-Hits: 15, 1
X-Timer: S1768178819.947836,VS0,VE2
Vary: Cookie, Accept-Encoding
x-request-id: ff318876-697d-4e21-ac7d-7b39d1cff261
Ghost-Fastly: true;production
Alt-Svc: clear
Page title: Justin Acton
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Justin Acton</title>
<link rel="stylesheet" href="https://justinacton.com/assets/built/screen.css?v=a43ddb9847">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:400,400i,500,700,700i">
<script>
var siteUrl = 'https://justinacton.com';
</script>
<meta name="description" content="Thoughts, tips, and documentation">
<link rel="canonical" href="https://justinacton.com/">
<meta name="referrer" content="no-referrer-when-downgrade">
<link rel="next" href="https://justinacton.com/page/2/">
<meta property="og:site_name" content="Justin Acton">
<meta property="og:type" content="website">
<meta property="og:title" content="Justin Acton">
<meta property="og:description" content="Thoughts, tips, and documentation">
<meta property="og:url" content="https://justinacton.com/">
<meta property="og:image" content="https://justinacton.com/content/images/size/w1200/2019/11/downtown-188848_1280.jpg">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Justin Acton">
<meta name="twitter:description" content="Thoughts, tips, and documentation">
<meta name="twitter:url" content="https://justinacton.com/">
<meta name="twitter:image" content="https://justinacton.com/content/images/size/w1200/2019/11/downtown-188848_1280.jpg">
<meta name="twitter:site" content="@justinacton">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="900">
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "WebSite",
"publisher": {
"@type": "Organization",
"name": "Justin Acton",
"url": "https://justinacton.com/",
"logo": {
"@type": "ImageObject",
"url": "https://justinacton.com/content/images/2019/11/Logo.png"
}
},
"url": "https://justinacton.com/",
"name": "Justin Acton",
"image": {
"@type": "ImageObject",
"url": "https://justinacton.com/content/images/size/w1200/2019/11/downtown-188848_1280.jpg",
"width": 1200,
"height": 900
},
"mainEntityOfPage": "https://justinacton.com/",
"description": "Thoughts, tips, and documentation"
}
</script>
<meta name="generator" content="Ghost 6.10">
<link rel="alternate" type="application/rss+xml" title="Justin Acton" href="https://justinacton.com/rss/">
<script defer src="https://cdn.jsdelivr.net/ghost/portal@~2.56/umd/portal.min.js" data-i18n="true" data-ghost="https://justinacton.com/" data-key="cfdbbfa1eb539dd4208756e099" data-api="https://justinacton.ghost.io/ghost/api/content/" data-locale="en" crossorigin="anonymous"></script><style id="gh-members-styles">.gh-post-upgrade-cta-content,
.gh-post-upgrade-cta {
display: flex;
flex-direction: column;
align-items: center;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
text-align: center;
width: 100%;
color: #ffffff;
font-size: 16px;
}
.gh-post-upgrade-cta-content {
border-radius: 8px;
padding: 40px 4vw;
}
.gh-post-upgrade-cta h2 {
color: #ffffff;
font-size: 28px;
letter-spacing: -0.2px;
margin: 0;
padding: 0;
}
.gh-post-upgrade-cta p {
margin: 20px 0 0;
padding: 0;
}
.gh-post-upgrade-cta small {
font-size: 16px;
letter-spacing: -0.2px;
}
.gh-post-upgrade-cta a {
color: #ffffff;
cursor: pointer;
font-weight: 500;
box-shadow: none;
text-decoration: underline;
}
.gh-post-upgrade-cta a:hover {
color: #ffffff;
opacity: 0.8;
box-shadow: none;
text-decoration: underline;
}
.gh-post-upgrade-cta a.gh-btn {
display: block;
background: #ffffff;
text-decoration: none;
margin: 28px 0 0;
padding: 8px 18px;
border-radius: 4px;
Open service 2a04:4e42::775:80 · justinacton.com
2026-01-12 00:46
HTTP/1.1 301 Moved Permanently Connection: close Content-Length: 0 Server: Varnish Retry-After: 0 Location: https://justinacton.com/ Accept-Ranges: bytes Date: Mon, 12 Jan 2026 00:46:58 GMT Via: 1.1 varnish X-Served-By: cache-pao-kpao1770030-PAO X-Cache: HIT X-Cache-Hits: 0 X-Timer: S1768178819.919966,VS0,VE1 x-request-id: 7c5b702e-c55f-410d-90c5-e17bd568782c Ghost-Fastly: true;production Alt-Svc: clear
Open service 151.101.67.7:443 · justinacton.com
2026-01-12 00:46
HTTP/1.1 200 OK
Connection: close
Content-Length: 63270
content-type: text/html; charset=utf-8
cache-control: public, max-age=0
etag: W/"f726-bLpdzvYb6W0yX7/1sNM2R0kqSXc"
status: 200 OK
via: 1.1 varnish, 1.1 varnish, 1.1 varnish
server: openresty
Accept-Ranges: bytes
Date: Mon, 12 Jan 2026 00:46:58 GMT
Age: 203726
X-Served-By: cache-ams2100147-AMS, cache-ams2100147-AMS, cache-pao-kpao1770071-PAO
X-Cache: MISS, HIT, HIT
X-Cache-Hits: 0, 18, 1
X-Timer: S1768178819.948007,VS0,VE3
Vary: Cookie, Accept-Encoding
x-request-id: 857b403b-62e0-4bb2-ba91-2557edac94d0
Ghost-Fastly: true;production
Alt-Svc: clear
Page title: Justin Acton
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Justin Acton</title>
<link rel="stylesheet" href="https://justinacton.com/assets/built/screen.css?v=c2cfad947f">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:400,400i,500,700,700i">
<script>
var siteUrl = 'https://justinacton.com';
</script>
<meta name="description" content="Thoughts, tips, and documentation">
<link rel="canonical" href="https://justinacton.com/">
<meta name="referrer" content="no-referrer-when-downgrade">
<link rel="next" href="https://justinacton.com/page/2/">
<meta property="og:site_name" content="Justin Acton">
<meta property="og:type" content="website">
<meta property="og:title" content="Justin Acton">
<meta property="og:description" content="Thoughts, tips, and documentation">
<meta property="og:url" content="https://justinacton.com/">
<meta property="og:image" content="https://justinacton.com/content/images/size/w1200/2019/11/downtown-188848_1280.jpg">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Justin Acton">
<meta name="twitter:description" content="Thoughts, tips, and documentation">
<meta name="twitter:url" content="https://justinacton.com/">
<meta name="twitter:image" content="https://justinacton.com/content/images/size/w1200/2019/11/downtown-188848_1280.jpg">
<meta name="twitter:site" content="@justinacton">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="900">
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "WebSite",
"publisher": {
"@type": "Organization",
"name": "Justin Acton",
"url": "https://justinacton.com/",
"logo": {
"@type": "ImageObject",
"url": "https://justinacton.com/content/images/2019/11/Logo.png"
}
},
"url": "https://justinacton.com/",
"name": "Justin Acton",
"image": {
"@type": "ImageObject",
"url": "https://justinacton.com/content/images/size/w1200/2019/11/downtown-188848_1280.jpg",
"width": 1200,
"height": 900
},
"mainEntityOfPage": "https://justinacton.com/",
"description": "Thoughts, tips, and documentation"
}
</script>
<meta name="generator" content="Ghost 6.10">
<link rel="alternate" type="application/rss+xml" title="Justin Acton" href="https://justinacton.com/rss/">
<script defer src="https://cdn.jsdelivr.net/ghost/portal@~2.56/umd/portal.min.js" data-i18n="true" data-ghost="https://justinacton.com/" data-key="cfdbbfa1eb539dd4208756e099" data-api="https://justinacton.ghost.io/ghost/api/content/" data-locale="en" crossorigin="anonymous"></script><style id="gh-members-styles">.gh-post-upgrade-cta-content,
.gh-post-upgrade-cta {
display: flex;
flex-direction: column;
align-items: center;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
text-align: center;
width: 100%;
color: #ffffff;
font-size: 16px;
}
.gh-post-upgrade-cta-content {
border-radius: 8px;
padding: 40px 4vw;
}
.gh-post-upgrade-cta h2 {
color: #ffffff;
font-size: 28px;
letter-spacing: -0.2px;
margin: 0;
padding: 0;
}
.gh-post-upgrade-cta p {
margin: 20px 0 0;
padding: 0;
}
.gh-post-upgrade-cta small {
font-size: 16px;
letter-spacing: -0.2px;
}
.gh-post-upgrade-cta a {
color: #ffffff;
cursor: pointer;
font-weight: 500;
box-shadow: none;
text-decoration: underline;
}
.gh-post-upgrade-cta a:hover {
color: #ffffff;
opacity: 0.8;
box-shadow: none;
text-decoration: underline;
}
.gh-post-upgrade-cta a.gh-btn {
display: block;
background: #ffffff;
text-decoration: none;
margin: 28px 0 0;
padding: 8px 18px;
border-radius: 4px;
Open service 151.101.3.7:443 · justinacton.com
2026-01-12 00:46
HTTP/1.1 200 OK
Connection: close
Content-Length: 63270
content-type: text/html; charset=utf-8
cache-control: public, max-age=0
etag: W/"f726-bLpdzvYb6W0yX7/1sNM2R0kqSXc"
status: 200 OK
via: 1.1 varnish, 1.1 varnish, 1.1 varnish
server: openresty
Accept-Ranges: bytes
Date: Mon, 12 Jan 2026 00:46:58 GMT
Age: 203726
X-Served-By: cache-ams2100147-AMS, cache-ams2100147-AMS, cache-pao-kpao1770054-PAO
X-Cache: MISS, HIT, HIT
X-Cache-Hits: 0, 18, 1
X-Timer: S1768178819.939144,VS0,VE2
Vary: Cookie, Accept-Encoding
x-request-id: 5eea1885-88a7-4961-ae8a-92f015ab743a
Ghost-Fastly: true;production
Alt-Svc: clear
Page title: Justin Acton
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Justin Acton</title>
<link rel="stylesheet" href="https://justinacton.com/assets/built/screen.css?v=c2cfad947f">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:400,400i,500,700,700i">
<script>
var siteUrl = 'https://justinacton.com';
</script>
<meta name="description" content="Thoughts, tips, and documentation">
<link rel="canonical" href="https://justinacton.com/">
<meta name="referrer" content="no-referrer-when-downgrade">
<link rel="next" href="https://justinacton.com/page/2/">
<meta property="og:site_name" content="Justin Acton">
<meta property="og:type" content="website">
<meta property="og:title" content="Justin Acton">
<meta property="og:description" content="Thoughts, tips, and documentation">
<meta property="og:url" content="https://justinacton.com/">
<meta property="og:image" content="https://justinacton.com/content/images/size/w1200/2019/11/downtown-188848_1280.jpg">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Justin Acton">
<meta name="twitter:description" content="Thoughts, tips, and documentation">
<meta name="twitter:url" content="https://justinacton.com/">
<meta name="twitter:image" content="https://justinacton.com/content/images/size/w1200/2019/11/downtown-188848_1280.jpg">
<meta name="twitter:site" content="@justinacton">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="900">
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "WebSite",
"publisher": {
"@type": "Organization",
"name": "Justin Acton",
"url": "https://justinacton.com/",
"logo": {
"@type": "ImageObject",
"url": "https://justinacton.com/content/images/2019/11/Logo.png"
}
},
"url": "https://justinacton.com/",
"name": "Justin Acton",
"image": {
"@type": "ImageObject",
"url": "https://justinacton.com/content/images/size/w1200/2019/11/downtown-188848_1280.jpg",
"width": 1200,
"height": 900
},
"mainEntityOfPage": "https://justinacton.com/",
"description": "Thoughts, tips, and documentation"
}
</script>
<meta name="generator" content="Ghost 6.10">
<link rel="alternate" type="application/rss+xml" title="Justin Acton" href="https://justinacton.com/rss/">
<script defer src="https://cdn.jsdelivr.net/ghost/portal@~2.56/umd/portal.min.js" data-i18n="true" data-ghost="https://justinacton.com/" data-key="cfdbbfa1eb539dd4208756e099" data-api="https://justinacton.ghost.io/ghost/api/content/" data-locale="en" crossorigin="anonymous"></script><style id="gh-members-styles">.gh-post-upgrade-cta-content,
.gh-post-upgrade-cta {
display: flex;
flex-direction: column;
align-items: center;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
text-align: center;
width: 100%;
color: #ffffff;
font-size: 16px;
}
.gh-post-upgrade-cta-content {
border-radius: 8px;
padding: 40px 4vw;
}
.gh-post-upgrade-cta h2 {
color: #ffffff;
font-size: 28px;
letter-spacing: -0.2px;
margin: 0;
padding: 0;
}
.gh-post-upgrade-cta p {
margin: 20px 0 0;
padding: 0;
}
.gh-post-upgrade-cta small {
font-size: 16px;
letter-spacing: -0.2px;
}
.gh-post-upgrade-cta a {
color: #ffffff;
cursor: pointer;
font-weight: 500;
box-shadow: none;
text-decoration: underline;
}
.gh-post-upgrade-cta a:hover {
color: #ffffff;
opacity: 0.8;
box-shadow: none;
text-decoration: underline;
}
.gh-post-upgrade-cta a.gh-btn {
display: block;
background: #ffffff;
text-decoration: none;
margin: 28px 0 0;
padding: 8px 18px;
border-radius: 4px;
Open service 151.101.195.7:443 · justinacton.com
2026-01-12 00:46
HTTP/1.1 200 OK
Connection: close
Content-Length: 63270
content-type: text/html; charset=utf-8
cache-control: public, max-age=0
etag: W/"f726-bLpdzvYb6W0yX7/1sNM2R0kqSXc"
status: 200 OK
via: 1.1 varnish, 1.1 varnish, 1.1 varnish
server: openresty
Accept-Ranges: bytes
Date: Mon, 12 Jan 2026 00:46:58 GMT
Age: 203725
X-Served-By: cache-ams2100147-AMS, cache-ams2100147-AMS, cache-fra-eddf8230064-FRA
X-Cache: MISS, HIT, HIT
X-Cache-Hits: 0, 3, 1
X-Timer: S1768178819.757360,VS0,VE1
Vary: Cookie, Accept-Encoding
x-request-id: 55932dbd-2b68-4043-901c-28251b68480d
Ghost-Fastly: true;production
Alt-Svc: clear
Page title: Justin Acton
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Justin Acton</title>
<link rel="stylesheet" href="https://justinacton.com/assets/built/screen.css?v=c2cfad947f">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:400,400i,500,700,700i">
<script>
var siteUrl = 'https://justinacton.com';
</script>
<meta name="description" content="Thoughts, tips, and documentation">
<link rel="canonical" href="https://justinacton.com/">
<meta name="referrer" content="no-referrer-when-downgrade">
<link rel="next" href="https://justinacton.com/page/2/">
<meta property="og:site_name" content="Justin Acton">
<meta property="og:type" content="website">
<meta property="og:title" content="Justin Acton">
<meta property="og:description" content="Thoughts, tips, and documentation">
<meta property="og:url" content="https://justinacton.com/">
<meta property="og:image" content="https://justinacton.com/content/images/size/w1200/2019/11/downtown-188848_1280.jpg">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Justin Acton">
<meta name="twitter:description" content="Thoughts, tips, and documentation">
<meta name="twitter:url" content="https://justinacton.com/">
<meta name="twitter:image" content="https://justinacton.com/content/images/size/w1200/2019/11/downtown-188848_1280.jpg">
<meta name="twitter:site" content="@justinacton">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="900">
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "WebSite",
"publisher": {
"@type": "Organization",
"name": "Justin Acton",
"url": "https://justinacton.com/",
"logo": {
"@type": "ImageObject",
"url": "https://justinacton.com/content/images/2019/11/Logo.png"
}
},
"url": "https://justinacton.com/",
"name": "Justin Acton",
"image": {
"@type": "ImageObject",
"url": "https://justinacton.com/content/images/size/w1200/2019/11/downtown-188848_1280.jpg",
"width": 1200,
"height": 900
},
"mainEntityOfPage": "https://justinacton.com/",
"description": "Thoughts, tips, and documentation"
}
</script>
<meta name="generator" content="Ghost 6.10">
<link rel="alternate" type="application/rss+xml" title="Justin Acton" href="https://justinacton.com/rss/">
<script defer src="https://cdn.jsdelivr.net/ghost/portal@~2.56/umd/portal.min.js" data-i18n="true" data-ghost="https://justinacton.com/" data-key="cfdbbfa1eb539dd4208756e099" data-api="https://justinacton.ghost.io/ghost/api/content/" data-locale="en" crossorigin="anonymous"></script><style id="gh-members-styles">.gh-post-upgrade-cta-content,
.gh-post-upgrade-cta {
display: flex;
flex-direction: column;
align-items: center;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
text-align: center;
width: 100%;
color: #ffffff;
font-size: 16px;
}
.gh-post-upgrade-cta-content {
border-radius: 8px;
padding: 40px 4vw;
}
.gh-post-upgrade-cta h2 {
color: #ffffff;
font-size: 28px;
letter-spacing: -0.2px;
margin: 0;
padding: 0;
}
.gh-post-upgrade-cta p {
margin: 20px 0 0;
padding: 0;
}
.gh-post-upgrade-cta small {
font-size: 16px;
letter-spacing: -0.2px;
}
.gh-post-upgrade-cta a {
color: #ffffff;
cursor: pointer;
font-weight: 500;
box-shadow: none;
text-decoration: underline;
}
.gh-post-upgrade-cta a:hover {
color: #ffffff;
opacity: 0.8;
box-shadow: none;
text-decoration: underline;
}
.gh-post-upgrade-cta a.gh-btn {
display: block;
background: #ffffff;
text-decoration: none;
margin: 28px 0 0;
padding: 8px 18px;
border-radius: 4px;
Open service 213.188.196.15:80 · test.justinacton.com
2026-01-04 14:34
HTTP/1.1 308 Permanent Redirect Connection: close Location: https://test.justinacton.com/ Server: Caddy Date: Sun, 04 Jan 2026 14:34:10 GMT Content-Length: 0
Open service 213.188.196.15:443 · test.justinacton.com
2026-01-04 14:34
HTTP/1.1 200 OK Access-Control-Allow-Origin: * Age: 1227187 Alt-Svc: h3=":443"; ma=2592000 Apx-Hit: true Cache-Control: public, max-age=0, must-revalidate Content-Disposition: inline Content-Type: text/html; charset=utf-8 Date: Sun, 04 Jan 2026 14:34:10 GMT Etag: W/"d49a56b09b7c1095d52e0772f38902b4" Last-Modified: Sun, 21 Dec 2025 09:41:03 GMT Server: Caddy Server: Vercel Strict-Transport-Security: max-age=63072000; includeSubDomains; preload X-Matched-Path: / X-Vercel-Cache: HIT X-Vercel-Id: iad1::jrr2l-1767537250387-531b477770d0 Connection: close Transfer-Encoding: chunked <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/_next/static/css/419337fbd1ff047f.css" as="style"/><link rel="stylesheet" href="/_next/static/css/419337fbd1ff047f.css" data-n-g=""/><link rel="preload" href="/_next/static/css/cb6a75a53ead6f47.css" as="style"/><link rel="stylesheet" href="/_next/static/css/cb6a75a53ead6f47.css" data-n-p=""/><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-f11614d8aa7ee555.js" defer=""></script><script src="/_next/static/chunks/pages/_app-6fc1405f1888ba26.js" defer=""></script><script src="/_next/static/chunks/252f366e-aa11680aa1086b7a.js" defer=""></script><script src="/_next/static/chunks/95b64a6e-982097c34ec99c51.js" defer=""></script><script src="/_next/static/chunks/1bfc9850-cb073c5a522fa5b0.js" defer=""></script><script src="/_next/static/chunks/pages/index-36bcef92ea9c59a8.js" defer=""></script><script src="/_next/static/dJy1zd34JFuJw0Ehq_v8K/_buildManifest.js" defer=""></script><script src="/_next/static/dJy1zd34JFuJw0Ehq_v8K/_ssgManifest.js" defer=""></script></head><body><div id="__next"><header class="Header_header__VYZ3G"><div><label class="Header_label__GgFEQ" for="check"><input type="checkbox" class="Header_input__CtHVr" id="check"/><span class="Header_barone__SPiOv"></span><span class="Header_bartwo__AvKmX"></span><span class="Header_barthree__H74h9"></span></label></div><div class="Header_greeting__WO1yc"><h3><b>Digital Engineering Tech LTD.</b></h3></div><div class="Header_menu_container__1ZqIr"><ul class="Header_menu_list__GB4Me"><li><a href="/">Home</a></li><li>Setting</li><li>Hot Line</li><li>About</li><li><a href="/login">Login</a></li><li><a href="/register">Signup</a></li></ul></div><div class="Header_profilePicture__OE9yc"><img alt="company_logo" srcSet="/_next/image?url=%2Flogo_window.png&w=64&q=75 1x, /_next/image?url=%2Flogo_window.png&w=128&q=75 2x" src="/_next/image?url=%2Flogo_window.png&w=128&q=75" width="50" height="70" decoding="async" data-nimg="1" loading="lazy" style="color:transparent"/></div></header><div class="Sidebar_sidebar__gyKt1"><div><ul class="Sidebar_sideMenu_ul__nx1Wv"><a class="Sidebar_atag__Nrwvy" href="/"><li><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024" height="20" width="20" xmlns="http://www.w3.org/2000/svg"><path d="M946.5 505L534.6 93.4a31.93 31.93 0 0 0-45.2 0L77.5 505c-12 12-18.8 28.3-18.8 45.3 0 35.3 28.7 64 64 64h43.4V908c0 17.7 14.3 32 32 32H448V716h112v224h265.9c17.7 0 32-14.3 32-32V614.3h43.4c17 0 33.3-6.7 45.3-18.8 24.9-25 24.9-65.5-.1-90.5z"></path></svg>Home</li></a><li><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 20 20" height="20" width="20" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M10 9a3 3 0 100-6 3 3 0 000 6zm-7 9a7 7 0 1114 0H3z" clip-rule="evenodd"></path></svg>Profile</li><li><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024" class="Sidebar_setting__h0fxi" height="20" width="20" xmlns="http://www.w3.org/2000/svg"><path d="M512.5 390.6c-29.9 0-57.9 11.6-79.1 32.8-21.1 21.2-32.8 49.2-32.8 79.1 0 29.9 11.7 57.9 32.8 79.1 21.2 21.1 49.2 32.8 79.1 32.8 29.9 0 57.9-11.7 79.1-32.8 21.1-21.2 32.8-49.2 32.8-79.1 0-29.9-11.7-57.9-32.8-79.1a110.96 110.96 0 0 0-79.1-32.8zm412.3 235.5l-65.4-55.9c3.1-19 4.7-38.4 4.7-57.7s-1.6-38.8-4.7-57.7l65.4-55.9a32.03 32.03 0 0 0 9.3-35.2l-.9-2.6a442.5 442.5 0 0 0-79.6-137.7l-1.8-2.1a32.12 32.12 0 0 0-35.1-9.5l-81.2 28.9c-30-24.6-63.4-44-99.6-57.5l-15.7-84.9a32.05 32.05 0 0 0-25.8-25.7l-2.7-.5c-52-9.4-106.8-9.4-158.8 0l-2.7.5a32.05 32.05 0 0 0-25.8 25.7l-15.8 85.3a353.44 353.44 0 0 0-98.9 57.3l-81.8-29.1a32 32 0 0 0-35.1 9.5l-1.8 2.1a445.93
Open service 2a04:4e42:600::775:443 · justinacton.com
2026-01-04 00:06
HTTP/1.1 200 OK
Connection: close
Content-Length: 63270
etag: W/"f726-s0LXotDx0LiIM/sn7ITY691Wk3s"
server: openresty
content-type: text/html; charset=utf-8
status: 200 OK
cache-control: public, max-age=0
via: 1.1 varnish, 1.1 varnish, 1.1 varnish
Fastly-Restarts: 1
Accept-Ranges: bytes
Date: Sun, 04 Jan 2026 00:06:10 GMT
Age: 134446
X-Served-By: cache-ams2100147-AMS, cache-ams2100147-AMS, cache-lga21952-LGA
X-Cache: MISS, HIT, HIT
X-Cache-Hits: 0, 26, 1
X-Timer: S1767485171.690814,VS0,VE2
Vary: Cookie, Accept-Encoding
x-request-id: 02ab28ae-81f6-4d24-b10f-b2ee7c3b0579
Ghost-Fastly: true;production
Alt-Svc: clear
Page title: Justin Acton
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Justin Acton</title>
<link rel="stylesheet" href="https://justinacton.com/assets/built/screen.css?v=39bfba9a1f">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:400,400i,500,700,700i">
<script>
var siteUrl = 'https://justinacton.com';
</script>
<meta name="description" content="Thoughts, tips, and documentation">
<link rel="canonical" href="https://justinacton.com/">
<meta name="referrer" content="no-referrer-when-downgrade">
<link rel="next" href="https://justinacton.com/page/2/">
<meta property="og:site_name" content="Justin Acton">
<meta property="og:type" content="website">
<meta property="og:title" content="Justin Acton">
<meta property="og:description" content="Thoughts, tips, and documentation">
<meta property="og:url" content="https://justinacton.com/">
<meta property="og:image" content="https://justinacton.com/content/images/size/w1200/2019/11/downtown-188848_1280.jpg">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Justin Acton">
<meta name="twitter:description" content="Thoughts, tips, and documentation">
<meta name="twitter:url" content="https://justinacton.com/">
<meta name="twitter:image" content="https://justinacton.com/content/images/size/w1200/2019/11/downtown-188848_1280.jpg">
<meta name="twitter:site" content="@justinacton">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="900">
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "WebSite",
"publisher": {
"@type": "Organization",
"name": "Justin Acton",
"url": "https://justinacton.com/",
"logo": {
"@type": "ImageObject",
"url": "https://justinacton.com/content/images/2019/11/Logo.png"
}
},
"url": "https://justinacton.com/",
"name": "Justin Acton",
"image": {
"@type": "ImageObject",
"url": "https://justinacton.com/content/images/size/w1200/2019/11/downtown-188848_1280.jpg",
"width": 1200,
"height": 900
},
"mainEntityOfPage": "https://justinacton.com/",
"description": "Thoughts, tips, and documentation"
}
</script>
<meta name="generator" content="Ghost 6.10">
<link rel="alternate" type="application/rss+xml" title="Justin Acton" href="https://justinacton.com/rss/">
<script defer src="https://cdn.jsdelivr.net/ghost/portal@~2.56/umd/portal.min.js" data-i18n="true" data-ghost="https://justinacton.com/" data-key="cfdbbfa1eb539dd4208756e099" data-api="https://justinacton.ghost.io/ghost/api/content/" data-locale="en" crossorigin="anonymous"></script><style id="gh-members-styles">.gh-post-upgrade-cta-content,
.gh-post-upgrade-cta {
display: flex;
flex-direction: column;
align-items: center;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
text-align: center;
width: 100%;
color: #ffffff;
font-size: 16px;
}
.gh-post-upgrade-cta-content {
border-radius: 8px;
padding: 40px 4vw;
}
.gh-post-upgrade-cta h2 {
color: #ffffff;
font-size: 28px;
letter-spacing: -0.2px;
margin: 0;
padding: 0;
}
.gh-post-upgrade-cta p {
margin: 20px 0 0;
padding: 0;
}
.gh-post-upgrade-cta small {
font-size: 16px;
letter-spacing: -0.2px;
}
.gh-post-upgrade-cta a {
color: #ffffff;
cursor: pointer;
font-weight: 500;
box-shadow: none;
text-decoration: underline;
}
.gh-post-upgrade-cta a:hover {
color: #ffffff;
opacity: 0.8;
box-shadow: none;
text-decoration: underline;
}
.gh-post-upgrade-cta a.gh-btn {
display: block;
background: #ffffff;
text-decoration: none;
margin: 28px 0 0;
padding: 8px 18px;
border-radius: 4px;
Open service 2a04:4e42::775:80 · justinacton.com
2026-01-04 00:06
HTTP/1.1 301 Moved Permanently Connection: close Content-Length: 0 Server: Varnish Retry-After: 0 Location: https://justinacton.com/ Accept-Ranges: bytes Date: Sun, 04 Jan 2026 00:06:10 GMT Via: 1.1 varnish X-Served-By: cache-lga21990-LGA X-Cache: HIT X-Cache-Hits: 0 X-Timer: S1767485171.548319,VS0,VE0 x-request-id: b3d22d2d-f83c-42c5-9c3d-f98d6580df26 Ghost-Fastly: true;production Alt-Svc: clear
Open service 151.101.67.7:443 · justinacton.com
2026-01-04 00:06
HTTP/1.1 200 OK
Connection: close
Content-Length: 63270
etag: W/"f726-s0LXotDx0LiIM/sn7ITY691Wk3s"
server: openresty
content-type: text/html; charset=utf-8
status: 200 OK
cache-control: public, max-age=0
via: 1.1 varnish, 1.1 varnish, 1.1 varnish
Fastly-Restarts: 1
Accept-Ranges: bytes
Date: Sun, 04 Jan 2026 00:06:10 GMT
Age: 134446
X-Served-By: cache-ams2100147-AMS, cache-ams2100147-AMS, cache-lcy-egml8630067-LCY
X-Cache: MISS, HIT, HIT
X-Cache-Hits: 0, 24, 1
X-Timer: S1767485171.545729,VS0,VE1
Vary: Cookie, Accept-Encoding
x-request-id: c925ce80-1a8d-44e9-bf75-f11d258ea969
Ghost-Fastly: true;production
Alt-Svc: clear
Page title: Justin Acton
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Justin Acton</title>
<link rel="stylesheet" href="https://justinacton.com/assets/built/screen.css?v=39bfba9a1f">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:400,400i,500,700,700i">
<script>
var siteUrl = 'https://justinacton.com';
</script>
<meta name="description" content="Thoughts, tips, and documentation">
<link rel="canonical" href="https://justinacton.com/">
<meta name="referrer" content="no-referrer-when-downgrade">
<link rel="next" href="https://justinacton.com/page/2/">
<meta property="og:site_name" content="Justin Acton">
<meta property="og:type" content="website">
<meta property="og:title" content="Justin Acton">
<meta property="og:description" content="Thoughts, tips, and documentation">
<meta property="og:url" content="https://justinacton.com/">
<meta property="og:image" content="https://justinacton.com/content/images/size/w1200/2019/11/downtown-188848_1280.jpg">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Justin Acton">
<meta name="twitter:description" content="Thoughts, tips, and documentation">
<meta name="twitter:url" content="https://justinacton.com/">
<meta name="twitter:image" content="https://justinacton.com/content/images/size/w1200/2019/11/downtown-188848_1280.jpg">
<meta name="twitter:site" content="@justinacton">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="900">
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "WebSite",
"publisher": {
"@type": "Organization",
"name": "Justin Acton",
"url": "https://justinacton.com/",
"logo": {
"@type": "ImageObject",
"url": "https://justinacton.com/content/images/2019/11/Logo.png"
}
},
"url": "https://justinacton.com/",
"name": "Justin Acton",
"image": {
"@type": "ImageObject",
"url": "https://justinacton.com/content/images/size/w1200/2019/11/downtown-188848_1280.jpg",
"width": 1200,
"height": 900
},
"mainEntityOfPage": "https://justinacton.com/",
"description": "Thoughts, tips, and documentation"
}
</script>
<meta name="generator" content="Ghost 6.10">
<link rel="alternate" type="application/rss+xml" title="Justin Acton" href="https://justinacton.com/rss/">
<script defer src="https://cdn.jsdelivr.net/ghost/portal@~2.56/umd/portal.min.js" data-i18n="true" data-ghost="https://justinacton.com/" data-key="cfdbbfa1eb539dd4208756e099" data-api="https://justinacton.ghost.io/ghost/api/content/" data-locale="en" crossorigin="anonymous"></script><style id="gh-members-styles">.gh-post-upgrade-cta-content,
.gh-post-upgrade-cta {
display: flex;
flex-direction: column;
align-items: center;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
text-align: center;
width: 100%;
color: #ffffff;
font-size: 16px;
}
.gh-post-upgrade-cta-content {
border-radius: 8px;
padding: 40px 4vw;
}
.gh-post-upgrade-cta h2 {
color: #ffffff;
font-size: 28px;
letter-spacing: -0.2px;
margin: 0;
padding: 0;
}
.gh-post-upgrade-cta p {
margin: 20px 0 0;
padding: 0;
}
.gh-post-upgrade-cta small {
font-size: 16px;
letter-spacing: -0.2px;
}
.gh-post-upgrade-cta a {
color: #ffffff;
cursor: pointer;
font-weight: 500;
box-shadow: none;
text-decoration: underline;
}
.gh-post-upgrade-cta a:hover {
color: #ffffff;
opacity: 0.8;
box-shadow: none;
text-decoration: underline;
}
.gh-post-upgrade-cta a.gh-btn {
display: block;
background: #ffffff;
text-decoration: none;
margin: 28px 0 0;
padding: 8px 18px;
border-radius: 4px;
Open service 2a04:4e42:400::775:80 · justinacton.com
2026-01-04 00:06
HTTP/1.1 301 Moved Permanently Connection: close Content-Length: 0 Server: Varnish Retry-After: 0 Location: https://justinacton.com/ Accept-Ranges: bytes Date: Sun, 04 Jan 2026 00:06:10 GMT Via: 1.1 varnish X-Served-By: cache-lga21954-LGA X-Cache: HIT X-Cache-Hits: 0 X-Timer: S1767485171.533944,VS0,VE1 x-request-id: e759e3f0-0be4-4701-9ac9-181bf3b82e44 Ghost-Fastly: true;production Alt-Svc: clear
Open service 2a04:4e42::775:443 · justinacton.com
2026-01-04 00:06
HTTP/1.1 200 OK
Connection: close
Content-Length: 63270
etag: W/"f726-s0LXotDx0LiIM/sn7ITY691Wk3s"
server: openresty
content-type: text/html; charset=utf-8
status: 200 OK
cache-control: public, max-age=0
via: 1.1 varnish, 1.1 varnish, 1.1 varnish
Fastly-Restarts: 1
Accept-Ranges: bytes
Age: 134446
Date: Sun, 04 Jan 2026 00:06:10 GMT
X-Served-By: cache-ams2100147-AMS, cache-ams2100147-AMS, cache-lon4233-LON
X-Cache: MISS, HIT, MISS
X-Cache-Hits: 0, 27, 0
X-Timer: S1767485171.516743,VS0,VE8
Vary: Cookie, Accept-Encoding
x-request-id: c1fa8153-9fba-4ea5-a057-b6051bf4569a
Ghost-Fastly: true;production
Alt-Svc: clear
Page title: Justin Acton
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Justin Acton</title>
<link rel="stylesheet" href="https://justinacton.com/assets/built/screen.css?v=39bfba9a1f">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:400,400i,500,700,700i">
<script>
var siteUrl = 'https://justinacton.com';
</script>
<meta name="description" content="Thoughts, tips, and documentation">
<link rel="canonical" href="https://justinacton.com/">
<meta name="referrer" content="no-referrer-when-downgrade">
<link rel="next" href="https://justinacton.com/page/2/">
<meta property="og:site_name" content="Justin Acton">
<meta property="og:type" content="website">
<meta property="og:title" content="Justin Acton">
<meta property="og:description" content="Thoughts, tips, and documentation">
<meta property="og:url" content="https://justinacton.com/">
<meta property="og:image" content="https://justinacton.com/content/images/size/w1200/2019/11/downtown-188848_1280.jpg">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Justin Acton">
<meta name="twitter:description" content="Thoughts, tips, and documentation">
<meta name="twitter:url" content="https://justinacton.com/">
<meta name="twitter:image" content="https://justinacton.com/content/images/size/w1200/2019/11/downtown-188848_1280.jpg">
<meta name="twitter:site" content="@justinacton">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="900">
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "WebSite",
"publisher": {
"@type": "Organization",
"name": "Justin Acton",
"url": "https://justinacton.com/",
"logo": {
"@type": "ImageObject",
"url": "https://justinacton.com/content/images/2019/11/Logo.png"
}
},
"url": "https://justinacton.com/",
"name": "Justin Acton",
"image": {
"@type": "ImageObject",
"url": "https://justinacton.com/content/images/size/w1200/2019/11/downtown-188848_1280.jpg",
"width": 1200,
"height": 900
},
"mainEntityOfPage": "https://justinacton.com/",
"description": "Thoughts, tips, and documentation"
}
</script>
<meta name="generator" content="Ghost 6.10">
<link rel="alternate" type="application/rss+xml" title="Justin Acton" href="https://justinacton.com/rss/">
<script defer src="https://cdn.jsdelivr.net/ghost/portal@~2.56/umd/portal.min.js" data-i18n="true" data-ghost="https://justinacton.com/" data-key="cfdbbfa1eb539dd4208756e099" data-api="https://justinacton.ghost.io/ghost/api/content/" data-locale="en" crossorigin="anonymous"></script><style id="gh-members-styles">.gh-post-upgrade-cta-content,
.gh-post-upgrade-cta {
display: flex;
flex-direction: column;
align-items: center;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
text-align: center;
width: 100%;
color: #ffffff;
font-size: 16px;
}
.gh-post-upgrade-cta-content {
border-radius: 8px;
padding: 40px 4vw;
}
.gh-post-upgrade-cta h2 {
color: #ffffff;
font-size: 28px;
letter-spacing: -0.2px;
margin: 0;
padding: 0;
}
.gh-post-upgrade-cta p {
margin: 20px 0 0;
padding: 0;
}
.gh-post-upgrade-cta small {
font-size: 16px;
letter-spacing: -0.2px;
}
.gh-post-upgrade-cta a {
color: #ffffff;
cursor: pointer;
font-weight: 500;
box-shadow: none;
text-decoration: underline;
}
.gh-post-upgrade-cta a:hover {
color: #ffffff;
opacity: 0.8;
box-shadow: none;
text-decoration: underline;
}
.gh-post-upgrade-cta a.gh-btn {
display: block;
background: #ffffff;
text-decoration: none;
margin: 28px 0 0;
padding: 8px 18px;
border-radius: 4px;
Open service 2a04:4e42:400::775:443 · justinacton.com
2026-01-04 00:06
HTTP/1.1 200 OK
Connection: close
Content-Length: 63270
etag: W/"f726-s0LXotDx0LiIM/sn7ITY691Wk3s"
server: openresty
content-type: text/html; charset=utf-8
status: 200 OK
cache-control: public, max-age=0
via: 1.1 varnish, 1.1 varnish, 1.1 varnish
Fastly-Restarts: 1
Accept-Ranges: bytes
Date: Sun, 04 Jan 2026 00:06:10 GMT
Age: 134446
X-Served-By: cache-ams2100147-AMS, cache-ams2100147-AMS, cache-fra-eddf8230180-FRA
X-Cache: MISS, HIT, HIT
X-Cache-Hits: 0, 25, 1
X-Timer: S1767485170.479637,VS0,VE1
Vary: Cookie, Accept-Encoding
x-request-id: e663b74b-7a9b-44dd-ad78-da6173ede72b
Ghost-Fastly: true;production
Alt-Svc: clear
Page title: Justin Acton
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Justin Acton</title>
<link rel="stylesheet" href="https://justinacton.com/assets/built/screen.css?v=39bfba9a1f">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:400,400i,500,700,700i">
<script>
var siteUrl = 'https://justinacton.com';
</script>
<meta name="description" content="Thoughts, tips, and documentation">
<link rel="canonical" href="https://justinacton.com/">
<meta name="referrer" content="no-referrer-when-downgrade">
<link rel="next" href="https://justinacton.com/page/2/">
<meta property="og:site_name" content="Justin Acton">
<meta property="og:type" content="website">
<meta property="og:title" content="Justin Acton">
<meta property="og:description" content="Thoughts, tips, and documentation">
<meta property="og:url" content="https://justinacton.com/">
<meta property="og:image" content="https://justinacton.com/content/images/size/w1200/2019/11/downtown-188848_1280.jpg">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Justin Acton">
<meta name="twitter:description" content="Thoughts, tips, and documentation">
<meta name="twitter:url" content="https://justinacton.com/">
<meta name="twitter:image" content="https://justinacton.com/content/images/size/w1200/2019/11/downtown-188848_1280.jpg">
<meta name="twitter:site" content="@justinacton">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="900">
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "WebSite",
"publisher": {
"@type": "Organization",
"name": "Justin Acton",
"url": "https://justinacton.com/",
"logo": {
"@type": "ImageObject",
"url": "https://justinacton.com/content/images/2019/11/Logo.png"
}
},
"url": "https://justinacton.com/",
"name": "Justin Acton",
"image": {
"@type": "ImageObject",
"url": "https://justinacton.com/content/images/size/w1200/2019/11/downtown-188848_1280.jpg",
"width": 1200,
"height": 900
},
"mainEntityOfPage": "https://justinacton.com/",
"description": "Thoughts, tips, and documentation"
}
</script>
<meta name="generator" content="Ghost 6.10">
<link rel="alternate" type="application/rss+xml" title="Justin Acton" href="https://justinacton.com/rss/">
<script defer src="https://cdn.jsdelivr.net/ghost/portal@~2.56/umd/portal.min.js" data-i18n="true" data-ghost="https://justinacton.com/" data-key="cfdbbfa1eb539dd4208756e099" data-api="https://justinacton.ghost.io/ghost/api/content/" data-locale="en" crossorigin="anonymous"></script><style id="gh-members-styles">.gh-post-upgrade-cta-content,
.gh-post-upgrade-cta {
display: flex;
flex-direction: column;
align-items: center;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
text-align: center;
width: 100%;
color: #ffffff;
font-size: 16px;
}
.gh-post-upgrade-cta-content {
border-radius: 8px;
padding: 40px 4vw;
}
.gh-post-upgrade-cta h2 {
color: #ffffff;
font-size: 28px;
letter-spacing: -0.2px;
margin: 0;
padding: 0;
}
.gh-post-upgrade-cta p {
margin: 20px 0 0;
padding: 0;
}
.gh-post-upgrade-cta small {
font-size: 16px;
letter-spacing: -0.2px;
}
.gh-post-upgrade-cta a {
color: #ffffff;
cursor: pointer;
font-weight: 500;
box-shadow: none;
text-decoration: underline;
}
.gh-post-upgrade-cta a:hover {
color: #ffffff;
opacity: 0.8;
box-shadow: none;
text-decoration: underline;
}
.gh-post-upgrade-cta a.gh-btn {
display: block;
background: #ffffff;
text-decoration: none;
margin: 28px 0 0;
padding: 8px 18px;
border-radius: 4px;
Open service 151.101.195.7:443 · justinacton.com
2026-01-04 00:06
HTTP/1.1 200 OK
Connection: close
Content-Length: 63270
etag: W/"f726-s0LXotDx0LiIM/sn7ITY691Wk3s"
server: openresty
content-type: text/html; charset=utf-8
status: 200 OK
cache-control: public, max-age=0
via: 1.1 varnish, 1.1 varnish, 1.1 varnish
Fastly-Restarts: 1
Accept-Ranges: bytes
Date: Sun, 04 Jan 2026 00:06:10 GMT
Age: 134446
X-Served-By: cache-ams2100147-AMS, cache-ams2100147-AMS, cache-lcy-egml8630044-LCY
X-Cache: MISS, HIT, HIT
X-Cache-Hits: 0, 24, 1
X-Timer: S1767485170.471827,VS0,VE1
Vary: Cookie, Accept-Encoding
x-request-id: 7ab6829e-be05-4d2e-aef7-1cb2a1d84b1a
Ghost-Fastly: true;production
Alt-Svc: clear
Page title: Justin Acton
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Justin Acton</title>
<link rel="stylesheet" href="https://justinacton.com/assets/built/screen.css?v=39bfba9a1f">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:400,400i,500,700,700i">
<script>
var siteUrl = 'https://justinacton.com';
</script>
<meta name="description" content="Thoughts, tips, and documentation">
<link rel="canonical" href="https://justinacton.com/">
<meta name="referrer" content="no-referrer-when-downgrade">
<link rel="next" href="https://justinacton.com/page/2/">
<meta property="og:site_name" content="Justin Acton">
<meta property="og:type" content="website">
<meta property="og:title" content="Justin Acton">
<meta property="og:description" content="Thoughts, tips, and documentation">
<meta property="og:url" content="https://justinacton.com/">
<meta property="og:image" content="https://justinacton.com/content/images/size/w1200/2019/11/downtown-188848_1280.jpg">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Justin Acton">
<meta name="twitter:description" content="Thoughts, tips, and documentation">
<meta name="twitter:url" content="https://justinacton.com/">
<meta name="twitter:image" content="https://justinacton.com/content/images/size/w1200/2019/11/downtown-188848_1280.jpg">
<meta name="twitter:site" content="@justinacton">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="900">
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "WebSite",
"publisher": {
"@type": "Organization",
"name": "Justin Acton",
"url": "https://justinacton.com/",
"logo": {
"@type": "ImageObject",
"url": "https://justinacton.com/content/images/2019/11/Logo.png"
}
},
"url": "https://justinacton.com/",
"name": "Justin Acton",
"image": {
"@type": "ImageObject",
"url": "https://justinacton.com/content/images/size/w1200/2019/11/downtown-188848_1280.jpg",
"width": 1200,
"height": 900
},
"mainEntityOfPage": "https://justinacton.com/",
"description": "Thoughts, tips, and documentation"
}
</script>
<meta name="generator" content="Ghost 6.10">
<link rel="alternate" type="application/rss+xml" title="Justin Acton" href="https://justinacton.com/rss/">
<script defer src="https://cdn.jsdelivr.net/ghost/portal@~2.56/umd/portal.min.js" data-i18n="true" data-ghost="https://justinacton.com/" data-key="cfdbbfa1eb539dd4208756e099" data-api="https://justinacton.ghost.io/ghost/api/content/" data-locale="en" crossorigin="anonymous"></script><style id="gh-members-styles">.gh-post-upgrade-cta-content,
.gh-post-upgrade-cta {
display: flex;
flex-direction: column;
align-items: center;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
text-align: center;
width: 100%;
color: #ffffff;
font-size: 16px;
}
.gh-post-upgrade-cta-content {
border-radius: 8px;
padding: 40px 4vw;
}
.gh-post-upgrade-cta h2 {
color: #ffffff;
font-size: 28px;
letter-spacing: -0.2px;
margin: 0;
padding: 0;
}
.gh-post-upgrade-cta p {
margin: 20px 0 0;
padding: 0;
}
.gh-post-upgrade-cta small {
font-size: 16px;
letter-spacing: -0.2px;
}
.gh-post-upgrade-cta a {
color: #ffffff;
cursor: pointer;
font-weight: 500;
box-shadow: none;
text-decoration: underline;
}
.gh-post-upgrade-cta a:hover {
color: #ffffff;
opacity: 0.8;
box-shadow: none;
text-decoration: underline;
}
.gh-post-upgrade-cta a.gh-btn {
display: block;
background: #ffffff;
text-decoration: none;
margin: 28px 0 0;
padding: 8px 18px;
border-radius: 4px;
Open service 151.101.131.7:80 · justinacton.com
2026-01-04 00:06
HTTP/1.1 301 Moved Permanently Connection: close Content-Length: 0 Server: Varnish Retry-After: 0 Location: https://justinacton.com/ Accept-Ranges: bytes Date: Sun, 04 Jan 2026 00:06:10 GMT Via: 1.1 varnish X-Served-By: cache-lga21982-LGA X-Cache: HIT X-Cache-Hits: 0 X-Timer: S1767485170.446809,VS0,VE1 x-request-id: f7de9cd3-7138-42f6-bb6d-e35e62594d5c Ghost-Fastly: true;production Alt-Svc: clear
Open service 151.101.131.7:443 · justinacton.com
2026-01-04 00:06
HTTP/1.1 200 OK
Connection: close
Content-Length: 63270
etag: W/"f726-s0LXotDx0LiIM/sn7ITY691Wk3s"
server: openresty
content-type: text/html; charset=utf-8
status: 200 OK
cache-control: public, max-age=0
via: 1.1 varnish, 1.1 varnish, 1.1 varnish
Fastly-Restarts: 1
Accept-Ranges: bytes
Date: Sun, 04 Jan 2026 00:06:10 GMT
Age: 134446
X-Served-By: cache-ams2100147-AMS, cache-ams2100147-AMS, cache-lga21945-LGA
X-Cache: MISS, HIT, HIT
X-Cache-Hits: 0, 26, 1
X-Timer: S1767485171.525902,VS0,VE2
Vary: Cookie, Accept-Encoding
x-request-id: b38a2463-f8c5-4e9d-a21e-ff34aabc399d
Ghost-Fastly: true;production
Alt-Svc: clear
Page title: Justin Acton
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Justin Acton</title>
<link rel="stylesheet" href="https://justinacton.com/assets/built/screen.css?v=39bfba9a1f">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:400,400i,500,700,700i">
<script>
var siteUrl = 'https://justinacton.com';
</script>
<meta name="description" content="Thoughts, tips, and documentation">
<link rel="canonical" href="https://justinacton.com/">
<meta name="referrer" content="no-referrer-when-downgrade">
<link rel="next" href="https://justinacton.com/page/2/">
<meta property="og:site_name" content="Justin Acton">
<meta property="og:type" content="website">
<meta property="og:title" content="Justin Acton">
<meta property="og:description" content="Thoughts, tips, and documentation">
<meta property="og:url" content="https://justinacton.com/">
<meta property="og:image" content="https://justinacton.com/content/images/size/w1200/2019/11/downtown-188848_1280.jpg">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Justin Acton">
<meta name="twitter:description" content="Thoughts, tips, and documentation">
<meta name="twitter:url" content="https://justinacton.com/">
<meta name="twitter:image" content="https://justinacton.com/content/images/size/w1200/2019/11/downtown-188848_1280.jpg">
<meta name="twitter:site" content="@justinacton">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="900">
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "WebSite",
"publisher": {
"@type": "Organization",
"name": "Justin Acton",
"url": "https://justinacton.com/",
"logo": {
"@type": "ImageObject",
"url": "https://justinacton.com/content/images/2019/11/Logo.png"
}
},
"url": "https://justinacton.com/",
"name": "Justin Acton",
"image": {
"@type": "ImageObject",
"url": "https://justinacton.com/content/images/size/w1200/2019/11/downtown-188848_1280.jpg",
"width": 1200,
"height": 900
},
"mainEntityOfPage": "https://justinacton.com/",
"description": "Thoughts, tips, and documentation"
}
</script>
<meta name="generator" content="Ghost 6.10">
<link rel="alternate" type="application/rss+xml" title="Justin Acton" href="https://justinacton.com/rss/">
<script defer src="https://cdn.jsdelivr.net/ghost/portal@~2.56/umd/portal.min.js" data-i18n="true" data-ghost="https://justinacton.com/" data-key="cfdbbfa1eb539dd4208756e099" data-api="https://justinacton.ghost.io/ghost/api/content/" data-locale="en" crossorigin="anonymous"></script><style id="gh-members-styles">.gh-post-upgrade-cta-content,
.gh-post-upgrade-cta {
display: flex;
flex-direction: column;
align-items: center;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
text-align: center;
width: 100%;
color: #ffffff;
font-size: 16px;
}
.gh-post-upgrade-cta-content {
border-radius: 8px;
padding: 40px 4vw;
}
.gh-post-upgrade-cta h2 {
color: #ffffff;
font-size: 28px;
letter-spacing: -0.2px;
margin: 0;
padding: 0;
}
.gh-post-upgrade-cta p {
margin: 20px 0 0;
padding: 0;
}
.gh-post-upgrade-cta small {
font-size: 16px;
letter-spacing: -0.2px;
}
.gh-post-upgrade-cta a {
color: #ffffff;
cursor: pointer;
font-weight: 500;
box-shadow: none;
text-decoration: underline;
}
.gh-post-upgrade-cta a:hover {
color: #ffffff;
opacity: 0.8;
box-shadow: none;
text-decoration: underline;
}
.gh-post-upgrade-cta a.gh-btn {
display: block;
background: #ffffff;
text-decoration: none;
margin: 28px 0 0;
padding: 8px 18px;
border-radius: 4px;
Open service 2a04:4e42:200::775:443 · justinacton.com
2026-01-04 00:06
HTTP/1.1 200 OK
Connection: close
Content-Length: 63270
etag: W/"f726-s0LXotDx0LiIM/sn7ITY691Wk3s"
server: openresty
content-type: text/html; charset=utf-8
status: 200 OK
cache-control: public, max-age=0
via: 1.1 varnish, 1.1 varnish, 1.1 varnish
Fastly-Restarts: 1
Accept-Ranges: bytes
Date: Sun, 04 Jan 2026 00:06:10 GMT
Age: 134446
X-Served-By: cache-ams2100147-AMS, cache-ams2100147-AMS, cache-yyz4574-YYZ
X-Cache: MISS, HIT, HIT
X-Cache-Hits: 0, 23, 1
X-Timer: S1767485170.499610,VS0,VE2
Vary: Cookie, Accept-Encoding
x-request-id: e5910ff7-d8c1-45fd-ab18-a6a11a54a958
Ghost-Fastly: true;production
Alt-Svc: clear
Page title: Justin Acton
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Justin Acton</title>
<link rel="stylesheet" href="https://justinacton.com/assets/built/screen.css?v=39bfba9a1f">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:400,400i,500,700,700i">
<script>
var siteUrl = 'https://justinacton.com';
</script>
<meta name="description" content="Thoughts, tips, and documentation">
<link rel="canonical" href="https://justinacton.com/">
<meta name="referrer" content="no-referrer-when-downgrade">
<link rel="next" href="https://justinacton.com/page/2/">
<meta property="og:site_name" content="Justin Acton">
<meta property="og:type" content="website">
<meta property="og:title" content="Justin Acton">
<meta property="og:description" content="Thoughts, tips, and documentation">
<meta property="og:url" content="https://justinacton.com/">
<meta property="og:image" content="https://justinacton.com/content/images/size/w1200/2019/11/downtown-188848_1280.jpg">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Justin Acton">
<meta name="twitter:description" content="Thoughts, tips, and documentation">
<meta name="twitter:url" content="https://justinacton.com/">
<meta name="twitter:image" content="https://justinacton.com/content/images/size/w1200/2019/11/downtown-188848_1280.jpg">
<meta name="twitter:site" content="@justinacton">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="900">
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "WebSite",
"publisher": {
"@type": "Organization",
"name": "Justin Acton",
"url": "https://justinacton.com/",
"logo": {
"@type": "ImageObject",
"url": "https://justinacton.com/content/images/2019/11/Logo.png"
}
},
"url": "https://justinacton.com/",
"name": "Justin Acton",
"image": {
"@type": "ImageObject",
"url": "https://justinacton.com/content/images/size/w1200/2019/11/downtown-188848_1280.jpg",
"width": 1200,
"height": 900
},
"mainEntityOfPage": "https://justinacton.com/",
"description": "Thoughts, tips, and documentation"
}
</script>
<meta name="generator" content="Ghost 6.10">
<link rel="alternate" type="application/rss+xml" title="Justin Acton" href="https://justinacton.com/rss/">
<script defer src="https://cdn.jsdelivr.net/ghost/portal@~2.56/umd/portal.min.js" data-i18n="true" data-ghost="https://justinacton.com/" data-key="cfdbbfa1eb539dd4208756e099" data-api="https://justinacton.ghost.io/ghost/api/content/" data-locale="en" crossorigin="anonymous"></script><style id="gh-members-styles">.gh-post-upgrade-cta-content,
.gh-post-upgrade-cta {
display: flex;
flex-direction: column;
align-items: center;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
text-align: center;
width: 100%;
color: #ffffff;
font-size: 16px;
}
.gh-post-upgrade-cta-content {
border-radius: 8px;
padding: 40px 4vw;
}
.gh-post-upgrade-cta h2 {
color: #ffffff;
font-size: 28px;
letter-spacing: -0.2px;
margin: 0;
padding: 0;
}
.gh-post-upgrade-cta p {
margin: 20px 0 0;
padding: 0;
}
.gh-post-upgrade-cta small {
font-size: 16px;
letter-spacing: -0.2px;
}
.gh-post-upgrade-cta a {
color: #ffffff;
cursor: pointer;
font-weight: 500;
box-shadow: none;
text-decoration: underline;
}
.gh-post-upgrade-cta a:hover {
color: #ffffff;
opacity: 0.8;
box-shadow: none;
text-decoration: underline;
}
.gh-post-upgrade-cta a.gh-btn {
display: block;
background: #ffffff;
text-decoration: none;
margin: 28px 0 0;
padding: 8px 18px;
border-radius: 4px;
Open service 2a04:4e42:600::775:80 · justinacton.com
2026-01-04 00:06
HTTP/1.1 301 Moved Permanently Connection: close Content-Length: 0 Server: Varnish Retry-After: 0 Location: https://justinacton.com/ Accept-Ranges: bytes Date: Sun, 04 Jan 2026 00:06:10 GMT Via: 1.1 varnish X-Served-By: cache-lga21971-LGA X-Cache: HIT X-Cache-Hits: 0 X-Timer: S1767485170.397768,VS0,VE1 x-request-id: c1cb83c1-4551-4044-bbd1-48b824e8308c Ghost-Fastly: true;production Alt-Svc: clear
Open service 151.101.3.7:80 · justinacton.com
2026-01-04 00:06
HTTP/1.1 301 Moved Permanently Connection: close Content-Length: 0 Server: Varnish Retry-After: 0 Location: https://justinacton.com/ Accept-Ranges: bytes Date: Sun, 04 Jan 2026 00:06:10 GMT Via: 1.1 varnish X-Served-By: cache-rtm-ehrd2290021-RTM X-Cache: HIT X-Cache-Hits: 0 X-Timer: S1767485170.378525,VS0,VE0 x-request-id: 15b27c1b-6181-4ddb-8b61-4678c01b7357 Ghost-Fastly: true;production Alt-Svc: clear
Open service 151.101.3.7:443 · justinacton.com
2026-01-04 00:06
HTTP/1.1 200 OK
Connection: close
Content-Length: 63270
etag: W/"f726-s0LXotDx0LiIM/sn7ITY691Wk3s"
server: openresty
content-type: text/html; charset=utf-8
status: 200 OK
cache-control: public, max-age=0
via: 1.1 varnish, 1.1 varnish, 1.1 varnish
Fastly-Restarts: 1
Accept-Ranges: bytes
Date: Sun, 04 Jan 2026 00:06:10 GMT
Age: 134446
X-Served-By: cache-ams2100147-AMS, cache-ams2100147-AMS, cache-yyz4570-YYZ
X-Cache: MISS, HIT, HIT
X-Cache-Hits: 0, 23, 1
X-Timer: S1767485170.489470,VS0,VE5
Vary: Cookie, Accept-Encoding
x-request-id: 02cd6b75-9cc6-4cce-a133-a973ea45676c
Ghost-Fastly: true;production
Alt-Svc: clear
Page title: Justin Acton
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Justin Acton</title>
<link rel="stylesheet" href="https://justinacton.com/assets/built/screen.css?v=39bfba9a1f">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:400,400i,500,700,700i">
<script>
var siteUrl = 'https://justinacton.com';
</script>
<meta name="description" content="Thoughts, tips, and documentation">
<link rel="canonical" href="https://justinacton.com/">
<meta name="referrer" content="no-referrer-when-downgrade">
<link rel="next" href="https://justinacton.com/page/2/">
<meta property="og:site_name" content="Justin Acton">
<meta property="og:type" content="website">
<meta property="og:title" content="Justin Acton">
<meta property="og:description" content="Thoughts, tips, and documentation">
<meta property="og:url" content="https://justinacton.com/">
<meta property="og:image" content="https://justinacton.com/content/images/size/w1200/2019/11/downtown-188848_1280.jpg">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Justin Acton">
<meta name="twitter:description" content="Thoughts, tips, and documentation">
<meta name="twitter:url" content="https://justinacton.com/">
<meta name="twitter:image" content="https://justinacton.com/content/images/size/w1200/2019/11/downtown-188848_1280.jpg">
<meta name="twitter:site" content="@justinacton">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="900">
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "WebSite",
"publisher": {
"@type": "Organization",
"name": "Justin Acton",
"url": "https://justinacton.com/",
"logo": {
"@type": "ImageObject",
"url": "https://justinacton.com/content/images/2019/11/Logo.png"
}
},
"url": "https://justinacton.com/",
"name": "Justin Acton",
"image": {
"@type": "ImageObject",
"url": "https://justinacton.com/content/images/size/w1200/2019/11/downtown-188848_1280.jpg",
"width": 1200,
"height": 900
},
"mainEntityOfPage": "https://justinacton.com/",
"description": "Thoughts, tips, and documentation"
}
</script>
<meta name="generator" content="Ghost 6.10">
<link rel="alternate" type="application/rss+xml" title="Justin Acton" href="https://justinacton.com/rss/">
<script defer src="https://cdn.jsdelivr.net/ghost/portal@~2.56/umd/portal.min.js" data-i18n="true" data-ghost="https://justinacton.com/" data-key="cfdbbfa1eb539dd4208756e099" data-api="https://justinacton.ghost.io/ghost/api/content/" data-locale="en" crossorigin="anonymous"></script><style id="gh-members-styles">.gh-post-upgrade-cta-content,
.gh-post-upgrade-cta {
display: flex;
flex-direction: column;
align-items: center;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
text-align: center;
width: 100%;
color: #ffffff;
font-size: 16px;
}
.gh-post-upgrade-cta-content {
border-radius: 8px;
padding: 40px 4vw;
}
.gh-post-upgrade-cta h2 {
color: #ffffff;
font-size: 28px;
letter-spacing: -0.2px;
margin: 0;
padding: 0;
}
.gh-post-upgrade-cta p {
margin: 20px 0 0;
padding: 0;
}
.gh-post-upgrade-cta small {
font-size: 16px;
letter-spacing: -0.2px;
}
.gh-post-upgrade-cta a {
color: #ffffff;
cursor: pointer;
font-weight: 500;
box-shadow: none;
text-decoration: underline;
}
.gh-post-upgrade-cta a:hover {
color: #ffffff;
opacity: 0.8;
box-shadow: none;
text-decoration: underline;
}
.gh-post-upgrade-cta a.gh-btn {
display: block;
background: #ffffff;
text-decoration: none;
margin: 28px 0 0;
padding: 8px 18px;
border-radius: 4px;
Open service 2a04:4e42:200::775:80 · justinacton.com
2026-01-04 00:06
HTTP/1.1 301 Moved Permanently Connection: close Content-Length: 0 Server: Varnish Retry-After: 0 Location: https://justinacton.com/ Accept-Ranges: bytes Date: Sun, 04 Jan 2026 00:06:10 GMT Via: 1.1 varnish X-Served-By: cache-rtm-ehrd2290049-RTM X-Cache: HIT X-Cache-Hits: 0 X-Timer: S1767485170.377052,VS0,VE0 x-request-id: 2ed5a5d1-0493-4690-8581-d5bf8c05d4b7 Ghost-Fastly: true;production Alt-Svc: clear
Open service 151.101.195.7:80 · justinacton.com
2026-01-04 00:06
HTTP/1.1 301 Moved Permanently Connection: close Content-Length: 0 Server: Varnish Retry-After: 0 Location: https://justinacton.com/ Accept-Ranges: bytes Date: Sun, 04 Jan 2026 00:06:10 GMT Via: 1.1 varnish X-Served-By: cache-fra-eddf8230186-FRA X-Cache: HIT X-Cache-Hits: 0 X-Timer: S1767485170.357129,VS0,VE1 x-request-id: 75642f3d-6de2-4893-9b66-96b57de146f5 Ghost-Fastly: true;production Alt-Svc: clear
Open service 151.101.67.7:80 · justinacton.com
2026-01-04 00:06
HTTP/1.1 301 Moved Permanently Connection: close Content-Length: 0 Server: Varnish Retry-After: 0 Location: https://justinacton.com/ Accept-Ranges: bytes Date: Sun, 04 Jan 2026 00:06:10 GMT Via: 1.1 varnish X-Served-By: cache-fra-eddf8230056-FRA X-Cache: HIT X-Cache-Hits: 0 X-Timer: S1767485170.295104,VS0,VE0 x-request-id: e6933525-4da0-44d4-812a-a76cd4f2b560 Ghost-Fastly: true;production Alt-Svc: clear