26
Feb

Flex’ mx_internal_uid considered harmful

Actually, not that harmful. But you should be aware of a special meaning of this Flex object property. Here’s the story:

Today, I tried to develop a method the create shallow and deep copies of objects. Finally, I prepared this method, initially without the line marked with __MARK__:

static private function clone( source:Object, deep:Boolean = false ):Object
  {
    if ( null == source ) {
    return null;
    }
    var copy:Object;
    if ( true == deep ) {
       copy =  ObjectUtil.copy( source );
    } else {
      copy = new Object();
      for( var key:Object in source ) {
        if (  ( 'mx_internal_uid' != key ) ) {     // __MARK__
          copy[ key ] = source[ key ];
        }
     }
  }
  return copy;
} // clone

Without the line marked by __MARK__, the method copies (more or less raw) objects, but the dataProvider-driven controls gets in trouble: List-based control add each managed object a ‘mx_internal_uid‘ to identify each data object. Thus, if you copy the ‘mx_internal_uid’ property, e.g. a DataGrid will no longer be able to distinguish the original source object or the clone(source) object.

Thus, it’s appropriate to not copy ‘mx_internal_uid‘ from source to clone.

18
Feb

InfoQ article compares Blaze DS and LCDS

In case you are interested in figuring out details of Blaze DS and LCDS or you need to compare both solution, have a look at this InfoQ article: http://www.infoq.com/news/2009/02/Blaze-LiveCycle

23
Jan

all in plain english

Wheter you need to explain a customer a modern web-oriented service, or your friend really doesn’t know what Twitter is: Here is a collection of famous YouTube video explanations. All in plain english and fun to view.

Twitter in plain english

Continue reading ‘all in plain english’

15
Jan

Flex deployment: Use the correct mime type

Fine! You just managed to finish your first Flex-base AIR application. Using FlexBuilder’s Export Release Build…., you managed to package your deployable solution into a *.air file. Finally, you uploaded the *.air file to your web-server - and your coding mates tell you that not event a bit of an installation gets started. Too bad. What happened?

Most likely, you missed to assign the correct mime-type! Don’t forget, that you need to tell browsers, that files with *.air extensions actually are Adobe AIR installer files.

If you run Apache, adding the correct MIME type is simple:

AddType application/vnd.adobe.air-application-installer-package+zip .air

As always: Big trouble, small solution.Don’t forget, that this setting is absolutely vital! You need to set it - even if some browsers might be able to run the AIR install package with it. Most browser won’t…

04
Jan

Rumsfeld’s Knowns and Unknowns

Donal Rumsfeld, US Secretary of Defense, 12 Feb. 2002, Department of Defense News Briefing:

As we know, there are known knowns. There are things we know we know.
We also know there are known unknowns. That is to say we know there are some things we do not know.
But there are also unknown unknowns, the ones we don’t know we don’t know.

Related to RIAs? No, not a bit! But strongly related to the current credit crunch or investment banking in general.

Satyajit Das’ beautifully explains the concepts of known knowns, known unknowns, unknown knowns and unknown unknowns in his great book Traders Guns & Money. For anybody, who aims to know the history and evolution of investment banking, Das’ book is a must.

04
Jan

Data Visualization: Modern Approaches

In case you need some inspiration for an upcoming project or pitch regarding the visualization of data, have a look at  Smashing Magazine’s Data Visualization overview article.

infosthetics02

Within a single article, Smashing Magazine describes alle techniques I’ve ever seen (and partly even forgot).

29
Dez

Composing music - while solving logic puzzles

Auditorium is a logic puzzle. Auditorium is a music omposition application. Auditorium is simple gorgeous:

Playing Auditorium

If you play Auditorium, you place bricks on a board, which attract or deflect streams of particles.
If you move bricks around, Auditorium generates music, if the particle streams passes so called audio-containers.

Let the stream pass all audio-container you’ll get move to the next layer. Gorgeous!

19
Nov

Missing german locales in FlexBuilder’s SDKs? Here is how to generate them

If you try to localize a flex application with e.g. en_US and de_DE locales, FlexBuilder will likely complain about a missing german framework resource:

unable to open ‘/Applications/Adobe Flex Builder 3 Plug-in/sdks/3.2./…’

No need to give up, make the resource yourself:

- Open the SDK’s root folder. On a Mac, it is likely to be here:

/Applications/Adobe Flex Builder 3 Plug-in/skds/3.2

- Execute this command

./bin/copylocale en_US de_DE

Now recompile - probably clean it before - your project your Flex project. Everything should look fine.


19
Nov

If FlexBuilder complains about ‘Error creating AIR file: 305: ERROR, 10′ - Solution

Today, I worked on Activity, an AIR-based time tracking solution:


As I read of Flex SDK 3.2.0 and AIR 1.5, I decided to upgrade. While the update install itself finished fine - FlexBuilder failed to run the compiled app. Actually, FlexBuild printed this error message:

Error creating AIR file: 305: ERROR, 10, http://ns.adobe.com/air/application/1.1

If you see such an error message, open the application’s descriptor file -app.xml and review the second line, which should contain an XML namespace declaration like

http://ns.adobe.com/air/application/1.1

Change the postfix version number to 1.5

http://ns.adobe.com/air/application/1.5

and you are fine: The compiler just needs to know which lib to compile against.

Update 2009-02-03: Our fellow Flex-coders in Russia picked up the post.

17
Nov

Microsoft promotes Flash

Recently, Microsoft kicked off the movie service ‘msn Movies’ in Germany. While ‘msn Movies’ is free of charge for customers, Microsoft refinances the offering by spliced-in advertisement. Some are quite popular movies like ‘Good Will Hunting’.

As I read about this offering, I expected a Silverlight proof of concept. Actually, it is not:‘msn Movies’ is a service fully based on Adobe Flash technology. You guess, why ;-)

To review Microsoft’s Flash offering, have a look here.