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): -![](screenshot.png) +{{}} 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: -![](lSEsz5z.jpg) +{{}} 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: -![](pQHZlkO.jpg) +{{}} 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): -![](URfAcl9.png) +{{}} 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 }}
{{ . }}