May 2006 Blog Posts

Memorial Day Three-Day

I've been so busy lately, I totally spaced writing up the weekend. It was nice and we did our best to relax, so we intentionally didn't do too much. As such, I'll try to keep it short.

Friday night we went out with some friends of ours, Jason, Tracy, and Adam, and had some Mexican food for dinner. After that, we went back to their place and, totally trashed, proceeded to kick their sorry asses at Scene It. I am the KING.

Saturday there was a lot of sleeping. I've been pretty stressed out lately and Saturday I think it caught up with me. I got up late and didn't do a whole lot. Oh, that's right - Jenn and I got a copy of Halo 2 and we're playing through cooperatively so she can get her skills up to speed and put the smack down on my dad next time we're all playing online.

Sunday we went to Fry's and I bought Burnout Revenge and The Outfit. Both were totally on sale, so I got a pretty good deal. Brought them home, and both are good fun. Entertainment budget well spent.

Monday we took a gaming break and just hung out. We ended up heading to the movies and saw X-Men 3, and I thought it was at least as good as the second one, if not better. I recommend it, and didn't feel cheated paying full evening price for it.

That's about it. Got back to work Tuesday, just that much further behind, and now I'm crawling my way through the week, trying not to let The Man get me down, so to speak. We're moving at quite the breakneck pace trying to get things done, though, and I'm feeling pretty damn burned out. Vacation doesn't help, either. Something's gotta give.

Using Prototype

More for my own reference, but for anyone using the Prototype Javascript library and loathing the fact there are no docs, here are some (albeit old) docs that help a lot.

Best Bus Rant Ever

I aspire to be as good as this guy.

The Real Blade Runner Is Coming

I, as well as the majority of the geek population, love the movie Blade Runner. Love it.

The thing is, though, when I fell in love with it, I fell in love with the original theatrical version - the one with the voice-over and modified "happy ending." The Blade Runner purists will argue that wasn't as good, that the Director's Cut was much better as it stuck closer to Ridley Scott's original vision. That's all fine and good, but it's akin to fighting over who the best James Bond was - generally speaking, you're going to like the Bond whose movies you saw first. (I'm for Pierce Brosnan, but I used to be a Roger Moore man. Alas, that's another blog entry.) I liked the voice-over. I liked the happy ending. I thought the Deckard-is-a-replicant thing was dumb. I thought the unicorn thing was dumb.

(And for the record, no version was like the book, so we won't even go there.)

The problem is, they only released the Director's Cut on DVD. If you want to see the original version, you have to go to Blockbuster and rent the one copy of the videotape that they have and try to watch it in its half-demagentized state (if someone hasn't just stolen the tape altogether).

My problems are solved. According to Sci Fi Wire, they're going to press a new DVD with a remastered version of the original Director's Cut; create a new Director's Cut (the "Final Cut"), release that to theaters in 2007; and issue a special-edition DVD after that with three versions of the film: remastered Director's Cut, expanded international theatrical version, and original theatrical version.

My day just got made.

Goodbye, Granddad - I Love You

I got a phone call last night at about 11:15p from my mom. My granddad, her father, passed away from lung cancer at 11:10p.

We had just visited him on Sunday and he wasn't doing too well, having to be on medication for pain and anxiety. I hugged him goodbye that day, and it didn't really sink in at the time that that's the last time I'd ever see him alive. I mean, I guess maybe I knew on an academic level, but just hadn't really accepted it.

Granddad was a great guy and a hell of a lot of fun. Strong, confident, and multi-talented - in recent (and not-so-recent) times, he's been known to play the guitar and the organ; mine gold (yes, by himself, for days at a time); work with wood, metal, and glass in a variety of fashions; ride his motorcycle all over the place; and travel from border to border in his motorhome.

He was a crazy old guy and he had his own way of doing things. He'd drive all the way to Mexico to get his dental work done "because it's cheaper" and come out with a mouth so full of gold teeth any rap artist today would have been proud. He wasn't remotely politically correct, and you may have been offended, but, well, it was Granddad and you're just not going to change him. He'd only ever feed his dog Milk Bone treats even though that's really not good for the dog.

And he always had a dog, at least for as long as I can remember. All of his dogs seemed to be wild around people, jumping on you, licking you, wanting to be part of the action. When I was little, he had a dog, Poncho, who wasn't a big dog, but I was mildly scared of him because he was a jumper. The dogs didn't seem to do that as much to Granddad, though, just the rest of us.

Granddad and Travis fishing, June 1988 - whoops! Dropped the fish!
Granddad and Travis fishing, June 1988 - Proud catchers of the smallest fish you've ever seen.
These photos are from a three-day fishing trip he took me on back in June 1988. This was the first fish we caught on that trip. In the first picture I dropped the fish and Granddad tried to catch it just as the camera snapped the photo. The second photo we figured out how to hang onto the fish.

We played Ray Stevens music the whole way there and the whole way back, laughing and singing along with the silly songs. Every time I hear a Ray Stevens song now I think of Granddad.

We had some pretty good times together, whether just spending the day at his place or driving out to eastern Oregon where he used to have a cabin by Wallowa Lake (actually, Dad tells me it was Pine Hollow Reservoir, but I somehow remember it as Wallowa Lake). Christmas was always a visit to Granddad's place to see my mom's side of the family and eat until we were stuffed. Hanging out with Granddad always meant there was some fun that was going to happen.

He lived by Meinig Park in Sandy, OR and the whole family would get together at his place every year to see the Sandy Mountain Festival and visit. Some years he let the Kiwanis Club (or, as he pronounced it, the "Kiawannas") plug their ice cream freezer into his power outlet outside (yes, he was that close to the park) and we'd get free ice cream. In the last couple of years I didn't actually make it out for the festival, having seen and done it so many times.

His latest craft passion was making things out of wood with his scroll saw. Housewarming gift from GranddadThis is a picture of the housewarming gift he gave Jenn and I when we moved into our current place. It's pretty cool, and I still haven't decided if it'd be better to paint it or stain it. Maybe I should have asked him what he thought.

With some of the stuff he'd crank out, though, you'd wonder what he was thinking. For example, one year I got a unicorn pencil holder with a clock in it for my birthday. But that was just him, and it was always the thought and the time he put into making it that counted.

He lived life to the fullest, and had an almost cavalier attitude towards his own health. He was taking nitro glycerin tablets for heart trouble he was having, and I remember him telling us about how he had felt pain in his chest, so he reached down to the floor of the truck where his pills were rolling around (you're supposed to be careful with the tablets - they're fragile) and he took one... but he didn't feel the effects soon enough, so he just popped a couple more for good measure (you're only supposed to take one and then call the doctor). In the end, it looks like it was his lifetime of smoking that took him from us, the cancer spreading from his lungs through the rest of his body. I'm sad that he's left us, but I'm so glad he's no longer in pain. Hopefully, wherever he is, he is reunited my Grandma Lovey (that's what we kids called her), who passed away many years ago when I was young.

Rest in peace, Granddad. I love you, and you will be missed.

Good Weekend, Bad Weekend

The weekend had high points and low points, starting high and ending low.

Saturday was spent with my dad, getting his network going and getting his Xbox 360 hooked up.

It took all morning to get the network going, as there was some oddness with his cable modem that would only let us connect up to it through USB. Turns out that there are some special undocumented reset steps you can go through to clear up trouble like that, so after contacting Comcast and getting that information, we did the reset and things worked fine. A quick trip to Fry's to get some networking supplies and we got the Xbox 360 hooked up and on the network.

Dad signed up for Xbox Live so we can play against each other online. His gamertag is PUSH NEVADA, so if you see him trolling around in Halo 2, go easy.

After we got that set up, we went to see Mission: Impossible 3, and we both had fun with that. Was it the most in-depth movie you've ever seen? No. Did it entertain me? Hell, yes. It held its own with the Bond pictures I've seen, and I do so love the James Bond.

Sunday was the not-so-great portion of the weekend. My grandfather (Mom's dad) is in the advanced stages of lung cancer, so we went to visit him. He is at home and he has hospice come in to help him out, but he can't be left alone so my mom or one of her sisters stays with him at all times. He was getting a hospital bed delivered that day because he can't really get up and walk around too much anymore, even with assistance. At the time we visited, he was on morphine for his pain and Ativan to calm him down, so he wasn't really... coherent. He knew we were there, but he was very weak and slept most of the time. As I hugged him goodbye he was so weak he couldn't lift his own arms away from me, so I had to help him with that. It's really hard to see him like that - such a strong, proud, capable man rendered so helpless and weak.

After we visited him, we went to the hospital to visit my grandmother (Dad's mom), who has been in there for a week (and actually should be headed home today). She was having trouble where spinal fluid was building up on her brain and not draining correctly, so they put a shunt in there to help drain the fluid off. On a positive note, she's doing very well and seems to be more alert and spunky than I've seen her in months, so I think the procedure had a positive effect. That was hard to see her in there, though, with all the IVs and tubes in her head and everything. I'm glad she's going to be OK.

And that was the weekend. One great day, one not-so-great day. Hard to say it balanced out, because it didn't, but it wasn't all bad. Here's to looking forward to tomorrow.

Tomb Raider: Legend Soundtrack

I've been playing Tomb Raider: Legend and I love it. Besides the graphics and the game play both being great, the soundtrack rocks, too. Unfortunately, I don't see them selling it on CD, but there's a place where you can download it.

Dad Has Xbox 360!

My dad called me this morning at about 7:30 to tell me how he heard there were going to be Xbox 360s at a local store so he hauled ass down there at 7:00 when they opened and bought himself an Xbox 360 premium package and a copy of Halo 2. He can't wait to sign up for Xbox Live so we can play against each other online.

I won't lie - this made my day. My dad is the coolest and I can't wait for him to sign up so we can both suck horribly at first person shooters - together, over the Internet. Plus, he gets all giddy and screams when you're shooting at him or when he shoots you, and just thinking about that makes me laugh out loud. The voice chat with this is going to be sensational.

Could we have done this with standard PCs and some other game? Sure, but the "plug-it-in-and-it-goes" simplicity of the console, plus not having to worry about whether your hardware is out of date or incompatible or whatever... I don't play PC games anymore, and that's why. I can't keep up with the latest video card and the 18 gigabytes of RAM required and the 10 terabyte SAN I'm going to need for the game to install itself.

Anyway, I'm stoked. I totally can't wait for him to get this thing hooked up so we can play. Go, Dad!

Xbox 360 Wireless Controller Stays On With Rechargeable Batteries

I bought the Xbox 360 premium package that came with a wireless controller. That same day, I bought a second wireless controller so Jenn could play. The controllers come with battery packs that take two AA batteries.

The batteries last for several hours, but of course, I was in love with the new gadget and played until the batteries ran out. That's when I saw the rechargeable battery packs and the quick charge kit, which I also bought.

Something I noticed, though: When the AA battery packs were in, the controllers both behaved as expected. When the rechargeable battery packs were in, the controller that came with the Xbox 360 would turn off fine, but the controller I bought later would stay on - one of the LEDs around the Xbox Guide button would stay on faintly. Sometimes I could remove the battery pack and put it back in and the light would go off, but later it would turn right back on.

That worried me - if the controller won't turn off, it's going to just eat my batteries and I'll be constantly charging just to stay ahead.

I called Microsoft support about it this morning and it turns out this is a known issue. Some controllers just leave one of the LEDs faintly on. They claim it won't affect your battery life and you should just ignore the light being on - as long as the controller functions properly otherwise, the light being on shouldn't be a worry.

I don't see that documented anywhere. I found a forum where other people are having the issue and it sounds like it's not just me.

Anyway, if it's happening to you, Microsoft says it's a known issue and it's nothing to worry about.

posted @ Thursday, May 11, 2006 8:34 AM | Feedback (5) | Filed Under [ Gaming ]

CR_Documentor 1.8.2.0510 Released

The new version is out with a few bug fixes:

  • Fixed rendering issue with table lists being wider than the window.

  • Fixed rendering issue where generics didn't display correctly in syntax preview.

  • Updated minimum requirement for CR_Documentor to DXCore 1.1.58. Needed for syntax preview.

  • Cleaned up icons in the preview window toolbar.

  • Added CR_Documentor to the DXCore "About" box.


  • Go get it!

    Random Tech Aggregation

    I'm just coming across way too many cool things while cruising the morning news, so I'm going to share in a sort of random tech news aggregation thing.

    First, it looks like Mark Miller's introducing some cool stuff for the next version of CodeRush - Dynamic templates sound pretty awesome. I can't wait for that.

    Next, there's an entry on the PowerShell blog discussing the grammar of the Windows PowerShell. The geek in me smiles while the rest of you look on in disgust.

    Moving on to gaming, it looks like the stupid bat-a-rang controller for the PS3 is no more. Sony has released the real new PS3 controller. Looks a lot like the standard PS2 "Dual Shock 2" controller, but runs on Bluetooth and can detect motion (sort of like the Nintendo "Wii" controller). Of course, the new PS3 controller doesn't have any vibration feature the way the other controllers do because it apparently messes up the motion detection. Hmmm. I guess that wasn't the hugest part of gaming, but it did add a little something.

    For folks that aren't into that crazy Wii controller, I guess there will be a "Classic controller" that you can use. Just watch - you'll have to have both controller types because some games won't work with one.

    Oh, and the Halo 3 trailer is out, so check it. It rocks. (My dad actually sent this to me before I got to it. Dad is stoked and he doesn't even own a single game console. I think he's just found his reason to get an Xbox 360.)

    Okay, I think that's it. For now.

    Evolution of Dance

    In my morning blog reading I came across this one: A six-minute video of a guy illustrating the evolution of dance. Make sure you have sound, then watch this thing. You'll die laughing.

    Got API?

    Greg pointed me to this pretty cool all-in-one API reference site. If you're a developer, you'll want to check this out: Got API?

    Fire Drill

    I was sitting here, minding my own, when the alarm went off for a fire drill.

    Normally fire drills take place on a nice sunny day, so it's not a big deal - you quickly pack up your stuff (because who knows how long you're going to be outside, plus you want to make sure if it's a real fire that your iPod won't be burning) and follow the herd to whatever arbitrary meeting spot you're supposed to be at. That's generally followed up by some milling about, laughing about the inconvenience of it all and wondering how much money is actually being spent on the drill due to lost productivity.

    Today's drill started out the same, packing everything up and following the crowd, but the wrench in the works is that it was pouring rain outside, so everyone was outside shivering and getting soaked through to the bone. In a word, it sucked. Plus the lost time. I'm totally wet now, sitting here trying to re-focus on what I was working on, and, frankly, it's just not happening. Maybe I need to head into the bathroom and dry off with some paper towels.

    CR_Documentor 1.8.1.0508 Released

    The new version is out and the big addition is that you can now see the member syntax preview along with your documentation!

  • Fixed bug in diagnostic logging of MouseDown event.

  • Added preview of member syntax.

  • Added member title banner in preview.


  • Go get it!

    Custom NAnt Tasks Calling Other Tasks

    We use NAnt to automate our build process, and right now I'm working on refactoring the build that my group uses for continuous integration. One of the things I noticed is that when our product builds, the main build file "includes" a few other build files and executes targets from them. One of the build files that gets included only ever has one target called, and it does a bunch of internal work to get a lot of things done. It looks a lot like this:

    Build script flow

    Notice how there's only one entry point in the external build file and the tasks inside call other tasks, some of which are common, almost like NAnt "functions" that pass parameters by setting properties. Not only that, but part of the build output for the product is to include this build script so other products can include it and use it in the same way. I don't know about you, but this says "custom NAnt task" to me.

    In converting this to a custom NAnt task, I found that part of what the script was doing was calling other custom NAnt tasks. Not wanting to replicate all of the functionality of these other custom NAnt tasks, I figured I'd write my custom task to call the other tasks programmatically.

    Interestingly enough, this isn't as straightforward as you might think, and NAnt documentation on this is, well, light. You can't just create the task object and call it, you actually have to give the created task some context about the environment it's working in. You do this by calling the CopyTo method on the task object. By and large, the way it looks is this:

    using System;
    
    using NAnt.Core;
    using NAnt.Core.Attributes;
    using NAnt.Core.Tasks;
    
    namespace MyCustomNAntTasks {
      [TaskName("customtask")]
      public class MyCustomTask : Task {
        protected override void ExecuteTask() {
          this.Log(Level.Info, "Starting custom task...");
          
          // Create and execute a <tstamp /> task
          this.Log(Level.Verbose, "Executing a tstamp task...");
          TStampTask tstamp = new TStampTask();
          this.CopyTo(tstamp);
          tstamp.Execute();
    
          // Create and execute a <sysinfo /> task
          this.Log(Level.Verbose, "Executing a sysinfo task...");
          SysInfoTask sysinfo = new SysInfoTask();
          this.CopyTo(sysinfo);
          sysinfo.Execute();
          
          this.Log(Level.Verbose, "Executing custom work...");
          // TODO: Insert your custom task's work here
          
          this.Log(Level.Info, "Custom task complete.");
        }
      }
    }
    

    That seems to work well for most tasks. Some tasks require more initialization than just CopyTo, like the setting of properties or what-have-you, so you'll need to set that stuff up for things to work since you don't get the validation benefits that you get when NAnt parses the build script and tells you when you're missing required values.

    One task I haven't gotten to work like this is the <csc /> task - for some reason, I haven't figured out how to properly add references to the task to get it to work. Instead of calling <csc />, I ended up writing a quick method using the Microsoft.CSharp.CSharpCodeProvider to compile things directly.

    Minor update: I actually ended up having to use an <exec /> task to build the code rather than the Microsoft.CSharp.CSharpCodeProvider because I didn't see a way with the code provider to specify a target framework, whereas you can call the framework-specific csc.exe based on NAnt project settings and the correct framework will be used.

    Tomb Raider Weekend

    Saturday was an errand day (running around to various stores, picking things up as needed, general taking-care-of-business) followed by a bit of evening gaming with Stu, but Sunday... Sunday almost all day was dedicated to Tomb Raider: Legend. I think I must have played for six hours. They really did an awesome job with it and I'm having a great time.

    In other news... I should shortly have a new version of CR_Documentor out that will not only let you preview the XML doc but will also preview the member syntax box inline with the doc, just like the NDoc output. I've got some folks doing some testing for me to make sure it doesn't break anything, but that should be done soon. I'll keep you posted.