<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Jason Raimondi</title>
    <link>https://jasonraimondi.com</link>
    <description>My name is Jason Raimondi and I am a Full Stack Software Engineer based out of Los Angeles. My focus has been in web systems, building and deploying server and client web applications.</description>
    <language>en-us</language>
    <lastBuildDate>Fri, 12 Jun 2026 01:08:22 GMT</lastBuildDate>
    <atom:link href="https://jasonraimondi.com/rss.xml" rel="self" type="application/rss+xml"/>
    <item>
      <title>Online Code Editor Cheat Sheet</title>
      <link>https://jasonraimondi.com/posts/which-online-code-editor-cheat-sheet/</link>
      <guid isPermaLink="true">https://jasonraimondi.com/posts/which-online-code-editor-cheat-sheet/</guid>
      <description>Quick comparision of CodePen, JSFiddle, JS Bin, CodeSandbox, and Stackblitz</description>
      <pubDate>Tue, 18 Nov 2025 15:30:00 GMT</pubDate>
    </item>
    <item>
      <title>How to Configure a Schlage Encode Plus for Home Assistant, HomeKit, Apple Home, and Apple Wallet Keys</title>
      <link>https://jasonraimondi.com/posts/configure-a-schlage-encode-for-home-assistant-homekit-apple-home-apple-wallet-keys/</link>
      <guid isPermaLink="true">https://jasonraimondi.com/posts/configure-a-schlage-encode-for-home-assistant-homekit-apple-home-apple-wallet-keys/</guid>
      <description>A comprehensive guide to setting up your Schlage Encode Plus lock with Home Assistant, HomeKit, and Apple Wallet for seamless smart home integration.</description>
      <pubDate>Fri, 18 Oct 2024 19:37:00 GMT</pubDate>
    </item>
    <item>
      <title>git squashit squash-it squa-shit</title>
      <link>https://jasonraimondi.com/posts/git-squashit-squash-it-squa-shit/</link>
      <guid isPermaLink="true">https://jasonraimondi.com/posts/git-squashit-squash-it-squa-shit/</guid>
      <description>A bash helper function for squashing the last number of commits</description>
      <pubDate>Fri, 09 Aug 2024 15:30:00 GMT</pubDate>
    </item>
    <item>
      <title>Install Google Fonts in Github Workflow</title>
      <link>https://jasonraimondi.com/posts/install-google-fonts-in-github-workflow/</link>
      <guid isPermaLink="true">https://jasonraimondi.com/posts/install-google-fonts-in-github-workflow/</guid>
      <description>An example workflow showing how to install Google Fonts into a Github Workflow</description>
      <pubDate>Mon, 16 May 2022 03:36:13 GMT</pubDate>
    </item>
    <item>
      <title>Mode 65</title>
      <link>https://jasonraimondi.com/posts/mode-65/</link>
      <guid isPermaLink="true">https://jasonraimondi.com/posts/mode-65/</guid>
      <description>Mode 65 mechanical keyboard build-out</description>
      <pubDate>Fri, 25 Mar 2022 04:48:22 GMT</pubDate>
    </item>
    <item>
      <title>Darknet Diaries</title>
      <link>https://jasonraimondi.com/posts/darknet-diaries/</link>
      <guid isPermaLink="true">https://jasonraimondi.com/posts/darknet-diaries/</guid>
      <description>Every episode of Darknet Diaries is worth listening to. These are a few of my favorites.</description>
      <pubDate>Fri, 11 Mar 2022 04:48:22 GMT</pubDate>
    </item>
    <item>
      <title>Fix the error `Binary not found for version` when installing Node.js using asdf on an M1 Mac</title>
      <link>https://jasonraimondi.com/posts/fix-binary-not-found-error-asdf-nodejs-v14-with-m1-mac/</link>
      <guid isPermaLink="true">https://jasonraimondi.com/posts/fix-binary-not-found-error-asdf-nodejs-v14-with-m1-mac/</guid>
      <description>If you are running into the error `Binary not found for version X.X.X` when trying to install Node.js version 14 (or earlier) on your M1 Mac, give this a try.</description>
      <pubDate>Wed, 27 Oct 2021 17:50:00 GMT</pubDate>
    </item>
    <item>
      <title>How to use `npm version` to create prerelease tags</title>
      <link>https://jasonraimondi.com/posts/use-the-npm-version-command-to-semantically-version-your-node-project/</link>
      <guid isPermaLink="true">https://jasonraimondi.com/posts/use-the-npm-version-command-to-semantically-version-your-node-project/</guid>
      <description>A short and quick guide with examples on how to use the npm version command to semantically version your node project with prereleases</description>
      <pubDate>Wed, 12 May 2021 16:25:00 GMT</pubDate>
    </item>
    <item>
      <title>LocalStorage and SessionStorage helpers</title>
      <link>https://jasonraimondi.com/posts/local-and-session-storage-helpers/</link>
      <guid isPermaLink="true">https://jasonraimondi.com/posts/local-and-session-storage-helpers/</guid>
      <description>Local storage and session storage helpers for the window. Prefixes keys while handling json encoding/decoding as well as null values.</description>
      <pubDate>Tue, 13 Oct 2020 17:46:00 GMT</pubDate>
    </item>
    <item>
      <title>Encrypting ZFS Filesystem</title>
      <link>https://jasonraimondi.com/posts/encrypting-zfs-filesystem/</link>
      <guid isPermaLink="true">https://jasonraimondi.com/posts/encrypting-zfs-filesystem/</guid>
      <description>Encrypt your zfs filesystems with an encryption key</description>
      <pubDate>Thu, 03 Sep 2020 20:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Semantic Commit Messages</title>
      <link>https://jasonraimondi.com/posts/semantic-commit-messages/</link>
      <guid isPermaLink="true">https://jasonraimondi.com/posts/semantic-commit-messages/</guid>
      <description>Semantic commit messages</description>
      <pubDate>Thu, 03 Sep 2020 20:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Terraform configuration for S3 static site with CloudFront for https and Cloudflare DNS</title>
      <link>https://jasonraimondi.com/posts/terraform-amazon-s3-static-site-with-cloudfront-https-and-cloudflare-dns/</link>
      <guid isPermaLink="true">https://jasonraimondi.com/posts/terraform-amazon-s3-static-site-with-cloudfront-https-and-cloudflare-dns/</guid>
      <description></description>
      <pubDate>Tue, 23 Jun 2020 03:23:28 GMT</pubDate>
    </item>
    <item>
      <title>How to create a bootable Ubuntu install USB from Mac OS.</title>
      <link>https://jasonraimondi.com/posts/create-a-bootable-usb/</link>
      <guid isPermaLink="true">https://jasonraimondi.com/posts/create-a-bootable-usb/</guid>
      <description>A reminder on how to create a bootable usb from a Mac</description>
      <pubDate>Tue, 02 Jun 2020 23:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Add location data to a jpg that is missing it</title>
      <link>https://jasonraimondi.com/posts/add-location-data-to-images/</link>
      <guid isPermaLink="true">https://jasonraimondi.com/posts/add-location-data-to-images/</guid>
      <description>When you take photos with a camera without a GPS, like say, a DSLR, the photos don&apos;t include location data. Follow this guide to bulk add location data to images using `exiftool`</description>
      <pubDate>Tue, 25 Feb 2020 18:16:00 GMT</pubDate>
    </item>
    <item>
      <title>Add server side rendered async api calls to your Next.js application that resolve before the initial page load</title>
      <link>https://jasonraimondi.com/posts/add-pre-rendered-async-rest-api-calls-to-next-js-application-that-resolve-before-initial-page-load/</link>
      <guid isPermaLink="true">https://jasonraimondi.com/posts/add-pre-rendered-async-rest-api-calls-to-next-js-application-that-resolve-before-initial-page-load/</guid>
      <description>Add api calls to your application that can all be resolved before the initial render, giving the user (or bot) a fully loaded page right from the get-go.</description>
      <pubDate>Fri, 16 Aug 2019 12:30:00 GMT</pubDate>
    </item>
    <item>
      <title>Secure a Next.js application with JWT, and a private route higher order component</title>
      <link>https://jasonraimondi.com/posts/secure-a-next-js-application-with-jwt-and-a-private-route-higher-order-component/</link>
      <guid isPermaLink="true">https://jasonraimondi.com/posts/secure-a-next-js-application-with-jwt-and-a-private-route-higher-order-component/</guid>
      <description>Authenticating and securing a Next.js application</description>
      <pubDate>Fri, 16 Aug 2019 11:30:00 GMT</pubDate>
    </item>
    <item>
      <title>Create a secured REST Api for a Next.js application using JWT and Golang</title>
      <link>https://jasonraimondi.com/posts/create-a-secured-rest-api-for-a-next-js-application-using-jwt-and-golang/</link>
      <guid isPermaLink="true">https://jasonraimondi.com/posts/create-a-secured-rest-api-for-a-next-js-application-using-jwt-and-golang/</guid>
      <description>Create a secured REST Api using JWT and Golang</description>
      <pubDate>Fri, 16 Aug 2019 10:30:00 GMT</pubDate>
    </item>
    <item>
      <title>Upgrade macOS Quick Look to support even more filetypes.</title>
      <link>https://jasonraimondi.com/posts/enhance-macos-quick-look/</link>
      <guid isPermaLink="true">https://jasonraimondi.com/posts/enhance-macos-quick-look/</guid>
      <description>The Quick Look feature on macOS (⌘ + Space) an incredible time saving tool. Upgrading it to support more filetypes will make you even more of a macOS ninja.</description>
      <pubDate>Wed, 24 Apr 2019 07:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Enhancing your static site and markdown posts with Vue.js</title>
      <link>https://jasonraimondi.com/posts/enhancing-your-static-site-and-markdown-posts-with-vuejs/</link>
      <guid isPermaLink="true">https://jasonraimondi.com/posts/enhancing-your-static-site-and-markdown-posts-with-vuejs/</guid>
      <description>Write inline web components in markdown posts to enhancing your static site</description>
      <pubDate>Thu, 18 Apr 2019 07:00:00 GMT</pubDate>
    </item>
    <item>
      <title>A vanilla JS solution to adding header deep links to your blog for easy sharing to direct content</title>
      <link>https://jasonraimondi.com/posts/adding-vanilla-js-header-hashtag-deep-links-to-your-blog-for-easy-sharing-to-direct-content/</link>
      <guid isPermaLink="true">https://jasonraimondi.com/posts/adding-vanilla-js-header-hashtag-deep-links-to-your-blog-for-easy-sharing-to-direct-content/</guid>
      <description>A vanilla JS solution to adding header deep links to your blog for easy sharing to direct content</description>
      <pubDate>Thu, 14 Mar 2019 07:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Using the exec command in node.js</title>
      <link>https://jasonraimondi.com/posts/exec-command-in-nodejs/</link>
      <guid isPermaLink="true">https://jasonraimondi.com/posts/exec-command-in-nodejs/</guid>
      <description>Using the exec command in Node.js is pretty simple, first import the exec function, and then call it.</description>
      <pubDate>Thu, 14 Mar 2019 07:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Absolute imports with TypeScript and Webpack</title>
      <link>https://jasonraimondi.com/posts/absolute-imports-with-typescript-and-webpack/</link>
      <guid isPermaLink="true">https://jasonraimondi.com/posts/absolute-imports-with-typescript-and-webpack/</guid>
      <description>Absolute Imports in TypeScript using the tsconfig path resolver.</description>
      <pubDate>Sat, 23 Feb 2019 08:00:00 GMT</pubDate>
    </item>
    <item>
      <title>What is a tsconfig.json file and why do I need it?</title>
      <link>https://jasonraimondi.com/posts/what-is-a-tsconfig-file-and-why-do-you-need-it/</link>
      <guid isPermaLink="true">https://jasonraimondi.com/posts/what-is-a-tsconfig-file-and-why-do-you-need-it/</guid>
      <description>Adding this file will give you some control on the compilation of TypeScript into JavaScript.</description>
      <pubDate>Thu, 21 Feb 2019 08:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Using an Alfred workflow to assist in switching from Google Chrome to Firefox</title>
      <link>https://jasonraimondi.com/posts/using-an-alfred-workflow-to-assist-in-switching-from-google-chrome-to-firefox/</link>
      <guid isPermaLink="true">https://jasonraimondi.com/posts/using-an-alfred-workflow-to-assist-in-switching-from-google-chrome-to-firefox/</guid>
      <description>Now every time I am about to launch Chrome, I see the &quot;Launch Firefox Instead of Chrome&quot; launcher.</description>
      <pubDate>Thu, 13 Dec 2018 08:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Auto deploy Docker containers using a self hosted CI (Drone 1.0.0-rc.1) and a multi stage Dockerfile</title>
      <link>https://jasonraimondi.com/posts/auto-deploy-docker-container-using-self-hosted-ci-drone-io-and-multi-stage-dockerfile/</link>
      <guid isPermaLink="true">https://jasonraimondi.com/posts/auto-deploy-docker-container-using-self-hosted-ci-drone-io-and-multi-stage-dockerfile/</guid>
      <description>Drone.io is a great, Docker based alternative to Jenkins that is a lot like a self hosted alternative to TravisCI. One of the best ways to get Drone automatically building your images for you, especially images that have a build stage, is to use a multi-stage Dockerfile</description>
      <pubDate>Tue, 27 Nov 2018 08:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Using the &apos;timer&apos; observable from Rxjs and Chrome Headless to hack a contest at work</title>
      <link>https://jasonraimondi.com/posts/using-the-timer-observable-function-from-rxjs-with-chrome-headless-to-hack-a-contest-at-work/</link>
      <guid isPermaLink="true">https://jasonraimondi.com/posts/using-the-timer-observable-function-from-rxjs-with-chrome-headless-to-hack-a-contest-at-work/</guid>
      <description>The official rules read: &quot;Everyone has their own tagged link that points to the landing page — each unique click = 1 point&quot;. Interesting, very interesting.</description>
      <pubDate>Thu, 11 Oct 2018 07:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Getting rid of hiccups</title>
      <link>https://jasonraimondi.com/posts/getting-rid-of-hiccups/</link>
      <guid isPermaLink="true">https://jasonraimondi.com/posts/getting-rid-of-hiccups/</guid>
      <description>I found this the other day when I had the hiccups a few different days. Posting it here because it worked amazing and I do not ever want to forget this technique.</description>
      <pubDate>Wed, 10 Oct 2018 07:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Optimizing your Dockerfile build layers</title>
      <link>https://jasonraimondi.com/posts/optimizing-your-dockerfile-build-and-layers/</link>
      <guid isPermaLink="true">https://jasonraimondi.com/posts/optimizing-your-dockerfile-build-and-layers/</guid>
      <description>Too many layers and your machines take a large amount of storage and can take a long time to download and extract.  Too few layers and the machine takes F  O  R  E  V  E  R to rebuild.</description>
      <pubDate>Wed, 10 Oct 2018 07:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Command/Query Bus with IoC Container</title>
      <link>https://jasonraimondi.com/posts/command-query-bus-with-ioc-container/</link>
      <guid isPermaLink="true">https://jasonraimondi.com/posts/command-query-bus-with-ioc-container/</guid>
      <description>Actions can either be a Command or Query. With the ApplicationCore, we can dispatch our Actions.</description>
      <pubDate>Fri, 05 Oct 2018 07:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Showing code coverage for a React app using Code Climate and Travis CI</title>
      <link>https://jasonraimondi.com/posts/showing-code-coverage-for-a-react-app-using-code-climate-with-travis-ci/</link>
      <guid isPermaLink="true">https://jasonraimondi.com/posts/showing-code-coverage-for-a-react-app-using-code-climate-with-travis-ci/</guid>
      <description>The documentation on Code Climate for setting up auto generation of code coverage for a JavaScript application was lacking pretty hard. Here I show how we can get a React app using Travis CI and Jest to automate generating code coverage that gets sent to Code Climate.</description>
      <pubDate>Thu, 06 Sep 2018 07:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Testing a TypeScript React app using TS-Jest without using Create React App</title>
      <link>https://jasonraimondi.com/posts/testing-a-typescript-react-app-using-ts-jest-not-create-react-app/</link>
      <guid isPermaLink="true">https://jasonraimondi.com/posts/testing-a-typescript-react-app-using-ts-jest-not-create-react-app/</guid>
      <description>Lets create a TypesScript React app without using the cli tool Create React App. This allows you to create a custom build specific to your deploy process.</description>
      <pubDate>Thu, 23 Aug 2018 07:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Docker Compose, Traefik 1.7 + Lets Encrypt</title>
      <link>https://jasonraimondi.com/posts/docker-compose-traefik-lets-encrypt/</link>
      <guid isPermaLink="true">https://jasonraimondi.com/posts/docker-compose-traefik-lets-encrypt/</guid>
      <description>If you&apos;ve ever configured Docker + Nginx + Lets Encrypt before, it takes some time. Tools like Certbot have made this process easier, but they are not without flaws, especially when deploying to a docker environment. Traefik makes it a cinch.</description>
      <pubDate>Tue, 21 Aug 2018 07:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Update PHP using homebrew</title>
      <link>https://jasonraimondi.com/posts/update-php-homebrew/</link>
      <guid isPermaLink="true">https://jasonraimondi.com/posts/update-php-homebrew/</guid>
      <description>Update PHP on your Mac using after the homebrew/php tap has been deprecated.</description>
      <pubDate>Thu, 12 Apr 2018 07:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Brew install everything</title>
      <link>https://jasonraimondi.com/posts/brew-install-everything/</link>
      <guid isPermaLink="true">https://jasonraimondi.com/posts/brew-install-everything/</guid>
      <description>So you just got yourself a fresh Mac, now what? Getting your Mac configured to your workflow is essential to productivity.  You spend the better part of every day using it, it is worth spending the time to get it set up right the first time.</description>
      <pubDate>Tue, 16 Jan 2018 08:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Setting up a private git server using Gogs</title>
      <link>https://jasonraimondi.com/posts/setting-up-gogs-with-docker/</link>
      <guid isPermaLink="true">https://jasonraimondi.com/posts/setting-up-gogs-with-docker/</guid>
      <description>Getting a private Git/Gogs server behind SSL is actually surprisingly easy to get going. Let&apos;s see what it takes to get a containerized Gogs + MySQL running on a VPS server behind SSL using Docker.</description>
      <pubDate>Mon, 04 Sep 2017 07:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Building a PHP7.2 + Nginx application using Docker</title>
      <link>https://jasonraimondi.com/posts/build-a-php72-app-using-docker/</link>
      <guid isPermaLink="true">https://jasonraimondi.com/posts/build-a-php72-app-using-docker/</guid>
      <description>The goal of this is to have a working development and production build for a PHP7.2 Application using Nginx as our web server.</description>
      <pubDate>Wed, 23 Aug 2017 07:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Configure SSL Using Let&apos;s Encrypt, Nginx, and Docker</title>
      <link>https://jasonraimondi.com/posts/configure-ssl-lets-encrypt-nginx-docker/</link>
      <guid isPermaLink="true">https://jasonraimondi.com/posts/configure-ssl-lets-encrypt-nginx-docker/</guid>
      <description>Some notes on setting up HTTPS on your server using the official Let&apos;s Encrypt Docker Image.</description>
      <pubDate>Tue, 22 Aug 2017 07:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Setting Up Laravel Elixir with Foundation 6</title>
      <link>https://jasonraimondi.com/posts/setting-up-laravel-with-foundation/</link>
      <guid isPermaLink="true">https://jasonraimondi.com/posts/setting-up-laravel-with-foundation/</guid>
      <description>Laravel Elixir is a wrapper around a traditional Gulp build system that provides a clean, fluent API for defining basic Gulp Tasks.</description>
      <pubDate>Thu, 05 May 2016 07:00:00 GMT</pubDate>
    </item>
  </channel>
</rss>