Dither non-thumbnailed images

This commit is contained in:
David Eisinger
2024-02-02 01:15:14 -05:00
parent 0745f890b1
commit 56f08b4873
9 changed files with 19 additions and 18 deletions

View File

@@ -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 sure. We are, after all, complicated creatures. Fortunately, Viget
Extend is here to help. Here are some gifts your nerd is sure to love. Extend is here to help. Here are some gifts your nerd is sure to love.
<img src="dce_iamakey.jpg" class="inline"> [**Lacie iamaKey Flash Drive**](https://www.amazon.com/LaCie-iamaKey-Flash-Drive-130870/dp/B001V7XPSA) **($30)** {{<dither dce_iamakey.jpg "" "inline" />}} [**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 If your nerd goes to tech conferences with any regularity, your
residence is already littered with these things. USB flash drives are a 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 it's designed to be carried on a keychain, it'll always around when your
nerd needs it. nerd needs it.
<img src="dce_aeropress.jpg" class="inline"> [**AeroPress**](https://www.amazon.com/AeroPress-Coffee-and-Espresso-Maker/dp/B000GXZ2GS) **($25)** {{<dither dce_aeropress.jpg "" "inline" />}} [**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 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 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 can't go wrong with a [french
press](https://www.amazon.com/Bodum-Chambord-4-Cup-Coffee-Press/dp/B00012D0R2/). press](https://www.amazon.com/Bodum-Chambord-4-Cup-Coffee-Press/dp/B00012D0R2/).
<img src="dce_charge_tee.jpg" class="inline"> [**SimpleBits Charge Tee**](http://shop.simplebits.com/product/charge-tee-tri-blend) **($22)** {{<dither dce_charge_tee.jpg "" "inline" />}} [**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 Simple, vaguely Mac-ish graphic printed on an American Apparel Tri-Blend
tee, no lie the greatest and best t-shirt ever created. tee, no lie the greatest and best t-shirt ever created.
<img src="dce_hard_graft.jpg" class="inline"> [**Hard Graft iPhone Case**](http://shop.hardgraft.com/product/base-phone-case) **($60)** {{<dither dce_hard_graft.jpg "" "inline" />}} [**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 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. 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 Doubles as a slim wallet if your nerd is of the minimalist mindset, and
here's a hint: we all are. here's a hint: we all are.
<img src="dce_ignore.jpg" class="inline"> [**Ignore Everybody**](https://www.amazon.com/Ignore-Everybody-Other-Keys-Creativity/dp/159184259X) **by Hugh MacLeod ($16)** {{<dither dce_ignore.jpg "" "inline" />}} [**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 Give your nerd the motivation to finish that web application he's been
talking about for the last two years so you can retire. talking about for the last two years so you can retire.
<img src="dce_moleskine.jpg" class="inline"> [**Moleskine Notebook**](https://www.amazon.com/Moleskine-Squared-Notebook-Cover-Pocket/dp/8883707125) **($10)** {{<dither dce_moleskine.jpg "" "inline" />}} [**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; 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 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 recommend the [Uni-ball
Signo](http://www.jetpens.com/product_info.php/cPath/239_90/products_id/466). Signo](http://www.jetpens.com/product_info.php/cPath/239_90/products_id/466).
<img src="dce_canon.jpg" class="inline"> [**Canon PowerShot S90**](https://www.amazon.com/dp/B002LITT42/) **($400)** {{<dither dce_canon.jpg "" "inline" />}} [**Canon PowerShot S90**](https://www.amazon.com/dp/B002LITT42/) **($400)**
Packs the low-light photographic abilities of your nerd's DSLR into a 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 compact form factor that fits in his shirt pocket, right next to his
slide rule. slide rule.
<img src="dce_newegg.png" class="inline"> [**Newegg Gift Card**](https://secure.newegg.com/GiftCertificate/GiftCardStep1.aspx) {{<dither dce_newegg.png "" "inline" />}} [**Newegg Gift Card**](https://secure.newegg.com/GiftCertificate/GiftCardStep1.aspx)
If all else fails, a gift card from [Newegg](http://newegg.com) shows 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. you know your nerd a little better than the usual from Amazon.
<img src="dce_moto_guzzi.jpg" class="inline"> [**Moto Guzzi V7 Classic**](http://www.autoblog.com/2009/09/30/review-moto-guzzi-v7-classic-is-an-italian-beauty-you-can-live/) **($8500)** {{<dither dce_moto_guzzi.jpg "" "inline" />}} [**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. Actually, this one's probably just me.

View File

@@ -40,7 +40,7 @@ page, not to mention what a `<div>` can do. Self-closing tags are okay.
With these requirements in mind, we subclassed HTML::WhiteListSanitizer With these requirements in mind, we subclassed HTML::WhiteListSanitizer
and fixed it up. Introducing, then: and fixed it up. Introducing, then:
<img src="jason_statham.jpg" class="inline"> {{<dither jason_statham.jpg "" "inline" />}}
[**HTML::StathamSanitizer**](https://gist.github.com/241114). [**HTML::StathamSanitizer**](https://gist.github.com/241114).
User-generated markup, you're on notice: this sanitizer will take its User-generated markup, you're on notice: this sanitizer will take its

View File

@@ -31,7 +31,7 @@ favorites:
- [Invoking Remote Commands with - [Invoking Remote Commands with
SSH](#invoking-remote-commands-with-ssh) SSH](#invoking-remote-commands-with-ssh)
Ready to get your <img src="neckbeard.png" class="inline"> on? Good. Let's go. Ready to get your {{<dither neckbeard.png "" "inline" />}} on? Good. Let's go.
## Keyboard Shortcuts ## Keyboard Shortcuts

View File

@@ -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 *[Z](https://en.wikipedia.org/wiki/Z_(video_game))*, a real-time
strategy game from the mid-'90s. strategy game from the mid-'90s.
<img src="256px-Z_The_Bitmap_Brothers.PNG" class="inline"> {{<dither 256px-Z_The_Bitmap_Brothers.PNG "" "inline" />}}
In other popular RTSes of the time, like *Warcraft* and *Command and In other popular RTSes of the time, like *Warcraft* and *Command and
Conquer*, you collected `/(gold|Tiberium|Vespene gas)/` and used it to Conquer*, you collected `/(gold|Tiberium|Vespene gas)/` and used it to

View File

@@ -16,7 +16,7 @@ Engine](http://edgeapi.rubyonrails.org/classes/Rails/Engine.html) to
display some basic stats. Announcing, then, display some basic stats. Announcing, then,
[StatBoard](https://github.com/vigetlabs/stat_board): [StatBoard](https://github.com/vigetlabs/stat_board):
![](screenshot.png) {{<dither screenshot.png />}}
Installation is a cinch: add the gem to your Gemfile, mount the app in 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 `routes.rb`, and set the models to query (full instructions available on

View File

@@ -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`, send Chris the generated link, as well as the output of `encrypt.sh`,
over IM: over IM:
![](lSEsz5z.jpg) {{<dither lSEsz5z.jpg "" "inline" />}}
Once he acknowledges that he's received the file, I immediately delete Once he acknowledges that he's received the file, I immediately delete
it. 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. 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: Instead, I pull out my phone and send it to him as a text message:
![](pQHZlkO.jpg) {{<dither pQHZlkO.jpg "" "inline" />}}
Now Chris has the file, instructions to decrypt it, and the passphrase, 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 so he's good to go. An attacker, meanwhile, would need access to both

View File

@@ -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 Here's a flowchart that might make things clearer (did for me, in any
event): event):
![](URfAcl9.png) {{<dither URfAcl9.png />}}
This feature is too complex to handle with React component state, but This feature is too complex to handle with React component state, but
too localized to store in application state (the main Microcosm too localized to store in application state (the main Microcosm

View File

@@ -5,7 +5,7 @@ draft: false
canonical_url: https://www.viget.com/articles/viget-devs-storm-chicago/ canonical_url: https://www.viget.com/articles/viget-devs-storm-chicago/
--- ---
<img src="53100874_f605bd5f42_m.jpg" class="inline"> {{<dither 53100874_f605bd5f42_m.jpg "" "inline" />}}
This past weekend, Ben and I travelled to Chicago to speak at [Windy This past weekend, Ben and I travelled to Chicago to speak at [Windy
City Rails](http://windycityrails.org/). It was a great conference; City Rails](http://windycityrails.org/). It was a great conference;

View File

@@ -1,9 +1,10 @@
{{ $file := printf "%s%s" .Page.RelPermalink (.Get 0) }} {{ $file := printf "%s%s" .Page.RelPermalink (.Get 0) }}
{{ $geo := .Get 1 }} {{ $geo := .Get 1 }}
{{ $img := resources.GetRemote (printf "%s%s?geo=%s" (getenv "DITHER_SERVER") $file $geo) }} {{ $img := resources.GetRemote (printf "%s%s?geo=%s" (getenv "DITHER_SERVER") $file $geo) }}
{{ $imgClass := .Get 2 }}
<a href="{{ $img.RelPermalink }}"> <a href="{{ $img.RelPermalink }}">
<img src="{{ $img.RelPermalink }}" width="{{ $img.Width }}" height="{{ $img.Height }}"> <img src="{{ $img.RelPermalink }}" width="{{ $img.Width }}" height="{{ $img.Height }}" class="{{ $imgClass }}">
{{ with .Inner }} {{ with .Inner }}
<figcaption> <figcaption>
{{ . }} {{ . }}