<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>AdamDeHaven.com</title>
        <link>https://www.adamdehaven.com</link>
        <description>Full-Stack Web Developer &amp; UX Designer</description>
        <lastBuildDate>Sat, 21 Feb 2026 15:28:54 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <image>
            <title>AdamDeHaven.com</title>
            <url>https://github.com/adamdehaven.png</url>
            <link>https://www.adamdehaven.com</link>
        </image>
        <copyright>Copyright © 2014-2026 Adam DeHaven. All Rights Reserved</copyright>
        <atom:link href="https://www.adamdehaven.com/rss.xml" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[Build an MCP Server and Deploy as a Cloudflare Worker]]></title>
            <link>https://www.adamdehaven.com/articles/build-an-mcp-server-and-deploy-as-a-cloudflare-worker</link>
            <guid isPermaLink="false">https://www.adamdehaven.com/articles/build-an-mcp-server-and-deploy-as-a-cloudflare-worker</guid>
            <pubDate>Thu, 15 Jan 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Learn how to build a Model Context Protocol (MCP) server using TypeScript and deploy it as a Cloudflare Worker to give AI assistants domain-specific knowledge.]]></description>
            <author>Adam DeHaven</author>
            <enclosure url="https://www.adamdehaven.com/img/posts/building-an-mcp-server/mcp-illustration.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Spring 2025 Trip to Spain and Portugal]]></title>
            <link>https://www.adamdehaven.com/articles/spring-2025-trip-to-spain-and-portugal</link>
            <guid isPermaLink="false">https://www.adamdehaven.com/articles/spring-2025-trip-to-spain-and-portugal</guid>
            <pubDate>Thu, 19 Jun 2025 13:30:00 GMT</pubDate>
            <description><![CDATA[Highlights from our Spring 2025 trip to Spain and Portugal, including presenting at MadVue 2025.]]></description>
            <author>Adam DeHaven</author>
            <enclosure url="https://www.adamdehaven.com/img/posts/spain-and-portugal-2025/R0000712.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Powering multi-tenant applications with Nuxt]]></title>
            <link>https://www.adamdehaven.com/articles/powering-multi-tenant-applications-with-nuxt</link>
            <guid isPermaLink="false">https://www.adamdehaven.com/articles/powering-multi-tenant-applications-with-nuxt</guid>
            <pubDate>Sun, 08 Jun 2025 19:40:00 GMT</pubDate>
            <description><![CDATA[Build efficient multi-tenant applications with Nuxt, from tenant detection to dynamic content and customizable layouts, all while maintaining performance and scalability with a single codebase.]]></description>
            <author>Adam DeHaven</author>
            <enclosure url="https://www.adamdehaven.com/img/posts/nuxt-multi-tenant-apps/tenant-detection.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Spring 2024 Cruise to Honduras and Mexico on Harmony of the Seas]]></title>
            <link>https://www.adamdehaven.com/articles/spring-2024-cruise-to-honduras-and-mexico-on-harmony-of-the-seas</link>
            <guid isPermaLink="false">https://www.adamdehaven.com/articles/spring-2024-cruise-to-honduras-and-mexico-on-harmony-of-the-seas</guid>
            <pubDate>Sat, 06 Apr 2024 11:45:00 GMT</pubDate>
            <description><![CDATA[A collection of photos from our spring 2024 cruise to Roatan Honduras, Costa Maya Mexico, and Cozumel Mexico aboard the Harmony of the Seas]]></description>
            <author>Adam DeHaven</author>
            <enclosure url="https://www.adamdehaven.com/img/posts/harmony-cruise-2024/R0000050.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[How to use Nuxt MDC to render markdown documents in your Nuxt or Vue project]]></title>
            <link>https://www.adamdehaven.com/articles/how-to-use-nuxt-mdc-to-render-markdown-documents-in-your-nuxt-or-vue-project</link>
            <guid isPermaLink="false">https://www.adamdehaven.com/articles/how-to-use-nuxt-mdc-to-render-markdown-documents-in-your-nuxt-or-vue-project</guid>
            <pubDate>Sat, 30 Mar 2024 11:00:00 GMT</pubDate>
            <description><![CDATA[Use Nuxt MDC to easily render markdown documents with MarkDown Components (MDC) and built-in syntax highlighting via Shiki.]]></description>
            <author>Adam DeHaven</author>
            <enclosure url="https://www.adamdehaven.com/img/posts/nuxt-mdc.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Photos from our summer tip to Sedona, Arizona]]></title>
            <link>https://www.adamdehaven.com/articles/photos-from-our-summer-trip-to-sedona-arizona</link>
            <guid isPermaLink="false">https://www.adamdehaven.com/articles/photos-from-our-summer-trip-to-sedona-arizona</guid>
            <pubDate>Sun, 17 Mar 2024 14:30:00 GMT</pubDate>
            <description><![CDATA[A few photos from our summer trip with friends to Sedona, Arizona]]></description>
            <author>Adam DeHaven</author>
            <enclosure url="https://www.adamdehaven.com/img/posts/sedona-arizona/sedona-arizona-cathedral-rock.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Scalable architectures with Vue micro frontends: A developer-centric approach]]></title>
            <link>https://www.adamdehaven.com/articles/scalable-architectures-with-vue-micro-frontends-a-developer-centric-approach</link>
            <guid isPermaLink="false">https://www.adamdehaven.com/articles/scalable-architectures-with-vue-micro-frontends-a-developer-centric-approach</guid>
            <pubDate>Fri, 01 Dec 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[Let's explore how to harness the power of Vue.js and micro frontends to create scalable, modular architectures that prioritize the developer experience.]]></description>
            <author>Adam DeHaven</author>
            <enclosure url="https://www.adamdehaven.com/img/posts/kong-micro-frontends/micro-frontends.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Using dotfiles and Git to manage your development environment across multiple computers]]></title>
            <link>https://www.adamdehaven.com/articles/using-dotfiles-and-git-to-manage-your-development-environment-across-multiple-computers</link>
            <guid isPermaLink="false">https://www.adamdehaven.com/articles/using-dotfiles-and-git-to-manage-your-development-environment-across-multiple-computers</guid>
            <pubDate>Mon, 02 Nov 2020 16:42:00 GMT</pubDate>
            <description><![CDATA[Dotfiles are a key piece of your development environment. Let's walk through how to synchronize and back up your dotfiles utilizing a git repository.]]></description>
            <author>Adam DeHaven</author>
            <enclosure url="https://www.adamdehaven.com/img/posts/git-history.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[How to add metadata, canonical URLs, and structured data to your VuePress site]]></title>
            <link>https://www.adamdehaven.com/articles/how-to-add-metadata-canonical-urls-and-structured-data-to-your-vuepress-site</link>
            <guid isPermaLink="false">https://www.adamdehaven.com/articles/how-to-add-metadata-canonical-urls-and-structured-data-to-your-vuepress-site</guid>
            <pubDate>Tue, 06 Oct 2020 18:45:00 GMT</pubDate>
            <description><![CDATA[An outline of one solution that allows you to add structured data, canonical URLs, and additional metadata into your VuePress pages.]]></description>
            <author>Adam DeHaven</author>
            <enclosure url="https://www.adamdehaven.com/img/posts/meta-tags.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[How to change the author information in the commit history of a git repository]]></title>
            <link>https://www.adamdehaven.com/articles/update-commit-history-author-information-for-git-repository</link>
            <guid isPermaLink="false">https://www.adamdehaven.com/articles/update-commit-history-author-information-for-git-repository</guid>
            <pubDate>Mon, 28 Sep 2020 12:10:00 GMT</pubDate>
            <description><![CDATA[In this tip I'll walk you through how to fix incorrect author information in the commit history of a git repository.]]></description>
            <author>Adam DeHaven</author>
            <enclosure url="https://www.adamdehaven.com/img/themed-illustrations/user_status.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[How to use custom fonts in VS Code without admin font install privileges]]></title>
            <link>https://www.adamdehaven.com/articles/how-to-use-custom-font-in-vs-code-without-admin-font-install-privileges</link>
            <guid isPermaLink="false">https://www.adamdehaven.com/articles/how-to-use-custom-font-in-vs-code-without-admin-font-install-privileges</guid>
            <pubDate>Mon, 31 Aug 2020 17:25:00 GMT</pubDate>
            <description><![CDATA[In this quick tip I'll walk you through how to use a custom font in the Visual Studio Code editor and terminal without needing admin privileges.]]></description>
            <author>Adam DeHaven</author>
            <enclosure url="https://www.adamdehaven.com/img/posts/custom-font-header-image.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Easily crawl a website and fetch all urls from the command line]]></title>
            <link>https://www.adamdehaven.com/articles/easily-crawl-a-website-and-fetch-all-urls-with-a-shell-script</link>
            <guid isPermaLink="false">https://www.adamdehaven.com/articles/easily-crawl-a-website-and-fetch-all-urls-with-a-shell-script</guid>
            <pubDate>Tue, 07 Jul 2020 18:00:00 GMT</pubDate>
            <description><![CDATA[A bash script to spider a site, follow links, and fetch urls (with built-in filtering) into a generated text file.]]></description>
            <author>Adam DeHaven</author>
            <enclosure url="https://www.adamdehaven.com/img/themed-illustrations/coding_1.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Losing a pet is never easy]]></title>
            <link>https://www.adamdehaven.com/articles/losing-a-pet-is-never-easy</link>
            <guid isPermaLink="false">https://www.adamdehaven.com/articles/losing-a-pet-is-never-easy</guid>
            <pubDate>Thu, 02 Jul 2020 15:15:00 GMT</pubDate>
            <description><![CDATA[Losing a family pet is always hard; especially when the pet has been around longer than the relationship that formed the family.]]></description>
            <author>Adam DeHaven</author>
            <enclosure url="https://www.adamdehaven.com/img/posts/jyl-boston-terrier-on-couch.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Specify dimensions for Adobe Illustrator designs and add measurements with a Creative Cloud extension]]></title>
            <link>https://www.adamdehaven.com/articles/specify-dimensions-for-adobe-illustrator-designs-and-add-measurements-with-a-creative-cloud-extension</link>
            <guid isPermaLink="false">https://www.adamdehaven.com/articles/specify-dimensions-for-adobe-illustrator-designs-and-add-measurements-with-a-creative-cloud-extension</guid>
            <pubDate>Mon, 15 Jun 2020 19:00:00 GMT</pubDate>
            <description><![CDATA[Adobe Illustrator extension to automate specifying dimension measurements of objects, and specifying the dimensions between two objects.]]></description>
            <author>Adam DeHaven</author>
            <enclosure url="https://www.adamdehaven.com/img/posts/specify-featured.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Easily retrieve windows Wi-Fi passwords from the command line]]></title>
            <link>https://www.adamdehaven.com/articles/easily-retrieve-windows-wifi-passwords-with-a-script</link>
            <guid isPermaLink="false">https://www.adamdehaven.com/articles/easily-retrieve-windows-wifi-passwords-with-a-script</guid>
            <pubDate>Wed, 27 May 2020 19:30:00 GMT</pubDate>
            <description><![CDATA[A simple script to retrieve saved Wi-Fi passwords on a computer running Windows.]]></description>
            <author>Adam DeHaven</author>
            <enclosure url="https://www.adamdehaven.com/img/posts/wifi-router.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[How to generate a SSH key and add your public key to the server for authentication]]></title>
            <link>https://www.adamdehaven.com/articles/how-to-generate-an-ssh-key-and-add-your-public-key-to-the-server-for-authentication</link>
            <guid isPermaLink="false">https://www.adamdehaven.com/articles/how-to-generate-an-ssh-key-and-add-your-public-key-to-the-server-for-authentication</guid>
            <pubDate>Wed, 27 Jul 2016 10:00:00 GMT</pubDate>
            <description><![CDATA[This article will walk you through generating an SSH key and adding the public key to your server for passwordless access.]]></description>
            <author>Adam DeHaven</author>
            <enclosure url="https://www.adamdehaven.com/img/posts/key.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[How to setup a git repository to post commit notifications to Slack]]></title>
            <link>https://www.adamdehaven.com/articles/how-to-setup-a-git-repository-to-post-commit-notifications-to-slack</link>
            <guid isPermaLink="false">https://www.adamdehaven.com/articles/how-to-setup-a-git-repository-to-post-commit-notifications-to-slack</guid>
            <pubDate>Tue, 19 Jul 2016 09:00:00 GMT</pubDate>
            <description><![CDATA[How to install a bash script that posts a new message into a Slack channel when commits are pushed to your project's git repository.]]></description>
            <author>Adam DeHaven</author>
            <enclosure url="https://www.adamdehaven.com/img/posts/slack-bot.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Wallpapers from Unsplash - A command line prompt and Alfred App workflow]]></title>
            <link>https://www.adamdehaven.com/articles/wallpapers-from-unsplash-a-command-line-prompt-and-alfred-workflow</link>
            <guid isPermaLink="false">https://www.adamdehaven.com/articles/wallpapers-from-unsplash-a-command-line-prompt-and-alfred-workflow</guid>
            <pubDate>Fri, 08 Apr 2016 19:45:00 GMT</pubDate>
            <description><![CDATA[A command line prompt and Alfred workflow that allow Mac users to replace their desktop background(s) with photos from the popular Unsplash.com]]></description>
            <author>Adam DeHaven</author>
            <enclosure url="https://www.adamdehaven.com/img/themed-illustrations/imac.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Our spring vacation in historic Charleston, South Carolina]]></title>
            <link>https://www.adamdehaven.com/articles/our-spring-vacation-in-historic-and-beautiful-charleston-south-carolina</link>
            <guid isPermaLink="false">https://www.adamdehaven.com/articles/our-spring-vacation-in-historic-and-beautiful-charleston-south-carolina</guid>
            <pubDate>Sun, 03 Apr 2016 09:00:00 GMT</pubDate>
            <description><![CDATA[A travel list as well as a collection of photos from our Spring vacation to Charleston, South Carolina!]]></description>
            <author>Adam DeHaven</author>
            <enclosure url="https://www.adamdehaven.com/img/posts/charleston-south-carolina-pineapple-fountain.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Track and log your website's traffic with the TrafficTracker PHP class and Google Analytics]]></title>
            <link>https://www.adamdehaven.com/articles/track-and-log-your-websites-traffic-with-the-traffictracker-php-class-and-google-analytics</link>
            <guid isPermaLink="false">https://www.adamdehaven.com/articles/track-and-log-your-websites-traffic-with-the-traffictracker-php-class-and-google-analytics</guid>
            <pubDate>Fri, 10 Jul 2015 19:00:00 GMT</pubDate>
            <description><![CDATA[A PHP class that tracks a website's traffic and logs to a MySQL database by parsing cookies and custom URL parameters.]]></description>
            <author>Adam DeHaven</author>
            <enclosure url="https://www.adamdehaven.com/img/posts/traffic.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[ShortTail - An elegant YOURLS client for iPhone]]></title>
            <link>https://www.adamdehaven.com/articles/shorttail-for-yourls-an-elegant-yourls-client-for-iphone</link>
            <guid isPermaLink="false">https://www.adamdehaven.com/articles/shorttail-for-yourls-an-elegant-yourls-client-for-iphone</guid>
            <pubDate>Thu, 28 May 2015 10:30:00 GMT</pubDate>
            <description><![CDATA[ShortTail is an elegant, easy-to-use YOURLS client that talks to your server through an integrated API to shorten web links using your branded domain.]]></description>
            <author>Adam DeHaven</author>
            <enclosure url="https://www.adamdehaven.com/img/posts/ShortTail-for-YOURLS.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[The hardest thing I've ever written - A eulogy for my father]]></title>
            <link>https://www.adamdehaven.com/articles/the-hardest-thing-ive-ever-written-a-eulogy-for-my-father-larry-dehaven</link>
            <guid isPermaLink="false">https://www.adamdehaven.com/articles/the-hardest-thing-ive-ever-written-a-eulogy-for-my-father-larry-dehaven</guid>
            <pubDate>Wed, 10 Dec 2014 15:00:00 GMT</pubDate>
            <description><![CDATA[I wrote the following eulogy for the funeral service and read it aloud, which turned out to be the hardest, most emotional thing I've ever put myself through.]]></description>
            <author>Adam DeHaven</author>
            <enclosure url="https://www.adamdehaven.com/img/posts/landscaping-memory-stone-marker.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[How to customize your shell prompt with Starship (works for any shell)]]></title>
            <link>https://www.adamdehaven.com/snippets/how-to-customize-your-shell-prompt-with-starship</link>
            <guid isPermaLink="false">https://www.adamdehaven.com/snippets/how-to-customize-your-shell-prompt-with-starship</guid>
            <pubDate>Sun, 25 Aug 2024 21:00:00 GMT</pubDate>
            <description><![CDATA[Learn how to customize your shell prompt to surface the info you care about.]]></description>
            <author>Adam DeHaven</author>
            <enclosure url="https://www.adamdehaven.com/img/snippets/starship-prompt.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Customize your Git config settings based on your working directory]]></title>
            <link>https://www.adamdehaven.com/snippets/customize-your-git-config-settings-based-on-your-working-directory</link>
            <guid isPermaLink="false">https://www.adamdehaven.com/snippets/customize-your-git-config-settings-based-on-your-working-directory</guid>
            <pubDate>Sat, 20 Jul 2024 10:00:00 GMT</pubDate>
            <description><![CDATA[Learn how to conditionally include different .gitconfig settings based on the project's working directory.]]></description>
            <author>Adam DeHaven</author>
            <enclosure url="https://www.adamdehaven.com/img/snippets/git.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Keep your work chat active and your computer awake while working from home]]></title>
            <link>https://www.adamdehaven.com/snippets/keep-your-computer-awake-while-working-from-home</link>
            <guid isPermaLink="false">https://www.adamdehaven.com/snippets/keep-your-computer-awake-while-working-from-home</guid>
            <pubDate>Fri, 19 Jul 2024 18:00:00 GMT</pubDate>
            <description><![CDATA[Run a simple mouse move script to keep your work chat active while working from home.]]></description>
            <author>Adam DeHaven</author>
            <enclosure url="https://www.adamdehaven.com/img/snippets/computer-mouse.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Easily delete node_modules or other nested directories]]></title>
            <link>https://www.adamdehaven.com/snippets/easily-delete-node-modules-or-other-nested-directories</link>
            <guid isPermaLink="false">https://www.adamdehaven.com/snippets/easily-delete-node-modules-or-other-nested-directories</guid>
            <pubDate>Fri, 19 Jul 2024 14:00:00 GMT</pubDate>
            <description><![CDATA[Add this script to your shell to easily delete node_modules (or other directories).]]></description>
            <author>Adam DeHaven</author>
            <enclosure url="https://www.adamdehaven.com/img/snippets/delete-nested-folders.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[How to remove duplicate objects from a JavaScript array]]></title>
            <link>https://www.adamdehaven.com/snippets/how-to-remove-duplicate-objects-from-a-javascript-array</link>
            <guid isPermaLink="false">https://www.adamdehaven.com/snippets/how-to-remove-duplicate-objects-from-a-javascript-array</guid>
            <pubDate>Fri, 11 Sep 2020 13:30:00 GMT</pubDate>
            <description><![CDATA[In this quick tip, I'll provide you with a simple function that will return an array of JavaScript objects with duplicates removed.]]></description>
            <author>Adam DeHaven</author>
            <enclosure url="https://www.adamdehaven.com/img/posts/remove-duplicate-objects-from-javascript-array.png" length="0" type="image/png"/>
        </item>
    </channel>
</rss>