Joeflash’s Enigmacopaedia

Live From FITC!

Posted in Conferences by Joeflash on the April 18th, 2008

I’ve accepted a position a few weeks ago as Official FITC Blogger this year at FITC Toronto 2008, which I’m quite excited about attending. Being a Toronto native, it’s nice having such a fantastic, world class conference right on my doorstep.

Check out the FITC Blog here.

How I Bought My Perfect XP Laptop

Posted in Enigmacopaedia, Geekness, Tools, Personal by Joeflash on the April 13th, 2008

So I wanted to buy a new laptop. My requirements were: has to have XP because I’m a PC user who’s not convinced Vista’s features and performance gains outweigh the hassles. It has to be a workhorse for infrequent onsite development. No bloatware, just the OS and drivers and maybe some OEM software. And a high res, matte screen, with a screamin new processor and maxed out 4GB memory. And it had to be a Dell.

Dell has some pretty good laptop offerings IMO. The XPS 1730 is a nice machine, and I particularly like that I can have XP installed, and have a RAID 1 drive setup for data security, and it’s definitely a workhorse I could use to get some serious work done on the road, but it’s also a bloody brick, weighing in at 10.6 lbs6 (4.81 kg) — holy crap, I want a laptop, not a portable computer.

The Inspiron series is is just too old and busted IMO for my taste, and problems in its older models which I’ve had first hand experience have left a bad taste. It’s still not a good looking machine IMO, no matter how fancy the cover is. And more importantly it didn’t quite have the power I was looking for.

I was particularly taken with the new XPS 1530 (the XPS 1350 being slightly underpowered for my taste), but what threw me was three things:

  1. You can’t get XP as an option anymore. I guess I waited too long.
  2. There is no opt-out of the bloatware in Canada for the home machines, only in the US, which really sucks.
  3. All Dell’s new laptops use TrueLife displays, which are the shiniest, most awfully glare-prone screens I have ever seen. My god how can people buy screens they can’t see unless they’re in a darkened cave? No wonder they need a backlit keyboard!

Having seen the XPS laptops first hand, that last one killed it for me. Dell really needs to work on this if I’m ever going to buy an upgrade.

Now, I’ve bought a few laptops from other places before, and their customer support and warranty policy has always left a bad taste in my mouth. Mind you it’s all relative: if I were a corporate customer with a dozen or more of their machines to support with some wildly expensive premium plan, I’m sure I would get decent support. The reason I chose Dell over all other brands, is primarily customer service and support. With a premium support package, I can drop this baby down a flight of stairs, and it be my fault (more or less), and they will replace the entire machine, no questions asked, and come to my door to deliver it. That’s how good the warranty is.

But one of the main criticisms lobbed against Dell is the amount of bloatware preinstalled on their machines. I had to buy a Dell de-crappifier utility to remove all the junk that came installed on my previous machine, and although it worked quite well, I still had to remove a few things by hand. Still, it saved me reinstalling the entire OS, which I didn’t have time for.

In Canada, the only way you can opt out of the pre-installation crap is to buy a business machine, which is what I did. I got a brand new laptop with only the OS and OEM CD drive software installed.

Now their home and home office support is not bad, never had any complaints in the seven years I’ve been buying Dell through four machines, but the wait times can be a little long. So this time, because I purchased it as a business user, I get connected inside of one minute, and get to talk to a person who is NOT based in Bangalordesh… and have their direct extension if I need to talk to them about a previous issue (which is unheard of in customer service).

Mind you, you pay for that level of service, like around $300, but considering the hassles I’ve had to put up with warranties, customer service and tech support, it’s worth every penny. Even with my XPS 400 system I bought two years ago, I’ve had to replace my 24″ monitor three times, twice because of dead pixels, once because of a broken power button… and because I paid for the best support package, they replaced it no questions asked, right to my door. So I’ve been very impressed with Dell in that regard.

So I wanted to buy a Dell, but I could not get past the awful screen, and I didn’t want some cheap adhesive film or bulky filter plate just to simulate a matte screen.

So what did I do? I bought an “older” model, with new insides.

I went with the Latitude D830, which some of my former co-workers were using, and it’s not a bad looking machine. Even got some decent reviews. Definitely no worse than the Inspiron. And I guess because it’s an older line, it’s available with a matte screen, with XP installed. And because I’m buying it from the business section, I can opt out of all the bloatware.

The Dell Latitude D830

The video card is nothing to write home about, which seems to be its only major weakness, but I’m also not running WoW on it either. And it didn’t have a RAID option, but SSDs are going to come down in price in the next six months anyways, so I’ll upgrade when that happens. It also only has 3 USB sockets and no integrated webcam, but the bluetooth, wireless, fingerprint reader and the great specs make up for it.
Which BTW are:

  • 2.6 GHz Dual Core, 4GB RAM
  • 15.4″ 1920×1600 Matte screen
  • XP SP2 x64 Pro
  • No preinstalled security software, or any bloatware of any kind

For about $1000 cheaper than the XPS 1530, at around $2500 including 3-year full warranty and support.


So my guess is that the Latitude is a no-frills-powerhouse-XP-lovers’ best kept secret, because I’ve not heard of anyone raving about this machine, but it’s pretty solid, and will do everything I want it to.

But if you’re going to buy a Latitude with XP and a matte screen, better do it soon, cause they’re replacing the whole line in June. With TrueLife displays of course.

I’m going to enjoy working on my screamin’ machine running circles around all the more expensive, Vista-bloated fancy-pants XPSs. :)

And that’s how I got my dream XP laptop.

Flex Skin Design Extension for Flash CS3 ReferenceError 1056 Workaround

Posted in Flash, ActionScript 3.0, Flex, Workflow, Flex 3, Flash CS3 by Joeflash on the April 12th, 2008

This week while writing a tutorial for the Flash-Flex Integration series, I came across this very strange error whenever I tried compiling my Flex project using a skin which had a boundingBox clip on the timeline, using a Button skin template in the Flex Skin Design Extension for Flash CS3:

ReferenceError: Error #1056: Cannot create property boundingBox on Main_01__embed_css__1922336847.
at flash.display::Sprite/constructChildren()
at flash.display::Sprite()
at flash.display::MovieClip()
at mx.flash::UIMovieClip()[E:\dev\trunk\frameworks\projects\flash-integration\src\mx\flash\]

Unfortunately this error occurs whenever you place any kind of MovieClip (and I suspect any non-drawing object as well) on the timeline.

The solution, it would seem, is to simply declare the object on the skin timeline:

var boundingBox:MovieClip;

Which seems very odd to me, given that UIMovieClip is a dynamic class.

Just to verify for myself that this was true, I placed the following code on the timeline:

  1. import flash.utils.*;
  2. trace("class: "+describeType(this).@name+"\nextends: "+describeType(this).@base+"\nis dynamic: "+describeType(this).@isDynamic);

Which, sure enough, returned

class: Custom_button_skin
extends: mx.flash::UIMovieClip
is dynamic: true

This is very puzzling to me. I’ve logged a bug on the Adobe JIRA bugbase. I’m hoping they patch it soon or release a technote; people using the extension should be aware of this issue, or much tearing-out-of-hair may ensue.

Update 2008-04-18: Just discovered that Jesse has found the same bug, and it’s not really a bug but a quirk of the Flash compiler not automatically declaring class instances on the stage.

My guess is that this error is appearing because normally when you associate a class linkage with a MovieClip in the library, you need to declare your stage instances, as automatic stage object declaration is turned off. Same here, except the class associated with that container is UIMovieClip, which is not a custom class where you can place your object definitions. I still think there needs to be a mention in the FCK documentation about this.

As soon as I saw Jesse’s post I smacked myself in the head proclaiming “Of course!”

Some weeks are just like that.