PageSourceSearch

https://utilitybend.com/blog/5-years-of-blogging-on-utilitybend

html utilitybend.com collected 2026-10-01 13:55:43 UTC 67,709 bytes, 107 lines download raw bytes

1<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><title>5 years of blogging on utilitybend! | utilitybend</title><meta name="language" content="en"><meta name="description" content="Five years of utilitybend: a look back at the blog's history, the presentations and opportunities it led to, the costs, and what comes next."><meta name="keywords" content="brecht, de ruyte, belgium, software engineer, HTML, CSS, SVG, UI, UX"><link href="https://www.linkedin.com/in/utilitybend" rel="author"><meta property="og:url" content="https://utilitybend.com/blog/5-years-of-blogging-on-utilitybend/"><meta property="og:title" content="5 years of blogging on utilitybend! | utilitybend"><meta property="og:type" content="website"><meta property="og:description" content="Five years of utilitybend: a look back at the blog's history, the presentations and opportunities it led to, the costs, and what comes next."><meta property="og:image" content="/_astro/visual.DUIpWrBH_Z2jeJUW.webp"><meta name="twitter:card" content="summary_large_image"><meta name="twitter:url" content="https://utilitybend.com/blog/5-years-of-blogging-on-utilitybend/"><meta name="twitter:title" property="og:title" content="5 years of blogging on utilitybend! | utilitybend"><meta name="twitter:image:src" content="https://utilitybend.com/_astro/visual.DUIpWrBH_1Fb3rj.webp"><meta name="twitter:site" content="@utilitybend"><meta name="referrer" content="origin-when-cross-origin"><link rel="sitemap" href="/sitemap-index.xml"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="Astro v7.0.7"><link href="https://github.com/brechtDR" rel="me"><link rel="webmention" href="https://webmention.io/utilitybend.com/webmention"><link rel="pingback" href="https://webmention.io/utilitybend.com/xmlrpc"><link rel="apple-touch-icon" sizes="180x180" href="/assets/favicon/apple-touch-icon.png"><link rel="icon" type="image/png" sizes="32x32" href="/assets/favicon/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="/assets/favicon/favicon-16x16.png"><link rel="manifest" href="/manifest.json"><link rel="mask-icon" href="/assets/favicon/safari-pinned-tab.svg" color="#5bbad5"><meta name="msapplication-TileColor" content="#ffffff"><meta name="theme-color" content="#ffffff" media="(prefers-color-scheme: light)"><meta name="theme-color" content="#161420" media="(prefers-color-scheme: dark)"><link rel="alternate" type="application/rss+xml" href="https://utilitybend.com/rss.xml"><link rel="preload" href="/assets/fonts/inter-latin-variable.woff2" as="font" type="font/woff2" crossorigin><link rel="preload" href="/assets/fonts/young-serif-latin-400.woff2" as="font" type="font/woff2" crossorigin><link rel="preload" href="/assets/fonts/source-code-pro-v22-latin-regular.woff2" as="font" type="font/woff2" crossorigin><!--
1<script--><!--    async--><!--    src="https://www.googletagmanager.com/gtag/js?id=G-Q26SJZWBFR"--><!--    type="text/plain"--><!--    data-c-script="marketing"></script>
1--><!--
1<script type="text/plain" data-c-script="marketing">--><!--    window.dataLayer = window.dataLayer || [];--><!--    function gtag() {--><!--        dataLayer.push(arguments);--><!--    }--><!--    gtag("js", new Date());--><!--    gtag("config", "G-Q26SJZWBFR");--><!--</script>
1-->
vendor: 63 bytes, line 1
1<script async src="https://www.googletagmanager.com/gtag/js?id=
1G-Q26SJZWBFR
vendor: 34 bytes, line 1
1" type="text/javascript"></script>
1<script type="text/javascript">
2            
vendor: 195 bytes, lines 2-8
2window.dataLayer = window.dataLayer || [];
3            function gtag() {
4                dataLayer.push(arguments);
5            }
6            gtag("js", new Date());
7
8            gtag("config", "
8G-Q26SJZWBFR
vendor: 12 bytes, lines 8-9
8");
9        
9</script>
9<script type="text/javascript">
10            function applyTheme() {
11                var mode = localStorage.theme || "system";
12                var isDark = mode === "dark" ||
13                    (mode === "system" && window.matchMedia("(prefers-color-scheme: dark)").matches);
14                document.documentElement.setAttribute("data-theme", mode);
15                document.documentElement.classList.toggle("dark", isDark);
16                document.documentElement.classList.toggle("light", mode === "light");
17                var metas = document.querySelectorAll('meta[name="theme-color"]');
18                if (metas.length) {
19                    var color = isDark ? "#161420" : "#ffffff";
20                    metas.forEach(function(m) { m.setAttribute("content", color); });
21                }
22            }
23            applyTheme();
24            document.addEventListener("pagereveal", applyTheme);
25            window.matchMedia("(prefers-color-scheme: dark)")
26                .addEventListener("change", function() { if (!localStorage.theme) applyTheme(); });
27        </script>
27<script type="text/javascript">
28            const depth = (url) =>
29                new URL(url).pathname.replace(/\/$/, '').split('/').length;
30
31            document.addEventListener('pageswap', (e) => {
32                if (!e.viewTransition || !e.activation) return;
33                const fromDepth = depth(document.location.href);
34                const toDepth = depth(e.activation.entry.url);
35
36                if (e.activation.navigationType === 'traverse') {
37                    e.viewTransition.types.add('back');
38                } else if (toDepth > fromDepth) {
39                    e.viewTransition.types.add('forward');
40                } else if (toDepth < fromDepth) {
41                    e.viewTransition.types.add('back');
42                } else {
43                    e.viewTransition.types.add('same-level');
44                }
45            });
46        </script>
46<script type="speculationrules">
47            {
48                "prerender": [
49                    {
50                        "source": "document",
51                        "where": {
52                            "and": [
53                                { "href_matches": "/*" },
54                                { "not": { "href_matches": "/rss.xml" } }
55                            ]
56                        },
57                        "eagerness": "moderate"
58                    }
59                ]
60            }
61        </script>
61<link rel="stylesheet" href="/_astro/Layout.BRsgPYN7.css"></head><body itemscope itemtype="https://schema.org/WebPage"><meta itemprop="accessibilityControl" content="fullKeyboardControl"><meta itemprop="accessibilityControl" content="fullMouseControl"><meta itemprop="accessibilityHazard" content="noSoundHazard"><meta itemprop="accessibilityAPI" content="ARIA"><svg class="grain" aria-hidden="true"><filter id="grain-filter"><feTurbulence type="fractalNoise" baseFrequency="0.55" numOctaves="4" stitchTiles="stitch"></feTurbulence></filter><rect width="100%" height="100%" filter="url(#grain-filter)"></rect></svg><dialog id="site-preferences" class="preferences-dialog-wrap" data-c-view="manage" aria-labelledby="preferences-title"><div class="preferences-dialog"><h2 class="h3 preferences-title" id="preferences-title">Site Preferences</h2><p>This website stores the browser data needed to provide a better experience and to analyze how the site is used. We do not use marketing tools, only Google Analytics to better understand our audience.</p><div class="my-3" hidden><div class="form-check"><input data-c-check="necessary" class="form-check-input" type="checkbox" value="" id="pref-essential"><label class="form-check-label" for="pref-essential">Necessary</label></div><div class="form-check"><input data-c-check="marketing" data-c-check-default="true" class="form-check-input" type="checkbox" value="" id="marketing"><label class="form-check-label" for="marketing">Analytics</label></div></div><div class="button-group"><button data-c-action="necessary" class="btn-link flex-fill ms-1" id="btn-essential-only">Necessary only</button><button data-c-action="all" class="btn btn-primary flex-fill" id="btn-confirm-all">Accept all</button></div></div></dialog><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="width: 0; height: 0; visibility: hidden; position: absolute;" aria-hidden="true"><symbol fill="none" id="icon-tag" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M7 7h.01M7 3h5a1.99 1.99 0 011.414.586l7 7a2 2 0 010 2.828l-7 7a2 2 0 01-2.828 0l-7-7A1.994 1.994 0 013 12V7a4 4 0 014-4z"></path></symbol><symbol id="icon-search" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"></path></symbol><symbol viewBox="0 0 24 24" id="icon-chevron-down"><path d="M5.97 8.97a.75.75 0 00-.073.976l.073.084 5 5a.75.75 0 00.976.073l.084-.073 5-5a.75.75 0 00-.976-1.133l-.084.073-4.47 4.469-4.47-4.47a.75.75 0 00-.976-.072l-.084.073z" fill="currentColor" fill-rule="evenodd"></path></symbol><symbol viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" id="icon-external">
61<path stroke-linecap="round" fill="var(--s-color-bg)" stroke-linejoin="round" d="M13.5 6H5.25A2.25 2.25 0 0 0 3 8.25v10.5A2.25 2.25 0 0 0 5.25 21h10.5A2.25 2.25 0 0 0 18 18.75V10.5m-10.5 6L21 3m0 0h-5.25M21 3v5.25"></path></symbol><symbol id="bluesky"><title>Bluesky</title><path d="M12 11.388c-.906-1.761-3.372-5.044-5.665-6.662c-2.197-1.55-3.034-1.283-3.583-1.033C2.116 3.978 2 4.955 2 5.528c0 .575.315 4.709.52 5.4c.68 2.28 3.094 3.05 5.32 2.803c-3.26.483-6.157 1.67-2.36 5.898c4.178 4.325 5.726-.927 6.52-3.59c.794 2.663 1.708 7.726 6.444 3.59c3.556-3.59.977-5.415-2.283-5.898c2.225.247 4.64-.523 5.319-2.803c.205-.69.52-4.825.52-5.399c0-.575-.116-1.55-.752-1.838c-.549-.248-1.386-.517-3.583 1.033c-2.293 1.621-4.76 4.904-5.665 6.664" fill="currentColor"></path></symbol><symbol id="mastodon"><title>Mastodon</title><path d="M20.94 14c-.28 1.41-2.44 2.96-4.97 3.26c-1.31.15-2.6.3-3.97.24c-2.25-.11-4-.54-4-.54v.62c.32 2.22 2.22 2.35 4.03 2.42c1.82.05 3.44-.46 3.44-.46l.08 1.65s-1.28.68-3.55.81c-1.25.07-2.81-.03-4.62-.5c-3.92-1.05-4.6-5.24-4.7-9.5l-.01-3.43c0-4.34 2.83-5.61 2.83-5.61C6.95 2.3 9.41 2 11.97 2h.06c2.56 0 5.02.3 6.47.96c0 0 2.83 1.27 2.83 5.61c0 0 .04 3.21-.39 5.43M18 8.91c0-1.08-.3-1.91-.85-2.56c-.56-.63-1.3-.96-2.23-.96c-1.06 0-1.87.41-2.42 1.23l-.5.88l-.5-.88c-.56-.82-1.36-1.23-2.43-1.23c-.92 0-1.66.33-2.23.96C6.29 7 6 7.83 6 8.91v5.26h2.1V9.06c0-1.06.45-1.62 1.36-1.62c1 0 1.5.65 1.5 1.93v2.79h2.07V9.37c0-1.28.5-1.93 1.51-1.93c.9 0 1.35.56 1.35 1.62v5.11H18V8.91Z" fill="currentColor"></path></symbol></svg><a href="#page-main" class="sr-only sr-only-focusable"> Skip to content</a><div class="header-container"><header class="header"><div class="wrapper"><a href="/" class="logo"><span class="sr-only">Return to homepage</span><svg xmlns="http://www.w3.org/2000/svg" id="Layer_2" width="280" height="71" aria-hidden="true" viewBox="0 0 263.16 67.67"><defs><linearGradient id="linear-gradient" x1="2.57" x2="64.01" y1="-197.89" y2="-221.25" gradientTransform="matrix(1 0 0 -1 0 -175.94)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#c26cab"></stop><stop offset=".34" stop-color="#b7519e"></stop><stop offset="1" stop-color="#92268b"></stop></linearGradient></defs><g id="Layer_1-2"><path fill="currentColor" d="M78.96 24.4c0-.41.33-.74.74-.74h3.06c.41 0 .78.33.78.74v11.15c0 3.39.87 5.62 3.92 5.62 2.52 0 4.91-2.15 4.91-4.05V24.4c0-.41.33-.74.74-.74h3.06c.41 0 .78.33.78.74v13.92c0 1.94.04 3.68.08 5.33.04.41-.33.74-.74.74h-1.82c-.45 0-.87-.29-1.03-.7l-.66-2.23c-1.53 2.02-3.63 3.34-6.94 3.34-4.29 0-6.9-2.56-6.9-8.71V24.4ZM100.39 27c-.37 0-.7-.33-.7-.74l.17-1.69c0-.41.37-.78.78-.78l2.02-.12.29-4.01c.04-.41.41-.83.83-.91l2.52-.54c.37-.08.74.21.74.58v4.87h4.38c.37 0 .7.33.7.74l-.17 1.86c0 .41-.37.74-.78.74h-4.13v10.16c0 3.18 1.32 3.84 2.93 3.84.58 0 .99-.08 1.36-.12.41-.08.74.25.74.62l.04 1.98c.04.41-.33.83-.7.95-.91.21-2.19.37-3.39.37-3.92 0-5.53-2.23-5.53-7.14V27.01h-2.11ZM120.17 17.01c0 1.49-1.2 2.6-2.68 2.6s-2.6-1.12-2.6-2.6 1.16-2.64 2.6-2.64 2.68 1.16 2.68 2.64Zm-1.16 6.52c.45-.04.78.29.78.7v19.41c0 .41-.33.74-.78.74H116c-.41 0-.78-.33-.78-.74V24.4c0-.41.37-.74.78-.78l3.01-.08ZM128.22 13.5c.45-.04.78.29.78.7v29.44c0 .41-.33.74-.78.74h-3.01c-.41 0-.78-.33-.78-.74V14.36c0-.41.37-.74.78-.78l3.01-.08ZM138.62 17.01c0 1.49-1.2 2.6-2.68 2.6s-2.6-1.12-2.6-2.6 1.16-2.64 2.6-2.64 2.68 1.16 2.68 2.64Zm-1.16 6.52c.45-.04.78.29.78.7v19.41c0 .41-.33.74-.78.74h-3.01c-.41 0-.78-.33-.78-.74V24.4c0-.41.37-.74.78-.78l3.01-.08ZM141.64 27c-.37 0-.7-.33-.7-.74l.17-1.69c0-.41.37-.78.78-.78l2.02-.12.29-4.01c.04-.41.41-.83.83-.91l2.52-.54c.37-.08.74.21.74.58v4.87h4.38c.37 0 .7.33.7.74l-.17 1.86c0 .41-.37.74-.78.74h-4.13v10.16c0 3.18 1.32 3.84 2.93 3.84.58 0 .99-.08 1.36-.12.41-.08.74.25.74.62l.04 1.98c.04.41-.33.83-.7.95-.91.21-2.19.37-3.39.37-3.92 0-5.53-2.23-5.53-7.14V27.01h-2.11ZM170.21 41.45c-1.53 2.02-3.59 3.34-6.9 3.34-4.3 0-6.9-2.56-6.9-8.71V24.39c0-.41.33-.74.74-.74h3.06c.41 0 .78.33.78.74v11.15c0 3.39.87 5.62 3.92 5.62 2.52 0 4.91-2.15 4.91-4.05V24.39c0-.41.33-.74.74-.74h3.06c.41 0 .78.33.78.74v19.08c0 7.31-3.84 10.65-9.99 10.65-2.06 0-4.42-.33-6.11-1.03-.37-.17-.7-.62-.66-1.03l.17-1.98c.04-.41.45-.62.83-.5 1.44.54 3.47.91 5.24.91 3.47 0 6.28-1.69 6.28-6.81l.04-2.23ZM189.45 44.8c-2.6 0-4.58-.87-6.15-3.01l-.74 1.9c-.17.41-.58.7-1.03.7h-1.78c-.41 0-.78-.33-.78-.74.08-1.65.12-3.88.12-5.2V14.36c0-.41.37-.74.78-.78l3.01-.08c.45-.04.78.29.78.7l.04 12.14c1.32-1.82 3.3-3.1 6.28-3.1 5.37 0 8.47 4.34 8.47 10.41 0 6.98-3.88 11.15-9 11.15Zm-5.78-7.93c0 2.11 1.69 4.34 4.79 4.34 3.8 0 5.33-3.3 5.33-7.31 0-4.71-2.15-7.1-5.2-7.1-2.11 0-4.01 1.28-4.91 3.3v6.77ZM210.55 23.16c6.4 0 9 5.2 8.26 11.07-.04.37-.45.74-.87.74h-12.76c.04 4.38 2.68 6.32 6.36 6.32 2.06 0 3.76-.33 5.24-.83.33-.12.74.12.83.58l.21 1.78c.04.37-.21.91-.62 1.03-1.65.54-3.92.95-6.44.95-6.52 0-10.12-4.01-10.12-10.49s3.47-11.15 9.91-11.15Zm-.29 3.34c-3.1 0-4.71 2.52-5 5.2h9.33c.04-.17.04-.41.04-.58 0-2.15-1.03-4.63-4.38-4.63ZM240.45 43.64c0 .41-.37.74-.78.74h-3.06c-.41 0-.74-.33-.74-.74v-11.4c0-3.1-.87-5.33-3.8-5.33-2.19 0-4.09 1.4-5.16 3.22v13.5c0 .41-.33.74-.78.74h-3.01c-.41 0-.78-.33-.78-.74V29.55c0-1.9-.04-3.55-.08-5.16-.04-.41.33-.74.74-.78l2.48-.08c.41-.04.78.29.83.7l.33 2.27c1.49-1.73 3.76-3.34 6.86-3.34 4.09 0 6.98 2.68 6.98 8.63v11.85ZM252.75 23.16c2.77 0 4.5 1.12 5.66 2.56l.04-11.36c0-.41.37-.74.78-.78l3.01-.08c.41-.04.78.29.78.7v24.57c0 1.32.04 3.34.12 4.87 0 .41-.29.74-.78.74h-1.73c-.41 0-.87-.29-1.03-.7l-.7-2.23c-1.4 2.02-3.55 3.34-6.52 3.34-5.24 0-8.59-4.38-8.59-10.53 0-6.61 3.63-11.11 8.96-11.11Zm5.7 6.57c-.95-2.02-2.89-2.97-4.67-2.97-3.76 0-5.33 3.51-5.33 7.39 0 4.75 2.27 7.06 5.2 7.06s4.79-2.27 4.79-4.17v-7.31Z" class="cls-3"></path><circle cx="33.84" cy="33.84" r="33.84" style="stroke-width:0;fill:url(#linear-gradient)"></circle><path d="M47.67 13.99c-.57-1.03-2.07-2.56-2.64-2.69-.04 0-.02 1.2.04 2.67s.07 2.72.03 2.76c-.06.06-3.03 1.95-3.09 1.96-.03 0-.98-.53-2.36-1.31l-.96-.54-.12-2.74c-.11-2.7-.12-2.74-.27-2.66-.53.26-1.63 1.42-2.06 2.16-1.84 3.19-.81 7.47 2.27 9.39l.43.27v16.5c0 5.38-2.09 8.14-6.08 8.14s-5.94-3-5.94-8.14V20.39c0-.53-.41-.95-.95-.95h-4.63c-.53 0-.97.44-.97.97v19.02c0 9.43 4.52 13.8 12.35 13.8 8.71 0 12.77-5 12.77-14.8v-15.3c2.93-1.7 3.95-5.93 2.19-9.14h-.01ZM24.8 23.22c-.08.7-.71 1.2-1.42 1.11-.7-.08-1.2-.71-1.11-1.42.08-.7.71-1.2 1.42-1.11s1.2.71 1.11 1.42Z" style="fill:#f8fafb;stroke-width:0"></path></g></svg><!--<svg--><!--  xmlns="http://www.w3.org/2000/svg"--><!--  width="280"--><!--  height="71"--><!--  viewBox="0 0 460.87 118"--><!--  aria-hidden="true"--><!--&gt;--><!--  <g id="Layer_2-2" data-name="Layer 2">--><!--    <circle cx="59" cy="59" r="59" fill="var(&#45;&#45;logo-bg)"></circle>--><!--    <path--><!--      class="logo-tool"--><!--      fill="currentColor"--><!--      d="M86 23c-1-1.89-3.79-4.69-4.85-4.93-.06 0 0 2.19.07 4.9s.13 5 .06 5.07-5.55 3.57-5.66 3.59-1.79-1-4.31-2.41l-1.76-1-.21-5c-.21-4.95-.22-5-.5-4.88a13.36 13.36 0 00-3.78 4 13 13 0 004.15 17.2L70 40v30.23c0 9.85-3.82 14.91-11.12 14.91-7 0-10.88-5.49-10.88-14.91V34.74A1.72 1.72 0 0046.26 33h-8.48A1.78 1.78 0 0036 34.78v34.84c0 17.27 8.27 25.29 22.62 25.29C74.57 94.91 82 85.75 82 67.79v-28c5.36-3.13 7.24-10.89 4-16.79zM44.13 39.92a2.33 2.33 0 11-2-2.59 2.32 2.32 0 012 2.59zM139.68 42.54a1.29 1.29 0 011.3-1.29h5.32a1.35 1.35 0 011.37 1.29V62c0 5.91 1.51 9.8 6.84 9.8 4.4 0 8.57-3.75 8.57-7.06v-22.2a1.29 1.29 0 011.3-1.29h5.33a1.34 1.34 0 011.36 1.29v24.27c0 3.38.08 6.41.15 9.29a1.25 1.25 0 01-1.3 1.29h-3.17a2 2 0 01-1.8-1.22l-1.15-3.89c-2.66 3.53-6.33 5.83-12.09 5.83-7.49 0-12-4.46-12-15.19zM177.05 47.08a1.28 1.28 0 01-1.23-1.3l.29-3a1.42 1.42 0 011.37-1.37l3.53-.21.5-7a1.91 1.91 0 011.49-1.52l4.39-.94a1.08 1.08 0 011.3 1v8.5h7.63a1.28 1.28 0 011.23 1.29l-.29 3.24a1.36 1.36 0 01-1.37 1.3h-7.2v17.72c0 5.55 2.3 6.7 5.11 6.7a18.31 18.31 0 002.38-.22 1.09 1.09 0 011.3 1.08l.07 3.46a1.77 1.77 0 01-1.23 1.65 28.37 28.37 0 01-5.9.65c-6.84 0-9.65-3.89-9.65-12.45V47.08zM211.54 29.65a4.56 4.56 0 01-4.68 4.54 4.47 4.47 0 01-4.54-4.54 4.53 4.53 0 014.54-4.65 4.61 4.61 0 014.68 4.65zm-2 11.38a1.21 1.21 0 011.37 1.22V76.1a1.31 1.31 0 01-1.37 1.29h-5.26a1.34 1.34 0 01-1.36-1.29V42.54a1.47 1.47 0 011.36-1.37zM225.57 23.53a1.22 1.22 0 011.37 1.23V76.1a1.3 1.3 0 01-1.37 1.29h-5.25A1.35 1.35 0 01219 76.1V25a1.46 1.46 0 011.37-1.36zM243.72 29.65a4.56 4.56 0 01-4.72 4.54 4.48 4.48 0 01-4.54-4.54A4.54 4.54 0 01239 25a4.61 4.61 0 014.72 4.65zM241.7 41a1.21 1.21 0 011.37 1.22V76.1a1.31 1.31 0 01-1.37 1.29h-5.25a1.35 1.35 0 01-1.37-1.29V42.54a1.48 1.48 0 011.37-1.37zM249 47.08a1.28 1.28 0 01-1.22-1.3l.29-3a1.41 1.41 0 011.36-1.37l3.53-.21.51-7a1.91 1.91 0 011.44-1.58l4.39-.94a1.07 1.07 0 011.29 1v8.5h7.64a1.27 1.27 0 011.22 1.29l-.29 3.24a1.35 1.35 0 01-1.36 1.3h-7.21v17.78c0 5.55 2.31 6.7 5.12 6.7a18 18 0 002.37-.22 1.09 1.09 0 011.3 1.08l.07 3.46a1.76 1.76 0 01-1.22 1.65 28.55 28.55 0 01-5.91.65c-6.84 0-9.65-3.89-9.65-12.45V47.08zM298.8 72.28c-2.67 3.53-6.27 5.83-12 5.83-7.49 0-12-4.46-12-15.19V42.54a1.28 1.28 0 011.2-1.29h5.33a1.35 1.35 0 011.37 1.29V62c0 5.91 1.51 9.8 6.84 9.8 4.39 0 8.57-3.75 8.57-7.06v-22.2a1.29 1.29 0 011.3-1.29h5.32a1.35 1.35 0 011.37 1.29v33.27c0 12.74-6.69 18.58-17.42 18.58a29.93 29.93 0 01-10.66-1.8 2 2 0 01-1.15-1.8l.29-3.46a1.06 1.06 0 011.44-.86 28.41 28.41 0 009.14 1.58c6.05 0 11-3 11-11.88zM332.35 78.11c-4.54 0-8-1.51-10.73-5.25l-1.3 3.31a1.94 1.94 0 01-1.8 1.22h-3.09a1.35 1.35 0 01-1.37-1.29c.14-2.88.22-6.77.22-9.08V25a1.45 1.45 0 011.36-1.36l5.26-.15a1.22 1.22 0 011.37 1.23l.07 21.17a12.77 12.77 0 0111-5.4c9.36 0 14.76 7.56 14.76 18.14-.05 12.21-6.82 19.48-15.75 19.48zm-10.08-13.82c0 3.67 3 7.56 8.35 7.56 6.63 0 9.29-5.76 9.29-12.75 0-8.21-3.74-12.38-9.07-12.38a9.43 9.43 0 00-8.57 5.76zM369.14 40.38c11.16 0 15.7 9.07 14.4 19.3A1.61 1.61 0 01382 61h-22.22c.07 7.63 4.68 11 11.09 11a28.13 28.13 0 009.13-1.45 1.16 1.16 0 011.44 1l.36 3.1a1.8 1.8 0 01-1.08 1.8 37.6 37.6 0 01-11.23 1.65c-11.38 0-17.64-7-17.64-18.29.01-11.08 6.06-19.43 17.29-19.43zm-.5 5.83c-5.4 0-8.21 4.4-8.72 9.08h16.28a4.91 4.91 0 00.07-1c0-3.76-1.8-8.08-7.63-8.08zM421.27 76.1a1.35 1.35 0 01-1.37 1.29h-5.33a1.28 1.28 0 01-1.29-1.29V56.22c0-5.4-1.52-9.29-6.63-9.29-3.82 0-7.13 2.45-9 5.62V76.1a1.3 1.3 0 01-1.37 1.29H391a1.35 1.35 0 01-1.37-1.29V51.54c0-3.31-.07-6.19-.15-9a1.36 1.36 0 011.3-1.37l4.32-.14a1.35 1.35 0 011.44 1.22l.58 4a15.61 15.61 0 0112-5.83c7.13 0 12.17 4.68 12.17 15zM442.72 40.38a11.86 11.86 0 019.87 4.47l.07-19.85a1.46 1.46 0 011.34-1.32l5.25-.15a1.26 1.26 0 011.37 1.23V67.6c0 2.3.07 5.83.22 8.5a1.27 1.27 0 01-1.37 1.29h-3a2 2 0 01-1.8-1.22l-1.23-3.89a13.2 13.2 0 01-11.37 5.83c-9.15 0-15-7.63-15-18.36.03-11.52 6.36-19.37 15.65-19.37zm9.94 11.45a9 9 0 00-8.14-5.18c-6.55 0-9.29 6.12-9.29 12.89 0 8.28 4 12.31 9.08 
6112.31 5 0 8.35-4 8.35-7.27z"--><!--    ></path></g--><!--  >--><!--</svg>--></a><div class="nav-wrapper"><nav class="nav-primary nav-desktop" role="navigation" aria-label="Navigation" itemscope="" itemtype="https://schema.org/SiteNavigationElement"><ul class="nav-list"><li class="nav-item"><a itemprop="url" class="nav-link" href="/"><span>home</span></a></li><li class="nav-item"><a itemprop="url" class="nav-link active" href="/blog"><span>blog</span></a></li><li class="nav-item"><a itemprop="url" class="nav-link" href="/about"><span>about</span></a></li><li class="nav-item"><a itemprop="url" class="nav-link" href="/contact"><span>contact</span></a></li></ul></nav><nav popover="auto" id="mobile-nav" class="nav-primary nav-mobile" role="navigation" aria-label="Mobile navigation"><button class="btn-menu-close" popovertarget="mobile-nav" popovertargetaction="hide" aria-label="Close menu"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></button><ul class="nav-list"><li class="nav-item"><a class="nav-link" href="/"><span>home</span></a></li><li class="nav-item"><a class="nav-link active" href="/blog"><span>blog</span></a></li><li class="nav-item"><a class="nav-link" href="/about"><span>about</span></a></li><li class="nav-item"><a class="nav-link" href="/contact"><span>contact</span></a></li></ul></nav><button class="btn-menu-toggle" popovertarget="mobile-nav" aria-label="Menu"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><line x1="3" y1="6" x2="21" y2="6"></line><line x1="3" y1="12" x2="21" y2="12"></line><line x1="3" y1="18" x2="21" y2="18"></line></svg></button><button id="switchTheme" class="switch-theme"><span class="sr-only">Theme: <span id="theme-name">system</span>. Click to switch.</span><svg class="icon-sun icon" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><path fill-rule="evenodd" d="M10 2a1 1 0 011 1v1a1 1 0 11-2 0V3a1 1 0 011-1zm4 8a4 4 0 11-8 0 4 4 0 018 0zm-.464 4.95l.707.707a1 1 0 001.414-1.414l-.707-.707a1 1 0 00-1.414 1.414zm2.12-10.607a1 1 0 010 1.414l-.706.707a1 1 0 11-1.414-1.414l.707-.707a1 1 0 011.414 0zM17 11a1 1 0 100-2h-1a1 1 0 100 2h1zm-7 4a1 1 0 011 1v1a1 1 0 11-2 0v-1a1 1 0 011-1zM5.05 6.464A1 1 0 106.465 5.05l-.708-.707a1 1 0 00-1.414 1.414l.707.707zm1.414 8.486l-.707.707a1 1 0 01-1.414-1.414l.707-.707a1 1 0 011.414 1.414zM4 11a1 1 0 100-2H3a1 1 0 000 2h1z" clip-rule="evenodd"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon-moon icon" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true"><path d="M17.293 13.293A8 8 0 016.707 2.707a8.001 8.001 0 1010.586 10.586z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon-system icon" viewBox="0 0 20 20" aria-hidden="true"><g fill="var(--s-color-icon-sun)" transform="translate(1.5 1.5) scale(0.45)"><path fill-rule="evenodd" d="M10 2a1 1 0 011 1v1a1 1 0 11-2 0V3a1 1 0 011-1zm4 8a4 4 0 11-8 0 4 4 0 018 0zm-.464 4.95l.707.707a1 1 0 001.414-1.414l-.707-.707a1 1 0 00-1.414 1.414zm2.12-10.607a1 1 0 010 1.414l-.706.707a1 1 0 11-1.414-1.414l.707-.707a1 1 0 011.414 0zM17 11a1 1 0 100-2h-1a1 1 0 100 2h1zm-7 4a1 1 0 011 1v1a1 1 0 11-2 0v-1a1 1 0 011-1zM5.05 6.464A1 1 0 106.465 5.05l-.708-.707a1 1 0 00-1.414 1.414l.707.707zm1.414 8.486l-.707.707a1 1 0 01-1.414-1.414l.707-.707a1 1 0 011.414 1.414zM4 11a1 1 0 100-2H3a1 1 0 000 2h1z" clip-rule="evenodd"></path></g><line x1="3" y1="17" x2="17" y2="3" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"></line><g fill="var(--s-color-icon-moon)" transform="translate(9.5 9.5) scale(0.45)"><path d="M17.293 13.293A8 8 0 016.707 2.707a8.001 8.001 0 1010.586 10.586z"></path></g></svg></button></div></div></header></div><div class="page-main" id="page-main"><nav class="breadcrumb" aria-label="Breadcrumb navigation"><div class="wrapper"><ol class="nav-list" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="nav-item" itemprop="itemListElement" itemscope="" itemtype="https://schema.org/ListItem"><a href="/" class="nav-link" itemprop="item"><span itemprop="name">Home</span></a><svg class="icon" xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 320 512" aria-hidden="true"><path d="M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522
61-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z"></path></svg><meta itemprop="position" content="1"></li><li class="mav-item" itemscope="" itemtype="https://schema.org/ListItem"><a href="/blog" class="nav-link" itemprop="item"><span itemprop="name">Blog</span></a><svg class="icon" xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 320 512" aria-hidden="true"><path d="M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z"></path></svg><meta itemprop="position" content="2"></li><li class="nav-item" itemscope="" itemtype="https://schema.org/ListItem"><span class="nav-current" aria-current="page" itemprop="item"><span itemprop="name">5 years of blogging on utilitybend!</span></span><meta itemprop="position" content="3"></li></ol></div></nav><div class="wrapper article-overview"><main class="h-entry"><article itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="mainEntityOfPage" content="https://utilitybend.com/blog/5-years-of-blogging-on-utilitybend/"><header class="article-header"><h1 itemprop="name headline" data-vt="post-title-5-years-of-blogging-on-utilitybend">5 years of blogging on utilitybend!</h1><time class="article-preview-date dt-published" datetime="2026-09-16T08-00-00Z" itemprop="datePublished" data-vt="post-date-5-years-of-blogging-on-utilitybend">16 Sep 2026</time><meta itemprop="dateModified" content="2026-09-16T08-00-00Z"></header><div itemprop="articleBody" class="rte article-body e-content"><figure itemprop="image" itemscope="" itemtype="https://schema.org/ImageObject" data-vt="post-img-5-years-of-blogging-on-utilitybend"><picture><source srcset="/_astro/visual.DUIpWrBH_1ST7Sj.avif 375w, /_astro/visual.DUIpWrBH_ZH3U1V.avif 480w, /_astro/visual.DUIpWrBH_WaQEv.avif 680w, /_astro/visual.DUIpWrBH_1CCPTp.avif 800w, /_astro/visual.DUIpWrBH_14Yi6W.avif 980w, /_astro/visual.DUIpWrBH_2l3TCx.avif 1024w" type="image/avif" sizes="(max-width: 575px) 100vw,(max-width: 767px) 100vw,(max-width: 991px) 100vw,80vw"><source srcset="/_astro/visual.DUIpWrBH_Z1WKlwq.webp 375w, /_astro/visual.DUIpWrBH_vsJmg.webp 480w, /_astro/visual.DUIpWrBH_2aHw3H.webp 680w, /_astro/visual.DUIpWrBH_Z2e1Cvk.webp 800w, /_astro/visual.DUIpWrBH_2ivWv9.webp 980w, /_astro/visual.DUIpWrBH_ZrUHBP.webp 1024w" type="image/webp" sizes="(max-width: 575px) 100vw,(max-width: 767px) 100vw,(max-width: 991px) 100vw,80vw"><img src="/_astro/visual.DUIpWrBH_Z2v1JFh.jpg" srcset="/_astro/visual.DUIpWrBH_6hzdY.jpg 375w, /_astro/visual.DUIpWrBH_Z2uFsGg.jpg 480w, /_astro/visual.DUIpWrBH_ZPqFYO.jpg 680w, /_astro/visual.DUIpWrBH_Z9XGJU.jpg 800w, /_astro/visual.DUIpWrBH_ZHCfxn.jpg 980w, /_astro/visual.DUIpWrBH_Z2v1JFh.jpg 1024w" sizes="(max-width: 575px) 100vw,(max-width: 767px) 100vw,(max-width: 991px) 100vw,80vw" alt="A white cake with a purple U logo beneath a popping lid, a yellow number five, and colourful stars." loading="eager" decoding="async" width="1024" height="576" class="img-fluid"></picture></figure><p class="lead" data-vt="post-lead-5-years-of-blogging-on-utilitybend">Time flies huh? Five years ago, I started this blog hoping one or two developers might learn something from it. What happened next was not expected, I never planned to speak at conferences or give presentations, let alone that more than 20 people would actually read my blog. Here is a bit of its history, the doors it opened, the money I lost, and what comes next.</p><blockquote>
62<p>Start a blog! It’s great! You’ll learn more than you think!</p>
63</blockquote>
64<p>As I am traveling on my way to NDC Oslo, I started to write this post… tomorrow, <strong>my blog turns 5 years old.</strong></p>
65<p>I recently posted two articles in a short amount of time, and for this article, it was hard to find words. What happened in 5 years? Well, maybe a bit of history of the blog to begin with, following up with the doors it opened, the money (I lost), and the future. I’ll keep it short (hopefully).</p>
66<h2 id="history">History</h2>
67<p>I started this blog shortly after having a burn-out, you would think that is sort of counter intuitive, and it is! But I always felt like I needed a personal project of my own. If I were to keep going in this “CSS game” I wanted to do more than just creating websites the whole time. I wanted to share what I love. I attended CSS Day a few times by then and I always loved how these development communities feel. The people I look up to are mostly the people who just have a sheer passion for sharing. I felt as I’m early in my 30’s and been coding for so long, I should at least try to write down some of the things I do. Who knows, maybe one or tw
67o people will find one of my articles to help them out while they’re working on a project. And OMG, that moment I had 20 people reading my blog, I was flabbergasted.</p>
68<p>Even passed the point of 20 people reading this, not that much has changed. I might’ve become a bit better by doing it (sometimes), I might be a bit more careful choosing my words (sometimes), but at the end of the day, I’m still the same person, just 5 years older (and that, I feel sometimes).</p>
69<h3 id="the-experiment-and-where-the-name-came-from">The experiment and where the name came from</h3>
70<p>The blog started as an experiment. Believe it or not, my <a href="https://web.archive.org/web/20211020051430/https://utilitybend.com/" target="_blank" rel="noreferrer noopener">first version</a> was actually written in Tailwind. I never really liked the design too much and always wanted to change it to more of a purple tone (first version was orange), and after a half year or so, I already started on a re-design, which is also the reason I have a love/hate relationship with tailwind, not real hate, <a href="/blog/why-tailwind-is-great-why-you-might-be-missing-out-and-why-it-isnt-for-me">just not for me</a>… (Redesigning is a real pain)</p>
71<p>But that is the thing, right? This whole blog was an experiment because I wanted to learn utility based CSS, personal blogs are great for these kinds of things. When I started this, we sort of went from “pixel benders” to people just pushing out utility classes moving from Bootstrap to Tailwind. Maybe I should say that instead of “pixel benders”, we were becoming “utility benders”, see, it’s in the name.</p>
72<p>My blog didn’t carry my name (Brecht), because it’s hard to pronounce in most parts of the world which made me quickly decide to use an alias. Had I known that this blog would lift off like it did, I might’ve changed that, but it did grow on me.</p>
73<p>The “utility” part in the name stayed, but the utility-first CSS was removed. The experimentation did continue, my blog is full of progressive enhancements.</p>
74<h2 id="and-then-came-the-presentations">And then came the presentations</h2>
75<p>I vividly remember the first time I went on a stage. I did do a play when I was a kid, but to stand on a stage all by myself terrified me. I wanted to get over that feeling, so I gave it a shot at a local meetup called “full-stack Ghent”. I also just took my babysteps into the W3C community group Open UI so the presentations were about the things I was looking forward to the most: popovers, scroll driven animations and yes, you guessed it, a very early sneak peek in the customisable select (<code>&lt;selectmenu&gt;</code> at that time). It was for a room of 50 people (give or take), not many people heard of scroll driven animations at the time, and here I was explaining the early specification with <a href="https://www.bram.us/" target="_blank" rel="noreferrer noopener">Bramus</a> right in front of me (who was working closely on this in the CSSWG). Yep… not scary at all for a first-timer…</p>
76<p>All went well, not any huge mistakes, Bramus was really nice to me, other meetups followed and at a Fronteers meetup  I gave my first talk dedicated to Open UI explainers. My first “bigger” conference was Middlesbrough front-end, which is unfortunately discontinued. You never forget these things, those  few days in Middlesbrough are still really close to my heart, even today. The line-up was full of people I look up to, and all of them were just the sweetest human beings.</p>
77<h3 id="and-then-it-sorta-exploded">And then it sorta exploded</h3>
78<p>Things really skyrocketed after that. I had to find a way to combine this. Luckily, one of my bosses Frederik Claerhout saw value in this, and combined with a new company that came to exist with a merger (<a href="https://www.iodigital.com/en?utm_source=utilitybend&amp;utm_medium=blog&amp;utm_campaign=5-years-of-blogging-on-utilitybend" target="_blank" rel="noreferrer noopener">iO</a>) it opened opportunities.</p>
79<ul>
80<li>Make the local community get to know iO: I went to every meetup (on my own time) with an iO shirt and organised some of them internally</li>
81<li>You can go to conferences, where it is interesting for us: Stayed in Europe and tried to focus on countries or neighbouring countries where we have business.</li>
82<li>Always mention iO: which is perfectly normal</li>
83<li>Try to keep a nice billable rate</li>
84</ul>
85<p>It was and still is a game of give and take, the creation of demo’s, blogposts, the money I spend on CodePen Pro, my blog hosting, Open UI meetings, writing explainers, etc… that’s all just on me in my free time. The internal knowledge sharing I bring because of that is a thing I’m happy to do and I try to bring in as much as I can for those willing. But I get a lot in return, they allow me to do the conferences, to speak at them (within limits) and I am grateful. The balance isn’t always easy, I’m not going to lie, but it is there, somewhere. It has become a part of my job.</p>
86<p>This brings me to</p>
87<h2 id="if-one-thing-i-lost-money-on-this">If one thing, I lost money on this</h2>
88<blockquote>
89<p>This is not a solid business plan at all.</p>
90</blockquote>
91<p>If you look at the complete picture I’m not gaining any money on this. Hosting is currently still in a free tier (hope to keep it that way), but other things to create demo’s properly cost money: Some cloud backups, domain name, some image and text editing software, etc… But it’s  not just software, there is also the cost of traveling. Not everything is reimbursed by some conferences (I want at least a flight and hotel). Don’t get me wrong, it’s worth it. I might be losing some money, but the value I get in life makes up for that completely. I do have a <a href="https://ko-fi.com/utilitybend" target="_blank" rel="noreferrer noopener">ko-fi account</a>, but let’s be honest, that doesn’t get clicked and it’s probably going to get worse with my content just being scraped by AI agents.</p>
92<h2 id="the-future">The future</h2>
93<p>Not going to repeat myself in this blogpost, but in general: I think I’ll still keep going for a while. There might be a bit more AI fused in the topics, but I always want it to reflect my values that started this journey: It should help people and preferably be related to webstandards, UX or accessibility. If you see my early articles you notice that I used a lot of emphasis dashes. That was at a time before AI became huge and now I try to avoid them, maybe I should care less about that as well.</p>
94<p>And let’s not forget the <a href="https://open-ui.org/components/enhanced-range-input.explainer/" target="_blank" rel="noreferrer noopener">rangegroup element</a>! Much exciting stuff to blog about soon!</p>
95<h3 id="the-little-thumbs-up-help">The little thumbs up help</h3>
96<p>It’s not purely about the dopamine hit, it never was. Some of my best articles - at least according to me - were barely read, and some of my shitty ones exploded (weird how that goes).</p>
97<p>But it helps… the thumbs up, the sharing, the replying. It’s nice to know the content gets appreciated, and that’s just the thing. It’s about the content! Me, I’m not special, I’m not a rockstar, comedian, etc… I’m a middle aged dad slowly getting in a midlife crisis who happens to share some stuff about tech. Not a lot has changed except that I’m 5 years older and for some reason decided I like hitting little balls with sticks while hating all the elitist pricks that claim hitting balls with a stick is for the privileged (yes, I’m talking golf).</p>
98<p>It’s about a love for the community, I love getting to know people, the laughs and shares, I try to be a good teacher! But, that might just be an age thing. I love reading! Being a GDE helps with connecting to like-minded people, that certainly helped.</p>
99<p>When I go on stages, I try to do my ultimate best… always, I mean, people pay money for it, or offer their evening for it. You gotta bring it, knowing stuff is not enough. Make it at least a bit entertaining, with respect for the content. If you ask me which people I look up to in the “speaker world”, there are many, and each of them have their own style.</p>
100<h2 id="keep-tinkering">Keep tinkering</h2>
101<p>Yes! Like hell yes! And I’m not going to be black and white on this. If you tinker using AI, that’s ok, but stay curious! Be
102a critic of the output. I’ve seen too many people taking way too much praise for something they just prompted in 5 minutes. Be better, be a teacher, not only a slave to praising dopamine hits.</p>
103<p>Speaking of tinkering, about a week ago, I saw <a href="https://bsky.app/profile/webdevs.firefox.com/post/3mv65iwtu432k" target="_blank" rel="noreferrer noopener">this post by Mozilla</a> adding <code>sibling-index()</code> inside of a custom property. They used <code>@property</code> for this to make sure it returns an integer. I never thought of that before and was already making a cake for my 5 years of blogging. So I thought to take the code to the next step by stealing that awesome idea.<
103/p>
104<p>And with that. Up to the next 5 years!</p>
105<div class="embed"><iframe height="300" style="width: 100%;" scrolling="no" title="5 years" src="https://codepen.io/editor/utilitybend/embed/preview/01a08caa-ac79-7f61-82e5-00cd71ab13ae?default-tab=result" frameborder="no" loading="lazy" allowtransparency="true"><p>See the Pen <a href="https://codepen.io/editor/utilitybend/pen/01a08caa-ac79-7f61-82e5-00cd71ab13ae" target="_blank" rel="noreferrer noopener">
1065 years</a> by utilitybend (<a href="https://codepen.io/utilitybend" target="_blank" rel="noreferrer noopener">@utilitybend</a>)
107on <a href="https://codepen.io" target="_blank" rel="noreferrer noopener">CodePen</a>.</p></iframe></div><div class="article-by"><span itemprop="author" itemscope="" itemtype="https://schema.org/Person">Article by&nbsp;<a rel="author" itemprop="url" content="https://utilitybend.com/about" href="https://utilitybend.com/about" title="View author information"><span itemprop="name" class="p-author h-card">Brecht De Ruyte</span></a><meta itemprop="jobTitle" content="Software Engineer"><meta itemprop="worksFor" content="Utilitybend"></span>&nbsp;in&nbsp;<span itemprop="keywords"><span><a href="/category/general" rel="category tag p-category">General</a></span></span></div></div></article><style>astro-island,astro-slot,astro-static-slot{display:contents}</style>
107<script>(()=>{var e=async t=>{await(await t())()};(self.Astro||(self.Astro={})).only=e;window.dispatchEvent(new Event("astro:only"));})();</script>
107<script>(()=>{var g=Object.defineProperty;var w=(c,s,d)=>s in c?g(c,s,{enumerable:!0,configurable:!0,writable:!0,value:d}):c[s]=d;var l=(c,s,d)=>w(c,typeof s!="symbol"?s+"":s,d);var E=new Set(["__proto__","constructor","prototype"]);{let c={0:t=>y(t),1:t=>d(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(d(t)),5:t=>new Set(d(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t),11:t=>Number.POSITIVE_INFINITY*t},s=t=>{let[p,e]=t;return p in c?c[p](e):void 0},d=t=>t.map(s),y=t=>typeof t!="object"||t===null?t:Object.fromEntries(Object.entries(t).map(([p,e])=>[p,s(e)]));class f extends HTMLElement{constructor(){super(...arguments);l(this,"Component");l(this,"hydrator");l(this,"hydrate",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest("astro-island[ssr]");if(e){e.addEventListener("astro:hydrate",this.hydrate,{once:!0});return}let n=this.querySelectorAll("astro-slot"),r={},i=this.querySelectorAll("template[data-astro-template]");for(let o of i){let a=o.closest(this.tagName);a!=null&&a.isSameNode(this)&&(r[o.getAttribute("data-astro-template")||"default"]=o.innerHTML,o.remove())}for(let o of n){let a=o.closest(this.tagName);a!=null&&a.isSameNode(this)&&(r[o.getAttribute("name")||"default"]=o.innerHTML)}let u;try{u=this.hasAttribute("props")?y(JSON.parse(this.getAttribute("props"))):{}}catch(o){let a=this.getAttribute("component-url")||"<unknown>",v=this.getAttribute("component-export");throw v&&(a+=` (export ${v})`),console.error(`[hydrate] Error parsing props for component ${a}`,this.getAttribute("props"),o),o}let h;await this.hydrator(this)(this.Component,u,r,{client:this.getAttribute("client")}),this.removeAttribute("ssr"),this.dispatchEvent(new CustomEvent("astro:hydrate"))});l(this,"unmount",()=>{this.isConnected||this.dispatchEvent(new CustomEvent("astro:unmount"))})}disconnectedCallback(){document.removeEventListener("astro:after-swap",this.unmount),document.addEventListener("astro:after-swap",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute("await-children")||document.readyState==="interactive"||document.readyState==="complete")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener("DOMContentLoaded",e),n.disconnect(),this.childrenConnectedCallback()},n=new MutationObserver(()=>{var r;((r=this.lastChild)==null?void 0:r.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue==="astro:end"&&(this.lastChild.remove(),e())});n.observe(this,{childList:!0}),document.addEventListener("DOMContentLoaded",e)}}async childrenConnectedCallback(){let e=this.getAttribute("before-hydration-url");e&&await import(e),this.start()}getRetryImportUrl(e){let n=new URL(e,document.baseURI),r=`astro-retry=${Date.now()}`,i=n.hash.replace(/^#/,"");return n.hash=i?`${i}&${r}`:r,n.toString()}async importWithRetry(e){try{return await import(e)}catch(n){return await new Promise(r=>setTimeout(r,1e3)),import(this.getRetryImportUrl(e))}}handleHydrationError(e){let n=this.getAttribute("component-url"),r=new CustomEvent("astro:hydration-error",{cancelable:!0,bubbles:!0,composed:!0,detail:{error:e,componentUrl:n}});this.dispatchEvent(r)&&console.error(`[astro-island] Error hydrating ${n}`,e)}async start(){let e=JSON.parse(this.getAttribute("opts")),n=this.getAttribute("client");if(Astro[n]===void 0){window.addEventListener(`astro:${n}`,()=>this.start(),{once:!0});return}try{await Astro[n](async()=>{let r=this.getAttribute("renderer-url");try{let[i,{default:u}]=await Promise.all([this.importWithRetry(this.getAttribute("component-url")),r?this.importWithRetry(r):Promise.resolve({default:()=>()=>{}})]),h=this.getAttribute("component-export")||"default";if(h.includes(".")){this.Component=i;for(let m of h.split(".")){if(E.has(m)||!this.Component||typeof this.Component!="object"&&typeof this.Component!="function"||!Object.hasOwn(this.Component,m))throw new Error(`Invalid component export path: ${h}`);this.Component=this.Component[m]}}else{if(E.has(h))throw new Error(`Invalid component export path: ${h}`);this.Component=i[h]}return this.hydrator=u,this.hydrate}catch(i){return this.handleHydrationError(i),()=>{}}},e,this)}catch(r){this.handleHydrationError(r)}}attributeChangedCallback(){this.hydrate()}}l(f,"observedAttributes",["props"]),customElements.get("astro-island")||customElements.define("astro-island",f)}})();</script>
107<astro-island uid="ZnyVGl" component-url="/_astro/Comments.41uZT2tw.js" component-export="default" renderer-url="/_astro/client.DSCc7x3P.js" props="{&quot;mentionUrl&quot;:[0,&quot;/blog/5-years-of-blogging-on-utilitybend/&quot;]}" ssr client="only" opts="{&quot;name&quot;:&quot;Comments&quot;,&quot;value&quot;:&quot;react&quot;}"></astro-island><section class="related" aria-label="Related posts"><h3 class="h3 medium">Related posts</h3><div><article class="article-preview card-clickable" itemscope itemtype="https://schema.org/BlogPosting"><header class="article-preview-header"><h2 class itemprop="name headline" data-vt="post-title-ai-brains-css-overload-writing-i-need-a-break-and-im-taking-one">AI Brains, CSS overload, writing. I need a break and I&#39;m taking one!</h2><span itemprop="author" itemscope="itemscope" itemtype="https://schema.org/Person"><meta itemprop="name" content="Brecht De Ruyte"><meta itemprop="url" content="https://utilitybend.com/about"></span><time datetime="2026-07-17T10-00-00Z" class="article-preview-date" itemprop="datePublished" data-vt="post-date-ai-brains-css-overload-writing-i-need-a-break-and-im-taking-one">17 Jul 2026</time><meta itemprop="dateModified" content="2026-07-17T10-00-00Z"><span itemprop="publisher" itemscope itemtype="https://schema.org/Organization"><meta itemprop="name" content="utilitybend"><span itemprop="logo" itemscope itemtype="https://schema.org/ImageObject"><meta itemprop="url" content="https://utilitybend.com/assets/share-defaults/utilitybend-logo.png"><meta itemprop="width" content="1200"><meta itemprop="height" content="675"></span></span></header><figure class="article-preview-image" data-vt="post-img-ai-brains-css-overload-writing-i-need-a-break-and-im-taking-one"><picture><source srcset="/_astro/visual.DATt_bIW_Z1TUoDS.avif 375w, /_astro/visual.DATt_bIW_yiGeN.avif 480w, /_astro/visual.DATt_bIW_2dxsVf.avif 680w, /_astro/visual.DATt_bIW_Z2bbFCM.avif 800w, /_astro/visual.DATt_bIW_2llTnG.avif 980w, /_astro/visual.DATt_bIW_XWGzV.avif 1024w" type="image/avif" sizes="(max-width: 575px) 100vw,(max-width: 767px) 100vw,(max-width: 991px) 50w,100vw"><source srcset="/_astro/visual.DATt_bIW_ZGnJfG.webp 375w, /_astro/visual.DATt_bIW_1LPlD0.webp 480w, /_astro/visual.DATt_bIW_Z1D70tu.webp 680w, /_astro/visual.DATt_bIW_ZWE1eA.webp 800w, /_astro/visual.DATt_bIW_Z1viz23.webp 980w, /_astro/visual.DATt_bIW_Z1O1UEr.webp 1024w" type="image/webp" sizes="(max-width: 575px) 100vw,(max-width: 767px) 100vw,(max-width: 991px) 50w,100vw"><img src="/_astro/visual.DATt_bIW_Z98Bj.jpg" srcset="/_astro/visual.DATt_bIW_1mEbuI.jpg 375w, /_astro/visual.DATt_bIW_Z1eiQpw.jpg 480w, /_astro/visual.DATt_bIW_pUUgU.jpg 680w, /_astro/visual.DATt_bIW_16nTvO.jpg 800w, /_astro/visual.DATt_bIW_xJlIm.jpg 980w, /_astro/visual.DATt_bIW_1d4b63.jpg 1024w" sizes="(max-width: 575px) 100vw,(max-width: 767px) 100vw,(max-width: 991px) 50w,100vw" alt="An illustrated beach scene with a stylised human brain as the trunk of a palm tree. Text labels float around it reading CSS, AI, UI, Talks, Web, Writing, and Range." loading="lazy" decoding="async" width="160" height="90" class="img-fluid"></picture><span itemprop="image" itemscope="" itemtype="http://schema.org/ImageObject"><meta itemprop="url" content="/_astro/visual.DATt_bIW_9j3kG.webp"><meta itemprop="width" content="1200"><meta itemprop="height" content="675"></span></figure><div class="article-preview-description"><p class="default" data-vt="post-lead-ai-brains-css-overload-writing-i-need-a-break-and-im-taking-one">It&#39;s that time of the year where I do the European thing, taking way too much holiday during summer. Yep, we&#39;re talking more than a week, this year even more than three, and to be honest, I kind of need it. How was my first half of the year? There is a lot to be said from a shift in my day job, to CSS, to web standards, to disturbances in balance and frustrations on a golf course.</p><a href="/blog/ai-brains-css-overload-writing-i-need-a-break-and-im-taking-one" class="btn btn-primary card-action" itemprop="mainEntityOfPage url" data-vt="post-btn-ai-brains-css-overload-writing-i-need-a-break-and-im-taking-one"><span>Read more<span class="sr-only"> about AI Brains, CSS overload, writing. I need a break and I&#39;m taking one!</span></span></a></div></article><article class="article-preview card-clickable" itemscope itemtype="https://schema.org/BlogPosting"><header class="article-preview-header"><h2 class itemprop="name headline">This was CSS Day 2026 - a dive in CSS geekism<svg class="icon external" aria-hidden="true"><use xlink:href="#icon-external"></use></svg></h2><span itemprop="author" itemscope="itemscope" itemtype="https://schema.org/Person"><meta itemprop="name" content="Brecht De Ruyte"><meta itemprop="url" content="https://utilitybend.com/about"></span><time datetime="2026-06-19T12-00-00Z" class="article-preview-date" itemprop="datePublished">19 Jun 2026</time><meta itemprop="dateModified" content="2026-06-19T12-00-00Z"><span itemprop="publisher" itemscope itemtype="https://schema.org/Organization"><meta itemprop="name" content="utilitybend"><span itemprop="logo" itemscope itemtype="https://schema.org/ImageObject"><meta itemprop="url" content="https://utilitybend.com/assets/share-defaults/utilitybend-logo.png">
107<meta itemprop="width" content="1200"><meta itemprop="height" content="675"></span></span></header><figure class="article-preview-image"><picture><source srcset="/_astro/io.Dg3cHcwk_1nOEOT.avif 375w, /_astro/io.Dg3cHcwk_Z17lYoQ.avif 480w, /_astro/io.Dg3cHcwk_Z1GI7as.avif 680w, /_astro/io.Dg3cHcwk_Z17M6Xc.avif 800w, /_astro/io.Dg3cHcwk_Z2cqFnS.avif 980w, /_astro/io.Dg3cHcwk_A3u8e.avif 1024w" type="image/avif" sizes="(max-width: 575px) 100vw,(max-width: 767px) 100vw,(max-width: 991px) 50w,100vw"><source srcset="/_astro/io.Dg3cHcwk_1ROIl8.webp 375w, /_astro/io.Dg3cHcwk_ZClUSC.webp 480w, /_astro/io.Dg3cHcwk_Z1cI3Ee.webp 680w, /_astro/io.Dg3cHcwk_ZCM3rX.webp 800w, /_astro/io.Dg3cHcwk_Z1HqBRE.webp 980w, /_astro/io.Dg3cHcwk_ztPxx.webp 1024w" type="image/webp" sizes="(max-width: 575px) 100vw,(max-width: 767px) 100vw,(max-width: 991px) 50w,100vw"><img src="/_astro/io.Dg3cHcwk_M1xjq.jpg" srcset="/_astro/io.Dg3cHcwk_22OJeN.jpg 375w, /_astro/io.Dg3cHcwk_ZslTYW.jpg 480w, /_astro/io.Dg3cHcwk_Z12I2Ky.jpg 680w, /_astro/io.Dg3cHcwk_ZsM2yi.jpg 800w, /_astro/io.Dg3cHcwk_Z1xqAXY.jpg 980w, /_astro/io.Dg3cHcwk_zi9vr.jpg 1024w" sizes="(max-width: 575px) 100vw,(max-width: 767px) 100vw,(max-width: 991px) 50w,100vw" alt="iO tech_hub" loading="lazy" decoding="async" width="160" height="90" class="img-fluid"></picture><span itemprop="image" itemscope="" itemtype="http://schema.org/ImageObject"><meta itemprop="url" content="/_astro/io.Dg3cHcwk_B9xec.webp"><meta itemprop="width" content="1200"><meta itemprop="height" content="675"></span></figure><div class="article-preview-description"><p class="default">Fourteen talks, two days, one city. Color spaces, a browser built from scratch, CSS that runs x86 machine code, a select that took 33 years, and a masonry layout that is finally real. This was CSS Day 2026.</p><a href="https://techhub.iodigital.com/articles/this-was-css-day-2026-a-dive-in-css-geekism" class="btn card-action" target="_blank" itemprop="mainEntityOfPage url"><span>Read more<span class="sr-only">about This was CSS Day 2026 - a dive in CSS geekism</span><em>(iO tech_hub)</em></span></a></div></article></div></section><div class="return-to-overview"><a href="/blog" class="btn btn-primary has-icon"><span><svg xmlns="http://www.w3.org/2000/svg" class="icon mr-1" fill="none" viewBox="0 0 24 24" stroke="currentColor" aria-hidden="true"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 19l-7-7m0 0l7-7m-7 7h18"></path></svg>Return to overview</span></a></div></main><aside class="sidebar"><div class="sticky"><div id="toggle-filters" class="nav-aside"><div><nav class="article-toc" aria-label="Table of contents"><h3>On this page</h3><div class="toc-scroll"><ol><li><a href="#history">History</a></li><li><a href="#and-then-came-the-presentations">And then came the presentations</a></li><li><a href="#if-one-thing-i-lost-money-on-this">If one thing, I lost money on this</a></li><li><a href="#the-future">The future</a></li><li><a href="#keep-tinkering">Keep tinkering</a></li></ol></div></nav><div class="sidebar-categories"><h3>Posted in:</h3><nav class="nav-category" role="navigation" aria-label="Categories" itemscope="" itemtype="https://schema.org/SiteNavigationElement"><ul class="nav-list"><li class="nav-item"><a href="/category/general" itemprop="url" class="badge badge-general">General</a></li></ul></nav></div><div class="article-share social-icons"><h4 class="h4">Share this:</h4><a href="https://bsky.app/intent/compose?text=5 years of blogging on utilitybend! - @utilitybend.com - https%3A//utilitybend.com/blog/5-years-of-blogging-on-utilitybend/" target="_blank" class="bluesky" rel="noreferrer"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 600 530"><path fill="currentColor" d="M135.72 44.03C202.216 93.951 273.74 195.17 300 249.49c26.262-54.316 97.782-155.54 164.28-205.46C512.26 8.009 590-19.862 590 68.825c0 17.712-10.155 148.79-16.111 170.07-20.703 73.984-96.144 92.854-163.25 81.433 117.3 19.964 147.14 86.092 82.697 152.22-122.39 125.59-175.91-31.511-189.63-71.766-2.514-7.38-3.69-10.832-3.708-7.896-.017-2.936-1.193.516-3.707 7.896-13.714 40.255-67.233 197.36-189.63 71.766-64.444-66.128-34.605-132.26 82.697-152.22-67.108 11.421-142.55-7.45-163.25-81.433C20.15 217.613 9.997 86.535 9.997 68.825c0-88.687 77.742-60.816 125.72-24.795z"></path></svg><span class="sr-only">Share on Bluesky</span></a><a href="https://www.facebook.com/sharer/sharer.php?u=https%3A//utilitybend.com/blog/5-years-of-blogging-on-utilitybend/" target="_blank" class="facebook" rel="noreferrer"><svg viewBox="0 0 24 24" width="24" height="24" xmlns="http://www.w3.org/2000/svg" fill="currentColor" aria-hidden="true"><path d="M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z"></path></svg><span class="sr-only">Share on Facebook</span></a><a href="https://www.linkedin.com/shareArticle?mini=true&amp;url=https%3A//utilitybend.com/blog/5-years-of-blogging-on-utilitybend/&amp;title=5 years of blogging on utilitybend!&amp;summary=Five years of utilitybend: a look back at the blog's history, the presentations and opportunities it led to, the costs, and what comes next.&amp;source=utilitybend" target="_blank" class="linkedin" rel="noreferrer"><svg viewBox="0 0 24 24" width="24" height="24" fill="currentColor" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 01-2.063-2.065 2.064 2.064 0 112.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"></path></svg><span class="sr-only">Share on LinkedIn</span></a><a href="https://shareopenly.org/share/?url=https%3A//utilitybend.com/blog/5-years-of-blogging-on-utilitybend/&amp;text=5 years of blogging on utilitybend!" target="_blank" class="mastodon" rel="noreferrer"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M23.268 5.313c-.35-2.578-2.617-4.61-5.304-5.004C17.51.242 15.792 0 11.813 0h-.03c-3.98 0-4.835.242-5.288.309C3.882.692 1.496 2.518.917 5.127.64 6.412.61 7.837.661 9.143c.074 1.874.088 3.745.26 5.611.118 1.24.325 2.47.62 3.68.55 2.237 2.777 4.098 4.96 4.857 2.336.792 4.849.923 7.256.38.265-.061.527-.132.786-.213.585-.184 1.27-.39 1.774-.753a.057.057 0 0 0 .023-.043v-1.809a.052.052 0 0 0-.02-.041.053.053 0 0 0-.046-.01 20.282 20.282 0 0 1-4.709.545c-2.73 0-3.463-1.284-3.674-1.818a5.593 5.593 0 0 1-.319-1.433.053.053 0 0 1 .066-.054c1.517.363 3.072.546 4.632.546.376 0 .75 0 1.125-.01 1.57-.044 3.224-.124 4.768-.422.038-.008.077-.015.11-.024 2.435-.464 4.753-1.92 4.989-5.604.008-.145.03-1.52.03-1.67.002-.512.167-3.63-.024-5.545zm-3.748 9.195h-2.561V8.29c0-1.309-.55-1.976-1.67-1.976-1.23 0-1.846.79-1.846 2.35v3.403h-2.546V8.663c0-1.56-.617-2.35-1.848-2.35-1.112 0-1.668.668-1.67 1.977v6.218H4.822V8.102c0-1.31.337-2.35 1.011-3.12.696-.77 1.608-1.164 2.74-1.164 1.311 0 2.302.5 2.962 1.498l.638 1.06.638-1.06c.66-.999 1.65-1.498 2.96-1.498 1.13 0 2.043.395 2.74 1.164.675.77 1.012 1.81 1.012 3.12z"></path></svg><span class="sr-only">Share on Mastodon</span></a><a href="https://reddit.com/submit?url=https%3A//utilitybend.com/blog/5-years-of-blogging-on-utilitybend/&amp;title=5 years of blogging on utilitybend!" target="_blank" class="reddit" rel="noreferrer"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M14.238 15.348c.085.084.085.221 0 .306-.465.462-1.194.687-2.231.687l-.008-.002-.008.002c-1.036 0-1.766-.225-2.231-.688-.085-.084-.085-.221 0-.305.084-.084.222-.084.307 0 .379.377 1.008.561 1.924.561l.008.002.008-.002c.915 0 1.544-.184 1.924-.561.085-.084.223-.084.307 0zm-3.44-2.418c0-.507-.414-.919-.922-.919-.509 0-.923.412-.923.919 0 .506.414.918.923.918.508.001.922-.411.922-.918zm13.202-.93c0 6.627-5.373 12-12 12s-12-5.373-12-12 5.373-12 12-12 12 5.373 12 12zm-5-.129c0-.851-.695-1.543-1.55-1.543-.417 0-.795.167-1.074.435-1.056-.695-2.485-1.137-4.066-1.194l.865-2.724 2.343.549-.003.034c0 .696.569 1.262 1.268 1.262.699 0 1.267-.566 1.267-1.262s-.568-1.262-1.267-1.262c-.537 0-.994.335-1.179.804l-2.525-.592c-.11-.027-.223.037-.257.145l-.965 3.038c-1.656.02-3.155.466-4.258 1.181-.277-.255-.644-.415-1.05-.415-.854.001-1.549.693-1.549 1.544 0 .566.311 1.056.768 1.325-.03.164-.05.331-.05.5 0 2.281 2.805 4.137 6.253 4.137s6.253-1.856 6.253-4.137c0-.16-.017-.317-.044-.472.486-.261.82-.766.82-1.353zm-4.872.141c-.509 0-.922.412-.922.919 0 .506.414.918.922.918s.922-.412.922-.918c0-.507-.413-.919-.922-.919z"></path></svg><span class="sr-only">Share on Reddit</span></a></div>
107<a href="/rss.xml" class="btn btn-rss" target="_blank"><span>Add to rss feed<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" width="24" height="24" stroke="currentColor" stroke-width="2" aria-hidden="true"><path stroke-linecap="round" stroke-linejoin="round" d="M6 5c7.18 0 13 5.82 13 13M6 11a7 7 0 017 7m-6 0a1 1 0 11-2 0 1 1 0 012 0z"></path></svg></span></a></div><div class="buy-coffee">
107<script type="text/javascript" src="https://storage.ko-fi.com/cdn/widget/Widget_2.js"></script>
107<script type="text/javascript">kofiwidget2.init('Buy me a coffee', '#de35d2', 'H2H2ZNUST');kofiwidget2.draw();</script>
107</div></div></div></aside></div>
107<script type="module" src="/_astro/ArticleLayout.astro_astro_type_script_index_0_lang.D3IXGlBq.js"></script>
107</div><footer class="footer-primary" itemscope="" itemtype="https://schema.org/Organization"><div class="wrapper"><div class="social-icons"><p><strong>©2026&nbsp;<span itemprop="name"><a href="https://utilitybend.com/" class="footer-home-link u-url" rel="home" itemprop="url">utilitybend</a></span></strong><span class="footer-separator"> -</span><span class="footer-rights">All rights reserved</span></p><meta itemprop="logo" content="https://utilitybend.com/assets/share-defaults/utilitybend-logo.png"><meta itemprop="url" content="https://utilitybend.com/"><a href="https://bsky.app/profile/utilitybend.com" target="_blank" class="bluesky u-url" rel="noreferrer" itemprop="sameAs"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 600 530"><path fill="currentColor" d="M135.72 44.03C202.216 93.951 273.74 195.17 300 249.49c26.262-54.316 97.782-155.54 164.28-205.46C512.26 8.009 590-19.862 590 68.825c0 17.712-10.155 148.79-16.111 170.07-20.703 73.984-96.144 92.854-163.25 81.433 117.3 19.964 147.14 86.092 82.697 152.22-122.39 125.59-175.91-31.511-189.63-71.766-2.514-7.38-3.69-10.832-3.708-7.896-.017-2.936-1.193.516-3.707 7.896-13.714 40.255-67.233 197.36-189.63 71.766-64.444-66.128-34.605-132.26 82.697-152.22-67.108 11.421-142.55-7.45-163.25-81.433C20.15 217.613 9.997 86.535 9.997 68.825c0-88.687 77.742-60.816 125.72-24.795z"></path></svg><span class="sr-only">Follow me on Bluesky</span></a><a href="https://front-end.social/@utilitybend" target="_blank" class="mastodon u-url" rel="noreferrer" itemprop="sameAs"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 27 27" aria-hidden="true"><path fill="currentColor" d="M15.938 4.031c-3.021.013-6.02.396-7.58 1.115 0 0-3.358 1.529-3.358 6.735 0 6.197-.005 13.98 5.563 15.484 2.131.573 3.965.697 5.439.612 2.675-.151 3.998-.971 3.998-.971l-.09-1.977s-1.734.611-3.88.541c-2.128-.075-4.369-.234-4.718-2.89a5.64 5.64 0 0 1-.046-.746c4.507 1.119 8.35.487 9.408.359 2.954-.359 5.525-2.211 5.853-3.904.514-2.668.471-6.508.471-6.508 0-5.206-3.352-6.735-3.352-6.735-1.645-.768-4.688-1.127-7.709-1.115zm-3.233 3.971c1.035.028 2.058.49 2.688 1.469l.609 1.035.607-1.035c1.265-1.967 4.1-1.845 5.45-.323 1.244 1.448.966 2.383.966 8.852v.002h-2.447v-5.629c0-2.635-3.36-2.737-3.36.365V16h-2.43v-3.262c0-3.102-3.358-3.002-3.358-.367V18H8.977c0-6.474-.273-7.415.966-8.852.68-.766 1.727-1.174 2.762-1.146z"></path></svg><span class="sr-only">Follow me on Mastodon</span></a><!--<a--><!--    href="https://twitter.com/utilitybend"--><!--    target="_blank"--><!--    class="twitter u-url"--><!--    rel="noreferrer"--><!--    itemprop="sameAs"--><!--&gt;--><!--    <svg--><!--        xmlns="http://www.w3.org/2000/svg"--><!--        xmlns:xlink="http://www.w3.org/1999/xlink"--><!--        version="1.1"--><!--        width="24"--><!--        height="24"-->
107<!--        viewBox="0 0 24 24"--><!--        xml:space="preserve"--><!--        fill="currentColor"--><!--        ><path--><!--            d="M14.095479,10.316482L22.286354,1h-1.940718l-7.115352,8.087682L7.551414,1H1l8.589488,12.231093L1,23h1.940717  l7.509372-8.542861L16.448587,23H23L14.095479,10.316482z M11.436522,13.338465l-0.871624-1.218704l-6.924311-9.68815h2.981339  l5.58978,7.82155l0.867949,1.218704l7.26506,10.166271h-2.981339L11.436522,13.338465z"--><!--        ></path></svg--><!--    >--><!--    <span class="sr-only">Follow me on X (Twitter)</span>--><!--</a>--><a href="https://www.linkedin.com/in/utilitybend/" target="_blank" class="linkedin" rel="noreferrer" itemprop="sameAs"><svg viewBox="0 0 24 24" width="24" height="24" fill="currentColor" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 01-2.063-2.065 2.064 2.064 0 112.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"></path></svg><span class="sr-only">Follow me on LinkedIn</span></a><a href="https://codepen.io/utilitybend/" target="_blank" class="codepen" rel="noreferrer" itemprop="sameAs"><svg viewBox="0 0 24 24" width="24" height="24" fill="currentColor" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><path d="M18.144 13.067v-2.134L16.55 12zm1.276 1.194a.628.628 0 01-.006.083l-.005.028-.011.053-.01.031a.443.443 0 01-.017.047l-.014.03a.78.78 0 01-.021.043l-.019.03a.57.57 0 01-.08.1l-.026.025a.602.602 0 01-.036.03l-.029.022-.01.008-6.782 4.522a.637.637 0 01-.708 0L4.864 14.79l-.01-.008a.599.599 0 01-.065-.052l-.026-.025-.032-.034-.021-.028a.588.588 0 01-.067-.11l-.014-.031a.644.644 0 01-.017-.047l-.01-.03c-.004-.018-.008-.036-.01-.054l-.006-.028a.628.628 0 01-.006-.083V9.739a.58.58 0 01.006-.083l.005-.027.011-.054.01-.03a.574.574 0 01.12-.217l.031-.034.026-.025a.62.62 0 01.065-.052l.01-.008 6.782-4.521a.638.638 0 01.708 0l6.782 4.521.01.008.03.022.035.03c.01.008.017.016.026.025a.545.545 0 01.08.1l.019.03a.633.633 0 01.021.043l.014.03c.007.016.012.032.017.047l.01.031c.004.018.008.036.01.054l.006.027a.619.619 0 01.006.083zM12 0C5.373 0 0 5.372 0 12c0 6.627 5.373 12 12 12 6.628 0 12-5.372 12-12 0-6.627-5.372-12-12-12m0 10.492L9.745 12 12 13.51 14.255 12zm.638 4.124v2.975l4.996-3.33-2.232-1.493zm-6.272-.356l4.996 3.33v-2.974l-2.764-1.849zm11.268-4.52l-4.996-3.33v2.974l2.764 1.85zm-6.272-.356V6.41L6.366 9.74l2.232 1.493zm-5.506 1.549v2.134L7.45 12z"></path></svg><span class="sr-only">Follow me on Codepen</span></a><a href="https://open.spotify.com/user/1142342505" target="_blank" class="spotify" rel="noreferrer" itemprop="sameAs"><svg role="img" width="24" height="24" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" fill="currentColor" aria-hidden="true"><title>Spotify</title><path d="M12 0C5.4 0 0 5.4 0 12s5.4 12 12 12 12-5.4 12-12S18.66 0 12 0zm5.521 17.34c-.24.359-.66.48-1.021.24-2.82-1.74-6.36-2.101-10.561-1.141-.418.122-.779-.179-.899-.539-.12-.421.18-.78.54-.9 4.56-1.021 8.52-.6 11.64 1.32.42.18.479.659.301 1.02zm1.44-3.3c-.301.42-.841.6-1.262.3-3.239-1.98-8.159-2.58-11.939-1.38-.479.12-1.02-.12-1.14-.6-.12-.48.12-1.021.6-1.141C9.6 9.9 15 10.561 18.72 12.84c.361.181.54.78.241 1.2zm.12-3.36C15.24 8.4 8.82 8.16 5.16 9.301c-.6.179-1.2-.181-1.38-.721-.18-.601.18-1.2.72-1.381 4.26-1.26 11.28-1.02 15.721 1.621.539.3.719 1.02.419 1.56-.299.421-1.02.599-1.559.3z"></path></svg><span class="sr-only">Follow me on Spotify</span></a><a href="https://sessionize.com/brecht-de-ruyte/" target="_blank" class="sessionize" rel="noreferrer" itemprop="sameAs"><svg viewBox="0 0 24 24" width="24" height="24" fill="currentColor" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><path d="M12 0c6.628 0 12 5.372 12 12v10c0 1.097-.903 2-2 2h-7.5l-.001-.169c-.049-2.894-1.347-4.902-3.709-5.96L24 12l-.32-.109c-2.858-.999-5.251-2.462-7.18-4.391-1.928-1.928-3.392-4.322-4.391-7.181L12 0 4 18c0 .667.167 1.167.5 1.5.334.334.834.5 1.5.5l.187.001c3.771.04 5.313 1.295 5.313 3.999H2c-1.097 0-2-.903-2-2V2C0 .903.903 0 2 0h10Zm7.207 4.793c-.781-.781-1.73-1.097-2.121-.707-.39.39-.074 1.34.707 2.121.781.781 1.731 1.098 2.121.707.391-.39.074-1.34-.707-2.121Z"></path></svg><span class="sr-only">View my speaker profile on Sessionize</span></a><a href="/rss.xml" target="_blank" class="rss"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" width="24" height="24" stroke="currentColor" stroke-width="2" aria-hidden="true"><path stroke-linecap="round" stroke-linejoin="round" d="M6 5c7.18 0 13 5.82 13 13M6 11a7 7 0 017 7m-6 0a1 1 0 11-2 0 1 1 0 012 0z"></path></svg><span class="sr-only">Add to your RSS feed</span></a></div><nav class="footer-nav"><button type="button" class="btn btn-link" id="open-preferences">Preferences</button></nav></div></footer>
107<script type="module" src="/_astro/Layout.astro_astro_type_script_index_0_lang.BRqg2awi.js"></script>
107</body></html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.