The Other White Meat

This is old news, but it still cracks me up…

As they do every year, Thinkgeek put up some funny fake products on April Fools’ Day. Among them was Canned Unicorn Meat, which they called “the new white meat.”

The National Pork Board sent Thinkgeek a cease and desist nastygram, alleging trademark dilution of their “The Other White Meat” trademark.

The cease and desist was serious, though Thinkgeek points out that its use was a legally-protected parody, and mentions an “awkward extended pause on the phone after we had explained our unicorn meat doesn’t actually exist.” The unicorn meat was kind of funny on April 1st, but the meticulously-research cease and desist letter from a powerhouse law firm makes it infinitely more hilarious.


I posted a few months back about how I’m interested in setting up an Asterisk instance for VoIP, though it would be rather silly as I don’t have phone service, so it’d either use my cell phone via Bluetooth, or use Skype as a channel. (Neither of which, apparently, are commonly-used.)

I mentioned before that the 7970 is the most beautiful telephone ever made. And I stand by that statement. But at the same time, I don’t need multiple lines, and a color screen is kind of silly when it’d sit next to a pair of giant computer LCDs. (And when the thing, with the SIP firmware, is apparently horrendous at using its WAP browser.) And at those times, I think that maybe I should go for something more classic. Conceivably, it could be hooked into an FXS voice modem or something of the sort, a minor tweak made to Asterisk’s setup, and viola. A rotary pulse-dialing telephone that indirectly connects to Skype or something.

Red telephones of that sort are even more tempting, though what I think I really want is a payphone.

You can go older, though I think it would be problematic given that it has no dialing capabilities. If you were going to go that far, you might as well buy Alexander Graham Bell’s vest.


More companies need to make new “old” things.

Vintage reproduction radio console

This one seems to have been discontinued (why!?), but that only makes me want it more. AM/FM and limited shortwave. Auxiliary inputs (banana plug), even. I could pair it with an active antenna if I were interested in SWL, since I can’t exactly put up a tower outside my apartment. The tuning doesn’t seem terribly accurate, of course.

Fix slow first request with Passenger / mod_rails?

The main page of this site is now a Rails app, and I plan to use Rails more extensively as time goes on. I run Passenger with Apache, which is a pretty nice solution. (I’m thinking of dropping in REE in lieu of standard Ruby, too?)

But it had one crippling bug: if you were the first to hit the page in a while, it was unbearably slow. It turns out that my guess about what was happening was correct: after a period of inactivity, your app will spin down to free up memory for other threads. The benefit is that it’s proper and efficient. The downside is that if someone hits the application (here, “the application” is the main page) for the first time in a while, Passenger has to load the application into memory again. And as someone who works with Rails on a daily basis, I have to say that it’s excruciatingly slow to start. 10-30 seconds is the norm for me.

The fix is apparently pretty easy: set PassengerPoolIdleTime much higher to leave idle threads running longer, or set it to 0 to leave them running forever “unless it’s really necessary” to make room for something else. The documentation also notes, “Setting the value to 0 is recommended if you’re on a non-shared host that’s only running a few applications, each which must be available at all times.”

You’ll probably also want to set RailsFrameworkSpawnerIdleTime and RailsAppSpawnerIdleTime to 0 if you go that route.

Drop the settings right into httpd.conf, restart Apache, and viola.

Big Brother and Kill Switches

It’s being fiercely opposed and is a far way from reality anyway, but every now and then my tinfoil hat quotient is elevated.

I haven’t bought anything, don’t plan to do so too immanently, and won’t talk publicly about it if I do, but I’d just like to put a few things out there:

  • Good-enough 1U servers are a dime a dozen on eBay. If you need virtualization support, gobs of RAM, or really good disks, the prices are a bit higher, but if dual 3GHz Xeons, 2GB RAM, and a pair of 36GB SCSI disks (mirrored for redundancy) work for you, you have a wealth of options for under $200.
  • is famous for hosting The Pirate Bay and Wikileaks, two sites that a lot of powerful people would like to go away. Their colo plans for 1U start at $80/month. (Dedicated servers start at $123, though there’s also a $200/month setup fee.) They offer tunnel services for much lower prices, but if you’re building a tinfoil-hat encrypted international tunnel, you’d probably do well to not trust anyone.
  • OpenVPN is free, easy enough to use, and supported (in userspace) on all major platforms. (ssh tunneling would work, but it’s kind of a hassle if you want to tunnel everything through it.)
  • Disk encryption is nothing new. I think, ideally, you’d set the box up so that it could be booted unattended, but the ‘privileged’ data (e.g., /home, anything chrooted, and any logging you did) would require that someone log in and provide a passphrase to mount the secure partitions. (Important: don’t log connections to an unencrypted partition if you can help it.)
  • Squid is a nice proxy if there will be more than a couple concurrent users.
  • Tor exit node. Plausible reliability. Tor seems to provide it natively, but iptables can throttle bandwidth too.

I get about 120ms pings to PRQ. Not wonderful, but not so shabby given the distance.

Emailing Mistakes

Thunderbird and GMail both now provide a fairly intelligent feature that catches when you say “attached” or similar and will stop you if you try to send the message without an attachment. (And it’s not too annoying if you said “attached” or “attachment” without meaning to attach anything: “The cable is attached to the rotor” doesn’t mean that I’m attaching a cable to my email.)

One thing I really want, though, is the ability to ‘lock’ an email so I don’t accidentally send it. There’s some keyboard combination that means “Immediately send this email,” and, on several instances, have somehow bumped it in the middle of sending an email. (For what it’s worth, I’ve done this on every mail client I’ve ever used, so it’s not specific to one email.) I’d love to be able to click a little lock that would lock out the email from sending until I clicked it again.

The way I normally get around this is to fill in the “To:” field last. (If I made an email client, I’d move it to the bottom.) This doesn’t work for replies, though. If I’m replying to one person and have a long email, I’ll pull out their email address and re-add it when I’m ready to done. But when you’re doing Reply-All, it’s not practical to do this. And Reply-All to a sizable list is exactly when you want to be very careful that the email isn’t sent unless you explicitly mean to.

The other option is to write the body in a text editor and paste it in when you’re done and it’s proofread, but I think this is fundamentally broken.

(If you take nothing else away from this, though, take the tip I picked up about making the To: field be the last one you fill in.)

Firing Squads

Utah recently executed a man by firing squad, which, it turns out, has been a wee bit controversial.

At the end of the day, though, I can’t figure out why the use of a firing squad is controversial. Every argument I have against it also applies to lethal injection or electrocution, which seem to be perceived as more “civilized” means of killing people than firing squad. But if I were going to be put to death, I think I’d probably most prefer to be summarily shot in the head than strapped down and slowly injected with chemicals or electrocuted.

An interesting aside: Canada and Mexico have both banned capital punishment. Mexico was later to the game than Canada, banning it in 1976. Costa Rica banned it in 1877 and no, that’s not a typo. Israel in 1954, South Africa in 1997. Cambodia in 1989. Vatican City in 1969. Makes it seem kind of strange that it’s still considered an important part of American law.

Photoshop CS5 in 60 Seconds

With a new machine, I thought it’d be fun to try out the trial of Photoshop CS5. The content-aware fill feature is the one that really draws everyone’s attention, and was indeed something I was psyched about trying.

For one, let me state that content-aware fill is terrible at some things. It’s probably things it was never meant to do, like filling in huge swaths of an image, or taking a set of photos of people and “content-aware filling” them with recognizable human forms. But it’s borderline-magic at filling in small patches with good-enough content that looks right.

So here’s a quick photo series showing what I did after a couple minutes of tinkering. I show a couple of my favorite tricks, too. I should note that there are several other images I tried that didn’t come out well, so don’t take this one example as representative. (But I thought my mishaps created without reading any documentation or even fully understanding the precise purpose of content-aware fill would be unfair to Adobe, too. “Hey, look, if I misuse a tool I don’t understand, I get terrible results!”)

Here’s an image that started out life as a magnificent vista up in the White Mountains area, shot from a car window, which practically guarantees that it will come out terribly. Indeed, it did:

Content Aware Fill - Mount Washington Vista

For one, like every photo ever shot through a car window, it’s horribly washed out, which is generally somewhat irreparable. And two, you’ll note that I got a highway stake in the middle of the shot. Hard to plan those at 65mph when you’re on an old digital camera with tremendous shutter lag. In short, if I took a shot like this today, I’d probably have deleted it as soon as I saw how it came out on-screen. As you can see, I took the first step already and drew a really rough outline around the highway reflector/stake. I made no attempt to be precise.

Next, I selected Edit -> Fill, and took the default settings, which use the Content-Aware Fill. It worked pretty well:

Content Aware Fill Applied in Photoshop CS5

If you really scrutinize it and compare to the original, you might note that it’s not perfect, but to a casual observer, it’s really not apparent that something’s been cloned out. Sure, you could have cloned it by hand; it’s not even that tricky in this case. But why bother if the computer can do just as good of a job for us? You might want to circle back and do a little manual-cloning, because there are some really distinctive elements that are notably duplicated, but they’re really not notable to casual observers.

The next two alterations aren’t specific to CS5, but they’re two of my favorite tools, and, coupled with Content-Aware Fill, really helped to save this image:

Shadows and Highlights in Photoshop CS5

I think the image directly above actually looks worse than the one before it, but that’s because this is an intermediate step. I used an old favorite cheat of mine, Shadows & Highlights, to bring out some of the details in the shadows, and, to the tiniest degree, the highlights. This tool needs to be used with caution, because it’s easy to get carried away and push things to outrageously-artificial levels. You can ultimately push the dynamic range out a bit, but if you push it more than a little, the result is a monstrosity. That’s okay here, though, because the next image is going to make everything alright. Or, at least, as alright as it can be given the horrible starting point we had.

Photoshop - Curves and Levels

The above image is after the Levels tool. This image won’t win any awards; it’s really quite mediocre. But if you scroll back up and compare it with what we started with, it’s really pretty remarkable. If I weren’t playing with a new Photoshop trial at the time, I’d have considered the image hopeless.

Of course, the ultimate question at the end of this pseudo-review: Is it worth $700? To a professional, it’s a no-brainer, I’m sure. But $700 is a lot for a hobbyist photographer.

Burger King

Having worked in customer service in the past, I’m privy to a little bit of knowledge most people don’t have: the people working behind the counter are humans. I just got back from Burger King, where the woman in line in front of me clearly had never worked in customer service, or for that matter, had a single friend. “You’re not going to forget the cream this time, are you?” she taunted, before turning to someone else and talking about how outrageous it was that her coffee wasn’t made just to her liking. Then she barked “I’m watching you!” She turned to her friend* and said, “I should contact the regional manager.”

And that’s how I got the idea: I was going to find and contact the regional manager and mention the staff’s prompt and attentive service and their amazing professionalism even with the crazy lady who was overtly insulting them.

But my plans were foiled. For one, the regional manager doesn’t have a website or anything. For that matter, neither does the local restaurant. Burger King, of course, has a website, so I went there to see if I could somehow find the information. Nope. And then, a, “Why didn’t I think of this sooner?!” idea, I decided I’d email the corporate office and ask for contact information for the regional manager. Except, whoops, you can’t. You have to write them snail-mail.

So then I turned to my favorite resource ever, the Secretary of State’s website. (Googling “mass sos” is sufficient to find the Massachusetts Secretary of State, by the way.) Three companies are filed with the state: “Burger King Corporation” out of Florida, “Burger King Limited Liability Partnership” out of New York, and “Burger King Operating Limited Par” out of Florida. The latter two list “Corporation Service Company” as their resident agent; the main organization lists “CT Corporation System” which appears to be CT Advantage now. Looking them up with the Secretary of State, they’re a Delaware corporation that seems to provide legal services and resident agent services to corporations.

In other words, they’re not set up to want to hear from anybody, ever.

* I use the term “friend” here to mean “an individual who was with her and with whom she seemed familiar.” This lady couldn’t have had any friends, but I wasn’t sure how else to describe the other person.