https://jpshlk.com/

ID de exploración:
8dd607a6-1375-47ef-8d94-08e8a7bcdf68Finalizado
URL enviada:
https://jpshlk.com/
Informe finalizado:

Enlaces: 7 encontrados

EnlaceTexto
RoutineHub Page
github
mastodon
instagram
linkedin
buymeacoffee .cls-1, .cls-2 { stroke-width: 0px; } .cls-2 { fill: #fd0; }
the source code

Variables JavaScript: 4 encontradas

NombreTipo
onbeforetoggleobject
documentPictureInPictureobject
onscrollendobject
isThemeSwitherInitializedboolean

Mensajes de registro de la consola: 0 encontrados

HTML

<!DOCTYPE html><html lang="en-us" class="scroll-smooth light"><head><!-- Global Metadata --><meta charset="utf-8" lang="en-us"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" type="image/png" href="/apple-touch-icon.png"><link rel="icon" type="image/svg+xml" href="/favicon.svg"><link rel="icon" type="image/x-icon" href="/favicon.ico"><link rel="icon" type="image/png" href="/favicon.png"><meta name="generator" content="Astro v3.6.5"><!-- Font preloads --><link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin=""><link href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&amp;display=swap" rel="stylesheet" crossorigin=""><!--<link rel="preload" href="/fonts/atkinson-regular.woff" as="font" type="font/woff" crossorigin />--><!--<link rel="preload" href="/fonts/atkinson-bold.woff" as="font" type="font/woff" crossorigin />--><!-- Canonical URL --><link rel="canonical" href="https://jshlk.com/"><!-- Primary Meta Tags --><title>jpshlk.com</title><meta name="description" content="A blog about things I find useful, and want to remember."><!-- Open Graph / Facebook --><meta property="og:type" content="website"><meta property="og:url" content="https://jshlk.com/"><meta property="og:title" content="jpshlk.com"><meta property="og:description" content="A blog about things I find useful, and want to remember."><meta property="og:image" content="https://jshlk.com/blog-placeholder-1.jpg"><!-- Twitter --><meta property="twitter:card" content="summary_large_image"><meta property="twitter:url" content="https://jshlk.com/"><meta property="twitter:title" content="jpshlk.com"><meta property="twitter:description" content="A blog about things I find useful, and want to remember."><meta property="twitter:image" content="https://jshlk.com/blog-placeholder-1.jpg"><!-- Favicons --><link rel="apple-touch-icon" sizes="180x180" href="/static/favicons/apple-touch-icon.png"><link rel="icon" type="image/png" sizes="32x32" href="/static/favicons/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="/static/favicons/favicon-16x16.png"><link rel="manifest" href="/static/favicons/site.webmanifest"><link rel="mask-icon" href="/static/favicons/apple-touch-icon.png"><meta name="msapplication-TileColor" content="#000000"><meta name="theme-color" media="(prefers-color-scheme: light)" content="#fff"><meta name="theme-color" media="(prefers-color-scheme: dark)" content="#000"><link rel="alternate" type="application/rss+xml" href="/rss.xml"><!-- Other Stuff --><meta name="impact-site-verification" value="ee39c5de-d8d2-4d6e-925b-a10838f07d68"><link rel="me" href="https://mastodon.social/@jpasholk"><script async="" defer="" src="https://buttons.github.io/buttons.js" data-astro-exec=""></script><meta name="astro-view-transitions-enabled" content="true"><meta name="astro-view-transitions-fallback" content="animate"><link rel="stylesheet" href="/_astro/about.ee05ddf2.css">
<style>.task-list-item:before{display:none}.task-list-item{list-style-type:none}.footnotes{margin-top:3rem;border-top-width:1px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity));padding-top:2rem}:is(.dark .footnotes){--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity))}.data-footnote-backref{text-decoration-line:none}.csl-entry{margin-top:1.25rem;margin-bottom:1.25rem}input:-webkit-autofill,input:-webkit-autofill:focus{-webkit-transition:background-color 600000s 0s,color 600000s 0s;transition:background-color 600000s 0s,color 600000s 0s}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}
@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0}}@keyframes astroFadeOut{to{opacity:0}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}
</style><script type="module" src="/_astro/hoisted.39271966.js" data-astro-exec=""></script>
<script type="module" src="/_astro/page.b7ef8561.js" data-astro-exec=""></script><style>[data-astro-transition-scope="astro-f6245za2-1"] { view-transition-name: astro-f6245za2-1; }@layer astro { ::view-transition-old(astro-f6245za2-1) { 
	animation-duration: 0.3s;
	animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
	animation-fill-mode: both;
	animation-name: astroFadeOut; }::view-transition-new(astro-f6245za2-1) { 
	animation-duration: 0.3s;
	animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
	animation-fill-mode: both;
	animation-name: astroFadeIn; }[data-astro-transition=back]::view-transition-old(astro-f6245za2-1) { 
	animation-duration: 0.3s;
	animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
	animation-fill-mode: both;
	animation-name: astroFadeOut; }[data-astro-transition=back]::view-transition-new(astro-f6245za2-1) { 
	animation-duration: 0.3s;
	animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
	animation-fill-mode: both;
	animation-name: astroFadeIn; } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-f6245za2-1"],
			[data-astro-transition-fallback="old"][data-astro-transition-scope="astro-f6245za2-1"] { 
	animation-duration: 0.3s;
	animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
	animation-fill-mode: both;
	animation-name: astroFadeOut; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-f6245za2-1"],
			[data-astro-transition-fallback="new"][data-astro-transition-scope="astro-f6245za2-1"] { 
	animation-duration: 0.3s;
	animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
	animation-fill-mode: both;
	animation-name: astroFadeIn; }[data-astro-transition=back][data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-f6245za2-1"],
			[data-astro-transition=back][data-astro-transition-fallback="old"][data-astro-transition-scope="astro-f6245za2-1"] { 
	animation-duration: 0.3s;
	animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
	animation-fill-mode: both;
	animation-name: astroFadeOut; }[data-astro-transition=back][data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-f6245za2-1"],
			[data-astro-transition=back][data-astro-transition-fallback="new"][data-astro-transition-scope="astro-f6245za2-1"] { 
	animation-duration: 0.3s;
	animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
	animation-fill-mode: both;
	animation-name: astroFadeIn; }</style><style>[data-astro-transition-scope="astro-vl4az43y-2"] { view-transition-name: astro-vl4az43y-2; }@layer astro { ::view-transition-old(astro-vl4az43y-2) { 
	animation-duration: 180ms;
	animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
	animation-fill-mode: both;
	animation-name: astroFadeOut; }::view-transition-new(astro-vl4az43y-2) { 
	animation-duration: 180ms;
	animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
	animation-fill-mode: both;
	animation-name: astroFadeIn; }[data-astro-transition=back]::view-transition-old(astro-vl4az43y-2) { 
	animation-duration: 180ms;
	animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
	animation-fill-mode: both;
	animation-name: astroFadeOut; }[data-astro-transition=back]::view-transition-new(astro-vl4az43y-2) { 
	animation-duration: 180ms;
	animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
	animation-fill-mode: both;
	animation-name: astroFadeIn; } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-vl4az43y-2"],
			[data-astro-transition-fallback="old"][data-astro-transition-scope="astro-vl4az43y-2"] { 
	animation-duration: 180ms;
	animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
	animation-fill-mode: both;
	animation-name: astroFadeOut; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-vl4az43y-2"],
			[data-astro-transition-fallback="new"][data-astro-transition-scope="astro-vl4az43y-2"] { 
	animation-duration: 180ms;
	animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
	animation-fill-mode: both;
	animation-name: astroFadeIn; }[data-astro-transition=back][data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-vl4az43y-2"],
			[data-astro-transition=back][data-astro-transition-fallback="old"][data-astro-transition-scope="astro-vl4az43y-2"] { 
	animation-duration: 180ms;
	animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
	animation-fill-mode: both;
	animation-name: astroFadeOut; }[data-astro-transition=back][data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-vl4az43y-2"],
			[data-astro-transition=back][data-astro-transition-fallback="new"][data-astro-transition-scope="astro-vl4az43y-2"] { 
	animation-duration: 180ms;
	animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
	animation-fill-mode: both;
	animation-name: astroFadeIn; }</style></head><body class="bg-white text-black antialiased dark:bg-gray-950 dark:text-white"><!--TODO: Add Google Analytics--><!--<Analytics analyticsConfig={SITE_METADATA.analytics as AnalyticsConfig} />--><section class="mx-auto max-w-3xl px-4 sm:px-6 xl:max-w-5xl xl:px-0"><div class="flex h-screen flex-col justify-between font-sans"><header class="flex items-center justify-between py-10"><div><a href="/" aria-label="Jpshlk"><div class="flex items-center justify-between"><div class="mr-3"><img src="/josh-logo.svg" alt="My site logo" width="50" height="50"></div><div class="h-6 text-2xl font-semibold sm:block dark:text-gray-100">Jpshlk</div></div></a></div><div class="flex items-center leading-5 space-x-4 sm:space-x-6"><a href="/blog" class="hidden sm:block font-medium text-gray-900 dark:text-gray-100">Blog</a><a href="/tags" class="hidden sm:block font-medium text-gray-900 dark:text-gray-100">Tags</a><a href="/projects" class="hidden sm:block font-medium text-gray-900 dark:text-gray-100">Projects</a><a href="/about" class="hidden sm:block font-medium text-gray-900 dark:text-gray-100">About</a><!--TODO: add theme button--><!--<SearchButton />--><button aria-label="Toggle Dark Mode"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="text-gray-900 dark:text-gray-100 h-6 w-6"><path class="sun hidden" fillrule="evenodd" d="M10 2a1 1 0 011 1v1a1 1 0 11-2 0V3a1 1 0 011-1zm4 8a4 4 0 11-8 0 4 4 0 018 0zm-.464 4.95l.707.707a1 1 0 001.414-1.414l-.707-.707a1 1 0 00-1.414 1.414zm2.12-10.607a1 1 0 010 1.414l-.706.707a1 1 0 11-1.414-1.414l.707-.707a1 1 0 011.414 0zM17 11a1 1 0 100-2h-1a1 1 0 100 2h1zm-7 4a1 1 0 011 1v1a1 1 0 11-2 0v-1a1 1 0 011-1zM5.05 6.464A1 1 0 106.465 5.05l-.708-.707a1 1 0 00-1.414 1.414l.707.707zm1.414 8.486l-.707.707a1 1 0 01-1.414-1.414l.707-.707a1 1 0 011.414 1.414zM4 11a1 1 0 100-2H3a1 1 0 000 2h1z" cliprule="evenodd"></path><path class="moon" d="M17.293 13.293A8 8 0 016.707 2.707a8.001 8.001 0 1010.586 10.586z"></path></svg></button><button aria-label="Toggle Menu" class="sm:hidden toggle-menu"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="text-gray-900 dark:text-gray-100 h-8 w-8"><path fillrule="evenodd" d="M3 5a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM3 10a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM3 15a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1z" cliprule="evenodd"></path></svg></button><div id="mobileMenuContainer" class="translate-x-full fixed left-0 top-0 z-10 h-full w-full transform opacity-95 dark:opacity-[0.98] bg-white duration-300 ease-in-out dark:bg-gray-950"><div class="flex justify-end"><button class="mr-8 mt-11 h-8 w-8 toggle-menu" aria-label="Toggle Menu"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="text-gray-900 dark:text-gray-100"><path fillrule="evenodd" d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" cliprule="evenodd"></path></svg></button></div><nav class="fixed mt-8 h-full"><div class="px-12 py-4"><a href="/" class="text-2xl font-bold tracking-widest text-gray-900 dark:text-gray-100">Home</a></div><div class="px-12 py-4"><a href="/blog" class="text-2xl font-bold tracking-widest text-gray-900 dark:text-gray-100">Blog</a></div><div class="px-12 py-4"><a href="/tags" class="text-2xl font-bold tracking-widest text-gray-900 dark:text-gray-100">Tags</a></div><div class="px-12 py-4"><a href="/projects" class="text-2xl font-bold tracking-widest text-gray-900 dark:text-gray-100">Projects</a></div><div class="px-12 py-4"><a href="/about" class="text-2xl font-bold tracking-widest text-gray-900 dark:text-gray-100">About</a></div></nav></div></div></header><main class="mb-auto" data-astro-transition-scope="astro-vl4az43y-2"><div class="divide-y divide-gray-200 dark:divide-gray-700"><div class="space-y-2 pb-8 pt-6 md:space-y-5"><h1 class="text-3xl font-extrabold leading-9 tracking-tight text-gray-900 dark:text-gray-100 sm:text-4xl sm:leading-10 md:text-6xl md:leading-14">
👋 I'm Josh
</h1><h2 class="text-2xl font-bold leading-8 tracking-tight dark:text-gray-100">
Thanks for stopping by!
</h2><p class="text-lg leading-7 text-gray-500 dark:text-gray-400">
Here you will find posts about iPhone and macOS apps, marketing, eCommerce, and a smidge of web development, among other things I find interesting. I'm currently learning Astro and loving it.
                I like building fun things with iOS Shortcuts, some of which you can find on my
<a target="_blank" rel="noopener noreferrer" href="https://routinehub.co/user/jpasholk" class="text-primary-500 hover:text-sky-600 dark:hover:text-primary-400">
RoutineHub Page
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-5 h-5 m-0.2 p-0.5 inline"><path fill-rule="evenodd" d="M4.25 5.5a.75.75 0 0 0-.75.75v8.5c0 .414.336.75.75.75h8.5a.75.75 0 0 0 .75-.75v-4a.75.75 0 0 1 1.5 0v4A2.25 2.25 0 0 1 12.75 17h-8.5A2.25 2.25 0 0 1 2 14.75v-8.5A2.25 2.25 0 0 1 4.25 4h5a.75.75 0 0 1 0 1.5h-5Z" clip-rule="evenodd"></path><path fill-rule="evenodd" d="M6.194 12.753a.75.75 0 0 0 1.06.053L16.5 4.44v2.81a.75.75 0 0 0 1.5 0v-4.5a.75.75 0 0 0-.75-.75h-4.5a.75.75 0 0 0 0 1.5h2.553l-9.056 8.194a.75.75 0 0 0-.053 1.06Z" clip-rule="evenodd"></path></svg></a>.
</p><hr class="h-px w-48 !mt-4 mx-auto my-8 bg-gray-200 border-0 dark:bg-gray-700"><div id="quotes" class="!mt-8 !min-h-min"><p class="text-lg leading-7 text-gray-500 dark:text-gray-400 text-center" id="quote">"The way to get started is to quit talking and begin doing."</p><p class="text-base leading-7 text-gray-400 dark:text-gray-400 text-center" id="author">~ Walt Disney</p></div><script type="module" data-astro-exec="">
    async function loadRandomQuote() {
      try {
        const response = await fetch('/quotes.json'); // Ensure the file is in the public directory
        if (!response.ok) {
          throw new Error('Network response was not ok');
        }
        const data = await response.json();
        const randomIndex = Math.floor(Math.random() * data.quotes.length);
        const quote = data.quotes[randomIndex];
        
        document.getElementById('quote').textContent = `"${quote.text}"`;
        document.getElementById('author').textContent = `~ ${quote.author}`;
      } catch (error) {
        console.error('Fetch error:', error);
        document.getElementById('quote').textContent = "Failed to load quote.";
        document.getElementById('author').textContent = "";
      }
    }
  
    loadRandomQuote();
  </script></div><ul class="divide-y divide-gray-200 dark:divide-gray-700" data-astro-transition-scope="astro-f6245za2-1"><li class="py-12"><article><div class="space-y-2 xl:grid xl:grid-cols-4 xl:items-baseline xl:space-y-0"><dl><dt class="sr-only">Published on</dt><dd class="text-base font-medium leading-6 text-gray-500 dark:text-gray-400"><time datetime="2024-05-09T00:00:00.000Z">May 9, 2024</time></dd></dl><div class="space-y-5 xl:col-span-3"><div class="space-y-6"><div><h2 class="text-2xl font-bold leading-8 tracking-tight"><a href="/blog/routinehub-podcast-live-review-sessions-5" class="text-gray-900 dark:text-gray-100">I Guest-Host A Podcast About Shortcuts</a></h2><div class="flex flex-wrap"><a href="/tags/podcast" class="mr-3 text-sm font-medium uppercase text-primary-500 hover:text-primary-600 dark:hover:text-primary-400">Podcast</a><a href="/tags/shortcuts" class="mr-3 text-sm font-medium uppercase text-primary-500 hover:text-primary-600 dark:hover:text-primary-400">Shortcuts</a></div></div><div class="prose max-w-none text-gray-500 dark:text-gray-400">I recently started co-hosting a podcast for RoutineHub, check out Episode 5!</div></div><div class="text-base font-medium leading-6"><a href="/blog/routinehub-podcast-live-review-sessions-5" class="text-primary-500 hover:text-primary-600 dark:hover:text-primary-400" aria-label="Read &quot;I Guest-Host A Podcast About Shortcuts&quot;">
Read more →
</a></div></div></div></article></li><li class="py-12"><article><div class="space-y-2 xl:grid xl:grid-cols-4 xl:items-baseline xl:space-y-0"><dl><dt class="sr-only">Published on</dt><dd class="text-base font-medium leading-6 text-gray-500 dark:text-gray-400"><time datetime="2024-05-07T00:00:00.000Z">May 7, 2024</time></dd></dl><div class="space-y-5 xl:col-span-3"><div class="space-y-6"><div><h2 class="text-2xl font-bold leading-8 tracking-tight"><a href="/blog/ui-actions-beta" class="text-gray-900 dark:text-gray-100">UI Actions Beta - First Impressions</a></h2><div class="flex flex-wrap"><a href="/tags/apps" class="mr-3 text-sm font-medium uppercase text-primary-500 hover:text-primary-600 dark:hover:text-primary-400">Apps</a><a href="/tags/mac" class="mr-3 text-sm font-medium uppercase text-primary-500 hover:text-primary-600 dark:hover:text-primary-400">Mac</a><a href="/tags/shortcuts" class="mr-3 text-sm font-medium uppercase text-primary-500 hover:text-primary-600 dark:hover:text-primary-400">Shortcuts</a></div></div><div class="prose max-w-none text-gray-500 dark:text-gray-400">Use macOS Shortcuts to control any app that has menus, buttons, or accepts keyboard input.</div></div><div class="text-base font-medium leading-6"><a href="/blog/ui-actions-beta" class="text-primary-500 hover:text-primary-600 dark:hover:text-primary-400" aria-label="Read &quot;UI Actions Beta - First Impressions&quot;">
Read more →
</a></div></div></div></article></li><li class="py-12"><article><div class="space-y-2 xl:grid xl:grid-cols-4 xl:items-baseline xl:space-y-0"><dl><dt class="sr-only">Published on</dt><dd class="text-base font-medium leading-6 text-gray-500 dark:text-gray-400"><time datetime="2024-05-05T00:00:00.000Z">May 5, 2024</time></dd></dl><div class="space-y-5 xl:col-span-3"><div class="space-y-6"><div><h2 class="text-2xl font-bold leading-8 tracking-tight"><a href="/blog/new-scam-bank-notification" class="text-gray-900 dark:text-gray-100">There's A New Scam In Town - And It's Very Sophisticated</a></h2><div class="flex flex-wrap"><a href="/tags/scams" class="mr-3 text-sm font-medium uppercase text-primary-500 hover:text-primary-600 dark:hover:text-primary-400">Scams</a><a href="/tags/news" class="mr-3 text-sm font-medium uppercase text-primary-500 hover:text-primary-600 dark:hover:text-primary-400">News</a></div></div><div class="prose max-w-none text-gray-500 dark:text-gray-400">Scammers team up to pretend they're your bank.</div></div><div class="text-base font-medium leading-6"><a href="/blog/new-scam-bank-notification" class="text-primary-500 hover:text-primary-600 dark:hover:text-primary-400" aria-label="Read &quot;There's A New Scam In Town - And It's Very Sophisticated&quot;">
Read more →
</a></div></div></div></article></li><li class="py-12"><article><div class="space-y-2 xl:grid xl:grid-cols-4 xl:items-baseline xl:space-y-0"><dl><dt class="sr-only">Published on</dt><dd class="text-base font-medium leading-6 text-gray-500 dark:text-gray-400"><time datetime="2024-05-02T00:00:00.000Z">May 2, 2024</time></dd></dl><div class="space-y-5 xl:col-span-3"><div class="space-y-6"><div><h2 class="text-2xl font-bold leading-8 tracking-tight"><a href="/blog/settapp-apps-for-power-users" class="text-gray-900 dark:text-gray-100">Setapp - Powerful Apps For Powerful Workflows</a></h2><div class="flex flex-wrap"><a href="/tags/apps" class="mr-3 text-sm font-medium uppercase text-primary-500 hover:text-primary-600 dark:hover:text-primary-400">Apps</a><a href="/tags/mac" class="mr-3 text-sm font-medium uppercase text-primary-500 hover:text-primary-600 dark:hover:text-primary-400">Mac</a></div></div><div class="prose max-w-none text-gray-500 dark:text-gray-400">Yet another subscription, but is it worth it?</div></div><div class="text-base font-medium leading-6"><a href="/blog/settapp-apps-for-power-users" class="text-primary-500 hover:text-primary-600 dark:hover:text-primary-400" aria-label="Read &quot;Setapp - Powerful Apps For Powerful Workflows&quot;">
Read more →
</a></div></div></div></article></li><li class="py-12"><article><div class="space-y-2 xl:grid xl:grid-cols-4 xl:items-baseline xl:space-y-0"><dl><dt class="sr-only">Published on</dt><dd class="text-base font-medium leading-6 text-gray-500 dark:text-gray-400"><time datetime="2024-04-26T00:00:00.000Z">Apr 26, 2024</time></dd></dl><div class="space-y-5 xl:col-span-3"><div class="space-y-6"><div><h2 class="text-2xl font-bold leading-8 tracking-tight"><a href="/blog/darksun-a-darksky-inspired-weather-app" class="text-gray-900 dark:text-gray-100">Darksun - A Dark Sky-Inspired Weather App</a></h2><div class="flex flex-wrap"><a href="/tags/apps" class="mr-3 text-sm font-medium uppercase text-primary-500 hover:text-primary-600 dark:hover:text-primary-400">Apps</a><a href="/tags/ios" class="mr-3 text-sm font-medium uppercase text-primary-500 hover:text-primary-600 dark:hover:text-primary-400">iOS</a></div></div><div class="prose max-w-none text-gray-500 dark:text-gray-400">A "spiritual-successor" to the sorely-missed weather app shows lot of promise.</div></div><div class="text-base font-medium leading-6"><a href="/blog/darksun-a-darksky-inspired-weather-app" class="text-primary-500 hover:text-primary-600 dark:hover:text-primary-400" aria-label="Read &quot;Darksun - A Dark Sky-Inspired Weather App&quot;">
Read more →
</a></div></div></div></article></li></ul></div><div class="flex justify-end text-base font-medium leading-6"><a href="/blog" class="text-primary-500 hover:text-primary-600 dark:hover:text-primary-400" aria-label="All posts">
All Posts →
</a></div></main><footer><div class="mt-16 flex flex-col items-center"><div class="mb-3 flex space-x-4"><!-- <SocialIcon kind="mail" href={`mailto:${SITE_METADATA.email}`} size={6}/> --><a class="text-sm text-gray-500 transition hover:text-gray-600" target="_blank" rel="noopener noreferrer" href="https://github.com/jpasholk"><span class="sr-only">github</span><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="fill-current text-gray-700 hover:text-primary-500 dark:text-gray-200 dark:hover:text-primary-400 h-6 w-6"><path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"></path></svg></a><!-- <SocialIcon kind="facebook" href={SITE_METADATA.facebook} size={6}/> --><!-- <SocialIcon kind="youtube" href={SITE_METADATA.youtube} size={6}/> --><a class="text-sm text-gray-500 transition hover:text-gray-600" target="_blank" rel="noopener noreferrer" href="https://mastodon.social/@jpasholk"><span class="sr-only">mastodon</span><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="fill-current text-gray-700 hover:text-primary-500 dark:text-gray-200 dark:hover:text-primary-400 h-6 w-6"><path d="M23.268 5.313c-.35-2.578-2.617-4.61-5.304-5.004C17.51.242 15.792 0 11.813 0h-.03c-3.98 0-4.835.242-5.288.309C3.882.692 1.496 2.518.917 5.127.64 6.412.61 7.837.661 9.143c.074 1.874.088 3.745.26 5.611.118 1.24.325 2.47.62 3.68.55 2.237 2.777 4.098 4.96 4.857 2.336.792 4.849.923 7.256.38.265-.061.527-.132.786-.213.585-.184 1.27-.39 1.774-.753a.057.057 0 0 0 .023-.043v-1.809a.052.052 0 0 0-.02-.041.053.053 0 0 0-.046-.01 20.282 20.282 0 0 1-4.709.545c-2.73 0-3.463-1.284-3.674-1.818a5.593 5.593 0 0 1-.319-1.433.053.053 0 0 1 .066-.054c1.517.363 3.072.546 4.632.546.376 0 .75 0 1.125-.01 1.57-.044 3.224-.124 4.768-.422.038-.008.077-.015.11-.024 2.435-.464 4.753-1.92 4.989-5.604.008-.145.03-1.52.03-1.67.002-.512.167-3.63-.024-5.545zm-3.748 9.195h-2.561V8.29c0-1.309-.55-1.976-1.67-1.976-1.23 0-1.846.79-1.846 2.35v3.403h-2.546V8.663c0-1.56-.617-2.35-1.848-2.35-1.112 0-1.668.668-1.67 1.977v6.218H4.822V8.102c0-1.31.337-2.35 1.011-3.12.696-.77 1.608-1.164 2.74-1.164 1.311 0 2.302.5 2.962 1.498l.638 1.06.638-1.06c.66-.999 1.65-1.498 2.96-1.498 1.13 0 2.043.395 2.74 1.164.675.77 1.012 1.81 1.012 3.12z"></path></svg></a><a class="text-sm text-gray-500 transition hover:text-gray-600" target="_blank" rel="noopener noreferrer" href="https://www.instagram.com/joshpasholk/"><span class="sr-only">instagram</span><!--?xml version="1.0" encoding="UTF-8"?--><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="fill-current text-gray-700 hover:text-primary-500 dark:text-gray-200 dark:hover:text-primary-400 h-6 w-6"><path class="cls-1" d="M17.4,0H6.6C3,0,0,3,0,6.6v10.8C0,21,3,24,6.6,24h10.8c3.7,0,6.6-3,6.6-6.6V6.6c0-3.7-3-6.6-6.6-6.6ZM21.9,17.4c0,2.5-2,4.5-4.5,4.5H6.6c-2.5,0-4.5-2-4.5-4.5V6.6c0-2.5,2-4.5,4.5-4.5h10.8c2.5,0,4.5,2,4.5,4.5v10.8h0Z"></path><path class="cls-1" d="M12,5.8c-3.4,0-6.2,2.8-6.2,6.2s2.8,6.2,6.2,6.2,6.2-2.8,6.2-6.2-2.8-6.2-6.2-6.2ZM12,16.1c-2.2,0-4.1-1.8-4.1-4.1s1.8-4.1,4.1-4.1,4.1,1.8,4.1,4.1c0,2.2-1.8,4.1-4.1,4.1Z"></path><path class="cls-1" d="M18.4,4c-.4,0-.8.2-1.1.5-.3.3-.5.7-.5,1.1s.2.8.5,1.1c.3.3.7.5,1.1.5s.8-.2,1.1-.5c.3-.3.5-.7.5-1.1s-.2-.8-.5-1.1c-.3-.3-.7-.5-1.1-.5Z"></path></svg></a><a class="text-sm text-gray-500 transition hover:text-gray-600" target="_blank" rel="noopener noreferrer" href="https://www.linkedin.com/in/joshpasholk"><span class="sr-only">linkedin</span><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="fill-current text-gray-700 hover:text-primary-500 dark:text-gray-200 dark:hover:text-primary-400 h-6 w-6"><path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 01-2.063-2.065 2.064 2.064 0 112.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"></path></svg></a><!-- <SocialIcon kind="twitter" href={SITE_METADATA.twitter} size={6} target="_blank"/> --><!-- <SocialIcon kind="link" href="/links" size={10} /> --><a class="text-sm text-gray-500 transition hover:text-gray-600" target="_blank" rel="noopener noreferrer" href="https://buymeacoffee.com/jpasholk"><span class="sr-only">buymeacoffee</span><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 34.74" class="fill-current text-gray-700 hover:text-primary-500 dark:text-gray-200 dark:hover:text-primary-400 h-6 w-6"><defs><style>
      .cls-1, .cls-2 {
        stroke-width: 0px;
      }
      .cls-2 {
        fill: #fd0;
      }
    </style></defs><path class="cls-1" d="M21.49,8.08h-.02s-.06-.03-.06-.03c.02.02.05.03.08.03Z"></path><path class="cls-1" d="M21.84,10.56h-.03s.03,0,.03,0Z"></path><path class="cls-1" d="M21.5,8.08s0,0,0,0c0,0,0,0,0,0,0,0,0,0,0,0Z"></path><path class="cls-1" d="M21.49,8.08h0s0,0,0,0Z"></path><path class="cls-1" d="M21.82,10.56l.04-.02h.01s.01-.02.01-.02c-.03.01-.05.03-.07.05Z"></path><path class="cls-1" d="M21.56,8.14l-.04-.04h-.03s.04.03.07.04Z"></path><path class="cls-1" d="M11.68,32.22s-.06.03-.08.06l.02-.02s.04-.03.06-.05Z"></path><path class="cls-1" d="M17.42,31.09s-.02-.03-.01.1c0-.01,0-.02,0-.03,0-.02,0-.04,0-.07Z"></path><path class="cls-1" d="M16.82,32.22s-.06.03-.08.06l.02-.02s.04-.03.06-.05Z"></path><path class="cls-1" d="M7.64,32.49s-.05-.03-.08-.04c.03.01.05.02.07.03h.02Z"></path><path class="cls-1" d="M6.73,31.62s-.02-.07-.03-.1c.01.03.02.07.03.1h0Z"></path><path class="cls-2" d="M12.84,16.05c-1.25.53-2.66,1.14-4.5,1.14-.77,0-1.53-.11-2.27-.31l1.27,13.03c.04.54.29,1.05.7,1.42.4.37.93.58,1.48.58,0,0,1.8.09,2.4.09.65,0,2.58-.09,2.58-.09.55,0,1.07-.21,1.48-.58.4-.37.65-.88.7-1.42l1.36-14.4c-.61-.21-1.22-.35-1.91-.35-1.2,0-2.16.41-3.27.89Z"></path><path class="cls-1" d="M2.14,10.49l.02.02h.01s-.02-.01-.04-.02Z"></path><path class="cls-1" d="M23.89,9.29l-.19-.96c-.17-.87-.56-1.68-1.45-2-.28-.1-.61-.14-.83-.35-.22-.21-.28-.53-.33-.83-.09-.55-.18-1.1-.28-1.64-.08-.47-.15-1-.36-1.43-.28-.58-.86-.92-1.44-1.14-.3-.11-.6-.2-.91-.28-1.45-.38-2.97-.52-4.45-.6-1.79-.1-3.58-.07-5.36.09-1.33.12-2.72.27-3.98.72-.46.17-.93.37-1.28.72-.43.44-.57,1.11-.26,1.66.22.39.6.66,1,.84.52.23,1.07.41,1.63.53,1.56.34,3.17.48,4.76.54,1.76.07,3.53.01,5.28-.17.43-.05.87-.1,1.3-.17.51-.08.84-.74.69-1.21-.18-.55-.66-.77-1.21-.69-.08.01-.16.02-.24.04h-.06c-.18.03-.37.05-.55.07-.38.04-.76.07-1.15.1-.86.06-1.72.09-2.58.09-.85,0-1.69-.02-2.54-.08-.39-.03-.77-.06-1.15-.1-.17-.02-.35-.04-.52-.06l-.17-.02h-.04s-.17-.03-.17-.03c-.35-.05-.7-.11-1.05-.19-.03,0-.07-.03-.09-.06-.02-.03-.03-.06-.03-.1s.01-.07.03-.1c.02-.03.05-.05.09-.06h0c.3-.06.6-.12.91-.17.1-.02.2-.03.3-.05h0c.19-.01.38-.05.57-.07,1.65-.17,3.3-.23,4.96-.17.8.02,1.61.07,2.41.15.17.02.34.04.51.06.07,0,.13.02.2.03l.13.02c.39.06.77.13,1.15.21.57.12,1.3.16,1.55.79.08.2.12.42.16.62l.06.26s0,0,0,.01c.13.62.27,1.25.4,1.87,0,.05.01.09,0,.14,0,.05-.03.09-.06.13-.03.04-.06.07-.1.1-.04.02-.08.04-.13.05h-.09s-.08.02-.08.02c-.26.03-.51.06-.77.09-.51.06-1.01.11-1.52.15-1.01.08-2.02.14-3.03.16-.52.01-1.03.02-1.55.02-2.05,0-4.1-.12-6.14-.36-.22-.03-.44-.05-.66-.08.17.02-.12-.02-.18-.03-.14-.02-.28-.04-.42-.06-.47-.07-.94-.16-1.41-.23-.57-.09-1.11-.05-1.62.23-.42.23-.76.58-.98,1.01-.22.46-.29.96-.39,1.45-.1.49-.25,1.02-.19,1.53.13,1.09.89,1.98,1.98,2.17,1.03.19,2.07.34,3.11.47,4.09.5,8.21.56,12.31.18.33-.03.67-.07,1-.1.1-.01.21,0,.31.04.1.03.19.09.26.16.07.07.13.16.17.26.04.1.05.2.04.31l-.1,1.01c-.21,2.04-.42,4.08-.63,6.11-.22,2.14-.44,4.28-.66,6.42-.06.6-.12,1.21-.19,1.81-.06.59-.07,1.21-.18,1.79-.18.92-.8,1.49-1.71,1.69-.83.19-1.69.29-2.54.3-.95,0-1.9-.04-2.84-.03-1.01,0-2.25-.09-3.03-.84-.69-.66-.78-1.7-.87-2.59-.12-1.19-.25-2.37-.37-3.56l-.69-6.59-.44-4.27c0-.07-.01-.14-.02-.21-.05-.51-.41-1.01-.98-.98-.49.02-1.04.43-.98.98l.33,3.16.68,6.54c.19,1.86.39,3.72.58,5.58.04.36.07.71.11,1.07.21,1.95,1.7,3,3.54,3.29,1.08.17,2.18.21,3.27.23,1.4.02,2.81.08,4.19-.18,2.04-.37,3.57-1.73,3.79-3.85.06-.61.12-1.22.19-1.83.21-2.02.41-4.03.62-6.05l.68-6.59.31-3.02c.02-.15.08-.29.18-.4.1-.11.24-.19.38-.21.58-.11,1.14-.31,1.55-.75.66-.71.79-1.63.56-2.56ZM1.97,9.94s0,.07-.01.11c0-.05,0-.1.01-.11ZM2.02,10.38s.02.02.03.04c-.02-.02-.04-.04-.03-.04h0ZM2.08,10.45s.03.06,0,0h0ZM2.19,10.54h0s0,0,0,0c0,0,0,0-.01,0h0ZM21.75,10.4c-.21.2-.52.29-.84.34-3.5.52-7.04.78-10.58.67-2.53-.09-5.03-.37-7.54-.72-.25-.03-.51-.08-.68-.26-.32-.34-.16-1.03-.08-1.44.08-.38.22-.88.67-.93.7-.08,1.52.21,2.21.32.84.13,1.67.23,2.51.31,3.59.33,7.24.28,10.82-.2.65-.09,1.3-.19,1.95-.31.58-.1,1.22-.3,1.56.3.24.41.27.95.23,1.41-.01.2-.1.39-.24.53h0Z"></path></svg></a></div><div class="mb-2 flex space-x-2 text-sm text-gray-500 dark:text-gray-400"><a href="/about">Josh Pasholk</a><div> • </div><div>© 2024</div><div> • </div><a href="/">jpshlk.com</a></div><div class="mb-8 text-sm text-gray-500 dark:text-gray-400"><p class="text-center">
Open source, built with Astro, and typeset in Inter.
</p><p class="text-center">
View
<a target="_blank" rel="noopener noreferrer" href="https://github.com/jpasholk/jpshlk-blog"><span class="underline">the source code</span><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-5 h-5 m-0.2 p-0.5 inline"><path fill-rule="evenodd" d="M4.25 5.5a.75.75 0 0 0-.75.75v8.5c0 .414.336.75.75.75h8.5a.75.75 0 0 0 .75-.75v-4a.75.75 0 0 1 1.5 0v4A2.25 2.25 0 0 1 12.75 17h-8.5A2.25 2.25 0 0 1 2 14.75v-8.5A2.25 2.25 0 0 1 4.25 4h5a.75.75 0 0 1 0 1.5h-5Z" clip-rule="evenodd"></path><path fill-rule="evenodd" d="M6.194 12.753a.75.75 0 0 0 1.06.053L16.5 4.44v2.81a.75.75 0 0 0 1.5 0v-4.5a.75.75 0 0 0-.75-.75h-4.5a.75.75 0 0 0 0 1.5h2.553l-9.056 8.194a.75.75 0 0 0-.053 1.06Z" clip-rule="evenodd"></path></svg></a>
on GitHub.
</p></div></div></footer></div></section><script async="" defer="" src="https://buttons.github.io/buttons.js" data-astro-exec=""></script></body></html>