<?xml version="1.0" encoding="utf-8"?>

			<rss version="2.0" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:cc="http://web.resource.org/cc/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd">

			<channel>
			<title>Brian Kotek: Inversion of Control</title>
			<link>http://www.briankotek.com/blog/index.cfm</link>
			<description>Brian Kotek on ColdFusion, Flex, AIR, Java, Groovy, Design Patterns, and Object-Oriented Programming</description>
			<language>en-us</language>
			<pubDate>Tue, 07 Sep 2010 10:31:46 -0700</pubDate>
			<lastBuildDate>Mon, 16 Aug 2010 13:12:00 -0700</lastBuildDate>
			<generator>BlogCFC</generator>
			<docs>http://blogs.law.harvard.edu/tech/rss</docs>
			<managingEditor>brian428@briankotek.com</managingEditor>
			<webMaster>brian428@briankotek.com</webMaster>
			<itunes:subtitle></itunes:subtitle>
			<itunes:summary></itunes:summary>
			<itunes:category text="Technology" />
			<itunes:category text="Technology">
				<itunes:category text="Podcasting" />
			</itunes:category>
			<itunes:category text="Technology">
				<itunes:category text="Tech News" />
			</itunes:category>
			<itunes:keywords></itunes:keywords>
			<itunes:author></itunes:author>
			<itunes:owner>
				<itunes:email>brian428@briankotek.com</itunes:email>
				<itunes:name></itunes:name>
			</itunes:owner>
			
			<itunes:explicit>no</itunes:explicit>
			
			
			
			
			
			<item>
				<title>Swiz Example Application Demonstrating Module Support</title>
				<link>http://www.briankotek.com/blog/index.cfm/2010/8/16/Swiz-Example-Application-Demonstrating-Module-Support</link>
				<description>
				
				I just pushed a new sample application called &lt;a href=&quot;http://github.com/swiz/swiz-examples/tree/master/SwizModuleExample-Flex4/&quot; target=&quot;_blank&quot;&gt;SwizModuleExample-Flex4&lt;/a&gt; to GitHub. This example is meant to demonstrate the various ways that Swiz supports the use of modules. The key ideas demonstrated are:

&lt;ul&gt;
&lt;li&gt;Loading a Module&lt;/li&gt;
&lt;li&gt;Detecting full creation of a Module (not just the ModuleEvent.READY event)&lt;/li&gt;
&lt;li&gt;Dispatching events from a root Swiz instance that are mediated by all Modules&lt;/li&gt;
&lt;li&gt;Dispatching events from a root Swiz instance to a specific Module&lt;/li&gt;
&lt;li&gt;Dispatching events from a Module that are mediated in the root Swiz instance&lt;/li&gt;
&lt;li&gt;Dispatching events from a Module that are mediated by other Modules.&lt;/li&gt;
&lt;li&gt;Injecting Beans that are defined in a root Swiz instance into a child Swiz instance.&lt;/li&gt;
&lt;/ul&gt;

While this example is really meant to be looked through at the code level, I have a &lt;a href=&quot;http://www.briankotek.com/blog/files/swiz_modules_example/Main.html&quot; target=&quot;_blank&quot;&gt;running version with View Source enabled&lt;/a&gt; that you can look at as well. I hope folks find this example helpful!
				
				</description>
				
				
				<category>Flex</category>
				
				<category>Swiz</category>
				
				<pubDate>Mon, 16 Aug 2010 13:12:00 -0700</pubDate>
				<guid>http://www.briankotek.com/blog/index.cfm/2010/8/16/Swiz-Example-Application-Demonstrating-Module-Support</guid>
				
				
			</item>
			
		 	
			
			
			<item>
				<title>CFUnited Clean Code and Swiz Presentations Now Online</title>
				<link>http://www.briankotek.com/blog/index.cfm/2010/8/4/CFUnited-Clean-Code-and-Swiz-Presentations-Now-Online</link>
				<description>
				
				Just a quick note that, as promised, my presentations from CFUnited are now online!

&lt;a href=&quot;http://slidesix.com/view/Brian-Kotek--Clean-Code--CFUnited-2010&quot; target=&quot;_blank&quot;&gt;Clean Code&lt;/a&gt;

&lt;a href=&quot;http://slidesix.com/view/Brian-Kotek--Swiz--CFUnited-2010&quot; target=&quot;_blank&quot;&gt;The Swiz Framework for Flex and ActionScript&lt;/a&gt;

Thanks to all who attended!
				
				</description>
				
				
				<category>Development</category>
				
				<category>Flex</category>
				
				<category>Conferences</category>
				
				<category>Presentations</category>
				
				<category>Swiz</category>
				
				<pubDate>Wed, 04 Aug 2010 15:33:00 -0700</pubDate>
				<guid>http://www.briankotek.com/blog/index.cfm/2010/8/4/CFUnited-Clean-Code-and-Swiz-Presentations-Now-Online</guid>
				
				
			</item>
			
		 	
			
			
			<item>
				<title>Latest Chrome breaks Flash Debug player! Here&apos;s how to fix it.</title>
				<link>http://www.briankotek.com/blog/index.cfm/2010/6/30/Latest-Chrome-breaks-Flash-Debug-player-Heres-how-to-fix-it</link>
				<description>
				
				I&apos;ve been using Chrome since someone created an AdBlock plugin for it. I love the browser, but the latest version of Chrome broke my ability to debug Flash and Flex applications using the debug player. This also kills the ability to use the Flash Builder Profiler. The fact that Chrome silently updates itself made this one of those &quot;WTF&quot; moments, since everything was working fine yesterday. It took me a while to track down the problem, so I thought I would save anyone reading this the pain.

It looks like this was caused by having their built-in Flash player enabled by default in the latest version of Chrome. The browser seems to want to use this version of the player even if you have the real Flash debug player installed as well! Luckily, the fix is simple (if not obvious): point Chrome at the URL &quot;about:plugins&quot;, locate the built-in version of Flash player in the list, and disable it. Make sure you have the correct debug player also listed in the plugin list and that it is active. Restart Chrome and you&apos;re good to go.
				
				</description>
				
				
				<category>Flex</category>
				
				<pubDate>Wed, 30 Jun 2010 09:07:00 -0700</pubDate>
				<guid>http://www.briankotek.com/blog/index.cfm/2010/6/30/Latest-Chrome-breaks-Flash-Debug-player-Heres-how-to-fix-it</guid>
				
				
			</item>
			
		 	
			
			
			<item>
				<title>Apple HTML 5 Fail</title>
				<link>http://www.briankotek.com/blog/index.cfm/2010/6/21/Apple-HTML-5-Fail</link>
				<description>
				
				This isn&apos;t new news, but I&apos;ve been meaning to make this picture for a week or two and finally got around to it. :-)

&lt;img src=&quot;http://www.briankotek.com/blog/images/apple_html_5_fail.jpg&quot; /&gt;
				
				</description>
				
				
				<category>General</category>
				
				<category>Flex</category>
				
				<pubDate>Mon, 21 Jun 2010 09:37:00 -0700</pubDate>
				<guid>http://www.briankotek.com/blog/index.cfm/2010/6/21/Apple-HTML-5-Fail</guid>
				
				
			</item>
			
		 	
			
			
			<item>
				<title>Using the Swiz AutowiredTestCase</title>
				<link>http://www.briankotek.com/blog/index.cfm/2010/6/15/Using-the-Swiz-AutowiredTestCase</link>
				<description>
				
				One of the utility classes that is part of the Swiz library is AutowiredTestCase. As the name implies, you can use this class to help test your Swiz applications. 

In this case, code will show what&apos;s going on much better than doing a lot of typing, so here is a sample FlexUnit 4 test case. First, the class under test:

&lt;code&gt;js|
package com.briankotek.flex4swiztests.control
{
	import com.briankotek.flex4swiztests.event.MyEvent;
	import flash.events.IEventDispatcher;

	public class MyController
	{
		
		[Dispatcher]
		public var dispatcher : IEventDispatcher;
		
		public var didSomething : Boolean = false;
		
		[Mediate( event=&quot;MyEvent.CONTROLLER_ACTION_REQUESTED&quot; )]
		public function handleAction() : void
		{
			didSomething = true;
			actionComplete();
		}
		
		private function actionComplete() : void
		{
			dispatcher.dispatchEvent( new MyEvent( MyEvent.CONTROLLER_ACTION_COMPLETE ) );
		}
		
	}
}
&lt;/code&gt;

You can see this is a simple controller, which responds to the CONTROLLER_ACTION_REQUESTED event, updates a property, and then dispatches CONTROLLER_ACTION_COMPLETE. We want to test that the controller is responding to the correct event, property updating the property, and finally dispatching the completion event.

The event itself is a simple event class:

&lt;code&gt;js|
package com.briankotek.flex4swiztests.event
{
	import flash.events.Event;
	
	public class MyEvent extends Event
	{
		public static const CONTROLLER_ACTION_REQUESTED : String = &quot;controllerActionRequested&quot;;
		public static const CONTROLLER_ACTION_COMPLETE : String = &quot;controllerActionComplete&quot;;
		
		public function MyEvent(type:String)
		{
			super(type, true, false);
		}
	}
}
&lt;/code&gt;

Finally, the test case itself:

&lt;code&gt;js|
package com.briankotek.flex4swiztests.control
{
	import com.briankotek.flex4swiztests.control.MyController;
	import com.briankotek.flex4swiztests.event.MyEvent;
	import org.flexunit.Assert;
	import org.flexunit.async.Async;
	import org.swizframework.core.*;
	import org.swizframework.utils.test.AutowiredTestCase;

	public class MyControllerTestCase extends AutowiredTestCase
	{	
		private var myController : MyController;
		
		[Before]
		public function setUp():void
		{
			myController = new MyController();
			
			swizConfig = new SwizConfig();
			swizConfig.eventPackages = &quot;com.briankotek.flex4swiztests.event.*&quot;;
			
			beanProviders = [new BeanProvider( [myController] )];
		}
		
		[After]
		public function tearDown():void
		{
			myController = null;
		}
		
		[Test(async)]
		public function testControllerActionRequested() : void
		{
			Assert.assertTrue( &quot;Controller property is already true.&quot;, myController.didSomething == false );	
			Async.handleEvent( this, swiz.dispatcher, MyEvent.CONTROLLER_ACTION_COMPLETE, checkEvent ); 
			swiz.dispatcher.dispatchEvent( new MyEvent( MyEvent.CONTROLLER_ACTION_REQUESTED ) );
		}
		
		private function checkEvent( event : Event, passThroughData : Object ) : void
		{
			Assert.assertTrue( &quot;Controller property was not updated.&quot;, myController.didSomething == true );	
		}
		
	}
}
&lt;/code&gt;

I start off setting up an instance of Swiz that my test can use. AutowiredTestCase has a method marked with [Before] metadata, so that FlexUnit runs it before each test. I create an instance of the class under test (MyController), then set the event packages on the SwizConfig. Finally, I place the MyController instance into a BeanProvider, so that Swiz will process it as a bean. This way, any Swiz metadata in MyController is processed.

The test method dispatches a CONTROLLER_ACTION_REQUESTED event. If all goes well, the mediated event in the controller should run, update the property, and then the controller will dispatch the completion event. Running the test produces a passing result, so everything is working as expected!

Note that because Swiz actually processes your test case itself as a bean, you can use Swiz metadata in your test if you want or need to. So injecting a dispatcher, mediating an event, or testing custom metadata processors are all possible as well.
				
				</description>
				
				
				<category>Unit Testing</category>
				
				<category>Flex</category>
				
				<category>Swiz</category>
				
				<pubDate>Tue, 15 Jun 2010 09:27:00 -0700</pubDate>
				<guid>http://www.briankotek.com/blog/index.cfm/2010/6/15/Using-the-Swiz-AutowiredTestCase</guid>
				
				
			</item>
			
		 	
			
			
			<item>
				<title>Swiz 1.0RC Released! So here&apos;s an updated example, custom ViewMediator, and more</title>
				<link>http://www.briankotek.com/blog/index.cfm/2010/5/19/Swiz-10RC-Released-So-heres-an-updated-example-custom-ViewMediator-and-more</link>
				<description>
				
				There&apos;s a lot of good news from the Swiz world today. First, we just released the &lt;a href=&quot;http://github.com/swiz/swiz-framework/zipball/v1.0.0-RC1&quot; target=&quot;_blank&quot;&gt;Swiz 1.0 Release Candidate&lt;/a&gt;, which fixes a number of small bugs in the beta and adds numerous new features. This version should be pretty much feature-complete, so at this point we&apos;ll be focused on fixing any issues that come up. A final 1.0 should be out in the next few weeks.

I did my best to help out with this release by working hard on updated documentation. You can see the fruits of this labor on the new &lt;a href=&quot;http://swizframework.jira.com/wiki/display/SWIZ/Home&quot; target=&quot;_blank&quot;&gt;Swiz documentation wiki&lt;/a&gt; we&apos;ve created through JIRA Studio. You can also sign up to enter feature requests or bugs, vote on issues, and all the other good stuff that JIRA provides. If you have any feedback on the documentation, feel free to leave a wiki comment and we&apos;ll do our best to address it.

I&apos;ve also created a &lt;a href=&quot;http://www.briankotek.com/blog/files/swiz_10_rc_example/Main.html&quot; target=&quot;_blank&quot;&gt;Swiz 1.0RC version of my example application&lt;/a&gt;. If you like, you can &lt;a href=&quot;http://www.briankotek.com/blog/files/swiz_10_rc_example/srcview/index.html&quot; target=&quot;_blank&quot;&gt;view or download the source code&lt;/a&gt;. 


Since 1.0RC removes the option for &quot;view injection&quot; into a bean, folks have asked about ways to handle providing a view to a Swiz bean. I created a &lt;a href=&quot;http://wiki.github.com/brian428/swiz-viewmediatorlib/&quot; target=&quot;_blank&quot;&gt;MediateView custom metadata extension&lt;/a&gt; that should handle most of these needs. I&apos;ll do my best to keep it up to date as I get feedback about it.

And finally, in the &quot;better late than never&quot; department, I&apos;ve uploaded the &lt;a href=&quot;http://slidesix.com/view/Swiz--Brian-Kotek--cfObjective&quot; target=&quot;_blank&quot;&gt;Swiz presentation I gave at cf.Objective() 2010&lt;/a&gt; to SlideSix. I&apos;ll also be speaking on Swiz at this year&apos;s &lt;a href=&quot;http://www.cfunited.com&quot; target=&quot;_blank&quot;&gt;CFUnited conference&lt;/a&gt;. If you&apos;re planning on going, I&apos;m happy to talk about Swiz into the wee hours of the morning!
				
				</description>
				
				
				<category>Flex</category>
				
				<category>Conferences</category>
				
				<category>Presentations</category>
				
				<category>Swiz</category>
				
				<pubDate>Wed, 19 May 2010 09:56:00 -0700</pubDate>
				<guid>http://www.briankotek.com/blog/index.cfm/2010/5/19/Swiz-10RC-Released-So-heres-an-updated-example-custom-ViewMediator-and-more</guid>
				
				
			</item>
			
		 	
			
			
			<item>
				<title>Swiz Example Application Updated to Support Swiz 1.0 Beta</title>
				<link>http://www.briankotek.com/blog/index.cfm/2010/3/5/Swiz-Example-Application-Updated-to-Support-Swiz-10-Beta</link>
				<description>
				
				Update on 8/16/10: With the release of Swiz RC1, &lt;a href=&quot;http://www.briankotek.com/blog/index.cfm/2010/5/19/Swiz-10RC-Released-So-heres-an-updated-example-custom-ViewMediator-and-more&quot; target=&quot;_blank&quot;&gt;I released an updated version of this example application&lt;/a&gt;.

With the &lt;a href=&quot;http://swizframework.org/2010/03/swiz-1-0-0-beta-now-available/&quot; target=&quot;_blank&quot;&gt;release of the 1.0 Beta of the Swiz framework&lt;/a&gt;, I&apos;ve updated my &lt;a href=&quot;http://www.briankotek.com/blog/files/swiz_10_beta_example/Main.html&quot; id=&quot;l10.&quot; title=&quot;Swiz example application&quot;  target=&quot;_blank&quot;&gt;Swiz example application&lt;/a&gt; to the latest version. You can also &lt;a href=&quot;http://www.briankotek.com/blog/files/swiz_10_beta_example/srcview/&quot; id=&quot;wc4v&quot; title=&quot;view the source code&quot;  target=&quot;_blank&quot;&gt;view the source code&lt;/a&gt; if you like. I&apos;d like to point out a few things that I had to change from the example based on version 0.6.4:&lt;br&gt;
&lt;br&gt;&lt;ul&gt;&lt;li&gt;The instantiation of the framework has changed in order to support multiple instances of Swiz, primarily for Flex module support:&lt;br&gt;
&lt;code&gt;xml|
&lt;swiz:SwizConfig id=&quot;mySwizConfig&quot;
                 eventPackages=&quot;com.briankotek.swizdemo.event&quot;
                 viewPackages=&quot;com.briankotek.swizdemo.view&quot;
                 defaultFaultHandler=&quot;{genericFault}&quot; /&gt;

&lt;swiz:Swiz id=&quot;mySwiz&quot; beanProviders=&quot;{[Beans]}&quot; config=&quot;{mySwizConfig}&quot; /&gt;
&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;The static methods on the Swiz class have been removed, due to the fact that there can now be multiple instances of Swiz. This means that instead of doing something like Swiz.dispatchEvent( event ), you now want to inject a dispatcher object into your non-view objects and dispatch events through it instead. The two main ways to do this are to inject the dispatcher in your BeanLoader/BeanProvider, or by having your class implement the IDispatcherAware interface, which will instruct Swiz to inject the dispatcher automatically.&lt;/li&gt;
&lt;li&gt;The [Autowire] metadata tag has been deprecated in favor of the more industry-standard [Inject]. [Autowire] will still work for now, but be aware that this may be removed in a future release.&lt;/li&gt;
&lt;li&gt;The use of the earlier CommandChain has changed to support more robust and extensible chains, as well as supporting internal Flex event-based chains on top of the existing support for chains that make server calls. For example:&lt;br&gt;
&lt;code&gt;js|
var chain : CommandChain = new CommandChain();&lt;br&gt;
chain.addMember( new AsyncChainStepCommand( delegate.deleteUser, [user], userDeleteHandler ) );&lt;br&gt;
chain.addMember( new AsyncChainStepCommand( delegate.deleteUserProfileImage, [user], userProfileImageDeleteHandler ) );&lt;br&gt;
chain.addEventListener( &quot;chainComplete&quot;, userDeleteCompleteHandler, false, 0, true );&lt;br&gt;
chain.start();
&lt;/code&gt;
&lt;/li&gt;&lt;/ul&gt;
Anyway, that&apos;s all for now, but I&apos;ll be posting more about the Swiz updates soon. If you&apos;re interested in seeing more about 1.0, have a look at &lt;a href=&quot;http://blog.foomonger.com/2010/02/26/swiz-signals-and-mediatesignal/&quot; target=&quot;_blank&quot;&gt;Sam Ahn&apos;s demo of Swiz using AS3Signals&lt;/a&gt;. A very cool use of the brand new custom metadata support now available in Swiz!
				
				</description>
				
				
				<category>Flex</category>
				
				<category>Swiz</category>
				
				<pubDate>Fri, 05 Mar 2010 08:59:00 -0700</pubDate>
				<guid>http://www.briankotek.com/blog/index.cfm/2010/3/5/Swiz-Example-Application-Updated-to-Support-Swiz-10-Beta</guid>
				
				
			</item>
			
		 	
			
			
			<item>
				<title>Swiz 1.0 Beta is Live!</title>
				<link>http://www.briankotek.com/blog/index.cfm/2010/3/1/Swiz-10-Beta-is-Live</link>
				<description>
				
				This morning, the Swiz team released the &lt;a href=&quot;http://www.swizframework.org/files/swiz-v1.0.0-beta.swc&quot; target=&quot;_blank&quot;&gt;1.0 Beta of the Swiz Framework&lt;/a&gt;. You can view the extensive list of updates at the &lt;a href=&quot;http://swizframework.org/2010/03/swiz-1-0-0-beta-now-available/&quot; target=&quot;_blank&quot;&gt;Swiz web site&lt;/a&gt;. Have a look and try out the new features. We&apos;ll be doing a full update of the documentation as we prepare for the final release. I also have an updated version of my sample application about ready, and I will upload it and highlight the differences between 0.6.4 and 1.0. Stay tuned!
				
				</description>
				
				
				<category>Flex</category>
				
				<category>Swiz</category>
				
				<pubDate>Mon, 01 Mar 2010 11:29:00 -0700</pubDate>
				<guid>http://www.briankotek.com/blog/index.cfm/2010/3/1/Swiz-10-Beta-is-Live</guid>
				
				
			</item>
			
		 	
			
			
			<item>
				<title>ColdFusion 9 Article at Techrepublic.com</title>
				<link>http://www.briankotek.com/blog/index.cfm/2010/3/1/ColdFusion-9-Article-at-Techrepubliccom</link>
				<description>
				
				Just a quick note that I&apos;ve had an &lt;a href=&quot;http://blogs.techrepublic.com.com/programming-and-development/?p=2291&quot; target=&quot;_blank&quot;&gt;article on ColdFusion 9&lt;/a&gt; published over at CNET TechRepublic.com. It probably won&apos;t tell anyone who reads my blog much that they don&apos;t already know, but I hope that it attracts the attention of those outside of the core CF community!
				
				</description>
				
				
				<category>ColdFusion</category>
				
				<pubDate>Mon, 01 Mar 2010 11:25:00 -0700</pubDate>
				<guid>http://www.briankotek.com/blog/index.cfm/2010/3/1/ColdFusion-9-Article-at-Techrepubliccom</guid>
				
				
			</item>
			
		 	
			
			
			<item>
				<title>An Awesome Alternative to a Traditional Mouse</title>
				<link>http://www.briankotek.com/blog/index.cfm/2010/2/25/An-Awesome-Alternative-to-a-Traditional-Mouse</link>
				<description>
				
				Like most of you, I sit in front of a computer for a large part of my day. Over time, sitting and working on the computer has caused me varying physical issues, like back, wrist, and elbow pain. To alleviate this, I bought a desk with an adjustable height, an ergonomic keyboard, and an Aeron chair. These have helped greatly. But the one issue that kept coming back was wrist pain. I tried several types of mice, with varying shapes, but none of them dealt completely with the issue. For me, a big part of the discomfort in my hand and elbow came from constantly reaching over for the mouse, as well as gripping it. It might sound silly to some, but when you do this thousands of times, it adds up!

Then, about six months ago, I found a blurb about the &lt;a href=&quot;http://ergo.contourdesign.com/products/product-detail.aspx?id=50&quot; target=&quot;_blank&quot;&gt;RollerMouse Free&lt;/a&gt; on some tech site. Having used it daily for a while, I can say that this mouse is an excellent option to a traditional mouse.

The RollerMouse sits directly under your keyboard, just past the space bar. To control the cursor, you roll a bar up, down, and side to side. It sounds bizarre, but it works very nicely and was easy to get used to. The bar moves very smoothly, and is very accurate. You can easily move it with your thumbs, and you barely have to move your hands off the keyboard, or you can use your fingertips. Either way, it&apos;s far better than reaching over for a normal mouse.

I still keep a regular mouse as well, but I use it pretty infrequently (except for gaming!). This odd new RollerMouse is the workhorse now. I just wanted to mention this device in case anyone else has similar problems and was frustrated trying to solve them. I was uncertain about how this thing would work out, but it really does work well. There&apos;s a video at the product web site which shows how it works in more detail, if you&apos;re interested to see it in action.
				
				</description>
				
				
				<category>Development</category>
				
				<category>Computers</category>
				
				<category>Personal</category>
				
				<pubDate>Thu, 25 Feb 2010 09:30:00 -0700</pubDate>
				<guid>http://www.briankotek.com/blog/index.cfm/2010/2/25/An-Awesome-Alternative-to-a-Traditional-Mouse</guid>
				
				
			</item>
			
		 	
			
			
			<item>
				<title>Speaking at CF.Objective() and CFUnited</title>
				<link>http://www.briankotek.com/blog/index.cfm/2010/2/23/Speaking-at-CFObjective-and-CFUnited</link>
				<description>
				
				Hi folks, I just wanted to drop a note that I&apos;ll be speaking at the &lt;a href=&quot;http://cfobjective.com&quot; target=&quot;_blank&quot;&gt;cf.Objective()&lt;/a&gt; and &lt;a href=&quot;http://cfunited.com&quot; target=&quot;_blank&quot;&gt;CFUnited&lt;/a&gt; conferences again in 2010. Both of these are fantastic conferences, so if you can attend, I highly recommend going!

At cf.Objective(), my first session is &quot;Don&apos;t Let OO Drag You Down: A Pragmatic Approach to OO Design and Development&quot;. My goal here will be to focus on some specific elements of OO development that I feel offer the most &quot;bang for the buck&quot;. These are the ideas that I can&apos;t live without, even on a small project. The second session is &quot;The Swiz Framework&quot;, where I&apos;ll talk about, what else, the &lt;a href=&quot;http://www.swizframework.org&quot; target=&quot;_blank&quot;&gt;Swiz framework for Flex and AS3&lt;/a&gt;. We&apos;ll look at how it works and what is being added for the 1.0 release.

Meanwhile, at CFUnited, my session is &quot;Clean Code: Why It Matters and How It&apos;s Done&quot;. Here, I&apos;d like to look at a range of concepts that affect code clarity, including layout, comments, method and class names, file organization, and more. I&apos;ll also touch on some &quot;code smells&quot;, or indicators that something may be amiss. For now, that is my only confirmed topic, but I believe one more will be added as further topics are announced.

I hope to see you there! You&apos;ll find me speaking, listening in the sessions, and enjoying beers in the bar with my fellow code junkies. :-)
				
				</description>
				
				
				<category>Conferences</category>
				
				<pubDate>Tue, 23 Feb 2010 11:01:00 -0700</pubDate>
				<guid>http://www.briankotek.com/blog/index.cfm/2010/2/23/Speaking-at-CFObjective-and-CFUnited</guid>
				
				
			</item>
			
		 	
			
			
			<item>
				<title>A New Look for the Blog</title>
				<link>http://www.briankotek.com/blog/index.cfm/2010/2/4/A-New-Look-for-the-Blog</link>
				<description>
				
				Since I had a little spare time, I decided it was time to update the look of the blog. I call the color scheme &quot;Orange Cream Blues&quot;. I went with it for a few reasons. First, I like dreamsicles and hadn&apos;t used orange for anything before, and I thought it went nicely with the dark blue (complimentary colors on the color wheel, even!).

The second reason is a longer story but I&apos;ll keep it short. I Googled around a lot looking for nice CSS skins. And even though there are lots of free CSS template sites out there, most of the layouts didn&apos;t strike me as very nice. I wanted a liquid layout, as I always feel like fixed-width sites are wasting my screen space. I wanted something clean yet modern. Probably all the standard desires nowadays. Anyway, the only one I could find was the Arclite theme, which as some of you may know is already in use on a number of other blogs. Since I was jumping on the bandwagon in this respect, I decided to tweak the layout a bit and to create a custom color scheme and graphics to avoid looking like everyone else. Hopefully, I succeeded (at least a little).

In any event, more blog entries are in the works, so stay tuned. And I hope you find the new look refreshing.
				
				</description>
				
				
				<category>General</category>
				
				<pubDate>Thu, 04 Feb 2010 10:38:00 -0700</pubDate>
				<guid>http://www.briankotek.com/blog/index.cfm/2010/2/4/A-New-Look-for-the-Blog</guid>
				
				
			</item>
			
		 	
			
			
			<item>
				<title>A Fond Farewell to Alagad</title>
				<link>http://www.briankotek.com/blog/index.cfm/2010/1/11/A-Fond-Farewell-to-Alagad</link>
				<description>
				
				This is just a quick personal announcement: In the next few weeks, I&apos;ll be leaving &lt;a href=&quot;http://www.alagad.com/&quot; target=&quot;_blank&quot;&gt;Alagad&lt;/a&gt; to take a position at &lt;a href=&quot;http://www.boozallen.com/&quot; target=&quot;_blank&quot;&gt;Booz Allen Hamilton&lt;/a&gt;.

I admit that this causes a mixture of emotions for me. On the one hand, Alagad was a great place to work and I&apos;m sad to be leaving. Doug Hughes is a friend and an excellent company owner, and the team at Alagad are a very talented bunch, on top of being all-around nice people. I&apos;ll miss working with them. I&apos;m sure we&apos;ll still chat, email, and talk over beers at conferences, but I know it won&apos;t be quite the same.

On the other hand, the opportunity at BAH was really just too good to pass up. It&apos;s a very prestigious organization, and is ranked as one of the best companies to work for in the world. That alone is very compelling. But on a more personal level, I&apos;ll once again be working alongside Joe Rinehart. I worked with Joe when we were at Broadchoice (and before that as well), and we got along great and worked very well together. Often, when switching companies, it can be a little scary because one doesn&apos;t really know what to expect. So it&apos;s nice to be able to have great expectations based on past experience!

So, while sad to be leaving the great folks at Alagad, I&apos;m very excited to be working with Joe again and tackling a different set of problems at BAH. To Doug, Scott, Jeff, and all the others at Alagad, thanks for the good times, hard work, and friendly parting insults. ;-)

And just a quick addition, even though Booz Allen is headquartered in the DC area, I&apos;ll be staying in Raleigh.
				
				</description>
				
				
				<category>Personal</category>
				
				<pubDate>Mon, 11 Jan 2010 17:04:00 -0700</pubDate>
				<guid>http://www.briankotek.com/blog/index.cfm/2010/1/11/A-Fond-Farewell-to-Alagad</guid>
				
				
			</item>
			
		 	
			
			
			<item>
				<title>More on CF9 ORM Relationships</title>
				<link>http://www.briankotek.com/blog/index.cfm/2009/12/21/More-on-CF9-ORM-Relationships</link>
				<description>
				
				My entry late last week on &lt;a href=&quot;http://www.briankotek.com/blog/index.cfm/2009/12/16/Bidirectional-Association-Management-in-ColdFusion-9-ORM&quot; target=&quot;_blank&quot;&gt;association management methods&lt;/a&gt; prompted a number of comments. I was going to add another comment but this became quite long so instead I&apos;m adding another blog entry.

The point of my last post was to talk about bidirectional relationships, particularly a one-to-many/many-to-one between two entities. Hibernate (and, thus, the CF9 ORM) has the ability to specify an &quot;inverse&quot; attribute on your relationship. To better show why you usually want to do this, let&apos;s look at an example.
				 [More]
				</description>
				
				
				<category>ColdFusion</category>
				
				<category>OOP CF</category>
				
				<category>Object-Relational Mapping</category>
				
				<pubDate>Mon, 21 Dec 2009 13:07:00 -0700</pubDate>
				<guid>http://www.briankotek.com/blog/index.cfm/2009/12/21/More-on-CF9-ORM-Relationships</guid>
				
				
			</item>
			
		 	
			
			
			<item>
				<title>Bidirectional Association Management in ColdFusion 9 ORM</title>
				<link>http://www.briankotek.com/blog/index.cfm/2009/12/16/Bidirectional-Association-Management-in-ColdFusion-9-ORM</link>
				<description>
				
				And to follow up on my recent pledge to start blogging further about ORM, lets jump right into a recent topic. A thread on the CF-ORM mailing list brought up the topic of &lt;a href=&quot;http://groups.google.com/group/cf-orm-dev/browse_thread/thread/4320cc207bc8df53?hl=en&quot; target=&quot;_blank&quot;&gt;dealing with a bidirectional relationship&lt;/a&gt;.
				 [More]
				</description>
				
				
				<category>ColdFusion</category>
				
				<category>OOP CF</category>
				
				<category>Object-Relational Mapping</category>
				
				<pubDate>Wed, 16 Dec 2009 10:36:00 -0700</pubDate>
				<guid>http://www.briankotek.com/blog/index.cfm/2009/12/16/Bidirectional-Association-Management-in-ColdFusion-9-ORM</guid>
				
				
			</item>
			
		 	
			</channel></rss>