<?xml version="1.0" encoding="iso-8859-1"?>

<rdf:RDF 
	xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns="http://purl.org/rss/1.0/"
>
		
		
		
	<channel rdf:about="http://www.schwabe.net/blog">
	<title>Schwabe.Net - Java, ColdFusion, Flex 2, Motorcycles, and Other Things</title>
	<description>Powered by BlogCFM</description>
	<link>http://www.schwabe.net/blog</link>
	
	<items>
		<rdf:Seq>
			
			
			
				
			<rdf:li rdf:resource="http://www.schwabe.net/blog/1/2008/06/CF-United-2008-Presentation-Files.cfm" />
			
			
			
				
			<rdf:li rdf:resource="http://www.schwabe.net/blog/1/2008/05/Dealing-with-Russian-Spam-in-Google-Mail-aka-Gmail.cfm" />
			
			
			
				
			<rdf:li rdf:resource="http://www.schwabe.net/blog/1/2008/04/Dispatching-custom-events-from-a-Flex-Module.cfm" />
			
			
			
				
			<rdf:li rdf:resource="http://www.schwabe.net/blog/1/2008/04/DRM-Spiral-Frog--AnalogWhole--Itunes--free-music-for-ipod-and-iphone.cfm" />
			
			
			
				
			<rdf:li rdf:resource="http://www.schwabe.net/blog/1/2008/03/CFUnited-Europe-08-in-London.cfm" />
			
			
			
				
			<rdf:li rdf:resource="http://www.schwabe.net/blog/1/2008/02/Flex-Multiline-Text--Code-Editor-with-Line-Numbers.cfm" />
			
			
			
				
			<rdf:li rdf:resource="http://www.schwabe.net/blog/1/2008/02/cfpresentation-error-on-multiserver-coldfusion-install.cfm" />
			
			
			
				
			<rdf:li rdf:resource="http://www.schwabe.net/blog/1/2008/01/CF-United-Europe--100-off-before-Jan-10.cfm" />
			
			
			
				
			<rdf:li rdf:resource="http://www.schwabe.net/blog/1/2007/12/GoogleMaps--Craigslist.cfm" />
			
			
			
				
			<rdf:li rdf:resource="http://www.schwabe.net/blog/1/2007/12/Google-Chart-API.cfm" />
			
			
			
				
			<rdf:li rdf:resource="http://www.schwabe.net/blog/1/2007/11/Rar7z--Notes-after--it-has-been-put-to-use.cfm" />
			
			
			
				
			<rdf:li rdf:resource="http://www.schwabe.net/blog/1/2007/11/Sporterizing-Yugo-5966-SKS-Rifle.cfm" />
			
			
			
				
			<rdf:li rdf:resource="http://www.schwabe.net/blog/1/2007/11/Ghost-for-Linux-.cfm" />
			
			
			
				
			<rdf:li rdf:resource="http://www.schwabe.net/blog/1/2007/11/Why-ColdFusion-isnt-free.cfm" />
			
			
			
				
			<rdf:li rdf:resource="http://www.schwabe.net/blog/1/2007/11/Speeding-up-Windows-Vista.cfm" />
			
			
			
				
			<rdf:li rdf:resource="http://www.schwabe.net/blog/1/2007/11/Using-Ghost-2003-with-Windows-Vista.cfm" />
			
			
			
				
			<rdf:li rdf:resource="http://www.schwabe.net/blog/1/2007/11/Aptana-Studio-Released.cfm" />
			
			
			
				
			<rdf:li rdf:resource="http://www.schwabe.net/blog/1/2007/10/Designing-CFCs-for-use-with-Flex.cfm" />
			
			
			
				
			<rdf:li rdf:resource="http://www.schwabe.net/blog/1/2007/10/pfSense--Router-OS.cfm" />
			
			
			
				
			<rdf:li rdf:resource="http://www.schwabe.net/blog/1/2007/09/CF-United-Europe.cfm" />
			
			
			
				
			<rdf:li rdf:resource="http://www.schwabe.net/blog/1/2007/08/Aflax--The-Ajax-Library-for-Adobe-Flash.cfm" />
			
			
			
				
			<rdf:li rdf:resource="http://www.schwabe.net/blog/1/2007/08/RAR-and-7Zip-compression-for-ColdFusion.cfm" />
			
			
			
				
			<rdf:li rdf:resource="http://www.schwabe.net/blog/1/2007/08/Flex-2-Boot-Camp.cfm" />
			
			
			
				
			<rdf:li rdf:resource="http://www.schwabe.net/blog/1/2007/07/Rant-Why-wont-technology-professionals-document-their-work-.cfm" />
			
			
			
				
			<rdf:li rdf:resource="http://www.schwabe.net/blog/1/2007/07/Aptana-plugin-for-Eclipse.cfm" />
			
			
			
				
			<rdf:li rdf:resource="http://www.schwabe.net/blog/1/2007/07/CFUN-2007-Presentation-Updated-postconference.cfm" />
			
			
			
				
			<rdf:li rdf:resource="http://www.schwabe.net/blog/1/2007/07/Windows-2003-and-WidComm-Bluetooth-Drivers.cfm" />
			
			
			
				
			<rdf:li rdf:resource="http://www.schwabe.net/blog/1/2007/07/CFDJ-Article-on-XML.cfm" />
			
			
			
				
			<rdf:li rdf:resource="http://www.schwabe.net/blog/1/2007/06/XMLValidate-and-WDDX.cfm" />
			
			
			
				
			<rdf:li rdf:resource="http://www.schwabe.net/blog/1/2007/06/CFUN-07-is-Winding-Down--Some-thoughts.cfm" />
			
			
		</rdf:Seq>
	</items>
	
	</channel>
		
		
		
		
		
		
		
		
		
  	<item rdf:about="http://www.schwabe.net/blog/1/2008/06/CF-United-2008-Presentation-Files.cfm">
	<title>CF United 2008 Presentation Files</title>
	<description>Here are the presentation files and sample flex apps from my presentation on &amp;quot;Charting with CF and Flex&amp;quot; on Friday June 20, 2008.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.schwabe.net/RIA328_Charting_with_CF_and_Flex.zip&quot;&gt;RIA328_Charting_with_CF_and_Flex.zip&lt;/a&gt; (5.5M)</description>
	<link>http://www.schwabe.net/blog/1/2008/06/CF-United-2008-Presentation-Files.cfm</link>
	<dc:date>2008-06-19T00:00:00-04:00</dc:date>
	
	<dc:subject>ColdFusion,Flex 3,Actionscript 3</dc:subject>
	</item>
	
	
 	
		
		
		
		
		
  	<item rdf:about="http://www.schwabe.net/blog/1/2008/05/Dealing-with-Russian-Spam-in-Google-Mail-aka-Gmail.cfm">
	<title>Dealing with Russian Spam in Google Mail aka Gmail</title>
	<description>In a day where spam is an increasingly huge issue, I have been using Google&apos;s email which does great at spam filtering.&amp;nbsp; There is of course once major exception, and that is Russian or Cyrillic spam emails.&amp;nbsp; Google&apos;s filters don&apos;t seem to be able to block those emails, and if you have had an account as long as I have, the volume of spam is bad.&amp;nbsp; I was getting 50-100 Russian spam emails every day.&lt;br /&gt;
&lt;br /&gt;
I have experimented and come up with a solution using Google&apos;s filter feature.&amp;nbsp; It has taken several tries to get the right settings to actually be effective.&amp;nbsp; Here is how to rid yourself of the bad Russian spam!&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;
    &lt;li&gt;Log into your account in Gmail&lt;/li&gt;
    &lt;li&gt;In the upper right part of your screen, click on &amp;quot;Settings&amp;quot;&lt;/li&gt;
    &lt;li&gt;On the settings page, click on the &amp;quot;Filters&amp;quot; heading&lt;/li&gt;
    &lt;li&gt;Click the &amp;quot;Create a new filter&amp;quot; link&lt;/li&gt;
    &lt;li&gt;In the &amp;quot;Has the words&amp;quot; box, copy and past in the contents from &lt;a href=&quot;/russian_spam_chars.doc&quot;&gt;this Microsoft Word document&lt;/a&gt; (I tried to paste the actual characters here, but they got all screwy)&lt;/li&gt;
    &lt;li&gt;Click the &amp;quot;Next Step&amp;quot; button&lt;/li&gt;
    &lt;li&gt;Choose how you want to handle them (I have it skip the inbox, and apply a custom label, this way I can go back and actually flag those messages as spam later)&lt;/li&gt;
    &lt;li&gt;Click on the &amp;quot;Create Filter&amp;quot; button to save the changes!&lt;/li&gt;
&lt;/ol&gt;
This has really worked well for us, eliminating about 90-95% of the Russian spam.&amp;nbsp; If you find any &amp;quot;tweaks&amp;quot; to this are effective, let me know.</description>
	<link>http://www.schwabe.net/blog/1/2008/05/Dealing-with-Russian-Spam-in-Google-Mail-aka-Gmail.cfm</link>
	<dc:date>2008-05-16T08:34:00-04:00</dc:date>
	
	<dc:subject>ColdFusion,Flex 3,Actionscript 3,google,gmail</dc:subject>
	</item>
	
	
 	
		
		
		
		
		
  	<item rdf:about="http://www.schwabe.net/blog/1/2008/04/Dispatching-custom-events-from-a-Flex-Module.cfm">
	<title>Dispatching custom events from a Flex Module</title>
	<description>&lt;p&gt;I have been working to make my Flex applications more and more modular.&amp;nbsp; Flex now supports modular development with the ModuleManager so you can dynamically load and unload modules at runtime.&lt;/p&gt;
&lt;p&gt;There is reasonably good documentation online for how to load and unload basic modules, and even how to set public vars and call&amp;nbsp;public methods defined in modules after they are loaded.&amp;nbsp; There were not, however, any examples (that i could find anyway...) for having a module dispatch a custom event class, so that your application can catch and respond to the event.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;Here is a basic outline of an app, a custom event class that stores some bits of information, and&amp;nbsp;a module that demonstrates dispatching the custom event class:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The main Flex app &amp;quot;SimpleModuleEvents.mxml&amp;quot; :&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&quot;code&quot;&gt;&lt;strong&gt;&lt;strong&gt;&lt;strong&gt;&lt;strong&gt;&lt;strong&gt;&lt;strong&gt;&lt;strong&gt;&lt;strong&gt;&lt;strong&gt;&lt;em&gt;&lt;strong&gt;&lt;em&gt;&lt;strong&gt;&lt;em&gt;&lt;strong&gt;&lt;strong&gt;&lt;strong&gt;&lt;strong&gt;&lt;em&gt;&lt;strong&gt;&lt;strong&gt;&lt;strong&gt;&lt;strong&gt;&lt;strong&gt;&lt;font color=&quot;#0000ff&quot; size=&quot;2&quot;&gt;
&lt;p&gt;&lt;font face=&quot;Arial&quot;&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;mx:Application xmlns:mx=&amp;quot;http://www.adobe.com/2006/mxml&amp;quot; &lt;br /&gt;
&amp;nbsp;creationComplete=&amp;quot;initApp()&amp;quot;&lt;br /&gt;
&amp;nbsp;layout=&amp;quot;absolute&amp;quot;&amp;gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Arial&quot;&gt;&amp;nbsp;&amp;lt;mx:Script&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;lt;![CDATA[&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;import mx.controls.Alert;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;import net.schwabe.demos.CustomEvent;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;import mx.modules.*;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;import mx.events.ModuleEvent;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;public var myModuleInfo:IModuleInfo;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;private function initApp():void&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// load our module (but don&apos;t display yet)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;myModuleInfo = ModuleManager.getModule(&amp;quot;modules/Dispatcher.swf&amp;quot;);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;myModuleInfo.addEventListener(ModuleEvent.READY, displayModuleHandler);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;myModuleInfo.load();&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// start listening for our custom event.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;addEventListener(&amp;quot;customEvent&amp;quot;, handleCustomEvent);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;/* Runs when the module is finished loading and is ready to display */&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;private function displayModuleHandler(event:ModuleEvent):void&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;myPanel.addChild(myModuleInfo.factory.create() as DisplayObject);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;/* runs when the custom event is caught */&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;private function handleCustomEvent(event:CustomEvent):void&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Alert.show(&amp;quot;received event with data: &amp;quot; + event.myNumber + &amp;quot;=&amp;quot; + event.myString);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;]]&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;lt;/mx:Script&amp;gt;&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&amp;nbsp;&amp;lt;mx:Panel id=&amp;quot;myPanel&amp;quot; width=&amp;quot;300&amp;quot; height=&amp;quot;300&amp;quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;lt;/mx:Panel&amp;gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Arial&quot;&gt;&amp;lt;/mx:Application&amp;gt;&lt;/font&gt;&lt;/p&gt;
&lt;/font&gt;&lt;/strong&gt;&lt;/strong&gt;&lt;/strong&gt;&lt;/strong&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/strong&gt;&lt;/strong&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/strong&gt;&lt;/strong&gt;&lt;/strong&gt;&lt;/strong&gt;&lt;/strong&gt;&lt;/strong&gt;&lt;/strong&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;The module&amp;nbsp;&amp;quot;Dispatcher.mxml&amp;quot; :&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&quot;code&quot;&gt;&lt;strong&gt;&lt;strong&gt;&lt;strong&gt;&lt;strong&gt;&lt;strong&gt;&lt;strong&gt;&lt;strong&gt;&lt;strong&gt;&lt;font color=&quot;#0000ff&quot; size=&quot;2&quot;&gt;&lt;font face=&quot;Arial&quot;&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;mx:Module xmlns:mx=&amp;quot;http://www.adobe.com/2006/mxml&amp;quot; layout=&amp;quot;vertical&amp;quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;lt;mx:Script&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;lt;![CDATA[&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;import net.schwabe.demos.CustomEvent;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;private function doEvent():void&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var myEvent:CustomEvent = new CustomEvent(&apos;customEvent&apos;,42,&apos;The answer to all life and everything&apos;);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;parentDocument.dispatchEvent(myEvent);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;]]&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;lt;/mx:Script&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;lt;mx:HBox width=&amp;quot;100%&amp;quot; height=&amp;quot;100%&amp;quot; horizontalAlign=&amp;quot;center&amp;quot; verticalAlign=&amp;quot;middle&amp;quot;&amp;gt;&amp;nbsp;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;lt;mx:Button label=&amp;quot;Dispatch CustomEvent!&amp;quot; click=&amp;quot;doEvent()&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;lt;/mx:HBox&amp;gt;&lt;br /&gt;
&amp;lt;/mx:Module&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/strong&gt;&lt;/strong&gt;&lt;/strong&gt;&lt;/strong&gt;&lt;/strong&gt;&lt;/strong&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;The custom event class:&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&quot;code&quot;&gt;&lt;strong&gt;&lt;strong&gt;&lt;strong&gt;&lt;strong&gt;&lt;strong&gt;&lt;strong&gt;&lt;strong&gt;&lt;strong&gt;&lt;strong&gt;&lt;font size=&quot;2&quot;&gt;&lt;font face=&quot;Arial&quot;&gt;package net.schwabe.demos&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;import flash.events.Event;&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&amp;nbsp;public class CustomEvent extends Event&lt;br /&gt;
&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;public var myNumber:Number;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;public var myString:String;&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;// constructor&lt;br /&gt;
&amp;nbsp;&amp;nbsp;public function CustomEvent(type:String, myNumber:Number, myString:String) &lt;br /&gt;
&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;super(type);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;this.myNumber = myNumber;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;this.myString = myString;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;} // end constructor&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;public override function clone():Event&lt;br /&gt;
&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;return new CustomEvent(type, myNumber, myString);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&amp;nbsp;}&lt;br /&gt;
}&lt;/font&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/strong&gt;&lt;/strong&gt;&lt;/strong&gt;&lt;/strong&gt;&lt;/strong&gt;&lt;/strong&gt;&lt;/strong&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;p&gt;Hope this is helpful, as it is a very bare bones explanation of how to modularize your code and use custom event classes to pass around useful data.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;Ciao&lt;/p&gt;</description>
	<link>http://www.schwabe.net/blog/1/2008/04/Dispatching-custom-events-from-a-Flex-Module.cfm</link>
	<dc:date>2008-04-29T13:04:00-04:00</dc:date>
	
	<dc:subject>ColdFusion,Flex 3,Actionscript 3,google,gmail,Flex 3,Actionscript 3</dc:subject>
	</item>
	
	
 	
		
		
		
		
		
  	<item rdf:about="http://www.schwabe.net/blog/1/2008/04/DRM-Spiral-Frog--AnalogWhole--Itunes--free-music-for-ipod-and-iphone.cfm">
	<title>DRM: Spiral Frog + AnalogWhole + Itunes = free music for ipod and iphone</title>
	<description>There have been some nice new &amp;quot;advertiser sponsored&amp;quot; free music sites to pop up over the last few years.&amp;nbsp; One of the most promising is Spiral Frog (http://www.spiralfrog.com).&amp;nbsp; The downside to pretty much all of them has been that songs downloaded from these sites are digital rights managed (DRM) which is used to ensure that only licensed users can listed to the files.&amp;nbsp; Basically once you download one of these songs, you can&apos;t email it to your friend and let them listen -- they will get a license error.&lt;br /&gt;
&lt;br /&gt;
This technology for digital rights management is essential so that the already struggling music industry doesn&apos;t lose what little money it is making.&amp;nbsp; It used to make a killing on CD sales, but not anymore thanks to illegal music distribution online.&lt;br /&gt;
&lt;br /&gt;
So, the upside to DRM is that you can&apos;t give illegal copies to your friends.&amp;nbsp; The downside is that if you use a service like Spiral Frog (which uses Microsoft Windows Media Player for DRM and playback), then you cannot put those files on your iPod or iPhone.&amp;nbsp; Hey, the technology isn&apos;t perfect... YET.&lt;br /&gt;
&lt;br /&gt;
There is a solution! (you knew i was going there, right ?)&amp;nbsp; This requires you to be a morally responsible person however, and any &amp;quot;gray&amp;quot; areas on this are up to you to decide on.&amp;nbsp; I am not, in any way, endorsing this information, I am only providing it as a public service.&lt;br /&gt;
&lt;br /&gt;
There is a nifty open source product called AnalogWhole (http://analogwhole.com) which removes DRM from your windows media audio files (it doesn&apos;t support video at this time).&amp;nbsp; Once you configure AmalogWhole, it will watch your incoming folder for new music files, and automatically convert them to plain MP3 files _AND_ add them to your iTunes music library (f you want).&lt;br /&gt;
&lt;br /&gt;
AmalogWhole isn&apos;t a perfect program yet -- it actually plays back the original, and does a digital recording to a new audio file, so the speed is 1-to-1, your computer has to play back each file.&amp;nbsp; It is a little quirky in that your volume level of your speakers (from within windows) affects the recording level, so it takes a little experimentationi.&amp;nbsp; After all the effort however, what you end up with is a clean MP3, automatically added to your iTunes library, ready to sync to your iPod and it sounds pretty good.&lt;br /&gt;
&lt;br /&gt;
Once you have a process down like this, it allows you to take advantage of advertiser-sponsored free music sites like SpiralFrog, and then also add that music to your portable audio player, just as we _should_ be able to.&amp;nbsp; All it requires is discipline to not distribute those unprotected audio files, and thus making the music industry we all love collapse on itself.&amp;nbsp; You can do that right ?&lt;br /&gt;
&lt;br /&gt;
Ciao, and stay LEGAL !</description>
	<link>http://www.schwabe.net/blog/1/2008/04/DRM-Spiral-Frog--AnalogWhole--Itunes--free-music-for-ipod-and-iphone.cfm</link>
	<dc:date>2008-04-20T00:00:00-04:00</dc:date>
	
	<dc:subject>ColdFusion,Flex 3,Actionscript 3,google,gmail,Flex 3,Actionscript 3,Open Source,ipod/iphone,DRM,MP3</dc:subject>
	</item>
	
	
 	
		
		
		
		
		
  	<item rdf:about="http://www.schwabe.net/blog/1/2008/03/CFUnited-Europe-08-in-London.cfm">
	<title>CFUnited Europe 08 in London!</title>
	<description>&lt;p&gt;I am finally back in the office after CFUN Europe (and some travelling afterwards).&lt;/p&gt;
&lt;p&gt;My apologize to all those who have been asking about my presentation files.&amp;nbsp; They are posted below.&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Arial&quot;&gt;&lt;a href=&quot;http://schwabe.net/cfun_europe_08_recursion.zip&quot;&gt;cfun_europe_08_recursion.zip&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Arial&quot;&gt;&lt;a href=&quot;http://schwabe.net/cfun_europe_08_xml.zip&quot;&gt;cfun_europe_08_xml.zip&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;Overall I thought CFUN Europe was very successful.&amp;nbsp; There were a lot of presentations on CF+AJAX, and a lot of focus on integration between CF and Flex -- very valuable stuff for any CF coder.&lt;/p&gt;
&lt;p&gt;If you missed it, you should plan to come to CFUN in Washington DC on June 18-21. See &lt;a href=&quot;http://www.cfunited.com&quot;&gt;www.cfunited.com&lt;/a&gt; for more info.&lt;/p&gt;</description>
	<link>http://www.schwabe.net/blog/1/2008/03/CFUnited-Europe-08-in-London.cfm</link>
	<dc:date>2008-03-26T00:00:00-04:00</dc:date>
	
	<dc:subject>ColdFusion,Flex 3,Actionscript 3,google,gmail,Flex 3,Actionscript 3,Open Source,ipod/iphone,DRM,MP3,ColdFusion</dc:subject>
	</item>
	
	
 	
		
		
		
		
		
  	<item rdf:about="http://www.schwabe.net/blog/1/2008/02/Flex-Multiline-Text--Code-Editor-with-Line-Numbers.cfm">
	<title>Flex Multiline Text / Code Editor with Line Numbers</title>
	<description>&lt;p&gt;I found myself needing a text editor that displayed line numbers for a Flex project, and despite searching online, couldn&apos;t find a Flex 2 component that did what I wanted.&amp;nbsp; So like a good programmer, I whipped one up.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;Here it is, in all its buggy glory.&amp;nbsp; I would love some feedback, and perhaps some of you Flex gurus would like to contribute.&amp;nbsp; If so, e-mail me.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;object id=&quot;Editor&quot; codebase=&quot;http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab&quot; height=&quot;250&quot; width=&quot;600&quot; classid=&quot;clsid:D27CDB6E-AE6D-11cf-96B8-444553540000&quot;&gt;
&lt;param value=&quot;http://schwabe.net/andrew/flex/codeeditor/Editor.swf&quot; name=&quot;movie&quot; /&gt;
&lt;param value=&quot;high&quot; name=&quot;quality&quot; /&gt;
&lt;param value=&quot;#869ca7&quot; name=&quot;bgcolor&quot; /&gt;
&lt;param value=&quot;sameDomain&quot; name=&quot;allowScriptAccess&quot; /&gt;

&lt;embed src=&quot;http://schwabe.net/andrew/flex/codeeditor/Editor.swf&quot; quality=&quot;high&quot; bgcolor=&quot;#869ca7&quot;
	width=&quot;600&quot; height=&quot;250&quot; name=&quot;Editor&quot; align=&quot;middle&quot;
	play=&quot;true&quot;
	loop=&quot;false&quot;
	quality=&quot;high&quot;
	allowScriptAccess=&quot;sameDomain&quot;
	type=&quot;application/x-shockwave-flash&quot;			pluginspage=&quot;http://www.adobe.com/go/getflashplayer&quot;&gt;

&lt;/object&gt;</description>
	<link>http://www.schwabe.net/blog/1/2008/02/Flex-Multiline-Text--Code-Editor-with-Line-Numbers.cfm</link>
	<dc:date>2008-02-18T17:21:00-04:00</dc:date>
	
	<dc:subject>ColdFusion,Flex 3,Actionscript 3,google,gmail,Flex 3,Actionscript 3,Open Source,ipod/iphone,DRM,MP3,ColdFusion,Flex 2</dc:subject>
	</item>
	
	
 	
		
		
		
		
		
  	<item rdf:about="http://www.schwabe.net/blog/1/2008/02/cfpresentation-error-on-multiserver-coldfusion-install.cfm">
	<title>&amp;lt;cfpresentation&amp;gt; error on multiserver coldfusion install</title>
	<description>On a clean multiserver install of ColdFusion 8, I was surprised that &amp;lt;cfapplication&amp;gt; was throwing an error.&lt;br /&gt;
&lt;br /&gt;
The error I was getting was:&lt;br /&gt;
&lt;br /&gt;
An error occurred in creating the presentation. java.io.FileNotFoundException:  C:\JRun4\servers\SERVER_NAME\cfusion.ear\cfusion.war\WEB-INF\cfusion\lib\preso\viewer.swf&lt;br /&gt;
&lt;br /&gt;
Upon investigating, it seems that the primary JRun server for ColdFusion (usually called &amp;quot;cfusion&amp;quot;&amp;nbsp; had the proper files in the expected places, however each of the additional servers that were created had several directories missing from the last &amp;quot;/lib&amp;quot; folder, including the &amp;quot;preso&amp;quot; folder mentioned above, which caused the issue.&lt;br /&gt;
&lt;br /&gt;
The missing directories were:&lt;br /&gt;
&lt;ul&gt;
    &lt;li&gt;preso&lt;/li&gt;
    &lt;li&gt;thirdpartytools&lt;/li&gt;
&lt;/ul&gt;
Directory stats also show that the cfusion server has 187 objects, while the new instances had only 179 objects.&amp;nbsp; Take the above two directories out, and you are left with 6 other files that are apparently missing.&amp;nbsp; I haven&apos;t spent the time to figure out which ones, because everything else seems to be working right now.&amp;nbsp; I just find it curious...&lt;br /&gt;
&lt;br /&gt;
Anyway, copying the &amp;quot;preso&amp;quot; folder from the cfusion server to your manually created server fixed the problem.&amp;nbsp; If you run a clustered server, don&apos;t forget to copy to each server in your cluster.</description>
	<link>http://www.schwabe.net/blog/1/2008/02/cfpresentation-error-on-multiserver-coldfusion-install.cfm</link>
	<dc:date>2008-02-17T00:00:00-04:00</dc:date>
	
	<dc:subject>ColdFusion,Flex 3,Actionscript 3,google,gmail,Flex 3,Actionscript 3,Open Source,ipod/iphone,DRM,MP3,ColdFusion,Flex 2,ColdFusion</dc:subject>
	</item>
	
	
 	
		
		
		
		
		
  	<item rdf:about="http://www.schwabe.net/blog/1/2008/01/CF-United-Europe--100-off-before-Jan-10.cfm">
	<title>CF United Europe - $100 off before Jan 10</title>
	<description>CF United Europe is coming up people!&amp;nbsp; It looks to be a good show.&amp;nbsp; I will be there and speaking on XML and Recursive programming.&lt;br /&gt;
&lt;br /&gt;
Register for &lt;a target=&quot;_blank&quot; href=&quot;http://europe.cfunited.com/&quot;&gt;CFUnited Europe&lt;/a&gt; by Jan 10th 2008 and save $100 off the base registration rate. Also as a group discount, register 3 for the price of 2, for more details contact &lt;a target=&quot;_blank&quot; href=&quot;mailto:info@cfunited.com&quot;&gt;info@cfunited.com&lt;/a&gt;</description>
	<link>http://www.schwabe.net/blog/1/2008/01/CF-United-Europe--100-off-before-Jan-10.cfm</link>
	<dc:date>2008-01-02T15:19:56-04:00</dc:date>
	
	<dc:subject>ColdFusion,Flex 3,Actionscript 3,google,gmail,Flex 3,Actionscript 3,Open Source,ipod/iphone,DRM,MP3,ColdFusion,Flex 2,ColdFusion,ColdFusion,Flex 2</dc:subject>
	</item>
	
	
 	
		
		
		
		
		
  	<item rdf:about="http://www.schwabe.net/blog/1/2007/12/GoogleMaps--Craigslist.cfm">
	<title>GoogleMaps + Craigslist</title>
	<description>&lt;p&gt;Most impressive combination of technologies here.&amp;nbsp; This is a great example of pooling information together.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Arial&quot;&gt;&lt;a href=&quot;http://www.housingmaps.com/&quot;&gt;http://www.housingmaps.com/&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;</description>
	<link>http://www.schwabe.net/blog/1/2007/12/GoogleMaps--Craigslist.cfm</link>
	<dc:date>2007-12-12T00:00:00-04:00</dc:date>
	
	<dc:subject>ColdFusion,Flex 3,Actionscript 3,google,gmail,Flex 3,Actionscript 3,Open Source,ipod/iphone,DRM,MP3,ColdFusion,Flex 2,ColdFusion,ColdFusion,Flex 2,google,maps,craigslist</dc:subject>
	</item>
	
	
 	
		
		
		
		
		
  	<item rdf:about="http://www.schwabe.net/blog/1/2007/12/Google-Chart-API.cfm">
	<title>Google Chart API</title>
	<description>&lt;img vspace=&quot;5&quot; hspace=&quot;5&quot; border=&quot;1&quot; align=&quot;right&quot; src=&quot;http://chart.apis.google.com/chart?cht=p3&amp;amp;chd=s:hW&amp;amp;chs=250x100&amp;amp;chl=Hello|World&quot; alt=&quot;&quot; /&gt;From the incredible minds at Google :)&lt;br /&gt;
&lt;br /&gt;
&lt;a target=&quot;_blank&quot; href=&quot;http://code.google.com/apis/chart/&quot;&gt; http://code.google.com/apis/chart/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
This impressive little library lets you generate PNG chart files from a single URL request string.&amp;nbsp; Since people typically need to pass lots and lots of data for charting, they came up with a really creative way to compress the values, and provide a javascript snippet for automating the process.&lt;br /&gt;
&lt;br /&gt;
So the nifty chart you see to the right is a &amp;quot;hello world&amp;quot; app using their API.&amp;nbsp; It ultimately comes down to a simple URL request of:&lt;br /&gt;
&lt;br /&gt;
http://chart.apis.google.com/chart?cht=p3&amp;amp;chd=s:hW&amp;amp;chs=250x100&amp;amp;chl=Hello|World&lt;br /&gt;
&lt;br /&gt;
Quite impressive and easy to use!&lt;br /&gt;
&lt;br /&gt;
While this doesn&apos;t provide the stellar interactivity and depth of integration that Flex charts do, it certainly provides a way to do nice looking charts with a quick turn-around.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
According to their docs, you can freely use this so long as you don&apos;t regularly exceed the 50,000 hits per day limit at which point they may block you.&amp;nbsp; I think most of us will not be hitting it quite this much.&lt;br /&gt;
&lt;br /&gt;
Some samples:&lt;br /&gt;
&lt;br /&gt;
&lt;table width=&quot;200&quot; cellspacing=&quot;5&quot; cellpadding=&quot;2&quot; border=&quot;0&quot; align=&quot;&quot; summary=&quot;&quot;&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;img src=&quot;http://chart.apis.google.com/chart?cht=lc&amp;amp;chd=s:9gounjqGJD&amp;amp;chco=008000&amp;amp;chls=2.0,4.0,1.0&amp;amp;chxt=x,y&amp;amp;chxl=0:|Sep|Oct|Nov|Dec|1:||50|100&amp;amp;chs=160x125&amp;amp;chm=r,E5ECF9,0,0.75,0.25|r,000000,0,0.1,0.11&quot; alt=&quot;&quot; /&gt;&lt;/td&gt;
            &lt;td&gt;&lt;img src=&quot;http://chart.apis.google.com/chart?cht=lc&amp;amp;chd=s:93zyvneTTOMJMLIJFHEAECFJGHDBFCFIERcgnpy45879,IJKNUWUWYdnswz047977315533zy1246872tnkgcaZQONHCECAAAAEII&amp;amp;chls=3,6,3|1,1,0&amp;amp;chs=160x125&quot; alt=&quot;&quot; /&gt;&lt;/td&gt;
            &lt;td&gt;&lt;img src=&quot;http://chart.apis.google.com/chart?cht=bhs&amp;amp;chco=ff0000,00ff00,0000ff,&amp;amp;chs=160x125&amp;amp;chd=s:FOE,THE,Bar&amp;amp;chxt=x,y&amp;amp;chxl=1:|Dec|Nov|Oct|0:||20K||60K||100K|&quot; alt=&quot;&quot; /&gt;&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;</description>
	<link>http://www.schwabe.net/blog/1/2007/12/Google-Chart-API.cfm</link>
	<dc:date>2007-12-07T00:00:00-04:00</dc:date>
	
	<dc:subject>ColdFusion,Flex 3,Actionscript 3,google,gmail,Flex 3,Actionscript 3,Open Source,ipod/iphone,DRM,MP3,ColdFusion,Flex 2,ColdFusion,ColdFusion,Flex 2,google,maps,craigslist,google,charting</dc:subject>
	</item>
	
	
 	
		
		
		
		
		
  	<item rdf:about="http://www.schwabe.net/blog/1/2007/11/Rar7z--Notes-after--it-has-been-put-to-use.cfm">
	<title>Rar7z - Notes after  it has been put to use</title>
	<description>&lt;p&gt;Not too long ago I posted a coldfusion component to handle compression for rar and 7z.&amp;nbsp; Here is a report from the first time using it.&lt;/p&gt;
&lt;p&gt;For reference, here is the important info:&lt;/p&gt;
&lt;blockquote dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;&gt;
&lt;p&gt;Download&amp;nbsp;version 1.0 -- &lt;a href=&quot;http://www.schwabe.net/lib_rar7z_cfc_v100.zip&quot;&gt;lib_rar7z_cfc_v100.zip&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
This is of course released as-is no warranty, no support, blah blah, and eventually if people like this, I will officially make it open source.&amp;nbsp; Its a small piece of code, so who knows how useful it will be.&lt;br /&gt;
&lt;br /&gt;
There are a few sample pieces of code to help figure out how to use is.&amp;nbsp; It is relatively easy:&lt;br /&gt;
&lt;br /&gt;
Compress a file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;cfinvoke component=&amp;quot;lib.rar7z&amp;quot; method=&amp;quot;compressFile&amp;quot; returnvariable=&amp;quot;compressFile&amp;quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;cfinvokeargument name=&amp;quot;SrcPathAndFile&amp;quot; value=&amp;quot;#ExpandPath(&amp;quot;.&amp;quot;)#\myfile.dat&amp;quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;cfinvokeargument name=&amp;quot;ArchivePathAndFile&amp;quot; value=&amp;quot;#ExpandPath(&amp;quot;.&amp;quot;)#\myfile.rar&amp;quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;cfinvokeargument name=&amp;quot;VolumeSize&amp;quot; value=&amp;quot;3500&amp;quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;cfinvokeargument name=&amp;quot;Timeout&amp;quot; value=&amp;quot;90&amp;quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;cfinvokeargument name=&amp;quot;Engine&amp;quot; value=&amp;quot;rar&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/cfinvoke&amp;gt;&lt;br /&gt;
&lt;br /&gt;
List an archive&apos;s contents:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;cfinvoke component=&amp;quot;lib.rar7z&amp;quot; method=&amp;quot;listContents&amp;quot; returnvariable=&amp;quot;listContents&amp;quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;cfinvokeargument name=&amp;quot;ArchivePathAndFile&amp;quot; value=&amp;quot;#ExpandPath(&amp;quot;.&amp;quot;)#\myfile.rar&amp;quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;cfinvokeargument name=&amp;quot;Timeout&amp;quot; value=&amp;quot;90&amp;quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;cfinvokeargument name=&amp;quot;Engine&amp;quot; value=&amp;quot;rar&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/cfinvoke&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Extract files from an archive:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;cfinvoke component=&amp;quot;lib.rar7z&amp;quot; method=&amp;quot;extractArchive&amp;quot; returnvariable=&amp;quot;extractArchive&amp;quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;cfinvokeargument name=&amp;quot;ArchivePathAndFile&amp;quot; value=&amp;quot;#ExpandPath(&amp;quot;.&amp;quot;)#\myfile.rar&amp;quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;cfinvokeargument name=&amp;quot;OutputDir&amp;quot; value=&amp;quot;#ExpandPath(&amp;quot;./extract&amp;quot;)#&amp;quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;cfinvokeargument name=&amp;quot;Timeout&amp;quot; value=&amp;quot;90&amp;quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;cfinvokeargument name=&amp;quot;Engine&amp;quot; value=&amp;quot;rar&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/cfinvoke&amp;gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I initially tried using the component with the &amp;quot;rar&amp;quot; engine, which maps to a 16-bit dos program called &amp;quot;rar.exe.&amp;quot;&amp;nbsp; This didn&apos;t work out for me since it apparently only supports 8.3 filenames, and I needed support for long filenames.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;Second, I used the 7-zip executable &amp;quot;7za.exe&amp;quot; which is the command-line version of the 7z tools.&amp;nbsp; This supported long file names without any problem, and is behaving the way I expected.&lt;/p&gt;
&lt;p&gt;The part I didn&apos;t expect was just how long it takes to compress a file.&amp;nbsp; I compressed an 80M database dump file using 7z, and it took 5-10 minutes...&amp;nbsp; this is running on a machine with 4 P4 hyyperthreaded processors and 4G ram...&amp;nbsp; thats a LONG time.&lt;/p&gt;
&lt;p&gt;So, moving forward, I would NOT recommend use of the &amp;quot;rar&amp;quot; engine, but rather stick to &amp;quot;7z&amp;quot; if you need support for long file names.&amp;nbsp; Also, if you are compressing large files, be sure to assign a long enough timeout to make sure that CF doesn&apos;t prematurely terminate the process.&amp;nbsp; Other than this, it worked great!&amp;nbsp; It did exactly what I expected the first time I put it in use.&lt;/p&gt;</description>
	<link>http://www.schwabe.net/blog/1/2007/11/Rar7z--Notes-after--it-has-been-put-to-use.cfm</link>
	<dc:date>2007-11-21T00:00:00-04:00</dc:date>
	
	<dc:subject>ColdFusion,Flex 3,Actionscript 3,google,gmail,Flex 3,Actionscript 3,Open Source,ipod/iphone,DRM,MP3,ColdFusion,Flex 2,ColdFusion,ColdFusion,Flex 2,google,maps,craigslist,google,charting,ColdFusion</dc:subject>
	</item>
	
	
 	
		
		
		
		
		
  	<item rdf:about="http://www.schwabe.net/blog/1/2007/11/Sporterizing-Yugo-5966-SKS-Rifle.cfm">
	<title>Sporterizing Yugo 59/66 SKS Rifle</title>
	<description>I have recently purchased a Yugo 59/66 SKS rifle.&amp;nbsp; I have decided that I would like to refit this rifle with some modern parts, which are readily available at shows and online.&amp;nbsp; The problem with this is that ATF regulations state that you cannot disassemble and re-assemble this rifle legally unless you re-assemble it with less than 10 imported parts (it has 14 or 17, this is debatable).&amp;nbsp; That means you need to buy US made parts so that the total number of imported parts is 10 or less when you re-assemble it.&lt;br /&gt;
&lt;br /&gt;
There are a lot of pages out there that help explain this to some degree, but nearly all of them have to do with the Norinco (Chinese) variant of the rifle.&amp;nbsp; The Yugo version, which I have, is much more &apos;interesting&apos; in that it has night sights and a grenade launcher.&lt;br /&gt;
&lt;br /&gt;
It has become a ridiculous process to figure out what the exact part list is for a Yugo 59/66 SKS.&lt;br /&gt;
&lt;br /&gt;
The most definitive information I have found is below.&amp;nbsp; I am quoting &lt;a href=&quot;http://www.sksboards.com/smf/index.php?topic=27678.0&quot;&gt;this source&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;quote&quot;&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div class=&quot;code&quot;&gt;
&lt;div class=&quot;quote&quot;&gt;&lt;strong&gt;Just how many of these parts are in an SKS Carbine?&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
Here are the relevant parts in an SKS Carbine:&lt;br /&gt;
&lt;br /&gt;
1. Receiver&lt;br /&gt;
2. Barrel&lt;br /&gt;
3. Bolt&lt;br /&gt;
4. Bolt carrier&lt;br /&gt;
5. Gas piston&lt;br /&gt;
6. Trigger housing&lt;br /&gt;
7. Trigger&lt;br /&gt;
8. Hammer&lt;br /&gt;
9. Sear&lt;br /&gt;
10. Disconnector (see below)&lt;br /&gt;
11. Stock&lt;br /&gt;
12. Handguard&lt;br /&gt;
13. Magazine body&lt;br /&gt;
14. Follower&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;Note: This list has been confirmed by ATF.&lt;/em&gt;&lt;br /&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;quoteheader&quot;&gt;&lt;br /&gt;
&lt;/div&gt;
&lt;div class=&quot;quote&quot;&gt;&lt;strong&gt;&lt;/strong&gt;
&lt;div class=&quot;code&quot;&gt;&lt;strong&gt;How many imported parts can be replaced in an SKS Carbine?&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
Using commercially available parts, you can replace the following parts:&lt;br /&gt;
&lt;br /&gt;
1)&amp;nbsp;&amp;nbsp;&amp;nbsp;Replace the stock with aftermarket US-made version.&lt;br /&gt;
&lt;br /&gt;
2)&amp;nbsp;&amp;nbsp;&amp;nbsp;Replace the handguard with aftermarket US-made version.&lt;br /&gt;
&lt;br /&gt;
3)&amp;nbsp;&amp;nbsp;&amp;nbsp;Replace the gas piston with a US-made version from Tapco (#SKS6602), SKSMan or SKSParts (#SKS-034).&lt;br /&gt;
&lt;br /&gt;
4)&amp;nbsp;&amp;nbsp;&amp;nbsp;Replace the magazine with a 100% US-made magazine, including the magazine body, follower and floorplate. (Replaces two imported parts.)&lt;br /&gt;
&lt;br /&gt;
5)&amp;nbsp;&amp;nbsp;&amp;nbsp;On Yugoslavian Type 59/66 Carbines: Remove the grenade launcher and replace it with a US-made muzzle break (foreign muzzle attachments are counted). See the FAQ&amp;rsquo;s on removing the Yugoslavian Type M59/66 grenade launcher for more info.&lt;br /&gt;
&lt;br /&gt;
On a typical SKS Carbine, you will need to replace four parts. On Yugoslavian Type 59/66 Rifle, you will need to replace five parts.&lt;br /&gt;
&lt;br /&gt;
These US-made parts are sometimes known as &amp;ldquo;compliance parts&amp;rdquo;, since they are used to ensure that the resulting rifle is &amp;ldquo;compliant&amp;rdquo; with Title 18 USC &amp;sect; 922(r).&lt;br /&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
So, if any of you out there have REAL PROVEN RELIABLE information to add to this, please let me know.&amp;nbsp; If it is just opinion, and you don&apos;t have any credible proven source to back it up, I probably won&apos;t back up your info.&amp;nbsp; I&apos;m only doing this for sanity sake so that there can be at least one useful page that has all the facts about this rifle.&lt;br /&gt;
&lt;/div&gt;</description>
	<link>http://www.schwabe.net/blog/1/2007/11/Sporterizing-Yugo-5966-SKS-Rifle.cfm</link>
	<dc:date>2007-11-20T00:00:00-04:00</dc:date>
	
	<dc:subject>ColdFusion,Flex 3,Actionscript 3,google,gmail,Flex 3,Actionscript 3,Open Source,ipod/iphone,DRM,MP3,ColdFusion,Flex 2,ColdFusion,ColdFusion,Flex 2,google,maps,craigslist,google,charting,ColdFusion,sks,compliance,922r</dc:subject>
	</item>
	
	
 	
		
		
		
		
		
  	<item rdf:about="http://www.schwabe.net/blog/1/2007/11/Ghost-for-Linux-.cfm">
	<title>Ghost for Linux ?</title>
	<description>I have long been a supporter of using Ghost for imaging disks.&amp;nbsp; See a previous post on how to use Ghost 2003 with Windows Vista.&lt;br /&gt;
&lt;br /&gt;
I have never, however, been able to find a replacement for Linux... until now.&lt;br /&gt;
&lt;br /&gt;
I just came across this -- and pardon me if this is old news -- which seems very promising!&lt;br /&gt;
&lt;br /&gt;
http://www.feyrer.de/g4u/&lt;br /&gt;
&lt;br /&gt;
This is an open-source project based on NetBSD that allows you to boot from a CD, connect to an FTP site, and backup-to-image, or restore-from-image to the local drive, using the FTP site as the image storage location.&amp;nbsp; This sure sounds like what Ghost should have been!&lt;br /&gt;
&lt;br /&gt;
I intend to try it out very soon.</description>
	<link>http://www.schwabe.net/blog/1/2007/11/Ghost-for-Linux-.cfm</link>
	<dc:date>2007-11-19T16:05:37-04:00</dc:date>
	
	<dc:subject>ColdFusion,Flex 3,Actionscript 3,google,gmail,Flex 3,Actionscript 3,Open Source,ipod/iphone,DRM,MP3,ColdFusion,Flex 2,ColdFusion,ColdFusion,Flex 2,google,maps,craigslist,google,charting,ColdFusion,sks,compliance,922r,Backup,Linux,Open Source</dc:subject>
	</item>
	
	
 	
		
		
		
		
		
  	<item rdf:about="http://www.schwabe.net/blog/1/2007/11/Why-ColdFusion-isnt-free.cfm">
	<title>Why ColdFusion isn&apos;t free</title>
	<description>&lt;p&gt;No, this isn&apos;t an &amp;quot;original&amp;quot; rant...&amp;nbsp; just spreading the word on an already available, and excellent eye-opening writeup of why CF doesn&apos;t fit the &amp;quot;mold&amp;quot; of other &amp;quot;programming languages&amp;quot; and why it isn&apos;t a simple process to say &amp;quot;this is free, why isn&apos;t CF free?&amp;quot;&lt;/p&gt;
&lt;p&gt;Anyway, stop reading my blog, and read this instead:&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Arial&quot;&gt;&lt;a href=&quot;http://www.cfinsider.com/index.cfm/2007/11/10/Things-ColdFusion-is-not-and-Why-ColdFusion-isnt-free&quot;&gt;http://www.cfinsider.com/index.cfm/2007/11/10/Things-ColdFusion-is-not-and-Why-ColdFusion-isnt-free&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;Thanks to CF Insider!&lt;/p&gt;</description>
	<link>http://www.schwabe.net/blog/1/2007/11/Why-ColdFusion-isnt-free.cfm</link>
	<dc:date>2007-11-18T13:22:23-04:00</dc:date>
	
	<dc:subject>ColdFusion,Flex 3,Actionscript 3,google,gmail,Flex 3,Actionscript 3,Open Source,ipod/iphone,DRM,MP3,ColdFusion,Flex 2,ColdFusion,ColdFusion,Flex 2,google,maps,craigslist,google,charting,ColdFusion,sks,compliance,922r,Backup,Linux,Open Source,ColdFusion,Rants</dc:subject>
	</item>
	
	
 	
		
		
		
		
		
  	<item rdf:about="http://www.schwabe.net/blog/1/2007/11/Speeding-up-Windows-Vista.cfm">
	<title>Speeding up Windows Vista</title>
	<description>&lt;p&gt;I have finally put a copy of vista on my machine, and I have a few observations:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;It is pretty&lt;/li&gt;
    &lt;li&gt;It is different enough from Windows XP that some things are hard to find&lt;/li&gt;
    &lt;li&gt;The continual nagging and &amp;quot;are you sure&amp;quot; questions drives me crazy&lt;/li&gt;
    &lt;li&gt;It is slow&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I wouldn&apos;t call it more efficient, but it is the newest windows, so we all better get confortable with it.&lt;/p&gt;
&lt;p&gt;Here are some _wonderful_ resources I found online that allowed me to get vista running on my pc at about the same speed as winxp, and I am pleased to say that it is a bit more stable than XP as well.&amp;nbsp; After all, vista is based on the windows 2003 kernel, which has been very powerful and reliable.&lt;/p&gt;
&lt;p&gt;Turn off the nagging:&lt;/p&gt;
&lt;blockquote dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;&gt;
&lt;p&gt;The continual popups are from a new service called &amp;quot;UAC&amp;quot; or User Access Control.&amp;nbsp; Read this article (and google it for more info) and learn what it is, and deceide if you want to turn it off.&amp;nbsp; It may make your PC more vulnerable, but I will accept that risk.&amp;nbsp; What you do is up to you.&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Arial&quot;&gt;&lt;a href=&quot;http://www.mydigitallife.info/2006/12/19/turn-off-or-disable-user-account-control-uac-in-windows-vista/&quot;&gt;http://www.mydigitallife.info/2006/12/19/turn-off-or-disable-user-account-control-uac-in-windows-vista/&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Turn off services, change the UI, etc, etc.&lt;/p&gt;
&lt;blockquote dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;&gt;
&lt;p&gt;Here is a great guide to streamlining Vista, turning off services that Vista assumed you wanted, and some other neat tricks like using a USB memory key to speed up application access.&amp;nbsp; I was thoroughly impressed with the impact these changes had.&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Arial&quot;&gt;&lt;a href=&quot;http://www.extremetech.com/article2/0,1697,2110595,00.asp&quot;&gt;http://www.extremetech.com/article2/0,1697,2110595,00.asp&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Overall, I was very hesitant to move forward using Vista.&amp;nbsp; It seemed too bulky and multimedia heavy to be productive.&amp;nbsp; Plus windows explorer is different!!&amp;nbsp; (I don&apos;t know why MS did this -- poor decision in my opinion).&amp;nbsp; These updates will help to have&amp;nbsp;a manageable and usable windows vista machine.&lt;/p&gt;
&lt;p&gt;Happy computing&lt;/p&gt;</description>
	<link>http://www.schwabe.net/blog/1/2007/11/Speeding-up-Windows-Vista.cfm</link>
	<dc:date>2007-11-13T00:00:00-04:00</dc:date>
	
	<dc:subject>ColdFusion,Flex 3,Actionscript 3,google,gmail,Flex 3,Actionscript 3,Open Source,ipod/iphone,DRM,MP3,ColdFusion,Flex 2,ColdFusion,ColdFusion,Flex 2,google,maps,craigslist,google,charting,ColdFusion,sks,compliance,922r,Backup,Linux,Open Source,ColdFusion,Rants,Vista</dc:subject>
	</item>
	
	
 	
		
		
		
		
		
  	<item rdf:about="http://www.schwabe.net/blog/1/2007/11/Using-Ghost-2003-with-Windows-Vista.cfm">
	<title>Using Ghost 2003 with Windows Vista</title>
	<description>&lt;p&gt;If you do a few google searches for &amp;quot;ghost&amp;quot; and &amp;quot;vista&amp;quot; you will find a ton of posts.&amp;nbsp; What I have found frustrating is the lack of clarity on one particular issue:&lt;/p&gt;
&lt;p&gt;&lt;font color=&quot;#3366ff&quot;&gt;&amp;quot;If you back up a windows vista partition using ghost 2003 (dos based) to another drive or partition, can you restore it and have a bootable vista OS ?&amp;quot;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color=&quot;#993300&quot;&gt;Answer: YES it works -- see below for how to do this.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;There are many people who say if you clone a disk (i.e. you have two hard drives, clone A to B), that ghost 2003 works fine with vista, but nobody has clearly stated&amp;nbsp;how and if it works&amp;nbsp;on a partition to partition basis.&lt;/p&gt;
&lt;p&gt;Here is how we setup all our computers:&amp;nbsp; The primary drive is split into 2 partitions, C: is for the OS, and D: is for files and backups.&amp;nbsp; In this scenario, the OS drive can be backed up to the D: drive using ghost.&lt;/p&gt;
&lt;p&gt;This works great for any windows until Vista came around.&amp;nbsp; Now all of a sudden, changes to the boot sector make it more difficult.&lt;/p&gt;
&lt;p&gt;So here is how to do it:&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;Make sure your system is installed so that you have a C: and a D: partition
    &lt;ul&gt;
        &lt;li&gt;Note, we set this up so that all your &amp;quot;work files&amp;quot; are on D, so that if you restore a different OS, you can still access all your files.&amp;nbsp; This way you can have multiple configurations for your computer, one for work, one for games, one for fooling around, etc. and never lose any data. &lt;/li&gt;
    &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;Make a &amp;quot;Bootable ghost CD&amp;quot; (or floppy disk, but our computers don&apos;t have disk drives anymore).
    &lt;ul&gt;
        &lt;li&gt;Here is some info on how to create&amp;nbsp;a &lt;a href=&quot;http://www.computing.net/windowsxp/wwwboard/forum/119728.html&quot;&gt;bootable ghost cd&lt;/a&gt;. &lt;/li&gt;
        &lt;li&gt;FYI you will need the bootable ghost CD because windows vista HATES ghost 2003, so its not easy to install it.&amp;nbsp; If you have a bootable CD, you have no worries, and just boot from the CD any time you want to backup or restore your system. &lt;/li&gt;
        &lt;li&gt;If you really have a hard time making a bootable ghost&amp;nbsp;cd, &lt;a href=&quot;mailto:aschwabe@gmail.com?subject=Ghost%202003%20Bootable%20CD&quot;&gt;email me&lt;/a&gt;, and I can&amp;nbsp;help you out (for a small paypal donation). &lt;/li&gt;
    &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;Backup your OS (all windows):
    &lt;ul&gt;
        &lt;li&gt;Boot&amp;nbsp;up with your &amp;quot;Bootable Ghost CD&amp;quot; &lt;/li&gt;
        &lt;li&gt;Select &amp;quot;Local Partition to Image&amp;quot; &lt;/li&gt;
        &lt;li&gt;Pick your source drive and partition, destination drive and filename. &lt;/li&gt;
        &lt;li&gt;Get coffee. &lt;/li&gt;
    &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;Restore your OS:
    &lt;ul&gt;
        &lt;li&gt;Windows 9x, 2000, ME, XP, 2003, linux, others:
        &lt;ul&gt;
            &lt;li&gt;Boot&amp;nbsp;up with your &amp;quot;Bootable Ghost CD&amp;quot; &lt;/li&gt;
            &lt;li&gt;Select &amp;quot;Local Partition From Image&amp;quot; &lt;/li&gt;
            &lt;li&gt;Browse to and pick your ghost disk image &lt;/li&gt;
            &lt;li&gt;Pick the destination drive and partition &lt;/li&gt;
            &lt;li&gt;Get more coffee &lt;/li&gt;
            &lt;li&gt;When done, select &amp;quot;Reset computer&amp;quot; &lt;/li&gt;
        &lt;/ul&gt;
        &lt;/li&gt;
        &lt;li&gt;Windows Vista
        &lt;ul&gt;
            &lt;li&gt;Boot&amp;nbsp;up with your &amp;quot;Bootable Ghost CD&amp;quot;&amp;nbsp; &lt;/li&gt;
            &lt;li&gt;Quit ghost (should leave you at an A: prompt) &lt;/li&gt;
            &lt;li&gt;Type in &amp;quot;ghost -fdsp&amp;quot; (will re-launch ghost with alternate settings) &lt;/li&gt;
            &lt;li&gt;Select &amp;quot;Local Partition From Image&amp;quot; &lt;/li&gt;
            &lt;li&gt;Browse to and pick your vista ghost disk image &lt;/li&gt;
            &lt;li&gt;Pick the destination drive and partition &lt;/li&gt;
            &lt;li&gt;Get more coffee &lt;/li&gt;
            &lt;li&gt;When done, select to &amp;quot;Reset Computer&amp;quot; &lt;/li&gt;
        &lt;/ul&gt;
        &lt;/li&gt;
    &lt;/ul&gt;
    &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;And thats it.&amp;nbsp; I have found that this works very well with all modern windows versions, and with the few small differences, works great with vista too.&amp;nbsp; Since we can boot into ghost from a CD, we don&apos;t have to install it anymore either.&amp;nbsp; Now we can all have 10 OS&apos;s on our laptops and switch at will.&lt;/p&gt;</description>
	<link>http://www.schwabe.net/blog/1/2007/11/Using-Ghost-2003-with-Windows-Vista.cfm</link>
	<dc:date>2007-11-12T08:56:00-04:00</dc:date>
	
	<dc:subject>ColdFusion,Flex 3,Actionscript 3,google,gmail,Flex 3,Actionscript 3,Open Source,ipod/iphone,DRM,MP3,ColdFusion,Flex 2,ColdFusion,ColdFusion,Flex 2,google,maps,craigslist,google,charting,ColdFusion,sks,compliance,922r,Backup,Linux,Open Source,ColdFusion,Rants,Vista,Vista,Backup,Windows 2003</dc:subject>
	</item>
	
	
 	
		
		
		
		
		
  	<item rdf:about="http://www.schwabe.net/blog/1/2007/11/Aptana-Studio-Released.cfm">
	<title>Aptana Studio Released!</title>
	<description>&lt;p&gt;I am truly impressed with what this group has brought to the development community.&amp;nbsp; Long ago I loved a code editor called &amp;quot;HomeSite+&amp;quot; which existed in several interesting flavors, ColdFusion Studio (i think?), and JRun Studio were two other flavors I remember.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;Then came the Dreamweaver shift...&amp;nbsp; I never really got on that bandwagon.&amp;nbsp; I resisted for a LONG time, then I tried it out, and just never really was thrilled with it.&amp;nbsp; I am a coder at heart.&lt;/p&gt;
&lt;p&gt;Then came Eclipse.&amp;nbsp; Great concept, just not for the masses.&amp;nbsp; Then came Eclipse 3, and then CFEclipse... then came Flex Builder and the RDS plugins, all good still, but not thrilling.&lt;/p&gt;
&lt;p&gt;HomeSite was great at letting you develop remotely.&amp;nbsp; Thats a big no-no in the software world now, but for web developers it is a big deal.&amp;nbsp; You don&apos;t always have _everything_ you need running on your laptop!&lt;/p&gt;
&lt;p&gt;Anyway, I got off track.&amp;nbsp; After all these tools, finally comes an attempt to bring it all together: Aptana Studio.&amp;nbsp; In its development stage as Aptana IDE, I fell in love with it (well, with MOST of it anyway...).&amp;nbsp; It all runs on Eclipse, and gives the basic developer everything he or she needs to code html, php, javascript, xml, css, etc.&amp;nbsp; All the things that were either missing, or painfully buggy or incomplete in Eclipse.&amp;nbsp; Not to mention an FTP (and secure FTP) system that actually works!&amp;nbsp; And you can create new empty files on remote ftp servers too (a lot of us have been waiting for this feature for a while).&lt;/p&gt;
&lt;p&gt;I can now safely say that I have found my HomeSite+ replacement :)&lt;/p&gt;
&lt;p&gt;Download it,&amp;nbsp;you know you want to: &lt;font face=&quot;Arial&quot;&gt;&lt;a href=&quot;http://www.aptana.com&quot;&gt;http://www.aptana.com/&lt;/a&gt;&lt;/font&gt; (its free)&lt;/p&gt;
&lt;p&gt;FYI, Aptana&amp;nbsp; was founded by Paul Colton, formerly of Allair.&amp;nbsp; If you can remember back that far, Allair was the company that originally built ColdFusion, before it was bought by Macromedia (and subsequently by Adobe).&lt;/p&gt;</description>
	<link>http://www.schwabe.net/blog/1/2007/11/Aptana-Studio-Released.cfm</link>
	<dc:date>2007-11-05T16:01:00-04:00</dc:date>
	
	<dc:subject>ColdFusion,Flex 3,Actionscript 3,google,gmail,Flex 3,Actionscript 3,Open Source,ipod/iphone,DRM,MP3,ColdFusion,Flex 2,ColdFusion,ColdFusion,Flex 2,google,maps,craigslist,google,charting,ColdFusion,sks,compliance,922r,Backup,Linux,Open Source,ColdFusion,Rants,Vista,Vista,Backup,Windows 2003,ColdFusion,Flex 2,PHP,Open Source,Eclipse</dc:subject>
	</item>
	
	
 	
		
		
		
		
		
  	<item rdf:about="http://www.schwabe.net/blog/1/2007/10/Designing-CFCs-for-use-with-Flex.cfm">
	<title>Designing CFCs for use with Flex</title>
	<description>&lt;p&gt;I have a design pattern for CFCs that I like to use, but recently I ran into an annoying problem where I was trying to use some of my already in-use CFC with a client written in flex, consuming the CFCs as web services.&lt;/p&gt;
&lt;p&gt;By finding a nice tip on Kyle Hayes&apos; blog (&lt;a href=&quot;http://www.kylehayes.info/blog/index.cfm/2007/5/14/ColdFusion-Struct-to-Flex-Untyped-Object-Gotcha&quot;&gt;see here&lt;/a&gt;), I was able to get things to working just the way I had hoped, and this blog entry will show how it all comes together.&lt;/p&gt;
&lt;p&gt;Here is the basic structure of my standard CFC&amp;nbsp; template:&lt;/p&gt;
&lt;font size=&quot;2&quot; color=&quot;#800000&quot;&gt;
&lt;p&gt;&amp;lt;cfcomponent&amp;gt;&lt;/p&gt;
&lt;blockquote style=&quot;margin-right: 0px;&quot; dir=&quot;ltr&quot;&gt;&lt;font size=&quot;2&quot; color=&quot;#800000&quot;&gt;&lt;font size=&quot;2&quot;&gt;
&lt;p align=&quot;left&quot;&gt;&amp;lt;cfset my = StructNew()&amp;gt; &lt;br /&gt;
&lt;/p&gt;
&lt;p align=&quot;left&quot;&gt;&lt;font size=&quot;2&quot; color=&quot;#800000&quot;&gt;&lt;font size=&quot;2&quot; color=&quot;#800000&quot;&gt;&lt;font size=&quot;2&quot; color=&quot;#800000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&amp;lt;cfset&lt;/font&gt;&lt;font size=&quot;2&quot;&gt; my.getList = &lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#000066&quot;&gt;structNew&lt;/font&gt;&lt;font size=&quot;2&quot;&gt;()&lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#800000&quot;&gt;/&amp;gt;&lt;br /&gt;
&lt;font size=&quot;2&quot; color=&quot;#800000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&amp;lt;cfset&lt;/font&gt;&lt;font size=&quot;2&quot;&gt; my.getList.error = &lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#ff0a0a&quot;&gt;0&lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#800000&quot;&gt;/&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p align=&quot;left&quot;&gt;&lt;font size=&quot;2&quot; color=&quot;#800000&quot;&gt;&lt;font size=&quot;2&quot; color=&quot;#800000&quot;&gt;&lt;font size=&quot;2&quot; color=&quot;#800000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#800000&quot;&gt;&amp;lt;cftry&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p align=&quot;left&quot;&gt;&lt;font size=&quot;2&quot; color=&quot;#800000&quot;&gt;&lt;font size=&quot;2&quot; color=&quot;#800000&quot;&gt;&lt;font size=&quot;2&quot; color=&quot;#800000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#800000&quot;&gt;&amp;lt;cfquery&lt;/font&gt;&lt;font size=&quot;2&quot;&gt; &lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#800000&quot;&gt;name=&lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#0000ff&quot;&gt;&amp;quot;qrsRESULTS&amp;quot;&lt;/font&gt;&lt;font size=&quot;2&quot;&gt; &lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#800000&quot;&gt;dataSource=&lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#0000ff&quot;&gt;&amp;quot;MY_DATASOURCE&amp;quot;&lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#800000&quot;&gt;&amp;gt;&lt;br /&gt;
&lt;font size=&quot;2&quot; color=&quot;#800000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/font&gt;&lt;strong&gt;&lt;font size=&quot;2&quot; color=&quot;#0000ff&quot;&gt;SELECT&lt;/font&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp;col1,col2,col3&lt;font size=&quot;2&quot; color=&quot;#800000&quot;&gt; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/font&gt;&lt;strong&gt;&lt;font size=&quot;2&quot; color=&quot;#0000ff&quot;&gt;FROM&lt;/font&gt;&lt;font size=&quot;2&quot;&gt; SOMETABLE&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;strong&gt;&lt;font size=&quot;2&quot; color=&quot;#0000ff&quot;&gt;WHERE&lt;/font&gt;&lt;font size=&quot;2&quot;&gt; &lt;/font&gt;&lt;strong&gt;&lt;font size=&quot;2&quot; color=&quot;#0000ff&quot;&gt;somevalue&lt;/font&gt;&lt;font size=&quot;2&quot;&gt; = &lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#ff0000&quot;&gt;&apos;#ARGUMENTS.somevalue#&apos;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#800000&quot;&gt;&amp;lt;/cfquery&amp;gt;&lt;/font&gt;&lt;/strong&gt;&lt;/strong&gt;&lt;/strong&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p align=&quot;left&quot;&gt;&lt;font size=&quot;2&quot; color=&quot;#800000&quot;&gt;&lt;font size=&quot;2&quot; color=&quot;#800000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;cfset&lt;/font&gt;&lt;font size=&quot;2&quot;&gt; my.getList.result = qrsRESULTS&lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#800000&quot;&gt;&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p align=&quot;left&quot;&gt;&lt;font size=&quot;2&quot; color=&quot;#800000&quot;&gt;&lt;font size=&quot;2&quot; color=&quot;#800000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#800000&quot;&gt;&amp;lt;cfcatch&lt;/font&gt;&lt;font size=&quot;2&quot;&gt; &lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#800000&quot;&gt;type=&lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#0000ff&quot;&gt;&amp;quot;any&amp;quot;&lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#800000&quot;&gt;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#800000&quot;&gt;&amp;lt;cfset&lt;/font&gt;&lt;font size=&quot;2&quot;&gt; my.getList.error = &lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#ff0a0a&quot;&gt;1&lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#800000&quot;&gt;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#800000&quot;&gt;&amp;lt;cfset&lt;/font&gt;&lt;font size=&quot;2&quot;&gt; my.getList.message = CFCATCH.message&lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#800000&quot;&gt;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#800000&quot;&gt;&amp;lt;/cfcatch&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p align=&quot;left&quot;&gt;&lt;font size=&quot;2&quot; color=&quot;#800000&quot;&gt;&lt;font size=&quot;2&quot; color=&quot;#800000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#800000&quot;&gt;&amp;lt;/cftry&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p align=&quot;left&quot;&gt;&lt;font size=&quot;2&quot; color=&quot;#800000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;cfreturn&lt;/font&gt;&lt;font size=&quot;2&quot;&gt; my.getList&lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#800000&quot;&gt;&amp;gt;&lt;br /&gt;
&lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#800000&quot;&gt;&amp;lt;/cffunction&amp;gt;&lt;/font&gt;&lt;/p&gt;
&lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#800000&quot;&gt;&amp;lt;cffunction&lt;/font&gt;&lt;font size=&quot;2&quot;&gt; &lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#800000&quot;&gt;name=&lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#0000ff&quot;&gt;&amp;quot;getStuffAsQuery&amp;quot;&lt;/font&gt;&lt;font size=&quot;2&quot;&gt; &lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#800000&quot;&gt;returntype=&lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#0000ff&quot;&gt;&amp;quot;struct&amp;quot;&lt;/font&gt;&lt;font size=&quot;2&quot;&gt; &lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#800000&quot;&gt;access=&lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#0000ff&quot;&gt;&amp;quot;remote&amp;quot;&lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#800000&quot;&gt;&amp;gt;&lt;br /&gt;
&lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#800000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;cfargument&lt;/font&gt;&lt;font size=&quot;2&quot;&gt; &lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#800000&quot;&gt;name=&lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#0000ff&quot;&gt;&amp;quot;somevalue&amp;quot;&lt;/font&gt;&lt;font size=&quot;2&quot;&gt; &lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#800000&quot;&gt;type=&lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#0000ff&quot;&gt;&amp;quot;string&amp;quot;&lt;/font&gt;&lt;font size=&quot;2&quot;&gt; &lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#800000&quot;&gt;required=&lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#0000ff&quot;&gt;&amp;quot;true&amp;quot;&lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#800000&quot;&gt;&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;font size=&quot;2&quot; color=&quot;#800000&quot;&gt;&amp;lt;/cfcomponent&amp;gt;&lt;/font&gt;&lt;/p&gt;
&lt;/font&gt;
&lt;p&gt;Note that the return value is &amp;quot;Struct&amp;quot; even though I am wanting to return a Query object (which Flex will auto-interpret to be an ArrayCollection).&amp;nbsp; Also note that I am constructing a structure with the named &amp;quot;my.{function name}&amp;quot; where all the values are stored.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;The main reason for making your CFC this way is so that you have a predictable way to check if each and every method call succeeds and a predictable way to get the results.&amp;nbsp; You can check the .error value of every call for success, and in your application (whether it be CF or Flex), take the appropriate error-handling steps.&lt;/p&gt;
&lt;p&gt;In Flex, you would define your webservice for the above CFC like so:&lt;/p&gt;
&lt;font face=&quot;Arial&quot;&gt;&lt;font size=&quot;2&quot; color=&quot;#3c3caa&quot;&gt;
&lt;p align=&quot;left&quot;&gt;&amp;lt;mx:WebService &lt;font face=&quot;Arial&quot;&gt;&lt;font size=&quot;2&quot; color=&quot;#3c3caa&quot;&gt;id=&lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#0000ff&quot;&gt;&amp;quot;wsdlService1&amp;quot;&lt;/font&gt;&lt;font size=&quot;2&quot;&gt; &lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#3c3caa&quot;&gt;wsdl=&lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#0000ff&quot;&gt;&amp;quot;http://www.host.comspam/stuff.cfc?wsdl&amp;quot;&lt;/font&gt;&lt;font size=&quot;2&quot;&gt; &lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#3c3caa&quot;&gt;showBusyCursor=&lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#0000ff&quot;&gt;&amp;quot;true&amp;quot;&lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#3c3caa&quot;&gt;&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p align=&quot;left&quot;&gt;&lt;font size=&quot;2&quot; color=&quot;#3c3caa&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;mx:operation&lt;/font&gt;&lt;font size=&quot;2&quot;&gt; &lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#3c3caa&quot;&gt;name=&lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#0000ff&quot;&gt;&amp;quot;getStuffAsQuery&amp;quot;&lt;/font&gt;&lt;font size=&quot;2&quot;&gt; &lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#3c3caa&quot;&gt;result=&lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#0000ff&quot;&gt;&amp;quot;handleMyResult(event)&amp;quot;&lt;/font&gt;&lt;font size=&quot;2&quot;&gt; &lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#3c3caa&quot;&gt;fault=&lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#0000ff&quot;&gt;&amp;quot;errorHandler(event)&amp;quot;&lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#3c3caa&quot;&gt;&amp;gt;&lt;br /&gt;
&lt;font size=&quot;2&quot; color=&quot;#3c3caa&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font size=&quot;2&quot; color=&quot;#3c3caa&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#3c3caa&quot;&gt;&amp;lt;mx:request&lt;/font&gt;&lt;font size=&quot;2&quot;&gt; &lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#3c3caa&quot;&gt;xmlns=&lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#0000ff&quot;&gt;&amp;quot;&amp;quot;&lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#3c3caa&quot;&gt;&amp;gt;&lt;br /&gt;
&lt;font size=&quot;2&quot; color=&quot;#3c3caa&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font size=&quot;2&quot; color=&quot;#3c3caa&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#3c3caa&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size=&quot;2&quot;&gt;&amp;lt;somevalue&amp;gt;{this you have to provide}&amp;lt;/somevalue&amp;gt;&lt;br /&gt;
&lt;font size=&quot;2&quot; color=&quot;#3c3caa&quot;&gt;&lt;font size=&quot;2&quot; color=&quot;#3c3caa&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#3c3caa&quot;&gt;&amp;lt;/mx:request&amp;gt;&lt;/font&gt;&lt;/p&gt;
&lt;p align=&quot;left&quot;&gt;&lt;font size=&quot;2&quot; color=&quot;#3c3caa&quot;&gt;&lt;font size=&quot;2&quot; color=&quot;#3c3caa&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&amp;lt;/mx:operation&amp;gt;&lt;/font&gt;&lt;/p&gt;
&lt;p align=&quot;left&quot;&gt;&lt;font size=&quot;2&quot; color=&quot;#3c3caa&quot;&gt;&amp;lt;/mx:WebService&amp;gt;&lt;/font&gt;&lt;br /&gt;
&lt;font size=&quot;2&quot; color=&quot;#3c3caa&quot;&gt;&lt;/font&gt;&lt;/p&gt;
&lt;/font&gt;&lt;font size=&quot;2&quot;&gt; &lt;/font&gt;&lt;/font&gt;
&lt;p&gt;To execute this web service call, you would do the following:&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Arial&quot; color=&quot;#993300&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; wsdlWhitelist.getListAsQuery.send()&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;When this call completes successfully, it will call the &amp;quot;handleMyResult()&amp;quot; function, and if it fails, it will call the &amp;quot;errorHandler()&amp;quot; function (see above code for these references).&lt;/p&gt;
&lt;p&gt;Lets look at the &amp;quot;handleMyResult()&amp;quot; function:&lt;/p&gt;
&lt;blockquote style=&quot;margin-right: 0px;&quot; dir=&quot;ltr&quot;&gt;&lt;font size=&quot;2&quot;&gt;
&lt;p align=&quot;left&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#0000ff&quot;&gt;public&lt;/font&gt;&lt;font size=&quot;2&quot;&gt; &lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#0000ff&quot;&gt;function&lt;/font&gt;&lt;font size=&quot;2&quot;&gt; handleMyResult(event&lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#0000ff&quot;&gt;:&lt;/font&gt;&lt;font size=&quot;2&quot;&gt;ResultEvent)&lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#0000ff&quot;&gt;:&lt;/font&gt;&lt;font size=&quot;2&quot;&gt;void&lt;br /&gt;
{&lt;br /&gt;
&lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#0000ff&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if&lt;/font&gt;&lt;font size=&quot;2&quot;&gt; (event&lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#0000ff&quot;&gt;.&lt;/font&gt;&lt;font size=&quot;2&quot;&gt;result&lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#0000ff&quot;&gt;.&lt;/font&gt;&lt;font size=&quot;2&quot;&gt;ERROR &lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#0000ff&quot;&gt;==&lt;/font&gt;&lt;font size=&quot;2&quot;&gt; &lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#ff0a0a&quot;&gt;0&lt;/font&gt;&lt;font size=&quot;2&quot;&gt;)&lt;br /&gt;
&lt;font size=&quot;2&quot; color=&quot;#0000ff&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;{&lt;br /&gt;
&lt;/font&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot; color=&quot;#0000ff&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font size=&quot;2&quot; color=&quot;#0000ff&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/font&gt;Alert&lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#0000ff&quot;&gt;.&lt;/font&gt;&lt;font size=&quot;2&quot;&gt;show(&lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#006600&quot;&gt;&amp;quot;Data received properly!&amp;quot;&lt;/font&gt;&lt;font size=&quot;2&quot;&gt;);&lt;br /&gt;
&lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#609960&quot;&gt;&lt;font size=&quot;2&quot; color=&quot;#0000ff&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font size=&quot;2&quot; color=&quot;#0000ff&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/font&gt;// query results are in variable &amp;quot;event.result.RESULT&amp;quot;&lt;br /&gt;
&lt;font size=&quot;2&quot; color=&quot;#609960&quot;&gt;&lt;font size=&quot;2&quot; color=&quot;#0000ff&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font size=&quot;2&quot; color=&quot;#0000ff&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/font&gt;//&amp;nbsp;Flex will automatically interpret this as an ArrayCollection&lt;br /&gt;
&lt;font size=&quot;2&quot; color=&quot;#609960&quot;&gt;&lt;font size=&quot;2&quot; color=&quot;#0000ff&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font size=&quot;2&quot; color=&quot;#0000ff&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/font&gt;//&amp;nbsp;so you can assign it as the data provider for a DataGrid, etc.&lt;/font&gt;&lt;/font&gt;&lt;br /&gt;
&lt;/font&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot; color=&quot;#0000ff&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;}&lt;br /&gt;
&lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#0000ff&quot;&gt;&lt;font size=&quot;2&quot; color=&quot;#0000ff&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;else&lt;br /&gt;
&lt;/font&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot; color=&quot;#0000ff&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;{&lt;br /&gt;
&lt;/font&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot; color=&quot;#0000ff&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font size=&quot;2&quot; color=&quot;#0000ff&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/font&gt;Alert&lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#0000ff&quot;&gt;.&lt;/font&gt;&lt;font size=&quot;2&quot;&gt;show(&lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#006600&quot;&gt;&amp;quot;There was an error loading data: &amp;quot;&lt;/font&gt;&lt;font size=&quot;2&quot;&gt; &lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#0000ff&quot;&gt;+&lt;/font&gt;&lt;font size=&quot;2&quot;&gt; event&lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#0000ff&quot;&gt;.&lt;/font&gt;&lt;font size=&quot;2&quot;&gt;result&lt;/font&gt;&lt;font size=&quot;2&quot; color=&quot;#0000ff&quot;&gt;.&lt;/font&gt;&lt;font size=&quot;2&quot;&gt;MESSAGE);&lt;br /&gt;
&lt;/font&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot; color=&quot;#0000ff&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;}&lt;br /&gt;
&lt;/font&gt;&lt;font size=&quot;2&quot;&gt;}&lt;/font&gt;&lt;/blockquote&gt;
&lt;p align=&quot;left&quot; dir=&quot;ltr&quot;&gt;&lt;font size=&quot;2&quot;&gt;In this function, the result event is passed in.&amp;nbsp; &amp;quot;result.event&amp;quot; contains whatever came back from the web service, which in our case is a ColdFusion struct.&amp;nbsp; Flex will interpret this as an untyped Object, just like a Flash Object.&amp;nbsp; The struct members from ColdFusion are there, but are object properties now.&amp;nbsp; The important thing to note here is that the &lt;strong&gt;names of the object properties that came from our ColdFusion struct are now all caps&lt;/strong&gt;.&amp;nbsp; In the CFC code, we had a property called &amp;quot;error&amp;quot; -- but in Flex, we have to reference that as &amp;quot;ERROR.&amp;quot;&amp;nbsp; Likewise, the RESULT and the MESSAGE properties are from our ColdFusion struct.&lt;/font&gt;&lt;/p&gt;
&lt;p align=&quot;left&quot; dir=&quot;ltr&quot;&gt;&lt;font size=&quot;2&quot;&gt;More later, and if you have questions, feel free to ask.&lt;/font&gt;&lt;/p&gt;</description>
	<link>http://www.schwabe.net/blog/1/2007/10/Designing-CFCs-for-use-with-Flex.cfm</link>
	<dc:date>2007-10-28T00:00:00-04:00</dc:date>
	
	<dc:subject>ColdFusion,Flex 3,Actionscript 3,google,gmail,Flex 3,Actionscript 3,Open Source,ipod/iphone,DRM,MP3,ColdFusion,Flex 2,ColdFusion,ColdFusion,Flex 2,google,maps,craigslist,google,charting,ColdFusion,sks,compliance,922r,Backup,Linux,Open Source,ColdFusion,Rants,Vista,Vista,Backup,Windows 2003,ColdFusion,Flex 2,PHP,Open Source,Eclipse,ColdFusion,Flex 2</dc:subject>
	</item>
	
	
 	
		
		
		
		
		
  	<item rdf:about="http://www.schwabe.net/blog/1/2007/10/pfSense--Router-OS.cfm">
	<title>pfSense - Router OS</title>
	<description>I recently started evaluating load-balancing solutions for our small office.&amp;nbsp; Verizon seems to never have a clue, and loves to spontaneously shut accounts down for no good reason, and without warning.&amp;nbsp; For any of your Verizon DSL or FiOS users -- beware!&lt;br /&gt;
&lt;br /&gt;
I have begun evaluating a hardware device called the HotBrick LB-2 which supposedly is designed specifically for taking two WANs and load balancing traffic (with failover).&amp;nbsp; Exactly what I want. While looking at prices, I came across discussion of an open source project called &lt;a href=&quot;http://www.pfsense.com/&quot;&gt;pfSense&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Now normally I will consider open source for applications I can customize, but I never really considered running something like this in place of our router or firewall.&lt;br /&gt;
&lt;br /&gt;
Documentation is scarce, but I have been discovering some impressive things about pfSense:&lt;br /&gt;
&lt;ul&gt;
    &lt;li&gt;It is based on m0n0wall -- an excellent BSD router OS with a web management interface&lt;/li&gt;
    &lt;li&gt;It can be run off a Live CD !!!&lt;/li&gt;
    &lt;li&gt;You can set it up to run in production off the live CD and save your changes to a USB key (no hard drive!!!)&lt;/li&gt;
    &lt;li&gt;It has built in support for load balancing WANs&lt;/li&gt;
    &lt;li&gt;It has built in QoS (Quality of Service) weighting, and it works for VOIP (Voice over IP)&lt;/li&gt;
&lt;/ul&gt;
All of these things add up to something that is a lot less scary... sort of...&lt;br /&gt;
&lt;br /&gt;
I am impressed enough that I will being a new project on the side (yeah, that means it will take a while) to setup a pfSense box for our office.&amp;nbsp; I expect my specific challenges will be around configuring the DMZ for our servers, which use static IPs on ONE of our WANs.&amp;nbsp; Once its load balanced, hopefully incoming traffic will go to the right place for the DMS, and outgoing (and VOIP phones) will be load balanced both ways.</description>
	<link>http://www.schwabe.net/blog/1/2007/10/pfSense--Router-OS.cfm</link>
	<dc:date>2007-10-02T18:50:55-04:00</dc:date>
	
	<dc:subject>ColdFusion,Flex 3,Actionscript 3,google,gmail,Flex 3,Actionscript 3,Open Source,ipod/iphone,DRM,MP3,ColdFusion,Flex 2,ColdFusion,ColdFusion,Flex 2,google,maps,craigslist,google,charting,ColdFusion,sks,compliance,922r,Backup,Linux,Open Source,ColdFusion,Rants,Vista,Vista,Backup,Windows 2003,ColdFusion,Flex 2,PHP,Open Source,Eclipse,ColdFusion,Flex 2,Firewall,Open Source</dc:subject>
	</item>
	
	
 	
		
		
		
		
		
  	<item rdf:about="http://www.schwabe.net/blog/1/2007/09/CF-United-Europe.cfm">
	<title>CF United Europe</title>
	<description>&lt;p&gt;&lt;a href=&quot;http://europe.cfunited.com&quot;&gt;&lt;img vspace=&quot;0&quot; hspace=&quot;5&quot; border=&quot;0&quot; align=&quot;right&quot; src=&quot;http://www.schwabe.net/images/speaker_button.gif&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;I&apos;ve been invited to speak at &lt;a href=&quot;http://europe.cfunited.com/&quot;&gt;CF United Europe&lt;/a&gt; to be held March 12-13 2008 in London (&lt;a href=&quot;http://europe.cfunited.com/go/travel&quot;&gt;Novotel London West&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;The official first list of speakers is posted here: &lt;font face=&quot;Arial&quot;&gt;&lt;a href=&quot;http://cfunited.com/blog/index.cfm/2007/9/11/CFUnited-Europe-Speakers-Announced&quot;&gt;http://cfunited.com/blog/index.cfm/2007/9/11/CFUnited-Europe-Speakers-Announced&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;Like CF United in Washington DC, CFUN Europe will be a fantastic place for CF developers to learn the nuts and bolts about building CF apps as well as learn best practices and new technologies that help us build powerful web apps quickly.&lt;/p&gt;
&lt;p&gt;As of right now, I will be speaking on two topics: Recursive technique with CF, and Coding with XML.&amp;nbsp; Both are topics I have spoken on before, but I will be sure to introduce some new tidbits as well.&lt;/p&gt;
&lt;p&gt;Leave comments if there is anything you would like me to add to these presentations!&lt;/p&gt;</description>
	<link>http://www.schwabe.net/blog/1/2007/09/CF-United-Europe.cfm</link>
	<dc:date>2007-09-11T00:00:00-04:00</dc:date>
	
	<dc:subject>ColdFusion,Flex 3,Actionscript 3,google,gmail,Flex 3,Actionscript 3,Open Source,ipod/iphone,DRM,MP3,ColdFusion,Flex 2,ColdFusion,ColdFusion,Flex 2,google,maps,craigslist,google,charting,ColdFusion,sks,compliance,922r,Backup,Linux,Open Source,ColdFusion,Rants,Vista,Vista,Backup,Windows 2003,ColdFusion,Flex 2,PHP,Open Source,Eclipse,ColdFusion,Flex 2,Firewall,Open Source,ColdFusion</dc:subject>
	</item>
	
	
 	
		
		
		
		
		
  	<item rdf:about="http://www.schwabe.net/blog/1/2007/08/Aflax--The-Ajax-Library-for-Adobe-Flash.cfm">
	<title>Aflax - The Ajax Library for Adobe Flash</title>
	<description>Just came across this very cool library.&amp;nbsp; Using Aflax, you can essentially create dynamic Flash content on the client side, as well as affect flash content using javascript functions.&amp;nbsp; I havent had time to really dig into it yet, but i found it blog worthy :)&amp;nbsp; Check it out at &lt;a href=&quot;http://www.aflax.org/&quot;&gt;http://www.aflax.org/&lt;/a&gt;</description>
	<link>http://www.schwabe.net/blog/1/2007/08/Aflax--The-Ajax-Library-for-Adobe-Flash.cfm</link>
	<dc:date>2007-08-30T00:00:00-04:00</dc:date>
	
	<dc:subject>ColdFusion,Flex 3,Actionscript 3,google,gmail,Flex 3,Actionscript 3,Open Source,ipod/iphone,DRM,MP3,ColdFusion,Flex 2,ColdFusion,ColdFusion,Flex 2,google,maps,craigslist,google,charting,ColdFusion,sks,compliance,922r,Backup,Linux,Open Source,ColdFusion,Rants,Vista,Vista,Backup,Windows 2003,ColdFusion,Flex 2,PHP,Open Source,Eclipse,ColdFusion,Flex 2,Firewall,Open Source,ColdFusion,Flash,Javascript</dc:subject>
	</item>
	
	
 	
		
		
		
		
		
  	<item rdf:about="http://www.schwabe.net/blog/1/2007/08/RAR-and-7Zip-compression-for-ColdFusion.cfm">
	<title>rar7z.cfc : RAR and 7-Zip compression for ColdFusion</title>
	<description>ColdFusion has built-in support for .zip archives (after all, CF is built on Java, and all those .jar files are actually just .zip files).&amp;nbsp; This works well for out-of-the box compression for most applications.&amp;nbsp; Where it doesn&apos;t work is when you have to work with much larger files.&amp;nbsp; java.util.zip craps out if you give it files over about 2GB.&amp;nbsp; In the modern world, many files are larger.&lt;br /&gt;
&lt;br /&gt;
So since I obviously came across this limitation, I explored options and determined that the world relies on rar and more recently on 7-zip for compression of larger files.&amp;nbsp; The most desired feature I was after was being able to split archives into smaller files.&amp;nbsp; My specific application was that I have a huge database backup file (9+GB) that I need to archive, but windows doesn&apos;t work too well with large files.&amp;nbsp; So with rar or 7-zip (or just 7z) you can compress large files and split them into smaller files so you can put them on a cd or dvd, etc.&lt;br /&gt;
&lt;br /&gt;
Now that I had a working solution, integrating it into my app is the issue, so I decided to write rar7z.cfc -- a wrapper for both rar and 7z compression utils.&lt;br /&gt;
&lt;br /&gt;
Here is version 1.0 -- &lt;a href=&quot;http://www.schwabe.net/lib_rar7z_cfc_v100.zip&quot;&gt;lib_rar7z_cfc_v100.zip&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
This is of course released as-is no warranty, no support, blah blah, and eventually if people like this, I will officially make it open source.&amp;nbsp; Its a small piece of code, so who knows how useful it will be.&lt;br /&gt;
&lt;br /&gt;
There are a few sample pieces of code to help figure out how to use is.&amp;nbsp; It is relatively easy:&lt;br /&gt;
&lt;br /&gt;
Compress a file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;cfinvoke component=&amp;quot;lib.rar7z&amp;quot; method=&amp;quot;compressFile&amp;quot; returnvariable=&amp;quot;compressFile&amp;quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;cfinvokeargument name=&amp;quot;SrcPathAndFile&amp;quot; value=&amp;quot;#ExpandPath(&amp;quot;.&amp;quot;)#\myfile.dat&amp;quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;cfinvokeargument name=&amp;quot;ArchivePathAndFile&amp;quot; value=&amp;quot;#ExpandPath(&amp;quot;.&amp;quot;)#\myfile.rar&amp;quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;cfinvokeargument name=&amp;quot;VolumeSize&amp;quot; value=&amp;quot;3500&amp;quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;cfinvokeargument name=&amp;quot;Timeout&amp;quot; value=&amp;quot;90&amp;quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;cfinvokeargument name=&amp;quot;Engine&amp;quot; value=&amp;quot;rar&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/cfinvoke&amp;gt;&lt;br /&gt;
&lt;br /&gt;
List an archive&apos;s contents:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;cfinvoke component=&amp;quot;lib.rar7z&amp;quot; method=&amp;quot;listContents&amp;quot; returnvariable=&amp;quot;listContents&amp;quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;cfinvokeargument name=&amp;quot;ArchivePathAndFile&amp;quot; value=&amp;quot;#ExpandPath(&amp;quot;.&amp;quot;)#\myfile.rar&amp;quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;cfinvokeargument name=&amp;quot;Timeout&amp;quot; value=&amp;quot;90&amp;quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;cfinvokeargument name=&amp;quot;Engine&amp;quot; value=&amp;quot;rar&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/cfinvoke&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Extract files from an archive:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;cfinvoke component=&amp;quot;lib.rar7z&amp;quot; method=&amp;quot;extractArchive&amp;quot; returnvariable=&amp;quot;extractArchive&amp;quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;cfinvokeargument name=&amp;quot;ArchivePathAndFile&amp;quot; value=&amp;quot;#ExpandPath(&amp;quot;.&amp;quot;)#\myfile.rar&amp;quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;cfinvokeargument name=&amp;quot;OutputDir&amp;quot; value=&amp;quot;#ExpandPath(&amp;quot;./extract&amp;quot;)#&amp;quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;cfinvokeargument name=&amp;quot;Timeout&amp;quot; value=&amp;quot;90&amp;quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;cfinvokeargument name=&amp;quot;Engine&amp;quot; value=&amp;quot;rar&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/cfinvoke&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If this cfc is helpful, tell people about it and leave comments!&amp;nbsp; If I know people are using it, I will work on it and improve it over time.&amp;nbsp; ciao</description>
	<link>http://www.schwabe.net/blog/1/2007/08/RAR-and-7Zip-compression-for-ColdFusion.cfm</link>
	<dc:date>2007-08-28T17:29:00-04:00</dc:date>
	
	<dc:subject>ColdFusion,Flex 3,Actionscript 3,google,gmail,Flex 3,Actionscript 3,Open Source,ipod/iphone,DRM,MP3,ColdFusion,Flex 2,ColdFusion,ColdFusion,Flex 2,google,maps,craigslist,google,charting,ColdFusion,sks,compliance,922r,Backup,Linux,Open Source,ColdFusion,Rants,Vista,Vista,Backup,Windows 2003,ColdFusion,Flex 2,PHP,Open Source,Eclipse,ColdFusion,Flex 2,Firewall,Open Source,ColdFusion,Flash,Javascript,ColdFusion</dc:subject>
	</item>
	
	
 	
		
		
		
		
		
  	<item rdf:about="http://www.schwabe.net/blog/1/2007/08/Flex-2-Boot-Camp.cfm">
	<title>Flex 2 Boot Camp</title>
	<description>I decided to attend a one-day bootcamp for Flex 2 in New York City which was piggy backed onto a RealWorld Java Conference.&amp;nbsp; Our instructors were Yakov Fain and Victor Rasputnis from www.faratasystems.com (they make some cool Flex add-ons you should check out).&lt;br /&gt;
&lt;br /&gt;
It was a day of intensive brain crunching.&amp;nbsp; It seemed to me that it was definitely aimed at Java developers (how many CF developers know what ant is?) more than anything else.&amp;nbsp; A lot of the topics covered were already very familiar to me, including a lot of the Flex code itself -- at least until the second part of the day.&amp;nbsp; What was significant about the second part of the day was the software engineering insight as to how to approach flex apps over the &amp;quot;out of the box&amp;quot; approach Adobe (and formerly Macromedia) used to present.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
We covered topics such as compiling re-usable code into SWC files, logging and optimizing data traffic between your DB and Flex using ADF instead of slower verbose web services.&amp;nbsp; These were topics I haven&apos;t seen covered anywhere else.&lt;br /&gt;
&lt;br /&gt;
Overall money well spent, though there were some clear holes in the offering as a whole.&amp;nbsp; We jumped into advanced topics pretty quickly; we only covered a few simple UI components; Mac problems.&amp;nbsp; Don&apos;t get me started on the Mac problems....&amp;nbsp; word to those out there:&amp;nbsp; Macs may me great for desktop publishing, but dont expect things to run smoothly when you are trying to develop enterprise class client-server apps on your Mac.&amp;nbsp; nuf sed.&lt;br /&gt;
&lt;br /&gt;
The Good:&lt;br /&gt;
&lt;blockquote&gt;- Low cost (around $1000)&lt;br /&gt;
- No long hotel stays&lt;br /&gt;
- Good material (enterprise application architecture, modularized code, technique)&lt;br /&gt;
- Good foundation of when/how to use Flex for an app.&lt;br /&gt;
- Excellent coverage of ADF and communication with server side apps&lt;br /&gt;
- You walk away with working code on your laptop&lt;br /&gt;
&lt;/blockquote&gt;The Bad:&lt;br /&gt;
&lt;blockquote&gt;- Don&apos;t expect all the dev software it to work on your Mac &lt;br /&gt;
(I use a PC -- with no problems i might add -- , so im not &amp;quot;talking&amp;quot; about myself here)&lt;br /&gt;
The Mac delays caused us to lose about an hour of instruction time -- which for a single day seminar really hurt.... (hey Yakov and Victor -- if you see this, maybe a discount is in order for future bootcamps?)&lt;br /&gt;
- Topics jumped from relatively simple to very advanced in the blink of an eye&lt;br /&gt;
- Not quite enough coverage of the UI components in Flex&lt;br /&gt;
- No coverage of &amp;quot;states&amp;quot; in Flex (pretty essential if you ask me)&lt;br /&gt;
- Not enough coverage of http and web service connections (since 90% of flex developers will use this exclusively over ADF/server side components)&lt;/blockquote&gt;Hope this is helpful.&amp;nbsp; Watch my blog for announcements of new exciting flex stuff I am building!</description>
	<link>http://www.schwabe.net/blog/1/2007/08/Flex-2-Boot-Camp.cfm</link>
	<dc:date>2007-08-13T00:00:00-04:00</dc:date>
	
	<dc:subject>ColdFusion,Flex 3,Actionscript 3,google,gmail,Flex 3,Actionscript 3,Open Source,ipod/iphone,DRM,MP3,ColdFusion,Flex 2,ColdFusion,ColdFusion,Flex 2,google,maps,craigslist,google,charting,ColdFusion,sks,compliance,922r,Backup,Linux,Open Source,ColdFusion,Rants,Vista,Vista,Backup,Windows 2003,ColdFusion,Flex 2,PHP,Open Source,Eclipse,ColdFusion,Flex 2,Firewall,Open Source,ColdFusion,Flash,Javascript,ColdFusion,Java,Flex 2</dc:subject>
	</item>
	
	
 	
		
		
		
		
		
  	<item rdf:about="http://www.schwabe.net/blog/1/2007/07/Rant-Why-wont-technology-professionals-document-their-work-.cfm">
	<title>Rant: Why won&apos;t technology professionals document their work ???</title>
	<description>I find this whole concept perplexing!?!?!?&amp;nbsp; Unfortunately it seems the growing norm that technology professionals are pushed to the limit so often that when they start to bend under pressure, the first thing to go is their &amp;quot;ability to document.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
It would seem perfectly respectable if you were doing an integration job with a new firm that doesn&apos;t know your technology, you should give them documentation on how to use it right ?&amp;nbsp; Why is it such a big deal to get documentation like this ???&amp;nbsp; It seems that the industry is growing to a point where &amp;quot;well, here is something to get you started, you figure out the rest and call me when you get stuck&amp;quot; is the growing norm.&lt;br /&gt;
&lt;br /&gt;
Shame on us for letting it get this bad.&amp;nbsp; I&apos;ve done it to, so I don&apos;t excuse myself.&amp;nbsp; But i&apos;ve also learned from my mistakes too...&amp;nbsp; Now I document most of what I do, for the sole reason that I work on so many projects that when I need to pick up an old project, I better have some notes on how it works or else I won&apos;t remember.&lt;br /&gt;
&lt;br /&gt;
So there is the rant for July.&amp;nbsp; I am up for suggestion on how technology professionals can make it easier to document our work in languages other intelligent life forms can understand.</description>
	<link>http://www.schwabe.net/blog/1/2007/07/Rant-Why-wont-technology-professionals-document-their-work-.cfm</link>
	<dc:date>2007-07-26T21:17:16-04:00</dc:date>
	
	<dc:subject>ColdFusion,Flex 3,Actionscript 3,google,gmail,Flex 3,Actionscript 3,Open Source,ipod/iphone,DRM,MP3,ColdFusion,Flex 2,ColdFusion,ColdFusion,Flex 2,google,maps,craigslist,google,charting,ColdFusion,sks,compliance,922r,Backup,Linux,Open Source,ColdFusion,Rants,Vista,Vista,Backup,Windows 2003,ColdFusion,Flex 2,PHP,Open Source,Eclipse,ColdFusion,Flex 2,Firewall,Open Source,ColdFusion,Flash,Javascript,ColdFusion,Java,Flex 2,Rants</dc:subject>
	</item>
	
	
 	
		
		
		
		
		
  	<item rdf:about="http://www.schwabe.net/blog/1/2007/07/Aptana-plugin-for-Eclipse.cfm">
	<title>Aptana plugin for Eclipse</title>
	<description>Hopefully a lot of you ColdFusion developers are using Eclipse now with the CFEclipse plugin.&amp;nbsp; Many developers dont know about the Aptana plugin however (http://www.aptana.com/).&amp;nbsp; This free plugin gives you all the stuff that you miss from DreamWeaver or Homesite+ -- html and css editing, etc.&amp;nbsp; In addition you get an XML editor, and a fantastic ftp interface, which is sorely needed in Eclipse.&amp;nbsp; Aptana has a very nice ftp synchronization tool set which allows you to effectively develop locally and synchronize to an ftp site.&lt;br /&gt;
&lt;br /&gt;
For those who are curious about how we have our Eclipse configured, here it is:&lt;br /&gt;
&lt;br /&gt;
Eclipse 3.2.x&lt;br /&gt;
CF Eclipse 1.3.x&lt;br /&gt;
RDS Plugin (from Flex Builder 2)&lt;br /&gt;
Aptana plugins&lt;br /&gt;
Violet UML plugin</description>
	<link>http://www.schwabe.net/blog/1/2007/07/Aptana-plugin-for-Eclipse.cfm</link>
	<dc:date>2007-07-17T09:36:05-04:00</dc:date>
	
	<dc:subject>ColdFusion,Flex 3,Actionscript 3,google,gmail,Flex 3,Actionscript 3,Open Source,ipod/iphone,DRM,MP3,ColdFusion,Flex 2,ColdFusion,ColdFusion,Flex 2,google,maps,craigslist,google,charting,ColdFusion,sks,compliance,922r,Backup,Linux,Open Source,ColdFusion,Rants,Vista,Vista,Backup,Windows 2003,ColdFusion,Flex 2,PHP,Open Source,Eclipse,ColdFusion,Flex 2,Firewall,Open Source,ColdFusion,Flash,Javascript,ColdFusion,Java,Flex 2,Rants,Java,ColdFusion,Flex 2,Eclipse</dc:subject>
	</item>
	
	
 	
		
		
		
		
		
  	<item rdf:about="http://www.schwabe.net/blog/1/2007/07/CFUN-2007-Presentation-Updated-postconference.cfm">
	<title>CFUN 2007 Presentation Updated post-conference</title>
	<description>&lt;p&gt;For those that requested it, here ar emy updated presentation files, including the code that I updated and write during the session.&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Arial&quot;&gt;&lt;a href=&quot;http://www.schwabe.net/cfun07_coding_with_xml_updated.zip&quot;&gt;cfun07_coding_with_xml_updated.zip&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;</description>
	<link>http://www.schwabe.net/blog/1/2007/07/CFUN-2007-Presentation-Updated-postconference.cfm</link>
	<dc:date>2007-07-09T09:56:15-04:00</dc:date>
	
	<dc:subject>ColdFusion,Flex 3,Actionscript 3,google,gmail,Flex 3,Actionscript 3,Open Source,ipod/iphone,DRM,MP3,ColdFusion,Flex 2,ColdFusion,ColdFusion,Flex 2,google,maps,craigslist,google,charting,ColdFusion,sks,compliance,922r,Backup,Linux,Open Source,ColdFusion,Rants,Vista,Vista,Backup,Windows 2003,ColdFusion,Flex 2,PHP,Open Source,Eclipse,ColdFusion,Flex 2,Firewall,Open Source,ColdFusion,Flash,Javascript,ColdFusion,Java,Flex 2,Rants,Java,ColdFusion,Flex 2,Eclipse,ColdFusion</dc:subject>
	</item>
	
	
 	
		
		
		
		
		
  	<item rdf:about="http://www.schwabe.net/blog/1/2007/07/Windows-2003-and-WidComm-Bluetooth-Drivers.cfm">
	<title>Windows 2003 and WidComm Bluetooth Drivers</title>
	<description>Once a long time ago, in a galaxy far far errr... yeah.&amp;nbsp; I once had my bluetooth key setup and working great on Windows 2003.&amp;nbsp; I have since switched to a new laptop and now BT doesn&apos;t work again, so I tried to find my documentation on how I did what I did, and was unsuccessful.&lt;br /&gt;
&lt;br /&gt;
To get to the point, I did it again, and I have it documented now.&amp;nbsp; Now my struggle becomes your asset.&lt;br /&gt;
&lt;br /&gt;
Here we go:&lt;br /&gt;
&lt;br /&gt;
&lt;p&gt;These are my notes to get Bluetooth support working in  Windows 2003, using the WidComm family of Bluetooth software (the kind that  comes with USB keys, and such, not the built-in windows stuff).&amp;nbsp; Most people  have problems with their built-in stuff because the software bombs with a  &amp;quot;license.dat&amp;quot; error.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;First:&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote style=&quot;margin-right: 0px;&quot; dir=&quot;ltr&quot;&gt;
&lt;p&gt;Make sure you find and install drivers for your USB  bluetooth device.&amp;nbsp; For me, the drivers were on the CD that came with the  dongle.&amp;nbsp; If you don&apos;t have the CD, then you have bigger problems, and I wish you luck.&lt;br /&gt;
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p dir=&quot;ltr&quot;&gt;&lt;strong&gt;Next: &lt;/strong&gt;&lt;/p&gt;
&lt;blockquote style=&quot;margin-right: 0px;&quot; dir=&quot;ltr&quot;&gt;
&lt;p dir=&quot;ltr&quot;&gt;Software Installation:&lt;/p&gt;
&lt;p dir=&quot;ltr&quot;&gt;You can refer to these sites for relevant  information: &lt;a href=&quot;http://www.jonsguides.com/bluetooth/&quot;&gt;http://www.jonsguides.com/bluetooth/&lt;/a&gt;&amp;nbsp;and  &lt;a href=&quot;http://www.neowin.net/forum/lofiversion/index.php/t309692.html&quot;&gt;http://www.neowin.net/forum/lofiversion/index.php/t309692.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul dir=&quot;ltr&quot;&gt;
    &lt;li&gt;
    &lt;div&gt;Download IBM&apos;s WidComm package.&amp;nbsp; At the time of writing,  the current link was &lt;a href=&quot;ftp://ftp.software.ibm.com/pc/pccbbs/mobiles/bthwxp1o.exe&quot;&gt;ftp://ftp.software.ibm.com/pc/pccbbs/mobiles/bthwxp1o.exe&lt;/a&gt;&lt;/div&gt;
    &lt;/li&gt;
    &lt;li&gt;
    &lt;div&gt;Download the license patcher here: &lt;a href=&quot;http://www.dev-hack.com/pafiledb/index.php?act=view&amp;amp;id=3&quot;&gt;http://www.dev-hack.com/pafiledb/index.php?act=view&amp;amp;id=3&lt;/a&gt;&amp;nbsp;(this  is a different util than many ppl refer too, although I found this very easy to use)&lt;/div&gt;
    &lt;/li&gt;
    &lt;li&gt;
    &lt;div&gt;Run &lt;u&gt;&lt;font color=&quot;#0000ff&quot;&gt;bthwxp1o.exe&lt;/font&gt;&lt;/u&gt; (you may need to reboot -- I did not however)&lt;u&gt;&lt;font color=&quot;#0000ff&quot;&gt;&lt;br /&gt;
    &lt;/font&gt;&lt;/u&gt;&lt;/div&gt;
    &lt;ul&gt;
        &lt;li&gt;
        &lt;div&gt;When finished, you should have a bluetooth icon in your  system tray -- probably RED because of license.dat errors.&lt;/div&gt;
        &lt;/li&gt;
    &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;
    &lt;div&gt;Use task manager and kill bttray.exe&lt;/div&gt;
    &lt;/li&gt;
    &lt;li&gt;
    &lt;div&gt;Run WidcommLicensePatcher.exe&lt;/div&gt;
    &lt;ul&gt;
        &lt;li&gt;
        &lt;div&gt;Pick the appropriate bluetooth device from the drop-down  list&lt;/div&gt;
        &lt;/li&gt;
        &lt;li&gt;
        &lt;div&gt;Click the save button&lt;/div&gt;
        &lt;/li&gt;
    &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;
    &lt;div&gt;Restart bttray.exe (or reboot).&amp;nbsp; The bluetooth icon should  show up, and be white, showing proper license.&lt;/div&gt;
    &lt;/li&gt;
    &lt;li&gt;
    &lt;div&gt;Drink beer and celebrate as you have done what many have  not been able to do.&lt;/div&gt;
    &lt;/li&gt;
&lt;/ul&gt;
Hope this is helpful!</description>
	<link>http://www.schwabe.net/blog/1/2007/07/Windows-2003-and-WidComm-Bluetooth-Drivers.cfm</link>
	<dc:date>2007-07-05T14:52:17-04:00</dc:date>
	
	<dc:subject>ColdFusion,Flex 3,Actionscript 3,google,gmail,Flex 3,Actionscript 3,Open Source,ipod/iphone,DRM,MP3,ColdFusion,Flex 2,ColdFusion,ColdFusion,Flex 2,google,maps,craigslist,google,charting,ColdFusion,sks,compliance,922r,Backup,Linux,Open Source,ColdFusion,Rants,Vista,Vista,Backup,Windows 2003,ColdFusion,Flex 2,PHP,Open Source,Eclipse,ColdFusion,Flex 2,Firewall,Open Source,ColdFusion,Flash,Javascript,ColdFusion,Java,Flex 2,Rants,Java,ColdFusion,Flex 2,Eclipse,ColdFusion,Windows 2003,Bluetooth</dc:subject>
	</item>
	
	
 	
		
		
		
		
		
  	<item rdf:about="http://www.schwabe.net/blog/1/2007/07/CFDJ-Article-on-XML.cfm">
	<title>CFDJ Article on XML</title>
	<description>&lt;p&gt;For those who may be interested, CFDJ was kind enough to publish an article I wrote about XML.&amp;nbsp; Here is the link:&lt;/p&gt;
&lt;blockquote&gt;&lt;a href=&quot;http://coldfusion.sys-con.com/read/386325.htm&quot;&gt;ColdFusion Feature &amp;mdash; Coding with XML&lt;/a&gt; &amp;mdash; As a ColdFusion developer, hopefully by now you have heard at least a little about XML (eXtensible Markup Language). Wikipedia defines XML as a &apos;general-purpose markup language&apos; designed to &apos;facilitate the sharing of data&apos; and also designed to be &apos;relatively human-legible.&apos;&lt;/blockquote&gt;</description>
	<link>http://www.schwabe.net/blog/1/2007/07/CFDJ-Article-on-XML.cfm</link>
	<dc:date>2007-07-03T14:55:36-04:00</dc:date>
	
	<dc:subject>ColdFusion,Flex 3,Actionscript 3,google,gmail,Flex 3,Actionscript 3,Open Source,ipod/iphone,DRM,MP3,ColdFusion,Flex 2,ColdFusion,ColdFusion,Flex 2,google,maps,craigslist,google,charting,ColdFusion,sks,compliance,922r,Backup,Linux,Open Source,ColdFusion,Rants,Vista,Vista,Backup,Windows 2003,ColdFusion,Flex 2,PHP,Open Source,Eclipse,ColdFusion,Flex 2,Firewall,Open Source,ColdFusion,Flash,Javascript,ColdFusion,Java,Flex 2,Rants,Java,ColdFusion,Flex 2,Eclipse,ColdFusion,Windows 2003,Bluetooth,ColdFusion</dc:subject>
	</item>
	
	
 	
		
		
		
		
		
  	<item rdf:about="http://www.schwabe.net/blog/1/2007/06/XMLValidate-and-WDDX.cfm">
	<title>XMLValidate and WDDX</title>
	<description>&lt;p&gt;A nice CFUN attendee inquired of me: &amp;quot;Can XMLValidate validate wddx packets ?&amp;quot; to which I did not have an authoritative answer.&amp;nbsp; My intuition told me that yes it can validate that the wddx is well formed, since WDDX is simply XML, but that it probably would not be &amp;quot;valid&amp;quot; since I don&apos;t know the DTD to validate against.&amp;nbsp; So here IS the answer.&lt;/p&gt;
&lt;p&gt;Exactly as I had thought!&lt;/p&gt;
&lt;p&gt;wddx strings validate using XMLValidate to be well formed, but not valid.&amp;nbsp; Here is some sample code to play with:&lt;/p&gt;
&lt;div&gt;&lt;font face=&quot;Courier New&quot; color=&quot;#0000ff&quot;&gt;&amp;lt;cfset mystruct = structnew()&amp;gt;&lt;br /&gt;
&amp;lt;cfset mystruct.name = &amp;quot;Andrew Schwabe&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;cfset mystruct.email = &amp;quot;&lt;/font&gt;&lt;a href=&quot;mailto:aschwabe@iexp.com&quot;&gt;&lt;font face=&quot;Courier New&quot; color=&quot;#0000ff&quot;&gt;aschwabe@iexp.com&lt;/font&gt;&lt;/a&gt;&lt;font face=&quot;Courier New&quot; color=&quot;#0000ff&quot;&gt;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;cfset mystruct.age = &amp;quot;25&amp;quot;&amp;gt; &amp;lt;!--- yeahh right! haha ---&amp;gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=&quot;Courier New&quot; color=&quot;#0000ff&quot;&gt;&amp;lt;cfwddx action=&amp;quot;cfml2wddx&amp;quot; input=&amp;quot;#mystruct#&amp;quot; output=&amp;quot;wddxMyStruct&amp;quot;&amp;gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=&quot;Courier New&quot; color=&quot;#0000ff&quot;&gt;&amp;lt;cfdump var=&amp;quot;#wddxMyStruct#&amp;quot;&amp;gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=&quot;Courier New&quot; color=&quot;#0000ff&quot;&gt;&amp;lt;cfdump var=&amp;quot;#XmlValidate(wddxMyStruct)#&amp;quot;&amp;gt;&lt;/font&gt;&lt;/div&gt;</description>
	<link>http://www.schwabe.net/blog/1/2007/06/XMLValidate-and-WDDX.cfm</link>
	<dc:date>2007-06-29T20:43:02-04:00</dc:date>
	
	<dc:subject>ColdFusion,Flex 3,Actionscript 3,google,gmail,Flex 3,Actionscript 3,Open Source,ipod/iphone,DRM,MP3,ColdFusion,Flex 2,ColdFusion,ColdFusion,Flex 2,google,maps,craigslist,google,charting,ColdFusion,sks,compliance,922r,Backup,Linux,Open Source,ColdFusion,Rants,Vista,Vista,Backup,Windows 2003,ColdFusion,Flex 2,PHP,Open Source,Eclipse,ColdFusion,Flex 2,Firewall,Open Source,ColdFusion,Flash,Javascript,ColdFusion,Java,Flex 2,Rants,Java,ColdFusion,Flex 2,Eclipse,ColdFusion,Windows 2003,Bluetooth,ColdFusion,ColdFusion</dc:subject>
	</item>
	
	
 	
		
		
		
		
		
  	<item rdf:about="http://www.schwabe.net/blog/1/2007/06/CFUN-07-is-Winding-Down--Some-thoughts.cfm">
	<title>CFUN 07 is Winding Down.  Some thoughts...</title>
	<description>&lt;p&gt;This year&apos;s CF United was great.&amp;nbsp; Lots of exciting news about CF8 and Flex 3.&amp;nbsp; I do have to say though, that I really would like to see some hands-on sessions.&amp;nbsp; At the final session tonite, some people suggested some great ideas for future CFUN events.&amp;nbsp; The couple that stand out to me (aka, the ones I remember) were: Have a coding contest amongst attendees, allow attendees to nominate products for a best of show type award, and a way for attendees from different geographic areas to connect.&amp;nbsp; (i.e. I&apos;m from mytown, OH, who else here is from my area ??)&lt;/p&gt;
&lt;p&gt;This morning I attended a session by John Ashelfelter called &amp;quot;Pragmatic ColdFusion: Build, Test, Deploy.&amp;quot;&amp;nbsp; It was a great session about the necessity of having a completely automated build system.&amp;nbsp; he spoke about how to do this integrating Subversion (code versioning), and open source QA testing packages so you can have a completely hands-off way to generate builds of your product that go through a standard QA process on the server, resulting in reports that tell you how things ran.&amp;nbsp; Quite nice.&lt;/p&gt;
&lt;p&gt;In that talk, an attendee contributed that there is a hidden tax in CF called &amp;lt;CFANT&amp;gt; -- this is a tremendously valuable tool, so I am trying spread the word about it, so hopefully we can get some help on how to use it.&amp;nbsp; It is an undocumented tag, so be careful using it -- it is not officially supported.&lt;/p&gt;
&lt;p&gt;Anyway, I hope the participants who came to my talk enjoyed it.&amp;nbsp; I&apos;d love some feedback if any of you are out there reading!&lt;/p&gt;
&lt;p&gt;ciao&lt;/p&gt;</description>
	<link>http://www.schwabe.net/blog/1/2007/06/CFUN-07-is-Winding-Down--Some-thoughts.cfm</link>
	<dc:date>2007-06-29T18:52:00-04:00</dc:date>
	
	<dc:subject>ColdFusion,Flex 3,Actionscript 3,google,gmail,Flex 3,Actionscript 3,Open Source,ipod/iphone,DRM,MP3,ColdFusion,Flex 2,ColdFusion,ColdFusion,Flex 2,google,maps,craigslist,google,charting,ColdFusion,sks,compliance,922r,Backup,Linux,Open Source,ColdFusion,Rants,Vista,Vista,Backup,Windows 2003,ColdFusion,Flex 2,PHP,Open Source,Eclipse,ColdFusion,Flex 2,Firewall,Open Source,ColdFusion,Flash,Javascript,ColdFusion,Java,Flex 2,Rants,Java,ColdFusion,Flex 2,Eclipse,ColdFusion,Windows 2003,Bluetooth,ColdFusion,ColdFusion,ColdFusion</dc:subject>
	</item>
	
	
 	
	</rdf:RDF>
	

