<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Jamie Nguyen’s Blog</title><link>/blog/</link><description>Recent content on Jamie Nguyen’s Blog</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Sun, 11 Jan 2026 20:22:12 +0000</lastBuildDate><atom:link href="/blog/index.xml" rel="self" type="application/rss+xml"/><item><title>Curious things I discovered about Ansible in Advent of Code</title><link>/blog/curious-things-i-discovered-about-ansible-in-advent-of-code/</link><pubDate>Sun, 11 Jan 2026 20:22:12 +0000</pubDate><guid>/blog/curious-things-i-discovered-about-ansible-in-advent-of-code/</guid><description>&lt;p&gt;In December, I did my first &lt;a href="https://en.wikipedia.org/wiki/Advent_of_Code" target="_blank" rel="noopener noreferrer"&gt;Advent of Code&lt;span class="sr-only"&gt; (opens in new tab)&lt;/span&gt;&lt;/a&gt;. I used Ansible, which is a
terrible choice for programming challenges but that&amp;rsquo;s part of the fun!&lt;/p&gt;
&lt;div class="admonition admonition-note" role="note"&gt;
 &lt;div class="admonition-title"&gt;
 &lt;svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 640 640"&gt;&lt;path d="M320 576C461.4 576 576 461.4 576 320C576 178.6 461.4 64 320 64C178.6 64 64 178.6 64 320C64 461.4 178.6 576 320 576zM288 224C288 206.3 302.3 192 320 192C337.7 192 352 206.3 352 224C352 241.7 337.7 256 320 256C302.3 256 288 241.7 288 224zM280 288L328 288C341.3 288 352 298.7 352 312L352 400L360 400C373.3 400 384 410.7 384 424C384 437.3 373.3 448 360 448L280 448C266.7 448 256 437.3 256 424C256 410.7 266.7 400 280 400L304 400L304 336L280 336C266.7 336 256 325.3 256 312C256 298.7 266.7 288 280 288z"/&gt;&lt;/svg&gt;
 &lt;span&gt;Note&lt;/span&gt;
 &lt;/div&gt;
 &lt;div class="admonition-content"&gt;
 &lt;p&gt;I gave myself these rules:&lt;/p&gt;</description></item><item><title>libvirt Networking Handbook</title><link>/blog/libvirt-networking-handbook/</link><pubDate>Wed, 09 Dec 2015 16:45:00 +0000</pubDate><guid>/blog/libvirt-networking-handbook/</guid><description>&lt;p&gt;libvirt is an amazing tool for managing virtual machines. However, it can be
difficult to know where to start because it’s so powerful and offers so many
different possibilities.&lt;/p&gt;
&lt;p&gt;Virtual networks are an area of libvirt that’s often confusing for new users.
This motivated me to write the &lt;a href="/blog/docs/libvirt-networking-handbook/"&gt;libvirt Networking Handbook&lt;/a&gt; to
demonstrate the most common aspects of libvirt networking, whether running
virtual machines on a dedicated server or within a home lab. Check it out and
let me know what you think!&lt;/p&gt;</description></item><item><title>OpenSSL Certificate Authority</title><link>/blog/openssl-certificate-authority/</link><pubDate>Tue, 02 Jun 2015 15:00:00 +0000</pubDate><guid>/blog/openssl-certificate-authority/</guid><description>&lt;p&gt;In 2013, I wrote a series of four blog posts describing how to act as your own
certificate authority using the OpenSSL command-line tools. Interestingly,
traffic to the series increased significantly after the Heartbleed
vulnerability.&lt;/p&gt;
&lt;p&gt;I’ve recently made many improvements and additions. The series is now available
as a standalone document titled &lt;a href="/blog/docs/openssl-certificate-authority/"&gt;OpenSSL Certificate Authority&lt;/a&gt;.&lt;/p&gt;</description></item></channel></rss>