Author: Sean Thayne

Insane(ly Good) Developer at Skyseek

Flex 4.12 Release, and new installer around the corner…

Congrats to the Apache Flex Team, today they release Flex 4.12. Apache Flex 4.12.0 is a update to Apache Flex 4.11.0 that adds support for the latest Flash Player and AIR runtimes, improved memory and performance, improved mobile skins and iOS7 support and over 80 bug fixes.They also have some big improvements coming soon to their SDK installer. Version 3.0, which will be release in the next couple of weeks, will include two major enhancements.

First off, the new installer will pretty much be a Air GUI that wraps a Ant scripts. The important enhancement this entails is for Linux users, we can know use the SDK installer to quickly grab the latest and great SDKs and get them running.

Secondly, the new installer will also include the ability to quickly install FlexJS. FlexJS is a port of Flex that allows Flex apps to compile to JavaScript and run without the Flash run time. The Apache team is leveraging every diversification they can. And future proofing Flex.

Exciting stuff, congrats guys


Unemployment Rate: Democrat vs Republican

Here is a list of all the increases and decreases. I compiled them by term.

D-Obama 2nd Term (so far): Decreased by 0.1
D-Obama 1st Term: Decreased by 0.6
R-Bush 2nd term: Increased by 2.9
R-Bush 1st term: Increased by 1.2
D-Clinton 2nd term: Decreased by 1.0
D-Clinton 1st term: Decreased by 1.9
R-Bush Sr: Increased by 1.9
R-Reagan 2nd term: Decreased by 2.0
R-Reagan 1st term: Decreased by 0.2
D-Carter: Decreased by 0.2
R-Ford (partial): Increased by 2.1
R-Nixon (partial) 2nd term: Increased 0.5
R-Nixon 1st term: Increased 1.6
D-Johnson 2nd term: Decreased by 1.7
D-Johnson (partial) 1st term: Decreased by 0.4
D-Kennedy (partial): Decreased by 1.4
R-Eisenhower 2nd term: Increased by 3.0
R-Eisenhower 1st term: Increased by 1.3
D-Truman 2nd term: Decreased by 2.1
D-Truman** 1st term: Decreased by 1.1

Democrats have dropped the unemployment percent by 9.9% since 1948. Also interestingly never leaving a increase. Even poor Kennedy left things better in his short time as president.

Republicans aren’t so lucky. Reagan is the only one who left office with better numbers. Dropping the percentage by a impressive 2.2 points. The rest post a combined negative 14.5 points. Leaving the net Republican total to -12.3 points.

3 Best terms in the last 60 years.
#1: D-Truman (-2.1)
#2: R-Reagan (-2.0)
#3: D-Clinton (-1.9)

3 Worst terms in the last 60 years.
#1: R-Eisenhower (+3.0)
#2: R-Bush (+2.9)
#3: R-Ford (+2.1)

3 Worst (all terms combined)
#1: R-Eisenhower (+4.3)
#2: R-Bush (+4.1)
#3: R-Nixon (+2.1)

** Labor Force Statistics only had data for 1948+. Truman’s first term started in 1945.

AS3 Warning Fix: 1102, null used where a Number value was expected.

This is a common warning issue. When trying to reset a number back to a default, null, or empty value. You think that you can just set the variable to Null. AS3 handles numbers oddly thou.

var foo:Number;

public function resetFoo():void {
    foo = null;

This code will produce the following warning during/after builds.

1102: null used where a Number value was expected.

The correct way to reset a Number is to set it to NaN “Not a Number”.

var foo:Number;

public function resetFoo():void {
    foo = NaN;

This will remove the warning.

Zend Module Layout/Error Plugin

When working with modules in Zend Framework. You might want to separate out your admin’s layout from your user’s front end layout. And you might also want to have different error handling screens for those as well.

With the help of Daniel Cousineau’s Blog Post I was able to come up with the following Layout Plugin.


 * Module Layout Plugin
 * @author     Sean Thayne <>
 * @author     Daniel Cousineau <> 
class App_Layout_Plugin extends Zend_Layout_Controller_Plugin_Layout 
	public function preDispatch(Zend_Controller_Request_Abstract $request) 

	protected function _setLayoutPath(Zend_Controller_Request_Abstract $request)
		$layoutPath  = APPLICATION_PATH;
		$layoutPath .= DIRECTORY_SEPARATOR . "modules";
		$layoutPath .= DIRECTORY_SEPARATOR . $request->getModuleName();
		$layoutPath .= DIRECTORY_SEPARATOR . "layouts";
		$layoutPath .= DIRECTORY_SEPARATOR . "scripts";


	protected function _setErrorController(Zend_Controller_Request_Abstract $request)
		$front = Zend_Controller_Front::getInstance();

		//If the ErrorHandler plugin is not registered, bail out
		if( !($front->getPlugin('Zend_Controller_Plugin_ErrorHandler') instanceOf Zend_Controller_Plugin_ErrorHandler) )

		$error = $front->getPlugin('Zend_Controller_Plugin_ErrorHandler');

		//Generate a test request to use to determine if the error controller in our module exists
		$testRequest = new Zend_Controller_Request_HTTP();
		//Does the controller even exist?  
		if( $front->getDispatcher()->isDispatchable($testRequest) )

You use the plugin pretty simply by modifying your Bootstrap to include a _initLayout method like so.

class Bootstrap extends Zend_Application_Bootstrap_Bootstrap {

	protected function _initLayout() {
			'pluginClass' => 'App_Layout_Plugin'


Sublime Text 2 – Execute MySQL Query

This is a little hack to allow you to execute your SQL scripts into your mysql client.

In Sublime Text 2. Go under Tools -> Build System -> New Build System.

Enter in the following.

	"cmd": ["mysql", "-u", "root", "-e", "source $file"],
	"selector": "source.sql"

tweak it however you need. Save it. Then just open up any sql file and use Ctrl+B to run the sql. Don’t forget to add the “use myCoolDataBaseName” at the top of your sql scripts.