<!doctype html><html lang="en" ><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta name="theme-color" media="(prefers-color-scheme: light)" content="#f7f7f7"><meta name="theme-color" media="(prefers-color-scheme: dark)" content="#1b1b1e"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"><meta name="viewport" content="width=device-width, user-scalable=no initial-scale=1, shrink-to-fit=no, viewport-fit=cover" ><meta name="generator" content="Jekyll v4.4.1" /><meta property="og:title" content="Ben Dowen" /><meta property="og:locale" content="en" /><meta name="description" content="Ben Dowen, the Full Snack Tester, blogs about Software Testing, Quality and Agile Software Development." /><meta name="twitter:description" property="og:description" content="Ben Dowen, the Full Snack Tester, blogs about Software Testing, Quality and Agile Software Development." /><link rel="canonical" href="https://www.dowen.me.uk/" /><meta property="og:url" content="https://www.dowen.me.uk/" /><meta property="og:site_name" content="Ben Dowen" /><meta property="og:type" content="website" /><link rel="next" href="https://www.dowen.me.uk/page2" /><meta name="twitter:card" content="summary" /><meta name="twitter:title" content="Ben Dowen" /><meta name="twitter:site" content="@FullSnackTester" /> <script type="application/ld+json"> {"@context":"https://schema.org","@type":"WebSite","description":"Ben Dowen, the Full Snack Tester, blogs about Software Testing, Quality and Agile Software Development.","headline":"Ben Dowen","name":"Ben Dowen","sameAs":["https://github.com/dowenb","https://www.linkedin.com/in/dowenb"],"url":"https://www.dowen.me.uk/"}</script><title>Ben Dowen</title><link rel="apple-touch-icon" sizes="180x180" href="/assets/img/favicons/apple-touch-icon.png"><link rel="icon" type="image/png" sizes="32x32" href="/assets/img/favicons/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="/assets/img/favicons/favicon-16x16.png"><link rel="manifest" href="/assets/img/favicons/site.webmanifest"><link rel="shortcut icon" href="/assets/img/favicons/favicon.ico"><meta name="apple-mobile-web-app-title" content="Ben Dowen"><meta name="application-name" content="Ben Dowen"><meta name="msapplication-TileColor" content="#da532c"><meta name="msapplication-config" content="/assets/img/favicons/browserconfig.xml"><meta name="theme-color" content="#ffffff"><link rel="preconnect" href="https://fonts.googleapis.com" ><link rel="dns-prefetch" href="https://fonts.googleapis.com" ><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link rel="dns-prefetch" href="https://fonts.gstatic.com" crossorigin><link rel="preconnect" href="https://fonts.googleapis.com" ><link rel="dns-prefetch" href="https://fonts.googleapis.com" ><link rel="preconnect" href="https://cdn.jsdelivr.net" ><link rel="dns-prefetch" href="https://cdn.jsdelivr.net" ><link rel="preconnect" href="https://cdnjs.cloudflare.com" ><link rel="dns-prefetch" href="https://cdnjs.cloudflare.com" ><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Lato&family=Source+Sans+Pro:wght@400;600;700;900&display=swap"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6.5.1/css/all.min.css"><link rel="stylesheet" href="/assets/css/jekyll-theme-chirpy.css"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/loading-attribute-polyfill@2.1.1/dist/loading-attribute-polyfill.min.css"> <script type="text/javascript"> class ModeToggle { static get MODE_KEY() { return 'mode'; } static get MODE_ATTR() { return 'data-mode'; } static get DARK_MODE() { return 'dark'; } static get LIGHT_MODE() { return 'light'; } static get ID() { return 'mode-toggle'; } constructor() { if (this.hasMode) { if (this.isDarkMode) { if (!this.isSysDarkPrefer) { this.setDark(); } } else { if (this.isSysDarkPrefer) { this.setLight(); } } } let self = this; /* always follow the system prefers */ this.sysDarkPrefers.addEventListener('change', () => { if (self.hasMode) { if (self.isDarkMode) { if (!self.isSysDarkPrefer) { self.setDark(); } } else { if (self.isSysDarkPrefer) { self.setLight(); } } self.clearMode(); } self.notify(); }); } /* constructor() */ get sysDarkPrefers() { return window.matchMedia('(prefers-color-scheme: dark)'); } get isSysDarkPrefer() { return this.sysDarkPrefers.matches; } get isDarkMode() { return this.mode === ModeToggle.DARK_MODE; } get isLightMode() { return this.mode === ModeToggle.LIGHT_MODE; } get hasMode() { return this.mode != null; } get mode() { return sessionStorage.getItem(ModeToggle.MODE_KEY); } /* get the current mode on screen */ get modeStatus() { if (this.isDarkMode || (!this.hasMode && this.isSysDarkPrefer)) { return ModeToggle.DARK_MODE; } else { return ModeToggle.LIGHT_MODE; } } setDark() { document.documentElement.setAttribute(ModeToggle.MODE_ATTR, ModeToggle.DARK_MODE); sessionStorage.setItem(ModeToggle.MODE_KEY, ModeToggle.DARK_MODE); } setLight() { document.documentElement.setAttribute(ModeToggle.MODE_ATTR, ModeToggle.LIGHT_MODE); sessionStorage.setItem(ModeToggle.MODE_KEY, ModeToggle.LIGHT_MODE); } clearMode() { document.documentElement.removeAttribute(ModeToggle.MODE_ATTR); sessionStorage.removeItem(ModeToggle.MODE_KEY); } /* Notify another plugins that the theme mode has changed */ notify() { window.postMessage( { direction: ModeToggle.ID, message: this.modeStatus }, '*' ); } flipMode() { if (this.hasMode) { if (this.isSysDarkPrefer) { if (this.isLightMode) { this.clearMode(); } else { this.setLight(); } } else { if (this.isDarkMode) { this.clearMode(); } else { this.setDark(); } } } else { if (this.isSysDarkPrefer) { this.setLight(); } else { this.setDark(); } } this.notify(); } /* flipMode() */ } /* ModeToggle */ const modeToggle = new ModeToggle(); </script><body><aside aria-label="Sidebar" id="sidebar" class="d-flex flex-column align-items-end"><header class="profile-wrapper"> <a href="/" id="avatar" class="rounded-circle"><img src="/uploads/avatar.png" width="112" height="112" alt="avatar" onerror="this.style.display='none'"></a><h1 class="site-title"> <a href="/">Ben Dowen</a></h1><p class="site-subtitle fst-italic mb-0">Software Adventurer, Quality Explorer, Testing Advocate</p></header><nav class="flex-column flex-grow-1 w-100 ps-0"><ul class="nav"><li class="nav-item active"> <a href="/" class="nav-link"> <i class="fa-fw fas fa-home"></i> <span>HOME</span> </a><li class="nav-item"> <a href="/categories/" class="nav-link"> <i class="fa-fw fas fa-stream"></i> <span>CATEGORIES</span> </a><li class="nav-item"> <a href="/tags/" class="nav-link"> <i class="fa-fw fas fa-tag"></i> <span>TAGS</span> </a><li class="nav-item"> <a href="/archives/" class="nav-link"> <i class="fa-fw fas fa-archive"></i> <span>ARCHIVES</span> </a><li class="nav-item"> <a href="/about/" class="nav-link"> <i class="fa-fw fas fa-info-circle"></i> <span>ABOUT</span> </a><li class="nav-item"> <a href="/appearances/" class="nav-link"> <i class="fa-fw fas fa-microphone"></i> <span>APPEARANCES</span> </a></ul></nav><div class="sidebar-bottom d-flex flex-wrap align-items-center w-100"> <button type="button" class="mode-toggle btn" aria-label="Switch Mode"> <i class="fas fa-adjust"></i> </button> <span class="icon-border"></span> <a href="https://github.com/dowenb" aria-label="github" target="_blank" rel="noopener noreferrer" > <i class="fab fa-github"></i> </a> <a href="https://twitter.com/FullSnackTester" aria-label="twitter" target="_blank" rel="noopener noreferrer" > <i class="fab fa-twitter"></i> </a> <a href="javascript:location.href = 'mailto:' + ['ben','dowen.me.uk'].join('@')" aria-label="email" > <i class="fas fa-envelope"></i> </a> <a href="/feed.xml" aria-label="rss" > <i class="fas fa-rss"></i> </a></div></aside><div id="main-wrapper" class="d-flex justify-content-center"><div class="container d-flex flex-column px-xxl-5"><header id="topbar-wrapper" aria-label="Top Bar"><div id="topbar" class="d-flex align-items-center justify-content-between px-lg-3 h-100" ><nav id="breadcrumb" aria-label="Breadcrumb"> <span>Home</span></nav><button type="button" id="sidebar-trigger" class="btn btn-link"> <i class="fas fa-bars fa-fw"></i> </button><div id="topbar-title"> Ben Dowen</div><button type="button" id="search-trigger" class="btn btn-link"> <i class="fas fa-search fa-fw"></i> </button> <search class="align-items-center ms-3 ms-lg-0"> <i class="fas fa-search fa-fw"></i> <input class="form-control" id="search-input" type="search" aria-label="search" autocomplete="off" placeholder="Search..." > </search> <button type="button" class="btn btn-link text-decoration-none" id="search-cancel">Cancel</button></div></header><div class="row flex-grow-1"><main aria-label="Main Content" class="col-12 col-lg-11 col-xl-9 px-md-4"><div id="post-list" class="flex-grow-1 px-xl-1"><article class="card-wrapper card"> <a href="/posts/5-reasons-i'm-super-excited-to-go-to-testbash-brighton-2025/" class="post-preview row g-0 flex-md-row-reverse"><div class="col-md-5"><div class="preview-img shimmer"><img src="/uploads/PXL_20240911_162308320-EDIT.jpg" alt="Preview Image" loading="lazy"></div></div><div class="col-md-7"><div class="card-body d-flex flex-column"><h1 class="card-title my-2 mt-md-0">5 Reasons I'm super excited to go to TestBash Brighton 2025</h1><div class="card-text content mt-0 mb-3"><p> I’m super excited to be going to hashtag#TestBash Brighton UK 2025! For some many reasons: I’m speaking! I’m giving a talk about navigating a career in Quality Engineeirng I’m an Ambassador! ...</p></div><div class="post-meta flex-grow-1 d-flex align-items-end"><div class="me-auto"> <i class="far fa-calendar fa-fw me-1"></i> <time data-ts="1750287600" data-df="ll" > Jun 19, 2025 </time> <i class="far fa-folder-open fa-fw me-1"></i> <span class="categories"> Conferences </span></div></div></div></div></a></article><article class="card-wrapper card"> <a href="/posts/establishing-exploratory-testing-using-regular-collaborative-practice/" class="post-preview row g-0 flex-md-row-reverse"><div class="col-md-5"><div class="preview-img shimmer"><img src="/uploads/introduce explore pairing medical knowledge.png" alt="Preview Image" loading="lazy"></div></div><div class="col-md-7"><div class="card-body d-flex flex-column"><h1 class="card-title my-2 mt-md-0">Establishing exploratory testing using regular collaborative practice</h1><div class="card-text content mt-0 mb-3"><p> As I am starting to apply for roles and interviews, I get to draw on examples of work I’m proud of. This example is high on my list! While working at Ada Health, I established exploratory testing ...</p></div><div class="post-meta flex-grow-1 d-flex align-items-end"><div class="me-auto"> <i class="far fa-calendar fa-fw me-1"></i> <time data-ts="1747609200" data-df="ll" > May 19, 2025 </time> <i class="far fa-folder-open fa-fw me-1"></i> <span class="categories"> Testing </span></div></div></div></div></a></article><article class="card-wrapper card"> <a href="/posts/context-for-working-with-software-quality/" class="post-preview row g-0 flex-md-row-reverse"><div class="col-md-5"><div class="preview-img shimmer"><img src="/uploads/quality_context.png" alt="Preview Image" loading="lazy"></div></div><div class="col-md-7"><div class="card-body d-flex flex-column"><h1 class="card-title my-2 mt-md-0">Context for working with software quality</h1><div class="card-text content mt-0 mb-3"><p> I’ve recently been exploring what the differences are, between the role of a Quality Engineer, a role I’m currently inhabiting in my work at Ada Health, and other roles in Software Quality. One of...</p></div><div class="post-meta flex-grow-1 d-flex align-items-end"><div class="me-auto"> <i class="far fa-calendar fa-fw me-1"></i> <time data-ts="1737331200" data-df="ll" > Jan 20, 2025 </time> <i class="far fa-folder-open fa-fw me-1"></i> <span class="categories"> Quality </span></div></div></div></div></a></article><article class="card-wrapper card"> <a href="/posts/tactics-for-sharing-community-learnings-at-work/" class="post-preview row g-0 flex-md-row-reverse"><div class="col-md-5"><div class="preview-img shimmer"><img src="/uploads/sharing_tactics.png" alt="Preview Image" loading="lazy"></div></div><div class="col-md-7"><div class="card-body d-flex flex-column"><h1 class="card-title my-2 mt-md-0">Tactics for sharing community learnings at work</h1><div class="card-text content mt-0 mb-3"><p> Consume If you’re anything like me, you read a lot, blogs and books, listen to loads of podcasts, and watch a bunch of talks and maybe even attend the odd workshop. I’ll throw in a quick list of r...</p></div><div class="post-meta flex-grow-1 d-flex align-items-end"><div class="me-auto"> <i class="far fa-calendar fa-fw me-1"></i> <time data-ts="1736726400" data-df="ll" > Jan 13, 2025 </time> <i class="far fa-folder-open fa-fw me-1"></i> <span class="categories"> Community </span></div></div></div></div></a></article><article class="card-wrapper card"> <a href="/posts/12-other-ways-you-can-use-code-to-your-advantage-as-a-quality-engineer/" class="post-preview row g-0 flex-md-row-reverse"><div class="col-md-5"><div class="preview-img shimmer"><img src="/uploads/pexels-divinetechygirl-1181263.jpg" alt="Preview Image" loading="lazy"></div></div><div class="col-md-7"><div class="card-body d-flex flex-column"><h1 class="card-title my-2 mt-md-0">12 other ways you can use code to your advantage as a Quality Engineer</h1><div class="card-text content mt-0 mb-3"><p> The one obvious way Quality Engineers can use code to their advantage, is building out automated regression checks, in various forms. Here are some other ways you can use code as a QE, or indeed an...</p></div><div class="post-meta flex-grow-1 d-flex align-items-end"><div class="me-auto"> <i class="far fa-calendar fa-fw me-1"></i> <time data-ts="1736208000" data-df="ll" > Jan 7, 2025 </time> <i class="far fa-folder-open fa-fw me-1"></i> <span class="categories"> Testing, for, Developers </span></div></div></div></div></a></article><article class="card-wrapper card"> <a href="/posts/interview-with-dan-billing/" class="post-preview row g-0 flex-md-row-reverse"><div class="col-md-12"><div class="card-body d-flex flex-column"><h1 class="card-title my-2 mt-md-0">Interview with Dan Billing</h1><div class="card-text content mt-0 mb-3"><p> Tester of The Day Interviews Between the 17th of August 2020 and the 9th of December 2022, I ran a daily celebration of the testing community. While I closed nominations for new winners, I still l...</p></div><div class="post-meta flex-grow-1 d-flex align-items-end"><div class="me-auto"> <i class="far fa-calendar fa-fw me-1"></i> <time data-ts="1721516400" data-df="ll" > Jul 21, 2024 </time> <i class="far fa-folder-open fa-fw me-1"></i> <span class="categories"> Tester, of, The, Day </span></div></div></div></div></a></article><article class="card-wrapper card"> <a href="/posts/help-your-team-learn-test-automation/" class="post-preview row g-0 flex-md-row-reverse"><div class="col-md-5"><div class="preview-img shimmer"><img src="/uploads/pexels-tara-winstead-8386434.jpg" alt="Preview Image" loading="lazy"></div></div><div class="col-md-7"><div class="card-body d-flex flex-column"><h1 class="card-title my-2 mt-md-0">Help your team learn test automation</h1><div class="card-text content mt-0 mb-3"><p> I recently had a great conversation with a member of the software testing community, who works as a leader and wanted advice on how to help his team learn test automation. This is a summary of som...</p></div><div class="post-meta flex-grow-1 d-flex align-items-end"><div class="me-auto"> <i class="far fa-calendar fa-fw me-1"></i> <time data-ts="1718751600" data-df="ll" > Jun 19, 2024 </time> <i class="far fa-folder-open fa-fw me-1"></i> <span class="categories"> How, to </span></div></div></div></div></a></article><article class="card-wrapper card"> <a href="/posts/zooming-in-and-out/" class="post-preview row g-0 flex-md-row-reverse"><div class="col-md-5"><div class="preview-img shimmer"><img src="/uploads/pexels-ethan-sees-2853432.jpg" alt="Preview Image" loading="lazy"></div></div><div class="col-md-7"><div class="card-body d-flex flex-column"><h1 class="card-title my-2 mt-md-0">Zooming in and out</h1><div class="card-text content mt-0 mb-3"><p> Over my career in Software Testing, I’ve had the pleasure to analyze and model a lot of systems. Some of them have had tons of formal architecture models and others have had little more than a few ...</p></div><div class="post-meta flex-grow-1 d-flex align-items-end"><div class="me-auto"> <i class="far fa-calendar fa-fw me-1"></i> <time data-ts="1693868400" data-df="ll" > Sep 5, 2023 </time> <i class="far fa-folder-open fa-fw me-1"></i> <span class="categories"> Testing </span></div></div></div></div></a></article><article class="card-wrapper card"> <a href="/posts/successful-collaborative-testing-sessions/" class="post-preview row g-0 flex-md-row-reverse"><div class="col-md-5"><div class="preview-img shimmer"><img src="/uploads/pexels-canva-studio-3153201.jpg" alt="Preview Image" loading="lazy"></div></div><div class="col-md-7"><div class="card-body d-flex flex-column"><h1 class="card-title my-2 mt-md-0">Successful collaborative testing sessions</h1><div class="card-text content mt-0 mb-3"><p> In my recent experience, I’ve found a few things that help set up a successful collaborative testing session. I’ve used these to collaborate with members of my team, across multiple disciplines fr...</p></div><div class="post-meta flex-grow-1 d-flex align-items-end"><div class="me-auto"> <i class="far fa-calendar fa-fw me-1"></i> <time data-ts="1692486000" data-df="ll" > Aug 20, 2023 </time> <i class="far fa-folder-open fa-fw me-1"></i> <span class="categories"> Testing </span></div></div></div></div></a></article><article class="card-wrapper card"> <a href="/posts/05-ways-testing-mobile-is-different-from-web/" class="post-preview row g-0 flex-md-row-reverse"><div class="col-md-5"><div class="preview-img shimmer"><img src="/uploads/pexels-jessica-lewis-583842.jpg" alt="Preview Image" loading="lazy"></div></div><div class="col-md-7"><div class="card-body d-flex flex-column"><h1 class="card-title my-2 mt-md-0">5 ways testing mobile is different from web</h1><div class="card-text content mt-0 mb-3"><p> 1 Hardware Web apps run on almost any device, from a games console to a tricked-out multi-core desktop PC with a giant high-resolution screen. In contrast, mobile apps typically run on Android, iO...</p></div><div class="post-meta flex-grow-1 d-flex align-items-end"><div class="me-auto"> <i class="far fa-calendar fa-fw me-1"></i> <time data-ts="1691535600" data-df="ll" > Aug 9, 2023 </time> <i class="far fa-folder-open fa-fw me-1"></i> <span class="categories"> Testing </span></div></div></div></div></a></article></div><nav aria-label="Page Navigation"><ul class="pagination align-items-center mt-4 mb-0"><li class="page-item disabled"> <a class="page-link" href="#" aria-label="previous-page"> <i class="fas fa-angle-left"></i> </a><li class="page-item active"> <a class="page-link" href="/" >1</a><li class="page-item "> <a class="page-link" href="/page2" >2</a><li class="page-item "> <a class="page-link" href="/page3" >3</a><li class="page-item disabled"> <span class="page-link">...</span><li class="page-item "> <a class="page-link" href="/page5" >5</a><li class="page-index align-middle"> <span>1</span> <span class="text-muted">/ 5</span><li class="page-item "> <a class="page-link" href="/page2" aria-label="next-page"> <i class="fas fa-angle-right"></i> </a></ul></nav></main><aside aria-label="Panel" id="panel-wrapper" class="col-xl-3 ps-2 mb-5 text-muted"><div class="access"><section id="access-lastmod"><h2 class="panel-heading">Recently Updated</h2><ul class="content list-unstyled ps-0 pb-1 ms-1 mt-2"><li class="text-truncate lh-lg"> <a href="/posts/5-reasons-i'm-super-excited-to-go-to-testbash-brighton-2025/">5 Reasons I'm super excited to go to TestBash Brighton 2025</a><li class="text-truncate lh-lg"> <a href="/posts/establishing-exploratory-testing-using-regular-collaborative-practice/">Establishing exploratory testing using regular collaborative practice</a><li class="text-truncate lh-lg"> <a href="/posts/context-for-working-with-software-quality/">Context for working with software quality</a><li class="text-truncate lh-lg"> <a href="/posts/tactics-for-sharing-community-learnings-at-work/">Tactics for sharing community learnings at work</a><li class="text-truncate lh-lg"> <a href="/posts/12-other-ways-you-can-use-code-to-your-advantage-as-a-quality-engineer/">12 other ways you can use code to your advantage as a Quality Engineer</a></ul></section><section><h2 class="panel-heading">Trending Tags</h2><div class="d-flex flex-wrap mt-3 mb-1 me-3"> <a class="post-tag btn btn-outline-primary" href="/tags/testing/">testing</a> <a class="post-tag btn btn-outline-primary" href="/tags/automation/">automation</a> <a class="post-tag btn btn-outline-primary" href="/tags/quality/">quality</a> <a class="post-tag btn btn-outline-primary" href="/tags/community/">community</a> <a class="post-tag btn btn-outline-primary" href="/tags/agile/">agile</a> <a class="post-tag btn btn-outline-primary" href="/tags/devops/">devops</a> <a class="post-tag btn btn-outline-primary" href="/tags/full-stack-testing/">full-stack-testing</a> <a class="post-tag btn btn-outline-primary" href="/tags/process/">process</a> <a class="post-tag btn btn-outline-primary" href="/tags/software/">software</a> <a class="post-tag btn btn-outline-primary" href="/tags/technical/">technical</a></div></section></div></aside></div><div class="row"><div id="tail-wrapper" class="col-12 col-lg-11 col-xl-9 px-md-4"><footer aria-label="Site Info" class=" d-flex flex-column justify-content-center text-muted flex-lg-row justify-content-lg-between align-items-lg-center pb-lg-3 " ><p>© <time>2026</time> <a href="https://github.com/dowenb">Ben Dowen</a>. <span data-bs-toggle="tooltip" data-bs-placement="top" title="Except where otherwise noted, the blog posts on this site are licensed under the Creative Commons Attribution 4.0 International (CC BY 4.0) License by the author." >Some rights reserved.</span></p><p>Powered by <a href="https://jekyllrb.com" target="_blank" rel="noopener">Jekyll</a> with <a href="https://github.com/cotes2020/jekyll-theme-chirpy" target="_blank" rel="noopener">Chirpy</a> theme.</p></footer></div></div><div id="search-result-wrapper" class="d-flex justify-content-center unloaded"><div class="col-11 content"><div id="search-hints"><section><h2 class="panel-heading">Trending Tags</h2><div class="d-flex flex-wrap mt-3 mb-1 me-3"> <a class="post-tag btn btn-outline-primary" href="/tags/testing/">testing</a> <a class="post-tag btn btn-outline-primary" href="/tags/automation/">automation</a> <a class="post-tag btn btn-outline-primary" href="/tags/quality/">quality</a> <a class="post-tag btn btn-outline-primary" href="/tags/community/">community</a> <a class="post-tag btn btn-outline-primary" href="/tags/agile/">agile</a> <a class="post-tag btn btn-outline-primary" href="/tags/devops/">devops</a> <a class="post-tag btn btn-outline-primary" href="/tags/full-stack-testing/">full-stack-testing</a> <a class="post-tag btn btn-outline-primary" href="/tags/process/">process</a> <a class="post-tag btn btn-outline-primary" href="/tags/software/">software</a> <a class="post-tag btn btn-outline-primary" href="/tags/technical/">technical</a></div></section></div><div id="search-results" class="d-flex flex-wrap justify-content-center text-muted mt-3"></div></div></div></div><aside aria-label="Scroll to Top"> <button id="back-to-top" type="button" class="btn btn-lg btn-box-shadow"> <i class="fas fa-angle-up"></i> </button></aside></div><div id="mask"></div><aside id="notification" class="toast" role="alert" aria-live="assertive" aria-atomic="true" data-bs-animation="true" data-bs-autohide="false" ><div class="toast-header"> <button type="button" class="btn-close ms-auto" data-bs-dismiss="toast" aria-label="Close" ></button></div><div class="toast-body text-center pt-0"><p class="px-2 mb-3">A new version of content is available.</p><button type="button" class="btn btn-primary" aria-label="Update"> Update </button></div></aside><script src="https://cdn.jsdelivr.net/combine/npm/jquery@3.7.1/dist/jquery.min.js,npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js,npm/simple-jekyll-search@1.10.0/dest/simple-jekyll-search.min.js,npm/loading-attribute-polyfill@2.1.1/dist/loading-attribute-polyfill.umd.min.js,npm/dayjs@1.11.10/dayjs.min.js,npm/dayjs@1.11.10/locale/en.min.js,npm/dayjs@1.11.10/plugin/relativeTime.min.js,npm/dayjs@1.11.10/plugin/localizedFormat.min.js"></script> <script defer src="/assets/js/dist/home.min.js"></script> <script defer src="/assets/js/dist/app.min.js"></script> <script> /* Note: dependent library will be loaded in `js-selector.html` */ SimpleJekyllSearch({ searchInput: document.getElementById('search-input'), resultsContainer: document.getElementById('search-results'), json: '/assets/js/data/search.json', searchResultTemplate: '<article class="px-1 px-sm-2 px-lg-4 px-xl-0"><header><h2><a href="{url}">{title}</a></h2><div class="post-meta d-flex flex-column flex-sm-row text-muted mt-1 mb-1"> {categories} {tags}</div></header><p>{snippet}</p></article>', noResultsText: '<p class="mt-5"></p>', templateMiddleware: function(prop, value, template) { if (prop === 'categories') { if (value === '') { return `${value}`; } else { return `<div class="me-sm-4"><i class="far fa-folder fa-fw"></i>${value}</div>`; } } if (prop === 'tags') { if (value === '') { return `${value}`; } else { return `<div><i class="fa fa-tag fa-fw"></i>${value}</div>`; } } } }); </script>
