Friday, October 24, 2008

Actionscript 3 HMAC: Keyed-Hashing

I have implemented the HMAC (RFC2104) in actionscript 3 using the as3 core library. I have submitted a patch to as3 core lib. I developed the HMAC library because I needed it to perform the CRAM-MD5 for my actionscript 3 mail api project AsMailer. The HMAC library has been tested for MD5 and SHA1. The library can support other hash methods but they have not been tested.

Wednesday, September 03, 2008

asDox Alpha 2.1 Released

I have updated the asDox project and release 1.0.0 alpha 2.1 which contains some minor bugs fixes with imports and file encoding. I like to thank Eamonn Faherty for reporting these issues. I have not had a lot of time to work on asDox but that is all about to change. I am working on a new Flex + WebOrb + Doctrine project in which I am using asDox to generate the Doctrine Records, PHP DTO's, and the PHP DAO's. I will try to blog my progress for those who are interested.

Thursday, May 08, 2008

asDox Alpha 2 Released

I have released asdox-1.0.0-alpha2 . The grammar has been rewritten and tested against the Flex 3 SDK. The wiki examples have been updated as well. This Alpha 2 version does not return JavaDoc tags information. I am planning to implement JavaDoc's in the next release.

Monday, April 21, 2008

New AS3 grammar for asDox

I have been working on rewriting the Actionscript 3 grammar for asDox. The original grammar could not parse files from the Flex 3 SDK but the new grammar can parse all 647 source files. The Flex 3 SDK has been a really great test for my AS3 grammar and I learned quite a bit about what is valid AS3 syntax. Now that I can successfully parse AS3 files the next challenge is to assemble a model from each of the AS3 elements: Methods, Classes, Packages, Metadata, JavaDocs and Variables. I hope to get an Alpha 2 release out very soon :)

Monday, April 07, 2008

PureMVC Flash Develop Templates

I have updated the PureMVC Flash Develop Project and File Templates to work with PureMVC v2.0.3 and Flash Develop Beta 6. You can download the latest templates here.

Tuesday, February 19, 2008

Generating PHP Value Objects with asDox

I am working hard on documentation for asDox. The project is still in Alpha but I wanted to focus on some example uses for asDox. I have just posted a new Wiki page titled Generating PHP Value Objects . This is a great example of the how asDox can make life easier when creating Flex applications that use RemoteObjects. asDox can also be used the generate the DAO and SQL Scripts for your value objects.

Friday, February 15, 2008

asDox - Actionscript 3 Parser

I very proud to announce the release of asDox 1.0.0-alpha. asDox is small Actionscript 3 parser build using PyParsing. It is based on the qDox project for Java. asDox's main goal is to provide code generation for Model Driven Development. Use asDox with any Python template engine will allow you to generate PHP, .NET, Java, Ruby, or even SQL scripts from Actionscript 3 Classes. The project is hosted at http://asdox.googlecode.com . This is an alpha release so there is very little documentation but I plan to get some more Wiki pages put up soon.

Tuesday, January 15, 2008

Fluorine FX

The Silent Group launch a new open source .NET library. FluorineFx provides an implementation of Flex/Flash Remoting, Flex Data Services and real-time messaging functionality for the .NET framework.

http://www.fluorinefx.com/

Friday, January 04, 2008

PureMVC Project Template for Flash Develop

I have updated my modification to the Flash Develop Project Manager Plugin. The plugin modification will work with Flash Develop Beta 5. You can download the updated files via the Flash Develop Forum . If I can find some extra time I will develop a Caringorm Project Template but if you are familiar with Caringorm feel free to develop a Project Template based off the PureMVC template. (It's actually very easy to do ).

Friday, October 26, 2007

AMF PHP Tutorial in German

I recieved an email today from www.HowToForge.com reguarding my AMFPHP 1.9 tutorial. They were requesting my permission to translate my tutorial to German. I thought it was really cool. So if you speak German go check it out at www.HowToForge.de .

Wednesday, August 08, 2007

*** Life Spoiler ***

You die at the end :)

Thought this was funny.

Monday, July 09, 2007

PureMVC Project Template Updated

I have updated the Project Manager Plugin Mod for Flash Develop 3 making it easier to use. I also updated the PureMVC Project Template to take advantage of these recent changes.



http://www.flashdevelop.org/community/viewtopic.php?p=7792#7792

Thursday, July 05, 2007

PureMVC Project Template for FlashDevelop 3

I have modified the Project Manager Plugin for Flash Develop 3 to accomidate complex project templates. You can follow the process of this modification over at the Flash Develop forum http://www.flashdevelop.org/community/viewtopic.php?t=1719 . With this modification I have created a PureMVC Project template and associated Project File templates. I have posted some screenshot over at the PureMVC forum http://futurescale.com/forums/puremvc/index.php?topic=15.0 . And don't worry a Cairngorm Project template is soon to follow.

Wednesday, June 20, 2007

PureMVC: AS3 Framework

Cliff Hall has developed a AS3 MVC framework called PureMVC. Unlike Cairngorm the PureMVC frameworks targets any AS3 based application including Flex,Flash, and AIR. I recently convert the Cairngorm CafeTownsend demo to use the PureMVC framework. You can download the source and view the demo app over at http://puremvc.org .

Tuesday, June 12, 2007

Adobe AIR Developer Derby

I am going to enter the Adobe AIR Developer Derby . I think I might have a change at winning a T-Shirt :) Next question is what to build ?

Wednesday, May 23, 2007

PHP 5 in Java

Quercus is Caucho Technology's fast, open-source, 100% Java implementation of the PHP language. Quercus is a feature of Caucho Technology's Resin Application Server and is built into Resin - there is no additional download/install. Developers using Resin can launch PHP projects without having to install the standard PHP interpreter (http://www.php.net) as Quercus takes on the role of the PHP engine.

Quercus + Amfphp = Good Things :)

Wednesday, May 16, 2007

amfphp - Flash remoting for PHP

amfphp has a new url: http://www.amf-php.org/ .I have been following the domain name mess and I know what a headache it can be. I have had a few client forget to renew their domain names and the @#$% hits the fan when websites go down and the email stops working.

Friday, May 04, 2007

Flex 2 Inline Item Renderer Tip

I stumbled upon an unknown property as I was trying to use an Inline Item Renderer on my DataGrid Columns. If you use the <mx:component> tag with your inline item renderer and try to have your component call an event in your main application you will get a nasty "Access to undefined method blah blah". This is because your Inline Item Renderer is unaware of what exists in your main application. But you can use the outerDocument property to access event handlers in you main application.

<mx:itemRenderer>
<mx:Component>
<mx:VBox >
<mx:Button label="Remove" click="outerDocument.remove()"/>
</mx:VBox>
</mx:Component>
</mx:itemRenderer>

Wednesday, April 25, 2007

Fluorine Tutorial

I wrote a tutorial on using Amfphp 1.9 with the Flex 2 SDK. One of the things I wanted to do was to convert my Amfphp tutorial into a Fluorine tutorial but just couldn't find the time to do so. Well as luck would have it I need to use Fluorine for on an application for a client. So I will begin development on a Fluorine with the Flex 2 SDK tutorial. I would like to publish this tutorial on HowToForge but I don't think that have a section for C#, .NET, or Flex 2.

Wednesday, April 11, 2007

Amfphp vs WebOrb PHP

For those of you who missed the great discussion over on Flex Coders.

Amfphp

I'll be releasing amfphp 2 before I retire, and I have someone here that is interested in picking up amfphp, someone I can't mention just yet but trust me that my successor will be a very talented and respected member of the community that I am sure will do an awesome job with the project.

As to which you should choose between amfphp and WebORB, it depends. Mark loves his WebORB, and I love amfphp, but they are different projects, and have different design goals, so that either one is most appropriate for different uses. The differences are subtle though, I'll be the first to admit, which is why I wasn't particularly thrilled about WebORB and SabreAmf when they first came out, as I felt it was a duplication of efforts (much like the well-publicized argument over SWX with Aral). But regardless, the effort has already been put in, so there's no use in stopping it now. I'll restate the design goals of amfphp from the homepage:
  • Nothing required - PHP4/PHP5 compatible, no extensions needed
  • Low footprint, lightweight, fast
  • Convention over configuration (service and class mapping)
  • Can be embedded into a framework (see CakeAmfphp, Seagull)
  • Services are "non-specific" PHP classes that are portable to anything without code change
  • Productivity tools included (service browser, code gen, profiling)
  • Batteries included - XML-RPC, JSON
  • Not a framework by itself (use your own)

I'd like if Mark could put up a similar statement of design goals for weborb so that users can make an informed decision.

As for the issue of the AMF extension, I've contacted Mark about it, and in theory weborb could be made compatible, and SabreAMF will be eventually (as far as I can tell). I don't think Mark wants to do it though, perhaps because of the way the serializer is implemented on their side. My personal feeling is that the serializer and unserializer in WebORB are misadapted to the realities of PHP, split into several classes for doing simple, computationally intensive things, but one could argue (and I'm sure that Mark would) that clarity of code was chosen over performance, a valid decision if it doesn't affect performance that much (and Mark is right, the 50-200ms difference won't really make a difference in most projects, but in some which have very high traffic it most definitely will, which is why the AMF extension was made).

Patrick

WebOrb PHP

Thanks Patrick, I'm happy to talk about the goals we have for WebORB.The vision for the product is to provide the best possibledesign/runtime platform for Flex applications and .NET/PHP/Rubybackends. Our goals include:

  • - non-intrusive approach
  • - ease-of-use
  • - simplicity of integration
  • - extensibility
  • - increased developer productivity

plus all the usual suspects expected anywhere from a one person shopto a major enterprise:

  • - performance
  • - reliability
  • - scalability

Currently we're wrapping up a new release for WebORB for .NET and assoon as it is out in production, we will port all the new features toPHP and Ruby. That said, it means all the features one would find inour .NET edition are going to be available in WebORB for PHP (andRuby). For example, take a look at WebORB Data Management for Flex(http://www.themidnightcoders.com/weborb/dotnet/wdmf-faq.shtm), thisis something Flex/PHP developers would love to have. On top of thisadd real-time messaging, remote shared object support, data push, codegenerator, performance monitor, etc.

I highly value code clarity and elegant software design and I amstrongly convinced that a product with a clear and well-thought outdesign does NOT have to suffer in the area of performance. All ourproducts share the same design. As a result, porting features orfixing bugs takes only a fraction of time than creating a newimplementation from scratch. For instance, it took us only three weeksto create the very first release of WebORB for PHP.

And lastly, when choosing an open-source product (and this is strictlymy personal opinion) I would recommend going for one backed by acommercial entity. After all, if I bet my business on it, I want tomake sure I have someone to call at 3am in the morning if things go bad.

Cheers,

Mark