<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Logical Chaos Theory</title>
	<atom:link href="http://www.logicalchaostheory.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.logicalchaostheory.com</link>
	<description>Developing An Easier World...</description>
	<lastBuildDate>Thu, 08 Apr 2010 15:35:53 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Flash vs. Flex</title>
		<link>http://www.logicalchaostheory.com/2010/04/08/flash-vs-flex/</link>
		<comments>http://www.logicalchaostheory.com/2010/04/08/flash-vs-flex/#comments</comments>
		<pubDate>Thu, 08 Apr 2010 15:21:37 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://www.logicalchaostheory.com/?p=89</guid>
		<description><![CDATA[Introduction
One of the most common questions that seem to be still floating around the web development community is &#8220;Which program should I use for Flash development?&#8221; That question is best answered based on the goals of your project.
The Question
The first question to be asked to help answer the question of which program should be used [...]]]></description>
			<content:encoded><![CDATA[<h2 style="margin-bottom: 0.19in;"><span class="drop">I</span>ntroduction</h2>
<p style="margin-bottom: 0.19in;" align="LEFT">One of the most common questions that seem to be still floating around the web development community is &#8220;Which program should I use for Flash development?&#8221; That question is best answered based on the goals of your project.</p>
<h2 style="margin-bottom: 0.19in;">The Question</h2>
<p style="margin-bottom: 0.19in;" align="LEFT">The first question to be asked to help answer the question of which program should be used is simple. Is this project for a full flash website or is this project for a web based application? If it is for a web based application then the answer is to use Flex. Now if the project is for a full flash website that does not necessarily disqualify Flex from use. If the website still requires a medium to large amount of functionality then Flex is still probably the best program to use.</p>
<h2 style="margin-bottom: 0.19in;">Pros vs. Cons</h2>
<p style="margin-bottom: 0.19in;" align="LEFT">If the questions in the previous paragraph are not enough to end the argument of which program to use then maybe you can better decide based on some outlined pros and cons of each program. Lets start by looking at the pros and cons of using Flex.</p>
<p style="margin-bottom: 0.19in;" align="LEFT">Flex Pros</p>
<ul>
<li>
<p style="margin-bottom: 0in;" align="LEFT">More 	efficient for programming oriented projects</p>
</li>
<li>
<p style="margin-bottom: 0in;" align="LEFT">More 	efficient for fast user interface layout and skinning</p>
</li>
<li>
<p style="margin-bottom: 0in;" align="LEFT">Fluid 	layout abilities are built in and on by default</p>
</li>
<li>
<p style="margin-bottom: 0in;" align="LEFT">Ability 	to use simple and complex assets from a compiled SWF</p>
</li>
<li>
<p style="margin-bottom: 0in;" align="LEFT">For 	programmers, the environment is more optimized with nice code 	hinting and XML based component definition.</p>
</li>
<li>
<p style="margin-bottom: 0in;" align="LEFT">Built 	in support for i18 internationalization and runtime localization</p>
</li>
<li>
<p style="margin-bottom: 0in;" align="LEFT">Visual 	layout editor for easier user interface design</p>
</li>
<li>
<p style="margin-bottom: 0in;" align="LEFT">Program 	built on the Eclipse platform which allows further extension of the 	IDE</p>
</li>
<li>
<p style="margin-bottom: 0in;" align="LEFT">ActionScript 	framework can be cached by a browser&#8217;s flash player for later use 	among multiple sites</p>
</li>
<li>
<p style="margin-bottom: 0in;" align="LEFT">Compile 	time is faster since the entire SWF does not have to be recompiled 	for every change</p>
</li>
<li>
<p style="margin-bottom: 0.19in;" align="LEFT">Build 	in support for modular based application architecture</p>
</li>
</ul>
<p style="margin-bottom: 0.19in;" align="LEFT">Flex Cons</p>
<ul>
<li>
<p style="margin-bottom: 0in;" align="LEFT">No 	timeline available for drawing objects and animations (solved by 	using SWF based assets)</p>
</li>
<li>
<p style="margin-bottom: 0in;" align="LEFT">Program 	built on the Eclipse platform which can sometimes (but not often) 	cause system performance issues such as CPU load</p>
</li>
<li>
<p style="margin-bottom: 0in;" align="LEFT">More 	programmer oriented IDE instead of designer oriented</p>
</li>
<li>
<p style="margin-bottom: 0.19in;" align="LEFT">Compiled 	SWF files can be at least 300 KB when the framework isn&#8217;t exported 	as Runtime Shared Libraries</p>
</li>
</ul>
<p style="margin-bottom: 0.19in;" align="LEFT">Flash Pros</p>
<ul>
<li>
<p style="margin-bottom: 0in;" align="LEFT">More 	designer efficient for drawing and animation</p>
</li>
<li>
<p style="margin-bottom: 0in;" align="LEFT">Program 	usability is higher for non-programming related tasks</p>
</li>
<li>
<p style="margin-bottom: 0.19in;" align="LEFT">Compiled 	SWF file sizes are very optimized since they do not have to include 	an extra ActionScript library</p>
</li>
</ul>
<p style="margin-bottom: 0.19in;" align="LEFT">Flash Cons</p>
<ul>
<li>
<p style="margin-bottom: 0in;" align="LEFT">Poor 	support for ActionScript programming such as no custom code hinting, 	only the built in libraries</p>
</li>
<li>
<p style="margin-bottom: 0in;" align="LEFT">Compiler 	not as fast since it has to recompile the entire SWF for any changes</p>
</li>
<li>
<p style="margin-bottom: 0.19in;" align="LEFT">No 	built in support for modular based application architecture</p>
</li>
</ul>
<h2 style="margin-bottom: 0.19in;">The Conclusion</h2>
<p style="margin-bottom: 0.19in;" align="LEFT">There are far more pros and cons that can be listed for each program but I just wanted to outline a lot of the important ones that affect my decisions on every Flash based project I do. In my experience I almost always use Flex as the primary program for website and application development. This is because I am a full time programmer so Flex better suits my needs when trying to product a website and/or application as quickly and efficiently as possible.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.logicalchaostheory.com/2010/04/08/flash-vs-flex/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wordpress, Drupal, and Joomla. Sounds like spaghetti again.</title>
		<link>http://www.logicalchaostheory.com/2009/11/16/wordpress-drupal-and-joomla-sounds-like-spaghetti-again/</link>
		<comments>http://www.logicalchaostheory.com/2009/11/16/wordpress-drupal-and-joomla-sounds-like-spaghetti-again/#comments</comments>
		<pubDate>Mon, 16 Nov 2009 15:54:12 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[cms]]></category>
		<category><![CDATA[content management]]></category>
		<category><![CDATA[design pattern]]></category>
		<category><![CDATA[drupal]]></category>
		<category><![CDATA[joomla]]></category>
		<category><![CDATA[spaghetti code]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.logicalchaostheory.com/?p=79</guid>
		<description><![CDATA[I am overly tired of dealing with heavy site customizations that must take place within these &#8220;frameworks&#8221; such as Wordpress, Drupal, or Joomla. It is very depressing for me because I have being forced to write bad code which is exactly what has to be done to make a &#8220;successful&#8221; module or reusable feature for [...]]]></description>
			<content:encoded><![CDATA[<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span class="drop">I</span> am overly tired of dealing with heavy site customizations that must take place within these &#8220;frameworks&#8221; such as Wordpress, Drupal, or Joomla. It is very depressing for me because I have being forced to write bad code which is exactly what has to be done to make a &#8220;successful&#8221; module or reusable feature for any of these three frameworks. (and many others I&#8217;m sure)</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">My idea of what a good site development framework would be is one that is built on good programming practices and efficiently uses the appropriate design patterns. Using the MVC design pattern would be a must. It has proven it&#8217;s success in aiding in the organization of web application code. Needless to say, I have yet to see any of these content management systems properly implement that. I think that a framework that supported drop in module features is always useful for quick deployment and expansion but what happens when you need to customize one of those modules and its built with nothing but spaghetti code?</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">The majority of the cases that I have come up on thus far when needing to customize a Wordpress installation I usually have to turn to finding someone&#8217;s pre-built plugin and further customizing it how it is needed. What my findings have been on the majority of these customizations is that if I would have just built it from scratch from the start, I would have either spent the same amount of time or a little less and had a much higher quality product in the end. The reality is though, some of the things I have to do to make a plugin work in Wordpress is not what I would call quality work when all said and done so it&#8217;s really not that valuable to me in the end. I would much prefer that if I were going to write a custom module or plugin for an application, I would rather do it in a well structured development environment that follows good practices for enterprise level development. I don&#8217;t think any good programmer would argue that you can&#8217;t find that kind of structure in Wordpress, Drupal, Joomla, or any other framework like thoses.</div>
<p>I am overly tired of dealing with heavy site customizations that must take place within these &#8220;frameworks&#8221; such as Wordpress, Drupal, or Joomla. It is very depressing for me because I have being forced to write bad code which is exactly what has to be done to make a &#8220;successful&#8221; module or reusable feature for any of these three frameworks. (and many others I&#8217;m sure)</p>
<p>My idea of what a good site development framework would be is one that is built on good programming practices and efficiently uses the appropriate design patterns. Using the MVC design pattern would be a must. It has proven it&#8217;s success in aiding in the organization of web application code. Needless to say, I have yet to see any of these content management systems properly implement that. I think that a framework that supported drop in module features is always useful for quick deployment and expansion but what happens when you need to customize one of those modules and its built with nothing but spaghetti code?</p>
<p>The majority of the cases that I have come up on thus far when needing to customize a Wordpress installation I usually have to turn to finding someone&#8217;s pre-built plugin and further customizing it how it is needed. What my findings have been on the majority of these customizations is that if I would have just built it from scratch from the start, I would have either spent the same amount of time or a little less and had a much higher quality product in the end. The reality is though, some of the things I have to do to make a plugin work in Wordpress is not what I would call quality work when all said and done so it&#8217;s really not that valuable to me in the end. I would much prefer that if I were going to write a custom module or plugin for an application, I would rather do it in a well structured development environment that follows good practices for enterprise level development. I don&#8217;t think any good programmer would argue that you can&#8217;t find that kind of structure in Wordpress, Drupal, Joomla, or any other framework like thoses.</p>
<p>&lt;/rant&gt;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.logicalchaostheory.com/2009/11/16/wordpress-drupal-and-joomla-sounds-like-spaghetti-again/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ColdFusion Application Multi-Environment Configuration</title>
		<link>http://www.logicalchaostheory.com/2009/06/09/coldfusion-application-multi-environment-configuration/</link>
		<comments>http://www.logicalchaostheory.com/2009/06/09/coldfusion-application-multi-environment-configuration/#comments</comments>
		<pubDate>Tue, 09 Jun 2009 17:15:34 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[ColdFusion]]></category>

		<guid isPermaLink="false">http://blog.mattscott.net/?p=52</guid>
		<description><![CDATA[A common problem that I and I&#8217;m sure many others have had in the development process of web applications is handling application configuration for different environments such as local development, staging, and production sites. For quite some time now I have had this problem licked in my ColdFusion applications by using a SettingsManager class I [...]]]></description>
			<content:encoded><![CDATA[<p><span class="drop">A</span> common problem that I and I&#8217;m sure many others have had in the development process of web applications is handling application configuration for different environments such as local development, staging, and production sites. For quite some time now I have had this problem licked in my ColdFusion applications by using a SettingsManager class I had wrote a couple years ago. I have just now decided to release it to the public for others to enjoy as well.</p>
<p>The syntax for using this settings manager is really simple as well. It can be initialized in the onApplicationStart method of your ColdFusion application&#8217;s Application.cfc file using the code below.</p>
<p><span style="color: #ff0000;">&lt;cfset path = replace(getDirectoryFromPath(getCurrentTemplatePath()), &#8216;\&#8217;, &#8216;/&#8217;, &#8216;all&#8217;)&gt;<br />
&lt;cfset application.settings = createObject(&#8217;component&#8217;, &#8216;com.logicalchaostheory.settings.SettingsManager&#8217;).init(path)&gt;</span></p>
<p>Just add the code above and extract the contents of the zip file to the same directory as your Application.cfc file and thats it! To configure your different environments just edit the com/logicalchaostheory/settings/settings.xml file.</p>
<p>I have also considered releasing another ColdFusion class I have written that will use the settings configuration provided by the settings manager class and automatically setup ColdFusion administrator settings based on what environment the application is running from. For example, for a given ColdFusion application you might have two datasources, one custom tag, and an alias that all need setup. My installer class will take settings specified in the settings manager configuration file and automatically add them to the ColdFusion administrator (provided the application has access to the administrator API). If anyone is interested in obtaining this class please post a comment and I will get back with you about posting up the latest source code.</p>
<p>The source code for the SettingsManager class can be obtained <a title="SettingsManager" href="http://www.logicalchaostheory.com/wp-content/uploads/2009/06/settingsmanager.zip"><strong>here</strong></a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.logicalchaostheory.com/2009/06/09/coldfusion-application-multi-environment-configuration/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flex Image Smoothing Made Easy</title>
		<link>http://www.logicalchaostheory.com/2009/06/06/flex-image-smoothing-made-easy/</link>
		<comments>http://www.logicalchaostheory.com/2009/06/06/flex-image-smoothing-made-easy/#comments</comments>
		<pubDate>Sat, 06 Jun 2009 00:15:05 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[bitmap]]></category>
		<category><![CDATA[Image]]></category>
		<category><![CDATA[smoothing]]></category>

		<guid isPermaLink="false">http://blog.mattscott.net/?p=43</guid>
		<description><![CDATA[As the number of Flash websites that I work on increase, so does my need for convienance components in Flex. I figured I would start with one of the most commonly needed features of all which is an easy way to enable smoothing on the mx.controls.Image class. My extended version of this class offers a [...]]]></description>
			<content:encoded><![CDATA[<p><span class="drop">A</span>s the number of Flash websites that I work on increase, so does my need for convienance components in Flex. I figured I would start with one of the most commonly needed features of all which is an easy way to enable smoothing on the mx.controls.Image class. My extended version of this class offers a new property called &#8220;smoothing&#8221; which accepts a Boolean value. If you would like a copy of this class then you may download it <a title="Smoothable Flex Image Class" href="http://blog.mattscott.net/wp-content/uploads/2009/06/ms.zip"><strong>here</strong></a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.logicalchaostheory.com/2009/06/06/flex-image-smoothing-made-easy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creating Modular Flex Applications</title>
		<link>http://www.logicalchaostheory.com/2008/05/04/creating-modular-flex-applications/</link>
		<comments>http://www.logicalchaostheory.com/2008/05/04/creating-modular-flex-applications/#comments</comments>
		<pubDate>Sun, 04 May 2008 23:12:15 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://blog.mattscott.net/2008/05/04/creating-modular-flex-applications/</guid>
		<description><![CDATA[Recently as I continued my miserable everyday struggle with Flex and it&#8217;s incredibly slow IDE Flex Builder, I have made yet another discovery that of course is not documented about Flex. I am involved in building high end flash sites everyday and thus far on all of them I have created them as modular style [...]]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal" style="margin: 0in 0in 10pt; text-indent: 0.5in"><span style="font-family: Calibri;"><span class="drop">R</span>ecently as I continued my miserable everyday struggle with Flex and it&#8217;s incredibly slow IDE Flex Builder, I have made yet another discovery that of course is not documented about Flex. I am involved in building high end flash sites everyday and thus far on all of them I have created them as modular style Flex applications using Flash to provide some very crafty assets. On one of the most recent sites I was working on I eventually ran into a huge problem.</span></p>
<p><strong><span style="font-family: Calibri;">The Problem:</span></strong></p>
<p class="MsoNormal" style="margin: 0in 0in 10pt; text-indent: 0.5in"><span style="font-family: Calibri;">The site had a major memory link throughout the modules. I had ultimately determined that this leak was caused by Flex&#8217;s mx.controls.VideoDisplay class since I use it in the majority of the modules of the site. The overall problem is that I couldn&#8217;t force the unloading of the modules while using the ModuleLoader class. Now this wouldn&#8217;t be that big of a deal because I could just not unload each module and instead let the ModuleLoader class retain each module&#8217;s instance in memory for later use when loaded again. Well here is where the next big problem came into play, for reasons I still haven&#8217;t pen pointed while sorting through the module system&#8217;s source code, the ModuleLoader class creates a new instance out of the loaded module every time you call it to be loaded and it does this with the assumption that the old module would always successfully unload first. This assumption has rendered the ModuleLoader class useless when you are experiencing a memory leak within a module that you cannot get rid of. What the result of this problem was is a high end flash site that perpetually grows in memory every time you visit a section of the website, regardless if you have already loaded it once. After browsing this site and hitting random sections for about 10 minutes this would bump Internet Explorer&#8217;s running RAM usage up to about 350 to 400 mbs which was clearly unacceptable for it would have kept climbing if I didn&#8217;t stop. Also to mention the many other problems this caused with reference less modules floating around in memory still doing their &#8220;own damn thing&#8221; as they please because they were attached to some globally controlled events.</span></p>
<p><strong><span style="font-family: Calibri;">The Solution:</span></strong></p>
<p class="MsoNormal" style="margin: 0in 0in 10pt; text-indent: 0.5in"><span style="font-family: Calibri;">As this major problem needed a solution and a solution quick I took full and manual control of the loading and handling of the modules by dropping the ModuleLoader class and using the ModuleManager class instead. This nifty class allows to you directly work with the IModuleInfo interface&#8217;s that handle the loading and creation of each module used. What I did with this was store a reference to the IModuleInfo instance for each module I loaded in an object using the module&#8217;s url as a key/value pair map. This way I could check the status of each module I was trying to load and create one and one instance only of each when it was loaded which I then stored the actual display objects generated from the IModuleInfo in a map of their own allowing me to call them up at anytime I needed to. My ending result was a website that took no more than 150 mbs in RAM once all the modules have been loaded once. Not to mention the performance increase as well when you aren&#8217;t recreating a new instance of a module every time you want to use it.</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.logicalchaostheory.com/2008/05/04/creating-modular-flex-applications/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>RemoteObject for Flash CS3</title>
		<link>http://www.logicalchaostheory.com/2008/02/10/remoteobject-for-flash-cs3/</link>
		<comments>http://www.logicalchaostheory.com/2008/02/10/remoteobject-for-flash-cs3/#comments</comments>
		<pubDate>Sun, 10 Feb 2008 21:53:57 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://blog.mattscott.net/2008/03/02/remoteobject-for-flash-cs3/</guid>
		<description><![CDATA[Like a few other people I found myself dealing with the headache of transition to Flash CS3 applications from Flex every now and again and the one thing that gives me the most trouble is not having the same ActionScript 3 wrappers in Flash CS3 that I do in Flex such as the RemoteObject class [...]]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal" style="margin: 0in 0in 10pt; text-indent: 0.5in"><span style="font-family: Calibri;"><span class="drop">L</span>ike a few other people I found myself dealing with the headache of transition to Flash CS3 applications from Flex every now and again and the one thing that gives me the most trouble is not having the same ActionScript 3 wrappers in Flash CS3 that I do in Flex such as the RemoteObject class for server remoting. There have been a few semi easy frameworks created out there for enabling this type of functionality in Flash CS3 but they just didn&#8217;t meet my standards so I wrote one that mirrors the functionality of the RemoteObject class in Flex to a basic level. It is a basic and easy to use wrapper for the NetConnection class in ActionScript 3. You may use the documentation provided by Adobe for Flex 3 Language Reference for the RemoteObject class to better understand this wrapper.</span></p>
<p class="MsoNormal" style="margin: 0in 0in 10pt"><span style="font-family: Calibri;">You may download this package <a title="Flash CS3 RemoteObject" href="http://www.logicalchaostheory.com/wp-content/uploads/2008/03/remoteobject.zip">here</a>.</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.logicalchaostheory.com/2008/02/10/remoteobject-for-flash-cs3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
