Archive for September, 2013

COLT was updated to 1.2

By the way, codeorchestra livecoding tool (aka COLT) was updated to version 1.2 just now. Ironically, the changes are far from minor, since half of the COLT was refactored to support multiple languages (at the moment ActionScript3 and JavaScript) and use JavaFX instead of Eclipse RCP for UI. Let me quickly go over these news in detail:


JavaScript has eval() so at first it seems too easy to support (remember this ?) but it is not. We had to solve the problem of identifying multiple anonymous and / or nested functions that we could ignore in ActionScript. We had to change code transformation logic over and over because of sneaky corner cases that did not work. We had to deal with multiple runtimes, some of which do not support “basic” things like web sockets. On the bright side, surprising number of things has worked out of the box, or with minor modifications. Thanks to prior AS3 experience, JS support comes with all its blows and whistles such as infinite loops or recursion checks. For another example, being written with browsers and mobile apps in mind, COLT never the less is perfectly able to work with server side Node.JS code:

This does not look like a big deal to PHP programmers, but Node.JS guys actually have to restart the server to see their code changes. Check this post for more information about this use case.


Unfortunately our work on AS3 was mostly frozen (much like the whole AS3 world itself). But we still love AS3. Few days ago, after many months of watching the grass grow, Adobe (actually their GPM, Bill “Machete” Howard) was finally able to grant us redistribution rights to AIR SDK. So now we can get rid of long-standing AS3 workflow issues. Hopefully.

Photoshop assets generator

Ten days ago Adobe started making noise around their Photoshop “autosave” feature called assets generator. Awesome feature, I totally loved it, and surely it works out of the box with COLT:

However, there is some room for improvement here. E.g. we could do what loom guys did and give you access to layers positioning information, if there is any interest. Let me know.

Spread the news!

If you like COLT and want to help us spread the news, download COLT, try it with your project and write the review on your blog. Contact me for more information, if interested.

About instance metadata in FP (continued)

Today Buraks released their final version of ASV update that supports PlaceObject4. And, I had to say, they did better job with their tool than Adobe did with their Flash CC. This is how metadata inspector dialog looks in ASV:

This is how it looks in Flash CC:

That’s not the first time the team of two does better job at tooling, so why should it be surprising? Any way, this inspired me to play with PlaceObject4 tag again.

What else is new?

Last time we learned that PlaceObject4 can carry complex nested objects, and “Integer, Double, or String” limitation is that of JSFL, not flash player runtime. It turns out the runtime does have limitations of its own – for example, you can’t have plain data there. If you place a string at the end of PO4 tag, flash player will not complain (you don’t get VerifyError) but corresponding metaData property will be null.

Btw, metaData is not really a property, but a reference. Documentation says it has a setter:

public function set metaData(value:Object):void

but IRL any attempt to use it results in TypeError #2004. However, if you change the value of the subfield, it sticks. So, metaData object is created once and the reference is returned from there on.

Another thing to know about instance metadata is that you can make it strictly typed. If you have the type registered at the time of publishing SWF, you will be able to specify what type will the metaData property be of when you access it. Make sure that corresponding class has default constructor, or else accessing metaData property will throw ArgumentError #1063.

But we still need tools to write that metadata :(

Right. Unfortunately there are none, and you will have to write your own. But don’t be sad – I can give you head start:

Angry Birds

You’re welcome :) I originally wrote this with wonderfl in mind (hence 465×465) but they do not compile version 19 SWFs yet. Not tested thoroughly, feel free to report/fix bugs.

Do you speak english?

Do you?

Continue reading ‘Do you speak english?’

Old stuff

September 2013
« Aug   Oct »

Oh, btw…