For nowhere land

I guess nobody is still using flex, but I still have to debug legacy code and I run into this nice compiler error: [mxmlc] Error: null [mxmlc] [mxmlc] java.lang.NullPointerException [mxmlc] at flex2.compiler.util.QName.hashCode(QName.java:131) [mxmlc] at java.util.HashMap.hash(HashMap.java:366) [mxmlc] at java.util.HashMap.getEntry(HashMap.java:466) [mxmlc] at java.util.HashMap.get(HashMap.java:421) [mxmlc] at flex2.compiler.util.QNameMap.get(QNameMap.java:46) [mxmlc] at flex2.compiler.as3.reflect.Class.getVariable(Class.java:194) [mxmlc] at flex2.compiler.as3.binding.DataBindingFirstPassEvaluator.findEvents(DataBindingFirstPassEvaluator.java:702) [mxmlc] at flex2.compiler.as3.binding.DataBindingFirstPassEvaluator.findEvents(DataBindingFirstPassEvaluator.java:662) [mxmlc] at flex2.compiler.as3.binding.DataBindingFirstPassEvaluator.watchExpression(DataBindingFirstPassEvaluator.java:959) [mxmlc] at flex2.compiler.as3.binding.DataBindingFirstPassEvaluator.evaluate(DataBindingFirstPassEvaluator.java:635) [mxmlc] at flash.swf.tools.as3.EvaluatorAdapter.evaluate(EvaluatorAdapter.java:85) [mxmlc] at macromedia.asc.parser.QualifiedExpressionNode.evaluate(QualifiedExpressionNode.java:43) [mxmlc] at flex2.compiler.as3.binding.DataBindingFirstPassEvaluator.evaluate(DataBindingFirstPassEvaluator.java:436) [mxmlc] at macromedia....

July 8, 2015 · len

RIA’s. Where to go from now?

I was a big fan of Flex. The code was clean, object-oriented, re-usable. We even had the bonus of E4X. We’ve wrote the interface of a huge project using it and I know there was no way we could have had such a rich client other than using native code. We developed multiplatform and the client ran multiplatform without a bit of change. The deployment was easy and the administration on the client side minimal....

June 30, 2012 · len

Betrayed by adobe

In the last few days I tried to find as much information as possible on the Adobe Flash decision to stop developing flash on mobile platforms. Some called it “the death of flash” even if the statement issued by Adobe is much unclear to me. After reading and reading posts and comments all over the net I got increasingly frustrated and decided to write down some of my thoughts on the subject....

November 21, 2011 · len

Air versus native Android applications

This weekend was cloudy and it rained so I decided to give some more time to play with my android phone. Even since I got the phone some time ago I tried on several occasions to do some fun development on it but it never seemed quite fun as expected so beside some play with the sensors, gps and camera I did not do much. However this time I was decided to do a different kind of test....

July 3, 2011 · len

My first Firefox workaround

This weekend, being stranded inside by the rain I tried to help a friend with a small flex (flash) application. The code looked very simple and I could not understand the problem. On a non-US keyboard flash seemed to ignore all special chars (like @, #) in a basic text field. After some research I found this very, very ugly and old bug laying around since FF 2. It seems it had been corrected sometime and then lost again and there is no solution for it other than setting the wmode parameter to window....

June 28, 2011 · len

FB4 on linux

Since 01.01.2011 Adobe has stopped support for Flex Builder 3 alpha on Linux. After this date the plugin effectively stopped working even if you had a valid, payed license as it was my case. This was a very sad news since I do a lot of flex development. I don’t need much of the Builder since I use ant for the compilation but at least code completion in .as and ....

January 7, 2011 · len

Searching for duplicate flex functions

After a day lost trying to find a bug caused while refactoring multiple versions of copy/paste code into a component I’ve decided to write a small application which searches for other code from my component still duplicated in other places. Naturally a basic python script has emerged. It takes as argument a file and a folder and searches for files ending with .as recursively. Both the reference file and the found files are parsed and a basic function reference is created which is compared to the other files....

October 13, 2010 · len

Mixing generated with mxml code

The problem this example tries to solve is the following: you have a Container component (Accordion, TabNavigator, etc.) and you wish it’s content to be generated dynamically but inside this generated content to use some content which is defined in the mxml, inside the Container. For those with Tapestry experience this behaviour is similar to the @RenderBody component. <my:CustomWrapper ...> <mx:VBox> ... </mx:VBox> </my:CustomWrapper> This is very similar to a Container definition but the VBox will not end as a child of CustomWrapper but further down in the hierarchy....

June 9, 2010 · len

asdoc pain

Running asdoc should have been a breeze. Just create an ant task which calls the asdoc executable with the given parameters and voila! Well, it was not. <target name="compile"> <exec executable="${asdoc}" failonerror="true"> <arg line="-doc-sources ${src.dir}"/> <arg line="-window-title "My Application""/> <arg line="-output ${asdoc.output}"/> </exec> </target> The task started by spilling 100 errors similar to: [exec] ...budgetImport.as(9): col: 1 Error: The public attribute can only be used inside a package. [exec] [exec] public var importing:Boolean = false; [exec] ^ [exec] [exec] ....

May 5, 2010 · len

Flex applications size optimization

After quite some time of development we realised that our application flex has grown quite large, both in functionality and size. I should have chosed to develop it in GWT since I think we could not have done even 30% of the functionality and it would have been simpler :). Joke aside the size of all the modules has grown over 50M. These are some steps I have found in order to reduce the size....

September 14, 2009 · len