gaming, xbox comments edit

Amid the other problems I’m having with my Xbox 360 and Xbox Live, this morning I seemed unable to recover my gamertag. When I did the network diagnostic, I found that the NAT settings came up as “Moderate” (on the Xbox Live scale of “Strict,” “Moderate,” and “Open,” you really need that to say “Open”).

To make it read “Open,” you need to forward the following ports through your router to your Xbox (which means you’ll also need a static IP address on your Xbox):

  • UDP 88
  • UDP 3074
  • TCP 3074

Lucky for me, PortForward.com has some great free how-to articles on setting up just that. Here’s the guide to setting up a static IP address on your Xbox 360 and the guide for Xbox Live port forwarding on a Linksys WRT54G.

Interestingly enough, after futzing around with this and getting it to a situation where I couoldn’t even connect to Xbox Live at all, I put all my settings back the way they were (remember they were “Moderate?”) and suddenly it was seen as “Open.” I guess you never can tell.

personal comments edit

Another year come and gone, so it’s time again to throw up a bit of a retrospective of highlights for the past 365. (For reference, here’s last year’s retrospective.)

In January, I put out version 2.1 of my DHTML tooltips for Amazon links (which are sort of obsolete now since Amazon has all that set up from their site in a much richer format). I did a review of various clipboard management software and ended up with ClipX as the winner of that showdown. I also pumped out a little command-line GUID generator and a custom NAnt task assembly with some helpful stuff in it.

In February, we got a new little terrorist cat named Jack. I published some tips on disaster recovery and trouble-free continuous integration. We all got a little sick of hearing about FizzBuzz toward the end of the month.

March got me trying to get people to switch their blogs to use inline styling when including code snippets because they don’t format right in RSS otherwise. I’m still fighting that one. I got Media Center working with my Xbox 360 in a test environment (but I’m still trying to determine the right way to go to serve up DVDs and meet all of my requirements).

In April I had electronics and DRM issues. The lifespan of my 3G iPod sort of reached a logical limit as I hit the 1418 error and found that the iPod must be plugged into the wall while charging synchronizing as of iTunes 7. I got a Red Ring of Death on my second Xbox 360 (which hit me with some bad DRM juju) and bought a new DVD player because of bad Sony DRM. I also got into the design for testability vs. design for usability debate with respect to static helper utilities. Oh, and I attended MIX07, which I blogged a lot about [1, 2, 3, 4, 5, 6, 7, 8, 9, 10].

May saw CheckFree acquiring Corillian. It also saw TypeMock publishing a nice case study of its usage inside Corillian. I tried to figure out how you’d detect through reflection if two object types can be added together, but never did get an answer. Just at the end of the month, I posted the EmbeddedPageHandlerFactory

  • a way to serve up ASP.NET 1.1 from embedded resources.

In June The Sopranos ended with a whimper and I migrated my blog to Subtext. I preordered GTA4 (which still hasn’t shipped), posted a CodeSmith template for generating generic KeyedCollection derivatives and solved the Guitar Hero controller loose whammy bar problem with some o-rings.

In July I did a fireworks show in Walla Walla, WA, gave away some code to convert an Outlook message into a task, and made a bookmarklet to automatically copy an Amazon Associates URL to your clipboard while browsing Amazon. I published the EmbeddedResourcePathProvider

  • a way to serve up ASP.NET 2.0 from embedded resources. Oh, and I turned 31.

I started August out by showing you how to mock a page request lifecycle with TypeMock. I started getting laser hair removal on my face (which I’ve continued to do: 1, 2, 3, 4). I also posted some tips for non-programmers who want to learn how to program.

In September my Xbox got tanked by a dashboard update so I got to send it in for repair, making this the third time I’ve had to get things fixed. I found an odd issue where ISAPI filters were causing problems with .NET and showed you how to optimize your TortoiseSVN cache for better disk I/O.

In October I celebrated my first wedding anniversary. I ran into a problem where I found that .NET assemblies store enum values, not references to the original enum, which caused some havoc. I got hit by some changes in the Xbox Live DRM model, which, two months later, I’m still fighting. I also posted a program to help you copy iTunes track metadata from one track to another.

In November I went to the Microsoft Patterns and Practices Summit (Days 1, 2, 3, 4, 5) and met Lutz Roeder while up there. I posted some tips on writing good XML doc comments in your code. I participated in the One Laptop Per Child program (which I later unboxed for you). I installed VS 2008 and the install was the worst. I rounded up some “Command Prompt Here” utilities for you and learned, via Rock Band, that I might just suck as a drummer. Finally, I showed you how to use ParseControl to combine ASP.NET skins and localization effectively.

December saw CheckFree getting acquired by Fiserv. Xbox DRM continues to eat my lunch so I posted some maintenance secrets that might help you avoid a call to Xbox Support. I posted UrlAbsolutifierModule

That pretty much brings us to current. It’s been a heck of a year - I got acquired twice, went to some great conferences (and met some cool people), and posted some [hopefully helpful] stuff for folks. Here’s to a great upcoming 2008!

media, music, windows comments edit

I bought a new laptop and I want to sync my iPod from the laptop now, not from the desktop in the other room. Unfortunately, moving your iTunes library around is kind of difficult. You can copy the library file (.itl file) over and fire up iTunes on the new computer, but it’s still going to look in the old location for the files and it’s not going to find them.

I tried the iTunes COM SDK but it turns out the physical location of a file is a read-only property.  Luckily, I found an article that talks about how you can manage your library and move things around by using the “Consolidate Library” feature.  I already have my music on an external drive, but I want to get it to a different drive that’s shared on the network, so here’s what I did:

  1. Install iTunes on the new laptop.
  2. Start iTunes so the initial iTunes library files are created and I can get past the setup bits.
  3. Copy the iTunes library files (both the .itl and .xml) over the top of the new ones on the new laptop.
  4. Plug the old external drive into the laptop. Make sure the drive letter on the new laptop is the same as it was on the old computer. In my case, this is the “F:” drive.
  5. Open iTunes on the new laptop and verify all the songs are found.
  6. Update the new iTunes settings - change the location of the iTunes library folder to the place you want the music files to be, tell iTunes to automatically manage your collection, and tell it to copy any new files into your iTunes library folder.
  7. In the new installation of iTunes, select Advanced -> Consolidate Library. This will copy the music from the old location to the new location and update the database with the appropriate new locations.

The only downside to this is that if you have a large collection (as I do), it’s not a very fast process and it takes up a lot of disk space - you’ll end up with two copies of your music collection. That said, once the consolidation is complete, you can delete the old copy of the collection and free up your disk space.

I really wish the iTunes COM SDK allowed me to just change the file location. It’d have been so much easier just to script the move.

General Ramblings comments edit

Friday night, the 21st, Jenn and I ventured into town for a wonderful live performance of Jesus Christ Superstar. It’s possibly my favorite Andrew Lloyd Webber musical (more because I’ve listened to it since I was very, very small so there’s a lot of sentimental attachment than anything else) and this was my third time seeing it.

It was Jenn’s first time not only seeing it, but hearing it, so there was a small amount of confusion at first, especially since they ran out of programs as we were walking in so she didn’t have a cast or set list. I tried to explain who was singing and such, but it took until the second half when we were able to find a program that she started getting into it.

It was a really good show to catch. Ted Neeley, who was Jesus in the motion picture version, played Jesus here, too. Amazing range on that guy, and I’m really glad we were able to make it because this is apparently his national farewell tour in the role. Corey Glover, lead singer of Living Colour, played Judas and also did a fantastic job.

The only real complaint I could issue had nothing to do with the show - it was my seats. When I bought them, the seating chart looked like I had some really great seats four rows from the front. When I got there, it turns out that the seating chart was broken up such that I didn’t see the entire front half of the auditorium sitting in front of me. I wasn’t four rows back, I was 30 rows back. Oh, and I got to sit next to a guy who decided it was his day to go on a smoking and drinking binge, so not ony did he stink to high heaven, but I had to repeatedly remind him not to sing along.

Other than that, it was a great show and I’m glad we made it. I couldn’t think of a better way to start the holiday season than a great show with some somewhat relevant subject matter. Good times.