Blog

  • Undead Commands: Member Vars on Activation Objects

    Using some ARP commands to help manage some Flashcom connection complexity. I’ve stuck the NetConnection on the Model (aka Cairngorm ModelLocator). Inside the command, I utilize a Delegate to point to a callback in the Command.

    Model.nc.onStatus = Delegate.create(this, onNCStatus);

    About 5 commands later, I was seeing a trace from that onStatus. Since commands are created as local variables in the CommandRegistry or CommandTemplate, they die after they are done since there are no more references to them once they call their callback function. This doesn’t necessarely mean garbage collection cleans it, but it does ensure it should eventually.

    However, I forgot my Delegate function was creating a longer lasting link by mapping the NetConnection sitting as a static variable on the Model Singleton class. Since Model.nc wasn’t going anywhere since no one ever deletes him, the Command that held the callback function for it’s onStatus never left either. If I got an error message, I’d get a trace a few commands later, and was like, “WTF…?”.

    So, now, I just clean it up via:

    Model.nc.onStatus = null;

    Whenever my command is done.

    This is the 2nd time in 2 weeks I’ve gotten bitten by member references in local variables that co-chill on the Activation object to make them live like member variables; meaning, they don’t necessarely die at the end of their current function like you’d think they would.

    When sharing data between 2 SWF’s, 1 of the objects in an array was referencing the loaded SWF; even though there weren’t any security restrictions because of same domain, this wreaked havoc on my code not getting values it was expecting; it’d get an array, but all the objects in it were undefined.

    So, I just made true, deep copies manually. Sucked, but again, reason #35 billion squared for an Object.deepClone() intrinsic method.

  • How To Prevent Getting Screwed by Alienware

    Really only 3 things to do, although, not easy.

    • Upon receival of your order, ensure ALL items on the packing slip are included. Missing a Windows XP CD? You have 14 days to tell them, or tough $hI0t.
    • If anything doesn’t even remotely work perfect within the first 30 days, return it to get a refund. If you don’t, you won’t like the next item.
    • Keep calling until the problem is resolved.

    That last one sounds pretty brief, and it is. It requires more explanation.

    Alienware’s support system is pretty simple. Support on the other line MUST determine the problem with your laptop remotely. That means minutes to hours on the phone, with you phsyically following the directions from the support person on the other end. Rebooting, tweaking the bios, etc.

    There is no “I want to FedEx this laptop to you guys”. You either deal with them on the phone to determine/resolve the problem, or your computer will remain broke, period. It’s black and white.

    Once they find the problem, they’ll send you a replacement part, have you physically ship the system in to them to fix it, or if you ordered a special plan, they’ll send someone on site.

    Again, NONE of those 3 things will ever happen unless you resolve it on the phone. My wife made 2 calls, and got cut off the first time.

    I made 3, after getting cut off the 2nd, but dammit, I resolved that mofo!

    Our personal experience: 2 months, 3 phone calls, and 7 hours worth of phone calls later, we found out what’s wrong with her majesty’s Area-51 (7700) laptop. 1 of the RAID drives went bad apparently. They are shipping a new replacement drive, and I have to ship them the defective one to remove an $80 charge on my credit card. I managed to sweet talk the guy on the other end to send me a Windows XP CD to install Windows since my copy here for another computer doesn’t work. We never got ours in the shipment (see list item 1).

    If my putting the hard drive in doesn’t fix it, it’s off to the phones for another 3 hour remote-hardware debugging session.

    If you buy an Alienware, be aware they assume you’ll either fix any hardware or software problems yourself, otherwise, you HAVE to deal with their support staff. Their support staff that I talked to are nice and patient mind you, I as a full-time contractor, however, don’t have time for that crap. Time is money for me, and support calls cost me more money than Alienware.

    After reading Ray’s on going battles with Dell support, apparently the competition isn’t any better. Anyone know of a computer company’s support options that DON’T suck; mainly, I can just send them the computer and let them fix it? Until I give up my career in software and start learning hardware, I don’t have time to make support calls.

    ???

  • Macromedia Flash 8 Credits – JXL Cameo Part Deux

    Reading LordAlex’s posting, and was like, “Wow, I wonder who else is in there that I know?”. That way, at parties, I can be like, “Yeah, I know him… he’s pretty cool. I know him too, he owns me on Halo. I know her, I know that dude…” since at parties you typically open the Help > About dialogue in Flash 8 over a brewsky.

    Low and behold, I’m in there! I had the same feeling I had at MXDU 2003 while on stage with the rest of the developers from around the world answering audience questions, begging the question, “W…t…f.. am I doing up here?” Pretty damn cool, your welcome Macromedia, I strive to ensure the world knows Flash rocks and they should use & love it too.

    I of course return with a “And, thank you, Macromedia!” for Flash. I got a phat career because of your product and get to wake up everday doing what I love and getting paid bling for it. You all rock!

  • Day of Defeat Source

    DOD Source. I gave this whirl late last night since I bought it like over a year ago with my HalfLife 2 purchase (it came with it) and was finally released this last weekend. She crashed on me twice, I think because my sound card drivers are fubared. Regardless, it looks a ton better than the original, obviously since it uses the Source engine. They lessened the power of the BAR (Browing Automatic Rifle) and increassed the kick of it, so you really have to utilize burst shots or within milliseconds of aiming straight, the kick throws your aim to the sky. I haven’t tried any of the other kits yet because I only got to play for about 10 minutes, but overall it’s still got the WWII charm of the first, focusing on intense urban combat vs. all out war like Battlefield 2 does.