29 July 2007

cya at fan faire

SOE's annual Fan Faire starts this Thursday.

We'll be showing off some cool stuff about our in-progress EverQuest II expansion, Rise of Kunark and attendees who pick EQ2 as their game of choice will be given a ROK-themed cloak only available at Fan Faire.

I'll be on a panel or two, including the Mechanically Speaking panel.

Our Comic Con Block Party also went quite well. I had fun showing of the new Sarnak race in ROK and talking to fans for a few hours.

If you can make it to Las Vegas for Fan Faire, it'll be great to see you there!

Pickling - it's not just cucumbers anymore

We programmers on the EverQuest II team discovered a neat little utility the other day.

We have so much data and source code in Perforce for EverQuest II that our administrator frowns at creating branches. We only have three branches aptly named "main", "test" and "live" and we do all of our development out of "main" including expansion features and live game updates (there are other challenges to overcome with this configuration, but I'll just go into one).

Occasionally, I'll be working on a feature and will have a significant amount of critical files checked out and modified. At this very moment something comes up: a live game crash, a higher priority, etc.

Enter Code Pickle. This nifty little utility allows you to suspend an entire changelist. All your current changes are safely stored freeing you up to handle the immediate priority. After handling the emergency, you can then resume your changelist just as if you were never interrupted. If the files in the suspended changelist have other changes, Code Pickle helps you integrate them. And at $600 for a 10 user license, it's well worth it.

Code Pickle supports multiple source control packages, but I've only tried it with Perforce. Try out the demo!

20 July 2007

/resurrect PSP

A few weeks ago I sat down on a plane looking forward to returning home from vacation. I pulled out the PSP to watch a few episodes of The Office on the ride. Lo and behold, I'm greeted with a PSP owner's worst nightmare: a cracked screen.
DSC00593

I wasn't ready to write off the $200 that I paid for it though, and Google was more than willing to help me out. Amazon even listed some screens for sale for a very decent price. I ordered a new screen (with backlight, not because mine was bad but I'd rather pay $5 than having the hassle of trying to swap backlights without getting any dust in there) from The Gaming Shop on the 13th and it arrived today (7 days for North LA -> San Diego? That's sad.) I don't really recommend getting the screen from them because this is how it came:
DSC00591
Loose, in bubble wrap, not even in a cardboard box.

Like a kid on Christmas morning, it's time to work on my PSP! I used The Llama's excellent PSP screen replacement guide. I'll let the photos do the talking:
DSC00594 DSC00595 DSC00596 DSC00597 DSC00598 DSC00599 DSC00601 DSC00602

Then, the moment of Truth:
DSC00603

Woot! The brand-new screen fires up beautifully with no dead pixels! Just a few more screws and we're done:
DSC00604

I managed to replace my PSP's screen for about $50 (and a fun 45 minutes or so) rather than buying a new one at $169. Looks like I'll be investing in a hard-shell case soon too!

05 July 2007

Independence Day: Parades, Fireworks... Bike Rides?

In what has apparently become family tradition, I did the Scripps Ranch Old Pros Bike Ride yesterday. Since moving to San Diego we've done the 12-mile "Family Fun" ride. Two years ago, my wife rode with us and my son was in a seat on the back of my bike. Last year, my wife was pregnant and it was just me and the kid. This year however, my son has gotten too big for his bike-mounted seat and I didn't have anything sufficient for him to tag along with. So I did the 28-mile ride solo.

It was definitely more hilly that I'm used to. My semi-daily ride to work is about 6 miles, so this was quite the step up. I did it in two hours flat and it was just about perfect for my cycling strength. My 2005 Trek 1500 was pretty decent for the ride. I definitely have to work on my hill climbing. I managed to hit 42.1 MPH during one of the downhill portions when I was still fresh and trying to catch up with some other riders. That's freakin' fast when there's nothing between you and the pavement but two thin tires.

The water and oranges at the finish line tasted better than a meal fit for a king.

Unfortunately, the ride didn't go well for everyone. (There's actually a few errors in that story: It's the 56 highway, not the 76. The 10K was the run portion; he was on the 28-mile ride.)

I'm looking forward to next year, but I won't be doing the Tour de France anytime soon.

12 June 2007

The Scam that is LA Fitness

How hard should it be to cancel your gym membership? Just a few years ago, I walked into 24-Hour Fitness, said "I want to cancel" and they said ok. Done deal.

Fast forward to a week ago. My wife wasn't using her membership and my kids didn't like their Kids Klub play area. "I'll just cancel the account!" I thought. So I call up LA Fitness. "You can do it online. We can't do it here in the gym."

So I create an account online and go to the cancel option. Here's what I'm greeted by:


I have to mail in a crappy form for each person in order for them to cancel the account.

Fine. Gyms make most of their money from people who don't cancel and don't attend. This just seems like it's a little bit harder than it should be.

So I mail in the forms. A little over a week later I check back at the gym to see if the accounts have been canceled. Nope! Why not? They have no idea, because that's all handled by corporate and they don't even have a phone number to give me (I later found out that they seem to 'lose' an awful lot of mail that isn't sent CERTIFIED). The most they can offer is to have someone from corporate call me.

And call me they did (though not when they said they would). To be honest, I was actually surprised. But the guy had the audacity to require a reason for canceling. Here's your reason: I don't want to give you any more money. It's a good thing my credit card has better customer service than they do. What's more is you have to give them 30 days notice (basically one more time they can charge you) BEFORE they start counting on that "last month" that you paid for when you start up.

Case in point: If you sign up at LA Fitness, be aware that it's going to take World War 3 in order to end the membership. Save your money and your sanity and go ANYWHERE else.

Update 5/6/2008:
In the comments below, Duane pointed us to the BBB page for LA Fitness and called out Aylin Medina (phone (949) 255-7330) as the person to call to cancel your account with zero hassles. I recently called her to cancel my last remaining LA Fitness account. She was very nice and I had my account canceled inside of two minutes. If you call her, make sure you have your LA Fitness barcode handy. Thanks Duane!

Update 1/20/2010:
Apparently there has been a Class-Action Lawsuit against LA Fitness. It looks like you might be able to file claims for post-cancellation charges. More information at www.gymsettlement.com.

10 June 2007

Video Card Woes

For a while now, I've been rather loathe to play any 3D games due to subtacular performance. Even my own game (EverQuest II) had become unfun and choppy. My home rig isn't that shabby: AMD x64 4000+, 2GB RAM, ATI X800 XT Platinum video card. So why the bad performance?

At first, I thought it was a problem with EQ2. I have all of the source code, but since I don't run Intel at home, VTune was out of the question. So I wrote my own simple sampling profiler (which works pretty well I might add) that basically lets me know where the main thread was spending all of its time. On a healthy system, this is typically in the CPU-bound vertex transformations for animations (side note: don't ask me why this isn't in a shader).

However, that's not what I was seeing. I was seeing the most time spent handing geometry to the card. After doing a little research, I discovered that this might be because the card is overheating and the drivers were decelerating the VPU. I downloaded the ATITool to have a look-see.

Sure enough, my VPU was reaching temps of up to 110 C (zomg!) playing EQ2 in full-screen mode. It was slightly better windowed, but still hotter than hades. The fan was visually observed to be spinning at 100%. I figured I might as well try out Mike Vande Ven Jr's solution before I go drop $500 or more on a new card.

I ripped the card out and used a generous amount of canned air to get all the caked-on dust off the card. There was plenty for a 3-year-old card. Then the heatsink had to come off. This was actually pretty easy: just pop out 3 phillips screws. The old thermal grease was definitely pretty nasty. It appeared to be more solid than it should be:
DSC00391

I used a plastic card to scrape away all of the old grease. Then I used Arctic Silver ArctiClean to remove the rest of the old stuff. It was amazing how much it cleaned up the heatsink and VPU. Unfortunately, I was too excited to take a picture, but here's an idea from a 9800. After I could see myself staring back from the VPU, it was time to apply the new thermal grease. I chose Arctic Silver 5 because it's what all the overclockers use. The instructions say .5-.75 of the size of a grain of rice, and then spread it around with the plastic card:
DSC00394

I threw the heatsink back on, careful to evenly tighten the screws that put the pressure on the VPU. Initial tests are already showing idle temps to be around 15 C lower, with load tests not even breaking 50 C (the idle point prior to the grease change). I'm having issues with a hard drive now, so I'll confirm results later when actually running a game.

Update: I ran around in EQ2 for a while and hit a max temp of 72 C with the fan only spinning at 67%. And this in full screen! Previously it would overheat the card to the point of shutdown. I'd say it worked!

11 May 2007

Rocking Out

Yes, I love Guitar Hero. I love Guitar Hero 2 even more. Here's my first ever Guitar Hero video playing "More than a Feeling" by Boston. Not perfect, but not too shabby either.