Antennae Flex Ant Templates now on Google Code

June 22, 2007 on 3:58 pm | In Flex, Programming | No Comments

A while back I announced Antennae, a powerful set of templates for building complex Flex projects with Ant. I’m very pleased to share the news that Daniel Rinehart has taken over leadership of this project and has moved it over to a new home on Google Code. This is a great move for the further evolution of Antennae.

Daniel is also going to be speaking on the topic of automating Flex builds at MAX 2007 — if you’re going, be sure to catch his talk!

No Comments

…and A Moment of Coolness

June 20, 2007 on 11:13 am | In Flex, Programming | No Comments

Let’s not overlook a Moment of Coolness (see previous posting): I was able to log a bug against the Flex framework in Adobe’s public bug database, and refer to it in an online post. This is some real progress towards openness, and a milestone for the platform. It bodes well for the health and progress of Flex.

There’s been a lot of discussion of Silverlight vs. Flex [Continued…]

No Comments

Moment of Weakness: Weak Event Listeners Can Be Dangerous

June 20, 2007 on 1:43 am | In Flex, Programming | 8 Comments

It’s been a funny week, in which I’ve run into two different killer bugs, both of which were caused by the same dangerous (but occasionally useful) programming practice: weak event listeners in ActionScript 3. I’m going to write a bit about this scenario, because it’s very hard to debug and it’s a very non-obvious mistake that I think many people can make. (Even the Flex team can run into this: one of the bugs I found was in the Flex 3 Beta framework, SDK-11389.) And, yes, this can occur in other languages: I’ve seen it in Java too.

Both bugs manifested themselves as an event which, unpredictably, would fail to be dispatched to a waiting listener. When I say “unpredictably”, I mean, about 1 out of 3 times, with no apparent rhyme or reason. It took a lot of troublesome debugging to reach the conclusion: “hey, there’s this object which I can see adding itself as a listener for event X, and then X gets dispatched and the object never gets notified.” It took a bit longer to reach the next conclusion: the object wasn’t getting notified because it didn’t even exist any more!

In both cases, the missing object was a weak event listener. [Continued…]

8 Comments

Entries and comments feeds. Valid XHTML and CSS.
All content copyright (c) 2006-2007 Joseph Berkovitz. All Rights Reserved.