diff --git a/css/app.css b/css/app.css
index dec1b0acf5311010026f7760bc500da235317fe2..199134d6c4286cb0553b5b82a0668aa804f3ebc7 100644
--- a/css/app.css
+++ b/css/app.css
@@ -4968,12 +4968,14 @@ table.hover tr:nth-of-type(even):hover {
   content: ""; }
 
 code {
-  font-size: 0.8em; }
+  font-size: 0.8em;
+  background-color: #fafafa;
+  border: 1px solid #eee; }
 
 div.sourceCode {
   line-height: 1;
-  border: 1px #cacaca solid;
-  background-color: #f7f7f7;
+  border: 1px solid #eee;
+  background-color: #fafafa;
   margin-bottom: 0.625rem;
   overflow-x: auto; }
   div.sourceCode pre {
@@ -5152,3 +5154,6 @@ figcaption {
       width: 100%; }
   .text-left-medium {
     text-align: left; } }
+
+figure {
+  text-align: center; }
diff --git a/images/posts/gentoo-partitions.svg b/images/posts/gentoo-partitions.svg
new file mode 100644
index 0000000000000000000000000000000000000000..abc71b0688c4e7614d2789ec2796eb1a8236004d
--- /dev/null
+++ b/images/posts/gentoo-partitions.svg
@@ -0,0 +1,2 @@
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" style="background-color: rgb(255, 255, 255);" xmlns:xlink="http://www.w3.org/1999/xlink" width="523px" height="323px" version="1.1" content="%3CmxGraphModel%20dx%3D%22794%22%20dy%3D%22525%22%20grid%3D%221%22%20gridSize%3D%2210%22%20guides%3D%221%22%20tooltips%3D%221%22%20connect%3D%221%22%20arrows%3D%221%22%20fold%3D%221%22%20page%3D%221%22%20pageScale%3D%221%22%20pageWidth%3D%22826%22%20pageHeight%3D%221169%22%20background%3D%22%23ffffff%22%20math%3D%220%22%3E%3Croot%3E%3CmxCell%20id%3D%220%22%2F%3E%3CmxCell%20id%3D%221%22%20parent%3D%220%22%2F%3E%3CmxCell%20id%3D%22597a973fc3456320-1%22%20value%3D%22OS%20X%20Partitions%26lt%3Bbr%26gt%3B%22%20style%3D%22whiteSpace%3Dwrap%3Bhtml%3D1%3B%22%20vertex%3D%221%22%20parent%3D%221%22%3E%3CmxGeometry%20x%3D%2280%22%20y%3D%2240%22%20width%3D%22120%22%20height%3D%2260%22%20as%3D%22geometry%22%2F%3E%3C%2FmxCell%3E%3CmxCell%20id%3D%22597a973fc3456320-2%22%20value%3D%22%2Fboot%2Fefi%22%20style%3D%22whiteSpace%3Dwrap%3Bhtml%3D1%3Bplain-green%22%20vertex%3D%221%22%20parent%3D%221%22%3E%3CmxGeometry%20x%3D%22200%22%20y%3D%2240%22%20width%3D%2260%22%20height%3D%2260%22%20as%3D%22geometry%22%2F%3E%3C%2FmxCell%3E%3CmxCell%20id%3D%22597a973fc3456320-3%22%20value%3D%22%2Fboot%22%20style%3D%22whiteSpace%3Dwrap%3Bhtml%3D1%3Bplain-green%22%20vertex%3D%221%22%20parent%3D%221%22%3E%3CmxGeometry%20x%3D%22260%22%20y%3D%2240%22%20width%3D%2260%22%20height%3D%2260%22%20as%3D%22geometry%22%2F%3E%3C%2FmxCell%3E%3CmxCell%20id%3D%22597a973fc3456320-4%22%20value%3D%22LUKS%22%20style%3D%22whiteSpace%3Dwrap%3Bhtml%3D1%3Bplain-blue%22%20vertex%3D%221%22%20parent%3D%221%22%3E%3CmxGeometry%20x%3D%22320%22%20y%3D%2240%22%20width%3D%22280%22%20height%3D%2260%22%20as%3D%22geometry%22%2F%3E%3C%2FmxCell%3E%3CmxCell%20id%3D%22597a973fc3456320-5%22%20value%3D%22Fedora%22%20style%3D%22whiteSpace%3Dwrap%3Bhtml%3D1%3Bplain-orange%22%20vertex%3D%221%22%20parent%3D%221%22%3E%3CmxGeometry%20x%3D%22380%22%20y%3D%22100%22%20width%3D%22100%22%20height%3D%2260%22%20as%3D%22geometry%22%2F%3E%3C%2FmxCell%3E%3CmxCell%20id%3D%22597a973fc3456320-7%22%20value%3D%22Swap%22%20style%3D%22whiteSpace%3Dwrap%3Bhtml%3D1%3Bplain-gray%22%20vertex%3D%221%22%20parent%3D%221%22%3E%3CmxGeometry%20x%3D%22320%22%20y%3D%22100%22%20width%3D%2260%22%20height%3D%2260%22%20as%3D%22geometry%22%2F%3E%3C%2FmxCell%3E%3CmxCell%20id%3D%22597a973fc3456320-8%22%20value%3D%22Home%22%20style%3D%22whiteSpace%3Dwrap%3Bhtml%3D1%3Bplain-orange%22%20vertex%3D%221%22%20parent%3D%221%22%3E%3CmxGeometry%20x%3D%22480%22%20y%3D%22100%22%20width%3D%22120%22%20height%3D%2260%22%20as%3D%22geometry%22%2F%3E%3C%2FmxCell%3E%3CmxCell%20id%3D%22597a973fc3456320-17%22%20value%3D%22%22%20style%3D%22shape%3DsingleArrow%3Bdirection%3Dsouth%3BwhiteSpace%3Dwrap%3Bhtml%3D1%3BarrowWidth%3D0.5583333333333333%3BarrowSize%3D0.5041666666666667%3BfillColor%3D%23ffffff%3BstrokeColor%3D%23000000%3B%22%20vertex%3D%221%22%20parent%3D%221%22%3E%3CmxGeometry%20x%3D%22310%22%20y%3D%22170%22%20width%3D%2260%22%20height%3D%2260%22%20as%3D%22geometry%22%2F%3E%3C%2FmxCell%3E%3CmxCell%20id%3D%22597a973fc3456320-18%22%20value%3D%22%22%20style%3D%22group%22%20vertex%3D%221%22%20connectable%3D%220%22%20parent%3D%221%22%3E%3CmxGeometry%20x%3D%2280%22%20y%3D%22240%22%20width%3D%22520%22%20height%3D%22120%22%20as%3D%22geometry%22%2F%3E%3C%2FmxCell%3E%3CmxCell%20id%3D%22597a973fc3456320-9%22%20value%3D%22OS%20X%20Partitions%26lt%3Bbr%26gt%3B%22%20style%3D%22whiteSpace%3Dwrap%3Bhtml%3D1%3B%22%20vertex%3D%221%22%20parent%3D%22597a973fc3456320-18%22%3E%3CmxGeometry%20width%3D%22120%22%20height%3D%2260%22%20as%3D%22geometry%22%2F%3E%3C%2FmxCell%3E%3CmxCell%20id%3D%22597a973fc3456320-10%22%20value%3D%22%2Fboot%2Fefi%22%20style%3D%22whiteSpace%3Dwrap%3Bhtml%3D1%3Bplain-green%22%20vertex%3D%221%22%20parent%3D%22597a973fc3456320-18%22%3E%3CmxGeometry%20x%3D%22120%22%20width%3D%2260%22%20height%3D%2260%22%20as%3D%22geometry%22%2F%3E%3C%2FmxCell%3E%3CmxCell%20id%3D%22597a973fc3456320-11%22%20value%3D%22%2Fboot%22%20style%3D%22whiteSpace%3Dwrap%3Bhtml%3D1%3Bplain-green%22%20vertex%3D%221%22%20parent%3D%22597a973fc3456320-18%22%3E%3CmxGeometry%20x%3D%22180%22%20width%3D%2260%22%20height%3D%2260%22%20as%3D%22geometry%22%2F%3E%3C%2FmxCell%3E%3CmxCell%20id%3D%22597a973fc3456320-12%22%20value%3D%22LUKS%22%20style%3D%22whiteSpace%3Dwrap%3Bhtml%3D1%3Bplain-blue%22%20vertex%3D%221%22%20parent%3D%22597a973fc3456320-18%22%3E%3CmxGeometry%20x%3D%22240%22%20width%3D%22280%22%20height%3D%2260%22%20as%3D%22geometry%22%2F%3E%3C%2FmxCell%3E%3CmxCell%20id%3D%22597a973fc3456320-13%22%20value%3D%22Fedora%22%20style%3D%22whiteSpace%3Dwrap%3Bhtml%3D1%3Bplain-orange%22%20vertex%3D%221%22%20parent%3D%22597a973fc3456320-18%22%3E%3CmxGeometry%20x%3D%22300%22%20y%3D%2260%22%20width%3D%2250%22%20height%3D%2260%22%20as%3D%22geometry%22%2F%3E%3C%2FmxCell%3E%3CmxCell%20id%3D%22597a973fc3456320-14%22%20value%3D%22Swap%22%20style%3D%22whiteSpace%3Dwrap%3Bhtml%3D1%3Bplain-gray%22%20vertex%3D%221%22%20parent%3D%22597a973fc3456320-18%22%3E%3CmxGeometry%20x%3D%22240%22%20y%3D%2260%22%20width%3D%2260%22%20height%3D%2260%22%20as%3D%22geometry%22%2F%3E%3C%2FmxCell%3E%3CmxCell%20id%3D%22597a973fc3456320-15%22%20value%3D%22Home%22%20style%3D%22whiteSpace%3Dwrap%3Bhtml%3D1%3Bplain-orange%22%20vertex%3D%221%22%20parent%3D%22597a973fc3456320-18%22%3E%3CmxGeometry%20x%3D%22400%22%20y%3D%2260%22%20width%3D%22120%22%20height%3D%2260%22%20as%3D%22geometry%22%2F%3E%3C%2FmxCell%3E%3CmxCell%20id%3D%22597a973fc3456320-16%22%20value%3D%22Gentoo%22%20style%3D%22whiteSpace%3Dwrap%3Bhtml%3D1%3Bplain-orange%22%20vertex%3D%221%22%20parent%3D%22597a973fc3456320-18%22%3E%3CmxGeometry%20x%3D%22350%22%20y%3D%2260%22%20width%3D%2250%22%20height%3D%2260%22%20as%3D%22geometry%22%2F%3E%3C%2FmxCell%3E%3C%2Froot%3E%3C%2FmxGraphModel%3E"><defs><linearGradient x1="0%" y1="0%" x2="0%" y2="100%" id="mx-gradient-d5e8d4-1-97d077-1-s-0"><stop offset="0%" style="stop-color:#D5E8D4"/><stop offset="100%" style="stop-color:#97D077"/></linearGradient><linearGradient x1="0%" y1="0%" x2="0%" y2="100%" id="mx-gradient-dae8fc-1-7ea6e0-1-s-0"><stop offset="0%" style="stop-color:#DAE8FC"/><stop offset="100%" style="stop-color:#7EA6E0"/></linearGradient><linearGradient x1="0%" y1="0%" x2="0%" y2="100%" id="mx-gradient-ffcd28-1-ffa500-1-s-0"><stop offset="0%" style="stop-color:#FFCD28"/><stop offset="100%" style="stop-color:#FFA500"/></linearGradient><linearGradient x1="0%" y1="0%" x2="0%" y2="100%" id="mx-gradient-f5f5f5-1-b3b3b3-1-s-0"><stop offset="0%" style="stop-color:#F5F5F5"/><stop offset="100%" style="stop-color:#B3B3B3"/></linearGradient></defs><g transform="translate(0.5,0.5)"><rect x="1" y="1" width="120" height="60" fill="#ffffff" stroke="#000000" pointer-events="none"/><g transform="translate(19.5,24.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="82" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 83px; white-space: nowrap; text-align: center;"><div style="display:inline-block;text-align:inherit;text-decoration:inherit;" xmlns="http://www.w3.org/1999/xhtml">OS X Partitions<br /></div></div></foreignObject><text x="41" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">OS X Partitions&lt;br&gt;</text></switch></g><rect x="121" y="1" width="60" height="60" fill="url(#mx-gradient-d5e8d4-1-97d077-1-s-0)" stroke="#82b366" pointer-events="none"/><g transform="translate(129.5,24.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="43" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 44px; white-space: nowrap; text-align: center;"><div style="display:inline-block;text-align:inherit;text-decoration:inherit;" xmlns="http://www.w3.org/1999/xhtml">/boot/efi</div></div></foreignObject><text x="22" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">/boot/efi</text></switch></g><rect x="181" y="1" width="60" height="60" fill="url(#mx-gradient-d5e8d4-1-97d077-1-s-0)" stroke="#82b366" pointer-events="none"/><g transform="translate(197.5,24.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="27" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 28px; white-space: nowrap; text-align: center;"><div style="display:inline-block;text-align:inherit;text-decoration:inherit;" xmlns="http://www.w3.org/1999/xhtml">/boot</div></div></foreignObject><text x="14" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">/boot</text></switch></g><rect x="241" y="1" width="280" height="60" fill="url(#mx-gradient-dae8fc-1-7ea6e0-1-s-0)" stroke="#6c8ebf" pointer-events="none"/><g transform="translate(365.5,24.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="31" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 32px; white-space: nowrap; text-align: center;"><div style="display:inline-block;text-align:inherit;text-decoration:inherit;" xmlns="http://www.w3.org/1999/xhtml">LUKS</div></div></foreignObject><text x="16" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">LUKS</text></switch></g><rect x="301" y="61" width="100" height="60" fill="url(#mx-gradient-ffcd28-1-ffa500-1-s-0)" stroke="#d79b00" pointer-events="none"/><g transform="translate(331.5,84.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="38" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 39px; white-space: nowrap; text-align: center;"><div style="display:inline-block;text-align:inherit;text-decoration:inherit;" xmlns="http://www.w3.org/1999/xhtml">Fedora</div></div></foreignObject><text x="19" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">Fedora</text></switch></g><rect x="241" y="61" width="60" height="60" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="none"/><g transform="translate(255.5,84.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="30" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 31px; white-space: nowrap; text-align: center;"><div style="display:inline-block;text-align:inherit;text-decoration:inherit;" xmlns="http://www.w3.org/1999/xhtml">Swap</div></div></foreignObject><text x="15" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">Swap</text></switch></g><rect x="401" y="61" width="120" height="60" fill="url(#mx-gradient-ffcd28-1-ffa500-1-s-0)" stroke="#d79b00" pointer-events="none"/><g transform="translate(444.5,84.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="32" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 33px; white-space: nowrap; text-align: center;"><div style="display:inline-block;text-align:inherit;text-decoration:inherit;" xmlns="http://www.w3.org/1999/xhtml">Home</div></div></foreignObject><text x="16" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">Home</text></switch></g><path d="M 231 144.25 L 260.75 144.25 L 260.75 131 L 291 161 L 260.75 191 L 260.75 177.75 L 231 177.75 Z" fill="#ffffff" stroke="#000000" stroke-miterlimit="10" transform="rotate(90,261,161)" pointer-events="none"/><rect x="1" y="201" width="120" height="60" fill="#ffffff" stroke="#000000" pointer-events="none"/><g transform="translate(19.5,224.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="82" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 83px; white-space: nowrap; text-align: center;"><div style="display:inline-block;text-align:inherit;text-decoration:inherit;" xmlns="http://www.w3.org/1999/xhtml">OS X Partitions<br /></div></div></foreignObject><text x="41" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">OS X Partitions&lt;br&gt;</text></switch></g><rect x="121" y="201" width="60" height="60" fill="url(#mx-gradient-d5e8d4-1-97d077-1-s-0)" stroke="#82b366" pointer-events="none"/><g transform="translate(129.5,224.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="43" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 44px; white-space: nowrap; text-align: center;"><div style="display:inline-block;text-align:inherit;text-decoration:inherit;" xmlns="http://www.w3.org/1999/xhtml">/boot/efi</div></div></foreignObject><text x="22" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">/boot/efi</text></switch></g><rect x="181" y="201" width="60" height="60" fill="url(#mx-gradient-d5e8d4-1-97d077-1-s-0)" stroke="#82b366" pointer-events="none"/><g transform="translate(197.5,224.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="27" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 28px; white-space: nowrap; text-align: center;"><div style="display:inline-block;text-align:inherit;text-decoration:inherit;" xmlns="http://www.w3.org/1999/xhtml">/boot</div></div></foreignObject><text x="14" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">/boot</text></switch></g><rect x="241" y="201" width="280" height="60" fill="url(#mx-gradient-dae8fc-1-7ea6e0-1-s-0)" stroke="#6c8ebf" pointer-events="none"/><g transform="translate(365.5,224.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="31" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 32px; white-space: nowrap; text-align: center;"><div style="display:inline-block;text-align:inherit;text-decoration:inherit;" xmlns="http://www.w3.org/1999/xhtml">LUKS</div></div></foreignObject><text x="16" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">LUKS</text></switch></g><rect x="301" y="261" width="50" height="60" fill="url(#mx-gradient-ffcd28-1-ffa500-1-s-0)" stroke="#d79b00" pointer-events="none"/><g transform="translate(306.5,284.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="38" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 39px; white-space: nowrap; text-align: center;"><div style="display:inline-block;text-align:inherit;text-decoration:inherit;" xmlns="http://www.w3.org/1999/xhtml">Fedora</div></div></foreignObject><text x="19" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">Fedora</text></switch></g><rect x="241" y="261" width="60" height="60" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="none"/><g transform="translate(255.5,284.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="30" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 31px; white-space: nowrap; text-align: center;"><div style="display:inline-block;text-align:inherit;text-decoration:inherit;" xmlns="http://www.w3.org/1999/xhtml">Swap</div></div></foreignObject><text x="15" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">Swap</text></switch></g><rect x="401" y="261" width="120" height="60" fill="url(#mx-gradient-ffcd28-1-ffa500-1-s-0)" stroke="#d79b00" pointer-events="none"/><g transform="translate(444.5,284.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="32" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 33px; white-space: nowrap; text-align: center;"><div style="display:inline-block;text-align:inherit;text-decoration:inherit;" xmlns="http://www.w3.org/1999/xhtml">Home</div></div></foreignObject><text x="16" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">Home</text></switch></g><rect x="351" y="261" width="50" height="60" fill="url(#mx-gradient-ffcd28-1-ffa500-1-s-0)" stroke="#d79b00" pointer-events="none"/><g transform="translate(356.5,284.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="39" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 40px; white-space: nowrap; text-align: center;"><div style="display:inline-block;text-align:inherit;text-decoration:inherit;" xmlns="http://www.w3.org/1999/xhtml">Gentoo</div></div></foreignObject><text x="20" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">Gentoo</text></switch></g></g></svg>
\ No newline at end of file
diff --git a/images/posts/gentoo-screenfetch.png b/images/posts/gentoo-screenfetch.png
new file mode 100644
index 0000000000000000000000000000000000000000..d8281c9a273cfe54ce6a7077966ea8bf2f6fa6fb
Binary files /dev/null and b/images/posts/gentoo-screenfetch.png differ
diff --git a/images/posts/networkmanager-vpn.png b/images/posts/networkmanager-vpn.png
new file mode 100644
index 0000000000000000000000000000000000000000..744da1705581d26744214aba0d8e55eeeaa6c126
Binary files /dev/null and b/images/posts/networkmanager-vpn.png differ
diff --git a/posts/2016-03-13-first-impressions-on-gentoo.md b/posts/2016-03-13-first-impressions-on-gentoo.md
new file mode 100644
index 0000000000000000000000000000000000000000..7636456bb1fc0d3484f17073ff97ea603cd35626
--- /dev/null
+++ b/posts/2016-03-13-first-impressions-on-gentoo.md
@@ -0,0 +1,146 @@
+---
+title: First Impressions on Using Gentoo
+date: Sun Mar 13 16:01:00 EDT 2016
+author: Eduardo Trujillo
+uuid: c6dbbd2f-4e46-469f-82c6-a3a259fe7ca7
+---
+
+![screenfetch output inside GNOME + Wayland](/images/posts/gentoo-screenfetch.png)
+
+Not too long ago I left OS X and installed Fedora on my laptop. Now, over the
+past few days, I've been working on bootstrapping a Gentoo install from within
+my Fedora setup.
+
+Unlike other Linux distributions, [Gentoo](https://gentoo.org) does not have an
+installer. It is expected that you setup and install the system yourself. Yes.
+It is tedious and definitely takes longer than following a setup wizard, but on
+the other hand you gain some knowledge on how Linux works and end up with a
+custom system.
+
+The learning factor was what convinced me to give Gentoo a try.
+
+Given the particular route I decided to take, the
+[Gentoo Handbook](https://wiki.gentoo.org/wiki/Handbook:Main_Page) only helped
+on certain parts of the process. On a normal setup, you start with a live
+image of Gentoo containing just enough tools to install the system. It is also
+assumed that you will start with an empty disk or one that you don't mind
+erasing.
+
+On my case, I have an SSD that has a Fedora and OS X partitions, which are both
+encrypted using each operating system's built-in encryption methods. The Linux
+side consisted of a
+[LUKS](https://en.wikipedia.org/wiki/Linux_Unified_Key_Setup) partition
+containing a
+[LVM](https://en.wikipedia.org/wiki/Logical_Volume_Manager_%28Linux%29) setup.
+
+Thus, the first step was to figure out how to make space for Gentoo while also
+avoid breaking the existing systems. Having LVM setup, certainly helped here.
+I shrunk my Fedora root (`/`) while keeping my home partition (`/home`) intact.
+
+![Diagram of my partitioning setup](/images/posts/gentoo-partitions.svg)
+
+After that was done, I created a new partition for the root Gentoo filesystem
+and followed the section of the handbook on how to download the _Stage3_
+archive and chrooting into the environment.
+
+Once, chroot-ed, you can sort of begin using Gentoo and install packages using
+Portage. You can even run X programs if you have an X server running on the
+host. However, the goal here was to also boot into Gentoo directly. A chroot-ed
+environment meant that the system is still running using the Fedora kernel.
+A big part of installing Gentoo is building your own kernel and then rebooting
+into it.
+
+Building a bootable kernel wasn't too hard. I installed the kernel sources
+using Portage, configured it using `make menuconfig`, and compiled it. Once it
+was finished. I copied over to my `/boot` partition so that GRUB could find it.
+
+A few test boots showed that the system was booting correctly (and very fast
+too). Unfortunately, once booted nothing happened because the disk partition
+is encrypted using LUKS.
+
+Getting LUKS and LVM to work was bit painful due to how long it took me to find
+a working solution.
+
+My initial attempt resulted in me trying to setup an _initramfs_ using Fedora's
+`dracut` tool, which was available on the Gentoo repository and mentioned in
+many guides on the distribution's wiki. It seemed logical given that it was the
+same tool being used by the Fedora install, so getting it to work with Gentoo
+should have only consisted of building a similar image but pointing to the
+Gentoo partition.
+
+That did not work out well. I was simply not able to get past the disk
+unlocking and mounting process. I think it may have been just trying to make
+many things work together: EFI, `systemd`, `plymouth`, `cryptsetup`, and `lvm`.
+
+So, I continued with the other option presented by the Gentoo wiki,
+`genkernel`. This is a tool used to automate the process of building a kernel
+in Gentoo, but it also supports automatically building an initramfs. I
+initially tried to avoid it given that I wanted to build the kernel myself as a
+learning exercise. However, after installing it, I was pleased to find that
+building an initramfs did not involved building a kernel with `genkernel`.
+
+A few key things to enable on my setup was the LUKS and LVM options on
+`/etc/genkernel.conf`, and adding `dolvm` to my kernel command line on GRUB.
+
+_BAM!_ It booted, asked for my password, and dropped my into a login shell.
+
+I still had to go back to Fedora and `chroot` a couple of more times until I
+got the right network drivers compiled. It was nice to find out that plugging
+in a Thunderbolt Ethernet adapter worked and did not crashed the kernel like it
+does on Fedora.
+
+Another thing I didn't realize immediately was that the `genkernel` initramfs
+does not use `systemd` by default, so I had to add that to the kernel command
+line too.
+
+Then I continued to install software and drivers, but this time from within
+Gentoo. GNOME took a good 4-6 hours to compile, mainly due to WebKit taking so
+long.
+
+Once I started GDM, NetworkManager, and the bluetooth service using
+`systemctl`, I finally felt like I had a fully working system on my hands.
+
+Everything worked, except one major peripheral, the trackpad: Apparently, the
+`usbhid` driver was claiming the device before the right driver, so the
+keyboard worked, but the trackpad was dead.
+
+After a few hours of debugging, I gave up and decided to try compiling the
+latest kernel available (_4.4.4 vs 4.1.15_), and after rebooting the trackpad
+began working, including multitouch support!
+
+Lastly, I switched from X to Wayland, given that X had an odd issue with some
+letters not rendering after the laptop came back from sleep. Adding Wayland
+support simply consisted of adding `wayland wayland-compositor xwayland egl` to
+my `USE` flags, and then recompiled the affected packages. After another
+reboot, "GNOME on Wayland" appeared as an option on the GDM login screen.
+
+## Summary
+
+In general, I think I'm happy with my current build and will attempt to use it
+as my main driver for the next few weeks. If it turns out to not have any major
+issues, I'll remove my fedora partition to clear up some space.
+
+### The good
+
+- **Worked, almost, out-of-the-box**: I was surprised by the amount of hardware
+that simply just worked out of the box by enabling the right kernel modules:
+GPU, Keyboard, Sound, Lid, Keyboard Backlight, Mic, Media Keys, USB,
+Thunderbolt.
+- **Needed some extra work:** Wi-Fi, Trackpad.
+- **Closing the laptop actually puts it to sleep.** No workarounds needed like
+in Fedora. Wayland is slightly better at this since it doesn't turn on the
+screen for a few seconds while closed like Xorg does.
+- Power consumptions seems to be slightly better than Fedora, especially after
+enabling all the toggles on `powertop`.
+- The system boots really fast. Around, maybe, 20-40 seconds from GRUB to GDM?
+- The Gentoo repositories are generally closer to upstream than other
+distributions, and I'm also growing to like Portage's `USE` keyword feature.
+- Learned a lot about how modern Linux systems are setup.
+
+### The bad
+
+- It's not for everyone. Many users probably just want an OS that works out of
+the box.
+- The compile time of some packages can be very long (I'm looking at you 
+WebKit).
+- Many commercial software packages are only distributed as `deb`s or `rpm`s.
diff --git a/posts/2016-04-08-networkmanager-vpn.md b/posts/2016-04-08-networkmanager-vpn.md
new file mode 100644
index 0000000000000000000000000000000000000000..0c571534d81289370f90c3c6528a4c1576c67d79
--- /dev/null
+++ b/posts/2016-04-08-networkmanager-vpn.md
@@ -0,0 +1,75 @@
+---
+title: Automatically connecting to VPNs using NetworkManager
+date: Fri April 08 16:01:00 EDT 2016
+author: Eduardo Trujillo
+uuid: 2bdc6147-c228-47f2-8b5f-8f71915a5ea4
+---
+
+Coming from OS X, I've grown accustomed to [Tunnelblick][tb], which is one of
+the best OpenVPN clients for the platform. It is not perfect and there are many
+commercial offerings out there that have a much nicer user interface, however
+Tunnelblick gets the job done and it's open source.
+
+On Linux, the story is a bit different. Most distributions come with
+[NetworkManager][nm], which is, as the name implies, a daemon for managing
+network connections. For most systems, it is the component that takes care of
+connecting to Wi-Fi networks, setting up an Ethernet connection when you plug
+in the cable, and even 3G/4G modems.
+
+NetworkManager has support for plugins, which has led it to support many VPN
+protocols, [including OpenVPN][nmo]!
+
+<div class="callout-quote">
+...it was pleasant to find that it not only is integrated with the main
+networking daemon, but it also supported on the UI-side...
+</div>
+
+When trying to figure out how to setup an OpenVPN client on Linux, it was
+pleasant to find that it not only is integrated with the main networking
+daemon, but it also supported on the UI-side, where most settings can be
+tweaked.
+
+However, Tunnelblick still had something I couldn't find how to do using
+NetworkManager alone: Connecting to the VPN automatically and reconnecting on
+cases where the connection is dropped.
+
+For me, this is a _must have_ feature for VPN clients, given that I tend to
+roam a lot with my laptop and can't remember to connect every time it connects
+to a new network.
+
+Some initial digging led me to an [Arch Linux wiki page][alp] describing how to
+write a script which sort-of achieves what I'm looking for. However, the
+approach seemed brittle and insecure, due to the fact that you have to make the
+connection available to other users on the system, and in some cases write
+connection secrets in plaintext.
+
+After a while, I attempted to start writing a small daemon that would monitor
+D-Bus and respond to NetworkManager events by determining if a VPN connection
+should be started or stopped. An initial version was capable of determining if
+the VPN connection is active. However, due to lack of free time to work on it
+and the complexity of keeping track of the state of the machine, I decided to
+put it on hold.
+
+While working on this project, I did discover that NetworkManager does have
+some of this functionality built-in. It turns out you can specify a VPN to
+connect to as a requirement for some connections to succeed:
+
+![Automatic VPN connection settings](/images/posts/networkmanager-vpn.png)
+
+On Gentoo, this configuration can be accessed using `nm-connection-editor`,
+which can be installed using the `gnome-extra/nm-applet` package.
+
+This is working great so far, but it does required some manual configuration
+for every new connection you setup, which can be annoying if you roam through
+many Wi-Fi networks.
+
+In the future, I might resume work on the D-Bus approach in order to automate
+this a bit more. I would love it if my laptop simply did not trust any network
+and automatically attempted to connect to a VPN. It would also be nice if this
+is only attempted after a hotspot login is shown. For now, however, this should
+be enough.
+
+[tb]: https://github.com/Tunnelblick/Tunnelblick
+[nm]: https://wiki.gnome.org/Projects/NetworkManager/
+[nmo]: https://packages.gentoo.org/packages/net-misc/networkmanager-openvpn
+[alp]: https://wiki.archlinux.org/index.php/NetworkManager#Use_dispatcher_to_connect_to_a_VPN_after_a_network_connection_is_established
diff --git a/scss/_code.scss b/scss/_code.scss
index b0ef18b9484fcc7da4073f5bd50f716571fee58d..f663db97ca74c1d7d0b307baaac1a54a53a86228 100644
--- a/scss/_code.scss
+++ b/scss/_code.scss
@@ -1,11 +1,13 @@
 code {
   font-size: 0.8em;
+  background-color: #fafafa;
+  border: 1px solid #eee;
 }
 
 div.sourceCode {
   line-height: 1;
-  border: 1px $medium-gray solid;
-  background-color: scale-color($medium-gray, $lightness: 85%);
+  border: 1px solid #eee;
+  background-color: #fafafa;
   margin-bottom: rem-calc(10);
   overflow-x: auto;
 
diff --git a/scss/app.scss b/scss/app.scss
index d45ca07cd64b46a2757616a64f9c36e1f0b3fe9f..8eca4af028f955a5f79f2398cc2552ae184980e1 100644
--- a/scss/app.scss
+++ b/scss/app.scss
@@ -124,3 +124,7 @@ figcaption {
       text-align: left;
     }
 }
+
+figure {
+    text-align: center;
+}