diff --git a/content/elsewhere/gifts-for-your-nerd/index.md b/content/elsewhere/gifts-for-your-nerd/index.md
index 2ab1a80..a7c74dc 100644
--- a/content/elsewhere/gifts-for-your-nerd/index.md
+++ b/content/elsewhere/gifts-for-your-nerd/index.md
@@ -9,7 +9,7 @@ Shopping for a nerd this holiday season? A difficult proposition, to be
sure. We are, after all, complicated creatures. Fortunately, Viget
Extend is here to help. Here are some gifts your nerd is sure to love.
-
[**Lacie iamaKey Flash Drive**](https://www.amazon.com/LaCie-iamaKey-Flash-Drive-130870/dp/B001V7XPSA) **($30)**
+{{}} [**Lacie iamaKey Flash Drive**](https://www.amazon.com/LaCie-iamaKey-Flash-Drive-130870/dp/B001V7XPSA) **($30)**
If your nerd goes to tech conferences with any regularity, your
residence is already littered with these things. USB flash drives are a
@@ -17,7 +17,7 @@ dime a dozen, but this one's different: stylish and rugged, and since
it's designed to be carried on a keychain, it'll always around when your
nerd needs it.
-
[**AeroPress**](https://www.amazon.com/AeroPress-Coffee-and-Espresso-Maker/dp/B000GXZ2GS) **($25)**
+{{}} [**AeroPress**](https://www.amazon.com/AeroPress-Coffee-and-Espresso-Maker/dp/B000GXZ2GS) **($25)**
A simple device that makes a cup of espresso better than machines
costing twenty times as much. Buy this one for your nerd and wake up to
@@ -26,24 +26,24 @@ gift that keeps on giving. If espresso gives your nerd the jitters, you
can't go wrong with a [french
press](https://www.amazon.com/Bodum-Chambord-4-Cup-Coffee-Press/dp/B00012D0R2/).
-
[**SimpleBits Charge Tee**](http://shop.simplebits.com/product/charge-tee-tri-blend) **($22)**
+{{}} [**SimpleBits Charge Tee**](http://shop.simplebits.com/product/charge-tee-tri-blend) **($22)**
Simple, vaguely Mac-ish graphic printed on an American Apparel Tri-Blend
tee, no lie the greatest and best t-shirt ever created.
-
[**Hard Graft iPhone Case**](http://shop.hardgraft.com/product/base-phone-case) **($60)**
+{{}} [**Hard Graft iPhone Case**](http://shop.hardgraft.com/product/base-phone-case) **($60)**
Your nerd probably already has a case for her iPhone, but it's made of
rubber or plastic. Class it up with this handmade leather-and-wool case.
Doubles as a slim wallet if your nerd is of the minimalist mindset, and
here's a hint: we all are.
-
[**Ignore Everybody**](https://www.amazon.com/Ignore-Everybody-Other-Keys-Creativity/dp/159184259X) **by Hugh MacLeod ($16)**
+{{}} [**Ignore Everybody**](https://www.amazon.com/Ignore-Everybody-Other-Keys-Creativity/dp/159184259X) **by Hugh MacLeod ($16)**
Give your nerd the motivation to finish that web application he's been
talking about for the last two years so you can retire.
-
[**Moleskine Notebook**](https://www.amazon.com/Moleskine-Squared-Notebook-Cover-Pocket/dp/8883707125) **($10)**
+{{}} [**Moleskine Notebook**](https://www.amazon.com/Moleskine-Squared-Notebook-Cover-Pocket/dp/8883707125) **($10)**
What nerd doesn't love a new notebook? Just make sure it's graph paper;
unlined paper was not created for mathematical formulae and drawings of
@@ -52,18 +52,18 @@ Notes](http://fieldnotesbrand.com). As for pens, I highly, *highly*
recommend the [Uni-ball
Signo](http://www.jetpens.com/product_info.php/cPath/239_90/products_id/466).
-
[**Canon PowerShot S90**](https://www.amazon.com/dp/B002LITT42/) **($400)**
+{{}} [**Canon PowerShot S90**](https://www.amazon.com/dp/B002LITT42/) **($400)**
Packs the low-light photographic abilities of your nerd's DSLR into a
compact form factor that fits in his shirt pocket, right next to his
slide rule.
-
[**Newegg Gift Card**](https://secure.newegg.com/GiftCertificate/GiftCardStep1.aspx)
+{{}} [**Newegg Gift Card**](https://secure.newegg.com/GiftCertificate/GiftCardStep1.aspx)
If all else fails, a gift card from [Newegg](http://newegg.com) shows
you know your nerd a little better than the usual from Amazon.
-
[**Moto Guzzi V7 Classic**](http://www.autoblog.com/2009/09/30/review-moto-guzzi-v7-classic-is-an-italian-beauty-you-can-live/) **($8500)**
+{{}} [**Moto Guzzi V7 Classic**](http://www.autoblog.com/2009/09/30/review-moto-guzzi-v7-classic-is-an-italian-beauty-you-can-live/) **($8500)**
Actually, this one's probably just me.
diff --git a/content/elsewhere/html-sanitization-in-rails-that-actually-works/index.md b/content/elsewhere/html-sanitization-in-rails-that-actually-works/index.md
index 24e355e..de973b1 100644
--- a/content/elsewhere/html-sanitization-in-rails-that-actually-works/index.md
+++ b/content/elsewhere/html-sanitization-in-rails-that-actually-works/index.md
@@ -40,7 +40,7 @@ page, not to mention what a `
` can do. Self-closing tags are okay.
With these requirements in mind, we subclassed HTML::WhiteListSanitizer
and fixed it up. Introducing, then:
-

+{{
}}
[**HTML::StathamSanitizer**](https://gist.github.com/241114).
User-generated markup, you're on notice: this sanitizer will take its
diff --git a/content/elsewhere/level-up-your-shell-game/index.md b/content/elsewhere/level-up-your-shell-game/index.md
index a96317a..5c05b86 100644
--- a/content/elsewhere/level-up-your-shell-game/index.md
+++ b/content/elsewhere/level-up-your-shell-game/index.md
@@ -31,7 +31,7 @@ favorites:
- [Invoking Remote Commands with
SSH](#invoking-remote-commands-with-ssh)
-Ready to get your

on? Good. Let's go.
+Ready to get your {{
}} on? Good. Let's go.
## Keyboard Shortcuts
diff --git a/content/elsewhere/on-confidence-and-real-time-strategy-games/index.md b/content/elsewhere/on-confidence-and-real-time-strategy-games/index.md
index e084305..f2e9352 100644
--- a/content/elsewhere/on-confidence-and-real-time-strategy-games/index.md
+++ b/content/elsewhere/on-confidence-and-real-time-strategy-games/index.md
@@ -10,7 +10,7 @@ developer. But before I do that, I want to talk about
*[Z](https://en.wikipedia.org/wiki/Z_(video_game))*, a real-time
strategy game from the mid-'90s.
-

+{{
}}
In other popular RTSes of the time, like *Warcraft* and *Command and
Conquer*, you collected `/(gold|Tiberium|Vespene gas)/` and used it to
diff --git a/content/elsewhere/simple-app-stats-with-statboard/index.md b/content/elsewhere/simple-app-stats-with-statboard/index.md
index 7784747..95fb628 100644
--- a/content/elsewhere/simple-app-stats-with-statboard/index.md
+++ b/content/elsewhere/simple-app-stats-with-statboard/index.md
@@ -16,7 +16,7 @@ Engine](http://edgeapi.rubyonrails.org/classes/Rails/Engine.html) to
display some basic stats. Announcing, then,
[StatBoard](https://github.com/vigetlabs/stat_board):
-
+{{
}}
Installation is a cinch: add the gem to your Gemfile, mount the app in
`routes.rb`, and set the models to query (full instructions available on
diff --git a/content/elsewhere/simple-secure-file-transmission/index.md b/content/elsewhere/simple-secure-file-transmission/index.md
index 8650c85..a8ac671 100644
--- a/content/elsewhere/simple-secure-file-transmission/index.md
+++ b/content/elsewhere/simple-secure-file-transmission/index.md
@@ -54,7 +54,7 @@ From here, I'd move the encrypted file to my Dropbox public folder and
send Chris the generated link, as well as the output of `encrypt.sh`,
over IM:
-
+{{
}}
Once he acknowledges that he's received the file, I immediately delete
it.
@@ -65,7 +65,7 @@ Now I need to send Chris the password. Here's what I **don't** do: send
it to him over the same channel that I used to send the file itself.
Instead, I pull out my phone and send it to him as a text message:
-
+{{
}}
Now Chris has the file, instructions to decrypt it, and the passphrase,
so he's good to go. An attacker, meanwhile, would need access to both
diff --git a/content/elsewhere/using-microcosm-presenters-to-manage-complex-features/index.md b/content/elsewhere/using-microcosm-presenters-to-manage-complex-features/index.md
index 7e00de7..77e6312 100644
--- a/content/elsewhere/using-microcosm-presenters-to-manage-complex-features/index.md
+++ b/content/elsewhere/using-microcosm-presenters-to-manage-complex-features/index.md
@@ -32,7 +32,7 @@ potentially malicious. The logic is roughly defined as follows:
Here's a flowchart that might make things clearer (did for me, in any
event):
-
+{{
}}
This feature is too complex to handle with React component state, but
too localized to store in application state (the main Microcosm
diff --git a/content/elsewhere/viget-devs-storm-chicago/index.md b/content/elsewhere/viget-devs-storm-chicago/index.md
index 613ac79..c77ad17 100644
--- a/content/elsewhere/viget-devs-storm-chicago/index.md
+++ b/content/elsewhere/viget-devs-storm-chicago/index.md
@@ -5,7 +5,7 @@ draft: false
canonical_url: https://www.viget.com/articles/viget-devs-storm-chicago/
---
-

+{{
}}
This past weekend, Ben and I travelled to Chicago to speak at [Windy
City Rails](http://windycityrails.org/). It was a great conference;
diff --git a/themes/v2/layouts/shortcodes/dither.html b/themes/v2/layouts/shortcodes/dither.html
index a71b2c3..6118d91 100644
--- a/themes/v2/layouts/shortcodes/dither.html
+++ b/themes/v2/layouts/shortcodes/dither.html
@@ -1,9 +1,10 @@
{{ $file := printf "%s%s" .Page.RelPermalink (.Get 0) }}
{{ $geo := .Get 1 }}
{{ $img := resources.GetRemote (printf "%s%s?geo=%s" (getenv "DITHER_SERVER") $file $geo) }}
+{{ $imgClass := .Get 2 }}
-
+
{{ with .Inner }}
{{ . }}