Sleepsort

Это гениально
http://jsfiddle.net/j8RyN/1/
Написать что-ли библиотеку слипфанкшнс. Типа слипмин, слипмакс, слипсорт, чего там ещё слип* можно сотворить.

Splice в массиве и векторе

Однако в векторе лучше. В Array тупой.

http://pastebin.com/CNTdWKBZ

if (1) this;

Попутно с обнаруженными сегодня косяками в ASC 2.0

if (1) this; вызывает срыв стека в рантайме в нашем обычном компиляторе, конкретно в 4.6. Компиленый код ещё не смотрел.

Деление с остатком.

В as3 деление с остатком работает как деление с остатком моей мечты, потому что 3.5 % 1.5 == 0.5 Ещё в школе я не мог вкурить поему же деление с остатком операция целочисленная. Что мешает делить с остатком дроби? Вот как оказалось Adobe ничего не мешает. Счастье.

Flex sdk компиляция огромных файлов

Нужно было скомпилять флешку с огромным количеством ресурсов, более 100 мегабайт картинок.

Флекс сдк падает с java.lang.OutOfMemoryError: Java heap space

помогает зайти в файл {FlexSDK_Root}\bin\jvm.config

и поправить там значение в строке java.args

я поставил -Xmx1408m и всё заработало. Такое значение выявлено подбором т.к. при большем значении тоже не всегда работает.

embedFonts as3 TTF не работает

При эмбеде шрифта TTF обнаружилось что ничего не работает.

FD4 генерирует вот такой код

[Embed(source="../../assets/MY_FONT.TTF",fontName = 'myFont', mimeType="application/x-font")]

А надо писать

[Embed(source="../../assets/MY_FONT.TTF",embedAsCFF="false",fontName = 'myFont', mimeType="application/x-font")]

embedAsCFF="false" работает.

AS3 eval

http://code.google.com/p/as3eval/

Содержит тамарин целиком и позволяет евалить код экшнскрипта находу. Естественно что классы подгружаемые в рантайме должны быть в нашей флешке. Иначе не сработает. Можно правда создавать темповую swf с нужным набором классов, через loadbytes в рантайме грузить и получать динамическое подключение нужных классов. Но это уже тонкости. Никогда не пользовался eval, но мысль интересная.

UPD 11.11.2011

Можно просто получать все классы через getDefenitionByName и тогда всё будет работать.

О реакции на проблемы и ошибки

При обнаружении ошибки, перед тем как её исправлять, необходимо воспроизвести её в тепличных условиях. Обязательно. Сегодня я потратил ~7 часов рабочего времени из за ошибки в чужом компоненте. К сожалению ситуация сложилась так что я, взаимодействуя специфическим образом с этим компонентом чудесным образом избегал этой ошибки. В некоторых моделях взаимодействия ошибка проявлялась, а в некоторых нет. В результате казалось что ошибка в моих моделях поведения. Стоило только собрать дефолтный пример с дефолтной моделью поведения и выяснилось что проблема есть и там. Она находилась совсем на другом уровне, не на том на котором я её искал и вообще работал. Только спустя 7 часов ковыряния и безуспешной попытки выявить баг шрёдингера я решил всё остановить и начать с начала. И баг ждал меня с распростёртыми объятиями.

MinimalComps editable multiline InputText

Для многострочного инпута следует использовать com.bit101.components.Text вместо com.bit101.components.InputText

Дебаг adobe Air

Можно получить список ошибок для установленного приложения.

After installation, create an empty file with file name “debug” in the folder META-INF/AIR inside the installed application’s folder. This solution works for current AIR version (1.5) but not sure if it is supported in the future.

cookbooks.adobe.com (архив), тема на флешере (архив)