cloudflare
tcp/443 tcp/80 tcp/8443
The following URL (usually /.git/config) is publicly accessible and is leaking source code and repository configuration.
Severity: medium
Fingerprint: 2580fa947178c88602b1737db148c044b81b03713d63bb82370a6522ef35d612
[core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true [remote "origin"] url = https://git.sr.ht/~koenraad/koenra.ad fetch = +refs/heads/*:refs/remotes/origin/* [branch "master"] remote = origin merge = refs/heads/master
Open service 2a06:98c1:3120::3:8443 · koenra.ad
2026-01-25 16:12
HTTP/1.1 200 OK
Date: Sun, 25 Jan 2026 16:12:03 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Access-Control-Allow-Origin: *
Cache-Control: public, max-age=0, must-revalidate
cf-cache-status: DYNAMIC
referrer-policy: strict-origin-when-cross-origin
x-content-type-options: nosniff
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=m5LnteHchDPnLAydQFoya4SaX3PO%2BdqrKn32wbm%2FcZ2ygk5OaBg0xC4%2FJI3kzQ67lzvCQfGZpinqPtEPdoJ7aXn74qAmPnwW0nF4VmS8LgvUZT92dA%3D%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=7,cfOrigin;dur=31
CF-RAY: 9c390cc96b649113-YYZ
alt-svc: h3=":8443"; ma=86400
Page title: Koenraad
<!DOCTYPE html>
<html lang="en-us">
<head>
<meta name="generator" content="Hugo 0.147.7">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Koenraad</title>
<link rel="stylesheet" href="/css/style.css">
<link rel="alternate" type="application/rss+xml" href="/index.xml" title="Koenraad">
</head>
<body>
<header>
<h1>
<a href="https://koenra.ad/">
Koenraad
</a>
</h1>
</header>
<main>
<article>
<h2><a href="https://koenra.ad/posts/my-vimrc/">My Vimrc</a></h2>
<time datetime="Jan 7, 2026">Jan 7, 2026</time>
[<a href="/tags/vim">vim</a>, <a href="/tags/dotfiles">dotfiles</a>]
<section>
<p>WIP: I want to parse the Vim help files for all vimrc options so I can make a fully opinionated config.
For now these are my minimum requirements.</p>
<pre tabindex="0"><code>syntax on
filetype plugin indent on
let g:netrw_home=$XDG_STATE_HOME.'/vim'
set viminfofile=$XDG_STATE_HOME/vim/viminfo
set re=0 "Use new regular expression engine
</code></pre>
</section>
</article>
<article>
<h2><a href="https://koenra.ad/projects/bill-splitter/">Bill Splitter: A Privacy-First Approach to Shared Expenses</a></h2>
<time datetime="Jan 7, 2026">Jan 7, 2026</time>
[<a href="/tags/javascript">javascript</a>, <a href="/tags/react">react</a>, <a href="/tags/cloudflare">cloudflare</a>]
<section>
<p>Splitting bills among friends, roommates, or travel companions is a common yet often tedious task. While numerous applications exist to address this need, most require account creation, store personal data indefinitely, or come with subscription fees. Bill Splitter takes a different approach: a free, anonymous, and ephemeral solution for dividing shared expenses.</p>
<h2 id="the-problem-with-existing-solutions">The Problem with Existing Solutions</h2>
<p>Traditional bill-splitting applications typically require users to create accounts, provide email addresses, and maintain persistent data. For many casual use cases—splitting a dinner bill, dividing holiday expenses among friends, or managing shared household costs—this level of commitment feels excessive. Users simply want to calculate who owes whom without the overhead of yet another account to manage.</p>
<a href="https://koenra.ad/projects/bill-splitter/" aria-label="Read more about Bill Splitter: A Privacy-First Approach to Shared Expenses">Read more...</a>
</section>
</article>
<nav aria-label="Pagination">
<span aria-current="page">Page 1 of 1</span>
</nav>
</main>
<aside aria-label="Sidebar">
<section>
<h2>Latest Content</h2>
<nav aria-label="Recent posts">
<ul>
<li><a href="/posts/my-vimrc/">My Vimrc</a></li>
<li><a href="/projects/bill-splitter/">Bill Splitter: A Privacy-First Approach to Shared Expenses</a></li>
</ul>
</nav>
</section>
</aside>
<footer>
<p>© 2026 <a href="https://koenra.ad/">https://koenra.ad</a></p>
</footer>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"f151212d379d49d7beb2830649fd51fb","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
</body>
</html>
Open service 2a06:98c1:3121::3:8443 · koenra.ad
2026-01-25 16:12
HTTP/1.1 200 OK
Date: Sun, 25 Jan 2026 16:12:03 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Access-Control-Allow-Origin: *
Cache-Control: public, max-age=0, must-revalidate
cf-cache-status: DYNAMIC
referrer-policy: strict-origin-when-cross-origin
x-content-type-options: nosniff
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=fwHH0ulyMr1LwzjAVT80VeXSL4Mj%2FfLjPOMTZA335Jn%2Fn2L6ithMNGRLz2F5zPcPDlqLBQW1aPeYE4%2BZjZTqyBZ7xjTPu4lIo4%2Fb5FJSBWOgmXjjnQ%3D%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=10,cfOrigin;dur=46
CF-RAY: 9c390cc96fc3ab00-YYZ
alt-svc: h3=":8443"; ma=86400
Page title: Koenraad
<!DOCTYPE html>
<html lang="en-us">
<head>
<meta name="generator" content="Hugo 0.147.7">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Koenraad</title>
<link rel="stylesheet" href="/css/style.css">
<link rel="alternate" type="application/rss+xml" href="/index.xml" title="Koenraad">
</head>
<body>
<header>
<h1>
<a href="https://koenra.ad/">
Koenraad
</a>
</h1>
</header>
<main>
<article>
<h2><a href="https://koenra.ad/posts/my-vimrc/">My Vimrc</a></h2>
<time datetime="Jan 7, 2026">Jan 7, 2026</time>
[<a href="/tags/vim">vim</a>, <a href="/tags/dotfiles">dotfiles</a>]
<section>
<p>WIP: I want to parse the Vim help files for all vimrc options so I can make a fully opinionated config.
For now these are my minimum requirements.</p>
<pre tabindex="0"><code>syntax on
filetype plugin indent on
let g:netrw_home=$XDG_STATE_HOME.'/vim'
set viminfofile=$XDG_STATE_HOME/vim/viminfo
set re=0 "Use new regular expression engine
</code></pre>
</section>
</article>
<article>
<h2><a href="https://koenra.ad/projects/bill-splitter/">Bill Splitter: A Privacy-First Approach to Shared Expenses</a></h2>
<time datetime="Jan 7, 2026">Jan 7, 2026</time>
[<a href="/tags/javascript">javascript</a>, <a href="/tags/react">react</a>, <a href="/tags/cloudflare">cloudflare</a>]
<section>
<p>Splitting bills among friends, roommates, or travel companions is a common yet often tedious task. While numerous applications exist to address this need, most require account creation, store personal data indefinitely, or come with subscription fees. Bill Splitter takes a different approach: a free, anonymous, and ephemeral solution for dividing shared expenses.</p>
<h2 id="the-problem-with-existing-solutions">The Problem with Existing Solutions</h2>
<p>Traditional bill-splitting applications typically require users to create accounts, provide email addresses, and maintain persistent data. For many casual use cases—splitting a dinner bill, dividing holiday expenses among friends, or managing shared household costs—this level of commitment feels excessive. Users simply want to calculate who owes whom without the overhead of yet another account to manage.</p>
<a href="https://koenra.ad/projects/bill-splitter/" aria-label="Read more about Bill Splitter: A Privacy-First Approach to Shared Expenses">Read more...</a>
</section>
</article>
<nav aria-label="Pagination">
<span aria-current="page">Page 1 of 1</span>
</nav>
</main>
<aside aria-label="Sidebar">
<section>
<h2>Latest Content</h2>
<nav aria-label="Recent posts">
<ul>
<li><a href="/posts/my-vimrc/">My Vimrc</a></li>
<li><a href="/projects/bill-splitter/">Bill Splitter: A Privacy-First Approach to Shared Expenses</a></li>
</ul>
</nav>
</section>
</aside>
<footer>
<p>© 2026 <a href="https://koenra.ad/">https://koenra.ad</a></p>
</footer>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"f151212d379d49d7beb2830649fd51fb","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
</body>
</html>
Open service 2a06:98c1:3120::3:80 · koenra.ad
2026-01-25 16:12
HTTP/1.1 301 Moved Permanently
Date: Sun, 25 Jan 2026 16:12:03 GMT
Content-Length: 0
Connection: close
Location: https://koenra.ad/
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=GlRDHuwiIk1R4tr9dsAwgIUMWQgNa8WD1qe6btpUJqKfkUBy8guAh9m6FPIXATTSAutRajX3Se8L%2BJ%2Fi3V6W2IIqwp7PyeVpYRTyTr7%2BzRt%2FC3j%2FhQ%3D%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
cf-cache-status: DYNAMIC
CF-RAY: 9c390cc82eae2bf6-FRA
alt-svc: h3=":443"; ma=86400
Open service 2a06:98c1:3121::3:443 · koenra.ad
2026-01-25 16:12
HTTP/1.1 200 OK
Date: Sun, 25 Jan 2026 16:12:03 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Access-Control-Allow-Origin: *
Cache-Control: public, max-age=0, must-revalidate
referrer-policy: strict-origin-when-cross-origin
x-content-type-options: nosniff
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=w3i2NahxXxEY6N4BoA0lJWW4TQgiuDc4xPaSpaEHlBl7M7gWh6BOE9uM%2BNFYWp%2B6lhm%2B2dG%2BeK0JxFzAbyj%2FDYEWUr%2FnUiRqpDf452jrcrMfivsEaw%3D%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
cf-cache-status: DYNAMIC
CF-RAY: 9c390cc89e6b4d32-FRA
alt-svc: h3=":443"; ma=86400
Page title: Koenraad
<!DOCTYPE html>
<html lang="en-us">
<head>
<meta name="generator" content="Hugo 0.147.7">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Koenraad</title>
<link rel="stylesheet" href="/css/style.css">
<link rel="alternate" type="application/rss+xml" href="/index.xml" title="Koenraad">
</head>
<body>
<header>
<h1>
<a href="https://koenra.ad/">
Koenraad
</a>
</h1>
</header>
<main>
<article>
<h2><a href="https://koenra.ad/posts/my-vimrc/">My Vimrc</a></h2>
<time datetime="Jan 7, 2026">Jan 7, 2026</time>
[<a href="/tags/vim">vim</a>, <a href="/tags/dotfiles">dotfiles</a>]
<section>
<p>WIP: I want to parse the Vim help files for all vimrc options so I can make a fully opinionated config.
For now these are my minimum requirements.</p>
<pre tabindex="0"><code>syntax on
filetype plugin indent on
let g:netrw_home=$XDG_STATE_HOME.'/vim'
set viminfofile=$XDG_STATE_HOME/vim/viminfo
set re=0 "Use new regular expression engine
</code></pre>
</section>
</article>
<article>
<h2><a href="https://koenra.ad/projects/bill-splitter/">Bill Splitter: A Privacy-First Approach to Shared Expenses</a></h2>
<time datetime="Jan 7, 2026">Jan 7, 2026</time>
[<a href="/tags/javascript">javascript</a>, <a href="/tags/react">react</a>, <a href="/tags/cloudflare">cloudflare</a>]
<section>
<p>Splitting bills among friends, roommates, or travel companions is a common yet often tedious task. While numerous applications exist to address this need, most require account creation, store personal data indefinitely, or come with subscription fees. Bill Splitter takes a different approach: a free, anonymous, and ephemeral solution for dividing shared expenses.</p>
<h2 id="the-problem-with-existing-solutions">The Problem with Existing Solutions</h2>
<p>Traditional bill-splitting applications typically require users to create accounts, provide email addresses, and maintain persistent data. For many casual use cases—splitting a dinner bill, dividing holiday expenses among friends, or managing shared household costs—this level of commitment feels excessive. Users simply want to calculate who owes whom without the overhead of yet another account to manage.</p>
<a href="https://koenra.ad/projects/bill-splitter/" aria-label="Read more about Bill Splitter: A Privacy-First Approach to Shared Expenses">Read more...</a>
</section>
</article>
<nav aria-label="Pagination">
<span aria-current="page">Page 1 of 1</span>
</nav>
</main>
<aside aria-label="Sidebar">
<section>
<h2>Latest Content</h2>
<nav aria-label="Recent posts">
<ul>
<li><a href="/posts/my-vimrc/">My Vimrc</a></li>
<li><a href="/projects/bill-splitter/">Bill Splitter: A Privacy-First Approach to Shared Expenses</a></li>
</ul>
</nav>
</section>
</aside>
<footer>
<p>© 2026 <a href="https://koenra.ad/">https://koenra.ad</a></p>
</footer>
</body>
</html>
Open service 188.114.97.3:80 · koenra.ad
2026-01-25 16:12
HTTP/1.1 301 Moved Permanently
Date: Sun, 25 Jan 2026 16:12:03 GMT
Content-Length: 0
Connection: close
Location: https://koenra.ad/
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=J4iHTUJ0kYoBsGoFdvY1nJ8L9ga8qTrNDa0IndKumOtoL337mMic%2B37QOBoK7QIck0Jl4meWEXXT%2FVVi5Ftil2anDv2IkQkmcw%3D%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
cf-cache-status: DYNAMIC
CF-RAY: 9c390cc81fafd87f-FRA
alt-svc: h3=":443"; ma=86400
Open service 2a06:98c1:3121::3:80 · koenra.ad
2026-01-25 16:12
HTTP/1.1 301 Moved Permanently
Date: Sun, 25 Jan 2026 16:12:03 GMT
Content-Length: 0
Connection: close
Location: https://koenra.ad/
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=R6vo2acley1kplbSk7UyelmOYwYrbpL0%2BvR9Zw%2BbJhnNdeh2BuwqDRqEmlaMd%2BHuFOy33xN4SfU8tjanJ%2BczHpx1htsKCchBERGQWIiAOCW9wi6TAQ%3D%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=18,cfOrigin;dur=9
cf-cache-status: DYNAMIC
CF-RAY: 9c390cc75edc435e-EWR
alt-svc: h3=":443"; ma=86400
Open service 2a06:98c1:3120::3:443 · koenra.ad
2026-01-25 16:12
HTTP/1.1 200 OK
Date: Sun, 25 Jan 2026 16:12:03 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Access-Control-Allow-Origin: *
Cache-Control: public, max-age=0, must-revalidate
cf-cache-status: DYNAMIC
referrer-policy: strict-origin-when-cross-origin
x-content-type-options: nosniff
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=PbIYm8K2KtThUdS7Psp1WzrAL1oODUPZOrFb%2BuD%2FpSHuvEEPpGiJo%2B8jJstYq7LMAIlslBz6R99FXo0UfS03y7%2FnZMfk1eYLF23gIEXWIGznzdA%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=15,cfOrigin;dur=36
CF-RAY: 9c390cc78832c337-EWR
alt-svc: h3=":443"; ma=86400
Page title: Koenraad
<!DOCTYPE html>
<html lang="en-us">
<head>
<meta name="generator" content="Hugo 0.147.7">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Koenraad</title>
<link rel="stylesheet" href="/css/style.css">
<link rel="alternate" type="application/rss+xml" href="/index.xml" title="Koenraad">
</head>
<body>
<header>
<h1>
<a href="https://koenra.ad/">
Koenraad
</a>
</h1>
</header>
<main>
<article>
<h2><a href="https://koenra.ad/posts/my-vimrc/">My Vimrc</a></h2>
<time datetime="Jan 7, 2026">Jan 7, 2026</time>
[<a href="/tags/vim">vim</a>, <a href="/tags/dotfiles">dotfiles</a>]
<section>
<p>WIP: I want to parse the Vim help files for all vimrc options so I can make a fully opinionated config.
For now these are my minimum requirements.</p>
<pre tabindex="0"><code>syntax on
filetype plugin indent on
let g:netrw_home=$XDG_STATE_HOME.'/vim'
set viminfofile=$XDG_STATE_HOME/vim/viminfo
set re=0 "Use new regular expression engine
</code></pre>
</section>
</article>
<article>
<h2><a href="https://koenra.ad/projects/bill-splitter/">Bill Splitter: A Privacy-First Approach to Shared Expenses</a></h2>
<time datetime="Jan 7, 2026">Jan 7, 2026</time>
[<a href="/tags/javascript">javascript</a>, <a href="/tags/react">react</a>, <a href="/tags/cloudflare">cloudflare</a>]
<section>
<p>Splitting bills among friends, roommates, or travel companions is a common yet often tedious task. While numerous applications exist to address this need, most require account creation, store personal data indefinitely, or come with subscription fees. Bill Splitter takes a different approach: a free, anonymous, and ephemeral solution for dividing shared expenses.</p>
<h2 id="the-problem-with-existing-solutions">The Problem with Existing Solutions</h2>
<p>Traditional bill-splitting applications typically require users to create accounts, provide email addresses, and maintain persistent data. For many casual use cases—splitting a dinner bill, dividing holiday expenses among friends, or managing shared household costs—this level of commitment feels excessive. Users simply want to calculate who owes whom without the overhead of yet another account to manage.</p>
<a href="https://koenra.ad/projects/bill-splitter/" aria-label="Read more about Bill Splitter: A Privacy-First Approach to Shared Expenses">Read more...</a>
</section>
</article>
<nav aria-label="Pagination">
<span aria-current="page">Page 1 of 1</span>
</nav>
</main>
<aside aria-label="Sidebar">
<section>
<h2>Latest Content</h2>
<nav aria-label="Recent posts">
<ul>
<li><a href="/posts/my-vimrc/">My Vimrc</a></li>
<li><a href="/projects/bill-splitter/">Bill Splitter: A Privacy-First Approach to Shared Expenses</a></li>
</ul>
</nav>
</section>
</aside>
<footer>
<p>© 2026 <a href="https://koenra.ad/">https://koenra.ad</a></p>
</footer>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"f151212d379d49d7beb2830649fd51fb","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
</body>
</html>
Open service 188.114.97.3:443 · koenra.ad
2026-01-25 16:12
HTTP/1.1 200 OK
Date: Sun, 25 Jan 2026 16:12:03 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Access-Control-Allow-Origin: *
Cache-Control: public, max-age=0, must-revalidate
cf-cache-status: DYNAMIC
referrer-policy: strict-origin-when-cross-origin
x-content-type-options: nosniff
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=4vl1NtbSBtSxaNWs%2B7nMqROkLYF4YxJ6N0eCrCa45dvE0a3plsd6LAt58PqXBOEpvcC3OlPdUVQces06jjQjFiCcem6ynbspRw%3D%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=9,cfOrigin;dur=36
CF-RAY: 9c390cc799a87b0e-EWR
alt-svc: h3=":443"; ma=86400
Page title: Koenraad
<!DOCTYPE html>
<html lang="en-us">
<head>
<meta name="generator" content="Hugo 0.147.7">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Koenraad</title>
<link rel="stylesheet" href="/css/style.css">
<link rel="alternate" type="application/rss+xml" href="/index.xml" title="Koenraad">
</head>
<body>
<header>
<h1>
<a href="https://koenra.ad/">
Koenraad
</a>
</h1>
</header>
<main>
<article>
<h2><a href="https://koenra.ad/posts/my-vimrc/">My Vimrc</a></h2>
<time datetime="Jan 7, 2026">Jan 7, 2026</time>
[<a href="/tags/vim">vim</a>, <a href="/tags/dotfiles">dotfiles</a>]
<section>
<p>WIP: I want to parse the Vim help files for all vimrc options so I can make a fully opinionated config.
For now these are my minimum requirements.</p>
<pre tabindex="0"><code>syntax on
filetype plugin indent on
let g:netrw_home=$XDG_STATE_HOME.'/vim'
set viminfofile=$XDG_STATE_HOME/vim/viminfo
set re=0 "Use new regular expression engine
</code></pre>
</section>
</article>
<article>
<h2><a href="https://koenra.ad/projects/bill-splitter/">Bill Splitter: A Privacy-First Approach to Shared Expenses</a></h2>
<time datetime="Jan 7, 2026">Jan 7, 2026</time>
[<a href="/tags/javascript">javascript</a>, <a href="/tags/react">react</a>, <a href="/tags/cloudflare">cloudflare</a>]
<section>
<p>Splitting bills among friends, roommates, or travel companions is a common yet often tedious task. While numerous applications exist to address this need, most require account creation, store personal data indefinitely, or come with subscription fees. Bill Splitter takes a different approach: a free, anonymous, and ephemeral solution for dividing shared expenses.</p>
<h2 id="the-problem-with-existing-solutions">The Problem with Existing Solutions</h2>
<p>Traditional bill-splitting applications typically require users to create accounts, provide email addresses, and maintain persistent data. For many casual use cases—splitting a dinner bill, dividing holiday expenses among friends, or managing shared household costs—this level of commitment feels excessive. Users simply want to calculate who owes whom without the overhead of yet another account to manage.</p>
<a href="https://koenra.ad/projects/bill-splitter/" aria-label="Read more about Bill Splitter: A Privacy-First Approach to Shared Expenses">Read more...</a>
</section>
</article>
<nav aria-label="Pagination">
<span aria-current="page">Page 1 of 1</span>
</nav>
</main>
<aside aria-label="Sidebar">
<section>
<h2>Latest Content</h2>
<nav aria-label="Recent posts">
<ul>
<li><a href="/posts/my-vimrc/">My Vimrc</a></li>
<li><a href="/projects/bill-splitter/">Bill Splitter: A Privacy-First Approach to Shared Expenses</a></li>
</ul>
</nav>
</section>
</aside>
<footer>
<p>© 2026 <a href="https://koenra.ad/">https://koenra.ad</a></p>
</footer>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"f151212d379d49d7beb2830649fd51fb","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
</body>
</html>
Open service 188.114.97.3:8443 · koenra.ad
2026-01-25 16:12
HTTP/1.1 200 OK
Date: Sun, 25 Jan 2026 16:12:03 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Access-Control-Allow-Origin: *
Cache-Control: public, max-age=0, must-revalidate
cf-cache-status: DYNAMIC
referrer-policy: strict-origin-when-cross-origin
x-content-type-options: nosniff
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=GNzyKSo8GL50YhH0BesPGjOcyXocqBCmBH%2BcG2PjZQaRbR89Kr12E9HfJHRkBdD8eDCcG3d2ZDqkRyxA3vtP2tK3QcnLdmyjVg%3D%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=1,cfOrigin;dur=27
CF-RAY: 9c390cc7ac8bae4c-EWR
alt-svc: h3=":8443"; ma=86400
Page title: Koenraad
<!DOCTYPE html>
<html lang="en-us">
<head>
<meta name="generator" content="Hugo 0.147.7">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Koenraad</title>
<link rel="stylesheet" href="/css/style.css">
<link rel="alternate" type="application/rss+xml" href="/index.xml" title="Koenraad">
</head>
<body>
<header>
<h1>
<a href="https://koenra.ad/">
Koenraad
</a>
</h1>
</header>
<main>
<article>
<h2><a href="https://koenra.ad/posts/my-vimrc/">My Vimrc</a></h2>
<time datetime="Jan 7, 2026">Jan 7, 2026</time>
[<a href="/tags/vim">vim</a>, <a href="/tags/dotfiles">dotfiles</a>]
<section>
<p>WIP: I want to parse the Vim help files for all vimrc options so I can make a fully opinionated config.
For now these are my minimum requirements.</p>
<pre tabindex="0"><code>syntax on
filetype plugin indent on
let g:netrw_home=$XDG_STATE_HOME.'/vim'
set viminfofile=$XDG_STATE_HOME/vim/viminfo
set re=0 "Use new regular expression engine
</code></pre>
</section>
</article>
<article>
<h2><a href="https://koenra.ad/projects/bill-splitter/">Bill Splitter: A Privacy-First Approach to Shared Expenses</a></h2>
<time datetime="Jan 7, 2026">Jan 7, 2026</time>
[<a href="/tags/javascript">javascript</a>, <a href="/tags/react">react</a>, <a href="/tags/cloudflare">cloudflare</a>]
<section>
<p>Splitting bills among friends, roommates, or travel companions is a common yet often tedious task. While numerous applications exist to address this need, most require account creation, store personal data indefinitely, or come with subscription fees. Bill Splitter takes a different approach: a free, anonymous, and ephemeral solution for dividing shared expenses.</p>
<h2 id="the-problem-with-existing-solutions">The Problem with Existing Solutions</h2>
<p>Traditional bill-splitting applications typically require users to create accounts, provide email addresses, and maintain persistent data. For many casual use cases—splitting a dinner bill, dividing holiday expenses among friends, or managing shared household costs—this level of commitment feels excessive. Users simply want to calculate who owes whom without the overhead of yet another account to manage.</p>
<a href="https://koenra.ad/projects/bill-splitter/" aria-label="Read more about Bill Splitter: A Privacy-First Approach to Shared Expenses">Read more...</a>
</section>
</article>
<nav aria-label="Pagination">
<span aria-current="page">Page 1 of 1</span>
</nav>
</main>
<aside aria-label="Sidebar">
<section>
<h2>Latest Content</h2>
<nav aria-label="Recent posts">
<ul>
<li><a href="/posts/my-vimrc/">My Vimrc</a></li>
<li><a href="/projects/bill-splitter/">Bill Splitter: A Privacy-First Approach to Shared Expenses</a></li>
</ul>
</nav>
</section>
</aside>
<footer>
<p>© 2026 <a href="https://koenra.ad/">https://koenra.ad</a></p>
</footer>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"f151212d379d49d7beb2830649fd51fb","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
</body>
</html>
Open service 2a06:98c1:3121::3:8443 · www.koenra.ad
2026-01-25 16:10
HTTP/1.1 200 OK
Date: Sun, 25 Jan 2026 16:10:47 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Access-Control-Allow-Origin: *
Cache-Control: public, max-age=0, must-revalidate
referrer-policy: strict-origin-when-cross-origin
x-content-type-options: nosniff
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=IU7X3UMhNtydrYFBiWKMrc6t0paJXXfJhp%2B%2BYeJnMkE5DiCnKnfPVXNpuKalikRPn1OM3ozHXOtdMAlcytvmkWvk1RSFcve%2BPFTlAGgBZKDS%2Fj77axxfcPw%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
cf-cache-status: DYNAMIC
CF-RAY: 9c390aed0d190050-LHR
alt-svc: h3=":8443"; ma=86400
Page title: Koenraad
<!DOCTYPE html>
<html lang="en-us">
<head>
<meta name="generator" content="Hugo 0.147.7">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Koenraad</title>
<link rel="stylesheet" href="/css/style.css">
<link rel="alternate" type="application/rss+xml" href="/index.xml" title="Koenraad">
</head>
<body>
<header>
<h1>
<a href="https://koenra.ad/">
Koenraad
</a>
</h1>
</header>
<main>
<article>
<h2><a href="https://koenra.ad/posts/my-vimrc/">My Vimrc</a></h2>
<time datetime="Jan 7, 2026">Jan 7, 2026</time>
[<a href="/tags/vim">vim</a>, <a href="/tags/dotfiles">dotfiles</a>]
<section>
<p>WIP: I want to parse the Vim help files for all vimrc options so I can make a fully opinionated config.
For now these are my minimum requirements.</p>
<pre tabindex="0"><code>syntax on
filetype plugin indent on
let g:netrw_home=$XDG_STATE_HOME.'/vim'
set viminfofile=$XDG_STATE_HOME/vim/viminfo
set re=0 "Use new regular expression engine
</code></pre>
</section>
</article>
<article>
<h2><a href="https://koenra.ad/projects/bill-splitter/">Bill Splitter: A Privacy-First Approach to Shared Expenses</a></h2>
<time datetime="Jan 7, 2026">Jan 7, 2026</time>
[<a href="/tags/javascript">javascript</a>, <a href="/tags/react">react</a>, <a href="/tags/cloudflare">cloudflare</a>]
<section>
<p>Splitting bills among friends, roommates, or travel companions is a common yet often tedious task. While numerous applications exist to address this need, most require account creation, store personal data indefinitely, or come with subscription fees. Bill Splitter takes a different approach: a free, anonymous, and ephemeral solution for dividing shared expenses.</p>
<h2 id="the-problem-with-existing-solutions">The Problem with Existing Solutions</h2>
<p>Traditional bill-splitting applications typically require users to create accounts, provide email addresses, and maintain persistent data. For many casual use cases—splitting a dinner bill, dividing holiday expenses among friends, or managing shared household costs—this level of commitment feels excessive. Users simply want to calculate who owes whom without the overhead of yet another account to manage.</p>
<a href="https://koenra.ad/projects/bill-splitter/" aria-label="Read more about Bill Splitter: A Privacy-First Approach to Shared Expenses">Read more...</a>
</section>
</article>
<nav aria-label="Pagination">
<span aria-current="page">Page 1 of 1</span>
</nav>
</main>
<aside aria-label="Sidebar">
<section>
<h2>Latest Content</h2>
<nav aria-label="Recent posts">
<ul>
<li><a href="/posts/my-vimrc/">My Vimrc</a></li>
<li><a href="/projects/bill-splitter/">Bill Splitter: A Privacy-First Approach to Shared Expenses</a></li>
</ul>
</nav>
</section>
</aside>
<footer>
<p>© 2026 <a href="https://koenra.ad/">https://koenra.ad</a></p>
</footer>
</body>
</html>
Open service 188.114.97.3:443 · www.koenra.ad
2026-01-25 16:10
HTTP/1.1 200 OK
Date: Sun, 25 Jan 2026 16:10:47 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Access-Control-Allow-Origin: *
Cache-Control: public, max-age=0, must-revalidate
referrer-policy: strict-origin-when-cross-origin
x-content-type-options: nosniff
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=xVeHXNW7uQ5zhk7NowLlY2IW5YvPAqTfIaBp60wRLb2tckE5yBcWR6Lho%2BKRf1%2FCZMjNWdh6jVOmMBBepPufTq8DnUXD%2FH1TtocYg%2Fg%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
cf-cache-status: DYNAMIC
CF-RAY: 9c390aece8c6d3b1-FRA
alt-svc: h3=":443"; ma=86400
Page title: Koenraad
<!DOCTYPE html>
<html lang="en-us">
<head>
<meta name="generator" content="Hugo 0.147.7">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Koenraad</title>
<link rel="stylesheet" href="/css/style.css">
<link rel="alternate" type="application/rss+xml" href="/index.xml" title="Koenraad">
</head>
<body>
<header>
<h1>
<a href="https://koenra.ad/">
Koenraad
</a>
</h1>
</header>
<main>
<article>
<h2><a href="https://koenra.ad/posts/my-vimrc/">My Vimrc</a></h2>
<time datetime="Jan 7, 2026">Jan 7, 2026</time>
[<a href="/tags/vim">vim</a>, <a href="/tags/dotfiles">dotfiles</a>]
<section>
<p>WIP: I want to parse the Vim help files for all vimrc options so I can make a fully opinionated config.
For now these are my minimum requirements.</p>
<pre tabindex="0"><code>syntax on
filetype plugin indent on
let g:netrw_home=$XDG_STATE_HOME.'/vim'
set viminfofile=$XDG_STATE_HOME/vim/viminfo
set re=0 "Use new regular expression engine
</code></pre>
</section>
</article>
<article>
<h2><a href="https://koenra.ad/projects/bill-splitter/">Bill Splitter: A Privacy-First Approach to Shared Expenses</a></h2>
<time datetime="Jan 7, 2026">Jan 7, 2026</time>
[<a href="/tags/javascript">javascript</a>, <a href="/tags/react">react</a>, <a href="/tags/cloudflare">cloudflare</a>]
<section>
<p>Splitting bills among friends, roommates, or travel companions is a common yet often tedious task. While numerous applications exist to address this need, most require account creation, store personal data indefinitely, or come with subscription fees. Bill Splitter takes a different approach: a free, anonymous, and ephemeral solution for dividing shared expenses.</p>
<h2 id="the-problem-with-existing-solutions">The Problem with Existing Solutions</h2>
<p>Traditional bill-splitting applications typically require users to create accounts, provide email addresses, and maintain persistent data. For many casual use cases—splitting a dinner bill, dividing holiday expenses among friends, or managing shared household costs—this level of commitment feels excessive. Users simply want to calculate who owes whom without the overhead of yet another account to manage.</p>
<a href="https://koenra.ad/projects/bill-splitter/" aria-label="Read more about Bill Splitter: A Privacy-First Approach to Shared Expenses">Read more...</a>
</section>
</article>
<nav aria-label="Pagination">
<span aria-current="page">Page 1 of 1</span>
</nav>
</main>
<aside aria-label="Sidebar">
<section>
<h2>Latest Content</h2>
<nav aria-label="Recent posts">
<ul>
<li><a href="/posts/my-vimrc/">My Vimrc</a></li>
<li><a href="/projects/bill-splitter/">Bill Splitter: A Privacy-First Approach to Shared Expenses</a></li>
</ul>
</nav>
</section>
</aside>
<footer>
<p>© 2026 <a href="https://koenra.ad/">https://koenra.ad</a></p>
</footer>
</body>
</html>
Open service 188.114.97.3:8443 · www.koenra.ad
2026-01-25 16:10
HTTP/1.1 200 OK
Date: Sun, 25 Jan 2026 16:10:47 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Access-Control-Allow-Origin: *
Cache-Control: public, max-age=0, must-revalidate
cf-cache-status: DYNAMIC
referrer-policy: strict-origin-when-cross-origin
x-content-type-options: nosniff
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=JBzI1V%2BN4QXZz8oLMo5Ou1JI9bvy03fXGGVqlsPZJreGQ6yLPsnfM4ZlmltNGZZbaqhHkSql0xnuGaukJjpxzwWiINBscG46Rvo5"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=74,cfOrigin;dur=31
CF-RAY: 9c390aed6b1dd8d4-EWR
alt-svc: h3=":8443"; ma=86400
Page title: Koenraad
<!DOCTYPE html>
<html lang="en-us">
<head>
<meta name="generator" content="Hugo 0.147.7">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Koenraad</title>
<link rel="stylesheet" href="/css/style.css">
<link rel="alternate" type="application/rss+xml" href="/index.xml" title="Koenraad">
</head>
<body>
<header>
<h1>
<a href="https://koenra.ad/">
Koenraad
</a>
</h1>
</header>
<main>
<article>
<h2><a href="https://koenra.ad/posts/my-vimrc/">My Vimrc</a></h2>
<time datetime="Jan 7, 2026">Jan 7, 2026</time>
[<a href="/tags/vim">vim</a>, <a href="/tags/dotfiles">dotfiles</a>]
<section>
<p>WIP: I want to parse the Vim help files for all vimrc options so I can make a fully opinionated config.
For now these are my minimum requirements.</p>
<pre tabindex="0"><code>syntax on
filetype plugin indent on
let g:netrw_home=$XDG_STATE_HOME.'/vim'
set viminfofile=$XDG_STATE_HOME/vim/viminfo
set re=0 "Use new regular expression engine
</code></pre>
</section>
</article>
<article>
<h2><a href="https://koenra.ad/projects/bill-splitter/">Bill Splitter: A Privacy-First Approach to Shared Expenses</a></h2>
<time datetime="Jan 7, 2026">Jan 7, 2026</time>
[<a href="/tags/javascript">javascript</a>, <a href="/tags/react">react</a>, <a href="/tags/cloudflare">cloudflare</a>]
<section>
<p>Splitting bills among friends, roommates, or travel companions is a common yet often tedious task. While numerous applications exist to address this need, most require account creation, store personal data indefinitely, or come with subscription fees. Bill Splitter takes a different approach: a free, anonymous, and ephemeral solution for dividing shared expenses.</p>
<h2 id="the-problem-with-existing-solutions">The Problem with Existing Solutions</h2>
<p>Traditional bill-splitting applications typically require users to create accounts, provide email addresses, and maintain persistent data. For many casual use cases—splitting a dinner bill, dividing holiday expenses among friends, or managing shared household costs—this level of commitment feels excessive. Users simply want to calculate who owes whom without the overhead of yet another account to manage.</p>
<a href="https://koenra.ad/projects/bill-splitter/" aria-label="Read more about Bill Splitter: A Privacy-First Approach to Shared Expenses">Read more...</a>
</section>
</article>
<nav aria-label="Pagination">
<span aria-current="page">Page 1 of 1</span>
</nav>
</main>
<aside aria-label="Sidebar">
<section>
<h2>Latest Content</h2>
<nav aria-label="Recent posts">
<ul>
<li><a href="/posts/my-vimrc/">My Vimrc</a></li>
<li><a href="/projects/bill-splitter/">Bill Splitter: A Privacy-First Approach to Shared Expenses</a></li>
</ul>
</nav>
</section>
</aside>
<footer>
<p>© 2026 <a href="https://koenra.ad/">https://koenra.ad</a></p>
</footer>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"f151212d379d49d7beb2830649fd51fb","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
</body>
</html>
Open service 188.114.97.3:80 · www.koenra.ad
2026-01-25 16:10
HTTP/1.1 301 Moved Permanently
Date: Sun, 25 Jan 2026 16:10:47 GMT
Content-Length: 0
Connection: close
Location: https://www.koenra.ad/
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=y7VoiGQ8LkW%2FrJ12YSPe%2BnGrxBV3R0Bq3CDvIw56cUwxr%2BY780g0K%2Bxirjsm0h1QHmmBSCPDBP4xnhDSoMB4G12aa4AGvHlh%2FUkLRw8%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=80,cfOrigin;dur=6
cf-cache-status: DYNAMIC
CF-RAY: 9c390aecac18ee23-EWR
alt-svc: h3=":443"; ma=86400
Open service 2a06:98c1:3121::3:80 · www.koenra.ad
2026-01-25 16:10
HTTP/1.1 301 Moved Permanently
Date: Sun, 25 Jan 2026 16:10:47 GMT
Content-Length: 0
Connection: close
Location: https://www.koenra.ad/
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=f%2FkP%2F0aW%2BK1obmJFS4Y%2FY0qBqUTvGuC%2BgO7XXjKiBuIA%2FODDNapm7U0u8ZeW2tvan57BFf61RdpmvKOyPi3ecyIBTCcQ8SFaDFUX9O%2BnIqUOsRMs6zIPSmQ%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
cf-cache-status: DYNAMIC
CF-RAY: 9c390aec3d00e856-FRA
alt-svc: h3=":443"; ma=86400
Open service 2a06:98c1:3121::3:443 · www.koenra.ad
2026-01-25 16:10
HTTP/1.1 200 OK
Date: Sun, 25 Jan 2026 16:10:47 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Access-Control-Allow-Origin: *
Cache-Control: public, max-age=0, must-revalidate
referrer-policy: strict-origin-when-cross-origin
x-content-type-options: nosniff
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=9q2ztyCVbeupQefBU0O3wHk1GMKsDya3%2ByZHuhkdp8yTdSQNGpGFA4USHEFj8DP88ZMdRZuYpvFxM6uCdAOAZqXlSTAeDgPccmKtT7%2FQ3ecLoXGYcXj%2Bu58%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
cf-cache-status: DYNAMIC
CF-RAY: 9c390aec1f26f4cb-AMS
alt-svc: h3=":443"; ma=86400
Page title: Koenraad
<!DOCTYPE html>
<html lang="en-us">
<head>
<meta name="generator" content="Hugo 0.147.7">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Koenraad</title>
<link rel="stylesheet" href="/css/style.css">
<link rel="alternate" type="application/rss+xml" href="/index.xml" title="Koenraad">
</head>
<body>
<header>
<h1>
<a href="https://koenra.ad/">
Koenraad
</a>
</h1>
</header>
<main>
<article>
<h2><a href="https://koenra.ad/posts/my-vimrc/">My Vimrc</a></h2>
<time datetime="Jan 7, 2026">Jan 7, 2026</time>
[<a href="/tags/vim">vim</a>, <a href="/tags/dotfiles">dotfiles</a>]
<section>
<p>WIP: I want to parse the Vim help files for all vimrc options so I can make a fully opinionated config.
For now these are my minimum requirements.</p>
<pre tabindex="0"><code>syntax on
filetype plugin indent on
let g:netrw_home=$XDG_STATE_HOME.'/vim'
set viminfofile=$XDG_STATE_HOME/vim/viminfo
set re=0 "Use new regular expression engine
</code></pre>
</section>
</article>
<article>
<h2><a href="https://koenra.ad/projects/bill-splitter/">Bill Splitter: A Privacy-First Approach to Shared Expenses</a></h2>
<time datetime="Jan 7, 2026">Jan 7, 2026</time>
[<a href="/tags/javascript">javascript</a>, <a href="/tags/react">react</a>, <a href="/tags/cloudflare">cloudflare</a>]
<section>
<p>Splitting bills among friends, roommates, or travel companions is a common yet often tedious task. While numerous applications exist to address this need, most require account creation, store personal data indefinitely, or come with subscription fees. Bill Splitter takes a different approach: a free, anonymous, and ephemeral solution for dividing shared expenses.</p>
<h2 id="the-problem-with-existing-solutions">The Problem with Existing Solutions</h2>
<p>Traditional bill-splitting applications typically require users to create accounts, provide email addresses, and maintain persistent data. For many casual use cases—splitting a dinner bill, dividing holiday expenses among friends, or managing shared household costs—this level of commitment feels excessive. Users simply want to calculate who owes whom without the overhead of yet another account to manage.</p>
<a href="https://koenra.ad/projects/bill-splitter/" aria-label="Read more about Bill Splitter: A Privacy-First Approach to Shared Expenses">Read more...</a>
</section>
</article>
<nav aria-label="Pagination">
<span aria-current="page">Page 1 of 1</span>
</nav>
</main>
<aside aria-label="Sidebar">
<section>
<h2>Latest Content</h2>
<nav aria-label="Recent posts">
<ul>
<li><a href="/posts/my-vimrc/">My Vimrc</a></li>
<li><a href="/projects/bill-splitter/">Bill Splitter: A Privacy-First Approach to Shared Expenses</a></li>
</ul>
</nav>
</section>
</aside>
<footer>
<p>© 2026 <a href="https://koenra.ad/">https://koenra.ad</a></p>
</footer>
</body>
</html>
Open service 2a06:98c1:3120::3:80 · www.koenra.ad
2026-01-25 16:10
HTTP/1.1 301 Moved Permanently
Date: Sun, 25 Jan 2026 16:10:47 GMT
Content-Length: 0
Connection: close
Location: https://www.koenra.ad/
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=fiGDt3fb4jyXBKoo8oYB62DzwuFEr%2Fref7bcf0Mwi7UD4COLSGiNV97ccrmqWG4XQdrrQf%2BVfBDM%2FixNhMijT3J5Fo0%2BBlF3N0Gn%2Fual2nsikTRyA46613M%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
cf-cache-status: DYNAMIC
CF-RAY: 9c390aebefafd1fb-LHR
alt-svc: h3=":443"; ma=86400
Open service 2a06:98c1:3120::3:443 · www.koenra.ad
2026-01-25 16:10
HTTP/1.1 200 OK
Date: Sun, 25 Jan 2026 16:10:47 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Access-Control-Allow-Origin: *
Cache-Control: public, max-age=0, must-revalidate
referrer-policy: strict-origin-when-cross-origin
x-content-type-options: nosniff
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=XaHZ0f0Jneg0A7X%2Fqe7mMxCdBAFdJSkF5l2BMGr9nhzHrQCqN8GS4Ubk671mB6rOu5x%2Bgyd4IYyOCH1var0NA2HIi0Z%2BezFJjvsjiEapLFxY%2Fgl5fojjE5M%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
cf-cache-status: DYNAMIC
CF-RAY: 9c390aecaf3463c4-LHR
alt-svc: h3=":443"; ma=86400
Page title: Koenraad
<!DOCTYPE html>
<html lang="en-us">
<head>
<meta name="generator" content="Hugo 0.147.7">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Koenraad</title>
<link rel="stylesheet" href="/css/style.css">
<link rel="alternate" type="application/rss+xml" href="/index.xml" title="Koenraad">
</head>
<body>
<header>
<h1>
<a href="https://koenra.ad/">
Koenraad
</a>
</h1>
</header>
<main>
<article>
<h2><a href="https://koenra.ad/posts/my-vimrc/">My Vimrc</a></h2>
<time datetime="Jan 7, 2026">Jan 7, 2026</time>
[<a href="/tags/vim">vim</a>, <a href="/tags/dotfiles">dotfiles</a>]
<section>
<p>WIP: I want to parse the Vim help files for all vimrc options so I can make a fully opinionated config.
For now these are my minimum requirements.</p>
<pre tabindex="0"><code>syntax on
filetype plugin indent on
let g:netrw_home=$XDG_STATE_HOME.'/vim'
set viminfofile=$XDG_STATE_HOME/vim/viminfo
set re=0 "Use new regular expression engine
</code></pre>
</section>
</article>
<article>
<h2><a href="https://koenra.ad/projects/bill-splitter/">Bill Splitter: A Privacy-First Approach to Shared Expenses</a></h2>
<time datetime="Jan 7, 2026">Jan 7, 2026</time>
[<a href="/tags/javascript">javascript</a>, <a href="/tags/react">react</a>, <a href="/tags/cloudflare">cloudflare</a>]
<section>
<p>Splitting bills among friends, roommates, or travel companions is a common yet often tedious task. While numerous applications exist to address this need, most require account creation, store personal data indefinitely, or come with subscription fees. Bill Splitter takes a different approach: a free, anonymous, and ephemeral solution for dividing shared expenses.</p>
<h2 id="the-problem-with-existing-solutions">The Problem with Existing Solutions</h2>
<p>Traditional bill-splitting applications typically require users to create accounts, provide email addresses, and maintain persistent data. For many casual use cases—splitting a dinner bill, dividing holiday expenses among friends, or managing shared household costs—this level of commitment feels excessive. Users simply want to calculate who owes whom without the overhead of yet another account to manage.</p>
<a href="https://koenra.ad/projects/bill-splitter/" aria-label="Read more about Bill Splitter: A Privacy-First Approach to Shared Expenses">Read more...</a>
</section>
</article>
<nav aria-label="Pagination">
<span aria-current="page">Page 1 of 1</span>
</nav>
</main>
<aside aria-label="Sidebar">
<section>
<h2>Latest Content</h2>
<nav aria-label="Recent posts">
<ul>
<li><a href="/posts/my-vimrc/">My Vimrc</a></li>
<li><a href="/projects/bill-splitter/">Bill Splitter: A Privacy-First Approach to Shared Expenses</a></li>
</ul>
</nav>
</section>
</aside>
<footer>
<p>© 2026 <a href="https://koenra.ad/">https://koenra.ad</a></p>
</footer>
</body>
</html>
Open service 2a06:98c1:3120::3:8443 · www.koenra.ad
2026-01-25 16:10
HTTP/1.1 200 OK
Date: Sun, 25 Jan 2026 16:10:47 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Access-Control-Allow-Origin: *
Cache-Control: public, max-age=0, must-revalidate
referrer-policy: strict-origin-when-cross-origin
x-content-type-options: nosniff
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=nqv1xvaSZupVWbOfAWNzR3uYUYL1oKCe%2BliVCCBDwty%2B850inI%2FhChPdAb5DBHc4Z26Pp0RMwtX0Fr4oONf5OzgywMZfciQinQgXbh3l3yhSAYeJOyKomh0%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
cf-cache-status: DYNAMIC
CF-RAY: 9c390aec4b191182-FRA
alt-svc: h3=":8443"; ma=86400
Page title: Koenraad
<!DOCTYPE html>
<html lang="en-us">
<head>
<meta name="generator" content="Hugo 0.147.7">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Koenraad</title>
<link rel="stylesheet" href="/css/style.css">
<link rel="alternate" type="application/rss+xml" href="/index.xml" title="Koenraad">
</head>
<body>
<header>
<h1>
<a href="https://koenra.ad/">
Koenraad
</a>
</h1>
</header>
<main>
<article>
<h2><a href="https://koenra.ad/posts/my-vimrc/">My Vimrc</a></h2>
<time datetime="Jan 7, 2026">Jan 7, 2026</time>
[<a href="/tags/vim">vim</a>, <a href="/tags/dotfiles">dotfiles</a>]
<section>
<p>WIP: I want to parse the Vim help files for all vimrc options so I can make a fully opinionated config.
For now these are my minimum requirements.</p>
<pre tabindex="0"><code>syntax on
filetype plugin indent on
let g:netrw_home=$XDG_STATE_HOME.'/vim'
set viminfofile=$XDG_STATE_HOME/vim/viminfo
set re=0 "Use new regular expression engine
</code></pre>
</section>
</article>
<article>
<h2><a href="https://koenra.ad/projects/bill-splitter/">Bill Splitter: A Privacy-First Approach to Shared Expenses</a></h2>
<time datetime="Jan 7, 2026">Jan 7, 2026</time>
[<a href="/tags/javascript">javascript</a>, <a href="/tags/react">react</a>, <a href="/tags/cloudflare">cloudflare</a>]
<section>
<p>Splitting bills among friends, roommates, or travel companions is a common yet often tedious task. While numerous applications exist to address this need, most require account creation, store personal data indefinitely, or come with subscription fees. Bill Splitter takes a different approach: a free, anonymous, and ephemeral solution for dividing shared expenses.</p>
<h2 id="the-problem-with-existing-solutions">The Problem with Existing Solutions</h2>
<p>Traditional bill-splitting applications typically require users to create accounts, provide email addresses, and maintain persistent data. For many casual use cases—splitting a dinner bill, dividing holiday expenses among friends, or managing shared household costs—this level of commitment feels excessive. Users simply want to calculate who owes whom without the overhead of yet another account to manage.</p>
<a href="https://koenra.ad/projects/bill-splitter/" aria-label="Read more about Bill Splitter: A Privacy-First Approach to Shared Expenses">Read more...</a>
</section>
</article>
<nav aria-label="Pagination">
<span aria-current="page">Page 1 of 1</span>
</nav>
</main>
<aside aria-label="Sidebar">
<section>
<h2>Latest Content</h2>
<nav aria-label="Recent posts">
<ul>
<li><a href="/posts/my-vimrc/">My Vimrc</a></li>
<li><a href="/projects/bill-splitter/">Bill Splitter: A Privacy-First Approach to Shared Expenses</a></li>
</ul>
</nav>
</section>
</aside>
<footer>
<p>© 2026 <a href="https://koenra.ad/">https://koenra.ad</a></p>
</footer>
</body>
</html>
Open service 46.23.81.157:443 · koenra.ad
2026-01-23 05:13
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Access-Control-Request-Methods: GET, HEAD, OPTIONS
Content-Length: 1351
Content-Security-Policy: default-src 'self' data: blob:; script-src 'self' 'unsafe-eval' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; worker-src 'self' 'unsafe-eval' 'unsafe-inline' data: blob:; frame-src https:; img-src data: https:; media-src https:; object-src 'none'; sandbox allow-downloads allow-forms allow-modals allow-pointer-lock allow-popups allow-presentation allow-same-origin allow-scripts;
Content-Type: text/html; charset=utf-8
Last-Modified: Wed, 12 Nov 2025 11:30:50 GMT
Vary: Accept-Encoding
Date: Fri, 23 Jan 2026 05:13:44 GMT
Connection: close
Page title: koenra.ad
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="style.css">
<title>koenra.ad</title>
</head>
<body>
<header>
<h1>koenraad</h1>
<img src="lambda.jpg" alt="Logo of my all-time favorite game Half-Life">
<nav>
<ul>
<li><a href="https://www.youtube.com/@released4pleasure">youtube</a></li>
<li><a href="https://soundcloud.com/released4pleasure">soundcloud</a></li>
<li><a href="https://bandcamp.com/released4pleasure">bandcamp</a></li>
<li><a href="https://github.com/koenemans">github</a></li>
<li><a href="https://www.linkedin.com/in/kzweerts/">linkedin</a></li>
<li><a href="mailto:koenemans@proton.me">contact</a></li>
</ul>
</nav>
</header>
<main>
<p>If you want to encrypt your email, use my <a
href="https://keys.openpgp.org/vks/v1/by-fingerprint/65ABB3CCB8C599BB0462C10B8CA097117D0334EF">pubkey</a>
</p>
</main>
<footer>
<small><a href="https://koenra.ad">https://koenra.ad</a></small>
<small>hosted on <a href="https://git.sr.ht/~koenraad/">sourcehut</a></small>
</footer>
</body>
</html>