Giving the Suckers a Mouthful
A few days ago, I went through my referrer logs, and found that my photography
and image collecting is enjoying(?) a dubious kind of success: people like
my images so much, that I found at least six culprits that are linking my
images
and stealing bandwidth from me. Adding insult to injury, they don't credit
my
images. Most of them are using the images to illustrate their own points/comments
on bulletin boards.
I
found
out
that
it's
a
pretty
simple
matter
to
block
bandwidth
suckers
from
hot-linking my images. You add a set of directives to the .htaccess file
that only allow your domain to use the images. Otherwise, a banwidth-sucker
image
is
returned.
My bandwidth-sucker JPEG reads “UH-OH! BANDWIDTH SUCKER DETECTED.
visit beansaboutit.com.” The file is small, so not as much bandwidth gets
sucked, and it becomes an ad for my site.
I didn't get the comparison string right the first time. The result was that
it blocked images from showing up on this blog. I'm also thinking there may
be a few other domains that I want to allow to hotlink my images. I'm waiting
to hear back from support on how to tweak the directive.
:::
Use it or Lose it
The “nuclear option” must be blocked. It's amazing to me that the discussion
has gotten this far. I know an obscenity when I see one.
This Wednesday, the Democratic Party and allied organizations will present
more than 1 million petition signatures to Senate Democrats as a sign of
support and public opposition to the Republican power grab. You must sign
our petition today if you want your name presented to our leaders in the
Senate:
http://www.democrats.org/freespeech
This is what we risk. By silencing Democrats on the Senate floor, Republicans
will easily approve all of President Bush's extreme right-wing judicial nominees,
giving them lifetime appointments to the federal bench – no matter what
their records look like. This puts all of our values we hold dear – civil
liberties,
voting rights, a woman's right to choose, education, environmental protections
– at grave risk.
:::
Working with CSS
is getting easier. I'm finding
that tweaking layouts is pretty easy, once you have the underlying CSS structured
right. The iffy part is getting the design working in the first place. It
seems
that if you want to align groups of objects side by side, you pretty much have
to
use table cells – As far as I can tell, there's no way to instruct <div>s to
line up side by side.
I had thought that display:inline would do that, but I have found that display:block
and display:inline are not precise opposites. Using display:block will make
objects
that normally display
inline (e.g. images) stack up nicely, eliminating
the
need for
1-column
tables
to produce interfaces like vertical menus. However, display:inline still
allows elements to wrap. If there's a way to suppress wrapping, maybe
something
interesting can happen. Meanwhile, I'm still using admittedly simpler table
structures to provide skeletal support to my page designs.
In the end, it's satisfying to see the designs rendered precisely, without
a single extra spacer GIF. The source code looks a LOT cleaner, too.