<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Chris Pennington — Blog</title><description>Blog posts from Chris Pennington</description><link>https://chrispennington.dev/</link><item><title>Learning to Think Differently</title><link>https://chrispennington.dev/blog/learning-to-think-differently/</link><guid isPermaLink="true">https://chrispennington.dev/blog/learning-to-think-differently/</guid><description>More and more, I&apos;m realizing that careful thinking and thoughtful direction is today&apos;s superpower. Here&apos;s how I&apos;ve been trying to grow.</description><pubDate>Wed, 25 Feb 2026 00:00:00 GMT</pubDate></item><item><title>Pagefind: Static Search for Astro Sites</title><link>https://chrispennington.dev/blog/pagefind-static-search-for-astro-sites/</link><guid isPermaLink="true">https://chrispennington.dev/blog/pagefind-static-search-for-astro-sites/</guid><description>Pagefind is a new static site search tool built in Rust and ideal for Astro sites.</description><pubDate>Fri, 27 Oct 2023 00:00:00 GMT</pubDate></item><item><title>Why Time Tracking Is The Secret To Productivity</title><link>https://chrispennington.dev/blog/why-time-tracking-is-the-secret-to-productivity/</link><guid isPermaLink="true">https://chrispennington.dev/blog/why-time-tracking-is-the-secret-to-productivity/</guid><description>Until you know how long each task will take you, you can’t be predictably productive.</description><pubDate>Thu, 20 Jul 2023 07:00:00 GMT</pubDate></item><item><title>How Focus Led Me To YouTube</title><link>https://chrispennington.dev/blog/how-focus-led-me-to-youtube/</link><guid isPermaLink="true">https://chrispennington.dev/blog/how-focus-led-me-to-youtube/</guid><description>My YouTube channel just hit 30,000 subscribers but no one was ever supposed to see it. Now more than ever, I’ve had to be intentional about my focus to keep the main thing “the main thing.” Here’s my story as it currently reads.</description><pubDate>Wed, 19 Jul 2023 07:00:00 GMT</pubDate></item><item><title>Safari Mobile is Ignoring My CSS</title><link>https://chrispennington.dev/blog/safari-mobile-text-is-too-big/</link><guid isPermaLink="true">https://chrispennington.dev/blog/safari-mobile-text-is-too-big/</guid><description>Safari will upscale your text if it thinks text on your site is too small. Here&apos;s how to fix it.</description><pubDate>Thu, 08 Jun 2023 07:00:00 GMT</pubDate></item><item><title>Shortcut For macOS Save Dialog</title><link>https://chrispennington.dev/blog/shortcut-for-macos-save-dialog/</link><guid isPermaLink="true">https://chrispennington.dev/blog/shortcut-for-macos-save-dialog/</guid><description>Did you know you can enter a terminal-like save dialog option in macOS?</description><pubDate>Fri, 05 May 2023 07:00:00 GMT</pubDate></item><item><title>How to Create and Use Multiple VSCode Profiles</title><link>https://chrispennington.dev/blog/how-to-create-and-use-multiple-vscode-profiles/</link><guid isPermaLink="true">https://chrispennington.dev/blog/how-to-create-and-use-multiple-vscode-profiles/</guid><description>VSCode profiles are a great way to keep your work and personal projects separate. In this post, I&apos;ll show you how to create and use multiple VSCode profiles.</description><pubDate>Wed, 12 Oct 2022 00:00:00 GMT</pubDate></item><item><title>JavaScript Reduce Method</title><link>https://chrispennington.dev/blog/reduce-method-javascript/</link><guid isPermaLink="true">https://chrispennington.dev/blog/reduce-method-javascript/</guid><description>The reduce method is one of the most powerful array methods in JavaScript, but it can also be the most confusing. In this post, I&apos;ll explain how to use the reduce method in JavaScript.</description><pubDate>Mon, 26 Sep 2022 16:55:11 GMT</pubDate></item><item><title>VS Code Keyboard Shortcuts for Coding Productivity</title><link>https://chrispennington.dev/blog/vs-code-keyboard-shortcuts-for-coding-productivity/</link><guid isPermaLink="true">https://chrispennington.dev/blog/vs-code-keyboard-shortcuts-for-coding-productivity/</guid><description>VS Code is a powerful tool made more powerful and quick by a few key keyboard shortcuts. Here are VS Code keyboard shortcuts I use every day to be more productive while coding.</description><pubDate>Wed, 01 Jun 2022 16:55:11 GMT</pubDate></item><item><title>Introduction to Terminal Commands</title><link>https://chrispennington.dev/blog/introduction-to-terminal-commands/</link><guid isPermaLink="true">https://chrispennington.dev/blog/introduction-to-terminal-commands/</guid><description>When you’re first learning web development, the terminal can intimidating. Once you grasp the basics, however, you can move much more efficiently for most tasks through the command line. This post will introduce you to basic command line commands.</description><pubDate>Tue, 17 May 2022 20:30:43 GMT</pubDate></item><item><title>Templating Classes in Astro</title><link>https://chrispennington.dev/blog/templating-classes-in-astro/</link><guid isPermaLink="true">https://chrispennington.dev/blog/templating-classes-in-astro/</guid><description>You can included templated language in Astro components to scaffold out dyanmic classes with the class:list directive.</description><pubDate>Sat, 16 Apr 2022 16:33:29 GMT</pubDate></item><item><title>Clear Mac Space Delete Adobe Cache</title><link>https://chrispennington.dev/blog/clear-mac-space-delete-adobe-cache/</link><guid isPermaLink="true">https://chrispennington.dev/blog/clear-mac-space-delete-adobe-cache/</guid><description>Adobe files can take up a ton of space on your mac, but you can limit how much cache they take up and/or remove the cache to clear up space on your hard drive if you know where to look.</description><pubDate>Tue, 08 Mar 2022 17:06:47 GMT</pubDate></item><item><title>Listing Array Items in Natural Language</title><link>https://chrispennington.dev/blog/listing-array-items-in-natural-language/</link><guid isPermaLink="true">https://chrispennington.dev/blog/listing-array-items-in-natural-language/</guid><description>When you have a list of name or items in an array, you can quickly convert the array into a string so they read in natural language (*, *, and *).</description><pubDate>Wed, 16 Feb 2022 02:17:00 GMT</pubDate></item><item><title>How to Update Npm Packages Safely With Npm Check Updates</title><link>https://chrispennington.dev/blog/how-to-update-npm-packages-safely-with-npm-check-updates/</link><guid isPermaLink="true">https://chrispennington.dev/blog/how-to-update-npm-packages-safely-with-npm-check-updates/</guid><description>When you come back to an old web dev project, it’s important to update your packages to get new features, bug fixes, and security patches. NPM Check Updates is a CLI that will help you safely make those updates.</description><pubDate>Thu, 03 Feb 2022 17:25:04 GMT</pubDate></item><item><title>Custom HTML Keyboard Maestro Prompt for Zendesk Support Articles</title><link>https://chrispennington.dev/blog/custom-html-keyboard-maestro-prompt-for-zendesk-support-articles/</link><guid isPermaLink="true">https://chrispennington.dev/blog/custom-html-keyboard-maestro-prompt-for-zendesk-support-articles/</guid><description>This Keyboard Maestro custom HTML prompt lets you query any Zendesk support center from your keyboard and allows for link pasting, previewing articles, and more.</description><pubDate>Mon, 31 Jan 2022 23:00:33 GMT</pubDate></item><item><title>How to Fix Logitech MX Master 3 Not Scrolling on Mac</title><link>https://chrispennington.dev/blog/how-to-fix-logitech-mx-master-3-not-scrolling-on-mac/</link><guid isPermaLink="true">https://chrispennington.dev/blog/how-to-fix-logitech-mx-master-3-not-scrolling-on-mac/</guid><description>When I transitioned to an M1 Mac, my Logitech MX Master 3 started acting oddly—sometimes not scrolling or letting me use the additional buttons or features. Here’s how to fix it.</description><pubDate>Mon, 03 Jan 2022 23:16:52 GMT</pubDate></item><item><title>ESV Bible Api Script for Raycast</title><link>https://chrispennington.dev/blog/esv-bible-api-script-for-raycast/</link><guid isPermaLink="true">https://chrispennington.dev/blog/esv-bible-api-script-for-raycast/</guid><description>I wrote a script that calls the ESV API using NodeJS and then copies the result to your system clipboard. It uses Raycast by default, but you could also adopt the script to work with another program or in another environment.</description><pubDate>Mon, 29 Nov 2021 19:36:41 GMT</pubDate></item><item><title>Custom HTML Prompt With Keyboard Maestro</title><link>https://chrispennington.dev/blog/custom-html-prompt-with-keyboard-maestro/</link><guid isPermaLink="true">https://chrispennington.dev/blog/custom-html-prompt-with-keyboard-maestro/</guid><description>Keyboard Maestro’s Custom Floating HTML Prompt opens the door to endless automation with web languages and tools like HTML, CSS, and JavaScript. I wrote a custom HTML prompt script in Keyboard Maestro that let’s me quickly copy YouTube links from my channel.</description><pubDate>Thu, 18 Nov 2021 00:00:00 GMT</pubDate></item><item><title>Send iMessage With AppleScript</title><link>https://chrispennington.dev/blog/send-imessage-with-applescript/</link><guid isPermaLink="true">https://chrispennington.dev/blog/send-imessage-with-applescript/</guid><description>You can pass variables or arguments into an AppleScript to send custom messages to specific people.</description><pubDate>Wed, 17 Nov 2021 23:53:01 GMT</pubDate></item><item><title>Add Spacers in the macOS Dock</title><link>https://chrispennington.dev/blog/add-spacer-in-macos-dock/</link><guid isPermaLink="true">https://chrispennington.dev/blog/add-spacer-in-macos-dock/</guid><description>A short Terminal script on macOS can add either regular or small spacers to your macOS dock, which you can use to separate icons.</description><pubDate>Fri, 12 Nov 2021 15:09:33 GMT</pubDate></item><item><title>Add Styling to Keyboard Keys with CSS</title><link>https://chrispennington.dev/blog/add-styling-to-keyboard-keys-css/</link><guid isPermaLink="true">https://chrispennington.dev/blog/add-styling-to-keyboard-keys-css/</guid><description>You can style keyboard input keys with the &lt;kbd&gt; element so it looks more like a physical keycap. Here’s the custom CSS I use on my site.</description><pubDate>Thu, 15 Jul 2021 22:07:26 GMT</pubDate></item><item><title>Create a Lazy Loading Custom Youtube Embed</title><link>https://chrispennington.dev/blog/lazy-load-youtube-embed-with-custom-poster/</link><guid isPermaLink="true">https://chrispennington.dev/blog/lazy-load-youtube-embed-with-custom-poster/</guid><description>Lazy load YouTube embeds and use the YouTube thumbnail as a cover. I’ll also show you how to add your own custom play button on the thumbnail image and (as a bonus) how to use the embed as a custom shortcode or partial in the Hugo SSG.</description><pubDate>Wed, 07 Jul 2021 17:13:03 GMT</pubDate></item><item><title>JavaScript new Date() Returns NaN or is Blank in Safari</title><link>https://chrispennington.dev/blog/safari-does-not-show-new-date-from-javascript/</link><guid isPermaLink="true">https://chrispennington.dev/blog/safari-does-not-show-new-date-from-javascript/</guid><description>Why is my JavaScript not showing in Safari? Are you trying to add dates in the wrong format? Safari does not allow for all date formats and trying to add new events may show blank or throw an error in Safari if you’re using the wrong format.</description><pubDate>Tue, 06 Jul 2021 19:19:36 GMT</pubDate></item><item><title>How Do You Write a Variable in JavaScript?</title><link>https://chrispennington.dev/blog/how-do-you-write-a-variable-in-javascript/</link><guid isPermaLink="true">https://chrispennington.dev/blog/how-do-you-write-a-variable-in-javascript/</guid><description>Learn how to write JavaScript variables for beginners. I’ll cover three variable keywords, naming conventions, and variable values.</description><pubDate>Tue, 08 Jun 2021 19:54:13 GMT</pubDate></item><item><title>Introduction to JavaScript</title><link>https://chrispennington.dev/blog/introduction-to-javascript/</link><guid isPermaLink="true">https://chrispennington.dev/blog/introduction-to-javascript/</guid><description>This guide offers tips for learning JavaScript, emphasizing the importance of focusing on concepts over syntax, building projects from scratch, embracing failure, and iterating to improve skills.</description><pubDate>Tue, 08 Jun 2021 18:54:05 GMT</pubDate></item><item><title>Compile and Minify SCSS with Gulpjs in Hugo</title><link>https://chrispennington.dev/blog/20201219-compile-and-minify-scss-with-gulpjs-in-hugo/</link><guid isPermaLink="true">https://chrispennington.dev/blog/20201219-compile-and-minify-scss-with-gulpjs-in-hugo/</guid><description>With GulpJS, you can automatically compile, prefix, minify, and rename your SCSS to CSS.</description><pubDate>Sat, 19 Dec 2020 18:20:02 GMT</pubDate></item><item><title>How to Crop a Gif to a Square</title><link>https://chrispennington.dev/blog/20201218-how-to-crop-a-gif-to-a-square/</link><guid isPermaLink="true">https://chrispennington.dev/blog/20201218-how-to-crop-a-gif-to-a-square/</guid><description>If you need to crop a gif to 1:1 or crop a gif to square, there&apos;s a great command line tool called gifsicle that can crop, resize, and adjust your gif in a bunch of different ways.</description><pubDate>Fri, 18 Dec 2020 18:51:05 GMT</pubDate></item><item><title>Git Icon Set</title><link>https://chrispennington.dev/blog/20201123-git-icon-set/</link><guid isPermaLink="true">https://chrispennington.dev/blog/20201123-git-icon-set/</guid><description>A free icon set for common Git commands for iOS Shortcuts, Omnifocus Perspectives, macOS folders, or any other needs.</description><pubDate>Mon, 23 Nov 2020 15:36:43 GMT</pubDate></item><item><title>Change Mac Output to Speaker or Homepod</title><link>https://chrispennington.dev/blog/20201120-change-sound-output-to-speaker-or-airplay-device/</link><guid isPermaLink="true">https://chrispennington.dev/blog/20201120-change-sound-output-to-speaker-or-airplay-device/</guid><description>Airplay to a HomePod from your Mac or switch to any speaker output without scripting—just a simple Keyboard Maestro macro.</description><pubDate>Fri, 20 Nov 2020 15:10:20 GMT</pubDate></item><item><title>Delayed Texts with Apple Shortcuts</title><link>https://chrispennington.dev/blog/delayed-texts-with-apple-shortcuts/</link><guid isPermaLink="true">https://chrispennington.dev/blog/delayed-texts-with-apple-shortcuts/</guid><description>I created a system to scheduling out delayed text messages using Apple Shortcuts and Data Jar.</description><pubDate>Sun, 15 Nov 2020 00:00:00 GMT</pubDate></item><item><title>Git Commands</title><link>https://chrispennington.dev/blog/git-commands/</link><guid isPermaLink="true">https://chrispennington.dev/blog/git-commands/</guid><description>A basic guide to regular git commands I always forget…</description><pubDate>Tue, 11 Aug 2020 15:46:42 GMT</pubDate></item><item><title>Hugo Setup</title><link>https://chrispennington.dev/blog/hugo-setup/</link><guid isPermaLink="true">https://chrispennington.dev/blog/hugo-setup/</guid><description>A basic guide to setting up a Hugo site with GitHub and Netlify.</description><pubDate>Fri, 07 Aug 2020 21:04:03 GMT</pubDate></item></channel></rss>