PageSourceSearch

https://darekkay.com/blog/

html darekkay.com collected 2026-10-02 02:52:32 UTC 63,435 bytes, 27 lines download raw bytes

1<!doctype html><html lang="en" data-theme="default"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>My blog articles</title><link rel="preload" href="/assets/fonts/nunito-v32-latin_latin-ext-regular.woff2" as="font" type="font/woff2" crossorigin><link rel="stylesheet" href="/assets/styles.css?ver=b956fbc2"><link rel="shortcut icon" href="https://darekkay.com/favicon.ico"><meta name="description" content="Darek Kay is a professional front-end developer and an accessibility advocate."><link rel="canonical" href="https://darekkay.com/blog/"><meta property="og:site_name" content="Darek Kay"><meta property="og:title" content="My blog articles"><meta property="og:url" content="https://darekkay.com/blog/"><meta property="og:description" content="Darek Kay is a professional front-end developer and an accessibility advocate."><meta property="og:locale" content="en"><meta property="og:type" content="website"><meta property="og:image" content="https://darekkay.com/social-cover.png"><meta property="og:image:alt" content="My blog articles by Darek Kay"><meta property="fediverse:creator" content="@[email protected]"><meta name="generator" content="Eleventy v3.1.0"><link rel="webmention" href="https://webmention.io/darekkay.com/webmention"><link rel="pingback" href="https://webmention.io/darekkay.com/xmlrpc"><link rel="authorization_endpoint" href="https://indieauth.com/auth"><link rel="openid.delegate" href="https://darekkay.com/"><link rel="openid.server" href="https://openid.indieauth.com/openid"><link type="application/atom+xml" rel="alternate" href="https://darekkay.com/atom.xml" title="Darek Kay"><link type="application/feed+json" rel="alternate" href="https://darekkay.com/feed.json" title="Darek Kay"><link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="Darek Kay">
1<script type="application/ld+json">{
2    "@context": "http://schema.org",
3    "@type": "Blog",
4    "@id": "https://darekkay.com/blog/",
5    "mainEntityOfPage": {
6      "@type": "WebPage",
7      "@id": "https://darekkay.com/blog/"
8    },
9    "url": "https://darekkay.com/blog/",
10    "headline": "My blog articles",
11    "description": "Darek Kay is a professional front-end developer and an accessibility advocate.",
12    "image": {
13      "@type": "ImageObject",
14      "url": "https://darekkay.com/social-cover.png"
15    },
16
17    "author": {
18      "@type": "Person",
19      "name": "Darek Kay",
20      "image": {
21        "@type": "ImageObject",
22        "url": "https://darekkay.com/assets/images/avatar-2x.jpg"
23      },
24      "url": "https://darekkay.com/",
25      "sameAs": ["https://github.com/darekkay", "https://fosstodon.org/@darekkay"]
26    }
27  }</script>
27<script>document.documentElement.dataset.theme=localStorage.getItem("theme")||(window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"default")</script>
27</head><body><header class="inverted relative mb-4 py-5 overflow-hidden"><div class="w-full flex flex-col md:flex-row items-center justify-between" style="max-width:935px"><a href="/" class="flex items-center text-default hover:no-underline focus:no-underline"><picture class="inline-flex"><img height="75" width="75" srcset="/assets/images/avatar.webp, /assets/images/avatar-2x.webp 2x" src="/assets/images/avatar.webp" alt="Darek Kay's picture" class="rounded-full"></picture><div class="ml-6 mr-2 md:text-left"><div class="text-5 font-bold" translate="no">Darek Kay</div><div class="text-3">Solving web mysteries</div></div></a><nav class="flex flex-wrap items-center justify-center py-5 gap-6"><a href="/" class="text-5 font-bold">Home</a> <a href="/blog/" class="text-5 font-bold">Blog</a> <a href="/projects/" class="text-5 font-bold">Projects</a> <a href="https://photos.dariuszwinkler.com/" class="text-5 font-bold">Photos</a><div class="dk-theme-picker"></div></nav></div><button class="cow absolute block bg-transparent border-0 p-0 cursor-pointer print-hidden" type="button"><span class="relative block"><img srcset="/assets/images/cow.webp, /assets/images/cow-2x.webp 2x" src="/assets/images/cow.webp" alt="Cow Easter Egg" height="100" width="100"> <span class="cow-tooltip invisible opacity-0 block absolute p-4 text-3 rounded" aria-live="polite"></span></span></button></header><main class="layout-content pb-7"><article><h1 class="text-center">My blog articles</h1><p class="space-y-4 text-center"><a href="/tags/11ty/" class="relative inline-flex items-center rounded-full border ml-1 px-3 hover:no-underline focus:no-underline whitespace-nowrap text-default hover:text-inverted-default hover:bg-inverted hover:border-transparent focus:text-inverted-default focus:bg-inverted focus:border-transparent"><span class="absolute flex-shrink-0 flex items-center justify-center"><span class="h-2 w-2 ml-1 rounded-full bg-tomorrow-orange" aria-hidden="true"></span> </span><span class="ml-5 text-2 font-bold" translate="no">11ty</span></a> <a href="/tags/accessibility/" class="relative inline-flex items-center rounded-full border ml-1 px-3 hover:no-underline focus:no-underline whitespace-nowrap text-default hover:text-inverted-default hover:bg-inverted hover:border-transparent focus:text-inverted-default focus:bg-inverted focus:border-transparent"><span class="absolute flex-shrink-0 flex items-center justify-center"><span class="h-2 w-2 ml-1 rounded-full bg-tomorrow-orange" aria-hidden="true"></span> </span><span class="ml-5 text-2 font-bold" translate="no">accessibility</span></a> <a href="/tags/backup/" class="relative inline-flex items-center rounded-full border ml-1 px-3 hover:no-underline focus:no-underline whitespace-nowrap text-default hover:text-inverted-default hover:bg-inverted hover:border-transparent focus:text-inverted-default focus:bg-inverted focus:border-transparent"><span class="absolute flex-shrink-0 flex items-center justify-center"><span class="h-2 w-2 ml-1 rounded-full bg-tomorrow-orange" aria-hidden="true"></span> </span><span class="ml-5 text-2 font-bold" translate="no">backup</span></a> <a href="/tags/blog/" class="relative inline-flex items-center rounded-full border ml-1 px-3 hover:no-underline focus:no-underline whitespace-nowrap text-default hover:text-inverted-default hover:bg-inverted hover:border-transparent focus:text-inverted-default focus:bg-inverted focus:border-transparent"><span class="absolute flex-shrink-0 flex items-center justify-center"><span class="h-2 w-2 ml-1 rounded-full bg-tomorrow-orange" aria-hidden="true"></span> </span><span class="ml-5 text-2 font-bold" translate="no">blog</span></a> <a href="/tags/clean-code/" class="relative inline-flex items-center rounded-full border ml-1 px-3 hover:no-underline focus:no-underline whitespace-nowrap text-default hover:text-inverted-default hover:bg-inverted hover:border-transparent focus:text-inverted-default focus:bg-inverted focus:border-transparent"><span class="absolute flex-shrink-0 flex items-center justify-center"><span class="h-2 w-2 ml-1 rounded-full bg-tomorrow-orange" aria-hidden="true"></span> </span><span class="ml-5 text-2 font-bold" translate="no">clean-code</span></a> <a href="/tags/css/" class="relative inline-flex items-center rounded-full border ml-1 px-3 hover:no-underline focus:no-underline whitespace-nowrap text-default hover:text-inverted-default hover:bg-inverted hover:border-transparent focus:text-inverted-default focus:bg-inverted focus:border-transparent"><span class="absolute flex-shrink-0 flex items-center justify-center"><span class="h-2 w-2 ml-1 rounded-full bg-tomorrow-orange" aria-hidden="true"></span> </span><span class="ml-5 text-2 font-bold" translate="no">css</span></a> <a href="/tags/debugging/" class="relative inline-flex items-center rounded-full border ml-1 px-3 hover:no-underline focus:no-underline whitespace-nowrap text-default hover:text-inverted-default hover:bg-inverted hover:border-transparent focus:text-inverted-default focus:bg-inverted focus:border-transparent"><span class="absolute flex-shrink-0 flex items-center justify-center"><span class="h-2 w-2 ml-1 rounded-full bg-tomorrow-orange" aria-hidden="true"></span> </span><span class="ml-5 text-2 font-bold" translate="no">debugging</span></a> <a href="/tags/devops/" class="relative inline-flex items-center rounded-full border ml-1 px-3 hover:no-underline focus:no-underline whitespace-nowrap text-default hover:text-inverted-default hover:bg-inverted hover:border-transparent focus:text-inverted-default focus:bg-inverted focus:border-transparent"><span class="absolute flex-shrink-0 flex items-center justify-center"><span class="h-2 w-2 ml-1 rounded-full bg-tomorrow-orange" aria-hidden="true"></span> </span><span class="ml-5 text-2 font-bold" translate="no">devops</span></a> <a href="/tags/git/" class="relative inline-flex items-center rounded-full border ml-1 px-3 hover:no-underline focus:no-underline whitespace-nowrap text-default hover:text-inverted-default hover:bg-inverted hover:border-transparent focus:text-inverted-default focus:bg-inverted focus:border-transparent"><span class="absolute flex-shrink-0 flex items-center justify-center"><span class="h-2 w-2 ml-1 rounded-full bg-tomorrow-orange" aria-hidden="true"></span> </span><span class="ml-5 text-2 font-bold" translate="no">git</span></a> <a href="/tags/intellij-idea/" class="relative inline-flex items-center rounded-full border ml-1 px-3 hover:no-underline focus:no-underline whitespace-nowrap text-default hover:text-inverted-default hover:bg-inverted hover:border-transparent focus:text-inverted-default focus:bg-inverted focus:border-transparent"><span class="absolute flex-shrink-0 flex items-center justify-center"><span class="h-2 w-2 ml-1 rounded-full bg-tomorrow-orange" aria-hidden="true"></span> </span><span class="ml-5 text-2 font-bold" translate="no">intellij-idea</span></a> <a href="/tags/javascript/" class="relative inline-flex items-center rounded-full border ml-1 px-3 hover:no-underline focus:no-underline whitespace-nowrap text-default hover:text-inverted-default hover:bg-inverted hover:border-transparent focus:text-inverted-default focus:bg-inverted focus:border-transparent"><span class="absolute flex-shrink-0 flex items-center justify-center"><span class="h-2 w-2 ml-1 rounded-full bg-tomorrow-orange" aria-hidden="true"></span> </span><span class="ml-5 text-2 font-bold" translate="no">javascript</span></a> <a href="/tags/photography/" class="relative inline-flex items-center rounded-full border ml-1 px-3 hover:no-underline focus:no-underline whitespace-nowrap text-default hover:text-inverted-default hover:bg-inverted hover:border-transparent focus:text-inverted-default focus:bg-inverted focus:border-transparent"><span class="absolute flex-shrink-0 flex items-center justify-center"><span class="h-2 w-2 ml-1 rounded-full bg-tomorrow-orange" aria-hidden="true"></span> </span><span class="ml-5 text-2 font-bold" translate="no">photography</span></a> <a href="/tags/productivity/" class="relative inline-flex items-center rounded-full border ml-1 px-3 hover:no-underline focus:no-underline whitespace-nowrap text-default hover:text-inverted-default hover:bg-inverted hover:border-transparent focus:text-inverted-default focus:bg-inverted focus:border-transparent"><span class="absolute flex-shrink-0 flex items-center justify-center"><span class="h-2 w-2 ml-1 rounded-full bg-tomorrow-orange" aria-hidden="true"></span> </span><span class="ml-5 text-2 font-bold" translate="no">productivity</span></a> <a href="/tags/project/" class="relative inline-flex items-center rounded-full border ml-1 px-3 hover:no-underline focus:no-underline whitespace-nowrap text-default hover:text-inverted-default hover:bg-inverted hover:border-transparent focus:text-inverted-default focus:bg-inverted focus:border-transparent"><span class="absolute flex-shrink-0 flex items-center justify-center"><span class="h-2 w-2 ml-1 rounded-full bg-tomorrow-orange" aria-hidden="true"></span> </span><span class="ml-5 text-2 font-bold" translate="no">project</span></a> <a href="/tags/react/" class="relative inline-flex items-center rounded-full border ml-1 px-3 hover:no-underline focus:no-underline whitespace-nowrap text-default hover:text-inverted-default hover:bg-inverted hover:border-transparent focus:text-inverted-default focus:bg-inverted focus:border-transparent"><span class="absolute flex-shrink-0 flex items-center justify-center"><span class="h-2 w-2 ml-1 rounded-full bg-tomorrow-orange" aria-hidden="true"></span> </span><span class="ml-5 text-2 font-bold" translate="no">react</span></a> <a href="/tags/rss/" class="relative inline-flex items-center rounded-full border ml-1 px-3 hover:no-underline focus:no-underline whitespace-nowrap text-default hover:text-inverted-default hover:bg-inverted hover:border-transparent focus:text-inverted-default focus:bg-inverted focus:border-transparent"><span class="absolute flex-shrink-0 flex items-center justify-center"><span class="h-2 w-2 ml-1 rounded-full bg-tomorrow-orange" aria-hidden="true"></span> </span><span class="ml-5 text-2 font-bold" translate="no">rss</span></a> <a href="/tags/skydiving/" class="relative inline-flex items-center rounded-full border ml-1 px-3 hover:no-underline focus:no-underline whitespace-nowrap text-default hover:text-inverted-default hover:bg-inverted hover:border-transparent focus:text-inverted-default focus:bg-inverted focus:border-transparent"><span class="absolute flex-shrink-0 flex items-center justify-center"><span class="h-2 w-2 ml-1 rounded-full bg-tomorrow-orange" aria-hidden="true"></span> </span><span class="ml-5 text-2 font-bold" translate="no">
27skydiving</span></a> <a href="/tags/theme/" class="relative inline-flex items-center rounded-full border ml-1 px-3 hover:no-underline focus:no-underline whitespace-nowrap text-default hover:text-inverted-default hover:bg-inverted hover:border-transparent focus:text-inverted-default focus:bg-inverted focus:border-transparent"><span class="absolute flex-shrink-0 flex items-center justify-center"><span class="h-2 w-2 ml-1 rounded-full bg-tomorrow-orange" aria-hidden="true"></span> </span><span class="ml-5 text-2 font-bold" translate="no">theme</span></a> <a href="/tags/travel/" class="relative inline-flex items-center rounded-full border ml-1 px-3 hover:no-underline focus:no-underline whitespace-nowrap text-default hover:text-inverted-default hover:bg-inverted hover:border-transparent focus:text-inverted-default focus:bg-inverted focus:border-transparent"><span class="absolute flex-shrink-0 flex items-center justify-center"><span class="h-2 w-2 ml-1 rounded-full bg-tomorrow-orange" aria-hidden="true"></span> </span><span class="ml-5 text-2 font-bold" translate="no">travel</span></a> <a href="/tags/vscode/" class="relative inline-flex items-center rounded-full border ml-1 px-3 hover:no-underline focus:no-underline whitespace-nowrap text-default hover:text-inverted-default hover:bg-inverted hover:border-transparent focus:text-inverted-default focus:bg-inverted focus:border-transparent"><span class="absolute flex-shrink-0 flex items-center justify-center"><span class="h-2 w-2 ml-1 rounded-full bg-tomorrow-orange" aria-hidden="true"></span> </span><span class="ml-5 text-2 font-bold" translate="no">vscode</span></a></p><hr><ul class="ml-0"><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/sabbatical-18-great-ocean-road/" class="mr-auto font-bold">Sabbatical #18: Great Ocean Road</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">14 Jul 2026</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/sabbatical-17-melbourne/" class="mr-auto font-bold">Sabbatical #17: Melbourne</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">09 Jun 2026</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/sabbatical-16-kaikoura/" class="mr-auto font-bold">Sabbatical #16: Kaikōura</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">03 Jun 2026</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/sabbatical-15-tasman-marlborough/" class="mr-auto font-bold">Sabbatical #15: Tasman-Marlborough</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">27 May 2026</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/sabbatical-14-west-coast/" class="mr-auto font-bold">Sabbatical #14: West Coast</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">22 May 2026</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/sabbatical-13-wanaka/" class="mr-auto font-bold">Sabbatical #13: Wānaka</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">18 May 2026</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/sabbatical-12-milford-sound/" class="mr-auto font-bold">Sabbatical #12: Milford Sound</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">28 Apr 2026</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/sabbatical-11-queenstown/" class="mr-auto font-bold">Sabbatical #11: Queenstown</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">23 Apr 2026</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/sabbatical-10-mackenzie-basin/" class="mr-auto font-bold">Sabbatical #10: Mackenzie Basin</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">10 Apr 2026</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/sabbatical-09-dunedin/" class="mr-auto font-bold">Sabbatical #09: Dunedin</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">07 Apr 2026</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/sabbatical-08-christchurch/" class="mr-auto font-bold">Sabbatical #08: Christchurch</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">30 Mar 2026</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/sabbatical-07-waitomo/" class="mr-auto font-bold">Sabbatical #07: Waitomo</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">12 Mar 2026</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/sabbatical-06-tongariro-national-park/" class="mr-auto font-bold">Sabbatical #06: Tongariro National Park</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">10 Mar 2026</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/sabbatical-05-rotorua-lakes/" class="mr-auto font-bold">Sabbatical #05: Rotorua Lakes</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">03 Mar 2026</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/sabbatical-04-coromandel-peninsula/" class="mr-auto font-bold">Sabbatical #04: Coromandel Peninsula</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">18 Feb 2026</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/sabbatical-03-auckland/" class="mr-auto font-bold">Sabbatical #03: Auckland</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">15 Feb 2026</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/sabbatical-02-doha/" class="mr-auto font-bold">Sabbatical #02: Doha</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">09 Feb 2026</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/sabbatical-01-intro/" class="mr-auto font-bold">Sabbatical #01: Getting ready</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">29 Jan 2026</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/bookmarklet-copy-browser-tab/" class="mr-auto font-bold">Grab browser links and titles in one click</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">03 Jan 2025</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/open-graph-image-formats/" class="mr-auto font-bold">Open Graph images: Format compatibility across platforms</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">17 Nov 2024</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/bookmarklets/" class="mr-auto font-bold">A guide to bookmarklets</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">04 Nov 2024</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/preserve-form-values/" class="mr-auto font-bold">Prevent data loss on page refresh</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">01 Oct 2024</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/web-push-notifications-issues/" class="mr-auto font-bold">Web push notifications: issues and limitations</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">17 Aug 2024</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/ublock-website-themes/" class="mr-auto font-bold">Website themes with uBlock Origin</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">01 Feb 2024</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/video-subtitles-closed-captions-audio-descriptions-transcripts/" class="mr-auto font-bold">Video subtitles, captions, audio descriptions and transcripts</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">11 Dec 2023</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/photography-website/" class="mr-auto font-bold">Building a photography website</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">25 Oct 2023</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/eleventy-delay-middleware/" class="mr-auto font-bold">Delaying asset requests in Eleventy</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">29 Sep 2023</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/personal-one-pager/" class="mr-auto font-bold">My personal one-pager</a></div><div class="post-list-date text-3 te
27xt-offset font-mono tracking-tighter">03 Jul 2023</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/rss-styling/" class="mr-auto font-bold">Style your RSS feed</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">20 Jun 2023</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/eleventy-browsersync-issue/" class="mr-auto font-bold">Fixing long start-up times of the Eleventy dev server</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">22 Dec 2022</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/react-18-enzyme/" class="mr-auto font-bold">Handling Enzyme in React 18</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">26 Mar 2022</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/storybook-separate-folder/" class="mr-auto font-bold">Running Storybook from a separate folder</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">29 Dec 2021</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/firefox-dark-mode/" class="mr-auto font-bold">Separate Firefox dark UI theme from website dark mode</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">07 Dec 2021</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/npm-yarn-dependency-resolution/" class="mr-auto font-bold">Npm vs. Yarn: Dependency resolution</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">20 Oct 2021</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/countercheck-unit-tests/" class="mr-auto font-bold">Countercheck unit tests</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">17 Oct 2021</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/git-commit-ranges/" class="mr-auto font-bold">Git explained: Commit ranges</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">06 Jul 2021</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/create-react-app-to-vite/" class="mr-auto font-bold">Migrating a Create React App project to Vite</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">15 Jun 2021</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/resize-album-art-images/" class="mr-auto font-bold">Create uniform album art images with ImageMagick</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">30 May 2021</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/github-developer-stats/" class="mr-auto font-bold">GitHub developer statistics</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">25 May 2021</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/javascript-type-comments/" class="mr-auto font-bold">Import TypeScript types in JavaScript projects</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">17 May 2021</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/evaluatory-personal-sites/" class="mr-auto font-bold">I&#39;ve analyzed the accessibility of over 1600 personal sites</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">04 May 2021</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/avif-images/" class="mr-auto font-bold">Web developer&#39;s guide to AVIF images</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">12 Apr 2021</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/foobar2000-playlist-index-format/" class="mr-auto font-bold">Reverse-engineering the Foobar2000 index file format</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">31 Mar 2021</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/jira-ticket-workflows/" class="mr-auto font-bold">Workflows for opening issue tracker pages</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">16 Mar 2021</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/debugging-dynamic-content/" class="mr-auto font-bold">Debugging dynamic content in browser dev tools</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">11 Mar 2021</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/rss-subscriber-count/" class="mr-auto font-bold">Estimating the number of your RSS subscribers</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">22 Feb 2021</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/intellij-debugger-cheatsheet/" class="mr-auto font-bold">IntelliJ IDEA debugger cheatsheet</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">17 Feb 2021</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/overflow-hidden-focus/" class="mr-auto font-bold">Focusing partially hidden elements in CSS</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">03 Feb 2021</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/eleventy-group-posts-by-year/" class="mr-auto font-bold">Group posts by year in Eleventy</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">31 Jan 2021</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/create-react-app-eslint/" class="mr-auto font-bold">Using a custom ESLint version in Create React App</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">23 Jan 2021</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/hexo-to-eleventy/" class="mr-auto font-bold">Moving from Hexo to Eleventy</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">17 Jan 2021</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/copy-shell-commands/" class="mr-auto font-bold">Using CSS to improve CLI documentation</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">10 Dec 2020</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/editor-copy-cut-line/" class="mr-auto font-bold">Cut/Copy the whole line in your editor</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">09 Nov 2020</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/windows-lf-line-endings/" class="mr-auto font-bold">Using LF line endings on Windows</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">25 Oct 2020</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/accessible-color-palette/" class="mr-auto font-bold">Designing an accessible color palette with magic numbers</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">27 Sep 2020</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/github-profile-readme/" class="mr-auto font-bold">Creating a custom GitHub profile page</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">19 Jul 2020</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/intellij-local-history/" class="mr-auto font-bold">Local history in IntelliJ IDEA</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">05 Jul 2020</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/firefox-context-menu/" class="mr-auto font-bold">
27Bypass a blocked context menu in Firefox</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">16 Jun 2020</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/gitlab-ci-monorepo-config/" class="mr-auto font-bold">GitLab CI monorepo setup</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">10 Apr 2020</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/git-rewriting-history/" class="mr-auto font-bold">Git explained: Rewriting history</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">19 Mar 2020</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/accessible-focus-indicator/" class="mr-auto font-bold">Implementing an accessible focus indicator</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">12 Feb 2020</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/parachute-emoji/" class="mr-auto font-bold">Would you survive a skydive with an emoji parachute?</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">03 Jan 2020</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/accessible-ui-frameworks/" class="mr-auto font-bold">The state of accessible web UI frameworks</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">24 Mar 2019</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/skydiving-memoirs/" class="mr-auto font-bold">Skydiving memoirs</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">04 Nov 2018</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/todoist-tips/" class="mr-auto font-bold">Advanced Todoist tips &amp; tricks</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">04 Oct 2018</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/tomorrow-night-theme-intellij/" class="mr-auto font-bold">Tomorrow Evening theme for IntelliJ IDEA</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">29 May 2018</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/webstorm-convert-to-arrow-function/" class="mr-auto font-bold">Convert to arrow function in WebStorm</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">07 May 2018</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/static-site-comments/" class="mr-auto font-bold">Various ways to include comments on your static site</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">11 Jan 2018</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/intellij-idea-settings/" class="mr-auto font-bold">Recommended IntelliJ IDEA settings</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">30 May 2016</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/puzzle-solving-tool-for-geocaching/" class="mr-auto font-bold">Puzzle solving tool for geocaching</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">18 Oct 2015</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/script-crashes-before-10/" class="mr-auto font-bold">Script crashes before 10 am</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">31 May 2015</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/private-ignore-files-for-git-and-mercurial/" class="mr-auto font-bold">Private ignore files for Git and Mercurial</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">02 Apr 2015</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/my-putty-color-scheme/" class="mr-auto font-bold">My Putty color scheme</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">21 Mar 2015</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/todoist-export-tool/" class="mr-auto font-bold">Export tool for Todoist</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">14 Dec 2014</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/monokai-theme-intellij/" class="mr-auto font-bold">Monokai theme for IntelliJ IDEA</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">23 Nov 2014</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/labyrinthz/" class="mr-auto font-bold">Labyrinthz</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">05 Nov 2014</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/solve-redirect-loop-problem-wordpress/" class="mr-auto font-bold">Solve the redirect loop problem in WordPress</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">28 Oct 2014</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/recently-checked-myspace-account/" class="mr-auto font-bold">Have you recently checked your Myspace account?</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">19 Oct 2014</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/another-password-leak-oh-must-tuesday/" class="mr-auto font-bold">Another password leak — oh, it must be Tuesday!</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">14 Sep 2014</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/turn-notepad-into-a-log-file-analyzer/" class="mr-auto font-bold">Turn Notepad++ into a log file analyzer</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">10 Sep 2014</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/what-the-commit-plugin-for-intellij-idea/" class="mr-auto font-bold">What The Commit — Plugin for IntelliJ IDEA</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">25 Aug 2014</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/trakt-tv-backup/" class="mr-auto font-bold">Trakt.tv backup</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">12 Aug 2014</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/intellij-idea-shortcuts-for-eclipse-users/" class="mr-auto font-bold">IntelliJ IDEA shortcuts for Eclipse users</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">27 Feb 2014</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/compiling-sencha-gxt-showcase/" class="mr-auto font-bold">Compiling Sencha GXT showcase</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">11 Oct 2013</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/wordpress-embed-youtube-hd-videos/" class="mr-auto font-bold">Embed YouTube HD videos in WordPress</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">31 Aug 2013</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/hot-air-balloon-jump/" class="mr-auto font-bold">Hot-air balloon jump</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">17 Aug 2013</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start">
27<a href="/blog/empuriabrava-skydiving-course-2013/" class="mr-auto font-bold">Empuriabrava skydiving course 2013</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">27 Mar 2013</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/moomovies/" class="mr-auto font-bold">MooMovies — A personal movie database</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">14 Jan 2013</div></li><li class="post-list grid list-none py-3 pl-1"><span class="post-list-icon h-base"><svg class="icon icon--code-commit h-base shrink-0 mr-3 text-default" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-code-commit"></use></svg></span><div class="post-list-title flex items-start"><a href="/blog/my-first-skydiving-course/" class="mr-auto font-bold">My first skydiving course</a></div><div class="post-list-date text-3 text-offset font-mono tracking-tighter">18 Oct 2012</div></li></ul></article></main><footer class="inverted prose py-7 text-4"><div class="mb-4"><svg class="icon icon--cow mr-3 pb-2 align-middle" role="img" aria-hidden="true"><use xlink:href="/assets/icons/sprite.svg?ver=1f4fa923#icon-cow"></use></svg> I am <span class="font-bold">Darek Kay</span> — a software developer, <a href="/blog/">blogger</a> and <a href="https://photos.dariuszwinkler.com/">hobby photographer</a>.</div><div class="w-full max-w-content flex flex-col md:flex-row justify-between gap-x-3"><div class="py-2">You can reach me via <a href="https://fosstodon.org/@darekkay" class="font-bold">Mastodon</a>, <a href="https://github.com/darekkay" class="font-bold">GitHub</a> or <a href="mailto:[email protected]" class="font-bold">Email</a>.</div><div class="py-2">Subscribe to my <a href="/atom.xml" class="font-bold">RSS Feed</a>.</div></div></footer>
27<script defer="defer" src="/assets/js/index.min.js?ver=220c4423"></script>
27</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.