<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Posts on Advancing Engineering</title><link>https://www.advancingengineering.dev/posts/</link><description>Recent content in Posts on Advancing Engineering</description><generator>Hugo</generator><language>en</language><lastBuildDate>Tue, 12 May 2026 13:38:59 +0100</lastBuildDate><atom:link href="https://www.advancingengineering.dev/posts/index.xml" rel="self" type="application/rss+xml"/><item><title>Static Application Security Testing (SAST)</title><link>https://www.advancingengineering.dev/posts/2026-01-sast/</link><pubDate>Thu, 15 Jan 2026 00:00:00 +0000</pubDate><guid>https://www.advancingengineering.dev/posts/2026-01-sast/</guid><description>&lt;p&gt;SAST tools analyse source code to surface security vulnerabilities before deployment. This empirical analysis shows it decreases CVEs by 8.2%.&lt;/p&gt;</description></item><item><title>Justfiles Are a Joy to Use</title><link>https://www.advancingengineering.dev/posts/2026-05-justfiles-are-a-joy-to-use/</link><pubDate>Tue, 12 May 2026 13:08:46 +0100</pubDate><guid>https://www.advancingengineering.dev/posts/2026-05-justfiles-are-a-joy-to-use/</guid><description>&lt;p&gt;Every project eventually grows its own mythology. &amp;ldquo;How do you run the tests?&amp;rdquo; becomes a question answered with a message, a README with outdated instructions, or — if you&amp;rsquo;re truly cursed — a tribal elder who just left the company.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;just&lt;/code&gt; ends this. It&amp;rsquo;s a command runner that stores your project&amp;rsquo;s commands in a &lt;code&gt;justfile&lt;/code&gt;, right next to your code, where they belong.&lt;/p&gt;</description></item><item><title>The Anti-Pattern: One Language Inside Another</title><link>https://www.advancingengineering.dev/posts/2026-05-anti-patterns-one-language-inside-another/</link><pubDate>Fri, 08 May 2026 10:54:36 +0100</pubDate><guid>https://www.advancingengineering.dev/posts/2026-05-anti-patterns-one-language-inside-another/</guid><description>&lt;p&gt;Placing one language inside another is one of those anti-patterns that seems harmless until you&amp;rsquo;re trying to lint it, test it, or ask an LLM to reason about it. The moment you embed a language inside a string in another language, its entire toolchain disappears.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;We &lt;strong&gt;contain multitudes&lt;/strong&gt;. Our code should be singular, not polyglot.&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>The Standards Skill: Applying Engineering Standards with AI</title><link>https://www.advancingengineering.dev/posts/2026-05-standards-skill/</link><pubDate>Fri, 01 May 2026 00:00:00 +0000</pubDate><guid>https://www.advancingengineering.dev/posts/2026-05-standards-skill/</guid><description>&lt;p&gt;Encoding engineering standards as an AI skill means they get applied consistently, automatically, and can be measured against.&lt;/p&gt;</description></item><item><title>Pre-commit Hooks: Enforcing Quality at the Source</title><link>https://www.advancingengineering.dev/posts/2026-04-pre-commit-hooks/</link><pubDate>Wed, 01 Apr 2026 00:00:00 +0000</pubDate><guid>https://www.advancingengineering.dev/posts/2026-04-pre-commit-hooks/</guid><description>&lt;p&gt;Pre-commit hooks catch issues before they reach CI — shifting quality checks as far left as possible.&lt;/p&gt;
&lt;p&gt;In an AI-assisted workflow this matters more than ever. LLM-generated commits are faster and more numerous; human review bandwidth is the same. Pre-commit hooks are how you define &amp;ldquo;done&amp;rdquo; in a form the machine can check — and the LLM can iterate on.&lt;/p&gt;</description></item><item><title>LLM Wiki: The Knowledge Base That Maintains Itself</title><link>https://www.advancingengineering.dev/posts/2026-03-llm-wiki/</link><pubDate>Tue, 10 Mar 2026 00:00:00 +0000</pubDate><guid>https://www.advancingengineering.dev/posts/2026-03-llm-wiki/</guid><description>&lt;p&gt;Of course you&amp;rsquo;ve got document stores. But be honest, how much ongoing love do they all have? Is every one of your onboarding guides on point, and how many of the &amp;ldquo;current architecture&amp;rdquo; diagrams show databases that were deprecated before you joined?&lt;/p&gt;</description></item><item><title>LLM Permissions: speed *and* safety in Practice</title><link>https://www.advancingengineering.dev/posts/2026-02-permissions/</link><pubDate>Tue, 10 Feb 2026 00:00:00 +0000</pubDate><guid>https://www.advancingengineering.dev/posts/2026-02-permissions/</guid><description>&lt;p&gt;93% of LLM permission requests are approved. That number should make you uncomfortable.
Not because approving is wrong — most of those approvals are fine — but because a 93% approval rate is a signal that you haven&amp;rsquo;t designed your permission model. You&amp;rsquo;ve just been clicking through dialogs.&lt;/p&gt;
&lt;p&gt;There&amp;rsquo;s also the opposite problem: leaving an agent to work autonomously, then coming back to find it paused, waiting for you to confirm that yes, it can &lt;code&gt;grep&lt;/code&gt; a file it&amp;rsquo;s been reading all session. Both failures have the same root cause: permissions set by default, not design.&lt;/p&gt;
&lt;p&gt;The question worth sitting with is whether you can move faster &lt;em&gt;and&lt;/em&gt; sleep better. The answer is yes, but it requires deliberate thought about what your LLM actually needs to do its job.&lt;/p&gt;</description></item></channel></rss>