dmuth's blog

How OpenID Works

Explained in two simple pictures:


(Images courtesy of the Coding Horror blog)

Any questions?

Really, OpenID is merely a way for a third party (Google, Twitter, Facebook, etc.) to tell the site you are visiting that you are in fact a specific user on that service.

Want to try logging into a site with OpenID credentials to see how it works? You can try that out on Anthrocon's site. I've got OpenID working over on PA-Furry.org, too!

3
Average: 3 (1 vote)
Your rating: None

Getting nginx to work with Amazon EC2 dynamic IPs

I've been playing with Amazon EC2 over the weekend, and trying to set up popular software packages on it. I was able to get Munin set up, but every time I tried to load the Munin webpages (e.g. http://ec2-xxx-xxx-xxx-xxx.compute-1.amazonaws.com/munin/), I would get redirected to whatever the server_name directive was set to in Nginx. Usually it'd be something like "localhost", which was completely unhelpful.

I tried playing around with the server_name directive for awhile, and putting in the DNS name of the machine would work, but since I only used this instance sparingly, and starting it up caused it to be assigned a different IP each time, I would have to keep updating the config file. Not a viable solution.

I tried doing some fancy rewrites to the $server_name variable, but since Amazon's EC2 servers have their own internal IP in 10.0.0.0/8, my browser would just get redirected to an IP address that was not routable outside of Amazon's network.

I finally found the right directive:

server_name_in_redirect off;

This tells nginx to honor the Host: field in the initial HTTP request, instead of determining the name of the server on its own. This fixed the issue just fine.

Hopefully others will find this post and spend less time solving this problem than I did. Smiling

(And yes, Ubuntu has official AMIs for EC2...)

3.5
Average: 3.5 (10 votes)
Your rating: None

FurFright 2010 Con Report!

FurFright was a fun convention this year! It started off with a bang in my first security shift on Friday afternoon. I got a call for "first aid in the parking lot", which Cliff Husky and I responded to. Turned out that "first aid" was an understatement. We arrived on the scene of an (MVA) motor vehicle accident at the entrance of the parking lot, with one person injured pretty badly. We attended to him, with Cliff taking his vitals and history and me holding his neck in the c-spine position for a good 10 minutes until an ambulance arrived and EMTs relieved us.

That was the first ever auto accident that I worked. Was a little nervous afterward, but not nearly as shaken up as I thought I'd be. And what did I learn from this? Get first aid training. You never know when you'll need it.

The rest of the shift was uneventful, other than trying to figure out the hotel's weird layout. Apparently it was added onto twice, and had been rebuilt after a fire at least once, so the layout was very... unplanned. Hallways that had multiple ramps on them, stairways that only went up 1 floor or even skipped a floor, and ramps that went in circles. It was like M.C. Escher himself designed the hotel!

Raff Foxcoon Got coffee? FUNNY ASS SHIRT

Saturday afternoon had me killing time with P-Kitty and other folks, and somewhere along the line it was suggested that I borrow a fur named Manik's fursuit. He was cool with this, so I put on the head, paws, and my overcoat, and walked around the con for about half an hour. I went up to several folks I knew in personal and said hi. Poor Protocollie... I think I broke his brain!

That's right: it was the first time I ever fursuited. And in a cheetah fursuit, at that. Draw your own conclusions.

On a related note, I went and registered the domain cheopard.com. Be afraid.

Minecraft mob Fursuit Parade Peacebonding Raptor Red Kojac

On Saturday night, I dropped by the Gun Furs panel, hosted by Cliff Husky. It was pretty informative, and I learned quite a bit about all the different details that surround guns, and the legal aspects of them.

On Friday and Saturday nights, I went to the dances, and played around with the ISO and shutter speed settings on my camera. I got some pretty interesting pictures:

Clementine twirls glowsticks Clementine twirls glowsticks Clementine twirls glowsticks Clementine twirls glowsticks

FurFright 2010 Dance FurFright 2010 Dance FurFright 2010 Dance

The whole set of dance photos can be found here.

My birthday was also on Halloween, and the first time I celebrated it. Shortwave, Ferian, and others bought me drinks at the bar, an acceptable birthday present! Chiaroscuro also got me a bottle of cider called "Lucky Lion", that I hope to enjoy with some friends soon.

As the con came to a close, I realized what an awesome time I had. Between the health issues I've had the last several months, and some other personal issues I had to deal with over the summer (which I now call "the lost summer"), I'd say that FurFright was a high point over the last 6 months or so. And I hope that this uphill trend in my mood and life in general continues.

Extra special thanks to Athy for the repeated doses of coffee. The stuff I had at 2:30 on Saturday morning was a huge help. It kept me up through 8 AM when my shift ended.

Tzup, ???, and Kai Origami art Shortwave pulls... everyone!

Fursuit Parade Fursuit Parade Doing' the Stanky Leg November and Nbowa

For the rest of my pictures, they can be found here.

Total attendance for the con was 1,284 attendees, as announced at closing ceremonies. The count for fursuiters in the parade was 287 coming out the ballroom, though the official count of fursuiters who actually made it to the end of the parade was about 40 lower. (don't have that number handy)

Finally, there were a few folks I was hoping to get contact info for:

- P-Kitty
- The guy I did first aid on (anyone know if he was okay?)
- Manik (the gentleman who let me borrow his fursuit)
- Clementine (the fox with the super bright glow sticks)

If anyone knows of online contact info for these people, please let me know in the comments!

Next con for me will be Midwest FurFest. See you all then.

2.333335
Average: 2.3 (6 votes)
Your rating: None

www.cheopard.com

Cheetah Lying on Back
A typical cheetah.

What is a cheopard?

It's a cross/hybrid of a leopard and a cheetah. It combines the good qualities of both species.

Generally speaking, a cheopard must be at least 28% cheetah.

So what are the good qualities of leopards?

Leopards are smart. They drag their prey up into trees and feast on it over several days. They are also strong--they can carry more than their body weight.

Leopards have also been known to steal kills from other predators (including cheetahs). That's pretty cool.

So what are the good qualities of cheetahs?

I don't know. I'll get back to you on that.

Why did you register cheopard.com?

Because it was a nice short domain name that was available.

How did I get to this page?

You probably met me at a furry convention and I gave you this link.

5
Average: 5 (3 votes)
Your rating: None

Western PA Furry Weekend 2010 Report

I drove out to Pittsburgh this past weekend for the Western PA Furry Weekend, a small gathering of furs from the Pittsburgh and surrounding areas. Despite being in existence for 10 years, I never attended before, and since I missed a few cons last spring, I decided to change things up a little and visit this one. I'm glad I did!

Group photo 6 fursuit heads Fursuiter in a giant hamster ball

I spent most of Friday evening helping out Firefox at registration. It was quite a change to work reg at a con where 116 attendees in total is less than the number of folks waiting in the on-site registration line at Anthrocon. In other words, it was rather relaxing and a pleasant change of pace.

Dinner! Kasi goes for the last piece of cake Finnish and Kojac

Saturday afternoon was the picnic at Fireman's park. I got to spend several hours hanging out and socializing with friends, taking lots of pictures. I ended up bumping into Dobie and chatting about photography. He showed me how to use a flash in outdoor photography to "fill in" shadows cast by the sun, as well as how to tweak my camera settings to properly meter pictures. Here's a picture taken without flash fill and the same picture taken with flash fill. The second picture looks much closer to how the scene looked in person.

Finnish Fox plays with static electricity Fursuiters on the swings Cooking dinner

After dinner, the charity auction was held, and I ended up winning the pile of feline-related things:

I won something in the charity raffle

One innovative thing that I saw WPAFW do was to put their all of their programming, plus their sponsor art onto a 2 GB USB stick and include it with their sponsorships. That was a pretty neat idea, and with 1.99 GB left on the USB stick, I now have something that I can use in the future.

Fursuiters Fursuiter with Dorsai ear tags Chalk drawings

Healthwise, my feet held up fine most of the weekend. They started to hurt after being on my feet for about 6 hours straight on Saturday, at which point I sat down for about 10 minutes, then was able to walk around some more. In other words: better than they've been in months!

Naturally, I took lots of pictures. The full archive can be found at: http://www.flickr.com/photos/dmuth/sets/72157625097235542/

Overall, I had a rather good time this weekend. I'm going to try and make WPAFW next year. You should, too!

2.875
Average: 2.9 (8 votes)
Your rating: None

Dinner this evening

Desteredra and myself ended up catching a ride with Delphanaeous and Thea down to Delaware earlier this evening to have dinner at a Red Lobster in honor of Del's birthday.

Moon Mochi, Mortonfox, and Kitt3ns were also there, along with a few other folks who I didn't get contact info for.

I took a few pictures (the whole set is here):

Del and Thea Moon Mochi

Dinner Dinner

It was nice to get out of the apartment for a bit and go to reasonably sized furry social activity since Anthrocon. Helped my overall mood somewhat.

I think it's also the first time I did any sort of social activity in Delaware. Sticking out tongue

3.4
Average: 3.4 (5 votes)
Your rating: None

jQuery in Firebug: How and why?

There are a number of folks out there who use the Firebug extension for FireFox so they can debug webpages. Firebug also includes a Javascript console so you can execute arbitrary Javascript code against the current page.

If you're a fan of the jQuery library, there's a way you can use that in Firebug (first documented here):

var j = document.createElement("script");
j.onload = jsCallback;
j.src = "http://code.jquery.com/jquery-latest.pack.js";
document.getElementsByTagName("head")[0].appendChild(j);

See the line j.onload = jsCallback;? That fires a function called "jsCallback()" after jQuery is successfully loaded.

"Why a fancy callback?"

As I learned the hard way, if I were to just put Javascript code following the jQuery code, it might get executed before jQuery is successfully loaded, leading to errors. While I could just re-run the code (as jQuery would already be loaded), I was looking for a better solution to the problem, and this is what I came up with.

"So what can I do this callback?"

I'm glad you asked. One way using jQuery in Firebug comes in quite handy is if you want to dissect another web page. For example, let's say you want to run a Google search, and extract the URLs in the search results. Here's how to do it:

/**
* This is executed after jQuery is successfully loaded.
*/
function jsCallback() {
    
    var e = jQuery("a.l");

    var output = "";
    e.each(function() {
        output += jQuery(this).attr("href") + "\n";
    });

    alert(output);

}

var j = document.createElement("script");
j.onload = jsCallback;
j.src = "http://code.jquery.com/jquery-latest.pack.js";
document.getElementsByTagName("head")[0].appendChild(j);

"I could write $.get() calls to load Google's search results!"

Good luck with that. FireFox won't let you do that due to the same-origin policy.

"Well, how about if I get Google's search results in JSONP format?"

Um, good luck with that, too. You won't get very far without an HTTP referrer header, I'm afraid.

"So if I want to do this on an ad-hoc basis, I have to dissect the Google search results page?"

Yep, exactly.

Got any other tricks you find really useful to do with jQuery in Firebug? Let me know in the comments! 
 

2.285715
Average: 2.3 (7 votes)
Your rating: None

Dial 1-800-GET-ZERG!


He just wants hugs.

We, the Zerg Swarm, believe that our special process, known as "infestation", can improve your life in numerous ways! Being a part of a group like the Zerg Swarm means that you're never lonely, and there will always be someone there for you. Your body will become more powerful than you have ever dreamed before; with our patented improvement system, you will be able to lift more, run faster, and eat nearly anything! Many sentient life-forms consider the Zerg look to be attractive:

"Wow, that's gorgeous", says Tserisa, a dragon who later opted for infestation. "Kinda handsome", says a clockwork gryphon.

Usually, when a being opts for "infestation", it is a permanent process. But we are prepared to offer, for a short time only, a free 30-day trial infestation! We will send a personal representative to guide you through the metamorphosis, and in adjusting to your new abilities. If at any time you are unsatisfied with the trial, the representative will either correct it or reverse the change.

5
Average: 5 (4 votes)
Your rating: None

Awesome Memorial Day weekend

I had a pretty awesome Memorial Day weekend last weekend. I went up to my parents' place for the first time since Christmas. They're fine, the cat is stupid fine, and the rest of my family is fine.

I've been wearing my knee braces whenever I walk around, just like my doctor told me to, and they've gotten much much better. I have an MRI scheduled for this coming Wednesday, so we can see what precisely is going on inside the knee. Still, I can walk for considerable distances and feel well enough to do my normal thing at Anthrocon at this point.

(PROTIP: Want to get the smell out of neoprene knee braces? Soak in 1 cup vinegar and 1 cup hot water for an hour. That kills the fungus.)

Speaking of Anthrocon, I spent yesterday working with registration laptops, giving funny looks to MSIE 8, and testing all of our badge printers. Everything still works, and I feel more confident about onsite registration this year (not that last year didn't go fine) because my code has remained largely unchanged since last year, and I made more documentation for troubleshooting purposes, should anything go wrong.

While visiting my parents, I took a trip to the old neighborhood where I grew up, walked around, and took many pictures. Once again, the UV filter on my camera did its job.

Shepherd Hills Golf Course

Driver Place Greens Drive Greens Drive

And here's the whole set, browseable in Flash:

Enjoy!

3
Average: 3 (2 votes)
Your rating: None

What happened to claws-and-paws.com?

Nothing in particular, but seeing that I have worked in the software industry for about 11 years now, I figured it was time to get a more professional sounding domain name. It was getting increasingly more difficult to tell co-workers and colleagues that my website was at www.claws-and-paws.com and keep a straight face. A domain name of dmuth.org sounds more professional, and doesn't tie the site to any one topic. (Unlike claws-and-paws.com, which has a furry slant)

I'm still keeping the furry stuff, convention photos, etc. here. In fact, going to any URL on www.claws-and-paws.com will cause the browser to be redirected to the exact same page on this site. For those of you who still have email addresses @claws-and-paws.com (yeah, both of you Sticking out tongue ), that won't change any time in the near future either.

2.77778
Average: 2.8 (9 votes)
Your rating: None