Skip to content


Flash On Tap, Boston… I’ll Be There

todd anderson … not that you’d actually be going to see this handsome fellow. That’s the look i give when they run out of Stone Ruination IPA.

Aah. When springtime in Boston hits, the weather is still cold for a couple months and the beer is flowing again. Actually, the beer flows all the time and the weather is unpredictable. Nonetheless, you know you are in for a good time, and i am looking forward to the Flash On Tap debut in my home town.

The beer sponsor list is amazing. Most beers you won’t be able to find on tap in our fair city, let alone the lot of them all in one place – aside from *possibly* my neighborhood haunts in Brookline (hit em up when you are out here). Stone, Smuttynose, Haverhill, Boulder.. the list goes on. In that order for me at least. I am excited about Haverhill, because even though it is a local brew (you gotta try, their LeatherLips it is awesome) some i have not tried because they are just not out here in my brick-filled neck of the woods.

Oh yeah… And then there’s gonna be some people rambling on about what-nots and crap. If you ain’t pourin’, i’m snorin’. That’s what i say. In all seriousness, the line up is insane. The beer is just icing on a knowledge cake waiting to cook.

See my sad face and full belly as i drink all the Ruination.

Flash On Tap
Follow

lamictal with cymbalta
singulair mood swings news
antidote for lopressor
claritin prostate
medical term for breast augmentation
adhesive reflectors brite lites
lamictal for treatment of bipolar
breeding horse shoot
calan generic
scranton breast enhancement
generic prilosec 10mg
cephalexin and protocol
sites computer viagra pages edinburgh search
discount aldactone
soma nude
can prozac induce lupus
omeprazole nexium generic
organic caffeine free green tea
singulair powered by vbulletin version 3.6.0
norvasc phizer
kamagra natural paypal
show steers shoot
zyrtec safe for dogs
california zyprexa attorneys
zoloft fda approval 1992 depression
effects of taking prometrium in pregnancy
free pravachol drug information online
surgery procedures for breast augmentation
celexa side effects weight gain
aqua brite water filters
innova brite box
side effects of zoloft uncontrolled tremors
effexor and ocd
ana cla dia
best point and shoot camera is
claritin loratadine colorado
allergic inactive ingredients generic zoloft
g n pharm nolvadex
willa ford playboy photo shoot video
proscar finasteride delaware
tramadol recreational
feeling tired after taking coumadin
glenbrook south hgh school
suburban shoot out
prednisone side effect
is cephalexin an antibiotic
site about tramadol astonished
zithromax gram neative bacteria
lexapro ingedients
atacand cough
human growth hormone secretagogue
depakote for depression
om soma mp3
combination of celexa and depakote
wilkes barre breast enhancement
propecia and effectiveness
pravachol zyrtec tiazac tysabri
actose vs avandia
husband shoots wife
prednisone effects on drivingh
plan d pravachol covered
reasons why lasix does not work
premarin or estradiol turners
philadelphia garage manager shoots homeless man
microsporum fungi lamisil
medrol la
acomplia in u s
aricept stimulation
download shoot the messenger
claritin or allegra
claritin canadian pharmacy
zoloft as a drug
zyban withdrawl
stilnoct and lexapro side effects
allegra and uses
proscar finasteride arkansas
cytoxan long term side effects
hoodia gordonii1 canada
shoot up adderall
3rd generation hgh
tramadol seroquel lethal overdose formula
2 stroke engine trouble shoot
viagra 100
zithromax espanol
green tea kit kat purchase
clostridium augmentin
movie shoot dallas texas
sarah lee guthrie breast enhancement
shoot em up bones
side effects of taking celebrex
premarin associated with breast cancer
cephalexin bladder infection
viagra t-shirt
neurontin causes weight gain
solex shoot shoot
buspar and chronic pain
flonase heart palpitations
hgh ra
outdoor photo shoot pics
hoodia diet tabs 90
phentermine and topamax side effects
lioresal prescribing information
mevacor lipitor
overnight zocor
prozac manufacturur
effects of melatonin on dogs
varietes and quality of green tea
buy indocin on the web
brief summary of festival of purim
cymbalta numb fingers
actos rx
e tramadol onlinecom
ween off neurontin
breast enhancement center
calcium carbonate in hollow fibers
fuze green tea for diabetics
zyban side affect
diflucan picture
and cymbalta
lamisil foot products
anti-aging hgh palm beach
weaning off prednisone
how does zyvox work
soma beverage company
fosamax and hormones
hoodia gordonii plus safe
reason to take flomax
cymbalta neuropathy side effects
risperdal naltrexone interaction
kuki soma
colchicine headache fatigue
point and shoot best digital camera
hoodia gordonii toms of maine
side effects of tenormin
actos dose
liver enzyme panel diflucan
can plavix cause nosebleeds
natural viagra manfucturer
levitra prescription america
hgh rejuvenation clinics
lipitor superior to crestor
naprosyn after cortisone injection in shoulder
augmentation breast large
green tea custard recipe
stopping paxil lightheaded
why taper prednisone
singulair side effect time
premarin powered by vbulletin version 3.0.2
can risperdal be taken with lithium
does propecia really work
honeydew melon green tea
how long diflucan for candida
mustek 6500z trouble shoot
paxil generic
prozac perimenopause
allergies and singulair
5-htp and lexapro
applying colchicine to plants
atorvastatin lipitor 134523038 safety data pregn
cops shoot laguna beach couple
tenormin vs iv contrast
sildenafil citrate kamagra
3-d shoot
maverick shoot out pierceton
xbox dvd controller trouble shoot
soma without prescriptions
plavix mayoclinic
aldactone pharmacia
buy synthroid
plavix hyperlipidemia
augmentin antiobotic
wii ski and shoot
cymbalta advantages
price will shoot sky high
relationship between prozac and serotonin
prednisone indication
hoodia root
allegra network llc
avandia avandia side effects avandia diabetes
protonix oral solution compound
mood stabilizers seroquel
alba green tea eye gel
tramadol hot
casodex effects on blood sugar
verify now plavix test
levaquin and spastic colon
medicine celebrex
green tea bath salt
lasix edema
use of cymbalta for headaches
breast augmentation dominant side bigger firmer
viagra for women uk
tramadol all order sent overnight
hoodia p57 vx gordoni
celebrex unique characteristic of this drug
effexor and lumps
illinois zyprexa attorney
shoot giant crocodile in new orleans
clomid manufacturer
zyprexa dosage
side effects to flomax
motrin print ad
allegra d formulation
green tea oprah diet zone
decaffeinated japanese green tea
zoloft get along just fine ringtones
us to shoot down spy satellite
online cla classes
early pregnancy signs with clomid
roswell breast augmentation
how does levaquin cause tendonitis
seroquel florida litigation timeline
prednisone response time
tell prescription medication prilosec
but zithromax
paxil nedir
coumadin dosing templates
crestor and kidney damage
green tea how much caffine
what size soma cross
coumadin gatorade
xanac and lexapro
green or white tea
trouble shoot rv thermostat
human growth hormone hgh growth hormone
is prozac a maoi
sarafem lilly
news on crestor
aricept long term effects
taking aciphex for too long
coca cla wallpaper
generic brand of flonase
hoodia wiki
current movie shoots toronto canada
aciphex interactions
can i break open geodon capsules
6 best price for propecia
flomax 04mg en francais
tramadol hcl acetaminophe
prozac medication information
aricept and asmtha
cla bucholz

Posted in Beer!, Flash, Flex, flash on tap.


Introducing MUWL

In between work, taming a new puppy and twilighting as an iPhone SDK newbie, i have been busy working on a personal project that has taken way too long to see the light of day. I began working on an AIR application last summer to overcome an incongruency in the middle tier of how i go about finding and purchasing new music… out came a little desktop app i call MUWL.

M U W L

MUWL stands for MUsic Wish List and allows you to amass a list of albums that you hope one day will make it into your collection.

You can read more detailed information about MUWL from the custardwiki… and/or just keep reading.

I am a sucker for record shops. I love flipping through vinyl and jewel cases – sometimes aimlessly, sometimes with a purpose – and bringing home musty and off-the-press platters. Before i created MUWL, i would discover music that i was into either online through various blogs and what-nots or from word-of-mouth. Problem was, i would write down titles on any scrap of paper that was near me in the hopes that i would remember to shove it in my pocket when i knew i was going to a shop.

There was two major flaws in that system: a) I hardly EVER remembered to bring my scraps of paper and b) Some times i wind up in a record shop without a preconceived notion to go.

To rectify this sorry state of affairs, i thought i could make an app that would allow me to keep that list in one place and could be viewed by any device i might be carrying around with me. Now, i know, i know, why make a application targeting the Flash Platform if you wanted it to be on ANY device… ahem. Well, i just needed a client that i could create fairly quickly that would hook up to an online service. Seeing as i am familiar with the Flex and AIR SDKs, i thought it would get me closer to my goal – plus it would give me a chance to architect an application that supported occasional-activity and offline/remote data synchronization.

Even though i am targeting the Flash Platform for the MUWL desktop application, i wanted to stay away from the AMF protocol (which i would normally use in such a case) in order to keep it open to non-Flash clients that i may make in the future… the main one being a companion iPhone app. As such i went with XML over HTTP and created a REST service using Ruby on Rails.

I built the REST service that MUWL desktop AIR application talks to in Ruby because it has been on my list of things to get familiar with… and it was already installed on my server, so i figured why not. I gotta say i really loved working with Ruby on Rails. We’ll see how much i love i still have for it if more than just me uses the application :)

Other than a companion iPhone app, i have some other ideas on what to add to the client application. If you download and use MUWL and have any thoughts (or god forbid bugs), let me know.

So here it is, released to the wild if you think it might be of use to you as well.

Big ups go to Ash who did some testing and kept me sane.

Posted in AIR, MUWL, Music.


Dependency Injection and IoC at BDP

Last week I was fortunate enough to be asked by Doug and Sam who run the BDP (Boston Design Patterns meet-up… NOT Boogie Down Productions) to present on Dependency Injection and Inversion of Control (DI and IoC for those who are down with street acronyms).

We had a nice turnout and a lively discussion that kept interupting my precious slides. I gave a quick run down of the Dependency Inversion principal and some examples for Factory and Template Method with segued into Dependency Injection and IoC. From there we dove into examples of frameworks out there that target the Flash Platform. Along the way we had some hefty discussion around the benefits and downsides with everyone chiming in. Tim Walling also brought up how he addresses DI using MXML and modules which was very intriguing.

As far as runtime IoC frameworks out there targeting the Flash Platform, we discussed Spring ActionScript (nee Prana) and Parsley. I’ve been using Spring ActionScript/Prana for some time and swear by it. But i also did take a second look at Parsley just to refresh my memory and I have to say there are some things that i find very promising, though at times it seems there might be too much to it. So many things i would not use… but the ability to configure custom namespaces looks like an amazing feature.

As far as compile time IoC, we touched on Swiz and the EventMap of Mate. Both have their upsides and Swiz has definitely caught my interest (…may have to find a personal project for me to get into it more) but all in all, I have a tendency to favor external configurations. (For those worried about having to do the static variable array list of classes hack because of that, there is an example in the download zip at the end of this post.)

In any event, it was a good, lively discussion with some smart people and some great beer (thanks again Doug!). It’s no wonder that getting to the meetings more often is top on my resolution list for this year. If you are in the Boston area, think about putting it on your list too.

Download the slides and examples here. We’ll get them up on at the BMP site too.

Posted in Flash, Flex, Prana.


Flex Ant Tasks and FlexFileSet error

*This is more of a post-reminder or a google-search aha than a soliloquy on the joys of FlexTasks and how to use them. If you want to know more about flextasks, visit here, or Ryan Taylor's blog for some good tips, or pick up this wonderful book... the holidays are coming.

I have had the fortunate opportunity to work with Andy Zupko on a project here at Infrared5. We have our good days and our bad days - as most projects go - and hopefully we'll be able to showcase our efforts at some time. Recently i started whipping the project into shape to handle modules, rsls and loaded styles to minimize the download time and highten user experience. Why does it always come down to the last few days to get this up and running? I don't know. Maybe we're so gung-ho to get things finished for an iteration and to show a client that deployment structure falls a little to the wayside. In any event Andy, and in some part me i suppose, structured the project to have minimal impact when it came time to have a deployment routine and manage runtime styles and rsls. Enough horn-tooting! What am i talking about?

Well, when it came time to set up the ant tasks that will take over the deployment and distribution of the application i was hitting a wall in compiling against an rsl. More to the point, i was getting this error:

CODE:
  1. BUILD FAILED : No directory specified for FlexFileSet.

... when combined with this directive

CODE:
  1. <compiler .external-library-path>
  2.     <include name="${app.dir}/${rsl.name}.swc" />
  3. </compiler>

I'm not gonna go into the nuts and bolts of the build file or even attempt to explain what that error means. I am familiar with compiling applications and modules from the Terminal and pretty much love doing most things from the terminal rather than relying on tools in eclipse, but i thought to bring experience down to a playing ground for a project that will be handed off to a client at some point, go with flex ant tasks. It's well documented. Google finds most answers. Etc. But there are subtle changes to syntax that i am unfamiliar with when it comes to create a build file targeting the command line tools of the SDK.

In any event, it baffled me why this command would not work. It syntactically looked correct to me. The compiler directive is spelled correctly, the option variable is the correct path... wtf. Well just like the -library-path option i suppose you had to remove the directory that the SWC lives in from the variable and add it as a dir property.

CODE:
  1. <compiler .external-library-path dir="${app.dir}">
  2.     <include name="${rsl.name}.swc" />
  3. </compiler>

Works! All is fine... but it took a hell of a long time to figure that out. Thought i would post this for any Terminal monkeys out there that run across this issue when building an ant file for compiling rsls into your application.

Was I bone-head for 2 hours? Probably.... feel free to leave a comment.

[Update February 3rd, 2009] - Ryan Taylor sent a solution that he uses (after being welcomed by my wordpress comments failure), which i find pretty elegant and will use in the future.

CODE:
  1. <mxmlc ...>
  2.        <runtime -shared-library-path path-element="${libs}/MyLibrary.swc">
  3.            <url rsl-url="MyLibrary.swf" />
  4.            <url policy-file-url="" />
  5.     </runtime>
  6. </mxmlc>

Thanks, Ryan!

Posted in Flash, Flex, FlexTasks.


Back from MAX

Just got back from Adobe MAX and a sweet short vacation for the missus and i. Been to SF only once, when i was 9, and all i cared about were Garbage Pail Kids and pleading with my mom to buy me some Nikes. Needless to say, i remember - i think - a lot more about this last trip.

I was overjoyed to be able to sit on the Flex Architecture Face-Off panel with Chafic Kazoun, Josh Noble and Yakov Fain. They are amazing architects with strong beliefs and open ears. We had a pretty good turnout and the session ended up being sold out. Only noticed one person walk out, but as it turns out they were over-caffeinated...

It was my first MAX and i didn't know what to expect with the record-breaking attendance and my bundle of nerves. All said, i really enjoyed it and renewed my interest in the software platform that constantly evolves and inspires me to keep digging even after the workday is over. Of course it was centered around Adobe products, but i truly got the sense of it being a presentation rather than being force-fed. A lot of great things are on the horizon and even though i am a mark-up snob in a sense, i love the direction that the Flex platform is taking. Would have liked more 'inspire' sessions, but Ryan Taylor, Andre Michelle and Mario Klingemann kept me wide-eyed and ready to go back to my room to code... although there always seemed to be free beer that blocked the exit :)

Adobe also sponsored a party on Tuesday night at the de Young and Science Academy. I thought that these were venerable institutions in Golden Gate park, but it was dark and as I later found out after going with the missus again later in the week that the are relatively new. If you are in the SF area anytime soon, i highly recommend checking them out. That was a great night with two great museums and some really great friends... plus me and Josh schooled some poor saps in Foosball... after i got schooled in NBA Jams by Ash - rematch, all i'll say.

Some people found me after our panel and had some questions about things i brought up that i wish i could have gone into further:

1. As far as specs, docs and architecture go, I think your best bet is Enterprise Architect. That is, unless you are on a Mac in which case it is not available and i prefer Omnigraffle.

2. I briefly mentioned Prana and IoC as a segue from scaffolding and I wish i had more time to devote to it during the panel. Though Mate does support some dependency injection for their event mapping, it is compiled in and i prefer an external application context that can be configured for runtime. We use it heavily at Infrared5 and I would whole-heartedly suggest you look into it for your next project - Prana developed by Christophe Herreman.

3. On the panel, we were all familiar with Cairngorm and mostly use it when business requirements and dev team size makes it a perfect fit. But i did bring up the black hole of state control that comes with it... in my opinion. I am quite taken with how PureMVC handles state through mediators, but i have other weight-baring problems with PureMVC that i can't get around that make me choose Cairngorm when it comes to incorporating a micro-architecture into our projects. I basically said that i hate throwing string-denoted state on the ModelLocator that is bound to a view. I can't stand it, but i do it because i know that developers are familiar with it. In my personal opinion i think this is the best case for the Strategy pattern. I like the Mediator pattern as well, but i think there is too much baggage and extra code that needs to be thrown in an if..else of switch..case. I know that Strategy is behaviour pattern but i see it fitting in nicely with presentation as well. I can go into that farther in another post if you all want, but i just wanted to convey that even though you might represent a simple string on a global model, i think you are losing the loose-coupling infrastructure... but don't even get me started on Singleton models... this 3 point has already run too long.

In any event, if you sat in on the panel, I would love to hear your thoughts - good, bad and ugly. Leave a comment... and bundle up, it's cold here in boston.

Posted in Conferences, Flex, Infrared5, Prana.


Errata or just a helpful hint?

For those of you who have a copy of the Adobe Air Create-Modify-Reuse book that myself and Marc Leuchner and Matt Wright (of NoBien fame) authored, we hope you are enjoying it and i also may have a bit of errata for Chapter 1 if you are running Leopard. For those of you who don't have a copy of the book (go buy it) and/or are running Leopard and want to use the Flex SDK command line tools, this may be of interest...

In Chapter 1 of the Adobe AIR Create-Modify-Reuse book, The Development Environment, it states that in order to set a PATH variable for your command line tools that you should:

1. Open the Terminal and type > open -e .profile
2. Add the path to the /bin folder of your SDK installation (I paraphrased... but you get the idea)

In Tiger this is all well and good, and if you are running in Tiger you can drop off or read on if you intend to upgrade to Leopard. Setting system paths in Leopard has changed and you no longer have a .profiles file in your User directory to which you can add/append paths. The following steps are what i took to add a path to the Flex SDK command line tools under Leopard:

1. Open the Terminal and navigate to /etc/paths.d
2. Create a file named 'flex' - (sans quotes)
3. Enter the following command: > pico flex
4. Enter: /Applications/flex_sdk_3/bin
5. Exit and Save

You will need to restart your computer.

*Note: /Applications/flex_sdk_3/bin points to the /bin directory of my Flex 3 SDK installation, change as you see fit to your installation.

I can't go into the long and short of why this needs to take place in Leopard, but that will get you up and running with the command line tools if running under Leopard; i can however tell you i used the following to set me on the right path (no pun intended):

here and here

I apologise if anyone had purchased the book and tried to go through Chapter 1 with a Leopard installation. I did not know that setting PATH variables had changed and I was running Tiger when written and up until about a couple weeks ago when my HD went on the lam and i was greeted by a series of 'Do Not Enter' and 'Missing File' icons on start-up... all is well though, and they replaced my HD and installed Leopard for free!

For those of you have a copy of the book, i hope you are enjoying it. For those who are trying to get the tools up and running and just switched to Leopard i hope this is useful.

Posted in AIR, Books, Flash, Flex.


Flash on Tap : Boston

Beer and Flash.

Now, i plead guilty to introducing the two from time to time ... and sometimes more of one than the other. : )

... and here comes an opportunity to mingle micro-brew tasting with some of the most intelligent minds in the business... and in Boston no less!

Flash on Tap is in Boston from October 7th until the 9th. Get you tickets while the super early and early bird special last!

Posted in Beer!, Conferences, Flash.


Flex 3 Cookbook clarifications

Josh Noble - the main man behind the Flex 3 Cookbook of which i had the esteem pleasure of being part of (thanks again, j-man) - has recently blogged about some more information involving the files for download and the intention of the book.

Wanted to blog about it as well, as i feel there is some great information from his post about the decision for cutting chapters and where to download code and the best way to submit errata. He also mentions the heartbreaking decision to cut chapters and recipes from the book to preserve page count... but don't put the book back on the shelf, they are available to download!

We hope people are enjoying the book at what any level developer you are. Cheers to Josh and happy coding!

read Josh's post

Posted in AS3, Books, Flex.


Yet another post about Astro

If you read MXNA, you probably have stopped checking quite some time ago because every post is about Astro...
but if you are interested in another way to set up your projects in FlexBuilder to target FP10 without having to muck about with files in the frameworks folder of your original Flex3 SDK installation this post may shed some light.

I am a workspace fanatic when it comes to development. I like things tidy, and when i start a new client project or go into some new exploration that involves multiple projects, i create a new workspace. The great thing about workspaces for me, aside from keeping things neat in my head, is that each new project you create in that workspace inherits from any default settings. So when the big news hit and i wanted to check out the latest SDK, i created a new workspace and followed most of the excellent directions already available on the adobe open source site. I only strayed a little in how i went about setting my workspace up so that every new project i created in it was *almost* set for development targeted at FP10 without having to run through the process each time.

The following is the process i took to only mess with the files from the nightly build and set defaults for a single workspace in order to play around with the current features available in Astro:

1
. Download Flash Player 10 codenamed Astro.
2. Download the nightly build and unzip to some directory. (for me that is /Applications/flex_sdk_3.0.1.1728
3. Open FlexBuilder or Eclipse (if you have the plugin) and create a new workspace. (ie. ~/Documents/workspace/astro).
4. Create a new project.
5. Navigate to Project>Properties
6. Select the Flex Compiler option
7. Under Flex SDK version, click Configure Flex SDKs...
8. In the Preferences (Filtered) window, select Add
9. Navigate to the installation of your nightly build. (ie. /Applications/flex_sdk_3.0.1.1728)
10. Add a new name for the SDK... you should see something like so:

Flex Builder Astro set up'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

11. Click OK, Then tick the checkbox next to the newly added sdk in the Installed Flex SDKs window.
12. Click Apply, then OK.
13. Then back in the Project Properties folder, under Use a specific SDK, if the newly added SDK isn't selected, select it.
14. Under the Required Flash Player Version, change the value to 10.0.0
15. In the Project Properties window on the left side, select Flex Build Path> Library Path.
16. Expand the SDK you just set as default, and select the playerglobal.swc and Remove it.
17. Click Add SWC, and navigate to the player 10 swc from your nightly build SDK installation (ie. /Applications/flex_sdk_3.0.1.1728/frameworks/libs/player/10/playerglobal.swc)
18. Click Apply, then OK.
19. Open up the flex-config.xml file from the Astro SDK installation and update the settings as described in the first part of the Command-line Compiler instructions from here.

Thats it! Only 19 steps... that seems like a lot. In any case, in ensures that any project you now build under that workspace will default to using the targeted SDK. You will still have to manually change the Required Flash Version (from step 14) before you compile a new project, but other than that when you want to tinker with the nightly build - and not mess with your stable Flex 3 SDK release that other projects in other workspaces are targeting - just hop over to that workspace.

Good reading
:
Ryan Stewart - Flash Player 10 codename "Astro" goes beta
Tinic Uro - Adobe Is Making Noise series
Keith Peters - Astro Dynamic Sound!
Josh Tynjala - Gratuitous Text Effects

Posted in AS3, Astro, Flash, Flex.


Prana and compiled classes

I have recently gotten into incorporating Prana - the Inversion of Control framework of AS3 created by Christophe Herreman- into my projects. I gotta say, it's beautiful piece of work and makes me rethink my approach to the architecture of applications again.

I don't want to go into IoC and dependency injection and how your applications can truly benefit by using the Prana framework, as this post may get pretty long and these references are much better reading than my rambling:

Christophe's blog: http://www.herrodius.com/blog/
Martin Fowler's Inversion of Control Containers and the Dependency injection pattern
the hollywood principle

What i did want to bring up is that i had a small problem with the workflow and how i develop. Which is my problem, of course :) but nonetheless...

One important thing to remember is that the context file is an external file that is loaded by the application at runtime. This means you will need to have all the possible classes your application may use already compiled into the SWF in order for the objects to be instantiated and your application to work. If you are typing to interfaces, this could prove to be a bit of a problem. You could create a reference for each class that may be needed in another class that is known to be compiled into the SWF - as Christophe explains in this post - but that always seemed dirty to me.

As is mentioned in the comments to that post, you can also go about adding each class using the -includes compiler option. Adding all possible classes using the -includes option makes for an excellent case on when to use additional compiler configurations, and presents the option to really just change the application context file and the additional configuration file as the project sees fit, without having to open up the source and tack on or remove dummy references to classes.

As an example, take for instance this application context file:

XML:
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <objects>
  3.     <property file="app.properties" />
  4.     <!-- Handles direct invocation on client -->
  5.     <object id="callbackHandler" class="com.example.responder.CallbackResponderImpl" />
  6.     <!-- Handles connection to Red5 application -->
  7.     <object id="connectionDelegate" class="com.example.business.ConnectionDelegateImpl">
  8.         <property name="rtmpURI" value="${app.rtmpURI}" />
  9.         <property name="client">
  10.             <ref>callbackHandler</ref>
  11.         </property>
  12.     </object>
  13. </objects>

.. for each possible implementation of ConnectionDelegate and CallbackResponder that i may decide to swap in and out as the project seems fit, i would either need to hold a reference to each implementation in some class sure or be compiled into the SWF, or i could store them in an additional config file that can be added using the -load-config option with an additional value:

The prana.config file:

XML:
  1. <flex -config>
  2.     <includes append="true">
  3.         <symbol>com.example.reponder.CallbackResponderImpl</symbol>
  4.         <symbol>com.example.business.ConnectionDelegateImpl</symbol>
  5.     </includes>
  6. </flex>

... drop that in my source folder and add the compiler option:

CODE:
  1. -load-config+=prana.config

From there, i could change the context as i see fit, update the prana.config file to reflect my preferences and just recompile the application without having to go into the source and muck about. It's a little more clean for me and allows me to happily go about using the Prana framework.

The best part is that Prana is truthfully AS3 compliant! Meaning you can use it in your Flex AND AS3 projects, which cannot be said for some frameworks that claim to be AS3 and actually use class from the mx package... (looking at you as3lib). A huge pet-peeve of mine.
*Last i checked, the source under version control doesn't seem to reflect the current changes Christophe has made, but they are included in the downloads.

Posted in AS3, Flash, Flex, Prana.