My Flex Camp Miami posts were pretty weak ... mostly just some quick impressions that I scribbled/typed in the few moments between sessions. I had this notion of going back and writing something more meaningful; however, since I went through Maxim Porges' review of the session, I realized that there is no point. If you want a really good review of what Flex Camp has to offer, start with his Flex Camp Miami 2009 Roundup and work your way through his other articles (and don't stop with just Flex Camp, it's a really good blog to peruse). He even does a good job of objectively reviewing his own presentation - which, as I mentioned earlier, was a tremendous example of how to really attack a problem and come up with novel and innovative solutions.
Sort of delayed - had to jet from Miami to make the trek home - but the last session of the day was Mate, was, in addition to continuous integration, another major reason I came.
My take away from the session is that Laura's framework provides an event handling mechanism for business logic that offers better separation of concerns. Admittedly, this has been an area of concern for mine of awhile, where should your remote communication handling go? Mate looks like it provides a clean, sane way to handle this and this weekend I'll start playing with it.
Other than the potential merits of the framework, which I will discuss later as I explore it, it was a good way session to end the day. Maxim and Laura went back and forth a bit on some issues, but I was unfortunately too far away to listen to everything clearly. Maxim and Laura are both very competent programmers so it was fun to see the interaction and it seemed to have a happy ending. If nothing else, the lesson is that not all programmers have the same needs.
Aside: maybe it's the times, but as I listened to Laura's description to dependency I couldn't help but think that "from each component according to its ability, to each component according to its need". Then crazy thoughts about object oriented programming best suited to handle changes ... OOP ... Obama Oriented Programming - Programming for Hope and Change ... like, since we can't do it right the first time, I hope nothing changes. Anyway, that was in my random doodling.
Continuous integration was one of the major reasons for coming down to Miami. Luckily, I had a chance to have dinner the night before with Brian Legros, along with several others, and had a chance to ask some direct questions.
His presentation was good for whetting the appetite for moving forward. Alex and I have known for awhile that we need to run a tighter ship, and it was encouraging to be told that don't worry about being comprehensive right at first. Continuous integration, at least my take on it, has pretty much centered around formal testing, and embracing that is not a trivial thing - a good and needful thing, for sure, but not without baggage. So it's nice to be told to just get started, even if you aren't really using everything to its fullest.
The other big take away is that I had not heard of Hudson before; my trajectory was headed toward CruiseControl. Continuous Integration with Hudson looks like a much better fit for our needs and I'm looking forward to giving it a whirl.
Another nice nugget, since I do want to start with testing, is that Fluint supports CI. It is nice knowing that there is a finish line.
Art of Storytelling was a pretty effective admonishment and warning to developers. Too often we fail to consider our users and the results can be horrible.
Christian broke it down into four essential elements:
- The lead character
- The ambition or purpose
- The conflict
- The resolution
I suppose that the moral is the story is to be aware of why the user is accessing your web site/application and what s/he is hoping to accomplish. If there is a disconnect between what you are delivering and what is desired, you pretty much are failing.
The presentation is very different in so much as it avoids the specifics of doing any particular thing, but just tries to drive home that we develop for a reason and we ought to make sure that reason is consistent with the goals and aims of our customers/visitors/users.
The Merapi presentation is interesting - essentially it is a bridge between AIR/Flex and a Java application layer using AMF provided by BlazeDS components. The downside for them is that some of the functionality they have created has been obsoleted by Adobe improvements to the runtime.
The Lego Mindstorm is the highlight of the demonstrations, though the RFID demonstration has its own special merits. However, I would be more interested in seeing demos of the system accessing things like scanners or other USB connected system devices.
Definitely an interesting project, but it is still pre-Beta
If AOP didn't look interesting enough, and it does, the most tremendous value from Max's presentation was the methodology he used to develop his resources. His discussion of using the tools from the Tamarin project is a real eye opener to the lengths one can go to solve Actionscript problems.
AOP looks pretty tasty, too. The ability to create program level Advice handlers seems pretty damn useful. His live examples, unfortunately, are mature on the Java side, but the prospect of doing this, seamlessly in Actionscript, threatens to be a really powerful timesaver.
He reports that he'll have his Actionscript AOP libraries in a few weeks, so it is worthwhile to keep an eye on his blog to check for Loom Actionscript AOP updates.
David Tucker's presentation on data services in AIR has been rather informative, particular on the encrypted file store. Sessions are running a bit long and they are trying to make up for by squishing the breaks between sessions.
I'm looking forward to seeing his slides on davidtucker.net in just a bit.
The swag has been quite nice so far (CS4 master, flex builder), though since I made out pretty well at the Tampa meeting, no complaints for not winning anything.
I'll post more meanginfully later ... on to Maxim and AOP