<?xml version="1.0" encoding="utf-8"?>
			
			<rss version="2.0">
			<channel>
			<title>ScottPinkston.org - ColdFusion</title>
			<link>http://www.scottpinkston.org/blog/index.cfm</link>
			<description>there is much to be learned</description>
			<language>en-us</language>
			<pubDate>Sat, 25 May 2013 00:30:52 -0500</pubDate>
			<lastBuildDate>Sat, 22 Aug 2009 22:12:00 -0500</lastBuildDate>
			<generator>BlogCFC</generator>
			<docs>http://blogs.law.harvard.edu/tech/rss</docs>
			<managingEditor>spinkston@scottpinkston.org</managingEditor>
			<webMaster>spinkston@scottpinkston.org</webMaster>
			
			
			
			
			
			<item>
				<title>Dynamically rotating images with jQuery Cycle and ColdFusion</title>
				<link>http://www.scottpinkston.org/blog/index.cfm/2009/8/22/Dynamically-rotating-images-with-jQuery-Cycle-and-ColdFusion</link>
				<description>
				
				jQuery &lt;a href=&quot;http://malsup.com/jquery/cycle/&quot;&gt;Cycle&lt;/a&gt; provides a lightweight slideshow plugin.  It is super simple to drop in and create a great looking slideshow.  The real trick to is to ColdFusion to grab the images from a directory then randomly sort the results to create a unique slideshow for each visitor.

Production sites may need to add caching for the directory calls.

&lt;br&gt;
&lt;b&gt;
&lt;a href=&quot;http://www.scottpinkston.org/demos/slideshow/index.cfm&quot;&gt;Demonstration&lt;/a&gt;
&lt;/b&gt;
&lt;br&gt;

&lt;h3&gt;Complete Code&lt;/h3&gt;
&lt;code&gt;

&lt;script type=&quot;text/javascript&quot; src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;jquery.cycle.all.min.js&quot;&gt;&lt;/script&gt;

&lt;style&gt;
	.pics {
		height:187px;
		width:250px;
		padding:3px 5px 5px 3px;
		background:#f1f1f1;
		border-right:1px solid #d0d0d0;
		border-bottom:1px solid #d0d0d0;
	}
	
	.slideshow {
		position: relative;
		width: 260px;
		height: 195px;
		overflow: hidden;
	}
&lt;/style&gt;

&lt;cfsilent&gt;
	&lt;cfdirectory 
			action=&quot;list&quot; 
			directory=&quot;#expandPath(&quot;./images&quot;)#&quot; 
			filter=&quot;*.jpg&quot; 
			name=&quot;getImages&quot;&gt;

	&lt;cfset picsList = valueList(getImages.name)&gt;

	&lt;!---
		Taken from these helpful posts:
		http://www.bennadel.com/blog/219-Randomly-Sorting-A-ColdFusion-List.htm
		http://www.mollerus.net/tom/blog/2008/03/creating_randomlyordered_lists.html
	 ---&gt;

	&lt;cfset picListArray = ListToArray(picsList)&gt;

	&lt;cfset result = arrayNew(1)&gt;
	
        &lt;!--- set to = maximum images to display ---&gt;
	&lt;cfloop from=&quot;1&quot; to=&quot;#getImages.recordCount#&quot; index=&quot;i&quot;&gt;

		&lt;cfset randomPos = RandRange(1, ArrayLen(PiclistArray)) /&gt;
		&lt;cfset ArrayAppend(result, PiclistArray[randomPos]) /&gt;
		&lt;cfset ArrayDeleteAt(PiclistArray, randomPos) /&gt;

	&lt;/cfloop&gt;

	&lt;cfset picsList = arrayToList(result)&gt;
&lt;/cfsilent&gt;

&lt;div class=&quot;slideshow&quot;&gt;
	&lt;cfloop list=&quot;#picsList#&quot; index=&quot;i&quot;&gt;
		&lt;cfoutput&gt;&lt;img src=&quot;images/#i#&quot; class=&quot;pics&quot; &lt;cfif listgetAt(picsList,1) neq i&gt;style=&quot;display:none;&quot;&lt;/cfif&gt;&gt;&lt;/cfoutput&gt;	
	&lt;/cfloop&gt;
&lt;/div&gt;

&lt;script type=&quot;text/javascript&quot;&gt;
$(document).ready(function() {
    $(&apos;.slideshow&apos;).cycle({
		fx: &apos;fade&apos;
	});
});
&lt;/script&gt;

&lt;/code&gt;

&lt;br&gt;
&lt;b&gt;UPDATE: &lt;/b&gt; Michael Evangelista has a very good advanced post on this subject - &lt;a href=&quot;http://www.miuaiga.com/index.cfm/2008/11/25/ColdFusion---jQuery-Cycle-Slideshow-Custom-Tag&quot;&gt;Visit his post here&lt;/a&gt;



&lt;!--NetworkedBlogs Start--&gt;&lt;style type=&quot;text/css&quot;&gt;&lt;!--.networkedblogs_widget a {text-decoration:none;color:#3B5998;font-weight:normal;}.networkedblogs_widget .networkedblogs_footer a {text-decoration:none;color:#FFFFFF;font-weight:normal;}--&gt;&lt;/style&gt;&lt;div id=&apos;networkedblogs_container&apos; style=&apos;height:180px;padding-top:20px;&apos;&gt;&lt;div id=&apos;networkedblogs_above&apos;&gt;&lt;/div&gt;&lt;div id=&apos;networkedblogs_widget&apos; style=&quot;width:120px;margin:0px auto;padding:0px 0px 3px 0px;font-family:&apos;lucida grande&apos;,tahoma,Verdana,Arial,Sans-Serif;font-size:11px;font-weight:normal;text-decoration:none;background:#3B5998 none repeat scroll 0% 0%;border:none;line-height:13px;&quot;&gt;&lt;div id=&apos;networkedblogs_header&apos; style=&quot;padding:1px 1px 2px 3px;text-align:left;&quot;&gt;&lt;a href=&apos;http://www.facebook.com/apps/application.php?id=9953271133&apos; style=&quot;text-decoration:none;color:#FFFFFF;font-weight:normal;font-size:11px;background-repeat:no-repeat;&quot;&gt;NetworkedBlogs&lt;/a&gt;&lt;/div&gt;&lt;div id=&apos;networkedblogs_body&apos; style=&quot;background-color:#FFFFFF;color:#444444;padding:4px;border-left:1px solid #D8DFEA;border-right:1px solid #D8DFEA;text-align:left;&quot;&gt;&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot;&gt;&lt;tr&gt;&lt;td&gt;&lt;span style=&quot;color:#777777;&quot;&gt;Blog:&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://networkedblogs.com/blog/scott_pinkston/&quot; style=&quot;text-decoration:none;color:#3B5998;&quot;&gt;Scott Pinkston&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;div style=&quot;padding:0px;padding-top:5px;color:#777777;&quot;&gt;Topics:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a target=&apos;_blank&apos; href=&apos;http://networkedblogs.com/topic/ColdFusion&apos; style=&apos;text-decoration:none;color:#3B5998;&apos;&gt;ColdFusion&lt;/a&gt;, &lt;a target=&apos;_blank&apos; href=&apos;http://networkedblogs.com/topic/Technology&apos; style=&apos;text-decoration:none;color:#3B5998;&apos;&gt;Technology&lt;/a&gt;, &lt;a target=&apos;_blank&apos; href=&apos;http://networkedblogs.com/topic/Education&apos; style=&apos;text-decoration:none;color:#3B5998;&apos;&gt;Education&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;div id=&apos;networkedblogs_badges&apos;&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;div style=&apos;padding:0px;text-align:center;&apos;&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://networkedblogs.com/blog/scott_pinkston/?ahash=ba1ddd2ab6325192e4561cedba1cd657&quot; style=&quot;text-decoration:none;color:#666666;font-weight:normal;font-size:10px;&quot;&gt;Follow my blog&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;div id=&apos;networkedblogs_below&apos; class=&apos;networkedblogs_below&apos;&gt;&lt;/div&gt;&lt;/div&gt;&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
if(typeof(networkedblogs)==&quot;undefined&quot;){networkedblogs = {};networkedblogs.blogId=417979;networkedblogs.shortName=&quot;scott_pinkston&quot;;}
--&gt;&lt;/script&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;http://widget.networkedblogs.com/getwidget?bid=417979&quot;&gt;&lt;/script&gt;&lt;!--NetworkedBlogs End--&gt;
				
				</description>
						
				
				<category>ColdFusion</category>				
				
				<pubDate>Sat, 22 Aug 2009 22:12:00 -0500</pubDate>
				<guid>http://www.scottpinkston.org/blog/index.cfm/2009/8/22/Dynamically-rotating-images-with-jQuery-Cycle-and-ColdFusion</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>combining jQuery and onRequestEnd to change client code</title>
				<link>http://www.scottpinkston.org/blog/index.cfm/2009/3/13/combining-jQuery-and-onRequestEnd-to-change-client-code</link>
				<description>
				
				Open source saves lives, closed source is evil.
We have all encountered encrypted or pre-compiled Java bytecode cfm/cfc files.  Seldom times the original developers have left us options to change links, rename fields, change form action pages, add form fields, and even hide sections of the pages.  What if you could (or had to) leave the original code in place and still make the changes on the client side of the code?  What if I told you it was FREE?  

Using jQuery and onRequestEnd (in Application.cfc or OnRequestEnd.cfm) we can totally transform the client side of the code giving you complete control to make the necessary changes.  

WARNING
    If you are redirecting critical pages, be aware that users with javascript disabled will not see any of these client-side changes.  In the cases where I&apos;ve used this, I made sure that the original pages still functioned.   Just keep that in mind.

Getting Started
    Run to &lt;a href=&quot;http://www.jquery.com&quot;&gt;http://www.jquery.com&lt;/a&gt; and download the latest copy
    
    Create an empty file called OnRequestEnd.cfm or use the existing file if it already is present.  Using onRequestEnd in Application.cfc could also give you the same result.  

    Add the following code to OnRequestEnd.cfm

&lt;code&gt;
     &lt;script type=&quot;text/javascript&quot; src=&quot;jquery.js&quot;&gt;&lt;/script&gt;
 &lt;/code&gt;


Save the file and browse to the page.  If you view page source for the page, you should see your jQuery script call at the bottom of the page.  
              
Back to our encrypted page which is called secret.cfm.  Say the page contains the following simple form and a couple of page links like this:

&lt;code&gt;
&lt;form action=&quot;secret_encrypted_action.cfm&quot; method=&quot;post&quot;&gt;

Zip code to attack: &lt;input type=&quot;text&quot; name=&quot;zip&quot;&gt;&lt;br&gt;

    &lt;input type=&quot;submit&quot; value=&quot;Launch Nukes&quot;&gt;
&lt;/form&gt;

&lt;BR&gt;&lt;BR&gt;  &lt;Br&gt;&lt;bR&gt;

&lt;a Href=&quot;secret1.cfm&quot;&gt;Missile??Inventory??&lt;/A&gt;&lt;br&gt;
&lt;a href=&quot;secret2.cfm&quot;&gt;Sell Arms&lt;/A&gt;

&lt;BR&gt;
&lt;/code&gt;

Since we know the original developer didn&apos;t use selector IDs, we can use the power of jQuery to change the elements for us.&lt;br&gt;

&lt;div&gt;Add the following code to your OnRequestEnd the reload the page.&lt;/div&gt;

&lt;code&gt;
&lt;script&gt;
$(&quot;a[href=&apos;secret1.cfm&apos;]&quot;).attr(&apos;href&apos;, &apos;http://www.greenpeace.org&apos;);
$(&quot;a[href=&apos;secret2.cfm&apos;]&quot;).attr(&apos;href&apos;, &apos;http://www.ebay.org&apos;);
$(&quot;form[action=&apos;secret_encrypted_action.cfm&apos;]&quot;).attr(&apos;action&apos;, &apos;unsecret.cfm&apos;);
&lt;/script&gt;
&lt;/code&gt;


Walking through the code - find all links with url of secret1.cfm and change them to www.greenpeace.org, find all links with url of secret2.cfm and redirect them to www.ebay.com, and redirect any forms with action page of secret_encrypted_action.cfm to unsecret.cfm.

That is it - we have changed the client side code of encrypted pages.  We took back control of the application.  Write less, do more indeed.


&lt;b&gt;Recommended Reading:&lt;/b&gt;
    &lt;a href=&quot;http://simonwillison.net/2007/Aug/15/jquery/&quot;&gt;http://simonwillison.net/2007/Aug/15/jquery/&lt;/a&gt;&lt;br&gt;
    &lt;a href=&quot;http://docs.jquery.com/How_jQuery_Works&quot;&gt;http://docs.jquery.com/How_jQuery_Works&lt;/a&gt;
				
				</description>
						
				
				<category>ColdFusion</category>				
				
				<pubDate>Fri, 13 Mar 2009 20:58:00 -0500</pubDate>
				<guid>http://www.scottpinkston.org/blog/index.cfm/2009/3/13/combining-jQuery-and-onRequestEnd-to-change-client-code</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>Detecting password age from either Active Directory or OpenLDAP/Samba</title>
				<link>http://www.scottpinkston.org/blog/index.cfm/2009/1/3/Detecting-password-age-from-either-Active-Directory-or-OpenLDAPSamba</link>
				<description>
				
				So you have that fancy ColdFusion application of yours using ldap authentication back to either an active directory or OpenLDAP/Samba server.  Everyone is happy, shared authentication works perfectly.  Life is great, you&apos;re the hero.  Suddenly you start getting messages from users, some of them can&apos;t login.  It worked for last 3 months now it doesn&apos;t.

A hidden danger is that there are often have account policies such as password ages and minimum password lengths.  Local windows users are prompted warning them about an upcoming expiration so why shouldn&apos;t our applications provide that courtesy?  Turns out that when we are provided with two pieces of information, the date the password was last set and the maximum password age, we can. We&apos;ll leave the minimum length discussions for another day (Hi CJ). 

   
&lt;h2&gt;Getting Started&lt;/h2&gt;
First thing we need is the date the password was last set.  In AD this is called pwdLastSet and is stored as the number of nanoseconds since January 1, 1601.  (No, I&apos;m not kidding - 1601).  OpenLDAP/samba makes it easier using the number of seconds since January 1, 1970 and stores it in sambaPwdLastSet.  All we have to do is return either of those in our ldap calls and we have one piece of the puzzle.  Simple dateadd/diff converts that into days and from there we just check to see if that values falls within the account policies.


&lt;h4&gt;AD&lt;/h4&gt;
One note - if the pwdLastSet is 0, the user must change their password.  You may need to account for that in your application. 
&lt;code&gt;
     
    &lt;cftry&gt;
	&lt;cfldap action=&quot;QUERY&quot;
		name=&quot;chkLdapAuth&quot;
		filter=&quot;(&amp;(objectclass=user)(samaccountname=#arguments.username#))&quot;
		attributes=&quot;cn,pwdLastSet,userAccountControl&quot;
		start=&quot;cn=users,dc=acme,dc=com&quot;
		server=&quot;192.168.1.1&quot;
		username=&quot;#arguments.username#&quot;
		password=&quot;#arguments.password#&quot; 
		port=&quot;389&quot;&gt;


	&lt;cfset pwdAge = dateDiff(&quot;d&quot;,DateAdd(&quot;n&quot;, chkLdapAuth.pwdLastSet / (600000000),&quot;1/1/1601&quot;),now())&gt;

	&lt;cfcatch&gt;  &lt;/cfcatch&gt;
    &lt;/cftry&gt;	
	
	
&lt;/code&gt;




&lt;h4&gt;OpenLDAP&lt;/h4&gt;


&lt;code&gt;

	&lt;cfldap action=&quot;QUERY&quot;
		name=&quot;ChkLdap&quot;
		attributes=&quot;cn,sambaPwdLastSet&quot;
		start=&quot;dc=acme,dc=com&quot;
		scope=&quot;SUBTREE&quot;
		filter=&quot;uid=#arguments.username#&quot;
		server=&quot;#ldapsrv#&quot;
		port=&quot;389&quot;
		username=&quot;uid=#arguments.Username#,ou=Users,dc=acme,dc=com&quot;
		password=&quot;#arguments.Password#&quot;&gt;


		&lt;cfset pwdAge = dateDiff(&quot;d&quot;,dateFormat(dateAdd(&quot;s&quot;,chkLdapAuth.sambaPwdLastSet,&quot;1/1/1970 0:0:00&quot;)),now())&gt;

&lt;/code&gt;






&lt;h2&gt;Wrapping up and an example function&lt;/h2&gt;
I&apos;ve briefly covered how to adding a warning or forcing users to change their passwords based on their password age for both active directory and OpenLdap/Samba users.  Hopefully this code will help by providing the motivation and pieces to get you started on adding this function into your applications.  Enjoy 2009!


&lt;code&gt;
	&lt;!--- 
		you could probably do some math to figure out the server type and adjust that way, 
		it was easier for me to just pass in the type and go from there
	----&gt;
	&lt;cffunction name=&quot;calculatePWDage&quot; hint=&quot;returns number of days since password last set&quot;&gt;
		&lt;cfargument name=&quot;timestamp&quot; required=&quot;true&quot;&gt;
		&lt;cfargument name=&quot;directoryType&quot; required=&quot;false&quot; default=&quot;AD&quot;&gt;
		
		&lt;cfif not isnumeric(arguments.timestamp)&gt;
			&lt;cfreturn 0&gt;
		&lt;/cfif&gt;

		&lt;cfif arguments.directoryType eq &quot;openldap&quot;&gt;
		
				&lt;cfreturn dateDiff(&quot;d&quot;,dateFormat(dateAdd(&quot;s&quot;,arguments.timestamp,&quot;1/1/1970 0:0:00&quot;)),now())&gt;
		
			&lt;cfelseif arguments.domain eq &quot;AD&quot;&gt;
		
				&lt;cfreturn dateDiff(&quot;d&quot;,DateAdd(&quot;n&quot;, arguments.timestamp / (600000000),&quot;1/1/1601&quot;),now())&gt;
		&lt;/cfif&gt;
		
		&lt;cfreturn 0&gt;
		
	&lt;/cffunction&gt;

&lt;/code&gt;
				
				</description>
						
				
				<category>ColdFusion</category>				
				
				<pubDate>Sat, 03 Jan 2009 01:00:00 -0500</pubDate>
				<guid>http://www.scottpinkston.org/blog/index.cfm/2009/1/3/Detecting-password-age-from-either-Active-Directory-or-OpenLDAPSamba</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>bit of wisdom from #coldfusion room on DALnet</title>
				<link>http://www.scottpinkston.org/blog/index.cfm/2008/12/30/bit-of-wisdom-from-coldfusion-room-on-DALnet</link>
				<description>
				
				This is a fine example of the wisdom you are missing out on by not hanging out in the #coldfusion IRC room. &lt;br /&gt;


[ScottP]: something off with netflix - suggested Evan Almighty because I enjoyed Armageddon, Day after Tomorrow, Collateral Damage. &lt;br /&gt;

[CJ]: evan almighty had steve carrell.  steve carrell was in bruce almighty with jennifer aniston.  jennifer aniston was in along came polly with ben stiller.  ben stiller was in meet the fokkers with dustin hoffman.  dustin hoffman was in rain man with tom cruise.  tom cruise was in collateral. &lt;br /&gt;

[CJ]: makes perfect sense to me. &lt;br /&gt;
				
				</description>
						
				
				<category>ColdFusion</category>				
				
				<pubDate>Tue, 30 Dec 2008 01:02:00 -0500</pubDate>
				<guid>http://www.scottpinkston.org/blog/index.cfm/2008/12/30/bit-of-wisdom-from-coldfusion-room-on-DALnet</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>Holiday Security Alert - SQL Server 2000, 2005</title>
				<link>http://www.scottpinkston.org/blog/index.cfm/2008/12/24/Holiday-Security-Alert--SQL-Server-2000-2005</link>
				<description>
				
				Just in time for the holiday, Microsoft has issued an advisory announcing a vulnerability in SQL Server that could allow Remote Code Execution.&lt;br /&gt;

Microsoft Security Advisory: &lt;br /&gt;
&lt;a href=&quot;http://www.microsoft.com/technet/security/advisory/961040.mspx&quot;&gt;http://www.microsoft.com/technet/security/advisory/961040.mspx&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;

A temp fix (WARNING ***BREAKS REPLICATION***)&lt;br /&gt;
&lt;code&gt;
EXECUTE master.dbo.SP_DROPEXTENDEDPROC &apos;sp_replwritetovarbin&apos;
&lt;/code&gt;

&lt;br /&gt;&lt;br /&gt;
				
				</description>
						
				
				<category>ColdFusion</category>				
				
				<pubDate>Wed, 24 Dec 2008 00:32:00 -0500</pubDate>
				<guid>http://www.scottpinkston.org/blog/index.cfm/2008/12/24/Holiday-Security-Alert--SQL-Server-2000-2005</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>Randomly sorting Query of Queries</title>
				<link>http://www.scottpinkston.org/blog/index.cfm/2008/10/4/Randomly-sorting-Query-of-Queries</link>
				<description>
				
				The DB servers all have cool little tricks to randomly sort the records, for example on SQL Server it is simply order by NewID().  Trouble is I had a small table with a very limited number of records in it and needed them randomly sorted for each page view.  I didn&apos;t think it was something the DB server should have to do.

ColdFusion has Query of Queries that can handle limited SQL and is perfect for diving into cached queries.  Great I thought, I&apos;ll just use that and add a column to the records then sort from that.

&lt;code&gt;
QUERY:
   select name,picture, &apos;#rand()#&apos; as sorter
   from qry_employees

RESULTS:
   Jim Bob  0.313584837792
   Jon Paul 0.504286763201 	
&lt;/code&gt;

Perfect - now I have a random value in the sorter field and I&apos;ll just add order by sorter to the qoq right?  Nope.  I&apos;m not sure why but while it does change the values it didn&apos;t change the sort order.  You get the same results everytime.  Back to the drawing board.

Let&apos;s try adding a empty column to the original cached query, tossing a random number into the column, and then sorting on that column.

&lt;code&gt;
ORIGINAL QUERY:
&lt;cfquery name=&quot;qry_employee&quot; datasource=&quot;foo&quot; cachedwithin=&quot;#createTimeSpan(1,0,0,0)#&quot;&gt;
	select 	name,
		picture,	 
		&apos;&apos; as sorter
	from employees
&lt;/cfquery

&lt;cfloop query=&quot;qry_employee&quot;&gt;
	&lt;cfset querySetCell(qry_employee,&quot;sorter&quot;,rand(),currentRow)&gt;
&lt;/cfloop&gt;

&lt;cfquery name=&quot;qry_employee&quot; dbtype=&quot;query&quot;&gt;
	select 	name, 
		picture
	from qry_employee
	order by sorter
&lt;/cfquery&gt;

&lt;/code&gt;

Success!!!  Now we can get a random sort order on cached queries.  

I would not recommend this for large datasets without testing.  In my case, I only had about 50 records to process.  In my limited and very un-scientific tests, I was seeing about 4ms to process the page.  I&apos;ll note that if I changed from using rand() to createUUID() it went up to about 15ms.
				
				</description>
						
				
				<category>ColdFusion</category>				
				
				<pubDate>Sat, 04 Oct 2008 19:11:00 -0500</pubDate>
				<guid>http://www.scottpinkston.org/blog/index.cfm/2008/10/4/Randomly-sorting-Query-of-Queries</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>Patch for CFImage and java.io.FileNotFoundException</title>
				<link>http://www.scottpinkston.org/blog/index.cfm/2008/8/20/Patch-for-CFImage-and-javaioFileNotFoundException</link>
				<description>
				
				Stumbled across this peach.  A little used resize page was tossing errors.  Instead of looking for a solution, I ripped through the code trying to figure out where I had screwed up.  Turns out I didn&apos;t.  Lesson learned - again.


Patch for CFImage and Image functions in ColdFusion 8.0.1
Issue

CFImage and the image functions can leave an image file locked after an initial write to disk in Adobe ColdFusion 8.0.1. This can cause subsequent operations on the image to fail with an error similar to the following:

&quot;An exception occurred while trying to write the image. Ensure that the destination directory exists and that ColdFusion has permission to write to the given path or file. Cause: java.io.FileNotFoundException: /pathToImage/portrait.jpg&quot;

The CFimage function may also write the image to the directory ColdFusion is running from instead of the proper directory.

&lt;a href=&quot;http://kb.adobe.com/selfservice/viewContent.do?externalId=kb403411&quot;&gt;Link to Hotfix&lt;/a&gt;&lt;br /&gt;
				
				</description>
						
				
				<category>ColdFusion</category>				
				
				<pubDate>Wed, 20 Aug 2008 18:35:00 -0500</pubDate>
				<guid>http://www.scottpinkston.org/blog/index.cfm/2008/8/20/Patch-for-CFImage-and-javaioFileNotFoundException</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>DropBox invites</title>
				<link>http://www.scottpinkston.org/blog/index.cfm/2008/7/26/DropBox-invites</link>
				<description>
				
				I&apos;ve got 5 extra invites for &lt;a href=&quot;http://www.getdropbox.com&quot;&gt;DropBox&lt;/a&gt;. 

&lt;object width=&quot;425&quot; height=&quot;344&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/OcS9w9dpKNQ&amp;hl=en&amp;fs=1&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;/param&gt;&lt;embed src=&quot;http://www.youtube.com/v/OcS9w9dpKNQ&amp;hl=en&amp;fs=1&quot; type=&quot;application/x-shockwave-flash&quot; allowfullscreen=&quot;true&quot; width=&quot;425&quot; height=&quot;344&quot;&gt;&lt;/embed&gt;&lt;/object&gt;


First five to fire off comments. 

&lt;b&gt;UPDATE:&lt;/b&gt; 7:52pm CST -  All out of invites.
				
				</description>
						
				
				<category>General Tech</category>				
				
				<category>ColdFusion</category>				
				
				<pubDate>Sat, 26 Jul 2008 17:11:00 -0500</pubDate>
				<guid>http://www.scottpinkston.org/blog/index.cfm/2008/7/26/DropBox-invites</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>One Free copy of FAQU for Father&apos;s Day</title>
				<link>http://www.scottpinkston.org/blog/index.cfm/2008/6/12/One-Free-copy-of-FAQU-for-Fathers-Day</link>
				<description>
				
				I&apos;ve wound up with an extra printed copy of the latest &lt;a href=&quot;http://www.fusionauthority.com/quarterly/&quot;&gt;Fusion Authority Quarterly Update&lt;/a&gt; (Vol 2 - Issue 4).  Instead of letting it collect dust here, I thought I would share it with someone who might not have been exposed to the goodness that is the FAQU yet.

All you have to do is add a comment to this post by Sunday, June 15th 11:59pm CST.  I&apos;ll randomly select the winner from the comments received then contact you via email to get the mailing address.

Again - All at no cost to you* - I&apos;ll pay the cost of shipping*.  Couple of clicks and you might soon be reading your own mini-book of Professional ColdFusion content for the ColdFusion Professional.

*valid to us residents only

&lt;b&gt;UPDATE&lt;/b&gt;
thanks to everyone that added a comment.  Excluding the esteemed Mr Sharp from the contest, Adam Corbett is the winner.
				
				</description>
						
				
				<category>ColdFusion</category>				
				
				<pubDate>Thu, 12 Jun 2008 23:08:00 -0500</pubDate>
				<guid>http://www.scottpinkston.org/blog/index.cfm/2008/6/12/One-Free-copy-of-FAQU-for-Fathers-Day</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>Yet another CF 9 BOF post</title>
				<link>http://www.scottpinkston.org/blog/index.cfm/2008/5/14/Yet-another-CF-9-BOF-post</link>
				<description>
				
				On a cold and rainy night in May, 3 brave individuals from Adobe stood in front of the group of devoted ColdFusion coders ready to take feedback on the future direction of ColdFusion.  There were several topics thrown out that ranged from viewing log files to letting ColdFusion script control Adobe InDesign products.&lt;br /&gt;&lt;br /&gt;Maybe I was expecting something major, that one idea that I talked about later in the bar.  The wow, what a great idea.  For me, that didn&apos;t happen.  I did come away with the fact it is a business.  If Adobe can&apos;t sell it then they aren&apos;t likely to spend development dollars.  That wasn&apos;t really a shock but more of a dose of reality.  &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Out of all of the many ideas suggested, these are the 4 things that I care enough about to write up: &lt;br /&gt;&lt;ul&gt;&lt;li&gt;Video - something to convert videos to flv or mp4, scale size,  add chapters every x minutes, create thumbnails.  Having a player would be nice and simplify deployment.  cfimage for video.  &lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Application level trust cache - simply would let us set/clear the trusted cache at the application level.  I know you can clear the cache by file and I have no idea of how hard this would be for Adobe to implement but ColdFusion is about saving time and this would save us sometime.  Nope - I don&apos;t think they could make a dime off of this.&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Log files -  parsing the log files in CF admin could stand some improvement.  Something like Flogr for example. Yep there are filters but flex makes it much easier to navigate.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;PDF Form creation - by able to dynamically create pdf forms.&lt;/li&gt;&lt;/ul&gt;If you were there and I missed something other than AS3 that you think was important, post a comment.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Related Links:&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.brianmeloche.com/blog/index.cfm/2008/5/10/Overall-review-of-cfObjective-OpenBD-CF9-BOF&quot;&gt;http://www.brianmeloche.com/blog/index.cfm/2008/5/10/Overall-review-of-cfObjective-OpenBD-CF9-BOF&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.briankotek.com/blog/index.cfm/2008/5/6/cfObjective-2008-and-the-Future-of-ColdFusion&quot;&gt;http://www.briankotek.com/blog/index.cfm/2008/5/6/cfObjective-2008-and-the-Future-of-ColdFusion&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.numtopia.com/terry/blog/archives/2008/05/i_want_my_cfvideo.cfm&quot;&gt;http://www.numtopia.com/terry/blog/archives/2008/05/i_want_my_cfvideo.cfm&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
				
				</description>
						
				
				<category>ColdFusion</category>				
				
				<pubDate>Wed, 14 May 2008 13:50:00 -0500</pubDate>
				<guid>http://www.scottpinkston.org/blog/index.cfm/2008/5/14/Yet-another-CF-9-BOF-post</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>MOBILE no more, made it HOME</title>
				<link>http://www.scottpinkston.org/blog/index.cfm/2008/5/4/MOBILE-no-more-made-it-HOME</link>
				<description>
				
				Thanks to Jared and everyone who worked hard putting cf.Objective() together.  It was a well organized conference in a great location.  &lt;a href=&quot;http://www.fogodechao.com/locations/minneapolis.htm&quot;&gt;Fogo de Chao&lt;/a&gt; was amazing then we followed that up by seeing Iron Man in the Mall of America.  

Saturday night we spent 1 1/2 hours with the Adobe folks talking about features we would like to see in CF 9.  Maybe none of the things discussed make it in but a big thanks to Jason, Adam, and Tom for listening to the community.

Hope everyone has a safe trip home and see you all next year.
				
				</description>
						
				
				<category>ColdFusion</category>				
				
				<pubDate>Sun, 04 May 2008 22:42:00 -0500</pubDate>
				<guid>http://www.scottpinkston.org/blog/index.cfm/2008/5/4/MOBILE-no-more-made-it-HOME</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>cf.Objective() Schedule - Scott P</title>
				<link>http://www.scottpinkston.org/blog/index.cfm/2008/4/30/cfObjective-Schedule</link>
				<description>
				
				&lt;br /&gt;&lt;br /&gt;May 1 &lt;br /&gt;3:00 PM: Golf with &lt;a href=&quot;http://www.boyzoid.com/blog/index.cfm&quot;&gt;Scott Stroz&lt;/a&gt;, &lt;a href=&quot;http://www.phillnacelli.net&quot;&gt;Phill Nacelli&lt;/a&gt;, and &lt;a href=&quot;http://www.nodans.com&quot;&gt;The Dan Wilson&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;       &lt;br /&gt;May 2&lt;br /&gt;9:00 AM - 10:00 AM:  Opening Keynote (Adobe) &lt;br /&gt;10:15 AM - 12:25 PM: Workshop: Flex 3 for ColdFusion Developers (Mike Nimer) &lt;br /&gt;2:40 PM - 3:40 PM: Introduction to Model-Glue (Raymond Camden) &lt;br /&gt;4:10 PM - 5:10 PM: CFEclipse Reloaded (Mark Drew) &lt;br /&gt;10:00 PM: - I AM IRONMAN&lt;br /&gt;&lt;br /&gt;May 3&lt;br /&gt;9:00 AM - 10:00 AM: Leveraging Basic Design Patterns in ColdFusion (Phill Nacelli) &lt;br /&gt;10:15 AM - 12:25 PM: Workshop: ColdSpring 1337 (Chris Scott) &lt;br /&gt;1:30 PM - 2:30 PM: Introduction to Building Applications with Transfer ORM (Mark Mandel) &lt;br /&gt;2:40 PM - 3:40 PM: Refactoring in Coldfusion: from Procedural to OO (Dan Wilson) &lt;br /&gt;4:10 PM - 5:10 PM: Prototyping Applications in Flex (Scott Stroz) &lt;br /&gt;5:20 PM - 6:20 PM: MVC for You and Me (Joe Rinehart) &lt;br /&gt;7:30 PM - 8:25 PM: BOF: Open Source BlueDragon (Vince Bonfanti) &lt;br /&gt;8:30 PM - 9:25 PM: BOF: ColdFusion 9 Feature Brainstorm (Jason Delmore / Adam Lehman / Josh Adams) &lt;br /&gt;9:30 PM - 10:25 PM: BOF: Blogging &amp;amp;amp; Writing (Judith &amp;amp;amp; Michael Dinowitz) &lt;br /&gt;&lt;br /&gt;May 4&lt;br /&gt;10:15 AM - 11:15 AM: Using ANT - Make Your Development Life More Productive (Peter Farrell) &lt;br /&gt;11:25 AM - 12:30 PM: Model-Glue 3: Back to its Roots (Joe Rinehart) &lt;br /&gt;1:30 PM - 2:30 PM: Clustering and Distributing ColdFusion Applications (Mike Brunt) &lt;br /&gt;2:40 PM - 3:40 PM: All About PDF &amp;amp;amp; PDF Forms in ColdFusion (Sanjeev Kumar) &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;
				
				</description>
						
				
				<category>ColdFusion</category>				
				
				<pubDate>Wed, 30 Apr 2008 20:51:00 -0500</pubDate>
				<guid>http://www.scottpinkston.org/blog/index.cfm/2008/4/30/cfObjective-Schedule</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>More gooder&amp;reg; update to running ColdFusion on Leopard</title>
				<link>http://www.scottpinkston.org/blog/index.cfm/2008/4/13/More-gooderreg-update-to-running-ColdFusion-on-Leopard</link>
				<description>
				
				Just to save folks reading the &lt;a href=&quot;http://www.scottpinkston.org/blog/index.cfm/2007/10/29/ColdFusion-8-on-Leopard-with-Apache--an-answer-for-the-rest-of-us&quot;&gt;older post&lt;/a&gt; some steps - just get the latest version of ColdFusion from Adobe and install. &lt;br /&gt;

Links: 
&lt;a href=&quot;http://kb.adobe.com/selfservice/viewContent.do?externalId=kb403277&amp;sliceId=1&quot;&gt;
Adobe ColdFusion 8.0.1&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;


&lt;p style=&quot;font-size:.7em;&quot;&gt;&amp;reg; more gooder - &lt;a href=&quot;http://www.boyzoid.com&quot;&gt;boyzoid&lt;/a&gt;&lt;br /&gt;
				
				</description>
						
				
				<category>ColdFusion</category>				
				
				<pubDate>Sun, 13 Apr 2008 15:17:00 -0500</pubDate>
				<guid>http://www.scottpinkston.org/blog/index.cfm/2008/4/13/More-gooderreg-update-to-running-ColdFusion-on-Leopard</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>USC-28</title>
				<link>http://www.scottpinkston.org/blog/index.cfm/2008/4/8/USC28</link>
				<description>
				
				&lt;img src=&quot;http://www.scottpinkston.org/blog/enclosures/usc28_pict_from_room_107.jpg&quot; align=&quot;right&quot; height=&quot;125&quot; style=&quot;padding:5px;border:1px solid #f1f1f1;&quot;&gt;The AN/USC-28(V) Satellite Communications Set (SCS) operates over the Defense Satellite Communications System (DSCS) Phase II &amp; III satellites. It is an Electronic Counter-Counter Measures (ECCM) communications system which provides jam resistant, secure communications for departmental user networks by employing code division spread spectrum modulation techniques. 

The system also accommodates command, control, and performance assessment of the ECCM network by the DSCS Operational Control System (DOCS) and Contingency (CDOCS) via orderwire overhead communications channels. The AN/USC-28(V) is comprised of four distinct software baselines, each associated with its correspondent hardware configuration, i.e., the Ground Normal Version, the Dual Waveform Version, the Hybrid Version, and the Airborne Mitigated Version. 

Except for the Ground Normal Version, the AN/USC-28(V) is capable of maintaining the communications in the presence of signal propagation anomalies caused by high altitude nuclear detonation, both during and after the event.

Reference Links: &lt;a href=&quot;http://cfsilence.com/blog/client/index.cfm/2008/4/8/Sometimes-You-Can-Judge-A-Book-By-Its-Cover&quot;&gt;Todd Sharp&apos;s Blog&lt;/a&gt;&lt;br /&gt;
				
				</description>
						
				
				<category>General Tech</category>				
				
				<category>ColdFusion</category>				
				
				<pubDate>Tue, 08 Apr 2008 18:36:00 -0500</pubDate>
				<guid>http://www.scottpinkston.org/blog/index.cfm/2008/4/8/USC28</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>MacBook Pro Color Profile</title>
				<link>http://www.scottpinkston.org/blog/index.cfm/2008/3/1/MacBook-Pro-Color-Profile</link>
				<description>
				
				I stumbled across this color profile on a forum earlier this week and the couple of folks I&apos;ve shared it with had similar results to me.  I can&apos;t promise it will work for you but only take a minute to try and is easy to toss out if you don&apos;t like it.

Download &lt;a href=&quot;http://www.scottpinkston.org/blog/enclosures/Monitor Profile.icc&quot; style=&quot;font-weight:bold;font-size:14px&quot;&gt;this icc&lt;/a&gt; file and save it in /Library/ColorSync/Profiles&lt;br /&gt;
Go to System Preferences - Display - Color&lt;br /&gt;

If Monitor Profile.icc is not listed - uncheck show profiles for this display only
Click on Monitor Profile&lt;br /&gt;

You can click back on Color LCD to set it back to factory settings if you don&apos;t like it.
				
				</description>
						
				
				<category>General Tech</category>				
				
				<category>ColdFusion</category>				
				
				<pubDate>Sat, 01 Mar 2008 21:58:00 -0500</pubDate>
				<guid>http://www.scottpinkston.org/blog/index.cfm/2008/3/1/MacBook-Pro-Color-Profile</guid>
				
				<enclosure url="http://www.scottpinkston.org/blog/enclosures/Monitor Profile.icc" length="241740" type="application/octet-stream"/>
				
			</item>
			
		 	
			</channel></rss>