<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Mostly tech stuff</title><link>https://blog.jwr.io/</link><description>Recent content on Mostly tech stuff</description><generator>Hugo -- 0.150.0</generator><language>en-us</language><lastBuildDate>Sat, 07 Mar 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://blog.jwr.io/index.xml" rel="self" type="application/rss+xml"/><item><title>How to Bash Loop Over JSON with jq</title><link>https://blog.jwr.io/post/2026-03-07-bash-loop-over-json-with-jq/</link><pubDate>Sat, 07 Mar 2026 00:00:00 +0000</pubDate><guid>https://blog.jwr.io/post/2026-03-07-bash-loop-over-json-with-jq/</guid><description>A few jq examples of bash loops</description></item><item><title>How I Organize AWS Security Group Rules in Terraform</title><link>https://blog.jwr.io/post/2025-12-14-how-i-organize-security-group-rules-in-terraform/</link><pubDate>Sun, 14 Dec 2025 00:00:00 +0000</pubDate><guid>https://blog.jwr.io/post/2025-12-14-how-i-organize-security-group-rules-in-terraform/</guid><description>A clean way to keep your security group rules organized in Terraform</description></item><item><title>AWS CodeDeploy Blue/Green on EC2 with Terraform</title><link>https://blog.jwr.io/post/2025-12-06-codedeploy-blue-green-with-ec2-and-terraform/</link><pubDate>Sat, 06 Dec 2025 00:00:00 +0000</pubDate><guid>https://blog.jwr.io/post/2025-12-06-codedeploy-blue-green-with-ec2-and-terraform/</guid><description>A bunch of gotchas for a suboptimal application deployment</description></item><item><title>Companies That Were Founded When Taxes Were Way Higher</title><link>https://blog.jwr.io/post/2025-09-01-companies-founded-when-taxes-were-way-higher/</link><pubDate>Mon, 01 Sep 2025 00:00:00 +0000</pubDate><guid>https://blog.jwr.io/post/2025-09-01-companies-founded-when-taxes-were-way-higher/</guid><description>If high taxes discourage people from starting businesses, how did all these companies get started?</description></item><item><title>AWS Network Firewall Routing</title><link>https://blog.jwr.io/post/2025-08-13-aws-network-firewall-routing/</link><pubDate>Wed, 13 Aug 2025 00:00:00 +0000</pubDate><guid>https://blog.jwr.io/post/2025-08-13-aws-network-firewall-routing/</guid><description>What I learned about AWS Network Firewall routing in various network architectures</description></item><item><title>AWS CLI Describe RDS Snapshots By Status</title><link>https://blog.jwr.io/post/2025-05-14-rds-describe-db-snapshots-available/</link><pubDate>Wed, 14 May 2025 00:00:00 +0000</pubDate><guid>https://blog.jwr.io/post/2025-05-14-rds-describe-db-snapshots-available/</guid><description>How to filter RDS snapshots by Status</description></item><item><title>Use an IAM Role in a Container in AWS CodeBuild</title><link>https://blog.jwr.io/post/2019-05-30-iam-role-inside-container-inside-aws-codebuild/</link><pubDate>Thu, 30 May 2019 00:00:00 +0000</pubDate><guid>https://blog.jwr.io/post/2019-05-30-iam-role-inside-container-inside-aws-codebuild/</guid><description>Use an IAM Role in a Container in AWS CodeBuild</description></item><item><title>Concourse SSH Keys using AWS SSM</title><link>https://blog.jwr.io/post/2019-02-24-concourse-ssm-ssh-keys/</link><pubDate>Sun, 24 Feb 2019 00:00:00 +0000</pubDate><guid>https://blog.jwr.io/post/2019-02-24-concourse-ssm-ssh-keys/</guid><description>Using SSH keys in Concourse, via AWS SSM</description></item><item><title>This version of Chef does not support encrypted data bag item format version 3</title><link>https://blog.jwr.io/post/2018-10-26-chef-does-not-support-encrypted-data-bag-item-version-3/</link><pubDate>Fri, 26 Oct 2018 00:00:00 +0000</pubDate><guid>https://blog.jwr.io/post/2018-10-26-chef-does-not-support-encrypted-data-bag-item-version-3/</guid><description>This version of Chef does not support encrypted data bag item format version 3</description></item><item><title>CodeBuild Docker Layer Caching</title><link>https://blog.jwr.io/post/2018-10-06-codebuild-docker-layer-caching/</link><pubDate>Sat, 06 Oct 2018 00:00:00 +0000</pubDate><guid>https://blog.jwr.io/post/2018-10-06-codebuild-docker-layer-caching/</guid><description>CodeBuild Docker Layer Caching</description></item><item><title>Test Kitchen SSH with a bastion host</title><link>https://blog.jwr.io/post/2018-07-31-test-kichen-bastion-host/</link><pubDate>Tue, 31 Jul 2018 00:00:00 +0000</pubDate><guid>https://blog.jwr.io/post/2018-07-31-test-kichen-bastion-host/</guid><description>Test Kitchen SSH with a bastion host</description></item><item><title>How to Find Remote Jobs on Hacker News</title><link>https://blog.jwr.io/post/2018-06-20-hacker-news-remote-jobs/</link><pubDate>Wed, 20 Jun 2018 00:00:00 +0000</pubDate><guid>https://blog.jwr.io/post/2018-06-20-hacker-news-remote-jobs/</guid><description>How to Find Remote Jobs on Hacker News</description></item><item><title>Terraform Logical AND Operator, Logical OR Operator</title><link>https://blog.jwr.io/post/2018-06-16-terraform-logical-and-operator-logical-or-operator/</link><pubDate>Sat, 16 Jun 2018 00:00:00 +0000</pubDate><guid>https://blog.jwr.io/post/2018-06-16-terraform-logical-and-operator-logical-or-operator/</guid><description>Terraform Logical AND Operator, Logical OR Operator</description></item><item><title>Docker as an alternative to virtualenv</title><link>https://blog.jwr.io/post/2018-03-24-docker-as-an-alternative-to-virtualenv/</link><pubDate>Sat, 24 Mar 2018 00:00:00 +0000</pubDate><guid>https://blog.jwr.io/post/2018-03-24-docker-as-an-alternative-to-virtualenv/</guid><description>Containerizing CLI apps</description></item><item><title>Using AwardFinder (Chrome Extension) to Find Award Travel Availability</title><link>https://blog.jwr.io/post/2018-02-03-awardfinder/</link><pubDate>Sat, 03 Feb 2018 00:00:00 +0000</pubDate><guid>https://blog.jwr.io/post/2018-02-03-awardfinder/</guid><description>Using AwardFinder (Chrome Extension) to Find Award Travel Availability</description></item><item><title>Terraform ICMP Security Group Rules Easy Button</title><link>https://blog.jwr.io/post/2018-02-02-terraform-icmp-rules/</link><pubDate>Fri, 02 Feb 2018 00:00:00 +0000</pubDate><guid>https://blog.jwr.io/post/2018-02-02-terraform-icmp-rules/</guid><description>Terraform ICMP Security Group Rules Easy Button</description></item><item><title>I Passed Google Cloud Certification Without Ever Using Google Cloud</title><link>https://blog.jwr.io/post/2018-01-27-google-cloud-certification/</link><pubDate>Sat, 27 Jan 2018 00:00:00 +0000</pubDate><guid>https://blog.jwr.io/post/2018-01-27-google-cloud-certification/</guid><description>I Passed Google Cloud Certification Without Ever Using Google Cloud</description></item><item><title>Force Deluge to use a VPN with IPtables</title><link>https://blog.jwr.io/post/2017-10-29-deluge-vpn-iptables/</link><pubDate>Sun, 29 Oct 2017 00:00:00 +0000</pubDate><guid>https://blog.jwr.io/post/2017-10-29-deluge-vpn-iptables/</guid><description>Force Deluge to use a VPN with IPtables</description></item><item><title>How I Version Control My Resume Without Latex</title><link>https://blog.jwr.io/post/2017-10-18-how-i-version-control-my-resume-without-latex/</link><pubDate>Wed, 18 Oct 2017 00:00:00 +0000</pubDate><guid>https://blog.jwr.io/post/2017-10-18-how-i-version-control-my-resume-without-latex/</guid><description>How I Version Control My Resume Without Latex</description></item><item><title>Subnetting in Google Sheets</title><link>https://blog.jwr.io/post/2017-09-29-subnetting-in-google-sheets/</link><pubDate>Fri, 29 Sep 2017 16:16:01 +0000</pubDate><guid>https://blog.jwr.io/post/2017-09-29-subnetting-in-google-sheets/</guid><description>Automating subnet layout with Google Sheets IP Functions</description></item></channel></rss>