Flex – Could Not Resolve mx:Application

Had a problem compiling a Flex 2 SDK example via the command line. I was getting a “Could not resolve mx:Application to a component implementation” message. Turns out the fix was right under my nose, I wasn’t reading the compiler’s error message.

While looking at some Flex Examples for Flex 2 SDK, I ran into the follow error message:

Error: Could not resolve <mx:Application> to a component implementation.

My code looked like this:




Problem One: Use 2006, not 2003.

However, don’t be too quick to read the message and make this simple change. Read it again! It is telling you what to use.

Error: unsupported MXML namespace found (‘http://www.macromedia.com/2003/mxml’). Please use the MXML namespace ‘http://www.adobe.com/2006/mxml’ for MXML 2 source code.

Problem Two: It is no longer Macromedia, but Adobe.

The correct code that compiles looks like this:




New Apple Battery Defect (Model A1189)

Got a 15″ Apple laptop battery that’s split out of its case? Exchange it! Got a 17″ Apple laptop battery that’s split out of its case? Sorry, “different problem.” Hear the Genius explain it. 17-Inch MacBook Pro Rechargeable Battery – Model A1189, Li-ion, 6N6184M9US0A.

When Apple recalled batteries from its 15″ laptops, I would have thought that common sense would have prevailed in that if any battery exhibited a physical defect, such as exploding from its own case, that would be more than enough to exchange the battery.

Unfortunately for my friend Marcus, when he went to the Apple Store, with an exploded battery from a 17″ laptop (his is shown above), the manager wanted him to mail the battery and laptop back to Apple. This made no sense, as there was nothing wrong with the laptop. And, furthermore, the US Postal Service might take issue with a battery that is about to have its chemicals bust out of its shell.

Exploded Apple Battery

17-Inch MacBook Pro Rechargeable Battery
Model A1189, Li-ion, 6N6184M9US0A

Battery Label

What he wanted was to simply have the hazardous waste properly disposed of, even if it meant buying a new battery.

She explained that the Apple Store didn’t have laptop batteries, he’d have to special order one. And to verify his battery was really damaged (she handled it!), he’d have to see an Apple Genius. And, unfortunately for Marcus, the Genius Bar was all filled up with appointments, and he’d have to return the next day. …meanwhile, the battery was still growing out of its shell; something that made Marcus feel very unsafe.

I’m totally of mixed minds on this. First of all, the battery fault isn’t Apple’s doing, it’s a bad batch they got them from. Second, when a battery dies or doesn’t hold a charge out of warranty, you don’t get a replacement. Third, if you take standard flashlight battery and let it age and leak, that’s not a warranty problem. So, on this hand Apple is under no obligation to replace the battery.

Still Held Charge

On the other hand, this wasn’t a matter of the battery being dead – it still held a full charge. It just would no longer fit in the machine because it was physically defective. In my mind, Apple should replace the battery, and then go back and beat up on the vendor. Even for customer service reasons alone, it’s the right thing to do.

Apple’s stance was if it was a battery for a 15″ laptop, they’d replace it, even out of warranty. But, since it was a 17″ battery, and even though it was made of the same stuff, by the same people, and exhibiting the same visibly defective problem, it wasn’t. That’s just not right.

Basically, Apple was saying that this was a “new” battery problem, and because not enough people reported the model number (A1189), their replacement warranty didn’t cover it.

Marcus came back the next day, stood in line, talked to a Genius who took his old battery to dispose while pointing him at an entire shelf of 17″ batteries. Marcus bought a new one.

Marcus Waits 45 Minutes

Genius Bar Conversation | Register Conversation

Of course, after Marcus gets the run around and has to buy a new battery, we learn about this link: MacBook and MacBook Pro Battery Update

In it, it states that if a battery is visibly deformed, then Apple will replace it. …why didn’t the Apple Store know this?

Review: Harry Potter – far better than Transformers

Harry Potter and the Order of the Phoenix. Loved it, loved it, loved it. …but two minor things distracted me. Still, loved it, loved it, loved it.

I have to say this is the first Harry Potter movie that I walked away from enjoying beginning to end.

Having seen it in iMax on opening night, didn’t hurt either.

The story, while it couldn’t nearly hold everything the book delivered, was extremely well edited, conveyed the pertinent points, and kept good pace. I actually enjoyed the fact that we were shown little snippets of scenes, and left to our own understanding of the wizarding world to fill in the gaps. For instance, we saw the Hogwarts train exterior, then Harry behind a window, and suddenly he was at his destination — none of the details were drawn out. The story moved to film nicely.

Additionally, there are some characters you love to hate (not just Snape this time), and the movie invokes an engaging sense of emotion where you want to just reach out and strangle the antagonists yourself. Well done!

But what really impressed me, especially after seeing Transformers, was the most spectacular display of special effect wizard battles that has ever been seen to hit the screen. You thought the plasma splashing wands were great in the last movie, be prepared for multiple intense battles that will make you want to buy the DVD just to re-watch those segments. And, they spend plenty of screen time on them!

The poorly implemented days of CGI kids on brooms are gone; the special effects are top notch. When you see the dementors, you’ll be amazed at how fluid they look. The special effects team has done wonders with particles and smoke-like wisps.

The dramatic scenes and forced perspective for impressive use of space are just outstanding. There are plenty of interior and exterior shots of the castle to enjoy.

Oddly enough, the only two faults that were remotely distracting were pretty petty. One, during the opening scene some of the sweeps and pans felt overly blurry, then again this could have been iMax exaggerating the effect. Two, Hermione has gone down a cup size, which either makes it feel like they shot things out of order, or they really tried to tone down her feminine side; in the prior movie, she looked like adolescence hit, which made them seem closer to graduation — now Harry looks older, and she looks younger. Weird. Maybe it was just an unflattering outfit. But, whatever it was, it made the ages of the characters just slightly discontinuous.

Walt gives the new Harry Potter and the Order of the Phoenix a big thumbs up!

Review: Transformers

Transformers… yah, I liked it. But then again, I had limited expectations.

I have to admit that I enjoyed Transformers as an action-packed, explosion-filled, CGI piece of eye candy; having just those expectations and nothing else, I found the movie enjoyable, with only minor distractions for erratic conservation of mass, unrealistic scale, and the frequent violation of physics — in particular stopping a body in free fall.

With that in context, I’m completely dismissive of any plot or acting. In short, I wanted a visual feast and only a visual feast, and Transformers delivered in spades.

Walt gives Transforms a fluffy thumbs up.

Warning To Parents of Young Children
While you may be totally okay with your child seeing giant robotic battles and explosions, the movie did a good job at not going into any gore (several people do die on screen, but they basically crumple to the ground). Where you may take issue is that there’s a segment that feels like a tip-of-the-hat to American Pie with a more than a glossy pass on the topic of masturbation. That PG-13 is there for a reason, and I don’t think it’s the deaths.

iPhone terms of service – deal breaker

Apple’s iPhone Terms of Service do say some pretty nasty things, enough so that I’ve canceled my plans about getting one in October. However, OpenMoko, the open source phone, has just caught my eye with their sleek development kit. Ooohs and ahhs abound.

Having just read an analysis of the iPhone terms of service, what’s hidden in the fine print is a deal breaker for me.

Until some of this settles down, I’ll not be getting the iPhone as planned.

Poop.

Realistically though, this may have pushed me more seriously at OpenMoko, the open source phone.

I’m especially developing the development kit.

So at this point it’s a race. Either Apple drops the price, adds some features, and addresses some pretty stressful points in the terms of service, or enough applications and positive reports come from OpenMoko.

UPDATE: These points have all been rebutted.

The Only Book About Men Women Ever Need

If you had a book entitled “The Only Book About Men Women Ever Need” and could thumb though its table of contents containing questions – what would you expect to see…

The Only Book About Men Women Really NeedMy friend and published author, Danny Adams has expressed interest in writing a book entitled The Only Book About Men Women Ever Need.

In the book, we intend on soliciting questions from women (about men) and giving them an honest, yet humorous slant.

As part of an experiment, Danny used his Live Journal account to see if there was any interest.

There most certainly was.

Check out the comment section on Danny’s blog, and if you’d like, leave questions here or there.

Macbook Pro: Network connectivity just disappears

Interesting problem on the Macbook Pro: after several hours of use, the all the applications act as if the network connection is gone. Problem is, I still have full strength signal and other devices can get to the internet. Toggling the AirPort brings things back. I’m trying to figure out why. Notes, tips, and code fragments.

Shortly after the 10.4.9 update, and even though I’m running 10.4.10, I’ve noticed an odd behavior with my wireless network connectivity. While using my machine, often for hours at a time without incident, my applications will all suddenly act as though there’s no internet, and indeed, looking at the routing tables, by all appearances it is gone.

The odd part is that my signal strength is at full. And, even more confounding, if I turn off the wireless and turn it back on, I suddenly get connectivity again and the applications recover. Meanwhile, other devices connected wirelessly don’t see the drop, so I know it’s local to the Macbook Pro.

Is anyone else out there experiencing a similar problem where the machine just drops internet awareness?

The only clue I ever seem to get in my console.log file is the message:
mDNSResponder: SetupAddr invalid sa_family 0
mDNSResponder: getifaddrs ifa_netmask for fw0(7) Flags 8863 Family 2 169.254.59.71 has different family: 0
mDNSResponder: Repeated transitions for interface en1 (FE80:0000:0000:0000:0216:CBFF:FEB6:AD8C); delaying packets by 5 seconds

According to websites with source code for the operating system, the file dDNS.c contain codes that looks like this:

mStatus dDNS_SetupAddr(mDNSAddr *ip, const struct sockaddr *const sa)
	{
	if (!sa) 
                { 
                LogMsg("SetupAddr ERROR: NULL sockaddr"); 
                return(mStatus_Invalid); 
                }

	if (sa->sa_family == AF_INET)
		{
		struct sockaddr_in *ifa_addr = (struct sockaddr_in *)sa;
		ip->type = mDNSAddrType_IPv4;
		ip->ip.v4.NotAnInteger = ifa_addr->sin_addr.s_addr;
		return(mStatus_NoError);
		}

	if (sa->sa_family == AF_INET6)
		{
		struct sockaddr_in6 *ifa_addr = (struct sockaddr_in6 *)sa;
		ip->type = mDNSAddrType_IPv6;
#if !defined(_WIN32)
		if (IN6_IS_ADDR_LINKLOCAL(&ifa_addr->sin6_addr)) 
                    ifa_addr->sin6_addr.__u6_addr.__u6_addr16[1] = 0;
#else
		if (IN6_IS_ADDR_LINKLOCAL(&ifa_addr->sin6_addr))
                    ifa_addr->sin6_addr.u.Word[1] = 0;
#endif 		
		ip->ip.v6 = *(mDNSv6Addr*)&ifa_addr->sin6_addr;
		return(mStatus_NoError);
		}

	LogMsg("SetupAddr invalid sa_family %d", sa->sa_family);
	return(mStatus_Invalid);
	}

It appears that the software can’t figure out whether IP4 or IP6 is in use, so it reports it has no idea how to set up the socket. It’s interesting to note that the socket isn’t null, so something’s going on.

But what is mDNSResponder? Well, for one, it contains Apple’s Bonjor services that allow zero-configuration networking.


mDNSResponder is a multi-cast DNS deamon
. And, what’s even cooler, is that you can force it to emit its status and dump tons of info in the console.log by sending it a gentle signal:
sudo killall -INFO mDNSResponder

Even FreeBSD has mDNSResponder in its ports collection.

And, even while Apple has a way to disable Bonjour, I’m not sure that I want to, nor am I 100% convinced this is the problem, but is more likely a symptom. Afterall, Apple has had network problems before. Plus, they appear to be actively working on Bonjour.

As my friend Phil points out, the IP addresses in the 169.254 range are in the zero-configuration range for peer-to-peer communication.

Like I said, I’m curious to know if I’m alone in this, or even better, if someone’s solved the problem, what was it…?

UPDATE 1-Aug-2007: It appears that the AirPort Extreme Update 2007-004 fixes this problem. And, while you’re at it, get the Security Update 2007-007 as well.

Code Markup for WordPress

I’ve been looking for a decent code markup plugin for WordPress so that I can include source code fragments in WordPress.

Problem is, using <CODE> tag in conjuction with <PRE> injected extra blank lines ( <BR/> ) into the code.

Using Code Markup, I was able to do it.

But there was a trick…

First, the plugin requires that the <code> tag be in lowercase. Internally, I was using uppercase so it’d stand out visually to me. In theory, HTML tags ought to be case insensitive, but the filter required them. I’m going to look at this as a “good thing” since it allows me both worlds. I just wish I found it by a means other than clever guesswork.

Second, if you want spaces preserved, you need to put your code block inside of a <pre> tag. This is actually well documented on the Code Markup site.

Third and finally, do not go sprinkling HTML entities like &amp; in your code; let the filter do it for you.