<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Software Engineering on ./hackandsla.sh</title><link>/tags/software-engineering/</link><description>Recent content in Software Engineering on ./hackandsla.sh</description><generator>Hugo</generator><language>en</language><lastBuildDate>Thu, 19 Feb 2026 15:15:57 -0500</lastBuildDate><atom:link href="/tags/software-engineering/index.xml" rel="self" type="application/rss+xml"/><item><title>The Plan-Apply Pattern</title><link>/posts/2026-02-19-plan-apply-pattern/</link><pubDate>Thu, 19 Feb 2026 00:00:00 +0000</pubDate><guid>/posts/2026-02-19-plan-apply-pattern/</guid><description>&lt;h1 id="the-plan-apply-pattern">The Plan-Apply Pattern&lt;/h1>
&lt;p>My favorite way to supercharge nearly any administrative script is the &lt;strong>Plan-Apply Pattern&lt;/strong>. Instead of directly mutating infrastructure, you split up your script into two logical steps:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Plan&lt;/strong> - Gather the info about what you want to modify, figure out how you need to modify it, and create an object representing each operation you want to perform&lt;/li>
&lt;li>&lt;strong>Apply&lt;/strong> - Take the object generated from the plan, and apply it&lt;/li>
&lt;/ul>
&lt;p>This is especially helpful for scripts that modify or delete infrastructure. Tools like Terraform do this automatically, but I often have to roll my own scripts for things like bulk cleanup or modification.&lt;/p></description></item></channel></rss>