Help
RSS
API
Feed
Maltego
Contact
Domain > allankent.com
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2026-01-05
104.21.65.64
(
ClassC
)
Port 443
HTTP/1.1 200 OKDate: Mon, 05 Jan 2026 02:19:20 GMTContent-Type: text/html; charsetutf-8Transfer-Encoding: chunkedConnection: keep-aliveAccess-Control-Allow-Origin: *Cache-Control: public, max-age0, must-revalidatereferrer-policy: strict-origin-when-cross-originx-content-type-options: nosniffVary: accept-encodingReport-To: {group:cf-nel,max_age:604800,endpoints:{url:https://a.nel.cloudflare.com/report/v4?sKfUxgeS9kkafz5LJEXGgH2oAfOsvCoUDJ7dYtxkMeKPW2ZqBVlfzzfBBBuyh%2BqIEz9WFMQa0c2N9ptPVjr41OQq4sAgarfY%2BDH%2BufWg%3D}}Nel: {report_to:cf-nel,success_fraction:0.0,max_age:604800}Server: cloudflarecf-cache-status: DYNAMICCF-RAY: 9b8f7d7d38be8736-PDXalt-svc: h3:443; ma86400 !DOCTYPE html>html langen dirltr>head> meta namegenerator contentHugo 0.152.2> meta charsetutf-8 /> meta nameviewport contentwidthdevice-width, initial-scale1.0 />meta namerobots contentindex, follow /> link relicon shortcut href/favicon.ico sizes32x32 />link relicon href/favicon.svg typeimage/svg+xml idfavicon-svg />link relicon href/favicon-16x16.png typeimage/png sizes16x16 />link relicon href/favicon-32x32.png typeimage/png sizes32x32 />link relapple-touch-icon href/apple-touch-icon.png sizes180x180 />link fetchprioritylow href/site.webmanifest relmanifest />title>Allan Kent./title> meta namedescription contentProduct. Technology. Futures. />link relcanonical hrefhttps://allankent.com/ itempropurl />meta propertyog:title contentAllan Kent. Product. Technology. Futures>meta propertyog:description content Product. Technology. Futures. >meta propertyog:type content website >meta propertyog:url contenthttps://allankent.com/> meta itempropname contentAllan Kent. Product. Technology. Futures> meta itempropdescription contentProduct. Technology. Futures. For the past 30 years I’ve built and managed digital products, contributing through strategic foresight, product management and engineering. Projects A collection of personal projects, both current and archived. Archived projects are no longer maintained, but listed for interest.> meta itempropdatePublished content2025-11-15T00:00:00+00:00> meta itempropdateModified content2025-11-15T00:00:00+00:00> meta itempropwordCount content67> meta nametwitter:card contentsummary> meta nametwitter:title contentAllan Kent. Product. Technology. Futures> meta nametwitter:description contentProduct. Technology. Futures. For the past 30 years I’ve built and managed digital products, contributing through strategic foresight, product management and engineering. Projects A collection of personal projects, both current and archived. Archived projects are no longer maintained, but listed for interest.> link relpreload href/css/compiled/main.min.592318429a08ce27325939ea68270724780c8f306177dc2fb8313b46e7dcb602.css asstyle integritysha256-WSMYQpoIzicyWTnqaCcHJHgMjzBhd9wvuDE7RufctgI /> link href/css/compiled/main.min.592318429a08ce27325939ea68270724780c8f306177dc2fb8313b46e7dcb602.css relstylesheet integritysha256-WSMYQpoIzicyWTnqaCcHJHgMjzBhd9wvuDE7RufctgI /> link relpreconnect hrefhttps://www.googletagmanager.com crossorigin /> script async srchttps://www.googletagmanager.com/gtag/js?idG-HQQ8F6E622>/script>script> window.dataLayer window.dataLayer || ; function gtag() { dataLayer.push(arguments); } gtag(js, new Date()); gtag(config, G-HQQ8F6E622);/script> script> function setTheme(theme) { document.documentElement.classList.remove(light, dark); if (theme ! light && theme ! dark) { theme window.matchMedia((prefers-color-scheme: dark)).matches ? dark : light; } document.documentElement.classList.add(theme); document.documentElement.style.colorScheme theme; } setTheme(color-theme in localStorage ? localStorage.getItem(color-theme) : light) /script> script> if (localStorage.getItem(banner-closed)) { document.documentElement.style.setProperty(--hextra-banner-height, 0px); document.documentElement.classList.add(hextra-banner-hidden); } /script> /head>body>div classhextra-nav-container hx:sticky hx:top-0 hx:z-20 hx:w-full hx:bg-transparent hx:print:hidden> div classhextra-nav-container-blur hx:pointer-events-none hx:absolute hx:z--1 hx:h-full hx:w-full hx:bg-white hx:dark:bg-dark hx:shadow-0_2px_4px_rgba(0,0,0,.02),0_1px_0_rgba(0,0,0,.06) hx:contrast-more:shadow-0_0_0_1px_#000 hx:dark:shadow-0_-1px_0_rgba(255,255,255,.1)_inset hx:contrast-more:dark:shadow-0_0_0_1px_#fff >/div> nav classhextra-max-navbar-width hx:mx-auto hx:flex hx:items-center hx:justify-end hx:gap-2 hx:h-16 hx:px-6> a classhx:flex hx:items-center hx:hover:opacity-75 hx:ltr:mr-auto hx:rtl:ml-auto href/> span classhx:mr-2 hx:font-extrabold hx:inline hx:select-none titleAllan Kent.>Allan Kent./span>/a>a title href/projects classhx:text-sm hx:contrast-more:text-gray-700 hx:contrast-more:dark:text-gray-100 hx:relative hx:-ml-2 hx:hidden hx:whitespace-nowrap hx:p-2 hx:md:inline-flex hx:items-center hx:gap-1 hx:text-gray-600 hx:hover:text-gray-800 hx:dark:text-gray-400 hx:dark:hover:text-gray-200>span classhx:text-center>Projects/span>/a>a title href/writing classhx:text-sm hx:contrast-more:text-gray-700 hx:contrast-more:dark:text-gray-100 hx:relative hx:-ml-2 hx:hidden hx:whitespace-nowrap hx:p-2 hx:md:inline-flex hx:items-center hx:gap-1 hx:text-gray-600 hx:hover:text-gray-800 hx:dark:text-gray-400 hx:dark:hover:text-gray-200>span classhx:text-center>Writing/span>/a>a title href/garden classhx:text-sm hx:contrast-more:text-gray-700 hx:contrast-more:dark:text-gray-100 hx:relative hx:-ml-2 hx:hidden hx:whitespace-nowrap hx:p-2 hx:md:inline-flex hx:items-center hx:gap-1 hx:text-gray-600 hx:hover:text-gray-800 hx:dark:text-gray-400 hx:dark:hover:text-gray-200>span classhx:text-center>Garden/span>/a>div classhextra-search-wrapper hx:relative hx:md:w-64> div classhx:relative hx:flex hx:items-center hx:text-gray-900 hx:contrast-more:text-gray-800 hx:dark:text-gray-300 hx:contrast-more:dark:text-gray-300> input placeholderSearch... classhextra-search-input hx:focus:hextra-focus hx:block hx:w-full hx:appearance-none hx:rounded-lg hx:px-3 hx:py-2 hx:transition-colors hx:text-base hx:leading-tight hx:md:text-sm hx:bg-black/.05 hx:dark:bg-gray-50/10 hx:focus:bg-white hx:dark:focus:bg-dark hx:placeholder:text-gray-500 hx:dark:placeholder:text-gray-400 hx:contrast-more:border hx:contrast-more:border-current typesearch value spellcheckfalse /> kbd classhx:absolute hx:my-1.5 hx:select-none hx:ltr:right-1.5 hx:rtl:left-1.5 hx:h-5 hx:rounded-sm hx:bg-white hx:px-1.5 hx:font-mono hx:text-10px hx:font-medium hx:text-gray-500 hx:border hx:border-gray-200 hx:dark:border-gray-100/20 hx:dark:bg-dark/50 hx:contrast-more:border-current hx:contrast-more:text-current hx:contrast-more:dark:border-current hx:items-center hx:gap-1 hx:transition-opacity hx:pointer-events-none hx:hidden hx:sm:flex > CTRL K /kbd> /div> div> ul classhextra-search-results hextra-scrollbar hx:hidden hx:border hx:border-gray-200 hx:bg-white hx:text-gray-100 hx:dark:border-neutral-800 hx:dark:bg-neutral-900 hx:absolute hx:top-full hx:z-20 hx:mt-2 hx:overflow-auto hx:overscroll-contain hx:rounded-xl hx:py-2.5 hx:shadow-xl hx:max-h-min(calc(50vh-11rem-env(safe-area-inset-bottom)),400px) hx:md:max-h-min(calc(100vh-5rem-env(safe-area-inset-bottom)),400px) hx:inset-x-0 hx:ltr:md:left-auto hx:rtl:md:right-auto hx:contrast-more:border hx:contrast-more:border-gray-900 hx:contrast-more:dark:border-gray-50 hx:w-screen hx:min-h-100px hx:max-w-min(calc(100vw-2rem),calc(100%+20rem)) styletransition: max-height 0.2s ease 0s; >/ul> /div>/div> a classhx:p-2 hx:text-current target_blank relnoreferrer hrefhttps://github.com/allank titleGitHub>svg height24 fillcurrentColor viewBox3 3 18 18> path dM12 3C7.0275 3 3 7.12937 3 12.2276C3 16.3109 5.57625 19.7597 9.15374 20.9824C9.60374 21.0631 9.77249 20.7863 9.77249 20.5441C9.77249 20.3249 9.76125 19.5982 9.76125 18.8254C7.5 19.2522 6.915 18.2602 6.735 17.7412C6.63375 17.4759 6.19499 16.6569 5.8125 16.4378C5.4975 16.2647 5.0475 15.838 5.80124 15.8264C6.51 15.8149 7.01625 16.4954 7.18499 16.7723C7.99499 18.1679 9.28875 17.7758 9.80625 17.5335C9.885 16.9337 10.1212 16.53 10.38 16.2993C8.3775 16.0687 6.285 15.2728 6.285 11.7432C6.285 10.7397 6.63375 9.9092 7.20749 9.26326C7.1175 9.03257 6.8025 8.08674 7.2975 6.81794C7.2975 6.81794 8.05125 6.57571 9.77249 7.76377C10.4925 7.55615 11.2575 7.45234 12.0225 7.45234C12.7875 7.45234 13.5525 7.55615 14.2725 7.76377C15.9937 6.56418 16.7475 6.81794 16.7475 6.81794C17.2424 8.08674 16.9275 9.03257 16.8375 9.26326C17.4113 9.9092 17.76 10.7281 17.76 11.7432C17.76 15.2843 15.6563 16.0687 13.6537 16.2993C13.98 16.5877 14.2613 17.1414 14.2613 18.0065C14.2613 19.2407 14.25 20.2326 14.25 20.5441C14.25 20.7863 14.4188 21.0746 14.8688 20.9824C16.6554 20.364 18.2079 19.1866 19.3078 17.6162C20.4077 16.0457 20.9995 14.1611 21 12.2276C21 7.12937 16.9725 3 12 3Z>/path>/svg>span classhx:sr-only>GitHub/span> /a> a classhx:p-2 hx:text-current target_blank relnoreferrer hrefhttps://www.linkedin.com/in/allank/ titleLinkedin>svg height24 xmlnshttp://www.w3.org/2000/svg viewBox0 0 24 24>path fillcurrentColor dM20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037c-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.85c3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 0 1-2.063-2.065a2.064 2.064 0 1 1 2.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/>/svg>span classhx:sr-only>Linkedin/span> /a>button typebutton aria-labelMenu classhextra-hamburger-menu hx:cursor-pointer hx:-mr-2 hx:rounded-sm hx:p-2 hx:active:bg-gray-400/20 hx:md:hidden>svg height24 fillnone viewBox0 0 24 24 strokecurrentColor>g>path stroke-linecapround stroke-linejoinround stroke-width2 dM4 8H20>/path>/g>g>path stroke-linecapround stroke-linejoinround stroke-width2 dM4 16H20>/path>/g>/svg>/button> /nav>/div> div classhx:mx-auto hx:flex hextra-max-page-width> aside classhextra-sidebar-container hx:flex hx:flex-col hx:print:hidden hx:md:top-16 hx:md:shrink-0 hx:md:w-64 hx:md:self-start hx:max-md:transform:translate3d(0,-100%,0) hx:md:hidden> div classhx:px-4 hx:pt-4 hx:md:hidden> div classhextra-search-wrapper hx:relative hx:md:w-64> div classhx:relative hx:flex hx:items-center hx:text-gray-900 hx:contrast-more:text-gray-800 hx:dark:text-gray-300 hx:contrast-more:dark:text-gray-300> input placeholderSearch... classhextra-search-input hx:focus:hextra-focus hx:block hx:w-full hx:appearance-none hx:rounded-lg hx:px-3 hx:py-2 hx:transition-colors hx:text-base hx:leading-tight hx:md:text-sm hx:bg-black/.05 hx:dark:bg-gray-50/10 hx:focus:bg-white hx:dark:focus:bg-dark hx:placeholder:text-gray-500 hx:dark:placeholder:text-gray-400 hx:contrast-more:border hx:contrast-more:border-current typesearch value spellcheckfalse /> kbd classhx:absolute hx:my-1.5 hx:select-none hx:ltr:right-1.5 hx:rtl:left-1.5 hx:h-5 hx:rounded-sm hx:bg-white hx:px-1.5 hx:font-mono hx:text-10px hx:font-medium hx:text-gray-500 hx:border hx:border-gray-200 hx:dark:border-gray-100/20 hx:dark:bg-dark/50 hx:contrast-more:border-current hx:contrast-more:text-current hx:contrast-more:dark:border-current hx:items-center hx:gap-1 hx:transition-opacity hx:pointer-events-none hx:hidden hx:sm:flex > CTRL K /kbd> /div> div> ul classhextra-search-results hextra-scrollbar hx:hidden hx:border hx:border-gray-200 hx:bg-white hx:text-gray-100 hx:dark:border-neutral-800 hx:dark:bg-neutral-900 hx:absolute hx:top-full hx:z-20 hx:mt-2 hx:overflow-auto hx:overscroll-contain hx:rounded-xl hx:py-2.5 hx:shadow-xl hx:max-h-min(calc(50vh-11rem-env(safe-area-inset-bottom)),400px) hx:md:max-h-min(calc(100vh-5rem-env(safe-area-inset-bottom)),400px) hx:inset-x-0 hx:ltr:md:left-auto hx:rtl:md:right-auto hx:contrast-more:border hx:contrast-more:border-gray-900 hx:contrast-more:dark:border-gray-50 hx:w-screen hx:min-h-100px hx:max-w-min(calc(100vw-2rem),calc(100%+20rem)) styletransition: max-height 0.2s ease 0s; >/ul> /div>/div> /div> div classhextra-scrollbar hx:overflow-y-auto hx:overflow-x-hidden hx:p-4 hx:grow hx:md:h-calc(100vh-var(--navbar-height)-var(--menu-height))> ul classhx:flex hx:flex-col hx:gap-1 hx:md:hidden> li class>a classhx:flex hx:items-center hx:justify-between hx:gap-2 hx:cursor-pointer hx:rounded-sm hx:px-2 hx:py-1.5 hx:text-sm hx:transition-colors -webkit-tap-highlight-color:transparent -webkit-touch-callout:none word-break:break-word hx:text-gray-500 hx:hover:bg-gray-100 hx:hover:text-gray-900 hx:contrast-more:border hx:contrast-more:border-transparent hx:contrast-more:text-gray-900 hx:contrast-more:hover:border-gray-900 hx:dark:text-neutral-400 hx:dark:hover:bg-primary-100/5 hx:dark:hover:text-gray-50 hx:contrast-more:dark:text-gray-50 hx:contrast-more:dark:hover:border-gray-50 href/writing/ >Writing span classhextra-sidebar-collapsible-button>svg fillnone viewBox0 0 24 24 strokecurrentColor classhx:h-18px hx:min-w-18px hx:rounded-xs hx:p-0.5 hx:hover:bg-gray-800/5 hx:dark:hover:bg-gray-100/5>path stroke-linecapround stroke-linejoinround stroke-width2 dM9 5l7 7-7 7 classhx:origin-center hx:transition-transform hx:rtl:-rotate-180>/path>/svg>/span> /a>div classhx:ltr:pr-0 hx:overflow-hidden> ul classhx:relative hx:flex hx:flex-col hx:gap-1 hx:before:absolute hx:before:inset-y-1 hx:before:w-px hx:before:bg-gray-200 hx:before:content- hx:ltr:ml-3 hx:ltr:pl-3 hx:ltr:before:left-0 hx:rtl:mr-3 hx:rtl:pr-3 hx:rtl:before:right-0 hx:dark:before:bg-neutral-800>li classhx:flex hx:flex-col >a classhx:flex hx:items-center hx:justify-between hx:gap-2 hx:cursor-pointer hx:rounded-sm hx:px-2 hx:py-1.5 hx:text-sm hx:transition-colors -webkit-tap-highlight-color:transparent -webkit-touch-callout:none word-break:break-word hx:text-gray-500 hx:hover:bg-gray-100 hx:hover:text-gray-900 hx:contrast-more:border hx:contrast-more:border-transparent hx:contrast-more:text-gray-900 hx:contrast-more:hover:border-gray-900 hx:dark:text-neutral-400 hx:dark:hover:bg-primary-100/5 hx:dark:hover:text-gray-50 hx:contrast-more:dark:text-gray-50 hx:contrast-more:dark:hover:border-gray-50 href/writing/frictionless_os/ >Tools for frictionless navigation /a> /li>li classhx:flex hx:flex-col >a classhx:flex hx:items-center hx:justify-between hx:gap-2 hx:cursor-pointer hx:rounded-sm hx:px-2 hx:py-1.5 hx:text-sm hx:transition-colors -webkit-tap-highlight-color:transparent -webkit-touch-callout:none word-break:break-word hx:text-gray-500 hx:hover:bg-gray-100 hx:hover:text-gray-900 hx:contrast-more:border hx:contrast-more:border-transparent hx:contrast-more:text-gray-900 hx:contrast-more:hover:border-gray-900 hx:dark:text-neutral-400 hx:dark:hover:bg-primary-100/5 hx:dark:hover:text-gray-50 hx:contrast-more:dark:text-gray-50 hx:contrast-more:dark:hover:border-gray-50 href/writing/lipglossary/ >Lipglossary - Colour codes for Lip Gloss /a> /li>li classhx:flex hx:flex-col >a classhx:flex hx:items-center hx:justify-between hx:gap-2 hx:cursor-pointer hx:rounded-sm hx:px-2 hx:py-1.5 hx:text-sm hx:transition-colors -webkit-tap-highlight-color:transparent -webkit-touch-callout:none word-break:break-word hx:text-gray-500 hx:hover:bg-gray-100 hx:hover:text-gray-900 hx:contrast-more:border hx:contrast-more:border-transparent hx:contrast-more:text-gray-900 hx:contrast-more:hover:border-gray-900 hx:dark:text-neutral-400 hx:dark:hover:bg-primary-100/5 hx:dark:hover:text-gray-50 hx:contrast-more:dark:text-gray-50 hx:contrast-more:dark:hover:border-gray-50 href/writing/chartea/ >Chartea /a> /li>li classhx:flex hx:flex-col >a classhx:flex hx:items-center hx:justify-between hx:gap-2 hx:cursor-pointer hx:rounded-sm hx:px-2 hx:py-1.5 hx:text-sm hx:transition-colors -webkit-tap-highlight-color:transparent -webkit-touch-callout:none word-break:break-word hx:text-gray-500 hx:hover:bg-gray-100 hx:hover:text-gray-900 hx:contrast-more:border hx:contrast-more:border-transparent hx:contrast-more:text-gray-900 hx:contrast-more:hover:border-gray-900 hx:dark:text-neutral-400 hx:dark:hover:bg-primary-100/5 hx:dark:hover:text-gray-50 hx:contrast-more:dark:text-gray-50 hx:contrast-more:dark:hover:border-gray-50 href/writing/quadrants/ >Using quadrants for prioritisation /a> /li>li classhx:flex hx:flex-col >a classhx:flex hx:items-center hx:justify-between hx:gap-2 hx:cursor-pointer hx:rounded-sm hx:px-2 hx:py-1.5 hx:text-sm hx:transition-colors -webkit-tap-highlight-color:transparent -webkit-touch-callout:none word-break:break-word hx:text-gray-500 hx:hover:bg-gray-100 hx:hover:text-gray-900 hx:contrast-more:border hx:contrast-more:border-transparent hx:contrast-more:text-gray-900 hx:contrast-more:hover:border-gray-900 hx:dark:text-neutral-400 hx:dark:hover:bg-primary-100/5 hx:dark:hover:text-gray-50 hx:contrast-more:dark:text-gray-50 hx:contrast-more:dark:hover:border-gray-50 href/writing/visualising_opportunity_solution_trees_mermaid/ >Visualising Opportunity Solution Trees in Mermaid /a> /li>li classhx:flex hx:flex-col >a classhx:flex hx:items-center hx:justify-between hx:gap-2 hx:cursor-pointer hx:rounded-sm hx:px-2 hx:py-1.5 hx:text-sm hx:transition-colors -webkit-tap-highlight-color:transparent -webkit-touch-callout:none word-break:break-word hx:text-gray-500 hx:hover:bg-gray-100 hx:hover:text-gray-900 hx:contrast-more:border hx:contrast-more:border-transparent hx:contrast-more:text-gray-900 hx:contrast-more:hover:border-gray-900 hx:dark:text-neutral-400 hx:dark:hover:bg-primary-100/5 hx:dark:hover:text-gray-50 hx:contrast-more:dark:text-gray-50 hx:contrast-more:dark:hover:border-gray-50 href/writing/impact_matrix/ >Using an Impact Analysis /a> /li>li classhx:flex hx:flex-col >a classhx:flex hx:items-center hx:justify-between hx:gap-2 hx:cursor-pointer hx:rounded-sm hx:px-2 hx:py-1.5 hx:text-sm hx:transition-colors -webkit-tap-highlight-color:transparent -webkit-touch-callout:none word-break:break-word hx:text-gray-500 hx:hover:bg-gray-100 hx:hover:text-gray-900 hx:contrast-more:border hx:contrast-more:border-transparent hx:contrast-more:text-gray-900 hx:contrast-more:hover:border-gray-900 hx:dark:text-neutral-400 hx:dark:hover:bg-primary-100/5 hx:dark:hover:text-gray-50 hx:contrast-more:dark:text-gray-50 hx:contrast-more:dark:hover:border-gray-50 href/writing/arduino_config/ >Arduino config /a> /li>li classhx:flex hx:flex-col >a classhx:flex hx:items-center hx:justify-between hx:gap-2 hx:cursor-pointer hx:rounded-sm hx:px-2 hx:py-1.5 hx:text-sm hx:transition-colors -webkit-tap-highlight-color:transparent -webkit-touch-callout:none word-break:break-word hx:text-gray-500 hx:hover:bg-gray-100 hx:hover:text-gray-900 hx:contrast-more:border hx:contrast-more:border-transparent hx:contrast-more:text-gray-900 hx:contrast-more:hover:border-gray-900 hx:dark:text-neutral-400 hx:dark:hover:bg-primary-100/5 hx:dark:hover:text-gray-50 hx:contrast-more:dark:text-gray-50 hx:contrast-more:dark:hover:border-gray-50 href/writing/raspberrypi_config/ >Raspberry Pi config /a> /li>li classhx:flex hx:flex-col >a classhx:flex hx:items-center hx:justify-between hx:gap-2 hx:cursor-pointer hx:rounded-sm hx:px-2 hx:py-1.5 hx:text-sm hx:transition-colors -webkit-tap-highlight-color:transparent -webkit-touch-callout:none word-break:break-word hx:text-gray-500 hx:hover:bg-gray-100 hx:hover:text-gray-900 hx:contrast-more:border hx:contrast-more:border-transparent hx:contrast-more:text-gray-900 hx:contrast-more:hover:border-gray-900 hx:dark:text-neutral-400 hx:dark:hover:bg-primary-100/5 hx:dark:hover:text-gray-50 hx:contrast-more:dark:text-gray-50 hx:contrast-more:dark:hover:border-gray-50 href/writing/frankenstatus/ >Frankenstatus /a> /li>/ul> /div>/li> li class>a classhx:flex hx:items-center hx:justify-between hx:gap-2 hx:cursor-pointer hx:rounded-sm hx:px-2 hx:py-1.5 hx:text-sm hx:transition-colors -webkit-tap-highlight-color:transparent -webkit-touch-callout:none word-break:break-word hx:text-gray-500 hx:hover:bg-gray-100 hx:hover:text-gray-900 hx:contrast-more:border hx:contrast-more:border-transparent hx:contrast-more:text-gray-900 hx:contrast-more:hover:border-gray-900 hx:dark:text-neutral-400 hx:dark:hover:bg-primary-100/5 hx:dark:hover:text-gray-50 hx:contrast-more:dark:text-gray-50 hx:contrast-more:dark:hover:border-gray-50 href/about/ >About /a>/li> li class>a classhx:flex hx:items-center hx:justify-between hx:gap-2 hx:cursor-pointer hx:rounded-sm hx:px-2 hx:py-1.5 hx:text-sm hx:transition-colors -webkit-tap-highlight-color:transparent -webkit-touch-callout:none word-break:break-word hx:text-gray-500 hx:hover:bg-gray-100 hx:hover:text-gray-900 hx:contrast-more:border hx:contrast-more:border-transparent hx:contrast-more:text-gray-900 hx:contrast-more:hover:border-gray-900 hx:dark:text-neutral-400 hx:dark:hover:bg-primary-100/5 hx:dark:hover:text-gray-50 hx:contrast-more:dark:text-gray-50 hx:contrast-more:dark:hover:border-gray-50 href/garden/ >Digital Garden span classhextra-sidebar-collapsible-button>svg fillnone viewBox0 0 24 24 strokecurrentColor classhx:h-18px hx:min-w-18px hx:rounded-xs hx:p-0.5 hx:hover:bg-gray-800/5 hx:dark:hover:bg-gray-100/5>path stroke-linecapround stroke-linejoinround stroke-width2 dM9 5l7 7-7 7 classhx:origin-center hx:transition-transform hx:rtl:-rotate-180>/path>/svg>/span> /a>div classhx:ltr:pr-0 hx:overflow-hidden> ul classhx:relative hx:flex hx:flex-col hx:gap-1 hx:before:absolute hx:before:inset-y-1 hx:before:w-px hx:before:bg-gray-200 hx:before:content- hx:ltr:ml-3 hx:ltr:pl-3 hx:ltr:before:left-0 hx:rtl:mr-3 hx:rtl:pr-3 hx:rtl:before:right-0 hx:dark:before:bg-neutral-800>li classhx:flex hx:flex-col >a classhx:flex hx:items-center hx:justify-between hx:gap-2 hx:cursor-pointer hx:rounded-sm hx:px-2 hx:py-1.5 hx:text-sm hx:transition-colors -webkit-tap-highlight-color:transparent -webkit-touch-callout:none word-break:break-word hx:text-gray-500 hx:hover:bg-gray-100 hx:hover:text-gray-900 hx:contrast-more:border hx:contrast-more:border-transparent hx:contrast-more:text-gray-900 hx:contrast-more:hover:border-gray-900 hx:dark:text-neutral-400 hx:dark:hover:bg-primary-100/5 hx:dark:hover:text-gray-50 hx:contrast-more:dark:text-gray-50 hx:contrast-more:dark:hover:border-gray-50 href/garden/projects/ >Projects span classhextra-sidebar-collapsible-button>svg fillnone viewBox0 0 24 24 strokecurrentColor classhx:h-18px hx:min-w-18px hx:rounded-xs hx:p-0.5 hx:hover:bg-gray-800/5 hx:dark:hover:bg-gray-100/5>path stroke-linecapround stroke-linejoinround stroke-width2 dM9 5l7 7-7 7 classhx:origin-center hx:transition-transform hx:rtl:-rotate-180>/path>/svg>/span> /a> div classhx:ltr:pr-0 hx:overflow-hidden> ul classhx:relative hx:flex hx:flex-col hx:gap-1 hx:before:absolute hx:before:inset-y-1 hx:before:w-px hx:before:bg-gray-200 hx:before:content- hx:ltr:ml-3 hx:ltr:pl-3 hx:ltr:before:left-0 hx:rtl:mr-3 hx:rtl:pr-3 hx:rtl:before:right-0 hx:dark:before:bg-neutral-800>li classhx:flex hx:flex-col >a classhx:flex hx:items-center hx:justify-between hx:gap-2 hx:cursor-pointer hx:rounded-sm hx:px-2 hx:py-1.5 hx:text-sm hx:transition-colors -webkit-tap-highlight-color:transparent -webkit-touch-callout:none word-break:break-word hx:text-gray-500 hx:hover:bg-gray-100 hx:hover:text-gray-900 hx:contrast-more:border hx:contrast-more:border-transparent hx:contrast-more:text-gray-900 hx:contrast-more:hover:border-gray-900 hx:dark:text-neutral-400 hx:dark:hover:bg-primary-100/5 hx:dark:hover:text-gray-50 hx:contrast-more:dark:text-gray-50 hx:contrast-more:dark:hover:border-gray-50 href/garden/projects/terminal_charts/ >Charting in the terminal /a> /li>/ul> /div> /li>li classhx:flex hx:flex-col >a classhx:flex hx:items-center hx:justify-between hx:gap-2 hx:cursor-pointer hx:rounded-sm hx:px-2 hx:py-1.5 hx:text-sm hx:transition-colors -webkit-tap-highlight-color:transparent -webkit-touch-callout:none word-break:break-word hx:text-gray-500 hx:hover:bg-gray-100 hx:hover:text-gray-900 hx:contrast-more:border hx:contrast-more:border-transparent hx:contrast-more:text-gray-900 hx:contrast-more:hover:border-gray-900 hx:dark:text-neutral-400 hx:dark:hover:bg-primary-100/5 hx:dark:hover:text-gray-50 hx:contrast-more:dark:text-gray-50 hx:contrast-more:dark:hover:border-gray-50 href/garden/areas/ >Areas span classhextra-sidebar-collapsible-button>svg fillnone viewBox0 0 24 24 strokecurrentColor classhx:h-18px hx:min-w-18px hx:rounded-xs hx:p-0.5 hx:hover:bg-gray-800/5 hx:dark:hover:bg-gray-100/5>path stroke-linecapround stroke-linejoinround stroke-width2 dM9 5l7 7-7 7 classhx:origin-center hx:transition-transform hx:rtl:-rotate-180>/path>/svg>/span> /a> div classhx:ltr:pr-0 hx:overflow-hidden> ul classhx:relative hx:flex hx:flex-col hx:gap-1 hx:before:absolute hx:before:inset-y-1 hx:before:w-px hx:before:bg-gray-200 hx:before:content- hx:ltr:ml-3 hx:ltr:pl-3 hx:ltr:before:left-0 hx:rtl:mr-3 hx:rtl:pr-3 hx:rtl:before:right-0 hx:dark:before:bg-neutral-800>li classhx:flex hx:flex-col >a classhx:flex hx:items-center hx:justify-between hx:gap-2 hx:cursor-pointer hx:rounded-sm hx:px-2 hx:py-1.5 hx:text-sm hx:transition-colors -webkit-tap-highlight-color:transparent -webkit-touch-callout:none word-break:break-word hx:text-gray-500 hx:hover:bg-gray-100 hx:hover:text-gray-900 hx:contrast-more:border hx:contrast-more:border-transparent hx:contrast-more:text-gray-900 hx:contrast-more:hover:border-gray-900 hx:dark:text-neutral-400 hx:dark:hover:bg-primary-100/5 hx:dark:hover:text-gray-50 hx:contrast-more:dark:text-gray-50 hx:contrast-more:dark:hover:border-gray-50 href/garden/areas/emerging_technology/ >Navigating emerging technology /a> /li>/ul> /div> /li>li classhx:flex hx:flex-col >a classhx:flex hx:items-center hx:justify-between hx:gap-2 hx:cursor-pointer hx:rounded-sm hx:px-2 hx:py-1.5 hx:text-sm hx:transition-colors -webkit-tap-highlight-color:transparent -webkit-touch-callout:none word-break:break-word hx:text-gray-500 hx:hover:bg-gray-100 hx:hover:text-gray-900 hx:contrast-more:border hx:contrast-more:border-transparent hx:contrast-more:text-gray-900 hx:contrast-more:hover:border-gray-900 hx:dark:text-neutral-400 hx:dark:hover:bg-primary-100/5 hx:dark:hover:text-gray-50 hx:contrast-more:dark:text-gray-50 hx:contrast-more:dark:hover:border-gray-50 href/garden/resources/ >Resources span classhextra-sidebar-collapsible-button>svg fillnone viewBox0 0 24 24 strokecurrentColor classhx:h-18px hx:min-w-18px hx:rounded-xs hx:p-0.5 hx:hover:bg-gray-800/5 hx:dark:hover:bg-gray-100/5>path stroke-linecapround stroke-linejoinround stroke-width2 dM9 5l7 7-7 7 classhx:origin-center hx:transition-transform hx:rtl:-rotate-180>/path>/svg>/span> /a> div classhx:ltr:pr-0 hx:overflow-hidden> ul classhx:relative hx:flex hx:flex-col hx:gap-1 hx:before:absolute hx:before:inset-y-1 hx:before:w-px hx:before:bg-gray-200 hx:before:content- hx:ltr:ml-3 hx:ltr:pl-3 hx:ltr:before:left-0 hx:rtl:mr-3 hx:rtl:pr-3 hx:rtl:before:right-0 hx:dark:before:bg-neutral-800>li classhx:flex hx:flex-col >a classhx:flex hx:items-center hx:justify-between hx:gap-2 hx:cursor-pointer hx:rounded-sm hx:px-2 hx:py-1.5 hx:text-sm hx:transition-colors -webkit-tap-highlight-color:transparent -webkit-touch-callout:none word-break:break-word hx:text-gray-500 hx:hover:bg-gray-100 hx:hover:text-gray-900 hx:contrast-more:border hx:contrast-more:border-transparent hx:contrast-more:text-gray-900 hx:contrast-more:hover:border-gray-900 hx:dark:text-neutral-400 hx:dark:hover:bg-primary-100/5 hx:dark:hover:text-gray-50 hx:contrast-more:dark:text-gray-50 hx:contrast-more:dark:hover:border-gray-50 href/garden/resources/commands/ >Random unix commands /a> /li>/ul> /div> /li>li classhx:flex hx:flex-col >a classhx:flex hx:items-center hx:justify-between hx:gap-2 hx:cursor-pointer hx:rounded-sm hx:px-2 hx:py-1.5 hx:text-sm hx:transition-colors -webkit-tap-highlight-color:transparent -webkit-touch-callout:none word-break:break-word hx:text-gray-500 hx:hover:bg-gray-100 hx:hover:text-gray-900 hx:contrast-more:border hx:contrast-more:border-transparent hx:contrast-more:text-gray-900 hx:contrast-more:hover:border-gray-900 hx:dark:text-neutral-400 hx:dark:hover:bg-primary-100/5 hx:dark:hover:text-gray-50 hx:contrast-more:dark:text-gray-50 hx:contrast-more:dark:hover:border-gray-50 href/garden/archive/ >Archives /a> /li>/ul> /div>/li> li class>a classhx:flex hx:items-center hx:justify-between hx:gap-2 hx:cursor-pointer hx:rounded-sm hx:px-2 hx:py-1.5 hx:text-sm hx:transition-colors -webkit-tap-highlight-color:transparent -webkit-touch-callout:none word-break:break-word hx:text-gray-500 hx:hover:bg-gray-100 hx:hover:text-gray-900 hx:contrast-more:border hx:contrast-more:border-transparent hx:contrast-more:text-gray-900 hx:contrast-more:hover:border-gray-900 hx:dark:text-neutral-400 hx:dark:hover:bg-primary-100/5 hx:dark:hover:text-gray-50 hx:contrast-more:dark:text-gray-50 hx:contrast-more:dark:hover:border-gray-50 href/projects/ >Projects span classhextra-sidebar-collapsible-button>svg fillnone viewBox0 0 24 24 strokecurrentColor classhx:h-18px hx:min-w-18px hx:rounded-xs hx:p-0.5 hx:hover:bg-gray-800/5 hx:dark:hover:bg-gray-100/5>path stroke-linecapround stroke-linejoinround stroke-width2 dM9 5l7 7-7 7 classhx:origin-center hx:transition-transform hx:rtl:-rotate-180>/path>/svg>/span> /a>div classhx:ltr:pr-0 hx:overflow-hidden> ul classhx:relative hx:flex hx:flex-col hx:gap-1 hx:before:absolute hx:before:inset-y-1 hx:before:w-px hx:before:bg-gray-200 hx:before:content- hx:ltr:ml-3 hx:ltr:pl-3 hx:ltr:before:left-0 hx:rtl:mr-3 hx:rtl:pr-3 hx:rtl:before:right-0 hx:dark:before:bg-neutral-800>li classhx:flex hx:flex-col >a classhx:flex hx:items-center hx:justify-between hx:gap-2 hx:cursor-pointer hx:rounded-sm hx:px-2 hx:py-1.5 hx:text-sm hx:transition-colors -webkit-tap-highlight-color:transparent -webkit-touch-callout:none word-break:break-word hx:text-gray-500 hx:hover:bg-gray-100 hx:hover:text-gray-900 hx:contrast-more:border hx:contrast-more:border-transparent hx:contrast-more:text-gray-900 hx:contrast-more:hover:border-gray-900 hx:dark:text-neutral-400 hx:dark:hover:bg-primary-100/5 hx:dark:hover:text-gray-50 hx:contrast-more:dark:text-gray-50 hx:contrast-more:dark:hover:border-gray-50 href/projects/phpdebug/ >PHPDebug /a> /li>li classhx:flex hx:flex-col >a classhx:flex hx:items-center hx:justify-between hx:gap-2 hx:cursor-pointer hx:rounded-sm hx:px-2 hx:py-1.5 hx:text-sm hx:transition-colors -webkit-tap-highlight-color:transparent -webkit-touch-callout:none word-break:break-word hx:text-gray-500 hx:hover:bg-gray-100 hx:hover:text-gray-900 hx:contrast-more:border hx:contrast-more:border-transparent hx:contrast-more:text-gray-900 hx:contrast-more:hover:border-gray-900 hx:dark:text-neutral-400 hx:dark:hover:bg-primary-100/5 hx:dark:hover:text-gray-50 hx:contrast-more:dark:text-gray-50 hx:contrast-more:dark:hover:border-gray-50 href/projects/randomcodes/ >Random Codes /a> /li>li classhx:flex hx:flex-col >a classhx:flex hx:items-center hx:justify-between hx:gap-2 hx:cursor-pointer hx:rounded-sm hx:px-2 hx:py-1.5 hx:text-sm hx:transition-colors -webkit-tap-highlight-color:transparent -webkit-touch-callout:none word-break:break-word hx:text-gray-500 hx:hover:bg-gray-100 hx:hover:text-gray-900 hx:contrast-more:border hx:contrast-more:border-transparent hx:contrast-more:text-gray-900 hx:contrast-more:hover:border-gray-900 hx:dark:text-neutral-400 hx:dark:hover:bg-primary-100/5 hx:dark:hover:text-gray-50 hx:contrast-more:dark:text-gray-50 hx:contrast-more:dark:hover:border-gray-50 href/projects/frankenstatus/ >Frankenstatus /a> /li>li classhx:flex hx:flex-col >a classhx:flex hx:items-center hx:justify-between hx:gap-2 hx:cursor-pointer hx:rounded-sm hx:px-2 hx:py-1.5 hx:text-sm hx:transition-colors -webkit-tap-highlight-color:transparent -webkit-touch-callout:none word-break:break-word hx:text-gray-500 hx:hover:bg-gray-100 hx:hover:text-gray-900 hx:contrast-more:border hx:contrast-more:border-transparent hx:contrast-more:text-gray-900 hx:contrast-more:hover:border-gray-900 hx:dark:text-neutral-400 hx:dark:hover:bg-primary-100/5 hx:dark:hover:text-gray-50 hx:contrast-more:dark:text-gray-50 hx:contrast-more:dark:hover:border-gray-50 href/projects/covid/ >COVID-19 JavaScript /a> /li>li classhx:flex hx:flex-col >a classhx:flex hx:items-center hx:justify-between hx:gap-2 hx:cursor-pointer hx:rounded-sm hx:px-2 hx:py-1.5 hx:text-sm hx:transition-colors -webkit-tap-highlight-color:transparent -webkit-touch-callout:none word-break:break-word hx:text-gray-500 hx:hover:bg-gray-100 hx:hover:text-gray-900 hx:contrast-more:border hx:contrast-more:border-transparent hx:contrast-more:text-gray-900 hx:contrast-more:hover:border-gray-900 hx:dark:text-neutral-400 hx:dark:hover:bg-primary-100/5 hx:dark:hover:text-gray-50 hx:contrast-more:dark:text-gray-50 hx:contrast-more:dark:hover:border-gray-50 href/projects/sona/ >State of the Nation Corpus /a> /li>li classhx:flex hx:flex-col >a classhx:flex hx:items-center hx:justify-between hx:gap-2 hx:cursor-pointer hx:rounded-sm hx:px-2 hx:py-1.5 hx:text-sm hx:transition-colors -webkit-tap-highlight-color:transparent -webkit-touch-callout:none word-break:break-word hx:text-gray-500 hx:hover:bg-gray-100 hx:hover:text-gray-900 hx:contrast-more:border hx:contrast-more:border-transparent hx:contrast-more:text-gray-900 hx:contrast-more:hover:border-gray-900 hx:dark:text-neutral-400 hx:dark:hover:bg-primary-100/5 hx:dark:hover:text-gray-50 hx:contrast-more:dark:text-gray-50 hx:contrast-more:dark:hover:border-gray-50 href/projects/nix-configs/ >Nix configs /a> /li>li classhx:flex hx:flex-col >a classhx:flex hx:items-center hx:justify-between hx:gap-2 hx:cursor-pointer hx:rounded-sm hx:px-2 hx:py-1.5 hx:text-sm hx:transition-colors -webkit-tap-highlight-color:transparent -webkit-touch-callout:none word-break:break-word hx:text-gray-500 hx:hover:bg-gray-100 hx:hover:text-gray-900 hx:contrast-more:border hx:contrast-more:border-transparent hx:contrast-more:text-gray-900 hx:contrast-more:hover:border-gray-900 hx:dark:text-neutral-400 hx:dark:hover:bg-primary-100/5 hx:dark:hover:text-gray-50 hx:contrast-more:dark:text-gray-50 hx:contrast-more:dark:hover:border-gray-50 href/projects/foresight_tools/ >Foresight Tools /a> /li>li classhx:flex hx:flex-col >a classhx:flex hx:items-center hx:justify-between hx:gap-2 hx:cursor-pointer hx:rounded-sm hx:px-2 hx:py-1.5 hx:text-sm hx:transition-colors -webkit-tap-highlight-color:transparent -webkit-touch-callout:none word-break:break-word hx:text-gray-500 hx:hover:bg-gray-100 hx:hover:text-gray-900 hx:contrast-more:border hx:contrast-more:border-transparent hx:contrast-more:text-gray-900 hx:contrast-more:hover:border-gray-900 hx:dark:text-neutral-400 hx:dark:hover:bg-primary-100/5 hx:dark:hover:text-gray-50 hx:contrast-more:dark:text-gray-50 hx:contrast-more:dark:hover:border-gray-50 href/projects/chartea/ >Chartea /a> /li>/ul> /div>/li> /ul> /div> /aside> div classhx:w-full hx:break-words hx:min-h-calc(100vh-var(--navbar-height)) hx:min-w-0 hx:pb-8 hx:pt-8 hx:md:pt-12 hx:pl-max(env(safe-area-inset-left),1.5rem) hx:pr-max(env(safe-area-inset-left),1.5rem)> div classhx:flex hx:flex-col hx:items-start> h1 classnot-prose hx:text-4xl hx:font-bold hx:leading-none hx:tracking-tighter hx:md:text-5xl hx:py-2 hx:bg-clip-text hx:text-transparent hx:bg-gradient-to-r hx:from-gray-900 hx:to-gray-600 hx:dark:from-gray-100 hx:dark:to-gray-400 > Product. Technology. Futures./h1>p classnot-prose hx:text-xl hx:text-gray-600 hx:dark:text-gray-400 hx:sm:text-xl > For the past 30 years I’ve built and managed digital products, contributing through strategic foresight, product management and engineering./p>div classhx:mt-6>/div>div classhextra-feature-grid hx:grid hx:sm:max-lg:grid-cols-2 hx:max-sm:grid-cols-1 hx:gap-4 hx:w-full not-prose style--hextra-feature-grid-cols: 3; > a href/projects class hextra-feature-card not-prose hx:block hx:relative hx:overflow-hidden hx:rounded-3xl hx:border hx:border-gray-200 hx:hover:border-gray-300 hx:dark:border-neutral-800 hx:dark:hover:border-neutral-700 hx:before:pointer-events-none hx:before:absolute hx:before:inset-0 hx:before:bg-glass-gradient > div classhx:relative hx:w-full hx:p-6> h3 classhx:text-2xl hx:font-medium hx:leading-6 hx:mb-2 hx:flex hx:items-center> span classhx:pr-2>svg height1.5rem xmlnshttp://www.w3.org/2000/svg fillnone viewBox0 0 24 24 stroke-width2 strokecurrentColor aria-hiddentrue>path stroke-linecapround stroke-linejoinround dM13 10V3L4 14h7v7l9-11h-7z/>/svg>/span> span>Projects/span> /h3> p classhx:text-gray-500 hx:dark:text-gray-400 hx:text-sm hx:leading-6>A collection of personal projects, both current and archived. Archived projects are no longer maintained, but listed for interest./p> /div>/a> a href/writing class hextra-feature-card not-prose hx:block hx:relative hx:overflow-hidden hx:rounded-3xl hx:border hx:border-gray-200 hx:hover:border-gray-300 hx:dark:border-neutral-800 hx:dark:hover:border-neutral-700 hx:before:pointer-events-none hx:before:absolute hx:before:inset-0 hx:before:bg-glass-gradient > div classhx:relative hx:w-full hx:p-6> h3 classhx:text-2xl hx:font-medium hx:leading-6 hx:mb-2 hx:flex hx:items-center> span classhx:pr-2>svg height1.5rem xmlnshttp://www.w3.org/2000/svg fillnone viewBox0 0 24 24 stroke-width2 strokecurrentColor aria-hiddentrue>path stroke-linecapround stroke-linejoinround dM12 6.253v13m0-13C10.832 5.477 9.246 5 7.5 5S4.168 5.477 3 6.253v13C4.168 18.477 5.754 18 7.5 18s3.332.477 4.5 1.253m0-13C13.168 5.477 14.754 5 16.5 5c1.747 0 3.332.477 4.5 1.253v13C19.832 18.477 18.247 18 16.5 18c-1.746 0-3.332.477-4.5 1.253/>/svg>/span> span>Writing/span> /h3> p classhx:text-gray-500 hx:dark:text-gray-400 hx:text-sm hx:leading-6>Longer form (and optimistically) evergreen content. Updated sporadicaly./p> /div>/a> a href/garden class hextra-feature-card not-prose hx:block hx:relative hx:overflow-hidden hx:rounded-3xl hx:border hx:border-gray-200 hx:hover:border-gray-300 hx:dark:border-neutral-800 hx:dark:hover:border-neutral-700 hx:before:pointer-events-none hx:before:absolute hx:before:inset-0 hx:before:bg-glass-gradient > div classhx:relative hx:w-full hx:p-6> h3 classhx:text-2xl hx:font-medium hx:leading-6 hx:mb-2 hx:flex hx:items-center> span classhx:pr-2>svg height1.5rem xmlnshttp://www.w3.org/2000/svg fillnone viewBox0 0 24 24 stroke-width2 strokecurrentColor aria-hiddentrue>path stroke-linecapround stroke-linejoinround dM12 3v1m0 16v1m9-9h-1M4 12H3m15.364 6.364l-.707-.707M6.343 6.343l-.707-.707m12.728 0l-.707.707M6.343 17.657l-.707.707M16 12a4 4 0 11-8 0 4 4 0 018 0z/>/svg>/span> span>Garden/span> /h3> p classhx:text-gray-500 hx:dark:text-gray-400 hx:text-sm hx:leading-6>The beginnings of a digital garden, for capturing short-form snippets and ideas still in gestation./p> /div>/a>/div> /div> /div> /div> footer classhextra-footer hx:bg-gray-100 hx:pb-env(safe-area-inset-bottom) hx:dark:bg-neutral-900 hx:print:bg-transparent>div classhextra-custom-footer hextra-max-footer-width hx:pl-max(env(safe-area-inset-left),1.5rem) hx:pr-max(env(safe-area-inset-right),1.5rem) hx:text-gray-600 hx:dark:text-gray-400>/div>/footer> script defer src/js/main.min.aec568c7def21902f0688ccfb381bda5d1ef3db58d3e62d0f3bc61b637d8a2d2.js integritysha256-rsVox97yGQLwaIzPs4G9pdHvPbWNPmLQ87xhtjfYotI>/script>script defer src/js/flexsearch.433e941a8a573ebb9931fc16fc75266ab6b93f569ac2fb4f3dc66882e0416f4c.js integritysha256-Qz6UGopXPruZMfwW/HUmara5P1aawvtPPcZoguBBb0w crossoriginanonymous>/script> script defer src/en.search.min.097e3a24da0aba2ac82ef0f53e82e1500343a7126260a0203f3a45bbe0876093.js integritysha256-CX46JNoKuirILvD1PoLhUANDpxJiYKAgPzpFu+CHYJM>/script> /body>/html>
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]