Get Adobe Flash player


View Source

I came across this infosthetics blog post discussing a Javascript interface for doing Chroma password.

I hadn’t yet had a chance to dive into any Flex 4 stuff, so I thought this might be a good little opportunity to play around with it. My algorithm isn’t exactly as described in the blog post, but it seems to work effectively. I’m using a portion of the SHA256 hash to generate the various colors. I’m animating between colors so as long as you type more than 1 character every 1/2 second, a screen grabber can’t grab the intermediary colors and figure out your password through trial/error.

This type of component is useful for ensuring that a person has entered their password correctly or to help them notice right away that their capslock key was on while typing it.

Post to Twitter

Posted by Andrew, filed under Flex, security. Date: July 31, 2009, 4:05 pm | 1 Comment »

Back in 2003/2004, I worked on a business venture with my cousin. We would fly an RC helicopter with a camera mount into the sky to take aerial photos. I’ve been playing around in Gimp with some tilt-shift photography effects that make my photos look miniaturized. I’m by no means a professional photo editor, but it was very fun to play with. Enjoy.

toy_tractors

toy_fair

Post to Twitter

Posted by Andrew, filed under Uncategorized. Date: July 30, 2009, 2:54 pm | No Comments »

smith_chart

I’ve completed all major work on the Axiis/Degrafa Smith Chart. It can display impedance information across multiple frequency sweep groups. You can view the working example and source code by clicking on the image above.

Post to Twitter

Posted by Andrew, filed under Degrafa, WCAP. Date: July 26, 2009, 11:37 pm | No Comments »

GraniteDS is a free and open-sourced (LGPL) alternative to Adobe® LiveCycle® Data Services. Among other things, it allows you to do Flash Remoting from your Flex code using the AMF binary protocol. GraniteDS is also the first remoting solution to natively support Google’s Appengine for Java.

GraniteDS uses the Gas3 code generator to create AS3 objects that represent your Java data objects on the appengine side. Appengine supports a number of special field types that can be stored in their datastore. Unfortunately, GraniteDS currently only supports the Key type.

I’ve taken it upon myself to create a JAR file you can include in your GraniteDS project that will allow you to use some of these special appengine types on the java side. I’ve also created a new generator factory that will allow Gas3 to convert those fields into types that Actionscript can understand.

You first need to put the granite-gae-converters.jar into your war/WEB-INF/lib folder inside your GraniteDS eclipse project. Make sure to add it to the Java build path in product properties as well.
graniteds1

Next modify the As3TypeFactory class in your project properties. This will allow the As3 code generation to work properly and generate equivalent data types that work from Actionscript code.
graniteds2

Finally, modify your granite-config.xml file so that it adds in the new GAE converter classes.

<converters>
    <converter type="org.granite.messaging.amf.io.convert.impl.GAEKeyConverter"/>
    <converter type="org.granite.messaging.amf.io.convert.impl.GAEBlobConverter"/>
    <converter type="org.granite.messaging.amf.io.convert.impl.GAEShortBlobConverter"/>
    <converter type="org.granite.messaging.amf.io.convert.impl.GAETextConverter"/>
    <converter type="org.granite.messaging.amf.io.convert.impl.GAELinkConverter"/>
</converters>

Source Code and JAR file Binaries

The following additional appengine types are supported with this GraniteDS enhancement:
com.google.appengine.api.datastore.ShortBlob - ByteArray in As3
com.google.appengine.api.datastore.Blob - ByteArray in As3
com.google.appengine.api.datastore.Text - String in As3
com.google.appengine.api.datastore.Link - String in As3

Post to Twitter

Posted by Andrew, filed under Data, Java. Date: July 16, 2009, 1:35 pm | No Comments »