<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2157740160912403437</id><updated>2012-02-17T02:37:03.472+05:30</updated><category term='java  project'/><category term='javafx'/><category term='Text Layout Framework'/><category term='laguages'/><category term='java one'/><category term='Adobe Flex'/><category term='Adobe AIR and Java'/><category term='Adobe Flash'/><category term='java'/><category term='swc'/><category term='About Thulasiram'/><category term='flex with jsp'/><category term='quick basic project'/><category term='Flasm'/><category term='jsp'/><category term='Tools Libraries  Components'/><category term='Adobe AIR'/><category term='projects'/><category term='action script'/><category term='links'/><category term='flex'/><category term='Adobe Frameworks'/><category term='Adobe AIR frameworks'/><category term='Books'/><title type='text'>Thulasiram</title><subtitle type='html'>-------------------------------------
WebOS Developer</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://thulasiram-soft.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2157740160912403437/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://thulasiram-soft.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Thulasiram</name><uri>http://www.blogger.com/profile/16015182526583065651</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>37</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2157740160912403437.post-4349017794510112646</id><published>2010-06-12T18:57:00.000+05:30</published><updated>2010-06-12T18:57:32.097+05:30</updated><title type='text'>StraWeb Browser freeware</title><content type='html'>A basic web Browser more faster than the present browsers with built in  Add-on's download manager, RSS feeds, Google localization also has multi type source view options.&lt;br /&gt;&lt;br /&gt;StraWeb Browser developed by Thulasiram which is more faster in  downloading compared to present browsers.&lt;br /&gt;StraWeb Browser file size is only 1MB and needs free disk space of 1MB with run time memory of 40MB using less CPU time.&lt;br /&gt;StraWeb browser has good web page rendering concepts.&lt;br /&gt;this has built in search engine links, web page links can able to share with the famous sites like &lt;a href="http://google.com/"&gt;google.com&lt;/a&gt; &lt;a href="http://del.icio.us/"&gt;del.icio.us&lt;/a&gt;, &lt;a href="http://digg.com/"&gt;http://digg.com&lt;/a&gt; , &lt;a href="http://reddit.com/"&gt;reddit.com&lt;/a&gt;, &lt;a href="http://linkedin.com/"&gt;linkedin.com&lt;/a&gt;, &lt;a href="http://twitter.com/"&gt;twitter.com&lt;/a&gt;, &lt;a href="http://facebook.com/"&gt;facebook.com&lt;/a&gt;, &lt;a href="http://newsvine.com/"&gt;newsvine.com&lt;/a&gt;, &lt;a href="http://stumbleupon.com/"&gt;stumbleupon.com&lt;/a&gt;, &lt;a href="http://technorati.com/"&gt;technorati.com&lt;/a&gt;, &lt;a href="http://twitthat.com/"&gt;twitthat.com&lt;/a&gt;, and many more&lt;br /&gt;&lt;br /&gt;&lt;a href="http://cid-8fc78358ed20dc6a.office.live.com/self.aspx/.Public/Downloads/Browser.air"&gt;http://cid-8fc78358ed20dc6a.office.live.com/self.aspx/.Public/Downloads/Browser.air&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Needs famous plug-in&amp;nbsp; Adobe AIR plug-in &lt;a href="http://get.adobe.com/air/"&gt;http://get.adobe.com/air/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;use it and distribute it to other&amp;nbsp; as free of cost.&lt;br /&gt;this is standalone application developed using Adobe Flex/AIR&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2157740160912403437-4349017794510112646?l=thulasiram-soft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thulasiram-soft.blogspot.com/feeds/4349017794510112646/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thulasiram-soft.blogspot.com/2010/06/straweb-browser-freeware.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2157740160912403437/posts/default/4349017794510112646'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2157740160912403437/posts/default/4349017794510112646'/><link rel='alternate' type='text/html' href='http://thulasiram-soft.blogspot.com/2010/06/straweb-browser-freeware.html' title='StraWeb Browser freeware'/><author><name>Thulasiram</name><uri>http://www.blogger.com/profile/16015182526583065651</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2157740160912403437.post-7459491578444530096</id><published>2010-05-05T14:47:00.000+05:30</published><updated>2010-05-05T14:47:34.353+05:30</updated><title type='text'>Evony Age World I - Feedback, uses and how to play</title><content type='html'>&lt;a href="http://evony.com/"&gt;Evony.com&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Evony is online game which is also enabled in &lt;a href="http://facebook.com/"&gt;facebook.com&lt;/a&gt; social web sites. Its a simple game designed for internet user.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Evony Age World II is recently released by &lt;a href="http://evony.com/"&gt;evony.com&lt;/a&gt; developers with a good layout and small animations with zoom in and out. this game has upgrade to world II with newly upgrade concepts in some fields and the technically improved at wars with online players Cities and Non Player Cities. which includes the calculation of hero level and attack points which came from the workshop, forge for upgrading the hero's technology and grading his skills by give armature and speed upping his work.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2157740160912403437-7459491578444530096?l=thulasiram-soft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thulasiram-soft.blogspot.com/feeds/7459491578444530096/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thulasiram-soft.blogspot.com/2010/05/evony-age-world-i-feedback-uses-and-how.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2157740160912403437/posts/default/7459491578444530096'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2157740160912403437/posts/default/7459491578444530096'/><link rel='alternate' type='text/html' href='http://thulasiram-soft.blogspot.com/2010/05/evony-age-world-i-feedback-uses-and-how.html' title='Evony Age World I - Feedback, uses and how to play'/><author><name>Thulasiram</name><uri>http://www.blogger.com/profile/16015182526583065651</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2157740160912403437.post-3112853292353056652</id><published>2009-12-16T04:32:00.003+05:30</published><updated>2010-04-24T12:06:38.517+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='About Thulasiram'/><category scheme='http://www.blogger.com/atom/ns#' term='projects'/><title type='text'>Address Book</title><content type='html'>&lt;div class="entry"&gt;&lt;b&gt;Title        : Address Book&lt;/b&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Description:&lt;/span&gt;&lt;br /&gt;Address Book has been developed using Flex where it is a desktop application working with an Adobe Air plug-in. It is used to store person full name, photos, E-mail IDs, phone numbers, date of birth, address, and important note. Able to view all entry's in one click.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This is my small project work on adobe Flex (AIR) using local database sql lite .&lt;br /&gt;To download this project file for testing &lt;a href="http://public.blu.livefilestore.com/y1pf5GTyuTNXLSNVDHEoFixcDwk9g6NHCwdLYn2JhPGCy_3NND9wJhRs1pcqJx8qDgZEOzL9eJQw8mAN-_Vgcvk9w/AddressBook.air?download"&gt;click here&lt;/a&gt; (&lt;a href="http://public.blu.livefilestore.com/y1pf5GTyuTNXLSNVDHEoFixcDwk9g6NHCwdLYn2JhPGCy_3NND9wJhRs1pcqJx8qDgZEOzL9eJQw8mAN-_Vgcvk9w/AddressBook.air?download"&gt;http://public.blu.livefilestore.com/y1pf5GTyuTNXLSNVDHEoFixcDwk9g6NHCwdLYn2JhPGCy_3NND9wJhRs1pcqJx8qDgZEOzL9eJQw8mAN-_Vgcvk9w/AddressBook.air?download&lt;/a&gt;). &lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2157740160912403437-3112853292353056652?l=thulasiram-soft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thulasiram-soft.blogspot.com/feeds/3112853292353056652/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thulasiram-soft.blogspot.com/2009/12/address-book.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2157740160912403437/posts/default/3112853292353056652'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2157740160912403437/posts/default/3112853292353056652'/><link rel='alternate' type='text/html' href='http://thulasiram-soft.blogspot.com/2009/12/address-book.html' title='Address Book'/><author><name>Thulasiram</name><uri>http://www.blogger.com/profile/16015182526583065651</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2157740160912403437.post-7122583595597140021</id><published>2009-12-16T04:26:00.002+05:30</published><updated>2009-12-20T18:23:52.453+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='About Thulasiram'/><category scheme='http://www.blogger.com/atom/ns#' term='projects'/><title type='text'>Search Engine Optimization</title><content type='html'>&lt;div class="entry"&gt;&lt;b&gt;Title        :    Search Engine Optimization&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Description:&lt;/span&gt;&lt;br /&gt;Search Engine Optimization was developed using Adobe Flex where it is a desktop application working with an &lt;a href="http://www.adobe.com/air"&gt;Adobe Air plug-in&lt;/a&gt;.It is used to optimize search engine, Increases Page ranking, web site ranking, tell file not found errors which are in the web page links,&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="background-color: #d9ead3; color: #38761d;"&gt;Note:&lt;/span&gt;&lt;br /&gt;This is my small project work on Adobe Flex(AIR) using content management.&lt;br /&gt;To download Search engine optimization project file&amp;nbsp; for testing &lt;a href="http://cid-8fc78358ed20dc6a.skydrive.live.com/self.aspx/.Public/projects/SEO.air"&gt;click here&lt;/a&gt; (&lt;a href="http://cid-8fc78358ed20dc6a.skydrive.live.com/self.aspx/.Public/projects/SEO.air"&gt;http://cid-8fc78358ed20dc6a.skydrive.live.com/self.aspx/.Public/projects/SEO.air&lt;/a&gt;).&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2157740160912403437-7122583595597140021?l=thulasiram-soft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thulasiram-soft.blogspot.com/feeds/7122583595597140021/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thulasiram-soft.blogspot.com/2009/12/search-engine-optimization.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2157740160912403437/posts/default/7122583595597140021'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2157740160912403437/posts/default/7122583595597140021'/><link rel='alternate' type='text/html' href='http://thulasiram-soft.blogspot.com/2009/12/search-engine-optimization.html' title='Search Engine Optimization'/><author><name>Thulasiram</name><uri>http://www.blogger.com/profile/16015182526583065651</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2157740160912403437.post-4743226961845838267</id><published>2009-12-16T04:20:00.001+05:30</published><updated>2009-12-20T17:30:22.032+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='About Thulasiram'/><category scheme='http://www.blogger.com/atom/ns#' term='projects'/><title type='text'>Google Talk (Gmail Messenger)</title><content type='html'>&lt;div class="entry"&gt;&lt;b&gt;Title        : Google Talk (Gmail Messenger)&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Description:&lt;/span&gt;&lt;br /&gt;Google Talk is simple Adobe air application developed at RamsCode.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Unlimited, version download able messenger with single file.&lt;/li&gt;&lt;li&gt;No need further upgrading version.&lt;/li&gt;&lt;li&gt;Daily server files are only upgrades.&amp;nbsp;&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;Requirments&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.adobe.com/air"&gt;Adobe AIR Installer&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;This is my small project working using Adobe Flex(AIR) on run time page interaction. &lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2157740160912403437-4743226961845838267?l=thulasiram-soft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thulasiram-soft.blogspot.com/feeds/4743226961845838267/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thulasiram-soft.blogspot.com/2009/12/google-talk-gmail-messenger.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2157740160912403437/posts/default/4743226961845838267'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2157740160912403437/posts/default/4743226961845838267'/><link rel='alternate' type='text/html' href='http://thulasiram-soft.blogspot.com/2009/12/google-talk-gmail-messenger.html' title='Google Talk (Gmail Messenger)'/><author><name>Thulasiram</name><uri>http://www.blogger.com/profile/16015182526583065651</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2157740160912403437.post-1315649430331443485</id><published>2009-11-25T16:15:00.000+05:30</published><updated>2009-11-25T16:15:21.086+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='links'/><title type='text'>Links to other Important blogs</title><content type='html'>&amp;nbsp;&lt;span class="Apple-style-span" style="color: #111111; font-family: Georgia, 'Times New Roman', Times, serif; font-size: 14px; line-height: 22px;"&gt;A collection of links on the Adobe Flex SDK team, Flash Builder team, Flash Catalyst team, evangelism team, and other resources.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #111111; font-family: Georgia, 'Times New Roman', Times, serif; font-size: 14px; line-height: 22px;"&gt;&lt;div class="linkcat" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;h2 style="color: #111111; font-size: 1.286em; font-weight: bold; line-height: 1.222em; margin-bottom: 0.611em; margin-left: 0px; margin-right: 0px; margin-top: 1.833em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Blogroll&lt;/h2&gt;&lt;ul class="xoxo blogroll" style="list-style-image: initial; list-style-position: initial; list-style-type: square; margin-bottom: 1.571em; margin-left: 1.571em; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;li class="brlink" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://blogs.adobe.com/flexdoc/" rel="co-worker" style="color: #2361a1; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: underline;" target="_blank"&gt;Adobe Flex Doc Team blog&lt;/a&gt;&lt;/li&gt;&lt;li class="brlink" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://blogs.adobe.com/flex/" rel="co-worker" style="color: #2361a1; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: underline;" target="_blank"&gt;Adobe Flex Team blog&lt;/a&gt;&lt;/li&gt;&lt;li class="brlink" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://blogs.adobe.com/aharui/" style="color: #2361a1; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: underline;"&gt;Alex Harui — Alex’s Flex Closet&lt;/a&gt;&lt;/li&gt;&lt;li class="brlink" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://balajisridhar.wordpress.com/" rel="co-worker" style="color: #2361a1; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: underline;" target="_blank"&gt;Balaji Sridhar — A Flex Enthusiast!&lt;/a&gt;&lt;/li&gt;&lt;li class="brlink" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://graphics-geek.blogspot.com/" style="color: #2361a1; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: underline;"&gt;Chet Haase — Codedependent&lt;/a&gt;&lt;/li&gt;&lt;li class="brlink" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://www.justsuppose.com/" style="color: #2361a1; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: underline;"&gt;Corey Lucier — Just Suppose&lt;/a&gt;&lt;/li&gt;&lt;li class="brlink" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://blogs.adobe.com/koestler/" style="color: #2361a1; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: underline;"&gt;Daniel Koestler&lt;/a&gt;&lt;/li&gt;&lt;li class="brlink" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://davidzuckerman.com/adobe/" style="color: #2361a1; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: underline;"&gt;David Zuckerman — Marking Occurrences&lt;/a&gt;&lt;/li&gt;&lt;li class="brlink" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://iamdeepa.com/blog/" style="color: #2361a1; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: underline;"&gt;Deepa Subramaniam — iamdeepa on flex&lt;/a&gt;&lt;/li&gt;&lt;li class="brlink" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://quietlyscheming.com/blog/" style="color: #2361a1; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: underline;"&gt;Ely Greenfield — Quietly Scheming&lt;/a&gt;&lt;/li&gt;&lt;li class="brlink" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://www.evtimmy.com/" style="color: #2361a1; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: underline;"&gt;Evtim Georgiev — Easy Flex&lt;/a&gt;&lt;/li&gt;&lt;li class="brlink" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://gauravj.com/blog/" style="color: #2361a1; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: underline;"&gt;Gaurav Jain — Gaurav’s Blog&lt;/a&gt;&lt;/li&gt;&lt;li class="brlink" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://blogs.adobe.com/gosmith/" style="color: #2361a1; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: underline;"&gt;Gordon Smith — Flexophile&lt;/a&gt;&lt;/li&gt;&lt;li class="brlink" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://hansmuller-flex.blogspot.com/" style="color: #2361a1; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: underline;"&gt;Hans Muller — Hans Muller’s Flex Blog&lt;/a&gt;&lt;/li&gt;&lt;li class="brlink" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://flexgeek.wordpress.com/" style="color: #2361a1; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: underline;"&gt;Harish Sivaramakrishnan — FlexGeek&lt;/a&gt;&lt;/li&gt;&lt;li class="brlink" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://exploringflex.wordpress.com/" rel="co-worker" style="color: #2361a1; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: underline;" target="_blank"&gt;Harpreet Neelu — Exploring Flex&lt;/a&gt;&lt;/li&gt;&lt;li class="brlink" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://blogs.adobe.com/flexreport/" style="color: #2361a1; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: underline;"&gt;Jacob Goldstein — flexreport&lt;/a&gt;&lt;/li&gt;&lt;li class="brlink" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://butterfliesandbugs.wordpress.com/" style="color: #2361a1; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: underline;"&gt;Joan Lafferty — Flex Butterflies and Bugs&lt;/a&gt;&lt;/li&gt;&lt;li class="brlink" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://skiguard.blogspot.com/" rel="co-worker" style="color: #2361a1; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: underline;" target="_blank"&gt;Kishan M V — Flex Guard&lt;/a&gt;&lt;/li&gt;&lt;li class="brlink" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://www.macmartine.com/blog/" style="color: #2361a1; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: underline;"&gt;Mac Martine&lt;/a&gt;&lt;/li&gt;&lt;li class="brlink" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://www.andersblog.com/" style="color: #2361a1; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: underline;"&gt;Mark Anders’ Blog&lt;/a&gt;&lt;/li&gt;&lt;li class="brlink" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://weblogs.macromedia.com/mchotin/" style="color: #2361a1; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: underline;"&gt;Matt Chotin&lt;/a&gt;&lt;/li&gt;&lt;li class="brlink" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://www.flexontap.com/" style="color: #2361a1; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: underline;"&gt;Matt Finitz&lt;/a&gt;&lt;/li&gt;&lt;li class="brlink" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://www.geekzguru.net/" rel="co-worker" style="color: #2361a1; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: underline;" target="_blank"&gt;Mayank — The GLog (Geek bLOG)&lt;/a&gt;&lt;/li&gt;&lt;li class="brlink" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://www.morearty.com/blog/" rel="co-worker" style="color: #2361a1; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: underline;" target="_blank"&gt;Mike Morearty — mikemo&lt;/a&gt;&lt;/li&gt;&lt;li class="brlink" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://rictus.com/muchado/" style="color: #2361a1; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: underline;"&gt;Narciso (nj) Jaramillo — much ado about something&lt;/a&gt;&lt;/li&gt;&lt;li class="brlink" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://blogs.adobe.com/pfarland/" style="color: #2361a1; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: underline;"&gt;Pete Farland&lt;/a&gt;&lt;/li&gt;&lt;li class="brlink" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://weblogs.macromedia.com/pent/" style="color: #2361a1; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: underline;"&gt;Peter Ent&lt;/a&gt;&lt;/li&gt;&lt;li class="brlink" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://radhakrishnabhat.wordpress.com/" rel="co-worker" style="color: #2361a1; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: underline;" target="_blank"&gt;Radhakrishna — Radhakrishna's Blog&lt;/a&gt;&lt;/li&gt;&lt;li class="brlink" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://raghuonflex.wordpress.com/" style="color: #2361a1; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: underline;"&gt;Raghu Rao — FLEXing My Muscle&lt;/a&gt;&lt;/li&gt;&lt;li class="brlink" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://usereccentric.com/" style="color: #2361a1; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: underline;"&gt;Rob Adams — User Eccentric&lt;/a&gt;&lt;/li&gt;&lt;li class="brlink" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://flexspaghetti.wordpress.com/" style="color: #2361a1; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: underline;"&gt;Rob Vollmar — flex spaghetti&lt;/a&gt;&lt;/li&gt;&lt;li class="brlink" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://frishy.blogspot.com/" style="color: #2361a1; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: underline;"&gt;Ryan Frishberg — Frish’s Blog&lt;/a&gt;&lt;/li&gt;&lt;li class="brlink" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://sangflex.wordpress.com/" rel="co-worker" style="color: #2361a1; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: underline;" target="_blank"&gt;Sangavi — Flex Thoughts&lt;/a&gt;&lt;/li&gt;&lt;li class="brlink" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://gettingandsetting.com/" style="color: #2361a1; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: underline;"&gt;Scott Evans — getting and setting&lt;/a&gt;&lt;/li&gt;&lt;li class="brlink" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://shanazvakil.wordpress.com/" rel="co-worker" style="color: #2361a1; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: underline;" target="_blank"&gt;Shanaz Vakil — Flex Automation&lt;/a&gt;&lt;/li&gt;&lt;li class="brlink" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://flexpearls.blogspot.com/" style="color: #2361a1; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: underline;"&gt;Sreenivas Ramaswamy — Pearls of Flex&lt;/a&gt;&lt;/li&gt;&lt;li class="brlink" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://flexponential.com/" rel="co-worker colleague" style="color: #2361a1; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: underline;" target="_blank"&gt;Steven Shongrunden — Flexponential&lt;/a&gt;&lt;/li&gt;&lt;li class="brlink" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://sudhirmanjunath.blogspot.com/" rel="co-worker" style="color: #2361a1; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: underline;" target="_blank"&gt;Sudhir Manjunath — My Take On Tech&lt;/a&gt;&lt;/li&gt;&lt;li class="brlink" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://sujitreddyg.wordpress.com/" rel="co-worker" style="color: #2361a1; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: underline;" target="_blank"&gt;Sujit Reddy G – The Evangelist&lt;/a&gt;&lt;/li&gt;&lt;li class="brlink" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://www.onflex.org/ted/" style="color: #2361a1; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: underline;"&gt;Ted Patrick — Ted On Flex&lt;/a&gt;&lt;/li&gt;&lt;li class="brlink" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://www.buntel.com/blog/" rel="co-worker" style="color: #2361a1; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: underline;" target="_blank"&gt;Tim Buntel — Tim Buntel's Web Log&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="linkcat" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;h2 style="color: #111111; font-size: 1.286em; font-weight: bold; line-height: 1.222em; margin-bottom: 0.611em; margin-left: 0px; margin-right: 0px; margin-top: 1.833em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Documentation/Resources&lt;/h2&gt;&lt;ul class="xoxo blogroll" style="list-style-image: initial; list-style-position: initial; list-style-type: square; margin-bottom: 1.571em; margin-left: 1.571em; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;li class="brlink" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://livedocs.adobe.com/flex/3/html/" style="color: #2361a1; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: underline;" target="_blank"&gt;Adobe Flex 3 Developer Documentation&lt;/a&gt;&lt;/li&gt;&lt;li class="brlink" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://livedocs.adobe.com/flex/3/langref/" style="color: #2361a1; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: underline;" target="_blank"&gt;Adobe Flex 3 Language Reference&lt;/a&gt;&lt;/li&gt;&lt;li class="brlink" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://examples.adobe.com/flex3/consulting/styleexplorer/Flex3StyleExplorer.html" style="color: #2361a1; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: underline;" target="_blank"&gt;Adobe Flex 3 Style Explorer&lt;/a&gt;&lt;/li&gt;&lt;li class="brlink" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://livedocs.adobe.com/flex/gumbo/html/" style="color: #2361a1; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: underline;" target="_blank"&gt;Adobe Flex 4 Developer Documentation&lt;/a&gt;&lt;/li&gt;&lt;li class="brlink" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://livedocs.adobe.com/flex/gumbo/langref/" style="color: #2361a1; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: underline;" target="_blank"&gt;Adobe Flex 4 Language Reference&lt;/a&gt;&lt;/li&gt;&lt;li class="brlink" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://www.adobe.com/go/flex_cookbook" style="color: #2361a1; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: underline;" target="_blank"&gt;Adobe Flex Cookbook&lt;/a&gt;&lt;/li&gt;&lt;li class="brlink" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://blogs.adobe.com/flexdoc/" rel="co-worker" style="color: #2361a1; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: underline;" target="_blank"&gt;Adobe Flex Doc Team blog&lt;/a&gt;&lt;/li&gt;&lt;li class="brlink" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://labs.adobe.com/technologies/flex/" style="color: #2361a1; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: underline;" target="_blank"&gt;Adobe Labs — Adobe Flex Product Center&lt;/a&gt;&lt;/li&gt;&lt;li class="brlink" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://www.adobe.com/cfusion/entitlement/index.cfm?e=labs_flashbuilder4" style="color: #2361a1; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: underline;" target="_blank"&gt;Download the Flash Builder 4 beta&lt;/a&gt;&lt;/li&gt;&lt;li class="brlink" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://bugs.adobe.com/flashplayer/" style="color: #2361a1; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: underline;" target="_blank"&gt;Flash Player Bug Base&lt;/a&gt;&lt;/li&gt;&lt;li class="brlink" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://bugs.adobe.com/flex/" style="color: #2361a1; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: underline;" target="_blank"&gt;Flex Bug Base&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2157740160912403437-1315649430331443485?l=thulasiram-soft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thulasiram-soft.blogspot.com/feeds/1315649430331443485/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thulasiram-soft.blogspot.com/2009/11/links-to-other-important-blogs.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2157740160912403437/posts/default/1315649430331443485'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2157740160912403437/posts/default/1315649430331443485'/><link rel='alternate' type='text/html' href='http://thulasiram-soft.blogspot.com/2009/11/links-to-other-important-blogs.html' title='Links to other Important blogs'/><author><name>Thulasiram</name><uri>http://www.blogger.com/profile/16015182526583065651</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2157740160912403437.post-2716874223483132688</id><published>2009-11-25T14:59:00.004+05:30</published><updated>2009-12-16T01:18:18.253+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Adobe Flex'/><title type='text'>Top Ten Flex Tools and Resources</title><content type='html'>&lt;span style="font-family: 'Lucida Grande',Verdana,Arial,sans-serif; font-size: 12px; line-height: 16px;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;h2 style="color: #2f62ac; font-family: Helvetica,Arial,sans-serif; font-size: 1.4em; line-height: 1em; margin: 0px 0px 10px; padding: 0px; text-decoration: none;"&gt;Top Ten Flex Tools and Resources&lt;/h2&gt;&lt;div class="entry" style="margin: 0px 0px 10px; padding: 0px;"&gt;&lt;div style="margin: 5px 0px; padding: 5px 0px;"&gt;&lt;img alt="" class="alignright" height="175" src="http://seantheflexguy.com/images/blog/top-ten-flex-tools.jpg" style="float: right; margin: 0px; padding: 0px; text-align: right;" width="200" /&gt;When developing Flex and/or AIR applications there are a handful of tools that really make the difference between a good project and a great project. They are all very valuable and provide stability and clarity for the RIA development process; or at least they have for me. From Unit Testing to SVN utilities to frameworks and libraries I’ve found the following ten items to be very useful and helpful. I’d even go so far as to say these are critical for quality Flex RIA development; but as Les says: “It’s just a matter of opinion.”&amp;nbsp;&lt;img alt=";)" class="wp-smiley" src="http://seantheflexguy.com/blog/wp-includes/images/smilies/icon_wink.gif" style="margin: 0px; padding: 0px;" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin: 5px 0px; padding: 5px 0px;"&gt;&lt;b style="margin: 0px; padding: 0px;"&gt;Cairngorm&lt;/b&gt;&lt;br /&gt;Cairngorm is the lightweight micro-architecture for Rich Internet Applications built in Flex or AIR. A collaboration of recognized design patterns, Cairngorm exemplifies and encourages best-practices for RIA development advocated by Adobe Consulting, encourages best-practice leverage of the underlying Flex framework, while making it easier for medium to large teams of software engineers deliver medium to large scale, mission-critical Rich Internet Applications.&lt;a href="http://opensource.adobe.com/wiki/display/cairngorm/Cairngorm" style="color: #466edb; margin: 0px; padding: 0px; text-decoration: none;" target="_blank"&gt;&lt;br style="margin: 0px; padding: 0px;" /&gt;http://opensource.adobe.com/wiki/display/cairngorm/Cairngorm&lt;/a&gt;&lt;b style="margin: 0px; padding: 0px;"&gt;&lt;br style="margin: 0px; padding: 0px;" /&gt;Download:&lt;/b&gt;&amp;nbsp;&lt;a href="http://download.macromedia.com/pub/opensource/cairngorm/cairngorm2_2_1-bin.zip" style="color: #466edb; margin: 0px; padding: 0px; text-decoration: none;" target="_blank"&gt;http://download.macromedia.com/pub/opensource/cairngorm/cairngorm2_2_1-bin.zip&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin: 5px 0px; padding: 5px 0px;"&gt;&lt;b style="margin: 0px; padding: 0px;"&gt;&lt;br style="margin: 0px; padding: 0px;" /&gt;Flex Unit&lt;/b&gt;&lt;br /&gt;FlexUnit is a unit testing framework for Flex and ActionScript 3.0 applications and libraries. It mimics the functionality of JUnit, a Java unit testing framework, and comes with a graphical test runner.&lt;a href="http://opensource.adobe.com/wiki/display/flexunit/FlexUnit" style="color: #466edb; margin: 0px; padding: 0px; text-decoration: none;" target="_blank"&gt;&lt;br style="margin: 0px; padding: 0px;" /&gt;http://opensource.adobe.com/wiki/display/flexunit/FlexUnit&lt;/a&gt;&lt;b style="margin: 0px; padding: 0px;"&gt;&lt;br style="margin: 0px; padding: 0px;" /&gt;Download:&lt;/b&gt;&amp;nbsp;&lt;a href="http://download.macromedia.com/pub/opensource/flexunit/flexunit0_9.zip" style="color: #466edb; margin: 0px; padding: 0px; text-decoration: none;" target="_blank"&gt;http://download.macromedia.com/pub/opensource/flexunit/flexunit0_9.zip&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin: 5px 0px; padding: 5px 0px;"&gt;&lt;b style="margin: 0px; padding: 0px;"&gt;&lt;br style="margin: 0px; padding: 0px;" /&gt;Subclipse&lt;/b&gt;&lt;br /&gt;Subclipse is an Eclipse Team Provider plug-in providing support for Subversion within the Eclipse IDE. The software is released under the Eclipse Public License (EPL) 1.0 open source license.&lt;a href="http://subclipse.tigris.org/" style="color: #466edb; margin: 0px; padding: 0px; text-decoration: none;" target="_blank"&gt;&lt;br style="margin: 0px; padding: 0px;" /&gt;http://subclipse.tigris.org/&lt;/a&gt;&lt;b style="margin: 0px; padding: 0px;"&gt;&lt;br style="margin: 0px; padding: 0px;" /&gt;Eclipse update site URL:&lt;/b&gt;&amp;nbsp;&lt;a href="http://subclipse.tigris.org/update_1.6.x" style="color: #466edb; margin: 0px; padding: 0px; text-decoration: none;" target="_blank"&gt;http://subclipse.tigris.org/update_1.6.x&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin: 5px 0px; padding: 5px 0px;"&gt;&lt;b style="margin: 0px; padding: 0px;"&gt;&lt;br style="margin: 0px; padding: 0px;" /&gt;Eclipse&lt;/b&gt;&lt;br /&gt;Eclipse is a multi-language software development platform comprising an IDE and a plug-in system to extend it. It is written primarily in Java and is used to develop applications in this language and, by means of the various plug-ins, in other languages as well - C, C++, COBOL, Python, Perl, PHP and more.&lt;a href="http://www.eclipse.org/" style="color: #466edb; margin: 0px; padding: 0px; text-decoration: none;" target="_blank"&gt;&lt;br style="margin: 0px; padding: 0px;" /&gt;http://www.eclipse.org&lt;/a&gt;&lt;b style="margin: 0px; padding: 0px;"&gt;&lt;br style="margin: 0px; padding: 0px;" /&gt;Download:&lt;/b&gt;&amp;nbsp;&lt;a href="http://www.eclipse.org/downloads/" style="color: #466edb; margin: 0px; padding: 0px; text-decoration: none;" target="_blank"&gt;http://www.eclipse.org/downloads/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin: 5px 0px; padding: 5px 0px;"&gt;&lt;b style="margin: 0px; padding: 0px;"&gt;&lt;br style="margin: 0px; padding: 0px;" /&gt;ASDoc&lt;/b&gt;&lt;br /&gt;ASDoc is a command-line tool that you can use to create API language reference documentation as HTML pages from the classes in your Adobe® Flex® application. The Adobe Flex team uses the ASDoc tool to generate the&amp;nbsp;&lt;i style="margin: 0px; padding: 0px;"&gt;Adobe Flex Language Reference&lt;/i&gt;.&lt;a href="http://livedocs.adobe.com/flex/3/html/help.html?content=asdoc_1.html" style="color: #466edb; margin: 0px; padding: 0px; text-decoration: none;" target="_blank"&gt;&lt;br style="margin: 0px; padding: 0px;" /&gt;http://livedocs.adobe.com/flex/3/html/help.html?content=asdoc_1.html&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin: 5px 0px; padding: 5px 0px;"&gt;&lt;b style="margin: 0px; padding: 0px;"&gt;&lt;br style="margin: 0px; padding: 0px;" /&gt;Flex Ant Tasks&lt;/b&gt;&lt;br /&gt;The Adobe® Flex® Ant tasks provide a convenient way to build your Flex projects using an industry-standard build management tool. If you are already using Ant projects to build Flex applications, you can use the Flex Ant tasks to replace your exec or java commands that invoke the mxmlc and compc compilers. If you are not yet using Ant to build your Flex applications, you can take advantage of these custom tasks to quickly and easily set up complex build processes for your Flex applications.&lt;a href="http://livedocs.adobe.com/flex/3/html/help.html?content=anttasks_1.html" style="color: #466edb; margin: 0px; padding: 0px; text-decoration: none;" target="_blank"&gt;&lt;br style="margin: 0px; padding: 0px;" /&gt;http://livedocs.adobe.com/flex/3/html/help.html?content=anttasks_1.html&lt;/a&gt;&lt;b style="margin: 0px; padding: 0px;"&gt;&lt;br style="margin: 0px; padding: 0px;" /&gt;Installation:&lt;/b&gt;&amp;nbsp;&lt;a href="http://livedocs.adobe.com/flex/3/html/help.html?content=anttasks_2.html#224215" style="color: #466edb; margin: 0px; padding: 0px; text-decoration: none;" target="_blank"&gt;http://livedocs.adobe.com/flex/3/html/help.html?content=anttasks_2.html#224215&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin: 5px 0px; padding: 5px 0px;"&gt;&lt;b style="margin: 0px; padding: 0px;"&gt;&lt;br style="margin: 0px; padding: 0px;" /&gt;Degrafa&lt;/b&gt;&lt;br /&gt;Degrafa is a declarative graphics framework open source licensed under MIT.&lt;a href="http://www.degrafa.org/" style="color: #466edb; margin: 0px; padding: 0px; text-decoration: none;" target="_blank"&gt;&lt;br style="margin: 0px; padding: 0px;" /&gt;http://www.degrafa.org&lt;/a&gt;&lt;b style="margin: 0px; padding: 0px;"&gt;&lt;br style="margin: 0px; padding: 0px;" /&gt;Download:&lt;/b&gt;&amp;nbsp;&lt;a href="http://www.degrafa.org/code/" style="color: #466edb; margin: 0px; padding: 0px; text-decoration: none;" target="_blank"&gt;http://www.degrafa.org/code/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin: 5px 0px; padding: 5px 0px;"&gt;&lt;b style="margin: 0px; padding: 0px;"&gt;&lt;br style="margin: 0px; padding: 0px;" /&gt;as3corelib&lt;/b&gt;&lt;br /&gt;The corelib project is an ActionScript 3 Library that contains a number of classes and utilities for working with ActionScript 3. These include classes for MD5 and SHA 1 hashing, Image encoders, and JSON serialization as well as general String, Number and Date APIs.&lt;a href="http://code.google.com/p/as3corelib/" style="color: #466edb; margin: 0px; padding: 0px; text-decoration: none;" target="_blank"&gt;&lt;br style="margin: 0px; padding: 0px;" /&gt;http://code.google.com/p/as3corelib/&lt;/a&gt;&lt;b style="margin: 0px; padding: 0px;"&gt;&lt;br style="margin: 0px; padding: 0px;" /&gt;Download:&lt;/b&gt;&amp;nbsp;&lt;a href="http://as3corelib.googlecode.com/files/as3corelib-.92.1.zip" style="color: #466edb; margin: 0px; padding: 0px; text-decoration: none;" target="_blank"&gt;http://as3corelib.googlecode.com/files/as3corelib-.92.1.zip&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin: 5px 0px; padding: 5px 0px;"&gt;&lt;b style="margin: 0px; padding: 0px;"&gt;&lt;br style="margin: 0px; padding: 0px;" /&gt;Flex SDK coding conventions and best practices&lt;/b&gt;&lt;br /&gt;Coding standards for writing open-source Flex framework components in ActionScript 3. Adhering to these standards makes the source code look consistent, well-organized, and professional.&lt;a href="http://opensource.adobe.com/wiki/display/flexsdk/Coding+Conventions" style="color: #466edb; margin: 0px; padding: 0px; text-decoration: none;" target="_blank"&gt;&lt;br style="margin: 0px; padding: 0px;" /&gt;http://opensource.adobe.com/wiki/display/flexsdk/Coding+Conventions&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin: 5px 0px; padding: 5px 0px;"&gt;&lt;b style="margin: 0px; padding: 0px;"&gt;&lt;br style="margin: 0px; padding: 0px;" /&gt;Flex Language Reference&lt;/b&gt;&lt;br /&gt;The Flex 3.3 Language Reference provides syntax and usage information for every element in the ActionScript™ language. It documents all elements in Adobe® Flash® Player and Adobe® AIR™ that are officially supported by Adobe.&lt;a href="http://livedocs.adobe.com/flex/3/langref/" style="color: #466edb; margin: 0px; padding: 0px; text-decoration: none;" target="_blank"&gt;&lt;br style="margin: 0px; padding: 0px;" /&gt;http://livedocs.adobe.com/flex/3/langref/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2157740160912403437-2716874223483132688?l=thulasiram-soft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thulasiram-soft.blogspot.com/feeds/2716874223483132688/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thulasiram-soft.blogspot.com/2009/11/top-ten-flex-tools-and-resources-when.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2157740160912403437/posts/default/2716874223483132688'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2157740160912403437/posts/default/2716874223483132688'/><link rel='alternate' type='text/html' href='http://thulasiram-soft.blogspot.com/2009/11/top-ten-flex-tools-and-resources-when.html' title='Top Ten Flex Tools and Resources'/><author><name>Thulasiram</name><uri>http://www.blogger.com/profile/16015182526583065651</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2157740160912403437.post-4928760079709572892</id><published>2009-10-25T21:01:00.001+05:30</published><updated>2009-11-25T21:09:55.992+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Adobe Flash'/><category scheme='http://www.blogger.com/atom/ns#' term='Adobe AIR'/><category scheme='http://www.blogger.com/atom/ns#' term='Adobe Flex'/><title type='text'>Flash CS5 on the iPhone, Apps</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; font-family: Arial; white-space: pre;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;Flash CS5 on the iPhone, Apps&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;At the MAX conference yesterday, Adobe announced that designers and developers will be able to use Adobe Flash Professional CS5 to create rich, interactive applications for the iPhone and iPod Touch.&lt;br /&gt;This is NOT Flash Player running on the iPhone. There is no new information about Flash Player on the iPhone. This announcement means that Flash designers and developers can use Flash Professional CS5 and ActionScript 3 to build native applications that can be distributed and downloaded via the Apple App Store.&lt;br /&gt;This new feature was demonstrated in a sneak peak of Flash Professional CS5. The new features of Flash Professional CS5 also include a new text engine for creative freedom and control with text, XML based FLAs to boost team collaboration on projects, prebuilt code snippets for rapidly adding interactivity, as well as integrations with Adobe Flash Builder to improve ActionScript editing. A beta of Flash Professional CS5 will be available later this year via Adobe Labs.&lt;br /&gt;Adobe announces ability to publish ActionScript 3 projects to run as native iPhone apps.  More info at &lt;a href="http://www.adobe.com/go/iphone"&gt;http://www.adobe.com/go/iphone&lt;/a&gt;&lt;br /&gt;Adobe Flash Pro CS5 beta coming, supporting native iPhone apps.  Sign up and more info at &lt;a href="http://www.adobe.com/go/flashprobeta"&gt;http://www.adobe.com/go/flashprobeta&lt;/a&gt;&lt;br /&gt;You can learn more about this announcement in the FAQ below as well as in the following places • Adobe News Room (&lt;a href="http://www.adobe.com/aboutadobe/pressroom/"&gt;http://www.adobe.com/aboutadobe/pressroom/&lt;/a&gt;) •&lt;br /&gt;Information about apps for iPhone on Adobe Labs (&lt;a href="http://www.adobe.com/go/iphone"&gt;http://www.adobe.com/go/iphone&lt;/a&gt;)  • Information about Flash Professional CS5 on Adobe Labs (&lt;a href="http://www.adobe.com/go/flashprobeta"&gt;http://www.adobe.com/go/flashprobeta&lt;/a&gt;)&lt;br /&gt;&lt;strong&gt;More about Flash Professional CS5 &lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;What did Adobe announce at MAX regarding Flash Professional? &lt;/strong&gt;&lt;br /&gt;Adobe previewed an early version of the next major version of Flash, Adobe Flash Professional CS5. Adobe also announced that a public beta of Flash Professional CS5 will be available for download from Adobe Labs later this year. That beta will include support for the ability to compile ActionScript 3® projects in Adobe Flash Professional to run as applications for iPhone. Interested designers and developers can go to Adobe Labs to sign up and to be notified when the beta is available.&lt;br /&gt;&lt;strong&gt;What are the new features of Flash Professional CS5?&lt;/strong&gt;&lt;br /&gt;There are many new and exciting features in Flash Professional CS5.  These include&lt;br /&gt;• New text capabilities via the Text Layout Framework (TLF). Get unprecedented control and creativity with text in Flash projects. Advanced styling and layout, including right to left text, columns, threaded text blocks let you work with text in Flash like never before.&lt;br /&gt;• XML based FLA files let you manage and modify project assets using source control systems, and enable teams to easily collaborate on files.&lt;br /&gt;• Code Snippets panel provides pre-built code that can be injected into projects for greater interactivity and also reduces the ActionScript 3 learning curve. The panel includes code for timeline navigation (ie: click to go to the next scene) actions (ie: drag and drop), animation (ie: move with keyboard arrows), audio and video, event handlers (ie: mouse events) and loading and unloading of assets.&lt;br /&gt;• Flash Builder integration.  Use Flash Builder to write ActionScript code within Flash projects.&lt;br /&gt;• Improved ActionScript editor, including custom class code-hinting and completion&lt;br /&gt;&lt;strong&gt;When will the Flash Professional CS5 beta be available for download?&lt;/strong&gt;&lt;br /&gt;The beta will be available for download from Adobe Labs before the end of 2009. How much will Flash Professional CS5 or Creative Suite cost? We are not announcing any pricing at this time. Where can customers go to be notified when the beta is available? You can sign up to be notified:&lt;a href="https://www.adobe.com/cfusion/mmfor/index.cfm?name=fpcs5_notify"&gt; https://www.adobe.com/cfusion/mmfor/index.cfm?name=fpcs5_notify&lt;/a&gt;&lt;br /&gt;&lt;strong&gt;More information about applications for iPhone&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Q: When will Adobe Flash Platform tooling support building applications for iPhone?&lt;/strong&gt;&lt;br /&gt;A public beta of Flash Professional CS5 including support for building applications for iPhone is planned for later this year. Sign up to be notified when the beta is available.: &lt;a href="https://www.adobe.com/cfusion/mmform/index.cfm?name=fpcs5_notify"&gt;https://www.adobe.com/cfusion/mmform/index.cfm?name=fpcs5_notify&lt;/a&gt;&lt;br /&gt;&lt;strong&gt;Q: How does the Flash Platform tooling update help developers?&lt;/strong&gt;&lt;br /&gt;The tooling update allows developers to use Flash technologies to develop content for iPhone and iPod touch, devices that were previously closed to them. Developers can write new code or reuse existing web content to build applications for iPhone. Because the source code and assets are reusable across the Flash Platform runtimes,—Adobe AIR and Flash Player—it also gives developers a way to more easily target other mobile and desktop environments.&lt;br /&gt;&lt;strong&gt;Q: How is this different from Adobe Flash Player 10 coming to iPhone?&lt;/strong&gt; &lt;strong&gt;Will iPhone users be able to view web content built with Flash technology in the iPhone browser?&lt;/strong&gt;&lt;br /&gt;The new support for iPhone applications in the Flash Platform tooling will not allow iPhone users to browse web content built with Flash technology on iPhone, but it may allow developers to repackage existing web content as applications for iPhone if they choose to do so. Flash Player uses a just-in-time compiler and virtual machine within a browser plug-in to play back content on websites. Those technologies are not allowed on the iPhone at this time, so a Flash Player for iPhone is not being made available today. Flash Professional CS5 will enable developers to build applications for iPhone that are installed as native applications. Users will be able to access the apps after downloading them from Apple’s App Store and installing them on iPhone or iPod touch.&lt;br /&gt;&lt;strong&gt;Q: Can applications for iPhone built with Flash Platform tooling be delivered through Apple’s App Store?&lt;/strong&gt;&lt;br /&gt;Yes. Developers can deliver applications built with Flash Platform tooling just like any other iPhone application. This will require the developer to be a member of the iPhone Developer Program and follow the program guidelines.&lt;br /&gt;&lt;strong&gt;Q: Do developers need to participate in Apple’s iPhone Developer Program in order to develop or deploy applications for iPhone using the Flash Platform tools? &lt;/strong&gt;&lt;br /&gt;Yes. A developer certificate from Apple is required in order to test and deploy applications to iPhone. Apple provides information on its developer programs at &lt;a href="http://developer.apple.com/iphone/"&gt;http://developer.apple.com/iphone/&lt;/a&gt;.&lt;br /&gt;&lt;strong&gt;Q: Are applications for iPhone built with Flash Platform tools interpreted at runtime? &lt;/strong&gt;&lt;br /&gt;No. iPhone applications built with Flash Platform tools are compiled into standard, native iPhone executables, just like any other iPhone application.&lt;br /&gt;&lt;strong&gt;Q: Can applications load SWF files or other code at runtime, such as a module from a website?&lt;/strong&gt;&lt;br /&gt;No. iPhone applications built with Flash Platform tools are compiled into standard, native iPhone executable packages and there is no runtime interpreter that could be used to run ActionScript bytecode within the application.&lt;br /&gt;&lt;strong&gt;Q: Which version of the iPhone SDK/operating system is supported by the applications? &lt;/strong&gt;&lt;br /&gt;Applications can be built targeting iPhone OS 3.0 and later.&lt;br /&gt;&lt;strong&gt;Q: Will applications built with Flash Platform tools work on iPod touch? iPhone 1.0? iPhone 3G? iPhone 3GS? &lt;/strong&gt;&lt;br /&gt;Applications should work on all iPhone and iPod touch devices. However, as the hardware specifications of the devices are widely divergent, content performance may vary between devices and device generations.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2157740160912403437-4928760079709572892?l=thulasiram-soft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thulasiram-soft.blogspot.com/feeds/4928760079709572892/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thulasiram-soft.blogspot.com/2009/10/flash-cs5-on-iphone-apps.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2157740160912403437/posts/default/4928760079709572892'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2157740160912403437/posts/default/4928760079709572892'/><link rel='alternate' type='text/html' href='http://thulasiram-soft.blogspot.com/2009/10/flash-cs5-on-iphone-apps.html' title='Flash CS5 on the iPhone, Apps'/><author><name>Thulasiram</name><uri>http://www.blogger.com/profile/16015182526583065651</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2157740160912403437.post-4550669455722602920</id><published>2009-10-25T15:33:00.000+05:30</published><updated>2009-11-25T15:44:59.308+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Books'/><category scheme='http://www.blogger.com/atom/ns#' term='Adobe AIR'/><category scheme='http://www.blogger.com/atom/ns#' term='Adobe Flex'/><title type='text'>5 new Flex and AIR books for Fall and Winter 2008</title><content type='html'>&lt;span style="font-family: 'Lucida Grande', Verdana, Arial, sans-serif; font-size: 12px; line-height: 16px;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;img alt="" class="alignleft" src="http://www.seantheflexguy.com/images/blog/flexbookspostimages/fall2008.jpg" style="float: left; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left;" /&gt;Here are five great Flex 3.0 and AIR books that are worth checking out in the next several months. Programming Flex 2 is an outstanding book and the updated Programming Flex 3 is sure to please. Creating Visual Experiences with Flex 3.0 by Juan Sanchez and Andy McIntosh is a must read and these AIR books also look really awesome. I’m putting these books on my radar for those cold winter (stay-at-home) nights approaching…&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;img alt="" class="alignright" height="240" src="http://seantheflexguy.com/images/blog/flexbookspostimages/progflex3.jpg" style="float: right; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: right;" title="Programming Flex 3" width="214" /&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Programming Flex 3: The Comprehensive Guide to Creating Rich Internet Applications with Adobe Flex&lt;/strong&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;Authors: Chafic Kazoun, Joey Lott&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;Available: September 24, 2008&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;Publisher: Adobe Dev Library&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;Description:&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;If you want to try your hand at developing rich Internet applications with Adobe’s Flex 3, and already have experience with frameworks such as .NET or Java, this is the ideal book to get you started. Programming Flex 3 gives you a solid understanding of Flex 3’s core concepts, and valuable insight into how, why, and when to use specific Flex features. Numerous examples and sample code demonstrate ways to build complete, functional applications for the Web, using the free Flex SDK, and RIAs for the desktop, using Adobe AIR. This book is an excellent companion to Adobe’s Flex 3 reference documentation.&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://www.amazon.com/Programming-Flex-Comprehensive-Creating-Applications/dp/0596516215/ref=sr_1_7?ie=UTF8&amp;amp;s=books&amp;amp;qid=1220412763&amp;amp;sr=1-7" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"&gt;More info.&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;img alt="" class="alignright" height="240" src="http://seantheflexguy.com/images/blog/flexbookspostimages/airguide.jpg" style="float: right; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: right;" title="Adobe AIR A Guide for Developers" width="214" /&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Adobe AIR: A Guide for Developers&lt;/strong&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;Authors: Mark Blair, Andrew Muller, Andrew Spaulding&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;Available: February 1, 2009&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;Publisher: Adobe Dev Library&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;Description:&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;The only authoritative resource on Adobe AIR’s first full release, with content created, reviewed, and critiqued by Adobe’s AIR team. Lots of resources exist for Adobe AIR and more are on the way, but most try to cover too much information for a technology that’s changing rapidly. What most developers need right now is a definitive introduction to Adobe AIR: How it works and how to develop for it. Written and approved by Adobe experts who know the real story behind AIR, the information in this book comes straight from the source.&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://www.amazon.com/Adobe-AIR-Developers-Mark-Blair/dp/0596521766/ref=sr_1_6?ie=UTF8&amp;amp;s=books&amp;amp;qid=1220412840&amp;amp;sr=1-6" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"&gt;More Info.&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;img alt="" class="alignright" height="240" src="http://seantheflexguy.com/images/blog/flexbookspostimages/profflex3.jpg" style="float: right; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: right;" title="Professional Adobe Flex 3" width="214" /&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Professional Adobe Flex 3&lt;/strong&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;Authors: Joseph Balderson, Peter Ent, Jun Heider, Todd Prekaski, Tom Sugden, Andrew Trice, David Hassoun, Joe Berkovitz&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;Available: February 24, 2009&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;Publisher: Wrox&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;Description:&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;With Professional Adobe Flex 3, put your prior experience with Flash, Actionscript and XML-based language to good use and learn how to use the Flex 3 platform to create rich Internet and Apollo applications. Understand the potential of the Flex 3 platform through practical examples and hands-on advice on topics like developing applications in MXML, creating custom flex components, charting, targeting Apollo runtime, and data interconnectivity. In addition, this book addresses the ways that you can contribute to the development of Flex 3, which is open source.&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://www.amazon.com/Professional-Adobe-Flex-Joseph-Balderson/dp/0470223642/ref=sr_1_5?ie=UTF8&amp;amp;s=books&amp;amp;qid=1220412840&amp;amp;sr=1-5" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"&gt;More info.&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;img alt="" class="alignright" height="240" src="http://seantheflexguy.com/images/blog/flexbookspostimages/visexpflex3.jpg" style="float: right; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: right;" title="Creating Visual Experiences with Flex 3.0" width="214" /&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Creating Visual Experiences with Flex 3.0&lt;/strong&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;Authors: Juan Sanchez, Andy McIntosh&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;Available: November 17, 2008&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;Publisher: Addison-Wesley Professional&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;Description:&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;Don’t settle for Flex’s boring, standard user interface: set your Flex applications apart with the breakthrough skinning and programming techniques found in Creating Visual Experiences with Flex 3.0. Leading Flex developers Juan Sanchez and Andy McIntosh show how to build Flex and AIR applications that are stunningly beautiful — and amazingly usable. You’ll learn how to apply state-of-the-art branding and visual design techniques that add value to all your Flex applications, no&amp;nbsp; matter what they do or who you’re building them for.&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://www.amazon.com/Creating-Visual-Experiences-Developers-Library/dp/0321545370/ref=sr_1_24?ie=UTF8&amp;amp;s=books&amp;amp;qid=1220412914&amp;amp;sr=1-24" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"&gt;More info.&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;img alt="" class="alignright" height="240" src="http://seantheflexguy.com/images/blog/flexbookspostimages/aircb.jpg" style="float: right; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: right;" title="Adobe AIR Cookbook: Solutions and Examples for Rich Internet Application Developers" width="214" /&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Adobe AIR Cookbook: Solutions and Examples for Rich Internet Application Developers&lt;/strong&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;Authors: David Tucker, Marco Casario, Koen De Weggheleire, Rich Tretola&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;Available: November 20, 2008&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;Publisher: Adobe Dev Library&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;Description:&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;The hands-on recipes in this cookbook help you solve a variety of tasks and scenarios often encountered when using Adobe AIR to build Rich Internet Applications for the desktop. Thoroughly vetted by Adobe’s AIR development team, Adobe AIR Cookbook addresses fundamentals, best practices, and topics that experienced web developers and application designers have inquired about most. This collection also includes solutions for using this runtime environment to build truly innovative applications.&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://www.amazon.com/Adobe-AIR-Cookbook-Application-Developers/dp/0596522509/ref=sr_1_23?ie=UTF8&amp;amp;s=books&amp;amp;qid=1220412914&amp;amp;sr=1-23" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"&gt;More info;&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2157740160912403437-4550669455722602920?l=thulasiram-soft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thulasiram-soft.blogspot.com/feeds/4550669455722602920/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thulasiram-soft.blogspot.com/2009/10/5-new-flex-and-air-books-for-fall-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2157740160912403437/posts/default/4550669455722602920'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2157740160912403437/posts/default/4550669455722602920'/><link rel='alternate' type='text/html' href='http://thulasiram-soft.blogspot.com/2009/10/5-new-flex-and-air-books-for-fall-and.html' title='5 new Flex and AIR books for Fall and Winter 2008'/><author><name>Thulasiram</name><uri>http://www.blogger.com/profile/16015182526583065651</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2157740160912403437.post-8638840517676961017</id><published>2009-10-18T14:04:00.006+05:30</published><updated>2009-11-26T14:13:24.384+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Adobe Flash'/><category scheme='http://www.blogger.com/atom/ns#' term='action script'/><category scheme='http://www.blogger.com/atom/ns#' term='Adobe AIR'/><category scheme='http://www.blogger.com/atom/ns#' term='Adobe Flex'/><title type='text'>Reducing CPU usage in Adobe AIR</title><content type='html'>&lt;span style="color: #333333; font-family: Georgia, 'Times New Roman', Times, serif; font-size: 15px; line-height: 15px;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div id="article_title" style="line-height: 1.6em;"&gt;&lt;h1 style="background-color: white; background-image: none; border-bottom-color: initial; border-bottom-style: initial; border-bottom-width: 0px; color: #111111; font-family: Georgia, 'Times New Roman', Times, serif; font-size: 1.75em; font-weight: normal; height: auto; line-height: 1.4em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: -7px; padding-bottom: 0.5em; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Reducing CPU usage in Adobe AIR&lt;/h1&gt;&lt;/div&gt;&lt;div style="font-size: 1.083em; line-height: 1.6em; margin-bottom: 1.2em; margin-top: 0px; padding-bottom: 1px;"&gt;Let's be honest. AIR gets a bad rap for being a bloated runtime, using up a lot of precious memory and CPU. Although a lot of AIR applications seem to fall into this trap, it doesn't have to be this way. There are a number of techniques you can use to develop a lightweight application that rivals native programs in terms of performance.&lt;br /&gt;&lt;/div&gt;&lt;div style="font-size: 1.083em; line-height: 1.6em; margin-bottom: 1.2em; margin-top: 0px; padding-bottom: 1px;"&gt;One simple and easy way to drastically reduce CPU usage is through framerate throttling. In this article, I will explain what framerate throttling is and how best to implement it in your application.&lt;br /&gt;&lt;/div&gt;&lt;div class="note" style="color: #888888; font-size: 1.083em; line-height: 1.6em; margin-bottom: 1.2em; margin-top: 0px; padding-bottom: 1px;"&gt;&lt;strong style="line-height: 1.6em;"&gt;Note:&lt;/strong&gt;&amp;nbsp;To make the most of this article, you should have general knowledge of ActionScript and AIR application development.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;h3 style="border-bottom-color: rgb(189, 189, 189); border-bottom-style: solid; border-bottom-width: 1px; border-top-color: rgb(189, 189, 189); border-top-style: solid; border-top-width: 1px; font-size: 0.917em; line-height: 1.6em; margin-bottom: 1em; margin-left: -8px; margin-right: -8px; margin-top: 2em; padding-bottom: 0.15em; padding-left: 8px; padding-right: 8px; padding-top: 0.15em; text-transform: uppercase;"&gt;WHAT IS FRAMERATE THROTTLING?&lt;/h3&gt;&lt;div style="font-size: 1.083em; line-height: 1.6em; margin-bottom: 1.2em; margin-top: 0px; padding-bottom: 1px;"&gt;Framerate throttling is the technique of controlling an application's framerate to increase performance when in use and reduce resource usage when idle. As of ActionScript 3, developers have an extremely useful property in their possession—&lt;code style="background-color: #e6f0fa; color: black; font-family: 'Courier New', Courier, monospace; font-size: 1.1em !important; font-weight: inherit; line-height: 1.6em;"&gt;Stage.frameRate&lt;/code&gt;. This gem lets you change the framerate on the fly. In previous versions of ActionScript, we were stuck with what we set it to in the IDE. Thankfully, times have changed and there's no longer an excuse for processor-heavy applications lingering in the background.&lt;br /&gt;&lt;/div&gt;&lt;h3 style="border-bottom-color: rgb(189, 189, 189); border-bottom-style: solid; border-bottom-width: 1px; border-top-color: rgb(189, 189, 189); border-top-style: solid; border-top-width: 1px; font-size: 0.917em; line-height: 1.6em; margin-bottom: 1em; margin-left: -8px; margin-right: -8px; margin-top: 2em; padding-bottom: 0.15em; padding-left: 8px; padding-right: 8px; padding-top: 0.15em; text-transform: uppercase;"&gt;HOW DO YOU IMPLEMENT FRAMERATE THROTTLING?&lt;/h3&gt;&lt;div style="font-size: 1.083em; line-height: 1.6em; margin-bottom: 1.2em; margin-top: 0px; padding-bottom: 1px;"&gt;Since framerate throttling is essentially a matter of setting the&amp;nbsp;&lt;code style="background-color: #e6f0fa; color: black; font-family: 'Courier New', Courier, monospace; font-size: 1.1em !important; font-weight: inherit; line-height: 1.6em;"&gt;Stage.frameRate&lt;/code&gt;&amp;nbsp;property to a lower or higher value, it's up to the developer to decide how involved or advanced it will be. It also depends on the application itself—some allow for more integration than others.&lt;br /&gt;&lt;/div&gt;&lt;div class="note" style="color: #888888; font-size: 1.083em; line-height: 1.6em; margin-bottom: 1.2em; margin-top: 0px; padding-bottom: 1px;"&gt;&lt;strong style="line-height: 1.6em;"&gt;Note:&lt;/strong&gt;&amp;nbsp;The performance results in the following examples are done on a Macbook Pro 2.8 GHz Intel Core 2 Duo. Since CPU usage is in terms of percent, results will vary from computer to computer.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;script type="text/javascript"&gt;&lt;!--google_ad_client = "pub-9876411734814061";/* 728x90, created 11/20/09 */google_ad_slot = "6258367419";google_ad_width = 728;google_ad_height = 18;//--&gt;&lt;/script&gt;&lt;br /&gt;&lt;script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;&lt;h4 style="color: #111111; font-size: 1.083em; line-height: 1.6em; margin-bottom: 0px; margin-top: 0px;"&gt;Novice&lt;/h4&gt;&lt;div style="font-size: 1.083em; line-height: 1.6em; margin-bottom: 1.2em; margin-top: 0px; padding-bottom: 1px;"&gt;The rawest form of throttling is by using the NativeApplication&amp;nbsp;&lt;code style="background-color: #e6f0fa; color: black; font-family: 'Courier New', Courier, monospace; font-size: 1.1em !important; font-weight: inherit; line-height: 1.6em;"&gt;Event.ACTIVATE&lt;/code&gt;&amp;nbsp;and&lt;code style="background-color: #e6f0fa; color: black; font-family: 'Courier New', Courier, monospace; font-size: 1.1em !important; font-weight: inherit; line-height: 1.6em;"&gt;Event.DEACTIVATE&lt;/code&gt;&amp;nbsp;events—increase the framerate when active, decrease it when inactive. With a single blank window, this results in 1.8% CPU usage when active and .4% when inactive. You can actually set the framerate to .01 on deactivate for .2% usage, but in testing I discovered the window chrome never loses focus.&lt;br /&gt;&lt;/div&gt;&lt;pre style="background-color: #f0f6fc; border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; color: black; display: block; font-family: 'Courier New', Courier, monospace; font-size: 1.1em !important; font-weight: inherit; line-height: 1.6em; margin-bottom: 1em; margin-left: 0px; margin-right: 0px; margin-top: 1em; overflow-x: auto; overflow-y: auto; padding-bottom: 1.5em; padding-left: 1.5ex; padding-right: 1.5ex; padding-top: 1em; white-space: pre;"&gt;package {&lt;br /&gt;   import flash.desktop.NativeApplication;&lt;br /&gt;   import flash.display.Sprite;&lt;br /&gt;   import flash.events.Event;&lt;br /&gt; &lt;br /&gt;   public class Application extends Sprite {&lt;br /&gt;      public function Application () {&lt;br /&gt;         __init ();&lt;br /&gt;      }&lt;br /&gt;      &lt;br /&gt;      private function __init ():void {&lt;br /&gt;         NativeApplication.nativeApplication.addEventListener&lt;br /&gt;           (Event.ACTIVATE, __activate__);&lt;br /&gt;         NativeApplication.nativeApplication.addEventListener&lt;br /&gt;           (Event.DEACTIVATE, __deactivate__);&lt;br /&gt;      }&lt;br /&gt;      &lt;br /&gt;      private function __activate__&lt;br /&gt;         ($event:Event):void {&lt;br /&gt;         stage.frameRate = 50;&lt;br /&gt;      }&lt;br /&gt;      private function __deactivate__ ($event:Event):void {&lt;br /&gt;         stage.frameRate = 1;&lt;br /&gt;      }&lt;br /&gt;   }&lt;br /&gt;}&lt;/pre&gt;&lt;h4 style="color: #111111; font-size: 1.083em; line-height: 1.6em; margin-bottom: 0px; margin-top: 0px;"&gt;Intermediate&lt;/h4&gt;&lt;div style="font-size: 1.083em; line-height: 1.6em; margin-bottom: 1.2em; margin-top: 0px; padding-bottom: 1px;"&gt;Certain applications allow more advanced framerate throttling—for example, an application that still needs a level of interaction, even when in the background. Let's say your application has scrollable content to reference and since AIR allows mouse wheel scrolling while in a different application, you need a higher framerate at that time.&lt;br /&gt;&lt;/div&gt;&lt;div style="font-size: 1.083em; line-height: 1.6em; margin-bottom: 1.2em; margin-top: 0px; padding-bottom: 1px;"&gt;In this example, if the application is in the background, but the mouse wheel is scrolling, the&lt;code style="background-color: #e6f0fa; color: black; font-family: 'Courier New', Courier, monospace; font-size: 1.1em !important; font-weight: inherit; line-height: 1.6em;"&gt;MouseEvent.MOUSE_WHEEL&lt;/code&gt;&amp;nbsp;handler increases the framerate and sets up an&lt;code style="background-color: #e6f0fa; color: black; font-family: 'Courier New', Courier, monospace; font-size: 1.1em !important; font-weight: inherit; line-height: 1.6em;"&gt;Event.ENTER_FRAME&lt;/code&gt;&amp;nbsp;event that will reduce the framerate half a second after scrolling. In cases like these, it's best to have a buffer in place, so you won't change the framerate with every scroll, but also because there's no event for when the mouse wheel is idle.&lt;br /&gt;&lt;/div&gt;&lt;pre style="background-color: #f0f6fc; border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; color: black; display: block; font-family: 'Courier New', Courier, monospace; font-size: 1.1em !important; font-weight: inherit; line-height: 1.6em; margin-bottom: 1em; margin-left: 0px; margin-right: 0px; margin-top: 1em; overflow-x: auto; overflow-y: auto; padding-bottom: 1.5em; padding-left: 1.5ex; padding-right: 1.5ex; padding-top: 1em; white-space: pre;"&gt;package {&lt;br /&gt;   import flash.desktop.NativeApplication;&lt;br /&gt;   import flash.display.Sprite;&lt;br /&gt;   import flash.events.Event;&lt;br /&gt;   import flash.events.MouseEvent;&lt;br /&gt;   import flash.utils.getTimer;&lt;br /&gt; &lt;br /&gt;   public class Application extends Sprite {&lt;br /&gt;      public static const ACTIVE:int = 50;&lt;br /&gt;      public static const INACTIVE:int = 1;&lt;br /&gt; &lt;br /&gt;      public var active:Boolean;&lt;br /&gt;      public var scrolling:Boolean;&lt;br /&gt;      public var buffer:int;&lt;br /&gt;      &lt;br /&gt;      public function Application () {&lt;br /&gt;         __init ();&lt;br /&gt;      }&lt;br /&gt;      &lt;br /&gt;      private function __init ():void {&lt;br /&gt;        NativeApplication.nativeApplication.addEventListener&lt;br /&gt;        (Event.ACTIVATE, __activate__);&lt;br /&gt;        NativeApplication.nativeApplication.addEventListener&lt;br /&gt;        (Event.DEACTIVATE, __deactivate__);&lt;br /&gt;        stage.addEventListener &lt;br /&gt;        (MouseEvent.MOUSE_WHEEL, __mouseWheel__);&lt;br /&gt;      }&lt;br /&gt;      &lt;br /&gt;      private function __activate__ ($event:Event):void {&lt;br /&gt;         active = true;&lt;br /&gt;         stage.frameRate = ACTIVE;&lt;br /&gt;      }&lt;br /&gt;      private function __deactivate__ ($event:Event):void {&lt;br /&gt;         active = false;&lt;br /&gt;         stage.frameRate = INACTIVE;&lt;br /&gt;      }&lt;br /&gt;      private function __mouseWheel__ ($event:MouseEvent):void {&lt;br /&gt;         if (!active) {&lt;br /&gt;           if (!scrolling) {&lt;br /&gt;              stage.addEventListener &lt;br /&gt;                (Event.ENTER_FRAME, __enterframe__);&lt;br /&gt;           }&lt;br /&gt;           stage.frameRate = ACTIVE;&lt;br /&gt;           scrolling = true;&lt;br /&gt;           buffer = getTimer () + 500;&lt;br /&gt;         }&lt;br /&gt;      }&lt;br /&gt;      private function __enterframe__&lt;br /&gt;         ($event:Event):void {&lt;br /&gt;         if (buffer &amp;lt; getTimer ()) {&lt;br /&gt;           stage.frameRate = INACTIVE;&lt;br /&gt;           scrolling = false;&lt;br /&gt;           stage.removeEventListener&lt;br /&gt;            (Event.ENTER_FRAME, __enterframe__);&lt;br /&gt;         }&lt;br /&gt;      }&lt;br /&gt;   }&lt;br /&gt;}&lt;/pre&gt;&lt;h4 style="color: #111111; font-size: 1.083em; line-height: 1.6em; margin-bottom: 0px; margin-top: 0px;"&gt;Expert&lt;/h4&gt;&lt;div style="font-size: 1.083em; line-height: 1.6em; margin-bottom: 1.2em; margin-top: 0px; padding-bottom: 1px;"&gt;If performance optimization is what you live for, you can impress your friends with some intricate framerate throttling. (Note: This won't impress girlfriends.)&lt;br /&gt;&lt;/div&gt;&lt;div style="font-size: 1.083em; line-height: 1.6em; margin-bottom: 1.2em; margin-top: 0px; padding-bottom: 1px;"&gt;In my applications, I like to have transitions from one state to the next for both a smoother environment and a better feel. Because of this, I like to use a high framerate (50). Unfortunately, the higher the framerate, the higher the CPU usage. Therefore, I set the framerate to 50&amp;nbsp;&lt;em style="line-height: 1.6em;"&gt;only&lt;/em&gt;&amp;nbsp;when a tween is active. When one isn't, I reduce the framerate to 24. On top of that, there are instances when a loader is animating while the application is in the background. A loader doesn't need 50 fps, so I'll set the framerate to 5 when the application is visible in the background and 1 when not visible.&lt;br /&gt;&lt;/div&gt;&lt;div class="note" style="color: #888888; font-size: 1.083em; line-height: 1.6em; margin-bottom: 1.2em; margin-top: 0px; padding-bottom: 1px;"&gt;&lt;strong style="line-height: 1.6em;"&gt;Note:&lt;/strong&gt;&amp;nbsp;For this example, I'm using an&amp;nbsp;&lt;code style="background-color: #e6f0fa; color: black; font-family: 'Courier New', Courier, monospace; font-size: 1.1em !important; font-weight: inherit; line-height: 1.6em;"&gt;animate()&lt;/code&gt;&amp;nbsp;method to call at the beginning of each tween. Ideally, you would want to build the framerate throttler into your tweening engine, so you wouldn't need to call&amp;nbsp;&lt;code style="background-color: #e6f0fa; color: black; font-family: 'Courier New', Courier, monospace; font-size: 1.1em !important; font-weight: inherit; line-height: 1.6em;"&gt;animate()&lt;/code&gt;&amp;nbsp;manually.&lt;br /&gt;&lt;/div&gt;&lt;pre style="background-color: #f0f6fc; border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; color: black; display: block; font-family: 'Courier New', Courier, monospace; font-size: 1.1em !important; font-weight: inherit; line-height: 1.6em; margin-bottom: 1em; margin-left: 0px; margin-right: 0px; margin-top: 1em; overflow-x: auto; overflow-y: auto; padding-bottom: 1.5em; padding-left: 1.5ex; padding-right: 1.5ex; padding-top: 1em; white-space: pre;"&gt;package {&lt;br /&gt;   import flash.desktop.NativeApplication;&lt;br /&gt;   import flash.display.Sprite;&lt;br /&gt;   import flash.events.Event;&lt;br /&gt;   import flash.utils.getTimer;&lt;br /&gt; &lt;br /&gt;   public class Application extends Sprite {&lt;br /&gt;      public static const ANIMATING:int = 50;&lt;br /&gt;      public static const ACTIVE:int = 24;&lt;br /&gt;      public static const INACTIVE_VISIBLE:int = 5;&lt;br /&gt;      public static const INACTIVE_INVISIBLE:int = 1;&lt;br /&gt;      &lt;br /&gt;      public var active:Boolean;&lt;br /&gt;      public var animating:Boolean;&lt;br /&gt;      public var buffer:int;&lt;br /&gt;      &lt;br /&gt;      public function Application () {&lt;br /&gt;         __init ();&lt;br /&gt;      }&lt;br /&gt;      &lt;br /&gt;      private function __init ():void {&lt;br /&gt;        NativeApplication.nativeApplication.addEventListener&lt;br /&gt;        (Event.ACTIVATE, __activate__);&lt;br /&gt;        NativeApplication.nativeApplication.addEventListener &lt;br /&gt;        (Event.DEACTIVATE, __deactivate__);&lt;br /&gt;      }&lt;br /&gt;      &lt;br /&gt;      public function activate ():void {&lt;br /&gt;         if (!animating) {&lt;br /&gt;           stage.frameRate = ACTIVE;&lt;br /&gt;         }&lt;br /&gt;      }&lt;br /&gt;      public function deactivate ():void {&lt;br /&gt;         if (!animating) {&lt;br /&gt;           stage.frameRate = (stage.nativeWindow.visible) ? &lt;br /&gt;              INACTIVE_VISIBLE : INACTIVE_INVISIBLE;&lt;br /&gt;         }&lt;br /&gt;      }&lt;br /&gt;      public function animate ($duration:int = 1000):void {&lt;br /&gt;         stage.frameRate = 50;&lt;br /&gt;         buffer = getTimer () + $duration;&lt;br /&gt;         animating = true;&lt;br /&gt;         &lt;br /&gt;         if (!animating) {&lt;br /&gt;           stage.addEventListener (Event.ENTER_FRAME, __checkBuffer__);&lt;br /&gt;         }&lt;br /&gt;      }&lt;br /&gt;      &lt;br /&gt;      private function __activate__ ($event:Event):void {&lt;br /&gt;         active = true;&lt;br /&gt;         activate ();&lt;br /&gt;      }&lt;br /&gt;      private function __deactivate__ ($event:Event):void {&lt;br /&gt;         active = false;&lt;br /&gt;         deactivate ();&lt;br /&gt;      }&lt;br /&gt;      private function __checkBuffer__ ($event:Event):void {&lt;br /&gt;         if (buffer &amp;lt; getTimer ()) {&lt;br /&gt;           stage.removeEventListener&lt;br /&gt;           (Event.ENTER_FRAME, __checkBuffer__);&lt;br /&gt;           animating = false;&lt;br /&gt;           if (active) {&lt;br /&gt;             activate ();&lt;br /&gt;           } else {&lt;br /&gt;             deactivate ();&lt;br /&gt;           }&lt;br /&gt;         }&lt;br /&gt;      }&lt;br /&gt;   }&lt;br /&gt;}&lt;/pre&gt;&lt;div style="font-size: 1.083em; line-height: 1.6em; margin-bottom: 1.2em; margin-top: 0px; padding-bottom: 1px;"&gt;Framerate throttling is a small chapter in the optimization of your AIR application's performance. It's a basic way to get your foot in the door and in the mindset of keeping resource usage low. This mentality and practice can easily lead to more responsive applications that enhance the user's experience while leaving a light footprint. Let's face it—no one likes bloatware.&lt;br /&gt;&lt;/div&gt;&lt;h3 id="bio" style="background-color: transparent; border-bottom-color: rgb(189, 189, 189); border-bottom-style: solid; border-bottom-width: 1px; border-top-color: rgb(189, 189, 189); border-top-style: solid; border-top-width: 1px; font-size: 0.917em; line-height: 1.6em; margin-bottom: 1em; margin-left: -8px; margin-right: -8px; margin-top: 2em; padding-bottom: 0.15em; padding-left: 8px; padding-right: 8px; padding-top: 0.15em; text-transform: uppercase;"&gt;&lt;script type="text/javascript"&gt;&lt;!--google_ad_client = "pub-9876411734814061";/* 728x90, created 11/20/09 */google_ad_slot = "6258367419";google_ad_width = 728;google_ad_height = 18;//--&gt;&lt;/script&gt;&lt;br /&gt;&lt;script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"&gt;&lt;/script&gt;&lt;/h3&gt;&lt;div class="bio" style="line-height: 1.6em;"&gt;&lt;address style="border-bottom-style: hidden; display: block; font-style: normal; line-height: 1.6em; margin-bottom: 1.5em; width: auto;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="font-size: 1.083em; line-height: 1.6em; margin-bottom: 1.2em; margin-top: 0px; padding-bottom: 1px;"&gt;&lt;span style="font-size: medium;"&gt;&lt;span style="font-size: 16px; line-height: 26px;"&gt;&lt;span style="font-size: large;"&gt;&lt;span style="font-size: 17px; line-height: 27px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/address&gt;&lt;/div&gt;&lt;div id="comCount" style="display: block; line-height: 1.6em;"&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2157740160912403437-8638840517676961017?l=thulasiram-soft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thulasiram-soft.blogspot.com/feeds/8638840517676961017/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thulasiram-soft.blogspot.com/2009/10/reducing-cpu-usage-in-adobe-air.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2157740160912403437/posts/default/8638840517676961017'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2157740160912403437/posts/default/8638840517676961017'/><link rel='alternate' type='text/html' href='http://thulasiram-soft.blogspot.com/2009/10/reducing-cpu-usage-in-adobe-air.html' title='Reducing CPU usage in Adobe AIR'/><author><name>Thulasiram</name><uri>http://www.blogger.com/profile/16015182526583065651</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2157740160912403437.post-6933323423930687405</id><published>2009-09-04T00:53:00.009+05:30</published><updated>2009-11-30T12:48:00.094+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Adobe Frameworks'/><title type='text'>Adobe Flex Frameworks</title><content type='html'>&lt;div align="center" class="MsoNormal" style="text-align: center;"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;u&gt;&lt;span style="font-size: 14pt; line-height: 115%;"&gt;Adobe Flex Frameworks&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;span style="font-size: 12pt; line-height: 115%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-size: 12pt; line-height: 115%;"&gt;Frameworks and APIs&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-size: 12pt; line-height: 115%;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; The Flash Platform, specific to the Flex ecosystem, encompasses a multitude of APIs and frameworks.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-size: 14pt; line-height: 115%;"&gt;Flash Player APIs&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-size: 12pt; line-height: 115%;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; The Flash Player APIs are considered to be the base frameworks necessary to compile an Action Script 3.0 application and include the core Action Script 3.0 classes and functionality built into the VM, and the playerglobal.swc class library, which is required by both the Flash and the Flex compiler. &lt;br /&gt;&lt;br /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-size: 14pt; line-height: 115%;"&gt;Flex Framework&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-size: 12pt; line-height: 115%;"&gt;The Flex frameworks is a composite of the core visual components, enhancements to the event flow, metadata tags for compiler declarations, and utility and communications classes. It is also composed of several “sub frameworks” or APIs offering specialized functionality they are…&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpFirst" style="mso-list: l2 level1 lfo1; text-indent: -.25in;"&gt;&lt;span style="font-family: Wingdings; font-size: 12pt; line-height: 115%;"&gt;Ø&lt;span style="font: normal normal normal 7pt/normal 'Times New Roman';"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-size: 12pt; line-height: 115%;"&gt;Flex charting and data visualization components&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 12pt; line-height: 115%;"&gt; – Although not a part of the open-source Flex SDK, the charting components are licensed with Flex Builder and are considered to be a part of the Flex Framework.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="mso-list: l2 level1 lfo1; text-indent: -.25in;"&gt;&lt;span style="font-family: Wingdings; font-size: 12pt; line-height: 115%;"&gt;Ø&lt;span style="font: normal normal normal 7pt/normal 'Times New Roman';"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-size: 12pt; line-height: 115%;"&gt;Deep linking framework – &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 12pt; line-height: 115%;"&gt;This enables enhanced state-integration functionality in the browser.&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="mso-list: l2 level1 lfo1; text-indent: -.25in;"&gt;&lt;span style="font-family: Wingdings; font-size: 12pt; line-height: 115%;"&gt;Ø&lt;span style="font: normal normal normal 7pt/normal 'Times New Roman';"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-size: 12pt; line-height: 115%;"&gt;Logging framework – &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 12pt; line-height: 115%;"&gt;This allows an application to capture and log messages to text components, class objects, or text files, functioning like an enhanced trace() method.&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="mso-list: l2 level1 lfo1; text-indent: -.25in;"&gt;&lt;span style="font-family: Wingdings; font-size: 12pt; line-height: 115%;"&gt;Ø&lt;span style="font: normal normal normal 7pt/normal 'Times New Roman';"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-size: 12pt; line-height: 115%;"&gt;Automation framework – &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 12pt; line-height: 115%;"&gt;This allows for automated testing, gathering metrics on application performance and multiple client application synchronization and browsing.&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpLast" style="mso-list: l2 level1 lfo1; text-indent: -.25in;"&gt;&lt;span style="font-family: Wingdings; font-size: 12pt; line-height: 115%;"&gt;Ø&lt;span style="font: normal normal normal 7pt/normal 'Times New Roman';"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-size: 12pt; line-height: 115%;"&gt;Messaging API – &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 12pt; line-height: 115%;"&gt;These classes are used to communicate with BlazeDS data services.&lt;br /&gt;&lt;br /&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;b&gt;&lt;span style="line-height: 115%;"&gt;&lt;span style="font-size: x-large;"&gt;The AIR APIs&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-size: 12pt; line-height: 115%;"&gt;Adobe AIR consists of two main APIs&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpFirst" style="mso-list: l0 level1 lfo2; text-indent: -.25in;"&gt;&lt;span style="font-family: Wingdings;"&gt;Ø&lt;span style="font: normal normal normal 7pt/normal 'Times New Roman';"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;The Flash AIR API, which extends the core Flash Player APIs enabling AIR applications to be authored in Flash CS4&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpLast" style="mso-list: l0 level1 lfo2; text-indent: -.25in;"&gt;&lt;span style="font-family: Wingdings;"&gt;Ø&lt;span style="font: normal normal normal 7pt/normal 'Times New Roman';"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;The Flex AIR API, which is a part of the Flex Framework, available for Flex AIR application compilation.&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;b&gt;&lt;span style="line-height: 115%;"&gt;&lt;span style="font-size: x-large;"&gt;Other Adobe Frameworks&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Other Adobe frameworks that can assist in the development of Flex or AIR applications include the following:&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpFirst" style="mso-list: l1 level1 lfo3; text-indent: -.25in;"&gt;&lt;span style="font-family: Wingdings;"&gt;Ø&lt;span style="font: normal normal normal 7pt/normal 'Times New Roman';"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;As3corelib &lt;/b&gt;is an action script 3.0 library that contains a number of helper classes and utilities for working with MD5 and SHA 1 hashing, image encoding, and JSON serialization, as well as extensions to the String, Number and Date APIs. &lt;a href="http://code.google.com/p/as3corelib/"&gt;http://code.google.com/p/as3corelib/&lt;/a&gt; for more information.&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="mso-list: l1 level1 lfo3; text-indent: -.25in;"&gt;&lt;span style="font-family: Wingdings;"&gt;Ø&lt;span style="font: normal normal normal 7pt/normal 'Times New Roman';"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;Cairngorm &lt;/b&gt;is an architectural framework or “micro-architecture,” composed of several recognizable J2EE design patterns, that encourages best practices in Flex application development, as endorsed by Adobe Consulting. Cairngorm is considered to be a standard for coding enterprise level architectures in Flex &lt;a href="http://opensource.adobe.com/wiki/display/cairngorm/Cairngorm"&gt;http://opensource.adobe.com/wiki/display/cairngorm/Cairngorm&lt;/a&gt; for more information.&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="mso-list: l1 level1 lfo3; text-indent: -.25in;"&gt;&lt;span style="font-family: Wingdings;"&gt;Ø&lt;span style="font: normal normal normal 7pt/normal 'Times New Roman';"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;Flex Unit &lt;/b&gt;is a unit-testing framework for Flex and action script 3.0 applications and libraries. It mimics the functionality of JUint, a Java unit0testing framework, and comes with a graphical test runner, &lt;a href="http://opensource.adobe.com/wiki/display/flexunit/FlexUniti"&gt;http://opensource.adobe.com/wiki/display/flexunit/FlexUniti&lt;/a&gt; for more information.&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="mso-list: l1 level1 lfo3; text-indent: -.25in;"&gt;&lt;span style="font-family: Wingdings;"&gt;Ø&lt;span style="font: normal normal normal 7pt/normal 'Times New Roman';"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;Adobe AIR Update Framework &lt;/b&gt;is a collection of best practices and APIs that assist in the development of AIR application auto update functionality, which includes checking for downloadable updates to the AIR application, alerting the user of a newer version of the application, and displaying information about the application version and the opt-in choices for updating the application &lt;a href="http://labs.adobe.com/wiki/index.php/Adobe_AIR_Update_Framework"&gt;http://labs.adobe.com/wiki/index.php/Adobe_AIR_Update_Framework&lt;/a&gt; for more information.&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="mso-list: l1 level1 lfo3; text-indent: -.25in;"&gt;&lt;span style="font-family: Wingdings;"&gt;Ø&lt;span style="font: normal normal normal 7pt/normal 'Times New Roman';"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;Adobe Spry Framework, &lt;/b&gt;although slightly outside of the scope of the Flex ecosystem, is an AJAX framework noteworthy for its use in AJAX AIR applications &lt;a href="http://labs.adboe.com/technologies/spry/home.html"&gt;http://labs.adboe.com/technologies/spry/home.html&lt;/a&gt; for more information.&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpLast" style="mso-list: l1 level1 lfo3; text-indent: -.25in;"&gt;&lt;span style="font-family: Wingdings;"&gt;Ø&lt;span style="font: normal normal normal 7pt/normal 'Times New Roman';"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;Adobe Data Services Stress-Testing Framework &lt;/b&gt;helps developers using Live Cycle Data Services ES 2.6 load test the server-side implementation of their LCDS applications. This framework is not currently compatible with BlazeDS, although BlazeDS support is planned for future versions of the tool. &lt;a href="http://labs.adobe.com/wiki/index.php/Flex_Stress_Testing_Framework"&gt;http://labs.adobe.com/wiki/index.php/Flex_Stress_Testing_Framework&lt;/a&gt; for information.&lt;br /&gt;&lt;br /&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: .25in;"&gt;&lt;b&gt;&lt;span style="line-height: 115%;"&gt;&lt;span style="font-size: x-large;"&gt;Third-Party Frameworks and Components&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: .25in;"&gt;Popular third-party components and frameworks for Flex include:&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpFirst" style="margin-left: .75in; mso-add-space: auto; mso-list: l3 level1 lfo4; text-indent: -.25in;"&gt;&lt;span style="font-family: Wingdings;"&gt;Ø&lt;span style="font: normal normal normal 7pt/normal 'Times New Roman';"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;ILOG Elixir &lt;/b&gt;is a set of advanced data visualization components. Built in partnership with Adobe, ILOG offers high-performance visualization components with unique with rich UI for Adobe Flex applications. See &lt;a href="http://www.ilog.com/products/ilogelixir"&gt;www.ilog.com/products/ilogelixir&lt;/a&gt; for more information.&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: .75in; mso-add-space: auto; mso-list: l3 level1 lfo4; text-indent: -.25in;"&gt;&lt;span style="font-family: Wingdings;"&gt;Ø&lt;span style="font: normal normal normal 7pt/normal 'Times New Roman';"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;Zend PHP Framework &lt;/b&gt;brings together the flexibility and enterprise reliability of the Zend PHP platform with the advantages of Adobe technologies such as an AMF implementation for PHP. This is the result of collaboration between Adobe and Zend to add Adobe technologies to the open-source Zend Framework Project. See &lt;a href="http://framework.zend.com/"&gt;http://framework.zend.com&lt;/a&gt; for more information.&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: .75in; mso-add-space: auto; mso-list: l3 level1 lfo4; text-indent: -.25in;"&gt;&lt;span style="font-family: Wingdings;"&gt;Ø&lt;span style="font: normal normal normal 7pt/normal 'Times New Roman';"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;FlexLib &lt;/b&gt;is an impressive open-source community effort to create additional UI components for Flex 2 and 3. Adobe has contributed a few components and libraries, such as the Flex Scheduling Components, to FlexLib. See &lt;a href="http://code.google.com/p/flexlib"&gt;http://code.google.com/p/flexlib&lt;/a&gt; for more information.&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: .75in; mso-add-space: auto; mso-list: l3 level1 lfo4; text-indent: -.25in;"&gt;&lt;span style="font-family: Wingdings;"&gt;Ø&lt;span style="font: normal normal normal 7pt/normal 'Times New Roman';"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;OpenFlux &lt;/b&gt;is an open-source component framework for Flex that offers a radically different way of building components in Flex. Inspired by the upcoming Flex 5 beta (“Gumbo”) specification, OpenFlux is a component framew0ork that uses intrinsic view and controller properties to control each component’s display and behavior, respectively. This offers a very flexible MVC approach each component’s display and behavior, respectively. This offers a very flexible MVC approach to component usage for Flex3 applications. See &lt;a href="http://code.google.com/p/openflux"&gt;http://code.google.com/p/openflux&lt;/a&gt; for more information.&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: .75in; mso-add-space: auto; mso-list: l3 level1 lfo4; text-indent: -.25in;"&gt;&lt;span style="font-family: Wingdings;"&gt;Ø&lt;span style="font: normal normal normal 7pt/normal 'Times New Roman';"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;Other architectural frameworks &lt;/b&gt;include the EasyMVC framework (&lt;a href="http://projects.simb.net/easyMVC"&gt;http://projects.simb.net/easyMVC&lt;/a&gt;), the PureMVC framework(&lt;a href="http://puremvc.org/"&gt;http://puremvc.org&lt;/a&gt;), the Mate framework (&lt;a href="http://mate.asfusion.com/"&gt;http://mate.asfusion.com&lt;/a&gt;), and the swiz framework (&lt;a href="http://code.google.com/p/swizframework"&gt;http://code.google.com/p/swizframework&lt;/a&gt; ), to name but a few.&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: .75in; mso-add-space: auto; mso-list: l3 level1 lfo4; text-indent: -.25in;"&gt;&lt;span style="font-family: Wingdings;"&gt;Ø&lt;span style="font: normal normal normal 7pt/normal 'Times New Roman';"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;Papervision3D &lt;/b&gt;(&lt;a href="http://www.papervison3d.org/"&gt;www.papervison3d.org&lt;/a&gt;) is an impressive 3D rendering framework for Action Script 3.0 and is considered the gold standard of 3D frameworks in Flash; it is popular Away 3D (&lt;a href="http://away3d.com/"&gt;http://away3d.com&lt;/a&gt;), Sandy (&lt;a href="http://www.flashsandy.org/"&gt;www.flashsandy.org&lt;/a&gt;), and Alternative3D (&lt;a href="http://alternativaplatform.com/en/alternativa3d"&gt;http://alternativaplatform.com/en/alternativa3d&lt;/a&gt;).&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpLast" style="margin-left: .75in; mso-add-space: auto; mso-list: l3 level1 lfo4; text-indent: -.25in;"&gt;&lt;span style="font-family: Wingdings;"&gt;Ø&lt;span style="font: normal normal normal 7pt/normal 'Times New Roman';"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;Degrafa,&lt;/b&gt; which stands for Declarative Graphics Framework, is an open source initiative that enables Flex developers to create shapes with the Flash Drawing API in MXML using an intuitive XML-based declarative markup similar to the SVG format. Seewww.degrafa.com for more information.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, arial, sans-serif; font-size: 11px; line-height: 16px;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;table border="0" cellpadding="5" cellspacing="0" class="sectionMacro" style="color: black; font-family: Verdana, arial, sans-serif; font-size: 11px; font-weight: normal; line-height: 16px; margin-top: 3px;"&gt;&lt;tbody&gt;&lt;tr style="color: black; font-family: Verdana, arial, sans-serif; font-size: 11px; font-weight: normal; line-height: 16px;"&gt;&lt;td class="confluenceTd" style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: none; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: none; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: none; border-right-width: 1px; border-top-color: rgb(204, 204, 204); border-top-style: none; border-top-width: 1px; border-width: initial; color: black; font-family: Verdana, arial, sans-serif; font-size: 11px; font-weight: normal; line-height: 16px; padding-bottom: 3px; padding-left: 4px; padding-right: 4px; padding-top: 3px; vertical-align: top;" valign="top" width="20%"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/td&gt;&lt;td class="confluenceTd" style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: none; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: none; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: none; border-right-width: 1px; border-top-color: rgb(204, 204, 204); border-top-style: none; border-top-width: 1px; border-width: initial; color: black; font-family: Verdana, arial, sans-serif; font-size: 11px; font-weight: normal; line-height: 16px; padding-bottom: 3px; padding-left: 4px; padding-right: 4px; padding-top: 3px; vertical-align: top;" valign="top" width="80%"&gt;&lt;h2 style="background-color: transparent; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: initial; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 20px; font-weight: bold; line-height: normal; margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Links to Frameworks&lt;/h2&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;BlazeDS, in the&amp;nbsp;&lt;tt&gt;&lt;a href="http://opensource.adobe.com/svn/opensource/blazeds" style="color: #274dac; text-decoration: none;" target="_blank"&gt;/blazeds&lt;sup&gt;&lt;img align="absmiddle" alt="" border="0" class="rendericon" height="9" src="http://opensource.adobe.com/images/icons/openwin_icon.gif" width="11" /&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/tt&gt;&amp;nbsp;directory&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Cairngorm, in the&amp;nbsp;&lt;tt&gt;&lt;a href="http://opensource.adobe.com/svn/opensource/cairngorm" style="color: #274dac; text-decoration: none;" target="_blank"&gt;/cairngorm&lt;sup&gt;&lt;img align="absmiddle" alt="" border="0" class="rendericon" height="9" src="http://opensource.adobe.com/images/icons/openwin_icon.gif" width="11" /&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/tt&gt;&amp;nbsp;directory&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Durango, in the&amp;nbsp;&lt;tt&gt;&lt;a href="http://opensource.adobe.com/svn/opensource/durango" style="color: #274dac; text-decoration: none;" target="_blank"&gt;/durango&lt;sup&gt;&lt;img align="absmiddle" alt="" border="0" class="rendericon" height="9" src="http://opensource.adobe.com/images/icons/openwin_icon.gif" width="11" /&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/tt&gt;&amp;nbsp;directory&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Flex SDK, in the&amp;nbsp;&lt;tt&gt;&lt;a href="http://opensource.adobe.com/svn/opensource/flex/sdk" style="color: #274dac; text-decoration: none;" target="_blank"&gt;/flex/sdk&lt;sup&gt;&lt;img align="absmiddle" alt="" border="0" class="rendericon" height="9" src="http://opensource.adobe.com/images/icons/openwin_icon.gif" width="11" /&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/tt&gt;&amp;nbsp;directory&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;FlexPMD, in the&amp;nbsp;&lt;tt&gt;&lt;a href="http://opensource.adobe.com/svn/opensource/flexpmd" style="color: #274dac; text-decoration: none;" target="_blank"&gt;/flexpmd&lt;sup&gt;&lt;img align="absmiddle" alt="" border="0" class="rendericon" height="9" src="http://opensource.adobe.com/images/icons/openwin_icon.gif" width="11" /&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/tt&gt;&amp;nbsp;directory&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;FlexUnit, in the&amp;nbsp;&lt;tt&gt;&lt;a href="http://opensource.adobe.com/svn/opensource/flexunit" style="color: #274dac; text-decoration: none;" target="_blank"&gt;/flexunit&lt;sup&gt;&lt;img align="absmiddle" alt="" border="0" class="rendericon" height="9" src="http://opensource.adobe.com/images/icons/openwin_icon.gif" width="11" /&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/tt&gt;&amp;nbsp;directory&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Open Source Media Framework (OSMF), in the&amp;nbsp;&lt;tt&gt;&lt;a href="http://opensource.adobe.com/svn/opensource/osmf" style="color: #274dac; text-decoration: none;" target="_blank"&gt;/osmf&lt;sup&gt;&lt;img align="absmiddle" alt="" border="0" class="rendericon" height="9" src="http://opensource.adobe.com/images/icons/openwin_icon.gif" width="11" /&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/tt&gt;&amp;nbsp;directory&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Text Layout Framework (TLF), in the&amp;nbsp;&lt;tt&gt;&lt;a href="http://opensource.adobe.com/svn/opensource/flex/sdk/trunk/frameworks/projects/textLayout" style="color: #274dac; text-decoration: none;" target="_blank"&gt;/flex/sdk/trunk/frameworks/projects/textLayout&lt;sup&gt;&lt;img align="absmiddle" alt="" border="0" class="rendericon" height="9" src="http://opensource.adobe.com/images/icons/openwin_icon.gif" width="11" /&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/tt&gt;&amp;nbsp;directory.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;h2 style="background-color: transparent; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: initial; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 20px; font-weight: bold; line-height: normal; margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;br /&gt;&lt;/h2&gt;&lt;h2 style="background-color: transparent; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: initial; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 20px; font-weight: bold; line-height: normal; margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Summary&lt;/h2&gt;&lt;table class="confluenceTable" style="border-collapse: collapse; color: black; font-family: Verdana, arial, sans-serif; font-size: 11px; font-weight: normal; line-height: 16px; margin-bottom: 5px; margin-left: 5px; margin-right: 5px; margin-top: 5px;"&gt;&lt;tbody&gt;&lt;tr style="color: black; font-family: Verdana, arial, sans-serif; font-size: 11px; font-weight: normal; line-height: 16px;"&gt;&lt;td class="confluenceTd" style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; border-width: initial; color: black; font-family: Verdana, arial, sans-serif; font-size: 11px; font-weight: normal; line-height: 16px; padding-bottom: 3px; padding-left: 4px; padding-right: 4px; padding-top: 3px; vertical-align: top;"&gt;BlazeDS&lt;br /&gt;&lt;/td&gt;&lt;td class="confluenceTd" style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; border-width: initial; color: black; font-family: Verdana, arial, sans-serif; font-size: 11px; font-weight: normal; line-height: 16px; padding-bottom: 3px; padding-left: 4px; padding-right: 4px; padding-top: 3px; vertical-align: top;"&gt;Access as:&amp;nbsp;&lt;a href="http://opensource.adobe.com/svn/opensource/blazeds" style="color: #274dac; text-decoration: none;" target="_blank"&gt;http://opensource.adobe.com/svn/opensource/blazeds&lt;sup&gt;&lt;img align="absmiddle" alt="" border="0" class="rendericon" height="9" src="http://opensource.adobe.com/images/icons/openwin_icon.gif" width="11" /&gt;&lt;/sup&gt;&lt;/a&gt;&lt;br /&gt;Commits forum:&amp;nbsp;&lt;a href="http://www.adobeforums.com/webx/.3c061bb9" style="color: #274dac; text-decoration: none;" target="_blank"&gt;http://www.adobeforums.com/webx/.3c061bb9&lt;sup&gt;&lt;img align="absmiddle" alt="" border="0" class="rendericon" height="9" src="http://opensource.adobe.com/images/icons/openwin_icon.gif" width="11" /&gt;&lt;/sup&gt;&lt;/a&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="color: black; font-family: Verdana, arial, sans-serif; font-size: 11px; font-weight: normal; line-height: 16px;"&gt;&lt;td class="confluenceTd" style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; border-width: initial; color: black; font-family: Verdana, arial, sans-serif; font-size: 11px; font-weight: normal; line-height: 16px; padding-bottom: 3px; padding-left: 4px; padding-right: 4px; padding-top: 3px; vertical-align: top;"&gt;Cairngorm&lt;br /&gt;&lt;/td&gt;&lt;td class="confluenceTd" style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; border-width: initial; color: black; font-family: Verdana, arial, sans-serif; font-size: 11px; font-weight: normal; line-height: 16px; padding-bottom: 3px; padding-left: 4px; padding-right: 4px; padding-top: 3px; vertical-align: top;"&gt;Access as:&amp;nbsp;&lt;a href="http://opensource.adobe.com/svn/opensource/cairngorm" style="color: #274dac; text-decoration: none;" target="_blank"&gt;http://opensource.adobe.com/svn/opensource/blazeds&lt;sup&gt;&lt;img align="absmiddle" alt="" border="0" class="rendericon" height="9" src="http://opensource.adobe.com/images/icons/openwin_icon.gif" width="11" /&gt;&lt;/sup&gt;&lt;/a&gt;&lt;br /&gt;Commits forum:&amp;nbsp;&lt;a href="http://www.adobeforums.com/webx/.59b5b4ec/" style="color: #274dac; text-decoration: none;" target="_blank"&gt;http://www.adobeforums.com/webx/.59b5b4ec/&lt;sup&gt;&lt;img align="absmiddle" alt="" border="0" class="rendericon" height="9" src="http://opensource.adobe.com/images/icons/openwin_icon.gif" width="11" /&gt;&lt;/sup&gt;&lt;/a&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="color: black; font-family: Verdana, arial, sans-serif; font-size: 11px; font-weight: normal; line-height: 16px;"&gt;&lt;td class="confluenceTd" style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; border-width: initial; color: black; font-family: Verdana, arial, sans-serif; font-size: 11px; font-weight: normal; line-height: 16px; padding-bottom: 3px; padding-left: 4px; padding-right: 4px; padding-top: 3px; vertical-align: top;"&gt;Durango&lt;br /&gt;&lt;/td&gt;&lt;td class="confluenceTd" style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; border-width: initial; color: black; font-family: Verdana, arial, sans-serif; font-size: 11px; font-weight: normal; line-height: 16px; padding-bottom: 3px; padding-left: 4px; padding-right: 4px; padding-top: 3px; vertical-align: top;"&gt;Access as:&amp;nbsp;&lt;a href="http://opensource.adobe.com/svn/opensource/durango" style="color: #274dac; text-decoration: none;" target="_blank"&gt;http://opensource.adobe.com/svn/opensource/durango&lt;sup&gt;&lt;img align="absmiddle" alt="" border="0" class="rendericon" height="9" src="http://opensource.adobe.com/images/icons/openwin_icon.gif" width="11" /&gt;&lt;/sup&gt;&lt;/a&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="color: black; font-family: Verdana, arial, sans-serif; font-size: 11px; font-weight: normal; line-height: 16px;"&gt;&lt;td class="confluenceTd" style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; border-width: initial; color: black; font-family: Verdana, arial, sans-serif; font-size: 11px; font-weight: normal; line-height: 16px; padding-bottom: 3px; padding-left: 4px; padding-right: 4px; padding-top: 3px; vertical-align: top;"&gt;Flex SDK&lt;br /&gt;&lt;/td&gt;&lt;td class="confluenceTd" style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; border-width: initial; color: black; font-family: Verdana, arial, sans-serif; font-size: 11px; font-weight: normal; line-height: 16px; padding-bottom: 3px; padding-left: 4px; padding-right: 4px; padding-top: 3px; vertical-align: top;"&gt;Access as:&amp;nbsp;&lt;a href="http://opensource.adobe.com/svn/opensource/flex/sdk" style="color: #274dac; text-decoration: none;" target="_blank"&gt;http://opensource.adobe.com/svn/opensource/flex/sdk&lt;sup&gt;&lt;img align="absmiddle" alt="" border="0" class="rendericon" height="9" src="http://opensource.adobe.com/images/icons/openwin_icon.gif" width="11" /&gt;&lt;/sup&gt;&lt;/a&gt;&lt;br /&gt;Commits forum:&amp;nbsp;&lt;a href="http://www.adobeforums.com/webx/.3c061177" style="color: #274dac; text-decoration: none;" target="_blank"&gt;http://www.adobeforums.com/webx/.3c061177&lt;sup&gt;&lt;img align="absmiddle" alt="" border="0" class="rendericon" height="9" src="http://opensource.adobe.com/images/icons/openwin_icon.gif" width="11" /&gt;&lt;/sup&gt;&lt;/a&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="color: black; font-family: Verdana, arial, sans-serif; font-size: 11px; font-weight: normal; line-height: 16px;"&gt;&lt;td class="confluenceTd" style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; border-width: initial; color: black; font-family: Verdana, arial, sans-serif; font-size: 11px; font-weight: normal; line-height: 16px; padding-bottom: 3px; padding-left: 4px; padding-right: 4px; padding-top: 3px; vertical-align: top;"&gt;FlexPMD&lt;br /&gt;&lt;/td&gt;&lt;td class="confluenceTd" style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; border-width: initial; color: black; font-family: Verdana, arial, sans-serif; font-size: 11px; font-weight: normal; line-height: 16px; padding-bottom: 3px; padding-left: 4px; padding-right: 4px; padding-top: 3px; vertical-align: top;"&gt;Access as:&amp;nbsp;&lt;a href="http://opensource.adobe.com/svn/opensource/flexpmd" style="color: #274dac; text-decoration: none;" target="_blank"&gt;http://opensource.adobe.com/svn/opensource/flexpmd&lt;sup&gt;&lt;img align="absmiddle" alt="" border="0" class="rendericon" height="9" src="http://opensource.adobe.com/images/icons/openwin_icon.gif" width="11" /&gt;&lt;/sup&gt;&lt;/a&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="color: black; font-family: Verdana, arial, sans-serif; font-size: 11px; font-weight: normal; line-height: 16px;"&gt;&lt;td class="confluenceTd" style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; border-width: initial; color: black; font-family: Verdana, arial, sans-serif; font-size: 11px; font-weight: normal; line-height: 16px; padding-bottom: 3px; padding-left: 4px; padding-right: 4px; padding-top: 3px; vertical-align: top;"&gt;FlexUnit&lt;br /&gt;&lt;/td&gt;&lt;td class="confluenceTd" style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; border-width: initial; color: black; font-family: Verdana, arial, sans-serif; font-size: 11px; font-weight: normal; line-height: 16px; padding-bottom: 3px; padding-left: 4px; padding-right: 4px; padding-top: 3px; vertical-align: top;"&gt;Access as:&amp;nbsp;&lt;a href="http://opensource.adobe.com/svn/opensource/flexunit" style="color: #274dac; text-decoration: none;" target="_blank"&gt;http://opensource.adobe.com/svn/opensource/flexunit&lt;sup&gt;&lt;img align="absmiddle" alt="" border="0" class="rendericon" height="9" src="http://opensource.adobe.com/images/icons/openwin_icon.gif" width="11" /&gt;&lt;/sup&gt;&lt;/a&gt;&lt;br /&gt;Commits forum:&amp;nbsp;&lt;a href="http://www.adobeforums.com/webx/.59b62b94/" style="color: #274dac; text-decoration: none;" target="_blank"&gt;http://www.adobeforums.com/webx/.59b62b94&lt;sup&gt;&lt;img align="absmiddle" alt="" border="0" class="rendericon" height="9" src="http://opensource.adobe.com/images/icons/openwin_icon.gif" width="11" /&gt;&lt;/sup&gt;&lt;/a&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="color: black; font-family: Verdana, arial, sans-serif; font-size: 11px; font-weight: normal; line-height: 16px;"&gt;&lt;td class="confluenceTd" style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; border-width: initial; color: black; font-family: Verdana, arial, sans-serif; font-size: 11px; font-weight: normal; line-height: 16px; padding-bottom: 3px; padding-left: 4px; padding-right: 4px; padding-top: 3px; vertical-align: top;"&gt;Open Source Media Framework (OSMF)&lt;br /&gt;&lt;/td&gt;&lt;td class="confluenceTd" style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; border-width: initial; color: black; font-family: Verdana, arial, sans-serif; font-size: 11px; font-weight: normal; line-height: 16px; padding-bottom: 3px; padding-left: 4px; padding-right: 4px; padding-top: 3px; vertical-align: top;"&gt;Access as:&amp;nbsp;&lt;a href="http://opensource.adobe.com/svn/opensource/flexunit" style="color: #274dac; text-decoration: none;" target="_blank"&gt;http://opensource.adobe.com/svn/opensource/osmf&lt;sup&gt;&lt;img align="absmiddle" alt="" border="0" class="rendericon" height="9" src="http://opensource.adobe.com/images/icons/openwin_icon.gif" width="11" /&gt;&lt;/sup&gt;&lt;/a&gt;&lt;br /&gt;Commits forum:&amp;nbsp;&lt;a href="http://forums.adobe.com/community/opensource/osmf/commits" style="color: #274dac; text-decoration: none;" target="_blank"&gt;http://forums.adobe.com/community/opensource/osmf/commits&lt;sup&gt;&lt;img align="absmiddle" alt="" border="0" class="rendericon" height="9" src="http://opensource.adobe.com/images/icons/openwin_icon.gif" width="11" /&gt;&lt;/sup&gt;&lt;/a&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="color: black; font-family: Verdana, arial, sans-serif; font-size: 11px; font-weight: normal; line-height: 16px;"&gt;&lt;td class="confluenceTd" style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; border-width: initial; color: black; font-family: Verdana, arial, sans-serif; font-size: 11px; font-weight: normal; line-height: 16px; padding-bottom: 3px; padding-left: 4px; padding-right: 4px; padding-top: 3px; vertical-align: top;"&gt;Text Layout Framework (TLF)&lt;br /&gt;&lt;/td&gt;&lt;td class="confluenceTd" style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; border-width: initial; color: black; font-family: Verdana, arial, sans-serif; font-size: 11px; font-weight: normal; line-height: 16px; padding-bottom: 3px; padding-left: 4px; padding-right: 4px; padding-top: 3px; vertical-align: top;"&gt;Access as:&lt;a href="http://opensource.adobe.com/svn/opensource/flex/sdk/trunk/frameworks/projects/textLayout" style="color: #274dac; text-decoration: none;" target="_blank"&gt;http://opensource.adobe.com/svn/opensource/flex/sdk/trunk/frameworks/projects/textLayout&lt;sup&gt;&lt;img align="absmiddle" alt="" border="0" class="rendericon" height="9" src="http://opensource.adobe.com/images/icons/openwin_icon.gif" width="11" /&gt;&lt;/sup&gt;&lt;/a&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td class="confluenceTd" style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: none; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: none; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: none; border-right-width: 1px; border-top-color: rgb(204, 204, 204); border-top-style: none; border-top-width: 1px; border-width: initial; color: black; font-family: Verdana, arial, sans-serif; font-size: 11px; font-weight: normal; line-height: 16px; padding-bottom: 3px; padding-left: 4px; padding-right: 4px; padding-top: 3px; vertical-align: top;" valign="top" width="20%"&gt;&lt;div class="quick-links" style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #dbdeea; background-image: initial; background-position: initial initial; background-repeat: initial; float: right; margin-bottom: 5px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; width: 200px;"&gt;&lt;div style="margin-bottom: 0px; margin-left: auto; margin-right: auto; margin-top: 0px; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; padding-top: 3px; width: 180px;"&gt;&lt;div class="sidenavlinks sidenavtitle-page" style="color: black; font-family: Arial, Helvetica, sans-serif; font-size: 12px; font-weight: bold;"&gt;Adobe Open Source&lt;br /&gt;&lt;/div&gt;&lt;div class="sidenavlinks"&gt;&lt;a href="http://opensource.adobe.com/wiki/display/site/About" style="color: #274dac; font-family: Arial, Helvetica, sans-serif; font-size: 12px; font-weight: normal; text-decoration: none;"&gt;About&lt;/a&gt;&lt;br /&gt;&lt;a href="http://opensource.adobe.com/wiki/display/site/Forums" style="color: #274dac; font-family: Arial, Helvetica, sans-serif; font-size: 12px; font-weight: normal; text-decoration: none;"&gt;Feedback&lt;/a&gt;&lt;br /&gt;&lt;a href="http://opensource.adobe.com/wiki/display/site/Contributor+Agreement" style="color: #274dac; font-family: Arial, Helvetica, sans-serif; font-size: 12px; font-weight: normal; text-decoration: none;"&gt;Contributor Agreement&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;table style="color: black; font-family: Verdana, arial, sans-serif; font-size: 11px; font-weight: normal; line-height: 16px;"&gt;&lt;tbody&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="quick-links" style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #dbdeea; background-image: initial; background-position: initial initial; background-repeat: initial; float: right; margin-bottom: 5px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; width: 200px;"&gt;&lt;div style="margin-bottom: 0px; margin-left: auto; margin-right: auto; margin-top: 0px; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; padding-top: 3px; width: 180px;"&gt;&lt;div class="sidenavlinks sidenavtitle-page" style="color: black; font-family: Arial, Helvetica, sans-serif; font-size: 12px; font-weight: bold;"&gt;Projects&lt;br /&gt;&lt;/div&gt;&lt;div class="sidenavlinks"&gt;&lt;a href="http://opensource.adobe.com/wiki/display/blazeds/BlazeDS" style="color: #274dac; font-family: Arial, Helvetica, sans-serif; font-size: 12px; font-weight: normal; text-decoration: none;"&gt;BlazeDS&lt;/a&gt;&lt;br /&gt;&lt;a href="http://opensource.adobe.com/wiki/display/cairngorm/Cairngorm" style="color: #274dac; font-family: Arial, Helvetica, sans-serif; font-size: 12px; font-weight: normal; text-decoration: none;"&gt;Cairngorm&lt;/a&gt;&lt;br /&gt;&lt;a href="http://opensource.adobe.com/wiki/display/durango/Durango" style="color: #274dac; font-family: Arial, Helvetica, sans-serif; font-size: 12px; font-weight: normal; text-decoration: none;"&gt;Durango&lt;/a&gt;&lt;br /&gt;&lt;a href="http://opensource.adobe.com/wiki/display/flexsdk/Flex+SDK" style="color: #274dac; font-family: Arial, Helvetica, sans-serif; font-size: 12px; font-weight: normal; text-decoration: none;"&gt;Flex SDK&lt;/a&gt;&lt;br /&gt;&lt;a href="http://opensource.adobe.com/wiki/display/flexpmd/FlexPMD" style="color: #274dac; font-family: Arial, Helvetica, sans-serif; font-size: 12px; font-weight: normal; text-decoration: none;"&gt;FlexPMD&lt;/a&gt;&lt;br /&gt;&lt;a href="http://opensource.adobe.com/wiki/display/flexunit/FlexUnit" style="color: #274dac; font-family: Arial, Helvetica, sans-serif; font-size: 12px; font-weight: normal; text-decoration: none;"&gt;FlexUnit&lt;/a&gt;&lt;br /&gt;&lt;a href="http://opensource.adobe.com/wiki/display/gil/Generic+Image+Library" style="color: #274dac; font-family: Arial, Helvetica, sans-serif; font-size: 12px; font-weight: normal; text-decoration: none;"&gt;Generic Image Library&lt;/a&gt;&lt;br /&gt;&lt;a href="http://opensource.adobe.com/wiki/display/osmf/Open+Source+Media+Framework" style="color: #274dac; font-family: Arial, Helvetica, sans-serif; font-size: 12px; font-weight: normal; text-decoration: none;"&gt;Open Source Media Framework&lt;/a&gt;&lt;br /&gt;&lt;a href="http://opensource.adobe.com/wiki/display/tlf/Text+Layout+Framework" style="color: #274dac; font-family: Arial, Helvetica, sans-serif; font-size: 12px; font-weight: normal; text-decoration: none;"&gt;Text Layout Framework&lt;/a&gt;&lt;br /&gt;&lt;a href="http://opensource.adobe.com/wiki/display/webkit/Webkit" style="color: #274dac; font-family: Arial, Helvetica, sans-serif; font-size: 12px; font-weight: normal; text-decoration: none;"&gt;Webkit&lt;/a&gt;&lt;br /&gt;&lt;a href="http://opensource.adobe.com/wiki/display/site/Source" style="color: #274dac; font-family: Arial, Helvetica, sans-serif; font-size: 12px; font-weight: normal; text-decoration: none;"&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://opensource.adobe.com/wiki/display/site/Projects" style="color: #274dac; font-family: Arial, Helvetica, sans-serif; font-size: 12px; font-weight: normal; text-decoration: none;"&gt;More ›&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;table style="color: black; font-family: Verdana, arial, sans-serif; font-size: 11px; font-weight: normal; line-height: 16px;"&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, arial, sans-serif; font-size: 11px; line-height: 16px;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;table border="0" cellpadding="5" cellspacing="0" class="sectionMacro" style="color: black; font-family: Verdana, arial, sans-serif; font-size: 11px; font-weight: normal; line-height: 16px; margin-top: 3px;"&gt;&lt;tbody&gt;&lt;tr style="color: black; font-family: Verdana, arial, sans-serif; font-size: 11px; font-weight: normal; line-height: 16px;"&gt;&lt;td class="confluenceTd" style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: none; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: none; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: none; border-right-width: 1px; border-top-color: rgb(204, 204, 204); border-top-style: none; border-top-width: 1px; border-width: initial; color: black; font-family: Verdana, arial, sans-serif; font-size: 11px; font-weight: normal; line-height: 16px; padding-bottom: 3px; padding-left: 4px; padding-right: 4px; padding-top: 3px; vertical-align: top;" valign="top" width="80%"&gt;&lt;h1 style="background-color: transparent; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: initial; color: #455264; font-family: Arial, Helvetica, sans-serif; font-size: 24px; font-weight: bold; line-height: normal; margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2157740160912403437&amp;amp;postID=6933323423930687405" name="Projects-Projects" style="color: #274dac; text-decoration: none;"&gt;&lt;/a&gt;Projects&lt;/h1&gt;&lt;div style="color: black; font-family: Verdana, arial, sans-serif; font-size: 11px; font-weight: normal; line-height: 16px; margin-bottom: 16px; margin-left: 0px; margin-right: 0px; margin-top: 16px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Adobe is active in Open Source projects. The following are a number of our contributions and commitments to open source.&lt;br /&gt;&lt;/div&gt;&lt;div style="color: black; font-family: Verdana, arial, sans-serif; font-size: 11px; font-weight: normal; line-height: 16px; margin-bottom: 16px; margin-left: 0px; margin-right: 0px; margin-top: 16px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;/div&gt;&lt;div class="rbtoc1252011494742" style="margin-left: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;ul style="list-style-image: initial; list-style-position: initial; list-style-type: none; margin-bottom: 16px; margin-left: 0px; margin-right: 0px; margin-top: 16px; padding-bottom: 0px; padding-left: 20px; padding-right: 3em; padding-top: 0px;"&gt;&lt;li style="margin-left: 0px; padding-left: 0px;"&gt;&lt;a href="http://opensource.adobe.com/wiki/display/site/Projects#Projects-BlazeDS" style="color: #274dac; text-decoration: none;"&gt;BlazeDS&lt;/a&gt;&lt;/li&gt;&lt;li style="margin-left: 0px; padding-left: 0px;"&gt;&lt;a href="http://opensource.adobe.com/wiki/display/site/Projects#Projects-Cairngorm" style="color: #274dac; text-decoration: none;"&gt;Cairngorm&lt;/a&gt;&lt;/li&gt;&lt;li style="margin-left: 0px; padding-left: 0px;"&gt;&lt;a href="http://opensource.adobe.com/wiki/display/site/Projects#Projects-Durango" style="color: #274dac; text-decoration: none;"&gt;Durango&lt;/a&gt;&lt;/li&gt;&lt;li style="margin-left: 0px; padding-left: 0px;"&gt;&lt;a href="http://opensource.adobe.com/wiki/display/site/Projects#Projects-ExtensibleMetadataPlatform%28XMP%29" style="color: #274dac; text-decoration: none;"&gt;Extensible Metadata Platform (XMP)&lt;/a&gt;&lt;/li&gt;&lt;li style="margin-left: 0px; padding-left: 0px;"&gt;&lt;a href="http://opensource.adobe.com/wiki/display/site/Projects#Projects-FlashAjaxVideoComponent" style="color: #274dac; text-decoration: none;"&gt;Flash Ajax Video Component&lt;/a&gt;&lt;/li&gt;&lt;li style="margin-left: 0px; padding-left: 0px;"&gt;&lt;a href="http://opensource.adobe.com/wiki/display/site/Projects#Projects-FlexSDK" style="color: #274dac; text-decoration: none;"&gt;Flex SDK&lt;/a&gt;&lt;/li&gt;&lt;li style="margin-left: 0px; padding-left: 0px;"&gt;&lt;a href="http://opensource.adobe.com/wiki/display/site/Projects#Projects-FlexPMD" style="color: #274dac; text-decoration: none;"&gt;FlexPMD&lt;/a&gt;&lt;/li&gt;&lt;li style="margin-left: 0px; padding-left: 0px;"&gt;&lt;a href="http://opensource.adobe.com/wiki/display/site/Projects#Projects-FlexUnit" style="color: #274dac; text-decoration: none;"&gt;FlexUnit&lt;/a&gt;&lt;/li&gt;&lt;li style="margin-left: 0px; padding-left: 0px;"&gt;&lt;a href="http://opensource.adobe.com/wiki/display/site/Projects#Projects-GenericImageLibrary" style="color: #274dac; text-decoration: none;"&gt;Generic Image Library&lt;/a&gt;&lt;/li&gt;&lt;li style="margin-left: 0px; padding-left: 0px;"&gt;&lt;a href="http://opensource.adobe.com/wiki/display/site/Projects#Projects-OpenSourceMediaFramework" style="color: #274dac; text-decoration: none;"&gt;Open Source Media Framework&lt;/a&gt;&lt;/li&gt;&lt;li style="margin-left: 0px; padding-left: 0px;"&gt;&lt;a href="http://opensource.adobe.com/wiki/display/site/Projects#Projects-AdobeMediaGallery" style="color: #274dac; text-decoration: none;"&gt;Adobe Media Gallery&lt;/a&gt;&lt;/li&gt;&lt;li style="margin-left: 0px; padding-left: 0px;"&gt;&lt;a href="http://opensource.adobe.com/wiki/display/site/Projects#Projects-AdobeSourceLibraries" style="color: #274dac; text-decoration: none;"&gt;Adobe Source Libraries&lt;/a&gt;&lt;/li&gt;&lt;li style="margin-left: 0px; padding-left: 0px;"&gt;&lt;a href="http://opensource.adobe.com/wiki/display/site/Projects#Projects-Tamarin" style="color: #274dac; text-decoration: none;"&gt;Tamarin&lt;/a&gt;&lt;/li&gt;&lt;li style="margin-left: 0px; padding-left: 0px;"&gt;&lt;a href="http://opensource.adobe.com/wiki/display/site/Projects#Projects-TextLayoutFramework" style="color: #274dac; text-decoration: none;"&gt;Text Layout Framework&lt;/a&gt;&lt;/li&gt;&lt;li style="margin-left: 0px; padding-left: 0px;"&gt;&lt;a href="http://opensource.adobe.com/wiki/display/site/Projects#Projects-Webkit" style="color: #274dac; text-decoration: none;"&gt;Webkit&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="color: black; font-family: Verdana, arial, sans-serif; font-size: 11px; font-weight: normal; line-height: 16px; margin-bottom: 16px; margin-left: 0px; margin-right: 0px; margin-top: 16px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;/div&gt;&lt;h2 style="background-color: transparent; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: initial; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 20px; font-weight: bold; line-height: normal; margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2157740160912403437&amp;amp;postID=6933323423930687405" name="Projects-BlazeDS" style="color: #274dac; text-decoration: none;"&gt;&lt;/a&gt;BlazeDS&lt;/h2&gt;&lt;div style="color: black; font-family: Verdana, arial, sans-serif; font-size: 11px; font-weight: normal; line-height: 16px; margin-bottom: 16px; margin-left: 0px; margin-right: 0px; margin-top: 16px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;BlazeDS is the server-based Java remoting and web messaging technology that enables developers to easily connect to back-end distributed data and push data in real-time to Adobe® Flex™ and Adobe AIR™ applications for more responsive rich Internet application (RIA) experiences. Previously available only as part of Adobe LiveCycle® Data Services ES, Adobe is announcing its plans to contribute the proven BlazeDS technologies to the community under the LGPL v3. BlazeDS gives the rapidly growing Adobe developer community free access to the powerful remoting and messaging technologies developed by Adobe.&lt;br /&gt;&lt;/div&gt;&lt;div style="color: black; font-family: Verdana, arial, sans-serif; font-size: 11px; font-weight: normal; line-height: 16px; margin-bottom: 16px; margin-left: 0px; margin-right: 0px; margin-top: 16px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;b&gt;&lt;a href="http://opensource.adobe.com/wiki/display/blazeds/BlazeDS" style="color: #274dac; text-decoration: none;" title="BlazeDS"&gt;Home&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://opensource.adobe.com/wiki/display/blazeds/Downloads" style="color: #274dac; text-decoration: none;" title="Downloads"&gt;Downloads&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://opensource.adobe.com/wiki/display/blazeds/Source" style="color: #274dac; text-decoration: none;" title="Source"&gt;Source&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://opensource.adobe.com/wiki/display/blazeds/Developer+Documentation" style="color: #274dac; text-decoration: none;" title="Developer Documentation"&gt;Documentation&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;h2 style="background-color: transparent; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: initial; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 20px; font-weight: bold; line-height: normal; margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2157740160912403437&amp;amp;postID=6933323423930687405" name="Projects-Cairngorm" style="color: #274dac; text-decoration: none;"&gt;&lt;/a&gt;Cairngorm&lt;/h2&gt;&lt;div style="color: black; font-family: Verdana, arial, sans-serif; font-size: 11px; font-weight: normal; line-height: 16px; margin-bottom: 16px; margin-left: 0px; margin-right: 0px; margin-top: 16px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Cairngorm is the lightweight micro-architecture for rich Internet applications built in Flex or AIR. A collaboration of recognized design patterns, Cairngorm exemplifies and encourages best-practices for RIA development advocated by Adobe Consulting, encourages best-practice leverage of the underlying Flex framework, while making it easier for medium to large teams of software engineers deliver medium to large scale, mission-critical rich Internet applications. Previously available only as Adobe Consulting releases through labs.adobe.com, Cairngorm is now evolving towards a project that will invite community leaders and enterprise adopters to partner with Adobe Consulting in the ongoing development of Cairngorm.&lt;br /&gt;&lt;/div&gt;&lt;div style="color: black; font-family: Verdana, arial, sans-serif; font-size: 11px; font-weight: normal; line-height: 16px; margin-bottom: 16px; margin-left: 0px; margin-right: 0px; margin-top: 16px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;b&gt;&lt;a href="http://opensource.adobe.com/wiki/display/cairngorm/Cairngorm" style="color: #274dac; text-decoration: none;" title="Cairngorm"&gt;Home&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://opensource.adobe.com/wiki/display/cairngorm/Downloads" style="color: #274dac; text-decoration: none;" title="Downloads"&gt;Downloads&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://opensource.adobe.com/wiki/display/cairngorm/Get+Source+Code" style="color: #274dac; text-decoration: none;" title="Get Source Code"&gt;Source&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://opensource.adobe.com/wiki/display/cairngorm/Developer+Documentation" style="color: #274dac; text-decoration: none;" title="Developer Documentation"&gt;Documentation&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;h2 style="background-color: transparent; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: initial; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 20px; font-weight: bold; line-height: normal; margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2157740160912403437&amp;amp;postID=6933323423930687405" name="Projects-Durango" style="color: #274dac; text-decoration: none;"&gt;&lt;/a&gt;Durango&lt;/h2&gt;&lt;div style="color: black; font-family: Verdana, arial, sans-serif; font-size: 11px; font-weight: normal; line-height: 16px; margin-bottom: 16px; margin-left: 0px; margin-right: 0px; margin-top: 16px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Durango is a framework that allows developers to build Adobe AIR applications that can be customized by end-users. Durango allows developers, designers and end-users to easily mashup independent components to create new applications or extend existing Durango-enabled applications. These "mashable" components can be visual or non-visual (e.g., web services). Designers and developers can rapidly create prototype applications and then generate Adobe Flex MXML source projects for further development. End-users can take parts of their favorite applications and bring them together in new ways.&lt;br /&gt;&lt;/div&gt;&lt;div style="color: black; font-family: Verdana, arial, sans-serif; font-size: 11px; font-weight: normal; line-height: 16px; margin-bottom: 16px; margin-left: 0px; margin-right: 0px; margin-top: 16px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;b&gt;&lt;a href="http://opensource.adobe.com/wiki/display/durango/Durango" style="color: #274dac; text-decoration: none;" title="Durango"&gt;Home&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://opensource.adobe.com/wiki/display/durango/Downloads" style="color: #274dac; text-decoration: none;" title="Downloads"&gt;Downloads&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://opensource.adobe.com/wiki/display/durango/Get+Source+Code" style="color: #274dac; text-decoration: none;" title="Get Source Code"&gt;Source&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://opensource.adobe.com/wiki/display/durango/Developer+Documentation" style="color: #274dac; text-decoration: none;" title="Developer Documentation"&gt;Documentation&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;h2 style="background-color: transparent; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: initial; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 20px; font-weight: bold; line-height: normal; margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2157740160912403437&amp;amp;postID=6933323423930687405" name="Projects-ExtensibleMetadataPlatform%28XMP%29" style="color: #274dac; text-decoration: none;"&gt;&lt;/a&gt;Extensible Metadata Platform (XMP)&lt;/h2&gt;&lt;div style="color: black; font-family: Verdana, arial, sans-serif; font-size: 11px; font-weight: normal; line-height: 16px; margin-bottom: 16px; margin-left: 0px; margin-right: 0px; margin-top: 16px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Adobe's Extensible Metadata Platform (XMP) is a labeling technology that allows you to embed data about a file, known as metadata, into the file itself. With XMP, desktop applications and back-end publishing systems gain a common method for capturing, sharing, and leveraging this valuable metadata—opening the door for more efficient job processing, workflow automation, and rights management, among many other possibilities. The XMP SDK is available as open source.&lt;br /&gt;&lt;/div&gt;&lt;div style="color: black; font-family: Verdana, arial, sans-serif; font-size: 11px; font-weight: normal; line-height: 16px; margin-bottom: 16px; margin-left: 0px; margin-right: 0px; margin-top: 16px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;b&gt;&lt;a href="http://www.adobe.com/products/xmp/" style="color: #274dac; text-decoration: none;" target="_blank"&gt;Home&lt;sup&gt;&lt;img align="absmiddle" alt="" border="0" class="rendericon" height="9" src="http://opensource.adobe.com/images/icons/openwin_icon.gif" width="11" /&gt;&lt;/sup&gt;&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://www.adobe.com/devnet/xmp/" style="color: #274dac; text-decoration: none;" target="_blank"&gt;Downloads&lt;sup&gt;&lt;img align="absmiddle" alt="" border="0" class="rendericon" height="9" src="http://opensource.adobe.com/images/icons/openwin_icon.gif" width="11" /&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;h2 style="background-color: transparent; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: initial; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 20px; font-weight: bold; line-height: normal; margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2157740160912403437&amp;amp;postID=6933323423930687405" name="Projects-FlashAjaxVideoComponent" style="color: #274dac; text-decoration: none;"&gt;&lt;/a&gt;Flash Ajax Video Component&lt;/h2&gt;&lt;div style="color: black; font-family: Verdana, arial, sans-serif; font-size: 11px; font-weight: normal; line-height: 16px; margin-bottom: 16px; margin-left: 0px; margin-right: 0px; margin-top: 16px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;The Flash Ajax Video (FAVideo) component is a small, open source Flash component that you can use to provide video playback within an Ajax application. It exposes all of the formatting and video playback controls necessary to build a video player customized entirely using HTML and Javascript.&lt;br /&gt;&lt;/div&gt;&lt;div style="color: black; font-family: Verdana, arial, sans-serif; font-size: 11px; font-weight: normal; line-height: 16px; margin-bottom: 16px; margin-left: 0px; margin-right: 0px; margin-top: 16px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;b&gt;&lt;a href="http://labs.adobe.com/wiki/index.php/Flash-Ajax_Video_Component" style="color: #274dac; text-decoration: none;" target="_blank"&gt;Home&lt;sup&gt;&lt;img align="absmiddle" alt="" border="0" class="rendericon" height="9" src="http://opensource.adobe.com/images/icons/openwin_icon.gif" width="11" /&gt;&lt;/sup&gt;&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://labs.adobe.com/wiki/index.php/Flash-Ajax_Video_Component#Download_and_Installation" style="color: #274dac; text-decoration: none;" target="_blank"&gt;Downloads&lt;sup&gt;&lt;img align="absmiddle" alt="" border="0" class="rendericon" height="9" src="http://opensource.adobe.com/images/icons/openwin_icon.gif" width="11" /&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;h2 style="background-color: transparent; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: initial; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 20px; font-weight: bold; line-height: normal; margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2157740160912403437&amp;amp;postID=6933323423930687405" name="Projects-FlexSDK" style="color: #274dac; text-decoration: none;"&gt;&lt;/a&gt;Flex SDK&lt;/h2&gt;&lt;div style="color: black; font-family: Verdana, arial, sans-serif; font-size: 11px; font-weight: normal; line-height: 16px; margin-bottom: 16px; margin-left: 0px; margin-right: 0px; margin-top: 16px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Adobe® Flex™ is a cross platform, open source framework for creating rich Internet applications that run identically in all major browsers and operating systems. The Adobe® Flex™ SDK is the foundation of Flex, providing the core Flex compilers, component library and debugger. Using only the free SDK and an IDE of your choice, you can build and deploy rich Flex applications.&lt;br /&gt;&lt;/div&gt;&lt;div style="color: black; font-family: Verdana, arial, sans-serif; font-size: 11px; font-weight: normal; line-height: 16px; margin-bottom: 16px; margin-left: 0px; margin-right: 0px; margin-top: 16px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;b&gt;&lt;a href="http://opensource.adobe.com/wiki/display/flexsdk/Flex+SDK" style="color: #274dac; text-decoration: none;" title="Flex SDK"&gt;Home&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://opensource.adobe.com/wiki/display/flexsdk/Downloads" style="color: #274dac; text-decoration: none;" title="Downloads"&gt;Downloads&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://opensource.adobe.com/wiki/display/flexsdk/Get+Source+Code" style="color: #274dac; text-decoration: none;" title="Get Source Code"&gt;Source&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://opensource.adobe.com/wiki/display/flexsdk/Developer+Documentation" style="color: #274dac; text-decoration: none;" title="Developer Documentation"&gt;Documentation&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;h2 style="background-color: transparent; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: initial; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 20px; font-weight: bold; line-height: normal; margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2157740160912403437&amp;amp;postID=6933323423930687405" name="Projects-FlexPMD" style="color: #274dac; text-decoration: none;"&gt;&lt;/a&gt;FlexPMD&lt;/h2&gt;&lt;div style="color: black; font-family: Verdana, arial, sans-serif; font-size: 11px; font-weight: normal; line-height: 16px; margin-bottom: 16px; margin-left: 0px; margin-right: 0px; margin-top: 16px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;FlexPMD is a tool that helps to improve code quality by auditing any AS3/Flex source directory and detecting common bad practices, such as Unused code (functions, variables, constants, etc.), Over-complex code (nested loops, too many conditionals, etc.), Over-long code (classes, methods, etc.), and Incorrect use of the Flex component lifecycle (commitProperties, etc.).&lt;br /&gt;&lt;/div&gt;&lt;div style="color: black; font-family: Verdana, arial, sans-serif; font-size: 11px; font-weight: normal; line-height: 16px; margin-bottom: 16px; margin-left: 0px; margin-right: 0px; margin-top: 16px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;b&gt;&lt;a href="http://opensource.adobe.com/wiki/display/flexpmd/FlexPMD" style="color: #274dac; text-decoration: none;" title="FlexPMD"&gt;Home&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://opensource.adobe.com/wiki/display/flexpmd/Downloads" style="color: #274dac; text-decoration: none;" title="Downloads"&gt;Downloads&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://opensource.adobe.com/wiki/display/flexpmd/Get+Source+Code" style="color: #274dac; text-decoration: none;" title="Get Source Code"&gt;Source&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;h2 style="background-color: transparent; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: initial; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 20px; font-weight: bold; line-height: normal; margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2157740160912403437&amp;amp;postID=6933323423930687405" name="Projects-FlexUnit" style="color: #274dac; text-decoration: none;"&gt;&lt;/a&gt;FlexUnit&lt;/h2&gt;&lt;div style="color: black; font-family: Verdana, arial, sans-serif; font-size: 11px; font-weight: normal; line-height: 16px; margin-bottom: 16px; margin-left: 0px; margin-right: 0px; margin-top: 16px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;FlexUnit is a unit testing framework for Flex and ActionScript 3.0 applications and libraries. It mimics the functionality of JUnit, a Java unit testing framework, and comes with a graphical test runner.&lt;br /&gt;&lt;/div&gt;&lt;div style="color: black; font-family: Verdana, arial, sans-serif; font-size: 11px; font-weight: normal; line-height: 16px; margin-bottom: 16px; margin-left: 0px; margin-right: 0px; margin-top: 16px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;b&gt;&lt;a href="http://opensource.adobe.com/wiki/display/flexunit/FlexUnit" style="color: #274dac; text-decoration: none;" title="FlexUnit"&gt;Home&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://opensource.adobe.com/wiki/display/flexunit/Downloads" style="color: #274dac; text-decoration: none;" title="Downloads"&gt;Downloads&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://opensource.adobe.com/wiki/display/flexunit/Get+Source+Code" style="color: #274dac; text-decoration: none;" title="Get Source Code"&gt;Source&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;h2 style="background-color: transparent; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: initial; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 20px; font-weight: bold; line-height: normal; margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2157740160912403437&amp;amp;postID=6933323423930687405" name="Projects-GenericImageLibrary" style="color: #274dac; text-decoration: none;"&gt;&lt;/a&gt;Generic Image Library&lt;/h2&gt;&lt;div style="color: black; font-family: Verdana, arial, sans-serif; font-size: 11px; font-weight: normal; line-height: 16px; margin-bottom: 16px; margin-left: 0px; margin-right: 0px; margin-top: 16px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Generic Image Library (GIL) is a C++ generic library which allows for writing generic imaging algorithms with performance comparable to hand-writing for a particular image type.&lt;br /&gt;&lt;/div&gt;&lt;div style="color: black; font-family: Verdana, arial, sans-serif; font-size: 11px; font-weight: normal; line-height: 16px; margin-bottom: 16px; margin-left: 0px; margin-right: 0px; margin-top: 16px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;b&gt;&lt;a href="http://opensource.adobe.com/wiki/display/gil/Generic+Image+Library" style="color: #274dac; text-decoration: none;" title="Generic Image Library"&gt;Home&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://opensource.adobe.com/wiki/display/gil/Downloads" style="color: #274dac; text-decoration: none;" title="Downloads"&gt;Downloads&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://opensource.adobe.com/wiki/display/gil/Developer+Documentation" style="color: #274dac; text-decoration: none;" title="Developer Documentation"&gt;Documentation&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;h2 style="background-color: transparent; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: initial; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 20px; font-weight: bold; line-height: normal; margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2157740160912403437&amp;amp;postID=6933323423930687405" name="Projects-OpenSourceMediaFramework" style="color: #274dac; text-decoration: none;"&gt;&lt;/a&gt;Open Source Media Framework&lt;/h2&gt;&lt;div style="color: black; font-family: Verdana, arial, sans-serif; font-size: 11px; font-weight: normal; line-height: 16px; margin-bottom: 16px; margin-left: 0px; margin-right: 0px; margin-top: 16px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Open Source Media Framework enables developers to easily assemble pluggable components to create high-quality, full-featured playback experiences. The open aspect of the framework enables collaborative development for web video monetization, with lower costs and faster turnaround.&lt;br /&gt;&lt;/div&gt;&lt;div style="color: black; font-family: Verdana, arial, sans-serif; font-size: 11px; font-weight: normal; line-height: 16px; margin-bottom: 16px; margin-left: 0px; margin-right: 0px; margin-top: 16px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;b&gt;&lt;a href="http://opensource.adobe.com/wiki/display/osmf/Open+Source+Media+Framework" style="color: #274dac; text-decoration: none;" title="Open Source Media Framework"&gt;Home&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://opensource.adobe.com/wiki/display/osmf/Downloads" style="color: #274dac; text-decoration: none;" title="Downloads"&gt;Downloads&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://opensource.adobe.com/wiki/display/osmf/Get+Source+Code" style="color: #274dac; text-decoration: none;" title="Get Source Code"&gt;Source&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://opensource.adobe.com/wiki/display/osmf/Developer+Documentation" style="color: #274dac; text-decoration: none;" title="Developer Documentation"&gt;Documentation&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;h2 style="background-color: transparent; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: initial; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 20px; font-weight: bold; line-height: normal; margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2157740160912403437&amp;amp;postID=6933323423930687405" name="Projects-AdobeMediaGallery" style="color: #274dac; text-decoration: none;"&gt;&lt;/a&gt;Adobe Media Gallery&lt;/h2&gt;&lt;div style="color: black; font-family: Verdana, arial, sans-serif; font-size: 11px; font-weight: normal; line-height: 16px; margin-bottom: 16px; margin-left: 0px; margin-right: 0px; margin-top: 16px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;The Adobe Media Gallery (AMG) is a Flash web photo and video gallery whose appearance and behavior can be customized via XML files.&lt;br /&gt;&lt;/div&gt;&lt;div style="color: black; font-family: Verdana, arial, sans-serif; font-size: 11px; font-weight: normal; line-height: 16px; margin-bottom: 16px; margin-left: 0px; margin-right: 0px; margin-top: 16px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;b&gt;&lt;a href="http://stlab.adobe.com/amg/" style="color: #274dac; text-decoration: none;" target="_blank"&gt;Home&lt;sup&gt;&lt;img align="absmiddle" alt="" border="0" class="rendericon" height="9" src="http://opensource.adobe.com/images/icons/openwin_icon.gif" width="11" /&gt;&lt;/sup&gt;&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://sourceforge.net/project/showfiles.php?group_id=177593" style="color: #274dac; text-decoration: none;" target="_blank"&gt;Downloads&lt;sup&gt;&lt;img align="absmiddle" alt="" border="0" class="rendericon" height="9" src="http://opensource.adobe.com/images/icons/openwin_icon.gif" width="11" /&gt;&lt;/sup&gt;&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://stlab.adobe.com/amg/amg_perforce_depot.html" style="color: #274dac; text-decoration: none;" target="_blank"&gt;Source&lt;sup&gt;&lt;img align="absmiddle" alt="" border="0" class="rendericon" height="9" src="http://opensource.adobe.com/images/icons/openwin_icon.gif" width="11" /&gt;&lt;/sup&gt;&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://stlab.adobe.com/amg/amg_documentation.html" style="color: #274dac; text-decoration: none;" target="_blank"&gt;Documentation&lt;sup&gt;&lt;img align="absmiddle" alt="" border="0" class="rendericon" height="9" src="http://opensource.adobe.com/images/icons/openwin_icon.gif" width="11" /&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;h2 style="background-color: transparent; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: initial; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 20px; font-weight: bold; line-height: normal; margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2157740160912403437&amp;amp;postID=6933323423930687405" name="Projects-AdobeSourceLibraries" style="color: #274dac; text-decoration: none;"&gt;&lt;/a&gt;Adobe Source Libraries&lt;/h2&gt;&lt;div style="color: black; font-family: Verdana, arial, sans-serif; font-size: 11px; font-weight: normal; line-height: 16px; margin-bottom: 16px; margin-left: 0px; margin-right: 0px; margin-top: 16px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;The Adobe Source Libraries (ASL) are a collection of C++ libraries building foundation technology to allow the construction of commercial applications by assembling generic algorithms through declarative descriptions. Updates monthly.&lt;br /&gt;&lt;/div&gt;&lt;div style="color: black; font-family: Verdana, arial, sans-serif; font-size: 11px; font-weight: normal; line-height: 16px; margin-bottom: 16px; margin-left: 0px; margin-right: 0px; margin-top: 16px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;b&gt;&lt;a href="http://stlab.adobe.com/" style="color: #274dac; text-decoration: none;" target="_blank"&gt;Home&lt;sup&gt;&lt;img align="absmiddle" alt="" border="0" class="rendericon" height="9" src="http://opensource.adobe.com/images/icons/openwin_icon.gif" width="11" /&gt;&lt;/sup&gt;&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://sourceforge.net/project/showfiles.php?group_id=132417&amp;amp;package_id=145420" style="color: #274dac; text-decoration: none;" target="_blank"&gt;Downloads&lt;sup&gt;&lt;img align="absmiddle" alt="" border="0" class="rendericon" height="9" src="http://opensource.adobe.com/images/icons/openwin_icon.gif" width="11" /&gt;&lt;/sup&gt;&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://stlab.adobe.com/asl_download_perforce.html" style="color: #274dac; text-decoration: none;" target="_blank"&gt;Source&lt;sup&gt;&lt;img align="absmiddle" alt="" border="0" class="rendericon" height="9" src="http://opensource.adobe.com/images/icons/openwin_icon.gif" width="11" /&gt;&lt;/sup&gt;&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://stlab.adobe.com/asl_toc.html" style="color: #274dac; text-decoration: none;" target="_blank"&gt;Documentation&lt;sup&gt;&lt;img align="absmiddle" alt="" border="0" class="rendericon" height="9" src="http://opensource.adobe.com/images/icons/openwin_icon.gif" width="11" /&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;h2 style="background-color: transparent; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: initial; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 20px; font-weight: bold; line-height: normal; margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2157740160912403437&amp;amp;postID=6933323423930687405" name="Projects-Tamarin" style="color: #274dac; text-decoration: none;"&gt;&lt;/a&gt;Tamarin&lt;/h2&gt;&lt;div style="color: black; font-family: Verdana, arial, sans-serif; font-size: 11px; font-weight: normal; line-height: 16px; margin-bottom: 16px; margin-left: 0px; margin-right: 0px; margin-top: 16px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;The Tamarin project, which is based on code contributed from Adobe, is designed to implement an open engine for ActionScript. Tamarin will be used by Mozilla within the next generation of SpiderMonkey, the core JavaScript engine embedded in Firefox®, Mozilla's free Web browser, as well as within the ActionScript™ Virtual Machine within Adobe® Flash® Player. Developers interested in working on Tamarin code in the Mozilla CVS repository via the project page located at www.mozilla.org/projects/tamarin/. Contributions to the code will be managed by a governing body of developers from both Adobe and Mozilla.&lt;br /&gt;&lt;/div&gt;&lt;div style="color: black; font-family: Verdana, arial, sans-serif; font-size: 11px; font-weight: normal; line-height: 16px; margin-bottom: 16px; margin-left: 0px; margin-right: 0px; margin-top: 16px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;b&gt;&lt;a href="http://www.mozilla.org/projects/tamarin/" style="color: #274dac; text-decoration: none;" target="_blank"&gt;Home&lt;sup&gt;&lt;img align="absmiddle" alt="" border="0" class="rendericon" height="9" src="http://opensource.adobe.com/images/icons/openwin_icon.gif" width="11" /&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;h2 style="background-color: transparent; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: initial; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 20px; font-weight: bold; line-height: normal; margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2157740160912403437&amp;amp;postID=6933323423930687405" name="Projects-TextLayoutFramework" style="color: #274dac; text-decoration: none;"&gt;&lt;/a&gt;Text Layout Framework&lt;/h2&gt;&lt;div style="color: black; font-family: Verdana, arial, sans-serif; font-size: 11px; font-weight: normal; line-height: 16px; margin-bottom: 16px; margin-left: 0px; margin-right: 0px; margin-top: 16px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;The Text Layout Framework is an extensible ActionScript library, built on the new text engine in Adobe Flash Player 10 and Adobe AIR 1.5, which delivers advanced, easy-to-integrate typographic and text layout features for rich, sophisticated and innovative typography on the web. The framework is designed to be used with Adobe Flex or Adobe Flash Professional and is included in Flex 4, code named "Gumbo". Developers can use or extend existing components, or use the framework to create their own text components.&lt;br /&gt;&lt;/div&gt;&lt;div style="color: black; font-family: Verdana, arial, sans-serif; font-size: 11px; font-weight: normal; line-height: 16px; margin-bottom: 16px; margin-left: 0px; margin-right: 0px; margin-top: 16px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;b&gt;&lt;a href="http://opensource.adobe.com/wiki/display/tlf/Text+Layout+Framework" style="color: #274dac; text-decoration: none;" title="Text Layout Framework"&gt;Home&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;h2 style="background-color: transparent; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: initial; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 20px; font-weight: bold; line-height: normal; margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2157740160912403437&amp;amp;postID=6933323423930687405" name="Projects-Webkit" style="color: #274dac; text-decoration: none;"&gt;&lt;/a&gt;Webkit&lt;/h2&gt;&lt;div style="color: black; font-family: Verdana, arial, sans-serif; font-size: 11px; font-weight: normal; line-height: 16px; margin-bottom: 16px; margin-left: 0px; margin-right: 0px; margin-top: 16px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;The WebKit library is used to render HTML and execute JavaScript in Adobe® AIR™. Adobe AIR allows web developers to deploy rich Internet applications on the desktop. Our plan is to contribute our changes back to the WebKit community in the near future. We are currently working on getting the code smoothly integrated into the WebKit source tree. We hope to make our contributions included in the WebKit open source project soon.&lt;br /&gt;&lt;/div&gt;&lt;div style="color: black; font-family: Verdana, arial, sans-serif; font-size: 11px; font-weight: normal; line-height: 16px; margin-bottom: 16px; margin-left: 0px; margin-right: 0px; margin-top: 16px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;b&gt;&lt;a href="http://opensource.adobe.com/wiki/display/webkit/Webkit" style="color: #274dac; text-decoration: none;" title="Webkit"&gt;Home&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://stlab.adobe.com/perforce/" style="color: #274dac; text-decoration: none;" target="_blank"&gt;Source&lt;sup&gt;&lt;img align="absmiddle" alt="" border="0" class="rendericon" height="9" src="http://opensource.adobe.com/images/icons/openwin_icon.gif" width="11" /&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2157740160912403437-6933323423930687405?l=thulasiram-soft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thulasiram-soft.blogspot.com/feeds/6933323423930687405/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thulasiram-soft.blogspot.com/2008/09/resume.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2157740160912403437/posts/default/6933323423930687405'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2157740160912403437/posts/default/6933323423930687405'/><link rel='alternate' type='text/html' href='http://thulasiram-soft.blogspot.com/2008/09/resume.html' title='Adobe Flex Frameworks'/><author><name>Thulasiram</name><uri>http://www.blogger.com/profile/16015182526583065651</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2157740160912403437.post-5213210217836011571</id><published>2009-09-01T02:38:00.014+05:30</published><updated>2009-11-30T01:54:37.419+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Flasm'/><title type='text'>command line assembler/disassembler of Flash ActionScript bytecode (Flasm)</title><content type='html'>&lt;span style="font-family: Georgia; font-style: italic; line-height: 20px;"&gt;&lt;br /&gt;Flasm is a free command line assembler/disassembler of Flash ActionScript bytecode. It lets you make changes to any SWF. Flasm fully supports SWFs produced by Macromedia Flash 8 and earlier Flash versions.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Georgia;"&gt;&lt;span style="line-height: 20px;"&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Georgia;"&gt;&lt;span style="line-height: 20px;"&gt;&lt;i&gt;&lt;span style="color: #001144; font-style: normal; line-height: 22px;"&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Georgia;"&gt;&lt;i&gt;&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Georgia;"&gt;&lt;i&gt;&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Georgia;"&gt;&lt;i&gt;&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Georgia;"&gt;&lt;i&gt;&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Georgia;"&gt;&lt;i&gt;&lt;h3 style="color: #001455;"&gt;About&lt;/h3&gt;Flasm disassembles your entire SWF including all the timelines and events. Looking at disassembly, you learn how the Flash compiler works, which improves your ActionScript skills. You can also do some&amp;nbsp;&lt;a href="http://flasm.sourceforge.net/#optimization" style="color: #fd4d30; text-decoration: none;"&gt;optimizations&lt;/a&gt;&amp;nbsp;on the disassembled code by hand or adjust the code as you wish. Flasm then applies your changes to the original SWF, replacing original actions.It's also possible to&amp;nbsp;&lt;a href="http://flasm.sourceforge.net/#embedding" style="color: #fd4d30; text-decoration: none;"&gt;embed Flasm actions&lt;/a&gt;&amp;nbsp;in your ActionScript, making optimizing of large projects more comfortable.&lt;br /&gt;Flasm is not a decompiler. What you get is the human readable representation of SWF bytecodes, not ActionScript source. If you're looking for a decompiler,&lt;a href="http://www.nowrap.de/flare.html" style="color: #fd4d30; text-decoration: none;"&gt;Flare&lt;/a&gt;&amp;nbsp;may suit your needs. However, Flare can't alter the SWF.&lt;br /&gt;Page too long? You don't have to read it all. First, make yourself familiar with&amp;nbsp;&lt;a href="http://flasm.sourceforge.net/#usage" style="color: #fd4d30; text-decoration: none;"&gt;usage&lt;/a&gt;. Then read&amp;nbsp;&lt;a href="http://flasm.sourceforge.net/#flashvm" style="color: #fd4d30; text-decoration: none;"&gt;flash virtual machine&lt;/a&gt;&amp;nbsp;topic to understand the concept of registers and stack. Disassemble some of your SWFs, starting with simpler ones, to see the inner workings of the Flash compiler. The rest of this page tries to address questions you may have at this point.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3 style="color: #001455;"&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2157740160912403437&amp;amp;postID=5213210217836011571" name="download" style="color: #fd4d30; text-decoration: none;"&gt;&lt;/a&gt;Download&lt;/h3&gt;Most recent Flasm version is&amp;nbsp;&lt;b&gt;1.62&lt;/b&gt;.Windows binary:&amp;nbsp;&amp;nbsp;&lt;a href="http://www.nowrap.de/download/flasm16win.zip" style="color: #fd4d30; text-decoration: none;"&gt;flasm16win.zip&lt;/a&gt;&lt;br /&gt;Mac OS X binary:&amp;nbsp;&amp;nbsp;&lt;a href="http://www.nowrap.de/download/flasm16mac.tgz" style="color: #fd4d30; text-decoration: none;"&gt;flasm16mac.tgz&lt;/a&gt;&lt;br /&gt;Linux x86 binary:&amp;nbsp;&amp;nbsp;&lt;a href="http://www.nowrap.de/download/flasm16linux.tgz" style="color: #fd4d30; text-decoration: none;"&gt;flasm16linux.tgz&lt;/a&gt;&lt;br /&gt;There is no installation procedure. Just create a folder named&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;flasm&lt;/code&gt;&amp;nbsp;somewhere and unpack the archive there. To uninstall, delete the folder and you're done. Flasm doesn't touch your system files or registry.&lt;br /&gt;&lt;b&gt;Third-party distributions and translations&lt;/b&gt;&lt;br /&gt;FreeBSD port is maintained by Jun Kuriyama,&amp;nbsp;&lt;a href="http://shield.jp/~dseg/rpms/flasm/" style="color: #fd4d30; text-decoration: none;"&gt;Redhat RPMs&lt;/a&gt;&amp;nbsp;are built by Daichi Shinozaki. They may be some versions behind the current and are not tested by me. If something goes wrong, please contact the maintainers. Jaco has translated Flasm manual&amp;nbsp;&lt;a href="http://www.pixeldump.org/index.php?blog=1&amp;amp;p=58" style="color: #fd4d30; text-decoration: none;"&gt;into Italian.&lt;/a&gt;&lt;br /&gt;&lt;b&gt;Want to compile from sources?&lt;/b&gt;&lt;br /&gt;Source code, platform independent:&amp;nbsp;&lt;a href="http://www.nowrap.de/download/flasm16src.zip" style="color: #fd4d30; text-decoration: none;"&gt;flasm16src.zip&lt;/a&gt;&lt;br /&gt;You will need gcc or cc compiler with&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;flex&lt;/code&gt;,&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;bison&lt;/code&gt;,&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;gperf&lt;/code&gt;,&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;zlib&lt;/code&gt;&amp;nbsp;and&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;zlib-devel&lt;/code&gt;&amp;nbsp;packages installed. It should compile well without any changes. Tested on Windows 2000 (&lt;a href="http://www.cygwin.com/" style="color: #fd4d30; text-decoration: none;"&gt;Cygwin&lt;/a&gt;), Mac OS X, and Linux. For Cygwin, please install&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;mingw&lt;/code&gt;,&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;mingw-runtime&lt;/code&gt;&amp;nbsp;and&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;mingw-zlib&lt;/code&gt;&amp;nbsp;packages too. On Windows,&amp;nbsp;&lt;nobr&gt;MS Visual C++&lt;/nobr&gt;&amp;nbsp;and other not entirely POSIX compatible compilers will require plenty of changes to the source. Consider Cygwin.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3 style="color: #001455;"&gt;Usage&lt;/h3&gt;Flasm is a command line tool. To use it, you have to open DOS window first (Windows). On Mac OS X, open terminal window:&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;Applications/Utilities/Terminal&lt;/code&gt;. Then go to the Flasm folder with&amp;nbsp;&lt;nobr&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;cd c:\Flasm&lt;/code&gt;&lt;/nobr&gt;&amp;nbsp;(Windows)&amp;nbsp; or&amp;nbsp;&lt;nobr&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;cd /flasm&lt;/code&gt;&lt;/nobr&gt;&amp;nbsp;(Mac/Linux), assuming you saved it here. To execute Flasm, simply type in&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;flasm&lt;/code&gt;(Windows) or&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;./flasm&lt;/code&gt;&amp;nbsp;(Mac/Linux). Called without arguments, Flasm will show you the list of possible commands described below.&lt;code style="color: #666666; font-size: 12px;"&gt;flasm&amp;nbsp;&lt;i&gt;command filename&lt;/i&gt;&lt;/code&gt;&lt;br /&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;&lt;i&gt;command&lt;/i&gt;&lt;/code&gt;&lt;br /&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;-d&lt;/code&gt;&amp;nbsp;&amp;nbsp; Disassemble SWF file to the console&lt;br /&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;-a&lt;/code&gt;&amp;nbsp;&amp;nbsp; Assemble Flasm project&lt;br /&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;-u&lt;/code&gt;&amp;nbsp;&amp;nbsp; Update SWF file, replace Flasm macros&lt;br /&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;-b&lt;/code&gt;&amp;nbsp;&amp;nbsp; Assemble actions to&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;__bytecode__()&lt;/code&gt;&amp;nbsp;instruction or byte sequence&lt;br /&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;-z&lt;/code&gt;&amp;nbsp;&amp;nbsp; Compress SWF with zlib&lt;br /&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;-x&lt;/code&gt;&amp;nbsp;&amp;nbsp; Decompress SWF&lt;br /&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;-d foo.swf&lt;/code&gt;&lt;br /&gt;Disassemble&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;foo.swf&lt;/code&gt;&amp;nbsp;to the console.&amp;nbsp;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2157740160912403437&amp;amp;postID=5213210217836011571" name="offsets" style="color: #fd4d30; text-decoration: none;"&gt;&lt;/a&gt;To see action offsets in disassembly set&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;showoffset&lt;/code&gt;&amp;nbsp;and&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;hexoffset&lt;/code&gt;&amp;nbsp;options in&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;flasm.ini&lt;/code&gt;.&lt;br /&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;-d foo.swf &amp;gt; foo.flm&lt;/code&gt;&lt;br /&gt;Disassemble&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;foo.swf&lt;/code&gt;, redirect the output to&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;foo.flm&lt;/code&gt;. Calling Flasm without a command on a&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;.swf&lt;/code&gt;&amp;nbsp;file has the same effect.&lt;br /&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;-a foo.flm&lt;/code&gt;&lt;br /&gt;Assemble&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;foo.flm&lt;/code&gt;&amp;nbsp;and update the SWF&amp;nbsp;&lt;a href="http://flasm.sourceforge.net/#moviename" style="color: #fd4d30; text-decoration: none;"&gt;defined inside.&lt;/a&gt;&amp;nbsp;Calling Flasm without a command on a&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;.flm&lt;/code&gt;&amp;nbsp;file has the same effect.&lt;br /&gt;The backup of original SWF is created with&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;.$wf&lt;/code&gt;&amp;nbsp;extension.&lt;br /&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;-u foo.swf&lt;/code&gt;&lt;br /&gt;Disassemble&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;foo.swf&lt;/code&gt;&amp;nbsp;to the temporary file.&lt;br /&gt;Execute&amp;nbsp;&lt;a href="http://flasm.sourceforge.net/#embedding" style="color: #fd4d30; text-decoration: none;"&gt;Flasm macros&lt;/a&gt;&amp;nbsp;embedded in SWF.&lt;br /&gt;Make trivial optimizations automatically: remove&amp;nbsp;&lt;a href="http://flasm.sourceforge.net/#doublenots" style="color: #fd4d30; text-decoration: none;"&gt;double nots&lt;/a&gt;,&amp;nbsp;&lt;a href="http://flasm.sourceforge.net/#replace0" style="color: #fd4d30; text-decoration: none;"&gt;replace&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;0.0&lt;/code&gt;&amp;nbsp;with&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;0&lt;/code&gt;&lt;/a&gt;,&amp;nbsp;&lt;a href="http://flasm.sourceforge.net/#rebuildconstants" style="color: #fd4d30; text-decoration: none;"&gt;rebuild constant pools&lt;/a&gt;,&amp;nbsp;&lt;a href="http://flasm.sourceforge.net/#clearregisterargs" style="color: #fd4d30; text-decoration: none;"&gt;clear register arguments&lt;/a&gt;.&lt;br /&gt;Create&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;.$wf&lt;/code&gt;&amp;nbsp;backup, update the original SWF.&lt;br /&gt;It's a good idea to update the final version of SWF with&amp;nbsp;&lt;nobr&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;flasm -u&lt;/code&gt;.&lt;/nobr&gt;&amp;nbsp;Don't expect the SWF to be noticeably faster, it will just make it a bit smaller.&lt;br /&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2157740160912403437&amp;amp;postID=5213210217836011571" name="bmode" style="color: #fd4d30; text-decoration: none;"&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;-b foo.txt&lt;/code&gt;&lt;/a&gt;&lt;br /&gt;produce&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;&lt;a href="http://flasm.sourceforge.net/#__bytecode__" style="color: #fd4d30; text-decoration: none;"&gt;__bytecode__&lt;/a&gt;&lt;/code&gt;&amp;nbsp;instruction or byte sequence, depending on&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;boutput&lt;/code&gt;&amp;nbsp;setting in&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;flasm.ini&lt;/code&gt;. Takes as input a simple action list without any&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;movie&lt;/code&gt;&amp;nbsp;or&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;frame&lt;/code&gt;declarations. Output is sent to console. Redirect it to file if you wish:&amp;nbsp;&lt;nobr&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;flasm -b foo.txt &amp;gt; foo.as&lt;/code&gt;&lt;/nobr&gt;&amp;nbsp;When&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;boutput&lt;/code&gt;&amp;nbsp;is set to&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;1&lt;/code&gt;, Flasm produces binary output&amp;nbsp;— probably of use for inserting raw action chunks into swf files build by other tools on server.&lt;br /&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;-x foo.swf&lt;/code&gt;&lt;br /&gt;Decompress&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;foo.swf&lt;/code&gt;, create&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;.$wf&lt;/code&gt;&amp;nbsp;backup.&lt;br /&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;-z foo.swf&lt;/code&gt;&lt;br /&gt;Compress&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;foo.swf&lt;/code&gt;, create&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;.$wf&lt;/code&gt;&amp;nbsp;backup. Source SWF doesn't have to be Flash MX file. However, only Flash MX and later players will be able to play the resulting compressed file.&lt;br /&gt;Flasm settings are read from the configuration file&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;flasm.ini&lt;/code&gt;. Available options are commented in&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;flasm.ini&lt;/code&gt;&amp;nbsp;and explained at appropriate places in the documentation.&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;flasm.ini&lt;/code&gt;&amp;nbsp;is searched for in the working directory and, if not found, in the directory where the Flasm binary resides.&lt;br /&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2157740160912403437&amp;amp;postID=5213210217836011571" name="logfile" style="color: #fd4d30; text-decoration: none;"&gt;&lt;/a&gt;All errors and warnings go to the console. If you want to log them in a file instead, uncomment&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;logto&lt;/code&gt;&amp;nbsp;option in&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;flasm.ini&lt;/code&gt;&amp;nbsp;and enter the desired log file name there. Set&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;logmode&lt;/code&gt;&amp;nbsp;option to&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;0&lt;/code&gt;&amp;nbsp;(default) to append new messages to the log file. If&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;logmode&lt;/code&gt;&amp;nbsp;is set to&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;1&lt;/code&gt;&amp;nbsp;the log file will be overwritten each time you run Flasm.&lt;br /&gt;If you like Flasm and use it often, you may want to add it to Windows right-click context menu for SWF files. The explanation is for Windows 2000, but it should work with minor changes for any Windows version.&lt;br /&gt;Start Windows Explorer. Select&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;View, Folder Options,&lt;/code&gt;&amp;nbsp;click the&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;File Types&lt;/code&gt;&amp;nbsp;tab, and choose&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;Flash player movie&lt;/code&gt;&amp;nbsp;(or similar) type, which stands for SWF file extension. Click&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;Edit&lt;/code&gt;&amp;nbsp;button, then click&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;New&lt;/code&gt;&amp;nbsp;button. In the&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;Action&lt;/code&gt;&amp;nbsp;field enter&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;Disassemble&lt;/code&gt;. Click the&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;Browse&lt;/code&gt;&amp;nbsp;button, navigate to the Flasm's folder, and double-click on&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;flasm.exe&lt;/code&gt;. No parameters are needed. Click&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;OK, Close,&lt;/code&gt;&amp;nbsp;and&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;Close&lt;/code&gt;&amp;nbsp;again. Now right click on any SWF and choose&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;Disassemble&lt;/code&gt;. The disassembly of&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;somename.swf&lt;/code&gt;&amp;nbsp;will be stored in file&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;somename.flm&lt;/code&gt;&amp;nbsp;in SWF's folder. Further automating is possible, adding&amp;nbsp;&lt;nobr&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;flasm -u&lt;/code&gt;&lt;/nobr&gt;&amp;nbsp;for updating SWFs or&amp;nbsp;&lt;nobr&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;flasm -a&lt;/code&gt;&lt;/nobr&gt;&amp;nbsp;for assembling flm files.&lt;br /&gt;If you don't want to do that, look at&amp;nbsp;&lt;a href="http://flasm.sourceforge.net/#winflasm" style="color: #fd4d30; text-decoration: none;"&gt;WinFlasm&lt;/a&gt;&amp;nbsp;— simple windows GUI wrapper for Flasm. Note WinFlasm is old and does not support all Flasm commands.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3 style="color: #001455;"&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2157740160912403437&amp;amp;postID=5213210217836011571" name="flashvm" style="color: #fd4d30; text-decoration: none;"&gt;&lt;/a&gt;Flash virtual machine&lt;/h3&gt;&lt;a href="http://flasm.sourceforge.net/#stack" style="color: #fd4d30; text-decoration: none;"&gt;Stack&lt;/a&gt;&lt;br /&gt;&lt;a href="http://flasm.sourceforge.net/#constants" style="color: #fd4d30; text-decoration: none;"&gt;Constant pool&lt;/a&gt;&lt;br /&gt;&lt;a href="http://flasm.sourceforge.net/#registers" style="color: #fd4d30; text-decoration: none;"&gt;Global&amp;nbsp;registers&lt;/a&gt;&lt;br /&gt;&lt;a href="http://flasm.sourceforge.net/#lregisters" style="color: #fd4d30; text-decoration: none;"&gt;Local&amp;nbsp;registers&lt;/a&gt;&lt;br /&gt;Every ActionScript statement is compiled by Flash into a couple of simple bytecode actions. For example,&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;a=b*b;&lt;/code&gt;&amp;nbsp;is transformed into&lt;br /&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;constants 'a', 'b'&lt;br /&gt;push 'a', 'b'&lt;br /&gt;getVariable&lt;br /&gt;push 'b'&lt;br /&gt;getVariable&lt;br /&gt;multiply&lt;br /&gt;setVariable&lt;/code&gt;&lt;br /&gt;The bytecodes are stored in SWF in binary form. They are interpreted by the&amp;nbsp;&lt;i&gt;virtual machine&lt;/i&gt;&amp;nbsp;of the Flash Player. The code above is the visual representation of the bytecodes, created by Flasm.&lt;br /&gt;I'll call actions inside of a frame or event&amp;nbsp;&lt;i&gt;action blocks.&lt;/i&gt;&amp;nbsp;Flash executes action blocks one after another, so the execution flow inside of a block is&amp;nbsp;&lt;i&gt;never&lt;/i&gt;interrupted, neither by event nor by&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;gotoAndPlay()&lt;/code&gt;&amp;nbsp;or similar actions. Real parallel execution would be nicer? I'm sure it would dramatically affect player stability, which is great now, considering all things going on in a complex movie.&lt;br /&gt;&lt;b&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2157740160912403437&amp;amp;postID=5213210217836011571" name="stack" style="color: #fd4d30; text-decoration: none;"&gt;&lt;/a&gt;Stack&lt;/b&gt;&lt;br /&gt;Flash virtual machine is stack based, you can not refer to the particular memory location. The stack is a place in memory where data can be stored so that the last entered (pushed) value will be extracted (popped) first from the stack. Every command reads (and pops) operands from stack and pushes the result (if any) onto the stack.&lt;br /&gt;The stack may contain elements of arbitrary type&amp;nbsp;— integers, strings, floats and some others. If needed, type conversion happens during execution&amp;nbsp;— like in ActionScript. Often there's no difference between the string&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;'10'&lt;/code&gt;, integer&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;10&lt;/code&gt;&amp;nbsp;or double&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;10.0&lt;/code&gt;.&lt;br /&gt;Further stack explanation by Robert Penner:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;If you're familiar with&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;Array.push&lt;/code&gt;&amp;nbsp;and&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;Array.pop&lt;/code&gt;, those commands are similar to stack manipulations. The stack is like an array of values, except you can only access the value on top, push another value onto the top, or swap the top two values.&lt;br /&gt;For instance, to add two numbers, you have to push both of them onto the stack, then call&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;add&lt;/code&gt;. The&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;add&lt;/code&gt;&amp;nbsp;command will pop the top two values off the stack, add them together, and push the value onto the stack.&lt;br /&gt;&lt;/blockquote&gt;The&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;pop&lt;/code&gt;&amp;nbsp;action leads to no errors if the stack is empty. The special&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;UNDEF&lt;/code&gt;&amp;nbsp;value is popped then, that corresponds to the ActionScript's&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;undefined&lt;/code&gt;.&lt;br /&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2157740160912403437&amp;amp;postID=5213210217836011571" name="dupswap" style="color: #fd4d30; text-decoration: none;"&gt;&lt;/a&gt;These two actions give you additional functionality for stack handling:&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;dup&lt;/code&gt;&amp;nbsp;and&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;swap&lt;/code&gt;.&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;dup&lt;/code&gt;&amp;nbsp;duplicates the value on top of the stack,&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;swap&lt;/code&gt;&amp;nbsp;swaps the two topmost values. Currently Flash doesn't use&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;dup&lt;/code&gt;&amp;nbsp;and&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;swap&lt;/code&gt;&amp;nbsp;very often as you'll see in disassembly, but they are of great importance for&amp;nbsp;&lt;a href="http://flasm.sourceforge.net/#optimization" style="color: #fd4d30; text-decoration: none;"&gt;optimization&lt;/a&gt;.&lt;br /&gt;Every ActionScript statement, regardless of its complexity, leaves the stack empty after execution. In Flash IDE you don't see the bytecodes and don't have to worry about it. Making changes to bytecodes with Flasm, however, you should always count what's on stack. Improper stack manipulation often doesn't lead to any errors in Flash player. You will not see the 10.000 dead stack entries your loop produced, but the execution will slow down and the SWF probably runs out of memory at some point.&lt;br /&gt;The stack was global in Flash 5. If the value was pushed in frame 1, frame 5 could trace it successfully. It was accessible in movie clips too. With Flash MX the situation changed: Flash Players 6 and 7 flush stack contents after every action block.&lt;br /&gt;&lt;b&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2157740160912403437&amp;amp;postID=5213210217836011571" name="constants" style="color: #fd4d30; text-decoration: none;"&gt;&lt;/a&gt;Constant pool&lt;/b&gt;&lt;br /&gt;At the beginning of every action block where variables, methods or strings are used more than once, Flash creates so called&amp;nbsp;&lt;i&gt;constant pool&lt;/i&gt;. In fact, if at least one variable is used twice, the pool is created for all strings in the block. Here is an example:&lt;br /&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;constants 'bottom', 'paused', 'aliensleft', 'fire'&lt;/code&gt;&lt;br /&gt;Constant pool can hold up to 65535 strings (in theory). These can be addressed later in your actions with 1 byte (first 256 strings in the pool) or 2 byte (the rest of the pool) reference. Commonly no more than 256 strings are stored, so you rarely meet 2 byte references in SWF. Practically the number of strings is limited by overall size of&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;constants&lt;/code&gt;&amp;nbsp;action, which can't exceed 65535 bytes like any other action.&lt;br /&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2157740160912403437&amp;amp;postID=5213210217836011571" name="constrefs" style="color: #fd4d30; text-decoration: none;"&gt;&lt;/a&gt;Flasm disassembler abstracts constant references away by default. They are showed as strings. To see actual references in disassembly, set&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;literalconstants&lt;/code&gt;option in&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;flasm.ini&lt;/code&gt;&amp;nbsp;to&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;0&lt;/code&gt;. The difference between strings and constant pool members will be obvious then.&lt;br /&gt;Writing&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;push c:1&lt;/code&gt;&amp;nbsp;after the above&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;constants&lt;/code&gt;&amp;nbsp;definition means&amp;nbsp;&lt;i&gt;push second constant from the pool&lt;/i&gt;&amp;nbsp;(counting from 0). Writing&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;push 'paused'&lt;/code&gt;&amp;nbsp;will in turn have the same effect, because Flasm finds the constant in the pool automatically and substitutes string with reference during assembly.&lt;br /&gt;If no previous constant pool declaration is found in the same action block, however, the string&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;'paused'&lt;/code&gt;&amp;nbsp;will be pushed as is. The difference is in code size only, not in execution speed&amp;nbsp;— naturally, the string&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;'paused'&lt;/code&gt;&amp;nbsp;takes five bytes more than one-byte reference. Don't forget to add your strings to the constant pool.&lt;br /&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2157740160912403437&amp;amp;postID=5213210217836011571" name="rebuildconstants" style="color: #fd4d30; text-decoration: none;"&gt;&lt;/a&gt;In update mode&amp;nbsp;&lt;nobr&gt;(&lt;code style="color: #666666; font-size: 12px;"&gt;flasm -u foo.swf&lt;/code&gt;)&lt;/nobr&gt;&amp;nbsp;Flasm rebuilds all constants, removing empty strings and those referenced only once.&lt;br /&gt;The constant pool defined at the start of the frame is valid for every function in this frame. I've never seen constants defined in functions in disassembly. Every event has its own constant pool though.&lt;br /&gt;Although Flash itself never redefines constant pool in the middle of the action block, theoretically you're allowed to do this. Flasm disassembler versions &amp;lt; 1.52 couldn't really deal with multiple constant pools. Flasm 1.52 will show constant references in&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;c:xx&lt;/code&gt;&amp;nbsp;form. To always show strings (resembles Flasm &amp;lt; 1.52 behavior, may be inaccurate) set&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;literalconstants&lt;/code&gt;&amp;nbsp;to&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;2&lt;/code&gt;.&lt;br /&gt;&lt;b&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2157740160912403437&amp;amp;postID=5213210217836011571" name="registers" style="color: #fd4d30; text-decoration: none;"&gt;&lt;/a&gt;Global registers&lt;/b&gt;&lt;br /&gt;Flash virtual machine has 4 global registers that are addressed&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;r:0, r:1, r:2, r:3&lt;/code&gt;. Accessing variables is much slower than accessing registers, so you should store your most used variables there. Flash versions before MX 2004 only used&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;r:0&lt;/code&gt;, so there was enough room for optimization. Flash MX 2004's compiler, however, may substitute local variables with other registers&amp;nbsp;— a very good reason to use local variables in ActionScript.&lt;br /&gt;To store something in a register, you should first put this something onto the stack and then execute&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;setRegister&lt;/code&gt;&amp;nbsp;command:&lt;br /&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;push 'paused'&lt;br /&gt;getVariable&lt;br /&gt;setRegister r:1&lt;/code&gt;&lt;br /&gt;Now the value of variable&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;paused&lt;/code&gt;&amp;nbsp;is stored in&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;r:1&lt;/code&gt;. Instead of asking for&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;paused&lt;/code&gt;&amp;nbsp;next time, use&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;push r:1&lt;/code&gt;.&lt;br /&gt;&lt;b&gt;Note:&lt;/b&gt;&amp;nbsp;Unlike most other commands,&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;setRegister&lt;/code&gt;&amp;nbsp;does not pop the top value from stack! If you don't need the value stored in register to be on stack, you should manually&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;pop&lt;/code&gt;&amp;nbsp;it.&lt;br /&gt;The value of global register, defined in a particular frame on&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;_root&lt;/code&gt;, is available to all functions in this frame. If some function is defined or movie clip happens here, it can access or overwrite the register too. It looks like after the&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;showFrame&lt;/code&gt;&amp;nbsp;tag occurs in SWF, registers disappear. Generally you don't know what happens to the global register. Of course, calling function A from the middle of function B should leave registers untouched. Flash MX 2004's compiler takes care of it&amp;nbsp;— at the start of the function registers are saved on stack, at the end original values are restored. You should pay some attention here, too.&lt;br /&gt;&lt;b&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2157740160912403437&amp;amp;postID=5213210217836011571" name="lregisters" style="color: #fd4d30; text-decoration: none;"&gt;&lt;/a&gt;Local registers&lt;/b&gt;&lt;br /&gt;Inside of&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;&lt;a href="http://flasm.sourceforge.net/#function2" style="color: #fd4d30; text-decoration: none;"&gt;function2&lt;/a&gt;&lt;/code&gt;&amp;nbsp;(Flash Player 6.0.65 and above), and only there, up to 255 local registers exist&amp;nbsp;— from&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;r:0&lt;/code&gt;&amp;nbsp;to&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;r:254&lt;/code&gt;. Why not 256? In the&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;function2&lt;/code&gt;&amp;nbsp;header, the number of local registers used in this function is stored in a byte. At the start of&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;function2&lt;/code&gt;&amp;nbsp;the place for local registers is allocated somewhere in memory. The highest possible value for a byte is 255.&lt;br /&gt;Generally, you don't have to care about the number of allocated registers&amp;nbsp;— Flasm calculates this number automatically, and it's not shown in disassembly. Please take consequent registers numbers&amp;nbsp;— using&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;r:1&lt;/code&gt;&amp;nbsp;and&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;r:254&lt;/code&gt;&amp;nbsp;only forces Flasm and Flash Player to allocate 255 registers, which may have impact on memory.&lt;br /&gt;Since local registers are addressed by the same bytecodes as global registers&amp;nbsp;—&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;setRegister&lt;/code&gt;&amp;nbsp;and&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;push r:&lt;i&gt;something&lt;/i&gt;&lt;/code&gt;,&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;function2&lt;/code&gt;&amp;nbsp;has no access to the global registers. Even more confusing is the scope&amp;nbsp;— imagine you have&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;frame&amp;nbsp;A&lt;/code&gt;,&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;function2&amp;nbsp;B&lt;/code&gt;&amp;nbsp;inside of&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;A&lt;/code&gt;, and&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;function&amp;nbsp;C&lt;/code&gt;&amp;nbsp;inside of&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;B&lt;/code&gt;. Now&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;function2&amp;nbsp;B&lt;/code&gt;&amp;nbsp;nicely has its own set of registers, and is totally unaware of global registers. That's OK. But&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;function&amp;nbsp;C&lt;/code&gt;&amp;nbsp;will share four global registers with&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;frame&amp;nbsp;A&lt;/code&gt;!&lt;br /&gt;Besides of all that, local registers function just like global ones. There's no speed difference, too. To summarize: in SWF7 there are still four global registers everywhere outside&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;function2&lt;/code&gt;, but any&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;function2&lt;/code&gt;&amp;nbsp;may allocate a set of 255 local registers.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3 style="color: #001455;"&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2157740160912403437&amp;amp;postID=5213210217836011571" name="syntax" style="color: #fd4d30; text-decoration: none;"&gt;&lt;/a&gt;Assembler syntax&lt;/h3&gt;&lt;a href="http://flasm.sourceforge.net/#push" style="color: #fd4d30; text-decoration: none;"&gt;Data&amp;nbsp;types&amp;nbsp;and&amp;nbsp;push&lt;/a&gt;&lt;br /&gt;&lt;a href="http://flasm.sourceforge.net/#controlflow" style="color: #fd4d30; text-decoration: none;"&gt;Control&amp;nbsp;flow&lt;/a&gt;&lt;br /&gt;&lt;a href="http://flasm.sourceforge.net/#buttonevents" style="color: #fd4d30; text-decoration: none;"&gt;Button&amp;nbsp;events&lt;/a&gt;&lt;br /&gt;&lt;a href="http://flasm.sourceforge.net/#playhead" style="color: #fd4d30; text-decoration: none;"&gt;Play head&amp;nbsp;control&lt;/a&gt;&lt;br /&gt;&lt;a href="http://flasm.sourceforge.net/#settarget" style="color: #fd4d30; text-decoration: none;"&gt;setTarget/setTargetExpr&lt;/a&gt;&lt;br /&gt;&lt;a href="http://flasm.sourceforge.net/#function2" style="color: #fd4d30; text-decoration: none;"&gt;function2&lt;/a&gt;&lt;br /&gt;&lt;a href="http://flasm.sourceforge.net/#try" style="color: #fd4d30; text-decoration: none;"&gt;try/catch/finally&lt;/a&gt;&lt;br /&gt;&lt;a href="http://flasm.sourceforge.net/#protect" style="color: #fd4d30; text-decoration: none;"&gt;protect/enableDebugger&lt;/a&gt;&lt;br /&gt;&lt;a href="http://flasm.sourceforge.net/#scriptlimits" style="color: #fd4d30; text-decoration: none;"&gt;scriptLimits&lt;/a&gt;&lt;br /&gt;&lt;a href="http://flasm.sourceforge.net/#unknown" style="color: #fd4d30; text-decoration: none;"&gt;Unknown&amp;nbsp;actions&lt;/a&gt;For details on SWF file format, read&amp;nbsp;&lt;a href="http://www.macromedia.com/licensing/developer/" style="color: #fd4d30; text-decoration: none;"&gt;Macromedia's description&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a href="http://sswf.sourceforge.net/SWFalexref.html" style="color: #fd4d30; text-decoration: none;"&gt;Alexis' SWF Reference&lt;/a&gt;. Macromedia has updated the docs for Flash 7 file format in November 2003. For historical reasons Flasm has its own names for some actions, slightly different from Macromedia's names. Important differences and abstractions are described here. If in doubt, look into&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;action.h&lt;/code&gt;&amp;nbsp;from Flasm's&amp;nbsp;&lt;a href="http://www.nowrap.de/download/flasm15src.zip" style="color: #fd4d30; text-decoration: none;"&gt;source distribution&lt;/a&gt;.&lt;br /&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2157740160912403437&amp;amp;postID=5213210217836011571" name="moviename" style="color: #fd4d30; text-decoration: none;"&gt;&lt;/a&gt;Every Flasm project must start with&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;movie&amp;nbsp;'&lt;i&gt;moviename&lt;/i&gt;.swf'&lt;/code&gt;. The&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;&lt;i&gt;moviename&lt;/i&gt;.swf&lt;/code&gt;&amp;nbsp;is the name of your SWF origin. Don't forget to include the file name in quotes. At assembling time Flasm first looks here and then tries to overwrite the file. The backup of target SWF is created with&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;.$wf&lt;/code&gt;&amp;nbsp;extension. If update fails for whatever reason, however, the original file will not be destroyed and no backup will be created.&lt;br /&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2157740160912403437&amp;amp;postID=5213210217836011571" name="compressed" style="color: #fd4d30; text-decoration: none;"&gt;&lt;/a&gt;If&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;compressed&lt;/code&gt;&amp;nbsp;attribute is found just after movie name&amp;nbsp;&lt;nobr&gt;(&lt;code style="color: #666666; font-size: 12px;"&gt;movie '&lt;i&gt;moviename&lt;/i&gt;.swf' compressed&lt;/code&gt;),&lt;/nobr&gt;&amp;nbsp;SWF will be compressed after assembling. Original SWF may be compressed or not,&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;compressed&lt;/code&gt;&amp;nbsp;keyword decides about compression of updated&amp;nbsp;SWF.&lt;br /&gt;Flasm is case insensitive (excluding string values that&amp;nbsp;&lt;i&gt;may&lt;/i&gt;&amp;nbsp;be case sensitive). If you must use a single quote in your strings, escape it like this:&amp;nbsp;&lt;nobr&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;'it\'s beautiful'&lt;/code&gt;&lt;/nobr&gt;. Alternatively you can include string in double quotes:&amp;nbsp;&lt;nobr&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;"it's beautiful"&lt;/code&gt;&lt;/nobr&gt;.&lt;br /&gt;Comments look exactly like in ActionScript:&lt;br /&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;// calculating distance&lt;/code&gt;&lt;br /&gt;or multi-line comment:&lt;br /&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;/* calculating&lt;br /&gt;distance */&lt;/code&gt;&lt;br /&gt;Flasm implements&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;#include&lt;/code&gt;&amp;nbsp;macro.&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;#include 'loop.flm'&lt;/code&gt;&amp;nbsp;will be substituted with the contents of&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;loop.flm&lt;/code&gt;. Nested and multiple includes are allowed too:&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;foo.flm&lt;/code&gt;includes&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;routine.flm&lt;/code&gt;, which includes&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;loop.flm&lt;/code&gt;&amp;nbsp;and&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;calc.flm&lt;/code&gt;. Maximum nesting depth is 10.&lt;br /&gt;I introduced some extra constructs in order to match the SWF structure. These serve as containers for Flash actions:&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;frame&lt;/code&gt;,&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;defineButton&lt;/code&gt;,&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;defineMovieClip&lt;/code&gt;,&lt;code style="color: #666666; font-size: 12px;"&gt;initMovieClip&lt;/code&gt;,&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;movie&lt;/code&gt;,&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;on&lt;/code&gt;,&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;onClipEvent&lt;/code&gt;,&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;placeMovieClip&lt;/code&gt;.&lt;br /&gt;Other supported tags:&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;enableDebugger&lt;/code&gt;,&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;enableDebugger2&lt;/code&gt;,&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;exportAssets&lt;/code&gt;,&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;fileAttributes&lt;/code&gt;.&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;importAssets&lt;/code&gt;,&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;importAssets2&lt;/code&gt;,&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;metadata&lt;/code&gt;,&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;protect&lt;/code&gt;,&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;scriptLimits&lt;/code&gt;.&lt;br /&gt;Please don't alter the SWF structure! It means don't delete, replace or add action block containers! Well, you may add or delete an extra event without causing any damage. But if you remove a frame or change the movie clip id, Flasm will be no more able to find the pendant to it and any subsequent statements at assembling time.&lt;br /&gt;&lt;b&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2157740160912403437&amp;amp;postID=5213210217836011571" name="push" style="color: #fd4d30; text-decoration: none;"&gt;&lt;/a&gt;Data types and push&lt;/b&gt;&lt;br /&gt;Well,&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;push&lt;/code&gt;&amp;nbsp;is the core action in SWF and we'll go a bit more into detail here. Since you can push all kinds of values onto the stack, the&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;push&lt;/code&gt;&amp;nbsp;action has an internal type attribute in SWF. While you don't see and can't access the push type from within Flasm, Flasm decides what type to use based on how your data is formatted.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;table border="0" cellpadding="3" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;Push type&amp;nbsp; &amp;nbsp; &lt;br /&gt;&lt;/td&gt;&lt;td&gt;Number of bytes&amp;nbsp; &amp;nbsp; &lt;br /&gt;&lt;/td&gt;&lt;td&gt;What it means&lt;br /&gt;&lt;/td&gt;&lt;td&gt;Example&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;0&lt;/code&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;string length + 1&amp;nbsp;&lt;/code&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;string&lt;/code&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;push 'Hello'&lt;/code&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;1&lt;/code&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;4&lt;/code&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;float&lt;/code&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;push Y_PROPERTY&lt;/code&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;2&lt;/code&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;0&lt;/code&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;null&lt;/code&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;push NULL&lt;/code&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;3&lt;/code&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;0&lt;/code&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;undefined&lt;/code&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;push UNDEF&lt;/code&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;4&lt;/code&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;1&lt;/code&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;&lt;a href="http://flasm.sourceforge.net/#registers" style="color: #fd4d30; text-decoration: none;"&gt;register&lt;/a&gt;&lt;/code&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;push r:2&lt;/code&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;5&lt;/code&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;1&lt;/code&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;boolean&lt;/code&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;push TRUE&lt;/code&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;6&lt;/code&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;8&lt;/code&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;double&lt;/code&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;push 3.1415926&lt;/code&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;7&lt;/code&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;4&lt;/code&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;integer&lt;/code&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;push 25&lt;/code&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;8&lt;/code&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;1&lt;/code&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;&lt;a href="http://flasm.sourceforge.net/#constants" style="color: #fd4d30; text-decoration: none;"&gt;constant&lt;/a&gt;&amp;nbsp;(0-255)&lt;/code&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;push 'Hello'&lt;/code&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;9&lt;/code&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;2&lt;/code&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;&lt;a href="http://flasm.sourceforge.net/#constants" style="color: #fd4d30; text-decoration: none;"&gt;constant&lt;/a&gt;&amp;nbsp;(256-65534)&lt;/code&gt;&amp;nbsp; &lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;push 'Hello'&lt;/code&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;Strings must be included in single or double quotes and may contain escape characters:&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;\b, \f, \n, \r, \t&lt;/code&gt;&amp;nbsp;and&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;\\&lt;/code&gt;. No line break is allowed inside of a string. If Flasm founds&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;push 'Hello'&lt;/code&gt;&amp;nbsp;statement, it first looks into the constant pool for the current action block. If the string is defined there, 1- or 2-byte reference is pushed (push type&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;8&lt;/code&gt;&amp;nbsp;or&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;9&lt;/code&gt;); if not, the string itself (type&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;0&lt;/code&gt;).&lt;br /&gt;Integers are recognized in decimal and hexadecimal notation (&lt;code style="color: #666666; font-size: 12px;"&gt;0xF0F0&lt;/code&gt;). Doubles are decimal:&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;-3.1415926&lt;/code&gt;. The notation&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;9.4e-10&lt;/code&gt;&amp;nbsp;is supported too. In addition, constants&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;_NAN&lt;/code&gt;,&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;POSITIVE_INFINITY&lt;/code&gt;&amp;nbsp;and&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;NEGATIVE_INFINITY&lt;/code&gt;&amp;nbsp;are defined as double values.&lt;br /&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;0.0&lt;/code&gt;&amp;nbsp;is considered double;&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;0&lt;/code&gt;&amp;nbsp;is an integer.&amp;nbsp;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2157740160912403437&amp;amp;postID=5213210217836011571" name="replace0" style="color: #fd4d30; text-decoration: none;"&gt;&lt;/a&gt;Flash compiler itself always stores&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;0&lt;/code&gt;&amp;nbsp;as double&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;0.0&lt;/code&gt;. In update mode Flasm will automatically replace all&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;0.0&lt;/code&gt;&amp;nbsp;occurrences with&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;0&lt;/code&gt;, saving 4&amp;nbsp;bytes per each replace.&lt;br /&gt;Push type&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;1&lt;/code&gt;&amp;nbsp;is only used by Flash to store property values. Flash 4 stored all number values as strings (push type&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;0&lt;/code&gt;), Flash 5+ utilizes push type&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;7&lt;/code&gt;&amp;nbsp;for integers and push type&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;6&lt;/code&gt;&amp;nbsp;for floats.&lt;br /&gt;However, Flash is not the only program creating SWFs. I know now of at least one third-party program (3D-Flash Animator), which uses type&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;1&lt;/code&gt;&amp;nbsp;for actually storing numbers. So while Flasm will disassemble type&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;1&lt;/code&gt;&amp;nbsp;to property constant if possible, all values that couldn't be resolved to any constant will be shown as floats:&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;-3.1415926f&lt;/code&gt;&amp;nbsp;or&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;100.0f&lt;/code&gt;. You can use this notation in your Flasm projects too, saving 4 bytes per number. Any floating point value which ends with&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;f&lt;/code&gt;&amp;nbsp;will be treated as single-precision float and stored with push type&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;1&lt;/code&gt;&amp;nbsp;(beware of limited precision). The constants&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;_NANF&lt;/code&gt;,&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;POSITIVE_INFINITYF&lt;/code&gt;&amp;nbsp;and&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;NEGATIVE_INFINITYF&lt;/code&gt;&amp;nbsp;are defined too.&lt;br /&gt;One&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;push&lt;/code&gt;&amp;nbsp;statement can handle multiple values of different types:&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;push 'Hello', 3.141, XSCALE_PROPERTY&lt;/code&gt;. It's not just a shortcut in Flasm for 3 single&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;push&lt;/code&gt;&amp;nbsp;actions, but a shorter and faster way.&lt;br /&gt;&lt;b&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2157740160912403437&amp;amp;postID=5213210217836011571" name="controlflow" style="color: #fd4d30; text-decoration: none;"&gt;&lt;/a&gt;Control flow&lt;/b&gt;&lt;br /&gt;Jumps inside of the action block are implemented with&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;branch&lt;/code&gt;&amp;nbsp;and&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;branchIfTrue&lt;/code&gt;&amp;nbsp;actions. Every high level ActionScript construct like&amp;nbsp;&lt;nobr&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;if (..) then .. else ..&lt;/code&gt;&lt;/nobr&gt;&amp;nbsp;or&lt;nobr&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;while (..) do ..&lt;/code&gt;&lt;/nobr&gt;&amp;nbsp;is converted to some&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;branch/branchIfTrue&lt;/code&gt;&amp;nbsp;pattern.&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;branch&lt;/code&gt;&amp;nbsp;simply jumps to the specified label. For example, the translation of&amp;nbsp;&lt;nobr&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;if .. then .. else&lt;/code&gt;&lt;/nobr&gt;construct always has a&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;branch&lt;/code&gt;&amp;nbsp;after its&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;then&lt;/code&gt;&amp;nbsp;part, which skips the&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;else&lt;/code&gt;&amp;nbsp;part and jumps forward to the end of&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;if&lt;/code&gt;. Backward jumps are allowed too, loops always contain them.&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;branchIfTrue&lt;/code&gt;&amp;nbsp;takes the condition from stack.&lt;br /&gt;Internally relative numerical branch offsets are stored in SWF after every branch instruction. During disassembling Flasm creates unique label for every offset with the name&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;label1 .. labelN&lt;/code&gt;, which hides the branch offset from your eyes and makes the disassembly more readable. The syntax is&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;branch label4&lt;/code&gt;&amp;nbsp;or&lt;code style="color: #666666; font-size: 12px;"&gt;branchIfTrue label6&lt;/code&gt;. Somewhere in the same action block the label (identifier followed by colon) must be present. You are by no means forced to use identifiers like&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;label5:&lt;/code&gt;. Choose meaningful names (&lt;code style="color: #666666; font-size: 12px;"&gt;LoopStart:&lt;/code&gt;,&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;SearchComplete:&lt;/code&gt;&amp;nbsp;etc.) instead.&lt;br /&gt;Let's take an example: the really fast countdown loop, which can't be made with Flash (and can't be decompiled to any valid ActionScript).&lt;br /&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;push 0,1,2,3,4,5,6,7,8,9,10&lt;br /&gt;loopstart&lt;b&gt;:&lt;/b&gt;&lt;br /&gt;dup&lt;br /&gt;trace&lt;br /&gt;branchIfTrue loopstart&lt;/code&gt;&lt;br /&gt;First 10 values are pushed onto the stack. Note the last pushed value (&lt;code style="color: #666666; font-size: 12px;"&gt;10&lt;/code&gt;) will be on top of the stack. We have to duplicate the value in loop with&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;dup&lt;/code&gt;, because we need it two times:&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;trace&lt;/code&gt;&amp;nbsp;pops the first value,&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;branchIfTrue&lt;/code&gt;&amp;nbsp;gets the second as loop condition. Since&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;branchIfTrue&lt;/code&gt;&amp;nbsp;converts condition to boolean, loop executes until&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;0&lt;/code&gt;is found, which evaluates to false and stops the loop.&lt;br /&gt;&lt;b&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2157740160912403437&amp;amp;postID=5213210217836011571" name="buttonevents" style="color: #fd4d30; text-decoration: none;"&gt;&lt;/a&gt;Button events&lt;/b&gt;&lt;br /&gt;Every single button event&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;on&lt;/code&gt;&amp;nbsp;contains one or multiple of the following:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;table border="0" cellpadding="3" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;idleToOverUp&lt;/code&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;overUpToIdle&lt;/code&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;overUpToOverDown&lt;/code&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;overDownToOverUp&lt;/code&gt;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;overDownToOutDown&lt;/code&gt;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;outDownToOverDown&lt;/code&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;outDownToIdle&lt;/code&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;idleToOverDown&lt;/code&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;overDownToIdle&lt;/code&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;keyPress&lt;/code&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;There's no one-to-one relation of ActionScript button events and events stored in SWF. Some ActionScript events actually set multiple SWF events. That's why the names are different.&lt;br /&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;keyPress&lt;/code&gt;&amp;nbsp;is used in the form&amp;nbsp;&lt;nobr&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;keyPress '&lt;i&gt;char&lt;/i&gt;'&lt;/code&gt;&lt;/nobr&gt;&amp;nbsp;or&amp;nbsp;&lt;nobr&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;keyPpress&amp;nbsp;&lt;i&gt;const&lt;/i&gt;&lt;/code&gt;,&lt;/nobr&gt;&amp;nbsp;for example&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;keyPress 'a'&lt;/code&gt;&amp;nbsp;or&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;keyPress _SPACE&lt;/code&gt;. All constants correspond to those in Flash authoring:&lt;code style="color: #666666; font-size: 12px;"&gt;_BACKSPACE&lt;/code&gt;,&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;_DELETE&lt;/code&gt;,&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;_DOWN&lt;/code&gt;,&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;_END&lt;/code&gt;,&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;_ENTER&lt;/code&gt;,&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;_ESCAPE&lt;/code&gt;,&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;_HOME&lt;/code&gt;,&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;_INSERT&lt;/code&gt;,&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;_LEFT&lt;/code&gt;,&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;_PAGEDOWN&lt;/code&gt;,&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;_PAGEUP&lt;/code&gt;,&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;_RIGHT&lt;/code&gt;,&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;_SPACE&lt;/code&gt;,&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;_TAB&lt;/code&gt;,&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;_UP&lt;/code&gt;.&lt;br /&gt;You are free to change button event conditions in Flasm code.&lt;br /&gt;&lt;b&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2157740160912403437&amp;amp;postID=5213210217836011571" name="playhead" style="color: #fd4d30; text-decoration: none;"&gt;&lt;/a&gt;Play head control&lt;/b&gt;&lt;br /&gt;The SWF file format describes three actions for this task:&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;gotoFrame&lt;/code&gt;&amp;nbsp;(frame number as operand),&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;gotoFrame2&lt;/code&gt;&amp;nbsp;(takes the frame number from stack) and&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;gotoLabel&lt;/code&gt;(frame label as operand). While Flasm's&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;gotoFrame&lt;/code&gt;&amp;nbsp;and&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;gotoLabel&lt;/code&gt;&amp;nbsp;actions are named exactly like their SWF format pendants,&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;gotoFrame2&lt;/code&gt;&amp;nbsp;action is not present. For your convenience&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;gotoFrame2&lt;/code&gt;&amp;nbsp;is showed as&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;gotoAndPlay&lt;/code&gt;/&lt;code style="color: #666666; font-size: 12px;"&gt;gotoAndStop&lt;/code&gt;. In SWF&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;gotoFrame2&lt;/code&gt;&amp;nbsp;is a sole action with a byte&amp;nbsp;flag for play/stop.&lt;br /&gt;Additionally, if you have multiple scenes, Flash puts yet another argument here&amp;nbsp;— the total number of frames in all scenes before the one you're jumping to. These frames will be skipped by Flash player&amp;nbsp;— in other words, added to the expression on stack. This allows for using&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;gotoAndPlay&lt;/code&gt;/&lt;code style="color: #666666; font-size: 12px;"&gt;gotoAndStop&lt;/code&gt;&amp;nbsp;with a frame number inside of current scene instead of absolute frame number which starts from the beginning of SWF. Remember, scenes do not exist in SWF. In this case Flasm will show you something like&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;gotoAndStop skip 10&lt;/code&gt;. Note you're in trouble if your expression represents label string instead of integer frame number. Flash player doesn't care and will add frames to skip here too&amp;nbsp;— and play head jumps to the false frame. Try using&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;_root.gotoAndStop()&lt;/code&gt;. Here movie clip method will be used instead of single instruction. It does no corrections and will work properly for labels.&lt;br /&gt;Higher Flash versions tend to use&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;gotoAndPlay/gotoAndStop&lt;/code&gt;&amp;nbsp;methods of the movie clip object (passing them as strings) to control movie clips.&lt;br /&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;gotoLabel&lt;/code&gt;&amp;nbsp;is rarely seen in disassembly, because Flash replaces it with frame-based actions exporting SWF. Only if Flash can't resolve the frame number (the label is not on the same timeline),&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;gotoLabel&lt;/code&gt;&amp;nbsp;will be left as is. Labels, however, are still present in SWF and may be accessed from javascript or whatever hosts the SWF, even if jumps to these labels were eliminated.&lt;br /&gt;&lt;b&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2157740160912403437&amp;amp;postID=5213210217836011571" name="settarget" style="color: #fd4d30; text-decoration: none;"&gt;&lt;/a&gt;setTarget and setTargetExpr&lt;/b&gt;&lt;br /&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;setTarget&lt;/code&gt;&amp;nbsp;action corresponds to&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;tellTarget&lt;/code&gt;&amp;nbsp;in ActionScript. If target is an expression,&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;setTargetExpr&lt;/code&gt;&amp;nbsp;is used, which pops the target string from stack. Flasm shows it like&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;table border="0" cellpadding="3" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;setTarget '/defender'&lt;br /&gt;&amp;nbsp; gotoFrame 1&lt;br /&gt;&amp;nbsp; play&lt;br /&gt;end&lt;/code&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&amp;nbsp; &amp;nbsp; or &amp;nbsp; &lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;setTargetExpr&lt;br /&gt;&amp;nbsp; gotoFrame 1&lt;br /&gt;&amp;nbsp; play&lt;br /&gt;end&lt;/code&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;The&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;end&lt;/code&gt;&amp;nbsp;statement does not exist in bytecode; Flash uses&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;setTarget ''&lt;/code&gt;&amp;nbsp;to mark the end of “targeted” statements.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;table border="0" cellpadding="3" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;setTarget '/defender'&lt;br /&gt;gotoFrame 1&lt;br /&gt;play&lt;br /&gt;setTarget ''&lt;/code&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&amp;nbsp; &amp;nbsp; or &amp;nbsp; &lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;setTargetExpr&lt;br /&gt;gotoFrame 1&lt;br /&gt;play&lt;br /&gt;setTarget ''&lt;/code&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;Since every&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;setTarget&lt;/code&gt;&amp;nbsp;is handled by Flash this way, I decided to make it look more readable. Nesting of&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;setTarget&lt;/code&gt;&amp;nbsp;blocks is not allowed.&lt;br /&gt;&lt;b&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2157740160912403437&amp;amp;postID=5213210217836011571" name="function2" style="color: #fd4d30; text-decoration: none;"&gt;&lt;/a&gt;function2&lt;/b&gt;&lt;br /&gt;Flash MX 2004 introduced new&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;function2&lt;/code&gt;&amp;nbsp;bytecode, which works in Flash Player 6.0.65 and above.&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;function2&lt;/code&gt;&amp;nbsp;is an extended version of&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;function&lt;/code&gt;. In disassembly, it looks like this:&lt;br /&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;function2 test (r:3='arg1', 'arg2', r:4='arg3') (r:1='this', r:2='_root')&lt;/code&gt;&lt;br /&gt;In first parenthesis function arguments are shown. These arguments may be stored in&amp;nbsp;&lt;a href="http://flasm.sourceforge.net/#lregisters" style="color: #fd4d30; text-decoration: none;"&gt;local registers&lt;/a&gt;. Each&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;function2&lt;/code&gt;&amp;nbsp;has its own set of local registers. If register is absent, the corresponding argument isn't stored in register and behaves just like normal function argument. If register is present, the corresponding argument is stored there before&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;function2&lt;/code&gt;&amp;nbsp;executes.&lt;br /&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2157740160912403437&amp;amp;postID=5213210217836011571" name="clearregisterargs" style="color: #fd4d30; text-decoration: none;"&gt;&lt;/a&gt;You can't access arguments stored in registers by name (with&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;getVariable&lt;/code&gt;), only by&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;r:&lt;i&gt;something&lt;/i&gt;&lt;/code&gt;&amp;nbsp;(&lt;code style="color: #666666; font-size: 12px;"&gt;&lt;i&gt;something&lt;/i&gt;&lt;/code&gt;&amp;nbsp;being numerical or literal, see below). That means their names are effectively useless in SWF. If&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;clearregisterargs&lt;/code&gt;&amp;nbsp;is set to&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;1&lt;/code&gt;&amp;nbsp;in&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;flasm.ini&lt;/code&gt;,&amp;nbsp;&lt;nobr&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;flasm -u&lt;/code&gt;&lt;/nobr&gt;&amp;nbsp;will remove these names from SWF, making it a bit smaller and forcing decompilers to name arguments&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;arg1, arg2, ...,&lt;/code&gt;&amp;nbsp;because actual parameter names will be lost. To the best of my knowledge it doesn't affect code execution in any way.&lt;br /&gt;Second parenthesis contains “automatic” parameters. Their values are calculated and stored in local registers before function executes, like function arguments. Currently (in SWF7) there are six possible values:&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;'this'&lt;/code&gt;,&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;'arguments'&lt;/code&gt;,&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;'super'&lt;/code&gt;,&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;'_root'&lt;/code&gt;,&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;'_parent'&lt;/code&gt;&amp;nbsp;and&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;'_global'&lt;/code&gt;. Internally in SWF the corresponding bits in an unsigned integer value are set to indicate the presence of such value. For the sake of understandability Flasm shows them in literal form, however you can't add your own particular value here or affect register allocation. Registers are allocated by Flash Player in the above order, i.e the value of&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;'this'&lt;/code&gt;&amp;nbsp;goes to&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;r:1&lt;/code&gt;, the value of&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;'arguments'&lt;/code&gt;&amp;nbsp;to&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;r:2&lt;/code&gt;&amp;nbsp;etc. If&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;'this'&lt;/code&gt;&amp;nbsp;is absent,&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;'arguments'&lt;/code&gt;&amp;nbsp;goes to&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;r:1&lt;/code&gt;. If you accidentally tell Flasm to store automatic values in wrong registers, Flasm will report an error.&lt;br /&gt;So the use of local registers in&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;function2&lt;/code&gt;&amp;nbsp;is threefold: arguments, “automatic” values and local variables are stored there.&lt;br /&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2157740160912403437&amp;amp;postID=5213210217836011571" name="literal" style="color: #fd4d30; text-decoration: none;"&gt;&lt;/a&gt;If&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;literalregisters&lt;/code&gt;&amp;nbsp;flag is set to&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;1&lt;/code&gt;&amp;nbsp;in&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;flasm.ini&lt;/code&gt;, Flasm will disassemble&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;function2&lt;/code&gt;&amp;nbsp;like this:&lt;br /&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;function2 isSpace (r:1='char')&lt;br /&gt;&amp;nbsp;&amp;nbsp;push r:char&lt;br /&gt;&amp;nbsp;&amp;nbsp;...&lt;br /&gt;end // of function isSpace&lt;/code&gt;&lt;br /&gt;instead of&lt;br /&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;function2 isSpace (r:1='char')&lt;br /&gt;&amp;nbsp;&amp;nbsp;push r:1&lt;br /&gt;&amp;nbsp;&amp;nbsp;...&lt;br /&gt;end // of function isSpace&lt;/code&gt;&lt;br /&gt;I.e. all&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;function2&lt;/code&gt;&amp;nbsp;arguments and automatic values like&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;'this'&lt;/code&gt;&amp;nbsp;will be shown with their literal names after&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;r:&lt;/code&gt;. Of course, you're free to write your own code using literal registers.&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;r:char&lt;/code&gt;&amp;nbsp;in the example above means exactly the same as&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;r:1&lt;/code&gt;, and you may use numerical and literal notations together without any problems. However, you can't name other registers (local variables or like).&lt;br /&gt;You can safely store your own values in local registers, Flasm automatically adjusts the number of registers to allocate for any&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;function2&lt;/code&gt;. This number, although stored in SWF, is invisible in disassembly. A small side-effect: for whatever reason Flash compiler often allocates more registers than needed. Flasm will allocate the minimal possible number.&lt;br /&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2157740160912403437&amp;amp;postID=5213210217836011571" name="presup" style="color: #fd4d30; text-decoration: none;"&gt;&lt;/a&gt;An edge case:&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;this&lt;/code&gt;,&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;arguments&lt;/code&gt;&amp;nbsp;and&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;super&lt;/code&gt;&amp;nbsp;automatic parameters will be suppressed by Flash player if they don't appear in second parenthesis. They will neither be stored in registers nor accessible by name inside of&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;function2&lt;/code&gt;. Normally, you don't care: if you need one of these, allocate a register for it. In the very special case where you don't want to do it, but still want to access the parameter by name, you can list it without register given. Listing&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;'_root'&lt;/code&gt;,&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;'_parent'&lt;/code&gt;&amp;nbsp;and&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;'_global'&lt;/code&gt;&amp;nbsp;makes no difference. They are always available by name anyway. Nice, what?&lt;br /&gt;&lt;b&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2157740160912403437&amp;amp;postID=5213210217836011571" name="try" style="color: #fd4d30; text-decoration: none;"&gt;&lt;/a&gt;The try/catch/finally block&lt;/b&gt;&lt;br /&gt;There is a new&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;try-catch-finally&lt;/code&gt;&amp;nbsp;construct in Flash MX 2004. In SWF all&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;catch&lt;/code&gt;&amp;nbsp;blocks are merged into one, and exception condition checking is done with normal control flow there. In disassembly, the variable that holds the actual exception will be shown after&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;try&lt;/code&gt;&amp;nbsp;keyword, not&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;catch&lt;/code&gt;. Like this:&lt;br /&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;try 'e'&lt;br /&gt;&amp;nbsp;&amp;nbsp;push 'x'&lt;br /&gt;&amp;nbsp;&amp;nbsp;getVariable&lt;br /&gt;&amp;nbsp;&amp;nbsp;throw&lt;br /&gt;&amp;nbsp;&amp;nbsp;branch label1&lt;br /&gt;catch&lt;br /&gt;&amp;nbsp;&amp;nbsp;push 5&lt;br /&gt;&amp;nbsp;&amp;nbsp;trace&lt;br /&gt;&amp;nbsp;label1:&lt;br /&gt;end // of try&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Alternatively, condition may be held in a register:&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;try r:2&lt;/code&gt;&amp;nbsp;or&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;try r:&lt;i&gt;something&lt;/i&gt;&lt;/code&gt;&amp;nbsp;&amp;nbsp;(literal register). Data type exceptions, for example, are always transferred through register, usually&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;r:0&lt;/code&gt;. Other registers are used if error variable is declared local inside of&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;try&lt;/code&gt;&amp;nbsp;block (thanks to Alex Bradley for finding this out), or given as parameter to&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;function2&lt;/code&gt;&amp;nbsp;that contains the&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;try/catch/finally&lt;/code&gt;&amp;nbsp;block.&lt;br /&gt;The&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;throw&lt;/code&gt;&amp;nbsp;action stores condition in a variable or register given after the&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;try&lt;/code&gt;&amp;nbsp;keyword automatically, you don't have to do it explicitly. The condition is then available at the start of&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;catch&lt;/code&gt;&amp;nbsp;block.&lt;br /&gt;&lt;b&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2157740160912403437&amp;amp;postID=5213210217836011571" name="protect" style="color: #fd4d30; text-decoration: none;"&gt;&lt;/a&gt;protect, enableDebugger and enableDebugger2 tags&lt;/b&gt;&lt;br /&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;protect&lt;/code&gt;&amp;nbsp;was meant by Macromedia as a hint for authoring program, saying that the author of particular SWF doesn't wish it to be opened in Flash IDE.&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;protect&lt;/code&gt;&amp;nbsp;is not actually protecting anything, any program that deals with SWF can simply ignore it. In Flasm,&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;protect&lt;/code&gt;&amp;nbsp;will be shown, and can be added/deleted. You can place it anywhere in SWF, albeit usual location is somewhere near to the beginning. Note&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;protect&lt;/code&gt;&amp;nbsp;is not an action, so it has to be outside of action blocks. Passwords are encoded by Flash compiler into a 28 characters long string, consisting of these parts (Paul Cannon):&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;The&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;$1$&lt;/code&gt;&amp;nbsp;at the start does signify an encryption scheme; it's the traditional way to indicate a crypt-MD5 password. Everything between the second and third&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;$&lt;/code&gt;&amp;nbsp;is the salt, and everything after the last&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;$&lt;/code&gt;&amp;nbsp;is the hashed password, in a sort of base-64 representation.&lt;br /&gt;&lt;/blockquote&gt;Flasm will show the encoded string, but not the password.&lt;code style="color: #666666; font-size: 12px;"&gt;enableDebugger&lt;/code&gt;&amp;nbsp;is another attempt to secure the content of SWF. Always protected by password (Flasm will show the encoded string), this tag gives you the ability to “remote debug” the SWF. If you don't know the password, debugger will not let you in. If you delete the password, debugger will not let you in. But if you change&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;enableDebugger&lt;/code&gt;&amp;nbsp;parameter to&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;'$1$.e$7cXTDev5MooPv3voVnOMX1'&lt;/code&gt;, empty password will be accepted.&lt;br /&gt;To say it clear one more time: above tags, including encrypted passwords, give you no protection and can be safely deleted or altered.&lt;br /&gt;Flash MX allows debugging on source code level, so there is a new tag&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;enableDebugger2&lt;/code&gt;, which is used instead of&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;enableDebugger&lt;/code&gt;. It makes no difference at all. However, Flasm will not show another tag (63) or contents of external file used by debugger, don't know anything about their format.&lt;br /&gt;&lt;b&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2157740160912403437&amp;amp;postID=5213210217836011571" name="scriptlimits" style="color: #fd4d30; text-decoration: none;"&gt;&lt;/a&gt;scriptLimits tag&lt;/b&gt;&lt;br /&gt;Introduced with Flash Player 7, scriptLimits tag gives you control about the maximum recursion depth and the maximum time before the famous "Script causes the movie to run slowly.." message appears. So far I know, these settings can not be changed in Flash IDE. The following syntax is used:&lt;br /&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;scriptLimits recursion 2000 timeout 10&lt;/code&gt;&lt;br /&gt;While increasing recursion depth (256 by default) is surely useful in some situations, you may actually want to&amp;nbsp;&lt;i&gt;decrease&lt;/i&gt;&amp;nbsp;the time-out for ActionScript for testing purposes. Instead of standard 15 or 20 seconds, setting the value to 1 or 2 will immediately show you where the bottlenecks are.&lt;br /&gt;&lt;b&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2157740160912403437&amp;amp;postID=5213210217836011571" name="unknown" style="color: #fd4d30; text-decoration: none;"&gt;&lt;/a&gt;Unknown actions support&lt;/b&gt;&lt;br /&gt;Flasm 1.6 knows every Flash action, including Flash 8 actions. Only subset of possible bytecodes, however, is currently used by Flash. Part of bytecodes space is reserved for third-party applications. For example, Apple's QuickTime added tag&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;0xAA&lt;/code&gt;&amp;nbsp;for QuickTime actions. Flasm is able to disassemble/assemble actions it doesn't know. The disassembly line looks like&lt;br /&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;swfAction 0x02 // Unknown action!&lt;/code&gt;&lt;br /&gt;If the action has additional data,&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;hexdata&lt;/code&gt;&amp;nbsp;part is present:&lt;br /&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;swfAction 0xAA hexdata 0x43,0x12,0x18 // Unknown action!&lt;/code&gt;&lt;br /&gt;The data is shown as comma separated list of hex bytes. If you define your own actions for some proprietary application, there is no need to include tag length in&lt;code style="color: #666666; font-size: 12px;"&gt;hexdata&lt;/code&gt;&amp;nbsp;field&amp;nbsp;— the length is calculated and added automatically if&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;hexdata&lt;/code&gt;&amp;nbsp;keyword is found. Don't forget, only bytecodes&amp;nbsp;&lt;nobr&gt;&amp;gt;&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;0x80&lt;/code&gt;&lt;/nobr&gt;&amp;nbsp;may have additional data.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3 style="color: #001455;"&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2157740160912403437&amp;amp;postID=5213210217836011571" name="embedding" style="color: #fd4d30; text-decoration: none;"&gt;&lt;/a&gt;Embedding Flasm code in ActionScript&lt;/h3&gt;If invoked with&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;-u&lt;/code&gt;&amp;nbsp;command&amp;nbsp;&lt;nobr&gt;(&lt;code style="color: #666666; font-size: 12px;"&gt;flasm -u foo.swf&lt;/code&gt;),&lt;/nobr&gt;&amp;nbsp;Flasm processes macros embedded in your ActionScript and updates the SWF with Flasm statements. It's not unlike embedding assembler in C or Pascal. The syntax is a bit special to let Flash compile scripts without errors&amp;nbsp;— you have to include Flasm statements in quotes. An example:&lt;br /&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;"push 'Hello world!'"&lt;br /&gt;"push myTextField"&lt;br /&gt;"setVariable"&lt;/code&gt;&lt;br /&gt;The above has the same effect as&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;myTextField = "Hello world!";&lt;/code&gt;&amp;nbsp;ActionScript statement. Semicolons are not required, but will do no harm. Flasm code strings are allowed everywhere in your scripts, so don't worry about the right placement. Any restrictions? Sure. Don't define frames or movie clips in embedded Flasm. If you embed, you are already inside of some frame or event definition. Make sure the stack is empty after your embedded code executes. It's not a restriction, but you probably don't want to cause memory leaks.&lt;br /&gt;All Flasm actions behave as expected, there is only one important difference to consider&amp;nbsp;— if you use&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;constants&lt;/code&gt;&amp;nbsp;declaration in embedded scripts, Flasm will add them to the main pool in the action block instead of redefining it. The same goes for&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;constants&lt;/code&gt;&amp;nbsp;inside of any included file. Using&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;#include&lt;/code&gt;&amp;nbsp;as part of the embedded string, please take care of slashes. Use normal slashes and not backslashes in file path. Latter will be escaped, if not deleted by Flash.&lt;br /&gt;While Flasm works just fine with compression enabled in Flash MX, update process will require two additional steps: decompressing and compressing. If your computer is slow, you may consider disabling compression in Flash publish settings. You can always compress SWF with&amp;nbsp;&lt;nobr&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;flasm -z&lt;/code&gt;&lt;/nobr&gt;&amp;nbsp;as last step before distribution.&lt;br /&gt;&lt;b&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2157740160912403437&amp;amp;postID=5213210217836011571" name="testingembedded" style="color: #fd4d30; text-decoration: none;"&gt;&lt;/a&gt;Testing embedded actions from within Flash IDE&lt;/b&gt;&lt;br /&gt;Of course you can export the SWF, update it with Flasm, and check for errors then. Testing directly from Flash IDE would be nicer. Since Flash IDE has no post processing interface, it's rather tricky.&lt;br /&gt;&lt;b&gt;Flash 8 and Flash MX 2004&lt;/b&gt;&lt;br /&gt;I've written a dll and a JSFL script which manages to preview your SWF in internal player. Here we go.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul style="margin-left: 1.2em; padding-left: 0px;"&gt;&lt;li&gt;Copy&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;flasmhelper.dll&lt;/code&gt;&amp;nbsp;from&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;helper&lt;/code&gt;&amp;nbsp;directory of Flasm distribution to&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;External Libraries&lt;/code&gt;&amp;nbsp;directory inside of your Flash configuration folder.&lt;br /&gt;On windows 2000 and XP Flash 8 configuration is located here:&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;C:\Documents and Settings\&lt;i&gt;username&lt;/i&gt;\Local Settings\Application Data\Macromedia\Flash 8\en\Configuration&lt;/code&gt;. The path will vary for non-English Windows and/or Flash.&lt;/li&gt;&lt;li&gt;Copy&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;Update with Flasm and Preview.jsfl&lt;/code&gt;&amp;nbsp;to&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;Commands&lt;/code&gt;&amp;nbsp;directory inside Flash configuration folder.&lt;/li&gt;&lt;li&gt;Edit the first line of JSFL script and adjust path to the Flasm executable.&lt;/li&gt;&lt;li&gt;Start Flash 8/MX 2004. "Update with Flasm and Preview" should be now available under "Commands". If you wish, associate a shortcut with it.&lt;/li&gt;&lt;li&gt;You are all set. Execute the command to preview embedded Flasm actions. You have to write some first :) If unsure, re-read previous section.&lt;/li&gt;&lt;/ul&gt;All Flasm messages and errors should go to the output window now. You may also use trace statements in Flasm code. Please note JSFL isn't that stable. Flash 8/MX 2004 may crash or run out of memory occasionally. This has nothing to do with my particular JSFL code or dll.The dll is reasonably secure in the sense it will execute only a program called&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;flasm.exe&lt;/code&gt;, no&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;command.com&lt;/code&gt;&amp;nbsp;or such. It should be enough to prevent simple abusing it from malicious JSFL scripts. The dll is tested under Windows 2000 and XP. Please tell me if it works for you on Windows 98/ME&amp;nbsp;— or if it doesn't.&lt;br /&gt;It shouldn't be too hard to port the library to Mac. To a pity, I don't own a Mac and can't do it myself. If you have interest in porting, drop me a line, I'll make the source available on request. To make sure you have all the prerequisites, try compiling the&amp;nbsp;&lt;a href="http://www.macromedia.com/support/documentation/en/flash/#flashjsdict" style="color: #fd4d30; text-decoration: none;"&gt;Mac sample&lt;/a&gt;&amp;nbsp;from Macromedia.&lt;br /&gt;&lt;b&gt;Flash 5 or MX&lt;/b&gt;&lt;br /&gt;There was no JSFL.&amp;nbsp;&lt;a href="http://www.wildsmile.de/" style="color: #fd4d30; text-decoration: none;"&gt;Sven König&lt;/a&gt;&amp;nbsp;has found a way, and I've implemented it in Flasm. We'll make Flash believe Flasm is a browser. While proper installation requires some tweaking, it will work like a charm once you got it. I'll describe the procedure for Windows, but something similar should work on Mac too.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul style="margin-left: 1.2em; padding-left: 0px;"&gt;&lt;li&gt;Copy&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;flasm.exe&lt;/code&gt;&amp;nbsp;and&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;flasm.ini&lt;/code&gt;&amp;nbsp;into the&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;Browser&lt;/code&gt;&amp;nbsp;subdirectory of Flash.&lt;br /&gt;For Flash 5, the&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;Browser&lt;/code&gt;&amp;nbsp;subdirectory is inside of your Flash install folder.&lt;br /&gt;Flash MX, stores settings elsewhere. If&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;Browser&lt;/code&gt;&amp;nbsp;subdirectory does not exist, create it.&lt;br /&gt;Windows 2000 or XP:&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;C:\Documents and Settings\&lt;i&gt;username&lt;/i&gt;\Application Data\Macromedia\Flash MX\Configuration\Browser&lt;/code&gt;&lt;br /&gt;Windows 98 or ME:&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;C:\Windows\Application Data\Macromedia\Flash MX\Configuration\Browser&lt;/code&gt;&lt;br /&gt;Windows NT:&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;[Windows directory]\profiles\[username]\Application Data\Macromedia\Flash MX\Configuration\Browser&lt;/code&gt;&lt;br /&gt;Mac OS X:&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;Hard Drive/Users/Library/Application Support/Macromedia/FlashMX/Configuration/Browser&lt;/code&gt;&lt;br /&gt;Embedding on Mac is untested, please drop me a line if you get it to work.&lt;/li&gt;&lt;li&gt;Rename&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;flasm.exe&lt;/code&gt;&amp;nbsp;to&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;iexplore.exe&lt;/code&gt;&lt;/li&gt;&lt;li&gt;Create shortcut to your new&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;iexplore.exe&lt;/code&gt;&amp;nbsp;in the same subdirectory. Don't worry, it doesn't affect the real browser.&lt;/li&gt;&lt;li&gt;Open&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;flasm.ini&lt;/code&gt;&amp;nbsp;in a text editor. Change&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;flaplayer&lt;/code&gt;&amp;nbsp;and&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;flabrowser&lt;/code&gt;&amp;nbsp;values to contain your Flash player and internet browser path, respectively. Long file names are not supported in dos, you should first discover what the corresponding short names look like:&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;"C:\PROGRA~1\INTERN~1\IEXPLORE.EXE"&lt;/code&gt;&amp;nbsp;or similar. Even if you're on Win 2000, please use short names. Set the value of&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;flatest&lt;/code&gt;&amp;nbsp;to “&lt;code style="color: #666666; font-size: 12px;"&gt;flaplayer&lt;/code&gt;” if you want to test your files in player, and to “&lt;code style="color: #666666; font-size: 12px;"&gt;flabrowser&lt;/code&gt;”, if you'll test in browser. You can change&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;flatest&lt;/code&gt;&amp;nbsp;value later while testing without restarting machine or Flash. or Flash IDE.&lt;/li&gt;&lt;li&gt;Done. Now open your file in Flash, insert Flasm code, make sure&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;HTML&lt;/code&gt;&amp;nbsp;and “&lt;code style="color: #666666; font-size: 12px;"&gt;Use Default Names&lt;/code&gt;” boxes are checked in Flash publish settings, and press&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;F12&lt;/code&gt;(Publish Preview).&lt;/li&gt;&lt;/ul&gt;Flash will compile the SWF, look for browser shortcut, check the name (&lt;code style="color: #666666; font-size: 12px;"&gt;iexplore.exe&lt;/code&gt;) is ok, give the HTML file name to Flasm. After calculating the real SWF name Flasm will update the SWF and invoke browser or player to show it. The DOS box appears for the short time, but will only stay open if there are error messages to report. I guess (based on my experience) the most popular error would be “&lt;code style="color: #666666; font-size: 12px;"&gt;Could not start: c:\...\...\foo.exe&lt;/code&gt;”, because the path in&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;flaplayer&lt;/code&gt;&amp;nbsp;or&lt;code style="color: #666666; font-size: 12px;"&gt;flabrowser&lt;/code&gt;&amp;nbsp;is wrong. Correct it and try again.Doesn't work? Have you tried it with Flash MX 2004 by chance? MX 2004 doesn't seem to support default browser mechanism any more, use the first dll/JSFL method.&lt;br /&gt;Sometimes Flash just doesn't start Flasm. Enter something in actions window. Or uncheck HTML in export settings, publish, check it again, publish. Or delete iexplore shortcut from browser directory, publish, restore shortcut.&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;#include&lt;/code&gt;&amp;nbsp;may fail in Flash IDE if you haven't exported the SWF to the right location before. Check publish settings.&lt;br /&gt;In&amp;nbsp;&lt;a href="http://flasm.sourceforge.net/#resources" style="color: #fd4d30; text-decoration: none;"&gt;Resources&lt;/a&gt;&amp;nbsp;you'll find links to the small debugger by Pavils Jurjans and profiler by Ben Schleimer.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3 style="color: #001455;"&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2157740160912403437&amp;amp;postID=5213210217836011571" name="optimization" style="color: #fd4d30; text-decoration: none;"&gt;&lt;/a&gt;Optimization techniques&lt;/h3&gt;&lt;a href="http://flasm.sourceforge.net/#optmeasure" style="color: #fd4d30; text-decoration: none;"&gt;Measurement&lt;/a&gt;&lt;br /&gt;&lt;a href="http://flasm.sourceforge.net/#optas" style="color: #fd4d30; text-decoration: none;"&gt;ActionScript optimizations&lt;/a&gt;&lt;br /&gt;&lt;a href="http://flasm.sourceforge.net/#optflasm" style="color: #fd4d30; text-decoration: none;"&gt;Flasm optimizations&lt;/a&gt;&lt;br /&gt;&lt;a href="http://flasm.sourceforge.net/#doublenots" style="color: #fd4d30; text-decoration: none;"&gt;Double nots&lt;/a&gt;&lt;br /&gt;&lt;a href="http://flasm.sourceforge.net/#optthanks" style="color: #fd4d30; text-decoration: none;"&gt;Thanks&lt;/a&gt;Huge bitmaps, not optimized vectors, false frame rates, animating many movie clips at the same time, loading large XML files, dealing with tons of editable text, streaming high quality sound, or simply viewing SWF on mac&amp;nbsp;— in 95% of all cases, bad SWF performance has nothing to do with ActionScript. Flasm, although being “yet another cool tool”, is no solution for above problems. Optimizing with Flasm makes sense for games, 3D engines, path finding, actually converting large amounts of data&amp;nbsp;—&amp;nbsp;&lt;i&gt;computing&lt;/i&gt;&amp;nbsp;things in general. Flash MX 2004 and Flash 8 made things much better here, too&amp;nbsp;— at least for newer Flash Players.&lt;br /&gt;If you're unsure where is the bottle neck: slow drawing or slow calculating, there is a simple trick: make the player or browser window very small and switch aliasing off in the Flash Player. If performance increases significantly, you probably should optimize your graphics or movie clip structure first.&lt;br /&gt;&lt;b&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2157740160912403437&amp;amp;postID=5213210217836011571" name="optmeasure" style="color: #fd4d30; text-decoration: none;"&gt;&lt;/a&gt;Measurement&lt;/b&gt;&lt;br /&gt;Don't try to optimize every single line of your code&amp;nbsp;— you'll just make it unreadable, probably omit some important places, and nobody will ever notice 10.000 hours of your hard work. The key to any optimization is measurement. Bottle necks are very hard to guess. I used to have plenty of tips here, well tested for Flash 5 and Flash 4, but it just can't work this way because of the current diversity of possible environments. Now we have Flash Player 8, 7, 6, 5 and (still) 4 out there, stand-alone applications, mobile devices, not to mention Windows, Mac and Linux. These all are entirely different species. It means only some general strategies still work everywhere, and you have to measure your particular application on your target environment yourself. But how?&lt;br /&gt;Optimize and test for your target environment. Tests in Flash IDE are very rough estimates at best.&lt;br /&gt;You should differentiate between ActionScript code in FLA and compiled code in SWF. For example, if “&lt;code style="color: #666666; font-size: 12px;"&gt;Omit Trace Actions&lt;/code&gt;” is checked during publishing, traces simply do not make it into SWF. They do not exist there. The same goes for commented code.&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;#include&lt;/code&gt;d files are in effect exactly the same as inlined code, since they are first included, then compiled&amp;nbsp;— nothing to test here, too. There are no classes in SWF&amp;nbsp;— just functions. Flash compiler optimizes library function calls with constant arguments too. Calls like&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;f = Math.sin(0.25)&lt;/code&gt;&amp;nbsp;or&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;f = Math.max(3,5)&lt;/code&gt;&amp;nbsp;are never saved in SWF, the calculated values go here. Neither will&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;if&lt;/code&gt;&amp;nbsp;parts with condition that always evaluates to&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;false&lt;/code&gt;&amp;nbsp;be stored. Some local variables are stored in registers by the compiler, which makes a huge difference. And so on. Before you test, take a look at disassembly.&lt;br /&gt;Compiled bytecodes for Flash Player 7 are, err, context-dependant. Code inside of&amp;nbsp;&lt;a href="http://flasm.sourceforge.net/#function2" style="color: #fd4d30; text-decoration: none;"&gt;function2&lt;/a&gt;&amp;nbsp;benefits from local registers. The same code in a frame will not.&lt;br /&gt;In a standard procedural programming language, most of the program time is spent in loops and functions or methods called from those loops. In Flash, frame loops and often or parallel called events should be investigated too.&lt;br /&gt;Ben Schleimer's&amp;nbsp;&lt;a href="http://snow.prohosting.com/bensch/flasp.html" style="color: #fd4d30; text-decoration: none;"&gt;Flasm Profiler&lt;/a&gt;&amp;nbsp;(or is it Flash Profiler?) and David Chang's&amp;nbsp;&lt;a href="http://www.nochump.com/asprof/" style="color: #fd4d30; text-decoration: none;"&gt;ASProf&lt;/a&gt;&amp;nbsp;are attempts to solve the main problem&amp;nbsp;— what to optimize. I don't know how good they work, because I've not used them in a real-world project yet&amp;nbsp;— they are relatively new. The profiler basically tells you execution times and number of calls for every function.&lt;br /&gt;After you've found what's critical, find better algorithm first, or change your approach in general. Although you could improve the code in small, optimization should be the last resort.&lt;br /&gt;Do all tests in a defined computer state&amp;nbsp;— fresh booted, no virus scans or internet connection in background, all other programs closed. Don't move or resize widows during the test, don't do anything. Don't move your mouse, and let your mouse stay over flash movie. It&amp;nbsp;&lt;i&gt;does&lt;/i&gt;&amp;nbsp;make a huge difference. That's not voodoo&amp;nbsp;— OS manages your mouse, and Flash isn't the only running process.&lt;br /&gt;Think about graphics. A script is never interrupted, so it's relatively easy to measure. If, however, you start to measure in the first frame, and end in tenth, you measure everything in between and simply don't know what you measure. The result largely depends on player's mood and takes generally much longer, making your ActionScript test irrelevant. Network requests,&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;gotoAndPlay&lt;/code&gt;&amp;nbsp;actions and many other things related to screen refresh are executed asynchronously. Get them out of measured code parts.&lt;br /&gt;Beware of loop overhead. Short test times are not reliable, since the loop itself takes most of the time. Calculate time for an empty loop, function, etc. and subtract it from your results. Use big loops, so that remaining times are bigger then, say, 1000 ms. Computers aren't that exact in ms. Generally, try to isolate the code in question from anything else and measure that code only. Of course, try to get other factors out of consideration first&amp;nbsp;— network bandwidth, graphics etc. Otherwise you results can't be compared because of hidden overhead.&lt;br /&gt;Mac Flash Player is slow compared to PC. Test on Macs early.&lt;br /&gt;Don't execute different tests together. If you try to compare optimization 1 with optimization 2, give them the same environment. One run&amp;nbsp;— one test. If you put both tests in the same frame, you start to deal with caching.&lt;br /&gt;&lt;b&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2157740160912403437&amp;amp;postID=5213210217836011571" name="optas" style="color: #fd4d30; text-decoration: none;"&gt;&lt;/a&gt;ActionScript optimizations&lt;/b&gt;&lt;br /&gt;Flash Player 7 and 8 are much faster with ActionScript. Because of player improvements, and because of compiler improvements in Flash MX 2004/Flash 8. The latter are only noticeable if you compile for Flash Player 6 or higher though. If that's your target audience, you mostly can do now without Flasm optimizations, because the compiler will use registers anyway. You will still be able to achieve better performance with Flasm, but your first step should be getting Flash 8 IDE for critical applications.&lt;br /&gt;I used to elaborate on so called “deprecated Flash 4 actions” here, which are much faster in Flash Player 5 or 6. The worst example:&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;myMC.gotoAndStop()&lt;/code&gt;&amp;nbsp;was&lt;i&gt;25&amp;nbsp;times&lt;/i&gt;&amp;nbsp;slower than&amp;nbsp;&lt;nobr&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;tellTarget("myMC") gotoAndStop()&lt;/code&gt;.&lt;/nobr&gt;&amp;nbsp;In Flash Player 7 they finally don't seem to make a real difference. To insist on recommending them, I would have to re-do the whole testing, including mobile devices, so to hell with them.&lt;br /&gt;Action blocks are always executed from the start to the end, no event or&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;gotoAndPlay()&lt;/code&gt;&amp;nbsp;will interrupt execution of other code. That's the reason why any large&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;for&lt;/code&gt;loop will hang the player, no screen updates are made.&lt;br /&gt;Define local variables in functions with&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;var&lt;/code&gt;&amp;nbsp;keyword. Local variables are faster, generally a good practice, and may be replaced with registers automatically, if compiled with Flash MX 2004/Flash 8.&lt;br /&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;eval&lt;/code&gt;&amp;nbsp;is something special compared to, say,&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;this&lt;/code&gt;&amp;nbsp;or any other ActionScript keyword. In fact,&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;eval&lt;/code&gt;&amp;nbsp;is kind of macro&amp;nbsp;— it doesn't have a bytecode, but simply writes its argument onto the stack&amp;nbsp;— at compile time. No doubt it's faster than any method call. Starting with Flash MX, you're no longer allowed to use&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;eval&lt;/code&gt;&amp;nbsp;on the left side of assignment. Use&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;set&lt;/code&gt;&amp;nbsp;instead.&lt;br /&gt;Unfortunately, identifier length still matters, even in Flash 8, so choose short names for variables. This can be extended to built-in functions too. Creating the function&amp;nbsp;&lt;nobr&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;t = Math.tan&lt;/code&gt;&lt;/nobr&gt;&amp;nbsp;and substituting all&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;Math.tan&lt;/code&gt;&amp;nbsp;occurrences with&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;t&lt;/code&gt;&amp;nbsp;will serve 2 purposes: no additional lookup is made for object&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;Math&lt;/code&gt;, then for method&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;tan&lt;/code&gt;; and the name itself is shorter. It works only for Flash 5+ methods and functions; Flash 4 functions will slow down. Of course, names of local variables don't matter if they are stored in registers.&lt;br /&gt;The old trick with replacing&amp;nbsp;&lt;nobr&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;b = a*4&lt;/code&gt;&lt;/nobr&gt;&amp;nbsp;to&amp;nbsp;&lt;nobr&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;b = a«2&lt;/code&gt;&lt;/nobr&gt;&amp;nbsp;(shift) makes no speed difference in ActionScript.&lt;br /&gt;Flash tries to precalculate constant parts of your expressions. The calculation order results from operator precedence. As Robert Penner noticed,&lt;nobr&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;rad = Math.PI/180&lt;/code&gt;&lt;/nobr&gt;&amp;nbsp;will actually store calculated value in SWF, while&amp;nbsp;&lt;nobr&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;rad = c*Math.PI/180&lt;/code&gt;&lt;/nobr&gt;&amp;nbsp;will not. Conclusion: explicitly set the precedence to enable precalculation&lt;nobr&gt;(&lt;code style="color: #666666; font-size: 12px;"&gt;rad = c*(Math.PI/180)&lt;/code&gt;&amp;nbsp;in this case).&lt;/nobr&gt;&lt;br /&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;for&lt;/code&gt;&amp;nbsp;and&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;while&lt;/code&gt;&amp;nbsp;loops show no speed difference. It depends on how you write them. The most optimized ActionScript examples of both, looping down to&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;0&lt;/code&gt;, produce the same bytecode:&amp;nbsp;&lt;nobr&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;for(var i = 10; i--;) {}&lt;/code&gt;&lt;/nobr&gt;&amp;nbsp;and&amp;nbsp;&lt;nobr&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;i = 10; while (i--) {}&lt;/code&gt;&lt;/nobr&gt;&amp;nbsp;The third part of the&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;for&lt;/code&gt;&amp;nbsp;loop, absent in my example, is actually in the body of loop, so you can't compare it with a normal&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;while&lt;/code&gt;.&lt;br /&gt;Avoid multiple parallel&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;hitTest()&lt;/code&gt;&amp;nbsp;functions in events&amp;nbsp;— often seen in games. If the player is killed after any touch with an enemy, and you have 100 duplicated enemy clips, don't include any code in the enemy clip&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;enterFrame&lt;/code&gt;&amp;nbsp;event. Create the new movie clip and insert the enemy clip here. Then duplicate inside of this parent clip. Now you can check with only one&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;hitTest()&lt;/code&gt;&amp;nbsp;if the collision takes place. If you need to, use some custom math then to calculate what enemy was hit. Since most of the time no collision occurs, you'll make a really big improvement in fps.&lt;br /&gt;I mostly do not say&amp;nbsp;&lt;i&gt;“3.45 times slower”&lt;/i&gt;, because comparisons are very context dependant, exact values will vary. My&amp;nbsp;&lt;i&gt;“slower”&lt;/i&gt;&amp;nbsp;just means&amp;nbsp;&lt;i&gt;“noticeably slower, no situation ever makes it faster”&lt;/i&gt;.&lt;br /&gt;The list is by no means complete, and will never be. Technology may render some points incorrect, again. Please make your own tests.&lt;br /&gt;&lt;b&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2157740160912403437&amp;amp;postID=5213210217836011571" name="optflasm" style="color: #fd4d30; text-decoration: none;"&gt;&lt;/a&gt;Flasm optimizations&lt;/b&gt;&lt;br /&gt;After you're done in ActionScript, and the code is still slow, you can start to optimize with Flasm. Basically only two meaningful low-level features are not accessible from ActionScript and therefore subject of Flasm work:&amp;nbsp;&lt;a href="http://flasm.sourceforge.net/#stack" style="color: #fd4d30; text-decoration: none;"&gt;stack&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a href="http://flasm.sourceforge.net/#registers" style="color: #fd4d30; text-decoration: none;"&gt;registers&lt;/a&gt;.&lt;br /&gt;Let's optimize a simple loop using stack. Our ActionScript is&lt;br /&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;for (var n=0; n&amp;lt;1000; n++) {&lt;br /&gt;&amp;nbsp; someFunction(n);&lt;br /&gt;}&lt;/code&gt;&lt;br /&gt;Flash compiles this loop to the following bytecodes:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td nowrap="" valign="top"&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;constants 'n', 'someFunction' &amp;nbsp; &lt;br /&gt;push 'n', 0.0&lt;br /&gt;varEquals&lt;br /&gt;&amp;nbsp; label1:&lt;br /&gt;push 'n'&lt;br /&gt;getVariable&lt;br /&gt;push 1000&lt;br /&gt;lessThan&lt;br /&gt;not&lt;br /&gt;branchIfTrue label2&lt;br /&gt;&lt;br /&gt;push 'n'&lt;br /&gt;getVariable&lt;br /&gt;push 1, 'someFunction'&lt;br /&gt;callFunction&lt;br /&gt;pop&lt;br /&gt;&lt;br /&gt;push 'n', 'n'&lt;br /&gt;getVariable&lt;br /&gt;increment&lt;br /&gt;setVariable&lt;br /&gt;branch label1&lt;br /&gt;&amp;nbsp; label2:&lt;/code&gt;&lt;br /&gt;&lt;/td&gt;&lt;td nowrap="" valign="top"&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;// Store all variables in constant pool&lt;br /&gt;// Push the string 'n' and starting 0 onto the stack&lt;br /&gt;// Initialize loop counter: n = 0&lt;br /&gt;// Start of the loop&lt;br /&gt;&lt;br /&gt;// Get the value of 'n' again&lt;br /&gt;// Push loop bound&lt;br /&gt;// Evaluate boolean condition: “n &amp;lt; 1000?”&lt;br /&gt;// Invert: now “n &amp;gt;= 1000?”&lt;br /&gt;// If “true” is on stack, go to the end of the loop&lt;br /&gt;&lt;br /&gt;// Loop body&lt;br /&gt;// Get the value of 'n' again&lt;br /&gt;// Push the number of args (1) and function name&lt;br /&gt;// function call is made with n as argument&lt;br /&gt;// Pop the possible function result away&amp;nbsp;— it's unused&lt;br /&gt;&lt;br /&gt;// Push 'n' two times&lt;br /&gt;// Evaluate 'n' again&lt;br /&gt;// n+1 on stack now&lt;br /&gt;// n = n+1&lt;br /&gt;// jump to the loop start&amp;nbsp;— unconditional&lt;br /&gt;// end of the loop&amp;nbsp;— addressed with branchIfTrue above&lt;/code&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;What we immediately see, the&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;n&lt;/code&gt;&amp;nbsp;variable is evaluated many times here.&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;getVariable&lt;/code&gt;&amp;nbsp;action is slow compared to stack operations, and the&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;n&lt;/code&gt;&amp;nbsp;is only used as local counter. Why not discard&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;n&lt;/code&gt;, keep the counter on stack and use it over and over, thus eliminating all&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;getVariable&lt;/code&gt;&amp;nbsp;calls? We also don't need the constant pool declaration, since&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;n&lt;/code&gt;&amp;nbsp;will disappear, and&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;someFunction&lt;/code&gt;&amp;nbsp;name will be only used once. The number of jumps can be reduces to one, too. We know we have to call&lt;code style="color: #666666; font-size: 12px;"&gt;someFunction(0)&lt;/code&gt;, so there is no need to check for the condition on the top of the loop. Look at optimized version:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td nowrap="" valign="top"&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;push 0&lt;br /&gt;&amp;nbsp; loopStart:&lt;br /&gt;dup&lt;br /&gt;&lt;br /&gt;push 1, 'someFunction' &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;callFunction&lt;br /&gt;pop&lt;br /&gt;&lt;br /&gt;increment&lt;br /&gt;dup&lt;br /&gt;push 1000&lt;br /&gt;lessThan&lt;br /&gt;branchIfTrue loopStart&lt;br /&gt;pop&lt;/code&gt;&lt;br /&gt;&lt;/td&gt;&lt;td nowrap="" valign="top"&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;// No need for double 0.0, integer 0 will do it&lt;br /&gt;// Choosing meaningful name&lt;br /&gt;// dup the counter&amp;nbsp;— our function will eat it up&lt;br /&gt;&lt;br /&gt;// Push the number of args (1) and function name&lt;br /&gt;// function call is made with n as argument&lt;br /&gt;// Pop the possible function result away&amp;nbsp;— it's unused&lt;br /&gt;// Now the counter is on top of the stack again&lt;br /&gt;// Increment it&lt;br /&gt;// Dup the counter&amp;nbsp;— condition evaluation will eat it up&lt;br /&gt;// Push loop bound&lt;br /&gt;// Condition evaluation: counter &amp;lt; 1000?&lt;br /&gt;// Jump to the loop start, counter is on top&lt;br /&gt;// Should remove counter from stack after the loop&lt;/code&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;We can go even further. If our function, say, fills an array with some calculated values, it makes no difference to do it from&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;0&lt;/code&gt;&amp;nbsp;to&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;999&lt;/code&gt;&amp;nbsp;or from&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;999&lt;/code&gt;&amp;nbsp;“down to”&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;0&lt;/code&gt;. We can eliminate&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;lessThan&lt;/code&gt;&amp;nbsp;action in this case, because&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;branchIfTrue&lt;/code&gt;&amp;nbsp;is kind enough to convert&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;0&lt;/code&gt;&amp;nbsp;to false, and all other numbers to true for us.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td nowrap="" valign="top"&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;push 1000&lt;br /&gt;&amp;nbsp; loopStart:&lt;br /&gt;decrement&lt;br /&gt;dup&lt;br /&gt;push 1, 'someFunction' &amp;nbsp; &lt;br /&gt;callFunction&lt;br /&gt;pop&lt;br /&gt;dup&lt;br /&gt;branchIfTrue loopStart&lt;br /&gt;pop&lt;/code&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;We moved&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;decrement&lt;/code&gt;&amp;nbsp;to the top of the loop, because otherwise&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;branchIfTrue&lt;/code&gt;&amp;nbsp;would immediately exit loop if the counter value is&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;0&lt;/code&gt;&amp;nbsp;and not let us execute&lt;code style="color: #666666; font-size: 12px;"&gt;someFunction(0)&lt;/code&gt;.&lt;br /&gt;As you see, we end with a pretty clear loop version, which will be much faster than the original Flash. How much, depends on what&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;someFunction()&lt;/code&gt;&amp;nbsp;does. As the next step you would go there and optimize it.&lt;br /&gt;The best way to learn how to use registers is to compile the same code in Flash MX 2004 for Flash 5, Flash 6, Flash 7, and look at the disassembly. Flash 5 version will use&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;r:0&lt;/code&gt;&amp;nbsp;only, Flash 6 will utilize all four global registers, and Flash 7/8 will add local&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;function2&lt;/code&gt;&amp;nbsp;registers.&lt;br /&gt;Now if your target is Flash 5, you'll see from Flash 6' code what can be done. For higher targets, the room for further optimization is smaller. But there are still many places where the code could be improved&amp;nbsp;— basically by eliminating useless&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;pop&lt;/code&gt;s,&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;push&lt;/code&gt;es and&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;branch&lt;/code&gt;es.&lt;br /&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;push&lt;/code&gt;&amp;nbsp;statements may push multiple values, not just one. Try to merge single&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;push&lt;/code&gt;es into one. That's way faster. You'll have to slightly re-arrange the code to do that.&lt;br /&gt;Registers are faster than variables, but still slower than stack. Why not keep all the values on stack so they go to the top just in the moment you need them? The problem is, if you're doing this with 2 or more variables, your algorithm may want to access them in a different order than they're stored. If some value is only required, say, at the start and at the end of your routine&amp;nbsp;— no problem, it happily lives somewhere at the bottom, waiting for its time coming, and lets you work with other values on top. But for often needed values it doesn't work. While we have&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;swap&lt;/code&gt;&amp;nbsp;action to exchange two top values on stack, we can't directly access the third. Even if you find some illusionistic approach to access many variables, you'll just slow the execution with big amounts of&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;swap&lt;/code&gt;&amp;nbsp;commands.&lt;br /&gt;&lt;b&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2157740160912403437&amp;amp;postID=5213210217836011571" name="doublenots" style="color: #fd4d30; text-decoration: none;"&gt;&lt;/a&gt;Double nots&lt;/b&gt;&lt;br /&gt;In certain cases Flash writes double&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;not&lt;/code&gt;s in your code. Consider ActionScript code&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;if (a&amp;lt;=b) { ... } else { ... }&lt;/code&gt;&amp;nbsp;Two inversions are created here by Flash compiler:&lt;br /&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;push 'b'&lt;br /&gt;getVariable&lt;br /&gt;push 'a'&lt;br /&gt;getVariable&lt;br /&gt;lessThan&lt;/code&gt;&amp;nbsp;// a&amp;gt;b?&lt;br /&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;not&lt;/code&gt;&amp;nbsp;// now inverted: a&amp;lt;=b?&lt;br /&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;not&lt;/code&gt;&amp;nbsp;// prepare for branch to the else condition: again a&amp;gt;b?&lt;br /&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;branchIfTrue elseCondition&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;As you see, Flash is not very flexible compiling your statements and does not change the order of operands in expression or use another pattern for&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;if&lt;/code&gt;&amp;nbsp;statement. It doesn't really make sense. The only&amp;nbsp;&lt;i&gt;purpose&lt;/i&gt;&amp;nbsp;here could be an attempt to force type conversion to boolean. The next action you always see in the code, however, is&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;branchIfTrue&lt;/code&gt;. And this action does type conversion itself.&lt;br /&gt;So Flasm will automatically remove those&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;not&lt;/code&gt;s in update mode.&lt;br /&gt;&lt;b&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2157740160912403437&amp;amp;postID=5213210217836011571" name="optthanks" style="color: #fd4d30; text-decoration: none;"&gt;&lt;/a&gt;Thanks&lt;/b&gt;&lt;br /&gt;My very special thanks go to the people on flashcoders list, whose ideas helped me to the better understanding of optimization and flowed into above examples:&lt;br /&gt;Rasheed Abdal-Aziz, Ralf Bokelberg, Robin Debreuil, Zeh Fernando, Gary Fixler, Branden Hall, Dave Hayden, Damien Morton, Amos Olson, Robert Penner, Casper Schuirink.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3 style="color: #001455;"&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2157740160912403437&amp;amp;postID=5213210217836011571" name="__bytecode__" style="color: #fd4d30; text-decoration: none;"&gt;&lt;/a&gt;__bytecode__&lt;/h3&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;__bytecode__&lt;/code&gt;&amp;nbsp;function, first mentioned (&lt;a href="http://blog.debreuil.com/archive/2003/10/15/150.aspx" style="color: #fd4d30; text-decoration: none;"&gt;1. post&lt;/a&gt;,&amp;nbsp;&lt;a href="http://blog.debreuil.com/archive/2003/10/16/156.aspx" style="color: #fd4d30; text-decoration: none;"&gt;2. post&lt;/a&gt;) by Robin Debreuil is a way to inject bytecodes directly into swf without using Flasm (compare&amp;nbsp;&lt;a href="http://flasm.sourceforge.net/#embedding" style="color: #fd4d30; text-decoration: none;"&gt;embedding&lt;/a&gt;). It takes a string filled with hexadecimal numbers as parameter. Since&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;__bytecode__&lt;/code&gt;&amp;nbsp;is evaluated at compile time, it is not possible to give it a variable parameter. While it's convenient to not rely on Flasm updating the swf,&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;__bytecode__&lt;/code&gt;&amp;nbsp;also offers an excellent way to shoot yourself in the foot. No checks are made by compiler here. You better make sure values are correct. Well, using Flasm in&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;-b&lt;/code&gt;&amp;nbsp;mode to produce&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;__bytecode__&lt;/code&gt;&amp;nbsp;parameter (or any other tool) at least guarantees proper instruction layout. Some caveats remain though.&lt;br /&gt;&lt;code style="color: #666666; font-size: 12px;"&gt;__bytecode__&lt;/code&gt;&amp;nbsp;is a function and as such returns a value. So single&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;pop&lt;/code&gt;&amp;nbsp;action is added by Flash IDE if the result is unused. You may also assign the return value to variable, then it will be something else than&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;pop&lt;/code&gt;. Normally, an extra&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;pop&lt;/code&gt;&amp;nbsp;is harmless.&lt;br /&gt;There are possible complications here with&amp;nbsp;&lt;a href="http://flasm.sourceforge.net/#constants" style="color: #fd4d30; text-decoration: none;"&gt;constant pools&lt;/a&gt;. Defining your own inside of&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;__bytecode__&lt;/code&gt;&amp;nbsp;will disable the pool automatically produced by compiler. Not defining makes the swf bigger. Define your own pool when needed and let&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;__bytecode__&lt;/code&gt;&amp;nbsp;reside in a place where there is no other ActionScript&amp;nbsp;— don't mix.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3 style="color: #001455;"&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2157740160912403437&amp;amp;postID=5213210217836011571" name="filesize" style="color: #fd4d30; text-decoration: none;"&gt;&lt;/a&gt;File size difference&lt;/h3&gt;After assembling Flasm source or updating SWF with Flasm you'll often see your SWF having few less bytes even if you haven't changed anything in the bytecode. Besides of trivial optimizations Flasm does in update mode, there is one more reason for it. Flash may save block lengthes in the SWF as 2 or 6 byte records. 6&amp;nbsp;bytes are only needed if the block is larger than 62 bytes. Flash, however, often uses 6 bytes where 2 bytes will do. Although Flasm does this too in certain cases, most blocks are optimized during assembling. So I get 400 less bytes on the file of 90kB length without optimizing anything. I don't know of any disadvantages, enjoy this unexpected Flasm bonus. Side note: ironically, there are places where long lengthes are required because of Flash player bugs, but Flasm is aware of this and will let them untouched.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3 style="color: #001455;"&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2157740160912403437&amp;amp;postID=5213210217836011571" name="hugescripts" style="color: #fd4d30; text-decoration: none;"&gt;&lt;/a&gt;Huge scripts&lt;/h3&gt;While it's good practice to keep scripts smaller than 64k (compiled) per frame, it's possible to get larger. But the sole action record&amp;nbsp;—&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;constants, push, function&lt;/code&gt;and other is limited to 64k because of 2 bytes length field size.&lt;br /&gt;Since Flash attempts to create the constant pool for all variables and methods, and never creates multiple constant pools, what does it do in such cases? Flash 5 compiler would silently write an overflowed value to the length field without errors or warnings. Later Flash versions are smarter: they would put so many strings as possible into constant pool, other strings just remain in place. Flash MX 2004 will even warn you about classes being too big. However, the compiler doesn't check other places where overflow may occur. Function length (ActionScript 1), for example, isn't verified and will be broken for very big functions.&lt;br /&gt;If you try to execute this kind of SWF, Flash player crashes or actions are omitted. Disassembly will be incomplete and/or wrong. In most cases, Flasm will show an error message.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3 style="color: #001455;"&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2157740160912403437&amp;amp;postID=5213210217836011571" name="bugs" style="color: #fd4d30; text-decoration: none;"&gt;&lt;/a&gt;Quirks, bugs and crashes&lt;/h3&gt;Flasm may not be able to disassemble protected SWFs. The protection is usually achieved by inserting some kind of junk into SWF. Generally, such SWFs work in Flash Player, but break the SWF file format spec. Flasm, however, aims to support the spec, not to mimic essentially undefined behavior of some particular Flash Player version. What's my point here? Don't ask me to disassemble something you've downloaded somewhere. Neither will I tune Flasm to overcome any protections. They are not even interesting, and easy to fix with a hex editor.Windows version of Flasm can't open unicode file names. It seems to be a Cygwin limitation.&lt;br /&gt;When saving flm files in Windows Notepad/Editor, choose ANSI as encoding. In UTF-8 mode Notepad inserts so called byte order mark (BOM) at the start of the file, which irritates Flasm (and many other programs). If you work with UTF-8, please choose another editor, most of them don't add the BOM.&lt;br /&gt;You can't compile something like&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;function 0123ä()&lt;/code&gt;&amp;nbsp;in Flash because of parser limitations, the SWF format doesn't impose any restrictions on function names. Since Flasm deals with SWF directly, it should support such names, too. When assembling an SWF, you have to manually place quotes around problematic function names. Note: some of these (unicode names, for example, or Flasm keywords) are perfectly ok with Flash IDE, but interfere with Flasm parser.&lt;br /&gt;An edge case: nested&amp;nbsp;&lt;code style="color: #666666; font-size: 12px;"&gt;tellTargets&lt;/code&gt;&amp;nbsp;don't work if one of them is inside of a function.&lt;br /&gt;Don't know of any other bugs at the moment. If you find a nontrivial bug, fell free to&amp;nbsp;&lt;a href="http://www.nowrap.de/kontakt.html" style="color: #fd4d30; text-decoration: none;"&gt;send&amp;nbsp;me&lt;/a&gt;&amp;nbsp;your file. Please try to produce a minimal sample where the bug still occurs. The relevant part of source code or FLA is also welcome.&lt;br /&gt;To make it clear: provided the SWF is valid, it&amp;nbsp;&lt;i&gt;must&lt;/i&gt;&amp;nbsp;run properly after disassembling and assembling back without changes. The update mode&amp;nbsp;&lt;i&gt;must&lt;/i&gt;&amp;nbsp;work too. There are absolutely no voodoo behaviors or unsupported features in Flasm. If you encounter problems, there must be a serious bug in my implementation and your report is highly appreciated.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3 style="color: #001455;"&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2157740160912403437&amp;amp;postID=5213210217836011571" name="history" style="color: #fd4d30; text-decoration: none;"&gt;&lt;/a&gt;History&lt;/h3&gt;&lt;a href="http://www.opaque.net/" style="color: #fd4d30; text-decoration: none;"&gt;Dave Hayden&lt;/a&gt;&amp;nbsp;released Flasm in cooperation with Damien Morton in April 2001. The first version was able to disassemble the main timeline of the SWF and assemble to the first frame only. Flasm was quite useful already. I was very excited to discover Flasm back then, and soon started to play with source code. I've expanded Flasm's functionality and fixed some bugs. Dave then started the project on&amp;nbsp;&lt;a href="http://sourceforge.net/projects/flasm/" style="color: #fd4d30; text-decoration: none;"&gt;sourceforge.net&lt;/a&gt;. From 2002 until now I'm the only person developing and maintaining Flasm. Recently, Wang&amp;nbsp;Zhen from&amp;nbsp;&lt;a href="http://www.genable.com/" style="color: #fd4d30; text-decoration: none;"&gt;Genable Labs&lt;/a&gt;&amp;nbsp;has greatly contributed to Flasm 1.6.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3 style="color: #001455;"&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2157740160912403437&amp;amp;postID=5213210217836011571" name="projectstate" style="color: #fd4d30; text-decoration: none;"&gt;&lt;/a&gt;Project state&lt;/h3&gt;After five years of development Flasm is stable enough to be used in real-life projects and to my best knowledge fully supports all quirks of SWF format. I'm happy that during these time Flasm's source code has helped to develop some third-party software. My special thanks go to all the people who reported problems and suggested improvements. Now I'm busy with other projects and will not be able to implement exciting new features. Please send me your bug reports though, bug fixes will continue to happen.&lt;br /&gt;It's unlikely I'll ever add support for Flash 9. As you may know, Flash Player 9 contains the new virtual machine, which is nothing like the old one. I see it as a natural end of Flasm's life cycle&amp;nbsp;— supporting that would in fact mean writing another Flasm from scratch.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3 style="color: #001455;"&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2157740160912403437&amp;amp;postID=5213210217836011571" name="resources" style="color: #fd4d30; text-decoration: none;"&gt;&lt;/a&gt;Resources&lt;/h3&gt;This page can always be found at&amp;nbsp;&lt;a href="http://www.nowrap.de/flasm.html" style="color: #fd4d30; text-decoration: none;"&gt;http://www.nowrap.de/flasm.html&lt;/a&gt;. The mirror at&amp;nbsp;&lt;a href="http://flasm.sourceforge.net/" style="color: #fd4d30; text-decoration: none;"&gt;flasm.sourceforge.net&lt;/a&gt;&amp;nbsp;is updated from time to time.&lt;br /&gt;The source is available here or may be downloaded from SourceForge's CVS. Project page is&amp;nbsp;&lt;a href="http://sourceforge.net/projects/flasm" style="color: #fd4d30; text-decoration: none;"&gt;http://sourceforge.net/projects/flasm&lt;/a&gt;.&lt;br /&gt;Take a look at my another project:&amp;nbsp;&lt;a href="http://www.nowrap.de/flare.html" style="color: #fd4d30; text-decoration: none;"&gt;Flare&lt;/a&gt;, the free ActionScript decompiler.&lt;br /&gt;On the&amp;nbsp;&lt;a href="http://www.opaque.net/~dave/flasm/" style="color: #fd4d30; text-decoration: none;"&gt;original Flasm page&lt;/a&gt;&amp;nbsp;resides the first version and the useful explanation of Flash 5 bytecodes by Dave.&lt;br /&gt;Compare tree animations made by Amos Olson:&amp;nbsp;&lt;a href="http://www.amosolson.com/flash/tree.html" style="color: #fd4d30; text-decoration: none;"&gt;standard ActionScript&lt;/a&gt;&amp;nbsp;version and&amp;nbsp;&lt;a href="http://www.amosolson.com/flash/flasmtree.html" style="color: #fd4d30; text-decoration: none;"&gt;the optimized&lt;/a&gt;&amp;nbsp;one.&lt;br /&gt;Look at&amp;nbsp;&lt;a href="http://www.schuirink.net/~casper/flash/AI/path-flasm.html" style="color: #fd4d30; text-decoration: none;"&gt;path finding swf&lt;/a&gt;&amp;nbsp;made with Flasm by Casper Schuirink.&amp;nbsp;&lt;a href="http://www.schuirink.net/~casper/zip/path-flasm.zip" style="color: #fd4d30; text-decoration: none;"&gt;Here&lt;/a&gt;&amp;nbsp;is the source.&lt;br /&gt;&lt;a href="http://www.mtasc.org/" style="color: #fd4d30; text-decoration: none;"&gt;MTASC&lt;/a&gt;, an open source ActionScript II compiler.&lt;br /&gt;ActionScript problems are discussed on the highly frequented&amp;nbsp;&lt;a href="http://chattyfig.figleaf.com/" style="color: #fd4d30; text-decoration: none;"&gt;flashcoders mailing list&lt;/a&gt;, maintained by Branden Hall.&lt;br /&gt;Alexis'&amp;nbsp;&lt;a href="http://sswf.sourceforge.net/SWFalexref.html" style="color: #fd4d30; text-decoration: none;"&gt;SWF Reference&lt;/a&gt;&lt;br /&gt;Macromedia's&amp;nbsp;&lt;a href="http://www.macromedia.com/licensing/developer/" style="color: #fd4d30; text-decoration: none;"&gt;SWF File Format description&lt;/a&gt;&lt;br /&gt;At the&amp;nbsp;&lt;a href="http://proto.layer51.com/" style="color: #fd4d30; text-decoration: none;"&gt;prototype&lt;/a&gt;&amp;nbsp;site you'll find some Flash functions redefined for speed or flexibility, and also many new and useful ones. Often it's better to start Flasm optimizing from one of them.&lt;br /&gt;&lt;a href="http://lists.flashguru.co.uk/mailman/listinfo/extendflash" style="color: #fd4d30; text-decoration: none;"&gt;Extendflash mailing list&lt;/a&gt;&amp;nbsp;deals mostly with JSAPI, which allows customizing Flash MX 2004 and Flash 8 IDEs. Some posts about SWF internals.&lt;br /&gt;&lt;a href="http://www.kinesissoftware.com/" style="color: #fd4d30; text-decoration: none;"&gt;KineticFusion&lt;/a&gt;&amp;nbsp;by Kinesis Software converts your complete SWF to XML and back. Pricey.&lt;br /&gt;Ben Schleimer's&amp;nbsp;&lt;a href="http://snow.prohosting.com/bensch/flasp.html" style="color: #fd4d30; text-decoration: none;"&gt;Flasm Profiler&lt;/a&gt;&amp;nbsp;shows you what to optimize in the first place.&lt;br /&gt;Pavils Jurjans has written the&amp;nbsp;&lt;a href="http://www.jurjans.lv/flash/flasm_debug.html" style="color: #fd4d30; text-decoration: none;"&gt;little debugger&lt;/a&gt;&amp;nbsp;for Flasm, useful while embedding Flasm code in ActionScript. The debugger shows stack and register contents.&lt;br /&gt;Jon Bott's has written an&amp;nbsp;&lt;a href="http://home.byu.net/jtb64/Swob.htm" style="color: #fd4d30; text-decoration: none;"&gt;obfuscator&lt;/a&gt;, based on Flasm.&lt;br /&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2157740160912403437&amp;amp;postID=5213210217836011571" name="winflasm" style="color: #fd4d30; text-decoration: none;"&gt;&lt;/a&gt;For people who don't like to work with command line, and don't like to register Flasm as SWF handler in Windows Explorer either, there is a&amp;nbsp;&lt;a href="http://www.nowrap.de/download/winflasm.zip" style="color: #fd4d30; text-decoration: none;"&gt;WinFlasm&lt;/a&gt;&amp;nbsp;by&lt;a href="mailto:nhytro-python@web.de" style="color: #fd4d30; text-decoration: none;"&gt;Sharriff Aina,&lt;/a&gt;&amp;nbsp;simple Windows interface to Flasm.&lt;br /&gt;Albert Chosky has created&amp;nbsp;&lt;a href="ftp://ftp.editplus.com/files/flasm132.zip" style="color: #fd4d30; text-decoration: none;"&gt;Flasm 1.32 syntax files&lt;/a&gt;&amp;nbsp;for&amp;nbsp;&lt;a href="http://www.editplus.com/" style="color: #fd4d30; text-decoration: none;"&gt;EditPlus&lt;/a&gt;.&lt;br /&gt;The older Flasm&amp;nbsp;&lt;a href="http://www.nowrap.de/download/UltraEdit_flasm.txt" style="color: #fd4d30; text-decoration: none;"&gt;syntax file&lt;/a&gt;&amp;nbsp;for&amp;nbsp;&lt;a href="http://www.ultraedit.com/" style="color: #fd4d30; text-decoration: none;"&gt;UltraEdit&lt;/a&gt;, submitted by anonymous Russian flasmer.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3 style="color: #001455;"&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2157740160912403437&amp;amp;postID=5213210217836011571" name="useterms" style="color: #fd4d30; text-decoration: none;"&gt;&lt;/a&gt;Terms of use&lt;/h3&gt;&lt;/i&gt;&lt;/span&gt;&lt;span style="font-family: Georgia;"&gt;&lt;i&gt;Copyright © 2001&amp;nbsp; Opaque Industries, &amp;nbsp;© 2002-2007&amp;nbsp; Igor Kogan, &amp;nbsp;© 2005&amp;nbsp; Wang Zhen&lt;br /&gt;All rights reserved.&lt;br /&gt;Flasm is completely free. It's provided “as is” and without any warranties. Please read the license included in the distribution for details.&lt;br /&gt;Macromedia and Flash are registered trademarks of Adobe Systems Inc.&lt;br /&gt;Adobe does not sponsor, affiliate, or endorse this product.&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2157740160912403437-5213210217836011571?l=thulasiram-soft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thulasiram-soft.blogspot.com/feeds/5213210217836011571/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thulasiram-soft.blogspot.com/2009/09/command-line-assemblerdisassembler-of.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2157740160912403437/posts/default/5213210217836011571'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2157740160912403437/posts/default/5213210217836011571'/><link rel='alternate' type='text/html' href='http://thulasiram-soft.blogspot.com/2009/09/command-line-assemblerdisassembler-of.html' title='command line assembler/disassembler of Flash ActionScript bytecode (Flasm)'/><author><name>Thulasiram</name><uri>http://www.blogger.com/profile/16015182526583065651</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2157740160912403437.post-4735157796266364929</id><published>2009-08-31T21:47:00.000+05:30</published><updated>2009-11-25T15:55:12.986+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='action script'/><category scheme='http://www.blogger.com/atom/ns#' term='Books'/><category scheme='http://www.blogger.com/atom/ns#' term='Adobe AIR'/><category scheme='http://www.blogger.com/atom/ns#' term='Adobe Flex'/><title type='text'>Hot Flex and ActionScript 3.0 APIs, tips and tools for Autumn 2008</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Lucida Grande', Verdana, Arial, sans-serif; font-size: 12px; line-height: 16px;"&gt;&lt;h2 style="color: #2f62ac; font-family: Helvetica, Arial, sans-serif; font-size: 1.4em; line-height: 1em; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"&gt;43 Hot Flex and ActionScript 3.0 APIs, tips and tools for Autumn 2008&lt;/h2&gt;&lt;div class="entry" style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;img alt="" class="alignright" height="262" src="http://www.seantheflexguy.com/images/blog/computer-fire.jpg" style="float: right; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: right;" width="200" /&gt;Autumn is here again and it’s time to review some of the happenings from the summer. Here are 43 hand selected Flex and ActionScript 3.0 libraries, APIs, tips, and tricks.&amp;nbsp; There have been several new APIs launched, Cairngorm was open sourced, a Flex 3 update was released and Grant Skinner created a new tweening engine. There have been new Flex application development frameworks released. There was a Flex code generator update and there have also been some design pattern updates released. You don’t want to miss out on this link round up!&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Introducing Flex SDK 3.1 and Flex Builder 3.0.1&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Flex SDK 3.1 is what the team considers a milestone build, a certification of all of that work and a roll-up into a build that is recommended for all users&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://www.adobe.com/devnet/flex/articles/sdk3_fb301.html" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://www.adobe.com/devnet/flex/articles/sdk3_fb301.html&lt;/a&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;/strong&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Cairngorm Moved to Adobe Open Source&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://weblogs.macromedia.com/amcleod/archives/2008/08/cairngorm_moved.html" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://weblogs.macromedia.com/amcleod/archives/2008/08/cairngorm_moved.html&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Flex Architecture Basics - Models &amp;amp; Data Transfer Objects&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Demonstrates a relatively easy way of setting up a small Flex application using a model and a data transfer object&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://nwebb.co.uk/blog/?p=228" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://nwebb.co.uk/blog/?p=228&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Tutorial: ActionScript 3 Dragging Methods&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;This tutorial is all about dragging an object around the stage.&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://flashmymind.com/Tutorials/Actionscript/Advanced/actionscript-dragging.php" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://flashmymind.com/Tutorials/Actionscript/Advanced/actionscript-dragging.php&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Flex Paginate Component&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;A little paginator component&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://www.darklump.co.uk/blog/?p=112" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://www.darklump.co.uk/blog/?p=112&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;ModuleManager and IModuleInfo - loading Flex Modules dynamically&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://lowpitch.com/blog/2008/08/17/modulemanager-and-imoduleinfo-loading-flex-modules-dynamically/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://lowpitch.com/blog/2008/08/17/modulemanager-and-imoduleinfo-loading-flex-modules-dynamically/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Getting started with Degrafa&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Simple code example by Mike Huntington&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://www.mikehuntington.com/?p=22" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://www.mikehuntington.com/?p=22&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Advanced CSS with Degrafa&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Another great code example by Mike Huntington&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://www.mikehuntington.com/?p=31" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://www.mikehuntington.com/?p=31&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Alcon 3&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Rewritten for Adobe AIR. This is a little debuger/logger, I used to use this back in the AS2 days and really enjoyed it. I still need to check this out but I’m sure it’s really cool.&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://blog.hexagonstar.com/alcon/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://blog.hexagonstar.com/alcon/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Remove css type selector warnings in Flex Builder&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Quick little tip to remove css type selector warnings from the Flex Builder problems panel&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://www.nutrixinteractive.com/blog/?p=135" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://www.nutrixinteractive.com/blog/?p=135&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;/strong&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;VBox, HBox with gradient background&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://www.igorcosta.org/?p=160" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://www.igorcosta.org/?p=160&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Flex designer/developer workflow video tutorials&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;A series of short tutorials that cover using Fireworks CS3 and Flex Builder 3 to create a visual theme for Flex applications.&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://www.ashorten.com/2008/08/11/flex-designerdeveloper-workflow-video-tutorials/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://www.ashorten.com/2008/08/11/flex-designerdeveloper-workflow-video-tutorials/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Six reasons to use ActionScript 3.0 - Lee Brimelow&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://www.adobe.com/devnet/actionscript/articles/six_reasons_as3.html" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://www.adobe.com/devnet/actionscript/articles/six_reasons_as3.html&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Custom flex skins&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Creating web-applications with flex 3 is great. there are a ton of pre-made components, and an open-ended architecture to allow you to create your own.&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://the.fontvir.us/b10g/?id=111" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://the.fontvir.us/b10g/?id=111&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Writing components in Flex, part 1&lt;/strong&gt;&lt;a href="http://labs.flexperiments.nl/writing-components-in-flex-part-1/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;http://labs.flexperiments.nl/writing-components-in-flex-part-1/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Writing components in Flex, part 2&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://labs.flexperiments.nl/writing-components-in-flex-part-2/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://labs.flexperiments.nl/writing-components-in-flex-part-2/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Flash Enabled Blog Actionscript 3 API roundup&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://flashenabledblog.com/2008/08/26/as3-actionscript-3-classes/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://flashenabledblog.com/2008/08/26/as3-actionscript-3-classes/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Create bitmap data object from a display object&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://www.flexer.info/2008/08/20/how-to-make-a-bitmapdata-from-a-displayobjectuicomponent/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://www.flexer.info/2008/08/20/how-to-make-a-bitmapdata-from-a-displayobjectuicomponent/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;FCG 1.0 (Flex code generator)&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Goes final and open source&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://www.dehats.com/drupal/?q=node/45" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://www.dehats.com/drupal/?q=node/45&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;New ActionScript 3 Singleton Method&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Daniel Love’s version using static initializers&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://www.daniellove.net/blog/?p=81" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://www.daniellove.net/blog/?p=81&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;CSKDebugger&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;AIR debuger for Mac&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://ultra-web.co.uk/?p=178" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://ultra-web.co.uk/?p=178&lt;/a&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;/strong&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Fill Colors&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Fill Colors is the embodiment of the separation between style and layout in Flex and a demonstration of what’s possible in terms of skinning a Flex application&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://www.gskinner.com/blog/archives/2008/08/gtween_a_new_tw.html" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://www.fillcolors.com/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;gTween&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Animation tweening library by Grant Skinner&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://www.gskinner.com/blog/archives/2008/08/gtween_a_new_tw.html" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://www.gskinner.com/blog/archives/2008/08/gtween_a_new_tw.html&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Functional Testing Framework for AIR AJAX apps based on Selenium&lt;/strong&gt;&lt;a href="http://corlan.org/2008/08/15/functional-testing-framework-for-air-ajax-apps-based-on-selenium" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;http://corlan.org/2008/08/15/functional-testing-framework-for-air-ajax-apps-based-on-selenium&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Yahoo! Music API&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;The Yahoo! Music API gives developers access to the Yahoo! Music catalog of artists, albums, tracks, videos, ratings and more. It provides numerous ways to browse the catalog: through charts, search, similarities, genres, artists, and user recommendations and ratings.&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://developer.yahoo.com/music/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"&gt;http://developer.yahoo.com/music/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;ActionScript 3 Flexible Layout Class&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;The NpFlexLayout Class is designed to simplify aligning DisplayObjects to stage dimensions and responding to changes in stage dimensions at run time by a user or between different users.&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://www.blog.noponies.com/archives/109" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://www.blog.noponies.com/archives/109&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;mediacorelib - media core library for ActionScript 3.0&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;The MediaCoreLib is an Actionscript 3.0 library toolset for playing audio or video files effortlessly. MediaCoreLib allows you to manage a playlist and seemlessly crossfade tracks.&lt;a href="http://code.google.com/p/mediacorelib/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;http://code.google.com/p/mediacorelib/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Servebox ActionScript Foundry&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;An ActionScript 3 / Java framework designed for Flex 2 applications development. Its design is based on several design patterns,&lt;a href="http://www.servebox.com/foundry/doku.php?id=" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;http://www.servebox.com/foundry/doku.php?id=&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Flest Framework&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Flest is an ActionScript3 / Flex application framework for building enterprise level RIAs. It uses such design pattern as Controller, Factory, Command, etc. High efficiency, simplicity and practicality were set as its mandatory design features.&lt;a href="http://code.google.com/p/flest/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;http://code.google.com/p/flest/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Guasax Flex/AIR MVC - The MVC Flex/AIR Framework&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Guasax is an ease of use programming framework to provide ordered and scalable Flex applications. Life cycle of guasax framework is based in the MVC pattern to take on our program actions&lt;a href="http://www.guasax.com/guasax/web/en/index.php" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;http://www.guasax.com/guasax/web/en/index.php&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Flex Mojos - HelloWorldTutorial&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Tutorial for building a simple Hello World Flex application with flex-mojos&lt;a href="http://code.google.com/p/flex-mojos/wiki/HelloWorldTutorial" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;http://code.google.com/p/flex-mojos/wiki/HelloWorldTutorial&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Scott Evans - public discussion of new FlexBuilder 4 IDE features&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Scott Evans, a lead engineer on the FlexBulder team, has started a new blog - Getting and Setting&amp;nbsp; that will be for public discussion of new FlexBuilder 4 IDE features.&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://gettingandsetting.com/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://gettingandsetting.com/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;dpHibernate - Hibernate lazy loading with Adobe BlazeDS&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;dpHibernate is a custom Flex Library and a custom BlazeDS Hibernate adapter that work together to give you support for lazy loading of hibernate objects from inside your flex applications.&lt;a href="http://blog.mikenimer.com/index.cfm/2008/5/21/dpHibernate--Hibernate-lazy-loading-with-Adobe-BlazeDS" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;http://blog.mikenimer.com/index.cfm/2008/5/21/dpHibernate–Hibernate-lazy-loading-with-Adobe-BlazeDS&lt;/a&gt;&lt;a href="http://code.google.com/p/dphibernate" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;http://code.google.com/p/dphibernate&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Alternativa3D — browser 3D-engine based on Adobe Flash&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Create 3D-scenes in Flash: objects, mechanisms, buildings visualization. Import geometry from 3D-formats, upload textures (including animated). Three-dimentional projects and games, basic physics simulation (friction, collision).&lt;a href="http://alternativaplatform.com/en/alternativa3d/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;http://alternativaplatform.com/en/alternativa3d/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;KwikUML - build UML models of ActionScript and PHP classes&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;A tool to quickly build UML models of ActionScript and PHP classes and interfaces, as well as, SQL Entity Relationship Designs (ERDs). Built on Adobe’s AIR runtime, this desktop application allows you to not only build those models but export PNGs of the models for use in specification documentation and generate stub code from the models to use as a starting point once it’s time to actually begin development.&lt;a href="http://labs.otuome.com/kwikuml" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;http://labs.otuome.com/kwikuml&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;KitchenSync&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;KitchenSync is an ActionScript 3.0 library for sequencing animations and other time-based actions.&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://code.google.com/p/kitchensynclib/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://code.google.com/p/kitchensynclib/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;as3xls - read and write Excel files in Flex&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Supports reading text, numbers, formulas, and dates from Excel version 2.x-2003 and writing text, numbers, and dates. Formulas also update to reflect changes in cells they reference.&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://code.google.com/p/as3xls/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://code.google.com/p/as3xls/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;ASDebugger - A run-time debugger for AS3 Projects&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;The ASDebugger allows you to trace variables. It has support for strings, integers, arrays, dates, arraycollections, objects and everything in between.&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://labs.flexperiments.nl/asdebugger/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://labs.flexperiments.nl/asdebugger/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;as3corelib update&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;This is an ActionScript 3 library that contains a lot of useful APIs for working with AS3.&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://code.google.com/p/as3corelib/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://code.google.com/p/as3corelib/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;swix framework - Flex development framework&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Swiz is a framework for Adobe Flex that aims to bring complete simplicity to RIA development. Swiz provides Inversion of Control, event handing, and simple life cycle for asynchronous remote methods. In contrast to other major frameworks for Flex, Swiz imposes no JEE patterns on your code, no repetitive folder layouts, and no boilerplate code on your development. Swiz represents best practices learned from the top RIA developers at some of the best consulting firms in the industry, enabling Swiz to be simple, lightweight, and extremely productive.&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://code.google.com/p/swizframework/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://code.google.com/p/swizframework/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Gaia - open-source front-end Flash Framework for AS3 and AS2&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Gaia is an open-source front-end Flash Framework for AS3 and AS2 designed to dramatically reduce development time.&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://www.gaiaflashframework.com/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://www.gaiaflashframework.com/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Penne Framework - lightweight framework for developing in Flex and Air&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;version 1.0 of The Penne Framework, a simplified Flex and Air framework, as a second option to the popular Cairngorm Framework.&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://www.flexpasta.com/index.php/2008/04/19/introducing-the-penne-framework-for-flex-3/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://www.flexpasta.com/index.php/2008/04/19/introducing-the-penne-framework-for-flex-3/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;An ActionScript Compiler Written In ActionScript&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;“It’s enough to warm the cockles of one’s heart. ActionScript nerds around the globe can celebrate their graduation to “real programmer” status (whatever that means).”&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://www.brooksandrus.com/blog/2008/08/27/an-actionscript-compiler-written-in-actionscript/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://www.brooksandrus.com/blog/2008/08/27/an-actionscript-compiler-written-in-actionscript/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2157740160912403437-4735157796266364929?l=thulasiram-soft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thulasiram-soft.blogspot.com/feeds/4735157796266364929/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thulasiram-soft.blogspot.com/2009/08/hot-flex-and-actionscript-30-apis-tips.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2157740160912403437/posts/default/4735157796266364929'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2157740160912403437/posts/default/4735157796266364929'/><link rel='alternate' type='text/html' href='http://thulasiram-soft.blogspot.com/2009/08/hot-flex-and-actionscript-30-apis-tips.html' title='Hot Flex and ActionScript 3.0 APIs, tips and tools for Autumn 2008'/><author><name>Thulasiram</name><uri>http://www.blogger.com/profile/16015182526583065651</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2157740160912403437.post-5343274670916715283</id><published>2009-08-25T15:58:00.001+05:30</published><updated>2009-11-25T16:02:06.213+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Adobe AIR'/><category scheme='http://www.blogger.com/atom/ns#' term='Adobe Flex'/><title type='text'>Adobe Developer Connection Write and Give Program Donations</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Lucida Grande', Verdana, Arial, sans-serif; font-size: 12px; line-height: 16px;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;h2 style="color: #2f62ac; font-family: Helvetica, Arial, sans-serif; font-size: 1.4em; line-height: 1em; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"&gt;Adobe Developer Connection Write and Give Program Donations&lt;/h2&gt;&lt;div class="entry" style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;div class="wp-caption alignright" style="float: right; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: right; width: 212px;"&gt;&lt;a href="http://www.nature.org/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"&gt;&lt;img alt="The Nature Conservancy - Protecting Nature, Preserving Life" height="96" src="http://www.nature.org/images/tnc_logo_2007.jpg" style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="The Nature Conservancy - Protecting Nature, Preserving Life" width="202" /&gt;&lt;/a&gt;&lt;div class="wp-caption-text" style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;The Nature Conservancy - Protecting Nature, Preserving Life&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;Thanks to the&amp;nbsp;&lt;a href="http://www.adobe.com/devnet/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"&gt;Adobe Developer Connection&lt;/a&gt;&amp;nbsp;for putting together this awesome program! Authors that contributed work to the&amp;nbsp;&lt;a href="http://www.adobe.com/devnet/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"&gt;ADC&lt;/a&gt;&amp;nbsp;from June through August in 2008 were each given an opportunity to choose from 5 charities to donate $100 to. The ADC Write and Give Program generated $6200 USD in Q3 of 08!! That’s fantastic! I donated to the&amp;nbsp;&lt;a href="http://www.nature.org/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"&gt;Nature Conservancy&amp;nbsp;&lt;/a&gt;for my work on the&amp;nbsp;&lt;a href="http://www.adobe.com/devnet/flex/articles/best_practices_pt1.html" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"&gt;Flex Best Practices series&lt;/a&gt;. Shout out to the other authors who also contributed to the ADC Write and Give Program.&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;Sheri German&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://www.swanilda.com/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"&gt;http://www.swanilda.com/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;Paulo Caroli&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://caroli.org/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"&gt;http://caroli.org/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;Ayo Binitie&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://mrbinitie.blogspot.com/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"&gt;http://mrbinitie.blogspot.com/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;Louie Penaflor&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://www.restlessthinker.com/blog/index.php" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"&gt;http://www.restlessthinker.com/blog/index.php&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;Jonathan Tabak&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://www.panachetech.com/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"&gt;http://www.panachetech.com/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;Jim Babbage&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://www.communitymx.com/blog/index.cfm?blogger=32" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"&gt;http://www.communitymx.com/blog/index.cfm?blogger=32&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;Nick Myers&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://www.cooper.com/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"&gt;http://www.cooper.com/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;DryIcons&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://dryicons.com/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"&gt;http://dryicons.com/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;Tom Green&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://www.tomontheweb.ca/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"&gt;http://www.tomontheweb.ca/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;Kumar Vivek&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://blog.i2fly.com/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"&gt;http://blog.i2fly.com/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;John Wylie&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://www.activata.co.uk/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"&gt;http://www.activata.co.uk/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;Samir Dash&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://www.mobilewish.com/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"&gt;http://www.mobilewish.com/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;David Tucker&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://www.davidtucker.net/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"&gt;http://www.davidtucker.net/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;Bill Bejeck&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://www.adobe.com/devnet/flex/articles/flex_grails.html" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"&gt;http://www.adobe.com/devnet/flex/articles/flex_grails.html&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;Henrik Lindahl&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://www.kodgruppen.com/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"&gt;http://www.kodgruppen.com/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;Sebastien Arbogast&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://sebastien-arbogast.com/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"&gt;http://sebastien-arbogast.com/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;Zee Yang&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://www.flexlive.net/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"&gt;http://www.flexlive.net/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;Thanks again to Hong Qiu for all the help with the article. The second part of the&amp;nbsp;&lt;a href="http://www.adobe.com/devnet/flex/articles/best_practices_pt1.html" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"&gt;Best practices series&lt;/a&gt;&amp;nbsp;is in the works and should online in the next couple months. Thanks to Edward Sullivan the Product Manager at the Adobe Developer Connection as well.&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;Additional information can be found on the&amp;nbsp;&lt;a href="http://blogs.adobe.com/adc/2008/08/adc_write_and_give_program_don_1.html" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"&gt;ADC Blog.&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2157740160912403437-5343274670916715283?l=thulasiram-soft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thulasiram-soft.blogspot.com/feeds/5343274670916715283/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thulasiram-soft.blogspot.com/2009/08/adobe-developer-connection-write-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2157740160912403437/posts/default/5343274670916715283'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2157740160912403437/posts/default/5343274670916715283'/><link rel='alternate' type='text/html' href='http://thulasiram-soft.blogspot.com/2009/08/adobe-developer-connection-write-and.html' title='Adobe Developer Connection Write and Give Program Donations'/><author><name>Thulasiram</name><uri>http://www.blogger.com/profile/16015182526583065651</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2157740160912403437.post-569690888324415843</id><published>2009-08-25T14:48:00.000+05:30</published><updated>2009-11-25T14:50:45.602+05:30</updated><title type='text'>Important Flash Platform Developers</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Lucida Grande', Verdana, Arial, sans-serif; font-size: 12px; line-height: 16px;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;h2 style="color: #2f62ac; font-family: Helvetica, Arial, sans-serif; font-size: 1.4em; line-height: 1em; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"&gt;Important Flash Platform Developers&lt;/h2&gt;&lt;div class="entry" style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;img alt="" class="alignright" height="125" src="http://www.seantheflexguy.com/images/blog/flash-platform-signature.jpg" style="float: right; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: right;" width="260" /&gt;Here is a list of over 50 Flash Platform developers that share great information and resources through their websites and blogs. From Adobe employees to independent developers all of these individuals have contributed very useful material to the community. Hopefully this list will help you discover some new developers and information. I check their blogs pretty regularly and I recommend you check them from time to time as well. Here is my list of 50+ Important Flash Platform Developers.&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;UPDATE:&lt;/strong&gt;&amp;nbsp;please contact me to add anyone I missed. I’m open to expanding this directory/list for sure!!! Sooo many great Flash Platform devs out there and they’re all so helpful and nice!! It’s an awesome community for sure!!&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Samuel Agesilas&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Designgineer. Creator of Saffron UML editor.&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://twitter.com/samuelagesilas" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://twitter.com/samuelagesilas&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Aral Balkan&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Designer, developer, author, teacher, entrepreneur, and performer; a Renaissance Geek with a passion for designing user experiences and a desire to make the world a better place through technology and oratory.&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://aralbalkan.com/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://aralbalkan.com/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Luke Bayes&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Since early 1998, Luke Bayes has worked with companies such as America Online, Microsoft, Applied Materials, Entertainment Arts, Hewlett Packard, PowerBar, RockShox, Levi’s, Macromedia and Adobe to deliver an expansive set of distributed applications, business tools, and instructional content. He is the coauthor of the Certified Macromedia Flash MX Developer Study Guide and two Macromedia Flash Developer Certification Exams. He is a frequent speaker at industry events, has served on the steering committee of the San Francisco Macromedia User’s Forum and is cofounder of both AsUnit, a tool set for Flash Application Developers, and the San Francisco Design Patterns Study Group.&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://www.lukebayes.com/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://www.lukebayes.com/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Jens Brynildsen&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Jens has been working with Flash since version 3 came out. Since then, he’s been an active member of the Flash community. He’s created more than a hundred Flash games (thus the name of this blog) but he also makes web/standalone applications, does workshops and other consulting. With the help of some good friends in the community, he maintains the site Flashmagazine.com.&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://www.flashgamer.com/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://www.flashgamer.com/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Thomas Burleson&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Thomas Burleson has been building consumer and e-Commerce software solutions for more than 20 years. During the last 4 years, Thomas has provided product development skills and senior leadership for Universal Mind; one of the largest RUX and Web2.0 consultancy firms. In Oct 2008, Thomas joined Ustrive2&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://www.thomasburleson.biz/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://www.thomasburleson.biz/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Christian Cantrell&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Christian Cantrell is a Product Manager and Application Developer on the AIR team. Really nice guy and an awesome developer.&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://blogs.adobe.com/cantrell/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://blogs.adobe.com/cantrell/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Mike Chambers&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Mike Chambers has spent the last eight years building applications that target the Flash runtime. During that time, he has worked with numerous technologies including Flash, Generator, .NET, Central, Flex, and Ajax. He is currently the Principal Product Manager for developer relations for the Flash Platform at Adobe. He has written and spoken extensively on Flash and Rich Internet Application development and is coauthor of the Apollo for Adobe Flex Developers Pocket Guide, Adobe Integrated Runtime (AIR) for JavaScript Developers Pocketguide, Flash Enabled: Flash Design and Development for Devices as well as Generator and Flash Demystified.&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://www.mikechambers.com/blog/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://www.mikechambers.com/blog/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Andre Charland&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Andre Charland is the co-founder and CEO at Nitobi Inc. He’s been at the forefront of Web 2.0 software development for almost a decade and is an expert on the next generation web. Andre is an advocate for usability and user experience and speaks regularly about how to keep users engaged and active on websites or web-based application. Most recently Andre presented on the Adobe AIR Tour throughout Europe. He’s also been a speaker at the Voices That Matter web design conference, Adobe MAX, JavaOne and AjaxWorld. Andre is the co-author of “Enterprise Ajax”, published by Prentice Hall last summer and is the lead blogger for O’Reilly’s InsideRIA.com.&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://blogs.nitobi.com/andre/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://blogs.nitobi.com/andre/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Christophe Coenraets&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Senior Technical Evangelist at Adobe Systems. Really nice guy!&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://coenraets.org/blog/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://coenraets.org/blog/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Critter&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Creator of SeesmicAIR. Tattooed and pierced developer. Down to earth and keepin it real.&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://critterscode.com/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://critterscode.com/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Jen DeHan&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Jen deHaan was raised by wolves in the deep woods of the Canadian north. Later in life, Jen worked with Flash as a deseloper, then wrote about Flash for five versions, and then worked on stuff that didn’t include much Flash. She came to her senses in 2007 by rejoining the fabled Flash team at Adobe as a QE, focusing on the good stuff—Motion (on timelines). Jen enjoys long walks in the rain pondering how many times she can use the word Flash in a bio, and admits that after numerous years in California she is no longer addicted to Tim Horton’s coffee.&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://blogs.adobe.com/jdehaan/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://blogs.adobe.com/jdehaan/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Peter DeHan&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Peter deHaan currently works for Adobe on the Flex SDK QA team. Peter also contributes to the Flex Examples blog. In my opinion Peter has one of the best jobs in the world!&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://blogs.adobe.com/pdehaan/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://blogs.adobe.com/pdehaan/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Eric Dolecki&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Old school Flasher. Currently works at Bose, in the R&amp;amp;D Design Center. Interested in: AS3, AIR, Flex Builder 3, Spry, Dojo, SVN, Eclipse, MTASC.&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://www.ericd.net/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://www.ericd.net/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Mike Downey&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Mike Downey is Director of Platform Evangelism at Microsoft where he focuses on platform adoption of Microsoft Silverlight and related technologies.&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://madowney.com/blog/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://madowney.com/blog/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Brandon Ellis&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Flash/Flex/RIA/web/.net/SQL developer, 45, married, kids. Likes: C#, Flash, Flex, AIR, web standards, punk rock, beer, hot peppers, vegetables, cycling, skateboarding, cartoons. Dislikes: people who don’t use their turn signals, people who have something to say about everything, empty beer bottles.&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://www.brandonellis.org/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://www.brandonellis.org/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Yakov Fain&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Managing Director at Farata Systems. Adobe Certified Instructor. Java Champion. Author. Leads the Princeton Java Users Group.&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://flexblog.faratasystems.com/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://flexblog.faratasystems.com/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Eric Fikes&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Internets, Skateboarding, Ice Hockey, and the family. Lead Technologist for Atlanta based design firm Wiretree.com&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://ericfickes.com/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://ericfickes.com/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Dan “polyGeek” Florio&amp;nbsp;&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Dan Florio - aka polyGeek - is a freelance Actionscript Flex/Flash/AIR developer living fulltime in a 35′ RV with his wife. Creator of RunPee.com&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://polygeek.com/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://polygeek.com/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;span class="fn" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Jesse Freeman&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;/span&gt;&lt;span class="bio" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;A homeless Flash Developer&lt;/span&gt;&amp;nbsp;from NYC.&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://flashbum.com/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://flashbum.com/&lt;/a&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Eric Garza&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Technical Architect at Adobe Consulting.&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://www.questioveritas.com/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://www.questioveritas.com/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;David Gassner&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Owner at Bardo Technical Services. David also did the Flex training for Lynda.com. He’s a really great guy and a great trainer. I learned a lot from his videos.&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://www.bardotech.com/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://www.bardotech.com/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Ely Greenfield&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Ely has been a developer at Macromedia / now Adobe for over 10 years, with an extended vacation in the middle working for the best little startup you probably never heard of, E-Quill. Over the years he’s worked on a variety of different products and technologies, from Desktop authoring tools to multimedia engines, Web Applications to browser add-ons, Workflow engines to Platform technologies. He currently works with a bunch of very smart engineers designing and developing the Flex SDK — the core compiler, framework , and MXML language for Adobe’s next generation RIA technology.&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://www.quietlyscheming.com/blog/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://www.quietlyscheming.com/blog/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Chris Griffith&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Flash developer at Qualcomm, Inc. Also co-manager of the San Diego Flash Users Group and an author for InsideRIA.&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://chrisgriffith.wordpress.com/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://chrisgriffith.wordpress.com/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Romke de haan&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Devloper focusing on Cocoa Touch, Flex, AIR, Flash technologies. Romke also does Motion, Design, Art &amp;amp; Music.&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://www.romkedehaan.com/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://www.romkedehaan.com/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Alex Harui&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Principal Engineer at Macromedia/Adobe. He runs the great blog Alex’s Flex Closet.&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://blogs.adobe.com/aharui/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://blogs.adobe.com/aharui/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Shannon Hicks&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Cold Fusion and Flex developer.&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://www.iotashan.com/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://www.iotashan.com/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Jeff Houser&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Computer programmer, a business owner, a musician, an author, a recording engineer, and loves old school style adventure games.&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://www.jeffryhouser.com/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://www.jeffryhouser.com/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Scott Janousek&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Scott Janousek is a Flash and Flash Mobile developer currently working in the Boston area of the United States. In addition to his experience with mobile development, Scott has an accumulated ten years of diverse software engineering and Web consulting background, and several of those years were dedicated to the creation of interactive multimedia, including CD-ROMs, DVDs, webcasts, kiosks, RIAs, and web sites.&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://www.scottjanousek.com/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://www.scottjanousek.com/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Lawrence Job&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Founded an international new media startup known as GridFusions.&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://twitter.com/lawrencejob" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://twitter.com/lawrencejob&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Chafic Kazoun&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Chafic Kazoun is the founder and Chief Software architect at Atellis, and is widely considered one of the world’s top experts on Flex (outside of the Adobe Flex engineering team). He has worked with Flash technologies since 1998 and with Flex since its inception, and he has a deep understanding of the internals of the Flex framework. He maintains a busy speaking and consulting schedule. When he’s not busy developing solution-based applications, Chafic is actively involved in the Flash community, delivering presentations at numerous conferences including Adobe’s MAX, Flashforward, FITC, Spark Europe, and MXDU. He is also the contributor of numerous published works and is the author of Programming Flex 2.0, a book recently released by O’Reilly Publishing. He is also an Adobe Community Expert, and shares his thoughts on his blog http://www.rewindlife.com.&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://rewindlife.com/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://rewindlife.com/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Colin Loretz&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Colin is an entrepreneur, web developer, designer, thinker, dreamer and cyclist. Project Manager and Force.com Developer at Twelve Horses. Co-founder of Reno Collective.&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://colinloretz.com/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://colinloretz.com/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Joey Lott&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Joey Lott is a founding partner of The Morphic Group, a Flex and Flash consulting company. At The Morphic Group Joey serves as a technology director, building some of today’s most innovative Flex applications and advocating for the use and adoption of agile software development methodologies. He has written many books on Flex and Flash-related technologies, including Programming Flex 3, ActionScript 3 Cookbook, Adobe AIR in Action, and Advanced ActionScript 3 with Design Patterns.&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://www.themorphicgroup.com/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://www.themorphicgroup.com/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Peter Martin&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Senior Technical Architect at Adobe Systems. Senior Technical Architect at Adobe Consulting. Senior Technical Architect at Adobe (formerly Macromedia).&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://blogs.adobe.com/pmartin/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://blogs.adobe.com/pmartin/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Sean McCracken&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Head of Research and Development at Influxis, AS3 coder, Flash Media Server dude, Dad of 2 coders2be, Husband, Dog and Cat owner!&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://themindofseantron.blogspot.com/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://themindofseantron.blogspot.com/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Josh McDonald&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Twitterer, Flexcoder, Maroon, Designer, Java lover, That loud-mouthed Aussie yob, Blogger, Problem solver, Contributor, Cricket Fan, Lousy photographer, Great cook.&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://flex.joshmcdonald.info/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://flex.joshmcdonald.info/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Grant Michaels&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;CAD and CAM engineer, dj, producer, 2nd shooter, &amp;amp; solo web developer.&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://grantmichaels.wordpress.com/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://grantmichaels.wordpress.com/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Ali Mills&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;ActionScript programmer with solid experience using the technologies that power rich internet experiences.&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://www.alimills.com/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://www.alimills.com/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Jonathan Moore&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;With a strong focus on innovation, technology, and customer experience Jonathan utilizes a broad skill-set spanning strategic marketing, art direction, interactive design solutions, motion design, and innovative development to bring projects to life. Jonathan is passionate about emerging and fresh methods to creatively communicate a client’s message. Jonathan has worked closely with clients such as Activision, Disney, Lexus, EA, Ford, Infiniti, Chevrolet, Adobe, Motorola, Warner Brothers, and Mattel over the past eight years. Through direct involvement with the projects, Jonathan’s work has been recognized by AIGA, Adobe, ADDY Awards, FWA - Favorite Website Awards, Flash In The Can, STEP Inside Design, SXSW Interactive Festival, Webby Awards, and numerous books and magazines.&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://www.newezra.com/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://www.newezra.com/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Stacey Mulcahy&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;The one and only Bitch Who Codes. Old school Flasher. Super cool developer!!&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://bitchwhocodes.com/mt/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://bitchwhocodes.com/mt/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Rober Penner&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;super talented ActionScript developer. Author of Programming Macromedia Flash MX. Original author for many of the easing equations used in ActionScript.&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://www.robertpenner.com/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://www.robertpenner.com/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Juan Sanchez&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Experience Architect for EffectiveUI. Graduated from California State University, Chico, with a B.A. in Communication Design. Juan’s background is primarily in print design, branding, and advertising, however, his skills have quickly expanded to include Web technologies like HTML, CSS, Flash, and eventually Flex. Creator of Scalenine and founding member of Degrafa.&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://scalenine.com/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://scalenine.com/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Ryan Stewart&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Rich Internet Application Evangelist for Adobe. Colorado Avalanche fan. Backpacker, rock climber and hiker.&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://blog.digitalbackcountry.com/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://blog.digitalbackcountry.com/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Ben Stucki&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Ben Stucki is an independent Flex developer and consultant with a background in standards-based web development. After a long love affair with Flash experimentation, Ben got his hands on Flex and created some of the first custom Flex components available on the web. Today Ben continues to post sample code through his blog and contributes to many well known open-source Flex projects including FlexLib, Degrafa, and OpenFlux.&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://blog.benstucki.net/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://blog.benstucki.net/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Jeff Tapper&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Jeff has over a decade of experience developing Internet applications for a myriad of clients, including Harley Davidson, Toys “R” Us, IBM, Dow Jones, American Express, and Morgan Stanley. As an instructor, he is certified to teach all of Adobe’s courses on Flex, ColdFusion, and Flash development. He has been working with Flex since the earliest alphas of Flex 1.0. Jeff has worked as author and technical editor for several books, including Adobe Flex 3: Training from the Source and Breaking Out of the Web Browser with Adobe AIR, and sits on the editorial board of Web Developers &amp;amp; Designers Journal.&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://blogs.digitalprimates.net/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://blogs.digitalprimates.net/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Andrew Trice&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Andrew Trice is the Principal Architect for Flex &amp;amp; AIR for Cynergy Systems, based in Washington, DC. He specializes in data visualization, client-server architectures, object-oriented principles, and rich application development. He has been developing for the web for over 10 years, with over eight years development for the Flash platform&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://www.tricedesigns.com/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://www.tricedesigns.com/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Josh Tynjala&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Josh Tynjala discovered Flash in late 2004 as an intern working for a marketing company in Duluth, Minnesota. Flash Player provided the perfect way to combine his degree in Computer Science with his lifelong interest in visual arts. In 2005, Josh moved to California and established his first blog, Zeus Labs, to begin sharing his ideas and experiments. Around the same time, Macromedia released the first public previews of Flash Player 9 and Flex 2. Excited and driven to jump immediately into the future of Flash, Josh earned some recognition with one of his early AS3 experiments, a Flex app that used binary sockets to connect Flash Player to AOL Instant Messenger.&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://joshblog.net/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://joshblog.net/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Chad Udell&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Currently employed at The Iona Group, a multimedia agency located near Peoria, IL. There he designs, develops and manages web and interactive projects and the client relationships that go along with them. Chad has developed web presences for Caterpillar, Tyson Foods, Rawlings, Worth Sports, Maui Jim Sunglassess and many more B2B and B2C web sites along with creating interactive experiences for museums like the Museum of Science and Industry and Shedd Aquarium and numerous other tradeshow and kiosk installations. In Chad’s free time he is an instructor in web and multimedia for Bradley University, focusing mainly on standards based web design. Many of Chad’s students have gone on to become successful designers or developers in their own right and he’s proud to have been part of their success.&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://visualrinse.com/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://visualrinse.com/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Simon Wacker&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Simon is 21 years old and loves working as a freelance (web) developer. Simon is studying computer science and mathematics at the university in Karlsruhe, Germany. His main interests are programming, juggling and reading.&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://www.simonwacker.com/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://www.simonwacker.com/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;James Ward&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;James Ward is a Technical Evangelist for Flex at Adobe and Adobe’s JCP representative to JSR 286, 299, and 301. Much like his love for climbing mountains he enjoys programming because it provides endless new discoveries, elegant workarounds, summits and valleys. His adventures in climbing have taken him many places. Likewise, technology has brought him many adventures, including: Pascal and Assembly back in the early 90’s; Perl, HTML, and JavaScript in the mid 90’s; then Java and many of it’s frameworks beginning in the late 90’s. Today he primarily uses Flex to build beautiful front-ends for Java based back-ends. Prior to Adobe, James built a rich marketing and customer service portal for Pillar Data Systems.&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://www.jamesward.com/blog/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://www.jamesward.com/blog/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Steven Webster&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Director, Technology and Innovation at Adobe Systems Incorporated. Technical Director at Adobe Consulting. Practice Director, Rich Internet Applications at Adobe Consulting.&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://blogs.adobe.com/swebster/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://blogs.adobe.com/swebster/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Aaron West&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;For the past eight years Aaron has been heavily involved in the Web development space building enterprise-level, database-driven Web applications and leading technology teams. Aaron is incredibly passionate about what he does and attempts to inject his enthusiasm and love for technology in everyone around him.&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://www.trajiklyhip.com/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://www.trajiklyhip.com/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;John Wilker&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Community Evangelist for EffectiveUI. Organizer for Ignite Denver, an O’reilly Ignite event. Co-host of The Flex Show. John is a really, really nice guy!!&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://johnwilker.com/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://johnwilker.com/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Dan Wilson&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Principal partner of DataCurl LLC, Dan Wilson runs the consulting practice and TheHealthChallenge.com, a health and wellness product for organizations. Before launching DataCurl, Dan held numerous senior program and development positions in such industries as Technical Consulting, Health Care, Online Publishing and Government Contracting.&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;a href="http://www.nodans.com/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://www.nodans.com/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2157740160912403437-569690888324415843?l=thulasiram-soft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thulasiram-soft.blogspot.com/feeds/569690888324415843/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thulasiram-soft.blogspot.com/2009/08/important-flash-platform-developers.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2157740160912403437/posts/default/569690888324415843'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2157740160912403437/posts/default/569690888324415843'/><link rel='alternate' type='text/html' href='http://thulasiram-soft.blogspot.com/2009/08/important-flash-platform-developers.html' title='Important Flash Platform Developers'/><author><name>Thulasiram</name><uri>http://www.blogger.com/profile/16015182526583065651</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2157740160912403437.post-7866337142422198080</id><published>2009-07-23T07:35:00.018+05:30</published><updated>2009-11-30T12:50:10.231+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='About Thulasiram'/><category scheme='http://www.blogger.com/atom/ns#' term='swc'/><category scheme='http://www.blogger.com/atom/ns#' term='Adobe Frameworks'/><title type='text'>flex components .swc files</title><content type='html'>All Flex components are zipped into a file and i am give the link to free download flex components .swc files .&lt;br /&gt;&lt;a href="http://cid-8fc78358ed20dc6a.skydrive.live.com/self.aspx/.Public/flex/components/swc.zip"&gt;http://cid-8fc78358ed20dc6a.skydrive.live.com/self.aspx/.Public/flex/components/swc.zip&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The samples free source code which are open source with explanation will be updated as soon as possible...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;&lt;span style="background-color: #eeeeee;"&gt;Notice&lt;/span&gt;:&lt;/span&gt;&lt;span style="color: #3d85c6;"&gt; &amp;nbsp;If their is any premium .SWC files or source code please mail me as a professional way i will surly remove and update will new once.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2157740160912403437-7866337142422198080?l=thulasiram-soft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thulasiram-soft.blogspot.com/feeds/7866337142422198080/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thulasiram-soft.blogspot.com/2009/07/flex-components-swc-files.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2157740160912403437/posts/default/7866337142422198080'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2157740160912403437/posts/default/7866337142422198080'/><link rel='alternate' type='text/html' href='http://thulasiram-soft.blogspot.com/2009/07/flex-components-swc-files.html' title='flex components .swc files'/><author><name>Thulasiram</name><uri>http://www.blogger.com/profile/16015182526583065651</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2157740160912403437.post-4962979031954336269</id><published>2009-05-16T04:32:00.002+05:30</published><updated>2010-04-24T12:10:13.187+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='About Thulasiram'/><category scheme='http://www.blogger.com/atom/ns#' term='projects'/><title type='text'>GZip File compress/Uncompressed tool</title><content type='html'>&lt;div class="entry"&gt;&lt;b&gt;Title        : G Zip File compress/Uncompressed tool&lt;/b&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Description:&lt;/span&gt;&lt;br /&gt;GZip File compress/Uncompressed tool has been developed using Flex where it is a desktop application working with an Adobe Air plug-in. It is used to allow the End user to compress files and folders, or un compress /extract files and directories to specified location by the algorithm used in GZip &lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="color: #274e13;"&gt;&lt;span style="background-color: #d9ead3;"&gt;Note:&amp;nbsp;&lt;/span&gt; &lt;/div&gt;This is my project work on Adobe Flex(AIR) tools and resources.&lt;br /&gt;To download this tools for testing &lt;a href="http://public.blu.livefilestore.com/y1pcYO3Pa34kCQ86JCywj-o01051vhi9BO5cHsR8tNUwSJJMOrvKltRaQdCAziZddVdxkzWDHSMhyIU9eULtOlYUA/FileCompressionTool.air?download"&gt;click here&lt;/a&gt; (&lt;a href="http://public.blu.livefilestore.com/y1pcYO3Pa34kCQ86JCywj-o01051vhi9BO5cHsR8tNUwSJJMOrvKltRaQdCAziZddVdxkzWDHSMhyIU9eULtOlYUA/FileCompressionTool.air?download"&gt;http://public.blu.livefilestore.com/y1pcYO3Pa34kCQ86JCywj-o01051vhi9BO5cHsR8tNUwSJJMOrvKltRaQdCAziZddVdxkzWDHSMhyIU9eULtOlYUA/FileCompressionTool.air?download&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2157740160912403437-4962979031954336269?l=thulasiram-soft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thulasiram-soft.blogspot.com/feeds/4962979031954336269/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thulasiram-soft.blogspot.com/2009/05/gzip-file-compressuncompressed-tool.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2157740160912403437/posts/default/4962979031954336269'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2157740160912403437/posts/default/4962979031954336269'/><link rel='alternate' type='text/html' href='http://thulasiram-soft.blogspot.com/2009/05/gzip-file-compressuncompressed-tool.html' title='GZip File compress/Uncompressed tool'/><author><name>Thulasiram</name><uri>http://www.blogger.com/profile/16015182526583065651</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2157740160912403437.post-1657325860466490769</id><published>2009-04-04T14:12:00.013+05:30</published><updated>2010-06-03T15:53:51.990+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='About Thulasiram'/><category scheme='http://www.blogger.com/atom/ns#' term='projects'/><title type='text'>Event Web Browser</title><content type='html'>&lt;div class="entry"&gt;&lt;b&gt;Title        :    Event Web Browser&lt;/b&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Description:&lt;/span&gt;&lt;br /&gt;Event Web Browser is a Standalone application developed using Flex which &lt;br /&gt;works with an Adobe Air plug-in. It is used to allow the End user to access Active &lt;br /&gt;Web Pages, Download Manager, FTP Manager, multi language source editor from online state and offline state. Also some Add-on Modules like web camera, free SMS, &lt;br /&gt;calculator. &lt;br /&gt;&lt;ul&gt;&lt;li&gt;Home page with content from multiple feeds.&lt;/li&gt;&lt;li&gt;Easy bookmarked and sharing to popular web services.&lt;/li&gt;&lt;li&gt;Styling browser with pre-installed themes and Tabbed browsing.&lt;/li&gt;&lt;li&gt;Multi search engine for web, videos, images and blogs all at once from &lt;br /&gt;famous sites like Google.com, yahoo.com, MSN.com, answer.com&lt;/li&gt;&lt;li&gt;Creating a temporary browser history and sessions.&lt;/li&gt;&lt;li&gt;Download Manger and FTP Manager.&lt;/li&gt;&lt;li&gt;Web Camera, free SMS, Calculator.&lt;/li&gt;&lt;li&gt;Styled font for C, C++, C#, HTML, CML, css, js, java, ruby, php, vb,  sql... &lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="background-color: #d9ead3; color: #6aa84f;"&gt;Note:&lt;/span&gt; &lt;br /&gt;This is my project working on Adobe Flex(AIR) using content management.&lt;br /&gt;To download this project file for testing or using &lt;a href="http://cid-8fc78358ed20dc6a.skydrive.live.com/self.aspx/.Public/Downloads/EventBrowser.air"&gt;click here&lt;/a&gt; (&lt;a href="http://public.blu.livefilestore.com/y1pXw6SPKzrxhfhe9NQ3Ze8ZhXPENAXWtQSly8Ep8BP-kjI7pgEymIf_rJwKQWFU3eELUZiOXP0WpgDoSyJlpQbVA/EventBrowser.air?download"&gt;http://cid-8fc78358ed20dc6a.skydrive.live.com/self.aspx/.Public/Downloads/EventBrowser.air&lt;/a&gt;).&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2157740160912403437-1657325860466490769?l=thulasiram-soft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thulasiram-soft.blogspot.com/feeds/1657325860466490769/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thulasiram-soft.blogspot.com/2008/10/profile.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2157740160912403437/posts/default/1657325860466490769'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2157740160912403437/posts/default/1657325860466490769'/><link rel='alternate' type='text/html' href='http://thulasiram-soft.blogspot.com/2008/10/profile.html' title='Event Web Browser'/><author><name>Thulasiram</name><uri>http://www.blogger.com/profile/16015182526583065651</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2157740160912403437.post-9095394829688071863</id><published>2009-03-25T16:07:00.001+05:30</published><updated>2009-11-25T14:56:41.054+05:30</updated><title type='text'>Awesome Adobe Flex Developers You Should Follow</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Lucida Grande', Verdana, Arial, sans-serif; font-size: 12px; line-height: 16px;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;h2 style="color: #2f62ac; font-family: Helvetica, Arial, sans-serif; font-size: 1.4em; line-height: 1em; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"&gt;10 Awesome Flex Developers You Should Follow&lt;/h2&gt;&lt;div class="entry" style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;These individuals have all inspired and/or helped me at one point in time. I’d like to take a moment to point them out and say thanks. I’ve personally either worked with, met or digitally communicated with all of these peeps. They have all helped me greatly and their insight is fantastic. You should check out their blogs or follow them on twitter to gain great Flex development advice, code, tutorials, articles, etc. Thanks to all of you very much!!!!&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Laura Arguello&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Laura and I worked together on an article on the Mate framework for Flash Magazine. She was instrumental in providing technical reviews and input regarding the details of the framework. Laura is the CTO at ASFusion. She specializes in RIA development using ColdFusion and Flex. She regularly gives presentations at tech conferences and user groups. She is a Certified Advanced ColdFusion MX 7 Developer and the manager of the Orange County Flex User Group.&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Check her blog:&amp;nbsp;&lt;a href="http://www.asfusion.com/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://www.asfusion.com/&lt;/a&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Check her side project blog:&amp;nbsp;&lt;a href="http://www.mangoblog.org/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://www.mangoblog.org/&lt;/a&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Follow on twitter:&amp;nbsp;&lt;a href="http://twitter.com/instante/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://twitter.com/instante/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Matt Chotin&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Matt provided input and feedback on both the Flex Best Practices articles I authored for the Adobe Developer Connection. In addition he reviewed and provided input and feedback for the Flex 4 Overview article I authored for InsideRIA. Matt is a Product Manager for developer-focused technology after having been a software engineer for 6 years. He is the Product Manager of Flex at Adobe.&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Check his blog here:&amp;nbsp;&lt;a href="http://weblogs.macromedia.com/mchotin/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://weblogs.macromedia.com/mchotin/&lt;/a&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Follow on twitter:&amp;nbsp;&lt;a href="http://twitter.com/mchotin/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://twitter.com/mchotin/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Eric Feminella&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Eric and I have worked together on several Flex and AIR projects together and he’s also provided mentoring to me. Eric is one of the best Flex developers I’ve ever worked with and one of the nicest guys ever.&amp;nbsp; Definitely an extra special thanks to Eric!! Eric is a Software Architect specializing in providing quality solutions and services for enterprise and consumer class RIAs targeting the Adobe Flash Platform and associated technologies.&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Check his blog here:&amp;nbsp;&lt;a href="http://www.ericfeminella.com/blog/" style="color: #466edb; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank"&gt;http://www.ericfeminella.com/blog/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;&lt;strong style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Adam Flater&lt;/strong&gt;&lt;br style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Adam and I started chatting on twitter in early 2008. He’s provided tons of great help and guidance on Flex, Java and design patterns to me ever since. Adam is a Technical Architect and Evangelist at Roundarch. His career has been centered on building innovative graphical us
