BunnyCDN-DE1-1328
tcp/443 tcp/80
BunnyCDN-DE1-1329
tcp/443 tcp/80
BunnyCDN-DE1-1331
tcp/443 tcp/80
Open service 2400:52e0:1e00:2::1329:1:80 · kimkoh.com
2026-01-11 16:48
HTTP/1.1 301 Moved Permanently Date: Sun, 11 Jan 2026 16:48:52 GMT Content-Type: text/html Content-Length: 166 Connection: close Server: BunnyCDN-DE1-1329 CDN-PullZone: 3230490 CDN-RequestCountryCode: DE Location: https://kimkoh.com/ CDN-RequestId: 821255210c82a91e14cbab08c5f7bbcf Cache-Control: public, max-age=0 CDN-RequestTime: 0 Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>openresty</center> </body> </html>
Open service 185.111.111.154:443 · kimkoh.com
2026-01-11 16:48
HTTP/1.1 200 OK
Date: Sun, 11 Jan 2026 16:48:52 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 50939
Connection: close
Vary: Accept-Encoding
Server: BunnyCDN-DE1-1328
CDN-PullZone: 3230490
CDN-RequestCountryCode: DE
Cache-Control: public, max-age=0
Last-Modified: Thu, 08 Jan 2026 18:20:18 GMT
CDN-StorageServer: DE-661
CDN-RequestPullSuccess: True
CDN-FileServer: 1149
Perma-Cache: HIT
CDN-ProxyVer: 1.43
CDN-RequestPullCode: 206
CDN-CachedAt: 01/11/2026 16:48:52
CDN-EdgeStorageId: 1331
CDN-RequestId: 71f05389c13c13c682ea951d286543d4
CDN-Cache: MISS
CDN-Status: 200
CDN-RequestTime: 0
Accept-Ranges: bytes
Page title: Kim Koh
<!DOCTYPE html>
<html lang="en" data-color-scheme="system">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Kim Koh</title>
<meta name="HandheldFriendly" content="True" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="theme-color" content="#0081ee">
<script>
const userDetails = {
identified: false,
};
</script>
<script src="/assets/js/gtm.js?v=66ad8bc565"></script>
<script type="text/javascript" async="async" data-noptimize="1" data-cfasync="false" src="//scripts.scriptwrapper.com/tags/e17d22bc-0416-4322-8437-a0d76206121b.js"></script>
<link rel="preload" href="/assets/dist/app.min.js?v=66ad8bc565" as="script">
<link rel="preload" href="/assets/dist/app.min.css?v=66ad8bc565" as="style">
<style>
body { --font-headings: var(--gh-font-heading, var(--font-system));
--font-body: var(--gh-font-heading, var(--font-system)); }
</style>
<script defer src="/assets/dist/app.min.js?v=66ad8bc565"></script>
<link rel="stylesheet" type="text/css" href="/assets/dist/app.min.css?v=66ad8bc565" />
<style>
:root { --global-max-width: 1280px; /* site max width */
--global-content-width: 680px; /* post-content-width */ --global-wide-width:
960px; /* site max width */ --global-radius: 1rem; /* default radius */
--global-gallery-gap: 1em; /* Image gallery distance between images */
--global-hyphens: none; /* none/auto */ --global-header-height: 80px;
--global-theme-notifications: visible; /* visible/hidden */
--global-progress-bar: visible; /* visible/hidden */
--global-content-preview-fading: 0%; /* 50%-100% for fading effect */ }
</style>
<script>
let preferredTheme = localStorage.getItem('PREFERRED_COLOR_SCHEME') || `system`;
document.documentElement.setAttribute('data-color-scheme', preferredTheme); //
Global values needed const themeGlobal = { currentPage: parseInt('1'),
nextPage: parseInt(''), nextPageLink: '', maxPages:
parseInt('1'), lastPage: `1` === `1`
? true : false, postsPerPage: parseInt('12'),
scrollPos: 0 } // Calculate contrast & HSL value; function
getBrandColorInfo(hexcolor) { // get contrast if (hexcolor.slice(0, 1) ===
'#') { hexcolor = hexcolor.slice(1); } if (hexcolor.length === 3) { hexcolor =
hexcolor.split('').map(function (hex) { return hex + hex;}).join(''); } let r
= parseInt(hexcolor.substr(0,2),16), g = parseInt(hexcolor.substr(2,2),16), b
= parseInt(hexcolor.substr(4,2),16); let yiq = ((r * 299) + (g * 587) + (b *
114)) / 1000; const colorContrast = (yiq >= 128) ? '#000' : '#fff'; //get HSL
r /= 255, g /= 255, b /= 255; const max = Math.max(r, g, b), min = Math.min(r,
g, b); let h, s, l = (max + min) / 2; if ( max == min ) { h = s = 0; } else {
let d = max - min; s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
switch(max){ case r: h = (g - b) / d + (g < b ? 6 : 0); break; case g: h = (b
- r) / d + 2; break; case b: h = (r - g) / d + 4; break; } h /= 6; } const
colorHSL = [Math.round(h * 360), Math.round(s * 100), Math.round(l * 100)]; //
return return { colorContrast, colorHSL } }; const brandColor =
getBrandColorInfo("#0081ee"); let style =
document.createElement('style'); style.innerHTML = `:root {
--color-brand-contrast: ${brandColor.colorContrast}; --color-brand-hsl:
${brandColor.colorHSL[0]} ${brandColor.colorHSL[1]}%
${brandColor.colorHSL[2]}%; }`
document.getElementsByTagName('head')[0].appendChild(style);
</script>
<div id="ad-management-config-settings" data-blocklist-all="1"></div>
<meta name="description" content="Join me in exploring topics like making money online (MMO), tech, and a bunch of other interesting stuff that might make your life better and more fun.">
<link rel="icon" href="https://kimkoh.com/content/images/size/w256h256/format/png/2025/01/Site-icon-round.webp" type="image/png">
<link rel="canonical" href="https://kimkoh.com/">
<meta name="referrer" content="origin-when-cross
Open service 2400:52e0:1e00:2::1329:1:443 · kimkoh.com
2026-01-11 16:48
HTTP/1.1 200 OK
Date: Sun, 11 Jan 2026 16:48:52 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 50939
Connection: close
Vary: Accept-Encoding
Server: BunnyCDN-DE1-1329
CDN-PullZone: 3230490
CDN-RequestCountryCode: US
Cache-Control: public, max-age=0
Last-Modified: Thu, 08 Jan 2026 18:20:18 GMT
CDN-StorageServer: DE-661
CDN-RequestPullSuccess: True
CDN-FileServer: 1149
Perma-Cache: HIT
CDN-ProxyVer: 1.43
CDN-RequestPullCode: 206
CDN-CachedAt: 01/11/2026 16:48:52
CDN-EdgeStorageId: 1331
CDN-RequestId: 438351d36207daf8748172b6b2e03616
CDN-Cache: MISS
CDN-Status: 200
CDN-RequestTime: 0
Accept-Ranges: bytes
Page title: Kim Koh
<!DOCTYPE html>
<html lang="en" data-color-scheme="system">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Kim Koh</title>
<meta name="HandheldFriendly" content="True" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="theme-color" content="#0081ee">
<script>
const userDetails = {
identified: false,
};
</script>
<script src="/assets/js/gtm.js?v=66ad8bc565"></script>
<script type="text/javascript" async="async" data-noptimize="1" data-cfasync="false" src="//scripts.scriptwrapper.com/tags/e17d22bc-0416-4322-8437-a0d76206121b.js"></script>
<link rel="preload" href="/assets/dist/app.min.js?v=66ad8bc565" as="script">
<link rel="preload" href="/assets/dist/app.min.css?v=66ad8bc565" as="style">
<style>
body { --font-headings: var(--gh-font-heading, var(--font-system));
--font-body: var(--gh-font-heading, var(--font-system)); }
</style>
<script defer src="/assets/dist/app.min.js?v=66ad8bc565"></script>
<link rel="stylesheet" type="text/css" href="/assets/dist/app.min.css?v=66ad8bc565" />
<style>
:root { --global-max-width: 1280px; /* site max width */
--global-content-width: 680px; /* post-content-width */ --global-wide-width:
960px; /* site max width */ --global-radius: 1rem; /* default radius */
--global-gallery-gap: 1em; /* Image gallery distance between images */
--global-hyphens: none; /* none/auto */ --global-header-height: 80px;
--global-theme-notifications: visible; /* visible/hidden */
--global-progress-bar: visible; /* visible/hidden */
--global-content-preview-fading: 0%; /* 50%-100% for fading effect */ }
</style>
<script>
let preferredTheme = localStorage.getItem('PREFERRED_COLOR_SCHEME') || `system`;
document.documentElement.setAttribute('data-color-scheme', preferredTheme); //
Global values needed const themeGlobal = { currentPage: parseInt('1'),
nextPage: parseInt(''), nextPageLink: '', maxPages:
parseInt('1'), lastPage: `1` === `1`
? true : false, postsPerPage: parseInt('12'),
scrollPos: 0 } // Calculate contrast & HSL value; function
getBrandColorInfo(hexcolor) { // get contrast if (hexcolor.slice(0, 1) ===
'#') { hexcolor = hexcolor.slice(1); } if (hexcolor.length === 3) { hexcolor =
hexcolor.split('').map(function (hex) { return hex + hex;}).join(''); } let r
= parseInt(hexcolor.substr(0,2),16), g = parseInt(hexcolor.substr(2,2),16), b
= parseInt(hexcolor.substr(4,2),16); let yiq = ((r * 299) + (g * 587) + (b *
114)) / 1000; const colorContrast = (yiq >= 128) ? '#000' : '#fff'; //get HSL
r /= 255, g /= 255, b /= 255; const max = Math.max(r, g, b), min = Math.min(r,
g, b); let h, s, l = (max + min) / 2; if ( max == min ) { h = s = 0; } else {
let d = max - min; s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
switch(max){ case r: h = (g - b) / d + (g < b ? 6 : 0); break; case g: h = (b
- r) / d + 2; break; case b: h = (r - g) / d + 4; break; } h /= 6; } const
colorHSL = [Math.round(h * 360), Math.round(s * 100), Math.round(l * 100)]; //
return return { colorContrast, colorHSL } }; const brandColor =
getBrandColorInfo("#0081ee"); let style =
document.createElement('style'); style.innerHTML = `:root {
--color-brand-contrast: ${brandColor.colorContrast}; --color-brand-hsl:
${brandColor.colorHSL[0]} ${brandColor.colorHSL[1]}%
${brandColor.colorHSL[2]}%; }`
document.getElementsByTagName('head')[0].appendChild(style);
</script>
<div id="ad-management-config-settings" data-blocklist-all="1"></div>
<meta name="description" content="Join me in exploring topics like making money online (MMO), tech, and a bunch of other interesting stuff that might make your life better and more fun.">
<link rel="icon" href="https://kimkoh.com/content/images/size/w256h256/format/png/2025/01/Site-icon-round.webp" type="image/png">
<link rel="canonical" href="https://kimkoh.com/">
<meta name="referrer" content="origin-when-cross
Open service 185.111.111.154:80 · kimkoh.com
2026-01-11 16:48
HTTP/1.1 301 Moved Permanently Date: Sun, 11 Jan 2026 16:48:52 GMT Content-Type: text/html Content-Length: 166 Connection: close Server: BunnyCDN-DE1-1328 CDN-PullZone: 3230490 CDN-RequestCountryCode: US Location: https://kimkoh.com/ CDN-RequestId: b5a5f437b718423675720b6e87796ac1 Cache-Control: public, max-age=0 CDN-RequestTime: 0 Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>openresty</center> </body> </html>
Open service 185.111.111.154:80 · www.kimkoh.com
2026-01-07 14:03
HTTP/1.1 301 Moved Permanently Date: Wed, 07 Jan 2026 14:03:35 GMT Content-Type: text/html Content-Length: 166 Connection: close Server: BunnyCDN-DE1-1328 CDN-PullZone: 3230490 CDN-RequestCountryCode: SG Location: https://www.kimkoh.com/ CDN-RequestId: 38c5c4de22be905e9b5887c9290948bc Cache-Control: public, max-age=0 CDN-RequestTime: 0 Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>openresty</center> </body> </html>
Open service 2400:52e0:1e00:2::1328:1:80 · www.kimkoh.com
2026-01-07 14:03
HTTP/1.1 301 Moved Permanently Date: Wed, 07 Jan 2026 14:03:34 GMT Content-Type: text/html Content-Length: 166 Connection: close Server: BunnyCDN-DE1-1328 CDN-PullZone: 3230490 CDN-RequestCountryCode: DE Location: https://www.kimkoh.com/ CDN-RequestId: 0cdf0b4a65f917f551fa9fca5469f54b Cache-Control: public, max-age=0 CDN-RequestTime: 0 Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>openresty</center> </body> </html>
Open service 185.111.111.154:443 · www.kimkoh.com
2026-01-07 14:03
HTTP/1.1 301 Moved Permanently Date: Wed, 07 Jan 2026 14:03:34 GMT Content-Type: text/html Content-Length: 166 Connection: close Server: BunnyCDN-DE1-1328 CDN-PullZone: 3230490 CDN-RequestCountryCode: DE Cache-Control: no-cache Location: https://kimkoh.com/ CDN-RequestId: 4d93691399e30fa89c01bed2bcfb0f49 CDN-RequestTime: 0 Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>openresty</center> </body> </html>
Open service 2400:52e0:1e00:2::1328:1:443 · www.kimkoh.com
2026-01-07 14:03
HTTP/1.1 301 Moved Permanently Date: Wed, 07 Jan 2026 14:03:34 GMT Content-Type: text/html Content-Length: 166 Connection: close Server: BunnyCDN-DE1-1328 CDN-PullZone: 3230490 CDN-RequestCountryCode: NL Cache-Control: no-cache Location: https://kimkoh.com/ CDN-RequestId: 555678553b4b3e1a00894d0698b5693f CDN-RequestTime: 0 Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>openresty</center> </body> </html>
Open service 2400:52e0:1e00:2::1331:1:80 · kimkoh.com
2026-01-07 01:03
HTTP/1.1 301 Moved Permanently Date: Wed, 07 Jan 2026 01:03:06 GMT Content-Type: text/html Content-Length: 166 Connection: close Server: BunnyCDN-DE1-1331 CDN-PullZone: 3230490 CDN-RequestCountryCode: DE Location: https://kimkoh.com/ CDN-RequestId: 4ccb9891d9ee29967c68e951f9f599a2 Cache-Control: public, max-age=0 CDN-RequestTime: 0 Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>openresty</center> </body> </html>
Open service 2400:52e0:1e00:2::1331:1:443 · kimkoh.com
2026-01-07 01:03
HTTP/1.1 200 OK
Date: Wed, 07 Jan 2026 01:03:07 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 50939
Connection: close
Vary: Accept-Encoding
Server: BunnyCDN-DE1-1331
CDN-PullZone: 3230490
CDN-RequestCountryCode: US
Cache-Control: public, max-age=0
Last-Modified: Sat, 20 Dec 2025 11:40:03 GMT
CDN-StorageServer: DE-1136
CDN-RequestPullSuccess: True
CDN-FileServer: 1127
Perma-Cache: HIT
CDN-ProxyVer: 1.43
CDN-RequestPullCode: 206
CDN-CachedAt: 01/07/2026 01:03:07
CDN-EdgeStorageId: 1331
CDN-RequestId: e978487c2935e2734a9d268ba8f06719
CDN-Cache: MISS
CDN-Status: 200
CDN-RequestTime: 0
Accept-Ranges: bytes
Page title: Kim Koh
<!DOCTYPE html>
<html lang="en" data-color-scheme="system">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Kim Koh</title>
<meta name="HandheldFriendly" content="True" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="theme-color" content="#0081ee">
<script>
const userDetails = {
identified: false,
};
</script>
<script src="/assets/js/gtm.js?v=911563e46e"></script>
<script type="text/javascript" async="async" data-noptimize="1" data-cfasync="false" src="//scripts.scriptwrapper.com/tags/e17d22bc-0416-4322-8437-a0d76206121b.js"></script>
<link rel="preload" href="/assets/dist/app.min.js?v=911563e46e" as="script">
<link rel="preload" href="/assets/dist/app.min.css?v=911563e46e" as="style">
<style>
body { --font-headings: var(--gh-font-heading, var(--font-system));
--font-body: var(--gh-font-heading, var(--font-system)); }
</style>
<script defer src="/assets/dist/app.min.js?v=911563e46e"></script>
<link rel="stylesheet" type="text/css" href="/assets/dist/app.min.css?v=911563e46e" />
<style>
:root { --global-max-width: 1280px; /* site max width */
--global-content-width: 680px; /* post-content-width */ --global-wide-width:
960px; /* site max width */ --global-radius: 1rem; /* default radius */
--global-gallery-gap: 1em; /* Image gallery distance between images */
--global-hyphens: none; /* none/auto */ --global-header-height: 80px;
--global-theme-notifications: visible; /* visible/hidden */
--global-progress-bar: visible; /* visible/hidden */
--global-content-preview-fading: 0%; /* 50%-100% for fading effect */ }
</style>
<script>
let preferredTheme = localStorage.getItem('PREFERRED_COLOR_SCHEME') || `system`;
document.documentElement.setAttribute('data-color-scheme', preferredTheme); //
Global values needed const themeGlobal = { currentPage: parseInt('1'),
nextPage: parseInt(''), nextPageLink: '', maxPages:
parseInt('1'), lastPage: `1` === `1`
? true : false, postsPerPage: parseInt('12'),
scrollPos: 0 } // Calculate contrast & HSL value; function
getBrandColorInfo(hexcolor) { // get contrast if (hexcolor.slice(0, 1) ===
'#') { hexcolor = hexcolor.slice(1); } if (hexcolor.length === 3) { hexcolor =
hexcolor.split('').map(function (hex) { return hex + hex;}).join(''); } let r
= parseInt(hexcolor.substr(0,2),16), g = parseInt(hexcolor.substr(2,2),16), b
= parseInt(hexcolor.substr(4,2),16); let yiq = ((r * 299) + (g * 587) + (b *
114)) / 1000; const colorContrast = (yiq >= 128) ? '#000' : '#fff'; //get HSL
r /= 255, g /= 255, b /= 255; const max = Math.max(r, g, b), min = Math.min(r,
g, b); let h, s, l = (max + min) / 2; if ( max == min ) { h = s = 0; } else {
let d = max - min; s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
switch(max){ case r: h = (g - b) / d + (g < b ? 6 : 0); break; case g: h = (b
- r) / d + 2; break; case b: h = (r - g) / d + 4; break; } h /= 6; } const
colorHSL = [Math.round(h * 360), Math.round(s * 100), Math.round(l * 100)]; //
return return { colorContrast, colorHSL } }; const brandColor =
getBrandColorInfo("#0081ee"); let style =
document.createElement('style'); style.innerHTML = `:root {
--color-brand-contrast: ${brandColor.colorContrast}; --color-brand-hsl:
${brandColor.colorHSL[0]} ${brandColor.colorHSL[1]}%
${brandColor.colorHSL[2]}%; }`
document.getElementsByTagName('head')[0].appendChild(style);
</script>
<div id="ad-management-config-settings" data-blocklist-all="1"></div>
<meta name="description" content="Join me in exploring topics like making money online (MMO), tech, and a bunch of other interesting stuff that might make your life better and more fun.">
<link rel="icon" href="https://kimkoh.com/content/images/size/w256h256/format/png/2025/01/Site-icon-round.webp" type="image/png">
<link rel="canonical" href="https://kimkoh.com/">
<meta name="referrer" content="origin-when-cross
Open service 185.111.111.154:443 · kimkoh.com
2026-01-07 01:03
HTTP/1.1 200 OK
Date: Wed, 07 Jan 2026 01:03:07 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 50939
Connection: close
Vary: Accept-Encoding
Server: BunnyCDN-DE1-1328
CDN-PullZone: 3230490
CDN-RequestCountryCode: US
Cache-Control: public, max-age=0
Last-Modified: Sat, 20 Dec 2025 11:40:03 GMT
CDN-StorageServer: DE-755
CDN-RequestPullSuccess: True
CDN-FileServer: 1127
Perma-Cache: HIT
CDN-ProxyVer: 1.43
CDN-RequestPullCode: 206
CDN-CachedAt: 01/07/2026 01:03:07
CDN-EdgeStorageId: 1331
CDN-RequestId: 222b7e61e6dbc0cf2a25d121fb59724a
CDN-Cache: MISS
CDN-Status: 200
CDN-RequestTime: 0
Accept-Ranges: bytes
Page title: Kim Koh
<!DOCTYPE html>
<html lang="en" data-color-scheme="system">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Kim Koh</title>
<meta name="HandheldFriendly" content="True" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="theme-color" content="#0081ee">
<script>
const userDetails = {
identified: false,
};
</script>
<script src="/assets/js/gtm.js?v=911563e46e"></script>
<script type="text/javascript" async="async" data-noptimize="1" data-cfasync="false" src="//scripts.scriptwrapper.com/tags/e17d22bc-0416-4322-8437-a0d76206121b.js"></script>
<link rel="preload" href="/assets/dist/app.min.js?v=911563e46e" as="script">
<link rel="preload" href="/assets/dist/app.min.css?v=911563e46e" as="style">
<style>
body { --font-headings: var(--gh-font-heading, var(--font-system));
--font-body: var(--gh-font-heading, var(--font-system)); }
</style>
<script defer src="/assets/dist/app.min.js?v=911563e46e"></script>
<link rel="stylesheet" type="text/css" href="/assets/dist/app.min.css?v=911563e46e" />
<style>
:root { --global-max-width: 1280px; /* site max width */
--global-content-width: 680px; /* post-content-width */ --global-wide-width:
960px; /* site max width */ --global-radius: 1rem; /* default radius */
--global-gallery-gap: 1em; /* Image gallery distance between images */
--global-hyphens: none; /* none/auto */ --global-header-height: 80px;
--global-theme-notifications: visible; /* visible/hidden */
--global-progress-bar: visible; /* visible/hidden */
--global-content-preview-fading: 0%; /* 50%-100% for fading effect */ }
</style>
<script>
let preferredTheme = localStorage.getItem('PREFERRED_COLOR_SCHEME') || `system`;
document.documentElement.setAttribute('data-color-scheme', preferredTheme); //
Global values needed const themeGlobal = { currentPage: parseInt('1'),
nextPage: parseInt(''), nextPageLink: '', maxPages:
parseInt('1'), lastPage: `1` === `1`
? true : false, postsPerPage: parseInt('12'),
scrollPos: 0 } // Calculate contrast & HSL value; function
getBrandColorInfo(hexcolor) { // get contrast if (hexcolor.slice(0, 1) ===
'#') { hexcolor = hexcolor.slice(1); } if (hexcolor.length === 3) { hexcolor =
hexcolor.split('').map(function (hex) { return hex + hex;}).join(''); } let r
= parseInt(hexcolor.substr(0,2),16), g = parseInt(hexcolor.substr(2,2),16), b
= parseInt(hexcolor.substr(4,2),16); let yiq = ((r * 299) + (g * 587) + (b *
114)) / 1000; const colorContrast = (yiq >= 128) ? '#000' : '#fff'; //get HSL
r /= 255, g /= 255, b /= 255; const max = Math.max(r, g, b), min = Math.min(r,
g, b); let h, s, l = (max + min) / 2; if ( max == min ) { h = s = 0; } else {
let d = max - min; s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
switch(max){ case r: h = (g - b) / d + (g < b ? 6 : 0); break; case g: h = (b
- r) / d + 2; break; case b: h = (r - g) / d + 4; break; } h /= 6; } const
colorHSL = [Math.round(h * 360), Math.round(s * 100), Math.round(l * 100)]; //
return return { colorContrast, colorHSL } }; const brandColor =
getBrandColorInfo("#0081ee"); let style =
document.createElement('style'); style.innerHTML = `:root {
--color-brand-contrast: ${brandColor.colorContrast}; --color-brand-hsl:
${brandColor.colorHSL[0]} ${brandColor.colorHSL[1]}%
${brandColor.colorHSL[2]}%; }`
document.getElementsByTagName('head')[0].appendChild(style);
</script>
<div id="ad-management-config-settings" data-blocklist-all="1"></div>
<meta name="description" content="Join me in exploring topics like making money online (MMO), tech, and a bunch of other interesting stuff that might make your life better and more fun.">
<link rel="icon" href="https://kimkoh.com/content/images/size/w256h256/format/png/2025/01/Site-icon-round.webp" type="image/png">
<link rel="canonical" href="https://kimkoh.com/">
<meta name="referrer" content="origin-when-cross
Open service 185.111.111.154:80 · kimkoh.com
2026-01-07 01:03
HTTP/1.1 301 Moved Permanently Date: Wed, 07 Jan 2026 01:03:07 GMT Content-Type: text/html Content-Length: 166 Connection: close Server: BunnyCDN-DE1-1328 CDN-PullZone: 3230490 CDN-RequestCountryCode: US Location: https://kimkoh.com/ CDN-RequestId: 9714f0049ac4d2428bfa9bc81ad628ba Cache-Control: public, max-age=0 CDN-RequestTime: 0 Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>openresty</center> </body> </html>
Open service 2001:1af8:4700:a00a:3:::80 · trk.kimkoh.com
2025-12-21 15:45
HTTP/1.1 301 Moved Permanently Content-Type: text/html; charset=utf-8 Content-Length: 53 Connection: close Location: https://kimkoh.com Date: Sun, 21 Dec 2025 15:45:52 GMT Access-Control-Allow-Origin: * Access-Control-Expose-Headers: Content-Length,Content-Range X-Kong-Upstream-Latency: 1 X-Kong-Proxy-Latency: 18 X-Kong-Request-Id: 43113b5fc308ba52fd0a6c6fecc02d13 <a href="https://kimkoh.com">Moved Permanently</a>.
Open service 85.17.65.238:80 · trk.kimkoh.com
2025-12-21 15:45
HTTP/1.1 301 Moved Permanently Content-Type: text/html; charset=utf-8 Content-Length: 53 Connection: close Location: https://kimkoh.com Date: Sun, 21 Dec 2025 15:45:52 GMT Access-Control-Allow-Origin: * Access-Control-Expose-Headers: Content-Length,Content-Range X-Kong-Upstream-Latency: 1 X-Kong-Proxy-Latency: 20 X-Kong-Request-Id: 2181b3071304e4520ffb5530d8c6b650 <a href="https://kimkoh.com">Moved Permanently</a>.
Open service 2001:1af8:4700:a00a:3:::443 · trk.kimkoh.com
2025-12-21 15:45
HTTP/1.1 301 Moved Permanently Content-Type: text/html; charset=utf-8 Content-Length: 53 Connection: close Location: https://kimkoh.com Date: Sun, 21 Dec 2025 15:45:52 GMT Access-Control-Allow-Origin: * Access-Control-Expose-Headers: Content-Length,Content-Range X-Kong-Upstream-Latency: 3 X-Kong-Proxy-Latency: 20 X-Kong-Request-Id: 3f171d0df149737de7a95552a1b13428 <a href="https://kimkoh.com">Moved Permanently</a>.
Open service 85.17.65.238:443 · trk.kimkoh.com
2025-12-21 15:45
HTTP/1.1 301 Moved Permanently Content-Type: text/html; charset=utf-8 Content-Length: 53 Connection: close Location: https://kimkoh.com Date: Sun, 21 Dec 2025 15:45:51 GMT Access-Control-Allow-Origin: * Access-Control-Expose-Headers: Content-Length,Content-Range X-Kong-Upstream-Latency: 13 X-Kong-Proxy-Latency: 21 X-Kong-Request-Id: 17f70c70dfb2e64b1cdb102eec57681d <a href="https://kimkoh.com">Moved Permanently</a>.