Varnish
tcp/80
openresty
tcp/443
Open service 2a04:4e42::775:443 · ufuksnotes.com
2026-01-26 00:10
HTTP/1.1 200 OK
Connection: close
Content-Length: 50877
cache-control: public, max-age=0
status: 200 OK
content-type: text/html; charset=utf-8
server: openresty
via: 1.1 varnish, 1.1 varnish, 1.1 varnish
etag: W/"c6bd-VOKGzPHuCpgpkeYcerA3+OJsKuQ"
Accept-Ranges: bytes
Date: Mon, 26 Jan 2026 00:10:20 GMT
Age: 480097
X-Served-By: cache-ams2100130-AMS, cache-ams21059-AMS, cache-bom-vanm7210066-BOM
X-Cache: MISS, HIT, HIT
X-Cache-Hits: 0, 28, 1
X-Timer: S1769386220.023313,VS0,VE1
Vary: Cookie, Accept-Encoding
x-request-id: 6627e175-f9b6-46ef-9379-70648df818a9
Ghost-Fastly: true;production
Alt-Svc: clear
Page title: Ufuks Notes
<!DOCTYPE html>
<html lang="en">
<head>
<title>Ufuks Notes</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="preload" as="style" href="https://ufuksnotes.com/assets/built/screen.css?v=98a0305d6d">
<link rel="preload" as="script" href="https://ufuksnotes.com/assets/built/source.js?v=98a0305d6d">
<link rel="preload" as="font" type="font/woff2" href="https://ufuksnotes.com/assets/fonts/inter-roman.woff2?v=98a0305d6d" crossorigin="anonymous">
<style>
@font-face {
font-family: "Inter";
font-style: normal;
font-weight: 100 900;
font-display: optional;
src: url(https://ufuksnotes.com/assets/fonts/inter-roman.woff2?v=98a0305d6d) format("woff2");
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
</style>
<link rel="stylesheet" type="text/css" href="https://ufuksnotes.com/assets/built/screen.css?v=98a0305d6d">
<style>
:root {
--background-color: #ffffff
}
</style>
<script>
/* The script for calculating the color contrast has been taken from
https://gomakethings.com/dynamically-changing-the-text-color-based-on-background-color-contrast-with-vanilla-js/ */
var accentColor = getComputedStyle(document.documentElement).getPropertyValue('--background-color');
accentColor = accentColor.trim().slice(1);
if (accentColor.length === 3) {
accentColor = accentColor[0] + accentColor[0] + accentColor[1] + accentColor[1] + accentColor[2] + accentColor[2];
}
var r = parseInt(accentColor.substr(0, 2), 16);
var g = parseInt(accentColor.substr(2, 2), 16);
var b = parseInt(accentColor.substr(4, 2), 16);
var yiq = ((r * 299) + (g * 587) + (b * 114)) / 1000;
var textColor = (yiq >= 128) ? 'dark' : 'light';
document.documentElement.className = `has-${textColor}-text`;
</script>
<meta name="description" content="Thoughts of a hyperactive generalist brain">
<link rel="canonical" href="https://ufuksnotes.com/">
<meta name="referrer" content="no-referrer-when-downgrade">
<link rel="next" href="https://ufuksnotes.com/page/2/">
<meta property="og:site_name" content="ufuksnotes">
<meta property="og:type" content="website">
<meta property="og:title" content="ufuksnotes">
<meta property="og:description" content="Thoughts of a hyperactive generalist brain">
<meta property="og:url" content="https://ufuksnotes.com/">
<meta property="og:image" content="https://static.ghost.org/v5.0.0/images/publication-cover.jpg">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="ufuksnotes">
<meta name="twitter:description" content="Thoughts of a hyperactive generalist brain">
<meta name="twitter:url" content="https://ufuksnotes.com/">
<meta name="twitter:image" content="https://static.ghost.org/v5.0.0/images/publication-cover.jpg">
<meta name="twitter:site" content="@ufuksfk">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="840">
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "WebSite",
"publisher": {
"@type": "Organization",
"name": "ufuksnotes",
"url": "https://ufuksnotes.com/",
"logo": {
"@type": "ImageObject",
"url": "https://ufuksnotes.com/favicon.ico",
"width": 48,
"height": 48
}
},
"url": "https://ufuksnotes.com/",
"name": "ufuksnotes",
"image": {
"@type": "ImageObject",
"url": "https://static.ghost.org/v5.0.0/images/publication-cover.jpg",
"width": 1200,
"height": 840
},
"mainEntityOfPage": "https://ufuksnotes.com/",
"description": "Thoughts of a hyperactive ge
Open service 2a04:4e42:600::775:80 · ufuksnotes.com
2026-01-26 00:10
HTTP/1.1 301 Moved Permanently Connection: close Content-Length: 0 Server: Varnish Retry-After: 0 Location: https://ufuksnotes.com/ Accept-Ranges: bytes Date: Mon, 26 Jan 2026 00:10:19 GMT Via: 1.1 varnish X-Served-By: cache-fra-eddf8230066-FRA X-Cache: HIT X-Cache-Hits: 0 X-Timer: S1769386220.718462,VS0,VE1 x-request-id: 0f5cda3d-3898-4bd0-993f-19adbea15ed6 Ghost-Fastly: true;production Alt-Svc: clear
Open service 151.101.195.7:80 · ufuksnotes.com
2026-01-26 00:10
HTTP/1.1 301 Moved Permanently Connection: close Content-Length: 0 Server: Varnish Retry-After: 0 Location: https://ufuksnotes.com/ Accept-Ranges: bytes Date: Mon, 26 Jan 2026 00:10:19 GMT Via: 1.1 varnish X-Served-By: cache-pao-kpao1770032-PAO X-Cache: HIT X-Cache-Hits: 0 X-Timer: S1769386220.661824,VS0,VE1 x-request-id: da802622-c7bf-46d5-88f7-bcb8d3183f29 Ghost-Fastly: true;production Alt-Svc: clear
Open service 151.101.195.7:443 · ufuksnotes.com
2026-01-26 00:10
HTTP/1.1 200 OK
Connection: close
Content-Length: 50877
cache-control: public, max-age=0
status: 200 OK
content-type: text/html; charset=utf-8
server: openresty
via: 1.1 varnish, 1.1 varnish, 1.1 varnish
etag: W/"c6bd-VOKGzPHuCpgpkeYcerA3+OJsKuQ"
Accept-Ranges: bytes
Date: Mon, 26 Jan 2026 00:10:19 GMT
Age: 480097
X-Served-By: cache-ams2100130-AMS, cache-ams21059-AMS, cache-rtm-ehrd2290050-RTM
X-Cache: MISS, HIT, HIT
X-Cache-Hits: 0, 7, 1
X-Timer: S1769386220.680820,VS0,VE1
Vary: Cookie, Accept-Encoding
x-request-id: 6a753fff-e58c-4a34-bdfd-a7fba58ad5f0
Ghost-Fastly: true;production
Alt-Svc: clear
Page title: Ufuks Notes
<!DOCTYPE html>
<html lang="en">
<head>
<title>Ufuks Notes</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="preload" as="style" href="https://ufuksnotes.com/assets/built/screen.css?v=98a0305d6d">
<link rel="preload" as="script" href="https://ufuksnotes.com/assets/built/source.js?v=98a0305d6d">
<link rel="preload" as="font" type="font/woff2" href="https://ufuksnotes.com/assets/fonts/inter-roman.woff2?v=98a0305d6d" crossorigin="anonymous">
<style>
@font-face {
font-family: "Inter";
font-style: normal;
font-weight: 100 900;
font-display: optional;
src: url(https://ufuksnotes.com/assets/fonts/inter-roman.woff2?v=98a0305d6d) format("woff2");
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
</style>
<link rel="stylesheet" type="text/css" href="https://ufuksnotes.com/assets/built/screen.css?v=98a0305d6d">
<style>
:root {
--background-color: #ffffff
}
</style>
<script>
/* The script for calculating the color contrast has been taken from
https://gomakethings.com/dynamically-changing-the-text-color-based-on-background-color-contrast-with-vanilla-js/ */
var accentColor = getComputedStyle(document.documentElement).getPropertyValue('--background-color');
accentColor = accentColor.trim().slice(1);
if (accentColor.length === 3) {
accentColor = accentColor[0] + accentColor[0] + accentColor[1] + accentColor[1] + accentColor[2] + accentColor[2];
}
var r = parseInt(accentColor.substr(0, 2), 16);
var g = parseInt(accentColor.substr(2, 2), 16);
var b = parseInt(accentColor.substr(4, 2), 16);
var yiq = ((r * 299) + (g * 587) + (b * 114)) / 1000;
var textColor = (yiq >= 128) ? 'dark' : 'light';
document.documentElement.className = `has-${textColor}-text`;
</script>
<meta name="description" content="Thoughts of a hyperactive generalist brain">
<link rel="canonical" href="https://ufuksnotes.com/">
<meta name="referrer" content="no-referrer-when-downgrade">
<link rel="next" href="https://ufuksnotes.com/page/2/">
<meta property="og:site_name" content="ufuksnotes">
<meta property="og:type" content="website">
<meta property="og:title" content="ufuksnotes">
<meta property="og:description" content="Thoughts of a hyperactive generalist brain">
<meta property="og:url" content="https://ufuksnotes.com/">
<meta property="og:image" content="https://static.ghost.org/v5.0.0/images/publication-cover.jpg">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="ufuksnotes">
<meta name="twitter:description" content="Thoughts of a hyperactive generalist brain">
<meta name="twitter:url" content="https://ufuksnotes.com/">
<meta name="twitter:image" content="https://static.ghost.org/v5.0.0/images/publication-cover.jpg">
<meta name="twitter:site" content="@ufuksfk">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="840">
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "WebSite",
"publisher": {
"@type": "Organization",
"name": "ufuksnotes",
"url": "https://ufuksnotes.com/",
"logo": {
"@type": "ImageObject",
"url": "https://ufuksnotes.com/favicon.ico",
"width": 48,
"height": 48
}
},
"url": "https://ufuksnotes.com/",
"name": "ufuksnotes",
"image": {
"@type": "ImageObject",
"url": "https://static.ghost.org/v5.0.0/images/publication-cover.jpg",
"width": 1200,
"height": 840
},
"mainEntityOfPage": "https://ufuksnotes.com/",
"description": "Thoughts of a hyperactive ge
Open service 151.101.3.7:80 · ufuksnotes.com
2026-01-26 00:10
HTTP/1.1 301 Moved Permanently Connection: close Content-Length: 0 Server: Varnish Retry-After: 0 Location: https://ufuksnotes.com/ Accept-Ranges: bytes Date: Mon, 26 Jan 2026 00:10:19 GMT Via: 1.1 varnish X-Served-By: cache-yyz4523-YYZ X-Cache: HIT X-Cache-Hits: 0 X-Timer: S1769386220.689075,VS0,VE1 x-request-id: 66baba92-f54a-4037-817c-db8967243b56 Ghost-Fastly: true;production Alt-Svc: clear
Open service 151.101.67.7:443 · ufuksnotes.com
2026-01-26 00:10
HTTP/1.1 200 OK
Connection: close
Content-Length: 50877
cache-control: public, max-age=0
status: 200 OK
content-type: text/html; charset=utf-8
server: openresty
via: 1.1 varnish, 1.1 varnish, 1.1 varnish
etag: W/"c6bd-VOKGzPHuCpgpkeYcerA3+OJsKuQ"
Accept-Ranges: bytes
Date: Mon, 26 Jan 2026 00:10:19 GMT
Age: 480097
X-Served-By: cache-ams2100130-AMS, cache-ams21059-AMS, cache-lga21934-LGA
X-Cache: MISS, HIT, HIT
X-Cache-Hits: 0, 24, 1
X-Timer: S1769386220.681143,VS0,VE4
Vary: Cookie, Accept-Encoding
x-request-id: a26e6498-c3a3-49cc-baf7-181dc72d5d31
Ghost-Fastly: true;production
Alt-Svc: clear
Page title: Ufuks Notes
<!DOCTYPE html>
<html lang="en">
<head>
<title>Ufuks Notes</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="preload" as="style" href="https://ufuksnotes.com/assets/built/screen.css?v=98a0305d6d">
<link rel="preload" as="script" href="https://ufuksnotes.com/assets/built/source.js?v=98a0305d6d">
<link rel="preload" as="font" type="font/woff2" href="https://ufuksnotes.com/assets/fonts/inter-roman.woff2?v=98a0305d6d" crossorigin="anonymous">
<style>
@font-face {
font-family: "Inter";
font-style: normal;
font-weight: 100 900;
font-display: optional;
src: url(https://ufuksnotes.com/assets/fonts/inter-roman.woff2?v=98a0305d6d) format("woff2");
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
</style>
<link rel="stylesheet" type="text/css" href="https://ufuksnotes.com/assets/built/screen.css?v=98a0305d6d">
<style>
:root {
--background-color: #ffffff
}
</style>
<script>
/* The script for calculating the color contrast has been taken from
https://gomakethings.com/dynamically-changing-the-text-color-based-on-background-color-contrast-with-vanilla-js/ */
var accentColor = getComputedStyle(document.documentElement).getPropertyValue('--background-color');
accentColor = accentColor.trim().slice(1);
if (accentColor.length === 3) {
accentColor = accentColor[0] + accentColor[0] + accentColor[1] + accentColor[1] + accentColor[2] + accentColor[2];
}
var r = parseInt(accentColor.substr(0, 2), 16);
var g = parseInt(accentColor.substr(2, 2), 16);
var b = parseInt(accentColor.substr(4, 2), 16);
var yiq = ((r * 299) + (g * 587) + (b * 114)) / 1000;
var textColor = (yiq >= 128) ? 'dark' : 'light';
document.documentElement.className = `has-${textColor}-text`;
</script>
<meta name="description" content="Thoughts of a hyperactive generalist brain">
<link rel="canonical" href="https://ufuksnotes.com/">
<meta name="referrer" content="no-referrer-when-downgrade">
<link rel="next" href="https://ufuksnotes.com/page/2/">
<meta property="og:site_name" content="ufuksnotes">
<meta property="og:type" content="website">
<meta property="og:title" content="ufuksnotes">
<meta property="og:description" content="Thoughts of a hyperactive generalist brain">
<meta property="og:url" content="https://ufuksnotes.com/">
<meta property="og:image" content="https://static.ghost.org/v5.0.0/images/publication-cover.jpg">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="ufuksnotes">
<meta name="twitter:description" content="Thoughts of a hyperactive generalist brain">
<meta name="twitter:url" content="https://ufuksnotes.com/">
<meta name="twitter:image" content="https://static.ghost.org/v5.0.0/images/publication-cover.jpg">
<meta name="twitter:site" content="@ufuksfk">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="840">
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "WebSite",
"publisher": {
"@type": "Organization",
"name": "ufuksnotes",
"url": "https://ufuksnotes.com/",
"logo": {
"@type": "ImageObject",
"url": "https://ufuksnotes.com/favicon.ico",
"width": 48,
"height": 48
}
},
"url": "https://ufuksnotes.com/",
"name": "ufuksnotes",
"image": {
"@type": "ImageObject",
"url": "https://static.ghost.org/v5.0.0/images/publication-cover.jpg",
"width": 1200,
"height": 840
},
"mainEntityOfPage": "https://ufuksnotes.com/",
"description": "Thoughts of a hyperactive ge
Open service 151.101.131.7:80 · ufuksnotes.com
2026-01-26 00:10
HTTP/1.1 301 Moved Permanently Connection: close Content-Length: 0 Server: Varnish Retry-After: 0 Location: https://ufuksnotes.com/ Accept-Ranges: bytes Date: Mon, 26 Jan 2026 00:10:19 GMT Via: 1.1 varnish X-Served-By: cache-pao-kpao1770076-PAO X-Cache: HIT X-Cache-Hits: 0 X-Timer: S1769386220.614655,VS0,VE1 x-request-id: 0201b908-16ef-46cb-b63c-f3e8f07fb499 Ghost-Fastly: true;production Alt-Svc: clear
Open service 2a04:4e42:400::775:80 · ufuksnotes.com
2026-01-26 00:10
HTTP/1.1 301 Moved Permanently Connection: close Content-Length: 0 Server: Varnish Retry-After: 0 Location: https://ufuksnotes.com/ Accept-Ranges: bytes Date: Mon, 26 Jan 2026 00:10:19 GMT Via: 1.1 varnish X-Served-By: cache-vie6333-VIE X-Cache: HIT X-Cache-Hits: 0 X-Timer: S1769386220.646474,VS0,VE1 x-request-id: ad034707-0c15-4d81-966c-26cd3dc368ce Ghost-Fastly: true;production Alt-Svc: clear
Open service 2a04:4e42:600::775:443 · ufuksnotes.com
2026-01-26 00:10
HTTP/1.1 200 OK
Connection: close
Content-Length: 50877
cache-control: public, max-age=0
status: 200 OK
content-type: text/html; charset=utf-8
server: openresty
via: 1.1 varnish, 1.1 varnish, 1.1 varnish
etag: W/"c6bd-VOKGzPHuCpgpkeYcerA3+OJsKuQ"
Accept-Ranges: bytes
Date: Mon, 26 Jan 2026 00:10:19 GMT
Age: 480097
X-Served-By: cache-ams2100130-AMS, cache-ams21059-AMS, cache-pao-kpao1770079-PAO
X-Cache: MISS, HIT, HIT
X-Cache-Hits: 0, 26, 1
X-Timer: S1769386220.748681,VS0,VE4
Vary: Cookie, Accept-Encoding
x-request-id: e8aeef80-a48a-4459-8202-5a63a64f9ad4
Ghost-Fastly: true;production
Alt-Svc: clear
Page title: Ufuks Notes
<!DOCTYPE html>
<html lang="en">
<head>
<title>Ufuks Notes</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="preload" as="style" href="https://ufuksnotes.com/assets/built/screen.css?v=98a0305d6d">
<link rel="preload" as="script" href="https://ufuksnotes.com/assets/built/source.js?v=98a0305d6d">
<link rel="preload" as="font" type="font/woff2" href="https://ufuksnotes.com/assets/fonts/inter-roman.woff2?v=98a0305d6d" crossorigin="anonymous">
<style>
@font-face {
font-family: "Inter";
font-style: normal;
font-weight: 100 900;
font-display: optional;
src: url(https://ufuksnotes.com/assets/fonts/inter-roman.woff2?v=98a0305d6d) format("woff2");
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
</style>
<link rel="stylesheet" type="text/css" href="https://ufuksnotes.com/assets/built/screen.css?v=98a0305d6d">
<style>
:root {
--background-color: #ffffff
}
</style>
<script>
/* The script for calculating the color contrast has been taken from
https://gomakethings.com/dynamically-changing-the-text-color-based-on-background-color-contrast-with-vanilla-js/ */
var accentColor = getComputedStyle(document.documentElement).getPropertyValue('--background-color');
accentColor = accentColor.trim().slice(1);
if (accentColor.length === 3) {
accentColor = accentColor[0] + accentColor[0] + accentColor[1] + accentColor[1] + accentColor[2] + accentColor[2];
}
var r = parseInt(accentColor.substr(0, 2), 16);
var g = parseInt(accentColor.substr(2, 2), 16);
var b = parseInt(accentColor.substr(4, 2), 16);
var yiq = ((r * 299) + (g * 587) + (b * 114)) / 1000;
var textColor = (yiq >= 128) ? 'dark' : 'light';
document.documentElement.className = `has-${textColor}-text`;
</script>
<meta name="description" content="Thoughts of a hyperactive generalist brain">
<link rel="canonical" href="https://ufuksnotes.com/">
<meta name="referrer" content="no-referrer-when-downgrade">
<link rel="next" href="https://ufuksnotes.com/page/2/">
<meta property="og:site_name" content="ufuksnotes">
<meta property="og:type" content="website">
<meta property="og:title" content="ufuksnotes">
<meta property="og:description" content="Thoughts of a hyperactive generalist brain">
<meta property="og:url" content="https://ufuksnotes.com/">
<meta property="og:image" content="https://static.ghost.org/v5.0.0/images/publication-cover.jpg">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="ufuksnotes">
<meta name="twitter:description" content="Thoughts of a hyperactive generalist brain">
<meta name="twitter:url" content="https://ufuksnotes.com/">
<meta name="twitter:image" content="https://static.ghost.org/v5.0.0/images/publication-cover.jpg">
<meta name="twitter:site" content="@ufuksfk">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="840">
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "WebSite",
"publisher": {
"@type": "Organization",
"name": "ufuksnotes",
"url": "https://ufuksnotes.com/",
"logo": {
"@type": "ImageObject",
"url": "https://ufuksnotes.com/favicon.ico",
"width": 48,
"height": 48
}
},
"url": "https://ufuksnotes.com/",
"name": "ufuksnotes",
"image": {
"@type": "ImageObject",
"url": "https://static.ghost.org/v5.0.0/images/publication-cover.jpg",
"width": 1200,
"height": 840
},
"mainEntityOfPage": "https://ufuksnotes.com/",
"description": "Thoughts of a hyperactive ge
Open service 2a04:4e42::775:80 · ufuksnotes.com
2026-01-26 00:10
HTTP/1.1 301 Moved Permanently Connection: close Content-Length: 0 Server: Varnish Retry-After: 0 Location: https://ufuksnotes.com/ Accept-Ranges: bytes Date: Mon, 26 Jan 2026 00:10:19 GMT Via: 1.1 varnish X-Served-By: cache-vie6343-VIE X-Cache: HIT X-Cache-Hits: 0 X-Timer: S1769386220.678885,VS0,VE1 x-request-id: ae1acfe1-6784-4184-ba00-cd6ade2e8546 Ghost-Fastly: true;production Alt-Svc: clear
Open service 151.101.131.7:443 · ufuksnotes.com
2026-01-26 00:10
HTTP/1.1 200 OK
Connection: close
Content-Length: 50877
cache-control: public, max-age=0
status: 200 OK
content-type: text/html; charset=utf-8
server: openresty
via: 1.1 varnish, 1.1 varnish, 1.1 varnish
etag: W/"c6bd-VOKGzPHuCpgpkeYcerA3+OJsKuQ"
Accept-Ranges: bytes
Date: Mon, 26 Jan 2026 00:10:19 GMT
Age: 480097
X-Served-By: cache-ams2100130-AMS, cache-ams21059-AMS, cache-sin-wsss1830067-SIN
X-Cache: MISS, HIT, HIT
X-Cache-Hits: 0, 27, 1
X-Timer: S1769386220.781385,VS0,VE2
Vary: Cookie, Accept-Encoding
x-request-id: a21a9abc-4d8a-451a-9639-513ce5060865
Ghost-Fastly: true;production
Alt-Svc: clear
Page title: Ufuks Notes
<!DOCTYPE html>
<html lang="en">
<head>
<title>Ufuks Notes</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="preload" as="style" href="https://ufuksnotes.com/assets/built/screen.css?v=98a0305d6d">
<link rel="preload" as="script" href="https://ufuksnotes.com/assets/built/source.js?v=98a0305d6d">
<link rel="preload" as="font" type="font/woff2" href="https://ufuksnotes.com/assets/fonts/inter-roman.woff2?v=98a0305d6d" crossorigin="anonymous">
<style>
@font-face {
font-family: "Inter";
font-style: normal;
font-weight: 100 900;
font-display: optional;
src: url(https://ufuksnotes.com/assets/fonts/inter-roman.woff2?v=98a0305d6d) format("woff2");
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
</style>
<link rel="stylesheet" type="text/css" href="https://ufuksnotes.com/assets/built/screen.css?v=98a0305d6d">
<style>
:root {
--background-color: #ffffff
}
</style>
<script>
/* The script for calculating the color contrast has been taken from
https://gomakethings.com/dynamically-changing-the-text-color-based-on-background-color-contrast-with-vanilla-js/ */
var accentColor = getComputedStyle(document.documentElement).getPropertyValue('--background-color');
accentColor = accentColor.trim().slice(1);
if (accentColor.length === 3) {
accentColor = accentColor[0] + accentColor[0] + accentColor[1] + accentColor[1] + accentColor[2] + accentColor[2];
}
var r = parseInt(accentColor.substr(0, 2), 16);
var g = parseInt(accentColor.substr(2, 2), 16);
var b = parseInt(accentColor.substr(4, 2), 16);
var yiq = ((r * 299) + (g * 587) + (b * 114)) / 1000;
var textColor = (yiq >= 128) ? 'dark' : 'light';
document.documentElement.className = `has-${textColor}-text`;
</script>
<meta name="description" content="Thoughts of a hyperactive generalist brain">
<link rel="canonical" href="https://ufuksnotes.com/">
<meta name="referrer" content="no-referrer-when-downgrade">
<link rel="next" href="https://ufuksnotes.com/page/2/">
<meta property="og:site_name" content="ufuksnotes">
<meta property="og:type" content="website">
<meta property="og:title" content="ufuksnotes">
<meta property="og:description" content="Thoughts of a hyperactive generalist brain">
<meta property="og:url" content="https://ufuksnotes.com/">
<meta property="og:image" content="https://static.ghost.org/v5.0.0/images/publication-cover.jpg">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="ufuksnotes">
<meta name="twitter:description" content="Thoughts of a hyperactive generalist brain">
<meta name="twitter:url" content="https://ufuksnotes.com/">
<meta name="twitter:image" content="https://static.ghost.org/v5.0.0/images/publication-cover.jpg">
<meta name="twitter:site" content="@ufuksfk">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="840">
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "WebSite",
"publisher": {
"@type": "Organization",
"name": "ufuksnotes",
"url": "https://ufuksnotes.com/",
"logo": {
"@type": "ImageObject",
"url": "https://ufuksnotes.com/favicon.ico",
"width": 48,
"height": 48
}
},
"url": "https://ufuksnotes.com/",
"name": "ufuksnotes",
"image": {
"@type": "ImageObject",
"url": "https://static.ghost.org/v5.0.0/images/publication-cover.jpg",
"width": 1200,
"height": 840
},
"mainEntityOfPage": "https://ufuksnotes.com/",
"description": "Thoughts of a hyperactive ge
Open service 151.101.3.7:443 · ufuksnotes.com
2026-01-26 00:10
HTTP/1.1 200 OK
Connection: close
Content-Length: 50877
cache-control: public, max-age=0
status: 200 OK
content-type: text/html; charset=utf-8
server: openresty
via: 1.1 varnish, 1.1 varnish, 1.1 varnish
etag: W/"c6bd-VOKGzPHuCpgpkeYcerA3+OJsKuQ"
Accept-Ranges: bytes
Date: Mon, 26 Jan 2026 00:10:19 GMT
Age: 480097
X-Served-By: cache-ams2100130-AMS, cache-ams21059-AMS, cache-lcy-egml8630040-LCY
X-Cache: MISS, HIT, HIT
X-Cache-Hits: 0, 25, 1
X-Timer: S1769386220.607651,VS0,VE1
Vary: Cookie, Accept-Encoding
x-request-id: 31eafa7a-c097-4456-903b-1c59f26f28ae
Ghost-Fastly: true;production
Alt-Svc: clear
Page title: Ufuks Notes
<!DOCTYPE html>
<html lang="en">
<head>
<title>Ufuks Notes</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="preload" as="style" href="https://ufuksnotes.com/assets/built/screen.css?v=98a0305d6d">
<link rel="preload" as="script" href="https://ufuksnotes.com/assets/built/source.js?v=98a0305d6d">
<link rel="preload" as="font" type="font/woff2" href="https://ufuksnotes.com/assets/fonts/inter-roman.woff2?v=98a0305d6d" crossorigin="anonymous">
<style>
@font-face {
font-family: "Inter";
font-style: normal;
font-weight: 100 900;
font-display: optional;
src: url(https://ufuksnotes.com/assets/fonts/inter-roman.woff2?v=98a0305d6d) format("woff2");
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
</style>
<link rel="stylesheet" type="text/css" href="https://ufuksnotes.com/assets/built/screen.css?v=98a0305d6d">
<style>
:root {
--background-color: #ffffff
}
</style>
<script>
/* The script for calculating the color contrast has been taken from
https://gomakethings.com/dynamically-changing-the-text-color-based-on-background-color-contrast-with-vanilla-js/ */
var accentColor = getComputedStyle(document.documentElement).getPropertyValue('--background-color');
accentColor = accentColor.trim().slice(1);
if (accentColor.length === 3) {
accentColor = accentColor[0] + accentColor[0] + accentColor[1] + accentColor[1] + accentColor[2] + accentColor[2];
}
var r = parseInt(accentColor.substr(0, 2), 16);
var g = parseInt(accentColor.substr(2, 2), 16);
var b = parseInt(accentColor.substr(4, 2), 16);
var yiq = ((r * 299) + (g * 587) + (b * 114)) / 1000;
var textColor = (yiq >= 128) ? 'dark' : 'light';
document.documentElement.className = `has-${textColor}-text`;
</script>
<meta name="description" content="Thoughts of a hyperactive generalist brain">
<link rel="canonical" href="https://ufuksnotes.com/">
<meta name="referrer" content="no-referrer-when-downgrade">
<link rel="next" href="https://ufuksnotes.com/page/2/">
<meta property="og:site_name" content="ufuksnotes">
<meta property="og:type" content="website">
<meta property="og:title" content="ufuksnotes">
<meta property="og:description" content="Thoughts of a hyperactive generalist brain">
<meta property="og:url" content="https://ufuksnotes.com/">
<meta property="og:image" content="https://static.ghost.org/v5.0.0/images/publication-cover.jpg">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="ufuksnotes">
<meta name="twitter:description" content="Thoughts of a hyperactive generalist brain">
<meta name="twitter:url" content="https://ufuksnotes.com/">
<meta name="twitter:image" content="https://static.ghost.org/v5.0.0/images/publication-cover.jpg">
<meta name="twitter:site" content="@ufuksfk">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="840">
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "WebSite",
"publisher": {
"@type": "Organization",
"name": "ufuksnotes",
"url": "https://ufuksnotes.com/",
"logo": {
"@type": "ImageObject",
"url": "https://ufuksnotes.com/favicon.ico",
"width": 48,
"height": 48
}
},
"url": "https://ufuksnotes.com/",
"name": "ufuksnotes",
"image": {
"@type": "ImageObject",
"url": "https://static.ghost.org/v5.0.0/images/publication-cover.jpg",
"width": 1200,
"height": 840
},
"mainEntityOfPage": "https://ufuksnotes.com/",
"description": "Thoughts of a hyperactive ge
Open service 2a04:4e42:200::775:443 · ufuksnotes.com
2026-01-26 00:10
HTTP/1.1 200 OK
Connection: close
Content-Length: 50877
cache-control: public, max-age=0
status: 200 OK
content-type: text/html; charset=utf-8
server: openresty
via: 1.1 varnish, 1.1 varnish, 1.1 varnish
etag: W/"c6bd-VOKGzPHuCpgpkeYcerA3+OJsKuQ"
Accept-Ranges: bytes
Age: 480097
Date: Mon, 26 Jan 2026 00:10:19 GMT
X-Served-By: cache-ams2100130-AMS, cache-ams21059-AMS, cache-vie6327-VIE
X-Cache: MISS, HIT, HIT
X-Cache-Hits: 0, 19, 0
X-Timer: S1769386220.600906,VS0,VE2
Vary: Cookie, Accept-Encoding
x-request-id: 261ffb99-4c61-4b02-9744-e9c5bad1a02d
Ghost-Fastly: true;production
Alt-Svc: clear
Page title: Ufuks Notes
<!DOCTYPE html>
<html lang="en">
<head>
<title>Ufuks Notes</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="preload" as="style" href="https://ufuksnotes.com/assets/built/screen.css?v=98a0305d6d">
<link rel="preload" as="script" href="https://ufuksnotes.com/assets/built/source.js?v=98a0305d6d">
<link rel="preload" as="font" type="font/woff2" href="https://ufuksnotes.com/assets/fonts/inter-roman.woff2?v=98a0305d6d" crossorigin="anonymous">
<style>
@font-face {
font-family: "Inter";
font-style: normal;
font-weight: 100 900;
font-display: optional;
src: url(https://ufuksnotes.com/assets/fonts/inter-roman.woff2?v=98a0305d6d) format("woff2");
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
</style>
<link rel="stylesheet" type="text/css" href="https://ufuksnotes.com/assets/built/screen.css?v=98a0305d6d">
<style>
:root {
--background-color: #ffffff
}
</style>
<script>
/* The script for calculating the color contrast has been taken from
https://gomakethings.com/dynamically-changing-the-text-color-based-on-background-color-contrast-with-vanilla-js/ */
var accentColor = getComputedStyle(document.documentElement).getPropertyValue('--background-color');
accentColor = accentColor.trim().slice(1);
if (accentColor.length === 3) {
accentColor = accentColor[0] + accentColor[0] + accentColor[1] + accentColor[1] + accentColor[2] + accentColor[2];
}
var r = parseInt(accentColor.substr(0, 2), 16);
var g = parseInt(accentColor.substr(2, 2), 16);
var b = parseInt(accentColor.substr(4, 2), 16);
var yiq = ((r * 299) + (g * 587) + (b * 114)) / 1000;
var textColor = (yiq >= 128) ? 'dark' : 'light';
document.documentElement.className = `has-${textColor}-text`;
</script>
<meta name="description" content="Thoughts of a hyperactive generalist brain">
<link rel="canonical" href="https://ufuksnotes.com/">
<meta name="referrer" content="no-referrer-when-downgrade">
<link rel="next" href="https://ufuksnotes.com/page/2/">
<meta property="og:site_name" content="ufuksnotes">
<meta property="og:type" content="website">
<meta property="og:title" content="ufuksnotes">
<meta property="og:description" content="Thoughts of a hyperactive generalist brain">
<meta property="og:url" content="https://ufuksnotes.com/">
<meta property="og:image" content="https://static.ghost.org/v5.0.0/images/publication-cover.jpg">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="ufuksnotes">
<meta name="twitter:description" content="Thoughts of a hyperactive generalist brain">
<meta name="twitter:url" content="https://ufuksnotes.com/">
<meta name="twitter:image" content="https://static.ghost.org/v5.0.0/images/publication-cover.jpg">
<meta name="twitter:site" content="@ufuksfk">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="840">
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "WebSite",
"publisher": {
"@type": "Organization",
"name": "ufuksnotes",
"url": "https://ufuksnotes.com/",
"logo": {
"@type": "ImageObject",
"url": "https://ufuksnotes.com/favicon.ico",
"width": 48,
"height": 48
}
},
"url": "https://ufuksnotes.com/",
"name": "ufuksnotes",
"image": {
"@type": "ImageObject",
"url": "https://static.ghost.org/v5.0.0/images/publication-cover.jpg",
"width": 1200,
"height": 840
},
"mainEntityOfPage": "https://ufuksnotes.com/",
"description": "Thoughts of a hyperactive ge
Open service 2a04:4e42:200::775:80 · ufuksnotes.com
2026-01-26 00:10
HTTP/1.1 301 Moved Permanently Connection: close Content-Length: 0 Server: Varnish Retry-After: 0 Location: https://ufuksnotes.com/ Accept-Ranges: bytes Date: Mon, 26 Jan 2026 00:10:19 GMT Via: 1.1 varnish X-Served-By: cache-vie6372-VIE X-Cache: HIT X-Cache-Hits: 0 X-Timer: S1769386220.590173,VS0,VE1 x-request-id: 8a6cc0c9-1c1d-4f06-8be9-5e04b43e145a Ghost-Fastly: true;production Alt-Svc: clear
Open service 151.101.67.7:80 · ufuksnotes.com
2026-01-26 00:10
HTTP/1.1 301 Moved Permanently Connection: close Content-Length: 0 Server: Varnish Retry-After: 0 Location: https://ufuksnotes.com/ Accept-Ranges: bytes Date: Mon, 26 Jan 2026 00:10:19 GMT Via: 1.1 varnish X-Served-By: cache-fra-eddf8230133-FRA X-Cache: HIT X-Cache-Hits: 0 X-Timer: S1769386220.551017,VS0,VE0 x-request-id: 5a1b68c9-90ac-4e60-acb9-a8b18f216b7b Ghost-Fastly: true;production Alt-Svc: clear
Open service 2a04:4e42:400::775:443 · ufuksnotes.com
2026-01-26 00:10
HTTP/1.1 200 OK
Connection: close
Content-Length: 50877
cache-control: public, max-age=0
status: 200 OK
content-type: text/html; charset=utf-8
server: openresty
via: 1.1 varnish, 1.1 varnish, 1.1 varnish
etag: W/"c6bd-VOKGzPHuCpgpkeYcerA3+OJsKuQ"
Accept-Ranges: bytes
Date: Mon, 26 Jan 2026 00:10:19 GMT
Age: 480097
X-Served-By: cache-ams2100130-AMS, cache-ams21059-AMS, cache-lga21973-LGA
X-Cache: MISS, HIT, HIT
X-Cache-Hits: 0, 24, 1
X-Timer: S1769386220.617452,VS0,VE4
Vary: Cookie, Accept-Encoding
x-request-id: fd511da1-7a5a-4c30-b4c3-a6dc74380ff0
Ghost-Fastly: true;production
Alt-Svc: clear
Page title: Ufuks Notes
<!DOCTYPE html>
<html lang="en">
<head>
<title>Ufuks Notes</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="preload" as="style" href="https://ufuksnotes.com/assets/built/screen.css?v=98a0305d6d">
<link rel="preload" as="script" href="https://ufuksnotes.com/assets/built/source.js?v=98a0305d6d">
<link rel="preload" as="font" type="font/woff2" href="https://ufuksnotes.com/assets/fonts/inter-roman.woff2?v=98a0305d6d" crossorigin="anonymous">
<style>
@font-face {
font-family: "Inter";
font-style: normal;
font-weight: 100 900;
font-display: optional;
src: url(https://ufuksnotes.com/assets/fonts/inter-roman.woff2?v=98a0305d6d) format("woff2");
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
</style>
<link rel="stylesheet" type="text/css" href="https://ufuksnotes.com/assets/built/screen.css?v=98a0305d6d">
<style>
:root {
--background-color: #ffffff
}
</style>
<script>
/* The script for calculating the color contrast has been taken from
https://gomakethings.com/dynamically-changing-the-text-color-based-on-background-color-contrast-with-vanilla-js/ */
var accentColor = getComputedStyle(document.documentElement).getPropertyValue('--background-color');
accentColor = accentColor.trim().slice(1);
if (accentColor.length === 3) {
accentColor = accentColor[0] + accentColor[0] + accentColor[1] + accentColor[1] + accentColor[2] + accentColor[2];
}
var r = parseInt(accentColor.substr(0, 2), 16);
var g = parseInt(accentColor.substr(2, 2), 16);
var b = parseInt(accentColor.substr(4, 2), 16);
var yiq = ((r * 299) + (g * 587) + (b * 114)) / 1000;
var textColor = (yiq >= 128) ? 'dark' : 'light';
document.documentElement.className = `has-${textColor}-text`;
</script>
<meta name="description" content="Thoughts of a hyperactive generalist brain">
<link rel="canonical" href="https://ufuksnotes.com/">
<meta name="referrer" content="no-referrer-when-downgrade">
<link rel="next" href="https://ufuksnotes.com/page/2/">
<meta property="og:site_name" content="ufuksnotes">
<meta property="og:type" content="website">
<meta property="og:title" content="ufuksnotes">
<meta property="og:description" content="Thoughts of a hyperactive generalist brain">
<meta property="og:url" content="https://ufuksnotes.com/">
<meta property="og:image" content="https://static.ghost.org/v5.0.0/images/publication-cover.jpg">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="ufuksnotes">
<meta name="twitter:description" content="Thoughts of a hyperactive generalist brain">
<meta name="twitter:url" content="https://ufuksnotes.com/">
<meta name="twitter:image" content="https://static.ghost.org/v5.0.0/images/publication-cover.jpg">
<meta name="twitter:site" content="@ufuksfk">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="840">
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "WebSite",
"publisher": {
"@type": "Organization",
"name": "ufuksnotes",
"url": "https://ufuksnotes.com/",
"logo": {
"@type": "ImageObject",
"url": "https://ufuksnotes.com/favicon.ico",
"width": 48,
"height": 48
}
},
"url": "https://ufuksnotes.com/",
"name": "ufuksnotes",
"image": {
"@type": "ImageObject",
"url": "https://static.ghost.org/v5.0.0/images/publication-cover.jpg",
"width": 1200,
"height": 840
},
"mainEntityOfPage": "https://ufuksnotes.com/",
"description": "Thoughts of a hyperactive ge