
Searching for tools on the internet always has an interesting way of throwing up a whole gang of new interesting tools and never used before utilities. I was on the lookout for a UML tool and arrived at a Wikipedia page that listed a whole gang of UML tools. Having poked around a bit I found the java IDE
NetBeans on the list. 'Weeel,'I said to myself, 'NetBeans as a UML tool is interesting. Anyroad you cannot go too wrong with Sun'. My experience with Sun systems (especially with a Linux rig)have been very pleasant so I went ahead, installed NetBeans and also installed the UML plugin (simply called UML in the plugin list). I'm very happy with the tool's output so far. It gives quite reasonable satisfaction. So that went well.
I was however quite taken by the interface and layout of NetBeans that I immediately wondered ' if this would work with the Flex SDK?'. A little more time wasting online and there it was,
FlexBeans, a NetBeans plugin for Flex development. I set it up and quickly created a test project. It felt quite nice. Compiling felt good too, it has more of a FlashDevelop feel to it than Eclipse/FlexBuilder. However, it is in no way as sophisticated as FlexBuilder or Flashdevelop in its project development options. For the moment it only seems to offer the ability to develop a Flex application or a Flex compoment. NO pure actionscript project which is a shame. I hope that such an option will be added soon. It also does not seem to have an html or standalone preview option- except I missed something. Still I must confess I like the feel of it and now feel I have another option for MXML/Actionscript development in Ubuntu. Try it for yourself, you might like it.
I had this rather unpleasant experience a little over a year ago. Why I never blogged about it till now is a good question. Nonetheless I am doing it now to pay tribute and salute a very brave woman, who came to my rescue on the train.
It began at Faringdon station unroute to Kings Cross station or maybe from Kings Cross to Camden, my memory is a bit foggy now. I was one of a number of people trying to get unto the train from the platform. As I entered the train I was suddenly made aware of the fact that someone was shouting at me. I turned round to stare into the face of a small tattooed fellow who was shouting all kinds of racist expletives at me and accusing me of pushing him. I was so aghast that I actually looked behind me to see if I was the object of his attentions. He was obviously not very pleased with me and was loosening his clothing in a threatening manner in preparation for a fight. In my mind I thought "Jeez, not again, I'm going to have to fight now".
All of a sudden, a quiet voice cut through the air and firmly declared "Stop that, you've had too much to drink, He did not push you, just sit down". It was a large elderly Caucasian lady (probably English) about 50ish in dark clothes. She pushed me along and I shuffled along dazed and stood at the other end of the train watching the fellow who had now taken a seat and was mumbling and continuing to insult me. The carriage was silent and as usual when there is trouble in a London train all the news papers went up. The old see no evil, hear no evil business. The insults continued, till the woman had heard enough and she told him to shut up. The fellow then quipped "Why are you standing up for that Wop?". The event that followed shocked be beyond belief. The lady (bless her brave soul), put her book on her seat, stood up, walked to the fellow, waggled her finger at him and gave him a resounding slap with her left hand. I have never been so stunned in my life. She then calmly walked back to her seat and continues reading. The fellow looked as stunned as I was and just rubbed his face mumbling "You hit me..", to which she replied, "If you do not stop I will again.." and calmly continued reading. I got off at the next station after mumbling my thanks to this angel of mercy.
The moral of this story is that there are good people and bad people, cowardly and brave irrespective of race or creed. I salute that angel, she saved me that day. God bless her, and may people stand up for her as she did for a complete African stranger

Adobe always manages to excite me with the introduction of new features into the Flash Media Interactive Server. I must confess though that none has excited me in recent times as much as the introduction of the peer to peer protocol RTMFP which has now has public viewing in the Adobe Stratus Cloud server. True RTMP has managed to carry us this far but, the inherent problems of a TPD hub server to distribute content was becoming all too obvious to see. In truth the client to server to client model was just no longer efficient enough to cope with the expectation of a user base that now expects all video to be desktop application quality. True a myriad of deployment techniques and the geo-location of server clusters helped to solve this problem somewhat but, at a price too costly for the average user. Problem now solved with the real Time Messaging Flow Protocol, a UDP protocol that allows Flash Player 10 to communicate client to client. Security is maintained by the server which acts a a mediator to authenticate and exchange data keys between consenting users. The result is startling. A video chat application I built with a camera encoded value of 960 x 720 x 10 streamed with virtually no lag in motion or audio. My test partner was my long time friendand tag team partner Prof Bill Sanders and we talked for at least 90 minutes with no change in quality whatsoever. The screen shot above was at full screen.
Development techniques are however not the same as defacto FMIS development as you have access to only the main classes Stream/NetStream, Application and Client (I may have missed some out). Notably you do not have access to Remote Shared Object interaction (for the moment). This makes for some interesting jiggery-pokery to distribute data to multi-users. In this, I have found the Application.broadcastMsg,NetStream.send methods as well as data binding techniques invaluable. Without a shadow of a doubt other creative ways of routing the data will show up as people get more comfortable. In addition you have the same old echo problems so a headset is still absolutely necessary. You also cannot access the raw data of the streams audio and video (for the time being, I hope). Visit http://labs.adobe.com/wiki/index.php/Stratus for more information. You can procure a Developer key there and start to try out the protocol for yourself
I will put up the code for this video chat application once I've cleaned up the mess I created in developing it as well as a demo application you can try out.
This is really a reminder for myself, I always drive my self crazy going through the documentation trying to find the wretched things.
[SWF width="#"
height="#"
widthPercent="#"
heightPercent="#"
scriptRecursionLimit="#"
scriptTimeLimit="#"
frameRate="#"
backgroundColor="#"
pageTitle=""]
My thanks to Stephen Gilson from the Flex Documentation Team. Other MetaData tags can be found in the Flex doxumentation