I was at 360|Flex Indy in the session on the Axiis Data Visualization Framework presented by Tom Gonzales and Michael VanDaniker. Axiis is a framework built on top of degrafa that allows you to develop new and unique data visualizations that can go way beyond the simple column, bar, and pie charts available in the standard Adobe Flex charting libraries.

One of Tom’s first slides showed a Smith Chart. Tom mentioned jokingly that Axiis didn’t yet do something this complicated. For me sitting in the room, I was a bit taken aback. In my WCAP project, I have an open enhancement ticket from a customer asking for a smith chart visualization for transmission lines. They want to be able to click on a transmission line and view the directionality of the data on a smith chart. My original plan for accomplishing this ticket was to simply use an image for the smith chart background and draw my data on top of it. I must admit, I took Tom’s admission that Axiis couldn’t do a Smith chart as a throwing down of the gauntlet of sorts. I talked to him afterward to let him know I wanted to take on the challenge.

To date, I’ve only been working in Degrafa to get the basics of everything down. I’ll need to solicit Tom and Michael’s help in porting the work I’ve done over to Axiis and open-sourcing the code once I get a little further with it. So far, the most difficult part was calculating the arc angles and radii for each line on the smith chart based on the smith chart coordinates where the arc started and stopped. I still have a way to go in adding the various text labels along the curves as well as porting my work into a more reusable Axiis container.

The image above is the from-impedance(red) and to-impedance(blue) data across a 50 ohm transmission line with a sweep from 0.98mHz to 1.02mHz using a data point every 0.001mHz.

Hopefully, this little endeavor will benefit my WCAP customers as well as the open-source Flex community at the same time.

Post to Twitter

Posted by Andrew, filed under 360 Flex, Degrafa, Flex, WCAP. Date: May 30, 2009, 10:17 pm | 4 Comments »

Nitro-LM Manage Licenses screen

Recently at the 360|Flex Indy conference, Simplified Logic announced a program for developers to try out their Nitro-LM Enterprise licensing and encryption service with 100 FREE licenses for a year. If you’re a small developer who’s planning to sell commercial software, but don’t have a lot of cash to burn during development, this program was designed for you.

To sign up for this program, you’ll need to go to the Nitro-LM Installation/Support page on their website and install the Administration AIR app. Once inside the Admin app, register as a new user and check the box requesting the FREE licenses for a year. Once you confirm your e-mail address, a technician will complete your account setup and send you a follow-up e-mail along with some example code to get you started.

Nitro-LM Support Website

Post to Twitter

Posted by Andrew, filed under Uncategorized. Date: May 27, 2009, 10:48 am | No Comments »

browsermob

In the consulting work I’ve been doing for Simplified Logic, they’ve had me working on a new Encryption-only version of Nitro-LM for Flex and AIR. In the past year, they’ve had a number of customers who say something like, “The licensing and everything is really cool, but I’ve already coded my own simple username/password system and I really would just like to encrypt my application.”

For the past few months, I’ve been working on a solution for this. Instead of being username/password based for authentication like Nitro-LM is, I’ve stripped down the API to a 52kb SWC file that uses key-based authentication. If you request a decryption key from the server, as long as you encrypt that request using your application’s public key (embedded in your swf), then you’re good to go.

Having a solution for this brings about some interesting potential problems for Nitro-LM. First off, applications using this encryption-only solution will likely have a MUCH larger install base than a licensed application. For example, games, websites, and other small things where licensing isn’t really needed could be a candidate for the encryption-only solution. These types of applications also have a higher potential for going viral and slamming the Nitro-LM servers with tons of traffic.

To prepare for this potential onslaught of traffic, I did a couple of things. First, the encryption-only client SWC will cache the decryption key in a secure format for 30 days without hitting the server again. The other thing was to push out a trimmed down server instance to the SLI cloud. The encryption-only solution will push the traffic through the cloud first so it can take the brunt of the load.

To test this high-volume scenario, I setup a worst-case scenario test script through BrowserMob. They’re a great company that allows you to define and schedule load tests over the Internet. Patrick from BrowserMob was very responsive to my needs and even added a special API call that would allow me to do binary data POSTs from the service. I wanted to really stress our cloud to see what would happen if someone using our encryption service went totally viral. At the high-side, I was pushing through around 400 transactions-per-second before the cloud provider shut off my application. My guess is that it appeared like a denial-of-service attack since I was sending many identical transactions from the BrowserMob servers.

In any case, I believe the test was very successful. The new Nitro-LM service should be able to handle over 700 million transactions per month as a conservative estimate based on this testing (300 tx/sec over 30 days). I hope to be able to show some of this new Encryption-only stuff in my 360|Flex presentation. Register soon for 360|Flex, I’ve heard they’re filling up quickly.

Post to Twitter

Posted by Andrew, filed under 360 Flex, Flex, security. Date: May 1, 2009, 3:30 pm | No Comments »