1111111111 = Thu Mar 17 17:58:31 2005 PST
Please make a note of it.
DNA Lounge: Wherein Jesus, a rabbi, Colonel Sanders, Hunter S. Thompson and a slutty Hawaiian girl walk into a bar...
"So... Jesus, a rabbi, Colonel Sanders, Hunter S. Thompson and a slutty Hawaiian girl walk into a bar. Then the gorilla says..."
Indeed, that's what happened on Sunday! I'm glad that my bar is helping to make bar jokes come to life. You want photos, I assume: MC Kingfish's Burlesque Birthday Blowout.
Someone told me that the can-can troupe weren't actually booked by anybody: they just showed up, in costume, and said "can we go on next?" I will believe that this is true, because it should be. I choose to live in a world populated by roving bands of vigilante can-can girls.
Back when I used a film camera, I used to cover one of my walls with snapshots. They currently cover an area of about 10' wide and 8' high, but I haven't updated them in a few years, because I don't use film any more.
And then a few weeks ago, this post about how to use iPhoto to make a poster out of a grid of digital photos was making the rounds, and that inspired me to write my own.
The thing I didn't like about that iPhoto technique is that it required all the photos to be the same shape (all portrait or all landscape) and, well, I have both. So I wrote this program to do a more chaotically-packed layout of photos of arbitrary sizes (sample output to the right; instructions at the top of the file.)
I haven't tried actually printing one of these yet. Should I just go to Kinko's?
The Perl interface to ImageMagick is pretty slick! I hadn't taken notice of it before.
What I originally wanted to do was, instead of writing out a single flat file with the images in them in the randomly-chosen layout, write out a file with each image on its own layer, positioned properly. That way I could easily go in and hand-tune the layout by just dragging the layers around in GIMP. But, it seems that TIFF files don't store position info for the layers (they all start at 0,0) and I can't find any other multi-layered image format that can be both written by ImageMagick and read by GIMP. So, so much for that idea.
I suppose could have accomplished this by writing this program in Script-Fu (GIMP's Scheme-ish extension language) instead of in Perl, but there's just something about Script-Fu that rubs me the wrong way, so I didn't bother learning it.
Another thing that's going to be problematic about using this (for me, anyway) is that, while I've saved the original, high resolution version of nearly every photo I've taken, the versions that I have color-corrected and put in galleries are all the small versions. This means that I'll either have to re-color-correct the big originals, or just print out the uncorrected versions. Maybe I should add an option to the script to do "auto-levels" on the images as it imports them. That will crappify certain pictures, but will probably improve most of them...
- "The Law of Unintended Consequences."
- The thing about this phrase is that people often cite it, but never define it. There's a good reason for that: any definition of it would be shorter than its title! Let's try: "Unintended Consequences happen." Wait, I think we can do better: "Shit happens." Yup, there it is: when you want to say "shit happens", or when you want to make the Nelson "ha-ha" laugh, you can instead invoke The Law Of and suddenly you sound erudite.
- I'm pretty sure this used to be called "gloating." But by ismifying it, you can pretend it's a school of thought.
Stop using these phrases. If you hear someone using them, smack them. Thank you for your cooperation.
The first was a makeover show where, as near as I can tell, they just give you a pile of money and send you shopping. Their victim was "a thirty year old woman who is still going for that punk/goth look."
I didn't see the "before" pictures, but they frumped her out into someone's mom. Everyone excitedly hopped up and down.
Meanwhile, over on Fuse (the Canadian MTV) they had a "metal makeover" show, where these three screeching harpies in a convertible showed up at the house of some guy who really liked metal but didn't dress the part. They made fun of his parents, bought him a spiked arm-band, and tried to talk him into getting a piercing or a tattoo.
The ladies shook their fists out of the car and yelled "Rock has come to town."
So I figure these two shows cancelled each other out, and I didn't actually see anything at all. That's my story and I'm sticking to it.
But it occurred to me that this was going to interfere with power management. Say you have things set so that the screen blanks after 10 minutes, and the monitor powers down after 60 minutes, and a truck goes by and rumbles your desk by one pixel at 59 minutes.
- 0:10:00 -- screen blanks
- 0:59:00 -- truck!
- 1:00:00 -- monitor should power down
- 1:58:00 -- monitor does power down
So if a truck goes by every 58 minutes, the monitor will always stay on, since xscreensaver now knows to ignore small motions like that, but the X server itself does not.
The obvious solution here is to tell the X server to keep its hands off of the monitor, and for xscreensaver to take care of powering it up and down by itself. Sounds easy enough, right? Except it doesn't work: if the monitor is in "suspend" mode and you try to put it in "standby" or "off" mode, it powers back on. DPMSForceLevel() succeeds, and DPMSInfo() says that the monitor is in "suspend" or "off", and yet, there it is, fully powered up and staring you in the face.
So, fuck it, I guess. If you expect DPMS to work right, don't.
(The whole thread is good...)