The Blog of Maxim Porges

Archive for March, 2009

  • Flex Camp Miami: In Search of AOP for AS3 (Maxim Porges)

    Next, I gave my presentation on my search for adding AOP to ActionScript 3. My presentation materials are available here.

    I was a little concerned about the level of my presentation and how it would be received, since Greg Wilson had already identified that many of the attendees were completely new to Flex. It’s not often that as you are learning a language, you take a deep-dive under the hood to see how the bits and bytes are running in the virtual machine after they have been compiled.

    I started off with an overview of AOP, since about 85% of the attendees had never heard of the term. Using examples from ActionScript and Java, I simulated AOP advice in code for ActionScript and then demonstrated how AspectJ already has AOP working beautifully.

    I then moved on to describe my journey to discovery for how to implement AOP in ActionScript. I described how I started off trying to use the prototype model, setting the strict flag to false in the compiler, and finally attempting to use Proxy before giving up on the out-of-the-box toolset.

    I then described the dynamic subclassing model (akin to how CGLIB works for Java) and how that was the only viable solution I had found. We then looked at how the Tamarin project had supported my research in to establishing a roadmap for understanding the inner workings of the AVM and getting dynamic subclassing working, and I demo’d some of the command-line tools that have become good friends to me in recent months as I have worked on Loom.

    I had some interesting feedback from the session. Overall, I saw enough heads nodding as I was going through it to see that people were getting the general idea, which was all I was hoping for; the AVM2 spec is pretty boring stuff, and the idea behind Loom is that it will handle all the nitty-gritty for you so that you can just code in AS3 and have AOP capabilities at your fingertips. Nahuel Faronda told me that he had followed along 100%, and after seeing what I had to deal with to get Loom to work he was glad I was doing it instead of him. :)

    While I’m hopeful people found my session interesting, I’m even more hopeful that they will download Loom and assist me with the beta program when I release the library later this month. As always, watch the blog and the Loom project site for updates.

    All Flex Camp Miami Roundup Posts
    Welcome and Keynote (Greg Wilson, Adobe)
    Working with Data in AIR (David Tucker, Universal Mind)
    In Search of AOP for AS3 (Maxim Porges, Highwinds)
    Merapi or How To Blow Your Mind with AIR (Andrew Powell, Universal Mind)
    The Art of Storytelling (Christian Saylor, Universal Mind)
    Continuous Integration and Flex (Brian LeGros, Highwinds)
    Spring & BlazeDS Integration (Jeremy Grelle, SpringSource)
    Mate Flex Framework (Laura Arguello, ASFusion)

    2009.03.07 / 2 responses / Category: Uncategorized

  • Flex Camp Miami: Working With Data in AIR (David Tucker)

    David Tucker gave an in-depth presentation covering all the different ways you can wrangle data with AIR.

    While I’m fully familiar with AIR’s general capabilities and the fact that you can access the file system with it, following David’s topic I had a much better understanding of the specifics of AIR data management and several features that I was not aware existed. For example, I was not aware that you could access an encrypted local store with AIR; I figured you just had access to the standard local store like you do in Flex. David explained how AIR takes advantage of the native encryption mechanisms available on the OS it’s running on, and showed examples of how to use it.

    David went on to cover database access in AIR, including some of the performance gotchas associated with transaction management and best-practice strategies for fetching and saving data. Finally, he touched on some of the work taking place in the Flex space to produce ORM and data management frameworks.

    Thanks to David for a great presentation. We are considering an AIR version of the next major StrikeTracker release, so I am sure I will be able to put what I learned to use.

    All Flex Camp Miami Roundup Posts
    Welcome and Keynote (Greg Wilson, Adobe)
    Working with Data in AIR (David Tucker, Universal Mind)
    In Search of AOP for AS3 (Maxim Porges, Highwinds)
    Merapi or How To Blow Your Mind with AIR (Andrew Powell, Universal Mind)
    The Art of Storytelling (Christian Saylor, Universal Mind)
    Continuous Integration and Flex (Brian LeGros, Highwinds)
    Spring & BlazeDS Integration (Jeremy Grelle, SpringSource)
    Mate Flex Framework (Laura Arguello, ASFusion)

    2009.03.07 / no responses / Category: Uncategorized

  • Flex Camp Miami: Welcome and Keynote (Flex 4 Preview)

    Greg Wilson gave an abbreviated version of several presentations covering the new stuff we can expect in Flex 4 “Gumbo”, including FXG, Flash Catalyst, and the various language, API, and tool changes we can expect.

    I won’t say that there was anything groundbreaking here that had not been seen in prior keynotes at MAX and similar large Flex events around the country, but that does not detract from the coolness of the things that are coming.

    I’m personally most excited about Flash Catalyst and FXG. I’ll reserve full judgement on the technologies until I get to use them, but my initial thoughts are that they are huge steps forward in separating presentation and structure of components. Even so, I think there might be a little more work to be done in this area to achieve full separation; for example, there appears to be a reliance for metadata to be added to the component class to provide hooks for the skin, which seems invasive at first glance (although again, I have not fully kicked the tires so I may be missing the significance of why this is unavoidable). That being said, one of the things that bothers me about Flex 3 today is the fact that you can’t fully control positioning with CSS the same way that you can with HTML, but I believe that the new component skinning model takes care of this particular issue (at least on the individual component level).

    In several “hands up” polls, Greg was able to identify that a significant chunk of the crowd had not used Flex professionally, which indicates that the event was successful in educating some future Flex-ers. I think it’s great when an event can open doors for people, as opposed to just being a love-fest for people who have already drunk the Kool-Aid.

    Finally, Greg handed out about $5,000 worth of training DVDs, books, and software, which was totally awesome. Thanks again to Adobe for footing the bill for these items (and let’s not forget their covering of the pre-event beers at the Titanic the night before!).

    All Flex Camp Miami Roundup Posts
    Welcome and Keynote (Greg Wilson, Adobe)
    Working with Data in AIR (David Tucker, Universal Mind)
    In Search of AOP for AS3 (Maxim Porges, Highwinds)
    Merapi or How To Blow Your Mind with AIR (Andrew Powell, Universal Mind)
    The Art of Storytelling (Christian Saylor, Universal Mind)
    Continuous Integration and Flex (Brian LeGros, Highwinds)
    Spring & BlazeDS Integration (Jeremy Grelle, SpringSource)
    Mate Flex Framework (Laura Arguello, ASFusion)

    2009.03.07 / no responses / Category: Uncategorized

  • Flex Camp Miami Roundup

    As you will know if you have been following my blog, I attended and presented at Flex Camp Miami yesterday. We ended up with 86 attendees from all over the country, which was a great turnout considering the state of the economy and Miami’s tech community.

    I have to say that when I was originally invited to the event, I was expecting it to be fairly basic in terms of the content being presented. When we looked in to hosting a Flex Camp in Orlando, Adobe had asked us to keep it along the lines of an “intro to Flex” event (which was actually one of the reasons that we didn’t pursue the issue, since we have built up an intermediate Flex crowd with the sessions at Adogo). However, the final lineup for the event was full of great topics, and I can honestly say that this is the first conference I have been to in a while where I was interested in and able to learn something from every offering.

    I’d also like to mention that the organizers and sponsors did an awesome job. Universal Mind and Adobe showed up in full force; I think at least 30% – 40% of the attendees left with either a book, a training DVD, or a Flex Builder Pro license. One lucky bastard even left with a $2,500.00 copy of the CS4 Master Collection – not a bad ROI for a $20 registration fee! I personally won a copy of Creating Visual Experiences with Flex 3.0, which I am really excited about since custom skinning is my weakest area in Flex development right now.

    Not to be forgotten is the fact that the event would neither have been as successful nor possible at all without Brian Rinaldi having organizing it. Brian put together the whole event and organized sponsorship from Adobe and his employer at the time (Universal Mind). Unfortunately, nobody has been immune from the state of the economy and Brian was released from his employment shortly before the event, making his attendance difficult on several levels. While the sponsors did Brian proud in terms of delivering a solid event, if you were an attendee, I encourage you to let Brian know your appreciation for all his hard work. If you are an employer considering Brian for a position, you can rest assured that his attention to detail and work ethic leave nothing to be desired if the quality of the Flex Camps he has organized are any measure.

    For those of you who missed the event, fear not – Universal Mind is planning to do another Flex Camp in the Florida area later this year. There was talk of doing it in either Tampa or Orlando – either way, Adogo will be lending as much assistance as we can to ensure it’s a good one.

    I’m going to do an individual blog post on each of the topics presented, which I’ll be linking to once they are finished. I also have some pictures, but since I left my SD card adapter in my other laptop I’ll have to wait until I get back to Orlando to publish them.

    All Flex Camp Miami Roundup Posts
    Welcome and Keynote (Greg Wilson, Adobe)
    Working with Data in AIR (David Tucker, Universal Mind)
    In Search of AOP for AS3 (Maxim Porges, Highwinds)
    Merapi or How To Blow Your Mind with AIR (Andrew Powell, Universal Mind)
    The Art of Storytelling (Christian Saylor, Universal Mind)
    Continuous Integration and Flex (Brian LeGros, Highwinds)
    Spring & BlazeDS Integration (Jeremy Grelle, SpringSource)
    Mate Flex Framework (Laura Arguello, ASFusion)

    2009.03.07 / 2 responses / Category: Uncategorized

  • StrikeTracker is a 2009 StreamingMedia Editors’ Pick

    StrikeTracker has been chosen as a 2009 StreamingMedia Editors’ Pick (under BBC’s iPlayer, and above Hulu – although I don’t think the list is ranked).

    Quoting from the article: “Seeing a real demand in the market, CDN Highwinds has been working for the past year on improving its web-based reporting product and offering all of the functionality that customers asked for in the survey. In that time, I’ve had the opportunity to watch the Highwinds product continue to evolve and have been able to get a few in-person demos along the way. To date, its reporting package is one of the best solutions I have seen from any of the CDNs in the market.”

    We’re thrilled to receive this recognition for all the hard work our engineering teams have put in to make StrikeTracker the best CDN console available. While the work that my team does on StrikeTracker is front-and-center for the customers to see, it wouldn’t make any difference without the CDN behind it – so the way I see it, this is a tip of the hat to the Highwinds CDN as a whole.

    2009.03.05 / 1 response / Category: Uncategorized

  • Where’s Loom?

    I’m so close to getting Loom finished that I can taste it, but unfortunately life has been getting in the way in the last few weeks. Grrr!

    I had to get my presentation finished for the Flex Camp this week, and I’m getting married in April so meetings with vendors have been eating up at least one day of each weekend since the end of January. I also had a bachelor weekend with a few buddies last weekend, which was great fun – but all in all I’ve been unable to put as much time in to Loom recently as I was able to in January.

    Things will really start to quiet down for me on the personal front starting this month, since we’re running out of vendors to meet with before the big day. Plus, Jessica will be in New York for a bachelorette weekend with her friends in a few weeks, so I’ll have two whole days to sit on the couch in my undies and write code.

    Bottom line, I intend to have some working code up on Loom’s site later this month. Watch this space for updates…

    2009.03.03 / 3 responses / Category: Uncategorized

  • Last Chance for Flex Camp Miami

    Final reminder to everybody that Flex Camp Miami is almost upon us. I have been polishing off my presentation on Loom this week and am looking forward to seeing you all there.

    The speaker lineup has solidified with a topic from another of the great folks over at Universal Mind, and there’s also a guy from SpringSource talking about Spring integration for BlazeDS, which should be interesting since the integration is under active development.

    Remember, the price of admission goes down to $20 if you use the discount code “adogo”. Register now!

    2009.03.03 / no responses / Category: Uncategorized